summaryrefslogtreecommitdiff
path: root/ThirdParty/toluapp
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-11-08 01:17:11 +0800
committerchai <chaifix@163.com>2021-11-08 01:17:11 +0800
commitefce5b6bd5c9d4f8214a71e0f7a7c35751710a4c (patch)
tree0789475ded5c377667165a3ddb047ca6703bcf33 /ThirdParty/toluapp
parented78df90944bbe6b7de7308bda2bf3a7f1bc3de6 (diff)
+ tolua
+ lpeg
Diffstat (limited to 'ThirdParty/toluapp')
-rw-r--r--ThirdParty/toluapp/.travis.yml51
-rw-r--r--ThirdParty/toluapp/CMakeLists.txt36
-rw-r--r--ThirdParty/toluapp/COPYRIGHT33
-rw-r--r--ThirdParty/toluapp/INSTALL42
-rw-r--r--ThirdParty/toluapp/Makefile5
-rw-r--r--ThirdParty/toluapp/README30
-rw-r--r--ThirdParty/toluapp/README-5.150
-rw-r--r--ThirdParty/toluapp/SConstruct180
-rw-r--r--ThirdParty/toluapp/cmake/FindLua.cmake118
-rw-r--r--ThirdParty/toluapp/cmake/dist.cmake321
-rw-r--r--ThirdParty/toluapp/cmake/lua.cmake293
-rw-r--r--ThirdParty/toluapp/config_linux.py22
-rw-r--r--ThirdParty/toluapp/config_msvc.py28
-rw-r--r--ThirdParty/toluapp/config_posix.py23
-rw-r--r--ThirdParty/toluapp/custom-5.1.py9
-rw-r--r--ThirdParty/toluapp/debian/README6
-rw-r--r--ThirdParty/toluapp/debian/README.Debian6
-rw-r--r--ThirdParty/toluapp/debian/changelog121
-rw-r--r--ThirdParty/toluapp/debian/compat1
-rw-r--r--ThirdParty/toluapp/debian/conffiles.ex7
-rw-r--r--ThirdParty/toluapp/debian/control13
-rw-r--r--ThirdParty/toluapp/debian/copyright16
-rw-r--r--ThirdParty/toluapp/debian/cron.d.ex4
-rw-r--r--ThirdParty/toluapp/debian/dirs4
-rw-r--r--ThirdParty/toluapp/debian/docs1
-rw-r--r--ThirdParty/toluapp/debian/emacsen-install.ex45
-rw-r--r--ThirdParty/toluapp/debian/emacsen-remove.ex15
-rw-r--r--ThirdParty/toluapp/debian/emacsen-startup.ex19
-rw-r--r--ThirdParty/toluapp/debian/init.d.ex74
-rw-r--r--ThirdParty/toluapp/debian/manpage.1.ex59
-rw-r--r--ThirdParty/toluapp/debian/manpage.sgml.ex156
-rw-r--r--ThirdParty/toluapp/debian/manpage.xml.ex148
-rw-r--r--ThirdParty/toluapp/debian/menu.ex2
-rw-r--r--ThirdParty/toluapp/debian/postinst.ex42
-rw-r--r--ThirdParty/toluapp/debian/postrm.ex38
-rw-r--r--ThirdParty/toluapp/debian/preinst.ex44
-rw-r--r--ThirdParty/toluapp/debian/prerm.ex39
-rw-r--r--ThirdParty/toluapp/debian/rules102
-rw-r--r--ThirdParty/toluapp/debian/tolua++-default.ex10
-rw-r--r--ThirdParty/toluapp/debian/tolua++.doc-base.EX22
-rw-r--r--ThirdParty/toluapp/debian/watch.ex6
-rw-r--r--ThirdParty/toluapp/dist.info14
-rw-r--r--ThirdParty/toluapp/doc/index.html226
-rw-r--r--ThirdParty/toluapp/doc/tolua++.html1956
-rw-r--r--ThirdParty/toluapp/doc/toluapp.gifbin0 -> 5941 bytes
-rw-r--r--ThirdParty/toluapp/include/tolua++.h186
-rw-r--r--ThirdParty/toluapp/libtoluapp.def65
-rw-r--r--ThirdParty/toluapp/src/bin/SCsub12
-rw-r--r--ThirdParty/toluapp/src/bin/lua/all.lua30
-rw-r--r--ThirdParty/toluapp/src/bin/lua/array.lua233
-rw-r--r--ThirdParty/toluapp/src/bin/lua/basic.lua414
-rw-r--r--ThirdParty/toluapp/src/bin/lua/class.lua202
-rw-r--r--ThirdParty/toluapp/src/bin/lua/clean.lua79
-rw-r--r--ThirdParty/toluapp/src/bin/lua/code.lua105
-rw-r--r--ThirdParty/toluapp/src/bin/lua/compat-5.1.lua57
-rw-r--r--ThirdParty/toluapp/src/bin/lua/compat.lua193
-rw-r--r--ThirdParty/toluapp/src/bin/lua/container.lua786
-rw-r--r--ThirdParty/toluapp/src/bin/lua/custom.lua45
-rw-r--r--ThirdParty/toluapp/src/bin/lua/declaration.lua579
-rw-r--r--ThirdParty/toluapp/src/bin/lua/define.lua63
-rw-r--r--ThirdParty/toluapp/src/bin/lua/doit.lua101
-rw-r--r--ThirdParty/toluapp/src/bin/lua/enumerate.lua106
-rw-r--r--ThirdParty/toluapp/src/bin/lua/feature.lua139
-rw-r--r--ThirdParty/toluapp/src/bin/lua/function.lua577
-rw-r--r--ThirdParty/toluapp/src/bin/lua/module.lua68
-rw-r--r--ThirdParty/toluapp/src/bin/lua/namespace.lua52
-rw-r--r--ThirdParty/toluapp/src/bin/lua/operator.lua220
-rw-r--r--ThirdParty/toluapp/src/bin/lua/package.lua343
-rw-r--r--ThirdParty/toluapp/src/bin/lua/template_class.lua82
-rw-r--r--ThirdParty/toluapp/src/bin/lua/typedef.lua71
-rw-r--r--ThirdParty/toluapp/src/bin/lua/variable.lua300
-rw-r--r--ThirdParty/toluapp/src/bin/lua/verbatim.lua78
-rw-r--r--ThirdParty/toluapp/src/bin/tolua.c169
-rw-r--r--ThirdParty/toluapp/src/bin/tolua_scons.pkg31
-rw-r--r--ThirdParty/toluapp/src/bin/toluabind.c8072
-rw-r--r--ThirdParty/toluapp/src/bin/toluabind.h8
-rw-r--r--ThirdParty/toluapp/src/bin/toluabind_default.c8009
-rw-r--r--ThirdParty/toluapp/src/bin/toluabind_default.h8
-rw-r--r--ThirdParty/toluapp/src/lib/SCsub18
-rw-r--r--ThirdParty/toluapp/src/lib/tolua_event.c536
-rw-r--r--ThirdParty/toluapp/src/lib/tolua_event.h24
-rw-r--r--ThirdParty/toluapp/src/lib/tolua_is.c621
-rw-r--r--ThirdParty/toluapp/src/lib/tolua_map.c704
-rw-r--r--ThirdParty/toluapp/src/lib/tolua_push.c171
-rw-r--r--ThirdParty/toluapp/src/lib/tolua_to.c133
-rw-r--r--ThirdParty/toluapp/src/tests/SCsub18
-rw-r--r--ThirdParty/toluapp/src/tests/tarray.c45
-rw-r--r--ThirdParty/toluapp/src/tests/tarray.h28
-rw-r--r--ThirdParty/toluapp/src/tests/tarray.lua37
-rw-r--r--ThirdParty/toluapp/src/tests/tarray.pkg29
-rw-r--r--ThirdParty/toluapp/src/tests/tarraybind.c504
-rw-r--r--ThirdParty/toluapp/src/tests/tclass.cpp32
-rw-r--r--ThirdParty/toluapp/src/tests/tclass.h121
-rw-r--r--ThirdParty/toluapp/src/tests/tclass.lua131
-rw-r--r--ThirdParty/toluapp/src/tests/tclass.pkg97
-rw-r--r--ThirdParty/toluapp/src/tests/tconstant.h29
-rw-r--r--ThirdParty/toluapp/src/tests/tconstant.lua11
-rw-r--r--ThirdParty/toluapp/src/tests/tconstant.pkg34
-rw-r--r--ThirdParty/toluapp/src/tests/tdirective.lua6
-rw-r--r--ThirdParty/toluapp/src/tests/tdirective.pkg28
-rw-r--r--ThirdParty/toluapp/src/tests/tdirectivebind.c85
-rw-r--r--ThirdParty/toluapp/src/tests/tdirectivelua.lua3
-rw-r--r--ThirdParty/toluapp/src/tests/tdirectivepkg.pkg2
-rw-r--r--ThirdParty/toluapp/src/tests/tfunction.h220
-rw-r--r--ThirdParty/toluapp/src/tests/tfunction.lua104
-rw-r--r--ThirdParty/toluapp/src/tests/tfunction.pkg74
-rw-r--r--ThirdParty/toluapp/src/tests/tmodule.c24
-rw-r--r--ThirdParty/toluapp/src/tests/tmodule.h7
-rw-r--r--ThirdParty/toluapp/src/tests/tmodule.lua17
-rw-r--r--ThirdParty/toluapp/src/tests/tmodule.pkg16
-rw-r--r--ThirdParty/toluapp/src/tests/tmodulebind.c124
-rw-r--r--ThirdParty/toluapp/src/tests/tnamespace.h11
-rw-r--r--ThirdParty/toluapp/src/tests/tnamespace.lua14
-rw-r--r--ThirdParty/toluapp/src/tests/tnamespace.pkg13
-rw-r--r--ThirdParty/toluapp/src/tests/tvariable.c46
-rw-r--r--ThirdParty/toluapp/src/tests/tvariable.h44
-rw-r--r--ThirdParty/toluapp/src/tests/tvariable.lua73
-rw-r--r--ThirdParty/toluapp/src/tests/tvariable.pkg45
-rw-r--r--ThirdParty/toluapp/src/tests/tvariablebind.c631
-rw-r--r--ThirdParty/toluapp/win32/vc7/toluapp.sln27
-rw-r--r--ThirdParty/toluapp/win32/vc7/toluapp.vcproj259
121 files changed, 31116 insertions, 0 deletions
diff --git a/ThirdParty/toluapp/.travis.yml b/ThirdParty/toluapp/.travis.yml
new file mode 100644
index 0000000..57493eb
--- /dev/null
+++ b/ThirdParty/toluapp/.travis.yml
@@ -0,0 +1,51 @@
+#
+# LuaDist Travis-CI Hook
+#
+
+# We assume C build environments
+language: C
+
+# Try using multiple Lua Implementations
+env:
+ - TOOL="gcc" # Use native compiler (GCC usually)
+ - TOOL="clang" # Use clang
+ - TOOL="i686-w64-mingw32" # 32bit MinGW
+ - TOOL="x86_64-w64-mingw32" # 64bit MinGW
+ - TOOL="arm-linux-gnueabihf" # ARM hard-float (hf), linux
+
+# Crosscompile builds may fail
+matrix:
+ allow_failures:
+ - env: TOOL="i686-w64-mingw32"
+ - env: TOOL="x86_64-w64-mingw32"
+ - env: TOOL="arm-linux-gnueabihf"
+
+# Install dependencies
+install:
+ - git clone git://github.com/LuaDist/Tools.git ~/_tools
+ - ~/_tools/travis/travis install
+
+# Bootstap
+before_script:
+ - ~/_tools/travis/travis bootstrap
+
+# Build the module
+script:
+ - ~/_tools/travis/travis build
+
+# Execute additional tests or commands
+after_script:
+ - ~/_tools/travis/travis test
+
+# Only watch the master branch
+branches:
+ only:
+ - master
+
+# Notify the LuaDist Dev group if needed
+notifications:
+ recipients:
+ - luadist-dev@googlegroups.com
+ email:
+ on_success: change
+ on_failure: always
diff --git a/ThirdParty/toluapp/CMakeLists.txt b/ThirdParty/toluapp/CMakeLists.txt
new file mode 100644
index 0000000..b59ef7c
--- /dev/null
+++ b/ThirdParty/toluapp/CMakeLists.txt
@@ -0,0 +1,36 @@
+# Copyright (C) 2007-2012 LuaDist.
+# Created by Peter Kapec
+# Redistribution and use of this file is allowed according to the terms of the MIT license.
+# For details see the COPYRIGHT file distributed with LuaDist.
+# Please note that the package source code is licensed under its own license.
+
+project ( toluapp C )
+cmake_minimum_required ( VERSION 2.8 )
+include ( cmake/dist.cmake )
+
+find_package ( Lua REQUIRED )
+include_directories ( include src/lib ${LUA_INCLUDE_DIR} )
+
+# Build lib
+file ( GLOB SRC_LIBTOLUAPP src/lib/*.c )
+if ( MSVC )
+ set ( DEF_FILE libtoluapp.def )
+endif ( )
+
+add_library ( toluapp_lib ${SRC_LIBTOLUAPP} ${DEF_FILE} )
+target_link_libraries ( toluapp_lib ${LUA_LIBRARIES} )
+set_target_properties ( toluapp_lib PROPERTIES OUTPUT_NAME toluapp CLEAN_DIRECT_OUTPUT
+ 1 )
+
+# Build app
+include_directories ( src/bin )
+set ( SRC_TOLUA src/bin/tolua.c src/bin/toluabind.c )
+add_executable ( toluapp ${SRC_TOLUA} )
+target_link_libraries ( toluapp toluapp_lib ${LUA_LIBRARIES} )
+
+# Install
+install_library ( toluapp_lib )
+install_executable ( toluapp )
+install_header ( include/ )
+install_data ( README INSTALL )
+install_doc ( doc/ )
diff --git a/ThirdParty/toluapp/COPYRIGHT b/ThirdParty/toluapp/COPYRIGHT
new file mode 100644
index 0000000..9e99e00
--- /dev/null
+++ b/ThirdParty/toluapp/COPYRIGHT
@@ -0,0 +1,33 @@
+tolua++ License
+---------------
+
+tolua++ is based on toLua (www.tecgraf.puc-rio.br/~celes/tolua), and
+it's licensed under the terms of the MIT license reproduced below.
+This means that Lua is free software and can be used for both academic
+and commercial purposes at absolutely no cost.
+
+===============================================================================
+
+Copyright (C) 2009 Ariel Manzur.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+===============================================================================
+
+(end of COPYRIGHT)
diff --git a/ThirdParty/toluapp/INSTALL b/ThirdParty/toluapp/INSTALL
new file mode 100644
index 0000000..5ee408f
--- /dev/null
+++ b/ThirdParty/toluapp/INSTALL
@@ -0,0 +1,42 @@
+This version of tolua++ uses SCons to compile (http://www.scons.org). SCons uses
+pythin. If you don't want to install python, check "Installation without scons"
+below.
+
+* Installation
+
+ 1. Edit the "config" file for your platform to suit your environment,
+ if at all necessary (for cygwin, mingw, BSD and mac OSX use
+ 'config_posix')
+ 2. Then, type "scons".
+
+ You can use 'scons -h' to see a list of available command line options.
+
+* What you get
+
+ If "scons" succeeds, you get:
+ * an executable to generate binding code in ./bin;
+ * the C library to be linked in your application in ./lib;
+ * the include file needed to compile your application in ./include.
+ These are the only directories you need for development, besides Lua.
+
+ You can use 'scons install' to install the files, see the 'prefix' option.
+
+* Installation without scons
+
+ The instructions for building tolua++ without scons depend on the particular
+ compiler you are using.
+ The simplest way is to create a folder with all .c and .h files except
+ 'toluabind_default.c', and then create a project for the executable and the
+ library, as follows:
+
+ tolua.exe: all *.c *.h in src/bin (except toluabind_default.c)
+ tolua.lib: all *.c *.h in src/lib.
+
+* Installation with Microsoft Visual Studio
+
+ The directory 'win32' contains project files for Microsoft Visual Studio 7
+ (contributed by Makoto Hamanaka). The project has 4 different build options:
+ withLua50_Release, withLua51_Release, withLua50_Debug and withLua51_Debug.
+ They all expect the lua library names used by the LuaBinaries packages
+ (http://luabinaries.luaforge.net/). The resulting files are built on /lib and
+ /bin (for the library and tolua++.exe).
diff --git a/ThirdParty/toluapp/Makefile b/ThirdParty/toluapp/Makefile
new file mode 100644
index 0000000..92ded6c
--- /dev/null
+++ b/ThirdParty/toluapp/Makefile
@@ -0,0 +1,5 @@
+# makefile for tolua hierarchy
+
+all:
+ @echo "Makefile is deprecated ;)"
+ @echo "see INSTALL for details on how to build tolua++"
diff --git a/ThirdParty/toluapp/README b/ThirdParty/toluapp/README
new file mode 100644
index 0000000..cee381f
--- /dev/null
+++ b/ThirdParty/toluapp/README
@@ -0,0 +1,30 @@
+This is tolua++-1.0
+
+* What is tolua++?
+ tolua++ is an extension of toLua, a tool to integrate C/C++ code with
+ Lua. tolua++ includes new features oriented to c++, such as class
+ templates.
+
+ tolua is a tool that greatly simplifies the integration of C/C++ code
+ with Lua. Based on a "cleaned" header file, tolua automatically generates
+ the binding code to access C/C++ features from Lua. Using Lua-5.0 API and
+ metamethod facilities, the current version automatically maps C/C++
+ constants, external variables, functions, namespace, classes, and methods
+ to Lua. It also provides facilities to create Lua modules.
+
+* Availability
+
+ tolua++ is freely available for both academic and commercial purposes.
+ See COPYRIGHT for details.
+
+ tolua++ can be downloaded from the sites below:
+ http://www.codenix.com/~tolua/
+
+* Installation
+ See INSTALL.
+
+* Contacting the author
+ tolua has been designed and implemented by Waldemar Celes.
+ tolua++ is maintained by Ariel Manzur.
+ Send your comments, bug reports and anything else to
+ tolua@codenix.com
diff --git a/ThirdParty/toluapp/README-5.1 b/ThirdParty/toluapp/README-5.1
new file mode 100644
index 0000000..f06f785
--- /dev/null
+++ b/ThirdParty/toluapp/README-5.1
@@ -0,0 +1,50 @@
+Compiling for lua 5.1
+---------------------
+
+Starting from version 1.0.8pre1, tolua++ can be compiled with both lua 5.0 and
+5.1. Both versions will output the same code, and the C API (tolua++.h) is the
+same.
+
+The build system is not yet ready to detect/decide when to compile for 5.1,
+the easiest way right now is to add a file called 'custom.py' on the root of
+the package, with the following:
+
+## BEGIN custom.py
+
+CCFLAGS = ['-I/usr/local/include/lua5.1', '-O2', '-ansi']
+LIBPATH = ['/usr/local/lib']
+LIBS = ['lua5.1', 'dl', 'm']
+tolua_bin = 'tolua++5.1'
+tolua_lib = 'tolua++5.1'
+TOLUAPP = 'tolua++5.1'
+
+## END custom.py
+
+This will build the binary as 'tolua++5.1' and the library as 'libtolua++5.1.a'
+(taken from tolua_bin and tolua_lib), and take the lua headers and libraries
+from /usr/local/include/lua5.1 and /usr/local/lib. It will also link with
+'-llua5.1'. Modify the parameters acording to your system.
+
+Compatibility
+-------------
+
+There are a couple of things to keep in mind when running code inside tolua
+using the -L option:
+
+* `...' and arg: you can still use 'arg' on 5.1, this is done automatically by
+adding the 'arg' declaration to functions on files loaded with dofile.
+
+For example, the line:
+
+function foo( ... )
+
+becomes
+
+function foo( ... ) local arg = {n=select('#', ...), ...};
+
+This lets you use the same code on both versions without having to make any
+modifications.
+
+* keep in mind that there are slight differences on the way string.gsub works,
+and the original version of the function is always kept, so it will behave
+diffently depending on which version of lua you're using.
diff --git a/ThirdParty/toluapp/SConstruct b/ThirdParty/toluapp/SConstruct
new file mode 100644
index 0000000..5c1e774
--- /dev/null
+++ b/ThirdParty/toluapp/SConstruct
@@ -0,0 +1,180 @@
+import sys;
+import os
+
+tools = ['default']
+if os.name == 'nt':
+ tools = ['mingw']
+
+env = Environment(tools = tools)
+
+options_file = None
+if sys.platform == 'linux2':
+ options_file = "linux"
+
+elif 'msvc' in env['TOOLS']:
+ options_file = "msvc"
+else:
+ options_file = "posix"
+
+opts = Options(["config_"+options_file+".py", "custom.py", "custom_"+options_file+".py"], ARGUMENTS)
+opts.Add('CC', 'The C compiler.')
+opts.Add('CXX', 'The C++ compiler (for the tests)')
+opts.Add('CCFLAGS', 'Flags for the compiler.', ['-O2', '-Wall'])
+opts.Add('LINK', 'The linker.')
+opts.Add('LINKFLAGS', 'Linker flags.', [])
+opts.Add('no_cygwin', 'Use -mno-cygwin to build using the mingw compiler on cygwin', 0)
+opts.Add('LIBS', 'libraries', [])
+opts.Add('LIBPATH', 'library path', [])
+
+opts.Add('tolua_bin', 'the resulting binary', 'tolua++')
+opts.Add('tolua_lib', 'the resulting library', 'tolua++')
+opts.Add('TOLUAPP', 'the name of the tolua++ binary (to use with built_dev=1)', 'tolua++')
+
+opts.Add('prefix', 'The installation prefix')
+opts.Add('build_dev', 'Build for development (uses tolua to rebuild toluabind.c with the embeded scripts', 0)
+opts.Add('build_failsafe', "Build using 'factory default' toluabind file (in case build_dev fails)", 0)
+opts.Add('ENV', 'The environment variables')
+opts.Add('shared', 'Build a shared object', False)
+opts.Update(env)
+Help(opts.GenerateHelpText(env))
+
+def save_config(target, source, env):
+ opts.Save('custom.py', env)
+
+cust = env.Command('custom.py', [], save_config)
+env.Alias('configure', [cust])
+
+env['TOLUAPP_BOOTSTRAP'] = env['tolua_bin']+"_bootstrap"+env['PROGSUFFIX']
+
+env['build_dev'] = int(env['build_dev'])
+
+## detecting the install directory on win32
+if 'msvc' in env['TOOLS'] and not (env.has_key('prefix') or env['prefix']):
+
+ if env['MSVS'].has_key('PLATFORMSDKDIR'):
+ env['prefix'] = env['MSVS']['PLATFORMSDKDIR']
+
+
+SConscriptChdir(0)
+
+############ helper builders
+def pkg_scan_dep(self, target, source):
+
+ import re
+
+ ## TODO: detectar si el archivo existe antes de abrirlo asi nomas
+ pkg = open(source, "rt")
+
+ for linea in pkg.xreadlines():
+ dep = re.search("^[\t\w]*\$[cphl]file\s*\"([^\"]+)\"", linea)
+ if dep:
+ self.Depends(target, '#' + dep.groups()[0]);
+
+ if dep.groups()[0][-4:] == '.pkg':
+ # recursividad
+ self.pkg_scan_dep(target, dep.groups()[0])
+
+
+def make_tolua_code(self, target, source, pkgname = None, bootstrap = False, use_own = False, use_typeid=None):
+
+ ptarget = Dir('.').path + '/' + target
+ psource = Dir('.').path + '/' + source
+ header = target[:-2] + '.h'
+ pheader = Dir('.').path + '/' + header
+
+ tolua = ""
+ if bootstrap:
+ if os.name == 'nt':
+ tolua = 'bin\\'+self['TOLUAPP_BOOTSTRAP']
+ else:
+ tolua = 'bin/'+self['TOLUAPP_BOOTSTRAP']
+ print("********* tolua is ", tolua)
+ else:
+ if use_own:
+ if 'msvc' in self['TOOLS']:
+ tolua = 'bin\\$tolua_bin'
+ else:
+ tolua = 'bin/$tolua_bin'
+ else:
+ tolua = "$TOLUAPP"
+
+ if pkgname:
+ pkgname = ' -n '+pkgname
+ else:
+ pkgname = ''
+
+ if use_typeid:
+ tolua = tolua+' -t'
+
+ comando = tolua + ' -C -H ' + pheader + ' -o ' + ptarget + pkgname + ' ' + psource
+ command = self.Command(target, source, comando)
+
+ self.SideEffect(header, target)
+ self.Depends(target, source)
+
+ self.pkg_scan_dep(target, psource)
+
+ if bootstrap:
+ self.Depends(target, "#/bin/$TOLUAPP_BOOTSTRAP")
+ if use_own:
+ self.Depends(target, "#/bin/$tolua_bin")
+
+ return command
+
+
+env.__class__.LuaBinding = make_tolua_code;
+env.__class__.pkg_scan_dep = pkg_scan_dep;
+
+def print_install_error(target, source, env):
+
+ msg = """Error: no install prefix was specified, or detected.
+
+you can use the 'prefix' option on command line to specify one. Examples:
+
+ scons prefix=/usr/local install
+
+or on Windows:
+
+ scons "prefix=c:\\program files\\visual basic" install
+
+Files will be installed on <prefix>/bin, <prefix>/lib and <prefix>/include
+"""
+ import SCons.Errors
+ raise SCons.Errors.UserError(msg)
+
+########### end of helper builders
+
+env['CPPPATH'] = '#/include'
+env['LIBPATH'] = ['#/lib'] + env['LIBPATH']
+
+if env['no_cygwin']:
+
+ env['CCFLAGS'] += ['-mno-cygwin']
+ env['LINKFLAGS'] += ['-mno-cygwin']
+
+import string
+
+Export('env')
+
+SConscript('src/lib/SCsub')
+SConscript('src/bin/SCsub')
+#SConscript('src/lib/SCsub')
+SConscript('src/tests/SCsub')
+
+env.Alias('all', [env.bin_target, env.lib_target])
+env.Alias('test', env.test_targets)
+
+Default('all')
+
+if env['prefix']:
+ env.Install(env['prefix']+'/bin', env.bin_target)
+ env.Install(env['prefix']+'/lib', env.lib_target)
+ env.Install(env['prefix']+'/include', '#include/tolua++.h')
+
+ env.Alias('install', [env['prefix']+'/bin', env['prefix']+'/include', env['prefix']+'/lib'])
+else:
+ env.Command('install', [], print_install_error)
+ env.Depends('install', 'all')
+
+env.Command('deb', [], 'dpkg-buildpackage -I.svn -Icustom.py -Itoluabind_dev.c -Itoluabind_dev.h -Itoluabind_default.o -Icustom.lua -I.sconsign', ENV=os.environ)
+
diff --git a/ThirdParty/toluapp/cmake/FindLua.cmake b/ThirdParty/toluapp/cmake/FindLua.cmake
new file mode 100644
index 0000000..7fb7ca3
--- /dev/null
+++ b/ThirdParty/toluapp/cmake/FindLua.cmake
@@ -0,0 +1,118 @@
+# Locate Lua library
+# This module defines
+# LUA_EXECUTABLE, if found
+# LUA_FOUND, if false, do not try to link to Lua
+# LUA_LIBRARIES
+# LUA_INCLUDE_DIR, where to find lua.h
+# LUA_VERSION_STRING, the version of Lua found (since CMake 2.8.8)
+#
+# Note that the expected include convention is
+# #include "lua.h"
+# and not
+# #include <lua/lua.h>
+# This is because, the lua location is not standardized and may exist
+# in locations other than lua/
+
+#=============================================================================
+# Copyright 2007-2009 Kitware, Inc.
+# Modified to support Lua 5.2 by LuaDist 2012
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distribute this file outside of CMake, substitute the full
+# License text for the above reference.)
+#
+# The required version of Lua can be specified using the
+# standard syntax, e.g. FIND_PACKAGE(Lua 5.1)
+# Otherwise the module will search for any available Lua implementation
+
+# Always search for non-versioned lua first (recommended)
+SET(_POSSIBLE_LUA_INCLUDE include include/lua)
+SET(_POSSIBLE_LUA_EXECUTABLE lua)
+SET(_POSSIBLE_LUA_LIBRARY lua)
+
+# Determine possible naming suffixes (there is no standard for this)
+IF(Lua_FIND_VERSION_MAJOR AND Lua_FIND_VERSION_MINOR)
+ SET(_POSSIBLE_SUFFIXES "${Lua_FIND_VERSION_MAJOR}${Lua_FIND_VERSION_MINOR}" "${Lua_FIND_VERSION_MAJOR}.${Lua_FIND_VERSION_MINOR}" "-${Lua_FIND_VERSION_MAJOR}.${Lua_FIND_VERSION_MINOR}")
+ELSE(Lua_FIND_VERSION_MAJOR AND Lua_FIND_VERSION_MINOR)
+ SET(_POSSIBLE_SUFFIXES "52" "5.2" "-5.2" "51" "5.1" "-5.1")
+ENDIF(Lua_FIND_VERSION_MAJOR AND Lua_FIND_VERSION_MINOR)
+
+# Set up possible search names and locations
+FOREACH(_SUFFIX ${_POSSIBLE_SUFFIXES})
+ LIST(APPEND _POSSIBLE_LUA_INCLUDE "include/lua${_SUFFIX}")
+ LIST(APPEND _POSSIBLE_LUA_EXECUTABLE "lua${_SUFFIX}")
+ LIST(APPEND _POSSIBLE_LUA_LIBRARY "lua${_SUFFIX}")
+ENDFOREACH(_SUFFIX)
+
+# Find the lua executable
+FIND_PROGRAM(LUA_EXECUTABLE
+ NAMES ${_POSSIBLE_LUA_EXECUTABLE}
+)
+
+# Find the lua header
+FIND_PATH(LUA_INCLUDE_DIR lua.h
+ HINTS
+ $ENV{LUA_DIR}
+ PATH_SUFFIXES ${_POSSIBLE_LUA_INCLUDE}
+ PATHS
+ ~/Library/Frameworks
+ /Library/Frameworks
+ /usr/local
+ /usr
+ /sw # Fink
+ /opt/local # DarwinPorts
+ /opt/csw # Blastwave
+ /opt
+)
+
+# Find the lua library
+FIND_LIBRARY(LUA_LIBRARY
+ NAMES ${_POSSIBLE_LUA_LIBRARY}
+ HINTS
+ $ENV{LUA_DIR}
+ PATH_SUFFIXES lib64 lib
+ PATHS
+ ~/Library/Frameworks
+ /Library/Frameworks
+ /usr/local
+ /usr
+ /sw
+ /opt/local
+ /opt/csw
+ /opt
+)
+
+IF(LUA_LIBRARY)
+ # include the math library for Unix
+ IF(UNIX AND NOT APPLE)
+ FIND_LIBRARY(LUA_MATH_LIBRARY m)
+ SET( LUA_LIBRARIES "${LUA_LIBRARY};${LUA_MATH_LIBRARY}" CACHE STRING "Lua Libraries")
+ # For Windows and Mac, don't need to explicitly include the math library
+ ELSE(UNIX AND NOT APPLE)
+ SET( LUA_LIBRARIES "${LUA_LIBRARY}" CACHE STRING "Lua Libraries")
+ ENDIF(UNIX AND NOT APPLE)
+ENDIF(LUA_LIBRARY)
+
+# Determine Lua version
+IF(LUA_INCLUDE_DIR AND EXISTS "${LUA_INCLUDE_DIR}/lua.h")
+ FILE(STRINGS "${LUA_INCLUDE_DIR}/lua.h" lua_version_str REGEX "^#define[ \t]+LUA_RELEASE[ \t]+\"Lua .+\"")
+
+ STRING(REGEX REPLACE "^#define[ \t]+LUA_RELEASE[ \t]+\"Lua ([^\"]+)\".*" "\\1" LUA_VERSION_STRING "${lua_version_str}")
+ UNSET(lua_version_str)
+ENDIF()
+
+INCLUDE(FindPackageHandleStandardArgs)
+# handle the QUIETLY and REQUIRED arguments and set LUA_FOUND to TRUE if
+# all listed variables are TRUE
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Lua
+ REQUIRED_VARS LUA_LIBRARIES LUA_INCLUDE_DIR
+ VERSION_VAR LUA_VERSION_STRING)
+
+MARK_AS_ADVANCED(LUA_INCLUDE_DIR LUA_LIBRARIES LUA_LIBRARY LUA_MATH_LIBRARY LUA_EXECUTABLE)
+
diff --git a/ThirdParty/toluapp/cmake/dist.cmake b/ThirdParty/toluapp/cmake/dist.cmake
new file mode 100644
index 0000000..310ef94
--- /dev/null
+++ b/ThirdParty/toluapp/cmake/dist.cmake
@@ -0,0 +1,321 @@
+# LuaDist CMake utility library.
+# Provides sane project defaults and macros common to LuaDist CMake builds.
+#
+# Copyright (C) 2007-2012 LuaDist.
+# by David Manura, Peter Drahoナ。
+# Redistribution and use of this file is allowed according to the terms of the MIT license.
+# For details see the COPYRIGHT file distributed with LuaDist.
+# Please note that the package source code is licensed under its own license.
+
+## Extract information from dist.info
+if ( NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/dist.info )
+ message ( FATAL_ERROR
+ "Missing dist.info file (${CMAKE_CURRENT_SOURCE_DIR}/dist.info)." )
+endif ()
+file ( READ ${CMAKE_CURRENT_SOURCE_DIR}/dist.info DIST_INFO )
+if ( "${DIST_INFO}" STREQUAL "" )
+ message ( FATAL_ERROR "Failed to load dist.info." )
+endif ()
+# Reads field `name` from dist.info string `DIST_INFO` into variable `var`.
+macro ( _parse_dist_field name var )
+ string ( REGEX REPLACE ".*${name}[ \t]?=[ \t]?[\"']([^\"']+)[\"'].*" "\\1"
+ ${var} "${DIST_INFO}" )
+ if ( ${var} STREQUAL DIST_INFO )
+ message ( FATAL_ERROR "Failed to extract \"${var}\" from dist.info" )
+ endif ()
+endmacro ()
+#
+_parse_dist_field ( name DIST_NAME )
+_parse_dist_field ( version DIST_VERSION )
+_parse_dist_field ( license DIST_LICENSE )
+_parse_dist_field ( author DIST_AUTHOR )
+_parse_dist_field ( maintainer DIST_MAINTAINER )
+_parse_dist_field ( url DIST_URL )
+_parse_dist_field ( desc DIST_DESC )
+message ( "DIST_NAME: ${DIST_NAME}")
+message ( "DIST_VERSION: ${DIST_VERSION}")
+message ( "DIST_LICENSE: ${DIST_LICENSE}")
+message ( "DIST_AUTHOR: ${DIST_AUTHOR}")
+message ( "DIST_MAINTAINER: ${DIST_MAINTAINER}")
+message ( "DIST_URL: ${DIST_URL}")
+message ( "DIST_DESC: ${DIST_DESC}")
+string ( REGEX REPLACE ".*depends[ \t]?=[ \t]?[\"']([^\"']+)[\"'].*" "\\1"
+ DIST_DEPENDS ${DIST_INFO} )
+if ( DIST_DEPENDS STREQUAL DIST_INFO )
+ set ( DIST_DEPENDS "" )
+endif ()
+message ( "DIST_DEPENDS: ${DIST_DEPENDS}")
+## 2DO: Parse DIST_DEPENDS and try to install Dependencies with automatically using externalproject_add
+
+
+## INSTALL DEFAULTS (Relative to CMAKE_INSTALL_PREFIX)
+# Primary paths
+set ( INSTALL_BIN bin CACHE PATH "Where to install binaries to." )
+set ( INSTALL_LIB lib CACHE PATH "Where to install libraries to." )
+set ( INSTALL_INC include CACHE PATH "Where to install headers to." )
+set ( INSTALL_ETC etc CACHE PATH "Where to store configuration files" )
+set ( INSTALL_SHARE share CACHE PATH "Directory for shared data." )
+
+# Secondary paths
+option ( INSTALL_VERSION
+ "Install runtime libraries and executables with version information." OFF)
+set ( INSTALL_DATA ${INSTALL_SHARE}/${DIST_NAME} CACHE PATH
+ "Directory the package can store documentation, tests or other data in.")
+set ( INSTALL_DOC ${INSTALL_DATA}/doc CACHE PATH
+ "Recommended directory to install documentation into.")
+set ( INSTALL_EXAMPLE ${INSTALL_DATA}/example CACHE PATH
+ "Recommended directory to install examples into.")
+set ( INSTALL_TEST ${INSTALL_DATA}/test CACHE PATH
+ "Recommended directory to install tests into.")
+set ( INSTALL_FOO ${INSTALL_DATA}/etc CACHE PATH
+ "Where to install additional files")
+
+# Tweaks and other defaults
+# Setting CMAKE to use loose block and search for find modules in source directory
+set ( CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true )
+set ( CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH} )
+option ( BUILD_SHARED_LIBS "Build shared libraries" ON )
+
+# In MSVC, prevent warnings that can occur when using standard libraries.
+if ( MSVC )
+ add_definitions ( -D_CRT_SECURE_NO_WARNINGS )
+endif ()
+
+# RPath and relative linking
+option ( USE_RPATH "Use relative linking." ON)
+if ( USE_RPATH )
+ string ( REGEX REPLACE "[^!/]+" ".." UP_DIR ${INSTALL_BIN} )
+ set ( CMAKE_SKIP_BUILD_RPATH FALSE CACHE STRING "" FORCE )
+ set ( CMAKE_BUILD_WITH_INSTALL_RPATH FALSE CACHE STRING "" FORCE )
+ set ( CMAKE_INSTALL_RPATH $ORIGIN/${UP_DIR}/${INSTALL_LIB}
+ CACHE STRING "" FORCE )
+ set ( CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE CACHE STRING "" FORCE )
+ set ( CMAKE_INSTALL_NAME_DIR @executable_path/${UP_DIR}/${INSTALL_LIB}
+ CACHE STRING "" FORCE )
+endif ()
+
+## MACROS
+# Parser macro
+macro ( parse_arguments prefix arg_names option_names)
+ set ( DEFAULT_ARGS )
+ foreach ( arg_name ${arg_names} )
+ set ( ${prefix}_${arg_name} )
+ endforeach ()
+ foreach ( option ${option_names} )
+ set ( ${prefix}_${option} FALSE )
+ endforeach ()
+
+ set ( current_arg_name DEFAULT_ARGS )
+ set ( current_arg_list )
+ foreach ( arg ${ARGN} )
+ set ( larg_names ${arg_names} )
+ list ( FIND larg_names "${arg}" is_arg_name )
+ if ( is_arg_name GREATER -1 )
+ set ( ${prefix}_${current_arg_name} ${current_arg_list} )
+ set ( current_arg_name ${arg} )
+ set ( current_arg_list )
+ else ()
+ set ( loption_names ${option_names} )
+ list ( FIND loption_names "${arg}" is_option )
+ if ( is_option GREATER -1 )
+ set ( ${prefix}_${arg} TRUE )
+ else ()
+ set ( current_arg_list ${current_arg_list} ${arg} )
+ endif ()
+ endif ()
+ endforeach ()
+ set ( ${prefix}_${current_arg_name} ${current_arg_list} )
+endmacro ()
+
+
+# install_executable ( executable_targets )
+# Installs any executables generated using "add_executable".
+# USE: install_executable ( lua )
+# NOTE: subdirectories are NOT supported
+set ( CPACK_COMPONENT_RUNTIME_DISPLAY_NAME "${DIST_NAME} Runtime" )
+set ( CPACK_COMPONENT_RUNTIME_DESCRIPTION
+ "Executables and runtime libraries. Installed into ${INSTALL_BIN}." )
+macro ( install_executable )
+ foreach ( _file ${ARGN} )
+ if ( INSTALL_VERSION )
+ set_target_properties ( ${_file} PROPERTIES VERSION ${DIST_VERSION}
+ SOVERSION ${DIST_VERSION} )
+ endif ()
+ install ( TARGETS ${_file} RUNTIME DESTINATION ${INSTALL_BIN}
+ COMPONENT Runtime )
+ endforeach()
+endmacro ()
+
+# install_library ( library_targets )
+# Installs any libraries generated using "add_library" into apropriate places.
+# USE: install_library ( libexpat )
+# NOTE: subdirectories are NOT supported
+set ( CPACK_COMPONENT_LIBRARY_DISPLAY_NAME "${DIST_NAME} Development Libraries" )
+set ( CPACK_COMPONENT_LIBRARY_DESCRIPTION
+ "Static and import libraries needed for development. Installed into ${INSTALL_LIB} or ${INSTALL_BIN}." )
+macro ( install_library )
+ foreach ( _file ${ARGN} )
+ if ( INSTALL_VERSION )
+ set_target_properties ( ${_file} PROPERTIES VERSION ${DIST_VERSION}
+ SOVERSION ${DIST_VERSION} )
+ endif ()
+ install ( TARGETS ${_file}
+ RUNTIME DESTINATION ${INSTALL_BIN} COMPONENT Runtime
+ LIBRARY DESTINATION ${INSTALL_LIB} COMPONENT Runtime
+ ARCHIVE DESTINATION ${INSTALL_LIB} COMPONENT Library )
+ endforeach()
+endmacro ()
+
+# helper function for various install_* functions, for PATTERN/REGEX args.
+macro ( _complete_install_args )
+ if ( NOT("${_ARG_PATTERN}" STREQUAL "") )
+ set ( _ARG_PATTERN PATTERN ${_ARG_PATTERN} )
+ endif ()
+ if ( NOT("${_ARG_REGEX}" STREQUAL "") )
+ set ( _ARG_REGEX REGEX ${_ARG_REGEX} )
+ endif ()
+endmacro ()
+
+# install_header ( files/directories [INTO destination] )
+# Install a directories or files into header destination.
+# USE: install_header ( lua.h luaconf.h ) or install_header ( GL )
+# USE: install_header ( mylib.h INTO mylib )
+# For directories, supports optional PATTERN/REGEX arguments like install().
+set ( CPACK_COMPONENT_HEADER_DISPLAY_NAME "${DIST_NAME} Development Headers" )
+set ( CPACK_COMPONENT_HEADER_DESCRIPTION
+ "Headers needed for development. Installed into ${INSTALL_INC}." )
+macro ( install_header )
+ parse_arguments ( _ARG "INTO;PATTERN;REGEX" "" ${ARGN} )
+ _complete_install_args()
+ foreach ( _file ${_ARG_DEFAULT_ARGS} )
+ if ( IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${_file}" )
+ install ( DIRECTORY ${_file} DESTINATION ${INSTALL_INC}/${_ARG_INTO}
+ COMPONENT Header ${_ARG_PATTERN} ${_ARG_REGEX} )
+ else ()
+ install ( FILES ${_file} DESTINATION ${INSTALL_INC}/${_ARG_INTO}
+ COMPONENT Header )
+ endif ()
+ endforeach()
+endmacro ()
+
+# install_data ( files/directories [INTO destination] )
+# This installs additional data files or directories.
+# USE: install_data ( extra data.dat )
+# USE: install_data ( image1.png image2.png INTO images )
+# For directories, supports optional PATTERN/REGEX arguments like install().
+set ( CPACK_COMPONENT_DATA_DISPLAY_NAME "${DIST_NAME} Data" )
+set ( CPACK_COMPONENT_DATA_DESCRIPTION
+ "Application data. Installed into ${INSTALL_DATA}." )
+macro ( install_data )
+ parse_arguments ( _ARG "INTO;PATTERN;REGEX" "" ${ARGN} )
+ _complete_install_args()
+ foreach ( _file ${_ARG_DEFAULT_ARGS} )
+ if ( IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${_file}" )
+ install ( DIRECTORY ${_file}
+ DESTINATION ${INSTALL_DATA}/${_ARG_INTO}
+ COMPONENT Data ${_ARG_PATTERN} ${_ARG_REGEX} )
+ else ()
+ install ( FILES ${_file} DESTINATION ${INSTALL_DATA}/${_ARG_INTO}
+ COMPONENT Data )
+ endif ()
+ endforeach()
+endmacro ()
+
+# INSTALL_DOC ( files/directories [INTO destination] )
+# This installs documentation content
+# USE: install_doc ( doc/ doc.pdf )
+# USE: install_doc ( index.html INTO html )
+# For directories, supports optional PATTERN/REGEX arguments like install().
+set ( CPACK_COMPONENT_DOCUMENTATION_DISPLAY_NAME "${DIST_NAME} Documentation" )
+set ( CPACK_COMPONENT_DOCUMENTATION_DESCRIPTION
+ "Application documentation. Installed into ${INSTALL_DOC}." )
+macro ( install_doc )
+ parse_arguments ( _ARG "INTO;PATTERN;REGEX" "" ${ARGN} )
+ _complete_install_args()
+ foreach ( _file ${_ARG_DEFAULT_ARGS} )
+ if ( IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${_file}" )
+ install ( DIRECTORY ${_file} DESTINATION ${INSTALL_DOC}/${_ARG_INTO}
+ COMPONENT Documentation ${_ARG_PATTERN} ${_ARG_REGEX} )
+ else ()
+ install ( FILES ${_file} DESTINATION ${INSTALL_DOC}/${_ARG_INTO}
+ COMPONENT Documentation )
+ endif ()
+ endforeach()
+endmacro ()
+
+# install_example ( files/directories [INTO destination] )
+# This installs additional examples
+# USE: install_example ( examples/ exampleA )
+# USE: install_example ( super_example super_data INTO super)
+# For directories, supports optional PATTERN/REGEX argument like install().
+set ( CPACK_COMPONENT_EXAMPLE_DISPLAY_NAME "${DIST_NAME} Examples" )
+set ( CPACK_COMPONENT_EXAMPLE_DESCRIPTION
+ "Examples and their associated data. Installed into ${INSTALL_EXAMPLE}." )
+macro ( install_example )
+ parse_arguments ( _ARG "INTO;PATTERN;REGEX" "" ${ARGN} )
+ _complete_install_args()
+ foreach ( _file ${_ARG_DEFAULT_ARGS} )
+ if ( IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${_file}" )
+ install ( DIRECTORY ${_file} DESTINATION ${INSTALL_EXAMPLE}/${_ARG_INTO}
+ COMPONENT Example ${_ARG_PATTERN} ${_ARG_REGEX} )
+ else ()
+ install ( FILES ${_file} DESTINATION ${INSTALL_EXAMPLE}/${_ARG_INTO}
+ COMPONENT Example )
+ endif ()
+ endforeach()
+endmacro ()
+
+# install_test ( files/directories [INTO destination] )
+# This installs tests and test files, DOES NOT EXECUTE TESTS
+# USE: install_test ( my_test data.sql )
+# USE: install_test ( feature_x_test INTO x )
+# For directories, supports optional PATTERN/REGEX argument like install().
+set ( CPACK_COMPONENT_TEST_DISPLAY_NAME "${DIST_NAME} Tests" )
+set ( CPACK_COMPONENT_TEST_DESCRIPTION
+ "Tests and associated data. Installed into ${INSTALL_TEST}." )
+macro ( install_test )
+ parse_arguments ( _ARG "INTO;PATTERN;REGEX" "" ${ARGN} )
+ _complete_install_args()
+ foreach ( _file ${_ARG_DEFAULT_ARGS} )
+ if ( IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${_file}" )
+ install ( DIRECTORY ${_file} DESTINATION ${INSTALL_TEST}/${_ARG_INTO}
+ COMPONENT Test ${_ARG_PATTERN} ${_ARG_REGEX} )
+ else ()
+ install ( FILES ${_file} DESTINATION ${INSTALL_TEST}/${_ARG_INTO}
+ COMPONENT Test )
+ endif ()
+ endforeach()
+endmacro ()
+
+# install_foo ( files/directories [INTO destination] )
+# This installs optional or otherwise unneeded content
+# USE: install_foo ( etc/ example.doc )
+# USE: install_foo ( icon.png logo.png INTO icons)
+# For directories, supports optional PATTERN/REGEX argument like install().
+set ( CPACK_COMPONENT_OTHER_DISPLAY_NAME "${DIST_NAME} Unspecified Content" )
+set ( CPACK_COMPONENT_OTHER_DESCRIPTION
+ "Other unspecified content. Installed into ${INSTALL_FOO}." )
+macro ( install_foo )
+ parse_arguments ( _ARG "INTO;PATTERN;REGEX" "" ${ARGN} )
+ _complete_install_args()
+ foreach ( _file ${_ARG_DEFAULT_ARGS} )
+ if ( IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${_file}" )
+ install ( DIRECTORY ${_file} DESTINATION ${INSTALL_FOO}/${_ARG_INTO}
+ COMPONENT Other ${_ARG_PATTERN} ${_ARG_REGEX} )
+ else ()
+ install ( FILES ${_file} DESTINATION ${INSTALL_FOO}/${_ARG_INTO}
+ COMPONENT Other )
+ endif ()
+ endforeach()
+endmacro ()
+
+## CTest defaults
+
+## CPack defaults
+set ( CPACK_GENERATOR "ZIP" )
+set ( CPACK_STRIP_FILES TRUE )
+set ( CPACK_PACKAGE_NAME "${DIST_NAME}" )
+set ( CPACK_PACKAGE_VERSION "${DIST_VERSION}")
+set ( CPACK_PACKAGE_VENDOR "LuaDist" )
+set ( CPACK_COMPONENTS_ALL Runtime Library Header Data Documentation Example Other )
+include ( CPack )
diff --git a/ThirdParty/toluapp/cmake/lua.cmake b/ThirdParty/toluapp/cmake/lua.cmake
new file mode 100644
index 0000000..80bbc5f
--- /dev/null
+++ b/ThirdParty/toluapp/cmake/lua.cmake
@@ -0,0 +1,293 @@
+# LuaDist CMake utility library for Lua.
+#
+# Copyright (C) 2007-2012 LuaDist.
+# by David Manura, Peter Drahos
+# Redistribution and use of this file is allowed according to the terms of the MIT license.
+# For details see the COPYRIGHT file distributed with LuaDist.
+# Please note that the package source code is licensed under its own license.
+
+set ( INSTALL_LMOD ${INSTALL_LIB}/lua
+ CACHE PATH "Directory to install Lua modules." )
+set ( INSTALL_CMOD ${INSTALL_LIB}/lua
+ CACHE PATH "Directory to install Lua binary modules." )
+
+option ( SKIP_LUA_WRAPPER
+ "Do not build and install Lua executable wrappers." OFF)
+
+# List of (Lua module name, file path) pairs.
+# Used internally by add_lua_test. Built by add_lua_module.
+set ( _lua_modules )
+
+# utility function: appends path `path` to path `basepath`, properly
+# handling cases when `path` may be relative or absolute.
+macro ( _append_path basepath path result )
+ if ( IS_ABSOLUTE "${path}" )
+ set ( ${result} "${path}" )
+ else ()
+ set ( ${result} "${basepath}/${path}" )
+ endif ()
+endmacro ()
+
+# install_lua_executable ( target source )
+# Automatically generate a binary if srlua package is available
+# The application or its source will be placed into /bin
+# If the application source did not have .lua suffix then it will be added
+# USE: lua_executable ( sputnik src/sputnik.lua )
+macro ( install_lua_executable _name _source )
+ get_filename_component ( _source_name ${_source} NAME_WE )
+ # Find srlua and glue
+ find_program( SRLUA_EXECUTABLE NAMES srlua )
+ find_program( GLUE_EXECUTABLE NAMES glue )
+ # Executable output
+ set ( _exe ${CMAKE_CURRENT_BINARY_DIR}/${_name}${CMAKE_EXECUTABLE_SUFFIX} )
+ if ( NOT SKIP_LUA_WRAPPER AND SRLUA_EXECUTABLE AND GLUE_EXECUTABLE )
+ # Generate binary gluing the lua code to srlua, this is a robuust approach for most systems
+ add_custom_command(
+ OUTPUT ${_exe}
+ COMMAND ${GLUE_EXECUTABLE}
+ ARGS ${SRLUA_EXECUTABLE} ${_source} ${_exe}
+ DEPENDS ${_source}
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ VERBATIM
+ )
+ # Make sure we have a target associated with the binary
+ add_custom_target(${_name} ALL
+ DEPENDS ${_exe}
+ )
+ # Install with run permissions
+ install ( PROGRAMS ${_exe} DESTINATION ${INSTALL_BIN} COMPONENT Runtime)
+ # Also install source as optional resurce
+ install ( FILES ${_source} DESTINATION ${INSTALL_FOO} COMPONENT Other )
+ else()
+ # Install into bin as is but without the lua suffix, we assume the executable uses UNIX shebang/hash-bang magic
+ install ( PROGRAMS ${_source} DESTINATION ${INSTALL_BIN}
+ RENAME ${_source_name}
+ COMPONENT Runtime
+ )
+ endif()
+endmacro ()
+
+macro ( _lua_module_helper is_install _name )
+ parse_arguments ( _MODULE "LINK;ALL_IN_ONE" "" ${ARGN} )
+ # _target is CMake-compatible target name for module (e.g. socket_core).
+ # _module is relative path of target (e.g. socket/core),
+ # without extension (e.g. .lua/.so/.dll).
+ # _MODULE_SRC is list of module source files (e.g. .lua and .c files).
+ # _MODULE_NAMES is list of module names (e.g. socket.core).
+ if ( _MODULE_ALL_IN_ONE )
+ string ( REGEX REPLACE "\\..*" "" _target "${_name}" )
+ string ( REGEX REPLACE "\\..*" "" _module "${_name}" )
+ set ( _target "${_target}_all_in_one")
+ set ( _MODULE_SRC ${_MODULE_ALL_IN_ONE} )
+ set ( _MODULE_NAMES ${_name} ${_MODULE_DEFAULT_ARGS} )
+ else ()
+ string ( REPLACE "." "_" _target "${_name}" )
+ string ( REPLACE "." "/" _module "${_name}" )
+ set ( _MODULE_SRC ${_MODULE_DEFAULT_ARGS} )
+ set ( _MODULE_NAMES ${_name} )
+ endif ()
+ if ( NOT _MODULE_SRC )
+ message ( FATAL_ERROR "no module sources specified" )
+ endif ()
+ list ( GET _MODULE_SRC 0 _first_source )
+
+ get_filename_component ( _ext ${_first_source} EXT )
+ if ( _ext STREQUAL ".lua" ) # Lua source module
+ list ( LENGTH _MODULE_SRC _len )
+ if ( _len GREATER 1 )
+ message ( FATAL_ERROR "more than one source file specified" )
+ endif ()
+
+ set ( _module "${_module}.lua" )
+
+ get_filename_component ( _module_dir ${_module} PATH )
+ get_filename_component ( _module_filename ${_module} NAME )
+ _append_path ( "${CMAKE_CURRENT_SOURCE_DIR}" "${_first_source}" _module_path )
+ list ( APPEND _lua_modules "${_name}" "${_module_path}" )
+
+ if ( ${is_install} )
+ install ( FILES ${_first_source} DESTINATION ${INSTALL_LMOD}/${_module_dir}
+ RENAME ${_module_filename}
+ COMPONENT Runtime
+ )
+ endif ()
+ else () # Lua C binary module
+ enable_language ( C )
+ find_package ( Lua REQUIRED )
+ include_directories ( ${LUA_INCLUDE_DIR} )
+
+ set ( _module "${_module}${CMAKE_SHARED_MODULE_SUFFIX}" )
+
+ get_filename_component ( _module_dir ${_module} PATH )
+ get_filename_component ( _module_filenamebase ${_module} NAME_WE )
+ foreach ( _thisname ${_MODULE_NAMES} )
+ list ( APPEND _lua_modules "${_thisname}"
+ "${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_CFG_INTDIR}/${_module}" )
+ endforeach ()
+
+ add_library( ${_target} MODULE ${_MODULE_SRC})
+ target_link_libraries ( ${_target} ${LUA_LIBRARY} ${_MODULE_LINK} )
+ set_target_properties ( ${_target} PROPERTIES LIBRARY_OUTPUT_DIRECTORY
+ "${_module_dir}" PREFIX "" OUTPUT_NAME "${_module_filenamebase}" )
+ if ( ${is_install} )
+ install ( TARGETS ${_target} DESTINATION ${INSTALL_CMOD}/${_module_dir} COMPONENT Runtime)
+ endif ()
+ endif ()
+endmacro ()
+
+# add_lua_module
+# Builds a Lua source module into a destination locatable by Lua
+# require syntax.
+# Binary modules are also supported where this function takes sources and
+# libraries to compile separated by LINK keyword.
+# USE: add_lua_module ( socket.http src/http.lua )
+# USE2: add_lua_module ( mime.core src/mime.c )
+# USE3: add_lua_module ( socket.core ${SRC_SOCKET} LINK ${LIB_SOCKET} )
+# USE4: add_lua_module ( ssl.context ssl.core ALL_IN_ONE src/context.c src/ssl.c )
+# This form builds an "all-in-one" module (e.g. ssl.so or ssl.dll containing
+# both modules ssl.context and ssl.core). The CMake target name will be
+# ssl_all_in_one.
+# Also sets variable _module_path (relative path where module typically
+# would be installed).
+macro ( add_lua_module )
+ _lua_module_helper ( 0 ${ARGN} )
+endmacro ()
+
+
+# install_lua_module
+# This is the same as `add_lua_module` but also installs the module.
+# USE: install_lua_module ( socket.http src/http.lua )
+# USE2: install_lua_module ( mime.core src/mime.c )
+# USE3: install_lua_module ( socket.core ${SRC_SOCKET} LINK ${LIB_SOCKET} )
+macro ( install_lua_module )
+ _lua_module_helper ( 1 ${ARGN} )
+endmacro ()
+
+# Builds string representing Lua table mapping Lua modules names to file
+# paths. Used internally.
+macro ( _make_module_table _outvar )
+ set ( ${_outvar} )
+ list ( LENGTH _lua_modules _n )
+ if ( ${_n} GREATER 0 ) # avoids cmake complaint
+ foreach ( _i RANGE 1 ${_n} 2 )
+ list ( GET _lua_modules ${_i} _path )
+ math ( EXPR _ii ${_i}-1 )
+ list ( GET _lua_modules ${_ii} _name )
+ set ( ${_outvar} "${_table} ['${_name}'] = '${_path}'\;\n")
+ endforeach ()
+ endif ()
+ set ( ${_outvar}
+"local modules = {
+${_table}}" )
+endmacro ()
+
+# add_lua_test ( _testfile [ WORKING_DIRECTORY _working_dir ] )
+# Runs Lua script `_testfile` under CTest tester.
+# Optional named argument `WORKING_DIRECTORY` is current working directory to
+# run test under (defaults to ${CMAKE_CURRENT_BINARY_DIR}).
+# Both paths, if relative, are relative to ${CMAKE_CURRENT_SOURCE_DIR}.
+# Any modules previously defined with install_lua_module are automatically
+# preloaded (via package.preload) prior to running the test script.
+# Under LuaDist, set test=true in config.lua to enable testing.
+# USE: add_lua_test ( test/test1.lua [args...] [WORKING_DIRECTORY dir])
+macro ( add_lua_test _testfile )
+ if ( NOT SKIP_TESTING )
+ parse_arguments ( _ARG "WORKING_DIRECTORY" "" ${ARGN} )
+ include ( CTest )
+ find_program ( LUA NAMES lua lua.bat )
+ get_filename_component ( TESTFILEABS ${_testfile} ABSOLUTE )
+ get_filename_component ( TESTFILENAME ${_testfile} NAME )
+ get_filename_component ( TESTFILEBASE ${_testfile} NAME_WE )
+
+ # Write wrapper script.
+ # Note: One simple way to allow the script to find modules is
+ # to just put them in package.preload.
+ set ( TESTWRAPPER ${CMAKE_CURRENT_BINARY_DIR}/${TESTFILENAME} )
+ _make_module_table ( _table )
+ set ( TESTWRAPPERSOURCE
+"local CMAKE_CFG_INTDIR = ... or '.'
+${_table}
+local function preload_modules(modules)
+ for name, path in pairs(modules) do
+ if path:match'%.lua' then
+ package.preload[name] = assert(loadfile(path))
+ else
+ local name = name:gsub('.*%-', '') -- remove any hyphen prefix
+ local symbol = 'luaopen_' .. name:gsub('%.', '_')
+ --improve: generalize to support all-in-one loader?
+ local path = path:gsub('%$%{CMAKE_CFG_INTDIR%}', CMAKE_CFG_INTDIR)
+ package.preload[name] = assert(package.loadlib(path, symbol))
+ end
+ end
+end
+preload_modules(modules)
+arg[0] = '${TESTFILEABS}'
+table.remove(arg, 1)
+return assert(loadfile '${TESTFILEABS}')(unpack(arg))
+" )
+ if ( _ARG_WORKING_DIRECTORY )
+ get_filename_component (
+ TESTCURRENTDIRABS ${_ARG_WORKING_DIRECTORY} ABSOLUTE )
+ # note: CMake 2.6 (unlike 2.8) lacks WORKING_DIRECTORY parameter.
+ set ( _pre ${CMAKE_COMMAND} -E chdir "${TESTCURRENTDIRABS}" )
+ endif ()
+ file ( WRITE ${TESTWRAPPER} ${TESTWRAPPERSOURCE})
+ add_test ( NAME ${TESTFILEBASE} COMMAND ${_pre} ${LUA}
+ ${TESTWRAPPER} "${CMAKE_CFG_INTDIR}"
+ ${_ARG_DEFAULT_ARGS} )
+ endif ()
+ # see also http://gdcm.svn.sourceforge.net/viewvc/gdcm/Sandbox/CMakeModules/UsePythonTest.cmake
+ # Note: ${CMAKE_CFG_INTDIR} is a command-line argument to allow proper
+ # expansion by the native build tool.
+endmacro ()
+
+
+# Converts Lua source file `_source` to binary string embedded in C source
+# file `_target`. Optionally compiles Lua source to byte code (not available
+# under LuaJIT2, which doesn't have a bytecode loader). Additionally, Lua
+# versions of bin2c [1] and luac [2] may be passed respectively as additional
+# arguments.
+#
+# [1] http://lua-users.org/wiki/BinToCee
+# [2] http://lua-users.org/wiki/LuaCompilerInLua
+function ( add_lua_bin2c _target _source )
+ find_program ( LUA NAMES lua lua.bat )
+ execute_process ( COMMAND ${LUA} -e "string.dump(function()end)"
+ RESULT_VARIABLE _LUA_DUMP_RESULT ERROR_QUIET )
+ if ( NOT ${_LUA_DUMP_RESULT} )
+ SET ( HAVE_LUA_DUMP true )
+ endif ()
+ message ( "-- string.dump=${HAVE_LUA_DUMP}" )
+
+ if ( ARGV2 )
+ get_filename_component ( BIN2C ${ARGV2} ABSOLUTE )
+ set ( BIN2C ${LUA} ${BIN2C} )
+ else ()
+ find_program ( BIN2C NAMES bin2c bin2c.bat )
+ endif ()
+ if ( HAVE_LUA_DUMP )
+ if ( ARGV3 )
+ get_filename_component ( LUAC ${ARGV3} ABSOLUTE )
+ set ( LUAC ${LUA} ${LUAC} )
+ else ()
+ find_program ( LUAC NAMES luac luac.bat )
+ endif ()
+ endif ( HAVE_LUA_DUMP )
+ message ( "-- bin2c=${BIN2C}" )
+ message ( "-- luac=${LUAC}" )
+
+ get_filename_component ( SOURCEABS ${_source} ABSOLUTE )
+ if ( HAVE_LUA_DUMP )
+ get_filename_component ( SOURCEBASE ${_source} NAME_WE )
+ add_custom_command (
+ OUTPUT ${_target} DEPENDS ${_source}
+ COMMAND ${LUAC} -o ${CMAKE_CURRENT_BINARY_DIR}/${SOURCEBASE}.lo
+ ${SOURCEABS}
+ COMMAND ${BIN2C} ${CMAKE_CURRENT_BINARY_DIR}/${SOURCEBASE}.lo
+ ">${_target}" )
+ else ()
+ add_custom_command (
+ OUTPUT ${_target} DEPENDS ${SOURCEABS}
+ COMMAND ${BIN2C} ${_source} ">${_target}" )
+ endif ()
+endfunction()
diff --git a/ThirdParty/toluapp/config_linux.py b/ThirdParty/toluapp/config_linux.py
new file mode 100644
index 0000000..9a455e8
--- /dev/null
+++ b/ThirdParty/toluapp/config_linux.py
@@ -0,0 +1,22 @@
+
+## This is the linux configuration file
+# use 'scons -h' to see the list of command line options available
+
+# Compiler flags (based on Debian's installation of lua)
+#LINKFLAGS = ['-g']
+CCFLAGS = ['-I/usr/include/lua50', '-O2', '-ansi', '-Wall']
+#CCFLAGS = ['-I/usr/include/lua50', '-g']
+
+# this is the default directory for installation. Files will be installed on
+# <prefix>/bin, <prefix>/lib and <prefix>/include when you run 'scons install'
+#
+# You can also specify this directory on the command line with the 'prefix'
+# option
+#
+# You can see more 'generic' options for POSIX systems on config_posix.py
+
+prefix = '/usr/local'
+
+# libraries (based on Debian's installation of lua)
+LIBS = ['lua50', 'lualib50', 'dl', 'm']
+
diff --git a/ThirdParty/toluapp/config_msvc.py b/ThirdParty/toluapp/config_msvc.py
new file mode 100644
index 0000000..e2a21bd
--- /dev/null
+++ b/ThirdParty/toluapp/config_msvc.py
@@ -0,0 +1,28 @@
+
+## This is the MSVC configuration file
+# use 'scons -h' to see the list of command line options available
+
+# flags for the compiler
+CCFLAGS = ['/nologo']
+
+# this is the default directory for installation. Files will be installed on
+# <prefix>/bin, <prefix>/lib and <prefix>/include when you run 'scons install'
+#
+# You can also specify this directory on the command line with the 'prefix'
+# option
+#
+# If you leave it as 'None', we'll try to auto-detect it (as 'PLATFORMSDKDIR'
+# detected by SCons).
+
+prefix = None # (it's a string)
+
+# the libraries
+LIBS = ['lua', 'lualib']
+
+# linkflags
+LINKFLAGS = ['/nologo']
+
+## We need to specifiy the environment for the PATH and LIB and all those
+# parameters cl tales from it
+import os
+ENV = os.environ
diff --git a/ThirdParty/toluapp/config_posix.py b/ThirdParty/toluapp/config_posix.py
new file mode 100644
index 0000000..2bb696c
--- /dev/null
+++ b/ThirdParty/toluapp/config_posix.py
@@ -0,0 +1,23 @@
+
+## This is the POSIX configuration file (will be included for cygwin, mingw
+# and possibly mac OSX and BSDs)
+# use 'scons -h' to see the list of command line options available
+
+# flags for the compiler
+#CCFLAGS = []
+CCFLAGS = ['-O2', '-ansi', '-Wall']
+
+# this is the default directory for installation. Files will be installed on
+# <prefix>/bin, <prefix>/lib and <prefix>/include when you run 'scons install'
+#
+# You can also specify this directory on the command line with the 'prefix'
+# option
+
+prefix = '/usr/local'
+
+# libraries
+LIBS = ['lua', 'lualib', 'm']
+
+
+
+import os
diff --git a/ThirdParty/toluapp/custom-5.1.py b/ThirdParty/toluapp/custom-5.1.py
new file mode 100644
index 0000000..4d10079
--- /dev/null
+++ b/ThirdParty/toluapp/custom-5.1.py
@@ -0,0 +1,9 @@
+CCFLAGS = ['-I/usr/include/lua5.1', '-O2', '-ansi']
+#LIBPATH = ['/usr/local/lib']
+LIBS = ['lua5.1', 'dl', 'm']
+prefix = '/mingw'
+#build_dev=1
+tolua_bin = 'tolua++5.1'
+tolua_lib = 'tolua++5.1'
+TOLUAPP = 'tolua++5.1'
+
diff --git a/ThirdParty/toluapp/debian/README b/ThirdParty/toluapp/debian/README
new file mode 100644
index 0000000..2a7174e
--- /dev/null
+++ b/ThirdParty/toluapp/debian/README
@@ -0,0 +1,6 @@
+The Debian Package tolua++
+----------------------------
+
+Comments regarding the Package
+
+Ariel Manzur <puntob@gmail.com>, Thu, 30 Dec 2004 11:59:14 -0300
diff --git a/ThirdParty/toluapp/debian/README.Debian b/ThirdParty/toluapp/debian/README.Debian
new file mode 100644
index 0000000..875a2fd
--- /dev/null
+++ b/ThirdParty/toluapp/debian/README.Debian
@@ -0,0 +1,6 @@
+tolua++ for Debian
+------------------
+
+<possible notes regarding this package - if none, delete this file>
+
+ -- Ariel Manzur <puntob@gmail.com>, Thu, 30 Dec 2004 11:59:14 -0300
diff --git a/ThirdParty/toluapp/debian/changelog b/ThirdParty/toluapp/debian/changelog
new file mode 100644
index 0000000..ddbc036
--- /dev/null
+++ b/ThirdParty/toluapp/debian/changelog
@@ -0,0 +1,121 @@
+tolua++ (1.0.92pre1-1) unstable; urgency=low
+
+ * fixed array bound check bug
+ * moved parsing of 'extern' keyword to the parser
+ * fixed bug in module name generation from package filename
+ * added -E command line option
+
+ -- Ariel Manzur <puntob@gmail.com> Mon, 13 Mar 2006 19:28:14 -0300
+
+tolua++ (1.0.8pre3-1) unstable; urgency=low
+
+ * changed tolua_touserdata
+ * fixed bugs
+
+ -- Ariel Manzur <puntob@gmail.com> Tue, 13 Dec 2005 01:46:33 +0100
+
+tolua++ (1.0.7-1) unstable; urgency=low
+
+ * added -C flag
+ * added object access
+ * added parser_hook
+ * merged Mildred's patch (sorry, no last name): code on open function is
+ nested, embedded lua chunks have better names
+
+ -- Ariel Manzur <puntob@gmail.com> Tue, 18 Oct 2005 22:51:04 -0300
+
+tolua++ (1.0.6-1) unstable; urgency=low
+
+ * fixed parser bugs
+ * added tolua_property
+ * added TOLUA_PROTECTED_DESTRUCTOR
+ * added inheritance from C objects by lua objects
+ * fixed class constructor bug (calling the class name directly works)
+
+ -- Ariel Manzur <puntob@gmail.com> Sat, 6 Aug 2005 09:24:10 -0300
+
+tolua++ (1.0.6pre3-1) unstable; urgency=low
+
+ * fixed tolua_tocppstring
+
+ -- Ariel Manzur <puntob@gmail.com> Sun, 26 Jun 2005 21:01:50 -0300
+
+tolua++ (1.0.6pre2-1) unstable; urgency=low
+
+ * fixed c compilation bug
+ * added -D flag
+ * fixed tolua.releaseownership?
+
+ -- Ariel Manzur <puntob@gmail.com> Mon, 2 May 2005 20:56:04 -0300
+
+tolua++ (1.0.6pre1-1) unstable; urgency=low
+
+ * something
+
+ -- Ariel Manzur <puntob@gmail.com> Wed, 27 Apr 2005 00:09:41 -0300
+
+tolua++ (1.0.5-1) unstable; urgency=low
+
+ * fixed missed inheritance bug.
+ * ready for 1.0.5
+
+ -- Ariel Manzur <puntob@gmail.com> Fri, 8 Apr 2005 23:15:19 -0300
+
+tolua++ (1.0.5~pre6-1) unstable; urgency=low
+
+ * fixed bug in tolua.cast (introduced on previous version)
+
+ -- Ariel Manzur <puntob@gmail.com> Sat, 2 Apr 2005 00:36:45 -0300
+
+tolua++ (1.0.5~pre5-1) unstable; urgency=low
+
+ * fixed bug in tolua.cast
+
+ -- Ariel Manzur <puntob@gmail.com> Fri, 18 Mar 2005 01:13:55 -0300
+
+tolua++ (1.0.5~pre4-1) unstable; urgency=low
+
+ * fixed support for overloading methods across multiple class definitions
+
+ -- Ariel Manzur <puntob@gmail.com> Thu, 3 Mar 2005 19:03:04 -0300
+
+tolua++ (1.0.5~pre3-1) unstable; urgency=low
+
+ * fixed bugs in parser
+
+ -- Ariel Manzur <puntob@gmail.com> Sun, 20 Feb 2005 19:56:32 -0300
+
+tolua++ (1.0.5~pre2-1) unstable; urgency=low
+
+ * added tolua_outside
+
+ -- Ariel Manzur <puntob@gmail.com> Fri, 11 Feb 2005 02:50:45 -0300
+
+tolua++ (1.0.5~pre1-1) unstable; urgency=low
+
+ * fixed bug in type detection
+ * fixed bug in code output for static variables
+
+ -- Ariel Manzur <puntob@gmail.com> Thu, 3 Feb 2005 02:05:43 -0300
+
+tolua++ (1.0.4-3) unstable; urgency=low
+
+ * jumped the gun on the previous release
+
+ -- Ariel Manzur <puntob@gmail.com> Thu, 20 Jan 2005 23:20:17 -0300
+
+tolua++ (1.0.4-2) unstable; urgency=low
+
+ * added optimize flags for binary package
+
+ -- Ariel Manzur <puntob@gmail.com> Fri, 14 Jan 2005 00:43:09 -0300
+
+tolua++ (1.0.4-1) unstable; urgency=low
+
+ * Initial Release.
+
+ -- Ariel Manzur <puntob@gmail.com> Thu, 30 Dec 2004 11:59:14 -0300
+
+Local variables:
+mode: debian-changelog
+End:
diff --git a/ThirdParty/toluapp/debian/compat b/ThirdParty/toluapp/debian/compat
new file mode 100644
index 0000000..b8626c4
--- /dev/null
+++ b/ThirdParty/toluapp/debian/compat
@@ -0,0 +1 @@
+4
diff --git a/ThirdParty/toluapp/debian/conffiles.ex b/ThirdParty/toluapp/debian/conffiles.ex
new file mode 100644
index 0000000..9c98849
--- /dev/null
+++ b/ThirdParty/toluapp/debian/conffiles.ex
@@ -0,0 +1,7 @@
+#
+# If you want to use this conffile, remove all comments and put files that
+# you want dpkg to process here using their absolute pathnames.
+# See the policy manual
+#
+# for example:
+# /etc/tolua++/tolua++.conf
diff --git a/ThirdParty/toluapp/debian/control b/ThirdParty/toluapp/debian/control
new file mode 100644
index 0000000..b35df12
--- /dev/null
+++ b/ThirdParty/toluapp/debian/control
@@ -0,0 +1,13 @@
+Source: tolua++
+Section: unknown
+Priority: optional
+Maintainer: Ariel Manzur <puntob@gmail.com>
+Build-Depends: debhelper (>= 4.0.0), scons, liblua50-dev, liblualib50-dev
+Standards-Version: 3.6.1
+
+Package: tolua++
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, liblua50-dev, liblualib50-dev
+Description: tolua++
+ tolua++ is an extended version of tolua, a tool to integrate C/C++ code with
+ Lua. tolua++ includes new features oriented to c++.
diff --git a/ThirdParty/toluapp/debian/copyright b/ThirdParty/toluapp/debian/copyright
new file mode 100644
index 0000000..6f2e619
--- /dev/null
+++ b/ThirdParty/toluapp/debian/copyright
@@ -0,0 +1,16 @@
+This package is maintained by Ariel Manzur <puntob@gmail.com> on
+Sat, 08 Jan 2005 06:11:22 -0300
+
+Latest version can be found on http://www.codenix.com/~tolua/
+
+Upstream Author(s): Waldemar Celes <celes@tecgraf.puc-rio.br>,
+ Ariel Manzur <puntob@gmail.com>
+
+Copyright:
+
+Quoted from the README file accompanying tolua:
+
+ 'tolua is freely available; you can redistribute it and/or modify it.
+ The software provided hereunder is on an "as is" basis, and
+ the author has no obligation to provide maintenance, support,
+ updates, enhancements, or modifications.'
diff --git a/ThirdParty/toluapp/debian/cron.d.ex b/ThirdParty/toluapp/debian/cron.d.ex
new file mode 100644
index 0000000..d943b05
--- /dev/null
+++ b/ThirdParty/toluapp/debian/cron.d.ex
@@ -0,0 +1,4 @@
+#
+# Regular cron jobs for the tolua++ package
+#
+0 4 * * * root tolua++_maintenance
diff --git a/ThirdParty/toluapp/debian/dirs b/ThirdParty/toluapp/debian/dirs
new file mode 100644
index 0000000..63312d2
--- /dev/null
+++ b/ThirdParty/toluapp/debian/dirs
@@ -0,0 +1,4 @@
+usr/bin
+usr/lib
+usr/include
+
diff --git a/ThirdParty/toluapp/debian/docs b/ThirdParty/toluapp/debian/docs
new file mode 100644
index 0000000..e845566
--- /dev/null
+++ b/ThirdParty/toluapp/debian/docs
@@ -0,0 +1 @@
+README
diff --git a/ThirdParty/toluapp/debian/emacsen-install.ex b/ThirdParty/toluapp/debian/emacsen-install.ex
new file mode 100644
index 0000000..15a7e8a
--- /dev/null
+++ b/ThirdParty/toluapp/debian/emacsen-install.ex
@@ -0,0 +1,45 @@
+#! /bin/sh -e
+# /usr/lib/emacsen-common/packages/install/tolua++
+
+# Written by Jim Van Zandt <jrv@vanzandt.mv.com>, borrowing heavily
+# from the install scripts for gettext by Santiago Vila
+# <sanvila@ctv.es> and octave by Dirk Eddelbuettel <edd@debian.org>.
+
+FLAVOR=$1
+PACKAGE=tolua++
+
+if [ ${FLAVOR} = emacs ]; then exit 0; fi
+
+echo install/${PACKAGE}: Handling install for emacsen flavor ${FLAVOR}
+
+#FLAVORTEST=`echo $FLAVOR | cut -c-6`
+#if [ ${FLAVORTEST} = xemacs ] ; then
+# SITEFLAG="-no-site-file"
+#else
+# SITEFLAG="--no-site-file"
+#fi
+FLAGS="${SITEFLAG} -q -batch -l path.el -f batch-byte-compile"
+
+ELDIR=/usr/share/emacs/site-lisp/${PACKAGE}
+ELCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE}
+
+# Install-info-altdir does not actually exist.
+# Maybe somebody will write it.
+if test -x /usr/sbin/install-info-altdir; then
+ echo install/${PACKAGE}: install Info links for ${FLAVOR}
+ install-info-altdir --quiet --section "" "" --dirname=${FLAVOR} /usr/info/${PACKAGE}.info.gz
+fi
+
+install -m 755 -d ${ELCDIR}
+cd ${ELDIR}
+FILES=`echo *.el`
+cp ${FILES} ${ELCDIR}
+cd ${ELCDIR}
+
+cat << EOF > path.el
+(setq load-path (cons "." load-path) byte-compile-warnings nil)
+EOF
+${FLAVOR} ${FLAGS} ${FILES}
+rm -f *.el path.el
+
+exit 0
diff --git a/ThirdParty/toluapp/debian/emacsen-remove.ex b/ThirdParty/toluapp/debian/emacsen-remove.ex
new file mode 100644
index 0000000..7dbfb6a
--- /dev/null
+++ b/ThirdParty/toluapp/debian/emacsen-remove.ex
@@ -0,0 +1,15 @@
+#!/bin/sh -e
+# /usr/lib/emacsen-common/packages/remove/tolua++
+
+FLAVOR=$1
+PACKAGE=tolua++
+
+if [ ${FLAVOR} != emacs ]; then
+ if test -x /usr/sbin/install-info-altdir; then
+ echo remove/${PACKAGE}: removing Info links for ${FLAVOR}
+ install-info-altdir --quiet --remove --dirname=${FLAVOR} /usr/info/tolua++.info.gz
+ fi
+
+ echo remove/${PACKAGE}: purging byte-compiled files for ${FLAVOR}
+ rm -rf /usr/share/${FLAVOR}/site-lisp/${PACKAGE}
+fi
diff --git a/ThirdParty/toluapp/debian/emacsen-startup.ex b/ThirdParty/toluapp/debian/emacsen-startup.ex
new file mode 100644
index 0000000..2def7e7
--- /dev/null
+++ b/ThirdParty/toluapp/debian/emacsen-startup.ex
@@ -0,0 +1,19 @@
+;; -*-emacs-lisp-*-
+;;
+;; Emacs startup file for the Debian tolua++ package
+;;
+;; Originally contributed by Nils Naumann <naumann@unileoben.ac.at>
+;; Modified by Dirk Eddelbuettel <edd@debian.org>
+;; Adapted for dh-make by Jim Van Zandt <jrv@vanzandt.mv.com>
+
+;; The tolua++ package follows the Debian/GNU Linux 'emacsen' policy and
+;; byte-compiles its elisp files for each 'emacs flavor' (emacs19,
+;; xemacs19, emacs20, xemacs20...). The compiled code is then
+;; installed in a subdirectory of the respective site-lisp directory.
+;; We have to add this to the load-path:
+(let ((package-dir (concat "/usr/share/"
+ (symbol-name flavor)
+ "/site-lisp/tolua++")))
+ (when (file-directory-p package-dir)
+ (setq load-path (cons package-dir load-path))))
+
diff --git a/ThirdParty/toluapp/debian/init.d.ex b/ThirdParty/toluapp/debian/init.d.ex
new file mode 100644
index 0000000..4ca1639
--- /dev/null
+++ b/ThirdParty/toluapp/debian/init.d.ex
@@ -0,0 +1,74 @@
+#! /bin/sh
+#
+# skeleton example file to build /etc/init.d/ scripts.
+# This file should be used to construct scripts for /etc/init.d.
+#
+# Written by Miquel van Smoorenburg <miquels@cistron.nl>.
+# Modified for Debian
+# by Ian Murdock <imurdock@gnu.ai.mit.edu>.
+#
+# Version: @(#)skeleton 1.9 26-Feb-2001 miquels@cistron.nl
+#
+
+PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DAEMON=/usr/sbin/tolua++
+NAME=tolua++
+DESC=tolua++
+
+test -x $DAEMON || exit 0
+
+# Include tolua++ defaults if available
+if [ -f /etc/default/tolua++ ] ; then
+ . /etc/default/tolua++
+fi
+
+set -e
+
+case "$1" in
+ start)
+ echo -n "Starting $DESC: "
+ start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
+ --exec $DAEMON -- $DAEMON_OPTS
+ echo "$NAME."
+ ;;
+ stop)
+ echo -n "Stopping $DESC: "
+ start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
+ --exec $DAEMON
+ echo "$NAME."
+ ;;
+ #reload)
+ #
+ # If the daemon can reload its config files on the fly
+ # for example by sending it SIGHUP, do it here.
+ #
+ # If the daemon responds to changes in its config file
+ # directly anyway, make this a do-nothing entry.
+ #
+ # echo "Reloading $DESC configuration files."
+ # start-stop-daemon --stop --signal 1 --quiet --pidfile \
+ # /var/run/$NAME.pid --exec $DAEMON
+ #;;
+ restart|force-reload)
+ #
+ # If the "reload" option is implemented, move the "force-reload"
+ # option to the "reload" entry above. If not, "force-reload" is
+ # just the same as "restart".
+ #
+ echo -n "Restarting $DESC: "
+ start-stop-daemon --stop --quiet --pidfile \
+ /var/run/$NAME.pid --exec $DAEMON
+ sleep 1
+ start-stop-daemon --start --quiet --pidfile \
+ /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
+ echo "$NAME."
+ ;;
+ *)
+ N=/etc/init.d/$NAME
+ # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
+ echo "Usage: $N {start|stop|restart|force-reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/ThirdParty/toluapp/debian/manpage.1.ex b/ThirdParty/toluapp/debian/manpage.1.ex
new file mode 100644
index 0000000..6550b37
--- /dev/null
+++ b/ThirdParty/toluapp/debian/manpage.1.ex
@@ -0,0 +1,59 @@
+.\" Hey, EMACS: -*- nroff -*-
+.\" First parameter, NAME, should be all caps
+.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
+.\" other parameters are allowed: see man(7), man(1)
+.TH TOLUA++ SECTION "December 30, 2004"
+.\" Please adjust this date whenever revising the manpage.
+.\"
+.\" Some roff macros, for reference:
+.\" .nh disable hyphenation
+.\" .hy enable hyphenation
+.\" .ad l left justify
+.\" .ad b justify to both left and right margins
+.\" .nf disable filling
+.\" .fi enable filling
+.\" .br insert line break
+.\" .sp <n> insert n+1 empty lines
+.\" for manpage-specific macros, see man(7)
+.SH NAME
+tolua++ \- program to do something
+.SH SYNOPSIS
+.B tolua++
+.RI [ options ] " files" ...
+.br
+.B bar
+.RI [ options ] " files" ...
+.SH DESCRIPTION
+This manual page documents briefly the
+.B tolua++
+and
+.B bar
+commands.
+.PP
+.\" TeX users may be more comfortable with the \fB<whatever>\fP and
+.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
+.\" respectively.
+\fBtolua++\fP is a program that...
+.SH OPTIONS
+These programs follow the usual GNU command line syntax, with long
+options starting with two dashes (`-').
+A summary of options is included below.
+For a complete description, see the Info files.
+.TP
+.B \-h, \-\-help
+Show summary of options.
+.TP
+.B \-v, \-\-version
+Show version of program.
+.SH SEE ALSO
+.BR bar (1),
+.BR baz (1).
+.br
+The programs are documented fully by
+.IR "The Rise and Fall of a Fooish Bar" ,
+available via the Info system.
+.SH AUTHOR
+tolua++ was written by <upstream author>.
+.PP
+This manual page was written by Ariel Manzur <puntob@gmail.com>,
+for the Debian project (but may be used by others).
diff --git a/ThirdParty/toluapp/debian/manpage.sgml.ex b/ThirdParty/toluapp/debian/manpage.sgml.ex
new file mode 100644
index 0000000..2cd6f68
--- /dev/null
+++ b/ThirdParty/toluapp/debian/manpage.sgml.ex
@@ -0,0 +1,156 @@
+<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
+
+<!-- Process this file with docbook-to-man to generate an nroff manual
+ page: `docbook-to-man manpage.sgml > manpage.1'. You may view
+ the manual page with: `docbook-to-man manpage.sgml | nroff -man |
+ less'. A typical entry in a Makefile or Makefile.am is:
+
+manpage.1: manpage.sgml
+ docbook-to-man $< > $@
+
+
+ The docbook-to-man binary is found in the docbook-to-man package.
+ Please remember that if you create the nroff version in one of the
+ debian/rules file targets (such as build), you will need to include
+ docbook-to-man in your Build-Depends control field.
+
+ -->
+
+ <!-- Fill in your name for FIRSTNAME and SURNAME. -->
+ <!ENTITY dhfirstname "<firstname>FIRSTNAME</firstname>">
+ <!ENTITY dhsurname "<surname>SURNAME</surname>">
+ <!-- Please adjust the date whenever revising the manpage. -->
+ <!ENTITY dhdate "<date>December 30, 2004</date>">
+ <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
+ allowed: see man(7), man(1). -->
+ <!ENTITY dhsection "<manvolnum>SECTION</manvolnum>">
+ <!ENTITY dhemail "<email>puntob@gmail.com</email>">
+ <!ENTITY dhusername "Ariel Manzur">
+ <!ENTITY dhucpackage "<refentrytitle>TOLUA++</refentrytitle>">
+ <!ENTITY dhpackage "tolua++">
+
+ <!ENTITY debian "<productname>Debian</productname>">
+ <!ENTITY gnu "<acronym>GNU</acronym>">
+ <!ENTITY gpl "&gnu; <acronym>GPL</acronym>">
+]>
+
+<refentry>
+ <refentryinfo>
+ <address>
+ &dhemail;
+ </address>
+ <author>
+ &dhfirstname;
+ &dhsurname;
+ </author>
+ <copyright>
+ <year>2003</year>
+ <holder>&dhusername;</holder>
+ </copyright>
+ &dhdate;
+ </refentryinfo>
+ <refmeta>
+ &dhucpackage;
+
+ &dhsection;
+ </refmeta>
+ <refnamediv>
+ <refname>&dhpackage;</refname>
+
+ <refpurpose>program to do something</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ <command>&dhpackage;</command>
+
+ <arg><option>-e <replaceable>this</replaceable></option></arg>
+
+ <arg><option>--example <replaceable>that</replaceable></option></arg>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+ <refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This manual page documents briefly the
+ <command>&dhpackage;</command> and <command>bar</command>
+ commands.</para>
+
+ <para>This manual page was written for the &debian; distribution
+ because the original program does not have a manual page.
+ Instead, it has documentation in the &gnu;
+ <application>Info</application> format; see below.</para>
+
+ <para><command>&dhpackage;</command> is a program that...</para>
+
+ </refsect1>
+ <refsect1>
+ <title>OPTIONS</title>
+
+ <para>These programs follow the usual &gnu; command line syntax,
+ with long options starting with two dashes (`-'). A summary of
+ options is included below. For a complete description, see the
+ <application>Info</application> files.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><option>-h</option>
+ <option>--help</option>
+ </term>
+ <listitem>
+ <para>Show summary of options.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-v</option>
+ <option>--version</option>
+ </term>
+ <listitem>
+ <para>Show version of program.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+ <refsect1>
+ <title>SEE ALSO</title>
+
+ <para>bar (1), baz (1).</para>
+
+ <para>The programs are documented fully by <citetitle>The Rise and
+ Fall of a Fooish Bar</citetitle> available via the
+ <application>Info</application> system.</para>
+ </refsect1>
+ <refsect1>
+ <title>AUTHOR</title>
+
+ <para>This manual page was written by &dhusername; &dhemail; for
+ the &debian; system (but may be used by others). Permission is
+ granted to copy, distribute and/or modify this document under
+ the terms of the &gnu; General Public License, Version 2 any
+ later version published by the Free Software Foundation.
+ </para>
+ <para>
+ On Debian systems, the complete text of the GNU General Public
+ License can be found in /usr/share/common-licenses/GPL.
+ </para>
+
+ </refsect1>
+</refentry>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:t
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:2
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:nil
+sgml-exposed-tags:nil
+sgml-local-catalogs:nil
+sgml-local-ecat-files:nil
+End:
+-->
+
+
diff --git a/ThirdParty/toluapp/debian/manpage.xml.ex b/ThirdParty/toluapp/debian/manpage.xml.ex
new file mode 100644
index 0000000..43df370
--- /dev/null
+++ b/ThirdParty/toluapp/debian/manpage.xml.ex
@@ -0,0 +1,148 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
+
+<!--
+
+Process this file with an XSLT processor: `xsltproc \
+-''-nonet /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\
+manpages/docbook.xsl manpage.dbk'. A manual page
+<package>.<section> will be generated. You may view the
+manual page with: nroff -man <package>.<section> | less'. A
+typical entry in a Makefile or Makefile.am is:
+
+DB2MAN=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\
+manpages/docbook.xsl
+XP=xsltproc -''-nonet
+
+manpage.1: manpage.dbk
+ $(XP) $(DB2MAN) $<
+
+The xsltproc binary is found in the xsltproc package. The
+XSL files are in docbook-xsl. Please remember that if you
+create the nroff version in one of the debian/rules file
+targets (such as build), you will need to include xsltproc
+and docbook-xsl in your Build-Depends control field.
+
+-->
+
+ <!-- Fill in your name for FIRSTNAME and SURNAME. -->
+ <!ENTITY dhfirstname "<firstname>FIRSTNAME</firstname>">
+ <!ENTITY dhsurname "<surname>SURNAME</surname>">
+ <!-- Please adjust the date whenever revising the manpage. -->
+ <!ENTITY dhdate "<date>December 30, 2004</date>">
+ <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
+ allowed: see man(7), man(1). -->
+ <!ENTITY dhsection "<manvolnum>SECTION</manvolnum>">
+ <!ENTITY dhemail "<email>puntob@gmail.com</email>">
+ <!ENTITY dhusername "Ariel Manzur">
+ <!ENTITY dhucpackage "<refentrytitle>TOLUA++</refentrytitle>">
+ <!ENTITY dhpackage "tolua++">
+
+ <!ENTITY debian "<productname>Debian</productname>">
+ <!ENTITY gnu "<acronym>GNU</acronym>">
+ <!ENTITY gpl "&gnu; <acronym>GPL</acronym>">
+]>
+
+<refentry>
+ <refentryinfo>
+ <address>
+ &dhemail;
+ </address>
+ <author>
+ &dhfirstname;
+ &dhsurname;
+ </author>
+ <copyright>
+ <year>2003</year>
+ <holder>&dhusername;</holder>
+ </copyright>
+ &dhdate;
+ </refentryinfo>
+ <refmeta>
+ &dhucpackage;
+
+ &dhsection;
+ </refmeta>
+ <refnamediv>
+ <refname>&dhpackage;</refname>
+
+ <refpurpose>program to do something</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ <command>&dhpackage;</command>
+
+ <arg><option>-e <replaceable>this</replaceable></option></arg>
+
+ <arg><option>--example <replaceable>that</replaceable></option></arg>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+ <refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This manual page documents briefly the
+ <command>&dhpackage;</command> and <command>bar</command>
+ commands.</para>
+
+ <para>This manual page was written for the &debian; distribution
+ because the original program does not have a manual page.
+ Instead, it has documentation in the &gnu;
+ <application>Info</application> format; see below.</para>
+
+ <para><command>&dhpackage;</command> is a program that...</para>
+
+ </refsect1>
+ <refsect1>
+ <title>OPTIONS</title>
+
+ <para>These programs follow the usual &gnu; command line syntax,
+ with long options starting with two dashes (`-'). A summary of
+ options is included below. For a complete description, see the
+ <application>Info</application> files.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><option>-h</option>
+ <option>--help</option>
+ </term>
+ <listitem>
+ <para>Show summary of options.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-v</option>
+ <option>--version</option>
+ </term>
+ <listitem>
+ <para>Show version of program.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+ <refsect1>
+ <title>SEE ALSO</title>
+
+ <para>bar (1), baz (1).</para>
+
+ <para>The programs are documented fully by <citetitle>The Rise and
+ Fall of a Fooish Bar</citetitle> available via the
+ <application>Info</application> system.</para>
+ </refsect1>
+ <refsect1>
+ <title>AUTHOR</title>
+
+ <para>This manual page was written by &dhusername; &dhemail; for
+ the &debian; system (but may be used by others). Permission is
+ granted to copy, distribute and/or modify this document under
+ the terms of the &gnu; General Public License, Version 2 any
+ later version published by the Free Software Foundation.
+ </para>
+ <para>
+ On Debian systems, the complete text of the GNU General Public
+ License can be found in /usr/share/common-licenses/GPL.
+ </para>
+
+ </refsect1>
+</refentry>
+
diff --git a/ThirdParty/toluapp/debian/menu.ex b/ThirdParty/toluapp/debian/menu.ex
new file mode 100644
index 0000000..c478fb4
--- /dev/null
+++ b/ThirdParty/toluapp/debian/menu.ex
@@ -0,0 +1,2 @@
+?package(tolua++):needs="X11|text|vc|wm" section="Apps/see-menu-manual"\
+ title="tolua++" command="/usr/bin/tolua++"
diff --git a/ThirdParty/toluapp/debian/postinst.ex b/ThirdParty/toluapp/debian/postinst.ex
new file mode 100644
index 0000000..5dc370e
--- /dev/null
+++ b/ThirdParty/toluapp/debian/postinst.ex
@@ -0,0 +1,42 @@
+#! /bin/sh
+# postinst script for tolua++
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+# * <postinst> `configure' <most-recently-configured-version>
+# * <old-postinst> `abort-upgrade' <new version>
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+# <new-version>
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+# <failed-install-package> <version> `removing'
+# <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+#
+
+case "$1" in
+ configure)
+
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/ThirdParty/toluapp/debian/postrm.ex b/ThirdParty/toluapp/debian/postrm.ex
new file mode 100644
index 0000000..8255a71
--- /dev/null
+++ b/ThirdParty/toluapp/debian/postrm.ex
@@ -0,0 +1,38 @@
+#! /bin/sh
+# postrm script for tolua++
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+# * <postrm> `remove'
+# * <postrm> `purge'
+# * <old-postrm> `upgrade' <new-version>
+# * <new-postrm> `failed-upgrade' <old-version>
+# * <new-postrm> `abort-install'
+# * <new-postrm> `abort-install' <old-version>
+# * <new-postrm> `abort-upgrade' <old-version>
+# * <disappearer's-postrm> `disappear' <r>overwrit>r> <new-version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+ purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+
+
+ ;;
+
+ *)
+ echo "postrm called with unknown argument \`$1'" >&2
+ exit 1
+
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff --git a/ThirdParty/toluapp/debian/preinst.ex b/ThirdParty/toluapp/debian/preinst.ex
new file mode 100644
index 0000000..61176f7
--- /dev/null
+++ b/ThirdParty/toluapp/debian/preinst.ex
@@ -0,0 +1,44 @@
+#! /bin/sh
+# preinst script for tolua++
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+# * <new-preinst> `install'
+# * <new-preinst> `install' <old-version>
+# * <new-preinst> `upgrade' <old-version>
+# * <old-preinst> `abort-upgrade' <new-version>
+#
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+ install|upgrade)
+# if [ "$1" = "upgrade" ]
+# then
+# start-stop-daemon --stop --quiet --oknodo \
+# --pidfile /var/run/tolua++.pid \
+# --exec /usr/sbin/tolua++ 2>/dev/null || true
+# fi
+ ;;
+
+ abort-upgrade)
+ ;;
+
+ *)
+ echo "preinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/ThirdParty/toluapp/debian/prerm.ex b/ThirdParty/toluapp/debian/prerm.ex
new file mode 100644
index 0000000..6d74b30
--- /dev/null
+++ b/ThirdParty/toluapp/debian/prerm.ex
@@ -0,0 +1,39 @@
+#! /bin/sh
+# prerm script for tolua++
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+# * <prerm> `remove'
+# * <old-prerm> `upgrade' <new-version>
+# * <new-prerm> `failed-upgrade' <old-version>
+# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
+# * <deconfigured's-prerm> `deconfigure' `in-favour'
+# <package-being-installed> <version> `removing'
+# <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+ remove|upgrade|deconfigure)
+# install-info --quiet --remove /usr/info/tolua++.info.gz
+ ;;
+ failed-upgrade)
+ ;;
+ *)
+ echo "prerm called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+
diff --git a/ThirdParty/toluapp/debian/rules b/ThirdParty/toluapp/debian/rules
new file mode 100644
index 0000000..26e157d
--- /dev/null
+++ b/ThirdParty/toluapp/debian/rules
@@ -0,0 +1,102 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+
+
+
+CFLAGS = -Wall -g
+
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+ CFLAGS += -O0
+else
+ CFLAGS += -O2
+endif
+
+configure: configure-stamp
+configure-stamp:
+ dh_testdir
+ # Add here commands to configure the package.
+ scons build_dev=0 prefix=$(CURDIR)/debian/tolua++/usr configure
+
+ touch configure-stamp
+
+
+build: build-stamp
+
+build-stamp: configure-stamp
+ dh_testdir
+
+ # Add here commands to compile the package.
+ #$(MAKE)
+ scons all
+ #docbook-to-man debian/tolua++.sgml > tolua++.1
+
+ touch build-stamp
+
+clean:
+ dh_testdir
+ dh_testroot
+ rm -f build-stamp configure-stamp
+
+ # Add here commands to clean up after the build process.
+ #-$(MAKE) clean
+ scons -c build_dev=0 all configure
+
+ dh_clean
+
+install: build
+ dh_testdir
+ dh_testroot
+ dh_clean -k
+ dh_installdirs
+
+ # Add here commands to install the package into debian/tolua++.
+ #$(MAKE) install DESTDIR=$(CURDIR)/debian/tolua++
+ scons install
+
+
+# Build architecture-independent files here.
+binary-indep: build install
+# We have nothing to do by default.
+
+# Build architecture-dependent files here.
+binary-arch: build install
+ dh_testdir
+ dh_testroot
+ dh_installchangelogs
+ dh_installdocs
+ dh_installexamples
+# dh_install
+# dh_installmenu
+# dh_installdebconf
+# dh_installlogrotate
+# dh_installemacsen
+# dh_installpam
+# dh_installmime
+# dh_installinit
+# dh_installcron
+# dh_installinfo
+ dh_installman
+ dh_link
+ dh_strip
+ dh_compress
+ dh_fixperms
+# dh_perl
+# dh_python
+# dh_makeshlibs
+ dh_installdeb
+ dh_shlibdeps
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install configure
diff --git a/ThirdParty/toluapp/debian/tolua++-default.ex b/ThirdParty/toluapp/debian/tolua++-default.ex
new file mode 100644
index 0000000..922c66c
--- /dev/null
+++ b/ThirdParty/toluapp/debian/tolua++-default.ex
@@ -0,0 +1,10 @@
+# Defaults for tolua++ initscript
+# sourced by /etc/init.d/tolua++
+# installed at /etc/default/tolua++ by the maintainer scripts
+
+#
+# This is a POSIX shell fragment
+#
+
+# Additional options that are passed to the Daemon.
+DAEMON_OPTS=""
diff --git a/ThirdParty/toluapp/debian/tolua++.doc-base.EX b/ThirdParty/toluapp/debian/tolua++.doc-base.EX
new file mode 100644
index 0000000..06bdb8d
--- /dev/null
+++ b/ThirdParty/toluapp/debian/tolua++.doc-base.EX
@@ -0,0 +1,22 @@
+Document: tolua++
+Title: Debian tolua++ Manual
+Author: <insert document author here>
+Abstract: This manual describes what tolua++ is
+ and how it can be used to
+ manage online manuals on Debian systems.
+Section: unknown
+
+Format: debiandoc-sgml
+Files: /usr/share/doc/tolua++/tolua++.sgml.gz
+
+Format: postscript
+Files: /usr/share/doc/tolua++/tolua++.ps.gz
+
+Format: text
+Files: /usr/share/doc/tolua++/tolua++.text.gz
+
+Format: HTML
+Index: /usr/share/doc/tolua++/html/index.html
+Files: /usr/share/doc/tolua++/html/*.html
+
+
diff --git a/ThirdParty/toluapp/debian/watch.ex b/ThirdParty/toluapp/debian/watch.ex
new file mode 100644
index 0000000..e1134e0
--- /dev/null
+++ b/ThirdParty/toluapp/debian/watch.ex
@@ -0,0 +1,6 @@
+# Example watch control file for uscan
+# Rename this file to "watch" and then you can run the "uscan" command
+# to check for upstream updates and more.
+# Site Directory Pattern Version Script
+version=2
+sunsite.unc.edu /pub/Linux/Incoming tolua++-(.*)\.tar\.gz debian uupdate
diff --git a/ThirdParty/toluapp/dist.info b/ThirdParty/toluapp/dist.info
new file mode 100644
index 0000000..d1f0a05
--- /dev/null
+++ b/ThirdParty/toluapp/dist.info
@@ -0,0 +1,14 @@
+--- This file is part of LuaDist project
+
+name = "toluapp"
+version = "1.0.93"
+
+desc = "tolua++ is an extension of toLua, a tool to integrate C/Cpp code with Lua."
+author = "Waldemar Celes, Ariel Manzur"
+license = "as-is"
+url = "http://www.codenix.com/~tolua/"
+maintainer = "Peter Kapec"
+
+depends = {
+ "lua ~> 5.1"
+}
diff --git a/ThirdParty/toluapp/doc/index.html b/ThirdParty/toluapp/doc/index.html
new file mode 100644
index 0000000..c516336
--- /dev/null
+++ b/ThirdParty/toluapp/doc/index.html
@@ -0,0 +1,226 @@
+<head>
+<title>toLua++ - binding c/c++ code to lua</title>
+</head>
+
+<body bgcolor="white">
+
+<h1>
+<img src="toluapp.gif">tolua++ - Home</h1>
+<p>
+
+<a href="#news">news</a> -
+<a href="#download">download</a> - <a href="#documentation">documentation</a> - <a href="#installing">installing</a> -
+<a href="mailto:tolua@codenix.com">contact</a> - <a href="lua_qt/">lua_qt</a> - <a href="http://www.codenix.com">Codenix</a>
+<br>
+
+<hr>
+
+<b>tolua++</b> is an extended version of <a href="http://www.tecgraf.puc-rio.br/~celes/tolua/">tolua</a>, a tool to integrate
+C/C++ code with <A HREF="http://www.tecgraf.puc-rio.br/lua">Lua</A>. <b>tolua++</b>
+includes new features oriented to c++ such as:
+<p>
+
+<ul>
+<li> Support for <b>std::string</b> as a <a href="#basics">basic type</a> (this can be turned off by a command line option).</li>
+<li> Support for <a href="#templates">class templates</a></li>
+</ul>
+<p>
+
+As well as other features and bugfixes.
+
+<hr>
+<a name="news"></a>
+<h3>News:</h3>
+<p>
+
+<b>15/02/09</b>: Version <b><a href="tolua++-1.0.93.tar.bz2">1.0.93</a></b> released. Some bugfixes and new features:
+<p>
+<ul>
+<li> Build process bootstraps.
+<li> Added hooks to handle custom types.
+<li> Added hooks to handle exceptions.
+<li> Fixed issues with newer GCC compilers.
+<li> Changed to MIT license. See <a href="COPYRIGHT">COPYRIGHT</a> file for details.
+</ul>
+
+<b>27/04/06</b>: Version <b><a href="tolua++-1.0.92.tar.bz2">1.0.92</a></b> released. Some bugfixes and new features:
+<p>
+<ul>
+<li> Fixed garbage collector bug for C objects.
+<li> Fixed problems with C compilers (including microsoft's)
+<li> Added a .proj file to build with Visual Studio 7 (contributed by Makoto Hamanaka).
+<li> New command line option: <tt>-E</tt> to define extra values
+<li> New command line option: <tt>-t</tt> to associate C++ types with their lua names (see the <a href="tolua++.html">manual</a> for details)
+</ul>
+
+<b>25/02/06</b>: Version <b><a href="tolua++-1.0.91.tar.bz2">1.0.91</a></b> released. This version contains a small garbage collection bugfix for 1.0.90 (thanks to Rolf E. Thorup for the report), everyone should upgrade.
+<p>
+
+<b>18/02/06</b>: Version <b><a href="tolua++-1.0.90.tar.bz2">1.0.90</a></b> released. Some bugfixes and new features:
+<p>
+<ul>
+<li> <b>lua 5.1</b> support (see <tt>README-5.1</tt>)
+<li> Support for casting operators (for example <tt>operator const char();</tt>)
+<li> New utility functions, <tt>tolua.setpeer</tt> and <tt>tolua.getpeer</tt>, for easier (and faster) inheritance from C/C++ objects (only for lua 5.1)
+<li> Some small API changes (see the <a href="tolua++.html#compatibility">compatibility section</a> of the manual)
+</ul>
+<p>
+
+<b>18/10/05</b>: Version <b><a href="tolua++_1.0.7-1.tar.gz">1.0.7</a></b> released. Some bugfixes and new features:
+<p>
+<ul>
+<li> New command line option: -C, to disable the cleanup of included lua code (for easier debugging).
+<li> Merged <a href="http://lua-users.org/lists/lua-l/2005-09/msg00227.html">Mildred's</a> patch: embedded lua chunks have better names, code on package initializer function is nested.
+<li> New hook: <tt>parser_hook</tt>, allows modifications to the behavior of the main parser.
+<li> Objects can be private (or protected). This doesn't affect the normal usage (everything is public by default), but it's useful to declare types that don't export any code, but serve
+as 'support' for other declarations.
+<li> Misc bugfixes.
+</ul>
+<p>
+
+<b>01/9/05</b>: Version <b><a href="tolua++_1.0.6-1.tar.gz">1.0.6</a></b> released. Several bugfixes and new features:
+<p>
+<ul>
+<li> Classes can have properties, using the 'tolua_property' keyboard. Property types are customizable.
+<li> Added a command line flag -D, to disable automatic generation of destructors for all classes with constructors (for compatibility with tolua5)
+<li> Classes with protected or private destructors can be tagged individually using the "TOLUA_PROTECTED_DESTRUCTOR" macro.
+<li> Added utility function "tolua.inherit", to allow a lua table to "inherit" from an instance of a C/C++ class
+<li> Fixed class constructor bug (it is now possible to use 'ClassName()' to create a lua-owned instance of the class without problems)
+<li> Misc bugfixes.
+</ul>
+<p>
+
+<b>10/4/05</b>: Version <b><a href="tolua++_1.0.5-1.tar.gz">1.0.5</a></b> released. This version contains some minor bugfixes and a new feature,
+the <b>tolua_outside</b> keyword, used to specify regular functions as methods of classes or structs. This release is also paired with <a href="lua_qt/">lua_qt</a>
+version 0.0.1a.
+<p>
+
+<b>1/2/05</b>: version <b><a href="tolua++-1.0.4.tar.bz2">1.0.4</a></b> released. This version contains some bugfixes and new features:
+<p>
+<ul>
+<li> Ability to customize tolua++'s behaviour to add functionality.
+<li> Basic support for multiple inheritance.
+<li> Several bugfixes on the parser.
+<li> <a href="tolua++_1.0.4-3_i386.deb">Debian package</a> available for download.
+</ul>
+<p>
+
+Most of the changes on this version were added for <a href="lua_qt/">lua_qt</a>, a package
+to bind the <a href="http://www.trolltech.com/products/qt/index.html">Qt</a> toolkit to lua.
+<p>
+
+<b>20/9/04</b>: version <b><a href="tolua++-1.0.3.tar.bz2">1.0.3</a></b> released. This version contains major bugfixes:
+<p>
+<ul>
+<li> Fixed bugs in object tracking (the 'memory address' bug; there's still some work left, but people should be able to use <tt>union</tt>s with no problems)</li>
+<li> Fixed parser bugs, functions with template parameters should work, also functions with default parameters that call constructos and with commas on them should work.</li>
+<li> Added a <tt>__call</tt> method for class names, to replace <tt>new_local</tt> to create instances owned by lua.
+<li> Fixed other minor bugs.</li>
+<li> Removed the link to win32 binaries, since I aparently don't know what the hell I'm doing with a microsoft compiler ;-)</li>
+</ul>
+<p>
+
+Everyone should upgrade.
+<p>
+
+<b>23/10/03</b>: version <b><a href="tolua++-1.0.2.tar.bz2">1.0.2</a></b> released. This version contains major bugfixes:
+<p>
+<ul>
+<li> Fixed bugs in gargabe collection (thanks to <b>Christian Vogler</b> for doing all the work :-)</li>
+<li> <tt>namespace</tt>s and nested types are now fully supported.</li>
+<li> Fixed other minor bugs.</li>
+</ul>
+<p>
+
+Everyone should upgrade.
+
+<hr>
+
+<a name="download"></a>
+<h3>Downloading</B></H3>
+
+The latest development version of the code is available through SVN from tolua++'s BerliOS project page. You can checkout using:
+
+svn checkout svn://svn.berlios.de/toluapp/trunk
+
+The <B>tolua++</B> source is freely available by http.
+The software provided under the terms of the MIT license. See the <a href="COPYRIGHT">COPYRIGHT</a> file distributed
+with the source.
+<p>
+
+Current version is <b><a href="tolua++-1.0.93.tar.bz2">1.0.93</a></b>, older versions:
+<p>
+<li> <a href="tolua++-1.0.93.tar.bz2">tolua++-1.0.93.tar.bz2</a>
+<li> <a href="tolua++-1.0.92.tar.bz2">tolua++-1.0.92.tar.bz2</a>
+<li> <a href="tolua++-1.0.91.tar.bz2">tolua++-1.0.91.tar.bz2</a>
+<li> <a href="tolua++_1.0.7-1.tar.gz">tolua++_1.0.7-1.tar.gz</a> [<a href="tolua++_1.0.7-1_i386.deb">deb</a>]
+<li> <a href="tolua++_1.0.6-1.tar.gz">tolua++_1.0.6-1.tar.gz</a> [<a href="tolua++_1.0.6-1_i386.deb">deb</a>]
+<li> <a href="tolua++_1.0.5-1.tar.gz">tolua++_1.0.5-1.tar.gz</a> [<a href="tolua++_1.0.5-1_i386.deb">deb</a>]
+<li> <a href="tolua++-1.0.4.tar.bz2">tolua++-1.0.4.tar.bz2</a> [<a href="tolua++_1.0.4-3_i386.deb">deb</a>]
+<li> <a href="tolua++-1.0.3.tar.bz2">tolua++-1.0.3.tar.bz2</a>
+<li> <a href="tolua++-1.0.2.tar.bz2">tolua++-1.0.2.tar.bz2</a>
+<li> <a href="tolua++-1.0.tar.bz2">tolua++-1.0.tar.bz2</a>
+
+<hr>
+
+<a name="documentation"></a>
+<h3>Documentation</h3>
+<p>
+You can find the manual <a href="tolua++.html">here</a> or under the doc/ directory
+on the distribution.
+<p>
+
+I'll also be adding interesting addons/examples to <a href="http://lua-users.org/wiki/ArielManzur">my page</a>
+on the <a href="http://lua-users.org/">lua-users wiki</a>.
+
+<hr>
+
+<a name="installing"></a>
+<h3>Instalation</h3>
+<p>
+
+tolua++ uses <a href="http://www.scons.org">SCons</a> to build. SCons is based on
+python, you can get a stand-alone version on <a href="http://www.scons.org">
+their website</a>. After you have SCons, follow this simple instructions:
+<p>
+
+<li> Type '<b>scons all</b>' to compile.</li>
+<li> Type '<b>scons install</b>'. The default install prefix is /usr/local, so if you are
+on a POSIX system, it should work. On other systems, you can change it with the
+'<b>prefix</b>' option on command line.
+<p>
+
+<b>scons prefix=/usr install</b>
+<p>
+<i>or on windows</i>
+<p>
+<b>scons "prefix=c:\Program Files\Visual C" install</b>
+<p>
+
+Use <b>scons -h</b> to see a list of available command line options.
+
+<p>
+The files you need (in case you want to do a <b>manual install</b>) are:
+<ul>
+ <li> bin/tolua++[.exe] - the main binary
+ <li> include/tolua++.h - the header file
+ <li> lib/libtolua++.a <i>or</i> lib/tolua++.lib - the library
+</ul>
+
+<li> See INSTALL for instructions on how to install without SCons. There are also instructions on how
+to build without scons at the <a href="http://lua-users.org/wiki/CompilingToluappWithoutScons">lua-users wiki</a>
+(if you know the author of this, <a href="mailto:tolua@codenix.com">contact me</a>)</li>
+
+<li> For <b>lua 5.1</b>, see <tt>README-5.1</tt>
+
+<hr>
+
+<b>tolua++</b> and this website are maintained by Ariel Manzur.<br>
+<a href="http://www.codenix.com/index.php?section=contact">Contact us</a> with any
+bugs, fixes, suggestions, or questions about this package.
+
+<hr>
+
+
+</body>
+
diff --git a/ThirdParty/toluapp/doc/tolua++.html b/ThirdParty/toluapp/doc/tolua++.html
new file mode 100644
index 0000000..78cb005
--- /dev/null
+++ b/ThirdParty/toluapp/doc/tolua++.html
@@ -0,0 +1,1956 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
+ <META NAME="GENERATOR" CONTENT="Textpad">
+ <META NAME="Author" CONTENT="Waldemar Celes, Ariel Manzur">
+ <TITLE>tolua++ reference manual</TITLE>
+</HEAD>
+<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
+
+<H1>
+<IMG SRC="toluapp.gif">tolua++ - Reference Manual</I></H1>
+by Waldemar Celes, Ariel Manzur.
+
+<H1>
+
+</h1>
+
+<HR ALIGN=LEFT SIZE=5 WIDTH="100%">
+
+<b>tolua++</b> is an extended version of <a href="http://www.tecgraf.puc-rio.br/~celes/tolua/">tolua</a>, a tool to integrate
+C/C++ code with <A HREF="http://www.tecgraf.puc-rio.br/lua">Lua</A>. <b>tolua++</b>
+includes new features oriented to c++ such as:
+<p>
+
+<ul>
+<li> Support for <b>std::string</b> as a <a href="#basics">basic type</a> (this can be turned off by a command line option).</li>
+<li> Support for <a href="#templates">class templates</a></li>
+</ul>
+<p>
+
+As well as other features and bugfixes.
+<p>
+
+
+<B>tolua</B> is a tool that greatly simplifies the integration of C/C++
+code with <A HREF="http://www.tecgraf.puc-rio.br/lua">Lua</A>. Based on
+a <I>cleaned</I> <I>header file</I> (or extracts from real header files),
+<B>tolua</B> automatically generates
+the binding code to access C/C++ features from Lua. Using Lua API and tag
+method facilities, <B>tolua </B>maps C/C++ constants, external variables,
+functions, classes, and methods to Lua.
+<P>This manual is for <B>tolua++</B> version 1.0 and is implemented upon Lua
+5.0 and based on <b>tolua 5.0</b>. See <A HREF="#changes-v30">Compatibility</A>
+for details on switching from older versions.
+<P>The sections below describe how to use <B>tolua</B>. Please <A HREF="mailto:tolua@codenix.com">contact us</A>
+with bug reports, suggestions, and comments.
+<UL>
+<LI>
+Shortcuts:</LI>
+
+<UL>
+<LI>
+<A HREF="#introduction">How <B>tolua</B> works</A></LI>
+
+<LI>
+<A HREF="#using">How to use <B>tolua</B></A></LI>
+
+<LI>
+<A HREF="#basics">Basic Concepts</A></LI>
+
+<LI>
+<A HREF="#constants">Binding constants</A></LI>
+
+<LI>
+<A HREF="#variables">Binding external variables</A></LI>
+
+<LI>
+<A HREF="#functions">Binding functions</A></LI>
+
+<LI>
+<A HREF="#structs">Binding struct fields</A></LI>
+
+<LI>
+<A HREF="#classes">Binding classes and methods</A></LI>
+
+<li>
+<a href="#propeties">Binding properties</a></li>
+
+<li>
+<a href="#templates">Class Templates</a></li>
+
+<LI>
+<A HREF="#modules">Module definition</A></LI>
+
+<LI>
+<A HREF="#renaming">Renaming constants, variables and functions</A></LI>
+
+<LI>
+<A HREF="#additional">Storing additional fields</A></LI>
+
+<li>
+<a href="#additional_features">Additional features</a></li>
+
+<LI>
+<A HREF="#utilities">Exported utility functions</A></LI>
+
+<LI>
+<A HREF="#embedded">Embedded Lua code</A></LI>
+
+<LI>
+<a HREF="#customizing">Customizing tolua++</a></li>
+
+<li>
+<a href="#compatibility">Compatibility with older versions</a></li>
+
+<li>
+<A HREF="#changes-v30">Changes since v3 *</A></li>
+
+<LI>
+<A HREF="#changes-v2">Changes since v2.*</A></LI>
+
+<LI>
+<A HREF="#changes-v1">Changes since v1.*</A></LI>
+
+<LI>
+<A HREF="#credits">Credits</A></LI>
+
+<LI>
+<A HREF="#availability">Availability</A></LI>
+</UL>
+</UL>
+
+<HR WIDTH="100%">
+<H3>
+<A NAME="introduction"></A>How tolua works</H3>
+To use <B>tolua</B>, we create a <I>package file</I>, a C/C++ cleaned header
+file<I>,</I> listing the constants, variables, functions, classes, and
+methods we want to export to the Lua environment. Then <B>tolua</B> parses
+this file and creates a C/C++ file that automatically binds the C/C++ code
+to Lua. If we link the created file with our application, the specified
+C/C++ code can be accessed from Lua.<br>
+A package file can also include regular header files, other package files,
+or lua files.<br>
+<P>Let's start with some examples. If we specify as input the following
+C-like header file to <B>tolua</B>:
+<PRE>#define FALSE 0
+#define TRUE 1
+
+enum {&nbsp;
+&nbsp;POINT = 100,&nbsp;
+&nbsp;LINE,&nbsp;
+&nbsp;POLYGON
+}</PRE>
+
+<PRE>Object* createObejct (int type);
+void drawObject (Object* obj, double red, double green, double blue);
+int isSelected (Object* obj);</PRE>
+A C file that binds such a code to Lua is automatically generated. Therefore,
+in Lua code, we can access the C code, writing, for instance:
+<PRE>...
+myLine = createObject(LINE)
+...
+if isSelected(myLine) == TRUE then
+&nbsp; drawObject(myLine, 1.0, 0.0, 0.0);
+else
+&nbsp; drawObject(myLine, 1.0, 1.0, 1.0);
+end
+...</PRE>
+Also, consider a C++-like header file:
+<PRE>#define FALSE 0
+#define TRUE 1</PRE>
+
+<PRE>class Shape
+{
+&nbsp; void draw (void);
+&nbsp; void draw (double red, double green, double blue);
+&nbsp; int isSelected (void);
+};</PRE>
+
+<PRE>class Line : public Shape
+{
+&nbsp;Line (double x1, double y1, double x2, double y2);
+&nbsp;~Line (void);
+};</PRE>
+If this file is used as input to <B>tolua</B>, a C++ file is automatically
+generated proving access to such a code from Lua. Therefore, it would be
+valid to write Lua statements like:
+<PRE>...
+myLine = Line:new (0,0,1,1)
+...
+if myLine:isSelected() == TRUE then
+&nbsp;myLine:draw(1.0,0.0,0.0)
+else
+&nbsp;myLine:draw()
+end
+...
+myLine:delete()
+...</PRE>
+The package file (usually with extension <TT>.pkg</TT>) passed to <B>tolua</B>
+is not the real C/C++ header file, but a <I>cleaned </I>version of it.
+<B>tolua</B>
+does not implement a complete parse to interpret C/C++ code, but it understands
+a few declarations that are used to describe the features that are to be
+exported to Lua. Regular header files can be included into packages files; <b>tolua</b>
+will extract the code specified by the user to parse from the header (see <a href="#basics">Basic Concepts</a>).
+<H3>
+<A NAME="using"></A>How to use toLua</H3>
+<B>tolua </B>is composed by two pieces of code: an executable and a library.
+The executable represents the parser that reads a package file and output
+a C/C++ code that implements the binding to access the C/C++ features from
+Lua. If the package file is a C++ like code (i.e., includes class definitions),
+a C++ code is generated. If the cleaned header file is a C like code (i.e.,
+without classes), a C code is generated. <B>tolua</B> accepts a set of
+options. Running <TT>"tolua -h"</TT> displays the current accepted options.
+For instance, to parse a file called <TT>myfile.pkg
+</TT>generating the
+binding code in <TT>myfile.c</TT>, we do:
+<P><TT>tolua -o myfile.c myfile.pkg</TT>
+<P>The generated code must be compiled and linked with the application
+to provide the desired access from Lua. Each parsed file represents a package
+being exported to Lua. By default, the package name is the input file root
+name (<TT>myfile </TT>in the example). The user can specify a different
+name for the package:
+<P><TT>tolua -n pkgname -o myfile.c myfile.pkg</TT>
+<P>The package should also be explicitly initialized. To initialize the
+package from our C/C++ code, we must declare and call the initialization
+function. The initialization function is defined as
+<P><TT>int tolua_<I>pkgname</I>_open (lua_State*);</TT>
+<P>where <I><TT>pkgname </TT></I>represents the name of the package being
+bound. If we are using C++, we can opt for automatic initialization:
+<P><TT>tolua -a -n pkgname -o myfile.c myfile.pkg</TT>
+<P>In that case, the initialization function is automatically called. However,
+if we are planning to use multiple Lua states, automatic initialization
+does not work, because the order static variables are initialized in C++
+is not defined.
+<!--
+<P>The current <B>tolua</B> version also exports a closing function, which
+can be called to unbind the package.
+<P><TT>void tolua_<I>pkgname</I>_close (void);</TT>
+-->
+<P>Optionally, the prototype of the <TT>open</TT> function
+can be outputted to a header file, which name is given by the <TT>-H</TT>
+option.
+<P>The binding code generated by <B>tolua </B>uses a set of functions defined
+in the <B>tolua </B>library. Thus, this library also has to be linked with
+the application. The file <TT>tolua.h</TT> is also necessary to compile
+the generated code.
+<P>An application can use tolua object oriented framework (see <A HREF="#utilities">exported
+utility functions</A>) without binding any package. In that case, the application
+must call <B>tolua </B>initialization function (this function is called
+by any package file initialization function):
+<P><TT>int tolua_open (void);</TT>
+<!--
+<P>If multiple Lua states are to be used, after setting a Lua state, we
+need to call a function to restore <B>tolua </B>internal state:
+<P><TT>void tolua_restorestate (void);</TT>
+-->
+<H3>
+<A NAME="basics"></A>Basic Concepts</H3>
+The first step in using <B>tolua</B> is to create the package file. Starting
+with the real header files, we clean them by declaring the features we
+want to access from Lua in a format that <B>tolua</B> can understand. The
+format <B>tolua</B> understands is simple C/C++ declarations as described
+below.
+
+<H4>Including files</h4>
+
+A package file may include other package file. The general format
+to do that is:
+<p>
+<TT>$pfile "<I>include_file</I>"</TT>
+<p>
+A package file may also include regular C/C++ header files, using the <TT>hfile</TT>
+or <TT>cfile</tt> directive:
+<p>
+
+<tt>$cfile "example.h"</tt>
+<p>
+In which case, <b>tolua</b> will extract the code enclosed between <tt>tolua_begin</tt>
+and <tt>tolua_end</tt>, or or <tt>tolua_export</tt> for a single line. Consider this C++ header as example:
+
+<PRE>
+
+#ifndef EXAMPLE_H
+#define EXAMPLE_H
+
+class Example { // tolua_export
+
+private:
+
+ string name;
+ int number;
+
+public:
+
+ void set_number(int number);
+
+ //tolua_begin
+
+ string get_name();
+ int get_number();
+};
+// tolua_end
+
+#endif
+</pre>
+
+<p>
+In this case, the code that's not supported by <b>tolua</b> (the
+private part of the class), along with the function <tt>set_number</tt>
+is left outside of the package that includes this header.
+<p>
+
+Finally, lua files can be included on a package file, using <tt>$lfile</tt>:
+<p>
+
+<tt>$lfile "example.lua"</tt>
+<p>
+
+<b>New on tolua++</b>: an extra way to include source files is available since
+version 1.0.4 of <b>tolua++</b>, using <tt>ifile</tt>:
+<p>
+
+<tt>$ifile "filename"</tt>
+<p>
+
+<tt>ifile</tt> also takes extra optional parameters after the filename, for example:
+<p>
+
+<tt>
+$ifile "widget.h", GUI<br>
+$ifile "vector.h", math, 3d
+</tt>
+<p>
+
+<tt>ifile</tt>'s default behaviour is to include the whole file, untouched. However,
+the contents of the file and the extra parameters are put through the <tt>include_file_hook</tt>
+function before being included into the package (see <a href="#customizing">Customizing tolua++</a>
+for more details).
+<p>
+
+<H4>
+Basic types</H4>
+<B>tolua </B>automatically maps C/C++ basic types to Lua basic types. Thus,
+<TT>char</TT>,
+<TT>int</TT>,
+<TT>float</TT>, and <TT>double </TT>are mapped to the Lua type <TT>number</TT>;<TT>
+char*</TT> is mapped to <TT>string</TT>; and<TT> void*</TT> is mapped to
+<TT>userdata</TT>. Types may be preceded by modifiers (<TT>unsigned</TT>,
+<TT>static</TT>, <TT>short</TT>, <TT>const</TT>, etc.); however, be aware
+that <B>tolua </B>ignores the modifier <TT>const</TT> if applied to basic
+types. Thus, if we pass a constant basic type to Lua and then pass it back
+to C/C++ code where a non constant is expected, the constant to non constant
+conversion will be silently done.
+<P>Functions in C/C++ can also manipulate Lua objects explicitly. Thus
+<TT>lua_Object</TT>
+is also considered a basic type. In this case, any Lua value matches it.
+<p>
+
+<b>New on tolua++</b>: The C++ type <tt>string</tt> is also considered a basic type, and is passed as
+a value to lua (using the <tt>c_str()</tt> method). This feature can be turned off
+with the command line option <tt>-S</tt>.
+
+<H4>
+User defined types</H4>
+All other types that appear in the package file being processed are considered
+user defined types. These are mapped to tagged userdata type in Lua. Lua
+can only store pointers to user defined types; although, <B>tolua
+</B>automatically
+makes the necessary arrangement to deal with references and values. For
+instance, if a function or method returns a value of user defined type,
+<B>tolua
+</B>allocates
+a clone object when returning it to Lua and sets the garbage collection
+tag method to automatically free the allocated object when no longer in
+use by Lua.
+<P>For user defined types, <tt>const</tt>ness is preserved. Thus passing a non constant
+user defined type to a function that expects constant type generates an
+type mismatching error.
+<H4>
+<TT>NULL </TT>and <TT>nil</TT></H4>
+C/C++ <TT>NULL</TT> or <TT>0 </TT>pointers are mapped to Lua
+<TT>nil </TT>type;
+conversely, <TT>nil </TT>may be specified wherever a C/C++ pointer is expected.
+This is valid for any type: <TT>char*</TT>,
+<TT>void*</TT>, and pointers
+to user defined types.
+<H4>
+Typedefs</H4>
+<B>tolua </B>also accepts simple typedef<I>'s </I>inside the package files.
+Any occurrence of a type after its definition is mapped by <B>tolua
+</B>to
+the base type. They are useful because several packages redefine the basic
+C/C++ types to their own types. For instance, one can define the type <TT>real
+</TT>to
+represent a <TT>double</TT>. In that case, <TT>real
+</TT>can be used to
+specify the variable types inside the package file interpreted by <B>tolua</B>,
+but only if we include the following definition before any use of the type
+<TT>real</TT>.
+<P><TT>typedef double real;</TT>
+<P>Otherwise, <TT>real </TT>would be interpreted as a user defined type
+and would not be mapped to Lua numbers.
+<H4>
+Including real header files</H4>
+In the package file, we must specify which are the real header files that
+should be included so that the generated code can access the constants,
+variables, functions, and classes we are binding. Any line in the package
+file beginning with a <B>$ </B>(except $[hclp]file, $[ , and $] lines) is
+inserted into the generated binding C/C++ code without any change, but the
+elimination of the <B>$</B> itself. We use this feature to include the
+real header files. So, our package files will usually start with a set
+of <B>$</B> beginning lines specifying the files that must be included,
+that is, the files the package file is based on.
+<PRE>/* specify the files to be included */</PRE>
+
+<PRE>$#include &quot;header1.h&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // include first header
+$#include &quot;header2.h&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // include second header</PRE>
+As illustrated, <B>tolua </B>also accepts comments, using C or C++ convention,
+inside the package file. Nested C-like comments can also be used.
+<p>
+Also note that files included with <tt>$cfile</tt> or <tt>$hfile</tt> don't
+need to be included using this method, this is done automatically by <b>tolua</b>.
+
+<P>In the following sections, we describe how to specify the C/C++ code
+we want to bind to Lua. The formats are simplified valid C/C++ statements.
+
+<H3>
+<A NAME="constants"></A>Binding constants</H3>
+To bind constants, <B>tolua </B>accepts both define's and enum's. For define's
+the general format is:
+<PRE><B>#define</B> <I>NAME </I>[ <I>VALUE </I>]</PRE>
+The value, as showed above, is optional. If such a code is inserted inside
+the file being processed, <B>tolua </B>generates a code that allows the
+use of <I><TT>NAME </TT></I>as a Lua global variable that has the corresponding
+C/C++ constant value. Only numeric constants are accepted.
+<p>
+<b>New on tolua++</b>: All other preprocessor directives are ignored.
+<P>For enum's, the general format is:
+<PRE><B>enum {
+</B>&nbsp; <I><TT>NAME1 </TT></I>[ <B>=</B> <I>VALUE1 </I>] <B>,
+</B>&nbsp; <I>NAM</I>E2 [ <B>=</B> <I>VALUE2 </I>] <B>,
+</B>&nbsp; ...
+&nbsp; <I>NAMEn </I>[ <B>=</B> <I>VALUEn </I>]
+<B>};</B></PRE>
+Similarly, <B>tolua</B> creates a set of global variables, named <I><TT>NAMEi</TT></I>,
+with their corresponding values.
+<H3>
+<A NAME="variables"></A>Binding external variables</H3>
+Global extern variables can also be exported. In the cleaned header file
+they are specified as:
+<PRE><TT>[</TT><B>extern</B><TT>]</TT><B> </B><I>type var</I><B>;</B></PRE>
+<B>tolua</B> binds such declarations to Lua global variables. Thus, in
+Lua, we can access the C/C++ variable naturally. If the variable is non
+constant, we can also assign the variable a new value from Lua. Global
+variables that represent arrays of value can also be bound to Lua. Arrays
+can be of any type. The corresponding Lua objects for arrays are Lua tables
+indexed with numeric values; however, be aware that index 1 in Lua is mapped
+to index 0 in an C/C++ array. Arrays must be pre dimensioned. For instance:
+<P><TT>double v[10];</TT>
+
+<p>
+<b>New on tolua++</b>: External variables can use the <tt>tolua_readonly</tt> modifier (see <a href="#additional_features">Additional Features</a>)
+
+<H3>
+<A NAME="functions"></A>Binding functions</H3>
+Functions are also specified as conventional C/C++ declarations:
+<PRE><I>type funcname </I><B>(</B><I>type1 par1</I>[<B>,</B> <I>type2 <TT>par2</TT></I>[<B>,.</B>..<I>typeN parN</I>]]<B>);</B></PRE>
+The returned type can be <TT>void</TT>, meaning no value is returned. A
+function can also have no parameter. In that case, <TT>void </TT>may be
+specified in the place of the list of parameters. The parameter types must
+follow the rules already posted. <B>tolua </B>creates a Lua function binding
+the C/C++ function. When calling a function from Lua, the parameter types
+must match the corresponding C/C++ types, otherwise, <B>tolua
+</B>generates
+an error and reports which parameter is wrongly specified. If a parameter
+name is omitted, <B>tolua </B>names it automatically, but its type should
+be a basic type or user type previously used.
+<H4>
+Arrays</H4>
+<B>tolua </B>also deals with function or method parameters that represent
+arrays of values. The nice thing about arrays is that the corresponding
+Lua tables have their values updated if the C/C++ function changes the
+array contents.
+<P>The arrays must be pre dimensioned. For instance:
+<P><TT>void func (double a[3]);</TT>
+<P>is a valid function declaration for <B>tolua</B> and calling this function
+from Lua would be done by, for instance:
+<P><TT>p = {1.0,1.5,8.6}</TT>
+<BR><TT>func (p)</TT>
+<P>The array dimension need not be a constant expression; the dimension
+can also be specified by any expression that can be evaluated in run time.
+For instance:
+<P><TT>void func (int n, int m, double image[n*m]);</TT>
+<P>is also valid since the expression <TT>n*m</TT> is valid in the binding
+function scope. However, be aware that <B>tolua </B>uses dynamic allocation
+for binding this function, what can degrade the performance.
+<P>Despite the dimension specification, it is important to know that all
+arrays passed to the actual C/C++ function are in the local scope of the
+binding function. So, if the C/C++ function being called needs to hold
+the array pointer for later use, the binding code will <I>not </I>work
+properly.
+<H4>
+Overloaded functions</H4>
+Overloaded functions are accepted. Remember that the distinction between
+two functions with the same name is made based on the parameter types that
+are mapped to Lua. So, although
+<P><TT>void func (int a);</TT>
+<BR><TT>void func (double a);</TT>
+<P>represent two different functions in C++, they are the same function
+for <B>tolua</B>, because both <TT>int </TT>and <TT>double </TT>are mapped
+to the same Lua type: <TT>number</TT>.
+<P>Another tricky situation occurs when expecting pointers. Suppose:
+<PRE>void func (char* s);
+void func (void* p);
+void func (Object1* ptr);
+void func (Object2* prt);</PRE>
+Although these four functions represent different functions in C++, a Lua
+statement like:
+<PRE>func(nil)</PRE>
+matches all of them.
+<P>It is important to know that <B>tolua </B>decides which function will
+be called in run-time, trying to match each provided function. <B>tolua
+</B>first
+tries to call the last specified function; if it fails, <B>tolua
+</B>then
+tries the previous one. This process is repeated until one function matches
+the calling code or the first function is reached. For that reason, the
+mismatching error message, when it occurs, is based on the first function
+specification. When performance is important, we can specify the most used
+function as the last one, because it will be tried first.
+<P><B>tolua</B> allows the use of overloaded functions in C, see <A HREF="#renaming">Renaming
+</A>for
+details.
+<H4>
+Default parameter values</H4>
+The last function parameters can have associated default values. In that
+case, if the function is called with fewer parameters, the default values
+are assumed. The format to specify the default values is the same as the
+one used in C++ code:
+<P><TT><I>type funcname </I><B>(</B><I>...</I><B>,</B><I> typeN-1 parN-1
+[= valueN-1]<B>,</B> typeN parN [= valueN]</I><B>);</B></TT>
+<P><B>toLua </B>implements this feature without using any C++ mechanism;
+so, it can be used also to bind C functions.
+<P>We can also specify default values for the elements of an array (there
+is no way to specify a default value for the array itself, though). For
+instance:
+<P><TT>void func (int a[5]=0);</TT>
+<P>sets the default element values to zero, thus the function can be called
+from Lua with an uninitialized table.
+<P>For Lua object types (<TT>lua_Object</TT>), <B>tolua </B>defines a constant
+that can be used to specify <TT>nil </TT>as default value:
+<P><TT>void func (lua_Object lo = TOLUA_NIL);</TT>
+<p>
+
+<b>New on tolua++</b>: C++ class constructors are valid
+as default parameters. For example:
+<p>
+<tt>void set_color(const Color& color = Color(0,0,0));</tt>
+<p>
+
+<H4>
+Multiple returned values</H4>
+In Lua, a function may return any number of values. <B>tolua </B>uses this
+feature to simulate values passed by reference. If a function parameter
+is specified as a pointer to or reference of a basic type or a pointer
+to or reference of a pointer to an user defined type, <B>tolua </B>accepts
+the corresponding type as input and returns, besides the conventional function
+returned value, if any, the updated parameter value.
+<P>For instance, consider a C function that swaps two values:
+<P><TT>void swap (double* x, double* y);</TT>
+<P>or
+<P><TT>void swap (double&amp; x, double&amp; y);</TT>
+<P>If such a function is declared in the package file, <B>tolua </B>binds
+it as a function receiving two numbers as input and returning two numbers.
+So, a valid Lua code would be:
+<P><TT>x,y = swap(x,y)</TT>
+<P>If the input values are not used, the use of default parameter value
+allows calling the function from Lua without specifying them:
+<P><TT>void getBox (double* xmin=0, double* xmax=0, double* ymin=0, double*
+ymax=0);</TT>
+<P>In Lua:
+<P><TT>xmin, xmax, ymin, ymax = getBox()</TT>
+<P>With user defined types, we would have for instance:
+<P><TT>void update (Point** p);</TT>
+<P>or
+<P><TT>void update (Point*&amp; p);</TT>
+<H3>
+<A NAME="structs"></A>Binding struct fields</H3>
+User defined types are nicely bound by <B>tolua</B>. For each variable
+or function type that does not correspond to a basic type, <B>tolua </B>automatically
+creates a tagged userdata to represent the C/C++ type. If the type corresponds
+to a struct, the struct fields can be directly accessed from Lua, indexing
+a variable that holds an object of such a type. In C code, these types
+are commonly defined using typedef's:
+<PRE><B>typedef struct [name]</B><I> </I><B>{
+</B>&nbsp;&nbsp; <I>type1 fieldname1</I><B>;
+</B>&nbsp;&nbsp; <I>type2 fieldname2</I><B>;
+</B>&nbsp;&nbsp; ...
+&nbsp;&nbsp; <I>typeN fieldnameN</I><B>;
+} </B><I>typename</I><B>;</B></PRE>
+If such a code is inserted in the package file being processed, <B>tolua
+</B>allows
+any variable that holds an object of type <I><TT>typename </TT></I>to access
+any listed field indexing the variable by the field name. For instance,
+if <TT>var </TT>holds a such object, <I><TT>var.fieldnamei</TT></I> accesses
+the field named <I><TT>fieldnamei</TT></I>.
+<P>Fields that represent arrays of values can also be mapped:
+<P><TT>typedef struct {</TT>
+<BR><TT>&nbsp; int x[10];</TT>
+<BR><TT>&nbsp; int y[10];</TT>
+<BR><TT>} Example;</TT>
+<BR>&nbsp;
+<H3>
+<A NAME="classes"></A>Binding classes and methods</H3>
+C++ class definitions are also supported by <B>tolua</B>. Actually, the
+<B>tolua
+</B>deals
+with single inheritance and polymorphism in a natural way. The subsections
+below describe what can be exported by a class definition.
+<H4>
+Specifying inheritance</H4>
+If <TT>var </TT>is a Lua variable that holds an object of a derived class,
+<TT>var
+</TT>can
+be used wherever its base class type is expected and <TT>var
+</TT>can access
+any method of its base class. For this mechanism to take effect, we must
+indicate that the derived class actually inherits the base class. This
+is done in the conventional way:
+<PRE><B>class </B><I>classname </I><B>: public</B> <I>basename
+</I><B>{</B></PRE>
+
+<PRE>&nbsp;/* class definition */</PRE>
+
+<PRE><B>};</B></PRE>
+<p>
+
+In this case, the definition of <tt>basename</tt> needs to appear before <tt>classname</tt>
+if the inheritance properties are to be taken advantage of from lua.
+
+<h4>Multiple inheritance</h4>
+
+<b>tolua++</b> (starting from version 1.0.4) supports multiple inheritance by allowing you
+to access the extra parents 'manually'.
+<p>
+For example, consider the following class:
+<p>
+
+<PRE>
+class Slider : public Widget, public Range {
+ ...
+};
+</PRE>
+<p>
+
+An object of type 'Slider' will fully retain its inheritance with Widget,
+and will contain a 'member' of type Range, which will return the object
+cast to the correct base type.
+<p>
+
+For example:
+<p>
+
+<PRE>
+slider = Slider:new()
+slider:show() -- a Widget method
+
+slider:set_range(0, 100) -- this won't work, because
+ -- set_range is a method from Range
+
+slider.__Range__:set_range(0, 100) -- this is the correct way
+</PRE>
+
+<p>
+
+This is an experimental feature.
+<p>
+
+<H4>
+Specifying exported members and methods</H4>
+As for struct fields, class fields, static or not, can be exported. Class
+methods and class static methods can also be exported. Of course, they
+must be declared as public in the actual C++ code (the
+<TT>public:</TT>keyword may appear in the package files, it will be ignored by <b>tolua</b>).
+<P>For each bound class, <B>tolua </B>creates a Lua table and stores it
+at a variable which name is the name of the C++ class. This tables may contain other
+tables that represent other tables, the way C++ classes may contain other classes and structs.
+Static exported
+fields are accessed by indexing this table with the field names (similar
+to struct fields). Static methods are also called using this table, with a colon.
+Non static exported fields are accessed by indexing
+the variable that holds the object. Class methods follow the format of
+the function declaration showed above. They can be accessed from Lua code
+using the conventional way Lua uses to call methods, applied of course
+to a variable that holds the appropriate object or to the class table,
+for static methods.
+<P>There are a few special methods that are also supported by <B>tolua</B>.
+Constructors are called as static methods, named <TT>new</TT>, <tt>new_local</tt> (on <b>tolua++</b>),
+or calling the class name directly (also on <b>tolua++</b>, see below for the difference betwheen these methods). Destructors
+are called as a conventional method called <TT>delete</TT>.
+<P>Note that <B>tolua </B>does support overload. This applies even for
+constructors. Also note that the <TT>virtual </TT>keyword has no effect
+in the package file.
+<P>The following code exemplifies class definitions that can be interpreted
+by <B>tolua</B>.
+<PRE>class Point {
+&nbsp;&nbsp; static int n;&nbsp;&nbsp;&nbsp; // represents the total number of created Points
+&nbsp;&nbsp; static int get_n();&nbsp;&nbsp;&nbsp; // static method
+
+&nbsp;&nbsp; double x;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // represents the x coordinate
+&nbsp;&nbsp; double y;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // represents the y coordinate</PRE>
+
+<PRE>&nbsp;&nbsp; static char* className (void);&nbsp;&nbsp; // returns the name of the class</PRE>
+
+<PRE>&nbsp;&nbsp; Point (void);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // constructor 1
+&nbsp;&nbsp; Point (double px, double py);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // constructor 2
+&nbsp;&nbsp; ~Point (void);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // destructor</PRE>
+
+<PRE>&nbsp;&nbsp; Point add (Point&amp; other);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // add points, returning another one
+};</PRE>
+
+<PRE>class ColorPoint : public Color {
+&nbsp;&nbsp; int red;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // red color component [0 - 255]
+&nbsp;&nbsp; int green;&nbsp;&nbsp;&nbsp; // green color component [0 - 255]
+&nbsp;&nbsp; int blue;&nbsp;&nbsp;&nbsp;&nbsp; // blue color component [0 - 255]</PRE>
+
+<PRE>&nbsp;&nbsp; ColorPoint (double px, double py, int r, int g, int b);
+};</PRE>
+If this segment of code is processed by <B>tolua</B>, we would be able
+to write the following Lua statements:
+<PRE>p1 = Point:new(0.0,1.0)
+p2 = ColorPoint:new(1.5,2.2,0,0,255)
+print(Point.n)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- would print 2
+print(Point:get_n())&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- would also print 2
+p3 = p1:add(p2)
+local p4 = ColorPoint()
+print(p3.x,p3.y)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- would print 1.5 and 3.2
+print(p2.red,p2.green,p2.blue)&nbsp;&nbsp;&nbsp;&nbsp; -- would print 0, 0, and 255
+p1:delete()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- call destructor
+p2:delete()&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -- call destructor</PRE>
+
+Note that we can only explicitly delete objects that we explicitly create.
+In the example above, the point <TT>p3</TT> will be garbage-collected by
+<B>tolua
+</B>automatically;
+we cannot delete it.
+<p>
+<b>New on tolua++</b>: Also note that <tt>p4</tt> is created by calling the class name directly (<tt>ColorPoint()</tt>); this has the same effect as calling <tt>new_local</tt>, which
+leaves the object to be deleted by the garbaje collector, and it should not be
+deleted using <tt>delete</tt>. For each constructor on the pkg, one <tt>new</tt>,
+<tt>new_local</tt> and <tt>.call</tt> callback for the class is created.
+<P>Of course, we need to specify only the methods and members we want to
+access from Lua. Sometimes, it will be necessary to declare a class with
+no member or method just for the sake of not breaking a chain of inheritances.
+
+<h4>Using Regular functions as class methods</h4>
+<p>
+
+<b>tolua++</b> (starting from version 1.0.5) uses the keyword <b>tolua_outside</b> to specify regular functions
+as methods and static methods of a class or struct. For example:
+
+<PRE><tt>
+/////////////// position.h:
+
+typedef struct {
+
+ int x;
+ int y;
+} Position;
+
+Position* position_create();
+void position_set(Position* pos, int x, int y);
+
+/////////////// position.pkg:
+
+struct Position {
+
+ int x;
+ int y;
+
+ static tolua_outside Position* position_create @ create();
+ tolua_outside void position_set @ set(int x, int y);
+};
+
+--------------- position.lua
+
+local pos = Position:create()
+
+pos:set(10, 10)
+
+</tt></pre>
+
+Note that the <b>position_set</b> method takes a pointer to <b>Position</b> as its first parameter,
+this is ommited on the <b>tolua_outside</b> declaration. Also note that we cannot name our methods
+<b>new</b> or <b>new_local</b>, or as overloaded operators (see next section), this will result in
+undefined behaviour.
+
+
+<H4>
+Overloaded operators</H4>
+<B>tolua </B>automatically binds the following binary operators:
+<UL>
+<PRE>operator+&nbsp;&nbsp; operator-&nbsp;&nbsp; operator*&nbsp;&nbsp; operator/&nbsp;
+operator&lt;&nbsp;&nbsp; operator&gt;=&nbsp;&nbsp;operator==&nbsp;&nbsp;operator[]</PRE>
+</UL>
+For the relational operators, <B>toLua </B>also automatically converts
+a returned <TT>0</TT> value into <TT>nil</TT>, so <I>false </I>in C becomes
+<I>false
+</I>in
+Lua.
+<P>As an example, suppose that in the code above, instead of having:
+<PRE>&nbsp;&nbsp; Point add (Point&amp; other);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // add points, returning another one</PRE>
+we had:
+<PRE>&nbsp;&nbsp; Point operator+ (Point&amp; other);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // add points, returning another one</PRE>
+In that case, in Lua, we could simply write:
+<PRE>p3 = p1 + p2</PRE>
+The indexing operator (<TT>operator[]</TT>) when receiving a numeric parameter
+can also be exported to Lua. In this case, <B>tolua </B>accepts reference
+as returned value, even for basic types. Then if a reference is returned,
+from Lua, the programmer can either get or set the value. If the returned
+value is not a reference, the programmer can only get the value. An example
+may clarify: suppose we have a vector class and bind the following operator:
+<PRE>&nbsp;&nbsp; double&amp; operator[] (int index);</PRE>
+In this case, in Lua, we would be able to write: <TT>value = myVector[i]</TT>
+and also <TT>myVector[i] = value</TT>, which updates the C++ object. However,
+if the bound operator was:
+<PRE>&nbsp;&nbsp; double operator[] (int index);</PRE>
+we would only be able to write: <TT>value = myVector[i]</TT>.
+<P>Free functions (i.e., not class members) that overload operators are
+not supported.
+
+<p>
+
+<H4>
+Cast operators</H4>
+
+<b>New on tolua++</b> (versions 1.0.90 and up): casting operators are also supported.
+For example:
+
+<pre>
+/////////////// node.h
+
+// a class that holds a value that can be of type int, double, string or Object*
+class Node { // tolua_export
+
+private:
+ union {
+ int int_value;
+ double double_value;
+ string string_value;
+ Object* object_value;
+ };
+
+// tolua_begin
+public:
+
+ enum Type {
+ T_INT,
+ T_DOUBLE,
+ T_STRING,
+ T_OBJECT,
+ T_MAX,
+ };
+
+ Type get_type();
+
+ operator int();
+ operator double();
+ operator string();
+ operator Object*();
+};
+// tolua_end
+</pre>
+
+<b>tolua++</b> will produce code that calls the operators by casting the object Node (using C++ <tt>static_cast</tt>),
+and register them inside the class as ".typename". For example:
+
+<pre>
+-- node.lua
+
+local node = list.get_node("some_node") -- returns a Node object
+
+if node.get_type() == Node.T_STRING then
+
+ print("node is "..node[".string"]())
+
+elseif node.get_type() == Node.T_OBJECT then
+
+ local object = node[".Object*"]()
+ object:method()
+end
+
+</pre>
+
+<h3><a name="properties"></a>Binding Properties</h3>
+
+<b>tolua++</b> (starting from version 1.0.6) supports declaration of class propeties,
+using the <tt>tolua_property</tt> keyword. A
+property will look like a 'field' of the class, but it's value will be retrieved
+using class methods. For example:
+
+<pre>
+/////////////// label.h
+
+class Label {
+
+public:
+
+ string get_name();
+ void set_name(string p_name);
+
+ Widget* get_parent();
+};
+
+/////////////// label.pkg
+class Label {
+
+ tolua_property string name;
+
+ tolua_readonly tolua_property Widget* parent;
+};
+
+--------------- label.lua
+
+local label = Label()
+
+label.name = "hello"
+print(label.name)
+
+label.parent:show()
+
+</pre>
+
+<h4>Property types</h4>
+<p>
+
+A property can have differt types, which determine how it's value will be set and retrieved.
+<b>tolua++</b> comes with 3 different built-in types:
+<p>
+
+<li> <tt>default</tt> will use 'get_name' and 'set_name' methods to access a property called 'name'
+<li> <tt>qt</tt> will use 'name' and 'setName'
+<li> <tt>overload</tt> will use 'name' and 'name' (as in 'string name(void);' to get and 'void name(string);' to set)
+<p>
+
+The property type can be appended at the end of the 'tolua_property' keyword on the declaration:
+
+<ul><tt>tolua_property__qt string name;</tt></ul>
+
+When no type is specified, <tt>default</tt> will be used, but this can be changed (see below).
+<p>
+
+<h4>Changing the default property type</h4>
+<p>
+
+The default property type can be changed using the 'TOLUA_PROPERTY_TYPE' macro. This will change the
+default type from the point of its invocation, until the end of the block that contains it. For example:
+<p>
+
+<pre>
+
+TOLUA_PROPERTY_TYPE(default); // default type for the 'global' scope
+
+namespace GUI {
+
+ class Point {
+
+ tolua_property int x; // will use get_x/set_x
+ tolua_property int y; // will use get_y/set_y
+ };
+
+ TOLUA_PROPERTY_TYPE(qt); // changes default type to 'qt' for the rest of the 'GUI' namespace
+
+ class Label {
+
+ tolua_property string name; // will use name/setName
+ };
+};
+
+class Sprite {
+
+ tolua_property GUI::Point position; // will use get_position/set_position
+
+ tolua_property__overload string name; // will use name/name
+};
+
+</pre>
+
+<h4>Adding custom property types</h4>
+<p>
+
+Custom property types can be added by redefining the function "get_property_methods_hook"
+(see <a href="#customizing">Customizing tolua++</a> for more details). The functions takes
+the property type and the name, and returns the setter and getter function names. For example:
+<p>
+
+<pre>
+
+/////////////// custom.lua
+
+function get_property_methods_hook(ptype, name)
+
+ if ptype == "hungarian_string" then
+
+ return "sGet"..name, "Set"..name
+ end
+
+ if ptype == "hungarian_int" then
+
+ return "iGet"..name, "Set"..name
+ end
+ -- etc
+end
+
+/////////////// label.pkg
+class Label {
+
+ tolua_property__hungarian_string string Name; // uses 'sGetName' and 'SetName'
+
+ tolua_property__hungarian_int string Type; // uses 'iGetType' and 'SetType'
+};
+
+</pre>
+
+<h3><a name="templates"></a>Class Templates</h3>
+
+One of the additional features of <b>tolua++</b> is the support for class templates,
+by using the <tt>TOLUA_TEMPLATE_BIND</tt> directive. For example:
+
+<pre>
+class vector {
+
+ TOLUA_TEMPLATE_BIND(T, int, string, Vector3D, double)
+
+ void clear();
+ int size() const;
+
+ const T& operator[](int index) const;
+ T& operator[](int index);
+ void push_back(T val);
+
+ vector();
+ ~vector();
+};
+</pre>
+
+The <tt>TOLUA_TEMPLATE_BIND</tt> directive has to be the first thing on the class declaration, otherwise it will be ignored.
+This code will create 4 versions of the class <tt>vector</tt>, one for each type
+specified on the <tt>TOLUA_TEMPLATE_BIND</tt> parameters, each replacing the macro <tt>T</tt>
+(specified as the first argument of <tt>TOLUA_TEMPLATE_BIND</tt>).
+Thus, the functions <tt>operator[]</tt>, <tt>&operator[]</tt> and <tt>push_back</tt>
+will have different signatures on each version of the object. The objects will be
+recognized as <tt>vector&lt;type&gt;</tt> on further declarations, and the name of
+the table on Lua will be <tt>vector_type_</tt>. Thus, the following Lua code could be used:
+
+<pre>
+string_vector = vector_string_:new_local()
+string_vector:push_back("hello")
+string_vector:push_back("world")
+print(string_vector[0].." "..string_vector[1])
+</pre>
+
+Similarily, a template with more than 1 macro could be bound, and it could also
+inherit from another template:
+
+<pre>
+class hash_map : public map&lt;K,V&gt; {
+
+ TOLUA_TEMPLATE_BIND(K V, int string, string vector&lt;double&gt;)
+
+ V get_element(K key);
+ void set_element(K key, V value);
+
+ hash_map();
+ ~hash_map();
+};
+</tt></pre>
+
+In this example, one of the objects has another template as one of its types, so
+it will be recognized as <tt>hash_map&lt;string,vector&lt;double&gt; &gt;</tt> while
+its constructor will be on the Lua table hash_map_string_vector_double___ (see
+<a href="#type_renaming">Type Renaming</a> for a better way to access these objects).
+<p>
+
+Note that due to the complexity in the definition of some templates, you should be
+careful on how you declare them. For example, if you create an object with type
+<tt>hash_map&lt;string,vector&lt;double&gt; &gt;</tt> and then declare a variable
+with type <tt>hash_map&lt;string, vector&lt;double&gt; &gt;</tt> (note the space
+between string and vector), the type of the variable will not be recognized. The
+safest way is to declare a typedef, and use that to use each type (this is also a
+common practice on C++ programming). For example, using the previous declaration of
+<tt>vector</tt>:
+<p>
+
+<pre>
+typedef vector<int> VectorInt;
+
+VectorInt variable;
+</pre>
+
+<tt>TOLUA_TEMPLATE_BIND</tt> can be used with more than one parenthesis to open and close,
+in order to be valid as a macro inside a regular .h file. The <tt>TOLUA_TEMPLATE_BIND</tt>
+macro is declared on <tt>tolua.h</tt> as:
+<p>
+<tt>#define TOLUA_TEMPLATE_BIND(x)</tt>
+<p>
+
+Also, the parameters can have double quotes. Thus, the following uses are valid:
+<p>
+
+<pre>
+TOLUA_TEMPLATE_BIND((T, int, float)) // to be used inside a real header file
+TOLUA_TEMPLATE_BIND("K V", "string string", int double)
+</pre>
+
+Function templates are not supported on this version.
+
+<H3>
+<A NAME="modules"></A>Module definition</H3>
+<B>tolua </B>allows us to group constants, variables, and functions in
+a module. The module itself is mapped to a table in Lua, and its constants,
+variables, and functions are mapped to fields in that table. The general
+format to specify a module is:
+<P><TT><B>module</B> name</TT>
+<BR><B><TT>{</TT></B>
+<BR><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ... // constant, variable, and function
+declarations</TT>
+<BR><B><TT>}</TT></B>
+<P>Thus, if we bound the following module declaration:
+<P><TT>module mod</TT>
+<BR><TT>{</TT>
+<BR><TT>&nbsp;#define N</TT>
+<BR><TT>&nbsp;extern int var;</TT>
+<BR><TT>&nbsp;int func (...):</TT>
+<BR><TT>}</TT>
+<P>In Lua we would be able to access such features by indexing the module:
+<TT>mod.N</TT>,
+<TT>mod.var</TT>,
+<TT>mod.func</TT>.
+<H3>
+<A NAME="renaming"></A>Renaming constants, variables and functions</H3>
+When exporting constants, variable, and functions (members of a class or
+not), we can rename them, such that they will be bound with a different
+name from their C/C++ counterparts. To do that, we write the name they
+will be referenced in Lua after the character <TT>@</TT>. For instance:
+<P><TT>extern int cvar @ lvar;</TT>
+<P><TT>#define CNAME @ LNAME</TT>
+<P><TT>enum {</TT>
+<BR><TT>&nbsp; CITEM1 @ LITEM1,</TT>
+<BR><TT>&nbsp; CITEM2 @ LITEM2,</TT>
+<BR><TT>&nbsp; ...</TT>
+<BR><TT>};</TT>
+<P><TT>void cfunc @ lfunc (...);</TT>
+<P><TT>class T</TT>
+<BR><TT>{</TT>
+<BR><TT>&nbsp;&nbsp; double cfield @ lfield;</TT>
+<BR><TT>&nbsp;&nbsp; void cmeth @ lmeth (...);</TT>
+<BR><TT>&nbsp;&nbsp; ...</TT>
+<BR><TT>};</TT>
+<P>In such a case, the global variable <TT>cvar </TT>would be identified
+in Lua by <TT>lvar</TT>, the constant <TT>CNAME </TT>by <TT>LNAME</TT>,
+and so on. Note that class cannot be renamed, because they represent types
+in C.
+<P>This renaming feature allows function overload in C, because we can
+choose to export two different C functions with a same Lua name:
+<P><TT>void glVertex3d @ glVertex (double x, double y, double z=0.0);</TT>
+<BR><TT>void glVertexdv @ glVertex (double v[3]=0.0);</TT>
+
+<a name="type_renaming"></a><h3>Renaming Types</h3>
+
+Types can be renamed using the <tt>$renaming</tt> directive on pkg files, using the
+format:
+<p>
+
+<tt>$renaming real_name @ new_name</tt>
+<p>
+
+The parameters to renaming can be Lua <i>patterns</i>. For example:
+<p>
+
+<pre>
+$renaming ^_+ @
+$renaming hash_map&lt;string,vector&lt;double&gt; &gt; @ StringHash
+</pre>
+
+The first example will remove all underscores at the beginning of all types,
+the second will rename the template type hash_map&lt;string,vector&lt;double&gt; &gt;
+to StringHash. Once renamed, the Lua table for each type can be accessed only by their
+new name, for example: <tt>StringHash:new()</tt>
+
+<A NAME="additional"></A><h3>Storing additional fields</H3>
+Finally, it is important to know that even though the variables that hold
+C/C++ objects are actually tagged userdata for Lua,<B> tolua</B> creates
+a mechanism that allows us to store any additional field attached to these
+objects. That is, these objects can be seen as conventional Lua tables.
+<PRE>obj = <I>ClassName</I>:new()</PRE>
+
+<PRE>obj.myfield = 1&nbsp; -- even though &quot;myfield&quot; does not represent a field of ClassName</PRE>
+Such a construction is possible because, if needed, <B>tolua </B>automatically
+creates a Lua table and associates it with the object. So that, the object
+can store additional fields not mapped to C/C++, but actually stored in
+the conjugate table. The Lua programmer accesses the C/C++ features and
+these additional fields in an uniform way. Note that, in fact, these additional
+fields overwrite C/C++ fields or methods when the names are the same.
+
+
+
+<a name="additional_features"></a><h3>Additional features on tolua++</h3>
+
+<h4>Multiple variable declarations</h4>
+
+Multiple variables of the same type can be declared at the same time, for example:
+<p>
+<tt>float x,y,z;</tt>
+<p>
+will create 3 different variables of type float. Make sure you don't leave any
+spaces between the commas, as that will raise a parse error.
+<p>
+
+<h4>tolua_readonly</h4>
+
+Any variable declaration can use the <tt>tolua_readonly</tt> modifier, to ensure
+that the variable is read-only, even when its type is not <tt>const</tt>. Example:
+
+<pre>
+class Widget {
+
+ tolua_readonly string name;
+};
+</pre>
+
+This feature could be used to 'hack' the support for other unsupported things like
+<tt>operator-&gt;</tt>. Consider this example <tt>pkg</tt> file:
+
+<pre>
+$hfile "node.h"
+$#define __operator_arrow operator->()
+$#define __get_name get_name()
+</pre>
+
+And on the file <tt>node.h</tt>:
+
+<pre>
+template class&lt;T&gt;
+class Node { // tolua_export
+
+private:
+ string name;
+ T* value;
+
+public:
+
+ T* operator->() {return value;};
+ string get_name() {return name;};
+
+ // tolua_begin
+
+ #if 0
+ TOLUA_TEMPLATE_BIND(T, Vector3D)
+
+ tolua_readonly __operator_arrow @ p;
+ tolua_readonly __get_name @ name;
+ #endif
+
+
+ Node* next;
+ Node* prev;
+
+ void set_name(string p_name) {name = p_name;};
+
+ Node();
+};
+// tolua_end
+</pre>
+
+While not a pretty thing to do to a header file, this accomplishes a number of
+things:
+<p>
+
+<li> The method <tt>operator->()</tt> can be used from Lua by calling the variable
+<tt>p</tt> on the object.</li>
+<li> The method <tt>get_name()</tt> can be using from Lua by calling the variable
+<tt>name</tt> on the boject.</li>
+
+Example lua usage:
+
+<pre>
+node = Node_Vector3D_:new_local()
+-- do something with the node here --
+print("node name is "..node.name)
+print("node value is ".. node.p.x ..", ".. node.p.y ..", ".. node.p.z)
+</pre>
+
+Since <b>tolua++</b> ignores all preprocessor directives (except for #define), <tt>node.h</tt>
+remains a valid C++ header file, and also a valid source for <b>tolua++</b>,
+eliminating the need to maintain 2 different files, even for objects with
+unusual features such as these ones.
+
+<p>
+
+The ability to rename functions as variables might be expanded on future versions.
+
+<h4>Defining values on command line</h4>
+
+Starting from version 1.0.92, the command line option <tt>-E</tt> allows
+you to introduce values into to the luastate where <b>tolua++</b> runs,
+similar to GCC's <tt>-D</tt>. For example:
+<p>
+
+<pre>$ tolua++ -E VERSION=5.1 -E HAVE_ZLIB package.pkg > package_bind.cpp</pre>
+
+<p>
+This will add 2 fields to the global table <tt>_extra_parameters</tt>:
+"VERSION", with the string value "5.1", and "HAVE_ZLIB" with the boolean value
+<tt>true</tt>. For the moment, there is no way to 'use' these values, except
+in custom scripts defined by the user (see
+<a href="#customizing">customizing tolua++</a> for details).
+
+<h4>Using C++ typeid</h4>
+
+Starting from version 1.0.92, the command line option <tt>-t</tt> is available,
+which generates a list of calls to the empty macro <tt>Mtolua_typeid</tt>, with its
+C++ <tt>type_info object</tt>, and the name used by tolua++ to identify the type. For example,
+if you have a package that binds 2 classes, <tt>Foo</tt> and <tt>Bar</tt>, using <tt>-t</tt>
+will produce the following output:
+
+<pre>
+#ifndef Mtolua_typeid
+#define Mtolua_typeid(L,TI,T)
+#endif
+ Mtolua_typeid(tolua_S,typeid(Foo), "Foo");
+ Mtolua_typeid(tolua_S,typeid(Bar), "Bar");
+</pre>
+
+The implementation of Mtolua_typename is left as an exercise to the user.
+
+<H3>
+<A NAME="utilities"></A>Exported utility functions</H3>
+<B>tolua </B>uses itself to export some utility functions to Lua, including
+its object-oriented framework. The package file used by <B>tolua </B>is
+
+shown below:
+<P><TT>module tolua</TT>
+<BR><TT>{</TT>
+<BR><TT>&nbsp;char* tolua_bnd_type @ type (lua_Object lo);</TT>
+
+<BR><TT>&nbsp;void tolua_bnd_takeownership @ takeownership (lua_Object lo);</TT>
+<BR><TT>&nbsp;void tolua_bnd_releaseownership @ releaseownership (lua_Object lo);</TT>
+
+<BR><TT>&nbsp;lua_Object tolua_bnd_cast @ cast (lua_Object lo, char* type);</TT>
+
+<BR><TT>&nbsp;void tolua_bnd_inherit @ inherit (lua_Object table, lua_Object instance);</TT>
+<p>
+<TT>/* for lua 5.1 */</tt>
+<BR><TT>&nbsp;void tolua_bnd_setpeer @ setpeer (lua_Object object, lua_Object peer_table);</TT>
+<BR><TT>&nbsp;void tolua_bnd_getpeer @ getpeer (lua_Object object);</TT>
+
+<BR><TT>}</TT>
+
+<H4>
+tolua.type (<I>var</I>)</H4>
+Returns a string representing the object type. For instance, <TT>tolua.type(tolua)</TT>
+returns the string <TT>table</TT> and <TT>tolua.type(tolua.type)</TT>
+returns <TT>cfunction</TT>. Similarly, if <TT>var </TT>is a variable holding
+a user defined type <TT>T</TT>, <TT>tolua.type(var)</TT> would return
+<TT>const
+T</TT> or <TT>T</TT>, depending whether it is a constant reference.
+<p>
+
+<h4>tolua.takeownership (<I>var</i>)</h4>
+
+Takes ownership of the object referenced <i>var</i>. This means that when all references
+to that object are lost, the objects itself will be deleted by lua.
+<p>
+
+<h4>tolua.releaseownership (<i>var</i>)</h4>
+
+Releases ownership of the object referenced by <i>var</i>.
+<p>
+
+<h4>tolua.cast (<i>var</i>, <i>type</i>)</h4>
+
+Changes the metatable of <i>var</i> in order to make it of type <i>type</i>. <i>type</i> needs
+to be a string with the complete C type of the object (including namespaces, etc).
+
+<h4>tolua.inherit (<i>table</i>, <i>var</i>)</h4> (new on <b>tolua++</b>)
+
+Causes <b>tolua++</b> to recognise <i>table</i> as an object with the same type as <i>var</i>,
+and to use <i>var</i> when necesary. For example, consider this method:
+<p>
+
+<ul><tt>void set_parent(Widget* p_parent);</tt></ul>
+<p>
+
+A lua object could be used like this:
+<p>
+
+<pre>
+local w = Widget()
+local lua_widget = {}
+tolua.inherit(lua_widget, w)
+
+set_parent(lua_widget);
+
+</pre>
+
+Remember that this will only cause the table to be recognised as type 'Widget' when
+necesary. To be able to access Widget's methods, you'll have to implement your own
+object system. A simple example:
+<p>
+
+<pre>
+
+lua_widget.show = Widget.show
+
+lua_widget:show() -- this will call the 'show' method from 'Widget', using the lua
+ -- table as 'self'. Since lua_widget inherits from a widget instance,
+ -- tolua++ will recognise 'self' as a 'Widget', and call the method
+
+</pre>
+<p>
+
+Of course a better way would be to add a __index metamethod for the lua object.
+<p>
+
+Similarily, to implement virtual functions, you'll need to create a c++ object that inherits
+from the desired type, implement its virtual functions, and use that to inherit from lua. The
+object would have a reference to the lua table, and call its methods from the c++ virtual
+methods.
+<p>
+
+<b>Note:</b> the current implementation (as of version 1.0.6) stores the C instance
+inside the lua table on the field ".c_instance", and looks that up when necesary. This
+might change in the future, so it is recommended to use an alternative way to store the
+C instance to use with your own object system.
+
+<h4>tolua.setpeer (<i>object</i>, <i>peer_table</i>) (lua 5.1 only)</h4>
+
+Sets the table as the object's <i>peer</i> table (can be <tt>nil</tt>). The peer table is where all the custom
+lua fields for the object are stored. When compiled with lua 5.1, <b>tolua++</b> stores the
+peer as the object's <i>envirnment table</i>, and uses uses <tT>lua_gettable/settable</tT> (instead of
+<tt>lua_rawget/set</tt> for lua 5.0) to retrieve and store fields on it. This allows us to implement our own
+object system on our table (using metatables), and use it as a way to inherit from the userdata object.
+Consider an alternative to the previous example:
+
+<pre>
+-- a 'LuaWidget' class
+LuaWidget = {}
+LuaWidget.__index = LuaWidget
+
+function LuaWidget:add_button(caption)
+
+ -- add a button to our widget here. 'self' will be the userdata Widget
+end
+
+
+local w = Widget()
+local t = {}
+setmetatable(t, LuaWidget) -- make 't' an instance of LuaWidget
+
+tolua.setpeer(w, t) -- make 't' the peer table of 'w'
+
+set_parent(w) -- we use 'w' as the object now
+
+w:show() -- a method from 'Widget'
+w:add_button("Quit") -- a method from LuaWidget (but we still use 'w' to call it)
+</pre>
+
+When indexing our object, the peer table (if present) will be consulted first, so we
+don't need to implement our own __index metamethod to call the C++ functions.
+
+<h4>tolua.getpeer (<i>object</i>) (lua 5.1 only)</h4>
+
+Retrieves the peer table from the object (can be <tt>nil</tt>).
+
+<!--
+<H3>
+<A NAME="utilities"></A>Exported utility functions</H3>
+<B>tolua </B>uses itself to export some utility functions to Lua, including
+its object-oriented framework. The package file used by <B>tolua </B>is
+shown below:
+<P><TT>module tolua</TT>
+<BR><TT>{</TT>
+<BR><TT>&nbsp;void tolua_using @ using (lua_Table module);</TT>
+<BR><TT>&nbsp;char* tolua_type @ type (lua_Object lo);</TT>
+<BR><TT>&nbsp;void tolua_foreach @ foreach (lua_Object lo, lua_Function
+f);</TT>
+<BR><TT>&nbsp;void tolua_class @ class (lua_Table derived, lua_Table base=TOLUA_NIL);</TT>
+<BR><TT>&nbsp;void tolua_instance @ instance (lua_Table instance, lua_Table
+classobj);</TT>
+<BR><TT>&nbsp;lua_Object tolua_base @ base (lua_Object lo);</TT>
+<BR><TT>}</TT>
+<H4>
+tolua.using (<I>table</I>)</H4>
+This functions receives a table and maps all its fields to the global environment.
+Thus we can map an entire module and access its features without the module
+prefix. For instance, if in our Lua code we do:
+<P><TT>tolua.using(tolua)</TT>
+<P>all <B>tolua </B>utility functions are mapped to the global environment.
+<H4>
+tolua.type (<I>var</I>)</H4>
+Returns a string representing the object type. For instance, <TT>tolua.type(tolua)</TT>
+returns the string <TT>generic module</TT> and <TT>tolua.type(tolua.type)</TT>
+returns <TT>cfunction</TT>. Similarly, if <TT>var </TT>is a variable holding
+a user defined type <TT>T</TT>, <TT>tolua.type(var)</TT> would return
+<TT>const
+T</TT> or <TT>T</TT>, depending whether it is a constant reference.
+<H4>
+tolua.tag (<I>"type"</I>)</H4>
+Returns type corresponding tag number.
+<H4>
+tolua.foreach (<I>object</I>)</H4>
+Allows us to traverse the conjugate table of an user defined instance.
+If applied to conventional table, it has a similar behavior as the Lua
+built-in <TT>foreach </TT>function. The difference is that this function
+filters all fields starting with a dot, not passing them to the provided
+callback function. This filter is need because <B>tolua </B>adds "hidden"
+fields to the tables it manipulates, and all its "hidden" fields start
+with a dot.
+<H4>
+tolua.cast (<I>object, "typename"</I>)</H4>
+Returns the object "casted" to the given type. The object must represent
+an user type, otherwise the function returns <B><TT>nil</TT></B>.
+<H4>
+tolua.takeownership (<I>object</I>)</H4>
+Asks <B>tolua</B> to take the ownership of the given object. This means
+the C/C++ object will be freed/ destructed when garbage-collected by Lua.&nbsp;
+The object must represent an user type, otherwise an execution error is
+generated.
+<H4>
+tolua.class (<I>table</I>, <I>base=nil</I>)</H4>
+Creates a class by setting the appropriate tag methods to the given table.
+The created class can inherit from a base class, previously created.
+<H4>
+tolua.instance (<I>table</I>, <I>class</I>)</H4>
+Sets the given table to be an instance of the given class. This and the
+previous utility functions allow object-oriented programming in Lua. As
+an example consider:
+<P><TT>-- define a Point class</TT>
+<BR><TT>classPoint = { x=0, y=0 }</TT>
+<BR><TT>tolua.class(classPoint) -- set as a class</TT>
+<P><TT>-- define print method</TT>
+<BR><TT>function classPoint:print ()</TT>
+<BR><TT>&nbsp;&nbsp; print(self.x,self.y)</TT>
+<BR><TT>end</TT>
+<P><TT>-- define add method</TT>
+<BR><TT>function classPoint:add (p2)</TT>
+<BR><TT>&nbsp;&nbsp; return Point{x=self.x+p2.x,y=self.y+p2.y}</TT>
+<BR><TT>end</TT>
+<P><TT>-- define a Point constructor</TT>
+<BR><TT>function Point (p)</TT>
+<BR><TT>&nbsp;&nbsp; tolua.instance(p,classPoint) -- set as an instance
+of classPoint</TT>
+<BR><TT>return p end</TT>
+<P><TT>-- define a Color Point class</TT>
+<BR><TT>classColorPoint = { color = 'black' }</TT>
+<BR><TT>tolua.class(classColorPoint,classPoint) -- set as class inheriting
+from classPoint</TT>
+<P><TT>-- define class methods</TT>
+<BR><TT>function classColorPoint:print ()</TT>
+<BR><TT>&nbsp;&nbsp; print(self.x,self.y,self.color)</TT>
+<BR><TT>end</TT>
+<P><TT>-- define Color Point constructor</TT>
+<BR><TT>function ColorPoint (p)</TT>
+<BR><TT>&nbsp;&nbsp; tolua.instance(p,classColorPoint) -- set as an instance
+of classColorPoint</TT>
+<BR><TT>&nbsp;&nbsp; return p</TT>
+<BR><TT>end</TT>
+<P><TT>-- Some valid codes would then be</TT>
+<BR><TT>p = Point{x=1}</TT>
+<BR><TT>q = ColorPoint{x=2,y=3,color=2}</TT>
+<BR><TT>r = p:add(q)</TT>
+<BR><TT>r:print() --&gt; would print "3 3"</TT>
+<BR>&nbsp;
+-->
+
+<H3>
+<A NAME="embedded"></A>Embedded Lua code</H3>
+<B>tolua</B> allows us to embed Lua code in the C/C++ generated code. To
+do that, it compiles the specified Lua code and creates a C constant string,
+storing the corresponding bytecodes, in the generated code.&nbsp; When
+the package is opened, such a string is executed. The format to embed Lua
+code is:
+<P><B><TT>$[</TT></B>
+<P><I><TT>embedded Lua code</TT></I>
+<BR><I><TT>...</TT></I>
+<P><B><TT>$]</TT></B>
+<P>As an example consider the following .pkg excerpt:
+<P><TT>/* Bind a Point class */</TT>
+<BR><TT>class Point</TT>
+<BR><TT>{</TT>
+<BR><TT>&nbsp;Point (int x, int y);</TT>
+<BR><TT>&nbsp;~Point ();</TT>
+<BR><TT>&nbsp;void print ();</TT>
+<BR><TT>&nbsp;...</TT>
+<BR><TT>} CPoint;</TT>
+<P><TT>$[</TT>
+<P><TT>-- Create a Point constructor</TT>
+<BR><TT>function Point (self)</TT>
+<BR><TT>&nbsp;local cobj = CPoint:new(self.x or 0, self.y or 0)</TT>
+<BR><TT>&nbsp;tolua.takeownership(cobj)</TT>
+<BR><TT>&nbsp;return cobj</TT>
+<BR><TT>end</TT>
+<P><TT>$]</TT>
+<P>Binding such a code would allow us to write the following Lua code:
+<P><TT>p = Point{ x=2, y=3 }</TT>
+<BR><TT>p:print()</TT>
+<BR><TT>...</TT>
+<BR>&nbsp;
+
+<h3><a name="customizing"></a>Customizing tolua++</h3>
+<p>
+
+<b>tolua++</b> calls empty functions at specific points of its execution. This functions
+can be redefined on a separate lua file (and included using the -L command line option)
+and be used to control the way <b>tolua++</b> behaves. This is the list of functions
+(taken from basic.lua on the <b>tolua++</b> source):
+<p>
+
+<PRE>
+
+-- called right after processing the $[ichl]file directives,
+-- right before processing anything else
+-- takes the package object as the parameter
+function preprocess_hook(p)
+ -- p.code has all the input code from the pkg
+end
+
+
+-- called for every $ifile directive
+-- takes a table with a string called 'code' inside, the filename, and any extra arguments
+-- passed to $ifile. no return value
+function include_file_hook(t, filename, ...)
+
+end
+
+-- called after processing anything that's not code (like '$renaming', comments, etc)
+-- and right before parsing the actual code.
+-- takes the Package object with all the code on the 'code' key. no return value
+function preparse_hook(package)
+
+end
+
+
+-- called after writing all the output.
+-- takes the Package object
+function post_output_hook(package)
+
+end
+
+-- called at the beginning of the main parser function, with the code being parsed as a parameter
+-- it can return nil if nothing was foind, or the contents of 'code', modified by the function
+-- Usually a parser hook will search the beginning of the string for a token, and if it finds
+-- anything, return the string without that token (after doing whatever it has to do with the token).
+function parser_hook(code)
+
+end
+
+
+-- called from classFunction:supcode, before the call to the function is output
+-- the classFunction object is passed.
+function pre_call_hook(f)
+
+end
+
+-- called from classFunction:supcode, after the call to the function is output
+-- the classFunction object is passed.
+function post_call_hook(f)
+
+end
+
+-- called before the register code is output
+function pre_register_hook(package)
+
+end
+
+-- called to output an error message
+function output_error_hook(...)
+ return string.format(...)
+end
+
+
+</PRE>
+<p>
+
+<h4>Handling custom types</h4>
+
+Starting from version 1.0.93, it is possible to specify custom functions to handle certain types. There are 3
+types of functions: a <tt>'push function'</tt>, used to push the C value onto the Lua stack, a <tt>'to function'</tt>,
+used to retrieve the value from the Lua stack, and return it as a C value, and an <tt>'is function'</tt>, used to
+check if the value on the stack is valid (or convertible to a C value by the <tt>to function</tt>). These functions are modelled upon
+<tt>tolua_pushusertype</tt>, <tt>tolua_tousertype</tt> and <tt>tolua_isusertype</tt>, declared in <tt>tolua++.h</tt>.
+<p>
+A number of arrays found in <tt>basic.lua</tt> are used to specify these functions:
+<p>
+
+<PRE>
+-- for specific types
+_push_functions = {}
+_is_functions = {}
+_to_functions = {}
+
+-- for base types
+_base_push_functions = {}
+_base_is_functions = {}
+_base_to_functions = {}
+</PRE>
+
+<b>Example (using the -L command line option):</b>
+<p>
+
+<PRE>
+_is_functions['Vector3'] = 'custom_is_vector3' -- checks for a 3d vector
+ -- (either userdata, or a table with 3 values)
+_to_functions['Vector3'] = 'custom_to_vector3' -- convertes the eventual table to a Vector3
+
+_base_push_functions['Widget'] = 'custom_push_widget' -- pushes anything that inherits from Widget
+</PRE>
+
+The <tt>_base</tt> tables are used to lookup functions for types that are up in the inheritance chain.
+
+<h4>Access</h4>
+
+Starting from version 1.0.7, all objects have a an <tt>access</tt> flag, which determines the object's access
+inside its container. Container objects also have a member called <tt>curr_member_access</tt>, which determines
+the access of each child object at the moment of its addition to the container. If the <tt>access</tt> flag has
+the value <tt>nil</tt> (default), <tt>false</tt> or <tt>0</tt>, the object is public. Otherwise, the object
+is not public, and <b>tolua++</b> will not export any code for that object (and any objects it may contain).
+<p>
+
+Another 'interesting' function is <tt>extract_code</tt>, defined on basic.lua, which
+extracs the code from files included with $cfile and $hfile (by looking for tolua_begin/end and tolua_export).
+<p>
+
+<h3><a name="compatibility"></a>Compatibility with older versions.</h3>
+
+<h4>tolua++ &lt;1.0.90</h4>
+<p>
+Version 1.0.90 of <b>tolua++</b> introduces 2 small API changes the might be incompatible
+with older versions on some cases:
+<p>
+<b>TEMPLATE_BIND</b>
+<p>
+<tt>TEMPLATE_BIND</tt> is deprecated. Use <tt>TOLUA_TEMPLATE_BIND</tt> instead. Also, when
+declaring a template, the <tt>TOLUA_TEMPLATE_BIND</tt> statement has to be the first thing
+inside the class declaration, otherwise it will be ignored. This fixes a possible problem
+with nested template declarations.
+<p>
+
+<b>Retrieving Objects</b>
+<p>
+
+When passing a full userdata to a function that accepts light userdata parameters (void*),
+the <b>tolua++</b> library function <tt>tolua_touserdata</tt> will detect the full userdata and dereference
+the void** pointer if necesary. This is a change on the function's behaviour (which used to return the pointer as-is). This allows us to pass pointers to objects to a function that accepts
+void* pointers. Note that this was a problem when switching from <b>toLua</b> version 4 to version 5 (and <b>tolua++</b> versions &lt; 1.0.90).
+
+<h4>toLua 4</h4>
+<p>
+
+<b>Retrieving Objects</b>
+<p>
+
+Users switching from <b>tolua</b> v4 should know that <b>tolua++</b> stores the objects as
+<tt>void**</tt> on Lua, so when retrieving an object from the luastate using <tt>lua_touserdata</tt>,
+the pointer should be dereferenced. The library function <tt>tolua_tousertype</tt>
+should work as expected. Example:
+<p>
+
+<pre>
+lua_pushglobal(lua_state, "get_Object");
+lua_call(lua_state, 0, 1); // calling a function that returns an Object
+
+Object *new_object = (Object*)(*lua_touserdata(lua_state, -1));
+<i>or</i>
+Object *new_object = (Object*)tolua_tousertype(lua_state, -1, NULL);
+</pre>
+
+<b>C++ Strings</b>
+<p>
+
+<b>tolua++</b> binds the c++ type <tt>std::string</tt> as a basic type, passing it
+to Lua as a regular string (using the method <tt>c_str()</tt>). This feature can be
+turned off with the command line option <tt>-S</tt>.
+<p>
+
+<b>Operators</b>
+<p>
+
+The list of supported operators has changed, see <a href="#classes">Binding classes and methods</a>
+for more information.
+<p>
+
+<h4>toLua 5</h4>
+<p>
+
+<b>Class destructors.</b>
+<p>
+
+With every class constructor, <b>tolua++</b> exports a 'local' constructor, to create an instance
+of the class that is owned by the lua state. To implement this, <b>tolua++</b> will also export
+a function that will <tt>delete</tt> the class. There are 2 options to prevent this:
+<p>
+
+Using the <b>-D</b> command line option will turn this off completely. Destructor functions will
+only be exported when a destructor for the class is explicitly declared, or when there is a function
+or method that returns an object of the type by value (this is compatible with <b>tolua</b>'s behaviour).
+<p>
+
+Using the <tt>TOLUA_PROTECTED_DESTRUCTOR</tt> directive inside the class declaration, to specify that the
+class has a private or protected destructor. In this case, no destructor will be exported for that class.
+<p>
+
+<b><tt>operator[]</tt> index</b>
+<p>
+
+Users switching from <b>tolua</b> v5 should know that <b>tolua</b> 5 substracts 1
+from the index on operator[] functions, for compatibility with lua's method for indexing arrays
+(1 is the first element). This feature is turned off by default on <b>tolua++</b>
+(making it compatible with <b>tolua</b> 4). It can be turned back on with the
+command line option <tt>-1</tt>
+<p>
+
+<b>C++ Strings</b>
+<p>
+
+(see c++ strings on <b>tolua</b> 4 below)
+
+
+<H3>
+<A NAME="changes-v30"></A>Changes since v. 3.0</H3>
+
+<ul>
+
+<LI>
+Support for binding arrays as variables and struct/class fields;</LI>
+
+<LI>
+Support for embedding Lua code into the generated binding code;</LI>
+
+<LI>
+New utility functions: <I>cast</I> and <I>takeownership</I>;</LI>
+
+<LI>
+Option to create the corresponding header file of the binding code;</LI>
+
+<LI>
+New "close" package function;</LI>
+
+<LI>
+Fixed bug on cloning objects in C++;</LI>
+
+<LI>
+Fixed bug on enum and struct parsing;</LI>
+</ul>
+<H3>
+<A NAME="changes-v2"></A>Changes since v. 2.0</H3>
+<ul>
+
+<LI>
+There is a new executable parser;</LI>
+
+<LI>
+Support for multiple Lua states is provided;</LI>
+
+<LI>
+Support for module definition is provided;</LI>
+
+<LI>
+Global variables is now directly bound to Lua global variables;</LI>
+
+<LI>
+Constness of user defined types is preserved in Lua;</LI>
+
+<LI>
+Support for multiple returned values from C/C++ is provided (simulating
+parameters passed by reference);</LI>
+
+<LI>
+Constants, variables, and functions bound to Lua can have different names
+from their C/C++ counterparts;</LI>
+
+<LI>
+Object-oriented framework (and other utility functions) used in <B>tolua
+</B>is
+now exported for Lua programmers;</LI>
+
+<H4>
+Incompatibilities</H4>
+Lua code based on <B>tolua</B> v2.* should run with no change on <B>tolua
+</B>v3.0.
+Although, it may be necessary to change the .pkg file in order to get the
+same behavior. The following incompatibilities exist:
+<UL>
+<LI>
+Parameters defined as pointer to basic types are no longer converted to
+arrays of dimension one; they are now considered parameters passed by reference.</LI>
+
+<LI>
+Automatic initialization for C++ code must be explicitly requested when
+using the new parser;</LI>
+
+<LI>
+Global variables are no longer mapped to a table; the definition of a module
+including the global variables may be used to simulate the old behavior;</LI>
+
+<LI>
+The initialization function is no longer toLua_<I>package</I>_open but
+tolua_<I>package</I>_open, without the capital letter (sorry!).</LI>
+</UL>
+</ul>
+<H3>
+<A NAME="changes-v1"></A>Changes since v. 1.*</H3>
+
+<ul>
+<LI>
+The binding code should run much faster;</LI>
+
+<LI>
+The <I>cleaned header file </I>extension should now be <TT>.pkg</TT> instead
+of <TT>.L</TT>;</LI>
+
+<LI>
+Type modifiers is now accepted (though the current version ignores
+<TT>const</TT>'s);</LI>
+
+<LI>
+Returning object by value is accepted and memory allocation is controlled
+by Lua garbage collection;</LI>
+
+<LI>
+Overloaded functions/methods are accepted;</LI>
+
+<LI>
+Parameters with default values are accepted;</LI>
+
+<LI>
+Some overloaded operators are automatically bound.</LI>
+</ul>
+
+<H3>
+<A NAME="credits"></A>Credits</H3>
+Luiz Henrique de Figueiredo had the idea of creating a tool to automatically
+bind C code to Lua. L.H.F. wrote the very first version of such a tool
+(that bound C functions, variables, and constants) in <I>awk</I>. At that
+time, Waldemar Celes (now the main author) was only responsible for the C code that supported the generated
+binding code.
+<p>
+While working at NGD Studios, Ariel Manzur made some changes to tolua4 for their
+game engine. After the release of tolua5, having left NGD, enough changes were
+made to tolua to justify a separate release (with Waldemar's blessing :-)
+<BR>&nbsp;
+<H3>
+<A NAME="availability"></A><B>Availability</B></H3>
+<B>tolua++ </B>is freely available by <A HREF="http://www.codenix.com/~tolua/tolua++-current.tar.bz2">http</A>.
+The software provided hereunder is on an "as is" basis, and the author
+has no obligation to provide maintenance, support, updates, enhancements,
+or modifications.
+<P>
+<HR WIDTH="100%">This document was created by <A HREF="http://www.tecgraf.puc-rio.br/~celes/">Waldemar Celes</A>
+With modifications by <a href="http://www.codenix.com/index.php?section=contact">Ariel Manzur</a>/
+<BR>Last update: Sept 2003<BODT>
+</BODY>
+</HTML>
diff --git a/ThirdParty/toluapp/doc/toluapp.gif b/ThirdParty/toluapp/doc/toluapp.gif
new file mode 100644
index 0000000..b9f6f34
--- /dev/null
+++ b/ThirdParty/toluapp/doc/toluapp.gif
Binary files differ
diff --git a/ThirdParty/toluapp/include/tolua++.h b/ThirdParty/toluapp/include/tolua++.h
new file mode 100644
index 0000000..ed53449
--- /dev/null
+++ b/ThirdParty/toluapp/include/tolua++.h
@@ -0,0 +1,186 @@
+/* tolua
+** Support code for Lua bindings.
+** Written by Waldemar Celes
+** TeCGraf/PUC-Rio
+** Apr 2003
+** $Id: $
+*/
+
+/* This code is free software; you can redistribute it and/or modify it.
+** The software provided hereunder is on an "as is" basis, and
+** the author has no obligation to provide maintenance, support, updates,
+** enhancements, or modifications.
+*/
+
+
+#ifndef TOLUA_H
+#define TOLUA_H
+
+#ifndef TOLUA_API
+#define TOLUA_API extern
+#endif
+
+#define TOLUA_VERSION "tolua++-1.0.92"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define tolua_pushcppstring(x,y) tolua_pushstring(x,y.c_str())
+#define tolua_iscppstring tolua_isstring
+
+#define tolua_iscppstringarray tolua_isstringarray
+#define tolua_pushfieldcppstring(L,lo,idx,s) tolua_pushfieldstring(L, lo, idx, s.c_str())
+
+#ifndef TEMPLATE_BIND
+ #define TEMPLATE_BIND(p)
+#endif
+
+#define TOLUA_TEMPLATE_BIND(p)
+
+#define TOLUA_PROTECTED_DESTRUCTOR
+#define TOLUA_PROPERTY_TYPE(p)
+
+typedef int lua_Object;
+
+#include "lua.h"
+#include "lauxlib.h"
+
+struct tolua_Error
+{
+ int index;
+ int array;
+ const char* type;
+};
+typedef struct tolua_Error tolua_Error;
+
+#define TOLUA_NOPEER LUA_REGISTRYINDEX /* for lua 5.1 */
+
+TOLUA_API const char* tolua_typename (lua_State* L, int lo);
+TOLUA_API void tolua_error (lua_State* L, const char* msg, tolua_Error* err);
+TOLUA_API int tolua_isnoobj (lua_State* L, int lo, tolua_Error* err);
+TOLUA_API int tolua_isvalue (lua_State* L, int lo, int def, tolua_Error* err);
+TOLUA_API int tolua_isvaluenil (lua_State* L, int lo, tolua_Error* err);
+TOLUA_API int tolua_isboolean (lua_State* L, int lo, int def, tolua_Error* err);
+TOLUA_API int tolua_isnumber (lua_State* L, int lo, int def, tolua_Error* err);
+TOLUA_API int tolua_isstring (lua_State* L, int lo, int def, tolua_Error* err);
+TOLUA_API int tolua_istable (lua_State* L, int lo, int def, tolua_Error* err);
+TOLUA_API int tolua_isusertable (lua_State* L, int lo, const char* type, int def, tolua_Error* err);
+TOLUA_API int tolua_isuserdata (lua_State* L, int lo, int def, tolua_Error* err);
+TOLUA_API int tolua_isusertype (lua_State* L, int lo, const char* type, int def, tolua_Error* err);
+TOLUA_API int tolua_isvaluearray
+ (lua_State* L, int lo, int dim, int def, tolua_Error* err);
+TOLUA_API int tolua_isbooleanarray
+ (lua_State* L, int lo, int dim, int def, tolua_Error* err);
+TOLUA_API int tolua_isnumberarray
+ (lua_State* L, int lo, int dim, int def, tolua_Error* err);
+TOLUA_API int tolua_isstringarray
+ (lua_State* L, int lo, int dim, int def, tolua_Error* err);
+TOLUA_API int tolua_istablearray
+ (lua_State* L, int lo, int dim, int def, tolua_Error* err);
+TOLUA_API int tolua_isuserdataarray
+ (lua_State* L, int lo, int dim, int def, tolua_Error* err);
+TOLUA_API int tolua_isusertypearray
+ (lua_State* L, int lo, const char* type, int dim, int def, tolua_Error* err);
+
+TOLUA_API void tolua_open (lua_State* L);
+
+TOLUA_API void* tolua_copy (lua_State* L, void* value, unsigned int size);
+TOLUA_API int tolua_register_gc (lua_State* L, int lo);
+TOLUA_API int tolua_default_collect (lua_State* tolua_S);
+
+TOLUA_API void tolua_usertype (lua_State* L, const char* type);
+TOLUA_API void tolua_beginmodule (lua_State* L, const char* name);
+TOLUA_API void tolua_endmodule (lua_State* L);
+TOLUA_API void tolua_module (lua_State* L, const char* name, int hasvar);
+TOLUA_API void tolua_class (lua_State* L, const char* name, const char* base);
+TOLUA_API void tolua_cclass (lua_State* L, const char* lname, const char* name, const char* base, lua_CFunction col);
+TOLUA_API void tolua_function (lua_State* L, const char* name, lua_CFunction func);
+TOLUA_API void tolua_constant (lua_State* L, const char* name, lua_Number value);
+TOLUA_API void tolua_variable (lua_State* L, const char* name, lua_CFunction get, lua_CFunction set);
+TOLUA_API void tolua_array (lua_State* L,const char* name, lua_CFunction get, lua_CFunction set);
+
+/* TOLUA_API void tolua_set_call_event(lua_State* L, lua_CFunction func, char* type); */
+/* TOLUA_API void tolua_addbase(lua_State* L, char* name, char* base); */
+
+TOLUA_API void tolua_pushvalue (lua_State* L, int lo);
+TOLUA_API void tolua_pushboolean (lua_State* L, int value);
+TOLUA_API void tolua_pushnumber (lua_State* L, lua_Number value);
+TOLUA_API void tolua_pushstring (lua_State* L, const char* value);
+TOLUA_API void tolua_pushuserdata (lua_State* L, void* value);
+TOLUA_API void tolua_pushusertype (lua_State* L, void* value, const char* type);
+TOLUA_API void tolua_pushusertype_and_takeownership(lua_State* L, void* value, const char* type);
+TOLUA_API void tolua_pushfieldvalue (lua_State* L, int lo, int index, int v);
+TOLUA_API void tolua_pushfieldboolean (lua_State* L, int lo, int index, int v);
+TOLUA_API void tolua_pushfieldnumber (lua_State* L, int lo, int index, lua_Number v);
+TOLUA_API void tolua_pushfieldstring (lua_State* L, int lo, int index, const char* v);
+TOLUA_API void tolua_pushfielduserdata (lua_State* L, int lo, int index, void* v);
+TOLUA_API void tolua_pushfieldusertype (lua_State* L, int lo, int index, void* v, const char* type);
+TOLUA_API void tolua_pushfieldusertype_and_takeownership (lua_State* L, int lo, int index, void* v, const char* type);
+
+TOLUA_API lua_Number tolua_tonumber (lua_State* L, int narg, lua_Number def);
+TOLUA_API const char* tolua_tostring (lua_State* L, int narg, const char* def);
+TOLUA_API void* tolua_touserdata (lua_State* L, int narg, void* def);
+TOLUA_API void* tolua_tousertype (lua_State* L, int narg, void* def);
+TOLUA_API int tolua_tovalue (lua_State* L, int narg, int def);
+TOLUA_API int tolua_toboolean (lua_State* L, int narg, int def);
+TOLUA_API lua_Number tolua_tofieldnumber (lua_State* L, int lo, int index, lua_Number def);
+TOLUA_API const char* tolua_tofieldstring (lua_State* L, int lo, int index, const char* def);
+TOLUA_API void* tolua_tofielduserdata (lua_State* L, int lo, int index, void* def);
+TOLUA_API void* tolua_tofieldusertype (lua_State* L, int lo, int index, void* def);
+TOLUA_API int tolua_tofieldvalue (lua_State* L, int lo, int index, int def);
+TOLUA_API int tolua_getfieldboolean (lua_State* L, int lo, int index, int def);
+
+TOLUA_API void tolua_dobuffer(lua_State* L, char* B, unsigned int size, const char* name);
+
+TOLUA_API int class_gc_event (lua_State* L);
+
+#ifdef __cplusplus
+static inline const char* tolua_tocppstring (lua_State* L, int narg, const char* def) {
+
+ const char* s = tolua_tostring(L, narg, def);
+ return s?s:"";
+};
+
+static inline const char* tolua_tofieldcppstring (lua_State* L, int lo, int index, const char* def) {
+
+ const char* s = tolua_tofieldstring(L, lo, index, def);
+ return s?s:"";
+};
+
+#else
+#define tolua_tocppstring tolua_tostring
+#define tolua_tofieldcppstring tolua_tofieldstring
+#endif
+
+TOLUA_API int tolua_fast_isa(lua_State *L, int mt_indexa, int mt_indexb, int super_index);
+
+#ifndef Mtolua_new
+#define Mtolua_new(EXP) new EXP
+#endif
+
+#ifndef Mtolua_delete
+#define Mtolua_delete(EXP) delete EXP
+#endif
+
+#ifndef Mtolua_new_dim
+#define Mtolua_new_dim(EXP, len) new EXP[len]
+#endif
+
+#ifndef Mtolua_delete_dim
+#define Mtolua_delete_dim(EXP) delete [] EXP
+#endif
+
+#ifndef tolua_outside
+#define tolua_outside
+#endif
+
+#ifndef tolua_owned
+#define tolua_owned
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/ThirdParty/toluapp/libtoluapp.def b/ThirdParty/toluapp/libtoluapp.def
new file mode 100644
index 0000000..25b1b17
--- /dev/null
+++ b/ThirdParty/toluapp/libtoluapp.def
@@ -0,0 +1,65 @@
+EXPORTS
+class_gc_event
+push_table_instance
+tolua_array
+tolua_beginmodule
+tolua_cclass
+tolua_classevents
+tolua_constant
+tolua_copy
+tolua_default_collect
+tolua_dobuffer
+tolua_endmodule
+tolua_error
+tolua_fast_isa
+tolua_function
+tolua_getfieldboolean
+tolua_isboolean
+tolua_isbooleanarray
+tolua_ismodulemetatable
+tolua_isnoobj
+tolua_isnumber
+tolua_isnumberarray
+tolua_isstring
+tolua_isstringarray
+tolua_istable
+tolua_istablearray
+tolua_isuserdata
+tolua_isuserdataarray
+tolua_isusertable
+tolua_isusertype
+tolua_isusertypearray
+tolua_isvalue
+tolua_isvaluearray
+tolua_module
+tolua_moduleevents
+tolua_open
+tolua_pushboolean
+tolua_pushfieldboolean
+tolua_pushfieldnumber
+tolua_pushfieldstring
+tolua_pushfielduserdata
+tolua_pushfieldusertype
+tolua_pushfieldusertype_and_takeownership
+tolua_pushfieldvalue
+tolua_pushnumber
+tolua_pushstring
+tolua_pushuserdata
+tolua_pushusertype
+tolua_pushusertype_and_takeownership
+tolua_pushvalue
+tolua_register_gc
+tolua_toboolean
+tolua_tofieldnumber
+tolua_tofieldstring
+tolua_tofielduserdata
+tolua_tofieldusertype
+tolua_tofieldvalue
+tolua_tonumber
+tolua_tostring
+tolua_touserdata
+tolua_tousertype
+tolua_tovalue
+tolua_typename
+tolua_usertype
+tolua_variable
diff --git a/ThirdParty/toluapp/src/bin/SCsub b/ThirdParty/toluapp/src/bin/SCsub
new file mode 100644
index 0000000..35ccd7a
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/SCsub
@@ -0,0 +1,12 @@
+Import('env')
+
+src = [
+ env.Object('tolua.c'),
+ ]
+
+
+toluabind = env.LuaBinding('toluabind.c', 'tolua_scons.pkg', 'tolua', bootstrap = True)
+
+env.bin_target = env.Program('#/bin/'+env['tolua_bin'], src + [toluabind], LIBS = ['$tolua_lib'] + env['LIBS'])
+
+env.bootstrap_target = env.Program('#/bin/'+env['TOLUAPP_BOOTSTRAP'], src + ['toluabind_default.c', env.lib_target_static], LIBS = env['LIBS'])
diff --git a/ThirdParty/toluapp/src/bin/lua/all.lua b/ThirdParty/toluapp/src/bin/lua/all.lua
new file mode 100644
index 0000000..83f8a3c
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/lua/all.lua
@@ -0,0 +1,30 @@
+dofile(path.."compat-5.1.lua")
+dofile(path.."compat.lua")
+dofile(path.."basic.lua")
+dofile(path.."feature.lua")
+dofile(path.."verbatim.lua")
+dofile(path.."code.lua")
+dofile(path.."typedef.lua")
+dofile(path.."container.lua")
+dofile(path.."package.lua")
+dofile(path.."module.lua")
+dofile(path.."namespace.lua")
+dofile(path.."define.lua")
+dofile(path.."enumerate.lua")
+dofile(path.."declaration.lua")
+dofile(path.."variable.lua")
+dofile(path.."array.lua")
+dofile(path.."function.lua")
+dofile(path.."operator.lua")
+dofile(path.."template_class.lua")
+dofile(path.."class.lua")
+dofile(path.."clean.lua")
+--dofile(path.."custom.lua")
+dofile(path.."doit.lua")
+
+local err,msg = xpcall(doit, debug.traceback)
+if not err then
+--print("**** msg is "..tostring(msg))
+ local _,_,label,msg = strfind(msg,"(.-:.-:%s*)(.*)")
+ tolua_error(msg,label)
+end
diff --git a/ThirdParty/toluapp/src/bin/lua/array.lua b/ThirdParty/toluapp/src/bin/lua/array.lua
new file mode 100644
index 0000000..f35aa98
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/lua/array.lua
@@ -0,0 +1,233 @@
+-- tolua: array class
+-- Written by Waldemar Celes
+-- TeCGraf/PUC-Rio
+-- Jul 1999
+-- $Id: array.lua,v 1.1 2000/11/06 22:03:57 celes Exp $
+
+-- This code is free software; you can redistribute it and/or modify it.
+-- The software provided hereunder is on an "as is" basis, and
+-- the author has no obligation to provide maintenance, support, updates,
+-- enhancements, or modifications.
+
+
+-- Array class
+-- Represents a extern array variable or a public member of a class.
+-- Stores all fields present in a declaration.
+classArray = {
+}
+classArray.__index = classArray
+setmetatable(classArray,classDeclaration)
+
+-- Print method
+function classArray:print (ident,close)
+ print(ident.."Array{")
+ print(ident.." mod = '"..self.mod.."',")
+ print(ident.." type = '"..self.type.."',")
+ print(ident.." ptr = '"..self.ptr.."',")
+ print(ident.." name = '"..self.name.."',")
+ print(ident.." def = '"..self.def.."',")
+ print(ident.." dim = '"..self.dim.."',")
+ print(ident.." ret = '"..self.ret.."',")
+ print(ident.."}"..close)
+end
+
+-- check if it is a variable
+function classArray:isvariable ()
+ return true
+end
+
+
+-- get variable value
+function classArray:getvalue (class,static)
+ if class and static then
+ return class..'::'..self.name..'[tolua_index]'
+ elseif class then
+ return 'self->'..self.name..'[tolua_index]'
+ else
+ return self.name..'[tolua_index]'
+ end
+end
+
+-- Write binding functions
+function classArray:supcode ()
+ local class = self:inclass()
+
+ -- get function ------------------------------------------------
+ if class then
+ output("/* get function:",self.name," of class ",class," */")
+ else
+ output("/* get function:",self.name," */")
+ end
+ self.cgetname = self:cfuncname("tolua_get")
+ output("#ifndef TOLUA_DISABLE_"..self.cgetname)
+ output("\nstatic int",self.cgetname,"(lua_State* tolua_S)")
+ output("{")
+ output(" int tolua_index;")
+
+ -- declare self, if the case
+ local _,_,static = strfind(self.mod,'^%s*(static)')
+ if class and static==nil then
+ output(' ',self.parent.type,'*','self;')
+ output(' lua_pushstring(tolua_S,".self");')
+ output(' lua_rawget(tolua_S,1);')
+ output(' self = ')
+ output('(',self.parent.type,'*) ')
+ output('lua_touserdata(tolua_S,-1);')
+ elseif static then
+ _,_,self.mod = strfind(self.mod,'^%s*static%s%s*(.*)')
+ end
+
+ -- check index
+ output('#ifndef TOLUA_RELEASE\n')
+ output(' {')
+ output(' tolua_Error tolua_err;')
+ output(' if (!tolua_isnumber(tolua_S,2,0,&tolua_err))')
+ output(' tolua_error(tolua_S,"#vinvalid type in array indexing.",&tolua_err);')
+ output(' }')
+ output('#endif\n')
+ if flags['1'] then -- for compatibility with tolua5 ?
+ output(' tolua_index = (int)tolua_tonumber(tolua_S,2,0)-1;')
+ else
+ output(' tolua_index = (int)tolua_tonumber(tolua_S,2,0);')
+ end
+ output('#ifndef TOLUA_RELEASE\n')
+ if self.dim and self.dim ~= '' then
+ output(' if (tolua_index<0 || tolua_index>='..self.dim..')')
+ else
+ output(' if (tolua_index<0)')
+ end
+ output(' tolua_error(tolua_S,"array indexing out of range.",NULL);')
+ output('#endif\n')
+
+ -- return value
+ local t,ct = isbasic(self.type)
+ local push_func = get_push_function(t)
+ if t then
+ output(' tolua_push'..t..'(tolua_S,(',ct,')'..self:getvalue(class,static)..');')
+ else
+ t = self.type
+ if self.ptr == '&' or self.ptr == '' then
+ output(' ',push_func,'(tolua_S,(void*)&'..self:getvalue(class,static)..',"',t,'");')
+ else
+ output(' ',push_func,'(tolua_S,(void*)'..self:getvalue(class,static)..',"',t,'");')
+ end
+ end
+ output(' return 1;')
+ output('}')
+ output('#endif //#ifndef TOLUA_DISABLE\n')
+ output('\n')
+
+ -- set function ------------------------------------------------
+ if not strfind(self.type,'const') then
+ if class then
+ output("/* set function:",self.name," of class ",class," */")
+ else
+ output("/* set function:",self.name," */")
+ end
+ self.csetname = self:cfuncname("tolua_set")
+ output("#ifndef TOLUA_DISABLE_"..self.csetname)
+ output("\nstatic int",self.csetname,"(lua_State* tolua_S)")
+ output("{")
+
+ -- declare index
+ output(' int tolua_index;')
+
+ -- declare self, if the case
+ local _,_,static = strfind(self.mod,'^%s*(static)')
+ if class and static==nil then
+ output(' ',self.parent.type,'*','self;')
+ output(' lua_pushstring(tolua_S,".self");')
+ output(' lua_rawget(tolua_S,1);')
+ output(' self = ')
+ output('(',self.parent.type,'*) ')
+ output('lua_touserdata(tolua_S,-1);')
+ elseif static then
+ _,_,self.mod = strfind(self.mod,'^%s*static%s%s*(.*)')
+ end
+
+ -- check index
+ output('#ifndef TOLUA_RELEASE\n')
+ output(' {')
+ output(' tolua_Error tolua_err;')
+ output(' if (!tolua_isnumber(tolua_S,2,0,&tolua_err))')
+ output(' tolua_error(tolua_S,"#vinvalid type in array indexing.",&tolua_err);')
+ output(' }')
+ output('#endif\n')
+
+ if flags['1'] then -- for compatibility with tolua5 ?
+ output(' tolua_index = (int)tolua_tonumber(tolua_S,2,0)-1;')
+ else
+ output(' tolua_index = (int)tolua_tonumber(tolua_S,2,0);')
+ end
+
+ output('#ifndef TOLUA_RELEASE\n')
+ if self.dim and self.dim ~= '' then
+ output(' if (tolua_index<0 || tolua_index>='..self.dim..')')
+ else
+ output(' if (tolua_index<0)')
+ end
+ output(' tolua_error(tolua_S,"array indexing out of range.",NULL);')
+ output('#endif\n')
+
+ -- assign value
+ local ptr = ''
+ if self.ptr~='' then ptr = '*' end
+ output(' ')
+ if class and static then
+ output(class..'::'..self.name..'[tolua_index]')
+ elseif class then
+ output('self->'..self.name..'[tolua_index]')
+ else
+ output(self.name..'[tolua_index]')
+ end
+ local t = isbasic(self.type)
+ output(' = ')
+ if not t and ptr=='' then output('*') end
+ output('((',self.mod,self.type)
+ if not t then
+ output('*')
+ end
+ output(') ')
+ local def = 0
+ if self.def ~= '' then def = self.def end
+ if t then
+ output('tolua_to'..t,'(tolua_S,3,',def,'));')
+ else
+ local to_func = get_to_function(self.type)
+ output(to_func,'(tolua_S,3,',def,'));')
+ end
+ output(' return 0;')
+ output('}')
+ output('#endif //#ifndef TOLUA_DISABLE\n')
+ output('\n')
+ end
+
+end
+
+function classArray:register (pre)
+ if not self:check_public_access() then
+ return
+ end
+
+ pre = pre or ''
+ if self.csetname then
+ output(pre..'tolua_array(tolua_S,"'..self.lname..'",'..self.cgetname..','..self.csetname..');')
+ else
+ output(pre..'tolua_array(tolua_S,"'..self.lname..'",'..self.cgetname..',NULL);')
+ end
+end
+
+-- Internal constructor
+function _Array (t)
+ setmetatable(t,classArray)
+ append(t)
+ return t
+end
+
+-- Constructor
+-- Expects a string representing the variable declaration.
+function Array (s)
+ return _Array (Declaration(s,'var'))
+end
+
+
diff --git a/ThirdParty/toluapp/src/bin/lua/basic.lua b/ThirdParty/toluapp/src/bin/lua/basic.lua
new file mode 100644
index 0000000..f651f1f
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/lua/basic.lua
@@ -0,0 +1,414 @@
+-- tolua: basic utility functions
+-- Written by Waldemar Celes
+-- TeCGraf/PUC-Rio
+-- Jul 1998
+-- Last update: Apr 2003
+-- $Id: $
+
+-- This code is free software; you can redistribute it and/or modify it.
+-- The software provided hereunder is on an "as is" basis, and
+-- the author has no obligation to provide maintenance, support, updates,
+-- enhancements, or modifications.
+
+
+-- Basic C types and their corresponding Lua types
+-- All occurrences of "char*" will be replaced by "_cstring",
+-- and all occurrences of "void*" will be replaced by "_userdata"
+_basic = {
+ ['void'] = '',
+ ['char'] = 'number',
+ ['int'] = 'number',
+ ['short'] = 'number',
+ ['long'] = 'number',
+ ['unsigned'] = 'number',
+ ['float'] = 'number',
+ ['double'] = 'number',
+ ['_cstring'] = 'string',
+ ['_userdata'] = 'userdata',
+ ['char*'] = 'string',
+ ['void*'] = 'userdata',
+ ['bool'] = 'boolean',
+ ['lua_Object'] = 'value',
+ ['LUA_VALUE'] = 'value', -- for compatibility with tolua 4.0
+ ['lua_State*'] = 'state',
+ ['_lstate'] = 'state',
+ ['lua_Function'] = 'value',
+}
+
+_basic_ctype = {
+ number = "lua_Number",
+ string = "const char*",
+ userdata = "void*",
+ boolean = "bool",
+ value = "int",
+ state = "lua_State*",
+}
+
+-- functions the are used to do a 'raw push' of basic types
+_basic_raw_push = {}
+
+-- List of user defined types
+-- Each type corresponds to a variable name that stores its tag value.
+_usertype = {}
+
+-- List of types that have to be collected
+_collect = {}
+
+-- List of types
+_global_types = {n=0}
+_global_types_hash = {}
+
+-- list of classes
+_global_classes = {}
+
+-- List of enum constants
+_global_enums = {}
+
+-- List of auto renaming
+_renaming = {}
+function appendrenaming (s)
+ local b,e,old,new = strfind(s,"%s*(.-)%s*@%s*(.-)%s*$")
+ if not b then
+ error("#Invalid renaming syntax; it should be of the form: pattern@pattern")
+ end
+ tinsert(_renaming,{old=old, new=new})
+end
+
+function applyrenaming (s)
+ for i=1,getn(_renaming) do
+ local m,n = gsub(s,_renaming[i].old,_renaming[i].new)
+ if n ~= 0 then
+ return m
+ end
+ end
+ return nil
+end
+
+-- Error handler
+function tolua_error (s,f)
+if _curr_code then
+ print("***curr code for error is "..tostring(_curr_code))
+ print(debug.traceback())
+end
+ local out = _OUTPUT
+ _OUTPUT = _STDERR
+ if strsub(s,1,1) == '#' then
+ write("\n** tolua: "..strsub(s,2)..".\n\n")
+ if _curr_code then
+ local _,_,s = strfind(_curr_code,"^%s*(.-\n)") -- extract first line
+ if s==nil then s = _curr_code end
+ s = gsub(s,"_userdata","void*") -- return with 'void*'
+ s = gsub(s,"_cstring","char*") -- return with 'char*'
+ s = gsub(s,"_lstate","lua_State*") -- return with 'lua_State*'
+ write("Code being processed:\n"..s.."\n")
+ end
+ else
+ if not f then f = "(f is nil)" end
+ print("\n** tolua internal error: "..f..s..".\n\n")
+ return
+ end
+ _OUTPUT = out
+end
+
+function warning (msg)
+ if flags.q then return end
+ local out = _OUTPUT
+ _OUTPUT = _STDERR
+ write("\n** tolua warning: "..msg..".\n\n")
+ _OUTPUT = out
+end
+
+-- register an user defined type: returns full type
+function regtype (t)
+ --if isbasic(t) then
+ -- return t
+ --end
+ local ft = findtype(t)
+
+ if not _usertype[ft] then
+ return appendusertype(t)
+ end
+ return ft
+end
+
+-- return type name: returns full type
+function typevar(type)
+ if type == '' or type == 'void' then
+ return type
+ else
+ local ft = findtype(type)
+ if ft then
+ return ft
+ end
+ _usertype[type] = type
+ return type
+ end
+end
+
+-- check if basic type
+function isbasic (type)
+ local t = gsub(type,'const ','')
+ local m,t = applytypedef('', t)
+ local b = _basic[t]
+ if b then
+ return b,_basic_ctype[b]
+ end
+ return nil
+end
+
+-- split string using a token
+function split (s,t)
+ local l = {n=0}
+ local f = function (s)
+ l.n = l.n + 1
+ l[l.n] = s
+ return ""
+ end
+ local p = "%s*(.-)%s*"..t.."%s*"
+ s = gsub(s,"^%s+","")
+ s = gsub(s,"%s+$","")
+ s = gsub(s,p,f)
+ l.n = l.n + 1
+ l[l.n] = gsub(s,"(%s%s*)$","")
+ return l
+end
+
+-- splits a string using a pattern, considering the spacial cases of C code (templates, function parameters, etc)
+-- pattern can't contain the '^' (as used to identify the begining of the line)
+-- also strips whitespace
+function split_c_tokens(s, pat)
+
+ s = string.gsub(s, "^%s*", "")
+ s = string.gsub(s, "%s*$", "")
+
+ local token_begin = 1
+ local token_end = 1
+ local ofs = 1
+ local ret = {n=0}
+
+ function add_token(ofs)
+
+ local t = string.sub(s, token_begin, ofs)
+ t = string.gsub(t, "^%s*", "")
+ t = string.gsub(t, "%s*$", "")
+ ret.n = ret.n + 1
+ ret[ret.n] = t
+ end
+
+ while ofs <= string.len(s) do
+
+ local sub = string.sub(s, ofs, -1)
+ local b,e = string.find(sub, "^"..pat)
+ if b then
+ add_token(ofs-1)
+ ofs = ofs+e
+ token_begin = ofs
+ else
+ local char = string.sub(s, ofs, ofs)
+ if char == "(" or char == "<" then
+
+ local block
+ if char == "(" then block = "^%b()" end
+ if char == "<" then block = "^%b<>" end
+
+ b,e = string.find(sub, block)
+ if not b then
+ -- unterminated block?
+ ofs = ofs+1
+ else
+ ofs = ofs + e
+ end
+
+ else
+ ofs = ofs+1
+ end
+ end
+
+ end
+ add_token(ofs)
+ --if ret.n == 0 then
+
+ -- ret.n=1
+ -- ret[1] = ""
+ --end
+
+ return ret
+
+end
+
+-- concatenate strings of a table
+function concat (t,f,l,jstr)
+ jstr = jstr or " "
+ local s = ''
+ local i=f
+ while i<=l do
+ s = s..t[i]
+ i = i+1
+ if i <= l then s = s..jstr end
+ end
+ return s
+end
+
+-- concatenate all parameters, following output rules
+function concatparam (line, ...)
+ local i=1
+ while i<=arg.n do
+ if _cont and not strfind(_cont,'[%(,"]') and
+ strfind(arg[i],"^[%a_~]") then
+ line = line .. ' '
+ end
+ line = line .. arg[i]
+ if arg[i] ~= '' then
+ _cont = strsub(arg[i],-1,-1)
+ end
+ i = i+1
+ end
+ if strfind(arg[arg.n],"[%/%)%;%{%}]$") then
+ _cont=nil line = line .. '\n'
+ end
+ return line
+end
+
+-- output line
+function output (...)
+ local i=1
+ while i<=arg.n do
+ if _cont and not strfind(_cont,'[%(,"]') and
+ strfind(arg[i],"^[%a_~]") then
+ write(' ')
+ end
+ write(arg[i])
+ if arg[i] ~= '' then
+ _cont = strsub(arg[i],-1,-1)
+ end
+ i = i+1
+ end
+ if strfind(arg[arg.n],"[%/%)%;%{%}]$") then
+ _cont=nil write('\n')
+ end
+end
+
+function get_property_methods(ptype, name)
+
+ if get_property_methods_hook and get_property_methods_hook(ptype,name) then
+ return get_property_methods_hook(ptype, name)
+ end
+
+ if ptype == "default" then -- get_name, set_name
+ return "get_"..name, "set_"..name
+ end
+
+ if ptype == "qt" then -- name, setName
+ return name, "set"..string.upper(string.sub(name, 1, 1))..string.sub(name, 2, -1)
+ end
+
+ if ptype == "overload" then -- name, name
+ return name,name
+ end
+
+ return nil
+end
+
+-------------- the hooks
+
+-- called right after processing the $[ichl]file directives,
+-- right before processing anything else
+-- takes the package object as the parameter
+function preprocess_hook(p)
+ -- p.code has all the input code from the pkg
+end
+
+
+-- called for every $ifile directive
+-- takes a table with a string called 'code' inside, the filename, and any extra arguments
+-- passed to $ifile. no return value
+function include_file_hook(t, filename, ...)
+
+end
+
+-- called after processing anything that's not code (like '$renaming', comments, etc)
+-- and right before parsing the actual code.
+-- takes the Package object with all the code on the 'code' key. no return value
+function preparse_hook(package)
+
+end
+
+-- called before starting output
+function pre_output_hook(package)
+
+end
+
+-- called after writing all the output.
+-- takes the Package object
+function post_output_hook(package)
+
+end
+
+
+-- called from 'get_property_methods' to get the methods to retrieve a property
+-- according to its type
+function get_property_methods_hook(property_type, name)
+
+end
+
+-- called from ClassContainer:doparse with the string being parsed
+-- return nil, or a substring
+function parser_hook(s)
+
+ return nil
+end
+
+-- called from classFunction:supcode, before the call to the function is output
+function pre_call_hook(f)
+
+end
+
+-- called from classFunction:supcode, after the call to the function is output
+function post_call_hook(f)
+
+end
+
+-- called before the register code is output
+function pre_register_hook(package)
+
+end
+
+-- called to output an error message
+function output_error_hook(...)
+ return string.format(...)
+end
+
+-- custom pushers
+
+_push_functions = {}
+_is_functions = {}
+_to_functions = {}
+
+_base_push_functions = {}
+_base_is_functions = {}
+_base_to_functions = {}
+
+local function search_base(t, funcs)
+
+ local class = _global_classes[t]
+
+ while class do
+ if funcs[class.type] then
+ return funcs[class.type]
+ end
+ class = _global_classes[class.btype]
+ end
+ return nil
+end
+
+function get_push_function(t)
+ return _push_functions[t] or search_base(t, _base_push_functions) or "tolua_pushusertype"
+end
+
+function get_to_function(t)
+ return _to_functions[t] or search_base(t, _base_to_functions) or "tolua_tousertype"
+end
+
+function get_is_function(t)
+ return _is_functions[t] or search_base(t, _base_is_functions) or "tolua_isusertype"
+end
diff --git a/ThirdParty/toluapp/src/bin/lua/class.lua b/ThirdParty/toluapp/src/bin/lua/class.lua
new file mode 100644
index 0000000..5927052
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/lua/class.lua
@@ -0,0 +1,202 @@
+-- tolua: class class
+-- Written by Waldemar Celes
+-- TeCGraf/PUC-Rio
+-- Jul 1998
+-- $Id: $
+
+-- This code is free software; you can redistribute it and/or modify it.
+-- The software provided hereunder is on an "as is" basis, and
+-- the author has no obligation to provide maintenance, support, updates,
+-- enhancements, or modifications.
+
+
+-- Class class
+-- Represents a class definition.
+-- Stores the following fields:
+-- name = class name
+-- base = class base, if any (only single inheritance is supported)
+-- {i} = list of members
+classClass = {
+ classtype = 'class',
+ name = '',
+ base = '',
+ type = '',
+ btype = '',
+ ctype = '',
+}
+classClass.__index = classClass
+setmetatable(classClass,classContainer)
+
+
+-- register class
+function classClass:register (pre)
+
+ if not self:check_public_access() then
+ return
+ end
+
+ pre = pre or ''
+ push(self)
+ if _collect[self.type] then
+ output(pre,'#ifdef __cplusplus\n')
+ output(pre..'tolua_cclass(tolua_S,"'..self.lname..'","'..self.type..'","'..self.btype..'",'.._collect[self.type]..');')
+ output(pre,'#else\n')
+ output(pre..'tolua_cclass(tolua_S,"'..self.lname..'","'..self.type..'","'..self.btype..'",NULL);')
+ output(pre,'#endif\n')
+ else
+ output(pre..'tolua_cclass(tolua_S,"'..self.lname..'","'..self.type..'","'..self.btype..'",NULL);')
+ end
+ if self.extra_bases then
+ for k,base in ipairs(self.extra_bases) do
+ -- not now
+ --output(pre..' tolua_addbase(tolua_S, "'..self.type..'", "'..base..'");')
+ end
+ end
+ output(pre..'tolua_beginmodule(tolua_S,"'..self.lname..'");')
+ local i=1
+ while self[i] do
+ self[i]:register(pre..' ')
+ i = i+1
+ end
+ output(pre..'tolua_endmodule(tolua_S);')
+ pop()
+end
+
+-- return collection requirement
+function classClass:requirecollection (t)
+ if self.flags.protected_destructor or (not self:check_public_access()) then
+ return false
+ end
+ push(self)
+ local r = false
+ local i=1
+ while self[i] do
+ r = self[i]:requirecollection(t) or r
+ i = i+1
+ end
+ pop()
+ -- only class that exports destructor can be appropriately collected
+ -- classes that export constructors need to have a collector (overrided by -D flag on command line)
+ if self._delete or ((not flags['D']) and self._new) then
+ --t[self.type] = "tolua_collect_" .. gsub(self.type,"::","_")
+ t[self.type] = "tolua_collect_" .. clean_template(self.type)
+ r = true
+ end
+ return r
+end
+
+-- output tags
+function classClass:decltype ()
+ push(self)
+ self.type = regtype(self.original_name or self.name)
+ self.btype = typevar(self.base)
+ self.ctype = 'const '..self.type
+ if self.extra_bases then
+ for i=1,table.getn(self.extra_bases) do
+ self.extra_bases[i] = typevar(self.extra_bases[i])
+ end
+ end
+ local i=1
+ while self[i] do
+ self[i]:decltype()
+ i = i+1
+ end
+ pop()
+end
+
+
+-- Print method
+function classClass:print (ident,close)
+ print(ident.."Class{")
+ print(ident.." name = '"..self.name.."',")
+ print(ident.." base = '"..self.base.."';")
+ print(ident.." lname = '"..self.lname.."',")
+ print(ident.." type = '"..self.type.."',")
+ print(ident.." btype = '"..self.btype.."',")
+ print(ident.." ctype = '"..self.ctype.."',")
+ local i=1
+ while self[i] do
+ self[i]:print(ident.." ",",")
+ i = i+1
+ end
+ print(ident.."}"..close)
+end
+
+function classClass:set_protected_destructor(p)
+ self.flags.protected_destructor = self.flags.protected_destructor or p
+end
+
+-- Internal constructor
+function _Class (t)
+ setmetatable(t,classClass)
+ t:buildnames()
+ append(t)
+ return t
+end
+
+-- Constructor
+-- Expects the name, the base (array) and the body of the class.
+function Class (n,p,b)
+
+ if table.getn(p) > 1 then
+ b = string.sub(b, 1, -2)
+ for i=2,table.getn(p),1 do
+ b = b.."\n tolua_inherits "..p[i].." __"..p[i].."__;\n"
+ end
+ b = b.."\n}"
+ end
+
+ -- check for template
+ b = string.gsub(b, "^{%s*TEMPLATE_BIND", "{\nTOLUA_TEMPLATE_BIND")
+ local t,_,T,I = string.find(b, '^{%s*TOLUA_TEMPLATE_BIND%s*%(+%s*\"?([^\",]*)\"?%s*,%s*([^%)]*)%s*%)+')
+ if t then
+
+ -- remove quotes
+ I = string.gsub(I, "\"", "")
+ T = string.gsub(T, "\"", "")
+ -- get type list
+ local types = split_c_tokens(I, ",")
+ -- remove TEMPLATE_BIND line
+ local bs = string.gsub(b, "^{%s*TOLUA_TEMPLATE_BIND[^\n]*\n", "{\n")
+
+ local Tl = split(T, " ")
+ local tc = TemplateClass(n, p, bs, Tl)
+
+
+ tc:throw(types, true)
+ --for i=1,types.n do
+ -- tc:throw(split_c_tokens(types[i], " "), true)
+ --end
+ return
+ end
+
+ local mbase
+
+ if p then
+ mbase = table.remove(p, 1)
+ if not p[1] then p = nil end
+ end
+
+ mbase = mbase and resolve_template_types(mbase)
+
+ local c
+ local oname = string.gsub(n, "@.*$", "")
+ oname = getnamespace(classContainer.curr)..oname
+
+ if _global_classes[oname] then
+ c = _global_classes[oname]
+ if mbase and ((not c.base) or c.base == "") then
+ c.base = mbase
+ end
+ else
+ c = _Class(_Container{name=n, base=mbase, extra_bases=p})
+
+ local ft = getnamespace(c.parent)..c.original_name
+ append_global_type(ft, c)
+ end
+
+ push(c)
+ c:parse(strsub(b,2,strlen(b)-1)) -- eliminate braces
+ pop()
+end
+
diff --git a/ThirdParty/toluapp/src/bin/lua/clean.lua b/ThirdParty/toluapp/src/bin/lua/clean.lua
new file mode 100644
index 0000000..fd5b7b6
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/lua/clean.lua
@@ -0,0 +1,79 @@
+-- mark up comments and strings
+STR1 = "\001"
+STR2 = "\002"
+STR3 = "\003"
+STR4 = "\004"
+REM = "\005"
+ANY = "([\001-\005])"
+ESC1 = "\006"
+ESC2 = "\007"
+
+MASK = { -- the substitution order is important
+ {ESC1, "\\'"},
+ {ESC2, '\\"'},
+ {STR1, "'"},
+ {STR2, '"'},
+ {STR3, "%[%["},
+ {STR4, "%]%]"},
+ {REM , "%-%-"},
+}
+
+function mask (s)
+ for i = 1,getn(MASK) do
+ s = gsub(s,MASK[i][2],MASK[i][1])
+ end
+ return s
+end
+
+function unmask (s)
+ for i = 1,getn(MASK) do
+ s = gsub(s,MASK[i][1],MASK[i][2])
+ end
+ return s
+end
+
+function clean (s)
+ -- check for compilation error
+ local code = "return function ()\n" .. s .. "\n end"
+ if not dostring(code) then
+ return nil
+ end
+
+ if flags['C'] then
+ return s
+ end
+
+ local S = "" -- saved string
+
+ s = mask(s)
+
+ -- remove blanks and comments
+ while 1 do
+ local b,e,d = strfind(s,ANY)
+ if b then
+ S = S..strsub(s,1,b-1)
+ s = strsub(s,b+1)
+ if d==STR1 or d==STR2 then
+ e = strfind(s,d)
+ S = S ..d..strsub(s,1,e)
+ s = strsub(s,e+1)
+ elseif d==STR3 then
+ e = strfind(s,STR4)
+ S = S..d..strsub(s,1,e)
+ s = strsub(s,e+1)
+ elseif d==REM then
+ s = gsub(s,"[^\n]*(\n?)","%1",1)
+ end
+ else
+ S = S..s
+ break
+ end
+ end
+ -- eliminate unecessary spaces
+ S = gsub(S,"[ \t]+"," ")
+ S = gsub(S,"[ \t]*\n[ \t]*","\n")
+ S = gsub(S,"\n+","\n")
+ S = unmask(S)
+ return S
+end
+
diff --git a/ThirdParty/toluapp/src/bin/lua/code.lua b/ThirdParty/toluapp/src/bin/lua/code.lua
new file mode 100644
index 0000000..5e19b6b
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/lua/code.lua
@@ -0,0 +1,105 @@
+-- tolua: code class
+-- Written by Waldemar Celes
+-- TeCGraf/PUC-Rio
+-- Jul 1999
+-- $Id: $
+
+-- This code is free software; you can redistribute it and/or modify it.
+-- The software provided hereunder is on an "as is" basis, and
+-- the author has no obligation to provide maintenance, support, updates,
+-- enhancements, or modifications.
+
+-- global
+code_n = 1
+
+-- Code class
+-- Represents Lua code to be compiled and included
+-- in the initialization function.
+-- The following fields are stored:
+-- text = text code
+classCode = {
+ text = '',
+}
+classCode.__index = classCode
+setmetatable(classCode,classFeature)
+
+-- register code
+function classCode:register (pre)
+ pre = pre or ''
+ -- clean Lua code
+ local s = clean(self.text)
+ if not s then
+ --print(self.text)
+ error("parser error in embedded code")
+ end
+
+ -- get first line
+ local _, _, first_line=string.find(self.text, "^([^\n\r]*)")
+ if string.find(first_line, "^%s*%-%-") then
+ if string.find(first_line, "^%-%-##") then
+ first_line = string.gsub(first_line, "^%-%-##", "")
+ if flags['C'] then
+ s = string.gsub(s, "^%-%-##[^\n\r]*\n", "")
+ end
+ end
+ else
+ first_line = ""
+ end
+
+ -- pad to 16 bytes
+ local npad = 16 - (#s % 16)
+ local spad = ""
+ for i=1,npad do
+ spad = spad .. "-"
+ end
+ s = s..spad
+
+ -- convert to C
+ output('\n'..pre..'{ /* begin embedded lua code */\n')
+ output(pre..' int top = lua_gettop(tolua_S);')
+ output(pre..' static const unsigned char B[] = {\n ')
+ local t={n=0}
+
+ local b = gsub(s,'(.)',function (c)
+ local e = ''
+ t.n=t.n+1 if t.n==15 then t.n=0 e='\n'..pre..' ' end
+ return format('%3u,%s',strbyte(c),e)
+ end
+ )
+ output(b..strbyte(" "))
+ output('\n'..pre..' };\n')
+ if first_line and first_line ~= "" then
+ output(pre..' tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: '..first_line..'");')
+ else
+ output(pre..' tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code '..code_n..'");')
+ end
+ output(pre..' lua_settop(tolua_S, top);')
+ output(pre..'} /* end of embedded lua code */\n\n')
+ code_n = code_n +1
+end
+
+
+-- Print method
+function classCode:print (ident,close)
+ print(ident.."Code{")
+ print(ident.." text = [["..self.text.."]],")
+ print(ident.."}"..close)
+end
+
+
+-- Internal constructor
+function _Code (t)
+ setmetatable(t,classCode)
+ append(t)
+ return t
+end
+
+-- Constructor
+-- Expects a string representing the code text
+function Code (l)
+ return _Code {
+ text = l
+ }
+end
+
+
diff --git a/ThirdParty/toluapp/src/bin/lua/compat-5.1.lua b/ThirdParty/toluapp/src/bin/lua/compat-5.1.lua
new file mode 100644
index 0000000..7a2c60b
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/lua/compat-5.1.lua
@@ -0,0 +1,57 @@
+if string.find(_VERSION, "5%.0") then
+ return
+end
+
+-- "loadfile"
+local function pp_dofile(path)
+
+ local loaded = false
+ local getfile = function()
+
+ if loaded then
+ return
+ else
+ local file,err = io.open(path)
+ if not file then
+ error("error loading file "..path..": "..err)
+ end
+ local ret = file:read("*a")
+ file:close()
+
+ ret = string.gsub(ret, "%.%.%.%s*%)", "...) local arg = {n=select('#', ...), ...};")
+
+ loaded = true
+ return ret
+ end
+ end
+
+ local f = load(getfile, path)
+ if not f then
+
+ error("error loading file "..path)
+ end
+ return f()
+end
+
+old_dofile = dofile
+dofile = pp_dofile
+
+
+-- string.gsub
+--[[
+local ogsub = string.gsub
+local function compgsub(a,b,c,d)
+ if type(c) == "function" then
+ local oc = c
+ c = function (...) return oc(...) or '' end
+ end
+ return ogsub(a,b,c,d)
+end
+string.repl = ogsub
+--]]
+
+--string.gsub = compgsub
+
+
+
+
diff --git a/ThirdParty/toluapp/src/bin/lua/compat.lua b/ThirdParty/toluapp/src/bin/lua/compat.lua
new file mode 100644
index 0000000..45d6ae1
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/lua/compat.lua
@@ -0,0 +1,193 @@
+-------------------------------------------------------------------
+-- Real globals
+-- _ALERT
+-- _ERRORMESSAGE
+-- _VERSION
+-- _G
+-- assert
+-- error
+-- metatable
+-- next
+-- print
+-- require
+-- tonumber
+-- tostring
+-- type
+-- unpack
+
+-------------------------------------------------------------------
+-- collectgarbage
+-- gcinfo
+
+-- globals
+
+-- call -> protect(f, err)
+-- loadfile
+-- loadstring
+
+-- rawget
+-- rawset
+
+-- getargs = Main.getargs ??
+
+rawtype = type
+
+function do_ (f, err)
+ if not f then print(err); return end
+ local a,b = pcall(f)
+ if not a then print(b); return nil
+ else return b or true
+ end
+end
+
+function dostring(s) return do_(loadstring(s)) end
+-- function dofile(s) return do_(loadfile(s)) end
+
+-------------------------------------------------------------------
+-- Table library
+local tab = table
+foreach = tab.foreach
+foreachi = tab.foreachi
+getn = tab.getn
+tinsert = tab.insert
+tremove = tab.remove
+sort = tab.sort
+
+-------------------------------------------------------------------
+-- Debug library
+local dbg = debug
+getinfo = dbg.getinfo
+getlocal = dbg.getlocal
+setcallhook = function () error"`setcallhook' is deprecated" end
+setlinehook = function () error"`setlinehook' is deprecated" end
+setlocal = dbg.setlocal
+
+-------------------------------------------------------------------
+-- math library
+local math = math
+abs = math.abs
+acos = function (x) return math.deg(math.acos(x)) end
+asin = function (x) return math.deg(math.asin(x)) end
+atan = function (x) return math.deg(math.atan(x)) end
+atan2 = function (x,y) return math.deg(math.atan2(x,y)) end
+ceil = math.ceil
+cos = function (x) return math.cos(math.rad(x)) end
+deg = math.deg
+exp = math.exp
+floor = math.floor
+frexp = math.frexp
+ldexp = math.ldexp
+log = math.log
+log10 = math.log10
+max = math.max
+min = math.min
+mod = math.mod
+PI = math.pi
+--??? pow = math.pow
+rad = math.rad
+random = math.random
+randomseed = math.randomseed
+sin = function (x) return math.sin(math.rad(x)) end
+sqrt = math.sqrt
+tan = function (x) return math.tan(math.rad(x)) end
+
+-------------------------------------------------------------------
+-- string library
+local str = string
+strbyte = str.byte
+strchar = str.char
+strfind = str.find
+format = str.format
+gsub = str.gsub
+strlen = str.len
+strlower = str.lower
+strrep = str.rep
+strsub = str.sub
+strupper = str.upper
+
+-------------------------------------------------------------------
+-- os library
+clock = os.clock
+date = os.date
+difftime = os.difftime
+execute = os.execute --?
+exit = os.exit
+getenv = os.getenv
+remove = os.remove
+rename = os.rename
+setlocale = os.setlocale
+time = os.time
+tmpname = os.tmpname
+
+-------------------------------------------------------------------
+-- compatibility only
+getglobal = function (n) return _G[n] end
+setglobal = function (n,v) _G[n] = v end
+
+-------------------------------------------------------------------
+
+local io, tab = io, table
+
+-- IO library (files)
+_STDIN = io.stdin
+_STDERR = io.stderr
+_STDOUT = io.stdout
+_INPUT = io.stdin
+_OUTPUT = io.stdout
+seek = io.stdin.seek -- sick ;-)
+tmpfile = io.tmpfile
+closefile = io.close
+openfile = io.open
+
+function flush (f)
+ if f then f:flush()
+ else _OUTPUT:flush()
+ end
+end
+
+function readfrom (name)
+ if name == nil then
+ local f, err, cod = io.close(_INPUT)
+ _INPUT = io.stdin
+ return f, err, cod
+ else
+ local f, err, cod = io.open(name, "r")
+ _INPUT = f or _INPUT
+ return f, err, cod
+ end
+end
+
+function writeto (name)
+ if name == nil then
+ local f, err, cod = io.close(_OUTPUT)
+ _OUTPUT = io.stdout
+ return f, err, cod
+ else
+ local f, err, cod = io.open(name, "w")
+ _OUTPUT = f or _OUTPUT
+ return f, err, cod
+ end
+end
+
+function appendto (name)
+ local f, err, cod = io.open(name, "a")
+ _OUTPUT = f or _OUTPUT
+ return f, err, cod
+end
+
+function read (...)
+ local f = _INPUT
+ if rawtype(arg[1]) == 'userdata' then
+ f = tab.remove(arg, 1)
+ end
+ return f:read(unpack(arg))
+end
+
+function write (...)
+ local f = _OUTPUT
+ if rawtype(arg[1]) == 'userdata' then
+ f = tab.remove(arg, 1)
+ end
+ return f:write(unpack(arg))
+end
+
diff --git a/ThirdParty/toluapp/src/bin/lua/container.lua b/ThirdParty/toluapp/src/bin/lua/container.lua
new file mode 100644
index 0000000..2d11db7
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/lua/container.lua
@@ -0,0 +1,786 @@
+-- tolua: container abstract class
+-- Written by Waldemar Celes
+-- TeCGraf/PUC-Rio
+-- Jul 1998
+-- $Id: $
+
+-- This code is free software; you can redistribute it and/or modify it.
+-- The software provided hereunder is on an "as is" basis, and
+-- the author has no obligation to provide maintenance, support, updates,
+-- enhancements, or modifications.
+
+-- table to store namespaced typedefs/enums in global scope
+global_typedefs = {}
+global_enums = {}
+
+-- Container class
+-- Represents a container of features to be bound
+-- to lua.
+classContainer =
+{
+ curr = nil,
+}
+classContainer.__index = classContainer
+setmetatable(classContainer,classFeature)
+
+-- output tags
+function classContainer:decltype ()
+ push(self)
+ local i=1
+ while self[i] do
+ self[i]:decltype()
+ i = i+1
+ end
+ pop()
+end
+
+
+-- write support code
+function classContainer:supcode ()
+
+ if not self:check_public_access() then
+ return
+ end
+
+ push(self)
+ local i=1
+ while self[i] do
+ if self[i]:check_public_access() then
+ self[i]:supcode()
+ end
+ i = i+1
+ end
+ pop()
+end
+
+function classContainer:hasvar ()
+ local i=1
+ while self[i] do
+ if self[i]:isvariable() then
+ return 1
+ end
+ i = i+1
+ end
+ return 0
+end
+
+-- Internal container constructor
+function _Container (self)
+ setmetatable(self,classContainer)
+ self.n = 0
+ self.typedefs = {tolua_n=0}
+ self.usertypes = {}
+ self.enums = {tolua_n=0}
+ self.lnames = {}
+ return self
+end
+
+-- push container
+function push (t)
+ t.prox = classContainer.curr
+ classContainer.curr = t
+end
+
+-- pop container
+function pop ()
+--print("name",classContainer.curr.name)
+--foreach(classContainer.curr.usertypes,print)
+--print("______________")
+ classContainer.curr = classContainer.curr.prox
+end
+
+-- get current namespace
+function getcurrnamespace ()
+ return getnamespace(classContainer.curr)
+end
+
+-- append to current container
+function append (t)
+ return classContainer.curr:append(t)
+end
+
+-- append typedef to current container
+function appendtypedef (t)
+ return classContainer.curr:appendtypedef(t)
+end
+
+-- append usertype to current container
+function appendusertype (t)
+ return classContainer.curr:appendusertype(t)
+end
+
+-- append enum to current container
+function appendenum (t)
+ return classContainer.curr:appendenum(t)
+end
+
+-- substitute typedef
+function applytypedef (mod,type)
+ return classContainer.curr:applytypedef(mod,type)
+end
+
+-- check if is type
+function findtype (type)
+ local t = classContainer.curr:findtype(type)
+ return t
+end
+
+-- check if is typedef
+function istypedef (type)
+ return classContainer.curr:istypedef(type)
+end
+
+-- get fulltype (with namespace)
+function fulltype (t)
+ local curr = classContainer.curr
+ while curr do
+ if curr then
+ if curr.typedefs and curr.typedefs[t] then
+ return curr.typedefs[t]
+ elseif curr.usertypes and curr.usertypes[t] then
+ return curr.usertypes[t]
+ end
+ end
+ curr = curr.prox
+ end
+ return t
+end
+
+-- checks if it requires collection
+function classContainer:requirecollection (t)
+ push(self)
+ local i=1
+ local r = false
+ while self[i] do
+ r = self[i]:requirecollection(t) or r
+ i = i+1
+ end
+ pop()
+ return r
+end
+
+
+-- get namesapce
+function getnamespace (curr)
+ local namespace = ''
+ while curr do
+ if curr and
+ ( curr.classtype == 'class' or curr.classtype == 'namespace')
+ then
+ namespace = (curr.original_name or curr.name) .. '::' .. namespace
+ --namespace = curr.name .. '::' .. namespace
+ end
+ curr = curr.prox
+ end
+ return namespace
+end
+
+-- get namespace (only namespace)
+function getonlynamespace ()
+ local curr = classContainer.curr
+ local namespace = ''
+ while curr do
+ if curr.classtype == 'class' then
+ return namespace
+ elseif curr.classtype == 'namespace' then
+ namespace = curr.name .. '::' .. namespace
+ end
+ curr = curr.prox
+ end
+ return namespace
+end
+
+-- check if is enum
+function isenum (type)
+ return classContainer.curr:isenum(type)
+end
+
+-- append feature to container
+function classContainer:append (t)
+ self.n = self.n + 1
+ self[self.n] = t
+ t.parent = self
+end
+
+-- append typedef
+function classContainer:appendtypedef (t)
+ local namespace = getnamespace(classContainer.curr)
+ self.typedefs.tolua_n = self.typedefs.tolua_n + 1
+ self.typedefs[self.typedefs.tolua_n] = t
+ self.typedefs[t.utype] = namespace .. t.utype
+ global_typedefs[namespace..t.utype] = t
+ t.ftype = findtype(t.type) or t.type
+ --print("appending typedef "..t.utype.." as "..namespace..t.utype.." with ftype "..t.ftype)
+ append_global_type(namespace..t.utype)
+ if t.ftype and isenum(t.ftype) then
+
+ global_enums[namespace..t.utype] = true
+ end
+end
+
+-- append usertype: return full type
+function classContainer:appendusertype (t)
+ local container
+ if t == (self.original_name or self.name) then
+ container = self.prox
+ else
+ container = self
+ end
+ local ft = getnamespace(container) .. t
+ container.usertypes[t] = ft
+ _usertype[ft] = ft
+ return ft
+end
+
+-- append enum
+function classContainer:appendenum (t)
+ local namespace = getnamespace(classContainer.curr)
+ self.enums.tolua_n = self.enums.tolua_n + 1
+ self.enums[self.enums.tolua_n] = t
+ global_enums[namespace..t.name] = t
+end
+
+-- determine lua function name overload
+function classContainer:overload (lname)
+ if not self.lnames[lname] then
+ self.lnames[lname] = 0
+ else
+ self.lnames[lname] = self.lnames[lname] + 1
+ end
+ return format("%02d",self.lnames[lname])
+end
+
+-- applies typedef: returns the 'the facto' modifier and type
+function classContainer:applytypedef (mod,type)
+ if global_typedefs[type] then
+ --print("found typedef "..global_typedefs[type].type)
+ local mod1, type1 = global_typedefs[type].mod, global_typedefs[type].ftype
+ local mod2, type2 = applytypedef(mod.." "..mod1, type1)
+ --return mod2 .. ' ' .. mod1, type2
+ return mod2, type2
+ end
+ do return mod,type end
+end
+
+-- check if it is a typedef
+function classContainer:istypedef (type)
+ local env = self
+ while env do
+ if env.typedefs then
+ local i=1
+ while env.typedefs[i] do
+ if env.typedefs[i].utype == type then
+ return type
+ end
+ i = i+1
+ end
+ end
+ env = env.parent
+ end
+ return nil
+end
+
+function find_enum_var(var)
+
+ if tonumber(var) then return var end
+
+ local c = classContainer.curr
+ while c do
+ local ns = getnamespace(c)
+ for k,v in pairs(_global_enums) do
+ if match_type(var, v, ns) then
+ return v
+ end
+ end
+ if c.base and c.base ~= '' then
+ c = _global_classes[c:findtype(c.base)]
+ else
+ c = nil
+ end
+ end
+
+ return var
+end
+
+-- check if is a registered type: return full type or nil
+function classContainer:findtype (t)
+
+ t = string.gsub(t, "=.*", "")
+ if _basic[t] then
+ return t
+ end
+
+ local _,_,em = string.find(t, "([&%*])%s*$")
+ t = string.gsub(t, "%s*([&%*])%s*$", "")
+ p = self
+ while p and type(p)=='table' do
+ local st = getnamespace(p)
+
+ for i=_global_types.n,1,-1 do -- in reverse order
+
+ if match_type(t, _global_types[i], st) then
+ return _global_types[i]..(em or "")
+ end
+ end
+ if p.base and p.base ~= '' and p.base ~= t then
+ --print("type is "..t..", p is "..p.base.." self.type is "..self.type.." self.name is "..self.name)
+ p = _global_classes[p:findtype(p.base)]
+ else
+ p = nil
+ end
+ end
+
+ return nil
+end
+
+function append_global_type(t, class)
+ _global_types.n = _global_types.n +1
+ _global_types[_global_types.n] = t
+ _global_types_hash[t] = 1
+ if class then append_class_type(t, class) end
+end
+
+function append_class_type(t,class)
+ if _global_classes[t] then
+ class.flags = _global_classes[t].flags
+ class.lnames = _global_classes[t].lnames
+ if _global_classes[t].base and (_global_classes[t].base ~= '') then
+ class.base = _global_classes[t].base or class.base
+ end
+ end
+ _global_classes[t] = class
+ class.flags = class.flags or {}
+end
+
+function match_type(childtype, regtype, st)
+--print("findtype "..childtype..", "..regtype..", "..st)
+ local b,e = string.find(regtype, childtype, -string.len(childtype), true)
+ if b then
+
+ if e == string.len(regtype) and
+ (b == 1 or (string.sub(regtype, b-1, b-1) == ':' and
+ string.sub(regtype, 1, b-1) == string.sub(st, 1, b-1))) then
+ return true
+ end
+ end
+
+ return false
+end
+
+function findtype_on_childs(self, t)
+
+ local tchild
+ if self.classtype == 'class' or self.classtype == 'namespace' then
+ for k,v in ipairs(self) do
+ if v.classtype == 'class' or v.classtype == 'namespace' then
+ if v.typedefs and v.typedefs[t] then
+ return v.typedefs[t]
+ elseif v.usertypes and v.usertypes[t] then
+ return v.usertypes[t]
+ end
+ tchild = findtype_on_childs(v, t)
+ if tchild then return tchild end
+ end
+ end
+ end
+ return nil
+
+end
+
+function classContainer:isenum (type)
+ if global_enums[type] then
+ return type
+ else
+ return false
+ end
+
+ local basetype = gsub(type,"^.*::","")
+ local env = self
+ while env do
+ if env.enums then
+ local i=1
+ while env.enums[i] do
+ if env.enums[i].name == basetype then
+ return true
+ end
+ i = i+1
+ end
+ end
+ env = env.parent
+ end
+ return false
+end
+
+methodisvirtual = false -- a global
+
+-- parse chunk
+function classContainer:doparse (s)
+--print ("parse "..s)
+
+ -- try the parser hook
+ do
+ local sub = parser_hook(s)
+ if sub then
+ return sub
+ end
+ end
+
+ -- try the null statement
+ do
+ local b,e,code = string.find(s, "^%s*;")
+ if b then
+ return strsub(s,e+1)
+ end
+ end
+
+ -- try empty verbatim line
+ do
+ local b,e,code = string.find(s, "^%s*$\n")
+ if b then
+ return strsub(s,e+1)
+ end
+ end
+
+ -- try Lua code
+ do
+ local b,e,code = strfind(s,"^%s*(%b\1\2)")
+ if b then
+ Code(strsub(code,2,-2))
+ return strsub(s,e+1)
+ end
+ end
+
+ -- try C code
+ do
+ local b,e,code = strfind(s,"^%s*(%b\3\4)")
+ if b then
+ code = '{'..strsub(code,2,-2)..'\n}\n'
+ Verbatim(code,'r') -- verbatim code for 'r'egister fragment
+ return strsub(s,e+1)
+ end
+ end
+
+ -- try C code for preamble section
+ do
+ local b,e,code = string.find(s, "^%s*(%b\5\6)")
+ if b then
+ code = string.sub(code, 2, -2).."\n"
+ Verbatim(code, '')
+ return string.sub(s, e+1)
+ end
+ end
+
+ -- try default_property directive
+ do
+ local b,e,ptype = strfind(s, "^%s*TOLUA_PROPERTY_TYPE%s*%(+%s*([^%)%s]*)%s*%)+%s*;?")
+ if b then
+ if not ptype or ptype == "" then
+ ptype = "default"
+ end
+ self:set_property_type(ptype)
+ return strsub(s, e+1)
+ end
+ end
+
+ -- try protected_destructor directive
+ do
+ local b,e = string.find(s, "^%s*TOLUA_PROTECTED_DESTRUCTOR%s*;?")
+ if b then
+ if self.set_protected_destructor then
+ self:set_protected_destructor(true)
+ end
+ return strsub(s, e+1)
+ end
+ end
+
+ -- try 'extern' keyword
+ do
+ local b,e = string.find(s, "^%s*extern%s+")
+ if b then
+ -- do nothing
+ return strsub(s, e+1)
+ end
+ end
+
+ -- try 'virtual' keyworkd
+ do
+ local b,e = string.find(s, "^%s*virtual%s+")
+ if b then
+ methodisvirtual = true
+ return strsub(s, e+1)
+ end
+ end
+
+ -- try labels (public, private, etc)
+ do
+ local b,e = string.find(s, "^%s*%w*%s*:[^:]")
+ if b then
+ return strsub(s, e) -- preserve the [^:]
+ end
+ end
+
+ -- try module
+ do
+ local b,e,name,body = strfind(s,"^%s*module%s%s*([_%w][_%w]*)%s*(%b{})%s*")
+ if b then
+ _curr_code = strsub(s,b,e)
+ Module(name,body)
+ return strsub(s,e+1)
+ end
+ end
+
+ -- try namesapce
+ do
+ local b,e,name,body = strfind(s,"^%s*namespace%s%s*([_%w][_%w]*)%s*(%b{})%s*;?")
+ if b then
+ _curr_code = strsub(s,b,e)
+ Namespace(name,body)
+ return strsub(s,e+1)
+ end
+ end
+
+ -- try define
+ do
+ local b,e,name = strfind(s,"^%s*#define%s%s*([^%s]*)[^\n]*\n%s*")
+ if b then
+ _curr_code = strsub(s,b,e)
+ Define(name)
+ return strsub(s,e+1)
+ end
+ end
+
+ -- try enumerates
+
+ do
+ local b,e,name,body,varname = strfind(s,"^%s*enum%s+(%S*)%s*(%b{})%s*([^%s;]*)%s*;?%s*")
+ if b then
+ --error("#Sorry, declaration of enums and variables on the same statement is not supported.\nDeclare your variable separately (example: '"..name.." "..varname..";')")
+ _curr_code = strsub(s,b,e)
+ Enumerate(name,body,varname)
+ return strsub(s,e+1)
+ end
+ end
+
+-- do
+-- local b,e,name,body = strfind(s,"^%s*enum%s+(%S*)%s*(%b{})%s*;?%s*")
+-- if b then
+-- _curr_code = strsub(s,b,e)
+-- Enumerate(name,body)
+-- return strsub(s,e+1)
+-- end
+-- end
+
+ do
+ local b,e,body,name = strfind(s,"^%s*typedef%s+enum[^{]*(%b{})%s*([%w_][^%s]*)%s*;%s*")
+ if b then
+ _curr_code = strsub(s,b,e)
+ Enumerate(name,body)
+ return strsub(s,e+1)
+ end
+ end
+
+ -- try operator
+ do
+ local b,e,decl,kind,arg,const = strfind(s,"^%s*([_%w][_%w%s%*&:<>,]-%s+operator)%s*([^%s][^%s]*)%s*(%b())%s*(c?o?n?s?t?)%s*;%s*")
+ if not b then
+ -- try inline
+ b,e,decl,kind,arg,const = strfind(s,"^%s*([_%w][_%w%s%*&:<>,]-%s+operator)%s*([^%s][^%s]*)%s*(%b())%s*(c?o?n?s?t?)[%s\n]*%b{}%s*;?%s*")
+ end
+ if not b then
+ -- try cast operator
+ b,e,decl,kind,arg,const = strfind(s, "^%s*(operator)%s+([%w_:%d<>%*%&%s]+)%s*(%b())%s*(c?o?n?s?t?)");
+ if b then
+ local _,ie = string.find(s, "^%s*%b{}", e+1)
+ if ie then
+ e = ie
+ end
+ end
+ end
+ if b then
+ _curr_code = strsub(s,b,e)
+ Operator(decl,kind,arg,const)
+ return strsub(s,e+1)
+ end
+ end
+
+ -- try function
+ do
+ --local b,e,decl,arg,const = strfind(s,"^%s*([~_%w][_@%w%s%*&:<>]*[_%w])%s*(%b())%s*(c?o?n?s?t?)%s*=?%s*0?%s*;%s*")
+ local b,e,decl,arg,const,virt = strfind(s,"^%s*([^%(\n]+)%s*(%b())%s*(c?o?n?s?t?)%s*(=?%s*0?)%s*;%s*")
+ if not b then
+ -- try function with template
+ b,e,decl,arg,const = strfind(s,"^%s*([~_%w][_@%w%s%*&:<>]*[_%w]%b<>)%s*(%b())%s*(c?o?n?s?t?)%s*=?%s*0?%s*;%s*")
+ end
+ if not b then
+ -- try a single letter function name
+ b,e,decl,arg,const = strfind(s,"^%s*([_%w])%s*(%b())%s*(c?o?n?s?t?)%s*;%s*")
+ end
+ if not b then
+ -- try function pointer
+ b,e,decl,arg,const = strfind(s,"^%s*([^%(;\n]+%b())%s*(%b())%s*;%s*")
+ if b then
+ decl = string.gsub(decl, "%(%s*%*([^%)]*)%s*%)", " %1 ")
+ end
+ end
+ if b then
+ if virt and string.find(virt, "[=0]") then
+ if self.flags then
+ self.flags.pure_virtual = true
+ end
+ end
+ _curr_code = strsub(s,b,e)
+ Function(decl,arg,const)
+ return strsub(s,e+1)
+ end
+ end
+
+ -- try inline function
+ do
+ local b,e,decl,arg,const = strfind(s,"^%s*([^%(\n]+)%s*(%b())%s*(c?o?n?s?t?)[^;{]*%b{}%s*;?%s*")
+ --local b,e,decl,arg,const = strfind(s,"^%s*([~_%w][_@%w%s%*&:<>]*[_%w>])%s*(%b())%s*(c?o?n?s?t?)[^;]*%b{}%s*;?%s*")
+ if not b then
+ -- try a single letter function name
+ b,e,decl,arg,const = strfind(s,"^%s*([_%w])%s*(%b())%s*(c?o?n?s?t?).-%b{}%s*;?%s*")
+ end
+ if b then
+ _curr_code = strsub(s,b,e)
+ Function(decl,arg,const)
+ return strsub(s,e+1)
+ end
+ end
+
+ -- try class
+ do
+ local b,e,name,base,body
+ base = '' body = ''
+ b,e,name = strfind(s,"^%s*class%s*([_%w][_%w@]*)%s*;") -- dummy class
+ local dummy = false
+ if not b then
+ b,e,name = strfind(s,"^%s*struct%s*([_%w][_%w@]*)%s*;") -- dummy struct
+ if not b then
+ b,e,name,base,body = strfind(s,"^%s*class%s*([_%w][_%w@]*)%s*([^{]-)%s*(%b{})%s*")
+ if not b then
+ b,e,name,base,body = strfind(s,"^%s*struct%s+([_%w][_%w@]*)%s*([^{]-)%s*(%b{})%s*")
+ if not b then
+ b,e,name,base,body = strfind(s,"^%s*union%s*([_%w][_%w@]*)%s*([^{]-)%s*(%b{})%s*")
+ if not b then
+ base = ''
+ b,e,body,name = strfind(s,"^%s*typedef%s%s*struct%s%s*[_%w]*%s*(%b{})%s*([_%w][_%w@]*)%s*;")
+ end
+ end
+ end
+ else dummy = 1 end
+ else dummy = 1 end
+ if b then
+ if base ~= '' then
+ base = string.gsub(base, "^%s*:%s*", "")
+ base = string.gsub(base, "%s*public%s*", "")
+ base = split(base, ",")
+ --local b,e
+ --b,e,base = strfind(base,".-([_%w][_%w<>,:]*)$")
+ else
+ base = {}
+ end
+ _curr_code = strsub(s,b,e)
+ Class(name,base,body)
+ if not dummy then
+ varb,vare,varname = string.find(s, "^%s*([_%w]+)%s*;", e+1)
+ if varb then
+ Variable(name.." "..varname)
+ e = vare
+ end
+ end
+ return strsub(s,e+1)
+ end
+ end
+
+ -- try typedef
+ do
+ local b,e,types = strfind(s,"^%s*typedef%s%s*(.-)%s*;%s*")
+ if b then
+ _curr_code = strsub(s,b,e)
+ Typedef(types)
+ return strsub(s,e+1)
+ end
+ end
+
+ -- try variable
+ do
+ local b,e,decl = strfind(s,"^%s*([_%w][_@%s%w%d%*&:<>,]*[_%w%d])%s*;%s*")
+ if b then
+ _curr_code = strsub(s,b,e)
+
+ local list = split_c_tokens(decl, ",")
+ Variable(list[1])
+ if list.n > 1 then
+ local _,_,type = strfind(list[1], "(.-)%s+([^%s]*)$");
+
+ local i =2;
+ while list[i] do
+ Variable(type.." "..list[i])
+ i=i+1
+ end
+ end
+ --Variable(decl)
+ return strsub(s,e+1)
+ end
+ end
+
+ -- try string
+ do
+ local b,e,decl = strfind(s,"^%s*([_%w]?[_%s%w%d]-char%s+[_@%w%d]*%s*%[%s*%S+%s*%])%s*;%s*")
+ if b then
+ _curr_code = strsub(s,b,e)
+ Variable(decl)
+ return strsub(s,e+1)
+ end
+ end
+
+ -- try array
+ do
+ local b,e,decl = strfind(s,"^%s*([_%w][][_@%s%w%d%*&:<>]*[]_%w%d])%s*;%s*")
+ if b then
+ _curr_code = strsub(s,b,e)
+ Array(decl)
+ return strsub(s,e+1)
+ end
+ end
+
+ -- no matching
+ if gsub(s,"%s%s*","") ~= "" then
+ _curr_code = s
+ error("#parse error")
+ else
+ return ""
+ end
+
+end
+
+function classContainer:parse (s)
+
+ --self.curr_member_access = nil
+
+ while s ~= '' do
+ s = self:doparse(s)
+ methodisvirtual = false
+ end
+end
+
+
+-- property types
+
+function get_property_type()
+
+ return classContainer.curr:get_property_type()
+end
+
+function classContainer:set_property_type(ptype)
+ ptype = string.gsub(ptype, "^%s*", "")
+ ptype = string.gsub(ptype, "%s*$", "")
+
+ self.property_type = ptype
+end
+
+function classContainer:get_property_type()
+ return self.property_type or (self.parent and self.parent:get_property_type()) or "default"
+end
diff --git a/ThirdParty/toluapp/src/bin/lua/custom.lua b/ThirdParty/toluapp/src/bin/lua/custom.lua
new file mode 100644
index 0000000..de5912f
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/lua/custom.lua
@@ -0,0 +1,45 @@
+
+function extract_code(fn,s)
+ local code = ""
+ if fn then
+ code = '\n$#include "'..fn..'"\n'
+ end
+ s= "\n" .. s .. "\n" -- add blank lines as sentinels
+ local _,e,c,t = strfind(s, "\n([^\n]-)SCRIPT_([%w_]*)[^\n]*\n")
+ while e do
+ t = strlower(t)
+ if t == "bind_begin" then
+ _,e,c = strfind(s,"(.-)\n[^\n]*SCRIPT_BIND_END[^\n]*\n",e)
+ if not e then
+ tolua_error("Unbalanced 'SCRIPT_BIND_BEGIN' directive in header file")
+ end
+ end
+ if t == "bind_class" or t == "bind_block" then
+ local b
+ _,e,c,b = string.find(s, "([^{]-)(%b{})", e)
+ c = c..'{\n'..extract_code(nil, b)..'\n};\n'
+ end
+ code = code .. c .. "\n"
+ _,e,c,t = strfind(s, "\n([^\n]-)SCRIPT_([%w_]*)[^\n]*\n",e)
+ end
+ return code
+end
+
+function preprocess_hook(p)
+end
+
+function preparse_hook(p)
+end
+
+function include_file_hook(p, filename)
+ do return end
+--print("FILENAME is "..filename)
+ p.code = string.gsub(p.code, "\n%s*SigC::Signal", "\n\ttolua_readonly SigC::Signal")
+ p.code = string.gsub(p.code, "#ifdef __cplusplus\nextern \"C\" {\n#endif", "")
+ p.code = string.gsub(p.code, "#ifdef __cplusplus\n};?\n#endif", "")
+ p.code = string.gsub(p.code, "DECLSPEC", "")
+ p.code = string.gsub(p.code, "SDLCALL", "")
+ p.code = string.gsub(p.code, "DLLINTERFACE", "")
+ p.code = string.gsub(p.code, "#define[^\n]*_[hH]_?%s*\n", "\n")
+--print("code is "..p.code)
+end
diff --git a/ThirdParty/toluapp/src/bin/lua/declaration.lua b/ThirdParty/toluapp/src/bin/lua/declaration.lua
new file mode 100644
index 0000000..73bbe91
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/lua/declaration.lua
@@ -0,0 +1,579 @@
+-- tolua: declaration class
+-- Written by Waldemar Celes
+-- TeCGraf/PUC-Rio
+-- Jul 1998
+-- $Id: $
+
+-- This code is free software; you can redistribute it and/or modify it.
+-- The software provided hereunder is on an "as is" basis, and
+-- the author has no obligation to provide maintenance, support, updates,
+-- enhancements, or modifications.
+
+
+-- Declaration class
+-- Represents variable, function, or argument declaration.
+-- Stores the following fields:
+-- mod = type modifiers
+-- type = type
+-- ptr = "*" or "&", if representing a pointer or a reference
+-- name = name
+-- dim = dimension, if a vector
+-- def = default value, if any (only for arguments)
+-- ret = "*" or "&", if value is to be returned (only for arguments)
+classDeclaration = {
+ mod = '',
+ type = '',
+ ptr = '',
+ name = '',
+ dim = '',
+ ret = '',
+ def = ''
+}
+classDeclaration.__index = classDeclaration
+setmetatable(classDeclaration,classFeature)
+
+-- Create an unique variable name
+function create_varname ()
+ if not _varnumber then _varnumber = 0 end
+ _varnumber = _varnumber + 1
+ return "tolua_var_".._varnumber
+end
+
+-- Check declaration name
+-- It also identifies default values
+function classDeclaration:checkname ()
+
+ if strsub(self.name,1,1) == '[' and not findtype(self.type) then
+ self.name = self.type..self.name
+ local m = split(self.mod,'%s%s*')
+ self.type = m[m.n]
+ self.mod = concat(m,1,m.n-1)
+ end
+
+ local t = split(self.name,'=')
+ if t.n==2 then
+ self.name = t[1]
+ self.def = find_enum_var(t[t.n])
+ end
+
+ local b,e,d = strfind(self.name,"%[(.-)%]")
+ if b then
+ self.name = strsub(self.name,1,b-1)
+ self.dim = find_enum_var(d)
+ end
+
+
+ if self.type ~= '' and self.type ~= 'void' and self.name == '' then
+ self.name = create_varname()
+ elseif self.kind=='var' then
+ if self.type=='' and self.name~='' then
+ self.type = self.type..self.name
+ self.name = create_varname()
+ elseif findtype(self.name) then
+ if self.type=='' then self.type = self.name
+ else self.type = self.type..' '..self.name end
+ self.name = create_varname()
+ end
+ end
+
+ -- adjust type of string
+ if self.type == 'char' and self.dim ~= '' then
+ self.type = 'char*'
+ end
+
+ if self.kind and self.kind == 'var' then
+ self.name = string.gsub(self.name, ":.*$", "") -- ???
+ end
+end
+
+-- Check declaration type
+-- Substitutes typedef's.
+function classDeclaration:checktype ()
+
+ -- check if there is a pointer to basic type
+ local basic = isbasic(self.type)
+ if self.kind == 'func' and basic=='number' and string.find(self.ptr, "%*") then
+ self.type = '_userdata'
+ self.ptr = ""
+ end
+ if basic and self.ptr~='' then
+ self.ret = self.ptr
+ self.ptr = nil
+ if isbasic(self.type) == 'number' then
+ self.return_userdata = true
+ end
+ end
+
+ -- check if there is array to be returned
+ if self.dim~='' and self.ret~='' then
+ error('#invalid parameter: cannot return an array of values')
+ end
+ -- restore 'void*' and 'string*'
+ if self.type == '_userdata' then self.type = 'void*'
+ elseif self.type == '_cstring' then self.type = 'char*'
+ elseif self.type == '_lstate' then self.type = 'lua_State*'
+ end
+
+ -- resolve types inside the templates
+ if self.type then
+ self.type = resolve_template_types(self.type)
+ end
+
+--
+-- -- if returning value, automatically set default value
+-- if self.ret ~= '' and self.def == '' then
+-- self.def = '0'
+-- end
+--
+
+end
+
+function resolve_template_types(type)
+
+ if isbasic(type) then
+ return type
+ end
+ local b,_,m = string.find(type, "(%b<>)")
+ if b then
+
+ m = split_c_tokens(string.sub(m, 2, -2), ",")
+ for i=1, table.getn(m) do
+ m[i] = string.gsub(m[i],"%s*([%*&])", "%1")
+ if not isbasic(m[i]) then
+ if not isenum(m[i]) then _, m[i] = applytypedef("", m[i]) end
+ m[i] = findtype(m[i]) or m[i]
+ m[i] = resolve_template_types(m[i])
+ end
+ end
+
+ local b,i
+ type,b,i = break_template(type)
+--print("concat is ",concat(m, 1, m.n))
+ local template_part = "<"..concat(m, 1, m.n, ",")..">"
+ type = rebuild_template(type, b, template_part)
+ type = string.gsub(type, ">>", "> >")
+ end
+ return type
+end
+
+function break_template(s)
+ local b,e,timpl = string.find(s, "(%b<>)")
+ if timpl then
+ s = string.gsub(s, "%b<>", "")
+ return s, b, timpl
+ else
+ return s, 0, nil
+ end
+end
+
+function rebuild_template(s, b, timpl)
+
+ if b == 0 then
+ return s
+ end
+
+ return string.sub(s, 1, b-1)..timpl..string.sub(s, b, -1)
+end
+
+-- Print method
+function classDeclaration:print (ident,close)
+ print(ident.."Declaration{")
+ print(ident.." mod = '"..self.mod.."',")
+ print(ident.." type = '"..self.type.."',")
+ print(ident.." ptr = '"..self.ptr.."',")
+ print(ident.." name = '"..self.name.."',")
+ print(ident.." dim = '"..self.dim.."',")
+ print(ident.." def = '"..self.def.."',")
+ print(ident.." ret = '"..self.ret.."',")
+ print(ident.."}"..close)
+end
+
+-- check if array of values are returned to Lua
+function classDeclaration:requirecollection (t)
+ if self.mod ~= 'const' and
+ self.dim and self.dim ~= '' and
+ not isbasic(self.type) and
+ self.ptr == '' and self:check_public_access() then
+ local type = gsub(self.type,"%s*const%s+","")
+ t[type] = "tolua_collect_" .. clean_template(type)
+ return true
+ end
+ return false
+end
+
+-- declare tag
+function classDeclaration:decltype ()
+
+ self.type = typevar(self.type)
+ if strfind(self.mod,'const') then
+ self.type = 'const '..self.type
+ self.mod = gsub(self.mod,'const%s*','')
+ end
+end
+
+
+-- output type checking
+function classDeclaration:outchecktype (narg)
+ local def
+ local t = isbasic(self.type)
+ if self.def~='' then
+ def = 1
+ else
+ def = 0
+ end
+ if self.dim ~= '' then
+ --if t=='string' then
+ -- return 'tolua_isstringarray(tolua_S,'..narg..','..def..',&tolua_err)'
+ --else
+ return '!tolua_istable(tolua_S,'..narg..',0,&tolua_err)'
+ --end
+ elseif t then
+ return '!tolua_is'..t..'(tolua_S,'..narg..','..def..',&tolua_err)'
+ else
+ local is_func = get_is_function(self.type)
+ if self.ptr == '&' or self.ptr == '' then
+ return '(tolua_isvaluenil(tolua_S,'..narg..',&tolua_err) || !'..is_func..'(tolua_S,'..narg..',"'..self.type..'",'..def..',&tolua_err))'
+ else
+ return '!'..is_func..'(tolua_S,'..narg..',"'..self.type..'",'..def..',&tolua_err)'
+ end
+ end
+end
+
+function classDeclaration:builddeclaration (narg, cplusplus)
+ local array = self.dim ~= '' and tonumber(self.dim)==nil
+ local line = ""
+ local ptr = ''
+ local mod
+ local type = self.type
+ local nctype = gsub(self.type,'const%s+','')
+ if self.dim ~= '' then
+ type = gsub(self.type,'const%s+','') -- eliminates const modifier for arrays
+ end
+ if self.ptr~='' and not isbasic(type) then ptr = '*' end
+ line = concatparam(line," ",self.mod,type,ptr)
+ if array then
+ line = concatparam(line,'*')
+ end
+ line = concatparam(line,self.name)
+ if self.dim ~= '' then
+ if tonumber(self.dim)~=nil then
+ line = concatparam(line,'[',self.dim,'];')
+ else
+ if cplusplus then
+ line = concatparam(line,' = Mtolua_new_dim(',type,ptr,', '..self.dim..');')
+ else
+ line = concatparam(line,' = (',type,ptr,'*)',
+ 'malloc((',self.dim,')*sizeof(',type,ptr,'));')
+ end
+ end
+ else
+ local t = isbasic(type)
+ line = concatparam(line,' = ')
+ if t == 'state' then
+ line = concatparam(line, 'tolua_S;')
+ else
+ --print("t is "..tostring(t)..", ptr is "..tostring(self.ptr))
+ if t == 'number' and string.find(self.ptr, "%*") then
+ t = 'userdata'
+ end
+ if not t and ptr=='' then line = concatparam(line,'*') end
+ line = concatparam(line,'((',self.mod,type)
+ if not t then
+ line = concatparam(line,'*')
+ end
+ line = concatparam(line,') ')
+ if isenum(nctype) then
+ line = concatparam(line,'(int) ')
+ end
+ local def = 0
+ if self.def ~= '' then
+ def = self.def
+ if (ptr == '' or self.ptr == '&') and not t then
+ def = "(void*)&(const "..type..")"..def
+ end
+ end
+ if t then
+ line = concatparam(line,'tolua_to'..t,'(tolua_S,',narg,',',def,'));')
+ else
+ local to_func = get_to_function(type)
+ line = concatparam(line,to_func..'(tolua_S,',narg,',',def,'));')
+ end
+ end
+ end
+ return line
+end
+
+-- Declare variable
+function classDeclaration:declare (narg)
+ if self.dim ~= '' and tonumber(self.dim)==nil then
+ output('#ifdef __cplusplus\n')
+ output(self:builddeclaration(narg,true))
+ output('#else\n')
+ output(self:builddeclaration(narg,false))
+ output('#endif\n')
+ else
+ output(self:builddeclaration(narg,false))
+ end
+end
+
+-- Get parameter value
+function classDeclaration:getarray (narg)
+ if self.dim ~= '' then
+ local type = gsub(self.type,'const ','')
+ output(' {')
+ output('#ifndef TOLUA_RELEASE\n')
+ local def; if self.def~='' then def=1 else def=0 end
+ local t = isbasic(type)
+ if (t) then
+ output(' if (!tolua_is'..t..'array(tolua_S,',narg,',',self.dim,',',def,',&tolua_err))')
+ else
+ output(' if (!tolua_isusertypearray(tolua_S,',narg,',"',type,'",',self.dim,',',def,',&tolua_err))')
+ end
+ output(' goto tolua_lerror;')
+ output(' else\n')
+ output('#endif\n')
+ output(' {')
+ output(' int i;')
+ output(' for(i=0; i<'..self.dim..';i++)')
+ local t = isbasic(type)
+ local ptr = ''
+ if self.ptr~='' then ptr = '*' end
+ output(' ',self.name..'[i] = ')
+ if not t and ptr=='' then output('*') end
+ output('((',type)
+ if not t then
+ output('*')
+ end
+ output(') ')
+ local def = 0
+ if self.def ~= '' then def = self.def end
+ if t then
+ output('tolua_tofield'..t..'(tolua_S,',narg,',i+1,',def,'));')
+ else
+ output('tolua_tofieldusertype(tolua_S,',narg,',i+1,',def,'));')
+ end
+ output(' }')
+ output(' }')
+ end
+end
+
+-- Get parameter value
+function classDeclaration:setarray (narg)
+ if not strfind(self.type,'const%s+') and self.dim ~= '' then
+ local type = gsub(self.type,'const ','')
+ output(' {')
+ output(' int i;')
+ output(' for(i=0; i<'..self.dim..';i++)')
+ local t,ct = isbasic(type)
+ if t then
+ output(' tolua_pushfield'..t..'(tolua_S,',narg,',i+1,(',ct,')',self.name,'[i]);')
+ else
+ if self.ptr == '' then
+ output(' {')
+ output('#ifdef __cplusplus\n')
+ output(' void* tolua_obj = Mtolua_new((',type,')(',self.name,'[i]));')
+ output(' tolua_pushfieldusertype_and_takeownership(tolua_S,',narg,',i+1,tolua_obj,"',type,'");')
+ output('#else\n')
+ output(' void* tolua_obj = tolua_copy(tolua_S,(void*)&',self.name,'[i],sizeof(',type,'));')
+ output(' tolua_pushfieldusertype(tolua_S,',narg,',i+1,tolua_obj,"',type,'");')
+ output('#endif\n')
+ output(' }')
+ else
+ output(' tolua_pushfieldusertype(tolua_S,',narg,',i+1,(void*)',self.name,'[i],"',type,'");')
+ end
+ end
+ output(' }')
+ end
+end
+
+-- Free dynamically allocated array
+function classDeclaration:freearray ()
+ if self.dim ~= '' and tonumber(self.dim)==nil then
+ output('#ifdef __cplusplus\n')
+ output(' Mtolua_delete_dim(',self.name,');')
+ output('#else\n')
+ output(' free(',self.name,');')
+ output('#endif\n')
+ end
+end
+
+-- Pass parameter
+function classDeclaration:passpar ()
+ if self.ptr=='&' and not isbasic(self.type) then
+ output('*'..self.name)
+ elseif self.ret=='*' then
+ output('&'..self.name)
+ else
+ output(self.name)
+ end
+end
+
+-- Return parameter value
+function classDeclaration:retvalue ()
+ if self.ret ~= '' then
+ local t,ct = isbasic(self.type)
+ if t and t~='' then
+ output(' tolua_push'..t..'(tolua_S,(',ct,')'..self.name..');')
+ else
+ local push_func = get_push_function(self.type)
+ output(' ',push_func,'(tolua_S,(void*)'..self.name..',"',self.type,'");')
+ end
+ return 1
+ end
+ return 0
+end
+
+-- Internal constructor
+function _Declaration (t)
+
+ setmetatable(t,classDeclaration)
+ t:buildnames()
+ t:checkname()
+ t:checktype()
+ local ft = findtype(t.type) or t.type
+ if not isenum(ft) then
+ t.mod, t.type = applytypedef(t.mod, ft)
+ end
+
+ if t.kind=="var" and (string.find(t.mod, "tolua_property%s") or string.find(t.mod, "tolua_property$")) then
+ t.mod = string.gsub(t.mod, "tolua_property", "tolua_property__"..get_property_type())
+ end
+
+ return t
+end
+
+-- Constructor
+-- Expects the string declaration.
+-- The kind of declaration can be "var" or "func".
+function Declaration (s,kind,is_parameter)
+
+ -- eliminate spaces if default value is provided
+ s = gsub(s,"%s*=%s*","=")
+ s = gsub(s, "%s*<", "<")
+
+ local defb,tmpdef
+ defb,_,tmpdef = string.find(s, "(=.*)$")
+ if defb then
+ s = string.gsub(s, "=.*$", "")
+ else
+ tmpdef = ''
+ end
+ if kind == "var" then
+ -- check the form: void
+ if s == '' or s == 'void' then
+ return _Declaration{type = 'void', kind = kind, is_parameter = is_parameter}
+ end
+ end
+
+ -- check the form: mod type*& name
+ local t = split_c_tokens(s,'%*%s*&')
+ if t.n == 2 then
+ if kind == 'func' then
+ error("#invalid function return type: "..s)
+ end
+ --local m = split(t[1],'%s%s*')
+ local m = split_c_tokens(t[1],'%s+')
+ return _Declaration{
+ name = t[2]..tmpdef,
+ ptr = '*',
+ ret = '&',
+ --type = rebuild_template(m[m.n], tb, timpl),
+ type = m[m.n],
+ mod = concat(m,1,m.n-1),
+ is_parameter = is_parameter,
+ kind = kind
+ }
+ end
+
+ -- check the form: mod type** name
+ t = split_c_tokens(s,'%*%s*%*')
+ if t.n == 2 then
+ if kind == 'func' then
+ error("#invalid function return type: "..s)
+ end
+ --local m = split(t[1],'%s%s*')
+ local m = split_c_tokens(t[1],'%s+')
+ return _Declaration{
+ name = t[2]..tmpdef,
+ ptr = '*',
+ ret = '*',
+ --type = rebuild_template(m[m.n], tb, timpl),
+ type = m[m.n],
+ mod = concat(m,1,m.n-1),
+ is_parameter = is_parameter,
+ kind = kind
+ }
+ end
+
+ -- check the form: mod type& name
+ t = split_c_tokens(s,'&')
+ if t.n == 2 then
+ --local m = split(t[1],'%s%s*')
+ local m = split_c_tokens(t[1],'%s+')
+ return _Declaration{
+ name = t[2]..tmpdef,
+ ptr = '&',
+ --type = rebuild_template(m[m.n], tb, timpl),
+ type = m[m.n],
+ mod = concat(m,1,m.n-1),
+ is_parameter = is_parameter,
+ kind = kind
+ }
+ end
+
+ -- check the form: mod type* name
+ local s1 = gsub(s,"(%b\[\])",function (n) return gsub(n,'%*','\1') end)
+ t = split_c_tokens(s1,'%*')
+ if t.n == 2 then
+ t[2] = gsub(t[2],'\1','%*') -- restore * in dimension expression
+ --local m = split(t[1],'%s%s*')
+ local m = split_c_tokens(t[1],'%s+')
+ return _Declaration{
+ name = t[2]..tmpdef,
+ ptr = '*',
+ type = m[m.n],
+ --type = rebuild_template(m[m.n], tb, timpl),
+ mod = concat(m,1,m.n-1) ,
+ is_parameter = is_parameter,
+ kind = kind
+ }
+ end
+
+ if kind == 'var' then
+ -- check the form: mod type name
+ --t = split(s,'%s%s*')
+ t = split_c_tokens(s,'%s+')
+ local v
+ if findtype(t[t.n]) then v = create_varname() else v = t[t.n]; t.n = t.n-1 end
+ return _Declaration{
+ name = v..tmpdef,
+ --type = rebuild_template(t[t.n], tb, timpl),
+ type = t[t.n],
+ mod = concat(t,1,t.n-1),
+ is_parameter = is_parameter,
+ kind = kind
+ }
+
+ else -- kind == "func"
+
+ -- check the form: mod type name
+ --t = split(s,'%s%s*')
+ t = split_c_tokens(s,'%s+')
+ local v = t[t.n] -- last word is the function name
+ local tp,md
+ if t.n>1 then
+ tp = t[t.n-1]
+ md = concat(t,1,t.n-2)
+ end
+ --if tp then tp = rebuild_template(tp, tb, timpl) end
+ return _Declaration{
+ name = v,
+ type = tp,
+ mod = md,
+ is_parameter = is_parameter,
+ kind = kind
+ }
+ end
+
+end
+
diff --git a/ThirdParty/toluapp/src/bin/lua/define.lua b/ThirdParty/toluapp/src/bin/lua/define.lua
new file mode 100644
index 0000000..96a28d8
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/lua/define.lua
@@ -0,0 +1,63 @@
+-- tolua: define class
+-- Written by Waldemar Celes
+-- TeCGraf/PUC-Rio
+-- Jul 1998
+-- $Id: define.lua,v 1.2 1999/07/28 22:21:08 celes Exp $
+
+-- This code is free software; you can redistribute it and/or modify it.
+-- The software provided hereunder is on an "as is" basis, and
+-- the author has no obligation to provide maintenance, support, updates,
+-- enhancements, or modifications.
+
+
+-- Define class
+-- Represents a numeric const definition
+-- The following filds are stored:
+-- name = constant name
+classDefine = {
+ name = '',
+}
+classDefine.__index = classDefine
+setmetatable(classDefine,classFeature)
+
+-- register define
+function classDefine:register (pre)
+ if not self:check_public_access() then
+ return
+ end
+
+ pre = pre or ''
+ output(pre..'tolua_constant(tolua_S,"'..self.lname..'",'..self.name..');')
+end
+
+-- Print method
+function classDefine:print (ident,close)
+ print(ident.."Define{")
+ print(ident.." name = '"..self.name.."',")
+ print(ident.." lname = '"..self.lname.."',")
+ print(ident.."}"..close)
+end
+
+
+-- Internal constructor
+function _Define (t)
+ setmetatable(t,classDefine)
+ t:buildnames()
+
+ if t.name == '' then
+ error("#invalid define")
+ end
+
+ append(t)
+ return t
+end
+
+-- Constructor
+-- Expects a string representing the constant name
+function Define (n)
+ return _Define{
+ name = n
+ }
+end
+
+
diff --git a/ThirdParty/toluapp/src/bin/lua/doit.lua b/ThirdParty/toluapp/src/bin/lua/doit.lua
new file mode 100644
index 0000000..4ddfc61
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/lua/doit.lua
@@ -0,0 +1,101 @@
+-- Generate binding code
+-- Written by Waldemar Celes
+-- TeCGraf/PUC-Rio
+-- Jul 1998
+-- Last update: Apr 2003
+-- $Id: $
+
+
+-- This code is free software; you can redistribute it and/or modify it.
+-- The software provided hereunder is on an "as is" basis, and
+-- the author has no obligation to provide maintenance, support, updates,
+-- enhancements, or modifications.
+
+function parse_extra()
+
+ for k,v in ipairs(_extra_parameters or {}) do
+
+ local b,e,name,value = string.find(v, "^([^=]*)=(.*)$")
+ if b then
+ _extra_parameters[name] = value
+ else
+ _extra_parameters[v] = true
+ end
+ end
+end
+
+function doit ()
+ -- define package name, if not provided
+ if not flags.n then
+ if flags.f then
+ flags.n = gsub(flags.f,"%..*$","")
+ _,_,flags.n = string.find(flags.n, "([^/\\]*)$")
+ else
+ error("#no package name nor input file provided")
+ end
+ end
+
+ -- parse table with extra paramters
+ parse_extra()
+
+ -- do this after setting the package name
+ if flags['L'] then
+ dofile(flags['L'])
+ end
+
+ -- add cppstring
+ if not flags['S'] then
+ _basic['string'] = 'cppstring'
+ _basic['std::string'] = 'cppstring'
+ _basic_ctype.cppstring = 'const char*'
+ end
+
+ -- proccess package
+ local p = Package(flags.n,flags.f)
+
+ if flags.p then
+ return -- only parse
+ end
+
+ if flags.o then
+ local st,msg = writeto(flags.o)
+ if not st then
+ error('#'..msg)
+ end
+ end
+
+ p:decltype()
+ if flags.P then
+ p:print()
+ else
+ push(p)
+ pre_output_hook(p)
+ pop()
+ p:preamble()
+ p:supcode()
+ push(p)
+ pre_register_hook(p)
+ pop()
+ p:register()
+ push(p)
+ post_output_hook(p)
+ pop()
+ end
+
+ if flags.o then
+ writeto()
+ end
+
+ -- write header file
+ if not flags.P then
+ if flags.H then
+ local st,msg = writeto(flags.H)
+ if not st then
+ error('#'..msg)
+ end
+ p:header()
+ writeto()
+ end
+ end
+end
+
diff --git a/ThirdParty/toluapp/src/bin/lua/enumerate.lua b/ThirdParty/toluapp/src/bin/lua/enumerate.lua
new file mode 100644
index 0000000..99fe746
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/lua/enumerate.lua
@@ -0,0 +1,106 @@
+-- tolua: enumerate class
+-- Written by Waldemar Celes
+-- TeCGraf/PUC-Rio
+-- Jul 1998
+-- $Id: enumerate.lua,v 1.3 2000/01/24 20:41:15 celes Exp $
+
+-- This code is free software; you can redistribute it and/or modify it.
+-- The software provided hereunder is on an "as is" basis, and
+-- the author has no obligation to provide maintenance, support, updates,
+-- enhancements, or modifications.
+
+
+-- Enumerate class
+-- Represents enumeration
+-- The following fields are stored:
+-- {i} = list of constant names
+classEnumerate = {
+}
+classEnumerate.__index = classEnumerate
+setmetatable(classEnumerate,classFeature)
+
+-- register enumeration
+function classEnumerate:register (pre)
+ if not self:check_public_access() then
+ return
+ end
+ pre = pre or ''
+ local nspace = getnamespace(classContainer.curr)
+ local i=1
+ while self[i] do
+ if self.lnames[i] and self.lnames[i] ~= "" then
+
+ output(pre..'tolua_constant(tolua_S,"'..self.lnames[i]..'",'..nspace..self[i]..');')
+ end
+ i = i+1
+ end
+end
+
+-- Print method
+function classEnumerate:print (ident,close)
+ print(ident.."Enumerate{")
+ print(ident.." name = "..self.name)
+ local i=1
+ while self[i] do
+ print(ident.." '"..self[i].."'("..self.lnames[i].."),")
+ i = i+1
+ end
+ print(ident.."}"..close)
+end
+
+-- Internal constructor
+function _Enumerate (t,varname)
+ setmetatable(t,classEnumerate)
+ append(t)
+ appendenum(t)
+ if varname and varname ~= "" then
+ if t.name ~= "" then
+ Variable(t.name.." "..varname)
+ else
+ local ns = getcurrnamespace()
+ warning("Variable "..ns..varname.." of type <anonymous enum> is declared as read-only")
+ Variable("tolua_readonly int "..varname)
+ end
+ end
+ local parent = classContainer.curr
+ if parent then
+ t.access = parent.curr_member_access
+ t.global_access = t:check_public_access()
+ end
+return t
+end
+
+-- Constructor
+-- Expects a string representing the enumerate body
+function Enumerate (n,b,varname)
+ b = string.gsub(b, ",[%s\n]*}", "\n}") -- eliminate last ','
+ local t = split(strsub(b,2,-2),',') -- eliminate braces
+ local i = 1
+ local e = {n=0}
+ while t[i] do
+ local tt = split(t[i],'=') -- discard initial value
+ e.n = e.n + 1
+ e[e.n] = tt[1]
+ i = i+1
+ end
+ -- set lua names
+ i = 1
+ e.lnames = {}
+ local ns = getcurrnamespace()
+ while e[i] do
+ local t = split(e[i],'@')
+ e[i] = t[1]
+ if not t[2] then
+ t[2] = applyrenaming(t[1])
+ end
+ e.lnames[i] = t[2] or t[1]
+ _global_enums[ ns..e[i] ] = (ns..e[i])
+ i = i+1
+ end
+ e.name = n
+ if n ~= "" then
+ Typedef("int "..n)
+ end
+ return _Enumerate(e, varname)
+end
+
diff --git a/ThirdParty/toluapp/src/bin/lua/feature.lua b/ThirdParty/toluapp/src/bin/lua/feature.lua
new file mode 100644
index 0000000..042b5d2
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/lua/feature.lua
@@ -0,0 +1,139 @@
+-- tolua: abstract feature class
+-- Written by Waldemar Celes
+-- TeCGraf/PUC-Rio
+-- Jul 1998
+-- $Id: $
+
+-- This code is free software; you can redistribute it and/or modify it.
+-- The software provided hereunder is on an "as is" basis, and
+-- the author has no obligation to provide maintenance, support, updates,
+-- enhancements, or modifications.
+
+
+-- Feature class
+-- Represents the base class of all mapped feature.
+classFeature = {
+}
+classFeature.__index = classFeature
+
+-- write support code
+function classFeature:supcode ()
+end
+
+-- output tag
+function classFeature:decltype ()
+end
+
+-- register feature
+function classFeature:register (pre)
+end
+
+-- translate verbatim
+function classFeature:preamble ()
+end
+
+-- check if it is a variable
+function classFeature:isvariable ()
+ return false
+end
+
+-- check if it requires collection
+function classFeature:requirecollection (t)
+ return false
+end
+
+-- build names
+function classFeature:buildnames ()
+ if self.name and self.name~='' then
+ local n = split(self.name,'@')
+ self.name = n[1]
+ self.name = string.gsub(self.name, ":%d*$", "")
+ if not n[2] then
+ n[2] = applyrenaming(n[1])
+ end
+ self.lname = n[2] or gsub(n[1],"%[.-%]","")
+ self.lname = string.gsub(self.lname, ":%d*$", "")
+ self.original_name = self.name
+ self.lname = clean_template(self.lname)
+ end
+ if not self.is_parameter then
+ self.name = getonlynamespace() .. self.name
+ end
+
+ local parent = classContainer.curr
+ if parent then
+ self.access = parent.curr_member_access
+ self.global_access = self:check_public_access()
+ else
+ end
+end
+
+function classFeature:check_public_access()
+
+ if type(self.global_access) == "boolean" then
+ return self.global_access
+ end
+
+ if self.access and self.access ~= 0 then
+ return false
+ end
+
+ local parent = classContainer.curr
+ while parent do
+ if parent.access and parent.access ~= 0 then
+ return false
+ end
+ parent = parent.prox
+ end
+ return true
+end
+
+function clean_template(t)
+
+ return string.gsub(t, "[<>:, %*]", "_")
+end
+
+-- check if feature is inside a container definition
+-- it returns the container class name or nil.
+function classFeature:incontainer (which)
+ if self.parent then
+ local parent = self.parent
+ while parent do
+ if parent.classtype == which then
+ return parent.name
+ end
+ parent = parent.parent
+ end
+ end
+ return nil
+end
+
+function classFeature:inclass ()
+ return self:incontainer('class')
+end
+
+function classFeature:inmodule ()
+ return self:incontainer('module')
+end
+
+function classFeature:innamespace ()
+ return self:incontainer('namespace')
+end
+
+-- return C binding function name based on name
+-- the client specifies a prefix
+function classFeature:cfuncname (n)
+
+ if self.parent then
+ n = self.parent:cfuncname(n)
+ end
+
+ local fname = self.lname
+ if not fname or fname == '' then
+ fname = self.name
+ end
+ n = string.gsub(n..'_'.. (fname), "[<>:, \.%*&]", "_")
+
+ return n
+end
+
diff --git a/ThirdParty/toluapp/src/bin/lua/function.lua b/ThirdParty/toluapp/src/bin/lua/function.lua
new file mode 100644
index 0000000..2358e9f
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/lua/function.lua
@@ -0,0 +1,577 @@
+-- tolua: function class
+-- Written by Waldemar Celes
+-- TeCGraf/PUC-Rio
+-- Jul 1998
+-- $Id: $
+
+-- This code is free software; you can redistribute it and/or modify it.
+-- The software provided hereunder is on an "as is" basis, and
+-- the author has no obligation to provide maintenance, support, updates,
+-- enhancements, or modifications.
+
+
+
+-- Function class
+-- Represents a function or a class method.
+-- The following fields are stored:
+-- mod = type modifiers
+-- type = type
+-- ptr = "*" or "&", if representing a pointer or a reference
+-- name = name
+-- lname = lua name
+-- args = list of argument declarations
+-- const = if it is a method receiving a const "this".
+classFunction = {
+ mod = '',
+ type = '',
+ ptr = '',
+ name = '',
+ args = {n=0},
+ const = '',
+}
+classFunction.__index = classFunction
+setmetatable(classFunction,classFeature)
+
+-- declare tags
+function classFunction:decltype ()
+ self.type = typevar(self.type)
+ if strfind(self.mod,'const') then
+ self.type = 'const '..self.type
+ self.mod = gsub(self.mod,'const','')
+ end
+ local i=1
+ while self.args[i] do
+ self.args[i]:decltype()
+ i = i+1
+ end
+end
+
+
+-- Write binding function
+-- Outputs C/C++ binding function.
+function classFunction:supcode (local_constructor)
+
+ local overload = strsub(self.cname,-2,-1) - 1 -- indicate overloaded func
+ local nret = 0 -- number of returned values
+ local class = self:inclass()
+ local _,_,static = strfind(self.mod,'^%s*(static)')
+ if class then
+
+ if self.name == 'new' and self.parent.flags.pure_virtual then
+ -- no constructor for classes with pure virtual methods
+ return
+ end
+
+ if local_constructor then
+ output("/* method: new_local of class ",class," */")
+ else
+ output("/* method:",self.name," of class ",class," */")
+ end
+ else
+ output("/* function:",self.name," */")
+ end
+
+ if local_constructor then
+ output("#ifndef TOLUA_DISABLE_"..self.cname.."_local")
+ output("\nstatic int",self.cname.."_local","(lua_State* tolua_S)")
+ else
+ output("#ifndef TOLUA_DISABLE_"..self.cname)
+ output("\nstatic int",self.cname,"(lua_State* tolua_S)")
+ end
+ output("{")
+
+ -- check types
+ if overload < 0 then
+ output('#ifndef TOLUA_RELEASE\n')
+ end
+ output(' tolua_Error tolua_err;')
+ output(' if (\n')
+ -- check self
+ local narg
+ if class then narg=2 else narg=1 end
+ if class then
+ local func = get_is_function(self.parent.type)
+ local type = self.parent.type
+ if self.name=='new' or static~=nil then
+ func = 'tolua_isusertable'
+ type = self.parent.type
+ end
+ if self.const ~= '' then
+ type = "const "..type
+ end
+ output(' !'..func..'(tolua_S,1,"'..type..'",0,&tolua_err) ||\n')
+ end
+ -- check args
+ if self.args[1].type ~= 'void' then
+ local i=1
+ while self.args[i] do
+ local btype = isbasic(self.args[i].type)
+ if btype ~= 'value' and btype ~= 'state' then
+ output(' '..self.args[i]:outchecktype(narg)..' ||\n')
+ end
+ if btype ~= 'state' then
+ narg = narg+1
+ end
+ i = i+1
+ end
+ end
+ -- check end of list
+ output(' !tolua_isnoobj(tolua_S,'..narg..',&tolua_err)\n )')
+ output(' goto tolua_lerror;')
+
+ output(' else\n')
+ if overload < 0 then
+ output('#endif\n')
+ end
+ output(' {')
+
+ -- declare self, if the case
+ local narg
+ if class then narg=2 else narg=1 end
+ if class and self.name~='new' and static==nil then
+ output(' ',self.const,self.parent.type,'*','self = ')
+ output('(',self.const,self.parent.type,'*) ')
+ local to_func = get_to_function(self.parent.type)
+ output(to_func,'(tolua_S,1,0);')
+ elseif static then
+ _,_,self.mod = strfind(self.mod,'^%s*static%s%s*(.*)')
+ end
+ -- declare parameters
+ if self.args[1].type ~= 'void' then
+ local i=1
+ while self.args[i] do
+ self.args[i]:declare(narg)
+ if isbasic(self.args[i].type) ~= "state" then
+ narg = narg+1
+ end
+ i = i+1
+ end
+ end
+
+ -- check self
+ if class and self.name~='new' and static==nil then
+ output('#ifndef TOLUA_RELEASE\n')
+ output(' if (!self) tolua_error(tolua_S,"'..output_error_hook("invalid \'self\' in function \'%s\'", self.name)..'", NULL);');
+ output('#endif\n')
+ end
+
+ -- get array element values
+ if class then narg=2 else narg=1 end
+ if self.args[1].type ~= 'void' then
+ local i=1
+ while self.args[i] do
+ self.args[i]:getarray(narg)
+ narg = narg+1
+ i = i+1
+ end
+ end
+
+ pre_call_hook(self)
+
+ local out = string.find(self.mod, "tolua_outside")
+ -- call function
+ if class and self.name=='delete' then
+ output(' Mtolua_delete(self);')
+ elseif class and self.name == 'operator&[]' then
+ if flags['1'] then -- for compatibility with tolua5 ?
+ output(' self->operator[](',self.args[1].name,'-1) = ',self.args[2].name,';')
+ else
+ output(' self->operator[](',self.args[1].name,') = ',self.args[2].name,';')
+ end
+ else
+ output(' {')
+ if self.type ~= '' and self.type ~= 'void' then
+ output(' ',self.mod,self.type,self.ptr,'tolua_ret = ')
+ output('(',self.mod,self.type,self.ptr,') ')
+ else
+ output(' ')
+ end
+ if class and self.name=='new' then
+ output('Mtolua_new((',self.type,')(')
+ elseif class and static then
+ if out then
+ output(self.name,'(')
+ else
+ output(class..'::'..self.name,'(')
+ end
+ elseif class then
+ if out then
+ output(self.name,'(')
+ else
+ if self.cast_operator then
+ --output('static_cast<',self.mod,self.type,self.ptr,' >(*self')
+ output('self->operator ',self.mod,self.type,'(')
+ else
+ output('self->'..self.name,'(')
+ end
+ end
+ else
+ output(self.name,'(')
+ end
+
+ if out and not static then
+ output('self')
+ if self.args[1] and self.args[1].name ~= '' then
+ output(',')
+ end
+ end
+ -- write parameters
+ local i=1
+ while self.args[i] do
+ self.args[i]:passpar()
+ i = i+1
+ if self.args[i] then
+ output(',')
+ end
+ end
+
+ if class and self.name == 'operator[]' and flags['1'] then
+ output('-1);')
+ else
+ if class and self.name=='new' then
+ output('));') -- close Mtolua_new(
+ else
+ output(');')
+ end
+ end
+
+ -- return values
+ if self.type ~= '' and self.type ~= 'void' then
+ nret = nret + 1
+ local t,ct = isbasic(self.type)
+ if t and self.name ~= "new" then
+ if self.cast_operator and _basic_raw_push[t] then
+ output(' ',_basic_raw_push[t],'(tolua_S,(',ct,')tolua_ret);')
+ else
+ output(' tolua_push'..t..'(tolua_S,(',ct,')tolua_ret);')
+ end
+ else
+ t = self.type
+ new_t = string.gsub(t, "const%s+", "")
+ local owned = false
+ if string.find(self.mod, "tolua_owned") then
+ owned = true
+ end
+ local push_func = get_push_function(t)
+ if self.ptr == '' then
+ output(' {')
+ output('#ifdef __cplusplus\n')
+ output(' void* tolua_obj = Mtolua_new((',new_t,')(tolua_ret));')
+ output(' ',push_func,'(tolua_S,tolua_obj,"',t,'");')
+ output(' tolua_register_gc(tolua_S,lua_gettop(tolua_S));')
+ output('#else\n')
+ output(' void* tolua_obj = tolua_copy(tolua_S,(void*)&tolua_ret,sizeof(',t,'));')
+ output(' ',push_func,'(tolua_S,tolua_obj,"',t,'");')
+ output(' tolua_register_gc(tolua_S,lua_gettop(tolua_S));')
+ output('#endif\n')
+ output(' }')
+ elseif self.ptr == '&' then
+ output(' ',push_func,'(tolua_S,(void*)&tolua_ret,"',t,'");')
+ else
+ output(' ',push_func,'(tolua_S,(void*)tolua_ret,"',t,'");')
+ if owned or local_constructor then
+ output(' tolua_register_gc(tolua_S,lua_gettop(tolua_S));')
+ end
+ end
+ end
+ end
+ local i=1
+ while self.args[i] do
+ nret = nret + self.args[i]:retvalue()
+ i = i+1
+ end
+ output(' }')
+
+ -- set array element values
+ if class then narg=2 else narg=1 end
+ if self.args[1].type ~= 'void' then
+ local i=1
+ while self.args[i] do
+ self.args[i]:setarray(narg)
+ narg = narg+1
+ i = i+1
+ end
+ end
+
+ -- free dynamically allocated array
+ if self.args[1].type ~= 'void' then
+ local i=1
+ while self.args[i] do
+ self.args[i]:freearray()
+ i = i+1
+ end
+ end
+ end
+
+ post_call_hook(self)
+
+ output(' }')
+ output(' return '..nret..';')
+
+ -- call overloaded function or generate error
+ if overload < 0 then
+
+ output('#ifndef TOLUA_RELEASE\n')
+ output('tolua_lerror:\n')
+ output(' tolua_error(tolua_S,"'..output_error_hook("#ferror in function \'%s\'.", self.lname)..'",&tolua_err);')
+ output(' return 0;')
+ output('#endif\n')
+ else
+ local _local = ""
+ if local_constructor then
+ _local = "_local"
+ end
+ output('tolua_lerror:\n')
+ output(' return '..strsub(self.cname,1,-3)..format("%02d",overload).._local..'(tolua_S);')
+ end
+ output('}')
+ output('#endif //#ifndef TOLUA_DISABLE\n')
+ output('\n')
+
+ -- recursive call to write local constructor
+ if class and self.name=='new' and not local_constructor then
+
+ self:supcode(1)
+ end
+
+end
+
+
+-- register function
+function classFunction:register (pre)
+
+ if not self:check_public_access() then
+ return
+ end
+
+ if self.name == 'new' and self.parent.flags.pure_virtual then
+ -- no constructor for classes with pure virtual methods
+ return
+ end
+
+ output(pre..'tolua_function(tolua_S,"'..self.lname..'",'..self.cname..');')
+ if self.name == 'new' then
+ output(pre..'tolua_function(tolua_S,"new_local",'..self.cname..'_local);')
+ output(pre..'tolua_function(tolua_S,".call",'..self.cname..'_local);')
+ --output(' tolua_set_call_event(tolua_S,'..self.cname..'_local, "'..self.parent.type..'");')
+ end
+end
+
+-- Print method
+function classFunction:print (ident,close)
+ print(ident.."Function{")
+ print(ident.." mod = '"..self.mod.."',")
+ print(ident.." type = '"..self.type.."',")
+ print(ident.." ptr = '"..self.ptr.."',")
+ print(ident.." name = '"..self.name.."',")
+ print(ident.." lname = '"..self.lname.."',")
+ print(ident.." const = '"..self.const.."',")
+ print(ident.." cname = '"..self.cname.."',")
+ print(ident.." lname = '"..self.lname.."',")
+ print(ident.." args = {")
+ local i=1
+ while self.args[i] do
+ self.args[i]:print(ident.." ",",")
+ i = i+1
+ end
+ print(ident.." }")
+ print(ident.."}"..close)
+end
+
+-- check if it returns an object by value
+function classFunction:requirecollection (t)
+ local r = false
+ if self.type ~= '' and not isbasic(self.type) and self.ptr=='' then
+ local type = gsub(self.type,"%s*const%s+","")
+ t[type] = "tolua_collect_" .. clean_template(type)
+ r = true
+ end
+ local i=1
+ while self.args[i] do
+ r = self.args[i]:requirecollection(t) or r
+ i = i+1
+ end
+ return r
+end
+
+-- determine lua function name overload
+function classFunction:overload ()
+ return self.parent:overload(self.lname)
+end
+
+
+function param_object(par) -- returns true if the parameter has an object as its default value
+
+ if not string.find(par, '=') then return false end -- it has no default value
+
+ local _,_,def = string.find(par, "=(.*)$")
+
+ if string.find(par, "|") then -- a list of flags
+
+ return true
+ end
+
+ if string.find(par, "%*") then -- it's a pointer with a default value
+
+ if string.find(par, '=%s*new') or string.find(par, "%(") then -- it's a pointer with an instance as default parameter.. is that valid?
+ return true
+ end
+ return false -- default value is 'NULL' or something
+ end
+
+
+ if string.find(par, "[%(&]") then
+ return true
+ end -- default value is a constructor call (most likely for a const reference)
+
+ --if string.find(par, "&") then
+
+ -- if string.find(def, ":") or string.find(def, "^%s*new%s+") then
+
+ -- -- it's a reference with default to something like Class::member, or 'new Class'
+ -- return true
+ -- end
+ --end
+
+ return false -- ?
+end
+
+function strip_last_arg(all_args, last_arg) -- strips the default value from the last argument
+
+ local _,_,s_arg = string.find(last_arg, "^([^=]+)")
+ last_arg = string.gsub(last_arg, "([%%%(%)])", "%%%1");
+ all_args = string.gsub(all_args, "%s*,%s*"..last_arg.."%s*%)%s*$", ")")
+ return all_args, s_arg
+end
+
+
+
+-- Internal constructor
+function _Function (t)
+ setmetatable(t,classFunction)
+
+ if t.const ~= 'const' and t.const ~= '' then
+ error("#invalid 'const' specification")
+ end
+
+ append(t)
+ if t:inclass() then
+ --print ('t.name is '..t.name..', parent.name is '..t.parent.name)
+ if string.gsub(t.name, "%b<>", "") == string.gsub(t.parent.original_name or t.parent.name, "%b<>", "") then
+ t.name = 'new'
+ t.lname = 'new'
+ t.parent._new = true
+ t.type = t.parent.name
+ t.ptr = '*'
+ elseif string.gsub(t.name, "%b<>", "") == '~'..string.gsub(t.parent.original_name or t.parent.name, "%b<>", "") then
+ t.name = 'delete'
+ t.lname = 'delete'
+ t.parent._delete = true
+ end
+ end
+ t.cname = t:cfuncname("tolua")..t:overload(t)
+ return t
+end
+
+-- Constructor
+-- Expects three strings: one representing the function declaration,
+-- another representing the argument list, and the third representing
+-- the "const" or empty string.
+function Function (d,a,c)
+ --local t = split(strsub(a,2,-2),',') -- eliminate braces
+ --local t = split_params(strsub(a,2,-2))
+
+ if not flags['W'] and string.find(a, "%.%.%.%s*%)") then
+
+ warning("Functions with variable arguments (`...') are not supported. Ignoring "..d..a..c)
+ return nil
+ end
+
+
+ local i=1
+ local l = {n=0}
+
+ a = string.gsub(a, "%s*([%(%)])%s*", "%1")
+ local t,strip,last = strip_pars(strsub(a,2,-2));
+ if strip then
+ --local ns = string.sub(strsub(a,1,-2), 1, -(string.len(last)+1))
+ local ns = join(t, ",", 1, last-1)
+
+ ns = "("..string.gsub(ns, "%s*,%s*$", "")..')'
+ --ns = strip_defaults(ns)
+
+ local f = Function(d, ns, c)
+ for i=1,last do
+ t[i] = string.gsub(t[i], "=.*$", "")
+ end
+ end
+
+ while t[i] do
+ l.n = l.n+1
+ l[l.n] = Declaration(t[i],'var',true)
+ i = i+1
+ end
+ local f = Declaration(d,'func')
+ f.args = l
+ f.const = c
+ return _Function(f)
+end
+
+function join(t, sep, first, last)
+
+ first = first or 1
+ last = last or table.getn(t)
+ local lsep = ""
+ local ret = ""
+ local loop = false
+ for i = first,last do
+
+ ret = ret..lsep..t[i]
+ lsep = sep
+ loop = true
+ end
+ if not loop then
+ return ""
+ end
+
+ return ret
+end
+
+function strip_pars(s)
+
+ local t = split_c_tokens(s, ',')
+ local strip = false
+ local last
+
+ for i=t.n,1,-1 do
+
+ if not strip and param_object(t[i]) then
+ last = i
+ strip = true
+ end
+ --if strip then
+ -- t[i] = string.gsub(t[i], "=.*$", "")
+ --end
+ end
+
+ return t,strip,last
+
+end
+
+function strip_defaults(s)
+
+ s = string.gsub(s, "^%(", "")
+ s = string.gsub(s, "%)$", "")
+
+ local t = split_c_tokens(s, ",")
+ local sep, ret = "",""
+ for i=1,t.n do
+ t[i] = string.gsub(t[i], "=.*$", "")
+ ret = ret..sep..t[i]
+ sep = ","
+ end
+
+ return "("..ret..")"
+end
+
+
diff --git a/ThirdParty/toluapp/src/bin/lua/module.lua b/ThirdParty/toluapp/src/bin/lua/module.lua
new file mode 100644
index 0000000..57dceb7
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/lua/module.lua
@@ -0,0 +1,68 @@
+-- tolua: module class
+-- Written by Waldemar Celes
+-- TeCGraf/PUC-Rio
+-- Jul 1998
+-- $Id: $
+
+-- This code is free software; you can redistribute it and/or modify it.
+-- The software provided hereunder is on an "as is" basis, and
+-- the author has no obligation to provide maintenance, support, updates,
+-- enhancements, or modifications.
+
+
+
+-- Module class
+-- Represents module.
+-- The following fields are stored:
+-- {i} = list of objects in the module.
+classModule = {
+ classtype = 'module'
+}
+classModule.__index = classModule
+setmetatable(classModule,classContainer)
+
+-- register module
+function classModule:register (pre)
+ pre = pre or ''
+ push(self)
+ output(pre..'tolua_module(tolua_S,"'..self.name..'",',self:hasvar(),');')
+ output(pre..'tolua_beginmodule(tolua_S,"'..self.name..'");')
+ local i=1
+ while self[i] do
+ self[i]:register(pre..' ')
+ i = i+1
+ end
+ output(pre..'tolua_endmodule(tolua_S);')
+ pop()
+end
+
+-- Print method
+function classModule:print (ident,close)
+ print(ident.."Module{")
+ print(ident.." name = '"..self.name.."';")
+ local i=1
+ while self[i] do
+ self[i]:print(ident.." ",",")
+ i = i+1
+ end
+ print(ident.."}"..close)
+end
+
+-- Internal constructor
+function _Module (t)
+ setmetatable(t,classModule)
+ append(t)
+ return t
+end
+
+-- Constructor
+-- Expects two string representing the module name and body.
+function Module (n,b)
+ local t = _Module(_Container{name=n})
+ push(t)
+ t:parse(strsub(b,2,strlen(b)-1)) -- eliminate braces
+ pop()
+ return t
+end
+
+
diff --git a/ThirdParty/toluapp/src/bin/lua/namespace.lua b/ThirdParty/toluapp/src/bin/lua/namespace.lua
new file mode 100644
index 0000000..6ca80e6
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/lua/namespace.lua
@@ -0,0 +1,52 @@
+-- tolua: namespace class
+-- Written by Waldemar Celes
+-- TeCGraf/PUC-Rio
+-- Jul 2003
+-- $Id: $
+
+-- This code is free software; you can redistribute it and/or modify it.
+-- The software provided hereunder is on an "as is" basis, and
+-- the author has no obligation to provide maintenance, support, updates,
+-- enhancements, or modifications.
+
+
+-- Namespace class
+-- Represents a namesapce definition.
+-- Stores the following fields:
+-- name = class name
+-- {i} = list of members
+classNamespace = {
+ classtype = 'namespace',
+ name = '',
+}
+classNamespace.__index = classNamespace
+setmetatable(classNamespace,classModule)
+
+-- Print method
+function classNamespace:print (ident,close)
+ print(ident.."Namespace{")
+ print(ident.." name = '"..self.name.."',")
+ local i=1
+ while self[i] do
+ self[i]:print(ident.." ",",")
+ i = i+1
+ end
+ print(ident.."}"..close)
+end
+
+-- Internal constructor
+function _Namespace (t)
+ setmetatable(t,classNamespace)
+ append(t)
+ return t
+end
+
+-- Constructor
+-- Expects the name and the body of the namespace.
+function Namespace (n,b)
+ local c = _Namespace(_Container{name=n})
+ push(c)
+ c:parse(strsub(b,2,strlen(b)-1)) -- eliminate braces
+ pop()
+end
+
diff --git a/ThirdParty/toluapp/src/bin/lua/operator.lua b/ThirdParty/toluapp/src/bin/lua/operator.lua
new file mode 100644
index 0000000..675027c
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/lua/operator.lua
@@ -0,0 +1,220 @@
+-- tolua: operator class
+-- Written by Waldemar Celes
+-- TeCGraf/PUC-Rio
+-- Jul 1998
+-- $Id: $
+
+-- This code is free software; you can redistribute it and/or modify it.
+-- The software provided hereunder is on an "as is" basis, and
+-- the author has no obligation to provide maintenance, support, updates,
+-- enhancements, or modifications.
+
+
+-- Operator class
+-- Represents an operator function or a class operator method.
+-- It stores the same fields as functions do plus:
+-- kind = set of character representing the operator (as it appers in C++ code)
+classOperator = {
+ kind = '',
+}
+classOperator.__index = classOperator
+setmetatable(classOperator,classFunction)
+
+-- table to transform operator kind into the appropriate tag method name
+_TM = {['+'] = 'add',
+ ['-'] = 'sub',
+ ['*'] = 'mul',
+ ['/'] = 'div',
+ ['<'] = 'lt',
+ ['<='] = 'le',
+ ['=='] = 'eq',
+ ['[]'] = 'geti',
+ ['&[]'] = 'seti',
+ --['->'] = 'flechita',
+ }
+
+
+-- Print method
+function classOperator:print (ident,close)
+ print(ident.."Operator{")
+ print(ident.." kind = '"..self.kind.."',")
+ print(ident.." mod = '"..self.mod.."',")
+ print(ident.." type = '"..self.type.."',")
+ print(ident.." ptr = '"..self.ptr.."',")
+ print(ident.." name = '"..self.name.."',")
+ print(ident.." const = '"..self.const.."',")
+ print(ident.." cname = '"..self.cname.."',")
+ print(ident.." lname = '"..self.lname.."',")
+ print(ident.." args = {")
+ local i=1
+ while self.args[i] do
+ self.args[i]:print(ident.." ",",")
+ i = i+1
+ end
+ print(ident.." }")
+ print(ident.."}"..close)
+end
+
+function classOperator:supcode_tmp()
+
+ if not _TM[self.kind] then
+ return classFunction.supcode(self)
+ end
+
+ -- no overload, no parameters, always inclass
+ output("/* method:",self.name," of class ",self:inclass()," */")
+
+ output("#ifndef TOLUA_DISABLE_"..self.cname)
+ output("\nstatic int",self.cname,"(lua_State* tolua_S)")
+
+ if overload < 0 then
+ output('#ifndef TOLUA_RELEASE\n')
+ end
+ output(' tolua_Error tolua_err;')
+ output(' if (\n')
+ -- check self
+ local is_func = get_is_function(self.parent.type)
+ output(' !'..is_func..'(tolua_S,1,"'..self.parent.type..'",0,&tolua_err) ||\n')
+ output(' !tolua_isnoobj(tolua_S,2,&tolua_err)\n )')
+ output(' goto tolua_lerror;')
+
+ output(' else\n')
+ output('#endif\n') -- tolua_release
+ output(' {')
+
+ -- declare self
+ output(' ',self.const,self.parent.type,'*','self = ')
+ output('(',self.const,self.parent.type,'*) ')
+ local to_func = get_to_func(self.parent.type)
+ output(to_func,'(tolua_S,1,0);')
+
+ -- check self
+ output('#ifndef TOLUA_RELEASE\n')
+ output(' if (!self) tolua_error(tolua_S,"'..output_error_hook("invalid \'self\' in function \'%s\'", self.name)..'",NULL);');
+ output('#endif\n')
+
+ -- cast self
+ output(' ',self.mod,self.type,self.ptr,'tolua_ret = ')
+ output('(',self.mod,self.type,self.ptr,')(*self);')
+
+ -- return value
+ local t,ct = isbasic(self.type)
+ if t then
+ output(' tolua_push'..t..'(tolua_S,(',ct,')tolua_ret);')
+ else
+ t = self.type
+ local push_func = get_push_function(t)
+ new_t = string.gsub(t, "const%s+", "")
+ if self.ptr == '' then
+ output(' {')
+ output('#ifdef __cplusplus\n')
+ output(' void* tolua_obj = Mtolua_new((',new_t,')(tolua_ret));')
+ output(' ',push_func,'(tolua_S,tolua_obj,"',t,'");')
+ output(' tolua_register_gc(tolua_S,lua_gettop(tolua_S));')
+ output('#else\n')
+ output(' void* tolua_obj = tolua_copy(tolua_S,(void*)&tolua_ret,sizeof(',t,'));')
+ output(' ',push_func,'(tolua_S,tolua_obj,"',t,'");')
+ output(' tolua_register_gc(tolua_S,lua_gettop(tolua_S));')
+ output('#endif\n')
+ output(' }')
+ elseif self.ptr == '&' then
+ output(' ',push_func,'(tolua_S,(void*)&tolua_ret,"',t,'");')
+ else
+ if local_constructor then
+ output(' ',push_func,'(tolua_S,(void *)tolua_ret,"',t,'");')
+ output(' tolua_register_gc(tolua_S,lua_gettop(tolua_S));')
+ else
+ output(' ',push_func,'(tolua_S,(void*)tolua_ret,"',t,'");')
+ end
+ end
+ end
+
+ output(' }')
+ output(' return 1;')
+
+ output('#ifndef TOLUA_RELEASE\n')
+ output('tolua_lerror:\n')
+ output(' tolua_error(tolua_S,"'..output_error_hook("#ferror in function \'%s\'.", self.lname)..'",&tolua_err);')
+ output(' return 0;')
+ output('#endif\n')
+
+
+ output('}')
+ output('#endif //#ifndef TOLUA_DISABLE\n')
+ output('\n')
+end
+
+-- Internal constructor
+function _Operator (t)
+ setmetatable(t,classOperator)
+
+ if t.const ~= 'const' and t.const ~= '' then
+ error("#invalid 'const' specification")
+ end
+
+ append(t)
+ if not t:inclass() then
+ error("#operator can only be defined as class member")
+ end
+
+ --t.name = t.name .. "_" .. (_TM[t.kind] or t.kind)
+ t.cname = t:cfuncname("tolua")..t:overload(t)
+ t.name = "operator" .. t.kind -- set appropriate calling name
+ return t
+end
+
+-- Constructor
+function Operator (d,k,a,c)
+
+ local op_k = string.gsub(k, "^%s*", "")
+ op_k = string.gsub(k, "%s*$", "")
+ --if string.find(k, "^[%w_:%d<>%*%&]+$") then
+ if d == "operator" and k ~= '' then
+
+ d = k.." operator"
+ elseif not _TM[op_k] then
+
+ if flags['W'] then
+ error("tolua: no support for operator" .. f.kind)
+ else
+ warning("No support for operator "..op_k..", ignoring")
+ return nil
+ end
+ end
+
+ local ref = ''
+ local t = split_c_tokens(strsub(a,2,strlen(a)-1),',') -- eliminate braces
+ local i=1
+ local l = {n=0}
+ while t[i] do
+ l.n = l.n+1
+ l[l.n] = Declaration(t[i],'var')
+ i = i+1
+ end
+ if k == '[]' then
+ local _
+ _, _, ref = strfind(d,'(&)')
+ d = gsub(d,'&','')
+ elseif k=='&[]' then
+ l.n = l.n+1
+ l[l.n] = Declaration(d,'var')
+ l[l.n].name = 'tolua_value'
+ end
+ local f = Declaration(d,'func')
+ if k == '[]' and (l[1]==nil or isbasic(l[1].type)~='number') then
+ error('operator[] can only be defined for numeric index.')
+ end
+ f.args = l
+ f.const = c
+ f.kind = op_k
+ f.lname = "."..(_TM[f.kind] or f.kind)
+ if not _TM[f.kind] then
+ f.cast_operator = true
+ end
+ if f.kind == '[]' and ref=='&' and f.const~='const' then
+ Operator(d,'&'..k,a,c) -- create correspoding set operator
+ end
+ return _Operator(f)
+end
+
+
diff --git a/ThirdParty/toluapp/src/bin/lua/package.lua b/ThirdParty/toluapp/src/bin/lua/package.lua
new file mode 100644
index 0000000..eec1369
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/lua/package.lua
@@ -0,0 +1,343 @@
+-- tolua: package class
+-- Written by Waldemar Celes
+-- TeCGraf/PUC-Rio
+-- Jul 1998
+-- $Id: $
+
+-- This code is free software; you can redistribute it and/or modify it.
+-- The software provided hereunder is on an "as is" basis, and
+-- the author has no obligation to provide maintenance, support, updates,
+-- enhancements, or modifications.
+
+
+
+-- Package class
+-- Represents the whole package being bound.
+-- The following fields are stored:
+-- {i} = list of objects in the package.
+classPackage = {
+ classtype = 'package'
+}
+classPackage.__index = classPackage
+setmetatable(classPackage,classContainer)
+
+-- Print method
+function classPackage:print ()
+ print("Package: "..self.name)
+ local i=1
+ while self[i] do
+ self[i]:print("","")
+ i = i+1
+ end
+end
+
+function classPackage:preprocess ()
+
+ -- avoid preprocessing embedded Lua code
+ local L = {}
+ self.code = gsub(self.code,"\n%s*%$%[","\1") -- deal with embedded lua code
+ self.code = gsub(self.code,"\n%s*%$%]","\2")
+ self.code = gsub(self.code,"(%b\1\2)", function (c)
+ tinsert(L,c)
+ return "\n#["..getn(L).."]#"
+ end)
+ -- avoid preprocessing embedded C code
+ local C = {}
+ self.code = gsub(self.code,"\n%s*%$%<","\3") -- deal with embedded C code
+ self.code = gsub(self.code,"\n%s*%$%>","\4")
+ self.code = gsub(self.code,"(%b\3\4)", function (c)
+ tinsert(C,c)
+ return "\n#<"..getn(C)..">#"
+ end)
+ -- avoid preprocessing embedded C code
+ self.code = gsub(self.code,"\n%s*%$%{","\5") -- deal with embedded C code
+ self.code = gsub(self.code,"\n%s*%$%}","\6")
+ self.code = gsub(self.code,"(%b\5\6)", function (c)
+ tinsert(C,c)
+ return "\n#<"..getn(C)..">#"
+ end)
+
+ --self.code = gsub(self.code,"\n%s*#[^d][^\n]*\n", "\n\n") -- eliminate preprocessor directives that don't start with 'd'
+ self.code = gsub(self.code,"\n[ \t]*#[ \t]*[^d%<%[]", "\n//") -- eliminate preprocessor directives that don't start with 'd'
+
+ -- avoid preprocessing verbatim lines
+ local V = {}
+ self.code = gsub(self.code,"\n(%s*%$[^%[%]][^\n]*)",function (v)
+ tinsert(V,v)
+ return "\n#"..getn(V).."#"
+ end)
+
+ -- perform global substitution
+
+ self.code = gsub(self.code,"(//[^\n]*)","") -- eliminate C++ comments
+ self.code = gsub(self.code,"/%*","\1")
+ self.code = gsub(self.code,"%*/","\2")
+ self.code = gsub(self.code,"%b\1\2","")
+ self.code = gsub(self.code,"\1","/%*")
+ self.code = gsub(self.code,"\2","%*/")
+ self.code = gsub(self.code,"%s*@%s*","@") -- eliminate spaces beside @
+ self.code = gsub(self.code,"%s?inline(%s)","%1") -- eliminate 'inline' keyword
+ --self.code = gsub(self.code,"%s?extern(%s)","%1") -- eliminate 'extern' keyword
+ --self.code = gsub(self.code,"%s?virtual(%s)","%1") -- eliminate 'virtual' keyword
+ --self.code = gsub(self.code,"public:","") -- eliminate 'public:' keyword
+ self.code = gsub(self.code,"([^%w_])void%s*%*","%1_userdata ") -- substitute 'void*'
+ self.code = gsub(self.code,"([^%w_])void%s*%*","%1_userdata ") -- substitute 'void*'
+ self.code = gsub(self.code,"([^%w_])char%s*%*","%1_cstring ") -- substitute 'char*'
+ self.code = gsub(self.code,"([^%w_])lua_State%s*%*","%1_lstate ") -- substitute 'lua_State*'
+
+ -- restore embedded Lua code
+ self.code = gsub(self.code,"%#%[(%d+)%]%#",function (n)
+ return L[tonumber(n)]
+ end)
+ -- restore embedded C code
+ self.code = gsub(self.code,"%#%<(%d+)%>%#",function (n)
+ return C[tonumber(n)]
+ end)
+ -- restore verbatim lines
+ self.code = gsub(self.code,"%#(%d+)%#",function (n)
+ return V[tonumber(n)]
+ end)
+
+ self.code = string.gsub(self.code, "\n%s*%$([^\n]+)", function (l)
+ Verbatim(l.."\n")
+ return "\n"
+ end)
+end
+
+-- translate verbatim
+function classPackage:preamble ()
+ output('/*\n')
+ output('** Lua binding: '..self.name..'\n')
+ output('** Generated automatically by '..TOLUA_VERSION..' on '..date()..'.\n')
+ output('*/\n\n')
+
+ output('#ifndef __cplusplus\n')
+ output('#include "stdlib.h"\n')
+ output('#endif\n')
+ output('#include "string.h"\n\n')
+ output('#include "tolua++.h"\n\n')
+
+ if not flags.h then
+ output('/* Exported function */')
+ output('TOLUA_API int tolua_'..self.name..'_open (lua_State* tolua_S);')
+ output('\n')
+ end
+
+ local i=1
+ while self[i] do
+ self[i]:preamble()
+ i = i+1
+ end
+
+ if self:requirecollection(_collect) then
+ output('\n')
+ output('/* function to release collected object via destructor */')
+ output('#ifdef __cplusplus\n')
+ for i,v in pairs(_collect) do
+ output('\nstatic int '..v..' (lua_State* tolua_S)')
+ output('{')
+ output(' '..i..'* self = ('..i..'*) tolua_tousertype(tolua_S,1,0);')
+ output(' Mtolua_delete(self);')
+ output(' return 0;')
+ output('}')
+ end
+ output('#endif\n\n')
+ end
+
+ output('\n')
+ output('/* function to register type */')
+ output('static void tolua_reg_types (lua_State* tolua_S)')
+ output('{')
+
+ if flags.t then
+ output("#ifndef Mtolua_typeid\n#define Mtolua_typeid(L,TI,T)\n#endif\n")
+ end
+ foreach(_usertype,function(n,v)
+ if (not _global_classes[v]) or _global_classes[v]:check_public_access() then
+ output(' tolua_usertype(tolua_S,"',v,'");')
+ if flags.t then
+ output(' Mtolua_typeid(tolua_S,typeid(',v,'), "',v,'");')
+ end
+ end
+ end)
+ output('}')
+ output('\n')
+end
+
+-- register package
+-- write package open function
+function classPackage:register (pre)
+ pre = pre or ''
+ push(self)
+ output(pre.."/* Open function */")
+ output(pre.."TOLUA_API int tolua_"..self.name.."_open (lua_State* tolua_S)")
+ output(pre.."{")
+ output(pre.." tolua_open(tolua_S);")
+ output(pre.." tolua_reg_types(tolua_S);")
+ output(pre.." tolua_module(tolua_S,NULL,",self:hasvar(),");")
+ output(pre.." tolua_beginmodule(tolua_S,NULL);")
+ local i=1
+ while self[i] do
+ self[i]:register(pre.." ")
+ i = i+1
+ end
+ output(pre.." tolua_endmodule(tolua_S);")
+ output(pre.." return 1;")
+ output(pre.."}")
+
+ output("\n\n")
+ output("#if defined(LUA_VERSION_NUM) && LUA_VERSION_NUM >= 501\n");
+ output(pre.."TOLUA_API int luaopen_"..self.name.." (lua_State* tolua_S) {")
+ output(pre.." return tolua_"..self.name.."_open(tolua_S);")
+ output(pre.."};")
+ output("#endif\n\n")
+
+ pop()
+end
+
+-- write header file
+function classPackage:header ()
+ output('/*\n') output('** Lua binding: '..self.name..'\n')
+ output('** Generated automatically by '..TOLUA_VERSION..' on '..date()..'.\n')
+ output('*/\n\n')
+
+ if not flags.h then
+ output('/* Exported function */')
+ output('TOLUA_API int tolua_'..self.name..'_open (lua_State* tolua_S);')
+ output('\n')
+ end
+end
+
+-- Internal constructor
+function _Package (self)
+ setmetatable(self,classPackage)
+ return self
+end
+
+-- Parse C header file with tolua directives
+-- *** Thanks to Ariel Manzur for fixing bugs in nested directives ***
+function extract_code(fn,s)
+ local code = '\n$#include "'..fn..'"\n'
+ s= "\n" .. s .. "\n" -- add blank lines as sentinels
+ local _,e,c,t = strfind(s, "\n([^\n]-)[Tt][Oo][Ll][Uu][Aa]_([^%s]*)[^\n]*\n")
+ while e do
+ t = strlower(t)
+ if t == "begin" then
+ _,e,c = strfind(s,"(.-)\n[^\n]*[Tt][Oo][Ll][Uu][Aa]_[Ee][Nn][Dd][^\n]*\n",e)
+ if not e then
+ tolua_error("Unbalanced 'tolua_begin' directive in header file")
+ end
+ end
+ code = code .. c .. "\n"
+ _,e,c,t = strfind(s, "\n([^\n]-)[Tt][Oo][Ll][Uu][Aa]_([^%s]*)[^\n]*\n",e)
+ end
+ return code
+end
+
+-- Constructor
+-- Expects the package name, the file extension, and the file text.
+function Package (name,fn)
+ local ext = "pkg"
+
+ -- open input file, if any
+ local st,msg
+ if fn then
+ st, msg = readfrom(flags.f)
+ if not st then
+ error('#'..msg)
+ end
+ local _; _, _, ext = strfind(fn,".*%.(.*)$")
+ end
+ local code
+ if ext == 'pkg' then
+ code = prep(st)
+ else
+ code = "\n" .. read('*a')
+ if ext == 'h' or ext == 'hpp' then
+ code = extract_code(fn,code)
+ end
+ end
+
+ -- close file
+ if fn then
+ readfrom()
+ end
+
+ -- deal with include directive
+ local nsubst
+ repeat
+ code,nsubst = gsub(code,'\n%s*%$(.)file%s*"(.-)"([^\n]*)\n',
+ function (kind,fn,extra)
+ local _, _, ext = strfind(fn,".*%.(.*)$")
+ local fp,msg = openfile(fn,'r')
+ if not fp then
+ error('#'..msg..': '..fn)
+ end
+ if kind == 'p' then
+ local s = prep(fp)
+ closefile(fp)
+ return s
+ end
+ local s = read(fp,'*a')
+ closefile(fp)
+ if kind == 'c' or kind == 'h' then
+ return extract_code(fn,s)
+ elseif kind == 'l' then
+ return "\n$[--##"..fn.."\n" .. s .. "\n$]\n"
+ elseif kind == 'i' then
+ local t = {code=s}
+ extra = string.gsub(extra, "^%s*,%s*", "")
+ local pars = split_c_tokens(extra, ",")
+ include_file_hook(t, fn, unpack(pars))
+ return "\n\n" .. t.code
+ else
+ error('#Invalid include directive (use $cfile, $pfile, $lfile or $ifile)')
+ end
+ end)
+ until nsubst==0
+
+ -- deal with renaming directive
+ repeat -- I don't know why this is necesary
+ code,nsubst = gsub(code,'\n%s*%$renaming%s*(.-)%s*\n', function (r) appendrenaming(r) return "\n" end)
+ until nsubst == 0
+
+ local t = _Package(_Container{name=name, code=code})
+ push(t)
+ preprocess_hook(t)
+ t:preprocess()
+ preparse_hook(t)
+ t:parse(t.code)
+ pop()
+ return t
+end
+
+
+setmetatable(_extra_parameters, { __index = _G })
+
+function prep(file)
+
+ local chunk = {'local __ret = {"\\n"}\n'}
+ for line in file:lines() do
+ if string.find(line, "^##") then
+ table.insert(chunk, string.sub(line, 3) .. "\n")
+ else
+ local last = 1
+ for text, expr, index in string.gfind(line, "(.-)$(%b())()") do
+ last = index
+ if text ~= "" then
+ table.insert(chunk, string.format('table.insert(__ret, %q )', text))
+ end
+ table.insert(chunk, string.format('table.insert(__ret, %s )', expr))
+ end
+ table.insert(chunk, string.format('table.insert(__ret, %q)\n',
+ string.sub(line, last).."\n"))
+ end
+ end
+ table.insert(chunk, '\nreturn table.concat(__ret)\n')
+ local f,e = loadstring(table.concat(chunk))
+ if e then
+ error("#"..e)
+ end
+ setfenv(f, _extra_parameters)
+ return f()
+end
diff --git a/ThirdParty/toluapp/src/bin/lua/template_class.lua b/ThirdParty/toluapp/src/bin/lua/template_class.lua
new file mode 100644
index 0000000..b1ed05a
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/lua/template_class.lua
@@ -0,0 +1,82 @@
+
+_global_templates = {}
+
+classTemplateClass = {
+
+ name = '',
+ body = '',
+ parents = {},
+ args = {}, -- the template arguments
+}
+
+classTemplateClass.__index = classTemplateClass
+
+
+function classTemplateClass:throw(types, local_scope)
+
+ --if table.getn(types) ~= table.getn(self.args) then
+ -- error("#invalid parameter count")
+ --end
+
+ -- replace
+ for i =1 , types.n do
+
+ local Il = split_c_tokens(types[i], " ")
+ if table.getn(Il) ~= table.getn(self.args) then
+ error("#invalid parameter count for "..types[i])
+ end
+ local bI = self.body
+ local pI = {}
+ for j = 1,self.args.n do
+ --Tl[j] = findtype(Tl[j]) or Tl[j]
+ bI = string.gsub(bI, "([^_%w])"..self.args[j].."([^_%w])", "%1"..Il[j].."%2")
+ if self.parents then
+ for i=1,table.getn(self.parents) do
+ pI[i] = string.gsub(self.parents[i], "([^_%w]?)"..self.args[j].."([^_%w]?)", "%1"..Il[j].."%2")
+ end
+ end
+ end
+ --local append = "<"..string.gsub(types[i], "%s+", ",")..">"
+ local append = "<"..concat(Il, 1, table.getn(Il), ",")..">"
+ append = string.gsub(append, "%s*,%s*", ",")
+ append = string.gsub(append, ">>", "> >")
+ for i=1,table.getn(pI) do
+ --pI[i] = string.gsub(pI[i], ">>", "> >")
+ pI[i] = resolve_template_types(pI[i])
+ end
+ bI = string.gsub(bI, ">>", "> >")
+ local n = self.name
+ if local_scope then
+ n = self.local_name
+ end
+
+ Class(n..append, pI, bI)
+ end
+end
+
+
+function TemplateClass(name, parents, body, parameters)
+
+ local o = {
+
+ parents = parents,
+ body = body,
+ args = parameters,
+ }
+
+ local oname = string.gsub(name, "@.*$", "")
+ oname = getnamespace(classContainer.curr)..oname
+ o.name = oname
+
+ o.local_name = name
+
+ setmetatable(o, classTemplateClass)
+
+ if _global_templates[oname] then
+ warning("Duplicate declaration of template "..oname)
+ else
+ _global_templates[oname] = o
+ end
+
+ return o
+end
diff --git a/ThirdParty/toluapp/src/bin/lua/typedef.lua b/ThirdParty/toluapp/src/bin/lua/typedef.lua
new file mode 100644
index 0000000..a78a841
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/lua/typedef.lua
@@ -0,0 +1,71 @@
+-- tolua: typedef class
+-- Written by Waldemar Celes
+-- TeCGraf/PUC-Rio
+-- Jul 1998
+-- $Id: $
+
+-- This code is free software; you can redistribute it and/or modify it.
+-- The software provided hereunder is on an "as is" basis, and
+-- the author has no obligation to provide maintenance, support, updates,
+-- enhancements, or modifications.
+
+
+
+-- Typedef class
+-- Represents a type synonym.
+-- The 'de facto' type replaces the typedef before the
+-- remaining code is parsed.
+-- The following fields are stored:
+-- utype = typedef name
+-- type = 'the facto' type
+-- mod = modifiers to the 'de facto' type
+classTypedef = {
+ utype = '',
+ mod = '',
+ type = ''
+}
+classTypedef.__index = classTypedef
+
+-- Print method
+function classTypedef:print (ident,close)
+ print(ident.."Typedef{")
+ print(ident.." utype = '"..self.utype.."',")
+ print(ident.." mod = '"..self.mod.."',")
+ print(ident.." type = '"..self.type.."',")
+ print(ident.."}"..close)
+end
+
+-- Return it's not a variable
+function classTypedef:isvariable ()
+ return false
+end
+
+-- Internal constructor
+function _Typedef (t)
+ setmetatable(t,classTypedef)
+ t.type = resolve_template_types(t.type)
+ appendtypedef(t)
+ return t
+end
+
+-- Constructor
+-- Expects one string representing the type definition.
+function Typedef (s)
+ if strfind(string.gsub(s, '%b<>', ''),'[%*&]') then
+ tolua_error("#invalid typedef: pointers (and references) are not supported")
+ end
+ local o = {mod = ''}
+ if string.find(s, "[<>]") then
+ _,_,o.type,o.utype = string.find(s, "^%s*([^<>]+%b<>[^%s]*)%s+(.-)$")
+ else
+ local t = split(gsub(s,"%s%s*"," ")," ")
+ o = {
+ utype = t[t.n],
+ type = t[t.n-1],
+ mod = concat(t,1,t.n-2),
+ }
+ end
+ return _Typedef(o)
+end
+
+
diff --git a/ThirdParty/toluapp/src/bin/lua/variable.lua b/ThirdParty/toluapp/src/bin/lua/variable.lua
new file mode 100644
index 0000000..fbc705d
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/lua/variable.lua
@@ -0,0 +1,300 @@
+-- tolua: variable class
+-- Written by Waldemar Celes
+-- TeCGraf/PUC-Rio
+-- Jul 1998
+-- $Id: $
+
+-- This code is free software; you can redistribute it and/or modify it.
+-- The software provided hereunder is on an "as is" basis, and
+-- the author has no obligation to provide maintenance, support, updates,
+-- enhancements, or modifications.
+
+
+-- Variable class
+-- Represents a extern variable or a public member of a class.
+-- Stores all fields present in a declaration.
+classVariable = {
+ _get = {}, -- mapped get functions
+ _set = {}, -- mapped set functions
+}
+classVariable.__index = classVariable
+setmetatable(classVariable,classDeclaration)
+
+-- Print method
+function classVariable:print (ident,close)
+ print(ident.."Variable{")
+ print(ident.." mod = '"..self.mod.."',")
+ print(ident.." type = '"..self.type.."',")
+ print(ident.." ptr = '"..self.ptr.."',")
+ print(ident.." name = '"..self.name.."',")
+ if self.dim then print(ident.." dim = '"..self.dim.."',") end
+ print(ident.." def = '"..self.def.."',")
+ print(ident.." ret = '"..self.ret.."',")
+ print(ident.."}"..close)
+end
+
+-- Generates C function name
+function classVariable:cfuncname (prefix)
+ local parent = ""
+ local unsigned = ""
+ local ptr = ""
+
+ local p = self:inmodule() or self:innamespace() or self:inclass()
+
+ if p then
+ if self.parent.classtype == 'class' then
+ parent = "_" .. self.parent.type
+ else
+ parent = "_" .. p
+ end
+ end
+
+ if strfind(self.mod,"(unsigned)") then
+ unsigned = "_unsigned"
+ end
+
+ if self.ptr == "*" then ptr = "_ptr"
+ elseif self.ptr == "&" then ptr = "_ref"
+ end
+
+ local name = prefix .. parent .. unsigned .. "_" .. gsub(self.lname or self.name,".*::","") .. ptr
+
+ name = clean_template(name)
+ return name
+
+end
+
+-- check if it is a variable
+function classVariable:isvariable ()
+ return true
+end
+
+-- get variable value
+function classVariable:getvalue (class,static, prop_get)
+
+ local name
+ if prop_get then
+
+ name = prop_get.."()"
+ else
+ name = self.name
+ end
+
+ if class and static then
+ return self.parent.type..'::'..name
+ elseif class then
+ return 'self->'..name
+ else
+ return name
+ end
+end
+
+-- get variable pointer value
+function classVariable:getpointervalue (class,static)
+ if class and static then
+ return class..'::p'
+ elseif class then
+ return 'self->p'
+ else
+ return 'p'
+ end
+end
+
+-- Write binding functions
+function classVariable:supcode ()
+
+ local class = self:inclass()
+
+ local prop_get,prop_set
+ if string.find(self.mod, 'tolua_property') then
+
+ local _,_,type = string.find(self.mod, "tolua_property__([^%s]*)")
+ type = type or "default"
+ prop_get,prop_set = get_property_methods(type, self.name)
+ self.mod = string.gsub(self.mod, "tolua_property[^%s]*", "")
+ end
+
+ -- get function ------------------------------------------------
+ if class then
+ output("/* get function:",self.name," of class ",class," */")
+ else
+ output("/* get function:",self.name," */")
+ end
+ self.cgetname = self:cfuncname("tolua_get")
+ output("#ifndef TOLUA_DISABLE_"..self.cgetname)
+ output("\nstatic int",self.cgetname,"(lua_State* tolua_S)")
+ output("{")
+
+ -- declare self, if the case
+ local _,_,static = strfind(self.mod,'^%s*(static)')
+ if class and static==nil then
+ output(' ',self.parent.type,'*','self = ')
+ output('(',self.parent.type,'*) ')
+ local to_func = get_to_function(self.parent.type)
+ output(to_func,'(tolua_S,1,0);')
+ elseif static then
+ _,_,self.mod = strfind(self.mod,'^%s*static%s%s*(.*)')
+ end
+
+
+ -- check self value
+ if class and static==nil then
+ output('#ifndef TOLUA_RELEASE\n')
+ output(' if (!self) tolua_error(tolua_S,"'..output_error_hook("invalid \'self\' in accessing variable \'%s\'", self.name)..'",NULL);');
+ output('#endif\n')
+ end
+
+ -- return value
+ if string.find(self.mod, 'tolua_inherits') then
+ local push_func = get_push_function(self.type)
+ output('#ifdef __cplusplus\n')
+ output(' ',push_func,'(tolua_S,(void*)static_cast<'..self.type..'*>(self), "',self.type,'");')
+ output('#else\n')
+ output(' ',push_func,'(tolua_S,(void*)(('..self.type..'*)self), "',self.type,'");')
+ output('#endif\n')
+ else
+ local t,ct = isbasic(self.type)
+ if t then
+ output(' tolua_push'..t..'(tolua_S,(',ct,')'..self:getvalue(class,static,prop_get)..');')
+ else
+ local push_func = get_push_function(self.type)
+ t = self.type
+ if self.ptr == '&' or self.ptr == '' then
+ output(' ',push_func,'(tolua_S,(void*)&'..self:getvalue(class,static,prop_get)..',"',t,'");')
+ else
+ output(' ',push_func,'(tolua_S,(void*)'..self:getvalue(class,static,prop_get)..',"',t,'");')
+ end
+ end
+ end
+ output(' return 1;')
+ output('}')
+ output('#endif //#ifndef TOLUA_DISABLE\n')
+ output('\n')
+
+ -- set function ------------------------------------------------
+ if not (strfind(self.type,'const%s+') or string.find(self.mod, 'tolua_readonly') or string.find(self.mod, 'tolua_inherits')) then
+ if class then
+ output("/* set function:",self.name," of class ",class," */")
+ else
+ output("/* set function:",self.name," */")
+ end
+ self.csetname = self:cfuncname("tolua_set")
+ output("#ifndef TOLUA_DISABLE_"..self.csetname)
+ output("\nstatic int",self.csetname,"(lua_State* tolua_S)")
+ output("{")
+
+ -- declare self, if the case
+ if class and static==nil then
+ output(' ',self.parent.type,'*','self = ')
+ output('(',self.parent.type,'*) ')
+ local to_func = get_to_function(self.parent.type)
+ output(to_func,'(tolua_S,1,0);')
+ -- check self value
+ end
+ -- check types
+ output('#ifndef TOLUA_RELEASE\n')
+ output(' tolua_Error tolua_err;')
+ if class and static==nil then
+ output(' if (!self) tolua_error(tolua_S,"'..output_error_hook("invalid \'self\' in accessing variable \'%s\'", self.name)..'",NULL);');
+ elseif static then
+ _,_,self.mod = strfind(self.mod,'^%s*static%s%s*(.*)')
+ end
+
+ -- check variable type
+ output(' if ('..self:outchecktype(2)..')')
+ output(' tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);')
+ output('#endif\n')
+
+ -- assign value
+ local def = 0
+ if self.def ~= '' then def = self.def end
+ if self.type == 'char*' and self.dim ~= '' then -- is string
+ output(' strncpy((char*)')
+ if class and static then
+ output(self.parent.type..'::'..self.name)
+ elseif class then
+ output('self->'..self.name)
+ else
+ output(self.name)
+ end
+ output(',(const char*)tolua_tostring(tolua_S,2,',def,'),',self.dim,'-1);')
+ else
+ local ptr = ''
+ if self.ptr~='' then ptr = '*' end
+ output(' ')
+ local name = prop_set or self.name
+ if class and static then
+ output(self.parent.type..'::'..name)
+ elseif class then
+ output('self->'..name)
+ else
+ output(name)
+ end
+ local t = isbasic(self.type)
+ if prop_set then
+ output('(')
+ else
+ output(' = ')
+ end
+ if not t and ptr=='' then output('*') end
+ output('((',self.mod,self.type)
+ if not t then
+ output('*')
+ end
+ output(') ')
+ if t then
+ if isenum(self.type) then
+ output('(int) ')
+ end
+ output('tolua_to'..t,'(tolua_S,2,',def,'))')
+ else
+ local to_func = get_to_function(self.type)
+ output(to_func,'(tolua_S,2,',def,'))')
+ end
+ if prop_set then
+ output(")")
+ end
+ output(";")
+ end
+ output(' return 0;')
+ output('}')
+ output('#endif //#ifndef TOLUA_DISABLE\n')
+ output('\n')
+ end
+
+end
+
+function classVariable:register (pre)
+
+ if not self:check_public_access() then
+ return
+ end
+ pre = pre or ''
+ local parent = self:inmodule() or self:innamespace() or self:inclass()
+ if not parent then
+ if classVariable._warning==nil then
+ warning("Mapping variable to global may degrade performance")
+ classVariable._warning = 1
+ end
+ end
+ if self.csetname then
+ output(pre..'tolua_variable(tolua_S,"'..self.lname..'",'..self.cgetname..','..self.csetname..');')
+ else
+ output(pre..'tolua_variable(tolua_S,"'..self.lname..'",'..self.cgetname..',NULL);')
+ end
+end
+
+-- Internal constructor
+function _Variable (t)
+ setmetatable(t,classVariable)
+ append(t)
+ return t
+end
+
+-- Constructor
+-- Expects a string representing the variable declaration.
+function Variable (s)
+ return _Variable (Declaration(s,'var'))
+end
+
+
diff --git a/ThirdParty/toluapp/src/bin/lua/verbatim.lua b/ThirdParty/toluapp/src/bin/lua/verbatim.lua
new file mode 100644
index 0000000..fd3b29b
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/lua/verbatim.lua
@@ -0,0 +1,78 @@
+-- tolua: verbatim class
+-- Written by Waldemar Celes
+-- TeCGraf/PUC-Rio
+-- Jul 1998
+-- $Id: verbatim.lua,v 1.3 2000/01/24 20:41:16 celes Exp $
+
+-- This code is free software; you can redistribute it and/or modify it.
+-- The software provided hereunder is on an "as is" basis, and
+-- the author has no obligation to provide maintenance, support, updates,
+-- enhancements, or modifications.
+
+
+
+-- Verbatim class
+-- Represents a line translated directed to the binding file.
+-- The following filds are stored:
+-- line = line text
+classVerbatim = {
+ line = '',
+ cond = nil, -- condition: where to generate the code (s=suport, r=register)
+}
+classVerbatim.__index = classVerbatim
+setmetatable(classVerbatim,classFeature)
+
+-- preamble verbatim
+function classVerbatim:preamble ()
+ if self.cond == '' then
+ write(self.line)
+ end
+end
+
+-- support code
+function classVerbatim:supcode ()
+ if strfind(self.cond,'s') then
+ write(self.line)
+ write('\n')
+ end
+end
+
+-- register code
+function classVerbatim:register (pre)
+ if strfind(self.cond,'r') then
+ write(self.line)
+ end
+end
+
+
+-- Print method
+function classVerbatim:print (ident,close)
+ print(ident.."Verbatim{")
+ print(ident.." line = '"..self.line.."',")
+ print(ident.."}"..close)
+end
+
+
+-- Internal constructor
+function _Verbatim (t)
+ setmetatable(t,classVerbatim)
+ append(t)
+ return t
+end
+
+-- Constructor
+-- Expects a string representing the text line
+function Verbatim (l,cond)
+ if strsub(l,1,1) == "'" then
+ l = strsub(l,2)
+ elseif strsub(l,1,1) == '$' then
+ cond = 'sr' -- generates in both suport and register fragments
+ l = strsub(l,2)
+ end
+ return _Verbatim {
+ line = l,
+ cond = cond or '',
+ }
+end
+
+
diff --git a/ThirdParty/toluapp/src/bin/tolua.c b/ThirdParty/toluapp/src/bin/tolua.c
new file mode 100644
index 0000000..cc9f9ad
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/tolua.c
@@ -0,0 +1,169 @@
+/* tolua
+** Support code for Lua bindings.
+** Written by Waldemar Celes
+** TeCGraf/PUC-Rio
+** Aug 2003
+** $Id:$
+*/
+
+/* This code is free software; you can redistribute it and/or modify it.
+** The software provided hereunder is on an "as is" basis, and
+** the author has no obligation to provide maintenance, support, updates,
+** enhancements, or modifications.
+*/
+
+#include "tolua++.h"
+
+#include "lua.h"
+#include "lualib.h"
+#include "lauxlib.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+
+static void help (void)
+{
+ fprintf(stderr,"\n"
+ "usage: tolua++ [options] input_file\n"
+ "\n"
+ "Command line options are:\n"
+ " -v : print version information.\n"
+ " -o file : set output file; default is stdout.\n"
+ " -H file : create include file.\n"
+ " -n name : set package name; default is input file root name.\n"
+ " -p : parse only.\n"
+ " -P : parse and print structure information (for debug).\n"
+ " -S : disable support for c++ strings.\n"
+ " -1 : substract 1 to operator[] index (for compatibility with tolua5).\n"
+ " -L file : run lua file (with dofile()) before doing anything.\n"
+ " -D : disable automatic exporting of destructors for classes that have\n"
+ " constructors (for compatibility with tolua5)\n"
+ " -W : disable warnings for unsupported features (for compatibility\n"
+ " with tolua5)\n"
+ " -C : disable cleanup of included lua code (for easier debugging)\n"
+ " -E value[=value] : add extra values to the luastate\n"
+ " -t : export a list of types asociates with the C++ typeid name\n"
+ " -q : don't print warnings to the console\n"
+ " -h : print this message.\n"
+ "Should the input file be omitted, stdin is assumed;\n"
+ "in that case, the package name must be explicitly set.\n\n"
+ );
+}
+
+static void version (void)
+{
+ fprintf(stderr, "%s (written by W. Celes, A. Manzur)\n",TOLUA_VERSION);
+}
+
+static void setfield (lua_State* L, int table, char* f, char* v)
+{
+ lua_pushstring(L,f);
+ lua_pushstring(L,v);
+ lua_settable(L,table);
+}
+
+static void add_extra (lua_State* L, char* value) {
+ int len;
+ lua_getglobal(L, "_extra_parameters");
+ len = luaL_getn(L, -1);
+ lua_pushstring(L, value);
+ lua_rawseti(L, -2, len+1);
+ lua_pop(L, 1);
+};
+
+static void error (char* o)
+{
+ fprintf(stderr,"tolua: unknown option '%s'\n",o);
+ help();
+ exit(1);
+}
+
+int main (int argc, char* argv[])
+{
+ #ifdef LUA_VERSION_NUM /* lua 5.1 */
+ lua_State* L = luaL_newstate();
+ luaL_openlibs(L);
+ #else
+ lua_State* L = lua_open();
+ luaopen_base(L);
+ luaopen_io(L);
+ luaopen_string(L);
+ luaopen_table(L);
+ luaopen_math(L);
+ luaopen_debug(L);
+ #endif
+
+ lua_pushstring(L,TOLUA_VERSION); lua_setglobal(L,"TOLUA_VERSION");
+ lua_pushstring(L,LUA_VERSION); lua_setglobal(L,"TOLUA_LUA_VERSION");
+
+ if (argc==1)
+ {
+ help();
+ return 0;
+ }
+ else
+ {
+ int i, t;
+ lua_newtable(L);
+ lua_setglobal(L, "_extra_parameters");
+ lua_newtable(L);
+ lua_pushvalue(L,-1);
+ lua_setglobal(L,"flags");
+ t = lua_gettop(L);
+ for (i=1; i<argc; ++i)
+ {
+ if (*argv[i] == '-')
+ {
+ switch (argv[i][1])
+ {
+ case 'v': version(); return 0;
+ case 'h': help(); return 0;
+ case 'p': setfield(L,t,"p",""); break;
+ case 'P': setfield(L,t,"P",""); break;
+ case 'o': setfield(L,t,"o",argv[++i]); break;
+ case 'n': setfield(L,t,"n",argv[++i]); break;
+ case 'H': setfield(L,t,"H",argv[++i]); break;
+ case 'S': setfield(L,t,"S",""); break;
+ case '1': setfield(L,t,"1",""); break;
+ case 'L': setfield(L,t,"L",argv[++i]); break;
+ case 'D': setfield(L,t,"D",""); break;
+ case 'W': setfield(L,t,"W",""); break;
+ case 'C': setfield(L,t,"C",""); break;
+ case 'E': add_extra(L,argv[++i]); break;
+ case 't': setfield(L,t,"t",""); break;
+ case 'q': setfield(L,t,"q",""); break;
+ default: error(argv[i]); break;
+ }
+ }
+ else
+ {
+ setfield(L,t,"f",argv[i]);
+ break;
+ }
+ }
+ lua_pop(L,1);
+ }
+/* #define TOLUA_SCRIPT_RUN */
+#ifndef TOLUA_SCRIPT_RUN
+ {
+ int tolua_tolua_open (lua_State* L);
+ tolua_tolua_open(L);
+ }
+#else
+ {
+ char* p;
+ char path[BUFSIZ];
+ strcpy(path,argv[0]);
+ p = strrchr(path,'/');
+ if (p==NULL) p = strrchr(path,'\\');
+ p = (p==NULL) ? path : p+1;
+ sprintf(p,"%s","../src/bin/lua/");
+ lua_pushstring(L,path); lua_setglobal(L,"path");
+ strcat(path,"all.lua");
+ lua_dofile(L,path);
+ }
+#endif
+ return 0;
+}
diff --git a/ThirdParty/toluapp/src/bin/tolua_scons.pkg b/ThirdParty/toluapp/src/bin/tolua_scons.pkg
new file mode 100644
index 0000000..da458ea
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/tolua_scons.pkg
@@ -0,0 +1,31 @@
+$lfile "src/bin/lua/compat-5.1.lua"
+$lfile "src/bin/lua/compat.lua"
+$lfile "src/bin/lua/basic.lua"
+$lfile "src/bin/lua/feature.lua"
+$lfile "src/bin/lua/verbatim.lua"
+$lfile "src/bin/lua/code.lua"
+$lfile "src/bin/lua/typedef.lua"
+$lfile "src/bin/lua/container.lua"
+$lfile "src/bin/lua/package.lua"
+$lfile "src/bin/lua/module.lua"
+$lfile "src/bin/lua/namespace.lua"
+$lfile "src/bin/lua/define.lua"
+$lfile "src/bin/lua/enumerate.lua"
+$lfile "src/bin/lua/declaration.lua"
+$lfile "src/bin/lua/variable.lua"
+$lfile "src/bin/lua/array.lua"
+$lfile "src/bin/lua/function.lua"
+$lfile "src/bin/lua/operator.lua"
+$lfile "src/bin/lua/template_class.lua"
+$lfile "src/bin/lua/class.lua"
+$lfile "src/bin/lua/clean.lua"
+$lfile "src/bin/lua/doit.lua"
+
+$[
+local err,msg = pcall(doit)
+if not err then
+ local _,_,label,msg = strfind(msg,"(.-:.-:%s*)(.*)")
+ tolua_error(msg,label)
+ print(debug.traceback())
+end
+$]
diff --git a/ThirdParty/toluapp/src/bin/toluabind.c b/ThirdParty/toluapp/src/bin/toluabind.c
new file mode 100644
index 0000000..b684c06
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/toluabind.c
@@ -0,0 +1,8072 @@
+/*
+** Lua binding: tolua
+** Generated automatically by tolua++-1.0.92 on Sun Feb 15 22:29:47 2009.
+*/
+
+#ifndef __cplusplus
+#include "stdlib.h"
+#endif
+#include "string.h"
+
+#include "tolua++.h"
+
+/* Exported function */
+TOLUA_API int tolua_tolua_open (lua_State* tolua_S);
+
+
+/* function to register type */
+static void tolua_reg_types (lua_State* tolua_S)
+{
+}
+
+/* Open function */
+TOLUA_API int tolua_tolua_open (lua_State* tolua_S)
+{
+ tolua_open(tolua_S);
+ tolua_reg_types(tolua_S);
+ tolua_module(tolua_S,NULL,0);
+ tolua_beginmodule(tolua_S,NULL);
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 105,102, 32,115,116,114,105,110,103, 46,102,105,110,100, 40,
+ 95, 86, 69, 82, 83, 73, 79, 78, 44, 32, 34, 53, 37, 46, 48,
+ 34, 41, 32,116,104,101,110, 13, 10, 9,114,101,116,117,114,
+ 110, 13, 10,101,110,100, 13, 10, 13, 10, 45, 45, 32, 34,108,
+ 111, 97,100,102,105,108,101, 34, 13, 10,108,111, 99, 97,108,
+ 32,102,117,110, 99,116,105,111,110, 32,112,112, 95,100,111,
+ 102,105,108,101, 40,112, 97,116,104, 41, 13, 10, 13, 10, 9,
+ 108,111, 99, 97,108, 32,108,111, 97,100,101,100, 32, 61, 32,
+ 102, 97,108,115,101, 13, 10, 9,108,111, 99, 97,108, 32,103,
+ 101,116,102,105,108,101, 32, 61, 32,102,117,110, 99,116,105,
+ 111,110, 40, 41, 13, 10, 13, 10, 9, 9,105,102, 32,108,111,
+ 97,100,101,100, 32,116,104,101,110, 13, 10, 9, 9, 9,114,
+ 101,116,117,114,110, 13, 10, 9, 9,101,108,115,101, 13, 10,
+ 9, 9, 9,108,111, 99, 97,108, 32,102,105,108,101, 44,101,
+ 114,114, 32, 61, 32,105,111, 46,111,112,101,110, 40,112, 97,
+ 116,104, 41, 13, 10, 9, 9, 9,105,102, 32,110,111,116, 32,
+ 102,105,108,101, 32,116,104,101,110, 13, 10, 9, 9, 9, 9,
+ 101,114,114,111,114, 40, 34,101,114,114,111,114, 32,108,111,
+ 97,100,105,110,103, 32,102,105,108,101, 32, 34, 46, 46,112,
+ 97,116,104, 46, 46, 34, 58, 32, 34, 46, 46,101,114,114, 41,
+ 13, 10, 9, 9, 9,101,110,100, 13, 10, 9, 9, 9,108,111,
+ 99, 97,108, 32,114,101,116, 32, 61, 32,102,105,108,101, 58,
+ 114,101, 97,100, 40, 34, 42, 97, 34, 41, 13, 10, 9, 9, 9,
+ 102,105,108,101, 58, 99,108,111,115,101, 40, 41, 13, 10, 13,
+ 10, 9, 9, 9,114,101,116, 32, 61, 32,115,116,114,105,110,
+ 103, 46,103,115,117, 98, 40,114,101,116, 44, 32, 34, 37, 46,
+ 37, 46, 37, 46, 37,115, 42, 37, 41, 34, 44, 32, 34, 46, 46,
+ 46, 41, 32,108,111, 99, 97,108, 32, 97,114,103, 32, 61, 32,
+ 123,110, 61,115,101,108,101, 99,116, 40, 39, 35, 39, 44, 32,
+ 46, 46, 46, 41, 44, 32, 46, 46, 46,125, 59, 34, 41, 13, 10,
+ 13, 10, 9, 9, 9,108,111, 97,100,101,100, 32, 61, 32,116,
+ 114,117,101, 13, 10, 9, 9, 9,114,101,116,117,114,110, 32,
+ 114,101,116, 13, 10, 9, 9,101,110,100, 13, 10, 9,101,110,
+ 100, 13, 10, 13, 10, 9,108,111, 99, 97,108, 32,102, 32, 61,
+ 32,108,111, 97,100, 40,103,101,116,102,105,108,101, 44, 32,
+ 112, 97,116,104, 41, 13, 10, 9,105,102, 32,110,111,116, 32,
+ 102, 32,116,104,101,110, 13, 10, 9, 13, 10, 9, 9,101,114,
+ 114,111,114, 40, 34,101,114,114,111,114, 32,108,111, 97,100,
+ 105,110,103, 32,102,105,108,101, 32, 34, 46, 46,112, 97,116,
+ 104, 41, 13, 10, 9,101,110,100, 13, 10, 9,114,101,116,117,
+ 114,110, 32,102, 40, 41, 13, 10,101,110,100, 13, 10, 13, 10,
+ 111,108,100, 95,100,111,102,105,108,101, 32, 61, 32,100,111,
+ 102,105,108,101, 13, 10,100,111,102,105,108,101, 32, 61, 32,
+ 112,112, 95,100,111,102,105,108,101, 13, 10, 13, 10, 13, 10,
+ 45, 45, 32,115,116,114,105,110,103, 46,103,115,117, 98, 13,
+ 10, 45, 45, 91, 91, 13, 10,108,111, 99, 97,108, 32,111,103,
+ 115,117, 98, 32, 61, 32,115,116,114,105,110,103, 46,103,115,
+ 117, 98, 13, 10,108,111, 99, 97,108, 32,102,117,110, 99,116,
+ 105,111,110, 32, 99,111,109,112,103,115,117, 98, 40, 97, 44,
+ 98, 44, 99, 44,100, 41, 13, 10, 32, 32,105,102, 32,116,121,
+ 112,101, 40, 99, 41, 32, 61, 61, 32, 34,102,117,110, 99,116,
+ 105,111,110, 34, 32,116,104,101,110, 13, 10, 32, 32, 32, 32,
+ 108,111, 99, 97,108, 32,111, 99, 32, 61, 32, 99, 13, 10, 32,
+ 32, 32, 32, 99, 32, 61, 32,102,117,110, 99,116,105,111,110,
+ 32, 40, 46, 46, 46, 41, 32,114,101,116,117,114,110, 32,111,
+ 99, 40, 46, 46, 46, 41, 32,111,114, 32, 39, 39, 32,101,110,
+ 100, 13, 10, 32, 32,101,110,100, 13, 10, 32, 32,114,101,116,
+ 117,114,110, 32,111,103,115,117, 98, 40, 97, 44, 98, 44, 99,
+ 44,100, 41, 13, 10,101,110,100, 13, 10,115,116,114,105,110,
+ 103, 46,114,101,112,108, 32, 61, 32,111,103,115,117, 98, 13,
+ 10, 45, 45, 93, 93, 13, 10, 13, 10, 45, 45,115,116,114,105,
+ 110,103, 46,103,115,117, 98, 32, 61, 32, 99,111,109,112,103,
+ 115,117, 98, 13,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/compat-5.1.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 10, 45, 45, 32, 82,101, 97,108,
+ 32,103,108,111, 98, 97,108,115, 10, 45, 45, 32, 95, 65, 76,
+ 69, 82, 84, 10, 45, 45, 32, 95, 69, 82, 82, 79, 82, 77, 69,
+ 83, 83, 65, 71, 69, 10, 45, 45, 32, 95, 86, 69, 82, 83, 73,
+ 79, 78, 10, 45, 45, 32, 95, 71, 10, 45, 45, 32, 97,115,115,
+ 101,114,116, 10, 45, 45, 32,101,114,114,111,114, 10, 45, 45,
+ 32,109,101,116, 97,116, 97, 98,108,101, 10, 45, 45, 32,110,
+ 101,120,116, 10, 45, 45, 32,112,114,105,110,116, 10, 45, 45,
+ 32,114,101,113,117,105,114,101, 10, 45, 45, 32,116,111,110,
+ 117,109, 98,101,114, 10, 45, 45, 32,116,111,115,116,114,105,
+ 110,103, 10, 45, 45, 32,116,121,112,101, 10, 45, 45, 32,117,
+ 110,112, 97, 99,107, 10, 10, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 10,
+ 45, 45, 32, 99,111,108,108,101, 99,116,103, 97,114, 98, 97,
+ 103,101, 10, 45, 45, 32,103, 99,105,110,102,111, 10, 10, 45,
+ 45, 32,103,108,111, 98, 97,108,115, 10, 10, 45, 45, 32, 99,
+ 97,108,108, 32, 32, 32, 45, 62, 32,112,114,111,116,101, 99,
+ 116, 40,102, 44, 32,101,114,114, 41, 10, 45, 45, 32,108,111,
+ 97,100,102,105,108,101, 10, 45, 45, 32,108,111, 97,100,115,
+ 116,114,105,110,103, 10, 10, 45, 45, 32,114, 97,119,103,101,
+ 116, 10, 45, 45, 32,114, 97,119,115,101,116, 10, 10, 45, 45,
+ 32,103,101,116, 97,114,103,115, 32, 61, 32, 77, 97,105,110,
+ 46,103,101,116, 97,114,103,115, 32, 63, 63, 10, 10,114, 97,
+ 119,116,121,112,101, 32, 61, 32,116,121,112,101, 10, 10,102,
+ 117,110, 99,116,105,111,110, 32,100,111, 95, 32, 40,102, 44,
+ 32,101,114,114, 41, 10, 32, 32,105,102, 32,110,111,116, 32,
+ 102, 32,116,104,101,110, 32,112,114,105,110,116, 40,101,114,
+ 114, 41, 59, 32,114,101,116,117,114,110, 32,101,110,100, 10,
+ 32, 32,108,111, 99, 97,108, 32, 97, 44, 98, 32, 61, 32,112,
+ 99, 97,108,108, 40,102, 41, 10, 32, 32,105,102, 32,110,111,
+ 116, 32, 97, 32,116,104,101,110, 32,112,114,105,110,116, 40,
+ 98, 41, 59, 32,114,101,116,117,114,110, 32,110,105,108, 10,
+ 32, 32,101,108,115,101, 32,114,101,116,117,114,110, 32, 98,
+ 32,111,114, 32,116,114,117,101, 10, 32, 32,101,110,100, 10,
+ 101,110,100, 10, 10,102,117,110, 99,116,105,111,110, 32,100,
+ 111,115,116,114,105,110,103, 40,115, 41, 32,114,101,116,117,
+ 114,110, 32,100,111, 95, 40,108,111, 97,100,115,116,114,105,
+ 110,103, 40,115, 41, 41, 32,101,110,100, 10, 45, 45, 32,102,
+ 117,110, 99,116,105,111,110, 32,100,111,102,105,108,101, 40,
+ 115, 41, 32,114,101,116,117,114,110, 32,100,111, 95, 40,108,
+ 111, 97,100,102,105,108,101, 40,115, 41, 41, 32,101,110,100,
+ 10, 10, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 10, 45, 45, 32, 84, 97,
+ 98,108,101, 32,108,105, 98,114, 97,114,121, 10,108,111, 99,
+ 97,108, 32,116, 97, 98, 32, 61, 32,116, 97, 98,108,101, 10,
+ 102,111,114,101, 97, 99,104, 32, 61, 32,116, 97, 98, 46,102,
+ 111,114,101, 97, 99,104, 10,102,111,114,101, 97, 99,104,105,
+ 32, 61, 32,116, 97, 98, 46,102,111,114,101, 97, 99,104,105,
+ 10,103,101,116,110, 32, 61, 32,116, 97, 98, 46,103,101,116,
+ 110, 10,116,105,110,115,101,114,116, 32, 61, 32,116, 97, 98,
+ 46,105,110,115,101,114,116, 10,116,114,101,109,111,118,101,
+ 32, 61, 32,116, 97, 98, 46,114,101,109,111,118,101, 10,115,
+ 111,114,116, 32, 61, 32,116, 97, 98, 46,115,111,114,116, 10,
+ 10, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 10, 45, 45, 32, 68,101, 98,
+ 117,103, 32,108,105, 98,114, 97,114,121, 10,108,111, 99, 97,
+ 108, 32,100, 98,103, 32, 61, 32,100,101, 98,117,103, 10,103,
+ 101,116,105,110,102,111, 32, 61, 32,100, 98,103, 46,103,101,
+ 116,105,110,102,111, 10,103,101,116,108,111, 99, 97,108, 32,
+ 61, 32,100, 98,103, 46,103,101,116,108,111, 99, 97,108, 10,
+ 115,101,116, 99, 97,108,108,104,111,111,107, 32, 61, 32,102,
+ 117,110, 99,116,105,111,110, 32, 40, 41, 32,101,114,114,111,
+ 114, 34, 96,115,101,116, 99, 97,108,108,104,111,111,107, 39,
+ 32,105,115, 32,100,101,112,114,101, 99, 97,116,101,100, 34,
+ 32,101,110,100, 10,115,101,116,108,105,110,101,104,111,111,
+ 107, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40, 41,
+ 32,101,114,114,111,114, 34, 96,115,101,116,108,105,110,101,
+ 104,111,111,107, 39, 32,105,115, 32,100,101,112,114,101, 99,
+ 97,116,101,100, 34, 32,101,110,100, 10,115,101,116,108,111,
+ 99, 97,108, 32, 61, 32,100, 98,103, 46,115,101,116,108,111,
+ 99, 97,108, 10, 10, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 10, 45, 45,
+ 32,109, 97,116,104, 32,108,105, 98,114, 97,114,121, 10,108,
+ 111, 99, 97,108, 32,109, 97,116,104, 32, 61, 32,109, 97,116,
+ 104, 10, 97, 98,115, 32, 61, 32,109, 97,116,104, 46, 97, 98,
+ 115, 10, 97, 99,111,115, 32, 61, 32,102,117,110, 99,116,105,
+ 111,110, 32, 40,120, 41, 32,114,101,116,117,114,110, 32,109,
+ 97,116,104, 46,100,101,103, 40,109, 97,116,104, 46, 97, 99,
+ 111,115, 40,120, 41, 41, 32,101,110,100, 10, 97,115,105,110,
+ 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,120, 41,
+ 32,114,101,116,117,114,110, 32,109, 97,116,104, 46,100,101,
+ 103, 40,109, 97,116,104, 46, 97,115,105,110, 40,120, 41, 41,
+ 32,101,110,100, 10, 97,116, 97,110, 32, 61, 32,102,117,110,
+ 99,116,105,111,110, 32, 40,120, 41, 32,114,101,116,117,114,
+ 110, 32,109, 97,116,104, 46,100,101,103, 40,109, 97,116,104,
+ 46, 97,116, 97,110, 40,120, 41, 41, 32,101,110,100, 10, 97,
+ 116, 97,110, 50, 32, 61, 32,102,117,110, 99,116,105,111,110,
+ 32, 40,120, 44,121, 41, 32,114,101,116,117,114,110, 32,109,
+ 97,116,104, 46,100,101,103, 40,109, 97,116,104, 46, 97,116,
+ 97,110, 50, 40,120, 44,121, 41, 41, 32,101,110,100, 10, 99,
+ 101,105,108, 32, 61, 32,109, 97,116,104, 46, 99,101,105,108,
+ 10, 99,111,115, 32, 61, 32,102,117,110, 99,116,105,111,110,
+ 32, 40,120, 41, 32,114,101,116,117,114,110, 32,109, 97,116,
+ 104, 46, 99,111,115, 40,109, 97,116,104, 46,114, 97,100, 40,
+ 120, 41, 41, 32,101,110,100, 10,100,101,103, 32, 61, 32,109,
+ 97,116,104, 46,100,101,103, 10,101,120,112, 32, 61, 32,109,
+ 97,116,104, 46,101,120,112, 10,102,108,111,111,114, 32, 61,
+ 32,109, 97,116,104, 46,102,108,111,111,114, 10,102,114,101,
+ 120,112, 32, 61, 32,109, 97,116,104, 46,102,114,101,120,112,
+ 10,108,100,101,120,112, 32, 61, 32,109, 97,116,104, 46,108,
+ 100,101,120,112, 10,108,111,103, 32, 61, 32,109, 97,116,104,
+ 46,108,111,103, 10,108,111,103, 49, 48, 32, 61, 32,109, 97,
+ 116,104, 46,108,111,103, 49, 48, 10,109, 97,120, 32, 61, 32,
+ 109, 97,116,104, 46,109, 97,120, 10,109,105,110, 32, 61, 32,
+ 109, 97,116,104, 46,109,105,110, 10,109,111,100, 32, 61, 32,
+ 109, 97,116,104, 46,109,111,100, 10, 80, 73, 32, 61, 32,109,
+ 97,116,104, 46,112,105, 10, 45, 45, 63, 63, 63, 32,112,111,
+ 119, 32, 61, 32,109, 97,116,104, 46,112,111,119, 32, 32, 10,
+ 114, 97,100, 32, 61, 32,109, 97,116,104, 46,114, 97,100, 10,
+ 114, 97,110,100,111,109, 32, 61, 32,109, 97,116,104, 46,114,
+ 97,110,100,111,109, 10,114, 97,110,100,111,109,115,101,101,
+ 100, 32, 61, 32,109, 97,116,104, 46,114, 97,110,100,111,109,
+ 115,101,101,100, 10,115,105,110, 32, 61, 32,102,117,110, 99,
+ 116,105,111,110, 32, 40,120, 41, 32,114,101,116,117,114,110,
+ 32,109, 97,116,104, 46,115,105,110, 40,109, 97,116,104, 46,
+ 114, 97,100, 40,120, 41, 41, 32,101,110,100, 10,115,113,114,
+ 116, 32, 61, 32,109, 97,116,104, 46,115,113,114,116, 10,116,
+ 97,110, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,
+ 120, 41, 32,114,101,116,117,114,110, 32,109, 97,116,104, 46,
+ 116, 97,110, 40,109, 97,116,104, 46,114, 97,100, 40,120, 41,
+ 41, 32,101,110,100, 10, 10, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 10,
+ 45, 45, 32,115,116,114,105,110,103, 32,108,105, 98,114, 97,
+ 114,121, 10,108,111, 99, 97,108, 32,115,116,114, 32, 61, 32,
+ 115,116,114,105,110,103, 10,115,116,114, 98,121,116,101, 32,
+ 61, 32,115,116,114, 46, 98,121,116,101, 10,115,116,114, 99,
+ 104, 97,114, 32, 61, 32,115,116,114, 46, 99,104, 97,114, 10,
+ 115,116,114,102,105,110,100, 32, 61, 32,115,116,114, 46,102,
+ 105,110,100, 10,102,111,114,109, 97,116, 32, 61, 32,115,116,
+ 114, 46,102,111,114,109, 97,116, 10,103,115,117, 98, 32, 61,
+ 32,115,116,114, 46,103,115,117, 98, 10,115,116,114,108,101,
+ 110, 32, 61, 32,115,116,114, 46,108,101,110, 10,115,116,114,
+ 108,111,119,101,114, 32, 61, 32,115,116,114, 46,108,111,119,
+ 101,114, 10,115,116,114,114,101,112, 32, 61, 32,115,116,114,
+ 46,114,101,112, 10,115,116,114,115,117, 98, 32, 61, 32,115,
+ 116,114, 46,115,117, 98, 10,115,116,114,117,112,112,101,114,
+ 32, 61, 32,115,116,114, 46,117,112,112,101,114, 10, 10, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 10, 45, 45, 32,111,115, 32,108,105,
+ 98,114, 97,114,121, 10, 99,108,111, 99,107, 32, 61, 32,111,
+ 115, 46, 99,108,111, 99,107, 10,100, 97,116,101, 32, 61, 32,
+ 111,115, 46,100, 97,116,101, 10,100,105,102,102,116,105,109,
+ 101, 32, 61, 32,111,115, 46,100,105,102,102,116,105,109,101,
+ 10,101,120,101, 99,117,116,101, 32, 61, 32,111,115, 46,101,
+ 120,101, 99,117,116,101, 32, 45, 45, 63, 10,101,120,105,116,
+ 32, 61, 32,111,115, 46,101,120,105,116, 10,103,101,116,101,
+ 110,118, 32, 61, 32,111,115, 46,103,101,116,101,110,118, 10,
+ 114,101,109,111,118,101, 32, 61, 32,111,115, 46,114,101,109,
+ 111,118,101, 10,114,101,110, 97,109,101, 32, 61, 32,111,115,
+ 46,114,101,110, 97,109,101, 10,115,101,116,108,111, 99, 97,
+ 108,101, 32, 61, 32,111,115, 46,115,101,116,108,111, 99, 97,
+ 108,101, 10,116,105,109,101, 32, 61, 32,111,115, 46,116,105,
+ 109,101, 10,116,109,112,110, 97,109,101, 32, 61, 32,111,115,
+ 46,116,109,112,110, 97,109,101, 10, 10, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 10, 45, 45, 32, 99,111,109,112, 97,116,105, 98,105,
+ 108,105,116,121, 32,111,110,108,121, 10,103,101,116,103,108,
+ 111, 98, 97,108, 32, 61, 32,102,117,110, 99,116,105,111,110,
+ 32, 40,110, 41, 32,114,101,116,117,114,110, 32, 95, 71, 91,
+ 110, 93, 32,101,110,100, 10,115,101,116,103,108,111, 98, 97,
+ 108, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,110,
+ 44,118, 41, 32, 95, 71, 91,110, 93, 32, 61, 32,118, 32,101,
+ 110,100, 10, 10, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 10, 10,108,111,
+ 99, 97,108, 32,105,111, 44, 32,116, 97, 98, 32, 61, 32,105,
+ 111, 44, 32,116, 97, 98,108,101, 10, 10, 45, 45, 32, 73, 79,
+ 32,108,105, 98,114, 97,114,121, 32, 40,102,105,108,101,115,
+ 41, 10, 95, 83, 84, 68, 73, 78, 32, 61, 32,105,111, 46,115,
+ 116,100,105,110, 10, 95, 83, 84, 68, 69, 82, 82, 32, 61, 32,
+ 105,111, 46,115,116,100,101,114,114, 10, 95, 83, 84, 68, 79,
+ 85, 84, 32, 61, 32,105,111, 46,115,116,100,111,117,116, 10,
+ 95, 73, 78, 80, 85, 84, 32, 61, 32,105,111, 46,115,116,100,
+ 105,110, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,105,111,
+ 46,115,116,100,111,117,116, 10,115,101,101,107, 32, 61, 32,
+ 105,111, 46,115,116,100,105,110, 46,115,101,101,107, 32, 32,
+ 32, 45, 45, 32,115,105, 99,107, 32, 59, 45, 41, 10,116,109,
+ 112,102,105,108,101, 32, 61, 32,105,111, 46,116,109,112,102,
+ 105,108,101, 10, 99,108,111,115,101,102,105,108,101, 32, 61,
+ 32,105,111, 46, 99,108,111,115,101, 10,111,112,101,110,102,
+ 105,108,101, 32, 61, 32,105,111, 46,111,112,101,110, 10, 10,
+ 102,117,110, 99,116,105,111,110, 32,102,108,117,115,104, 32,
+ 40,102, 41, 10, 32, 32,105,102, 32,102, 32,116,104,101,110,
+ 32,102, 58,102,108,117,115,104, 40, 41, 10, 32, 32,101,108,
+ 115,101, 32, 95, 79, 85, 84, 80, 85, 84, 58,102,108,117,115,
+ 104, 40, 41, 10, 32, 32,101,110,100, 10,101,110,100, 10, 10,
+ 102,117,110, 99,116,105,111,110, 32,114,101, 97,100,102,114,
+ 111,109, 32, 40,110, 97,109,101, 41, 10, 32, 32,105,102, 32,
+ 110, 97,109,101, 32, 61, 61, 32,110,105,108, 32,116,104,101,
+ 110, 10, 32, 32, 32, 32,108,111, 99, 97,108, 32,102, 44, 32,
+ 101,114,114, 44, 32, 99,111,100, 32, 61, 32,105,111, 46, 99,
+ 108,111,115,101, 40, 95, 73, 78, 80, 85, 84, 41, 10, 32, 32,
+ 32, 32, 95, 73, 78, 80, 85, 84, 32, 61, 32,105,111, 46,115,
+ 116,100,105,110, 10, 32, 32, 32, 32,114,101,116,117,114,110,
+ 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 10, 32, 32,
+ 101,108,115,101, 10, 32, 32, 32, 32,108,111, 99, 97,108, 32,
+ 102, 44, 32,101,114,114, 44, 32, 99,111,100, 32, 61, 32,105,
+ 111, 46,111,112,101,110, 40,110, 97,109,101, 44, 32, 34,114,
+ 34, 41, 10, 32, 32, 32, 32, 95, 73, 78, 80, 85, 84, 32, 61,
+ 32,102, 32,111,114, 32, 95, 73, 78, 80, 85, 84, 10, 32, 32,
+ 32, 32,114,101,116,117,114,110, 32,102, 44, 32,101,114,114,
+ 44, 32, 99,111,100, 10, 32, 32,101,110,100, 10,101,110,100,
+ 10, 10,102,117,110, 99,116,105,111,110, 32,119,114,105,116,
+ 101,116,111, 32, 40,110, 97,109,101, 41, 10, 32, 32,105,102,
+ 32,110, 97,109,101, 32, 61, 61, 32,110,105,108, 32,116,104,
+ 101,110, 10, 32, 32, 32, 32,108,111, 99, 97,108, 32,102, 44,
+ 32,101,114,114, 44, 32, 99,111,100, 32, 61, 32,105,111, 46,
+ 99,108,111,115,101, 40, 95, 79, 85, 84, 80, 85, 84, 41, 10,
+ 32, 32, 32, 32, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,105,
+ 111, 46,115,116,100,111,117,116, 10, 32, 32, 32, 32,114,101,
+ 116,117,114,110, 32,102, 44, 32,101,114,114, 44, 32, 99,111,
+ 100, 10, 32, 32,101,108,115,101, 10, 32, 32, 32, 32,108,111,
+ 99, 97,108, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100,
+ 32, 61, 32,105,111, 46,111,112,101,110, 40,110, 97,109,101,
+ 44, 32, 34,119, 34, 41, 10, 32, 32, 32, 32, 95, 79, 85, 84,
+ 80, 85, 84, 32, 61, 32,102, 32,111,114, 32, 95, 79, 85, 84,
+ 80, 85, 84, 10, 32, 32, 32, 32,114,101,116,117,114,110, 32,
+ 102, 44, 32,101,114,114, 44, 32, 99,111,100, 10, 32, 32,101,
+ 110,100, 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,
+ 110, 32, 97,112,112,101,110,100,116,111, 32, 40,110, 97,109,
+ 101, 41, 10, 32, 32,108,111, 99, 97,108, 32,102, 44, 32,101,
+ 114,114, 44, 32, 99,111,100, 32, 61, 32,105,111, 46,111,112,
+ 101,110, 40,110, 97,109,101, 44, 32, 34, 97, 34, 41, 10, 32,
+ 32, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,102, 32,111,114,
+ 32, 95, 79, 85, 84, 80, 85, 84, 10, 32, 32,114,101,116,117,
+ 114,110, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 10,
+ 101,110,100, 10, 10,102,117,110, 99,116,105,111,110, 32,114,
+ 101, 97,100, 32, 40, 46, 46, 46, 41, 10, 32, 32,108,111, 99,
+ 97,108, 32,102, 32, 61, 32, 95, 73, 78, 80, 85, 84, 10, 32,
+ 32,105,102, 32,114, 97,119,116,121,112,101, 40, 97,114,103,
+ 91, 49, 93, 41, 32, 61, 61, 32, 39,117,115,101,114,100, 97,
+ 116, 97, 39, 32,116,104,101,110, 10, 32, 32, 32, 32,102, 32,
+ 61, 32,116, 97, 98, 46,114,101,109,111,118,101, 40, 97,114,
+ 103, 44, 32, 49, 41, 10, 32, 32,101,110,100, 10, 32, 32,114,
+ 101,116,117,114,110, 32,102, 58,114,101, 97,100, 40,117,110,
+ 112, 97, 99,107, 40, 97,114,103, 41, 41, 10,101,110,100, 10,
+ 10,102,117,110, 99,116,105,111,110, 32,119,114,105,116,101,
+ 32, 40, 46, 46, 46, 41, 10, 32, 32,108,111, 99, 97,108, 32,
+ 102, 32, 61, 32, 95, 79, 85, 84, 80, 85, 84, 10, 32, 32,105,
+ 102, 32,114, 97,119,116,121,112,101, 40, 97,114,103, 91, 49,
+ 93, 41, 32, 61, 61, 32, 39,117,115,101,114,100, 97,116, 97,
+ 39, 32,116,104,101,110, 10, 32, 32, 32, 32,102, 32, 61, 32,
+ 116, 97, 98, 46,114,101,109,111,118,101, 40, 97,114,103, 44,
+ 32, 49, 41, 10, 32, 32,101,110,100, 10, 32, 32,114,101,116,
+ 117,114,110, 32,102, 58,119,114,105,116,101, 40,117,110,112,
+ 97, 99,107, 40, 97,114,103, 41, 41, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/compat.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32, 98, 97,115,105, 99,
+ 32,117,116,105,108,105,116,121, 32,102,117,110, 99,116,105,
+ 111,110,115, 10, 45, 45, 32, 87,114,105,116,116,101,110, 32,
+ 98,121, 32, 87, 97,108,100,101,109, 97,114, 32, 67,101,108,
+ 101,115, 10, 45, 45, 32, 84,101, 67, 71,114, 97,102, 47, 80,
+ 85, 67, 45, 82,105,111, 10, 45, 45, 32, 74,117,108, 32, 49,
+ 57, 57, 56, 10, 45, 45, 32, 76, 97,115,116, 32,117,112,100,
+ 97,116,101, 58, 32, 65,112,114, 32, 50, 48, 48, 51, 10, 45,
+ 45, 32, 36, 73,100, 58, 32, 36, 10, 10, 45, 45, 32, 84,104,
+ 105,115, 32, 99,111,100,101, 32,105,115, 32,102,114,101,101,
+ 32,115,111,102,116,119, 97,114,101, 59, 32,121,111,117, 32,
+ 99, 97,110, 32,114,101,100,105,115,116,114,105, 98,117,116,
+ 101, 32,105,116, 32, 97,110,100, 47,111,114, 32,109,111,100,
+ 105,102,121, 32,105,116, 46, 10, 45, 45, 32, 84,104,101, 32,
+ 115,111,102,116,119, 97,114,101, 32,112,114,111,118,105,100,
+ 101,100, 32,104,101,114,101,117,110,100,101,114, 32,105,115,
+ 32,111,110, 32, 97,110, 32, 34, 97,115, 32,105,115, 34, 32,
+ 98, 97,115,105,115, 44, 32, 97,110,100, 10, 45, 45, 32,116,
+ 104,101, 32, 97,117,116,104,111,114, 32,104, 97,115, 32,110,
+ 111, 32,111, 98,108,105,103, 97,116,105,111,110, 32,116,111,
+ 32,112,114,111,118,105,100,101, 32,109, 97,105,110,116,101,
+ 110, 97,110, 99,101, 44, 32,115,117,112,112,111,114,116, 44,
+ 32,117,112,100, 97,116,101,115, 44, 10, 45, 45, 32,101,110,
+ 104, 97,110, 99,101,109,101,110,116,115, 44, 32,111,114, 32,
+ 109,111,100,105,102,105, 99, 97,116,105,111,110,115, 46, 10,
+ 10, 10, 45, 45, 32, 66, 97,115,105, 99, 32, 67, 32,116,121,
+ 112,101,115, 32, 97,110,100, 32,116,104,101,105,114, 32, 99,
+ 111,114,114,101,115,112,111,110,100,105,110,103, 32, 76,117,
+ 97, 32,116,121,112,101,115, 10, 45, 45, 32, 65,108,108, 32,
+ 111, 99, 99,117,114,114,101,110, 99,101,115, 32,111,102, 32,
+ 34, 99,104, 97,114, 42, 34, 32,119,105,108,108, 32, 98,101,
+ 32,114,101,112,108, 97, 99,101,100, 32, 98,121, 32, 34, 95,
+ 99,115,116,114,105,110,103, 34, 44, 10, 45, 45, 32, 97,110,
+ 100, 32, 97,108,108, 32,111, 99, 99,117,114,114,101,110, 99,
+ 101,115, 32,111,102, 32, 34,118,111,105,100, 42, 34, 32,119,
+ 105,108,108, 32, 98,101, 32,114,101,112,108, 97, 99,101,100,
+ 32, 98,121, 32, 34, 95,117,115,101,114,100, 97,116, 97, 34,
+ 10, 95, 98, 97,115,105, 99, 32, 61, 32,123, 10, 32, 91, 39,
+ 118,111,105,100, 39, 93, 32, 61, 32, 39, 39, 44, 10, 32, 91,
+ 39, 99,104, 97,114, 39, 93, 32, 61, 32, 39,110,117,109, 98,
+ 101,114, 39, 44, 10, 32, 91, 39,105,110,116, 39, 93, 32, 61,
+ 32, 39,110,117,109, 98,101,114, 39, 44, 10, 32, 91, 39,115,
+ 104,111,114,116, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,
+ 114, 39, 44, 10, 32, 91, 39,108,111,110,103, 39, 93, 32, 61,
+ 32, 39,110,117,109, 98,101,114, 39, 44, 10, 32, 91, 39,117,
+ 110,115,105,103,110,101,100, 39, 93, 32, 61, 32, 39,110,117,
+ 109, 98,101,114, 39, 44, 10, 32, 91, 39,102,108,111, 97,116,
+ 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44, 10,
+ 32, 91, 39,100,111,117, 98,108,101, 39, 93, 32, 61, 32, 39,
+ 110,117,109, 98,101,114, 39, 44, 10, 32, 91, 39, 95, 99,115,
+ 116,114,105,110,103, 39, 93, 32, 61, 32, 39,115,116,114,105,
+ 110,103, 39, 44, 10, 32, 91, 39, 95,117,115,101,114,100, 97,
+ 116, 97, 39, 93, 32, 61, 32, 39,117,115,101,114,100, 97,116,
+ 97, 39, 44, 10, 32, 91, 39, 99,104, 97,114, 42, 39, 93, 32,
+ 61, 32, 39,115,116,114,105,110,103, 39, 44, 10, 32, 91, 39,
+ 118,111,105,100, 42, 39, 93, 32, 61, 32, 39,117,115,101,114,
+ 100, 97,116, 97, 39, 44, 10, 32, 91, 39, 98,111,111,108, 39,
+ 93, 32, 61, 32, 39, 98,111,111,108,101, 97,110, 39, 44, 10,
+ 32, 91, 39,108,117, 97, 95, 79, 98,106,101, 99,116, 39, 93,
+ 32, 61, 32, 39,118, 97,108,117,101, 39, 44, 10, 32, 91, 39,
+ 76, 85, 65, 95, 86, 65, 76, 85, 69, 39, 93, 32, 61, 32, 39,
+ 118, 97,108,117,101, 39, 44, 32, 32, 32, 32, 45, 45, 32,102,
+ 111,114, 32, 99,111,109,112, 97,116,105, 98,105,108,105,116,
+ 121, 32,119,105,116,104, 32,116,111,108,117, 97, 32, 52, 46,
+ 48, 10, 32, 91, 39,108,117, 97, 95, 83,116, 97,116,101, 42,
+ 39, 93, 32, 61, 32, 39,115,116, 97,116,101, 39, 44, 10, 32,
+ 91, 39, 95,108,115,116, 97,116,101, 39, 93, 32, 61, 32, 39,
+ 115,116, 97,116,101, 39, 44, 10, 32, 91, 39,108,117, 97, 95,
+ 70,117,110, 99,116,105,111,110, 39, 93, 32, 61, 32, 39,118,
+ 97,108,117,101, 39, 44, 10,125, 10, 10, 95, 98, 97,115,105,
+ 99, 95, 99,116,121,112,101, 32, 61, 32,123, 10, 32,110,117,
+ 109, 98,101,114, 32, 61, 32, 34,108,117, 97, 95, 78,117,109,
+ 98,101,114, 34, 44, 10, 32,115,116,114,105,110,103, 32, 61,
+ 32, 34, 99,111,110,115,116, 32, 99,104, 97,114, 42, 34, 44,
+ 10, 32,117,115,101,114,100, 97,116, 97, 32, 61, 32, 34,118,
+ 111,105,100, 42, 34, 44, 10, 32, 98,111,111,108,101, 97,110,
+ 32, 61, 32, 34, 98,111,111,108, 34, 44, 10, 32,118, 97,108,
+ 117,101, 32, 61, 32, 34,105,110,116, 34, 44, 10, 32,115,116,
+ 97,116,101, 32, 61, 32, 34,108,117, 97, 95, 83,116, 97,116,
+ 101, 42, 34, 44, 10,125, 10, 10, 45, 45, 32,102,117,110, 99,
+ 116,105,111,110,115, 32,116,104,101, 32, 97,114,101, 32,117,
+ 115,101,100, 32,116,111, 32,100,111, 32, 97, 32, 39,114, 97,
+ 119, 32,112,117,115,104, 39, 32,111,102, 32, 98, 97,115,105,
+ 99, 32,116,121,112,101,115, 10, 95, 98, 97,115,105, 99, 95,
+ 114, 97,119, 95,112,117,115,104, 32, 61, 32,123,125, 10, 10,
+ 45, 45, 32, 76,105,115,116, 32,111,102, 32,117,115,101,114,
+ 32,100,101,102,105,110,101,100, 32,116,121,112,101,115, 10,
+ 45, 45, 32, 69, 97, 99,104, 32,116,121,112,101, 32, 99,111,
+ 114,114,101,115,112,111,110,100,115, 32,116,111, 32, 97, 32,
+ 118, 97,114,105, 97, 98,108,101, 32,110, 97,109,101, 32,116,
+ 104, 97,116, 32,115,116,111,114,101,115, 32,105,116,115, 32,
+ 116, 97,103, 32,118, 97,108,117,101, 46, 10, 95,117,115,101,
+ 114,116,121,112,101, 32, 61, 32,123,125, 10, 10, 45, 45, 32,
+ 76,105,115,116, 32,111,102, 32,116,121,112,101,115, 32,116,
+ 104, 97,116, 32,104, 97,118,101, 32,116,111, 32, 98,101, 32,
+ 99,111,108,108,101, 99,116,101,100, 10, 95, 99,111,108,108,
+ 101, 99,116, 32, 61, 32,123,125, 10, 10, 45, 45, 32, 76,105,
+ 115,116, 32,111,102, 32,116,121,112,101,115, 10, 95,103,108,
+ 111, 98, 97,108, 95,116,121,112,101,115, 32, 61, 32,123,110,
+ 61, 48,125, 10, 95,103,108,111, 98, 97,108, 95,116,121,112,
+ 101,115, 95,104, 97,115,104, 32, 61, 32,123,125, 10, 10, 45,
+ 45, 32,108,105,115,116, 32,111,102, 32, 99,108, 97,115,115,
+ 101,115, 10, 95,103,108,111, 98, 97,108, 95, 99,108, 97,115,
+ 115,101,115, 32, 61, 32,123,125, 10, 10, 45, 45, 32, 76,105,
+ 115,116, 32,111,102, 32,101,110,117,109, 32, 99,111,110,115,
+ 116, 97,110,116,115, 10, 95,103,108,111, 98, 97,108, 95,101,
+ 110,117,109,115, 32, 61, 32,123,125, 10, 10, 45, 45, 32, 76,
+ 105,115,116, 32,111,102, 32, 97,117,116,111, 32,114,101,110,
+ 97,109,105,110,103, 10, 95,114,101,110, 97,109,105,110,103,
+ 32, 61, 32,123,125, 10,102,117,110, 99,116,105,111,110, 32,
+ 97,112,112,101,110,100,114,101,110, 97,109,105,110,103, 32,
+ 40,115, 41, 10, 32,108,111, 99, 97,108, 32, 98, 44,101, 44,
+ 111,108,100, 44,110,101,119, 32, 61, 32,115,116,114,102,105,
+ 110,100, 40,115, 44, 34, 37,115, 42, 40, 46, 45, 41, 37,115,
+ 42, 64, 37,115, 42, 40, 46, 45, 41, 37,115, 42, 36, 34, 41,
+ 10, 9,105,102, 32,110,111,116, 32, 98, 32,116,104,101,110,
+ 10, 9, 32,101,114,114,111,114, 40, 34, 35, 73,110,118, 97,
+ 108,105,100, 32,114,101,110, 97,109,105,110,103, 32,115,121,
+ 110,116, 97,120, 59, 32,105,116, 32,115,104,111,117,108,100,
+ 32, 98,101, 32,111,102, 32,116,104,101, 32,102,111,114,109,
+ 58, 32,112, 97,116,116,101,114,110, 64,112, 97,116,116,101,
+ 114,110, 34, 41, 10, 9,101,110,100, 10, 9,116,105,110,115,
+ 101,114,116, 40, 95,114,101,110, 97,109,105,110,103, 44,123,
+ 111,108,100, 61,111,108,100, 44, 32,110,101,119, 61,110,101,
+ 119,125, 41, 10,101,110,100, 10, 10,102,117,110, 99,116,105,
+ 111,110, 32, 97,112,112,108,121,114,101,110, 97,109,105,110,
+ 103, 32, 40,115, 41, 10, 9,102,111,114, 32,105, 61, 49, 44,
+ 103,101,116,110, 40, 95,114,101,110, 97,109,105,110,103, 41,
+ 32,100,111, 10, 9, 32,108,111, 99, 97,108, 32,109, 44,110,
+ 32, 61, 32,103,115,117, 98, 40,115, 44, 95,114,101,110, 97,
+ 109,105,110,103, 91,105, 93, 46,111,108,100, 44, 95,114,101,
+ 110, 97,109,105,110,103, 91,105, 93, 46,110,101,119, 41, 10,
+ 9, 9,105,102, 32,110, 32,126, 61, 32, 48, 32,116,104,101,
+ 110, 10, 9, 9, 32,114,101,116,117,114,110, 32,109, 10, 9,
+ 9,101,110,100, 10, 9,101,110,100, 10, 9,114,101,116,117,
+ 114,110, 32,110,105,108, 10,101,110,100, 10, 10, 45, 45, 32,
+ 69,114,114,111,114, 32,104, 97,110,100,108,101,114, 10,102,
+ 117,110, 99,116,105,111,110, 32,116,111,108,117, 97, 95,101,
+ 114,114,111,114, 32, 40,115, 44,102, 41, 10,105,102, 32, 95,
+ 99,117,114,114, 95, 99,111,100,101, 32,116,104,101,110, 10,
+ 9,112,114,105,110,116, 40, 34, 42, 42, 42, 99,117,114,114,
+ 32, 99,111,100,101, 32,102,111,114, 32,101,114,114,111,114,
+ 32,105,115, 32, 34, 46, 46,116,111,115,116,114,105,110,103,
+ 40, 95, 99,117,114,114, 95, 99,111,100,101, 41, 41, 10, 9,
+ 112,114,105,110,116, 40,100,101, 98,117,103, 46,116,114, 97,
+ 99,101, 98, 97, 99,107, 40, 41, 41, 10,101,110,100, 10, 32,
+ 108,111, 99, 97,108, 32,111,117,116, 32, 61, 32, 95, 79, 85,
+ 84, 80, 85, 84, 10, 32, 95, 79, 85, 84, 80, 85, 84, 32, 61,
+ 32, 95, 83, 84, 68, 69, 82, 82, 10, 32,105,102, 32,115,116,
+ 114,115,117, 98, 40,115, 44, 49, 44, 49, 41, 32, 61, 61, 32,
+ 39, 35, 39, 32,116,104,101,110, 10, 32, 32,119,114,105,116,
+ 101, 40, 34, 92,110, 42, 42, 32,116,111,108,117, 97, 58, 32,
+ 34, 46, 46,115,116,114,115,117, 98, 40,115, 44, 50, 41, 46,
+ 46, 34, 46, 92,110, 92,110, 34, 41, 10, 32, 32,105,102, 32,
+ 95, 99,117,114,114, 95, 99,111,100,101, 32,116,104,101,110,
+ 10, 32, 32, 32,108,111, 99, 97,108, 32, 95, 44, 95, 44,115,
+ 32, 61, 32,115,116,114,102,105,110,100, 40, 95, 99,117,114,
+ 114, 95, 99,111,100,101, 44, 34, 94, 37,115, 42, 40, 46, 45,
+ 92,110, 41, 34, 41, 32, 45, 45, 32,101,120,116,114, 97, 99,
+ 116, 32,102,105,114,115,116, 32,108,105,110,101, 10, 32, 32,
+ 32,105,102, 32,115, 61, 61,110,105,108, 32,116,104,101,110,
+ 32,115, 32, 61, 32, 95, 99,117,114,114, 95, 99,111,100,101,
+ 32,101,110,100, 10, 32, 32, 32,115, 32, 61, 32,103,115,117,
+ 98, 40,115, 44, 34, 95,117,115,101,114,100, 97,116, 97, 34,
+ 44, 34,118,111,105,100, 42, 34, 41, 32, 45, 45, 32,114,101,
+ 116,117,114,110, 32,119,105,116,104, 32, 39,118,111,105,100,
+ 42, 39, 10, 32, 32, 32,115, 32, 61, 32,103,115,117, 98, 40,
+ 115, 44, 34, 95, 99,115,116,114,105,110,103, 34, 44, 34, 99,
+ 104, 97,114, 42, 34, 41, 32, 32, 45, 45, 32,114,101,116,117,
+ 114,110, 32,119,105,116,104, 32, 39, 99,104, 97,114, 42, 39,
+ 10, 32, 32, 32,115, 32, 61, 32,103,115,117, 98, 40,115, 44,
+ 34, 95,108,115,116, 97,116,101, 34, 44, 34,108,117, 97, 95,
+ 83,116, 97,116,101, 42, 34, 41, 32, 32, 45, 45, 32,114,101,
+ 116,117,114,110, 32,119,105,116,104, 32, 39,108,117, 97, 95,
+ 83,116, 97,116,101, 42, 39, 10, 32, 32, 32,119,114,105,116,
+ 101, 40, 34, 67,111,100,101, 32, 98,101,105,110,103, 32,112,
+ 114,111, 99,101,115,115,101,100, 58, 92,110, 34, 46, 46,115,
+ 46, 46, 34, 92,110, 34, 41, 10, 32, 32,101,110,100, 10, 32,
+ 101,108,115,101, 10, 32,105,102, 32,110,111,116, 32,102, 32,
+ 116,104,101,110, 32,102, 32, 61, 32, 34, 40,102, 32,105,115,
+ 32,110,105,108, 41, 34, 32,101,110,100, 10, 32, 32,112,114,
+ 105,110,116, 40, 34, 92,110, 42, 42, 32,116,111,108,117, 97,
+ 32,105,110,116,101,114,110, 97,108, 32,101,114,114,111,114,
+ 58, 32, 34, 46, 46,102, 46, 46,115, 46, 46, 34, 46, 92,110,
+ 92,110, 34, 41, 10, 32, 32,114,101,116,117,114,110, 10, 32,
+ 101,110,100, 10, 32, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,
+ 111,117,116, 10,101,110,100, 10, 10,102,117,110, 99,116,105,
+ 111,110, 32,119, 97,114,110,105,110,103, 32, 40,109,115,103,
+ 41, 10, 32,105,102, 32,102,108, 97,103,115, 46,113, 32,116,
+ 104,101,110, 32,114,101,116,117,114,110, 32,101,110,100, 10,
+ 32,108,111, 99, 97,108, 32,111,117,116, 32, 61, 32, 95, 79,
+ 85, 84, 80, 85, 84, 10, 32, 95, 79, 85, 84, 80, 85, 84, 32,
+ 61, 32, 95, 83, 84, 68, 69, 82, 82, 10, 32,119,114,105,116,
+ 101, 40, 34, 92,110, 42, 42, 32,116,111,108,117, 97, 32,119,
+ 97,114,110,105,110,103, 58, 32, 34, 46, 46,109,115,103, 46,
+ 46, 34, 46, 92,110, 92,110, 34, 41, 10, 32, 95, 79, 85, 84,
+ 80, 85, 84, 32, 61, 32,111,117,116, 10,101,110,100, 10, 10,
+ 45, 45, 32,114,101,103,105,115,116,101,114, 32, 97,110, 32,
+ 117,115,101,114, 32,100,101,102,105,110,101,100, 32,116,121,
+ 112,101, 58, 32,114,101,116,117,114,110,115, 32,102,117,108,
+ 108, 32,116,121,112,101, 10,102,117,110, 99,116,105,111,110,
+ 32,114,101,103,116,121,112,101, 32, 40,116, 41, 10, 9, 45,
+ 45,105,102, 32,105,115, 98, 97,115,105, 99, 40,116, 41, 32,
+ 116,104,101,110, 10, 9, 45, 45, 9,114,101,116,117,114,110,
+ 32,116, 10, 9, 45, 45,101,110,100, 10, 9,108,111, 99, 97,
+ 108, 32,102,116, 32, 61, 32,102,105,110,100,116,121,112,101,
+ 40,116, 41, 10, 10, 9,105,102, 32,110,111,116, 32, 95,117,
+ 115,101,114,116,121,112,101, 91,102,116, 93, 32,116,104,101,
+ 110, 10, 9, 9,114,101,116,117,114,110, 32, 97,112,112,101,
+ 110,100,117,115,101,114,116,121,112,101, 40,116, 41, 10, 9,
+ 101,110,100, 10, 9,114,101,116,117,114,110, 32,102,116, 10,
+ 101,110,100, 10, 10, 45, 45, 32,114,101,116,117,114,110, 32,
+ 116,121,112,101, 32,110, 97,109,101, 58, 32,114,101,116,117,
+ 114,110,115, 32,102,117,108,108, 32,116,121,112,101, 10,102,
+ 117,110, 99,116,105,111,110, 32,116,121,112,101,118, 97,114,
+ 40,116,121,112,101, 41, 10, 9,105,102, 32,116,121,112,101,
+ 32, 61, 61, 32, 39, 39, 32,111,114, 32,116,121,112,101, 32,
+ 61, 61, 32, 39,118,111,105,100, 39, 32,116,104,101,110, 10,
+ 9, 9,114,101,116,117,114,110, 32,116,121,112,101, 10, 9,
+ 101,108,115,101, 10, 9, 9,108,111, 99, 97,108, 32,102,116,
+ 32, 61, 32,102,105,110,100,116,121,112,101, 40,116,121,112,
+ 101, 41, 10, 9, 9,105,102, 32,102,116, 32,116,104,101,110,
+ 10, 9, 9, 9,114,101,116,117,114,110, 32,102,116, 10, 9,
+ 9,101,110,100, 10, 9, 9, 95,117,115,101,114,116,121,112,
+ 101, 91,116,121,112,101, 93, 32, 61, 32,116,121,112,101, 10,
+ 9, 9,114,101,116,117,114,110, 32,116,121,112,101, 10, 9,
+ 101,110,100, 10,101,110,100, 10, 10, 45, 45, 32, 99,104,101,
+ 99,107, 32,105,102, 32, 98, 97,115,105, 99, 32,116,121,112,
+ 101, 10,102,117,110, 99,116,105,111,110, 32,105,115, 98, 97,
+ 115,105, 99, 32, 40,116,121,112,101, 41, 10, 32,108,111, 99,
+ 97,108, 32,116, 32, 61, 32,103,115,117, 98, 40,116,121,112,
+ 101, 44, 39, 99,111,110,115,116, 32, 39, 44, 39, 39, 41, 10,
+ 32,108,111, 99, 97,108, 32,109, 44,116, 32, 61, 32, 97,112,
+ 112,108,121,116,121,112,101,100,101,102, 40, 39, 39, 44, 32,
+ 116, 41, 10, 32,108,111, 99, 97,108, 32, 98, 32, 61, 32, 95,
+ 98, 97,115,105, 99, 91,116, 93, 10, 32,105,102, 32, 98, 32,
+ 116,104,101,110, 10, 32, 32,114,101,116,117,114,110, 32, 98,
+ 44, 95, 98, 97,115,105, 99, 95, 99,116,121,112,101, 91, 98,
+ 93, 10, 32,101,110,100, 10, 32,114,101,116,117,114,110, 32,
+ 110,105,108, 10,101,110,100, 10, 10, 45, 45, 32,115,112,108,
+ 105,116, 32,115,116,114,105,110,103, 32,117,115,105,110,103,
+ 32, 97, 32,116,111,107,101,110, 10,102,117,110, 99,116,105,
+ 111,110, 32,115,112,108,105,116, 32, 40,115, 44,116, 41, 10,
+ 32,108,111, 99, 97,108, 32,108, 32, 61, 32,123,110, 61, 48,
+ 125, 10, 32,108,111, 99, 97,108, 32,102, 32, 61, 32,102,117,
+ 110, 99,116,105,111,110, 32, 40,115, 41, 10, 32, 32,108, 46,
+ 110, 32, 61, 32,108, 46,110, 32, 43, 32, 49, 10, 32, 32,108,
+ 91,108, 46,110, 93, 32, 61, 32,115, 10, 32, 32,114,101,116,
+ 117,114,110, 32, 34, 34, 10, 32,101,110,100, 10, 32,108,111,
+ 99, 97,108, 32,112, 32, 61, 32, 34, 37,115, 42, 40, 46, 45,
+ 41, 37,115, 42, 34, 46, 46,116, 46, 46, 34, 37,115, 42, 34,
+ 10, 32,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 94,
+ 37,115, 43, 34, 44, 34, 34, 41, 10, 32,115, 32, 61, 32,103,
+ 115,117, 98, 40,115, 44, 34, 37,115, 43, 36, 34, 44, 34, 34,
+ 41, 10, 32,115, 32, 61, 32,103,115,117, 98, 40,115, 44,112,
+ 44,102, 41, 10, 32,108, 46,110, 32, 61, 32,108, 46,110, 32,
+ 43, 32, 49, 10, 32,108, 91,108, 46,110, 93, 32, 61, 32,103,
+ 115,117, 98, 40,115, 44, 34, 40, 37,115, 37,115, 42, 41, 36,
+ 34, 44, 34, 34, 41, 10, 32,114,101,116,117,114,110, 32,108,
+ 10,101,110,100, 10, 10, 45, 45, 32,115,112,108,105,116,115,
+ 32, 97, 32,115,116,114,105,110,103, 32,117,115,105,110,103,
+ 32, 97, 32,112, 97,116,116,101,114,110, 44, 32, 99,111,110,
+ 115,105,100,101,114,105,110,103, 32,116,104,101, 32,115,112,
+ 97, 99,105, 97,108, 32, 99, 97,115,101,115, 32,111,102, 32,
+ 67, 32, 99,111,100,101, 32, 40,116,101,109,112,108, 97,116,
+ 101,115, 44, 32,102,117,110, 99,116,105,111,110, 32,112, 97,
+ 114, 97,109,101,116,101,114,115, 44, 32,101,116, 99, 41, 10,
+ 45, 45, 32,112, 97,116,116,101,114,110, 32, 99, 97,110, 39,
+ 116, 32, 99,111,110,116, 97,105,110, 32,116,104,101, 32, 39,
+ 94, 39, 32, 40, 97,115, 32,117,115,101,100, 32,116,111, 32,
+ 105,100,101,110,116,105,102,121, 32,116,104,101, 32, 98,101,
+ 103,105,110,105,110,103, 32,111,102, 32,116,104,101, 32,108,
+ 105,110,101, 41, 10, 45, 45, 32, 97,108,115,111, 32,115,116,
+ 114,105,112,115, 32,119,104,105,116,101,115,112, 97, 99,101,
+ 10,102,117,110, 99,116,105,111,110, 32,115,112,108,105,116,
+ 95, 99, 95,116,111,107,101,110,115, 40,115, 44, 32,112, 97,
+ 116, 41, 10, 10, 9,115, 32, 61, 32,115,116,114,105,110,103,
+ 46,103,115,117, 98, 40,115, 44, 32, 34, 94, 37,115, 42, 34,
+ 44, 32, 34, 34, 41, 10, 9,115, 32, 61, 32,115,116,114,105,
+ 110,103, 46,103,115,117, 98, 40,115, 44, 32, 34, 37,115, 42,
+ 36, 34, 44, 32, 34, 34, 41, 10, 10, 9,108,111, 99, 97,108,
+ 32,116,111,107,101,110, 95, 98,101,103,105,110, 32, 61, 32,
+ 49, 10, 9,108,111, 99, 97,108, 32,116,111,107,101,110, 95,
+ 101,110,100, 32, 61, 32, 49, 10, 9,108,111, 99, 97,108, 32,
+ 111,102,115, 32, 61, 32, 49, 10, 9,108,111, 99, 97,108, 32,
+ 114,101,116, 32, 61, 32,123,110, 61, 48,125, 10, 10, 9,102,
+ 117,110, 99,116,105,111,110, 32, 97,100,100, 95,116,111,107,
+ 101,110, 40,111,102,115, 41, 10, 10, 9, 9,108,111, 99, 97,
+ 108, 32,116, 32, 61, 32,115,116,114,105,110,103, 46,115,117,
+ 98, 40,115, 44, 32,116,111,107,101,110, 95, 98,101,103,105,
+ 110, 44, 32,111,102,115, 41, 10, 9, 9,116, 32, 61, 32,115,
+ 116,114,105,110,103, 46,103,115,117, 98, 40,116, 44, 32, 34,
+ 94, 37,115, 42, 34, 44, 32, 34, 34, 41, 10, 9, 9,116, 32,
+ 61, 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,116,
+ 44, 32, 34, 37,115, 42, 36, 34, 44, 32, 34, 34, 41, 10, 9,
+ 9,114,101,116, 46,110, 32, 61, 32,114,101,116, 46,110, 32,
+ 43, 32, 49, 10, 9, 9,114,101,116, 91,114,101,116, 46,110,
+ 93, 32, 61, 32,116, 10, 9,101,110,100, 10, 10, 9,119,104,
+ 105,108,101, 32,111,102,115, 32, 60, 61, 32,115,116,114,105,
+ 110,103, 46,108,101,110, 40,115, 41, 32,100,111, 10, 10, 9,
+ 9,108,111, 99, 97,108, 32,115,117, 98, 32, 61, 32,115,116,
+ 114,105,110,103, 46,115,117, 98, 40,115, 44, 32,111,102,115,
+ 44, 32, 45, 49, 41, 10, 9, 9,108,111, 99, 97,108, 32, 98,
+ 44,101, 32, 61, 32,115,116,114,105,110,103, 46,102,105,110,
+ 100, 40,115,117, 98, 44, 32, 34, 94, 34, 46, 46,112, 97,116,
+ 41, 10, 9, 9,105,102, 32, 98, 32,116,104,101,110, 10, 9,
+ 9, 9, 97,100,100, 95,116,111,107,101,110, 40,111,102,115,
+ 45, 49, 41, 10, 9, 9, 9,111,102,115, 32, 61, 32,111,102,
+ 115, 43,101, 10, 9, 9, 9,116,111,107,101,110, 95, 98,101,
+ 103,105,110, 32, 61, 32,111,102,115, 10, 9, 9,101,108,115,
+ 101, 10, 9, 9, 9,108,111, 99, 97,108, 32, 99,104, 97,114,
+ 32, 61, 32,115,116,114,105,110,103, 46,115,117, 98, 40,115,
+ 44, 32,111,102,115, 44, 32,111,102,115, 41, 10, 9, 9, 9,
+ 105,102, 32, 99,104, 97,114, 32, 61, 61, 32, 34, 40, 34, 32,
+ 111,114, 32, 99,104, 97,114, 32, 61, 61, 32, 34, 60, 34, 32,
+ 116,104,101,110, 10, 10, 9, 9, 9, 9,108,111, 99, 97,108,
+ 32, 98,108,111, 99,107, 10, 9, 9, 9, 9,105,102, 32, 99,
+ 104, 97,114, 32, 61, 61, 32, 34, 40, 34, 32,116,104,101,110,
+ 32, 98,108,111, 99,107, 32, 61, 32, 34, 94, 37, 98, 40, 41,
+ 34, 32,101,110,100, 10, 9, 9, 9, 9,105,102, 32, 99,104,
+ 97,114, 32, 61, 61, 32, 34, 60, 34, 32,116,104,101,110, 32,
+ 98,108,111, 99,107, 32, 61, 32, 34, 94, 37, 98, 60, 62, 34,
+ 32,101,110,100, 10, 10, 9, 9, 9, 9, 98, 44,101, 32, 61,
+ 32,115,116,114,105,110,103, 46,102,105,110,100, 40,115,117,
+ 98, 44, 32, 98,108,111, 99,107, 41, 10, 9, 9, 9, 9,105,
+ 102, 32,110,111,116, 32, 98, 32,116,104,101,110, 10, 9, 9,
+ 9, 9, 9, 45, 45, 32,117,110,116,101,114,109,105,110, 97,
+ 116,101,100, 32, 98,108,111, 99,107, 63, 10, 9, 9, 9, 9,
+ 9,111,102,115, 32, 61, 32,111,102,115, 43, 49, 10, 9, 9,
+ 9, 9,101,108,115,101, 10, 9, 9, 9, 9, 9,111,102,115,
+ 32, 61, 32,111,102,115, 32, 43, 32,101, 10, 9, 9, 9, 9,
+ 101,110,100, 10, 10, 9, 9, 9,101,108,115,101, 10, 9, 9,
+ 9, 9,111,102,115, 32, 61, 32,111,102,115, 43, 49, 10, 9,
+ 9, 9,101,110,100, 10, 9, 9,101,110,100, 10, 10, 9,101,
+ 110,100, 10, 9, 97,100,100, 95,116,111,107,101,110, 40,111,
+ 102,115, 41, 10, 9, 45, 45,105,102, 32,114,101,116, 46,110,
+ 32, 61, 61, 32, 48, 32,116,104,101,110, 10, 10, 9, 45, 45,
+ 9,114,101,116, 46,110, 61, 49, 10, 9, 45, 45, 9,114,101,
+ 116, 91, 49, 93, 32, 61, 32, 34, 34, 10, 9, 45, 45,101,110,
+ 100, 10, 10, 9,114,101,116,117,114,110, 32,114,101,116, 10,
+ 10,101,110,100, 10, 10, 45, 45, 32, 99,111,110, 99, 97,116,
+ 101,110, 97,116,101, 32,115,116,114,105,110,103,115, 32,111,
+ 102, 32, 97, 32,116, 97, 98,108,101, 10,102,117,110, 99,116,
+ 105,111,110, 32, 99,111,110, 99, 97,116, 32, 40,116, 44,102,
+ 44,108, 44,106,115,116,114, 41, 10, 9,106,115,116,114, 32,
+ 61, 32,106,115,116,114, 32,111,114, 32, 34, 32, 34, 10, 32,
+ 108,111, 99, 97,108, 32,115, 32, 61, 32, 39, 39, 10, 32,108,
+ 111, 99, 97,108, 32,105, 61,102, 10, 32,119,104,105,108,101,
+ 32,105, 60, 61,108, 32,100,111, 10, 32, 32,115, 32, 61, 32,
+ 115, 46, 46,116, 91,105, 93, 10, 32, 32,105, 32, 61, 32,105,
+ 43, 49, 10, 32, 32,105,102, 32,105, 32, 60, 61, 32,108, 32,
+ 116,104,101,110, 32,115, 32, 61, 32,115, 46, 46,106,115,116,
+ 114, 32,101,110,100, 10, 32,101,110,100, 10, 32,114,101,116,
+ 117,114,110, 32,115, 10,101,110,100, 10, 10, 45, 45, 32, 99,
+ 111,110, 99, 97,116,101,110, 97,116,101, 32, 97,108,108, 32,
+ 112, 97,114, 97,109,101,116,101,114,115, 44, 32,102,111,108,
+ 108,111,119,105,110,103, 32,111,117,116,112,117,116, 32,114,
+ 117,108,101,115, 10,102,117,110, 99,116,105,111,110, 32, 99,
+ 111,110, 99, 97,116,112, 97,114, 97,109, 32, 40,108,105,110,
+ 101, 44, 32, 46, 46, 46, 41, 10, 32,108,111, 99, 97,108, 32,
+ 105, 61, 49, 10, 32,119,104,105,108,101, 32,105, 60, 61, 97,
+ 114,103, 46,110, 32,100,111, 10, 32, 32,105,102, 32, 95, 99,
+ 111,110,116, 32, 97,110,100, 32,110,111,116, 32,115,116,114,
+ 102,105,110,100, 40, 95, 99,111,110,116, 44, 39, 91, 37, 40,
+ 44, 34, 93, 39, 41, 32, 97,110,100, 10, 32, 32, 32, 32, 32,
+ 115,116,114,102,105,110,100, 40, 97,114,103, 91,105, 93, 44,
+ 34, 94, 91, 37, 97, 95,126, 93, 34, 41, 32,116,104,101,110,
+ 10, 9, 32, 32, 32, 32,108,105,110,101, 32, 61, 32,108,105,
+ 110,101, 32, 46, 46, 32, 39, 32, 39, 10, 32, 32,101,110,100,
+ 10, 32, 32,108,105,110,101, 32, 61, 32,108,105,110,101, 32,
+ 46, 46, 32, 97,114,103, 91,105, 93, 10, 32, 32,105,102, 32,
+ 97,114,103, 91,105, 93, 32,126, 61, 32, 39, 39, 32,116,104,
+ 101,110, 10, 32, 32, 32, 95, 99,111,110,116, 32, 61, 32,115,
+ 116,114,115,117, 98, 40, 97,114,103, 91,105, 93, 44, 45, 49,
+ 44, 45, 49, 41, 10, 32, 32,101,110,100, 10, 32, 32,105, 32,
+ 61, 32,105, 43, 49, 10, 32,101,110,100, 10, 32,105,102, 32,
+ 115,116,114,102,105,110,100, 40, 97,114,103, 91, 97,114,103,
+ 46,110, 93, 44, 34, 91, 37, 47, 37, 41, 37, 59, 37,123, 37,
+ 125, 93, 36, 34, 41, 32,116,104,101,110, 10, 32, 32, 95, 99,
+ 111,110,116, 61,110,105,108, 32,108,105,110,101, 32, 61, 32,
+ 108,105,110,101, 32, 46, 46, 32, 39, 92,110, 39, 10, 32,101,
+ 110,100, 10, 9,114,101,116,117,114,110, 32,108,105,110,101,
+ 10,101,110,100, 10, 10, 45, 45, 32,111,117,116,112,117,116,
+ 32,108,105,110,101, 10,102,117,110, 99,116,105,111,110, 32,
+ 111,117,116,112,117,116, 32, 40, 46, 46, 46, 41, 10, 32,108,
+ 111, 99, 97,108, 32,105, 61, 49, 10, 32,119,104,105,108,101,
+ 32,105, 60, 61, 97,114,103, 46,110, 32,100,111, 10, 32, 32,
+ 105,102, 32, 95, 99,111,110,116, 32, 97,110,100, 32,110,111,
+ 116, 32,115,116,114,102,105,110,100, 40, 95, 99,111,110,116,
+ 44, 39, 91, 37, 40, 44, 34, 93, 39, 41, 32, 97,110,100, 10,
+ 32, 32, 32, 32, 32,115,116,114,102,105,110,100, 40, 97,114,
+ 103, 91,105, 93, 44, 34, 94, 91, 37, 97, 95,126, 93, 34, 41,
+ 32,116,104,101,110, 10, 9, 32, 32, 32, 32,119,114,105,116,
+ 101, 40, 39, 32, 39, 41, 10, 32, 32,101,110,100, 10, 32, 32,
+ 119,114,105,116,101, 40, 97,114,103, 91,105, 93, 41, 10, 32,
+ 32,105,102, 32, 97,114,103, 91,105, 93, 32,126, 61, 32, 39,
+ 39, 32,116,104,101,110, 10, 32, 32, 32, 95, 99,111,110,116,
+ 32, 61, 32,115,116,114,115,117, 98, 40, 97,114,103, 91,105,
+ 93, 44, 45, 49, 44, 45, 49, 41, 10, 32, 32,101,110,100, 10,
+ 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32,101,110,100, 10,
+ 32,105,102, 32,115,116,114,102,105,110,100, 40, 97,114,103,
+ 91, 97,114,103, 46,110, 93, 44, 34, 91, 37, 47, 37, 41, 37,
+ 59, 37,123, 37,125, 93, 36, 34, 41, 32,116,104,101,110, 10,
+ 32, 32, 95, 99,111,110,116, 61,110,105,108, 32,119,114,105,
+ 116,101, 40, 39, 92,110, 39, 41, 10, 32,101,110,100, 10,101,
+ 110,100, 10, 10,102,117,110, 99,116,105,111,110, 32,103,101,
+ 116, 95,112,114,111,112,101,114,116,121, 95,109,101,116,104,
+ 111,100,115, 40,112,116,121,112,101, 44, 32,110, 97,109,101,
+ 41, 10, 10, 9,105,102, 32,103,101,116, 95,112,114,111,112,
+ 101,114,116,121, 95,109,101,116,104,111,100,115, 95,104,111,
+ 111,107, 32, 97,110,100, 32,103,101,116, 95,112,114,111,112,
+ 101,114,116,121, 95,109,101,116,104,111,100,115, 95,104,111,
+ 111,107, 40,112,116,121,112,101, 44,110, 97,109,101, 41, 32,
+ 116,104,101,110, 10, 9, 9,114,101,116,117,114,110, 32,103,
+ 101,116, 95,112,114,111,112,101,114,116,121, 95,109,101,116,
+ 104,111,100,115, 95,104,111,111,107, 40,112,116,121,112,101,
+ 44, 32,110, 97,109,101, 41, 10, 9,101,110,100, 10, 10, 9,
+ 105,102, 32,112,116,121,112,101, 32, 61, 61, 32, 34,100,101,
+ 102, 97,117,108,116, 34, 32,116,104,101,110, 32, 45, 45, 32,
+ 103,101,116, 95,110, 97,109,101, 44, 32,115,101,116, 95,110,
+ 97,109,101, 10, 9, 9,114,101,116,117,114,110, 32, 34,103,
+ 101,116, 95, 34, 46, 46,110, 97,109,101, 44, 32, 34,115,101,
+ 116, 95, 34, 46, 46,110, 97,109,101, 10, 9,101,110,100, 10,
+ 10, 9,105,102, 32,112,116,121,112,101, 32, 61, 61, 32, 34,
+ 113,116, 34, 32,116,104,101,110, 32, 45, 45, 32,110, 97,109,
+ 101, 44, 32,115,101,116, 78, 97,109,101, 10, 9, 9,114,101,
+ 116,117,114,110, 32,110, 97,109,101, 44, 32, 34,115,101,116,
+ 34, 46, 46,115,116,114,105,110,103, 46,117,112,112,101,114,
+ 40,115,116,114,105,110,103, 46,115,117, 98, 40,110, 97,109,
+ 101, 44, 32, 49, 44, 32, 49, 41, 41, 46, 46,115,116,114,105,
+ 110,103, 46,115,117, 98, 40,110, 97,109,101, 44, 32, 50, 44,
+ 32, 45, 49, 41, 10, 9,101,110,100, 10, 10, 9,105,102, 32,
+ 112,116,121,112,101, 32, 61, 61, 32, 34,111,118,101,114,108,
+ 111, 97,100, 34, 32,116,104,101,110, 32, 45, 45, 32,110, 97,
+ 109,101, 44, 32,110, 97,109,101, 10, 9, 9,114,101,116,117,
+ 114,110, 32,110, 97,109,101, 44,110, 97,109,101, 10, 9,101,
+ 110,100, 10, 10, 9,114,101,116,117,114,110, 32,110,105,108,
+ 10,101,110,100, 10, 10, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 32,116,104,101, 32,104,111,111,107,115,
+ 10, 10, 45, 45, 32, 99, 97,108,108,101,100, 32,114,105,103,
+ 104,116, 32, 97,102,116,101,114, 32,112,114,111, 99,101,115,
+ 115,105,110,103, 32,116,104,101, 32, 36, 91,105, 99,104,108,
+ 93,102,105,108,101, 32,100,105,114,101, 99,116,105,118,101,
+ 115, 44, 10, 45, 45, 32,114,105,103,104,116, 32, 98,101,102,
+ 111,114,101, 32,112,114,111, 99,101,115,115,105,110,103, 32,
+ 97,110,121,116,104,105,110,103, 32,101,108,115,101, 10, 45,
+ 45, 32,116, 97,107,101,115, 32,116,104,101, 32,112, 97, 99,
+ 107, 97,103,101, 32,111, 98,106,101, 99,116, 32, 97,115, 32,
+ 116,104,101, 32,112, 97,114, 97,109,101,116,101,114, 10,102,
+ 117,110, 99,116,105,111,110, 32,112,114,101,112,114,111, 99,
+ 101,115,115, 95,104,111,111,107, 40,112, 41, 10, 9, 45, 45,
+ 32,112, 46, 99,111,100,101, 32,104, 97,115, 32, 97,108,108,
+ 32,116,104,101, 32,105,110,112,117,116, 32, 99,111,100,101,
+ 32,102,114,111,109, 32,116,104,101, 32,112,107,103, 10,101,
+ 110,100, 10, 10, 10, 45, 45, 32, 99, 97,108,108,101,100, 32,
+ 102,111,114, 32,101,118,101,114,121, 32, 36,105,102,105,108,
+ 101, 32,100,105,114,101, 99,116,105,118,101, 10, 45, 45, 32,
+ 116, 97,107,101,115, 32, 97, 32,116, 97, 98,108,101, 32,119,
+ 105,116,104, 32, 97, 32,115,116,114,105,110,103, 32, 99, 97,
+ 108,108,101,100, 32, 39, 99,111,100,101, 39, 32,105,110,115,
+ 105,100,101, 44, 32,116,104,101, 32,102,105,108,101,110, 97,
+ 109,101, 44, 32, 97,110,100, 32, 97,110,121, 32,101,120,116,
+ 114, 97, 32, 97,114,103,117,109,101,110,116,115, 10, 45, 45,
+ 32,112, 97,115,115,101,100, 32,116,111, 32, 36,105,102,105,
+ 108,101, 46, 32,110,111, 32,114,101,116,117,114,110, 32,118,
+ 97,108,117,101, 10,102,117,110, 99,116,105,111,110, 32,105,
+ 110, 99,108,117,100,101, 95,102,105,108,101, 95,104,111,111,
+ 107, 40,116, 44, 32,102,105,108,101,110, 97,109,101, 44, 32,
+ 46, 46, 46, 41, 10, 10,101,110,100, 10, 10, 45, 45, 32, 99,
+ 97,108,108,101,100, 32, 97,102,116,101,114, 32,112,114,111,
+ 99,101,115,115,105,110,103, 32, 97,110,121,116,104,105,110,
+ 103, 32,116,104, 97,116, 39,115, 32,110,111,116, 32, 99,111,
+ 100,101, 32, 40,108,105,107,101, 32, 39, 36,114,101,110, 97,
+ 109,105,110,103, 39, 44, 32, 99,111,109,109,101,110,116,115,
+ 44, 32,101,116, 99, 41, 10, 45, 45, 32, 97,110,100, 32,114,
+ 105,103,104,116, 32, 98,101,102,111,114,101, 32,112, 97,114,
+ 115,105,110,103, 32,116,104,101, 32, 97, 99,116,117, 97,108,
+ 32, 99,111,100,101, 46, 10, 45, 45, 32,116, 97,107,101,115,
+ 32,116,104,101, 32, 80, 97, 99,107, 97,103,101, 32,111, 98,
+ 106,101, 99,116, 32,119,105,116,104, 32, 97,108,108, 32,116,
+ 104,101, 32, 99,111,100,101, 32,111,110, 32,116,104,101, 32,
+ 39, 99,111,100,101, 39, 32,107,101,121, 46, 32,110,111, 32,
+ 114,101,116,117,114,110, 32,118, 97,108,117,101, 10,102,117,
+ 110, 99,116,105,111,110, 32,112,114,101,112, 97,114,115,101,
+ 95,104,111,111,107, 40,112, 97, 99,107, 97,103,101, 41, 10,
+ 10,101,110,100, 10, 10, 45, 45, 32, 99, 97,108,108,101,100,
+ 32, 98,101,102,111,114,101, 32,115,116, 97,114,116,105,110,
+ 103, 32,111,117,116,112,117,116, 10,102,117,110, 99,116,105,
+ 111,110, 32,112,114,101, 95,111,117,116,112,117,116, 95,104,
+ 111,111,107, 40,112, 97, 99,107, 97,103,101, 41, 10, 10,101,
+ 110,100, 10, 10, 45, 45, 32, 99, 97,108,108,101,100, 32, 97,
+ 102,116,101,114, 32,119,114,105,116,105,110,103, 32, 97,108,
+ 108, 32,116,104,101, 32,111,117,116,112,117,116, 46, 10, 45,
+ 45, 32,116, 97,107,101,115, 32,116,104,101, 32, 80, 97, 99,
+ 107, 97,103,101, 32,111, 98,106,101, 99,116, 10,102,117,110,
+ 99,116,105,111,110, 32,112,111,115,116, 95,111,117,116,112,
+ 117,116, 95,104,111,111,107, 40,112, 97, 99,107, 97,103,101,
+ 41, 10, 10,101,110,100, 10, 10, 10, 45, 45, 32, 99, 97,108,
+ 108,101,100, 32,102,114,111,109, 32, 39,103,101,116, 95,112,
+ 114,111,112,101,114,116,121, 95,109,101,116,104,111,100,115,
+ 39, 32,116,111, 32,103,101,116, 32,116,104,101, 32,109,101,
+ 116,104,111,100,115, 32,116,111, 32,114,101,116,114,105,101,
+ 118,101, 32, 97, 32,112,114,111,112,101,114,116,121, 10, 45,
+ 45, 32, 97, 99, 99,111,114,100,105,110,103, 32,116,111, 32,
+ 105,116,115, 32,116,121,112,101, 10,102,117,110, 99,116,105,
+ 111,110, 32,103,101,116, 95,112,114,111,112,101,114,116,121,
+ 95,109,101,116,104,111,100,115, 95,104,111,111,107, 40,112,
+ 114,111,112,101,114,116,121, 95,116,121,112,101, 44, 32,110,
+ 97,109,101, 41, 10, 10,101,110,100, 10, 10, 45, 45, 32, 99,
+ 97,108,108,101,100, 32,102,114,111,109, 32, 67,108, 97,115,
+ 115, 67,111,110,116, 97,105,110,101,114, 58,100,111,112, 97,
+ 114,115,101, 32,119,105,116,104, 32,116,104,101, 32,115,116,
+ 114,105,110,103, 32, 98,101,105,110,103, 32,112, 97,114,115,
+ 101,100, 10, 45, 45, 32,114,101,116,117,114,110, 32,110,105,
+ 108, 44, 32,111,114, 32, 97, 32,115,117, 98,115,116,114,105,
+ 110,103, 10,102,117,110, 99,116,105,111,110, 32,112, 97,114,
+ 115,101,114, 95,104,111,111,107, 40,115, 41, 10, 10, 9,114,
+ 101,116,117,114,110, 32,110,105,108, 10,101,110,100, 10, 10,
+ 45, 45, 32, 99, 97,108,108,101,100, 32,102,114,111,109, 32,
+ 99,108, 97,115,115, 70,117,110, 99,116,105,111,110, 58,115,
+ 117,112, 99,111,100,101, 44, 32, 98,101,102,111,114,101, 32,
+ 116,104,101, 32, 99, 97,108,108, 32,116,111, 32,116,104,101,
+ 32,102,117,110, 99,116,105,111,110, 32,105,115, 32,111,117,
+ 116,112,117,116, 10,102,117,110, 99,116,105,111,110, 32,112,
+ 114,101, 95, 99, 97,108,108, 95,104,111,111,107, 40,102, 41,
+ 10, 10,101,110,100, 10, 10, 45, 45, 32, 99, 97,108,108,101,
+ 100, 32,102,114,111,109, 32, 99,108, 97,115,115, 70,117,110,
+ 99,116,105,111,110, 58,115,117,112, 99,111,100,101, 44, 32,
+ 97,102,116,101,114, 32,116,104,101, 32, 99, 97,108,108, 32,
+ 116,111, 32,116,104,101, 32,102,117,110, 99,116,105,111,110,
+ 32,105,115, 32,111,117,116,112,117,116, 10,102,117,110, 99,
+ 116,105,111,110, 32,112,111,115,116, 95, 99, 97,108,108, 95,
+ 104,111,111,107, 40,102, 41, 10, 10,101,110,100, 10, 10, 45,
+ 45, 32, 99, 97,108,108,101,100, 32, 98,101,102,111,114,101,
+ 32,116,104,101, 32,114,101,103,105,115,116,101,114, 32, 99,
+ 111,100,101, 32,105,115, 32,111,117,116,112,117,116, 10,102,
+ 117,110, 99,116,105,111,110, 32,112,114,101, 95,114,101,103,
+ 105,115,116,101,114, 95,104,111,111,107, 40,112, 97, 99,107,
+ 97,103,101, 41, 10, 10,101,110,100, 10, 10, 45, 45, 32, 99,
+ 97,108,108,101,100, 32,116,111, 32,111,117,116,112,117,116,
+ 32, 97,110, 32,101,114,114,111,114, 32,109,101,115,115, 97,
+ 103,101, 10,102,117,110, 99,116,105,111,110, 32,111,117,116,
+ 112,117,116, 95,101,114,114,111,114, 95,104,111,111,107, 40,
+ 46, 46, 46, 41, 10, 9,114,101,116,117,114,110, 32,115,116,
+ 114,105,110,103, 46,102,111,114,109, 97,116, 40, 46, 46, 46,
+ 41, 10,101,110,100, 10, 10, 45, 45, 32, 99,117,115,116,111,
+ 109, 32,112,117,115,104,101,114,115, 10, 10, 95,112,117,115,
+ 104, 95,102,117,110, 99,116,105,111,110,115, 32, 61, 32,123,
+ 125, 10, 95,105,115, 95,102,117,110, 99,116,105,111,110,115,
+ 32, 61, 32,123,125, 10, 95,116,111, 95,102,117,110, 99,116,
+ 105,111,110,115, 32, 61, 32,123,125, 10, 10, 95, 98, 97,115,
+ 101, 95,112,117,115,104, 95,102,117,110, 99,116,105,111,110,
+ 115, 32, 61, 32,123,125, 10, 95, 98, 97,115,101, 95,105,115,
+ 95,102,117,110, 99,116,105,111,110,115, 32, 61, 32,123,125,
+ 10, 95, 98, 97,115,101, 95,116,111, 95,102,117,110, 99,116,
+ 105,111,110,115, 32, 61, 32,123,125, 10, 10,108,111, 99, 97,
+ 108, 32,102,117,110, 99,116,105,111,110, 32,115,101, 97,114,
+ 99,104, 95, 98, 97,115,101, 40,116, 44, 32,102,117,110, 99,
+ 115, 41, 10, 10, 9,108,111, 99, 97,108, 32, 99,108, 97,115,
+ 115, 32, 61, 32, 95,103,108,111, 98, 97,108, 95, 99,108, 97,
+ 115,115,101,115, 91,116, 93, 10, 10, 9,119,104,105,108,101,
+ 32, 99,108, 97,115,115, 32,100,111, 10, 9, 9,105,102, 32,
+ 102,117,110, 99,115, 91, 99,108, 97,115,115, 46,116,121,112,
+ 101, 93, 32,116,104,101,110, 10, 9, 9, 9,114,101,116,117,
+ 114,110, 32,102,117,110, 99,115, 91, 99,108, 97,115,115, 46,
+ 116,121,112,101, 93, 10, 9, 9,101,110,100, 10, 9, 9, 99,
+ 108, 97,115,115, 32, 61, 32, 95,103,108,111, 98, 97,108, 95,
+ 99,108, 97,115,115,101,115, 91, 99,108, 97,115,115, 46, 98,
+ 116,121,112,101, 93, 10, 9,101,110,100, 10, 9,114,101,116,
+ 117,114,110, 32,110,105,108, 10,101,110,100, 10, 10,102,117,
+ 110, 99,116,105,111,110, 32,103,101,116, 95,112,117,115,104,
+ 95,102,117,110, 99,116,105,111,110, 40,116, 41, 10, 9,114,
+ 101,116,117,114,110, 32, 95,112,117,115,104, 95,102,117,110,
+ 99,116,105,111,110,115, 91,116, 93, 32,111,114, 32,115,101,
+ 97,114, 99,104, 95, 98, 97,115,101, 40,116, 44, 32, 95, 98,
+ 97,115,101, 95,112,117,115,104, 95,102,117,110, 99,116,105,
+ 111,110,115, 41, 32,111,114, 32, 34,116,111,108,117, 97, 95,
+ 112,117,115,104,117,115,101,114,116,121,112,101, 34, 10,101,
+ 110,100, 10, 10,102,117,110, 99,116,105,111,110, 32,103,101,
+ 116, 95,116,111, 95,102,117,110, 99,116,105,111,110, 40,116,
+ 41, 10, 9,114,101,116,117,114,110, 32, 95,116,111, 95,102,
+ 117,110, 99,116,105,111,110,115, 91,116, 93, 32,111,114, 32,
+ 115,101, 97,114, 99,104, 95, 98, 97,115,101, 40,116, 44, 32,
+ 95, 98, 97,115,101, 95,116,111, 95,102,117,110, 99,116,105,
+ 111,110,115, 41, 32,111,114, 32, 34,116,111,108,117, 97, 95,
+ 116,111,117,115,101,114,116,121,112,101, 34, 10,101,110,100,
+ 10, 10,102,117,110, 99,116,105,111,110, 32,103,101,116, 95,
+ 105,115, 95,102,117,110, 99,116,105,111,110, 40,116, 41, 10,
+ 9,114,101,116,117,114,110, 32, 95,105,115, 95,102,117,110,
+ 99,116,105,111,110,115, 91,116, 93, 32,111,114, 32,115,101,
+ 97,114, 99,104, 95, 98, 97,115,101, 40,116, 44, 32, 95, 98,
+ 97,115,101, 95,105,115, 95,102,117,110, 99,116,105,111,110,
+ 115, 41, 32,111,114, 32, 34,116,111,108,117, 97, 95,105,115,
+ 117,115,101,114,116,121,112,101, 34, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/basic.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32, 97, 98,115,116,114,
+ 97, 99,116, 32,102,101, 97,116,117,114,101, 32, 99,108, 97,
+ 115,115, 10, 45, 45, 32, 87,114,105,116,116,101,110, 32, 98,
+ 121, 32, 87, 97,108,100,101,109, 97,114, 32, 67,101,108,101,
+ 115, 10, 45, 45, 32, 84,101, 67, 71,114, 97,102, 47, 80, 85,
+ 67, 45, 82,105,111, 10, 45, 45, 32, 74,117,108, 32, 49, 57,
+ 57, 56, 10, 45, 45, 32, 36, 73,100, 58, 32, 36, 10, 10, 45,
+ 45, 32, 84,104,105,115, 32, 99,111,100,101, 32,105,115, 32,
+ 102,114,101,101, 32,115,111,102,116,119, 97,114,101, 59, 32,
+ 121,111,117, 32, 99, 97,110, 32,114,101,100,105,115,116,114,
+ 105, 98,117,116,101, 32,105,116, 32, 97,110,100, 47,111,114,
+ 32,109,111,100,105,102,121, 32,105,116, 46, 10, 45, 45, 32,
+ 84,104,101, 32,115,111,102,116,119, 97,114,101, 32,112,114,
+ 111,118,105,100,101,100, 32,104,101,114,101,117,110,100,101,
+ 114, 32,105,115, 32,111,110, 32, 97,110, 32, 34, 97,115, 32,
+ 105,115, 34, 32, 98, 97,115,105,115, 44, 32, 97,110,100, 10,
+ 45, 45, 32,116,104,101, 32, 97,117,116,104,111,114, 32,104,
+ 97,115, 32,110,111, 32,111, 98,108,105,103, 97,116,105,111,
+ 110, 32,116,111, 32,112,114,111,118,105,100,101, 32,109, 97,
+ 105,110,116,101,110, 97,110, 99,101, 44, 32,115,117,112,112,
+ 111,114,116, 44, 32,117,112,100, 97,116,101,115, 44, 10, 45,
+ 45, 32,101,110,104, 97,110, 99,101,109,101,110,116,115, 44,
+ 32,111,114, 32,109,111,100,105,102,105, 99, 97,116,105,111,
+ 110,115, 46, 10, 10, 10, 45, 45, 32, 70,101, 97,116,117,114,
+ 101, 32, 99,108, 97,115,115, 10, 45, 45, 32, 82,101,112,114,
+ 101,115,101,110,116,115, 32,116,104,101, 32, 98, 97,115,101,
+ 32, 99,108, 97,115,115, 32,111,102, 32, 97,108,108, 32,109,
+ 97,112,112,101,100, 32,102,101, 97,116,117,114,101, 46, 10,
+ 99,108, 97,115,115, 70,101, 97,116,117,114,101, 32, 61, 32,
+ 123, 10,125, 10, 99,108, 97,115,115, 70,101, 97,116,117,114,
+ 101, 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,
+ 115,115, 70,101, 97,116,117,114,101, 10, 10, 45, 45, 32,119,
+ 114,105,116,101, 32,115,117,112,112,111,114,116, 32, 99,111,
+ 100,101, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,
+ 115,115, 70,101, 97,116,117,114,101, 58,115,117,112, 99,111,
+ 100,101, 32, 40, 41, 10,101,110,100, 10, 10, 45, 45, 32,111,
+ 117,116,112,117,116, 32,116, 97,103, 10,102,117,110, 99,116,
+ 105,111,110, 32, 99,108, 97,115,115, 70,101, 97,116,117,114,
+ 101, 58,100,101, 99,108,116,121,112,101, 32, 40, 41, 10,101,
+ 110,100, 10, 10, 45, 45, 32,114,101,103,105,115,116,101,114,
+ 32,102,101, 97,116,117,114,101, 10,102,117,110, 99,116,105,
+ 111,110, 32, 99,108, 97,115,115, 70,101, 97,116,117,114,101,
+ 58,114,101,103,105,115,116,101,114, 32, 40,112,114,101, 41,
+ 10,101,110,100, 10, 10, 45, 45, 32,116,114, 97,110,115,108,
+ 97,116,101, 32,118,101,114, 98, 97,116,105,109, 10,102,117,
+ 110, 99,116,105,111,110, 32, 99,108, 97,115,115, 70,101, 97,
+ 116,117,114,101, 58,112,114,101, 97,109, 98,108,101, 32, 40,
+ 41, 10,101,110,100, 10, 10, 45, 45, 32, 99,104,101, 99,107,
+ 32,105,102, 32,105,116, 32,105,115, 32, 97, 32,118, 97,114,
+ 105, 97, 98,108,101, 10,102,117,110, 99,116,105,111,110, 32,
+ 99,108, 97,115,115, 70,101, 97,116,117,114,101, 58,105,115,
+ 118, 97,114,105, 97, 98,108,101, 32, 40, 41, 10, 32,114,101,
+ 116,117,114,110, 32,102, 97,108,115,101, 10,101,110,100, 10,
+ 10, 45, 45, 32, 99,104,101, 99,107, 32,105,102, 32,105,116,
+ 32,114,101,113,117,105,114,101,115, 32, 99,111,108,108,101,
+ 99,116,105,111,110, 10,102,117,110, 99,116,105,111,110, 32,
+ 99,108, 97,115,115, 70,101, 97,116,117,114,101, 58,114,101,
+ 113,117,105,114,101, 99,111,108,108,101, 99,116,105,111,110,
+ 32, 40,116, 41, 10, 32,114,101,116,117,114,110, 32,102, 97,
+ 108,115,101, 10,101,110,100, 10, 10, 45, 45, 32, 98,117,105,
+ 108,100, 32,110, 97,109,101,115, 10,102,117,110, 99,116,105,
+ 111,110, 32, 99,108, 97,115,115, 70,101, 97,116,117,114,101,
+ 58, 98,117,105,108,100,110, 97,109,101,115, 32, 40, 41, 10,
+ 32,105,102, 32,115,101,108,102, 46,110, 97,109,101, 32, 97,
+ 110,100, 32,115,101,108,102, 46,110, 97,109,101,126, 61, 39,
+ 39, 32,116,104,101,110, 10, 32, 32,108,111, 99, 97,108, 32,
+ 110, 32, 61, 32,115,112,108,105,116, 40,115,101,108,102, 46,
+ 110, 97,109,101, 44, 39, 64, 39, 41, 10, 32, 32,115,101,108,
+ 102, 46,110, 97,109,101, 32, 61, 32,110, 91, 49, 93, 10, 32,
+ 32,115,101,108,102, 46,110, 97,109,101, 32, 61, 32,115,116,
+ 114,105,110,103, 46,103,115,117, 98, 40,115,101,108,102, 46,
+ 110, 97,109,101, 44, 32, 34, 58, 37,100, 42, 36, 34, 44, 32,
+ 34, 34, 41, 10, 32, 32,105,102, 32,110,111,116, 32,110, 91,
+ 50, 93, 32,116,104,101,110, 10, 32, 32, 32,110, 91, 50, 93,
+ 32, 61, 32, 97,112,112,108,121,114,101,110, 97,109,105,110,
+ 103, 40,110, 91, 49, 93, 41, 10, 32, 32,101,110,100, 10, 32,
+ 32,115,101,108,102, 46,108,110, 97,109,101, 32, 61, 32,110,
+ 91, 50, 93, 32,111,114, 32,103,115,117, 98, 40,110, 91, 49,
+ 93, 44, 34, 37, 91, 46, 45, 37, 93, 34, 44, 34, 34, 41, 10,
+ 32, 32,115,101,108,102, 46,108,110, 97,109,101, 32, 61, 32,
+ 115,116,114,105,110,103, 46,103,115,117, 98, 40,115,101,108,
+ 102, 46,108,110, 97,109,101, 44, 32, 34, 58, 37,100, 42, 36,
+ 34, 44, 32, 34, 34, 41, 10, 32, 32,115,101,108,102, 46,111,
+ 114,105,103,105,110, 97,108, 95,110, 97,109,101, 32, 61, 32,
+ 115,101,108,102, 46,110, 97,109,101, 10, 32, 32,115,101,108,
+ 102, 46,108,110, 97,109,101, 32, 61, 32, 99,108,101, 97,110,
+ 95,116,101,109,112,108, 97,116,101, 40,115,101,108,102, 46,
+ 108,110, 97,109,101, 41, 10, 32,101,110,100, 10, 32,105,102,
+ 32,110,111,116, 32,115,101,108,102, 46,105,115, 95,112, 97,
+ 114, 97,109,101,116,101,114, 32,116,104,101,110, 10, 9, 32,
+ 115,101,108,102, 46,110, 97,109,101, 32, 61, 32,103,101,116,
+ 111,110,108,121,110, 97,109,101,115,112, 97, 99,101, 40, 41,
+ 32, 46, 46, 32,115,101,108,102, 46,110, 97,109,101, 10, 32,
+ 101,110,100, 10, 10, 32,108,111, 99, 97,108, 32,112, 97,114,
+ 101,110,116, 32, 61, 32, 99,108, 97,115,115, 67,111,110,116,
+ 97,105,110,101,114, 46, 99,117,114,114, 10, 32,105,102, 32,
+ 112, 97,114,101,110,116, 32,116,104,101,110, 10, 32, 9,115,
+ 101,108,102, 46, 97, 99, 99,101,115,115, 32, 61, 32,112, 97,
+ 114,101,110,116, 46, 99,117,114,114, 95,109,101,109, 98,101,
+ 114, 95, 97, 99, 99,101,115,115, 10, 9,115,101,108,102, 46,
+ 103,108,111, 98, 97,108, 95, 97, 99, 99,101,115,115, 32, 61,
+ 32,115,101,108,102, 58, 99,104,101, 99,107, 95,112,117, 98,
+ 108,105, 99, 95, 97, 99, 99,101,115,115, 40, 41, 10, 32,101,
+ 108,115,101, 10, 32,101,110,100, 10,101,110,100, 10, 10,102,
+ 117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 70,101,
+ 97,116,117,114,101, 58, 99,104,101, 99,107, 95,112,117, 98,
+ 108,105, 99, 95, 97, 99, 99,101,115,115, 40, 41, 10, 10, 9,
+ 105,102, 32,116,121,112,101, 40,115,101,108,102, 46,103,108,
+ 111, 98, 97,108, 95, 97, 99, 99,101,115,115, 41, 32, 61, 61,
+ 32, 34, 98,111,111,108,101, 97,110, 34, 32,116,104,101,110,
+ 10, 9, 9,114,101,116,117,114,110, 32,115,101,108,102, 46,
+ 103,108,111, 98, 97,108, 95, 97, 99, 99,101,115,115, 10, 9,
+ 101,110,100, 10, 10, 9,105,102, 32,115,101,108,102, 46, 97,
+ 99, 99,101,115,115, 32, 97,110,100, 32,115,101,108,102, 46,
+ 97, 99, 99,101,115,115, 32,126, 61, 32, 48, 32,116,104,101,
+ 110, 10, 9, 9,114,101,116,117,114,110, 32,102, 97,108,115,
+ 101, 10, 9,101,110,100, 10, 10, 9,108,111, 99, 97,108, 32,
+ 112, 97,114,101,110,116, 32, 61, 32, 99,108, 97,115,115, 67,
+ 111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 10, 9,
+ 119,104,105,108,101, 32,112, 97,114,101,110,116, 32,100,111,
+ 10, 9, 9,105,102, 32,112, 97,114,101,110,116, 46, 97, 99,
+ 99,101,115,115, 32, 97,110,100, 32,112, 97,114,101,110,116,
+ 46, 97, 99, 99,101,115,115, 32,126, 61, 32, 48, 32,116,104,
+ 101,110, 10, 9, 9, 9,114,101,116,117,114,110, 32,102, 97,
+ 108,115,101, 10, 9, 9,101,110,100, 10, 9, 9,112, 97,114,
+ 101,110,116, 32, 61, 32,112, 97,114,101,110,116, 46,112,114,
+ 111,120, 10, 9,101,110,100, 10, 9,114,101,116,117,114,110,
+ 32,116,114,117,101, 10,101,110,100, 10, 10,102,117,110, 99,
+ 116,105,111,110, 32, 99,108,101, 97,110, 95,116,101,109,112,
+ 108, 97,116,101, 40,116, 41, 10, 10, 9,114,101,116,117,114,
+ 110, 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,116,
+ 44, 32, 34, 91, 60, 62, 58, 44, 32, 37, 42, 93, 34, 44, 32,
+ 34, 95, 34, 41, 10,101,110,100, 10, 10, 45, 45, 32, 99,104,
+ 101, 99,107, 32,105,102, 32,102,101, 97,116,117,114,101, 32,
+ 105,115, 32,105,110,115,105,100,101, 32, 97, 32, 99,111,110,
+ 116, 97,105,110,101,114, 32,100,101,102,105,110,105,116,105,
+ 111,110, 10, 45, 45, 32,105,116, 32,114,101,116,117,114,110,
+ 115, 32,116,104,101, 32, 99,111,110,116, 97,105,110,101,114,
+ 32, 99,108, 97,115,115, 32,110, 97,109,101, 32,111,114, 32,
+ 110,105,108, 46, 10,102,117,110, 99,116,105,111,110, 32, 99,
+ 108, 97,115,115, 70,101, 97,116,117,114,101, 58,105,110, 99,
+ 111,110,116, 97,105,110,101,114, 32, 40,119,104,105, 99,104,
+ 41, 10, 32,105,102, 32,115,101,108,102, 46,112, 97,114,101,
+ 110,116, 32,116,104,101,110, 10, 32, 32,108,111, 99, 97,108,
+ 32,112, 97,114,101,110,116, 32, 61, 32,115,101,108,102, 46,
+ 112, 97,114,101,110,116, 10, 32, 32,119,104,105,108,101, 32,
+ 112, 97,114,101,110,116, 32,100,111, 10, 32, 32, 32,105,102,
+ 32,112, 97,114,101,110,116, 46, 99,108, 97,115,115,116,121,
+ 112,101, 32, 61, 61, 32,119,104,105, 99,104, 32,116,104,101,
+ 110, 10, 32, 32, 32, 32,114,101,116,117,114,110, 32,112, 97,
+ 114,101,110,116, 46,110, 97,109,101, 10, 32, 32, 32,101,110,
+ 100, 10, 32, 32, 32,112, 97,114,101,110,116, 32, 61, 32,112,
+ 97,114,101,110,116, 46,112, 97,114,101,110,116, 10, 32, 32,
+ 101,110,100, 10, 32,101,110,100, 10, 32,114,101,116,117,114,
+ 110, 32,110,105,108, 10,101,110,100, 10, 10,102,117,110, 99,
+ 116,105,111,110, 32, 99,108, 97,115,115, 70,101, 97,116,117,
+ 114,101, 58,105,110, 99,108, 97,115,115, 32, 40, 41, 10, 32,
+ 114,101,116,117,114,110, 32,115,101,108,102, 58,105,110, 99,
+ 111,110,116, 97,105,110,101,114, 40, 39, 99,108, 97,115,115,
+ 39, 41, 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,
+ 110, 32, 99,108, 97,115,115, 70,101, 97,116,117,114,101, 58,
+ 105,110,109,111,100,117,108,101, 32, 40, 41, 10, 32,114,101,
+ 116,117,114,110, 32,115,101,108,102, 58,105,110, 99,111,110,
+ 116, 97,105,110,101,114, 40, 39,109,111,100,117,108,101, 39,
+ 41, 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,110,
+ 32, 99,108, 97,115,115, 70,101, 97,116,117,114,101, 58,105,
+ 110,110, 97,109,101,115,112, 97, 99,101, 32, 40, 41, 10, 32,
+ 114,101,116,117,114,110, 32,115,101,108,102, 58,105,110, 99,
+ 111,110,116, 97,105,110,101,114, 40, 39,110, 97,109,101,115,
+ 112, 97, 99,101, 39, 41, 10,101,110,100, 10, 10, 45, 45, 32,
+ 114,101,116,117,114,110, 32, 67, 32, 98,105,110,100,105,110,
+ 103, 32,102,117,110, 99,116,105,111,110, 32,110, 97,109,101,
+ 32, 98, 97,115,101,100, 32,111,110, 32,110, 97,109,101, 10,
+ 45, 45, 32,116,104,101, 32, 99,108,105,101,110,116, 32,115,
+ 112,101, 99,105,102,105,101,115, 32, 97, 32,112,114,101,102,
+ 105,120, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,
+ 115,115, 70,101, 97,116,117,114,101, 58, 99,102,117,110, 99,
+ 110, 97,109,101, 32, 40,110, 41, 10, 10, 32,105,102, 32,115,
+ 101,108,102, 46,112, 97,114,101,110,116, 32,116,104,101,110,
+ 10, 32, 32,110, 32, 61, 32,115,101,108,102, 46,112, 97,114,
+ 101,110,116, 58, 99,102,117,110, 99,110, 97,109,101, 40,110,
+ 41, 10, 32,101,110,100, 10, 10, 32,108,111, 99, 97,108, 32,
+ 102,110, 97,109,101, 32, 61, 32,115,101,108,102, 46,108,110,
+ 97,109,101, 10, 32,105,102, 32,110,111,116, 32,102,110, 97,
+ 109,101, 32,111,114, 32,102,110, 97,109,101, 32, 61, 61, 32,
+ 39, 39, 32,116,104,101,110, 10, 32, 9,102,110, 97,109,101,
+ 32, 61, 32,115,101,108,102, 46,110, 97,109,101, 10, 32,101,
+ 110,100, 10, 32, 32,110, 32, 61, 32,115,116,114,105,110,103,
+ 46,103,115,117, 98, 40,110, 46, 46, 39, 95, 39, 46, 46, 32,
+ 40,102,110, 97,109,101, 41, 44, 32, 34, 91, 60, 62, 58, 44,
+ 32, 92, 46, 37, 42, 38, 93, 34, 44, 32, 34, 95, 34, 41, 10,
+ 10, 32, 32,114,101,116,117,114,110, 32,110, 10,101,110,100,
+ 32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/feature.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32,118,101,114, 98, 97,
+ 116,105,109, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,
+ 105,116,116,101,110, 32, 98,121, 32, 87, 97,108,100,101,109,
+ 97,114, 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67,
+ 71,114, 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45,
+ 32, 74,117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,
+ 100, 58, 32,118,101,114, 98, 97,116,105,109, 46,108,117, 97,
+ 44,118, 32, 49, 46, 51, 32, 50, 48, 48, 48, 47, 48, 49, 47,
+ 50, 52, 32, 50, 48, 58, 52, 49, 58, 49, 54, 32, 99,101,108,
+ 101,115, 32, 69,120,112, 32, 36, 10, 10, 45, 45, 32, 84,104,
+ 105,115, 32, 99,111,100,101, 32,105,115, 32,102,114,101,101,
+ 32,115,111,102,116,119, 97,114,101, 59, 32,121,111,117, 32,
+ 99, 97,110, 32,114,101,100,105,115,116,114,105, 98,117,116,
+ 101, 32,105,116, 32, 97,110,100, 47,111,114, 32,109,111,100,
+ 105,102,121, 32,105,116, 46, 10, 45, 45, 32, 84,104,101, 32,
+ 115,111,102,116,119, 97,114,101, 32,112,114,111,118,105,100,
+ 101,100, 32,104,101,114,101,117,110,100,101,114, 32,105,115,
+ 32,111,110, 32, 97,110, 32, 34, 97,115, 32,105,115, 34, 32,
+ 98, 97,115,105,115, 44, 32, 97,110,100, 10, 45, 45, 32,116,
+ 104,101, 32, 97,117,116,104,111,114, 32,104, 97,115, 32,110,
+ 111, 32,111, 98,108,105,103, 97,116,105,111,110, 32,116,111,
+ 32,112,114,111,118,105,100,101, 32,109, 97,105,110,116,101,
+ 110, 97,110, 99,101, 44, 32,115,117,112,112,111,114,116, 44,
+ 32,117,112,100, 97,116,101,115, 44, 10, 45, 45, 32,101,110,
+ 104, 97,110, 99,101,109,101,110,116,115, 44, 32,111,114, 32,
+ 109,111,100,105,102,105, 99, 97,116,105,111,110,115, 46, 10,
+ 10, 10, 10, 45, 45, 32, 86,101,114, 98, 97,116,105,109, 32,
+ 99,108, 97,115,115, 10, 45, 45, 32, 82,101,112,114,101,115,
+ 101,110,116,115, 32, 97, 32,108,105,110,101, 32,116,114, 97,
+ 110,115,108, 97,116,101,100, 32,100,105,114,101, 99,116,101,
+ 100, 32,116,111, 32,116,104,101, 32, 98,105,110,100,105,110,
+ 103, 32,102,105,108,101, 46, 10, 45, 45, 32, 84,104,101, 32,
+ 102,111,108,108,111,119,105,110,103, 32,102,105,108,100,115,
+ 32, 97,114,101, 32,115,116,111,114,101,100, 58, 10, 45, 45,
+ 32, 32, 32,108,105,110,101, 32, 61, 32,108,105,110,101, 32,
+ 116,101,120,116, 10, 99,108, 97,115,115, 86,101,114, 98, 97,
+ 116,105,109, 32, 61, 32,123, 10, 32,108,105,110,101, 32, 61,
+ 32, 39, 39, 44, 10, 9, 99,111,110,100, 32, 61, 32,110,105,
+ 108, 44, 32, 32, 32, 32, 45, 45, 32, 99,111,110,100,105,116,
+ 105,111,110, 58, 32,119,104,101,114,101, 32,116,111, 32,103,
+ 101,110,101,114, 97,116,101, 32,116,104,101, 32, 99,111,100,
+ 101, 32, 40,115, 61,115,117,112,111,114,116, 44, 32,114, 61,
+ 114,101,103,105,115,116,101,114, 41, 10,125, 10, 99,108, 97,
+ 115,115, 86,101,114, 98, 97,116,105,109, 46, 95, 95,105,110,
+ 100,101,120, 32, 61, 32, 99,108, 97,115,115, 86,101,114, 98,
+ 97,116,105,109, 10,115,101,116,109,101,116, 97,116, 97, 98,
+ 108,101, 40, 99,108, 97,115,115, 86,101,114, 98, 97,116,105,
+ 109, 44, 99,108, 97,115,115, 70,101, 97,116,117,114,101, 41,
+ 10, 10, 45, 45, 32,112,114,101, 97,109, 98,108,101, 32,118,
+ 101,114, 98, 97,116,105,109, 10,102,117,110, 99,116,105,111,
+ 110, 32, 99,108, 97,115,115, 86,101,114, 98, 97,116,105,109,
+ 58,112,114,101, 97,109, 98,108,101, 32, 40, 41, 10, 32,105,
+ 102, 32,115,101,108,102, 46, 99,111,110,100, 32, 61, 61, 32,
+ 39, 39, 32,116,104,101,110, 10, 32, 32,119,114,105,116,101,
+ 40,115,101,108,102, 46,108,105,110,101, 41, 10, 32,101,110,
+ 100, 10,101,110,100, 10, 10, 45, 45, 32,115,117,112,112,111,
+ 114,116, 32, 99,111,100,101, 10,102,117,110, 99,116,105,111,
+ 110, 32, 99,108, 97,115,115, 86,101,114, 98, 97,116,105,109,
+ 58,115,117,112, 99,111,100,101, 32, 40, 41, 10, 32,105,102,
+ 32,115,116,114,102,105,110,100, 40,115,101,108,102, 46, 99,
+ 111,110,100, 44, 39,115, 39, 41, 32,116,104,101,110, 10, 32,
+ 32,119,114,105,116,101, 40,115,101,108,102, 46,108,105,110,
+ 101, 41, 10, 32, 32,119,114,105,116,101, 40, 39, 92,110, 39,
+ 41, 10, 32,101,110,100, 10,101,110,100, 10, 10, 45, 45, 32,
+ 114,101,103,105,115,116,101,114, 32, 99,111,100,101, 10,102,
+ 117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 86,101,
+ 114, 98, 97,116,105,109, 58,114,101,103,105,115,116,101,114,
+ 32, 40,112,114,101, 41, 10, 32,105,102, 32,115,116,114,102,
+ 105,110,100, 40,115,101,108,102, 46, 99,111,110,100, 44, 39,
+ 114, 39, 41, 32,116,104,101,110, 10, 32, 32,119,114,105,116,
+ 101, 40,115,101,108,102, 46,108,105,110,101, 41, 10, 32,101,
+ 110,100, 10,101,110,100, 10, 10, 10, 45, 45, 32, 80,114,105,
+ 110,116, 32,109,101,116,104,111,100, 10,102,117,110, 99,116,
+ 105,111,110, 32, 99,108, 97,115,115, 86,101,114, 98, 97,116,
+ 105,109, 58,112,114,105,110,116, 32, 40,105,100,101,110,116,
+ 44, 99,108,111,115,101, 41, 10, 32,112,114,105,110,116, 40,
+ 105,100,101,110,116, 46, 46, 34, 86,101,114, 98, 97,116,105,
+ 109,123, 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,
+ 110,116, 46, 46, 34, 32,108,105,110,101, 32, 61, 32, 39, 34,
+ 46, 46,115,101,108,102, 46,108,105,110,101, 46, 46, 34, 39,
+ 44, 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,
+ 116, 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,
+ 101,110,100, 10, 10, 10, 45, 45, 32, 73,110,116,101,114,110,
+ 97,108, 32, 99,111,110,115,116,114,117, 99,116,111,114, 10,
+ 102,117,110, 99,116,105,111,110, 32, 95, 86,101,114, 98, 97,
+ 116,105,109, 32, 40,116, 41, 10, 32,115,101,116,109,101,116,
+ 97,116, 97, 98,108,101, 40,116, 44, 99,108, 97,115,115, 86,
+ 101,114, 98, 97,116,105,109, 41, 10, 32, 97,112,112,101,110,
+ 100, 40,116, 41, 10, 32,114,101,116,117,114,110, 32,116, 10,
+ 101,110,100, 10, 10, 45, 45, 32, 67,111,110,115,116,114,117,
+ 99,116,111,114, 10, 45, 45, 32, 69,120,112,101, 99,116,115,
+ 32, 97, 32,115,116,114,105,110,103, 32,114,101,112,114,101,
+ 115,101,110,116,105,110,103, 32,116,104,101, 32,116,101,120,
+ 116, 32,108,105,110,101, 10,102,117,110, 99,116,105,111,110,
+ 32, 86,101,114, 98, 97,116,105,109, 32, 40,108, 44, 99,111,
+ 110,100, 41, 10, 32,105,102, 32,115,116,114,115,117, 98, 40,
+ 108, 44, 49, 44, 49, 41, 32, 61, 61, 32, 34, 39, 34, 32,116,
+ 104,101,110, 10, 32, 32,108, 32, 61, 32,115,116,114,115,117,
+ 98, 40,108, 44, 50, 41, 10, 32,101,108,115,101,105,102, 32,
+ 115,116,114,115,117, 98, 40,108, 44, 49, 44, 49, 41, 32, 61,
+ 61, 32, 39, 36, 39, 32,116,104,101,110, 10, 32, 32, 99,111,
+ 110,100, 32, 61, 32, 39,115,114, 39, 32, 32, 32, 32, 32, 32,
+ 32, 45, 45, 32,103,101,110,101,114, 97,116,101,115, 32,105,
+ 110, 32, 98,111,116,104, 32,115,117,112,111,114,116, 32, 97,
+ 110,100, 32,114,101,103,105,115,116,101,114, 32,102,114, 97,
+ 103,109,101,110,116,115, 10, 32, 32,108, 32, 61, 32,115,116,
+ 114,115,117, 98, 40,108, 44, 50, 41, 10, 32,101,110,100, 10,
+ 32,114,101,116,117,114,110, 32, 95, 86,101,114, 98, 97,116,
+ 105,109, 32,123, 10, 32, 32,108,105,110,101, 32, 61, 32,108,
+ 44, 10, 32, 32, 99,111,110,100, 32, 61, 32, 99,111,110,100,
+ 32,111,114, 32, 39, 39, 44, 10, 32,125, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/verbatim.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32, 99,111,100,101, 32,
+ 99,108, 97,115,115, 10, 45, 45, 32, 87,114,105,116,116,101,
+ 110, 32, 98,121, 32, 87, 97,108,100,101,109, 97,114, 32, 67,
+ 101,108,101,115, 10, 45, 45, 32, 84,101, 67, 71,114, 97,102,
+ 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45, 32, 74,117,108,
+ 32, 49, 57, 57, 57, 10, 45, 45, 32, 36, 73,100, 58, 32, 36,
+ 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,111,100,101, 32,
+ 105,115, 32,102,114,101,101, 32,115,111,102,116,119, 97,114,
+ 101, 59, 32,121,111,117, 32, 99, 97,110, 32,114,101,100,105,
+ 115,116,114,105, 98,117,116,101, 32,105,116, 32, 97,110,100,
+ 47,111,114, 32,109,111,100,105,102,121, 32,105,116, 46, 10,
+ 45, 45, 32, 84,104,101, 32,115,111,102,116,119, 97,114,101,
+ 32,112,114,111,118,105,100,101,100, 32,104,101,114,101,117,
+ 110,100,101,114, 32,105,115, 32,111,110, 32, 97,110, 32, 34,
+ 97,115, 32,105,115, 34, 32, 98, 97,115,105,115, 44, 32, 97,
+ 110,100, 10, 45, 45, 32,116,104,101, 32, 97,117,116,104,111,
+ 114, 32,104, 97,115, 32,110,111, 32,111, 98,108,105,103, 97,
+ 116,105,111,110, 32,116,111, 32,112,114,111,118,105,100,101,
+ 32,109, 97,105,110,116,101,110, 97,110, 99,101, 44, 32,115,
+ 117,112,112,111,114,116, 44, 32,117,112,100, 97,116,101,115,
+ 44, 10, 45, 45, 32,101,110,104, 97,110, 99,101,109,101,110,
+ 116,115, 44, 32,111,114, 32,109,111,100,105,102,105, 99, 97,
+ 116,105,111,110,115, 46, 10, 10, 45, 45, 32,103,108,111, 98,
+ 97,108, 10, 99,111,100,101, 95,110, 32, 61, 32, 49, 10, 10,
+ 45, 45, 32, 67,111,100,101, 32, 99,108, 97,115,115, 10, 45,
+ 45, 32, 82,101,112,114,101,115,101,110,116,115, 32, 76,117,
+ 97, 32, 99,111,100,101, 32,116,111, 32, 98,101, 32, 99,111,
+ 109,112,105,108,101,100, 32, 97,110,100, 32,105,110, 99,108,
+ 117,100,101,100, 10, 45, 45, 32,105,110, 32,116,104,101, 32,
+ 105,110,105,116,105, 97,108,105,122, 97,116,105,111,110, 32,
+ 102,117,110, 99,116,105,111,110, 46, 10, 45, 45, 32, 84,104,
+ 101, 32,102,111,108,108,111,119,105,110,103, 32,102,105,101,
+ 108,100,115, 32, 97,114,101, 32,115,116,111,114,101,100, 58,
+ 10, 45, 45, 32, 32, 32,116,101,120,116, 32, 61, 32,116,101,
+ 120,116, 32, 99,111,100,101, 10, 99,108, 97,115,115, 67,111,
+ 100,101, 32, 61, 32,123, 10, 32,116,101,120,116, 32, 61, 32,
+ 39, 39, 44, 10,125, 10, 99,108, 97,115,115, 67,111,100,101,
+ 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,115,
+ 115, 67,111,100,101, 10,115,101,116,109,101,116, 97,116, 97,
+ 98,108,101, 40, 99,108, 97,115,115, 67,111,100,101, 44, 99,
+ 108, 97,115,115, 70,101, 97,116,117,114,101, 41, 10, 10, 45,
+ 45, 32,114,101,103,105,115,116,101,114, 32, 99,111,100,101,
+ 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115,
+ 67,111,100,101, 58,114,101,103,105,115,116,101,114, 32, 40,
+ 112,114,101, 41, 10, 32,112,114,101, 32, 61, 32,112,114,101,
+ 32,111,114, 32, 39, 39, 10, 32, 45, 45, 32, 99,108,101, 97,
+ 110, 32, 76,117, 97, 32, 99,111,100,101, 10, 32,108,111, 99,
+ 97,108, 32,115, 32, 61, 32, 99,108,101, 97,110, 40,115,101,
+ 108,102, 46,116,101,120,116, 41, 10, 32,105,102, 32,110,111,
+ 116, 32,115, 32,116,104,101,110, 10, 32, 32, 45, 45,112,114,
+ 105,110,116, 40,115,101,108,102, 46,116,101,120,116, 41, 10,
+ 32, 32,101,114,114,111,114, 40, 34,112, 97,114,115,101,114,
+ 32,101,114,114,111,114, 32,105,110, 32,101,109, 98,101,100,
+ 100,101,100, 32, 99,111,100,101, 34, 41, 10, 32,101,110,100,
+ 10, 10, 32, 45, 45, 32,103,101,116, 32,102,105,114,115,116,
+ 32,108,105,110,101, 10, 32,108,111, 99, 97,108, 32, 95, 44,
+ 32, 95, 44, 32,102,105,114,115,116, 95,108,105,110,101, 61,
+ 115,116,114,105,110,103, 46,102,105,110,100, 40,115,101,108,
+ 102, 46,116,101,120,116, 44, 32, 34, 94, 40, 91, 94, 92,110,
+ 92,114, 93, 42, 41, 34, 41, 10, 32,105,102, 32,115,116,114,
+ 105,110,103, 46,102,105,110,100, 40,102,105,114,115,116, 95,
+ 108,105,110,101, 44, 32, 34, 94, 37,115, 42, 37, 45, 37, 45,
+ 34, 41, 32,116,104,101,110, 10, 9, 32,105,102, 32,115,116,
+ 114,105,110,103, 46,102,105,110,100, 40,102,105,114,115,116,
+ 95,108,105,110,101, 44, 32, 34, 94, 37, 45, 37, 45, 35, 35,
+ 34, 41, 32,116,104,101,110, 10, 9, 9,102,105,114,115,116,
+ 95,108,105,110,101, 32, 61, 32,115,116,114,105,110,103, 46,
+ 103,115,117, 98, 40,102,105,114,115,116, 95,108,105,110,101,
+ 44, 32, 34, 94, 37, 45, 37, 45, 35, 35, 34, 44, 32, 34, 34,
+ 41, 10, 9, 9,105,102, 32,102,108, 97,103,115, 91, 39, 67,
+ 39, 93, 32,116,104,101,110, 10, 9, 9, 9,115, 32, 61, 32,
+ 115,116,114,105,110,103, 46,103,115,117, 98, 40,115, 44, 32,
+ 34, 94, 37, 45, 37, 45, 35, 35, 91, 94, 92,110, 92,114, 93,
+ 42, 92,110, 34, 44, 32, 34, 34, 41, 10, 9, 9,101,110,100,
+ 10, 9, 32,101,110,100, 10, 32,101,108,115,101, 10, 32, 9,
+ 102,105,114,115,116, 95,108,105,110,101, 32, 61, 32, 34, 34,
+ 10, 32,101,110,100, 10, 10, 32, 45, 45, 32,112, 97,100, 32,
+ 116,111, 32, 49, 54, 32, 98,121,116,101,115, 10, 32,108,111,
+ 99, 97,108, 32,110,112, 97,100, 32, 61, 32, 49, 54, 32, 45,
+ 32, 40, 35,115, 32, 37, 32, 49, 54, 41, 10, 32,108,111, 99,
+ 97,108, 32,115,112, 97,100, 32, 61, 32, 34, 34, 10, 32,102,
+ 111,114, 32,105, 61, 49, 44,110,112, 97,100, 32,100,111, 10,
+ 32, 9,115,112, 97,100, 32, 61, 32,115,112, 97,100, 32, 46,
+ 46, 32, 34, 45, 34, 10, 32,101,110,100, 10, 32,115, 32, 61,
+ 32,115, 46, 46,115,112, 97,100, 10, 32, 10, 32, 45, 45, 32,
+ 99,111,110,118,101,114,116, 32,116,111, 32, 67, 10, 32,111,
+ 117,116,112,117,116, 40, 39, 92,110, 39, 46, 46,112,114,101,
+ 46, 46, 39,123, 32, 47, 42, 32, 98,101,103,105,110, 32,101,
+ 109, 98,101,100,100,101,100, 32,108,117, 97, 32, 99,111,100,
+ 101, 32, 42, 47, 92,110, 39, 41, 10, 32,111,117,116,112,117,
+ 116, 40,112,114,101, 46, 46, 39, 32,105,110,116, 32,116,111,
+ 112, 32, 61, 32,108,117, 97, 95,103,101,116,116,111,112, 40,
+ 116,111,108,117, 97, 95, 83, 41, 59, 39, 41, 10, 32,111,117,
+ 116,112,117,116, 40,112,114,101, 46, 46, 39, 32,115,116, 97,
+ 116,105, 99, 32, 99,111,110,115,116, 32,117,110,115,105,103,
+ 110,101,100, 32, 99,104, 97,114, 32, 66, 91, 93, 32, 61, 32,
+ 123, 92,110, 32, 32, 32, 39, 41, 10, 32,108,111, 99, 97,108,
+ 32,116, 61,123,110, 61, 48,125, 10, 10, 32,108,111, 99, 97,
+ 108, 32, 98, 32, 61, 32,103,115,117, 98, 40,115, 44, 39, 40,
+ 46, 41, 39, 44,102,117,110, 99,116,105,111,110, 32, 40, 99,
+ 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99,
+ 97,108, 32,101, 32, 61, 32, 39, 39, 10, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32,116, 46,110, 61,116, 46,110, 43, 49, 32,
+ 105,102, 32,116, 46,110, 61, 61, 49, 53, 32,116,104,101,110,
+ 32,116, 46,110, 61, 48, 32,101, 61, 39, 92,110, 39, 46, 46,
+ 112,114,101, 46, 46, 39, 32, 32, 39, 32,101,110,100, 10, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32,114,101,116,117,114,110,
+ 32,102,111,114,109, 97,116, 40, 39, 37, 51,117, 44, 37,115,
+ 39, 44,115,116,114, 98,121,116,101, 40, 99, 41, 44,101, 41,
+ 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 41,
+ 10, 32,111,117,116,112,117,116, 40, 98, 46, 46,115,116,114,
+ 98,121,116,101, 40, 34, 32, 34, 41, 41, 10, 32,111,117,116,
+ 112,117,116, 40, 39, 92,110, 39, 46, 46,112,114,101, 46, 46,
+ 39, 32,125, 59, 92,110, 39, 41, 10, 32,105,102, 32,102,105,
+ 114,115,116, 95,108,105,110,101, 32, 97,110,100, 32,102,105,
+ 114,115,116, 95,108,105,110,101, 32,126, 61, 32, 34, 34, 32,
+ 116,104,101,110, 10, 32, 9,111,117,116,112,117,116, 40,112,
+ 114,101, 46, 46, 39, 32,116,111,108,117, 97, 95,100,111, 98,
+ 117,102,102,101,114, 40,116,111,108,117, 97, 95, 83, 44, 40,
+ 99,104, 97,114, 42, 41, 66, 44,115,105,122,101,111,102, 40,
+ 66, 41, 44, 34,116,111,108,117, 97, 32,101,109, 98,101,100,
+ 100,101,100, 58, 32, 39, 46, 46,102,105,114,115,116, 95,108,
+ 105,110,101, 46, 46, 39, 34, 41, 59, 39, 41, 10, 32,101,108,
+ 115,101, 10, 32, 9,111,117,116,112,117,116, 40,112,114,101,
+ 46, 46, 39, 32,116,111,108,117, 97, 95,100,111, 98,117,102,
+ 102,101,114, 40,116,111,108,117, 97, 95, 83, 44, 40, 99,104,
+ 97,114, 42, 41, 66, 44,115,105,122,101,111,102, 40, 66, 41,
+ 44, 34,116,111,108,117, 97, 58, 32,101,109, 98,101,100,100,
+ 101,100, 32, 76,117, 97, 32, 99,111,100,101, 32, 39, 46, 46,
+ 99,111,100,101, 95,110, 46, 46, 39, 34, 41, 59, 39, 41, 10,
+ 32,101,110,100, 10, 32,111,117,116,112,117,116, 40,112,114,
+ 101, 46, 46, 39, 32,108,117, 97, 95,115,101,116,116,111,112,
+ 40,116,111,108,117, 97, 95, 83, 44, 32,116,111,112, 41, 59,
+ 39, 41, 10, 32,111,117,116,112,117,116, 40,112,114,101, 46,
+ 46, 39,125, 32, 47, 42, 32,101,110,100, 32,111,102, 32,101,
+ 109, 98,101,100,100,101,100, 32,108,117, 97, 32, 99,111,100,
+ 101, 32, 42, 47, 92,110, 92,110, 39, 41, 10, 32, 99,111,100,
+ 101, 95,110, 32, 61, 32, 99,111,100,101, 95,110, 32, 43, 49,
+ 10,101,110,100, 10, 10, 10, 45, 45, 32, 80,114,105,110,116,
+ 32,109,101,116,104,111,100, 10,102,117,110, 99,116,105,111,
+ 110, 32, 99,108, 97,115,115, 67,111,100,101, 58,112,114,105,
+ 110,116, 32, 40,105,100,101,110,116, 44, 99,108,111,115,101,
+ 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46,
+ 46, 34, 67,111,100,101,123, 34, 41, 10, 32,112,114,105,110,
+ 116, 40,105,100,101,110,116, 46, 46, 34, 32,116,101,120,116,
+ 32, 61, 32, 91, 91, 34, 46, 46,115,101,108,102, 46,116,101,
+ 120,116, 46, 46, 34, 93, 93, 44, 34, 41, 10, 32,112,114,105,
+ 110,116, 40,105,100,101,110,116, 46, 46, 34,125, 34, 46, 46,
+ 99,108,111,115,101, 41, 10,101,110,100, 10, 10, 10, 45, 45,
+ 32, 73,110,116,101,114,110, 97,108, 32, 99,111,110,115,116,
+ 114,117, 99,116,111,114, 10,102,117,110, 99,116,105,111,110,
+ 32, 95, 67,111,100,101, 32, 40,116, 41, 10, 32,115,101,116,
+ 109,101,116, 97,116, 97, 98,108,101, 40,116, 44, 99,108, 97,
+ 115,115, 67,111,100,101, 41, 10, 32, 97,112,112,101,110,100,
+ 40,116, 41, 10, 32,114,101,116,117,114,110, 32,116, 10,101,
+ 110,100, 10, 10, 45, 45, 32, 67,111,110,115,116,114,117, 99,
+ 116,111,114, 10, 45, 45, 32, 69,120,112,101, 99,116,115, 32,
+ 97, 32,115,116,114,105,110,103, 32,114,101,112,114,101,115,
+ 101,110,116,105,110,103, 32,116,104,101, 32, 99,111,100,101,
+ 32,116,101,120,116, 10,102,117,110, 99,116,105,111,110, 32,
+ 67,111,100,101, 32, 40,108, 41, 10, 32,114,101,116,117,114,
+ 110, 32, 95, 67,111,100,101, 32,123, 10, 32, 32,116,101,120,
+ 116, 32, 61, 32,108, 10, 32,125, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/code.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32,116,121,112,101,100,
+ 101,102, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,105,
+ 116,116,101,110, 32, 98,121, 32, 87, 97,108,100,101,109, 97,
+ 114, 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67, 71,
+ 114, 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45, 32,
+ 74,117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,100,
+ 58, 32, 36, 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,111,
+ 100,101, 32,105,115, 32,102,114,101,101, 32,115,111,102,116,
+ 119, 97,114,101, 59, 32,121,111,117, 32, 99, 97,110, 32,114,
+ 101,100,105,115,116,114,105, 98,117,116,101, 32,105,116, 32,
+ 97,110,100, 47,111,114, 32,109,111,100,105,102,121, 32,105,
+ 116, 46, 10, 45, 45, 32, 84,104,101, 32,115,111,102,116,119,
+ 97,114,101, 32,112,114,111,118,105,100,101,100, 32,104,101,
+ 114,101,117,110,100,101,114, 32,105,115, 32,111,110, 32, 97,
+ 110, 32, 34, 97,115, 32,105,115, 34, 32, 98, 97,115,105,115,
+ 44, 32, 97,110,100, 10, 45, 45, 32,116,104,101, 32, 97,117,
+ 116,104,111,114, 32,104, 97,115, 32,110,111, 32,111, 98,108,
+ 105,103, 97,116,105,111,110, 32,116,111, 32,112,114,111,118,
+ 105,100,101, 32,109, 97,105,110,116,101,110, 97,110, 99,101,
+ 44, 32,115,117,112,112,111,114,116, 44, 32,117,112,100, 97,
+ 116,101,115, 44, 10, 45, 45, 32,101,110,104, 97,110, 99,101,
+ 109,101,110,116,115, 44, 32,111,114, 32,109,111,100,105,102,
+ 105, 99, 97,116,105,111,110,115, 46, 10, 10, 10, 10, 45, 45,
+ 32, 84,121,112,101,100,101,102, 32, 99,108, 97,115,115, 10,
+ 45, 45, 32, 82,101,112,114,101,115,101,110,116,115, 32, 97,
+ 32,116,121,112,101, 32,115,121,110,111,110,121,109, 46, 10,
+ 45, 45, 32, 84,104,101, 32, 39,100,101, 32,102, 97, 99,116,
+ 111, 39, 32,116,121,112,101, 32,114,101,112,108, 97, 99,101,
+ 115, 32,116,104,101, 32,116,121,112,101,100,101,102, 32, 98,
+ 101,102,111,114,101, 32,116,104,101, 10, 45, 45, 32,114,101,
+ 109, 97,105,110,105,110,103, 32, 99,111,100,101, 32,105,115,
+ 32,112, 97,114,115,101,100, 46, 10, 45, 45, 32, 84,104,101,
+ 32,102,111,108,108,111,119,105,110,103, 32,102,105,101,108,
+ 100,115, 32, 97,114,101, 32,115,116,111,114,101,100, 58, 10,
+ 45, 45, 32, 32, 32,117,116,121,112,101, 32, 61, 32,116,121,
+ 112,101,100,101,102, 32,110, 97,109,101, 10, 45, 45, 32, 32,
+ 32,116,121,112,101, 32, 61, 32, 39,116,104,101, 32,102, 97,
+ 99,116,111, 39, 32,116,121,112,101, 10, 45, 45, 32, 32, 32,
+ 109,111,100, 32, 61, 32,109,111,100,105,102,105,101,114,115,
+ 32,116,111, 32,116,104,101, 32, 39,100,101, 32,102, 97, 99,
+ 116,111, 39, 32,116,121,112,101, 10, 99,108, 97,115,115, 84,
+ 121,112,101,100,101,102, 32, 61, 32,123, 10, 32,117,116,121,
+ 112,101, 32, 61, 32, 39, 39, 44, 10, 32,109,111,100, 32, 61,
+ 32, 39, 39, 44, 10, 32,116,121,112,101, 32, 61, 32, 39, 39,
+ 10,125, 10, 99,108, 97,115,115, 84,121,112,101,100,101,102,
+ 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,115,
+ 115, 84,121,112,101,100,101,102, 10, 10, 45, 45, 32, 80,114,
+ 105,110,116, 32,109,101,116,104,111,100, 10,102,117,110, 99,
+ 116,105,111,110, 32, 99,108, 97,115,115, 84,121,112,101,100,
+ 101,102, 58,112,114,105,110,116, 32, 40,105,100,101,110,116,
+ 44, 99,108,111,115,101, 41, 10, 32,112,114,105,110,116, 40,
+ 105,100,101,110,116, 46, 46, 34, 84,121,112,101,100,101,102,
+ 123, 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,
+ 116, 46, 46, 34, 32,117,116,121,112,101, 32, 61, 32, 39, 34,
+ 46, 46,115,101,108,102, 46,117,116,121,112,101, 46, 46, 34,
+ 39, 44, 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,
+ 110,116, 46, 46, 34, 32,109,111,100, 32, 61, 32, 39, 34, 46,
+ 46,115,101,108,102, 46,109,111,100, 46, 46, 34, 39, 44, 34,
+ 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46,
+ 46, 34, 32,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,115,
+ 101,108,102, 46,116,121,112,101, 46, 46, 34, 39, 44, 34, 41,
+ 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46,
+ 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100,
+ 10, 10, 45, 45, 32, 82,101,116,117,114,110, 32,105,116, 39,
+ 115, 32,110,111,116, 32, 97, 32,118, 97,114,105, 97, 98,108,
+ 101, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,
+ 115, 84,121,112,101,100,101,102, 58,105,115,118, 97,114,105,
+ 97, 98,108,101, 32, 40, 41, 10, 32,114,101,116,117,114,110,
+ 32,102, 97,108,115,101, 10,101,110,100, 10, 10, 45, 45, 32,
+ 73,110,116,101,114,110, 97,108, 32, 99,111,110,115,116,114,
+ 117, 99,116,111,114, 10,102,117,110, 99,116,105,111,110, 32,
+ 95, 84,121,112,101,100,101,102, 32, 40,116, 41, 10, 32,115,
+ 101,116,109,101,116, 97,116, 97, 98,108,101, 40,116, 44, 99,
+ 108, 97,115,115, 84,121,112,101,100,101,102, 41, 10, 32,116,
+ 46,116,121,112,101, 32, 61, 32,114,101,115,111,108,118,101,
+ 95,116,101,109,112,108, 97,116,101, 95,116,121,112,101,115,
+ 40,116, 46,116,121,112,101, 41, 10, 32, 97,112,112,101,110,
+ 100,116,121,112,101,100,101,102, 40,116, 41, 10, 32,114,101,
+ 116,117,114,110, 32,116, 10,101,110,100, 10, 10, 45, 45, 32,
+ 67,111,110,115,116,114,117, 99,116,111,114, 10, 45, 45, 32,
+ 69,120,112,101, 99,116,115, 32,111,110,101, 32,115,116,114,
+ 105,110,103, 32,114,101,112,114,101,115,101,110,116,105,110,
+ 103, 32,116,104,101, 32,116,121,112,101, 32,100,101,102,105,
+ 110,105,116,105,111,110, 46, 10,102,117,110, 99,116,105,111,
+ 110, 32, 84,121,112,101,100,101,102, 32, 40,115, 41, 10, 32,
+ 105,102, 32,115,116,114,102,105,110,100, 40,115,116,114,105,
+ 110,103, 46,103,115,117, 98, 40,115, 44, 32, 39, 37, 98, 60,
+ 62, 39, 44, 32, 39, 39, 41, 44, 39, 91, 37, 42, 38, 93, 39,
+ 41, 32,116,104,101,110, 10, 32, 32,116,111,108,117, 97, 95,
+ 101,114,114,111,114, 40, 34, 35,105,110,118, 97,108,105,100,
+ 32,116,121,112,101,100,101,102, 58, 32,112,111,105,110,116,
+ 101,114,115, 32, 40, 97,110,100, 32,114,101,102,101,114,101,
+ 110, 99,101,115, 41, 32, 97,114,101, 32,110,111,116, 32,115,
+ 117,112,112,111,114,116,101,100, 34, 41, 10, 32,101,110,100,
+ 10, 32,108,111, 99, 97,108, 32,111, 32, 61, 32,123,109,111,
+ 100, 32, 61, 32, 39, 39,125, 10, 32,105,102, 32,115,116,114,
+ 105,110,103, 46,102,105,110,100, 40,115, 44, 32, 34, 91, 60,
+ 62, 93, 34, 41, 32,116,104,101,110, 10, 32, 9, 95, 44, 95,
+ 44,111, 46,116,121,112,101, 44,111, 46,117,116,121,112,101,
+ 32, 61, 32,115,116,114,105,110,103, 46,102,105,110,100, 40,
+ 115, 44, 32, 34, 94, 37,115, 42, 40, 91, 94, 60, 62, 93, 43,
+ 37, 98, 60, 62, 91, 94, 37,115, 93, 42, 41, 37,115, 43, 40,
+ 46, 45, 41, 36, 34, 41, 10, 32,101,108,115,101, 10, 32, 9,
+ 108,111, 99, 97,108, 32,116, 32, 61, 32,115,112,108,105,116,
+ 40,103,115,117, 98, 40,115, 44, 34, 37,115, 37,115, 42, 34,
+ 44, 34, 32, 34, 41, 44, 34, 32, 34, 41, 10, 32, 9,111, 32,
+ 61, 32,123, 10, 9, 32, 32,117,116,121,112,101, 32, 61, 32,
+ 116, 91,116, 46,110, 93, 44, 10, 9, 32, 32,116,121,112,101,
+ 32, 61, 32,116, 91,116, 46,110, 45, 49, 93, 44, 10, 9, 32,
+ 32,109,111,100, 32, 61, 32, 99,111,110, 99, 97,116, 40,116,
+ 44, 49, 44,116, 46,110, 45, 50, 41, 44, 10, 9, 32,125, 10,
+ 32,101,110,100, 10, 32,114,101,116,117,114,110, 32, 95, 84,
+ 121,112,101,100,101,102, 40,111, 41, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/typedef.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32, 99,111,110,116, 97,
+ 105,110,101,114, 32, 97, 98,115,116,114, 97, 99,116, 32, 99,
+ 108, 97,115,115, 10, 45, 45, 32, 87,114,105,116,116,101,110,
+ 32, 98,121, 32, 87, 97,108,100,101,109, 97,114, 32, 67,101,
+ 108,101,115, 10, 45, 45, 32, 84,101, 67, 71,114, 97,102, 47,
+ 80, 85, 67, 45, 82,105,111, 10, 45, 45, 32, 74,117,108, 32,
+ 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,100, 58, 32, 36, 10,
+ 10, 45, 45, 32, 84,104,105,115, 32, 99,111,100,101, 32,105,
+ 115, 32,102,114,101,101, 32,115,111,102,116,119, 97,114,101,
+ 59, 32,121,111,117, 32, 99, 97,110, 32,114,101,100,105,115,
+ 116,114,105, 98,117,116,101, 32,105,116, 32, 97,110,100, 47,
+ 111,114, 32,109,111,100,105,102,121, 32,105,116, 46, 10, 45,
+ 45, 32, 84,104,101, 32,115,111,102,116,119, 97,114,101, 32,
+ 112,114,111,118,105,100,101,100, 32,104,101,114,101,117,110,
+ 100,101,114, 32,105,115, 32,111,110, 32, 97,110, 32, 34, 97,
+ 115, 32,105,115, 34, 32, 98, 97,115,105,115, 44, 32, 97,110,
+ 100, 10, 45, 45, 32,116,104,101, 32, 97,117,116,104,111,114,
+ 32,104, 97,115, 32,110,111, 32,111, 98,108,105,103, 97,116,
+ 105,111,110, 32,116,111, 32,112,114,111,118,105,100,101, 32,
+ 109, 97,105,110,116,101,110, 97,110, 99,101, 44, 32,115,117,
+ 112,112,111,114,116, 44, 32,117,112,100, 97,116,101,115, 44,
+ 10, 45, 45, 32,101,110,104, 97,110, 99,101,109,101,110,116,
+ 115, 44, 32,111,114, 32,109,111,100,105,102,105, 99, 97,116,
+ 105,111,110,115, 46, 10, 10, 45, 45, 32,116, 97, 98,108,101,
+ 32,116,111, 32,115,116,111,114,101, 32,110, 97,109,101,115,
+ 112, 97, 99,101,100, 32,116,121,112,101,100,101,102,115, 47,
+ 101,110,117,109,115, 32,105,110, 32,103,108,111, 98, 97,108,
+ 32,115, 99,111,112,101, 10,103,108,111, 98, 97,108, 95,116,
+ 121,112,101,100,101,102,115, 32, 61, 32,123,125, 10,103,108,
+ 111, 98, 97,108, 95,101,110,117,109,115, 32, 61, 32,123,125,
+ 10, 10, 45, 45, 32, 67,111,110,116, 97,105,110,101,114, 32,
+ 99,108, 97,115,115, 10, 45, 45, 32, 82,101,112,114,101,115,
+ 101,110,116,115, 32, 97, 32, 99,111,110,116, 97,105,110,101,
+ 114, 32,111,102, 32,102,101, 97,116,117,114,101,115, 32,116,
+ 111, 32, 98,101, 32, 98,111,117,110,100, 10, 45, 45, 32,116,
+ 111, 32,108,117, 97, 46, 10, 99,108, 97,115,115, 67,111,110,
+ 116, 97,105,110,101,114, 32, 61, 10,123, 10, 32, 99,117,114,
+ 114, 32, 61, 32,110,105,108, 44, 10,125, 10, 99,108, 97,115,
+ 115, 67,111,110,116, 97,105,110,101,114, 46, 95, 95,105,110,
+ 100,101,120, 32, 61, 32, 99,108, 97,115,115, 67,111,110,116,
+ 97,105,110,101,114, 10,115,101,116,109,101,116, 97,116, 97,
+ 98,108,101, 40, 99,108, 97,115,115, 67,111,110,116, 97,105,
+ 110,101,114, 44, 99,108, 97,115,115, 70,101, 97,116,117,114,
+ 101, 41, 10, 10, 45, 45, 32,111,117,116,112,117,116, 32,116,
+ 97,103,115, 10,102,117,110, 99,116,105,111,110, 32, 99,108,
+ 97,115,115, 67,111,110,116, 97,105,110,101,114, 58,100,101,
+ 99,108,116,121,112,101, 32, 40, 41, 10, 32,112,117,115,104,
+ 40,115,101,108,102, 41, 10, 32,108,111, 99, 97,108, 32,105,
+ 61, 49, 10, 32,119,104,105,108,101, 32,115,101,108,102, 91,
+ 105, 93, 32,100,111, 10, 32, 32,115,101,108,102, 91,105, 93,
+ 58,100,101, 99,108,116,121,112,101, 40, 41, 10, 32, 32,105,
+ 32, 61, 32,105, 43, 49, 10, 32,101,110,100, 10, 32,112,111,
+ 112, 40, 41, 10,101,110,100, 10, 10, 10, 45, 45, 32,119,114,
+ 105,116,101, 32,115,117,112,112,111,114,116, 32, 99,111,100,
+ 101, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,
+ 115, 67,111,110,116, 97,105,110,101,114, 58,115,117,112, 99,
+ 111,100,101, 32, 40, 41, 10, 10, 9,105,102, 32,110,111,116,
+ 32,115,101,108,102, 58, 99,104,101, 99,107, 95,112,117, 98,
+ 108,105, 99, 95, 97, 99, 99,101,115,115, 40, 41, 32,116,104,
+ 101,110, 10, 9, 9,114,101,116,117,114,110, 10, 9,101,110,
+ 100, 10, 10, 32,112,117,115,104, 40,115,101,108,102, 41, 10,
+ 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32,119,104,105,
+ 108,101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10, 32,
+ 32,105,102, 32,115,101,108,102, 91,105, 93, 58, 99,104,101,
+ 99,107, 95,112,117, 98,108,105, 99, 95, 97, 99, 99,101,115,
+ 115, 40, 41, 32,116,104,101,110, 10, 32, 32, 9,115,101,108,
+ 102, 91,105, 93, 58,115,117,112, 99,111,100,101, 40, 41, 10,
+ 32, 32,101,110,100, 10, 32, 32,105, 32, 61, 32,105, 43, 49,
+ 10, 32,101,110,100, 10, 32,112,111,112, 40, 41, 10,101,110,
+ 100, 10, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,
+ 115,115, 67,111,110,116, 97,105,110,101,114, 58,104, 97,115,
+ 118, 97,114, 32, 40, 41, 10, 32,108,111, 99, 97,108, 32,105,
+ 61, 49, 10, 32,119,104,105,108,101, 32,115,101,108,102, 91,
+ 105, 93, 32,100,111, 10, 32, 32,105,102, 32,115,101,108,102,
+ 91,105, 93, 58,105,115,118, 97,114,105, 97, 98,108,101, 40,
+ 41, 32,116,104,101,110, 10, 9, 9, 32,114,101,116,117,114,
+ 110, 32, 49, 10, 9, 9,101,110,100, 10, 32, 32,105, 32, 61,
+ 32,105, 43, 49, 10, 32,101,110,100, 10, 9,114,101,116,117,
+ 114,110, 32, 48, 10,101,110,100, 10, 10, 45, 45, 32, 73,110,
+ 116,101,114,110, 97,108, 32, 99,111,110,116, 97,105,110,101,
+ 114, 32, 99,111,110,115,116,114,117, 99,116,111,114, 10,102,
+ 117,110, 99,116,105,111,110, 32, 95, 67,111,110,116, 97,105,
+ 110,101,114, 32, 40,115,101,108,102, 41, 10, 32,115,101,116,
+ 109,101,116, 97,116, 97, 98,108,101, 40,115,101,108,102, 44,
+ 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 41,
+ 10, 32,115,101,108,102, 46,110, 32, 61, 32, 48, 10, 32,115,
+ 101,108,102, 46,116,121,112,101,100,101,102,115, 32, 61, 32,
+ 123,116,111,108,117, 97, 95,110, 61, 48,125, 10, 32,115,101,
+ 108,102, 46,117,115,101,114,116,121,112,101,115, 32, 61, 32,
+ 123,125, 10, 32,115,101,108,102, 46,101,110,117,109,115, 32,
+ 61, 32,123,116,111,108,117, 97, 95,110, 61, 48,125, 10, 32,
+ 115,101,108,102, 46,108,110, 97,109,101,115, 32, 61, 32,123,
+ 125, 10, 32,114,101,116,117,114,110, 32,115,101,108,102, 10,
+ 101,110,100, 10, 10, 45, 45, 32,112,117,115,104, 32, 99,111,
+ 110,116, 97,105,110,101,114, 10,102,117,110, 99,116,105,111,
+ 110, 32,112,117,115,104, 32, 40,116, 41, 10, 9,116, 46,112,
+ 114,111,120, 32, 61, 32, 99,108, 97,115,115, 67,111,110,116,
+ 97,105,110,101,114, 46, 99,117,114,114, 10, 32, 99,108, 97,
+ 115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,
+ 114, 32, 61, 32,116, 10,101,110,100, 10, 10, 45, 45, 32,112,
+ 111,112, 32, 99,111,110,116, 97,105,110,101,114, 10,102,117,
+ 110, 99,116,105,111,110, 32,112,111,112, 32, 40, 41, 10, 45,
+ 45,112,114,105,110,116, 40, 34,110, 97,109,101, 34, 44, 99,
+ 108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,
+ 117,114,114, 46,110, 97,109,101, 41, 10, 45, 45,102,111,114,
+ 101, 97, 99,104, 40, 99,108, 97,115,115, 67,111,110,116, 97,
+ 105,110,101,114, 46, 99,117,114,114, 46,117,115,101,114,116,
+ 121,112,101,115, 44,112,114,105,110,116, 41, 10, 45, 45,112,
+ 114,105,110,116, 40, 34, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 34, 41, 10, 32, 99,108, 97,115,115, 67,
+ 111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 32, 61,
+ 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114,
+ 46, 99,117,114,114, 46,112,114,111,120, 10,101,110,100, 10,
+ 10, 45, 45, 32,103,101,116, 32, 99,117,114,114,101,110,116,
+ 32,110, 97,109,101,115,112, 97, 99,101, 10,102,117,110, 99,
+ 116,105,111,110, 32,103,101,116, 99,117,114,114,110, 97,109,
+ 101,115,112, 97, 99,101, 32, 40, 41, 10, 9,114,101,116,117,
+ 114,110, 32,103,101,116,110, 97,109,101,115,112, 97, 99,101,
+ 40, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114,
+ 46, 99,117,114,114, 41, 10,101,110,100, 10, 10, 45, 45, 32,
+ 97,112,112,101,110,100, 32,116,111, 32, 99,117,114,114,101,
+ 110,116, 32, 99,111,110,116, 97,105,110,101,114, 10,102,117,
+ 110, 99,116,105,111,110, 32, 97,112,112,101,110,100, 32, 40,
+ 116, 41, 10, 32,114,101,116,117,114,110, 32, 99,108, 97,115,
+ 115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114,
+ 58, 97,112,112,101,110,100, 40,116, 41, 10,101,110,100, 10,
+ 10, 45, 45, 32, 97,112,112,101,110,100, 32,116,121,112,101,
+ 100,101,102, 32,116,111, 32, 99,117,114,114,101,110,116, 32,
+ 99,111,110,116, 97,105,110,101,114, 10,102,117,110, 99,116,
+ 105,111,110, 32, 97,112,112,101,110,100,116,121,112,101,100,
+ 101,102, 32, 40,116, 41, 10, 32,114,101,116,117,114,110, 32,
+ 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 46,
+ 99,117,114,114, 58, 97,112,112,101,110,100,116,121,112,101,
+ 100,101,102, 40,116, 41, 10,101,110,100, 10, 10, 45, 45, 32,
+ 97,112,112,101,110,100, 32,117,115,101,114,116,121,112,101,
+ 32,116,111, 32, 99,117,114,114,101,110,116, 32, 99,111,110,
+ 116, 97,105,110,101,114, 10,102,117,110, 99,116,105,111,110,
+ 32, 97,112,112,101,110,100,117,115,101,114,116,121,112,101,
+ 32, 40,116, 41, 10, 32,114,101,116,117,114,110, 32, 99,108,
+ 97,115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,
+ 114,114, 58, 97,112,112,101,110,100,117,115,101,114,116,121,
+ 112,101, 40,116, 41, 10,101,110,100, 10, 10, 45, 45, 32, 97,
+ 112,112,101,110,100, 32,101,110,117,109, 32,116,111, 32, 99,
+ 117,114,114,101,110,116, 32, 99,111,110,116, 97,105,110,101,
+ 114, 10,102,117,110, 99,116,105,111,110, 32, 97,112,112,101,
+ 110,100,101,110,117,109, 32, 40,116, 41, 10, 32,114,101,116,
+ 117,114,110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,
+ 110,101,114, 46, 99,117,114,114, 58, 97,112,112,101,110,100,
+ 101,110,117,109, 40,116, 41, 10,101,110,100, 10, 10, 45, 45,
+ 32,115,117, 98,115,116,105,116,117,116,101, 32,116,121,112,
+ 101,100,101,102, 10,102,117,110, 99,116,105,111,110, 32, 97,
+ 112,112,108,121,116,121,112,101,100,101,102, 32, 40,109,111,
+ 100, 44,116,121,112,101, 41, 10, 32,114,101,116,117,114,110,
+ 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114,
+ 46, 99,117,114,114, 58, 97,112,112,108,121,116,121,112,101,
+ 100,101,102, 40,109,111,100, 44,116,121,112,101, 41, 10,101,
+ 110,100, 10, 10, 45, 45, 32, 99,104,101, 99,107, 32,105,102,
+ 32,105,115, 32,116,121,112,101, 10,102,117,110, 99,116,105,
+ 111,110, 32,102,105,110,100,116,121,112,101, 32, 40,116,121,
+ 112,101, 41, 10, 32,108,111, 99, 97,108, 32,116, 32, 61, 32,
+ 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 46,
+ 99,117,114,114, 58,102,105,110,100,116,121,112,101, 40,116,
+ 121,112,101, 41, 10, 9,114,101,116,117,114,110, 32,116, 10,
+ 101,110,100, 10, 10, 45, 45, 32, 99,104,101, 99,107, 32,105,
+ 102, 32,105,115, 32,116,121,112,101,100,101,102, 10,102,117,
+ 110, 99,116,105,111,110, 32,105,115,116,121,112,101,100,101,
+ 102, 32, 40,116,121,112,101, 41, 10, 32,114,101,116,117,114,
+ 110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,
+ 114, 46, 99,117,114,114, 58,105,115,116,121,112,101,100,101,
+ 102, 40,116,121,112,101, 41, 10,101,110,100, 10, 10, 45, 45,
+ 32,103,101,116, 32,102,117,108,108,116,121,112,101, 32, 40,
+ 119,105,116,104, 32,110, 97,109,101,115,112, 97, 99,101, 41,
+ 10,102,117,110, 99,116,105,111,110, 32,102,117,108,108,116,
+ 121,112,101, 32, 40,116, 41, 10, 32,108,111, 99, 97,108, 32,
+ 99,117,114,114, 32, 61, 32, 32, 99,108, 97,115,115, 67,111,
+ 110,116, 97,105,110,101,114, 46, 99,117,114,114, 10, 9,119,
+ 104,105,108,101, 32, 99,117,114,114, 32,100,111, 10, 9, 32,
+ 105,102, 32, 99,117,114,114, 32,116,104,101,110, 10, 9, 9,
+ 32,105,102, 32, 99,117,114,114, 46,116,121,112,101,100,101,
+ 102,115, 32, 97,110,100, 32, 99,117,114,114, 46,116,121,112,
+ 101,100,101,102,115, 91,116, 93, 32,116,104,101,110, 10, 9,
+ 9, 32, 32,114,101,116,117,114,110, 32, 99,117,114,114, 46,
+ 116,121,112,101,100,101,102,115, 91,116, 93, 10, 9, 9, 32,
+ 101,108,115,101,105,102, 32, 99,117,114,114, 46,117,115,101,
+ 114,116,121,112,101,115, 32, 97,110,100, 32, 99,117,114,114,
+ 46,117,115,101,114,116,121,112,101,115, 91,116, 93, 32,116,
+ 104,101,110, 10, 9, 9, 32, 32,114,101,116,117,114,110, 32,
+ 99,117,114,114, 46,117,115,101,114,116,121,112,101,115, 91,
+ 116, 93, 10, 9, 9, 9,101,110,100, 10, 9, 9,101,110,100,
+ 10, 9, 32, 99,117,114,114, 32, 61, 32, 99,117,114,114, 46,
+ 112,114,111,120, 10, 9,101,110,100, 10, 9,114,101,116,117,
+ 114,110, 32,116, 10,101,110,100, 10, 10, 45, 45, 32, 99,104,
+ 101, 99,107,115, 32,105,102, 32,105,116, 32,114,101,113,117,
+ 105,114,101,115, 32, 99,111,108,108,101, 99,116,105,111,110,
+ 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115,
+ 67,111,110,116, 97,105,110,101,114, 58,114,101,113,117,105,
+ 114,101, 99,111,108,108,101, 99,116,105,111,110, 32, 40,116,
+ 41, 10, 32,112,117,115,104, 40,115,101,108,102, 41, 10, 32,
+ 108,111, 99, 97,108, 32,105, 61, 49, 10, 9,108,111, 99, 97,
+ 108, 32,114, 32, 61, 32,102, 97,108,115,101, 10, 32,119,104,
+ 105,108,101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10,
+ 32, 32,114, 32, 61, 32,115,101,108,102, 91,105, 93, 58,114,
+ 101,113,117,105,114,101, 99,111,108,108,101, 99,116,105,111,
+ 110, 40,116, 41, 32,111,114, 32,114, 10, 32, 32,105, 32, 61,
+ 32,105, 43, 49, 10, 32,101,110,100, 10, 9,112,111,112, 40,
+ 41, 10, 9,114,101,116,117,114,110, 32,114, 10,101,110,100,
+ 10, 10, 10, 45, 45, 32,103,101,116, 32,110, 97,109,101,115,
+ 97,112, 99,101, 10,102,117,110, 99,116,105,111,110, 32,103,
+ 101,116,110, 97,109,101,115,112, 97, 99,101, 32, 40, 99,117,
+ 114,114, 41, 10, 9,108,111, 99, 97,108, 32,110, 97,109,101,
+ 115,112, 97, 99,101, 32, 61, 32, 39, 39, 10, 9,119,104,105,
+ 108,101, 32, 99,117,114,114, 32,100,111, 10, 9, 32,105,102,
+ 32, 99,117,114,114, 32, 97,110,100, 10, 9, 9, 32, 32, 32,
+ 40, 32, 99,117,114,114, 46, 99,108, 97,115,115,116,121,112,
+ 101, 32, 61, 61, 32, 39, 99,108, 97,115,115, 39, 32,111,114,
+ 32, 99,117,114,114, 46, 99,108, 97,115,115,116,121,112,101,
+ 32, 61, 61, 32, 39,110, 97,109,101,115,112, 97, 99,101, 39,
+ 41, 10, 9, 9,116,104,101,110, 10, 9, 9, 32,110, 97,109,
+ 101,115,112, 97, 99,101, 32, 61, 32, 40, 99,117,114,114, 46,
+ 111,114,105,103,105,110, 97,108, 95,110, 97,109,101, 32,111,
+ 114, 32, 99,117,114,114, 46,110, 97,109,101, 41, 32, 46, 46,
+ 32, 39, 58, 58, 39, 32, 46, 46, 32,110, 97,109,101,115,112,
+ 97, 99,101, 10, 9, 9, 32, 45, 45,110, 97,109,101,115,112,
+ 97, 99,101, 32, 61, 32, 99,117,114,114, 46,110, 97,109,101,
+ 32, 46, 46, 32, 39, 58, 58, 39, 32, 46, 46, 32,110, 97,109,
+ 101,115,112, 97, 99,101, 10, 9, 9,101,110,100, 10, 9, 32,
+ 99,117,114,114, 32, 61, 32, 99,117,114,114, 46,112,114,111,
+ 120, 10, 9,101,110,100, 10, 9,114,101,116,117,114,110, 32,
+ 110, 97,109,101,115,112, 97, 99,101, 10,101,110,100, 10, 10,
+ 45, 45, 32,103,101,116, 32,110, 97,109,101,115,112, 97, 99,
+ 101, 32, 40,111,110,108,121, 32,110, 97,109,101,115,112, 97,
+ 99,101, 41, 10,102,117,110, 99,116,105,111,110, 32,103,101,
+ 116,111,110,108,121,110, 97,109,101,115,112, 97, 99,101, 32,
+ 40, 41, 10, 32,108,111, 99, 97,108, 32, 99,117,114,114, 32,
+ 61, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,
+ 114, 46, 99,117,114,114, 10, 9,108,111, 99, 97,108, 32,110,
+ 97,109,101,115,112, 97, 99,101, 32, 61, 32, 39, 39, 10, 9,
+ 119,104,105,108,101, 32, 99,117,114,114, 32,100,111, 10, 9,
+ 9,105,102, 32, 99,117,114,114, 46, 99,108, 97,115,115,116,
+ 121,112,101, 32, 61, 61, 32, 39, 99,108, 97,115,115, 39, 32,
+ 116,104,101,110, 10, 9, 9, 32,114,101,116,117,114,110, 32,
+ 110, 97,109,101,115,112, 97, 99,101, 10, 9, 9,101,108,115,
+ 101,105,102, 32, 99,117,114,114, 46, 99,108, 97,115,115,116,
+ 121,112,101, 32, 61, 61, 32, 39,110, 97,109,101,115,112, 97,
+ 99,101, 39, 32,116,104,101,110, 10, 9, 9, 32,110, 97,109,
+ 101,115,112, 97, 99,101, 32, 61, 32, 99,117,114,114, 46,110,
+ 97,109,101, 32, 46, 46, 32, 39, 58, 58, 39, 32, 46, 46, 32,
+ 110, 97,109,101,115,112, 97, 99,101, 10, 9, 9,101,110,100,
+ 10, 9, 32, 99,117,114,114, 32, 61, 32, 99,117,114,114, 46,
+ 112,114,111,120, 10, 9,101,110,100, 10, 9,114,101,116,117,
+ 114,110, 32,110, 97,109,101,115,112, 97, 99,101, 10,101,110,
+ 100, 10, 10, 45, 45, 32, 99,104,101, 99,107, 32,105,102, 32,
+ 105,115, 32,101,110,117,109, 10,102,117,110, 99,116,105,111,
+ 110, 32,105,115,101,110,117,109, 32, 40,116,121,112,101, 41,
+ 10, 32,114,101,116,117,114,110, 32, 99,108, 97,115,115, 67,
+ 111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 58,105,
+ 115,101,110,117,109, 40,116,121,112,101, 41, 10,101,110,100,
+ 10, 10, 45, 45, 32, 97,112,112,101,110,100, 32,102,101, 97,
+ 116,117,114,101, 32,116,111, 32, 99,111,110,116, 97,105,110,
+ 101,114, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,
+ 115,115, 67,111,110,116, 97,105,110,101,114, 58, 97,112,112,
+ 101,110,100, 32, 40,116, 41, 10, 32,115,101,108,102, 46,110,
+ 32, 61, 32,115,101,108,102, 46,110, 32, 43, 32, 49, 10, 32,
+ 115,101,108,102, 91,115,101,108,102, 46,110, 93, 32, 61, 32,
+ 116, 10, 32,116, 46,112, 97,114,101,110,116, 32, 61, 32,115,
+ 101,108,102, 10,101,110,100, 10, 10, 45, 45, 32, 97,112,112,
+ 101,110,100, 32,116,121,112,101,100,101,102, 10,102,117,110,
+ 99,116,105,111,110, 32, 99,108, 97,115,115, 67,111,110,116,
+ 97,105,110,101,114, 58, 97,112,112,101,110,100,116,121,112,
+ 101,100,101,102, 32, 40,116, 41, 10, 32,108,111, 99, 97,108,
+ 32,110, 97,109,101,115,112, 97, 99,101, 32, 61, 32,103,101,
+ 116,110, 97,109,101,115,112, 97, 99,101, 40, 99,108, 97,115,
+ 115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114,
+ 41, 10, 32,115,101,108,102, 46,116,121,112,101,100,101,102,
+ 115, 46,116,111,108,117, 97, 95,110, 32, 61, 32,115,101,108,
+ 102, 46,116,121,112,101,100,101,102,115, 46,116,111,108,117,
+ 97, 95,110, 32, 43, 32, 49, 10, 32,115,101,108,102, 46,116,
+ 121,112,101,100,101,102,115, 91,115,101,108,102, 46,116,121,
+ 112,101,100,101,102,115, 46,116,111,108,117, 97, 95,110, 93,
+ 32, 61, 32,116, 10, 9,115,101,108,102, 46,116,121,112,101,
+ 100,101,102,115, 91,116, 46,117,116,121,112,101, 93, 32, 61,
+ 32,110, 97,109,101,115,112, 97, 99,101, 32, 46, 46, 32,116,
+ 46,117,116,121,112,101, 10, 9,103,108,111, 98, 97,108, 95,
+ 116,121,112,101,100,101,102,115, 91,110, 97,109,101,115,112,
+ 97, 99,101, 46, 46,116, 46,117,116,121,112,101, 93, 32, 61,
+ 32,116, 10, 9,116, 46,102,116,121,112,101, 32, 61, 32,102,
+ 105,110,100,116,121,112,101, 40,116, 46,116,121,112,101, 41,
+ 32,111,114, 32,116, 46,116,121,112,101, 10, 9, 45, 45,112,
+ 114,105,110,116, 40, 34, 97,112,112,101,110,100,105,110,103,
+ 32,116,121,112,101,100,101,102, 32, 34, 46, 46,116, 46,117,
+ 116,121,112,101, 46, 46, 34, 32, 97,115, 32, 34, 46, 46,110,
+ 97,109,101,115,112, 97, 99,101, 46, 46,116, 46,117,116,121,
+ 112,101, 46, 46, 34, 32,119,105,116,104, 32,102,116,121,112,
+ 101, 32, 34, 46, 46,116, 46,102,116,121,112,101, 41, 10, 9,
+ 97,112,112,101,110,100, 95,103,108,111, 98, 97,108, 95,116,
+ 121,112,101, 40,110, 97,109,101,115,112, 97, 99,101, 46, 46,
+ 116, 46,117,116,121,112,101, 41, 10, 9,105,102, 32,116, 46,
+ 102,116,121,112,101, 32, 97,110,100, 32,105,115,101,110,117,
+ 109, 40,116, 46,102,116,121,112,101, 41, 32,116,104,101,110,
+ 10, 10, 9, 9,103,108,111, 98, 97,108, 95,101,110,117,109,
+ 115, 91,110, 97,109,101,115,112, 97, 99,101, 46, 46,116, 46,
+ 117,116,121,112,101, 93, 32, 61, 32,116,114,117,101, 10, 9,
+ 101,110,100, 10,101,110,100, 10, 10, 45, 45, 32, 97,112,112,
+ 101,110,100, 32,117,115,101,114,116,121,112,101, 58, 32,114,
+ 101,116,117,114,110, 32,102,117,108,108, 32,116,121,112,101,
+ 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115,
+ 67,111,110,116, 97,105,110,101,114, 58, 97,112,112,101,110,
+ 100,117,115,101,114,116,121,112,101, 32, 40,116, 41, 10, 9,
+ 108,111, 99, 97,108, 32, 99,111,110,116, 97,105,110,101,114,
+ 10, 9,105,102, 32,116, 32, 61, 61, 32, 40,115,101,108,102,
+ 46,111,114,105,103,105,110, 97,108, 95,110, 97,109,101, 32,
+ 111,114, 32,115,101,108,102, 46,110, 97,109,101, 41, 32,116,
+ 104,101,110, 10, 9, 9, 99,111,110,116, 97,105,110,101,114,
+ 32, 61, 32,115,101,108,102, 46,112,114,111,120, 10, 9,101,
+ 108,115,101, 10, 9, 9, 99,111,110,116, 97,105,110,101,114,
+ 32, 61, 32,115,101,108,102, 10, 9,101,110,100, 10, 9,108,
+ 111, 99, 97,108, 32,102,116, 32, 61, 32,103,101,116,110, 97,
+ 109,101,115,112, 97, 99,101, 40, 99,111,110,116, 97,105,110,
+ 101,114, 41, 32, 46, 46, 32,116, 10, 9, 99,111,110,116, 97,
+ 105,110,101,114, 46,117,115,101,114,116,121,112,101,115, 91,
+ 116, 93, 32, 61, 32,102,116, 10, 9, 95,117,115,101,114,116,
+ 121,112,101, 91,102,116, 93, 32, 61, 32,102,116, 10, 9,114,
+ 101,116,117,114,110, 32,102,116, 10,101,110,100, 10, 10, 45,
+ 45, 32, 97,112,112,101,110,100, 32,101,110,117,109, 10,102,
+ 117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67,111,
+ 110,116, 97,105,110,101,114, 58, 97,112,112,101,110,100,101,
+ 110,117,109, 32, 40,116, 41, 10, 32,108,111, 99, 97,108, 32,
+ 110, 97,109,101,115,112, 97, 99,101, 32, 61, 32,103,101,116,
+ 110, 97,109,101,115,112, 97, 99,101, 40, 99,108, 97,115,115,
+ 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 41,
+ 10, 32,115,101,108,102, 46,101,110,117,109,115, 46,116,111,
+ 108,117, 97, 95,110, 32, 61, 32,115,101,108,102, 46,101,110,
+ 117,109,115, 46,116,111,108,117, 97, 95,110, 32, 43, 32, 49,
+ 10, 32,115,101,108,102, 46,101,110,117,109,115, 91,115,101,
+ 108,102, 46,101,110,117,109,115, 46,116,111,108,117, 97, 95,
+ 110, 93, 32, 61, 32,116, 10, 9,103,108,111, 98, 97,108, 95,
+ 101,110,117,109,115, 91,110, 97,109,101,115,112, 97, 99,101,
+ 46, 46,116, 46,110, 97,109,101, 93, 32, 61, 32,116, 10,101,
+ 110,100, 10, 10, 45, 45, 32,100,101,116,101,114,109,105,110,
+ 101, 32,108,117, 97, 32,102,117,110, 99,116,105,111,110, 32,
+ 110, 97,109,101, 32,111,118,101,114,108,111, 97,100, 10,102,
+ 117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67,111,
+ 110,116, 97,105,110,101,114, 58,111,118,101,114,108,111, 97,
+ 100, 32, 40,108,110, 97,109,101, 41, 10, 32,105,102, 32,110,
+ 111,116, 32,115,101,108,102, 46,108,110, 97,109,101,115, 91,
+ 108,110, 97,109,101, 93, 32,116,104,101,110, 10, 32, 32,115,
+ 101,108,102, 46,108,110, 97,109,101,115, 91,108,110, 97,109,
+ 101, 93, 32, 61, 32, 48, 10, 32,101,108,115,101, 10, 32, 32,
+ 115,101,108,102, 46,108,110, 97,109,101,115, 91,108,110, 97,
+ 109,101, 93, 32, 61, 32,115,101,108,102, 46,108,110, 97,109,
+ 101,115, 91,108,110, 97,109,101, 93, 32, 43, 32, 49, 10, 32,
+ 101,110,100, 10, 32,114,101,116,117,114,110, 32,102,111,114,
+ 109, 97,116, 40, 34, 37, 48, 50,100, 34, 44,115,101,108,102,
+ 46,108,110, 97,109,101,115, 91,108,110, 97,109,101, 93, 41,
+ 10,101,110,100, 10, 10, 45, 45, 32, 97,112,112,108,105,101,
+ 115, 32,116,121,112,101,100,101,102, 58, 32,114,101,116,117,
+ 114,110,115, 32,116,104,101, 32, 39,116,104,101, 32,102, 97,
+ 99,116,111, 39, 32,109,111,100,105,102,105,101,114, 32, 97,
+ 110,100, 32,116,121,112,101, 10,102,117,110, 99,116,105,111,
+ 110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,
+ 114, 58, 97,112,112,108,121,116,121,112,101,100,101,102, 32,
+ 40,109,111,100, 44,116,121,112,101, 41, 10, 9,105,102, 32,
+ 103,108,111, 98, 97,108, 95,116,121,112,101,100,101,102,115,
+ 91,116,121,112,101, 93, 32,116,104,101,110, 10, 9, 9, 45,
+ 45,112,114,105,110,116, 40, 34,102,111,117,110,100, 32,116,
+ 121,112,101,100,101,102, 32, 34, 46, 46,103,108,111, 98, 97,
+ 108, 95,116,121,112,101,100,101,102,115, 91,116,121,112,101,
+ 93, 46,116,121,112,101, 41, 10, 9, 9,108,111, 99, 97,108,
+ 32,109,111,100, 49, 44, 32,116,121,112,101, 49, 32, 61, 32,
+ 103,108,111, 98, 97,108, 95,116,121,112,101,100,101,102,115,
+ 91,116,121,112,101, 93, 46,109,111,100, 44, 32,103,108,111,
+ 98, 97,108, 95,116,121,112,101,100,101,102,115, 91,116,121,
+ 112,101, 93, 46,102,116,121,112,101, 10, 9, 9,108,111, 99,
+ 97,108, 32,109,111,100, 50, 44, 32,116,121,112,101, 50, 32,
+ 61, 32, 97,112,112,108,121,116,121,112,101,100,101,102, 40,
+ 109,111,100, 46, 46, 34, 32, 34, 46, 46,109,111,100, 49, 44,
+ 32,116,121,112,101, 49, 41, 10, 9, 9, 45, 45,114,101,116,
+ 117,114,110, 32,109,111,100, 50, 32, 46, 46, 32, 39, 32, 39,
+ 32, 46, 46, 32,109,111,100, 49, 44, 32,116,121,112,101, 50,
+ 10, 9, 9,114,101,116,117,114,110, 32,109,111,100, 50, 44,
+ 32,116,121,112,101, 50, 10, 9,101,110,100, 10, 9,100,111,
+ 32,114,101,116,117,114,110, 32,109,111,100, 44,116,121,112,
+ 101, 32,101,110,100, 10,101,110,100, 10, 10, 45, 45, 32, 99,
+ 104,101, 99,107, 32,105,102, 32,105,116, 32,105,115, 32, 97,
+ 32,116,121,112,101,100,101,102, 10,102,117,110, 99,116,105,
+ 111,110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,
+ 101,114, 58,105,115,116,121,112,101,100,101,102, 32, 40,116,
+ 121,112,101, 41, 10, 32,108,111, 99, 97,108, 32,101,110,118,
+ 32, 61, 32,115,101,108,102, 10, 32,119,104,105,108,101, 32,
+ 101,110,118, 32,100,111, 10, 32, 32,105,102, 32,101,110,118,
+ 46,116,121,112,101,100,101,102,115, 32,116,104,101,110, 10,
+ 32, 32, 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32, 32,
+ 32,119,104,105,108,101, 32,101,110,118, 46,116,121,112,101,
+ 100,101,102,115, 91,105, 93, 32,100,111, 10, 32, 32, 32, 32,
+ 105,102, 32,101,110,118, 46,116,121,112,101,100,101,102,115,
+ 91,105, 93, 46,117,116,121,112,101, 32, 61, 61, 32,116,121,
+ 112,101, 32,116,104,101,110, 10, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32,114,101,116,117,114,110, 32,116,121,112,101, 10, 32,
+ 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, 32, 32, 32, 32,
+ 32, 32, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32, 32, 32,
+ 101,110,100, 10, 32, 32,101,110,100, 10, 32, 32,101,110,118,
+ 32, 61, 32,101,110,118, 46,112, 97,114,101,110,116, 10, 32,
+ 101,110,100, 10, 32,114,101,116,117,114,110, 32,110,105,108,
+ 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,110, 32,
+ 102,105,110,100, 95,101,110,117,109, 95,118, 97,114, 40,118,
+ 97,114, 41, 10, 10, 9,105,102, 32,116,111,110,117,109, 98,
+ 101,114, 40,118, 97,114, 41, 32,116,104,101,110, 32,114,101,
+ 116,117,114,110, 32,118, 97,114, 32,101,110,100, 10, 10, 9,
+ 108,111, 99, 97,108, 32, 99, 32, 61, 32, 99,108, 97,115,115,
+ 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 10,
+ 9,119,104,105,108,101, 32, 99, 32,100,111, 10, 9, 9,108,
+ 111, 99, 97,108, 32,110,115, 32, 61, 32,103,101,116,110, 97,
+ 109,101,115,112, 97, 99,101, 40, 99, 41, 10, 9, 9,102,111,
+ 114, 32,107, 44,118, 32,105,110, 32,112, 97,105,114,115, 40,
+ 95,103,108,111, 98, 97,108, 95,101,110,117,109,115, 41, 32,
+ 100,111, 10, 9, 9, 9,105,102, 32,109, 97,116, 99,104, 95,
+ 116,121,112,101, 40,118, 97,114, 44, 32,118, 44, 32,110,115,
+ 41, 32,116,104,101,110, 10, 9, 9, 9, 9,114,101,116,117,
+ 114,110, 32,118, 10, 9, 9, 9,101,110,100, 10, 9, 9,101,
+ 110,100, 10, 9, 9,105,102, 32, 99, 46, 98, 97,115,101, 32,
+ 97,110,100, 32, 99, 46, 98, 97,115,101, 32,126, 61, 32, 39,
+ 39, 32,116,104,101,110, 10, 9, 9, 9, 99, 32, 61, 32, 95,
+ 103,108,111, 98, 97,108, 95, 99,108, 97,115,115,101,115, 91,
+ 99, 58,102,105,110,100,116,121,112,101, 40, 99, 46, 98, 97,
+ 115,101, 41, 93, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,
+ 99, 32, 61, 32,110,105,108, 10, 9, 9,101,110,100, 10, 9,
+ 101,110,100, 10, 10, 9,114,101,116,117,114,110, 32,118, 97,
+ 114, 10,101,110,100, 10, 10, 45, 45, 32, 99,104,101, 99,107,
+ 32,105,102, 32,105,115, 32, 97, 32,114,101,103,105,115,116,
+ 101,114,101,100, 32,116,121,112,101, 58, 32,114,101,116,117,
+ 114,110, 32,102,117,108,108, 32,116,121,112,101, 32,111,114,
+ 32,110,105,108, 10,102,117,110, 99,116,105,111,110, 32, 99,
+ 108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 58,102,
+ 105,110,100,116,121,112,101, 32, 40,116, 41, 10, 10, 9,116,
+ 32, 61, 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,
+ 116, 44, 32, 34, 61, 46, 42, 34, 44, 32, 34, 34, 41, 10, 9,
+ 105,102, 32, 95, 98, 97,115,105, 99, 91,116, 93, 32,116,104,
+ 101,110, 10, 9, 32,114,101,116,117,114,110, 32,116, 10, 9,
+ 101,110,100, 10, 10, 9,108,111, 99, 97,108, 32, 95, 44, 95,
+ 44,101,109, 32, 61, 32,115,116,114,105,110,103, 46,102,105,
+ 110,100, 40,116, 44, 32, 34, 40, 91, 38, 37, 42, 93, 41, 37,
+ 115, 42, 36, 34, 41, 10, 9,116, 32, 61, 32,115,116,114,105,
+ 110,103, 46,103,115,117, 98, 40,116, 44, 32, 34, 37,115, 42,
+ 40, 91, 38, 37, 42, 93, 41, 37,115, 42, 36, 34, 44, 32, 34,
+ 34, 41, 10, 9,112, 32, 61, 32,115,101,108,102, 10, 9,119,
+ 104,105,108,101, 32,112, 32, 97,110,100, 32,116,121,112,101,
+ 40,112, 41, 61, 61, 39,116, 97, 98,108,101, 39, 32,100,111,
+ 10, 9, 9,108,111, 99, 97,108, 32,115,116, 32, 61, 32,103,
+ 101,116,110, 97,109,101,115,112, 97, 99,101, 40,112, 41, 10,
+ 10, 9, 9,102,111,114, 32,105, 61, 95,103,108,111, 98, 97,
+ 108, 95,116,121,112,101,115, 46,110, 44, 49, 44, 45, 49, 32,
+ 100,111, 32, 45, 45, 32,105,110, 32,114,101,118,101,114,115,
+ 101, 32,111,114,100,101,114, 10, 10, 9, 9, 9,105,102, 32,
+ 109, 97,116, 99,104, 95,116,121,112,101, 40,116, 44, 32, 95,
+ 103,108,111, 98, 97,108, 95,116,121,112,101,115, 91,105, 93,
+ 44, 32,115,116, 41, 32,116,104,101,110, 10, 9, 9, 9, 9,
+ 114,101,116,117,114,110, 32, 95,103,108,111, 98, 97,108, 95,
+ 116,121,112,101,115, 91,105, 93, 46, 46, 40,101,109, 32,111,
+ 114, 32, 34, 34, 41, 10, 9, 9, 9,101,110,100, 10, 9, 9,
+ 101,110,100, 10, 9, 9,105,102, 32,112, 46, 98, 97,115,101,
+ 32, 97,110,100, 32,112, 46, 98, 97,115,101, 32,126, 61, 32,
+ 39, 39, 32, 97,110,100, 32,112, 46, 98, 97,115,101, 32,126,
+ 61, 32,116, 32,116,104,101,110, 10, 9, 9, 9, 45, 45,112,
+ 114,105,110,116, 40, 34,116,121,112,101, 32,105,115, 32, 34,
+ 46, 46,116, 46, 46, 34, 44, 32,112, 32,105,115, 32, 34, 46,
+ 46,112, 46, 98, 97,115,101, 46, 46, 34, 32,115,101,108,102,
+ 46,116,121,112,101, 32,105,115, 32, 34, 46, 46,115,101,108,
+ 102, 46,116,121,112,101, 46, 46, 34, 32,115,101,108,102, 46,
+ 110, 97,109,101, 32,105,115, 32, 34, 46, 46,115,101,108,102,
+ 46,110, 97,109,101, 41, 10, 9, 9, 9,112, 32, 61, 32, 95,
+ 103,108,111, 98, 97,108, 95, 99,108, 97,115,115,101,115, 91,
+ 112, 58,102,105,110,100,116,121,112,101, 40,112, 46, 98, 97,
+ 115,101, 41, 93, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,
+ 112, 32, 61, 32,110,105,108, 10, 9, 9,101,110,100, 10, 9,
+ 101,110,100, 10, 10, 9,114,101,116,117,114,110, 32,110,105,
+ 108, 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,110,
+ 32, 97,112,112,101,110,100, 95,103,108,111, 98, 97,108, 95,
+ 116,121,112,101, 40,116, 44, 32, 99,108, 97,115,115, 41, 10,
+ 9, 95,103,108,111, 98, 97,108, 95,116,121,112,101,115, 46,
+ 110, 32, 61, 32, 95,103,108,111, 98, 97,108, 95,116,121,112,
+ 101,115, 46,110, 32, 43, 49, 10, 9, 95,103,108,111, 98, 97,
+ 108, 95,116,121,112,101,115, 91, 95,103,108,111, 98, 97,108,
+ 95,116,121,112,101,115, 46,110, 93, 32, 61, 32,116, 10, 9,
+ 95,103,108,111, 98, 97,108, 95,116,121,112,101,115, 95,104,
+ 97,115,104, 91,116, 93, 32, 61, 32, 49, 10, 9,105,102, 32,
+ 99,108, 97,115,115, 32,116,104,101,110, 32, 97,112,112,101,
+ 110,100, 95, 99,108, 97,115,115, 95,116,121,112,101, 40,116,
+ 44, 32, 99,108, 97,115,115, 41, 32,101,110,100, 10,101,110,
+ 100, 10, 10,102,117,110, 99,116,105,111,110, 32, 97,112,112,
+ 101,110,100, 95, 99,108, 97,115,115, 95,116,121,112,101, 40,
+ 116, 44, 99,108, 97,115,115, 41, 10, 9,105,102, 32, 95,103,
+ 108,111, 98, 97,108, 95, 99,108, 97,115,115,101,115, 91,116,
+ 93, 32,116,104,101,110, 10, 9, 9, 99,108, 97,115,115, 46,
+ 102,108, 97,103,115, 32, 61, 32, 95,103,108,111, 98, 97,108,
+ 95, 99,108, 97,115,115,101,115, 91,116, 93, 46,102,108, 97,
+ 103,115, 10, 9, 9, 99,108, 97,115,115, 46,108,110, 97,109,
+ 101,115, 32, 61, 32, 95,103,108,111, 98, 97,108, 95, 99,108,
+ 97,115,115,101,115, 91,116, 93, 46,108,110, 97,109,101,115,
+ 10, 9, 9,105,102, 32, 95,103,108,111, 98, 97,108, 95, 99,
+ 108, 97,115,115,101,115, 91,116, 93, 46, 98, 97,115,101, 32,
+ 97,110,100, 32, 40, 95,103,108,111, 98, 97,108, 95, 99,108,
+ 97,115,115,101,115, 91,116, 93, 46, 98, 97,115,101, 32,126,
+ 61, 32, 39, 39, 41, 32,116,104,101,110, 10, 9, 9, 9, 99,
+ 108, 97,115,115, 46, 98, 97,115,101, 32, 61, 32, 95,103,108,
+ 111, 98, 97,108, 95, 99,108, 97,115,115,101,115, 91,116, 93,
+ 46, 98, 97,115,101, 32,111,114, 32, 99,108, 97,115,115, 46,
+ 98, 97,115,101, 10, 9, 9,101,110,100, 10, 9,101,110,100,
+ 10, 9, 95,103,108,111, 98, 97,108, 95, 99,108, 97,115,115,
+ 101,115, 91,116, 93, 32, 61, 32, 99,108, 97,115,115, 10, 9,
+ 99,108, 97,115,115, 46,102,108, 97,103,115, 32, 61, 32, 99,
+ 108, 97,115,115, 46,102,108, 97,103,115, 32,111,114, 32,123,
+ 125, 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,110,
+ 32,109, 97,116, 99,104, 95,116,121,112,101, 40, 99,104,105,
+ 108,100,116,121,112,101, 44, 32,114,101,103,116,121,112,101,
+ 44, 32,115,116, 41, 10, 45, 45,112,114,105,110,116, 40, 34,
+ 102,105,110,100,116,121,112,101, 32, 34, 46, 46, 99,104,105,
+ 108,100,116,121,112,101, 46, 46, 34, 44, 32, 34, 46, 46,114,
+ 101,103,116,121,112,101, 46, 46, 34, 44, 32, 34, 46, 46,115,
+ 116, 41, 10, 9,108,111, 99, 97,108, 32, 98, 44,101, 32, 61,
+ 32,115,116,114,105,110,103, 46,102,105,110,100, 40,114,101,
+ 103,116,121,112,101, 44, 32, 99,104,105,108,100,116,121,112,
+ 101, 44, 32, 45,115,116,114,105,110,103, 46,108,101,110, 40,
+ 99,104,105,108,100,116,121,112,101, 41, 44, 32,116,114,117,
+ 101, 41, 10, 9,105,102, 32, 98, 32,116,104,101,110, 10, 10,
+ 9, 9,105,102, 32,101, 32, 61, 61, 32,115,116,114,105,110,
+ 103, 46,108,101,110, 40,114,101,103,116,121,112,101, 41, 32,
+ 97,110,100, 10, 9, 9, 9, 9, 40, 98, 32, 61, 61, 32, 49,
+ 32,111,114, 32, 40,115,116,114,105,110,103, 46,115,117, 98,
+ 40,114,101,103,116,121,112,101, 44, 32, 98, 45, 49, 44, 32,
+ 98, 45, 49, 41, 32, 61, 61, 32, 39, 58, 39, 32, 97,110,100,
+ 10, 9, 9, 9, 9,115,116,114,105,110,103, 46,115,117, 98,
+ 40,114,101,103,116,121,112,101, 44, 32, 49, 44, 32, 98, 45,
+ 49, 41, 32, 61, 61, 32,115,116,114,105,110,103, 46,115,117,
+ 98, 40,115,116, 44, 32, 49, 44, 32, 98, 45, 49, 41, 41, 41,
+ 32,116,104,101,110, 10, 9, 9, 9,114,101,116,117,114,110,
+ 32,116,114,117,101, 10, 9, 9,101,110,100, 10, 9,101,110,
+ 100, 10, 10, 9,114,101,116,117,114,110, 32,102, 97,108,115,
+ 101, 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,110,
+ 32,102,105,110,100,116,121,112,101, 95,111,110, 95, 99,104,
+ 105,108,100,115, 40,115,101,108,102, 44, 32,116, 41, 10, 10,
+ 9,108,111, 99, 97,108, 32,116, 99,104,105,108,100, 10, 9,
+ 105,102, 32,115,101,108,102, 46, 99,108, 97,115,115,116,121,
+ 112,101, 32, 61, 61, 32, 39, 99,108, 97,115,115, 39, 32,111,
+ 114, 32,115,101,108,102, 46, 99,108, 97,115,115,116,121,112,
+ 101, 32, 61, 61, 32, 39,110, 97,109,101,115,112, 97, 99,101,
+ 39, 32,116,104,101,110, 10, 9, 9,102,111,114, 32,107, 44,
+ 118, 32,105,110, 32,105,112, 97,105,114,115, 40,115,101,108,
+ 102, 41, 32,100,111, 10, 9, 9, 9,105,102, 32,118, 46, 99,
+ 108, 97,115,115,116,121,112,101, 32, 61, 61, 32, 39, 99,108,
+ 97,115,115, 39, 32,111,114, 32,118, 46, 99,108, 97,115,115,
+ 116,121,112,101, 32, 61, 61, 32, 39,110, 97,109,101,115,112,
+ 97, 99,101, 39, 32,116,104,101,110, 10, 9, 9, 9, 9,105,
+ 102, 32,118, 46,116,121,112,101,100,101,102,115, 32, 97,110,
+ 100, 32,118, 46,116,121,112,101,100,101,102,115, 91,116, 93,
+ 32,116,104,101,110, 10, 9, 9, 9, 9, 32,114,101,116,117,
+ 114,110, 32,118, 46,116,121,112,101,100,101,102,115, 91,116,
+ 93, 10, 9, 9, 9, 9,101,108,115,101,105,102, 32,118, 46,
+ 117,115,101,114,116,121,112,101,115, 32, 97,110,100, 32,118,
+ 46,117,115,101,114,116,121,112,101,115, 91,116, 93, 32,116,
+ 104,101,110, 10, 9, 9, 9, 9, 32,114,101,116,117,114,110,
+ 32,118, 46,117,115,101,114,116,121,112,101,115, 91,116, 93,
+ 10, 9, 9, 9, 9,101,110,100, 10, 9, 9, 9, 9,116, 99,
+ 104,105,108,100, 32, 61, 32,102,105,110,100,116,121,112,101,
+ 95,111,110, 95, 99,104,105,108,100,115, 40,118, 44, 32,116,
+ 41, 10, 9, 9, 9, 9,105,102, 32,116, 99,104,105,108,100,
+ 32,116,104,101,110, 32,114,101,116,117,114,110, 32,116, 99,
+ 104,105,108,100, 32,101,110,100, 10, 9, 9, 9,101,110,100,
+ 10, 9, 9,101,110,100, 10, 9,101,110,100, 10, 9,114,101,
+ 116,117,114,110, 32,110,105,108, 10, 10,101,110,100, 10, 10,
+ 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67,
+ 111,110,116, 97,105,110,101,114, 58,105,115,101,110,117,109,
+ 32, 40,116,121,112,101, 41, 10, 32,105,102, 32,103,108,111,
+ 98, 97,108, 95,101,110,117,109,115, 91,116,121,112,101, 93,
+ 32,116,104,101,110, 10, 9,114,101,116,117,114,110, 32,116,
+ 121,112,101, 10, 32,101,108,115,101, 10, 32, 9,114,101,116,
+ 117,114,110, 32,102, 97,108,115,101, 10, 32,101,110,100, 10,
+ 10, 32,108,111, 99, 97,108, 32, 98, 97,115,101,116,121,112,
+ 101, 32, 61, 32,103,115,117, 98, 40,116,121,112,101, 44, 34,
+ 94, 46, 42, 58, 58, 34, 44, 34, 34, 41, 10, 32,108,111, 99,
+ 97,108, 32,101,110,118, 32, 61, 32,115,101,108,102, 10, 32,
+ 119,104,105,108,101, 32,101,110,118, 32,100,111, 10, 32, 32,
+ 105,102, 32,101,110,118, 46,101,110,117,109,115, 32,116,104,
+ 101,110, 10, 32, 32, 32,108,111, 99, 97,108, 32,105, 61, 49,
+ 10, 32, 32, 32,119,104,105,108,101, 32,101,110,118, 46,101,
+ 110,117,109,115, 91,105, 93, 32,100,111, 10, 32, 32, 32, 32,
+ 105,102, 32,101,110,118, 46,101,110,117,109,115, 91,105, 93,
+ 46,110, 97,109,101, 32, 61, 61, 32, 98, 97,115,101,116,121,
+ 112,101, 32,116,104,101,110, 10, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32,114,101,116,117,114,110, 32,116,114,117,101, 10, 32,
+ 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, 32, 32, 32, 32,
+ 32, 32, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32, 32, 32,
+ 101,110,100, 10, 32, 32,101,110,100, 10, 32, 32,101,110,118,
+ 32, 61, 32,101,110,118, 46,112, 97,114,101,110,116, 10, 32,
+ 101,110,100, 10, 32,114,101,116,117,114,110, 32,102, 97,108,
+ 115,101, 10,101,110,100, 10, 10,109,101,116,104,111,100,105,
+ 115,118,105,114,116,117, 97,108, 32, 61, 32,102, 97,108,115,
+ 101, 32, 45, 45, 32, 97, 32,103,108,111, 98, 97,108, 10, 10,
+ 45, 45, 32,112, 97,114,115,101, 32, 99,104,117,110,107, 10,
+ 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67,
+ 111,110,116, 97,105,110,101,114, 58,100,111,112, 97,114,115,
+ 101, 32, 40,115, 41, 10, 45, 45,112,114,105,110,116, 32, 40,
+ 34,112, 97,114,115,101, 32, 34, 46, 46,115, 41, 10, 10, 32,
+ 45, 45, 32,116,114,121, 32,116,104,101, 32,112, 97,114,115,
+ 101,114, 32,104,111,111,107, 10, 32,100,111, 10, 32, 9,108,
+ 111, 99, 97,108, 32,115,117, 98, 32, 61, 32,112, 97,114,115,
+ 101,114, 95,104,111,111,107, 40,115, 41, 10, 32, 9,105,102,
+ 32,115,117, 98, 32,116,104,101,110, 10, 32, 9, 9,114,101,
+ 116,117,114,110, 32,115,117, 98, 10, 32, 9,101,110,100, 10,
+ 32,101,110,100, 10, 10, 32, 45, 45, 32,116,114,121, 32,116,
+ 104,101, 32,110,117,108,108, 32,115,116, 97,116,101,109,101,
+ 110,116, 10, 32,100,111, 10, 32, 9,108,111, 99, 97,108, 32,
+ 98, 44,101, 44, 99,111,100,101, 32, 61, 32,115,116,114,105,
+ 110,103, 46,102,105,110,100, 40,115, 44, 32, 34, 94, 37,115,
+ 42, 59, 34, 41, 10, 32, 9,105,102, 32, 98, 32,116,104,101,
+ 110, 10, 32, 9, 9,114,101,116,117,114,110, 32,115,116,114,
+ 115,117, 98, 40,115, 44,101, 43, 49, 41, 10, 32, 9,101,110,
+ 100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32,116,114,121,
+ 32,101,109,112,116,121, 32,118,101,114, 98, 97,116,105,109,
+ 32,108,105,110,101, 10, 32,100,111, 10, 32, 9,108,111, 99,
+ 97,108, 32, 98, 44,101, 44, 99,111,100,101, 32, 61, 32,115,
+ 116,114,105,110,103, 46,102,105,110,100, 40,115, 44, 32, 34,
+ 94, 37,115, 42, 36, 92,110, 34, 41, 10, 32, 9,105,102, 32,
+ 98, 32,116,104,101,110, 10, 32, 9, 9,114,101,116,117,114,
+ 110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41,
+ 10, 32, 9,101,110,100, 10, 32,101,110,100, 10, 10, 32, 45,
+ 45, 32,116,114,121, 32, 76,117, 97, 32, 99,111,100,101, 10,
+ 32,100,111, 10, 32, 32,108,111, 99, 97,108, 32, 98, 44,101,
+ 44, 99,111,100,101, 32, 61, 32,115,116,114,102,105,110,100,
+ 40,115, 44, 34, 94, 37,115, 42, 40, 37, 98, 92, 49, 92, 50,
+ 41, 34, 41, 10, 32, 32,105,102, 32, 98, 32,116,104,101,110,
+ 10, 32, 32, 32, 67,111,100,101, 40,115,116,114,115,117, 98,
+ 40, 99,111,100,101, 44, 50, 44, 45, 50, 41, 41, 10, 32, 32,
+ 32,114,101,116,117,114,110, 32,115,116,114,115,117, 98, 40,
+ 115, 44,101, 43, 49, 41, 10, 32, 32,101,110,100, 10, 32,101,
+ 110,100, 10, 10, 32, 45, 45, 32,116,114,121, 32, 67, 32, 99,
+ 111,100,101, 10, 32,100,111, 10, 32, 32,108,111, 99, 97,108,
+ 32, 98, 44,101, 44, 99,111,100,101, 32, 61, 32,115,116,114,
+ 102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 37, 98,
+ 92, 51, 92, 52, 41, 34, 41, 10, 32, 32,105,102, 32, 98, 32,
+ 116,104,101,110, 10, 9, 99,111,100,101, 32, 61, 32, 39,123,
+ 39, 46, 46,115,116,114,115,117, 98, 40, 99,111,100,101, 44,
+ 50, 44, 45, 50, 41, 46, 46, 39, 92,110,125, 92,110, 39, 10,
+ 9, 86,101,114, 98, 97,116,105,109, 40, 99,111,100,101, 44,
+ 39,114, 39, 41, 32, 32, 32, 32, 32, 32, 32, 32, 45, 45, 32,
+ 118,101,114, 98, 97,116,105,109, 32, 99,111,100,101, 32,102,
+ 111,114, 32, 39,114, 39,101,103,105,115,116,101,114, 32,102,
+ 114, 97,103,109,101,110,116, 10, 9,114,101,116,117,114,110,
+ 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,
+ 32, 32,101,110,100, 10, 32,101,110,100, 10, 10, 32, 45, 45,
+ 32,116,114,121, 32, 67, 32, 99,111,100,101, 32,102,111,114,
+ 32,112,114,101, 97,109, 98,108,101, 32,115,101, 99,116,105,
+ 111,110, 10, 32,100,111, 10, 32, 9,108,111, 99, 97,108, 32,
+ 98, 44,101, 44, 99,111,100,101, 32, 61, 32,115,116,114,105,
+ 110,103, 46,102,105,110,100, 40,115, 44, 32, 34, 94, 37,115,
+ 42, 40, 37, 98, 92, 53, 92, 54, 41, 34, 41, 10, 32, 9,105,
+ 102, 32, 98, 32,116,104,101,110, 10, 32, 9, 9, 99,111,100,
+ 101, 32, 61, 32,115,116,114,105,110,103, 46,115,117, 98, 40,
+ 99,111,100,101, 44, 32, 50, 44, 32, 45, 50, 41, 46, 46, 34,
+ 92,110, 34, 10, 9, 9, 86,101,114, 98, 97,116,105,109, 40,
+ 99,111,100,101, 44, 32, 39, 39, 41, 10, 9, 9,114,101,116,
+ 117,114,110, 32,115,116,114,105,110,103, 46,115,117, 98, 40,
+ 115, 44, 32,101, 43, 49, 41, 10, 32, 9,101,110,100, 10, 32,
+ 101,110,100, 10, 10, 32, 45, 45, 32,116,114,121, 32,100,101,
+ 102, 97,117,108,116, 95,112,114,111,112,101,114,116,121, 32,
+ 100,105,114,101, 99,116,105,118,101, 10, 32,100,111, 10, 32,
+ 9,108,111, 99, 97,108, 32, 98, 44,101, 44,112,116,121,112,
+ 101, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 32,
+ 34, 94, 37,115, 42, 84, 79, 76, 85, 65, 95, 80, 82, 79, 80,
+ 69, 82, 84, 89, 95, 84, 89, 80, 69, 37,115, 42, 37, 40, 43,
+ 37,115, 42, 40, 91, 94, 37, 41, 37,115, 93, 42, 41, 37,115,
+ 42, 37, 41, 43, 37,115, 42, 59, 63, 34, 41, 10, 32, 9,105,
+ 102, 32, 98, 32,116,104,101,110, 10, 32, 9, 9,105,102, 32,
+ 110,111,116, 32,112,116,121,112,101, 32,111,114, 32,112,116,
+ 121,112,101, 32, 61, 61, 32, 34, 34, 32,116,104,101,110, 10,
+ 32, 9, 9, 9,112,116,121,112,101, 32, 61, 32, 34,100,101,
+ 102, 97,117,108,116, 34, 10, 32, 9, 9,101,110,100, 10, 32,
+ 9, 9,115,101,108,102, 58,115,101,116, 95,112,114,111,112,
+ 101,114,116,121, 95,116,121,112,101, 40,112,116,121,112,101,
+ 41, 10, 9, 32, 9,114,101,116,117,114,110, 32,115,116,114,
+ 115,117, 98, 40,115, 44, 32,101, 43, 49, 41, 10, 32, 9,101,
+ 110,100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32,116,114,
+ 121, 32,112,114,111,116,101, 99,116,101,100, 95,100,101,115,
+ 116,114,117, 99,116,111,114, 32,100,105,114,101, 99,116,105,
+ 118,101, 10, 32,100,111, 10, 32, 9,108,111, 99, 97,108, 32,
+ 98, 44,101, 32, 61, 32,115,116,114,105,110,103, 46,102,105,
+ 110,100, 40,115, 44, 32, 34, 94, 37,115, 42, 84, 79, 76, 85,
+ 65, 95, 80, 82, 79, 84, 69, 67, 84, 69, 68, 95, 68, 69, 83,
+ 84, 82, 85, 67, 84, 79, 82, 37,115, 42, 59, 63, 34, 41, 10,
+ 9,105,102, 32, 98, 32,116,104,101,110, 10, 9, 9,105,102,
+ 32,115,101,108,102, 46,115,101,116, 95,112,114,111,116,101,
+ 99,116,101,100, 95,100,101,115,116,114,117, 99,116,111,114,
+ 32,116,104,101,110, 10, 9, 32, 9, 9,115,101,108,102, 58,
+ 115,101,116, 95,112,114,111,116,101, 99,116,101,100, 95,100,
+ 101,115,116,114,117, 99,116,111,114, 40,116,114,117,101, 41,
+ 10, 9, 32, 9,101,110,100, 10, 32, 9, 9,114,101,116,117,
+ 114,110, 32,115,116,114,115,117, 98, 40,115, 44, 32,101, 43,
+ 49, 41, 10, 32, 9,101,110,100, 10, 32,101,110,100, 10, 10,
+ 32, 45, 45, 32,116,114,121, 32, 39,101,120,116,101,114,110,
+ 39, 32,107,101,121,119,111,114,100, 10, 32,100,111, 10, 32,
+ 9,108,111, 99, 97,108, 32, 98, 44,101, 32, 61, 32,115,116,
+ 114,105,110,103, 46,102,105,110,100, 40,115, 44, 32, 34, 94,
+ 37,115, 42,101,120,116,101,114,110, 37,115, 43, 34, 41, 10,
+ 32, 9,105,102, 32, 98, 32,116,104,101,110, 10, 9, 9, 45,
+ 45, 32,100,111, 32,110,111,116,104,105,110,103, 10, 32, 9,
+ 9,114,101,116,117,114,110, 32,115,116,114,115,117, 98, 40,
+ 115, 44, 32,101, 43, 49, 41, 10, 32, 9,101,110,100, 10, 32,
+ 101,110,100, 10, 10, 32, 45, 45, 32,116,114,121, 32, 39,118,
+ 105,114,116,117, 97,108, 39, 32,107,101,121,119,111,114,107,
+ 100, 10, 32,100,111, 10, 32, 9,108,111, 99, 97,108, 32, 98,
+ 44,101, 32, 61, 32,115,116,114,105,110,103, 46,102,105,110,
+ 100, 40,115, 44, 32, 34, 94, 37,115, 42,118,105,114,116,117,
+ 97,108, 37,115, 43, 34, 41, 10, 32, 9,105,102, 32, 98, 32,
+ 116,104,101,110, 10, 32, 9, 9,109,101,116,104,111,100,105,
+ 115,118,105,114,116,117, 97,108, 32, 61, 32,116,114,117,101,
+ 10, 32, 9, 9,114,101,116,117,114,110, 32,115,116,114,115,
+ 117, 98, 40,115, 44, 32,101, 43, 49, 41, 10, 32, 9,101,110,
+ 100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32,116,114,121,
+ 32,108, 97, 98,101,108,115, 32, 40,112,117, 98,108,105, 99,
+ 44, 32,112,114,105,118, 97,116,101, 44, 32,101,116, 99, 41,
+ 10, 32,100,111, 10, 32, 9,108,111, 99, 97,108, 32, 98, 44,
+ 101, 32, 61, 32,115,116,114,105,110,103, 46,102,105,110,100,
+ 40,115, 44, 32, 34, 94, 37,115, 42, 37,119, 42, 37,115, 42,
+ 58, 91, 94, 58, 93, 34, 41, 10, 32, 9,105,102, 32, 98, 32,
+ 116,104,101,110, 10, 32, 9, 9,114,101,116,117,114,110, 32,
+ 115,116,114,115,117, 98, 40,115, 44, 32,101, 41, 32, 45, 45,
+ 32,112,114,101,115,101,114,118,101, 32,116,104,101, 32, 91,
+ 94, 58, 93, 10, 32, 9,101,110,100, 10, 32,101,110,100, 10,
+ 10, 32, 45, 45, 32,116,114,121, 32,109,111,100,117,108,101,
+ 10, 32,100,111, 10, 32, 32,108,111, 99, 97,108, 32, 98, 44,
+ 101, 44,110, 97,109,101, 44, 98,111,100,121, 32, 61, 32,115,
+ 116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42,109,
+ 111,100,117,108,101, 37,115, 37,115, 42, 40, 91, 95, 37,119,
+ 93, 91, 95, 37,119, 93, 42, 41, 37,115, 42, 40, 37, 98,123,
+ 125, 41, 37,115, 42, 34, 41, 10, 32, 32,105,102, 32, 98, 32,
+ 116,104,101,110, 10, 32, 32, 32, 95, 99,117,114,114, 95, 99,
+ 111,100,101, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44,
+ 98, 44,101, 41, 10, 32, 32, 32, 77,111,100,117,108,101, 40,
+ 110, 97,109,101, 44, 98,111,100,121, 41, 10, 32, 32, 32,114,
+ 101,116,117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,
+ 101, 43, 49, 41, 10, 32, 32,101,110,100, 10, 32,101,110,100,
+ 10, 10, 32, 45, 45, 32,116,114,121, 32,110, 97,109,101,115,
+ 97,112, 99,101, 10, 32,100,111, 10, 32, 32,108,111, 99, 97,
+ 108, 32, 98, 44,101, 44,110, 97,109,101, 44, 98,111,100,121,
+ 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94,
+ 37,115, 42,110, 97,109,101,115,112, 97, 99,101, 37,115, 37,
+ 115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 93, 42, 41,
+ 37,115, 42, 40, 37, 98,123,125, 41, 37,115, 42, 59, 63, 34,
+ 41, 10, 32, 32,105,102, 32, 98, 32,116,104,101,110, 10, 32,
+ 32, 32, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,
+ 115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 32,
+ 32, 32, 78, 97,109,101,115,112, 97, 99,101, 40,110, 97,109,
+ 101, 44, 98,111,100,121, 41, 10, 32, 32, 32,114,101,116,117,
+ 114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49,
+ 41, 10, 32, 32,101,110,100, 10, 32,101,110,100, 10, 10, 32,
+ 45, 45, 32,116,114,121, 32,100,101,102,105,110,101, 10, 32,
+ 100,111, 10, 32, 32,108,111, 99, 97,108, 32, 98, 44,101, 44,
+ 110, 97,109,101, 32, 61, 32,115,116,114,102,105,110,100, 40,
+ 115, 44, 34, 94, 37,115, 42, 35,100,101,102,105,110,101, 37,
+ 115, 37,115, 42, 40, 91, 94, 37,115, 93, 42, 41, 91, 94, 92,
+ 110, 93, 42, 92,110, 37,115, 42, 34, 41, 10, 32, 32,105,102,
+ 32, 98, 32,116,104,101,110, 10, 32, 32, 32, 95, 99,117,114,
+ 114, 95, 99,111,100,101, 32, 61, 32,115,116,114,115,117, 98,
+ 40,115, 44, 98, 44,101, 41, 10, 32, 32, 32, 68,101,102,105,
+ 110,101, 40,110, 97,109,101, 41, 10, 32, 32, 32,114,101,116,
+ 117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43,
+ 49, 41, 10, 32, 32,101,110,100, 10, 32,101,110,100, 10, 10,
+ 32, 45, 45, 32,116,114,121, 32,101,110,117,109,101,114, 97,
+ 116,101,115, 10, 10, 32,100,111, 10, 32, 32,108,111, 99, 97,
+ 108, 32, 98, 44,101, 44,110, 97,109,101, 44, 98,111,100,121,
+ 44,118, 97,114,110, 97,109,101, 32, 61, 32,115,116,114,102,
+ 105,110,100, 40,115, 44, 34, 94, 37,115, 42,101,110,117,109,
+ 37,115, 43, 40, 37, 83, 42, 41, 37,115, 42, 40, 37, 98,123,
+ 125, 41, 37,115, 42, 40, 91, 94, 37,115, 59, 93, 42, 41, 37,
+ 115, 42, 59, 63, 37,115, 42, 34, 41, 10, 32, 32,105,102, 32,
+ 98, 32,116,104,101,110, 10, 32, 32, 32, 45, 45,101,114,114,
+ 111,114, 40, 34, 35, 83,111,114,114,121, 44, 32,100,101, 99,
+ 108, 97,114, 97,116,105,111,110, 32,111,102, 32,101,110,117,
+ 109,115, 32, 97,110,100, 32,118, 97,114,105, 97, 98,108,101,
+ 115, 32,111,110, 32,116,104,101, 32,115, 97,109,101, 32,115,
+ 116, 97,116,101,109,101,110,116, 32,105,115, 32,110,111,116,
+ 32,115,117,112,112,111,114,116,101,100, 46, 92,110, 68,101,
+ 99,108, 97,114,101, 32,121,111,117,114, 32,118, 97,114,105,
+ 97, 98,108,101, 32,115,101,112, 97,114, 97,116,101,108,121,
+ 32, 40,101,120, 97,109,112,108,101, 58, 32, 39, 34, 46, 46,
+ 110, 97,109,101, 46, 46, 34, 32, 34, 46, 46,118, 97,114,110,
+ 97,109,101, 46, 46, 34, 59, 39, 41, 34, 41, 10, 32, 32, 32,
+ 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115,116,
+ 114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 32, 32, 32,
+ 69,110,117,109,101,114, 97,116,101, 40,110, 97,109,101, 44,
+ 98,111,100,121, 44,118, 97,114,110, 97,109,101, 41, 10, 32,
+ 32, 32,114,101,116,117,114,110, 32,115,116,114,115,117, 98,
+ 40,115, 44,101, 43, 49, 41, 10, 32, 32,101,110,100, 10, 32,
+ 101,110,100, 10, 10, 45, 45, 32,100,111, 10, 45, 45, 32, 32,
+ 108,111, 99, 97,108, 32, 98, 44,101, 44,110, 97,109,101, 44,
+ 98,111,100,121, 32, 61, 32,115,116,114,102,105,110,100, 40,
+ 115, 44, 34, 94, 37,115, 42,101,110,117,109, 37,115, 43, 40,
+ 37, 83, 42, 41, 37,115, 42, 40, 37, 98,123,125, 41, 37,115,
+ 42, 59, 63, 37,115, 42, 34, 41, 10, 45, 45, 32, 32,105,102,
+ 32, 98, 32,116,104,101,110, 10, 45, 45, 32, 32, 32, 95, 99,
+ 117,114,114, 95, 99,111,100,101, 32, 61, 32,115,116,114,115,
+ 117, 98, 40,115, 44, 98, 44,101, 41, 10, 45, 45, 32, 32, 32,
+ 69,110,117,109,101,114, 97,116,101, 40,110, 97,109,101, 44,
+ 98,111,100,121, 41, 10, 45, 45, 32, 32,114,101,116,117,114,
+ 110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41,
+ 10, 45, 45, 32, 32,101,110,100, 10, 45, 45, 32,101,110,100,
+ 10, 10, 32,100,111, 10, 32, 32,108,111, 99, 97,108, 32, 98,
+ 44,101, 44, 98,111,100,121, 44,110, 97,109,101, 32, 61, 32,
+ 115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42,
+ 116,121,112,101,100,101,102, 37,115, 43,101,110,117,109, 91,
+ 94,123, 93, 42, 40, 37, 98,123,125, 41, 37,115, 42, 40, 91,
+ 37,119, 95, 93, 91, 94, 37,115, 93, 42, 41, 37,115, 42, 59,
+ 37,115, 42, 34, 41, 10, 32, 32,105,102, 32, 98, 32,116,104,
+ 101,110, 10, 32, 32, 32, 95, 99,117,114,114, 95, 99,111,100,
+ 101, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,
+ 101, 41, 10, 32, 32, 32, 69,110,117,109,101,114, 97,116,101,
+ 40,110, 97,109,101, 44, 98,111,100,121, 41, 10, 32, 32, 32,
+ 114,101,116,117,114,110, 32,115,116,114,115,117, 98, 40,115,
+ 44,101, 43, 49, 41, 10, 32, 32,101,110,100, 10, 32,101,110,
+ 100, 10, 10, 32, 45, 45, 32,116,114,121, 32,111,112,101,114,
+ 97,116,111,114, 10, 32,100,111, 10, 32, 32,108,111, 99, 97,
+ 108, 32, 98, 44,101, 44,100,101, 99,108, 44,107,105,110,100,
+ 44, 97,114,103, 44, 99,111,110,115,116, 32, 61, 32,115,116,
+ 114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 91,
+ 95, 37,119, 93, 91, 95, 37,119, 37,115, 37, 42, 38, 58, 60,
+ 62, 44, 93, 45, 37,115, 43,111,112,101,114, 97,116,111,114,
+ 41, 37,115, 42, 40, 91, 94, 37,115, 93, 91, 94, 37,115, 93,
+ 42, 41, 37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40,
+ 99, 63,111, 63,110, 63,115, 63,116, 63, 41, 37,115, 42, 59,
+ 37,115, 42, 34, 41, 10, 32, 32,105,102, 32,110,111,116, 32,
+ 98, 32,116,104,101,110, 10, 9, 9, 32, 45, 45, 32,116,114,
+ 121, 32,105,110,108,105,110,101, 10, 32, 32, 32, 98, 44,101,
+ 44,100,101, 99,108, 44,107,105,110,100, 44, 97,114,103, 44,
+ 99,111,110,115,116, 32, 61, 32,115,116,114,102,105,110,100,
+ 40,115, 44, 34, 94, 37,115, 42, 40, 91, 95, 37,119, 93, 91,
+ 95, 37,119, 37,115, 37, 42, 38, 58, 60, 62, 44, 93, 45, 37,
+ 115, 43,111,112,101,114, 97,116,111,114, 41, 37,115, 42, 40,
+ 91, 94, 37,115, 93, 91, 94, 37,115, 93, 42, 41, 37,115, 42,
+ 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111, 63,110,
+ 63,115, 63,116, 63, 41, 91, 37,115, 92,110, 93, 42, 37, 98,
+ 123,125, 37,115, 42, 59, 63, 37,115, 42, 34, 41, 10, 32, 32,
+ 101,110,100, 10, 32, 32,105,102, 32,110,111,116, 32, 98, 32,
+ 116,104,101,110, 10, 32, 32, 9, 45, 45, 32,116,114,121, 32,
+ 99, 97,115,116, 32,111,112,101,114, 97,116,111,114, 10, 32,
+ 32, 9, 98, 44,101, 44,100,101, 99,108, 44,107,105,110,100,
+ 44, 97,114,103, 44, 99,111,110,115,116, 32, 61, 32,115,116,
+ 114,102,105,110,100, 40,115, 44, 32, 34, 94, 37,115, 42, 40,
+ 111,112,101,114, 97,116,111,114, 41, 37,115, 43, 40, 91, 37,
+ 119, 95, 58, 37,100, 60, 62, 37, 42, 37, 38, 37,115, 93, 43,
+ 41, 37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99,
+ 63,111, 63,110, 63,115, 63,116, 63, 41, 34, 41, 59, 10, 32,
+ 32, 9,105,102, 32, 98, 32,116,104,101,110, 10, 32, 32, 9,
+ 9,108,111, 99, 97,108, 32, 95, 44,105,101, 32, 61, 32,115,
+ 116,114,105,110,103, 46,102,105,110,100, 40,115, 44, 32, 34,
+ 94, 37,115, 42, 37, 98,123,125, 34, 44, 32,101, 43, 49, 41,
+ 10, 32, 32, 9, 9,105,102, 32,105,101, 32,116,104,101,110,
+ 10, 32, 32, 9, 9, 9,101, 32, 61, 32,105,101, 10, 32, 32,
+ 9, 9,101,110,100, 10, 32, 32, 9,101,110,100, 10, 32, 32,
+ 101,110,100, 10, 32, 32,105,102, 32, 98, 32,116,104,101,110,
+ 10, 32, 32, 32, 95, 99,117,114,114, 95, 99,111,100,101, 32,
+ 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41,
+ 10, 32, 32, 32, 79,112,101,114, 97,116,111,114, 40,100,101,
+ 99,108, 44,107,105,110,100, 44, 97,114,103, 44, 99,111,110,
+ 115,116, 41, 10, 32, 32, 32,114,101,116,117,114,110, 32,115,
+ 116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10, 32, 32,
+ 101,110,100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32,116,
+ 114,121, 32,102,117,110, 99,116,105,111,110, 10, 32,100,111,
+ 10, 32, 32, 45, 45,108,111, 99, 97,108, 32, 98, 44,101, 44,
+ 100,101, 99,108, 44, 97,114,103, 44, 99,111,110,115,116, 32,
+ 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,
+ 115, 42, 40, 91,126, 95, 37,119, 93, 91, 95, 64, 37,119, 37,
+ 115, 37, 42, 38, 58, 60, 62, 93, 42, 91, 95, 37,119, 93, 41,
+ 37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,
+ 111, 63,110, 63,115, 63,116, 63, 41, 37,115, 42, 61, 63, 37,
+ 115, 42, 48, 63, 37,115, 42, 59, 37,115, 42, 34, 41, 10, 32,
+ 32,108,111, 99, 97,108, 32, 98, 44,101, 44,100,101, 99,108,
+ 44, 97,114,103, 44, 99,111,110,115,116, 44,118,105,114,116,
+ 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94,
+ 37,115, 42, 40, 91, 94, 37, 40, 92,110, 93, 43, 41, 37,115,
+ 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111, 63,
+ 110, 63,115, 63,116, 63, 41, 37,115, 42, 40, 61, 63, 37,115,
+ 42, 48, 63, 41, 37,115, 42, 59, 37,115, 42, 34, 41, 10, 32,
+ 32,105,102, 32,110,111,116, 32, 98, 32,116,104,101,110, 10,
+ 32, 32, 9, 45, 45, 32,116,114,121, 32,102,117,110, 99,116,
+ 105,111,110, 32,119,105,116,104, 32,116,101,109,112,108, 97,
+ 116,101, 10, 32, 32, 9, 98, 44,101, 44,100,101, 99,108, 44,
+ 97,114,103, 44, 99,111,110,115,116, 32, 61, 32,115,116,114,
+ 102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 91,126,
+ 95, 37,119, 93, 91, 95, 64, 37,119, 37,115, 37, 42, 38, 58,
+ 60, 62, 93, 42, 91, 95, 37,119, 93, 37, 98, 60, 62, 41, 37,
+ 115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111,
+ 63,110, 63,115, 63,116, 63, 41, 37,115, 42, 61, 63, 37,115,
+ 42, 48, 63, 37,115, 42, 59, 37,115, 42, 34, 41, 10, 32, 32,
+ 101,110,100, 10, 32, 32,105,102, 32,110,111,116, 32, 98, 32,
+ 116,104,101,110, 10, 32, 32, 32, 45, 45, 32,116,114,121, 32,
+ 97, 32,115,105,110,103,108,101, 32,108,101,116,116,101,114,
+ 32,102,117,110, 99,116,105,111,110, 32,110, 97,109,101, 10,
+ 32, 32, 32, 98, 44,101, 44,100,101, 99,108, 44, 97,114,103,
+ 44, 99,111,110,115,116, 32, 61, 32,115,116,114,102,105,110,
+ 100, 40,115, 44, 34, 94, 37,115, 42, 40, 91, 95, 37,119, 93,
+ 41, 37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99,
+ 63,111, 63,110, 63,115, 63,116, 63, 41, 37,115, 42, 59, 37,
+ 115, 42, 34, 41, 10, 32, 32,101,110,100, 10, 32, 32,105,102,
+ 32,110,111,116, 32, 98, 32,116,104,101,110, 10, 32, 32, 32,
+ 45, 45, 32,116,114,121, 32,102,117,110, 99,116,105,111,110,
+ 32,112,111,105,110,116,101,114, 10, 32, 32, 32, 98, 44,101,
+ 44,100,101, 99,108, 44, 97,114,103, 44, 99,111,110,115,116,
+ 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94,
+ 37,115, 42, 40, 91, 94, 37, 40, 59, 92,110, 93, 43, 37, 98,
+ 40, 41, 41, 37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42,
+ 59, 37,115, 42, 34, 41, 10, 32, 32, 32,105,102, 32, 98, 32,
+ 116,104,101,110, 10, 32, 32, 32, 32,100,101, 99,108, 32, 61,
+ 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,100,101,
+ 99,108, 44, 32, 34, 37, 40, 37,115, 42, 37, 42, 40, 91, 94,
+ 37, 41, 93, 42, 41, 37,115, 42, 37, 41, 34, 44, 32, 34, 32,
+ 37, 49, 32, 34, 41, 10, 32, 32, 32,101,110,100, 10, 32, 32,
+ 101,110,100, 10, 32, 32,105,102, 32, 98, 32,116,104,101,110,
+ 10, 32, 32, 9,105,102, 32,118,105,114,116, 32, 97,110,100,
+ 32,115,116,114,105,110,103, 46,102,105,110,100, 40,118,105,
+ 114,116, 44, 32, 34, 91, 61, 48, 93, 34, 41, 32,116,104,101,
+ 110, 10, 32, 32, 9, 9,105,102, 32,115,101,108,102, 46,102,
+ 108, 97,103,115, 32,116,104,101,110, 10, 32, 32, 9, 9, 9,
+ 115,101,108,102, 46,102,108, 97,103,115, 46,112,117,114,101,
+ 95,118,105,114,116,117, 97,108, 32, 61, 32,116,114,117,101,
+ 10, 32, 32, 9, 9,101,110,100, 10, 32, 32, 9,101,110,100,
+ 10, 32, 32, 32, 95, 99,117,114,114, 95, 99,111,100,101, 32,
+ 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41,
+ 10, 32, 32, 32, 70,117,110, 99,116,105,111,110, 40,100,101,
+ 99,108, 44, 97,114,103, 44, 99,111,110,115,116, 41, 10, 32,
+ 32, 32,114,101,116,117,114,110, 32,115,116,114,115,117, 98,
+ 40,115, 44,101, 43, 49, 41, 10, 32, 32,101,110,100, 10, 32,
+ 101,110,100, 10, 10, 32, 45, 45, 32,116,114,121, 32,105,110,
+ 108,105,110,101, 32,102,117,110, 99,116,105,111,110, 10, 32,
+ 100,111, 10, 32, 32,108,111, 99, 97,108, 32, 98, 44,101, 44,
+ 100,101, 99,108, 44, 97,114,103, 44, 99,111,110,115,116, 32,
+ 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,
+ 115, 42, 40, 91, 94, 37, 40, 92,110, 93, 43, 41, 37,115, 42,
+ 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111, 63,110,
+ 63,115, 63,116, 63, 41, 91, 94, 59,123, 93, 42, 37, 98,123,
+ 125, 37,115, 42, 59, 63, 37,115, 42, 34, 41, 10, 32, 32, 45,
+ 45,108,111, 99, 97,108, 32, 98, 44,101, 44,100,101, 99,108,
+ 44, 97,114,103, 44, 99,111,110,115,116, 32, 61, 32,115,116,
+ 114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 91,
+ 126, 95, 37,119, 93, 91, 95, 64, 37,119, 37,115, 37, 42, 38,
+ 58, 60, 62, 93, 42, 91, 95, 37,119, 62, 93, 41, 37,115, 42,
+ 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111, 63,110,
+ 63,115, 63,116, 63, 41, 91, 94, 59, 93, 42, 37, 98,123,125,
+ 37,115, 42, 59, 63, 37,115, 42, 34, 41, 10, 32, 32,105,102,
+ 32,110,111,116, 32, 98, 32,116,104,101,110, 10, 32, 32, 32,
+ 45, 45, 32,116,114,121, 32, 97, 32,115,105,110,103,108,101,
+ 32,108,101,116,116,101,114, 32,102,117,110, 99,116,105,111,
+ 110, 32,110, 97,109,101, 10, 32, 32, 32, 98, 44,101, 44,100,
+ 101, 99,108, 44, 97,114,103, 44, 99,111,110,115,116, 32, 61,
+ 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115,
+ 42, 40, 91, 95, 37,119, 93, 41, 37,115, 42, 40, 37, 98, 40,
+ 41, 41, 37,115, 42, 40, 99, 63,111, 63,110, 63,115, 63,116,
+ 63, 41, 46, 45, 37, 98,123,125, 37,115, 42, 59, 63, 37,115,
+ 42, 34, 41, 10, 32, 32,101,110,100, 10, 32, 32,105,102, 32,
+ 98, 32,116,104,101,110, 10, 32, 32, 32, 95, 99,117,114,114,
+ 95, 99,111,100,101, 32, 61, 32,115,116,114,115,117, 98, 40,
+ 115, 44, 98, 44,101, 41, 10, 32, 32, 32, 70,117,110, 99,116,
+ 105,111,110, 40,100,101, 99,108, 44, 97,114,103, 44, 99,111,
+ 110,115,116, 41, 10, 32, 32, 32,114,101,116,117,114,110, 32,
+ 115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10, 32,
+ 32,101,110,100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32,
+ 116,114,121, 32, 99,108, 97,115,115, 10, 32,100,111, 10, 9,
+ 32,108,111, 99, 97,108, 32, 98, 44,101, 44,110, 97,109,101,
+ 44, 98, 97,115,101, 44, 98,111,100,121, 10, 9, 9, 98, 97,
+ 115,101, 32, 61, 32, 39, 39, 32, 98,111,100,121, 32, 61, 32,
+ 39, 39, 10, 9, 9, 98, 44,101, 44,110, 97,109,101, 32, 61,
+ 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115,
+ 42, 99,108, 97,115,115, 37,115, 42, 40, 91, 95, 37,119, 93,
+ 91, 95, 37,119, 64, 93, 42, 41, 37,115, 42, 59, 34, 41, 32,
+ 32, 45, 45, 32,100,117,109,109,121, 32, 99,108, 97,115,115,
+ 10, 9, 9,108,111, 99, 97,108, 32,100,117,109,109,121, 32,
+ 61, 32,102, 97,108,115,101, 10, 9, 9,105,102, 32,110,111,
+ 116, 32, 98, 32,116,104,101,110, 10, 9, 9, 9, 98, 44,101,
+ 44,110, 97,109,101, 32, 61, 32,115,116,114,102,105,110,100,
+ 40,115, 44, 34, 94, 37,115, 42,115,116,114,117, 99,116, 37,
+ 115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 64, 93, 42,
+ 41, 37,115, 42, 59, 34, 41, 32, 32, 32, 32, 45, 45, 32,100,
+ 117,109,109,121, 32,115,116,114,117, 99,116, 10, 9, 9, 9,
+ 105,102, 32,110,111,116, 32, 98, 32,116,104,101,110, 10, 9,
+ 9, 9, 9, 98, 44,101, 44,110, 97,109,101, 44, 98, 97,115,
+ 101, 44, 98,111,100,121, 32, 61, 32,115,116,114,102,105,110,
+ 100, 40,115, 44, 34, 94, 37,115, 42, 99,108, 97,115,115, 37,
+ 115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 64, 93, 42,
+ 41, 37,115, 42, 40, 91, 94,123, 93, 45, 41, 37,115, 42, 40,
+ 37, 98,123,125, 41, 37,115, 42, 34, 41, 10, 9, 9, 9, 9,
+ 105,102, 32,110,111,116, 32, 98, 32,116,104,101,110, 10, 9,
+ 9, 9, 9, 9, 98, 44,101, 44,110, 97,109,101, 44, 98, 97,
+ 115,101, 44, 98,111,100,121, 32, 61, 32,115,116,114,102,105,
+ 110,100, 40,115, 44, 34, 94, 37,115, 42,115,116,114,117, 99,
+ 116, 37,115, 43, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 64,
+ 93, 42, 41, 37,115, 42, 40, 91, 94,123, 93, 45, 41, 37,115,
+ 42, 40, 37, 98,123,125, 41, 37,115, 42, 34, 41, 10, 9, 9,
+ 9, 9, 9,105,102, 32,110,111,116, 32, 98, 32,116,104,101,
+ 110, 10, 9, 9, 9, 9, 9, 9, 98, 44,101, 44,110, 97,109,
+ 101, 44, 98, 97,115,101, 44, 98,111,100,121, 32, 61, 32,115,
+ 116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42,117,
+ 110,105,111,110, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95,
+ 37,119, 64, 93, 42, 41, 37,115, 42, 40, 91, 94,123, 93, 45,
+ 41, 37,115, 42, 40, 37, 98,123,125, 41, 37,115, 42, 34, 41,
+ 10, 9, 9, 9, 9, 9, 9,105,102, 32,110,111,116, 32, 98,
+ 32,116,104,101,110, 10, 9, 9, 9, 9, 9, 9, 9, 98, 97,
+ 115,101, 32, 61, 32, 39, 39, 10, 9, 9, 9, 9, 9, 9, 9,
+ 98, 44,101, 44, 98,111,100,121, 44,110, 97,109,101, 32, 61,
+ 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115,
+ 42,116,121,112,101,100,101,102, 37,115, 37,115, 42,115,116,
+ 114,117, 99,116, 37,115, 37,115, 42, 91, 95, 37,119, 93, 42,
+ 37,115, 42, 40, 37, 98,123,125, 41, 37,115, 42, 40, 91, 95,
+ 37,119, 93, 91, 95, 37,119, 64, 93, 42, 41, 37,115, 42, 59,
+ 34, 41, 10, 9, 9, 9, 9, 9, 9,101,110,100, 10, 9, 9,
+ 9, 9, 9,101,110,100, 10, 9, 9, 9, 9,101,110,100, 10,
+ 9, 9, 9,101,108,115,101, 32,100,117,109,109,121, 32, 61,
+ 32, 49, 32,101,110,100, 10, 9, 9,101,108,115,101, 32,100,
+ 117,109,109,121, 32, 61, 32, 49, 32,101,110,100, 10, 9, 9,
+ 105,102, 32, 98, 32,116,104,101,110, 10, 9, 9, 9,105,102,
+ 32, 98, 97,115,101, 32,126, 61, 32, 39, 39, 32,116,104,101,
+ 110, 10, 9, 9, 9, 9, 98, 97,115,101, 32, 61, 32,115,116,
+ 114,105,110,103, 46,103,115,117, 98, 40, 98, 97,115,101, 44,
+ 32, 34, 94, 37,115, 42, 58, 37,115, 42, 34, 44, 32, 34, 34,
+ 41, 10, 9, 9, 9, 9, 98, 97,115,101, 32, 61, 32,115,116,
+ 114,105,110,103, 46,103,115,117, 98, 40, 98, 97,115,101, 44,
+ 32, 34, 37,115, 42,112,117, 98,108,105, 99, 37,115, 42, 34,
+ 44, 32, 34, 34, 41, 10, 9, 9, 9, 9, 98, 97,115,101, 32,
+ 61, 32,115,112,108,105,116, 40, 98, 97,115,101, 44, 32, 34,
+ 44, 34, 41, 10, 9, 9, 9, 9, 45, 45,108,111, 99, 97,108,
+ 32, 98, 44,101, 10, 9, 9, 9, 9, 45, 45, 98, 44,101, 44,
+ 98, 97,115,101, 32, 61, 32,115,116,114,102,105,110,100, 40,
+ 98, 97,115,101, 44, 34, 46, 45, 40, 91, 95, 37,119, 93, 91,
+ 95, 37,119, 60, 62, 44, 58, 93, 42, 41, 36, 34, 41, 10, 9,
+ 9, 9,101,108,115,101, 10, 9, 9, 9, 9, 98, 97,115,101,
+ 32, 61, 32,123,125, 10, 9, 9, 9,101,110,100, 10, 9, 9,
+ 9, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115,
+ 116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 9, 9,
+ 9, 67,108, 97,115,115, 40,110, 97,109,101, 44, 98, 97,115,
+ 101, 44, 98,111,100,121, 41, 10, 9, 9, 9,105,102, 32,110,
+ 111,116, 32,100,117,109,109,121, 32,116,104,101,110, 10, 9,
+ 9, 9, 9,118, 97,114, 98, 44,118, 97,114,101, 44,118, 97,
+ 114,110, 97,109,101, 32, 61, 32,115,116,114,105,110,103, 46,
+ 102,105,110,100, 40,115, 44, 32, 34, 94, 37,115, 42, 40, 91,
+ 95, 37,119, 93, 43, 41, 37,115, 42, 59, 34, 44, 32,101, 43,
+ 49, 41, 10, 9, 9, 9, 9,105,102, 32,118, 97,114, 98, 32,
+ 116,104,101,110, 10, 9, 9, 9, 9, 9, 86, 97,114,105, 97,
+ 98,108,101, 40,110, 97,109,101, 46, 46, 34, 32, 34, 46, 46,
+ 118, 97,114,110, 97,109,101, 41, 10, 9, 9, 9, 9, 9,101,
+ 32, 61, 32,118, 97,114,101, 10, 9, 9, 9, 9,101,110,100,
+ 10, 9, 9, 9,101,110,100, 10, 9, 9, 9,114,101,116,117,
+ 114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49,
+ 41, 10, 9, 9,101,110,100, 10, 9,101,110,100, 10, 10, 32,
+ 45, 45, 32,116,114,121, 32,116,121,112,101,100,101,102, 10,
+ 32,100,111, 10, 32, 32,108,111, 99, 97,108, 32, 98, 44,101,
+ 44,116,121,112,101,115, 32, 61, 32,115,116,114,102,105,110,
+ 100, 40,115, 44, 34, 94, 37,115, 42,116,121,112,101,100,101,
+ 102, 37,115, 37,115, 42, 40, 46, 45, 41, 37,115, 42, 59, 37,
+ 115, 42, 34, 41, 10, 32, 32,105,102, 32, 98, 32,116,104,101,
+ 110, 10, 32, 32, 32, 95, 99,117,114,114, 95, 99,111,100,101,
+ 32, 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,101,
+ 41, 10, 32, 32, 32, 84,121,112,101,100,101,102, 40,116,121,
+ 112,101,115, 41, 10, 32, 32, 32,114,101,116,117,114,110, 32,
+ 115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10, 32,
+ 32,101,110,100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32,
+ 116,114,121, 32,118, 97,114,105, 97, 98,108,101, 10, 32,100,
+ 111, 10, 32, 32,108,111, 99, 97,108, 32, 98, 44,101, 44,100,
+ 101, 99,108, 32, 61, 32,115,116,114,102,105,110,100, 40,115,
+ 44, 34, 94, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95, 64,
+ 37,115, 37,119, 37,100, 37, 42, 38, 58, 60, 62, 44, 93, 42,
+ 91, 95, 37,119, 37,100, 93, 41, 37,115, 42, 59, 37,115, 42,
+ 34, 41, 10, 32, 32,105,102, 32, 98, 32,116,104,101,110, 10,
+ 32, 32, 32, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61,
+ 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10,
+ 10, 9,108,111, 99, 97,108, 32,108,105,115,116, 32, 61, 32,
+ 115,112,108,105,116, 95, 99, 95,116,111,107,101,110,115, 40,
+ 100,101, 99,108, 44, 32, 34, 44, 34, 41, 10, 9, 86, 97,114,
+ 105, 97, 98,108,101, 40,108,105,115,116, 91, 49, 93, 41, 10,
+ 9,105,102, 32,108,105,115,116, 46,110, 32, 62, 32, 49, 32,
+ 116,104,101,110, 10, 9, 9,108,111, 99, 97,108, 32, 95, 44,
+ 95, 44,116,121,112,101, 32, 61, 32,115,116,114,102,105,110,
+ 100, 40,108,105,115,116, 91, 49, 93, 44, 32, 34, 40, 46, 45,
+ 41, 37,115, 43, 40, 91, 94, 37,115, 93, 42, 41, 36, 34, 41,
+ 59, 10, 10, 9, 9,108,111, 99, 97,108, 32,105, 32, 61, 50,
+ 59, 10, 9, 9,119,104,105,108,101, 32,108,105,115,116, 91,
+ 105, 93, 32,100,111, 10, 9, 9, 9, 86, 97,114,105, 97, 98,
+ 108,101, 40,116,121,112,101, 46, 46, 34, 32, 34, 46, 46,108,
+ 105,115,116, 91,105, 93, 41, 10, 9, 9, 9,105, 61,105, 43,
+ 49, 10, 9, 9,101,110,100, 10, 9,101,110,100, 10, 32, 32,
+ 32, 45, 45, 86, 97,114,105, 97, 98,108,101, 40,100,101, 99,
+ 108, 41, 10, 32, 32, 32,114,101,116,117,114,110, 32,115,116,
+ 114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10, 32, 32,101,
+ 110,100, 10, 32,101,110,100, 10, 10, 9, 45, 45, 32,116,114,
+ 121, 32,115,116,114,105,110,103, 10, 32,100,111, 10, 32, 32,
+ 108,111, 99, 97,108, 32, 98, 44,101, 44,100,101, 99,108, 32,
+ 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,
+ 115, 42, 40, 91, 95, 37,119, 93, 63, 91, 95, 37,115, 37,119,
+ 37,100, 93, 45, 99,104, 97,114, 37,115, 43, 91, 95, 64, 37,
+ 119, 37,100, 93, 42, 37,115, 42, 37, 91, 37,115, 42, 37, 83,
+ 43, 37,115, 42, 37, 93, 41, 37,115, 42, 59, 37,115, 42, 34,
+ 41, 10, 32, 32,105,102, 32, 98, 32,116,104,101,110, 10, 32,
+ 32, 32, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,
+ 115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 32,
+ 32, 32, 86, 97,114,105, 97, 98,108,101, 40,100,101, 99,108,
+ 41, 10, 32, 32, 32,114,101,116,117,114,110, 32,115,116,114,
+ 115,117, 98, 40,115, 44,101, 43, 49, 41, 10, 32, 32,101,110,
+ 100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32,116,114,121,
+ 32, 97,114,114, 97,121, 10, 32,100,111, 10, 32, 32,108,111,
+ 99, 97,108, 32, 98, 44,101, 44,100,101, 99,108, 32, 61, 32,
+ 115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42,
+ 40, 91, 95, 37,119, 93, 91, 93, 91, 95, 64, 37,115, 37,119,
+ 37,100, 37, 42, 38, 58, 60, 62, 93, 42, 91, 93, 95, 37,119,
+ 37,100, 93, 41, 37,115, 42, 59, 37,115, 42, 34, 41, 10, 32,
+ 32,105,102, 32, 98, 32,116,104,101,110, 10, 32, 32, 32, 95,
+ 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115,116,114,
+ 115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 32, 32, 32, 65,
+ 114,114, 97,121, 40,100,101, 99,108, 41, 10, 32, 32, 32,114,
+ 101,116,117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,
+ 101, 43, 49, 41, 10, 32, 32,101,110,100, 10, 32,101,110,100,
+ 10, 10, 32, 45, 45, 32,110,111, 32,109, 97,116, 99,104,105,
+ 110,103, 10, 32,105,102, 32,103,115,117, 98, 40,115, 44, 34,
+ 37,115, 37,115, 42, 34, 44, 34, 34, 41, 32,126, 61, 32, 34,
+ 34, 32,116,104,101,110, 10, 32, 32, 95, 99,117,114,114, 95,
+ 99,111,100,101, 32, 61, 32,115, 10, 32, 32,101,114,114,111,
+ 114, 40, 34, 35,112, 97,114,115,101, 32,101,114,114,111,114,
+ 34, 41, 10, 32,101,108,115,101, 10, 32, 32,114,101,116,117,
+ 114,110, 32, 34, 34, 10, 32,101,110,100, 10, 10,101,110,100,
+ 10, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,
+ 115, 67,111,110,116, 97,105,110,101,114, 58,112, 97,114,115,
+ 101, 32, 40,115, 41, 10, 10, 9, 45, 45,115,101,108,102, 46,
+ 99,117,114,114, 95,109,101,109, 98,101,114, 95, 97, 99, 99,
+ 101,115,115, 32, 61, 32,110,105,108, 10, 10, 32,119,104,105,
+ 108,101, 32,115, 32,126, 61, 32, 39, 39, 32,100,111, 10, 32,
+ 32,115, 32, 61, 32,115,101,108,102, 58,100,111,112, 97,114,
+ 115,101, 40,115, 41, 10, 32, 32,109,101,116,104,111,100,105,
+ 115,118,105,114,116,117, 97,108, 32, 61, 32,102, 97,108,115,
+ 101, 10, 32,101,110,100, 10,101,110,100, 10, 10, 10, 45, 45,
+ 32,112,114,111,112,101,114,116,121, 32,116,121,112,101,115,
+ 10, 10,102,117,110, 99,116,105,111,110, 32,103,101,116, 95,
+ 112,114,111,112,101,114,116,121, 95,116,121,112,101, 40, 41,
+ 10, 10, 9,114,101,116,117,114,110, 32, 99,108, 97,115,115,
+ 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 58,
+ 103,101,116, 95,112,114,111,112,101,114,116,121, 95,116,121,
+ 112,101, 40, 41, 10,101,110,100, 10, 10,102,117,110, 99,116,
+ 105,111,110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,
+ 110,101,114, 58,115,101,116, 95,112,114,111,112,101,114,116,
+ 121, 95,116,121,112,101, 40,112,116,121,112,101, 41, 10, 9,
+ 112,116,121,112,101, 32, 61, 32,115,116,114,105,110,103, 46,
+ 103,115,117, 98, 40,112,116,121,112,101, 44, 32, 34, 94, 37,
+ 115, 42, 34, 44, 32, 34, 34, 41, 10, 9,112,116,121,112,101,
+ 32, 61, 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,
+ 112,116,121,112,101, 44, 32, 34, 37,115, 42, 36, 34, 44, 32,
+ 34, 34, 41, 10, 10, 9,115,101,108,102, 46,112,114,111,112,
+ 101,114,116,121, 95,116,121,112,101, 32, 61, 32,112,116,121,
+ 112,101, 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,
+ 110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,
+ 114, 58,103,101,116, 95,112,114,111,112,101,114,116,121, 95,
+ 116,121,112,101, 40, 41, 10, 9,114,101,116,117,114,110, 32,
+ 115,101,108,102, 46,112,114,111,112,101,114,116,121, 95,116,
+ 121,112,101, 32,111,114, 32, 40,115,101,108,102, 46,112, 97,
+ 114,101,110,116, 32, 97,110,100, 32,115,101,108,102, 46,112,
+ 97,114,101,110,116, 58,103,101,116, 95,112,114,111,112,101,
+ 114,116,121, 95,116,121,112,101, 40, 41, 41, 32,111,114, 32,
+ 34,100,101,102, 97,117,108,116, 34, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/container.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32,112, 97, 99,107, 97,
+ 103,101, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,105,
+ 116,116,101,110, 32, 98,121, 32, 87, 97,108,100,101,109, 97,
+ 114, 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67, 71,
+ 114, 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45, 32,
+ 74,117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,100,
+ 58, 32, 36, 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,111,
+ 100,101, 32,105,115, 32,102,114,101,101, 32,115,111,102,116,
+ 119, 97,114,101, 59, 32,121,111,117, 32, 99, 97,110, 32,114,
+ 101,100,105,115,116,114,105, 98,117,116,101, 32,105,116, 32,
+ 97,110,100, 47,111,114, 32,109,111,100,105,102,121, 32,105,
+ 116, 46, 10, 45, 45, 32, 84,104,101, 32,115,111,102,116,119,
+ 97,114,101, 32,112,114,111,118,105,100,101,100, 32,104,101,
+ 114,101,117,110,100,101,114, 32,105,115, 32,111,110, 32, 97,
+ 110, 32, 34, 97,115, 32,105,115, 34, 32, 98, 97,115,105,115,
+ 44, 32, 97,110,100, 10, 45, 45, 32,116,104,101, 32, 97,117,
+ 116,104,111,114, 32,104, 97,115, 32,110,111, 32,111, 98,108,
+ 105,103, 97,116,105,111,110, 32,116,111, 32,112,114,111,118,
+ 105,100,101, 32,109, 97,105,110,116,101,110, 97,110, 99,101,
+ 44, 32,115,117,112,112,111,114,116, 44, 32,117,112,100, 97,
+ 116,101,115, 44, 10, 45, 45, 32,101,110,104, 97,110, 99,101,
+ 109,101,110,116,115, 44, 32,111,114, 32,109,111,100,105,102,
+ 105, 99, 97,116,105,111,110,115, 46, 10, 10, 10, 10, 45, 45,
+ 32, 80, 97, 99,107, 97,103,101, 32, 99,108, 97,115,115, 10,
+ 45, 45, 32, 82,101,112,114,101,115,101,110,116,115, 32,116,
+ 104,101, 32,119,104,111,108,101, 32,112, 97, 99,107, 97,103,
+ 101, 32, 98,101,105,110,103, 32, 98,111,117,110,100, 46, 10,
+ 45, 45, 32, 84,104,101, 32,102,111,108,108,111,119,105,110,
+ 103, 32,102,105,101,108,100,115, 32, 97,114,101, 32,115,116,
+ 111,114,101,100, 58, 10, 45, 45, 32, 32, 32, 32,123,105,125,
+ 32, 61, 32,108,105,115,116, 32,111,102, 32,111, 98,106,101,
+ 99,116,115, 32,105,110, 32,116,104,101, 32,112, 97, 99,107,
+ 97,103,101, 46, 10, 99,108, 97,115,115, 80, 97, 99,107, 97,
+ 103,101, 32, 61, 32,123, 10, 32, 99,108, 97,115,115,116,121,
+ 112,101, 32, 61, 32, 39,112, 97, 99,107, 97,103,101, 39, 10,
+ 125, 10, 99,108, 97,115,115, 80, 97, 99,107, 97,103,101, 46,
+ 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115,
+ 80, 97, 99,107, 97,103,101, 10,115,101,116,109,101,116, 97,
+ 116, 97, 98,108,101, 40, 99,108, 97,115,115, 80, 97, 99,107,
+ 97,103,101, 44, 99,108, 97,115,115, 67,111,110,116, 97,105,
+ 110,101,114, 41, 10, 10, 45, 45, 32, 80,114,105,110,116, 32,
+ 109,101,116,104,111,100, 10,102,117,110, 99,116,105,111,110,
+ 32, 99,108, 97,115,115, 80, 97, 99,107, 97,103,101, 58,112,
+ 114,105,110,116, 32, 40, 41, 10, 32,112,114,105,110,116, 40,
+ 34, 80, 97, 99,107, 97,103,101, 58, 32, 34, 46, 46,115,101,
+ 108,102, 46,110, 97,109,101, 41, 10, 32,108,111, 99, 97,108,
+ 32,105, 61, 49, 10, 32,119,104,105,108,101, 32,115,101,108,
+ 102, 91,105, 93, 32,100,111, 10, 32, 32,115,101,108,102, 91,
+ 105, 93, 58,112,114,105,110,116, 40, 34, 34, 44, 34, 34, 41,
+ 10, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32,101,110,100,
+ 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,110, 32,
+ 99,108, 97,115,115, 80, 97, 99,107, 97,103,101, 58,112,114,
+ 101,112,114,111, 99,101,115,115, 32, 40, 41, 10, 10, 32, 45,
+ 45, 32, 97,118,111,105,100, 32,112,114,101,112,114,111, 99,
+ 101,115,115,105,110,103, 32,101,109, 98,101,100,100,101,100,
+ 32, 76,117, 97, 32, 99,111,100,101, 10, 32,108,111, 99, 97,
+ 108, 32, 76, 32, 61, 32,123,125, 10, 32,115,101,108,102, 46,
+ 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,
+ 102, 46, 99,111,100,101, 44, 34, 92,110, 37,115, 42, 37, 36,
+ 37, 91, 34, 44, 34, 92, 49, 34, 41, 32, 45, 45, 32,100,101,
+ 97,108, 32,119,105,116,104, 32,101,109, 98,101,100,100,101,
+ 100, 32,108,117, 97, 32, 99,111,100,101, 10, 32,115,101,108,
+ 102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,
+ 101,108,102, 46, 99,111,100,101, 44, 34, 92,110, 37,115, 42,
+ 37, 36, 37, 93, 34, 44, 34, 92, 50, 34, 41, 10, 32,115,101,
+ 108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,
+ 115,101,108,102, 46, 99,111,100,101, 44, 34, 40, 37, 98, 92,
+ 49, 92, 50, 41, 34, 44, 32, 32, 32, 32, 32, 32, 32,102,117,
+ 110, 99,116,105,111,110, 32, 40, 99, 41, 10, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,116,105,
+ 110,115,101,114,116, 40, 76, 44, 99, 41, 10, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,114,101,
+ 116,117,114,110, 32, 34, 92,110, 35, 91, 34, 46, 46,103,101,
+ 116,110, 40, 76, 41, 46, 46, 34, 93, 35, 34, 10, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,
+ 100, 41, 10, 32, 45, 45, 32, 97,118,111,105,100, 32,112,114,
+ 101,112,114,111, 99,101,115,115,105,110,103, 32,101,109, 98,
+ 101,100,100,101,100, 32, 67, 32, 99,111,100,101, 10, 32,108,
+ 111, 99, 97,108, 32, 67, 32, 61, 32,123,125, 10, 32,115,101,
+ 108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,
+ 115,101,108,102, 46, 99,111,100,101, 44, 34, 92,110, 37,115,
+ 42, 37, 36, 37, 60, 34, 44, 34, 92, 51, 34, 41, 32, 45, 45,
+ 32,100,101, 97,108, 32,119,105,116,104, 32,101,109, 98,101,
+ 100,100,101,100, 32, 67, 32, 99,111,100,101, 10, 32,115,101,
+ 108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,
+ 115,101,108,102, 46, 99,111,100,101, 44, 34, 92,110, 37,115,
+ 42, 37, 36, 37, 62, 34, 44, 34, 92, 52, 34, 41, 10, 32,115,
+ 101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98,
+ 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 40, 37, 98,
+ 92, 51, 92, 52, 41, 34, 44, 32, 32, 32, 32, 32, 32, 32,102,
+ 117,110, 99,116,105,111,110, 32, 40, 99, 41, 10, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,116,
+ 105,110,115,101,114,116, 40, 67, 44, 99, 41, 10, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,114,
+ 101,116,117,114,110, 32, 34, 92,110, 35, 60, 34, 46, 46,103,
+ 101,116,110, 40, 67, 41, 46, 46, 34, 62, 35, 34, 10, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,
+ 110,100, 41, 10, 32, 45, 45, 32, 97,118,111,105,100, 32,112,
+ 114,101,112,114,111, 99,101,115,115,105,110,103, 32,101,109,
+ 98,101,100,100,101,100, 32, 67, 32, 99,111,100,101, 10, 32,
+ 115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117,
+ 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 92,110,
+ 37,115, 42, 37, 36, 37,123, 34, 44, 34, 92, 53, 34, 41, 32,
+ 45, 45, 32,100,101, 97,108, 32,119,105,116,104, 32,101,109,
+ 98,101,100,100,101,100, 32, 67, 32, 99,111,100,101, 10, 32,
+ 115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117,
+ 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 92,110,
+ 37,115, 42, 37, 36, 37,125, 34, 44, 34, 92, 54, 34, 41, 10,
+ 32,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,
+ 117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 40,
+ 37, 98, 92, 53, 92, 54, 41, 34, 44, 32, 32, 32, 32, 32, 32,
+ 32,102,117,110, 99,116,105,111,110, 32, 40, 99, 41, 10, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32,116,105,110,115,101,114,116, 40, 67, 44, 99, 41, 10, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32,114,101,116,117,114,110, 32, 34, 92,110, 35, 60, 34, 46,
+ 46,103,101,116,110, 40, 67, 41, 46, 46, 34, 62, 35, 34, 10,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32,101,110,100, 41, 10, 10, 32, 45, 45,115,101,108,102, 46,
+ 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,
+ 102, 46, 99,111,100,101, 44, 34, 92,110, 37,115, 42, 35, 91,
+ 94,100, 93, 91, 94, 92,110, 93, 42, 92,110, 34, 44, 32, 34,
+ 92,110, 92,110, 34, 41, 32, 45, 45, 32,101,108,105,109,105,
+ 110, 97,116,101, 32,112,114,101,112,114,111, 99,101,115,115,
+ 111,114, 32,100,105,114,101, 99,116,105,118,101,115, 32,116,
+ 104, 97,116, 32,100,111,110, 39,116, 32,115,116, 97,114,116,
+ 32,119,105,116,104, 32, 39,100, 39, 10, 32,115,101,108,102,
+ 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,
+ 108,102, 46, 99,111,100,101, 44, 34, 92,110, 91, 32, 92,116,
+ 93, 42, 35, 91, 32, 92,116, 93, 42, 91, 94,100, 37, 60, 37,
+ 91, 93, 34, 44, 32, 34, 92,110, 47, 47, 34, 41, 32, 45, 45,
+ 32,101,108,105,109,105,110, 97,116,101, 32,112,114,101,112,
+ 114,111, 99,101,115,115,111,114, 32,100,105,114,101, 99,116,
+ 105,118,101,115, 32,116,104, 97,116, 32,100,111,110, 39,116,
+ 32,115,116, 97,114,116, 32,119,105,116,104, 32, 39,100, 39,
+ 10, 10, 32, 45, 45, 32, 97,118,111,105,100, 32,112,114,101,
+ 112,114,111, 99,101,115,115,105,110,103, 32,118,101,114, 98,
+ 97,116,105,109, 32,108,105,110,101,115, 10, 32,108,111, 99,
+ 97,108, 32, 86, 32, 61, 32,123,125, 10, 32,115,101,108,102,
+ 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,
+ 108,102, 46, 99,111,100,101, 44, 34, 92,110, 40, 37,115, 42,
+ 37, 36, 91, 94, 37, 91, 37, 93, 93, 91, 94, 92,110, 93, 42,
+ 41, 34, 44,102,117,110, 99,116,105,111,110, 32, 40,118, 41,
+ 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32,116,105,110,115,101,114,116, 40, 86, 44,118, 41,
+ 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32,114,101,116,117,114,110, 32, 34, 92,110, 35, 34,
+ 46, 46,103,101,116,110, 40, 86, 41, 46, 46, 34, 35, 34, 10,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32,101,110,100, 41, 10, 10, 32, 45, 45, 32,112,101,114,102,
+ 111,114,109, 32,103,108,111, 98, 97,108, 32,115,117, 98,115,
+ 116,105,116,117,116,105,111,110, 10, 10, 32,115,101,108,102,
+ 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,
+ 108,102, 46, 99,111,100,101, 44, 34, 40, 47, 47, 91, 94, 92,
+ 110, 93, 42, 41, 34, 44, 34, 34, 41, 32, 32, 32, 32, 32, 45,
+ 45, 32,101,108,105,109,105,110, 97,116,101, 32, 67, 43, 43,
+ 32, 99,111,109,109,101,110,116,115, 10, 32,115,101,108,102,
+ 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,
+ 108,102, 46, 99,111,100,101, 44, 34, 47, 37, 42, 34, 44, 34,
+ 92, 49, 34, 41, 10, 32,115,101,108,102, 46, 99,111,100,101,
+ 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,
+ 100,101, 44, 34, 37, 42, 47, 34, 44, 34, 92, 50, 34, 41, 10,
+ 32,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,
+ 117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 37,
+ 98, 92, 49, 92, 50, 34, 44, 34, 34, 41, 10, 32,115,101,108,
+ 102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,
+ 101,108,102, 46, 99,111,100,101, 44, 34, 92, 49, 34, 44, 34,
+ 47, 37, 42, 34, 41, 10, 32,115,101,108,102, 46, 99,111,100,
+ 101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,
+ 111,100,101, 44, 34, 92, 50, 34, 44, 34, 37, 42, 47, 34, 41,
+ 10, 32,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,
+ 115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34,
+ 37,115, 42, 64, 37,115, 42, 34, 44, 34, 64, 34, 41, 32, 45,
+ 45, 32,101,108,105,109,105,110, 97,116,101, 32,115,112, 97,
+ 99,101,115, 32, 98,101,115,105,100,101, 32, 64, 10, 32,115,
+ 101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98,
+ 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 37,115, 63,
+ 105,110,108,105,110,101, 40, 37,115, 41, 34, 44, 34, 37, 49,
+ 34, 41, 32, 45, 45, 32,101,108,105,109,105,110, 97,116,101,
+ 32, 39,105,110,108,105,110,101, 39, 32,107,101,121,119,111,
+ 114,100, 10, 32, 45, 45,115,101,108,102, 46, 99,111,100,101,
+ 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,
+ 100,101, 44, 34, 37,115, 63,101,120,116,101,114,110, 40, 37,
+ 115, 41, 34, 44, 34, 37, 49, 34, 41, 32, 45, 45, 32,101,108,
+ 105,109,105,110, 97,116,101, 32, 39,101,120,116,101,114,110,
+ 39, 32,107,101,121,119,111,114,100, 10, 32, 45, 45,115,101,
+ 108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,
+ 115,101,108,102, 46, 99,111,100,101, 44, 34, 37,115, 63,118,
+ 105,114,116,117, 97,108, 40, 37,115, 41, 34, 44, 34, 37, 49,
+ 34, 41, 32, 45, 45, 32,101,108,105,109,105,110, 97,116,101,
+ 32, 39,118,105,114,116,117, 97,108, 39, 32,107,101,121,119,
+ 111,114,100, 10, 32, 45, 45,115,101,108,102, 46, 99,111,100,
+ 101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,
+ 111,100,101, 44, 34,112,117, 98,108,105, 99, 58, 34, 44, 34,
+ 34, 41, 32, 45, 45, 32,101,108,105,109,105,110, 97,116,101,
+ 32, 39,112,117, 98,108,105, 99, 58, 39, 32,107,101,121,119,
+ 111,114,100, 10, 32,115,101,108,102, 46, 99,111,100,101, 32,
+ 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,
+ 101, 44, 34, 40, 91, 94, 37,119, 95, 93, 41,118,111,105,100,
+ 37,115, 42, 37, 42, 34, 44, 34, 37, 49, 95,117,115,101,114,
+ 100, 97,116, 97, 32, 34, 41, 32, 45, 45, 32,115,117, 98,115,
+ 116,105,116,117,116,101, 32, 39,118,111,105,100, 42, 39, 10,
+ 32,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,
+ 117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 40,
+ 91, 94, 37,119, 95, 93, 41,118,111,105,100, 37,115, 42, 37,
+ 42, 34, 44, 34, 37, 49, 95,117,115,101,114,100, 97,116, 97,
+ 32, 34, 41, 32, 45, 45, 32,115,117, 98,115,116,105,116,117,
+ 116,101, 32, 39,118,111,105,100, 42, 39, 10, 32,115,101,108,
+ 102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,
+ 101,108,102, 46, 99,111,100,101, 44, 34, 40, 91, 94, 37,119,
+ 95, 93, 41, 99,104, 97,114, 37,115, 42, 37, 42, 34, 44, 34,
+ 37, 49, 95, 99,115,116,114,105,110,103, 32, 34, 41, 32, 32,
+ 45, 45, 32,115,117, 98,115,116,105,116,117,116,101, 32, 39,
+ 99,104, 97,114, 42, 39, 10, 32,115,101,108,102, 46, 99,111,
+ 100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46,
+ 99,111,100,101, 44, 34, 40, 91, 94, 37,119, 95, 93, 41,108,
+ 117, 97, 95, 83,116, 97,116,101, 37,115, 42, 37, 42, 34, 44,
+ 34, 37, 49, 95,108,115,116, 97,116,101, 32, 34, 41, 32, 32,
+ 45, 45, 32,115,117, 98,115,116,105,116,117,116,101, 32, 39,
+ 108,117, 97, 95, 83,116, 97,116,101, 42, 39, 10, 10, 32, 45,
+ 45, 32,114,101,115,116,111,114,101, 32,101,109, 98,101,100,
+ 100,101,100, 32, 76,117, 97, 32, 99,111,100,101, 10, 32,115,
+ 101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98,
+ 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 37, 35, 37,
+ 91, 40, 37,100, 43, 41, 37, 93, 37, 35, 34, 44,102,117,110,
+ 99,116,105,111,110, 32, 40,110, 41, 10, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,114,101,116,117,
+ 114,110, 32, 76, 91,116,111,110,117,109, 98,101,114, 40,110,
+ 41, 93, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32,101,110,100, 41, 10, 32, 45, 45, 32,114,101,115,116,
+ 111,114,101, 32,101,109, 98,101,100,100,101,100, 32, 67, 32,
+ 99,111,100,101, 10, 32,115,101,108,102, 46, 99,111,100,101,
+ 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,
+ 100,101, 44, 34, 37, 35, 37, 60, 40, 37,100, 43, 41, 37, 62,
+ 37, 35, 34, 44,102,117,110, 99,116,105,111,110, 32, 40,110,
+ 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32,114,101,116,117,114,110, 32, 67, 91,116,111,110,117,
+ 109, 98,101,114, 40,110, 41, 93, 10, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 32, 45,
+ 45, 32,114,101,115,116,111,114,101, 32,118,101,114, 98, 97,
+ 116,105,109, 32,108,105,110,101,115, 10, 32,115,101,108,102,
+ 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,
+ 108,102, 46, 99,111,100,101, 44, 34, 37, 35, 40, 37,100, 43,
+ 41, 37, 35, 34, 44,102,117,110, 99,116,105,111,110, 32, 40,
+ 110, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,114,
+ 101,116,117,114,110, 32, 86, 91,116,111,110,117,109, 98,101,
+ 114, 40,110, 41, 93, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32,101,110,100, 41, 10, 10, 32,115,101,108,102, 46, 99,111,
+ 100,101, 32, 61, 32,115,116,114,105,110,103, 46,103,115,117,
+ 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 32, 34, 92,
+ 110, 37,115, 42, 37, 36, 40, 91, 94, 92,110, 93, 43, 41, 34,
+ 44, 32,102,117,110, 99,116,105,111,110, 32, 40,108, 41, 10,
+ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 86,101,114, 98,
+ 97,116,105,109, 40,108, 46, 46, 34, 92,110, 34, 41, 10, 9,
+ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,114,101,116,117,114,
+ 110, 32, 34, 92,110, 34, 10, 9, 9, 9, 9, 9, 9, 9, 9,
+ 9, 9, 32, 32,101,110,100, 41, 10,101,110,100, 10, 10, 45,
+ 45, 32,116,114, 97,110,115,108, 97,116,101, 32,118,101,114,
+ 98, 97,116,105,109, 10,102,117,110, 99,116,105,111,110, 32,
+ 99,108, 97,115,115, 80, 97, 99,107, 97,103,101, 58,112,114,
+ 101, 97,109, 98,108,101, 32, 40, 41, 10, 32,111,117,116,112,
+ 117,116, 40, 39, 47, 42, 92,110, 39, 41, 10, 32,111,117,116,
+ 112,117,116, 40, 39, 42, 42, 32, 76,117, 97, 32, 98,105,110,
+ 100,105,110,103, 58, 32, 39, 46, 46,115,101,108,102, 46,110,
+ 97,109,101, 46, 46, 39, 92,110, 39, 41, 10, 32,111,117,116,
+ 112,117,116, 40, 39, 42, 42, 32, 71,101,110,101,114, 97,116,
+ 101,100, 32, 97,117,116,111,109, 97,116,105, 99, 97,108,108,
+ 121, 32, 98,121, 32, 39, 46, 46, 84, 79, 76, 85, 65, 95, 86,
+ 69, 82, 83, 73, 79, 78, 46, 46, 39, 32,111,110, 32, 39, 46,
+ 46,100, 97,116,101, 40, 41, 46, 46, 39, 46, 92,110, 39, 41,
+ 10, 32,111,117,116,112,117,116, 40, 39, 42, 47, 92,110, 92,
+ 110, 39, 41, 10, 10, 9,111,117,116,112,117,116, 40, 39, 35,
+ 105,102,110,100,101,102, 32, 95, 95, 99,112,108,117,115,112,
+ 108,117,115, 92,110, 39, 41, 10, 9,111,117,116,112,117,116,
+ 40, 39, 35,105,110, 99,108,117,100,101, 32, 34,115,116,100,
+ 108,105, 98, 46,104, 34, 92,110, 39, 41, 10, 9,111,117,116,
+ 112,117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41,
+ 10, 9,111,117,116,112,117,116, 40, 39, 35,105,110, 99,108,
+ 117,100,101, 32, 34,115,116,114,105,110,103, 46,104, 34, 92,
+ 110, 92,110, 39, 41, 10, 32,111,117,116,112,117,116, 40, 39,
+ 35,105,110, 99,108,117,100,101, 32, 34,116,111,108,117, 97,
+ 43, 43, 46,104, 34, 92,110, 92,110, 39, 41, 10, 10, 32,105,
+ 102, 32,110,111,116, 32,102,108, 97,103,115, 46,104, 32,116,
+ 104,101,110, 10, 32, 32,111,117,116,112,117,116, 40, 39, 47,
+ 42, 32, 69,120,112,111,114,116,101,100, 32,102,117,110, 99,
+ 116,105,111,110, 32, 42, 47, 39, 41, 10, 32, 32,111,117,116,
+ 112,117,116, 40, 39, 84, 79, 76, 85, 65, 95, 65, 80, 73, 32,
+ 105,110,116, 32, 32,116,111,108,117, 97, 95, 39, 46, 46,115,
+ 101,108,102, 46,110, 97,109,101, 46, 46, 39, 95,111,112,101,
+ 110, 32, 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32,116,
+ 111,108,117, 97, 95, 83, 41, 59, 39, 41, 10, 32, 32,111,117,
+ 116,112,117,116, 40, 39, 92,110, 39, 41, 10, 32,101,110,100,
+ 10, 10, 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32,119,
+ 104,105,108,101, 32,115,101,108,102, 91,105, 93, 32,100,111,
+ 10, 32, 32,115,101,108,102, 91,105, 93, 58,112,114,101, 97,
+ 109, 98,108,101, 40, 41, 10, 32, 32,105, 32, 61, 32,105, 43,
+ 49, 10, 32,101,110,100, 10, 10, 9,105,102, 32,115,101,108,
+ 102, 58,114,101,113,117,105,114,101, 99,111,108,108,101, 99,
+ 116,105,111,110, 40, 95, 99,111,108,108,101, 99,116, 41, 32,
+ 116,104,101,110, 10, 9, 9,111,117,116,112,117,116, 40, 39,
+ 92,110, 39, 41, 10, 9, 9,111,117,116,112,117,116, 40, 39,
+ 47, 42, 32,102,117,110, 99,116,105,111,110, 32,116,111, 32,
+ 114,101,108,101, 97,115,101, 32, 99,111,108,108,101, 99,116,
+ 101,100, 32,111, 98,106,101, 99,116, 32,118,105, 97, 32,100,
+ 101,115,116,114,117, 99,116,111,114, 32, 42, 47, 39, 41, 10,
+ 9, 9,111,117,116,112,117,116, 40, 39, 35,105,102,100,101,
+ 102, 32, 95, 95, 99,112,108,117,115,112,108,117,115, 92,110,
+ 39, 41, 10, 9, 9,102,111,114, 32,105, 44,118, 32,105,110,
+ 32,112, 97,105,114,115, 40, 95, 99,111,108,108,101, 99,116,
+ 41, 32,100,111, 10, 9, 9, 32,111,117,116,112,117,116, 40,
+ 39, 92,110,115,116, 97,116,105, 99, 32,105,110,116, 32, 39,
+ 46, 46,118, 46, 46, 39, 32, 40,108,117, 97, 95, 83,116, 97,
+ 116,101, 42, 32,116,111,108,117, 97, 95, 83, 41, 39, 41, 10,
+ 9, 9, 9,111,117,116,112,117,116, 40, 39,123, 39, 41, 10,
+ 9, 9, 9,111,117,116,112,117,116, 40, 39, 32, 39, 46, 46,
+ 105, 46, 46, 39, 42, 32,115,101,108,102, 32, 61, 32, 40, 39,
+ 46, 46,105, 46, 46, 39, 42, 41, 32,116,111,108,117, 97, 95,
+ 116,111,117,115,101,114,116,121,112,101, 40,116,111,108,117,
+ 97, 95, 83, 44, 49, 44, 48, 41, 59, 39, 41, 10, 9, 9, 9,
+ 111,117,116,112,117,116, 40, 39, 9, 77,116,111,108,117, 97,
+ 95,100,101,108,101,116,101, 40,115,101,108,102, 41, 59, 39,
+ 41, 10, 9, 9, 9,111,117,116,112,117,116, 40, 39, 9,114,
+ 101,116,117,114,110, 32, 48, 59, 39, 41, 10, 9, 9, 9,111,
+ 117,116,112,117,116, 40, 39,125, 39, 41, 10, 9, 9,101,110,
+ 100, 10, 9, 9,111,117,116,112,117,116, 40, 39, 35,101,110,
+ 100,105,102, 92,110, 92,110, 39, 41, 10, 9,101,110,100, 10,
+ 10, 32,111,117,116,112,117,116, 40, 39, 92,110, 39, 41, 10,
+ 32,111,117,116,112,117,116, 40, 39, 47, 42, 32,102,117,110,
+ 99,116,105,111,110, 32,116,111, 32,114,101,103,105,115,116,
+ 101,114, 32,116,121,112,101, 32, 42, 47, 39, 41, 10, 32,111,
+ 117,116,112,117,116, 40, 39,115,116, 97,116,105, 99, 32,118,
+ 111,105,100, 32,116,111,108,117, 97, 95,114,101,103, 95,116,
+ 121,112,101,115, 32, 40,108,117, 97, 95, 83,116, 97,116,101,
+ 42, 32,116,111,108,117, 97, 95, 83, 41, 39, 41, 10, 32,111,
+ 117,116,112,117,116, 40, 39,123, 39, 41, 10, 10, 9,105,102,
+ 32,102,108, 97,103,115, 46,116, 32,116,104,101,110, 10, 9,
+ 9,111,117,116,112,117,116, 40, 34, 35,105,102,110,100,101,
+ 102, 32, 77,116,111,108,117, 97, 95,116,121,112,101,105,100,
+ 92,110, 35,100,101,102,105,110,101, 32, 77,116,111,108,117,
+ 97, 95,116,121,112,101,105,100, 40, 76, 44, 84, 73, 44, 84,
+ 41, 92,110, 35,101,110,100,105,102, 92,110, 34, 41, 10, 9,
+ 101,110,100, 10, 9,102,111,114,101, 97, 99,104, 40, 95,117,
+ 115,101,114,116,121,112,101, 44,102,117,110, 99,116,105,111,
+ 110, 40,110, 44,118, 41, 10, 9, 9,105,102, 32, 40,110,111,
+ 116, 32, 95,103,108,111, 98, 97,108, 95, 99,108, 97,115,115,
+ 101,115, 91,118, 93, 41, 32,111,114, 32, 95,103,108,111, 98,
+ 97,108, 95, 99,108, 97,115,115,101,115, 91,118, 93, 58, 99,
+ 104,101, 99,107, 95,112,117, 98,108,105, 99, 95, 97, 99, 99,
+ 101,115,115, 40, 41, 32,116,104,101,110, 10, 9, 9, 9,111,
+ 117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,117,
+ 115,101,114,116,121,112,101, 40,116,111,108,117, 97, 95, 83,
+ 44, 34, 39, 44,118, 44, 39, 34, 41, 59, 39, 41, 10, 9, 9,
+ 9,105,102, 32,102,108, 97,103,115, 46,116, 32,116,104,101,
+ 110, 10, 9, 9, 9, 9,111,117,116,112,117,116, 40, 39, 32,
+ 77,116,111,108,117, 97, 95,116,121,112,101,105,100, 40,116,
+ 111,108,117, 97, 95, 83, 44,116,121,112,101,105,100, 40, 39,
+ 44,118, 44, 39, 41, 44, 32, 34, 39, 44,118, 44, 39, 34, 41,
+ 59, 39, 41, 10, 9, 9, 9,101,110,100, 10, 9, 9,101,110,
+ 100, 10, 9, 32,101,110,100, 41, 10, 32,111,117,116,112,117,
+ 116, 40, 39,125, 39, 41, 10, 32,111,117,116,112,117,116, 40,
+ 39, 92,110, 39, 41, 10,101,110,100, 10, 10, 45, 45, 32,114,
+ 101,103,105,115,116,101,114, 32,112, 97, 99,107, 97,103,101,
+ 10, 45, 45, 32,119,114,105,116,101, 32,112, 97, 99,107, 97,
+ 103,101, 32,111,112,101,110, 32,102,117,110, 99,116,105,111,
+ 110, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,
+ 115, 80, 97, 99,107, 97,103,101, 58,114,101,103,105,115,116,
+ 101,114, 32, 40,112,114,101, 41, 10, 32,112,114,101, 32, 61,
+ 32,112,114,101, 32,111,114, 32, 39, 39, 10, 32,112,117,115,
+ 104, 40,115,101,108,102, 41, 10, 32,111,117,116,112,117,116,
+ 40,112,114,101, 46, 46, 34, 47, 42, 32, 79,112,101,110, 32,
+ 102,117,110, 99,116,105,111,110, 32, 42, 47, 34, 41, 10, 32,
+ 111,117,116,112,117,116, 40,112,114,101, 46, 46, 34, 84, 79,
+ 76, 85, 65, 95, 65, 80, 73, 32,105,110,116, 32,116,111,108,
+ 117, 97, 95, 34, 46, 46,115,101,108,102, 46,110, 97,109,101,
+ 46, 46, 34, 95,111,112,101,110, 32, 40,108,117, 97, 95, 83,
+ 116, 97,116,101, 42, 32,116,111,108,117, 97, 95, 83, 41, 34,
+ 41, 10, 32,111,117,116,112,117,116, 40,112,114,101, 46, 46,
+ 34,123, 34, 41, 10, 32,111,117,116,112,117,116, 40,112,114,
+ 101, 46, 46, 34, 32,116,111,108,117, 97, 95,111,112,101,110,
+ 40,116,111,108,117, 97, 95, 83, 41, 59, 34, 41, 10, 32,111,
+ 117,116,112,117,116, 40,112,114,101, 46, 46, 34, 32,116,111,
+ 108,117, 97, 95,114,101,103, 95,116,121,112,101,115, 40,116,
+ 111,108,117, 97, 95, 83, 41, 59, 34, 41, 10, 32,111,117,116,
+ 112,117,116, 40,112,114,101, 46, 46, 34, 32,116,111,108,117,
+ 97, 95,109,111,100,117,108,101, 40,116,111,108,117, 97, 95,
+ 83, 44, 78, 85, 76, 76, 44, 34, 44,115,101,108,102, 58,104,
+ 97,115,118, 97,114, 40, 41, 44, 34, 41, 59, 34, 41, 10, 32,
+ 111,117,116,112,117,116, 40,112,114,101, 46, 46, 34, 32,116,
+ 111,108,117, 97, 95, 98,101,103,105,110,109,111,100,117,108,
+ 101, 40,116,111,108,117, 97, 95, 83, 44, 78, 85, 76, 76, 41,
+ 59, 34, 41, 10, 32,108,111, 99, 97,108, 32,105, 61, 49, 10,
+ 32,119,104,105,108,101, 32,115,101,108,102, 91,105, 93, 32,
+ 100,111, 10, 32, 32,115,101,108,102, 91,105, 93, 58,114,101,
+ 103,105,115,116,101,114, 40,112,114,101, 46, 46, 34, 32, 32,
+ 34, 41, 10, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32,101,
+ 110,100, 10, 32,111,117,116,112,117,116, 40,112,114,101, 46,
+ 46, 34, 32,116,111,108,117, 97, 95,101,110,100,109,111,100,
+ 117,108,101, 40,116,111,108,117, 97, 95, 83, 41, 59, 34, 41,
+ 10, 32,111,117,116,112,117,116, 40,112,114,101, 46, 46, 34,
+ 32,114,101,116,117,114,110, 32, 49, 59, 34, 41, 10, 32,111,
+ 117,116,112,117,116, 40,112,114,101, 46, 46, 34,125, 34, 41,
+ 10, 10, 32,111,117,116,112,117,116, 40, 34, 92,110, 92,110,
+ 34, 41, 10, 32,111,117,116,112,117,116, 40, 34, 35,105,102,
+ 32,100,101,102,105,110,101,100, 40, 76, 85, 65, 95, 86, 69,
+ 82, 83, 73, 79, 78, 95, 78, 85, 77, 41, 32, 38, 38, 32, 76,
+ 85, 65, 95, 86, 69, 82, 83, 73, 79, 78, 95, 78, 85, 77, 32,
+ 62, 61, 32, 53, 48, 49, 92,110, 34, 41, 59, 10, 32,111,117,
+ 116,112,117,116, 40,112,114,101, 46, 46, 34, 84, 79, 76, 85,
+ 65, 95, 65, 80, 73, 32,105,110,116, 32,108,117, 97,111,112,
+ 101,110, 95, 34, 46, 46,115,101,108,102, 46,110, 97,109,101,
+ 46, 46, 34, 32, 40,108,117, 97, 95, 83,116, 97,116,101, 42,
+ 32,116,111,108,117, 97, 95, 83, 41, 32,123, 34, 41, 10, 32,
+ 111,117,116,112,117,116, 40,112,114,101, 46, 46, 34, 32,114,
+ 101,116,117,114,110, 32,116,111,108,117, 97, 95, 34, 46, 46,
+ 115,101,108,102, 46,110, 97,109,101, 46, 46, 34, 95,111,112,
+ 101,110, 40,116,111,108,117, 97, 95, 83, 41, 59, 34, 41, 10,
+ 32,111,117,116,112,117,116, 40,112,114,101, 46, 46, 34,125,
+ 59, 34, 41, 10, 32,111,117,116,112,117,116, 40, 34, 35,101,
+ 110,100,105,102, 92,110, 92,110, 34, 41, 10, 10, 9,112,111,
+ 112, 40, 41, 10,101,110,100, 10, 10, 45, 45, 32,119,114,105,
+ 116,101, 32,104,101, 97,100,101,114, 32,102,105,108,101, 10,
+ 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 80,
+ 97, 99,107, 97,103,101, 58,104,101, 97,100,101,114, 32, 40,
+ 41, 10, 32,111,117,116,112,117,116, 40, 39, 47, 42, 92,110,
+ 39, 41, 32,111,117,116,112,117,116, 40, 39, 42, 42, 32, 76,
+ 117, 97, 32, 98,105,110,100,105,110,103, 58, 32, 39, 46, 46,
+ 115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 92,110, 39,
+ 41, 10, 32,111,117,116,112,117,116, 40, 39, 42, 42, 32, 71,
+ 101,110,101,114, 97,116,101,100, 32, 97,117,116,111,109, 97,
+ 116,105, 99, 97,108,108,121, 32, 98,121, 32, 39, 46, 46, 84,
+ 79, 76, 85, 65, 95, 86, 69, 82, 83, 73, 79, 78, 46, 46, 39,
+ 32,111,110, 32, 39, 46, 46,100, 97,116,101, 40, 41, 46, 46,
+ 39, 46, 92,110, 39, 41, 10, 32,111,117,116,112,117,116, 40,
+ 39, 42, 47, 92,110, 92,110, 39, 41, 10, 10, 32,105,102, 32,
+ 110,111,116, 32,102,108, 97,103,115, 46,104, 32,116,104,101,
+ 110, 10, 32, 32,111,117,116,112,117,116, 40, 39, 47, 42, 32,
+ 69,120,112,111,114,116,101,100, 32,102,117,110, 99,116,105,
+ 111,110, 32, 42, 47, 39, 41, 10, 32, 32,111,117,116,112,117,
+ 116, 40, 39, 84, 79, 76, 85, 65, 95, 65, 80, 73, 32,105,110,
+ 116, 32, 32,116,111,108,117, 97, 95, 39, 46, 46,115,101,108,
+ 102, 46,110, 97,109,101, 46, 46, 39, 95,111,112,101,110, 32,
+ 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32,116,111,108,
+ 117, 97, 95, 83, 41, 59, 39, 41, 10, 32, 32,111,117,116,112,
+ 117,116, 40, 39, 92,110, 39, 41, 10, 32,101,110,100, 10,101,
+ 110,100, 10, 10, 45, 45, 32, 73,110,116,101,114,110, 97,108,
+ 32, 99,111,110,115,116,114,117, 99,116,111,114, 10,102,117,
+ 110, 99,116,105,111,110, 32, 95, 80, 97, 99,107, 97,103,101,
+ 32, 40,115,101,108,102, 41, 10, 32,115,101,116,109,101,116,
+ 97,116, 97, 98,108,101, 40,115,101,108,102, 44, 99,108, 97,
+ 115,115, 80, 97, 99,107, 97,103,101, 41, 10, 32,114,101,116,
+ 117,114,110, 32,115,101,108,102, 10,101,110,100, 10, 10, 45,
+ 45, 32, 80, 97,114,115,101, 32, 67, 32,104,101, 97,100,101,
+ 114, 32,102,105,108,101, 32,119,105,116,104, 32,116,111,108,
+ 117, 97, 32,100,105,114,101, 99,116,105,118,101,115, 10, 45,
+ 45, 32, 42, 42, 42, 32, 84,104, 97,110,107,115, 32,116,111,
+ 32, 65,114,105,101,108, 32, 77, 97,110,122,117,114, 32,102,
+ 111,114, 32,102,105,120,105,110,103, 32, 98,117,103,115, 32,
+ 105,110, 32,110,101,115,116,101,100, 32,100,105,114,101, 99,
+ 116,105,118,101,115, 32, 42, 42, 42, 10,102,117,110, 99,116,
+ 105,111,110, 32,101,120,116,114, 97, 99,116, 95, 99,111,100,
+ 101, 40,102,110, 44,115, 41, 10, 9,108,111, 99, 97,108, 32,
+ 99,111,100,101, 32, 61, 32, 39, 92,110, 36, 35,105,110, 99,
+ 108,117,100,101, 32, 34, 39, 46, 46,102,110, 46, 46, 39, 34,
+ 92,110, 39, 10, 9,115, 61, 32, 34, 92,110, 34, 32, 46, 46,
+ 32,115, 32, 46, 46, 32, 34, 92,110, 34, 32, 45, 45, 32, 97,
+ 100,100, 32, 98,108, 97,110,107, 32,108,105,110,101,115, 32,
+ 97,115, 32,115,101,110,116,105,110,101,108,115, 10, 9,108,
+ 111, 99, 97,108, 32, 95, 44,101, 44, 99, 44,116, 32, 61, 32,
+ 115,116,114,102,105,110,100, 40,115, 44, 32, 34, 92,110, 40,
+ 91, 94, 92,110, 93, 45, 41, 91, 84,116, 93, 91, 79,111, 93,
+ 91, 76,108, 93, 91, 85,117, 93, 91, 65, 97, 93, 95, 40, 91,
+ 94, 37,115, 93, 42, 41, 91, 94, 92,110, 93, 42, 92,110, 34,
+ 41, 10, 9,119,104,105,108,101, 32,101, 32,100,111, 10, 9,
+ 9,116, 32, 61, 32,115,116,114,108,111,119,101,114, 40,116,
+ 41, 10, 9, 9,105,102, 32,116, 32, 61, 61, 32, 34, 98,101,
+ 103,105,110, 34, 32,116,104,101,110, 10, 9, 9, 9, 95, 44,
+ 101, 44, 99, 32, 61, 32,115,116,114,102,105,110,100, 40,115,
+ 44, 34, 40, 46, 45, 41, 92,110, 91, 94, 92,110, 93, 42, 91,
+ 84,116, 93, 91, 79,111, 93, 91, 76,108, 93, 91, 85,117, 93,
+ 91, 65, 97, 93, 95, 91, 69,101, 93, 91, 78,110, 93, 91, 68,
+ 100, 93, 91, 94, 92,110, 93, 42, 92,110, 34, 44,101, 41, 10,
+ 9, 9, 9,105,102, 32,110,111,116, 32,101, 32,116,104,101,
+ 110, 10, 9, 9, 9, 32,116,111,108,117, 97, 95,101,114,114,
+ 111,114, 40, 34, 85,110, 98, 97,108, 97,110, 99,101,100, 32,
+ 39,116,111,108,117, 97, 95, 98,101,103,105,110, 39, 32,100,
+ 105,114,101, 99,116,105,118,101, 32,105,110, 32,104,101, 97,
+ 100,101,114, 32,102,105,108,101, 34, 41, 10, 9, 9, 9,101,
+ 110,100, 10, 9, 9,101,110,100, 10, 9, 9, 99,111,100,101,
+ 32, 61, 32, 99,111,100,101, 32, 46, 46, 32, 99, 32, 46, 46,
+ 32, 34, 92,110, 34, 10, 9, 32, 95, 44,101, 44, 99, 44,116,
+ 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 32, 34,
+ 92,110, 40, 91, 94, 92,110, 93, 45, 41, 91, 84,116, 93, 91,
+ 79,111, 93, 91, 76,108, 93, 91, 85,117, 93, 91, 65, 97, 93,
+ 95, 40, 91, 94, 37,115, 93, 42, 41, 91, 94, 92,110, 93, 42,
+ 92,110, 34, 44,101, 41, 10, 9,101,110,100, 10, 9,114,101,
+ 116,117,114,110, 32, 99,111,100,101, 10,101,110,100, 10, 10,
+ 45, 45, 32, 67,111,110,115,116,114,117, 99,116,111,114, 10,
+ 45, 45, 32, 69,120,112,101, 99,116,115, 32,116,104,101, 32,
+ 112, 97, 99,107, 97,103,101, 32,110, 97,109,101, 44, 32,116,
+ 104,101, 32,102,105,108,101, 32,101,120,116,101,110,115,105,
+ 111,110, 44, 32, 97,110,100, 32,116,104,101, 32,102,105,108,
+ 101, 32,116,101,120,116, 46, 10,102,117,110, 99,116,105,111,
+ 110, 32, 80, 97, 99,107, 97,103,101, 32, 40,110, 97,109,101,
+ 44,102,110, 41, 10, 32,108,111, 99, 97,108, 32,101,120,116,
+ 32, 61, 32, 34,112,107,103, 34, 10, 10, 32, 45, 45, 32,111,
+ 112,101,110, 32,105,110,112,117,116, 32,102,105,108,101, 44,
+ 32,105,102, 32, 97,110,121, 10, 32,108,111, 99, 97,108, 32,
+ 115,116, 44,109,115,103, 10, 32,105,102, 32,102,110, 32,116,
+ 104,101,110, 10, 32, 32,115,116, 44, 32,109,115,103, 32, 61,
+ 32,114,101, 97,100,102,114,111,109, 40,102,108, 97,103,115,
+ 46,102, 41, 10, 32, 32,105,102, 32,110,111,116, 32,115,116,
+ 32,116,104,101,110, 10, 32, 32, 32,101,114,114,111,114, 40,
+ 39, 35, 39, 46, 46,109,115,103, 41, 10, 32, 32,101,110,100,
+ 10, 32, 32,108,111, 99, 97,108, 32, 95, 59, 32, 95, 44, 32,
+ 95, 44, 32,101,120,116, 32, 61, 32,115,116,114,102,105,110,
+ 100, 40,102,110, 44, 34, 46, 42, 37, 46, 40, 46, 42, 41, 36,
+ 34, 41, 10, 32,101,110,100, 10, 32,108,111, 99, 97,108, 32,
+ 99,111,100,101, 10, 32,105,102, 32,101,120,116, 32, 61, 61,
+ 32, 39,112,107,103, 39, 32,116,104,101,110, 10, 32, 32, 99,
+ 111,100,101, 32, 61, 32,112,114,101,112, 40,115,116, 41, 10,
+ 32,101,108,115,101, 10, 32, 32, 99,111,100,101, 32, 61, 32,
+ 34, 92,110, 34, 32, 46, 46, 32,114,101, 97,100, 40, 39, 42,
+ 97, 39, 41, 10, 32, 32,105,102, 32,101,120,116, 32, 61, 61,
+ 32, 39,104, 39, 32,111,114, 32,101,120,116, 32, 61, 61, 32,
+ 39,104,112,112, 39, 32,116,104,101,110, 10, 32, 32, 32, 99,
+ 111,100,101, 32, 61, 32,101,120,116,114, 97, 99,116, 95, 99,
+ 111,100,101, 40,102,110, 44, 99,111,100,101, 41, 10, 32, 32,
+ 101,110,100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32, 99,
+ 108,111,115,101, 32,102,105,108,101, 10, 32,105,102, 32,102,
+ 110, 32,116,104,101,110, 10, 32, 32,114,101, 97,100,102,114,
+ 111,109, 40, 41, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32,
+ 100,101, 97,108, 32,119,105,116,104, 32,105,110, 99,108,117,
+ 100,101, 32,100,105,114,101, 99,116,105,118,101, 10, 32,108,
+ 111, 99, 97,108, 32,110,115,117, 98,115,116, 10, 32,114,101,
+ 112,101, 97,116, 10, 32, 32, 99,111,100,101, 44,110,115,117,
+ 98,115,116, 32, 61, 32,103,115,117, 98, 40, 99,111,100,101,
+ 44, 39, 92,110, 37,115, 42, 37, 36, 40, 46, 41,102,105,108,
+ 101, 37,115, 42, 34, 40, 46, 45, 41, 34, 40, 91, 94, 92,110,
+ 93, 42, 41, 92,110, 39, 44, 10, 9, 9,102,117,110, 99,116,
+ 105,111,110, 32, 40,107,105,110,100, 44,102,110, 44,101,120,
+ 116,114, 97, 41, 10, 9, 9, 9,108,111, 99, 97,108, 32, 95,
+ 44, 32, 95, 44, 32,101,120,116, 32, 61, 32,115,116,114,102,
+ 105,110,100, 40,102,110, 44, 34, 46, 42, 37, 46, 40, 46, 42,
+ 41, 36, 34, 41, 10, 9, 9, 9,108,111, 99, 97,108, 32,102,
+ 112, 44,109,115,103, 32, 61, 32,111,112,101,110,102,105,108,
+ 101, 40,102,110, 44, 39,114, 39, 41, 10, 9, 9, 9,105,102,
+ 32,110,111,116, 32,102,112, 32,116,104,101,110, 10, 9, 9,
+ 9, 9,101,114,114,111,114, 40, 39, 35, 39, 46, 46,109,115,
+ 103, 46, 46, 39, 58, 32, 39, 46, 46,102,110, 41, 10, 9, 9,
+ 9,101,110,100, 10, 9, 9, 9,105,102, 32,107,105,110,100,
+ 32, 61, 61, 32, 39,112, 39, 32,116,104,101,110, 10, 9, 9,
+ 9, 9,108,111, 99, 97,108, 32,115, 32, 61, 32,112,114,101,
+ 112, 40,102,112, 41, 10, 9, 9, 9, 9, 99,108,111,115,101,
+ 102,105,108,101, 40,102,112, 41, 10, 9, 9, 9, 9,114,101,
+ 116,117,114,110, 32,115, 10, 9, 9, 9,101,110,100, 10, 9,
+ 9, 9,108,111, 99, 97,108, 32,115, 32, 61, 32,114,101, 97,
+ 100, 40,102,112, 44, 39, 42, 97, 39, 41, 10, 9, 9, 9, 99,
+ 108,111,115,101,102,105,108,101, 40,102,112, 41, 10, 9, 9,
+ 9,105,102, 32,107,105,110,100, 32, 61, 61, 32, 39, 99, 39,
+ 32,111,114, 32,107,105,110,100, 32, 61, 61, 32, 39,104, 39,
+ 32,116,104,101,110, 10, 9, 9, 9, 9,114,101,116,117,114,
+ 110, 32,101,120,116,114, 97, 99,116, 95, 99,111,100,101, 40,
+ 102,110, 44,115, 41, 10, 9, 9, 9,101,108,115,101,105,102,
+ 32,107,105,110,100, 32, 61, 61, 32, 39,108, 39, 32,116,104,
+ 101,110, 10, 9, 9, 9, 9,114,101,116,117,114,110, 32, 34,
+ 92,110, 36, 91, 45, 45, 35, 35, 34, 46, 46,102,110, 46, 46,
+ 34, 92,110, 34, 32, 46, 46, 32,115, 32, 46, 46, 32, 34, 92,
+ 110, 36, 93, 92,110, 34, 10, 9, 9, 9,101,108,115,101,105,
+ 102, 32,107,105,110,100, 32, 61, 61, 32, 39,105, 39, 32,116,
+ 104,101,110, 10, 9, 9, 9, 9,108,111, 99, 97,108, 32,116,
+ 32, 61, 32,123, 99,111,100,101, 61,115,125, 10, 9, 9, 9,
+ 9,101,120,116,114, 97, 32, 61, 32,115,116,114,105,110,103,
+ 46,103,115,117, 98, 40,101,120,116,114, 97, 44, 32, 34, 94,
+ 37,115, 42, 44, 37,115, 42, 34, 44, 32, 34, 34, 41, 10, 9,
+ 9, 9, 9,108,111, 99, 97,108, 32,112, 97,114,115, 32, 61,
+ 32,115,112,108,105,116, 95, 99, 95,116,111,107,101,110,115,
+ 40,101,120,116,114, 97, 44, 32, 34, 44, 34, 41, 10, 9, 9,
+ 9, 9,105,110, 99,108,117,100,101, 95,102,105,108,101, 95,
+ 104,111,111,107, 40,116, 44, 32,102,110, 44, 32,117,110,112,
+ 97, 99,107, 40,112, 97,114,115, 41, 41, 10, 9, 9, 9, 9,
+ 114,101,116,117,114,110, 32, 34, 92,110, 92,110, 34, 32, 46,
+ 46, 32,116, 46, 99,111,100,101, 10, 9, 9, 9,101,108,115,
+ 101, 10, 9, 9, 9, 9,101,114,114,111,114, 40, 39, 35, 73,
+ 110,118, 97,108,105,100, 32,105,110, 99,108,117,100,101, 32,
+ 100,105,114,101, 99,116,105,118,101, 32, 40,117,115,101, 32,
+ 36, 99,102,105,108,101, 44, 32, 36,112,102,105,108,101, 44,
+ 32, 36,108,102,105,108,101, 32,111,114, 32, 36,105,102,105,
+ 108,101, 41, 39, 41, 10, 9, 9, 9,101,110,100, 10, 9, 9,
+ 101,110,100, 41, 10, 32,117,110,116,105,108, 32,110,115,117,
+ 98,115,116, 61, 61, 48, 10, 10, 32, 45, 45, 32,100,101, 97,
+ 108, 32,119,105,116,104, 32,114,101,110, 97,109,105,110,103,
+ 32,100,105,114,101, 99,116,105,118,101, 10, 32,114,101,112,
+ 101, 97,116, 32, 45, 45, 32, 73, 32,100,111,110, 39,116, 32,
+ 107,110,111,119, 32,119,104,121, 32,116,104,105,115, 32,105,
+ 115, 32,110,101, 99,101,115, 97,114,121, 10, 9, 99,111,100,
+ 101, 44,110,115,117, 98,115,116, 32, 61, 32,103,115,117, 98,
+ 40, 99,111,100,101, 44, 39, 92,110, 37,115, 42, 37, 36,114,
+ 101,110, 97,109,105,110,103, 37,115, 42, 40, 46, 45, 41, 37,
+ 115, 42, 92,110, 39, 44, 32,102,117,110, 99,116,105,111,110,
+ 32, 40,114, 41, 32, 97,112,112,101,110,100,114,101,110, 97,
+ 109,105,110,103, 40,114, 41, 32,114,101,116,117,114,110, 32,
+ 34, 92,110, 34, 32,101,110,100, 41, 10, 32,117,110,116,105,
+ 108, 32,110,115,117, 98,115,116, 32, 61, 61, 32, 48, 10, 10,
+ 32,108,111, 99, 97,108, 32,116, 32, 61, 32, 95, 80, 97, 99,
+ 107, 97,103,101, 40, 95, 67,111,110,116, 97,105,110,101,114,
+ 123,110, 97,109,101, 61,110, 97,109,101, 44, 32, 99,111,100,
+ 101, 61, 99,111,100,101,125, 41, 10, 32,112,117,115,104, 40,
+ 116, 41, 10, 32,112,114,101,112,114,111, 99,101,115,115, 95,
+ 104,111,111,107, 40,116, 41, 10, 32,116, 58,112,114,101,112,
+ 114,111, 99,101,115,115, 40, 41, 10, 32,112,114,101,112, 97,
+ 114,115,101, 95,104,111,111,107, 40,116, 41, 10, 32,116, 58,
+ 112, 97,114,115,101, 40,116, 46, 99,111,100,101, 41, 10, 32,
+ 112,111,112, 40, 41, 10, 32,114,101,116,117,114,110, 32,116,
+ 10,101,110,100, 10, 10, 10,115,101,116,109,101,116, 97,116,
+ 97, 98,108,101, 40, 95,101,120,116,114, 97, 95,112, 97,114,
+ 97,109,101,116,101,114,115, 44, 32,123, 32, 95, 95,105,110,
+ 100,101,120, 32, 61, 32, 95, 71, 32,125, 41, 10, 10,102,117,
+ 110, 99,116,105,111,110, 32,112,114,101,112, 40,102,105,108,
+ 101, 41, 10, 10, 32, 32,108,111, 99, 97,108, 32, 99,104,117,
+ 110,107, 32, 61, 32,123, 39,108,111, 99, 97,108, 32, 95, 95,
+ 114,101,116, 32, 61, 32,123, 34, 92, 92,110, 34,125, 92,110,
+ 39,125, 10, 32, 32,102,111,114, 32,108,105,110,101, 32,105,
+ 110, 32,102,105,108,101, 58,108,105,110,101,115, 40, 41, 32,
+ 100,111, 10, 32, 32, 32, 32, 32,105,102, 32,115,116,114,105,
+ 110,103, 46,102,105,110,100, 40,108,105,110,101, 44, 32, 34,
+ 94, 35, 35, 34, 41, 32,116,104,101,110, 10, 32, 32, 32, 32,
+ 32, 32,116, 97, 98,108,101, 46,105,110,115,101,114,116, 40,
+ 99,104,117,110,107, 44, 32,115,116,114,105,110,103, 46,115,
+ 117, 98, 40,108,105,110,101, 44, 32, 51, 41, 32, 46, 46, 32,
+ 34, 92,110, 34, 41, 10, 32, 32, 32, 32, 32,101,108,115,101,
+ 10, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,108, 97,
+ 115,116, 32, 61, 32, 49, 10, 32, 32, 32, 32, 32, 32,102,111,
+ 114, 32,116,101,120,116, 44, 32,101,120,112,114, 44, 32,105,
+ 110,100,101,120, 32,105,110, 32,115,116,114,105,110,103, 46,
+ 103,102,105,110,100, 40,108,105,110,101, 44, 32, 34, 40, 46,
+ 45, 41, 36, 40, 37, 98, 40, 41, 41, 40, 41, 34, 41, 32,100,
+ 111, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32,108, 97,115,116,
+ 32, 61, 32,105,110,100,101,120, 10, 32, 32, 32, 32, 32, 32,
+ 32, 32,105,102, 32,116,101,120,116, 32,126, 61, 32, 34, 34,
+ 32,116,104,101,110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32,116, 97, 98,108,101, 46,105,110,115,101,114,116, 40, 99,
+ 104,117,110,107, 44, 32,115,116,114,105,110,103, 46,102,111,
+ 114,109, 97,116, 40, 39,116, 97, 98,108,101, 46,105,110,115,
+ 101,114,116, 40, 95, 95,114,101,116, 44, 32, 37,113, 32, 41,
+ 39, 44, 32,116,101,120,116, 41, 41, 10, 32, 32, 32, 32, 32,
+ 32, 32, 32,101,110,100, 10, 32, 32, 32, 32, 32, 32, 32, 32,
+ 116, 97, 98,108,101, 46,105,110,115,101,114,116, 40, 99,104,
+ 117,110,107, 44, 32,115,116,114,105,110,103, 46,102,111,114,
+ 109, 97,116, 40, 39,116, 97, 98,108,101, 46,105,110,115,101,
+ 114,116, 40, 95, 95,114,101,116, 44, 32, 37,115, 32, 41, 39,
+ 44, 32,101,120,112,114, 41, 41, 10, 32, 32, 32, 32, 32, 32,
+ 101,110,100, 10, 32, 32, 32, 32, 32, 32,116, 97, 98,108,101,
+ 46,105,110,115,101,114,116, 40, 99,104,117,110,107, 44, 32,
+ 115,116,114,105,110,103, 46,102,111,114,109, 97,116, 40, 39,
+ 116, 97, 98,108,101, 46,105,110,115,101,114,116, 40, 95, 95,
+ 114,101,116, 44, 32, 37,113, 41, 92,110, 39, 44, 10, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32,115,116,114,105,110,103,
+ 46,115,117, 98, 40,108,105,110,101, 44, 32,108, 97,115,116,
+ 41, 46, 46, 34, 92,110, 34, 41, 41, 10, 32, 32, 32, 32,101,
+ 110,100, 10, 32, 32,101,110,100, 10, 32, 32,116, 97, 98,108,
+ 101, 46,105,110,115,101,114,116, 40, 99,104,117,110,107, 44,
+ 32, 39, 92,110,114,101,116,117,114,110, 32,116, 97, 98,108,
+ 101, 46, 99,111,110, 99, 97,116, 40, 95, 95,114,101,116, 41,
+ 92,110, 39, 41, 10, 32, 32,108,111, 99, 97,108, 32,102, 44,
+ 101, 32, 61, 32,108,111, 97,100,115,116,114,105,110,103, 40,
+ 116, 97, 98,108,101, 46, 99,111,110, 99, 97,116, 40, 99,104,
+ 117,110,107, 41, 41, 10, 32, 32,105,102, 32,101, 32,116,104,
+ 101,110, 10, 32, 32, 9,101,114,114,111,114, 40, 34, 35, 34,
+ 46, 46,101, 41, 10, 32, 32,101,110,100, 10, 32, 32,115,101,
+ 116,102,101,110,118, 40,102, 44, 32, 95,101,120,116,114, 97,
+ 95,112, 97,114, 97,109,101,116,101,114,115, 41, 10, 32, 32,
+ 114,101,116,117,114,110, 32,102, 40, 41, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/package.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32,109,111,100,117,108,
+ 101, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,105,116,
+ 116,101,110, 32, 98,121, 32, 87, 97,108,100,101,109, 97,114,
+ 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67, 71,114,
+ 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45, 32, 74,
+ 117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,100, 58,
+ 32, 36, 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,111,100,
+ 101, 32,105,115, 32,102,114,101,101, 32,115,111,102,116,119,
+ 97,114,101, 59, 32,121,111,117, 32, 99, 97,110, 32,114,101,
+ 100,105,115,116,114,105, 98,117,116,101, 32,105,116, 32, 97,
+ 110,100, 47,111,114, 32,109,111,100,105,102,121, 32,105,116,
+ 46, 10, 45, 45, 32, 84,104,101, 32,115,111,102,116,119, 97,
+ 114,101, 32,112,114,111,118,105,100,101,100, 32,104,101,114,
+ 101,117,110,100,101,114, 32,105,115, 32,111,110, 32, 97,110,
+ 32, 34, 97,115, 32,105,115, 34, 32, 98, 97,115,105,115, 44,
+ 32, 97,110,100, 10, 45, 45, 32,116,104,101, 32, 97,117,116,
+ 104,111,114, 32,104, 97,115, 32,110,111, 32,111, 98,108,105,
+ 103, 97,116,105,111,110, 32,116,111, 32,112,114,111,118,105,
+ 100,101, 32,109, 97,105,110,116,101,110, 97,110, 99,101, 44,
+ 32,115,117,112,112,111,114,116, 44, 32,117,112,100, 97,116,
+ 101,115, 44, 10, 45, 45, 32,101,110,104, 97,110, 99,101,109,
+ 101,110,116,115, 44, 32,111,114, 32,109,111,100,105,102,105,
+ 99, 97,116,105,111,110,115, 46, 10, 10, 10, 10, 45, 45, 32,
+ 77,111,100,117,108,101, 32, 99,108, 97,115,115, 10, 45, 45,
+ 32, 82,101,112,114,101,115,101,110,116,115, 32,109,111,100,
+ 117,108,101, 46, 10, 45, 45, 32, 84,104,101, 32,102,111,108,
+ 108,111,119,105,110,103, 32,102,105,101,108,100,115, 32, 97,
+ 114,101, 32,115,116,111,114,101,100, 58, 10, 45, 45, 32, 32,
+ 32, 32,123,105,125, 32, 61, 32,108,105,115,116, 32,111,102,
+ 32,111, 98,106,101, 99,116,115, 32,105,110, 32,116,104,101,
+ 32,109,111,100,117,108,101, 46, 10, 99,108, 97,115,115, 77,
+ 111,100,117,108,101, 32, 61, 32,123, 10, 32, 99,108, 97,115,
+ 115,116,121,112,101, 32, 61, 32, 39,109,111,100,117,108,101,
+ 39, 10,125, 10, 99,108, 97,115,115, 77,111,100,117,108,101,
+ 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,115,
+ 115, 77,111,100,117,108,101, 10,115,101,116,109,101,116, 97,
+ 116, 97, 98,108,101, 40, 99,108, 97,115,115, 77,111,100,117,
+ 108,101, 44, 99,108, 97,115,115, 67,111,110,116, 97,105,110,
+ 101,114, 41, 10, 10, 45, 45, 32,114,101,103,105,115,116,101,
+ 114, 32,109,111,100,117,108,101, 10,102,117,110, 99,116,105,
+ 111,110, 32, 99,108, 97,115,115, 77,111,100,117,108,101, 58,
+ 114,101,103,105,115,116,101,114, 32, 40,112,114,101, 41, 10,
+ 32,112,114,101, 32, 61, 32,112,114,101, 32,111,114, 32, 39,
+ 39, 10, 32,112,117,115,104, 40,115,101,108,102, 41, 10, 32,
+ 111,117,116,112,117,116, 40,112,114,101, 46, 46, 39,116,111,
+ 108,117, 97, 95,109,111,100,117,108,101, 40,116,111,108,117,
+ 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,110, 97,
+ 109,101, 46, 46, 39, 34, 44, 39, 44,115,101,108,102, 58,104,
+ 97,115,118, 97,114, 40, 41, 44, 39, 41, 59, 39, 41, 10, 32,
+ 111,117,116,112,117,116, 40,112,114,101, 46, 46, 39,116,111,
+ 108,117, 97, 95, 98,101,103,105,110,109,111,100,117,108,101,
+ 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,
+ 108,102, 46,110, 97,109,101, 46, 46, 39, 34, 41, 59, 39, 41,
+ 10, 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32,119,104,
+ 105,108,101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10,
+ 32, 32,115,101,108,102, 91,105, 93, 58,114,101,103,105,115,
+ 116,101,114, 40,112,114,101, 46, 46, 39, 32, 39, 41, 10, 32,
+ 32,105, 32, 61, 32,105, 43, 49, 10, 32,101,110,100, 10, 32,
+ 111,117,116,112,117,116, 40,112,114,101, 46, 46, 39,116,111,
+ 108,117, 97, 95,101,110,100,109,111,100,117,108,101, 40,116,
+ 111,108,117, 97, 95, 83, 41, 59, 39, 41, 10, 9,112,111,112,
+ 40, 41, 10,101,110,100, 10, 10, 45, 45, 32, 80,114,105,110,
+ 116, 32,109,101,116,104,111,100, 10,102,117,110, 99,116,105,
+ 111,110, 32, 99,108, 97,115,115, 77,111,100,117,108,101, 58,
+ 112,114,105,110,116, 32, 40,105,100,101,110,116, 44, 99,108,
+ 111,115,101, 41, 10, 32,112,114,105,110,116, 40,105,100,101,
+ 110,116, 46, 46, 34, 77,111,100,117,108,101,123, 34, 41, 10,
+ 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,
+ 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,
+ 102, 46,110, 97,109,101, 46, 46, 34, 39, 59, 34, 41, 10, 32,
+ 108,111, 99, 97,108, 32,105, 61, 49, 10, 32,119,104,105,108,
+ 101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10, 32, 32,
+ 115,101,108,102, 91,105, 93, 58,112,114,105,110,116, 40,105,
+ 100,101,110,116, 46, 46, 34, 32, 34, 44, 34, 44, 34, 41, 10,
+ 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32,101,110,100, 10,
+ 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,
+ 125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100, 10,
+ 10, 45, 45, 32, 73,110,116,101,114,110, 97,108, 32, 99,111,
+ 110,115,116,114,117, 99,116,111,114, 10,102,117,110, 99,116,
+ 105,111,110, 32, 95, 77,111,100,117,108,101, 32, 40,116, 41,
+ 10, 32,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40,
+ 116, 44, 99,108, 97,115,115, 77,111,100,117,108,101, 41, 10,
+ 32, 97,112,112,101,110,100, 40,116, 41, 10, 32,114,101,116,
+ 117,114,110, 32,116, 10,101,110,100, 10, 10, 45, 45, 32, 67,
+ 111,110,115,116,114,117, 99,116,111,114, 10, 45, 45, 32, 69,
+ 120,112,101, 99,116,115, 32,116,119,111, 32,115,116,114,105,
+ 110,103, 32,114,101,112,114,101,115,101,110,116,105,110,103,
+ 32,116,104,101, 32,109,111,100,117,108,101, 32,110, 97,109,
+ 101, 32, 97,110,100, 32, 98,111,100,121, 46, 10,102,117,110,
+ 99,116,105,111,110, 32, 77,111,100,117,108,101, 32, 40,110,
+ 44, 98, 41, 10, 32,108,111, 99, 97,108, 32,116, 32, 61, 32,
+ 95, 77,111,100,117,108,101, 40, 95, 67,111,110,116, 97,105,
+ 110,101,114,123,110, 97,109,101, 61,110,125, 41, 10, 32,112,
+ 117,115,104, 40,116, 41, 10, 32,116, 58,112, 97,114,115,101,
+ 40,115,116,114,115,117, 98, 40, 98, 44, 50, 44,115,116,114,
+ 108,101,110, 40, 98, 41, 45, 49, 41, 41, 32, 45, 45, 32,101,
+ 108,105,109,105,110, 97,116,101, 32, 98,114, 97, 99,101,115,
+ 10, 32,112,111,112, 40, 41, 10, 32,114,101,116,117,114,110,
+ 32,116, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/module.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32,110, 97,109,101,115,
+ 112, 97, 99,101, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,
+ 114,105,116,116,101,110, 32, 98,121, 32, 87, 97,108,100,101,
+ 109, 97,114, 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101,
+ 67, 71,114, 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45,
+ 45, 32, 74,117,108, 32, 50, 48, 48, 51, 10, 45, 45, 32, 36,
+ 73,100, 58, 32, 36, 10, 10, 45, 45, 32, 84,104,105,115, 32,
+ 99,111,100,101, 32,105,115, 32,102,114,101,101, 32,115,111,
+ 102,116,119, 97,114,101, 59, 32,121,111,117, 32, 99, 97,110,
+ 32,114,101,100,105,115,116,114,105, 98,117,116,101, 32,105,
+ 116, 32, 97,110,100, 47,111,114, 32,109,111,100,105,102,121,
+ 32,105,116, 46, 10, 45, 45, 32, 84,104,101, 32,115,111,102,
+ 116,119, 97,114,101, 32,112,114,111,118,105,100,101,100, 32,
+ 104,101,114,101,117,110,100,101,114, 32,105,115, 32,111,110,
+ 32, 97,110, 32, 34, 97,115, 32,105,115, 34, 32, 98, 97,115,
+ 105,115, 44, 32, 97,110,100, 10, 45, 45, 32,116,104,101, 32,
+ 97,117,116,104,111,114, 32,104, 97,115, 32,110,111, 32,111,
+ 98,108,105,103, 97,116,105,111,110, 32,116,111, 32,112,114,
+ 111,118,105,100,101, 32,109, 97,105,110,116,101,110, 97,110,
+ 99,101, 44, 32,115,117,112,112,111,114,116, 44, 32,117,112,
+ 100, 97,116,101,115, 44, 10, 45, 45, 32,101,110,104, 97,110,
+ 99,101,109,101,110,116,115, 44, 32,111,114, 32,109,111,100,
+ 105,102,105, 99, 97,116,105,111,110,115, 46, 10, 10, 10, 45,
+ 45, 32, 78, 97,109,101,115,112, 97, 99,101, 32, 99,108, 97,
+ 115,115, 10, 45, 45, 32, 82,101,112,114,101,115,101,110,116,
+ 115, 32, 97, 32,110, 97,109,101,115, 97,112, 99,101, 32,100,
+ 101,102,105,110,105,116,105,111,110, 46, 10, 45, 45, 32, 83,
+ 116,111,114,101,115, 32,116,104,101, 32,102,111,108,108,111,
+ 119,105,110,103, 32,102,105,101,108,100,115, 58, 10, 45, 45,
+ 32, 32, 32, 32,110, 97,109,101, 32, 61, 32, 99,108, 97,115,
+ 115, 32,110, 97,109,101, 10, 45, 45, 32, 32, 32, 32,123,105,
+ 125, 32, 32, 61, 32,108,105,115,116, 32,111,102, 32,109,101,
+ 109, 98,101,114,115, 10, 99,108, 97,115,115, 78, 97,109,101,
+ 115,112, 97, 99,101, 32, 61, 32,123, 10, 32, 99,108, 97,115,
+ 115,116,121,112,101, 32, 61, 32, 39,110, 97,109,101,115,112,
+ 97, 99,101, 39, 44, 10, 32,110, 97,109,101, 32, 61, 32, 39,
+ 39, 44, 10,125, 10, 99,108, 97,115,115, 78, 97,109,101,115,
+ 112, 97, 99,101, 46, 95, 95,105,110,100,101,120, 32, 61, 32,
+ 99,108, 97,115,115, 78, 97,109,101,115,112, 97, 99,101, 10,
+ 115,101,116,109,101,116, 97,116, 97, 98,108,101, 40, 99,108,
+ 97,115,115, 78, 97,109,101,115,112, 97, 99,101, 44, 99,108,
+ 97,115,115, 77,111,100,117,108,101, 41, 10, 10, 45, 45, 32,
+ 80,114,105,110,116, 32,109,101,116,104,111,100, 10,102,117,
+ 110, 99,116,105,111,110, 32, 99,108, 97,115,115, 78, 97,109,
+ 101,115,112, 97, 99,101, 58,112,114,105,110,116, 32, 40,105,
+ 100,101,110,116, 44, 99,108,111,115,101, 41, 10, 32,112,114,
+ 105,110,116, 40,105,100,101,110,116, 46, 46, 34, 78, 97,109,
+ 101,115,112, 97, 99,101,123, 34, 41, 10, 32,112,114,105,110,
+ 116, 40,105,100,101,110,116, 46, 46, 34, 32,110, 97,109,101,
+ 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,110, 97,109,
+ 101, 46, 46, 34, 39, 44, 34, 41, 10, 32,108,111, 99, 97,108,
+ 32,105, 61, 49, 10, 32,119,104,105,108,101, 32,115,101,108,
+ 102, 91,105, 93, 32,100,111, 10, 32, 32,115,101,108,102, 91,
+ 105, 93, 58,112,114,105,110,116, 40,105,100,101,110,116, 46,
+ 46, 34, 32, 34, 44, 34, 44, 34, 41, 10, 32, 32,105, 32, 61,
+ 32,105, 43, 49, 10, 32,101,110,100, 10, 32,112,114,105,110,
+ 116, 40,105,100,101,110,116, 46, 46, 34,125, 34, 46, 46, 99,
+ 108,111,115,101, 41, 10,101,110,100, 10, 10, 45, 45, 32, 73,
+ 110,116,101,114,110, 97,108, 32, 99,111,110,115,116,114,117,
+ 99,116,111,114, 10,102,117,110, 99,116,105,111,110, 32, 95,
+ 78, 97,109,101,115,112, 97, 99,101, 32, 40,116, 41, 10, 32,
+ 115,101,116,109,101,116, 97,116, 97, 98,108,101, 40,116, 44,
+ 99,108, 97,115,115, 78, 97,109,101,115,112, 97, 99,101, 41,
+ 10, 32, 97,112,112,101,110,100, 40,116, 41, 10, 32,114,101,
+ 116,117,114,110, 32,116, 10,101,110,100, 10, 10, 45, 45, 32,
+ 67,111,110,115,116,114,117, 99,116,111,114, 10, 45, 45, 32,
+ 69,120,112,101, 99,116,115, 32,116,104,101, 32,110, 97,109,
+ 101, 32, 97,110,100, 32,116,104,101, 32, 98,111,100,121, 32,
+ 111,102, 32,116,104,101, 32,110, 97,109,101,115,112, 97, 99,
+ 101, 46, 10,102,117,110, 99,116,105,111,110, 32, 78, 97,109,
+ 101,115,112, 97, 99,101, 32, 40,110, 44, 98, 41, 10, 32,108,
+ 111, 99, 97,108, 32, 99, 32, 61, 32, 95, 78, 97,109,101,115,
+ 112, 97, 99,101, 40, 95, 67,111,110,116, 97,105,110,101,114,
+ 123,110, 97,109,101, 61,110,125, 41, 10, 32,112,117,115,104,
+ 40, 99, 41, 10, 32, 99, 58,112, 97,114,115,101, 40,115,116,
+ 114,115,117, 98, 40, 98, 44, 50, 44,115,116,114,108,101,110,
+ 40, 98, 41, 45, 49, 41, 41, 32, 45, 45, 32,101,108,105,109,
+ 105,110, 97,116,101, 32, 98,114, 97, 99,101,115, 10, 32,112,
+ 111,112, 40, 41, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/namespace.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32,100,101,102,105,110,
+ 101, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,105,116,
+ 116,101,110, 32, 98,121, 32, 87, 97,108,100,101,109, 97,114,
+ 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67, 71,114,
+ 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45, 32, 74,
+ 117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,100, 58,
+ 32,100,101,102,105,110,101, 46,108,117, 97, 44,118, 32, 49,
+ 46, 50, 32, 49, 57, 57, 57, 47, 48, 55, 47, 50, 56, 32, 50,
+ 50, 58, 50, 49, 58, 48, 56, 32, 99,101,108,101,115, 32, 69,
+ 120,112, 32, 36, 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,
+ 111,100,101, 32,105,115, 32,102,114,101,101, 32,115,111,102,
+ 116,119, 97,114,101, 59, 32,121,111,117, 32, 99, 97,110, 32,
+ 114,101,100,105,115,116,114,105, 98,117,116,101, 32,105,116,
+ 32, 97,110,100, 47,111,114, 32,109,111,100,105,102,121, 32,
+ 105,116, 46, 10, 45, 45, 32, 84,104,101, 32,115,111,102,116,
+ 119, 97,114,101, 32,112,114,111,118,105,100,101,100, 32,104,
+ 101,114,101,117,110,100,101,114, 32,105,115, 32,111,110, 32,
+ 97,110, 32, 34, 97,115, 32,105,115, 34, 32, 98, 97,115,105,
+ 115, 44, 32, 97,110,100, 10, 45, 45, 32,116,104,101, 32, 97,
+ 117,116,104,111,114, 32,104, 97,115, 32,110,111, 32,111, 98,
+ 108,105,103, 97,116,105,111,110, 32,116,111, 32,112,114,111,
+ 118,105,100,101, 32,109, 97,105,110,116,101,110, 97,110, 99,
+ 101, 44, 32,115,117,112,112,111,114,116, 44, 32,117,112,100,
+ 97,116,101,115, 44, 10, 45, 45, 32,101,110,104, 97,110, 99,
+ 101,109,101,110,116,115, 44, 32,111,114, 32,109,111,100,105,
+ 102,105, 99, 97,116,105,111,110,115, 46, 10, 10, 10, 45, 45,
+ 32, 68,101,102,105,110,101, 32, 99,108, 97,115,115, 10, 45,
+ 45, 32, 82,101,112,114,101,115,101,110,116,115, 32, 97, 32,
+ 110,117,109,101,114,105, 99, 32, 99,111,110,115,116, 32,100,
+ 101,102,105,110,105,116,105,111,110, 10, 45, 45, 32, 84,104,
+ 101, 32,102,111,108,108,111,119,105,110,103, 32,102,105,108,
+ 100,115, 32, 97,114,101, 32,115,116,111,114,101,100, 58, 10,
+ 45, 45, 32, 32, 32,110, 97,109,101, 32, 61, 32, 99,111,110,
+ 115,116, 97,110,116, 32,110, 97,109,101, 10, 99,108, 97,115,
+ 115, 68,101,102,105,110,101, 32, 61, 32,123, 10, 32,110, 97,
+ 109,101, 32, 61, 32, 39, 39, 44, 10,125, 10, 99,108, 97,115,
+ 115, 68,101,102,105,110,101, 46, 95, 95,105,110,100,101,120,
+ 32, 61, 32, 99,108, 97,115,115, 68,101,102,105,110,101, 10,
+ 115,101,116,109,101,116, 97,116, 97, 98,108,101, 40, 99,108,
+ 97,115,115, 68,101,102,105,110,101, 44, 99,108, 97,115,115,
+ 70,101, 97,116,117,114,101, 41, 10, 10, 45, 45, 32,114,101,
+ 103,105,115,116,101,114, 32,100,101,102,105,110,101, 10,102,
+ 117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 68,101,
+ 102,105,110,101, 58,114,101,103,105,115,116,101,114, 32, 40,
+ 112,114,101, 41, 10, 9,105,102, 32,110,111,116, 32,115,101,
+ 108,102, 58, 99,104,101, 99,107, 95,112,117, 98,108,105, 99,
+ 95, 97, 99, 99,101,115,115, 40, 41, 32,116,104,101,110, 10,
+ 9, 9,114,101,116,117,114,110, 10, 9,101,110,100, 10, 10,
+ 32,112,114,101, 32, 61, 32,112,114,101, 32,111,114, 32, 39,
+ 39, 10, 32,111,117,116,112,117,116, 40,112,114,101, 46, 46,
+ 39,116,111,108,117, 97, 95, 99,111,110,115,116, 97,110,116,
+ 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,
+ 108,102, 46,108,110, 97,109,101, 46, 46, 39, 34, 44, 39, 46,
+ 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 41, 59,
+ 39, 41, 10,101,110,100, 10, 10, 45, 45, 32, 80,114,105,110,
+ 116, 32,109,101,116,104,111,100, 10,102,117,110, 99,116,105,
+ 111,110, 32, 99,108, 97,115,115, 68,101,102,105,110,101, 58,
+ 112,114,105,110,116, 32, 40,105,100,101,110,116, 44, 99,108,
+ 111,115,101, 41, 10, 32,112,114,105,110,116, 40,105,100,101,
+ 110,116, 46, 46, 34, 68,101,102,105,110,101,123, 34, 41, 10,
+ 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,
+ 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,
+ 102, 46,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10, 32,
+ 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,
+ 108,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,
+ 102, 46,108,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10,
+ 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,
+ 125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100, 10,
+ 10, 10, 45, 45, 32, 73,110,116,101,114,110, 97,108, 32, 99,
+ 111,110,115,116,114,117, 99,116,111,114, 10,102,117,110, 99,
+ 116,105,111,110, 32, 95, 68,101,102,105,110,101, 32, 40,116,
+ 41, 10, 32,115,101,116,109,101,116, 97,116, 97, 98,108,101,
+ 40,116, 44, 99,108, 97,115,115, 68,101,102,105,110,101, 41,
+ 10, 32,116, 58, 98,117,105,108,100,110, 97,109,101,115, 40,
+ 41, 10, 10, 32,105,102, 32,116, 46,110, 97,109,101, 32, 61,
+ 61, 32, 39, 39, 32,116,104,101,110, 10, 32, 32,101,114,114,
+ 111,114, 40, 34, 35,105,110,118, 97,108,105,100, 32,100,101,
+ 102,105,110,101, 34, 41, 10, 32,101,110,100, 10, 10, 32, 97,
+ 112,112,101,110,100, 40,116, 41, 10, 32,114,101,116,117,114,
+ 110, 32,116, 10,101,110,100, 10, 10, 45, 45, 32, 67,111,110,
+ 115,116,114,117, 99,116,111,114, 10, 45, 45, 32, 69,120,112,
+ 101, 99,116,115, 32, 97, 32,115,116,114,105,110,103, 32,114,
+ 101,112,114,101,115,101,110,116,105,110,103, 32,116,104,101,
+ 32, 99,111,110,115,116, 97,110,116, 32,110, 97,109,101, 10,
+ 102,117,110, 99,116,105,111,110, 32, 68,101,102,105,110,101,
+ 32, 40,110, 41, 10, 32,114,101,116,117,114,110, 32, 95, 68,
+ 101,102,105,110,101,123, 10, 32, 32,110, 97,109,101, 32, 61,
+ 32,110, 10, 32,125, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/define.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32,101,110,117,109,101,
+ 114, 97,116,101, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,
+ 114,105,116,116,101,110, 32, 98,121, 32, 87, 97,108,100,101,
+ 109, 97,114, 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101,
+ 67, 71,114, 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45,
+ 45, 32, 74,117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36,
+ 73,100, 58, 32,101,110,117,109,101,114, 97,116,101, 46,108,
+ 117, 97, 44,118, 32, 49, 46, 51, 32, 50, 48, 48, 48, 47, 48,
+ 49, 47, 50, 52, 32, 50, 48, 58, 52, 49, 58, 49, 53, 32, 99,
+ 101,108,101,115, 32, 69,120,112, 32, 36, 10, 10, 45, 45, 32,
+ 84,104,105,115, 32, 99,111,100,101, 32,105,115, 32,102,114,
+ 101,101, 32,115,111,102,116,119, 97,114,101, 59, 32,121,111,
+ 117, 32, 99, 97,110, 32,114,101,100,105,115,116,114,105, 98,
+ 117,116,101, 32,105,116, 32, 97,110,100, 47,111,114, 32,109,
+ 111,100,105,102,121, 32,105,116, 46, 10, 45, 45, 32, 84,104,
+ 101, 32,115,111,102,116,119, 97,114,101, 32,112,114,111,118,
+ 105,100,101,100, 32,104,101,114,101,117,110,100,101,114, 32,
+ 105,115, 32,111,110, 32, 97,110, 32, 34, 97,115, 32,105,115,
+ 34, 32, 98, 97,115,105,115, 44, 32, 97,110,100, 10, 45, 45,
+ 32,116,104,101, 32, 97,117,116,104,111,114, 32,104, 97,115,
+ 32,110,111, 32,111, 98,108,105,103, 97,116,105,111,110, 32,
+ 116,111, 32,112,114,111,118,105,100,101, 32,109, 97,105,110,
+ 116,101,110, 97,110, 99,101, 44, 32,115,117,112,112,111,114,
+ 116, 44, 32,117,112,100, 97,116,101,115, 44, 10, 45, 45, 32,
+ 101,110,104, 97,110, 99,101,109,101,110,116,115, 44, 32,111,
+ 114, 32,109,111,100,105,102,105, 99, 97,116,105,111,110,115,
+ 46, 10, 10, 10, 45, 45, 32, 69,110,117,109,101,114, 97,116,
+ 101, 32, 99,108, 97,115,115, 10, 45, 45, 32, 82,101,112,114,
+ 101,115,101,110,116,115, 32,101,110,117,109,101,114, 97,116,
+ 105,111,110, 10, 45, 45, 32, 84,104,101, 32,102,111,108,108,
+ 111,119,105,110,103, 32,102,105,101,108,100,115, 32, 97,114,
+ 101, 32,115,116,111,114,101,100, 58, 10, 45, 45, 32, 32, 32,
+ 32,123,105,125, 32, 61, 32,108,105,115,116, 32,111,102, 32,
+ 99,111,110,115,116, 97,110,116, 32,110, 97,109,101,115, 10,
+ 99,108, 97,115,115, 69,110,117,109,101,114, 97,116,101, 32,
+ 61, 32,123, 10,125, 10, 99,108, 97,115,115, 69,110,117,109,
+ 101,114, 97,116,101, 46, 95, 95,105,110,100,101,120, 32, 61,
+ 32, 99,108, 97,115,115, 69,110,117,109,101,114, 97,116,101,
+ 10,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40, 99,
+ 108, 97,115,115, 69,110,117,109,101,114, 97,116,101, 44, 99,
+ 108, 97,115,115, 70,101, 97,116,117,114,101, 41, 10, 10, 45,
+ 45, 32,114,101,103,105,115,116,101,114, 32,101,110,117,109,
+ 101,114, 97,116,105,111,110, 10,102,117,110, 99,116,105,111,
+ 110, 32, 99,108, 97,115,115, 69,110,117,109,101,114, 97,116,
+ 101, 58,114,101,103,105,115,116,101,114, 32, 40,112,114,101,
+ 41, 10, 9,105,102, 32,110,111,116, 32,115,101,108,102, 58,
+ 99,104,101, 99,107, 95,112,117, 98,108,105, 99, 95, 97, 99,
+ 99,101,115,115, 40, 41, 32,116,104,101,110, 10, 9, 9,114,
+ 101,116,117,114,110, 10, 9,101,110,100, 10, 32,112,114,101,
+ 32, 61, 32,112,114,101, 32,111,114, 32, 39, 39, 10, 32,108,
+ 111, 99, 97,108, 32,110,115,112, 97, 99,101, 32, 61, 32,103,
+ 101,116,110, 97,109,101,115,112, 97, 99,101, 40, 99,108, 97,
+ 115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,
+ 114, 41, 10, 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32,
+ 119,104,105,108,101, 32,115,101,108,102, 91,105, 93, 32,100,
+ 111, 10, 32, 9,105,102, 32,115,101,108,102, 46,108,110, 97,
+ 109,101,115, 91,105, 93, 32, 97,110,100, 32,115,101,108,102,
+ 46,108,110, 97,109,101,115, 91,105, 93, 32,126, 61, 32, 34,
+ 34, 32,116,104,101,110, 10, 9, 10, 9, 9,111,117,116,112,
+ 117,116, 40,112,114,101, 46, 46, 39,116,111,108,117, 97, 95,
+ 99,111,110,115,116, 97,110,116, 40,116,111,108,117, 97, 95,
+ 83, 44, 34, 39, 46, 46,115,101,108,102, 46,108,110, 97,109,
+ 101,115, 91,105, 93, 46, 46, 39, 34, 44, 39, 46, 46,110,115,
+ 112, 97, 99,101, 46, 46,115,101,108,102, 91,105, 93, 46, 46,
+ 39, 41, 59, 39, 41, 10, 9,101,110,100, 10, 32, 32,105, 32,
+ 61, 32,105, 43, 49, 10, 32,101,110,100, 10,101,110,100, 10,
+ 10, 45, 45, 32, 80,114,105,110,116, 32,109,101,116,104,111,
+ 100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,
+ 115, 69,110,117,109,101,114, 97,116,101, 58,112,114,105,110,
+ 116, 32, 40,105,100,101,110,116, 44, 99,108,111,115,101, 41,
+ 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46,
+ 34, 69,110,117,109,101,114, 97,116,101,123, 34, 41, 10, 32,
+ 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,
+ 110, 97,109,101, 32, 61, 32, 34, 46, 46,115,101,108,102, 46,
+ 110, 97,109,101, 41, 10, 32,108,111, 99, 97,108, 32,105, 61,
+ 49, 10, 32,119,104,105,108,101, 32,115,101,108,102, 91,105,
+ 93, 32,100,111, 10, 32, 32,112,114,105,110,116, 40,105,100,
+ 101,110,116, 46, 46, 34, 32, 39, 34, 46, 46,115,101,108,102,
+ 91,105, 93, 46, 46, 34, 39, 40, 34, 46, 46,115,101,108,102,
+ 46,108,110, 97,109,101,115, 91,105, 93, 46, 46, 34, 41, 44,
+ 34, 41, 10, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32,101,
+ 110,100, 10, 32,112,114,105,110,116, 40,105,100,101,110,116,
+ 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,
+ 110,100, 10, 10, 45, 45, 32, 73,110,116,101,114,110, 97,108,
+ 32, 99,111,110,115,116,114,117, 99,116,111,114, 10,102,117,
+ 110, 99,116,105,111,110, 32, 95, 69,110,117,109,101,114, 97,
+ 116,101, 32, 40,116, 44,118, 97,114,110, 97,109,101, 41, 10,
+ 32,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40,116,
+ 44, 99,108, 97,115,115, 69,110,117,109,101,114, 97,116,101,
+ 41, 10, 32, 97,112,112,101,110,100, 40,116, 41, 10, 32, 97,
+ 112,112,101,110,100,101,110,117,109, 40,116, 41, 10, 9, 32,
+ 105,102, 32,118, 97,114,110, 97,109,101, 32, 97,110,100, 32,
+ 118, 97,114,110, 97,109,101, 32,126, 61, 32, 34, 34, 32,116,
+ 104,101,110, 10, 9, 9,105,102, 32,116, 46,110, 97,109,101,
+ 32,126, 61, 32, 34, 34, 32,116,104,101,110, 10, 9, 9, 9,
+ 86, 97,114,105, 97, 98,108,101, 40,116, 46,110, 97,109,101,
+ 46, 46, 34, 32, 34, 46, 46,118, 97,114,110, 97,109,101, 41,
+ 10, 9, 9,101,108,115,101, 10, 9, 9, 9,108,111, 99, 97,
+ 108, 32,110,115, 32, 61, 32,103,101,116, 99,117,114,114,110,
+ 97,109,101,115,112, 97, 99,101, 40, 41, 10, 9, 9, 9,119,
+ 97,114,110,105,110,103, 40, 34, 86, 97,114,105, 97, 98,108,
+ 101, 32, 34, 46, 46,110,115, 46, 46,118, 97,114,110, 97,109,
+ 101, 46, 46, 34, 32,111,102, 32,116,121,112,101, 32, 60, 97,
+ 110,111,110,121,109,111,117,115, 32,101,110,117,109, 62, 32,
+ 105,115, 32,100,101, 99,108, 97,114,101,100, 32, 97,115, 32,
+ 114,101, 97,100, 45,111,110,108,121, 34, 41, 10, 9, 9, 9,
+ 86, 97,114,105, 97, 98,108,101, 40, 34,116,111,108,117, 97,
+ 95,114,101, 97,100,111,110,108,121, 32,105,110,116, 32, 34,
+ 46, 46,118, 97,114,110, 97,109,101, 41, 10, 9, 9,101,110,
+ 100, 10, 9,101,110,100, 10, 9, 32,108,111, 99, 97,108, 32,
+ 112, 97,114,101,110,116, 32, 61, 32, 99,108, 97,115,115, 67,
+ 111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 10, 9,
+ 32,105,102, 32,112, 97,114,101,110,116, 32,116,104,101,110,
+ 10, 9, 9,116, 46, 97, 99, 99,101,115,115, 32, 61, 32,112,
+ 97,114,101,110,116, 46, 99,117,114,114, 95,109,101,109, 98,
+ 101,114, 95, 97, 99, 99,101,115,115, 10, 9, 9,116, 46,103,
+ 108,111, 98, 97,108, 95, 97, 99, 99,101,115,115, 32, 61, 32,
+ 116, 58, 99,104,101, 99,107, 95,112,117, 98,108,105, 99, 95,
+ 97, 99, 99,101,115,115, 40, 41, 10, 9, 32,101,110,100, 10,
+ 114,101,116,117,114,110, 32,116, 10,101,110,100, 10, 10, 45,
+ 45, 32, 67,111,110,115,116,114,117, 99,116,111,114, 10, 45,
+ 45, 32, 69,120,112,101, 99,116,115, 32, 97, 32,115,116,114,
+ 105,110,103, 32,114,101,112,114,101,115,101,110,116,105,110,
+ 103, 32,116,104,101, 32,101,110,117,109,101,114, 97,116,101,
+ 32, 98,111,100,121, 10,102,117,110, 99,116,105,111,110, 32,
+ 69,110,117,109,101,114, 97,116,101, 32, 40,110, 44, 98, 44,
+ 118, 97,114,110, 97,109,101, 41, 10, 9, 98, 32, 61, 32,115,
+ 116,114,105,110,103, 46,103,115,117, 98, 40, 98, 44, 32, 34,
+ 44, 91, 37,115, 92,110, 93, 42,125, 34, 44, 32, 34, 92,110,
+ 125, 34, 41, 32, 45, 45, 32,101,108,105,109,105,110, 97,116,
+ 101, 32,108, 97,115,116, 32, 39, 44, 39, 10, 32,108,111, 99,
+ 97,108, 32,116, 32, 61, 32,115,112,108,105,116, 40,115,116,
+ 114,115,117, 98, 40, 98, 44, 50, 44, 45, 50, 41, 44, 39, 44,
+ 39, 41, 32, 45, 45, 32,101,108,105,109,105,110, 97,116,101,
+ 32, 98,114, 97, 99,101,115, 10, 32,108,111, 99, 97,108, 32,
+ 105, 32, 61, 32, 49, 10, 32,108,111, 99, 97,108, 32,101, 32,
+ 61, 32,123,110, 61, 48,125, 10, 32,119,104,105,108,101, 32,
+ 116, 91,105, 93, 32,100,111, 10, 32, 32,108,111, 99, 97,108,
+ 32,116,116, 32, 61, 32,115,112,108,105,116, 40,116, 91,105,
+ 93, 44, 39, 61, 39, 41, 32, 32, 45, 45, 32,100,105,115, 99,
+ 97,114,100, 32,105,110,105,116,105, 97,108, 32,118, 97,108,
+ 117,101, 10, 32, 32,101, 46,110, 32, 61, 32,101, 46,110, 32,
+ 43, 32, 49, 10, 32, 32,101, 91,101, 46,110, 93, 32, 61, 32,
+ 116,116, 91, 49, 93, 10, 32, 32,105, 32, 61, 32,105, 43, 49,
+ 10, 32,101,110,100, 10, 32, 45, 45, 32,115,101,116, 32,108,
+ 117, 97, 32,110, 97,109,101,115, 10, 32,105, 32, 32, 61, 32,
+ 49, 10, 32,101, 46,108,110, 97,109,101,115, 32, 61, 32,123,
+ 125, 10, 32,108,111, 99, 97,108, 32,110,115, 32, 61, 32,103,
+ 101,116, 99,117,114,114,110, 97,109,101,115,112, 97, 99,101,
+ 40, 41, 10, 32,119,104,105,108,101, 32,101, 91,105, 93, 32,
+ 100,111, 10, 32, 32,108,111, 99, 97,108, 32,116, 32, 61, 32,
+ 115,112,108,105,116, 40,101, 91,105, 93, 44, 39, 64, 39, 41,
+ 10, 32, 32,101, 91,105, 93, 32, 61, 32,116, 91, 49, 93, 10,
+ 9, 9,105,102, 32,110,111,116, 32,116, 91, 50, 93, 32,116,
+ 104,101,110, 10, 9, 9, 32,116, 91, 50, 93, 32, 61, 32, 97,
+ 112,112,108,121,114,101,110, 97,109,105,110,103, 40,116, 91,
+ 49, 93, 41, 10, 9, 9,101,110,100, 10, 32, 32,101, 46,108,
+ 110, 97,109,101,115, 91,105, 93, 32, 61, 32,116, 91, 50, 93,
+ 32,111,114, 32,116, 91, 49, 93, 10, 32, 32, 95,103,108,111,
+ 98, 97,108, 95,101,110,117,109,115, 91, 32,110,115, 46, 46,
+ 101, 91,105, 93, 32, 93, 32, 61, 32, 40,110,115, 46, 46,101,
+ 91,105, 93, 41, 10, 32, 32,105, 32, 61, 32,105, 43, 49, 10,
+ 32,101,110,100, 10, 9,101, 46,110, 97,109,101, 32, 61, 32,
+ 110, 10, 9,105,102, 32,110, 32,126, 61, 32, 34, 34, 32,116,
+ 104,101,110, 10, 9, 9, 84,121,112,101,100,101,102, 40, 34,
+ 105,110,116, 32, 34, 46, 46,110, 41, 10, 9,101,110,100, 10,
+ 32,114,101,116,117,114,110, 32, 95, 69,110,117,109,101,114,
+ 97,116,101, 40,101, 44, 32,118, 97,114,110, 97,109,101, 41,
+ 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/enumerate.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32,100,101, 99,108, 97,
+ 114, 97,116,105,111,110, 32, 99,108, 97,115,115, 10, 45, 45,
+ 32, 87,114,105,116,116,101,110, 32, 98,121, 32, 87, 97,108,
+ 100,101,109, 97,114, 32, 67,101,108,101,115, 10, 45, 45, 32,
+ 84,101, 67, 71,114, 97,102, 47, 80, 85, 67, 45, 82,105,111,
+ 10, 45, 45, 32, 74,117,108, 32, 49, 57, 57, 56, 10, 45, 45,
+ 32, 36, 73,100, 58, 32, 36, 10, 10, 45, 45, 32, 84,104,105,
+ 115, 32, 99,111,100,101, 32,105,115, 32,102,114,101,101, 32,
+ 115,111,102,116,119, 97,114,101, 59, 32,121,111,117, 32, 99,
+ 97,110, 32,114,101,100,105,115,116,114,105, 98,117,116,101,
+ 32,105,116, 32, 97,110,100, 47,111,114, 32,109,111,100,105,
+ 102,121, 32,105,116, 46, 10, 45, 45, 32, 84,104,101, 32,115,
+ 111,102,116,119, 97,114,101, 32,112,114,111,118,105,100,101,
+ 100, 32,104,101,114,101,117,110,100,101,114, 32,105,115, 32,
+ 111,110, 32, 97,110, 32, 34, 97,115, 32,105,115, 34, 32, 98,
+ 97,115,105,115, 44, 32, 97,110,100, 10, 45, 45, 32,116,104,
+ 101, 32, 97,117,116,104,111,114, 32,104, 97,115, 32,110,111,
+ 32,111, 98,108,105,103, 97,116,105,111,110, 32,116,111, 32,
+ 112,114,111,118,105,100,101, 32,109, 97,105,110,116,101,110,
+ 97,110, 99,101, 44, 32,115,117,112,112,111,114,116, 44, 32,
+ 117,112,100, 97,116,101,115, 44, 10, 45, 45, 32,101,110,104,
+ 97,110, 99,101,109,101,110,116,115, 44, 32,111,114, 32,109,
+ 111,100,105,102,105, 99, 97,116,105,111,110,115, 46, 10, 10,
+ 10, 45, 45, 32, 68,101, 99,108, 97,114, 97,116,105,111,110,
+ 32, 99,108, 97,115,115, 10, 45, 45, 32, 82,101,112,114,101,
+ 115,101,110,116,115, 32,118, 97,114,105, 97, 98,108,101, 44,
+ 32,102,117,110, 99,116,105,111,110, 44, 32,111,114, 32, 97,
+ 114,103,117,109,101,110,116, 32,100,101, 99,108, 97,114, 97,
+ 116,105,111,110, 46, 10, 45, 45, 32, 83,116,111,114,101,115,
+ 32,116,104,101, 32,102,111,108,108,111,119,105,110,103, 32,
+ 102,105,101,108,100,115, 58, 10, 45, 45, 32, 32,109,111,100,
+ 32, 32, 61, 32,116,121,112,101, 32,109,111,100,105,102,105,
+ 101,114,115, 10, 45, 45, 32, 32,116,121,112,101, 32, 61, 32,
+ 116,121,112,101, 10, 45, 45, 32, 32,112,116,114, 32, 32, 61,
+ 32, 34, 42, 34, 32,111,114, 32, 34, 38, 34, 44, 32,105,102,
+ 32,114,101,112,114,101,115,101,110,116,105,110,103, 32, 97,
+ 32,112,111,105,110,116,101,114, 32,111,114, 32, 97, 32,114,
+ 101,102,101,114,101,110, 99,101, 10, 45, 45, 32, 32,110, 97,
+ 109,101, 32, 61, 32,110, 97,109,101, 10, 45, 45, 32, 32,100,
+ 105,109, 32, 32, 61, 32,100,105,109,101,110,115,105,111,110,
+ 44, 32,105,102, 32, 97, 32,118,101, 99,116,111,114, 10, 45,
+ 45, 32, 32,100,101,102, 32, 32, 61, 32,100,101,102, 97,117,
+ 108,116, 32,118, 97,108,117,101, 44, 32,105,102, 32, 97,110,
+ 121, 32, 40,111,110,108,121, 32,102,111,114, 32, 97,114,103,
+ 117,109,101,110,116,115, 41, 10, 45, 45, 32, 32,114,101,116,
+ 32, 32, 61, 32, 34, 42, 34, 32,111,114, 32, 34, 38, 34, 44,
+ 32,105,102, 32,118, 97,108,117,101, 32,105,115, 32,116,111,
+ 32, 98,101, 32,114,101,116,117,114,110,101,100, 32, 40,111,
+ 110,108,121, 32,102,111,114, 32, 97,114,103,117,109,101,110,
+ 116,115, 41, 10, 99,108, 97,115,115, 68,101, 99,108, 97,114,
+ 97,116,105,111,110, 32, 61, 32,123, 10, 32,109,111,100, 32,
+ 61, 32, 39, 39, 44, 10, 32,116,121,112,101, 32, 61, 32, 39,
+ 39, 44, 10, 32,112,116,114, 32, 61, 32, 39, 39, 44, 10, 32,
+ 110, 97,109,101, 32, 61, 32, 39, 39, 44, 10, 32,100,105,109,
+ 32, 61, 32, 39, 39, 44, 10, 32,114,101,116, 32, 61, 32, 39,
+ 39, 44, 10, 32,100,101,102, 32, 61, 32, 39, 39, 10,125, 10,
+ 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,105,111,
+ 110, 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,
+ 115,115, 68,101, 99,108, 97,114, 97,116,105,111,110, 10,115,
+ 101,116,109,101,116, 97,116, 97, 98,108,101, 40, 99,108, 97,
+ 115,115, 68,101, 99,108, 97,114, 97,116,105,111,110, 44, 99,
+ 108, 97,115,115, 70,101, 97,116,117,114,101, 41, 10, 10, 45,
+ 45, 32, 67,114,101, 97,116,101, 32, 97,110, 32,117,110,105,
+ 113,117,101, 32,118, 97,114,105, 97, 98,108,101, 32,110, 97,
+ 109,101, 10,102,117,110, 99,116,105,111,110, 32, 99,114,101,
+ 97,116,101, 95,118, 97,114,110, 97,109,101, 32, 40, 41, 10,
+ 32,105,102, 32,110,111,116, 32, 95,118, 97,114,110,117,109,
+ 98,101,114, 32,116,104,101,110, 32, 95,118, 97,114,110,117,
+ 109, 98,101,114, 32, 61, 32, 48, 32,101,110,100, 10, 32, 95,
+ 118, 97,114,110,117,109, 98,101,114, 32, 61, 32, 95,118, 97,
+ 114,110,117,109, 98,101,114, 32, 43, 32, 49, 10, 32,114,101,
+ 116,117,114,110, 32, 34,116,111,108,117, 97, 95,118, 97,114,
+ 95, 34, 46, 46, 95,118, 97,114,110,117,109, 98,101,114, 10,
+ 101,110,100, 10, 10, 45, 45, 32, 67,104,101, 99,107, 32,100,
+ 101, 99,108, 97,114, 97,116,105,111,110, 32,110, 97,109,101,
+ 10, 45, 45, 32, 73,116, 32, 97,108,115,111, 32,105,100,101,
+ 110,116,105,102,105,101,115, 32,100,101,102, 97,117,108,116,
+ 32,118, 97,108,117,101,115, 10,102,117,110, 99,116,105,111,
+ 110, 32, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,
+ 105,111,110, 58, 99,104,101, 99,107,110, 97,109,101, 32, 40,
+ 41, 10, 10, 32,105,102, 32,115,116,114,115,117, 98, 40,115,
+ 101,108,102, 46,110, 97,109,101, 44, 49, 44, 49, 41, 32, 61,
+ 61, 32, 39, 91, 39, 32, 97,110,100, 32,110,111,116, 32,102,
+ 105,110,100,116,121,112,101, 40,115,101,108,102, 46,116,121,
+ 112,101, 41, 32,116,104,101,110, 10, 32, 32,115,101,108,102,
+ 46,110, 97,109,101, 32, 61, 32,115,101,108,102, 46,116,121,
+ 112,101, 46, 46,115,101,108,102, 46,110, 97,109,101, 10, 32,
+ 32,108,111, 99, 97,108, 32,109, 32, 61, 32,115,112,108,105,
+ 116, 40,115,101,108,102, 46,109,111,100, 44, 39, 37,115, 37,
+ 115, 42, 39, 41, 10, 32, 32,115,101,108,102, 46,116,121,112,
+ 101, 32, 61, 32,109, 91,109, 46,110, 93, 10, 32, 32,115,101,
+ 108,102, 46,109,111,100, 32, 61, 32, 99,111,110, 99, 97,116,
+ 40,109, 44, 49, 44,109, 46,110, 45, 49, 41, 10, 32,101,110,
+ 100, 10, 10, 32,108,111, 99, 97,108, 32,116, 32, 61, 32,115,
+ 112,108,105,116, 40,115,101,108,102, 46,110, 97,109,101, 44,
+ 39, 61, 39, 41, 10, 32,105,102, 32,116, 46,110, 61, 61, 50,
+ 32,116,104,101,110, 10, 32, 32,115,101,108,102, 46,110, 97,
+ 109,101, 32, 61, 32,116, 91, 49, 93, 10, 32, 32,115,101,108,
+ 102, 46,100,101,102, 32, 61, 32,102,105,110,100, 95,101,110,
+ 117,109, 95,118, 97,114, 40,116, 91,116, 46,110, 93, 41, 10,
+ 32,101,110,100, 10, 10, 32,108,111, 99, 97,108, 32, 98, 44,
+ 101, 44,100, 32, 61, 32,115,116,114,102,105,110,100, 40,115,
+ 101,108,102, 46,110, 97,109,101, 44, 34, 37, 91, 40, 46, 45,
+ 41, 37, 93, 34, 41, 10, 32,105,102, 32, 98, 32,116,104,101,
+ 110, 10, 32, 32,115,101,108,102, 46,110, 97,109,101, 32, 61,
+ 32,115,116,114,115,117, 98, 40,115,101,108,102, 46,110, 97,
+ 109,101, 44, 49, 44, 98, 45, 49, 41, 10, 32, 32,115,101,108,
+ 102, 46,100,105,109, 32, 61, 32,102,105,110,100, 95,101,110,
+ 117,109, 95,118, 97,114, 40,100, 41, 10, 32,101,110,100, 10,
+ 10, 10, 32,105,102, 32,115,101,108,102, 46,116,121,112,101,
+ 32,126, 61, 32, 39, 39, 32, 97,110,100, 32,115,101,108,102,
+ 46,116,121,112,101, 32,126, 61, 32, 39,118,111,105,100, 39,
+ 32, 97,110,100, 32,115,101,108,102, 46,110, 97,109,101, 32,
+ 61, 61, 32, 39, 39, 32,116,104,101,110, 10, 32, 32,115,101,
+ 108,102, 46,110, 97,109,101, 32, 61, 32, 99,114,101, 97,116,
+ 101, 95,118, 97,114,110, 97,109,101, 40, 41, 10, 32,101,108,
+ 115,101,105,102, 32,115,101,108,102, 46,107,105,110,100, 61,
+ 61, 39,118, 97,114, 39, 32,116,104,101,110, 10, 32, 32,105,
+ 102, 32,115,101,108,102, 46,116,121,112,101, 61, 61, 39, 39,
+ 32, 97,110,100, 32,115,101,108,102, 46,110, 97,109,101,126,
+ 61, 39, 39, 32,116,104,101,110, 10, 32, 32, 32,115,101,108,
+ 102, 46,116,121,112,101, 32, 61, 32,115,101,108,102, 46,116,
+ 121,112,101, 46, 46,115,101,108,102, 46,110, 97,109,101, 10,
+ 32, 32, 32,115,101,108,102, 46,110, 97,109,101, 32, 61, 32,
+ 99,114,101, 97,116,101, 95,118, 97,114,110, 97,109,101, 40,
+ 41, 10, 32, 32,101,108,115,101,105,102, 32,102,105,110,100,
+ 116,121,112,101, 40,115,101,108,102, 46,110, 97,109,101, 41,
+ 32,116,104,101,110, 10, 32, 32, 32,105,102, 32,115,101,108,
+ 102, 46,116,121,112,101, 61, 61, 39, 39, 32,116,104,101,110,
+ 32,115,101,108,102, 46,116,121,112,101, 32, 61, 32,115,101,
+ 108,102, 46,110, 97,109,101, 10, 32, 32, 32,101,108,115,101,
+ 32,115,101,108,102, 46,116,121,112,101, 32, 61, 32,115,101,
+ 108,102, 46,116,121,112,101, 46, 46, 39, 32, 39, 46, 46,115,
+ 101,108,102, 46,110, 97,109,101, 32,101,110,100, 10, 32, 32,
+ 32,115,101,108,102, 46,110, 97,109,101, 32, 61, 32, 99,114,
+ 101, 97,116,101, 95,118, 97,114,110, 97,109,101, 40, 41, 10,
+ 32, 32,101,110,100, 10, 32,101,110,100, 10, 10, 32, 45, 45,
+ 32, 97,100,106,117,115,116, 32,116,121,112,101, 32,111,102,
+ 32,115,116,114,105,110,103, 10, 32,105,102, 32,115,101,108,
+ 102, 46,116,121,112,101, 32, 61, 61, 32, 39, 99,104, 97,114,
+ 39, 32, 97,110,100, 32,115,101,108,102, 46,100,105,109, 32,
+ 126, 61, 32, 39, 39, 32,116,104,101,110, 10, 9, 32,115,101,
+ 108,102, 46,116,121,112,101, 32, 61, 32, 39, 99,104, 97,114,
+ 42, 39, 10, 32,101,110,100, 10, 10, 9,105,102, 32,115,101,
+ 108,102, 46,107,105,110,100, 32, 97,110,100, 32,115,101,108,
+ 102, 46,107,105,110,100, 32, 61, 61, 32, 39,118, 97,114, 39,
+ 32,116,104,101,110, 10, 9, 9,115,101,108,102, 46,110, 97,
+ 109,101, 32, 61, 32,115,116,114,105,110,103, 46,103,115,117,
+ 98, 40,115,101,108,102, 46,110, 97,109,101, 44, 32, 34, 58,
+ 46, 42, 36, 34, 44, 32, 34, 34, 41, 32, 45, 45, 32, 63, 63,
+ 63, 10, 9,101,110,100, 10,101,110,100, 10, 10, 45, 45, 32,
+ 67,104,101, 99,107, 32,100,101, 99,108, 97,114, 97,116,105,
+ 111,110, 32,116,121,112,101, 10, 45, 45, 32, 83,117, 98,115,
+ 116,105,116,117,116,101,115, 32,116,121,112,101,100,101,102,
+ 39,115, 46, 10,102,117,110, 99,116,105,111,110, 32, 99,108,
+ 97,115,115, 68,101, 99,108, 97,114, 97,116,105,111,110, 58,
+ 99,104,101, 99,107,116,121,112,101, 32, 40, 41, 10, 10, 32,
+ 45, 45, 32, 99,104,101, 99,107, 32,105,102, 32,116,104,101,
+ 114,101, 32,105,115, 32, 97, 32,112,111,105,110,116,101,114,
+ 32,116,111, 32, 98, 97,115,105, 99, 32,116,121,112,101, 10,
+ 32,108,111, 99, 97,108, 32, 98, 97,115,105, 99, 32, 61, 32,
+ 105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46,116,121,
+ 112,101, 41, 10, 32,105,102, 32,115,101,108,102, 46,107,105,
+ 110,100, 32, 61, 61, 32, 39,102,117,110, 99, 39, 32, 97,110,
+ 100, 32, 98, 97,115,105, 99, 61, 61, 39,110,117,109, 98,101,
+ 114, 39, 32, 97,110,100, 32,115,116,114,105,110,103, 46,102,
+ 105,110,100, 40,115,101,108,102, 46,112,116,114, 44, 32, 34,
+ 37, 42, 34, 41, 32,116,104,101,110, 10, 32, 9,115,101,108,
+ 102, 46,116,121,112,101, 32, 61, 32, 39, 95,117,115,101,114,
+ 100, 97,116, 97, 39, 10, 32, 9,115,101,108,102, 46,112,116,
+ 114, 32, 61, 32, 34, 34, 10, 32,101,110,100, 10, 32,105,102,
+ 32, 98, 97,115,105, 99, 32, 97,110,100, 32,115,101,108,102,
+ 46,112,116,114,126, 61, 39, 39, 32,116,104,101,110, 10, 32,
+ 32,115,101,108,102, 46,114,101,116, 32, 61, 32,115,101,108,
+ 102, 46,112,116,114, 10, 32, 32,115,101,108,102, 46,112,116,
+ 114, 32, 61, 32,110,105,108, 10, 32, 32,105,102, 32,105,115,
+ 98, 97,115,105, 99, 40,115,101,108,102, 46,116,121,112,101,
+ 41, 32, 61, 61, 32, 39,110,117,109, 98,101,114, 39, 32,116,
+ 104,101,110, 10, 32, 32, 9,115,101,108,102, 46,114,101,116,
+ 117,114,110, 95,117,115,101,114,100, 97,116, 97, 32, 61, 32,
+ 116,114,117,101, 10, 32, 32,101,110,100, 10, 32,101,110,100,
+ 10, 10, 32, 45, 45, 32, 99,104,101, 99,107, 32,105,102, 32,
+ 116,104,101,114,101, 32,105,115, 32, 97,114,114, 97,121, 32,
+ 116,111, 32, 98,101, 32,114,101,116,117,114,110,101,100, 10,
+ 32,105,102, 32,115,101,108,102, 46,100,105,109,126, 61, 39,
+ 39, 32, 97,110,100, 32,115,101,108,102, 46,114,101,116,126,
+ 61, 39, 39, 32,116,104,101,110, 10, 32, 32, 32,101,114,114,
+ 111,114, 40, 39, 35,105,110,118, 97,108,105,100, 32,112, 97,
+ 114, 97,109,101,116,101,114, 58, 32, 99, 97,110,110,111,116,
+ 32,114,101,116,117,114,110, 32, 97,110, 32, 97,114,114, 97,
+ 121, 32,111,102, 32,118, 97,108,117,101,115, 39, 41, 10, 32,
+ 101,110,100, 10, 32, 45, 45, 32,114,101,115,116,111,114,101,
+ 32, 39,118,111,105,100, 42, 39, 32, 97,110,100, 32, 39,115,
+ 116,114,105,110,103, 42, 39, 10, 32,105,102, 32,115,101,108,
+ 102, 46,116,121,112,101, 32, 61, 61, 32, 39, 95,117,115,101,
+ 114,100, 97,116, 97, 39, 32,116,104,101,110, 32,115,101,108,
+ 102, 46,116,121,112,101, 32, 61, 32, 39,118,111,105,100, 42,
+ 39, 10, 32,101,108,115,101,105,102, 32,115,101,108,102, 46,
+ 116,121,112,101, 32, 61, 61, 32, 39, 95, 99,115,116,114,105,
+ 110,103, 39, 32,116,104,101,110, 32,115,101,108,102, 46,116,
+ 121,112,101, 32, 61, 32, 39, 99,104, 97,114, 42, 39, 10, 32,
+ 101,108,115,101,105,102, 32,115,101,108,102, 46,116,121,112,
+ 101, 32, 61, 61, 32, 39, 95,108,115,116, 97,116,101, 39, 32,
+ 116,104,101,110, 32,115,101,108,102, 46,116,121,112,101, 32,
+ 61, 32, 39,108,117, 97, 95, 83,116, 97,116,101, 42, 39, 10,
+ 32,101,110,100, 10, 10, 32, 45, 45, 32,114,101,115,111,108,
+ 118,101, 32,116,121,112,101,115, 32,105,110,115,105,100,101,
+ 32,116,104,101, 32,116,101,109,112,108, 97,116,101,115, 10,
+ 32,105,102, 32,115,101,108,102, 46,116,121,112,101, 32,116,
+ 104,101,110, 10, 9, 32,115,101,108,102, 46,116,121,112,101,
+ 32, 61, 32,114,101,115,111,108,118,101, 95,116,101,109,112,
+ 108, 97,116,101, 95,116,121,112,101,115, 40,115,101,108,102,
+ 46,116,121,112,101, 41, 10, 32,101,110,100, 10, 10, 45, 45,
+ 10, 45, 45, 32, 45, 45, 32,105,102, 32,114,101,116,117,114,
+ 110,105,110,103, 32,118, 97,108,117,101, 44, 32, 97,117,116,
+ 111,109, 97,116,105, 99, 97,108,108,121, 32,115,101,116, 32,
+ 100,101,102, 97,117,108,116, 32,118, 97,108,117,101, 10, 45,
+ 45, 32,105,102, 32,115,101,108,102, 46,114,101,116, 32,126,
+ 61, 32, 39, 39, 32, 97,110,100, 32,115,101,108,102, 46,100,
+ 101,102, 32, 61, 61, 32, 39, 39, 32,116,104,101,110, 10, 45,
+ 45, 32, 32,115,101,108,102, 46,100,101,102, 32, 61, 32, 39,
+ 48, 39, 10, 45, 45, 32,101,110,100, 10, 45, 45, 10, 10,101,
+ 110,100, 10, 10,102,117,110, 99,116,105,111,110, 32,114,101,
+ 115,111,108,118,101, 95,116,101,109,112,108, 97,116,101, 95,
+ 116,121,112,101,115, 40,116,121,112,101, 41, 10, 10, 9,105,
+ 102, 32,105,115, 98, 97,115,105, 99, 40,116,121,112,101, 41,
+ 32,116,104,101,110, 10, 9, 9,114,101,116,117,114,110, 32,
+ 116,121,112,101, 10, 9,101,110,100, 10, 9,108,111, 99, 97,
+ 108, 32, 98, 44, 95, 44,109, 32, 61, 32,115,116,114,105,110,
+ 103, 46,102,105,110,100, 40,116,121,112,101, 44, 32, 34, 40,
+ 37, 98, 60, 62, 41, 34, 41, 10, 9,105,102, 32, 98, 32,116,
+ 104,101,110, 10, 10, 9, 9,109, 32, 61, 32,115,112,108,105,
+ 116, 95, 99, 95,116,111,107,101,110,115, 40,115,116,114,105,
+ 110,103, 46,115,117, 98, 40,109, 44, 32, 50, 44, 32, 45, 50,
+ 41, 44, 32, 34, 44, 34, 41, 10, 9, 9,102,111,114, 32,105,
+ 61, 49, 44, 32,116, 97, 98,108,101, 46,103,101,116,110, 40,
+ 109, 41, 32,100,111, 10, 9, 9, 9,109, 91,105, 93, 32, 61,
+ 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,109, 91,
+ 105, 93, 44, 34, 37,115, 42, 40, 91, 37, 42, 38, 93, 41, 34,
+ 44, 32, 34, 37, 49, 34, 41, 10, 9, 9, 9,105,102, 32,110,
+ 111,116, 32,105,115, 98, 97,115,105, 99, 40,109, 91,105, 93,
+ 41, 32,116,104,101,110, 10, 9, 9, 9, 9,105,102, 32,110,
+ 111,116, 32,105,115,101,110,117,109, 40,109, 91,105, 93, 41,
+ 32,116,104,101,110, 32, 95, 44, 32,109, 91,105, 93, 32, 61,
+ 32, 97,112,112,108,121,116,121,112,101,100,101,102, 40, 34,
+ 34, 44, 32,109, 91,105, 93, 41, 32,101,110,100, 10, 9, 9,
+ 9, 9,109, 91,105, 93, 32, 61, 32,102,105,110,100,116,121,
+ 112,101, 40,109, 91,105, 93, 41, 32,111,114, 32,109, 91,105,
+ 93, 10, 9, 9, 9, 9,109, 91,105, 93, 32, 61, 32,114,101,
+ 115,111,108,118,101, 95,116,101,109,112,108, 97,116,101, 95,
+ 116,121,112,101,115, 40,109, 91,105, 93, 41, 10, 9, 9, 9,
+ 101,110,100, 10, 9, 9,101,110,100, 10, 10, 9, 9,108,111,
+ 99, 97,108, 32, 98, 44,105, 10, 9, 9,116,121,112,101, 44,
+ 98, 44,105, 32, 61, 32, 98,114,101, 97,107, 95,116,101,109,
+ 112,108, 97,116,101, 40,116,121,112,101, 41, 10, 45, 45,112,
+ 114,105,110,116, 40, 34, 99,111,110, 99, 97,116, 32,105,115,
+ 32, 34, 44, 99,111,110, 99, 97,116, 40,109, 44, 32, 49, 44,
+ 32,109, 46,110, 41, 41, 10, 9, 9,108,111, 99, 97,108, 32,
+ 116,101,109,112,108, 97,116,101, 95,112, 97,114,116, 32, 61,
+ 32, 34, 60, 34, 46, 46, 99,111,110, 99, 97,116, 40,109, 44,
+ 32, 49, 44, 32,109, 46,110, 44, 32, 34, 44, 34, 41, 46, 46,
+ 34, 62, 34, 10, 9, 9,116,121,112,101, 32, 61, 32,114,101,
+ 98,117,105,108,100, 95,116,101,109,112,108, 97,116,101, 40,
+ 116,121,112,101, 44, 32, 98, 44, 32,116,101,109,112,108, 97,
+ 116,101, 95,112, 97,114,116, 41, 10, 9, 9,116,121,112,101,
+ 32, 61, 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,
+ 116,121,112,101, 44, 32, 34, 62, 62, 34, 44, 32, 34, 62, 32,
+ 62, 34, 41, 10, 9,101,110,100, 10, 9,114,101,116,117,114,
+ 110, 32,116,121,112,101, 10,101,110,100, 10, 10,102,117,110,
+ 99,116,105,111,110, 32, 98,114,101, 97,107, 95,116,101,109,
+ 112,108, 97,116,101, 40,115, 41, 10, 9,108,111, 99, 97,108,
+ 32, 98, 44,101, 44,116,105,109,112,108, 32, 61, 32,115,116,
+ 114,105,110,103, 46,102,105,110,100, 40,115, 44, 32, 34, 40,
+ 37, 98, 60, 62, 41, 34, 41, 10, 9,105,102, 32,116,105,109,
+ 112,108, 32,116,104,101,110, 10, 9, 9,115, 32, 61, 32,115,
+ 116,114,105,110,103, 46,103,115,117, 98, 40,115, 44, 32, 34,
+ 37, 98, 60, 62, 34, 44, 32, 34, 34, 41, 10, 9, 9,114,101,
+ 116,117,114,110, 32,115, 44, 32, 98, 44, 32,116,105,109,112,
+ 108, 10, 9,101,108,115,101, 10, 9, 9,114,101,116,117,114,
+ 110, 32,115, 44, 32, 48, 44, 32,110,105,108, 10, 9,101,110,
+ 100, 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,110,
+ 32,114,101, 98,117,105,108,100, 95,116,101,109,112,108, 97,
+ 116,101, 40,115, 44, 32, 98, 44, 32,116,105,109,112,108, 41,
+ 10, 10, 9,105,102, 32, 98, 32, 61, 61, 32, 48, 32,116,104,
+ 101,110, 10, 9, 9,114,101,116,117,114,110, 32,115, 10, 9,
+ 101,110,100, 10, 10, 9,114,101,116,117,114,110, 32,115,116,
+ 114,105,110,103, 46,115,117, 98, 40,115, 44, 32, 49, 44, 32,
+ 98, 45, 49, 41, 46, 46,116,105,109,112,108, 46, 46,115,116,
+ 114,105,110,103, 46,115,117, 98, 40,115, 44, 32, 98, 44, 32,
+ 45, 49, 41, 10,101,110,100, 10, 10, 45, 45, 32, 80,114,105,
+ 110,116, 32,109,101,116,104,111,100, 10,102,117,110, 99,116,
+ 105,111,110, 32, 99,108, 97,115,115, 68,101, 99,108, 97,114,
+ 97,116,105,111,110, 58,112,114,105,110,116, 32, 40,105,100,
+ 101,110,116, 44, 99,108,111,115,101, 41, 10, 32,112,114,105,
+ 110,116, 40,105,100,101,110,116, 46, 46, 34, 68,101, 99,108,
+ 97,114, 97,116,105,111,110,123, 34, 41, 10, 32,112,114,105,
+ 110,116, 40,105,100,101,110,116, 46, 46, 34, 32,109,111,100,
+ 32, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,109,111,
+ 100, 46, 46, 34, 39, 44, 34, 41, 10, 32,112,114,105,110,116,
+ 40,105,100,101,110,116, 46, 46, 34, 32,116,121,112,101, 32,
+ 61, 32, 39, 34, 46, 46,115,101,108,102, 46,116,121,112,101,
+ 46, 46, 34, 39, 44, 34, 41, 10, 32,112,114,105,110,116, 40,
+ 105,100,101,110,116, 46, 46, 34, 32,112,116,114, 32, 32, 61,
+ 32, 39, 34, 46, 46,115,101,108,102, 46,112,116,114, 46, 46,
+ 34, 39, 44, 34, 41, 10, 32,112,114,105,110,116, 40,105,100,
+ 101,110,116, 46, 46, 34, 32,110, 97,109,101, 32, 61, 32, 39,
+ 34, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 34,
+ 39, 44, 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,
+ 110,116, 46, 46, 34, 32,100,105,109, 32, 32, 61, 32, 39, 34,
+ 46, 46,115,101,108,102, 46,100,105,109, 46, 46, 34, 39, 44,
+ 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,116,
+ 46, 46, 34, 32,100,101,102, 32, 32, 61, 32, 39, 34, 46, 46,
+ 115,101,108,102, 46,100,101,102, 46, 46, 34, 39, 44, 34, 41,
+ 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46,
+ 34, 32,114,101,116, 32, 32, 61, 32, 39, 34, 46, 46,115,101,
+ 108,102, 46,114,101,116, 46, 46, 34, 39, 44, 34, 41, 10, 32,
+ 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,125,
+ 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100, 10, 10,
+ 45, 45, 32, 99,104,101, 99,107, 32,105,102, 32, 97,114,114,
+ 97,121, 32,111,102, 32,118, 97,108,117,101,115, 32, 97,114,
+ 101, 32,114,101,116,117,114,110,101,100, 32,116,111, 32, 76,
+ 117, 97, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,
+ 115,115, 68,101, 99,108, 97,114, 97,116,105,111,110, 58,114,
+ 101,113,117,105,114,101, 99,111,108,108,101, 99,116,105,111,
+ 110, 32, 40,116, 41, 10, 32,105,102, 32,115,101,108,102, 46,
+ 109,111,100, 32,126, 61, 32, 39, 99,111,110,115,116, 39, 32,
+ 97,110,100, 10, 9, 32, 32, 32, 32,115,101,108,102, 46,100,
+ 105,109, 32, 97,110,100, 32,115,101,108,102, 46,100,105,109,
+ 32,126, 61, 32, 39, 39, 32, 97,110,100, 10, 9, 9, 9, 9,
+ 32,110,111,116, 32,105,115, 98, 97,115,105, 99, 40,115,101,
+ 108,102, 46,116,121,112,101, 41, 32, 97,110,100, 10, 9, 9,
+ 9, 9, 32,115,101,108,102, 46,112,116,114, 32, 61, 61, 32,
+ 39, 39, 32, 97,110,100, 32,115,101,108,102, 58, 99,104,101,
+ 99,107, 95,112,117, 98,108,105, 99, 95, 97, 99, 99,101,115,
+ 115, 40, 41, 32,116,104,101,110, 10, 9, 9,108,111, 99, 97,
+ 108, 32,116,121,112,101, 32, 61, 32,103,115,117, 98, 40,115,
+ 101,108,102, 46,116,121,112,101, 44, 34, 37,115, 42, 99,111,
+ 110,115,116, 37,115, 43, 34, 44, 34, 34, 41, 10, 9, 9,116,
+ 91,116,121,112,101, 93, 32, 61, 32, 34,116,111,108,117, 97,
+ 95, 99,111,108,108,101, 99,116, 95, 34, 32, 46, 46, 32, 99,
+ 108,101, 97,110, 95,116,101,109,112,108, 97,116,101, 40,116,
+ 121,112,101, 41, 10, 9, 9,114,101,116,117,114,110, 32,116,
+ 114,117,101, 10, 9,101,110,100, 10, 9,114,101,116,117,114,
+ 110, 32,102, 97,108,115,101, 10,101,110,100, 10, 10, 45, 45,
+ 32,100,101, 99,108, 97,114,101, 32,116, 97,103, 10,102,117,
+ 110, 99,116,105,111,110, 32, 99,108, 97,115,115, 68,101, 99,
+ 108, 97,114, 97,116,105,111,110, 58,100,101, 99,108,116,121,
+ 112,101, 32, 40, 41, 10, 10, 9,115,101,108,102, 46,116,121,
+ 112,101, 32, 61, 32,116,121,112,101,118, 97,114, 40,115,101,
+ 108,102, 46,116,121,112,101, 41, 10, 9,105,102, 32,115,116,
+ 114,102,105,110,100, 40,115,101,108,102, 46,109,111,100, 44,
+ 39, 99,111,110,115,116, 39, 41, 32,116,104,101,110, 10, 9,
+ 9,115,101,108,102, 46,116,121,112,101, 32, 61, 32, 39, 99,
+ 111,110,115,116, 32, 39, 46, 46,115,101,108,102, 46,116,121,
+ 112,101, 10, 9, 9,115,101,108,102, 46,109,111,100, 32, 61,
+ 32,103,115,117, 98, 40,115,101,108,102, 46,109,111,100, 44,
+ 39, 99,111,110,115,116, 37,115, 42, 39, 44, 39, 39, 41, 10,
+ 9,101,110,100, 10,101,110,100, 10, 10, 10, 45, 45, 32,111,
+ 117,116,112,117,116, 32,116,121,112,101, 32, 99,104,101, 99,
+ 107,105,110,103, 10,102,117,110, 99,116,105,111,110, 32, 99,
+ 108, 97,115,115, 68,101, 99,108, 97,114, 97,116,105,111,110,
+ 58,111,117,116, 99,104,101, 99,107,116,121,112,101, 32, 40,
+ 110, 97,114,103, 41, 10, 32,108,111, 99, 97,108, 32,100,101,
+ 102, 10, 32,108,111, 99, 97,108, 32,116, 32, 61, 32,105,115,
+ 98, 97,115,105, 99, 40,115,101,108,102, 46,116,121,112,101,
+ 41, 10, 32,105,102, 32,115,101,108,102, 46,100,101,102,126,
+ 61, 39, 39, 32,116,104,101,110, 10, 32, 32,100,101,102, 32,
+ 61, 32, 49, 10, 32,101,108,115,101, 10, 32, 32,100,101,102,
+ 32, 61, 32, 48, 10, 32,101,110,100, 10, 32,105,102, 32,115,
+ 101,108,102, 46,100,105,109, 32,126, 61, 32, 39, 39, 32,116,
+ 104,101,110, 10, 9, 45, 45,105,102, 32,116, 61, 61, 39,115,
+ 116,114,105,110,103, 39, 32,116,104,101,110, 10, 9, 45, 45,
+ 9,114,101,116,117,114,110, 32, 39,116,111,108,117, 97, 95,
+ 105,115,115,116,114,105,110,103, 97,114,114, 97,121, 40,116,
+ 111,108,117, 97, 95, 83, 44, 39, 46, 46,110, 97,114,103, 46,
+ 46, 39, 44, 39, 46, 46,100,101,102, 46, 46, 39, 44, 38,116,
+ 111,108,117, 97, 95,101,114,114, 41, 39, 10, 9, 45, 45,101,
+ 108,115,101, 10, 9,114,101,116,117,114,110, 32, 39, 33,116,
+ 111,108,117, 97, 95,105,115,116, 97, 98,108,101, 40,116,111,
+ 108,117, 97, 95, 83, 44, 39, 46, 46,110, 97,114,103, 46, 46,
+ 39, 44, 48, 44, 38,116,111,108,117, 97, 95,101,114,114, 41,
+ 39, 10, 32, 9, 45, 45,101,110,100, 10, 32,101,108,115,101,
+ 105,102, 32,116, 32,116,104,101,110, 10, 9,114,101,116,117,
+ 114,110, 32, 39, 33,116,111,108,117, 97, 95,105,115, 39, 46,
+ 46,116, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 39,
+ 46, 46,110, 97,114,103, 46, 46, 39, 44, 39, 46, 46,100,101,
+ 102, 46, 46, 39, 44, 38,116,111,108,117, 97, 95,101,114,114,
+ 41, 39, 10, 32,101,108,115,101, 10, 32, 32,108,111, 99, 97,
+ 108, 32,105,115, 95,102,117,110, 99, 32, 61, 32,103,101,116,
+ 95,105,115, 95,102,117,110, 99,116,105,111,110, 40,115,101,
+ 108,102, 46,116,121,112,101, 41, 10, 32, 32,105,102, 32,115,
+ 101,108,102, 46,112,116,114, 32, 61, 61, 32, 39, 38, 39, 32,
+ 111,114, 32,115,101,108,102, 46,112,116,114, 32, 61, 61, 32,
+ 39, 39, 32,116,104,101,110, 10, 32, 32, 9,114,101,116,117,
+ 114,110, 32, 39, 40,116,111,108,117, 97, 95,105,115,118, 97,
+ 108,117,101,110,105,108, 40,116,111,108,117, 97, 95, 83, 44,
+ 39, 46, 46,110, 97,114,103, 46, 46, 39, 44, 38,116,111,108,
+ 117, 97, 95,101,114,114, 41, 32,124,124, 32, 33, 39, 46, 46,
+ 105,115, 95,102,117,110, 99, 46, 46, 39, 40,116,111,108,117,
+ 97, 95, 83, 44, 39, 46, 46,110, 97,114,103, 46, 46, 39, 44,
+ 34, 39, 46, 46,115,101,108,102, 46,116,121,112,101, 46, 46,
+ 39, 34, 44, 39, 46, 46,100,101,102, 46, 46, 39, 44, 38,116,
+ 111,108,117, 97, 95,101,114,114, 41, 41, 39, 10, 32, 32,101,
+ 108,115,101, 10, 9,114,101,116,117,114,110, 32, 39, 33, 39,
+ 46, 46,105,115, 95,102,117,110, 99, 46, 46, 39, 40,116,111,
+ 108,117, 97, 95, 83, 44, 39, 46, 46,110, 97,114,103, 46, 46,
+ 39, 44, 34, 39, 46, 46,115,101,108,102, 46,116,121,112,101,
+ 46, 46, 39, 34, 44, 39, 46, 46,100,101,102, 46, 46, 39, 44,
+ 38,116,111,108,117, 97, 95,101,114,114, 41, 39, 10, 32, 32,
+ 101,110,100, 10, 32,101,110,100, 10,101,110,100, 10, 10,102,
+ 117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 68,101,
+ 99,108, 97,114, 97,116,105,111,110, 58, 98,117,105,108,100,
+ 100,101, 99,108, 97,114, 97,116,105,111,110, 32, 40,110, 97,
+ 114,103, 44, 32, 99,112,108,117,115,112,108,117,115, 41, 10,
+ 32,108,111, 99, 97,108, 32, 97,114,114, 97,121, 32, 61, 32,
+ 115,101,108,102, 46,100,105,109, 32,126, 61, 32, 39, 39, 32,
+ 97,110,100, 32,116,111,110,117,109, 98,101,114, 40,115,101,
+ 108,102, 46,100,105,109, 41, 61, 61,110,105,108, 10, 9,108,
+ 111, 99, 97,108, 32,108,105,110,101, 32, 61, 32, 34, 34, 10,
+ 32,108,111, 99, 97,108, 32,112,116,114, 32, 61, 32, 39, 39,
+ 10, 32,108,111, 99, 97,108, 32,109,111,100, 10, 32,108,111,
+ 99, 97,108, 32,116,121,112,101, 32, 61, 32,115,101,108,102,
+ 46,116,121,112,101, 10, 32,108,111, 99, 97,108, 32,110, 99,
+ 116,121,112,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,
+ 102, 46,116,121,112,101, 44, 39, 99,111,110,115,116, 37,115,
+ 43, 39, 44, 39, 39, 41, 10, 32,105,102, 32,115,101,108,102,
+ 46,100,105,109, 32,126, 61, 32, 39, 39, 32,116,104,101,110,
+ 10, 9, 32,116,121,112,101, 32, 61, 32,103,115,117, 98, 40,
+ 115,101,108,102, 46,116,121,112,101, 44, 39, 99,111,110,115,
+ 116, 37,115, 43, 39, 44, 39, 39, 41, 32, 32, 45, 45, 32,101,
+ 108,105,109,105,110, 97,116,101,115, 32, 99,111,110,115,116,
+ 32,109,111,100,105,102,105,101,114, 32,102,111,114, 32, 97,
+ 114,114, 97,121,115, 10, 32,101,110,100, 10, 32,105,102, 32,
+ 115,101,108,102, 46,112,116,114,126, 61, 39, 39, 32, 97,110,
+ 100, 32,110,111,116, 32,105,115, 98, 97,115,105, 99, 40,116,
+ 121,112,101, 41, 32,116,104,101,110, 32,112,116,114, 32, 61,
+ 32, 39, 42, 39, 32,101,110,100, 10, 32,108,105,110,101, 32,
+ 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,109, 40,108,
+ 105,110,101, 44, 34, 32, 34, 44,115,101,108,102, 46,109,111,
+ 100, 44,116,121,112,101, 44,112,116,114, 41, 10, 32,105,102,
+ 32, 97,114,114, 97,121, 32,116,104,101,110, 10, 32, 32,108,
+ 105,110,101, 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114,
+ 97,109, 40,108,105,110,101, 44, 39, 42, 39, 41, 10, 32,101,
+ 110,100, 10, 32,108,105,110,101, 32, 61, 32, 99,111,110, 99,
+ 97,116,112, 97,114, 97,109, 40,108,105,110,101, 44,115,101,
+ 108,102, 46,110, 97,109,101, 41, 10, 32,105,102, 32,115,101,
+ 108,102, 46,100,105,109, 32,126, 61, 32, 39, 39, 32,116,104,
+ 101,110, 10, 32, 32,105,102, 32,116,111,110,117,109, 98,101,
+ 114, 40,115,101,108,102, 46,100,105,109, 41,126, 61,110,105,
+ 108, 32,116,104,101,110, 10, 32, 32, 32,108,105,110,101, 32,
+ 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,109, 40,108,
+ 105,110,101, 44, 39, 91, 39, 44,115,101,108,102, 46,100,105,
+ 109, 44, 39, 93, 59, 39, 41, 10, 32, 32,101,108,115,101, 10,
+ 9,105,102, 32, 99,112,108,117,115,112,108,117,115, 32,116,
+ 104,101,110, 10, 9, 9,108,105,110,101, 32, 61, 32, 99,111,
+ 110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110,101, 44,
+ 39, 32, 61, 32, 77,116,111,108,117, 97, 95,110,101,119, 95,
+ 100,105,109, 40, 39, 44,116,121,112,101, 44,112,116,114, 44,
+ 39, 44, 32, 39, 46, 46,115,101,108,102, 46,100,105,109, 46,
+ 46, 39, 41, 59, 39, 41, 10, 9,101,108,115,101, 10, 9, 9,
+ 108,105,110,101, 32, 61, 32, 99,111,110, 99, 97,116,112, 97,
+ 114, 97,109, 40,108,105,110,101, 44, 39, 32, 61, 32, 40, 39,
+ 44,116,121,112,101, 44,112,116,114, 44, 39, 42, 41, 39, 44,
+ 10, 9, 9, 39,109, 97,108,108,111, 99, 40, 40, 39, 44,115,
+ 101,108,102, 46,100,105,109, 44, 39, 41, 42,115,105,122,101,
+ 111,102, 40, 39, 44,116,121,112,101, 44,112,116,114, 44, 39,
+ 41, 41, 59, 39, 41, 10, 9,101,110,100, 10, 32, 32,101,110,
+ 100, 10, 32,101,108,115,101, 10, 32, 32,108,111, 99, 97,108,
+ 32,116, 32, 61, 32,105,115, 98, 97,115,105, 99, 40,116,121,
+ 112,101, 41, 10, 32, 32,108,105,110,101, 32, 61, 32, 99,111,
+ 110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110,101, 44,
+ 39, 32, 61, 32, 39, 41, 10, 32, 32,105,102, 32,116, 32, 61,
+ 61, 32, 39,115,116, 97,116,101, 39, 32,116,104,101,110, 10,
+ 32, 32, 9,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97,
+ 116,112, 97,114, 97,109, 40,108,105,110,101, 44, 32, 39,116,
+ 111,108,117, 97, 95, 83, 59, 39, 41, 10, 32, 32,101,108,115,
+ 101, 10, 32, 32, 9, 45, 45,112,114,105,110,116, 40, 34,116,
+ 32,105,115, 32, 34, 46, 46,116,111,115,116,114,105,110,103,
+ 40,116, 41, 46, 46, 34, 44, 32,112,116,114, 32,105,115, 32,
+ 34, 46, 46,116,111,115,116,114,105,110,103, 40,115,101,108,
+ 102, 46,112,116,114, 41, 41, 10, 32, 32, 9,105,102, 32,116,
+ 32, 61, 61, 32, 39,110,117,109, 98,101,114, 39, 32, 97,110,
+ 100, 32,115,116,114,105,110,103, 46,102,105,110,100, 40,115,
+ 101,108,102, 46,112,116,114, 44, 32, 34, 37, 42, 34, 41, 32,
+ 116,104,101,110, 10, 32, 32, 9, 9,116, 32, 61, 32, 39,117,
+ 115,101,114,100, 97,116, 97, 39, 10, 32, 32, 9,101,110,100,
+ 10, 9,105,102, 32,110,111,116, 32,116, 32, 97,110,100, 32,
+ 112,116,114, 61, 61, 39, 39, 32,116,104,101,110, 32,108,105,
+ 110,101, 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,
+ 109, 40,108,105,110,101, 44, 39, 42, 39, 41, 32,101,110,100,
+ 10, 9,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97,116,
+ 112, 97,114, 97,109, 40,108,105,110,101, 44, 39, 40, 40, 39,
+ 44,115,101,108,102, 46,109,111,100, 44,116,121,112,101, 41,
+ 10, 9,105,102, 32,110,111,116, 32,116, 32,116,104,101,110,
+ 10, 9, 9,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97,
+ 116,112, 97,114, 97,109, 40,108,105,110,101, 44, 39, 42, 39,
+ 41, 10, 9,101,110,100, 10, 9,108,105,110,101, 32, 61, 32,
+ 99,111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110,
+ 101, 44, 39, 41, 32, 39, 41, 10, 9,105,102, 32,105,115,101,
+ 110,117,109, 40,110, 99,116,121,112,101, 41, 32,116,104,101,
+ 110, 10, 9, 9,108,105,110,101, 32, 61, 32, 99,111,110, 99,
+ 97,116,112, 97,114, 97,109, 40,108,105,110,101, 44, 39, 40,
+ 105,110,116, 41, 32, 39, 41, 10, 9,101,110,100, 10, 9,108,
+ 111, 99, 97,108, 32,100,101,102, 32, 61, 32, 48, 10, 9,105,
+ 102, 32,115,101,108,102, 46,100,101,102, 32,126, 61, 32, 39,
+ 39, 32,116,104,101,110, 10, 9, 9,100,101,102, 32, 61, 32,
+ 115,101,108,102, 46,100,101,102, 10, 9, 9,105,102, 32, 40,
+ 112,116,114, 32, 61, 61, 32, 39, 39, 32,111,114, 32,115,101,
+ 108,102, 46,112,116,114, 32, 61, 61, 32, 39, 38, 39, 41, 32,
+ 97,110,100, 32,110,111,116, 32,116, 32,116,104,101,110, 10,
+ 9, 9, 9,100,101,102, 32, 61, 32, 34, 40,118,111,105,100,
+ 42, 41, 38, 40, 99,111,110,115,116, 32, 34, 46, 46,116,121,
+ 112,101, 46, 46, 34, 41, 34, 46, 46,100,101,102, 10, 9, 9,
+ 101,110,100, 10, 9,101,110,100, 10, 9,105,102, 32,116, 32,
+ 116,104,101,110, 10, 9, 9,108,105,110,101, 32, 61, 32, 99,
+ 111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110,101,
+ 44, 39,116,111,108,117, 97, 95,116,111, 39, 46, 46,116, 44,
+ 39, 40,116,111,108,117, 97, 95, 83, 44, 39, 44,110, 97,114,
+ 103, 44, 39, 44, 39, 44,100,101,102, 44, 39, 41, 41, 59, 39,
+ 41, 10, 9,101,108,115,101, 10, 9, 9,108,111, 99, 97,108,
+ 32,116,111, 95,102,117,110, 99, 32, 61, 32,103,101,116, 95,
+ 116,111, 95,102,117,110, 99,116,105,111,110, 40,116,121,112,
+ 101, 41, 10, 9, 9,108,105,110,101, 32, 61, 32, 99,111,110,
+ 99, 97,116,112, 97,114, 97,109, 40,108,105,110,101, 44,116,
+ 111, 95,102,117,110, 99, 46, 46, 39, 40,116,111,108,117, 97,
+ 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44, 39, 44,100,
+ 101,102, 44, 39, 41, 41, 59, 39, 41, 10, 9,101,110,100, 10,
+ 32, 32,101,110,100, 10, 32,101,110,100, 10, 9,114,101,116,
+ 117,114,110, 32,108,105,110,101, 10,101,110,100, 10, 10, 45,
+ 45, 32, 68,101, 99,108, 97,114,101, 32,118, 97,114,105, 97,
+ 98,108,101, 10,102,117,110, 99,116,105,111,110, 32, 99,108,
+ 97,115,115, 68,101, 99,108, 97,114, 97,116,105,111,110, 58,
+ 100,101, 99,108, 97,114,101, 32, 40,110, 97,114,103, 41, 10,
+ 32,105,102, 32,115,101,108,102, 46,100,105,109, 32,126, 61,
+ 32, 39, 39, 32, 97,110,100, 32,116,111,110,117,109, 98,101,
+ 114, 40,115,101,108,102, 46,100,105,109, 41, 61, 61,110,105,
+ 108, 32,116,104,101,110, 10, 9, 32,111,117,116,112,117,116,
+ 40, 39, 35,105,102,100,101,102, 32, 95, 95, 99,112,108,117,
+ 115,112,108,117,115, 92,110, 39, 41, 10, 9, 9,111,117,116,
+ 112,117,116, 40,115,101,108,102, 58, 98,117,105,108,100,100,
+ 101, 99,108, 97,114, 97,116,105,111,110, 40,110, 97,114,103,
+ 44,116,114,117,101, 41, 41, 10, 9, 9,111,117,116,112,117,
+ 116, 40, 39, 35,101,108,115,101, 92,110, 39, 41, 10, 9, 9,
+ 111,117,116,112,117,116, 40,115,101,108,102, 58, 98,117,105,
+ 108,100,100,101, 99,108, 97,114, 97,116,105,111,110, 40,110,
+ 97,114,103, 44,102, 97,108,115,101, 41, 41, 10, 9, 32,111,
+ 117,116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110,
+ 39, 41, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,112,
+ 117,116, 40,115,101,108,102, 58, 98,117,105,108,100,100,101,
+ 99,108, 97,114, 97,116,105,111,110, 40,110, 97,114,103, 44,
+ 102, 97,108,115,101, 41, 41, 10, 9,101,110,100, 10,101,110,
+ 100, 10, 10, 45, 45, 32, 71,101,116, 32,112, 97,114, 97,109,
+ 101,116,101,114, 32,118, 97,108,117,101, 10,102,117,110, 99,
+ 116,105,111,110, 32, 99,108, 97,115,115, 68,101, 99,108, 97,
+ 114, 97,116,105,111,110, 58,103,101,116, 97,114,114, 97,121,
+ 32, 40,110, 97,114,103, 41, 10, 32,105,102, 32,115,101,108,
+ 102, 46,100,105,109, 32,126, 61, 32, 39, 39, 32,116,104,101,
+ 110, 10, 9, 32,108,111, 99, 97,108, 32,116,121,112,101, 32,
+ 61, 32,103,115,117, 98, 40,115,101,108,102, 46,116,121,112,
+ 101, 44, 39, 99,111,110,115,116, 32, 39, 44, 39, 39, 41, 10,
+ 32, 32,111,117,116,112,117,116, 40, 39, 32, 32,123, 39, 41,
+ 10, 9, 32,111,117,116,112,117,116, 40, 39, 35,105,102,110,
+ 100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65,
+ 83, 69, 92,110, 39, 41, 10, 32, 32,108,111, 99, 97,108, 32,
+ 100,101,102, 59, 32,105,102, 32,115,101,108,102, 46,100,101,
+ 102,126, 61, 39, 39, 32,116,104,101,110, 32,100,101,102, 61,
+ 49, 32,101,108,115,101, 32,100,101,102, 61, 48, 32,101,110,
+ 100, 10, 9, 9,108,111, 99, 97,108, 32,116, 32, 61, 32,105,
+ 115, 98, 97,115,105, 99, 40,116,121,112,101, 41, 10, 9, 9,
+ 105,102, 32, 40,116, 41, 32,116,104,101,110, 10, 9, 9, 32,
+ 32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 32,105,102,
+ 32, 40, 33,116,111,108,117, 97, 95,105,115, 39, 46, 46,116,
+ 46, 46, 39, 97,114,114, 97,121, 40,116,111,108,117, 97, 95,
+ 83, 44, 39, 44,110, 97,114,103, 44, 39, 44, 39, 44,115,101,
+ 108,102, 46,100,105,109, 44, 39, 44, 39, 44,100,101,102, 44,
+ 39, 44, 38,116,111,108,117, 97, 95,101,114,114, 41, 41, 39,
+ 41, 10, 9, 9,101,108,115,101, 10, 9, 9, 32, 32, 32,111,
+ 117,116,112,117,116, 40, 39, 32, 32, 32,105,102, 32, 40, 33,
+ 116,111,108,117, 97, 95,105,115,117,115,101,114,116,121,112,
+ 101, 97,114,114, 97,121, 40,116,111,108,117, 97, 95, 83, 44,
+ 39, 44,110, 97,114,103, 44, 39, 44, 34, 39, 44,116,121,112,
+ 101, 44, 39, 34, 44, 39, 44,115,101,108,102, 46,100,105,109,
+ 44, 39, 44, 39, 44,100,101,102, 44, 39, 44, 38,116,111,108,
+ 117, 97, 95,101,114,114, 41, 41, 39, 41, 10, 9, 9,101,110,
+ 100, 10, 32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 32,
+ 32,103,111,116,111, 32,116,111,108,117, 97, 95,108,101,114,
+ 114,111,114, 59, 39, 41, 10, 32, 32,111,117,116,112,117,116,
+ 40, 39, 32, 32, 32,101,108,115,101, 92,110, 39, 41, 10, 9,
+ 32,111,117,116,112,117,116, 40, 39, 35,101,110,100,105,102,
+ 92,110, 39, 41, 10, 32, 32,111,117,116,112,117,116, 40, 39,
+ 32, 32, 32,123, 39, 41, 10, 32, 32,111,117,116,112,117,116,
+ 40, 39, 32, 32, 32, 32,105,110,116, 32,105, 59, 39, 41, 10,
+ 32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 32, 32,102,
+ 111,114, 40,105, 61, 48, 59, 32,105, 60, 39, 46, 46,115,101,
+ 108,102, 46,100,105,109, 46, 46, 39, 59,105, 43, 43, 41, 39,
+ 41, 10, 32, 32,108,111, 99, 97,108, 32,116, 32, 61, 32,105,
+ 115, 98, 97,115,105, 99, 40,116,121,112,101, 41, 10, 32, 32,
+ 108,111, 99, 97,108, 32,112,116,114, 32, 61, 32, 39, 39, 10,
+ 32, 32,105,102, 32,115,101,108,102, 46,112,116,114,126, 61,
+ 39, 39, 32,116,104,101,110, 32,112,116,114, 32, 61, 32, 39,
+ 42, 39, 32,101,110,100, 10, 32, 32,111,117,116,112,117,116,
+ 40, 39, 32, 32, 32, 39, 44,115,101,108,102, 46,110, 97,109,
+ 101, 46, 46, 39, 91,105, 93, 32, 61, 32, 39, 41, 10, 32, 32,
+ 105,102, 32,110,111,116, 32,116, 32, 97,110,100, 32,112,116,
+ 114, 61, 61, 39, 39, 32,116,104,101,110, 32,111,117,116,112,
+ 117,116, 40, 39, 42, 39, 41, 32,101,110,100, 10, 32, 32,111,
+ 117,116,112,117,116, 40, 39, 40, 40, 39, 44,116,121,112,101,
+ 41, 10, 32, 32,105,102, 32,110,111,116, 32,116, 32,116,104,
+ 101,110, 10, 32, 32, 32,111,117,116,112,117,116, 40, 39, 42,
+ 39, 41, 10, 32, 32,101,110,100, 10, 32, 32,111,117,116,112,
+ 117,116, 40, 39, 41, 32, 39, 41, 10, 32, 32,108,111, 99, 97,
+ 108, 32,100,101,102, 32, 61, 32, 48, 10, 32, 32,105,102, 32,
+ 115,101,108,102, 46,100,101,102, 32,126, 61, 32, 39, 39, 32,
+ 116,104,101,110, 32,100,101,102, 32, 61, 32,115,101,108,102,
+ 46,100,101,102, 32,101,110,100, 10, 32, 32,105,102, 32,116,
+ 32,116,104,101,110, 10, 32, 32, 32,111,117,116,112,117,116,
+ 40, 39,116,111,108,117, 97, 95,116,111,102,105,101,108,100,
+ 39, 46, 46,116, 46, 46, 39, 40,116,111,108,117, 97, 95, 83,
+ 44, 39, 44,110, 97,114,103, 44, 39, 44,105, 43, 49, 44, 39,
+ 44,100,101,102, 44, 39, 41, 41, 59, 39, 41, 10, 32, 32,101,
+ 108,115,101, 10, 32, 32, 32,111,117,116,112,117,116, 40, 39,
+ 116,111,108,117, 97, 95,116,111,102,105,101,108,100,117,115,
+ 101,114,116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44,
+ 39, 44,110, 97,114,103, 44, 39, 44,105, 43, 49, 44, 39, 44,
+ 100,101,102, 44, 39, 41, 41, 59, 39, 41, 10, 32, 32,101,110,
+ 100, 10, 32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 32,
+ 125, 39, 41, 10, 32, 32,111,117,116,112,117,116, 40, 39, 32,
+ 32,125, 39, 41, 10, 32,101,110,100, 10,101,110,100, 10, 10,
+ 45, 45, 32, 71,101,116, 32,112, 97,114, 97,109,101,116,101,
+ 114, 32,118, 97,108,117,101, 10,102,117,110, 99,116,105,111,
+ 110, 32, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,
+ 105,111,110, 58,115,101,116, 97,114,114, 97,121, 32, 40,110,
+ 97,114,103, 41, 10, 32,105,102, 32,110,111,116, 32,115,116,
+ 114,102,105,110,100, 40,115,101,108,102, 46,116,121,112,101,
+ 44, 39, 99,111,110,115,116, 37,115, 43, 39, 41, 32, 97,110,
+ 100, 32,115,101,108,102, 46,100,105,109, 32,126, 61, 32, 39,
+ 39, 32,116,104,101,110, 10, 9, 32,108,111, 99, 97,108, 32,
+ 116,121,112,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,
+ 102, 46,116,121,112,101, 44, 39, 99,111,110,115,116, 32, 39,
+ 44, 39, 39, 41, 10, 32, 32,111,117,116,112,117,116, 40, 39,
+ 32, 32,123, 39, 41, 10, 32, 32,111,117,116,112,117,116, 40,
+ 39, 32, 32, 32,105,110,116, 32,105, 59, 39, 41, 10, 32, 32,
+ 111,117,116,112,117,116, 40, 39, 32, 32, 32,102,111,114, 40,
+ 105, 61, 48, 59, 32,105, 60, 39, 46, 46,115,101,108,102, 46,
+ 100,105,109, 46, 46, 39, 59,105, 43, 43, 41, 39, 41, 10, 32,
+ 32,108,111, 99, 97,108, 32,116, 44, 99,116, 32, 61, 32,105,
+ 115, 98, 97,115,105, 99, 40,116,121,112,101, 41, 10, 32, 32,
+ 105,102, 32,116, 32,116,104,101,110, 10, 32, 32, 32,111,117,
+ 116,112,117,116, 40, 39, 32, 32, 32, 32,116,111,108,117, 97,
+ 95,112,117,115,104,102,105,101,108,100, 39, 46, 46,116, 46,
+ 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 39, 44,110, 97,
+ 114,103, 44, 39, 44,105, 43, 49, 44, 40, 39, 44, 99,116, 44,
+ 39, 41, 39, 44,115,101,108,102, 46,110, 97,109,101, 44, 39,
+ 91,105, 93, 41, 59, 39, 41, 10, 32, 32,101,108,115,101, 10,
+ 32, 32, 32,105,102, 32,115,101,108,102, 46,112,116,114, 32,
+ 61, 61, 32, 39, 39, 32,116,104,101,110, 10, 32, 32, 32, 32,
+ 32,111,117,116,112,117,116, 40, 39, 32, 32, 32,123, 39, 41,
+ 10, 32, 32, 32, 32, 32,111,117,116,112,117,116, 40, 39, 35,
+ 105,102,100,101,102, 32, 95, 95, 99,112,108,117,115,112,108,
+ 117,115, 92,110, 39, 41, 10, 32, 32, 32, 32, 32,111,117,116,
+ 112,117,116, 40, 39, 32, 32, 32, 32,118,111,105,100, 42, 32,
+ 116,111,108,117, 97, 95,111, 98,106, 32, 61, 32, 77,116,111,
+ 108,117, 97, 95,110,101,119, 40, 40, 39, 44,116,121,112,101,
+ 44, 39, 41, 40, 39, 44,115,101,108,102, 46,110, 97,109,101,
+ 44, 39, 91,105, 93, 41, 41, 59, 39, 41, 10, 32, 32, 32, 32,
+ 32,111,117,116,112,117,116, 40, 39, 32, 32, 32, 32,116,111,
+ 108,117, 97, 95,112,117,115,104,102,105,101,108,100,117,115,
+ 101,114,116,121,112,101, 95, 97,110,100, 95,116, 97,107,101,
+ 111,119,110,101,114,115,104,105,112, 40,116,111,108,117, 97,
+ 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44,105, 43, 49,
+ 44,116,111,108,117, 97, 95,111, 98,106, 44, 34, 39, 44,116,
+ 121,112,101, 44, 39, 34, 41, 59, 39, 41, 10, 32, 32, 32, 32,
+ 32,111,117,116,112,117,116, 40, 39, 35,101,108,115,101, 92,
+ 110, 39, 41, 10, 32, 32, 32, 32, 32,111,117,116,112,117,116,
+ 40, 39, 32, 32, 32, 32,118,111,105,100, 42, 32,116,111,108,
+ 117, 97, 95,111, 98,106, 32, 61, 32,116,111,108,117, 97, 95,
+ 99,111,112,121, 40,116,111,108,117, 97, 95, 83, 44, 40,118,
+ 111,105,100, 42, 41, 38, 39, 44,115,101,108,102, 46,110, 97,
+ 109,101, 44, 39, 91,105, 93, 44,115,105,122,101,111,102, 40,
+ 39, 44,116,121,112,101, 44, 39, 41, 41, 59, 39, 41, 10, 32,
+ 32, 32, 32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 32,
+ 32,116,111,108,117, 97, 95,112,117,115,104,102,105,101,108,
+ 100,117,115,101,114,116,121,112,101, 40,116,111,108,117, 97,
+ 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44,105, 43, 49,
+ 44,116,111,108,117, 97, 95,111, 98,106, 44, 34, 39, 44,116,
+ 121,112,101, 44, 39, 34, 41, 59, 39, 41, 10, 32, 32, 32, 32,
+ 32,111,117,116,112,117,116, 40, 39, 35,101,110,100,105,102,
+ 92,110, 39, 41, 10, 32, 32, 32, 32, 32,111,117,116,112,117,
+ 116, 40, 39, 32, 32, 32,125, 39, 41, 10, 32, 32, 32,101,108,
+ 115,101, 10, 32, 32, 32, 32,111,117,116,112,117,116, 40, 39,
+ 32, 32, 32,116,111,108,117, 97, 95,112,117,115,104,102,105,
+ 101,108,100,117,115,101,114,116,121,112,101, 40,116,111,108,
+ 117, 97, 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44,105,
+ 43, 49, 44, 40,118,111,105,100, 42, 41, 39, 44,115,101,108,
+ 102, 46,110, 97,109,101, 44, 39, 91,105, 93, 44, 34, 39, 44,
+ 116,121,112,101, 44, 39, 34, 41, 59, 39, 41, 10, 32, 32, 32,
+ 101,110,100, 10, 32, 32,101,110,100, 10, 32, 32,111,117,116,
+ 112,117,116, 40, 39, 32, 32,125, 39, 41, 10, 32,101,110,100,
+ 10,101,110,100, 10, 10, 45, 45, 32, 70,114,101,101, 32,100,
+ 121,110, 97,109,105, 99, 97,108,108,121, 32, 97,108,108,111,
+ 99, 97,116,101,100, 32, 97,114,114, 97,121, 10,102,117,110,
+ 99,116,105,111,110, 32, 99,108, 97,115,115, 68,101, 99,108,
+ 97,114, 97,116,105,111,110, 58,102,114,101,101, 97,114,114,
+ 97,121, 32, 40, 41, 10, 32,105,102, 32,115,101,108,102, 46,
+ 100,105,109, 32,126, 61, 32, 39, 39, 32, 97,110,100, 32,116,
+ 111,110,117,109, 98,101,114, 40,115,101,108,102, 46,100,105,
+ 109, 41, 61, 61,110,105,108, 32,116,104,101,110, 10, 9, 32,
+ 111,117,116,112,117,116, 40, 39, 35,105,102,100,101,102, 32,
+ 95, 95, 99,112,108,117,115,112,108,117,115, 92,110, 39, 41,
+ 10, 9, 9,111,117,116,112,117,116, 40, 39, 32, 32, 77,116,
+ 111,108,117, 97, 95,100,101,108,101,116,101, 95,100,105,109,
+ 40, 39, 44,115,101,108,102, 46,110, 97,109,101, 44, 39, 41,
+ 59, 39, 41, 10, 9, 32,111,117,116,112,117,116, 40, 39, 35,
+ 101,108,115,101, 92,110, 39, 41, 10, 32, 32,111,117,116,112,
+ 117,116, 40, 39, 32, 32,102,114,101,101, 40, 39, 44,115,101,
+ 108,102, 46,110, 97,109,101, 44, 39, 41, 59, 39, 41, 10, 9,
+ 32,111,117,116,112,117,116, 40, 39, 35,101,110,100,105,102,
+ 92,110, 39, 41, 10, 32,101,110,100, 10,101,110,100, 10, 10,
+ 45, 45, 32, 80, 97,115,115, 32,112, 97,114, 97,109,101,116,
+ 101,114, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,
+ 115,115, 68,101, 99,108, 97,114, 97,116,105,111,110, 58,112,
+ 97,115,115,112, 97,114, 32, 40, 41, 10, 32,105,102, 32,115,
+ 101,108,102, 46,112,116,114, 61, 61, 39, 38, 39, 32, 97,110,
+ 100, 32,110,111,116, 32,105,115, 98, 97,115,105, 99, 40,115,
+ 101,108,102, 46,116,121,112,101, 41, 32,116,104,101,110, 10,
+ 32, 32,111,117,116,112,117,116, 40, 39, 42, 39, 46, 46,115,
+ 101,108,102, 46,110, 97,109,101, 41, 10, 32,101,108,115,101,
+ 105,102, 32,115,101,108,102, 46,114,101,116, 61, 61, 39, 42,
+ 39, 32,116,104,101,110, 10, 32, 32,111,117,116,112,117,116,
+ 40, 39, 38, 39, 46, 46,115,101,108,102, 46,110, 97,109,101,
+ 41, 10, 32,101,108,115,101, 10, 32, 32,111,117,116,112,117,
+ 116, 40,115,101,108,102, 46,110, 97,109,101, 41, 10, 32,101,
+ 110,100, 10,101,110,100, 10, 10, 45, 45, 32, 82,101,116,117,
+ 114,110, 32,112, 97,114, 97,109,101,116,101,114, 32,118, 97,
+ 108,117,101, 10,102,117,110, 99,116,105,111,110, 32, 99,108,
+ 97,115,115, 68,101, 99,108, 97,114, 97,116,105,111,110, 58,
+ 114,101,116,118, 97,108,117,101, 32, 40, 41, 10, 32,105,102,
+ 32,115,101,108,102, 46,114,101,116, 32,126, 61, 32, 39, 39,
+ 32,116,104,101,110, 10, 32, 32,108,111, 99, 97,108, 32,116,
+ 44, 99,116, 32, 61, 32,105,115, 98, 97,115,105, 99, 40,115,
+ 101,108,102, 46,116,121,112,101, 41, 10, 32, 32,105,102, 32,
+ 116, 32, 97,110,100, 32,116,126, 61, 39, 39, 32,116,104,101,
+ 110, 10, 32, 32, 32,111,117,116,112,117,116, 40, 39, 32, 32,
+ 32,116,111,108,117, 97, 95,112,117,115,104, 39, 46, 46,116,
+ 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 40, 39, 44,
+ 99,116, 44, 39, 41, 39, 46, 46,115,101,108,102, 46,110, 97,
+ 109,101, 46, 46, 39, 41, 59, 39, 41, 10, 32, 32,101,108,115,
+ 101, 10, 32, 32, 32,108,111, 99, 97,108, 32,112,117,115,104,
+ 95,102,117,110, 99, 32, 61, 32,103,101,116, 95,112,117,115,
+ 104, 95,102,117,110, 99,116,105,111,110, 40,115,101,108,102,
+ 46,116,121,112,101, 41, 10, 32, 32, 32,111,117,116,112,117,
+ 116, 40, 39, 32, 32, 32, 39, 44,112,117,115,104, 95,102,117,
+ 110, 99, 44, 39, 40,116,111,108,117, 97, 95, 83, 44, 40,118,
+ 111,105,100, 42, 41, 39, 46, 46,115,101,108,102, 46,110, 97,
+ 109,101, 46, 46, 39, 44, 34, 39, 44,115,101,108,102, 46,116,
+ 121,112,101, 44, 39, 34, 41, 59, 39, 41, 10, 32, 32,101,110,
+ 100, 10, 32, 32,114,101,116,117,114,110, 32, 49, 10, 32,101,
+ 110,100, 10, 32,114,101,116,117,114,110, 32, 48, 10,101,110,
+ 100, 10, 10, 45, 45, 32, 73,110,116,101,114,110, 97,108, 32,
+ 99,111,110,115,116,114,117, 99,116,111,114, 10,102,117,110,
+ 99,116,105,111,110, 32, 95, 68,101, 99,108, 97,114, 97,116,
+ 105,111,110, 32, 40,116, 41, 10, 10, 32,115,101,116,109,101,
+ 116, 97,116, 97, 98,108,101, 40,116, 44, 99,108, 97,115,115,
+ 68,101, 99,108, 97,114, 97,116,105,111,110, 41, 10, 32,116,
+ 58, 98,117,105,108,100,110, 97,109,101,115, 40, 41, 10, 32,
+ 116, 58, 99,104,101, 99,107,110, 97,109,101, 40, 41, 10, 32,
+ 116, 58, 99,104,101, 99,107,116,121,112,101, 40, 41, 10, 32,
+ 108,111, 99, 97,108, 32,102,116, 32, 61, 32,102,105,110,100,
+ 116,121,112,101, 40,116, 46,116,121,112,101, 41, 32,111,114,
+ 32,116, 46,116,121,112,101, 10, 32,105,102, 32,110,111,116,
+ 32,105,115,101,110,117,109, 40,102,116, 41, 32,116,104,101,
+ 110, 10, 9,116, 46,109,111,100, 44, 32,116, 46,116,121,112,
+ 101, 32, 61, 32, 97,112,112,108,121,116,121,112,101,100,101,
+ 102, 40,116, 46,109,111,100, 44, 32,102,116, 41, 10, 32,101,
+ 110,100, 10, 10, 32,105,102, 32,116, 46,107,105,110,100, 61,
+ 61, 34,118, 97,114, 34, 32, 97,110,100, 32, 40,115,116,114,
+ 105,110,103, 46,102,105,110,100, 40,116, 46,109,111,100, 44,
+ 32, 34,116,111,108,117, 97, 95,112,114,111,112,101,114,116,
+ 121, 37,115, 34, 41, 32,111,114, 32,115,116,114,105,110,103,
+ 46,102,105,110,100, 40,116, 46,109,111,100, 44, 32, 34,116,
+ 111,108,117, 97, 95,112,114,111,112,101,114,116,121, 36, 34,
+ 41, 41, 32,116,104,101,110, 10, 32, 9,116, 46,109,111,100,
+ 32, 61, 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,
+ 116, 46,109,111,100, 44, 32, 34,116,111,108,117, 97, 95,112,
+ 114,111,112,101,114,116,121, 34, 44, 32, 34,116,111,108,117,
+ 97, 95,112,114,111,112,101,114,116,121, 95, 95, 34, 46, 46,
+ 103,101,116, 95,112,114,111,112,101,114,116,121, 95,116,121,
+ 112,101, 40, 41, 41, 10, 32,101,110,100, 10, 10, 32,114,101,
+ 116,117,114,110, 32,116, 10,101,110,100, 10, 10, 45, 45, 32,
+ 67,111,110,115,116,114,117, 99,116,111,114, 10, 45, 45, 32,
+ 69,120,112,101, 99,116,115, 32,116,104,101, 32,115,116,114,
+ 105,110,103, 32,100,101, 99,108, 97,114, 97,116,105,111,110,
+ 46, 10, 45, 45, 32, 84,104,101, 32,107,105,110,100, 32,111,
+ 102, 32,100,101, 99,108, 97,114, 97,116,105,111,110, 32, 99,
+ 97,110, 32, 98,101, 32, 34,118, 97,114, 34, 32,111,114, 32,
+ 34,102,117,110, 99, 34, 46, 10,102,117,110, 99,116,105,111,
+ 110, 32, 68,101, 99,108, 97,114, 97,116,105,111,110, 32, 40,
+ 115, 44,107,105,110,100, 44,105,115, 95,112, 97,114, 97,109,
+ 101,116,101,114, 41, 10, 10, 32, 45, 45, 32,101,108,105,109,
+ 105,110, 97,116,101, 32,115,112, 97, 99,101,115, 32,105,102,
+ 32,100,101,102, 97,117,108,116, 32,118, 97,108,117,101, 32,
+ 105,115, 32,112,114,111,118,105,100,101,100, 10, 32,115, 32,
+ 61, 32,103,115,117, 98, 40,115, 44, 34, 37,115, 42, 61, 37,
+ 115, 42, 34, 44, 34, 61, 34, 41, 10, 32,115, 32, 61, 32,103,
+ 115,117, 98, 40,115, 44, 32, 34, 37,115, 42, 60, 34, 44, 32,
+ 34, 60, 34, 41, 10, 10, 32,108,111, 99, 97,108, 32,100,101,
+ 102, 98, 44,116,109,112,100,101,102, 10, 32,100,101,102, 98,
+ 44, 95, 44,116,109,112,100,101,102, 32, 61, 32,115,116,114,
+ 105,110,103, 46,102,105,110,100, 40,115, 44, 32, 34, 40, 61,
+ 46, 42, 41, 36, 34, 41, 10, 32,105,102, 32,100,101,102, 98,
+ 32,116,104,101,110, 10, 32, 9,115, 32, 61, 32,115,116,114,
+ 105,110,103, 46,103,115,117, 98, 40,115, 44, 32, 34, 61, 46,
+ 42, 36, 34, 44, 32, 34, 34, 41, 10, 32,101,108,115,101, 10,
+ 32, 9,116,109,112,100,101,102, 32, 61, 32, 39, 39, 10, 32,
+ 101,110,100, 10, 32,105,102, 32,107,105,110,100, 32, 61, 61,
+ 32, 34,118, 97,114, 34, 32,116,104,101,110, 10, 32, 32, 45,
+ 45, 32, 99,104,101, 99,107, 32,116,104,101, 32,102,111,114,
+ 109, 58, 32,118,111,105,100, 10, 32, 32,105,102, 32,115, 32,
+ 61, 61, 32, 39, 39, 32,111,114, 32,115, 32, 61, 61, 32, 39,
+ 118,111,105,100, 39, 32,116,104,101,110, 10, 32, 32, 32,114,
+ 101,116,117,114,110, 32, 95, 68,101, 99,108, 97,114, 97,116,
+ 105,111,110,123,116,121,112,101, 32, 61, 32, 39,118,111,105,
+ 100, 39, 44, 32,107,105,110,100, 32, 61, 32,107,105,110,100,
+ 44, 32,105,115, 95,112, 97,114, 97,109,101,116,101,114, 32,
+ 61, 32,105,115, 95,112, 97,114, 97,109,101,116,101,114,125,
+ 10, 32, 32,101,110,100, 10, 32,101,110,100, 10, 10, 32, 45,
+ 45, 32, 99,104,101, 99,107, 32,116,104,101, 32,102,111,114,
+ 109, 58, 32,109,111,100, 32,116,121,112,101, 42, 38, 32,110,
+ 97,109,101, 10, 32,108,111, 99, 97,108, 32,116, 32, 61, 32,
+ 115,112,108,105,116, 95, 99, 95,116,111,107,101,110,115, 40,
+ 115, 44, 39, 37, 42, 37,115, 42, 38, 39, 41, 10, 32,105,102,
+ 32,116, 46,110, 32, 61, 61, 32, 50, 32,116,104,101,110, 10,
+ 32, 32,105,102, 32,107,105,110,100, 32, 61, 61, 32, 39,102,
+ 117,110, 99, 39, 32,116,104,101,110, 10, 32, 32, 32,101,114,
+ 114,111,114, 40, 34, 35,105,110,118, 97,108,105,100, 32,102,
+ 117,110, 99,116,105,111,110, 32,114,101,116,117,114,110, 32,
+ 116,121,112,101, 58, 32, 34, 46, 46,115, 41, 10, 32, 32,101,
+ 110,100, 10, 32, 32, 45, 45,108,111, 99, 97,108, 32,109, 32,
+ 61, 32,115,112,108,105,116, 40,116, 91, 49, 93, 44, 39, 37,
+ 115, 37,115, 42, 39, 41, 10, 32, 32,108,111, 99, 97,108, 32,
+ 109, 32, 61, 32,115,112,108,105,116, 95, 99, 95,116,111,107,
+ 101,110,115, 40,116, 91, 49, 93, 44, 39, 37,115, 43, 39, 41,
+ 10, 32, 32,114,101,116,117,114,110, 32, 95, 68,101, 99,108,
+ 97,114, 97,116,105,111,110,123, 10, 32, 32, 32,110, 97,109,
+ 101, 32, 61, 32,116, 91, 50, 93, 46, 46,116,109,112,100,101,
+ 102, 44, 10, 32, 32, 32,112,116,114, 32, 61, 32, 39, 42, 39,
+ 44, 10, 32, 32, 32,114,101,116, 32, 61, 32, 39, 38, 39, 44,
+ 10, 32, 32, 32, 45, 45,116,121,112,101, 32, 61, 32,114,101,
+ 98,117,105,108,100, 95,116,101,109,112,108, 97,116,101, 40,
+ 109, 91,109, 46,110, 93, 44, 32,116, 98, 44, 32,116,105,109,
+ 112,108, 41, 44, 10, 32, 32, 32,116,121,112,101, 32, 61, 32,
+ 109, 91,109, 46,110, 93, 44, 10, 32, 32, 32,109,111,100, 32,
+ 61, 32, 99,111,110, 99, 97,116, 40,109, 44, 49, 44,109, 46,
+ 110, 45, 49, 41, 44, 10, 32, 32, 32,105,115, 95,112, 97,114,
+ 97,109,101,116,101,114, 32, 61, 32,105,115, 95,112, 97,114,
+ 97,109,101,116,101,114, 44, 10, 32, 32, 32,107,105,110,100,
+ 32, 61, 32,107,105,110,100, 10, 32, 32,125, 10, 32,101,110,
+ 100, 10, 10, 32, 45, 45, 32, 99,104,101, 99,107, 32,116,104,
+ 101, 32,102,111,114,109, 58, 32,109,111,100, 32,116,121,112,
+ 101, 42, 42, 32,110, 97,109,101, 10, 32,116, 32, 61, 32,115,
+ 112,108,105,116, 95, 99, 95,116,111,107,101,110,115, 40,115,
+ 44, 39, 37, 42, 37,115, 42, 37, 42, 39, 41, 10, 32,105,102,
+ 32,116, 46,110, 32, 61, 61, 32, 50, 32,116,104,101,110, 10,
+ 32, 32,105,102, 32,107,105,110,100, 32, 61, 61, 32, 39,102,
+ 117,110, 99, 39, 32,116,104,101,110, 10, 32, 32, 32,101,114,
+ 114,111,114, 40, 34, 35,105,110,118, 97,108,105,100, 32,102,
+ 117,110, 99,116,105,111,110, 32,114,101,116,117,114,110, 32,
+ 116,121,112,101, 58, 32, 34, 46, 46,115, 41, 10, 32, 32,101,
+ 110,100, 10, 32, 32, 45, 45,108,111, 99, 97,108, 32,109, 32,
+ 61, 32,115,112,108,105,116, 40,116, 91, 49, 93, 44, 39, 37,
+ 115, 37,115, 42, 39, 41, 10, 32, 32,108,111, 99, 97,108, 32,
+ 109, 32, 61, 32,115,112,108,105,116, 95, 99, 95,116,111,107,
+ 101,110,115, 40,116, 91, 49, 93, 44, 39, 37,115, 43, 39, 41,
+ 10, 32, 32,114,101,116,117,114,110, 32, 95, 68,101, 99,108,
+ 97,114, 97,116,105,111,110,123, 10, 32, 32, 32,110, 97,109,
+ 101, 32, 61, 32,116, 91, 50, 93, 46, 46,116,109,112,100,101,
+ 102, 44, 10, 32, 32, 32,112,116,114, 32, 61, 32, 39, 42, 39,
+ 44, 10, 32, 32, 32,114,101,116, 32, 61, 32, 39, 42, 39, 44,
+ 10, 32, 32, 32, 45, 45,116,121,112,101, 32, 61, 32,114,101,
+ 98,117,105,108,100, 95,116,101,109,112,108, 97,116,101, 40,
+ 109, 91,109, 46,110, 93, 44, 32,116, 98, 44, 32,116,105,109,
+ 112,108, 41, 44, 10, 32, 32, 32,116,121,112,101, 32, 61, 32,
+ 109, 91,109, 46,110, 93, 44, 10, 32, 32, 32,109,111,100, 32,
+ 61, 32, 99,111,110, 99, 97,116, 40,109, 44, 49, 44,109, 46,
+ 110, 45, 49, 41, 44, 10, 32, 32, 32,105,115, 95,112, 97,114,
+ 97,109,101,116,101,114, 32, 61, 32,105,115, 95,112, 97,114,
+ 97,109,101,116,101,114, 44, 10, 32, 32, 32,107,105,110,100,
+ 32, 61, 32,107,105,110,100, 10, 32, 32,125, 10, 32,101,110,
+ 100, 10, 10, 32, 45, 45, 32, 99,104,101, 99,107, 32,116,104,
+ 101, 32,102,111,114,109, 58, 32,109,111,100, 32,116,121,112,
+ 101, 38, 32,110, 97,109,101, 10, 32,116, 32, 61, 32,115,112,
+ 108,105,116, 95, 99, 95,116,111,107,101,110,115, 40,115, 44,
+ 39, 38, 39, 41, 10, 32,105,102, 32,116, 46,110, 32, 61, 61,
+ 32, 50, 32,116,104,101,110, 10, 32, 32, 45, 45,108,111, 99,
+ 97,108, 32,109, 32, 61, 32,115,112,108,105,116, 40,116, 91,
+ 49, 93, 44, 39, 37,115, 37,115, 42, 39, 41, 10, 32, 32,108,
+ 111, 99, 97,108, 32,109, 32, 61, 32,115,112,108,105,116, 95,
+ 99, 95,116,111,107,101,110,115, 40,116, 91, 49, 93, 44, 39,
+ 37,115, 43, 39, 41, 10, 32, 32,114,101,116,117,114,110, 32,
+ 95, 68,101, 99,108, 97,114, 97,116,105,111,110,123, 10, 32,
+ 32, 32,110, 97,109,101, 32, 61, 32,116, 91, 50, 93, 46, 46,
+ 116,109,112,100,101,102, 44, 10, 32, 32, 32,112,116,114, 32,
+ 61, 32, 39, 38, 39, 44, 10, 32, 32, 32, 45, 45,116,121,112,
+ 101, 32, 61, 32,114,101, 98,117,105,108,100, 95,116,101,109,
+ 112,108, 97,116,101, 40,109, 91,109, 46,110, 93, 44, 32,116,
+ 98, 44, 32,116,105,109,112,108, 41, 44, 10, 32, 32, 32,116,
+ 121,112,101, 32, 61, 32,109, 91,109, 46,110, 93, 44, 10, 32,
+ 32, 32,109,111,100, 32, 61, 32, 99,111,110, 99, 97,116, 40,
+ 109, 44, 49, 44,109, 46,110, 45, 49, 41, 44, 10, 32, 32, 32,
+ 105,115, 95,112, 97,114, 97,109,101,116,101,114, 32, 61, 32,
+ 105,115, 95,112, 97,114, 97,109,101,116,101,114, 44, 10, 32,
+ 32, 32,107,105,110,100, 32, 61, 32,107,105,110,100, 10, 32,
+ 32,125, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32, 99,104,
+ 101, 99,107, 32,116,104,101, 32,102,111,114,109, 58, 32,109,
+ 111,100, 32,116,121,112,101, 42, 32,110, 97,109,101, 10, 32,
+ 108,111, 99, 97,108, 32,115, 49, 32, 61, 32,103,115,117, 98,
+ 40,115, 44, 34, 40, 37, 98, 92, 91, 92, 93, 41, 34, 44,102,
+ 117,110, 99,116,105,111,110, 32, 40,110, 41, 32,114,101,116,
+ 117,114,110, 32,103,115,117, 98, 40,110, 44, 39, 37, 42, 39,
+ 44, 39, 92, 49, 39, 41, 32,101,110,100, 41, 10, 32,116, 32,
+ 61, 32,115,112,108,105,116, 95, 99, 95,116,111,107,101,110,
+ 115, 40,115, 49, 44, 39, 37, 42, 39, 41, 10, 32,105,102, 32,
+ 116, 46,110, 32, 61, 61, 32, 50, 32,116,104,101,110, 10, 32,
+ 32,116, 91, 50, 93, 32, 61, 32,103,115,117, 98, 40,116, 91,
+ 50, 93, 44, 39, 92, 49, 39, 44, 39, 37, 42, 39, 41, 32, 45,
+ 45, 32,114,101,115,116,111,114,101, 32, 42, 32,105,110, 32,
+ 100,105,109,101,110,115,105,111,110, 32,101,120,112,114,101,
+ 115,115,105,111,110, 10, 32, 32, 45, 45,108,111, 99, 97,108,
+ 32,109, 32, 61, 32,115,112,108,105,116, 40,116, 91, 49, 93,
+ 44, 39, 37,115, 37,115, 42, 39, 41, 10, 32, 32,108,111, 99,
+ 97,108, 32,109, 32, 61, 32,115,112,108,105,116, 95, 99, 95,
+ 116,111,107,101,110,115, 40,116, 91, 49, 93, 44, 39, 37,115,
+ 43, 39, 41, 10, 32, 32,114,101,116,117,114,110, 32, 95, 68,
+ 101, 99,108, 97,114, 97,116,105,111,110,123, 10, 32, 32, 32,
+ 110, 97,109,101, 32, 61, 32,116, 91, 50, 93, 46, 46,116,109,
+ 112,100,101,102, 44, 10, 32, 32, 32,112,116,114, 32, 61, 32,
+ 39, 42, 39, 44, 10, 32, 32, 32,116,121,112,101, 32, 61, 32,
+ 109, 91,109, 46,110, 93, 44, 10, 32, 32, 32, 45, 45,116,121,
+ 112,101, 32, 61, 32,114,101, 98,117,105,108,100, 95,116,101,
+ 109,112,108, 97,116,101, 40,109, 91,109, 46,110, 93, 44, 32,
+ 116, 98, 44, 32,116,105,109,112,108, 41, 44, 10, 32, 32, 32,
+ 109,111,100, 32, 61, 32, 99,111,110, 99, 97,116, 40,109, 44,
+ 49, 44,109, 46,110, 45, 49, 41, 32, 32, 32, 44, 10, 32, 32,
+ 32,105,115, 95,112, 97,114, 97,109,101,116,101,114, 32, 61,
+ 32,105,115, 95,112, 97,114, 97,109,101,116,101,114, 44, 10,
+ 32, 32, 32,107,105,110,100, 32, 61, 32,107,105,110,100, 10,
+ 32, 32,125, 10, 32,101,110,100, 10, 10, 32,105,102, 32,107,
+ 105,110,100, 32, 61, 61, 32, 39,118, 97,114, 39, 32,116,104,
+ 101,110, 10, 32, 32, 45, 45, 32, 99,104,101, 99,107, 32,116,
+ 104,101, 32,102,111,114,109, 58, 32,109,111,100, 32,116,121,
+ 112,101, 32,110, 97,109,101, 10, 32, 32, 45, 45,116, 32, 61,
+ 32,115,112,108,105,116, 40,115, 44, 39, 37,115, 37,115, 42,
+ 39, 41, 10, 32, 32,116, 32, 61, 32,115,112,108,105,116, 95,
+ 99, 95,116,111,107,101,110,115, 40,115, 44, 39, 37,115, 43,
+ 39, 41, 10, 32, 32,108,111, 99, 97,108, 32,118, 10, 32, 32,
+ 105,102, 32,102,105,110,100,116,121,112,101, 40,116, 91,116,
+ 46,110, 93, 41, 32,116,104,101,110, 32,118, 32, 61, 32, 99,
+ 114,101, 97,116,101, 95,118, 97,114,110, 97,109,101, 40, 41,
+ 32,101,108,115,101, 32,118, 32, 61, 32,116, 91,116, 46,110,
+ 93, 59, 32,116, 46,110, 32, 61, 32,116, 46,110, 45, 49, 32,
+ 101,110,100, 10, 32, 32,114,101,116,117,114,110, 32, 95, 68,
+ 101, 99,108, 97,114, 97,116,105,111,110,123, 10, 32, 32, 32,
+ 110, 97,109,101, 32, 61, 32,118, 46, 46,116,109,112,100,101,
+ 102, 44, 10, 32, 32, 32, 45, 45,116,121,112,101, 32, 61, 32,
+ 114,101, 98,117,105,108,100, 95,116,101,109,112,108, 97,116,
+ 101, 40,116, 91,116, 46,110, 93, 44, 32,116, 98, 44, 32,116,
+ 105,109,112,108, 41, 44, 10, 32, 32, 32,116,121,112,101, 32,
+ 61, 32,116, 91,116, 46,110, 93, 44, 10, 32, 32, 32,109,111,
+ 100, 32, 61, 32, 99,111,110, 99, 97,116, 40,116, 44, 49, 44,
+ 116, 46,110, 45, 49, 41, 44, 10, 32, 32, 32,105,115, 95,112,
+ 97,114, 97,109,101,116,101,114, 32, 61, 32,105,115, 95,112,
+ 97,114, 97,109,101,116,101,114, 44, 10, 32, 32, 32,107,105,
+ 110,100, 32, 61, 32,107,105,110,100, 10, 32, 32,125, 10, 10,
+ 32,101,108,115,101, 32, 45, 45, 32,107,105,110,100, 32, 61,
+ 61, 32, 34,102,117,110, 99, 34, 10, 10, 32, 32, 45, 45, 32,
+ 99,104,101, 99,107, 32,116,104,101, 32,102,111,114,109, 58,
+ 32,109,111,100, 32,116,121,112,101, 32,110, 97,109,101, 10,
+ 32, 32, 45, 45,116, 32, 61, 32,115,112,108,105,116, 40,115,
+ 44, 39, 37,115, 37,115, 42, 39, 41, 10, 32, 32,116, 32, 61,
+ 32,115,112,108,105,116, 95, 99, 95,116,111,107,101,110,115,
+ 40,115, 44, 39, 37,115, 43, 39, 41, 10, 32, 32,108,111, 99,
+ 97,108, 32,118, 32, 61, 32,116, 91,116, 46,110, 93, 32, 32,
+ 45, 45, 32,108, 97,115,116, 32,119,111,114,100, 32,105,115,
+ 32,116,104,101, 32,102,117,110, 99,116,105,111,110, 32,110,
+ 97,109,101, 10, 32, 32,108,111, 99, 97,108, 32,116,112, 44,
+ 109,100, 10, 32, 32,105,102, 32,116, 46,110, 62, 49, 32,116,
+ 104,101,110, 10, 32, 32, 32,116,112, 32, 61, 32,116, 91,116,
+ 46,110, 45, 49, 93, 10, 32, 32, 32,109,100, 32, 61, 32, 99,
+ 111,110, 99, 97,116, 40,116, 44, 49, 44,116, 46,110, 45, 50,
+ 41, 10, 32, 32,101,110,100, 10, 32, 32, 45, 45,105,102, 32,
+ 116,112, 32,116,104,101,110, 32,116,112, 32, 61, 32,114,101,
+ 98,117,105,108,100, 95,116,101,109,112,108, 97,116,101, 40,
+ 116,112, 44, 32,116, 98, 44, 32,116,105,109,112,108, 41, 32,
+ 101,110,100, 10, 32, 32,114,101,116,117,114,110, 32, 95, 68,
+ 101, 99,108, 97,114, 97,116,105,111,110,123, 10, 32, 32, 32,
+ 110, 97,109,101, 32, 61, 32,118, 44, 10, 32, 32, 32,116,121,
+ 112,101, 32, 61, 32,116,112, 44, 10, 32, 32, 32,109,111,100,
+ 32, 61, 32,109,100, 44, 10, 32, 32, 32,105,115, 95,112, 97,
+ 114, 97,109,101,116,101,114, 32, 61, 32,105,115, 95,112, 97,
+ 114, 97,109,101,116,101,114, 44, 10, 32, 32, 32,107,105,110,
+ 100, 32, 61, 32,107,105,110,100, 10, 32, 32,125, 10, 32,101,
+ 110,100, 10, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/declaration.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32,118, 97,114,105, 97,
+ 98,108,101, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,
+ 105,116,116,101,110, 32, 98,121, 32, 87, 97,108,100,101,109,
+ 97,114, 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67,
+ 71,114, 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45,
+ 32, 74,117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,
+ 100, 58, 32, 36, 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,
+ 111,100,101, 32,105,115, 32,102,114,101,101, 32,115,111,102,
+ 116,119, 97,114,101, 59, 32,121,111,117, 32, 99, 97,110, 32,
+ 114,101,100,105,115,116,114,105, 98,117,116,101, 32,105,116,
+ 32, 97,110,100, 47,111,114, 32,109,111,100,105,102,121, 32,
+ 105,116, 46, 10, 45, 45, 32, 84,104,101, 32,115,111,102,116,
+ 119, 97,114,101, 32,112,114,111,118,105,100,101,100, 32,104,
+ 101,114,101,117,110,100,101,114, 32,105,115, 32,111,110, 32,
+ 97,110, 32, 34, 97,115, 32,105,115, 34, 32, 98, 97,115,105,
+ 115, 44, 32, 97,110,100, 10, 45, 45, 32,116,104,101, 32, 97,
+ 117,116,104,111,114, 32,104, 97,115, 32,110,111, 32,111, 98,
+ 108,105,103, 97,116,105,111,110, 32,116,111, 32,112,114,111,
+ 118,105,100,101, 32,109, 97,105,110,116,101,110, 97,110, 99,
+ 101, 44, 32,115,117,112,112,111,114,116, 44, 32,117,112,100,
+ 97,116,101,115, 44, 10, 45, 45, 32,101,110,104, 97,110, 99,
+ 101,109,101,110,116,115, 44, 32,111,114, 32,109,111,100,105,
+ 102,105, 99, 97,116,105,111,110,115, 46, 10, 10, 10, 45, 45,
+ 32, 86, 97,114,105, 97, 98,108,101, 32, 99,108, 97,115,115,
+ 10, 45, 45, 32, 82,101,112,114,101,115,101,110,116,115, 32,
+ 97, 32,101,120,116,101,114,110, 32,118, 97,114,105, 97, 98,
+ 108,101, 32,111,114, 32, 97, 32,112,117, 98,108,105, 99, 32,
+ 109,101,109, 98,101,114, 32,111,102, 32, 97, 32, 99,108, 97,
+ 115,115, 46, 10, 45, 45, 32, 83,116,111,114,101,115, 32, 97,
+ 108,108, 32,102,105,101,108,100,115, 32,112,114,101,115,101,
+ 110,116, 32,105,110, 32, 97, 32,100,101, 99,108, 97,114, 97,
+ 116,105,111,110, 46, 10, 99,108, 97,115,115, 86, 97,114,105,
+ 97, 98,108,101, 32, 61, 32,123, 10, 32, 95,103,101,116, 32,
+ 61, 32,123,125, 44, 32, 32, 32, 45, 45, 32,109, 97,112,112,
+ 101,100, 32,103,101,116, 32,102,117,110, 99,116,105,111,110,
+ 115, 10, 32, 95,115,101,116, 32, 61, 32,123,125, 44, 32, 32,
+ 32, 45, 45, 32,109, 97,112,112,101,100, 32,115,101,116, 32,
+ 102,117,110, 99,116,105,111,110,115, 10,125, 10, 99,108, 97,
+ 115,115, 86, 97,114,105, 97, 98,108,101, 46, 95, 95,105,110,
+ 100,101,120, 32, 61, 32, 99,108, 97,115,115, 86, 97,114,105,
+ 97, 98,108,101, 10,115,101,116,109,101,116, 97,116, 97, 98,
+ 108,101, 40, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,
+ 101, 44, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,
+ 105,111,110, 41, 10, 10, 45, 45, 32, 80,114,105,110,116, 32,
+ 109,101,116,104,111,100, 10,102,117,110, 99,116,105,111,110,
+ 32, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,101, 58,
+ 112,114,105,110,116, 32, 40,105,100,101,110,116, 44, 99,108,
+ 111,115,101, 41, 10, 32,112,114,105,110,116, 40,105,100,101,
+ 110,116, 46, 46, 34, 86, 97,114,105, 97, 98,108,101,123, 34,
+ 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46,
+ 46, 34, 32,109,111,100, 32, 32, 61, 32, 39, 34, 46, 46,115,
+ 101,108,102, 46,109,111,100, 46, 46, 34, 39, 44, 34, 41, 10,
+ 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,
+ 32,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,
+ 102, 46,116,121,112,101, 46, 46, 34, 39, 44, 34, 41, 10, 32,
+ 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,
+ 112,116,114, 32, 32, 61, 32, 39, 34, 46, 46,115,101,108,102,
+ 46,112,116,114, 46, 46, 34, 39, 44, 34, 41, 10, 32,112,114,
+ 105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,110, 97,
+ 109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,110,
+ 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10, 32,105,102, 32,
+ 115,101,108,102, 46,100,105,109, 32,116,104,101,110, 32,112,
+ 114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,100,
+ 105,109, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,100,
+ 105,109, 46, 46, 34, 39, 44, 34, 41, 32,101,110,100, 10, 32,
+ 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,
+ 100,101,102, 32, 32, 61, 32, 39, 34, 46, 46,115,101,108,102,
+ 46,100,101,102, 46, 46, 34, 39, 44, 34, 41, 10, 32,112,114,
+ 105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,114,101,
+ 116, 32, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,114,
+ 101,116, 46, 46, 34, 39, 44, 34, 41, 10, 32,112,114,105,110,
+ 116, 40,105,100,101,110,116, 46, 46, 34,125, 34, 46, 46, 99,
+ 108,111,115,101, 41, 10,101,110,100, 10, 10, 45, 45, 32, 71,
+ 101,110,101,114, 97,116,101,115, 32, 67, 32,102,117,110, 99,
+ 116,105,111,110, 32,110, 97,109,101, 10,102,117,110, 99,116,
+ 105,111,110, 32, 99,108, 97,115,115, 86, 97,114,105, 97, 98,
+ 108,101, 58, 99,102,117,110, 99,110, 97,109,101, 32, 40,112,
+ 114,101,102,105,120, 41, 10, 32,108,111, 99, 97,108, 32,112,
+ 97,114,101,110,116, 32, 61, 32, 34, 34, 10, 32,108,111, 99,
+ 97,108, 32,117,110,115,105,103,110,101,100, 32, 61, 32, 34,
+ 34, 10, 32,108,111, 99, 97,108, 32,112,116,114, 32, 61, 32,
+ 34, 34, 10, 10, 32,108,111, 99, 97,108, 32,112, 32, 61, 32,
+ 115,101,108,102, 58,105,110,109,111,100,117,108,101, 40, 41,
+ 32,111,114, 32,115,101,108,102, 58,105,110,110, 97,109,101,
+ 115,112, 97, 99,101, 40, 41, 32,111,114, 32,115,101,108,102,
+ 58,105,110, 99,108, 97,115,115, 40, 41, 10, 10, 32,105,102,
+ 32,112, 32,116,104,101,110, 10, 32, 9,105,102, 32,115,101,
+ 108,102, 46,112, 97,114,101,110,116, 46, 99,108, 97,115,115,
+ 116,121,112,101, 32, 61, 61, 32, 39, 99,108, 97,115,115, 39,
+ 32,116,104,101,110, 10, 9, 9,112, 97,114,101,110,116, 32,
+ 61, 32, 34, 95, 34, 32, 46, 46, 32,115,101,108,102, 46,112,
+ 97,114,101,110,116, 46,116,121,112,101, 10, 9,101,108,115,
+ 101, 10, 9, 32, 32,112, 97,114,101,110,116, 32, 61, 32, 34,
+ 95, 34, 32, 46, 46, 32,112, 10, 9,101,110,100, 10, 32,101,
+ 110,100, 10, 10, 32,105,102, 32,115,116,114,102,105,110,100,
+ 40,115,101,108,102, 46,109,111,100, 44, 34, 40,117,110,115,
+ 105,103,110,101,100, 41, 34, 41, 32,116,104,101,110, 10, 32,
+ 32,117,110,115,105,103,110,101,100, 32, 61, 32, 34, 95,117,
+ 110,115,105,103,110,101,100, 34, 10, 32,101,110,100, 10, 10,
+ 32,105,102, 32,115,101,108,102, 46,112,116,114, 32, 61, 61,
+ 32, 34, 42, 34, 32,116,104,101,110, 32,112,116,114, 32, 61,
+ 32, 34, 95,112,116,114, 34, 10, 32,101,108,115,101,105,102,
+ 32,115,101,108,102, 46,112,116,114, 32, 61, 61, 32, 34, 38,
+ 34, 32,116,104,101,110, 32,112,116,114, 32, 61, 32, 34, 95,
+ 114,101,102, 34, 10, 32,101,110,100, 10, 10, 32,108,111, 99,
+ 97,108, 32,110, 97,109,101, 32, 61, 32, 32,112,114,101,102,
+ 105,120, 32, 46, 46, 32,112, 97,114,101,110,116, 32, 46, 46,
+ 32,117,110,115,105,103,110,101,100, 32, 46, 46, 32, 34, 95,
+ 34, 32, 46, 46, 32,103,115,117, 98, 40,115,101,108,102, 46,
+ 108,110, 97,109,101, 32,111,114, 32,115,101,108,102, 46,110,
+ 97,109,101, 44, 34, 46, 42, 58, 58, 34, 44, 34, 34, 41, 32,
+ 46, 46, 32,112,116,114, 10, 10, 9,110, 97,109,101, 32, 61,
+ 32, 99,108,101, 97,110, 95,116,101,109,112,108, 97,116,101,
+ 40,110, 97,109,101, 41, 10, 32,114,101,116,117,114,110, 32,
+ 110, 97,109,101, 10, 10,101,110,100, 10, 10, 45, 45, 32, 99,
+ 104,101, 99,107, 32,105,102, 32,105,116, 32,105,115, 32, 97,
+ 32,118, 97,114,105, 97, 98,108,101, 10,102,117,110, 99,116,
+ 105,111,110, 32, 99,108, 97,115,115, 86, 97,114,105, 97, 98,
+ 108,101, 58,105,115,118, 97,114,105, 97, 98,108,101, 32, 40,
+ 41, 10, 32,114,101,116,117,114,110, 32,116,114,117,101, 10,
+ 101,110,100, 10, 10, 45, 45, 32,103,101,116, 32,118, 97,114,
+ 105, 97, 98,108,101, 32,118, 97,108,117,101, 10,102,117,110,
+ 99,116,105,111,110, 32, 99,108, 97,115,115, 86, 97,114,105,
+ 97, 98,108,101, 58,103,101,116,118, 97,108,117,101, 32, 40,
+ 99,108, 97,115,115, 44,115,116, 97,116,105, 99, 44, 32,112,
+ 114,111,112, 95,103,101,116, 41, 10, 10, 9,108,111, 99, 97,
+ 108, 32,110, 97,109,101, 10, 9,105,102, 32,112,114,111,112,
+ 95,103,101,116, 32,116,104,101,110, 10, 10, 9, 9,110, 97,
+ 109,101, 32, 61, 32,112,114,111,112, 95,103,101,116, 46, 46,
+ 34, 40, 41, 34, 10, 9,101,108,115,101, 10, 9, 9,110, 97,
+ 109,101, 32, 61, 32,115,101,108,102, 46,110, 97,109,101, 10,
+ 9,101,110,100, 10, 10, 9,105,102, 32, 99,108, 97,115,115,
+ 32, 97,110,100, 32,115,116, 97,116,105, 99, 32,116,104,101,
+ 110, 10, 9, 32,114,101,116,117,114,110, 32,115,101,108,102,
+ 46,112, 97,114,101,110,116, 46,116,121,112,101, 46, 46, 39,
+ 58, 58, 39, 46, 46,110, 97,109,101, 10, 9,101,108,115,101,
+ 105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10, 9,
+ 32,114,101,116,117,114,110, 32, 39,115,101,108,102, 45, 62,
+ 39, 46, 46,110, 97,109,101, 10, 9,101,108,115,101, 10, 9,
+ 32,114,101,116,117,114,110, 32,110, 97,109,101, 10, 9,101,
+ 110,100, 10,101,110,100, 10, 10, 45, 45, 32,103,101,116, 32,
+ 118, 97,114,105, 97, 98,108,101, 32,112,111,105,110,116,101,
+ 114, 32,118, 97,108,117,101, 10,102,117,110, 99,116,105,111,
+ 110, 32, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,101,
+ 58,103,101,116,112,111,105,110,116,101,114,118, 97,108,117,
+ 101, 32, 40, 99,108, 97,115,115, 44,115,116, 97,116,105, 99,
+ 41, 10, 32,105,102, 32, 99,108, 97,115,115, 32, 97,110,100,
+ 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10, 32, 32,
+ 114,101,116,117,114,110, 32, 99,108, 97,115,115, 46, 46, 39,
+ 58, 58,112, 39, 10, 32,101,108,115,101,105,102, 32, 99,108,
+ 97,115,115, 32,116,104,101,110, 10, 32, 32,114,101,116,117,
+ 114,110, 32, 39,115,101,108,102, 45, 62,112, 39, 10, 32,101,
+ 108,115,101, 10, 32, 32,114,101,116,117,114,110, 32, 39,112,
+ 39, 10, 32,101,110,100, 10,101,110,100, 10, 10, 45, 45, 32,
+ 87,114,105,116,101, 32, 98,105,110,100,105,110,103, 32,102,
+ 117,110, 99,116,105,111,110,115, 10,102,117,110, 99,116,105,
+ 111,110, 32, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,
+ 101, 58,115,117,112, 99,111,100,101, 32, 40, 41, 10, 10, 32,
+ 108,111, 99, 97,108, 32, 99,108, 97,115,115, 32, 61, 32,115,
+ 101,108,102, 58,105,110, 99,108, 97,115,115, 40, 41, 10, 10,
+ 9,108,111, 99, 97,108, 32,112,114,111,112, 95,103,101,116,
+ 44,112,114,111,112, 95,115,101,116, 10, 9,105,102, 32,115,
+ 116,114,105,110,103, 46,102,105,110,100, 40,115,101,108,102,
+ 46,109,111,100, 44, 32, 39,116,111,108,117, 97, 95,112,114,
+ 111,112,101,114,116,121, 39, 41, 32,116,104,101,110, 10, 10,
+ 9, 9,108,111, 99, 97,108, 32, 95, 44, 95, 44,116,121,112,
+ 101, 32, 61, 32,115,116,114,105,110,103, 46,102,105,110,100,
+ 40,115,101,108,102, 46,109,111,100, 44, 32, 34,116,111,108,
+ 117, 97, 95,112,114,111,112,101,114,116,121, 95, 95, 40, 91,
+ 94, 37,115, 93, 42, 41, 34, 41, 10, 9, 9,116,121,112,101,
+ 32, 61, 32,116,121,112,101, 32,111,114, 32, 34,100,101,102,
+ 97,117,108,116, 34, 10, 9, 9,112,114,111,112, 95,103,101,
+ 116, 44,112,114,111,112, 95,115,101,116, 32, 61, 32,103,101,
+ 116, 95,112,114,111,112,101,114,116,121, 95,109,101,116,104,
+ 111,100,115, 40,116,121,112,101, 44, 32,115,101,108,102, 46,
+ 110, 97,109,101, 41, 10, 9, 9,115,101,108,102, 46,109,111,
+ 100, 32, 61, 32,115,116,114,105,110,103, 46,103,115,117, 98,
+ 40,115,101,108,102, 46,109,111,100, 44, 32, 34,116,111,108,
+ 117, 97, 95,112,114,111,112,101,114,116,121, 91, 94, 37,115,
+ 93, 42, 34, 44, 32, 34, 34, 41, 10, 9,101,110,100, 10, 10,
+ 32, 45, 45, 32,103,101,116, 32,102,117,110, 99,116,105,111,
+ 110, 32, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 10, 32,105,102, 32, 99,108, 97,115,115,
+ 32,116,104,101,110, 10, 32, 32,111,117,116,112,117,116, 40,
+ 34, 47, 42, 32,103,101,116, 32,102,117,110, 99,116,105,111,
+ 110, 58, 34, 44,115,101,108,102, 46,110, 97,109,101, 44, 34,
+ 32,111,102, 32, 99,108, 97,115,115, 32, 34, 44, 99,108, 97,
+ 115,115, 44, 34, 32, 42, 47, 34, 41, 10, 32,101,108,115,101,
+ 10, 32, 32,111,117,116,112,117,116, 40, 34, 47, 42, 32,103,
+ 101,116, 32,102,117,110, 99,116,105,111,110, 58, 34, 44,115,
+ 101,108,102, 46,110, 97,109,101, 44, 34, 32, 42, 47, 34, 41,
+ 10, 32,101,110,100, 10, 32,115,101,108,102, 46, 99,103,101,
+ 116,110, 97,109,101, 32, 61, 32,115,101,108,102, 58, 99,102,
+ 117,110, 99,110, 97,109,101, 40, 34,116,111,108,117, 97, 95,
+ 103,101,116, 34, 41, 10, 32,111,117,116,112,117,116, 40, 34,
+ 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 68,
+ 73, 83, 65, 66, 76, 69, 95, 34, 46, 46,115,101,108,102, 46,
+ 99,103,101,116,110, 97,109,101, 41, 10, 32,111,117,116,112,
+ 117,116, 40, 34, 92,110,115,116, 97,116,105, 99, 32,105,110,
+ 116, 34, 44,115,101,108,102, 46, 99,103,101,116,110, 97,109,
+ 101, 44, 34, 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32,
+ 116,111,108,117, 97, 95, 83, 41, 34, 41, 10, 32,111,117,116,
+ 112,117,116, 40, 34,123, 34, 41, 10, 10, 32, 45, 45, 32,100,
+ 101, 99,108, 97,114,101, 32,115,101,108,102, 44, 32,105,102,
+ 32,116,104,101, 32, 99, 97,115,101, 10, 32,108,111, 99, 97,
+ 108, 32, 95, 44, 95, 44,115,116, 97,116,105, 99, 32, 61, 32,
+ 115,116,114,102,105,110,100, 40,115,101,108,102, 46,109,111,
+ 100, 44, 39, 94, 37,115, 42, 40,115,116, 97,116,105, 99, 41,
+ 39, 41, 10, 32,105,102, 32, 99,108, 97,115,115, 32, 97,110,
+ 100, 32,115,116, 97,116,105, 99, 61, 61,110,105,108, 32,116,
+ 104,101,110, 10, 32, 32,111,117,116,112,117,116, 40, 39, 32,
+ 39, 44,115,101,108,102, 46,112, 97,114,101,110,116, 46,116,
+ 121,112,101, 44, 39, 42, 39, 44, 39,115,101,108,102, 32, 61,
+ 32, 39, 41, 10, 32, 32,111,117,116,112,117,116, 40, 39, 40,
+ 39, 44,115,101,108,102, 46,112, 97,114,101,110,116, 46,116,
+ 121,112,101, 44, 39, 42, 41, 32, 39, 41, 10, 32, 32,108,111,
+ 99, 97,108, 32,116,111, 95,102,117,110, 99, 32, 61, 32,103,
+ 101,116, 95,116,111, 95,102,117,110, 99,116,105,111,110, 40,
+ 115,101,108,102, 46,112, 97,114,101,110,116, 46,116,121,112,
+ 101, 41, 10, 32, 32,111,117,116,112,117,116, 40,116,111, 95,
+ 102,117,110, 99, 44, 39, 40,116,111,108,117, 97, 95, 83, 44,
+ 49, 44, 48, 41, 59, 39, 41, 10, 32,101,108,115,101,105,102,
+ 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10, 32, 32,
+ 95, 44, 95, 44,115,101,108,102, 46,109,111,100, 32, 61, 32,
+ 115,116,114,102,105,110,100, 40,115,101,108,102, 46,109,111,
+ 100, 44, 39, 94, 37,115, 42,115,116, 97,116,105, 99, 37,115,
+ 37,115, 42, 40, 46, 42, 41, 39, 41, 10, 32,101,110,100, 10,
+ 10, 10, 32, 45, 45, 32, 99,104,101, 99,107, 32,115,101,108,
+ 102, 32,118, 97,108,117,101, 10, 32,105,102, 32, 99,108, 97,
+ 115,115, 32, 97,110,100, 32,115,116, 97,116,105, 99, 61, 61,
+ 110,105,108, 32,116,104,101,110, 10, 9, 32,111,117,116,112,
+ 117,116, 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76,
+ 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,
+ 32, 32,111,117,116,112,117,116, 40, 39, 32, 32,105,102, 32,
+ 40, 33,115,101,108,102, 41, 32,116,111,108,117, 97, 95,101,
+ 114,114,111,114, 40,116,111,108,117, 97, 95, 83, 44, 34, 39,
+ 46, 46,111,117,116,112,117,116, 95,101,114,114,111,114, 95,
+ 104,111,111,107, 40, 34,105,110,118, 97,108,105,100, 32, 92,
+ 39,115,101,108,102, 92, 39, 32,105,110, 32, 97, 99, 99,101,
+ 115,115,105,110,103, 32,118, 97,114,105, 97, 98,108,101, 32,
+ 92, 39, 37,115, 92, 39, 34, 44, 32,115,101,108,102, 46,110,
+ 97,109,101, 41, 46, 46, 39, 34, 44, 78, 85, 76, 76, 41, 59,
+ 39, 41, 59, 10, 9, 9,111,117,116,112,117,116, 40, 39, 35,
+ 101,110,100,105,102, 92,110, 39, 41, 10, 32,101,110,100, 10,
+ 10, 32, 45, 45, 32,114,101,116,117,114,110, 32,118, 97,108,
+ 117,101, 10, 32,105,102, 32,115,116,114,105,110,103, 46,102,
+ 105,110,100, 40,115,101,108,102, 46,109,111,100, 44, 32, 39,
+ 116,111,108,117, 97, 95,105,110,104,101,114,105,116,115, 39,
+ 41, 32,116,104,101,110, 10, 9,108,111, 99, 97,108, 32,112,
+ 117,115,104, 95,102,117,110, 99, 32, 61, 32,103,101,116, 95,
+ 112,117,115,104, 95,102,117,110, 99,116,105,111,110, 40,115,
+ 101,108,102, 46,116,121,112,101, 41, 10, 32, 9,111,117,116,
+ 112,117,116, 40, 39, 35,105,102,100,101,102, 32, 95, 95, 99,
+ 112,108,117,115,112,108,117,115, 92,110, 39, 41, 10, 9,111,
+ 117,116,112,117,116, 40, 39, 32, 32, 39, 44,112,117,115,104,
+ 95,102,117,110, 99, 44, 39, 40,116,111,108,117, 97, 95, 83,
+ 44, 40,118,111,105,100, 42, 41,115,116, 97,116,105, 99, 95,
+ 99, 97,115,116, 60, 39, 46, 46,115,101,108,102, 46,116,121,
+ 112,101, 46, 46, 39, 42, 62, 40,115,101,108,102, 41, 44, 32,
+ 34, 39, 44,115,101,108,102, 46,116,121,112,101, 44, 39, 34,
+ 41, 59, 39, 41, 10, 9,111,117,116,112,117,116, 40, 39, 35,
+ 101,108,115,101, 92,110, 39, 41, 10, 9,111,117,116,112,117,
+ 116, 40, 39, 32, 32, 39, 44,112,117,115,104, 95,102,117,110,
+ 99, 44, 39, 40,116,111,108,117, 97, 95, 83, 44, 40,118,111,
+ 105,100, 42, 41, 40, 40, 39, 46, 46,115,101,108,102, 46,116,
+ 121,112,101, 46, 46, 39, 42, 41,115,101,108,102, 41, 44, 32,
+ 34, 39, 44,115,101,108,102, 46,116,121,112,101, 44, 39, 34,
+ 41, 59, 39, 41, 10, 9,111,117,116,112,117,116, 40, 39, 35,
+ 101,110,100,105,102, 92,110, 39, 41, 10, 32,101,108,115,101,
+ 10, 9,108,111, 99, 97,108, 32,116, 44, 99,116, 32, 61, 32,
+ 105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46,116,121,
+ 112,101, 41, 10, 9,105,102, 32,116, 32,116,104,101,110, 10,
+ 9, 9,111,117,116,112,117,116, 40, 39, 32, 32,116,111,108,
+ 117, 97, 95,112,117,115,104, 39, 46, 46,116, 46, 46, 39, 40,
+ 116,111,108,117, 97, 95, 83, 44, 40, 39, 44, 99,116, 44, 39,
+ 41, 39, 46, 46,115,101,108,102, 58,103,101,116,118, 97,108,
+ 117,101, 40, 99,108, 97,115,115, 44,115,116, 97,116,105, 99,
+ 44,112,114,111,112, 95,103,101,116, 41, 46, 46, 39, 41, 59,
+ 39, 41, 10, 9,101,108,115,101, 10, 9, 9,108,111, 99, 97,
+ 108, 32,112,117,115,104, 95,102,117,110, 99, 32, 61, 32,103,
+ 101,116, 95,112,117,115,104, 95,102,117,110, 99,116,105,111,
+ 110, 40,115,101,108,102, 46,116,121,112,101, 41, 10, 9, 9,
+ 116, 32, 61, 32,115,101,108,102, 46,116,121,112,101, 10, 9,
+ 9,105,102, 32,115,101,108,102, 46,112,116,114, 32, 61, 61,
+ 32, 39, 38, 39, 32,111,114, 32,115,101,108,102, 46,112,116,
+ 114, 32, 61, 61, 32, 39, 39, 32,116,104,101,110, 10, 9, 9,
+ 9,111,117,116,112,117,116, 40, 39, 32, 32, 39, 44,112,117,
+ 115,104, 95,102,117,110, 99, 44, 39, 40,116,111,108,117, 97,
+ 95, 83, 44, 40,118,111,105,100, 42, 41, 38, 39, 46, 46,115,
+ 101,108,102, 58,103,101,116,118, 97,108,117,101, 40, 99,108,
+ 97,115,115, 44,115,116, 97,116,105, 99, 44,112,114,111,112,
+ 95,103,101,116, 41, 46, 46, 39, 44, 34, 39, 44,116, 44, 39,
+ 34, 41, 59, 39, 41, 10, 9, 9,101,108,115,101, 10, 9, 9,
+ 9,111,117,116,112,117,116, 40, 39, 32, 32, 39, 44,112,117,
+ 115,104, 95,102,117,110, 99, 44, 39, 40,116,111,108,117, 97,
+ 95, 83, 44, 40,118,111,105,100, 42, 41, 39, 46, 46,115,101,
+ 108,102, 58,103,101,116,118, 97,108,117,101, 40, 99,108, 97,
+ 115,115, 44,115,116, 97,116,105, 99, 44,112,114,111,112, 95,
+ 103,101,116, 41, 46, 46, 39, 44, 34, 39, 44,116, 44, 39, 34,
+ 41, 59, 39, 41, 10, 9, 9,101,110,100, 10, 9,101,110,100,
+ 10, 32,101,110,100, 10, 32,111,117,116,112,117,116, 40, 39,
+ 32,114,101,116,117,114,110, 32, 49, 59, 39, 41, 10, 32,111,
+ 117,116,112,117,116, 40, 39,125, 39, 41, 10, 32,111,117,116,
+ 112,117,116, 40, 39, 35,101,110,100,105,102, 32, 47, 47, 35,
+ 105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 68, 73,
+ 83, 65, 66, 76, 69, 92,110, 39, 41, 10, 32,111,117,116,112,
+ 117,116, 40, 39, 92,110, 39, 41, 10, 10, 32, 45, 45, 32,115,
+ 101,116, 32,102,117,110, 99,116,105,111,110, 32, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 10, 32,105,102, 32,110,111,116, 32, 40,115,116,114,102,105,
+ 110,100, 40,115,101,108,102, 46,116,121,112,101, 44, 39, 99,
+ 111,110,115,116, 37,115, 43, 39, 41, 32,111,114, 32,115,116,
+ 114,105,110,103, 46,102,105,110,100, 40,115,101,108,102, 46,
+ 109,111,100, 44, 32, 39,116,111,108,117, 97, 95,114,101, 97,
+ 100,111,110,108,121, 39, 41, 32,111,114, 32,115,116,114,105,
+ 110,103, 46,102,105,110,100, 40,115,101,108,102, 46,109,111,
+ 100, 44, 32, 39,116,111,108,117, 97, 95,105,110,104,101,114,
+ 105,116,115, 39, 41, 41, 32, 32,116,104,101,110, 10, 32, 32,
+ 105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10, 32,
+ 32, 32,111,117,116,112,117,116, 40, 34, 47, 42, 32,115,101,
+ 116, 32,102,117,110, 99,116,105,111,110, 58, 34, 44,115,101,
+ 108,102, 46,110, 97,109,101, 44, 34, 32,111,102, 32, 99,108,
+ 97,115,115, 32, 34, 44, 99,108, 97,115,115, 44, 34, 32, 42,
+ 47, 34, 41, 10, 32, 32,101,108,115,101, 10, 32, 32, 32,111,
+ 117,116,112,117,116, 40, 34, 47, 42, 32,115,101,116, 32,102,
+ 117,110, 99,116,105,111,110, 58, 34, 44,115,101,108,102, 46,
+ 110, 97,109,101, 44, 34, 32, 42, 47, 34, 41, 10, 32, 32,101,
+ 110,100, 10, 32, 32,115,101,108,102, 46, 99,115,101,116,110,
+ 97,109,101, 32, 61, 32,115,101,108,102, 58, 99,102,117,110,
+ 99,110, 97,109,101, 40, 34,116,111,108,117, 97, 95,115,101,
+ 116, 34, 41, 10, 32, 32,111,117,116,112,117,116, 40, 34, 35,
+ 105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 68, 73,
+ 83, 65, 66, 76, 69, 95, 34, 46, 46,115,101,108,102, 46, 99,
+ 115,101,116,110, 97,109,101, 41, 10, 32, 32,111,117,116,112,
+ 117,116, 40, 34, 92,110,115,116, 97,116,105, 99, 32,105,110,
+ 116, 34, 44,115,101,108,102, 46, 99,115,101,116,110, 97,109,
+ 101, 44, 34, 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32,
+ 116,111,108,117, 97, 95, 83, 41, 34, 41, 10, 32, 32,111,117,
+ 116,112,117,116, 40, 34,123, 34, 41, 10, 10, 32, 32, 45, 45,
+ 32,100,101, 99,108, 97,114,101, 32,115,101,108,102, 44, 32,
+ 105,102, 32,116,104,101, 32, 99, 97,115,101, 10, 32, 32,105,
+ 102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,116, 97,
+ 116,105, 99, 61, 61,110,105,108, 32,116,104,101,110, 10, 32,
+ 32, 32,111,117,116,112,117,116, 40, 39, 32, 39, 44,115,101,
+ 108,102, 46,112, 97,114,101,110,116, 46,116,121,112,101, 44,
+ 39, 42, 39, 44, 39,115,101,108,102, 32, 61, 32, 39, 41, 10,
+ 32, 32, 32,111,117,116,112,117,116, 40, 39, 40, 39, 44,115,
+ 101,108,102, 46,112, 97,114,101,110,116, 46,116,121,112,101,
+ 44, 39, 42, 41, 32, 39, 41, 10, 32, 32, 32,108,111, 99, 97,
+ 108, 32,116,111, 95,102,117,110, 99, 32, 61, 32,103,101,116,
+ 95,116,111, 95,102,117,110, 99,116,105,111,110, 40,115,101,
+ 108,102, 46,112, 97,114,101,110,116, 46,116,121,112,101, 41,
+ 10, 32, 32, 32,111,117,116,112,117,116, 40,116,111, 95,102,
+ 117,110, 99, 44, 39, 40,116,111,108,117, 97, 95, 83, 44, 49,
+ 44, 48, 41, 59, 39, 41, 10, 32, 32, 32, 45, 45, 32, 99,104,
+ 101, 99,107, 32,115,101,108,102, 32,118, 97,108,117,101, 10,
+ 9, 9,101,110,100, 10, 32, 32, 45, 45, 32, 99,104,101, 99,
+ 107, 32,116,121,112,101,115, 10, 9, 9,111,117,116,112,117,
+ 116, 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85,
+ 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10, 9,
+ 9,111,117,116,112,117,116, 40, 39, 32, 32,116,111,108,117,
+ 97, 95, 69,114,114,111,114, 32,116,111,108,117, 97, 95,101,
+ 114,114, 59, 39, 41, 10, 32, 32,105,102, 32, 99,108, 97,115,
+ 115, 32, 97,110,100, 32,115,116, 97,116,105, 99, 61, 61,110,
+ 105,108, 32,116,104,101,110, 10, 32, 32, 32,111,117,116,112,
+ 117,116, 40, 39, 32, 32,105,102, 32, 40, 33,115,101,108,102,
+ 41, 32,116,111,108,117, 97, 95,101,114,114,111,114, 40,116,
+ 111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,111,117,116,112,
+ 117,116, 95,101,114,114,111,114, 95,104,111,111,107, 40, 34,
+ 105,110,118, 97,108,105,100, 32, 92, 39,115,101,108,102, 92,
+ 39, 32,105,110, 32, 97, 99, 99,101,115,115,105,110,103, 32,
+ 118, 97,114,105, 97, 98,108,101, 32, 92, 39, 37,115, 92, 39,
+ 34, 44, 32,115,101,108,102, 46,110, 97,109,101, 41, 46, 46,
+ 39, 34, 44, 78, 85, 76, 76, 41, 59, 39, 41, 59, 10, 32, 32,
+ 101,108,115,101,105,102, 32,115,116, 97,116,105, 99, 32,116,
+ 104,101,110, 10, 32, 32, 32, 95, 44, 95, 44,115,101,108,102,
+ 46,109,111,100, 32, 61, 32,115,116,114,102,105,110,100, 40,
+ 115,101,108,102, 46,109,111,100, 44, 39, 94, 37,115, 42,115,
+ 116, 97,116,105, 99, 37,115, 37,115, 42, 40, 46, 42, 41, 39,
+ 41, 10, 32, 32,101,110,100, 10, 10, 32, 32, 45, 45, 32, 99,
+ 104,101, 99,107, 32,118, 97,114,105, 97, 98,108,101, 32,116,
+ 121,112,101, 10, 32, 32,111,117,116,112,117,116, 40, 39, 32,
+ 32,105,102, 32, 40, 39, 46, 46,115,101,108,102, 58,111,117,
+ 116, 99,104,101, 99,107,116,121,112,101, 40, 50, 41, 46, 46,
+ 39, 41, 39, 41, 10, 32, 32,111,117,116,112,117,116, 40, 39,
+ 32, 32, 32,116,111,108,117, 97, 95,101,114,114,111,114, 40,
+ 116,111,108,117, 97, 95, 83, 44, 34, 35,118,105,110,118, 97,
+ 108,105,100, 32,116,121,112,101, 32,105,110, 32,118, 97,114,
+ 105, 97, 98,108,101, 32, 97,115,115,105,103,110,109,101,110,
+ 116, 46, 34, 44, 38,116,111,108,117, 97, 95,101,114,114, 41,
+ 59, 39, 41, 10, 9, 9,111,117,116,112,117,116, 40, 39, 35,
+ 101,110,100,105,102, 92,110, 39, 41, 10, 10, 32, 32, 45, 45,
+ 32, 97,115,115,105,103,110, 32,118, 97,108,117,101, 10, 9,
+ 9,108,111, 99, 97,108, 32,100,101,102, 32, 61, 32, 48, 10,
+ 9, 9,105,102, 32,115,101,108,102, 46,100,101,102, 32,126,
+ 61, 32, 39, 39, 32,116,104,101,110, 32,100,101,102, 32, 61,
+ 32,115,101,108,102, 46,100,101,102, 32,101,110,100, 10, 9,
+ 9,105,102, 32,115,101,108,102, 46,116,121,112,101, 32, 61,
+ 61, 32, 39, 99,104, 97,114, 42, 39, 32, 97,110,100, 32,115,
+ 101,108,102, 46,100,105,109, 32,126, 61, 32, 39, 39, 32,116,
+ 104,101,110, 32, 45, 45, 32,105,115, 32,115,116,114,105,110,
+ 103, 10, 9, 9, 9,111,117,116,112,117,116, 40, 39, 32,115,
+ 116,114,110, 99,112,121, 40, 40, 99,104, 97,114, 42, 41, 39,
+ 41, 10, 9, 9, 9,105,102, 32, 99,108, 97,115,115, 32, 97,
+ 110,100, 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10,
+ 9, 9, 9, 9,111,117,116,112,117,116, 40,115,101,108,102,
+ 46,112, 97,114,101,110,116, 46,116,121,112,101, 46, 46, 39,
+ 58, 58, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 41,
+ 10, 9, 9, 9,101,108,115,101,105,102, 32, 99,108, 97,115,
+ 115, 32,116,104,101,110, 10, 9, 9, 9, 9,111,117,116,112,
+ 117,116, 40, 39,115,101,108,102, 45, 62, 39, 46, 46,115,101,
+ 108,102, 46,110, 97,109,101, 41, 10, 9, 9, 9,101,108,115,
+ 101, 10, 9, 9, 9, 9,111,117,116,112,117,116, 40,115,101,
+ 108,102, 46,110, 97,109,101, 41, 10, 9, 9, 9,101,110,100,
+ 10, 9, 9, 9,111,117,116,112,117,116, 40, 39, 44, 40, 99,
+ 111,110,115,116, 32, 99,104, 97,114, 42, 41,116,111,108,117,
+ 97, 95,116,111,115,116,114,105,110,103, 40,116,111,108,117,
+ 97, 95, 83, 44, 50, 44, 39, 44,100,101,102, 44, 39, 41, 44,
+ 39, 44,115,101,108,102, 46,100,105,109, 44, 39, 45, 49, 41,
+ 59, 39, 41, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,108,
+ 111, 99, 97,108, 32,112,116,114, 32, 61, 32, 39, 39, 10, 9,
+ 9, 9,105,102, 32,115,101,108,102, 46,112,116,114,126, 61,
+ 39, 39, 32,116,104,101,110, 32,112,116,114, 32, 61, 32, 39,
+ 42, 39, 32,101,110,100, 10, 9, 9, 9,111,117,116,112,117,
+ 116, 40, 39, 32, 39, 41, 10, 9, 9, 9,108,111, 99, 97,108,
+ 32,110, 97,109,101, 32, 61, 32,112,114,111,112, 95,115,101,
+ 116, 32,111,114, 32,115,101,108,102, 46,110, 97,109,101, 10,
+ 9, 9, 9,105,102, 32, 99,108, 97,115,115, 32, 97,110,100,
+ 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10, 9, 9,
+ 9, 9,111,117,116,112,117,116, 40,115,101,108,102, 46,112,
+ 97,114,101,110,116, 46,116,121,112,101, 46, 46, 39, 58, 58,
+ 39, 46, 46,110, 97,109,101, 41, 10, 9, 9, 9,101,108,115,
+ 101,105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10,
+ 9, 9, 9, 9,111,117,116,112,117,116, 40, 39,115,101,108,
+ 102, 45, 62, 39, 46, 46,110, 97,109,101, 41, 10, 9, 9, 9,
+ 101,108,115,101, 10, 9, 9, 9, 9,111,117,116,112,117,116,
+ 40,110, 97,109,101, 41, 10, 9, 9, 9,101,110,100, 10, 9,
+ 9, 9,108,111, 99, 97,108, 32,116, 32, 61, 32,105,115, 98,
+ 97,115,105, 99, 40,115,101,108,102, 46,116,121,112,101, 41,
+ 10, 9, 9, 9,105,102, 32,112,114,111,112, 95,115,101,116,
+ 32,116,104,101,110, 10, 9, 9, 9, 9,111,117,116,112,117,
+ 116, 40, 39, 40, 39, 41, 10, 9, 9, 9,101,108,115,101, 10,
+ 9, 9, 9, 9,111,117,116,112,117,116, 40, 39, 32, 61, 32,
+ 39, 41, 10, 9, 9, 9,101,110,100, 10, 9, 9, 9,105,102,
+ 32,110,111,116, 32,116, 32, 97,110,100, 32,112,116,114, 61,
+ 61, 39, 39, 32,116,104,101,110, 32,111,117,116,112,117,116,
+ 40, 39, 42, 39, 41, 32,101,110,100, 10, 9, 9, 9,111,117,
+ 116,112,117,116, 40, 39, 40, 40, 39, 44,115,101,108,102, 46,
+ 109,111,100, 44,115,101,108,102, 46,116,121,112,101, 41, 10,
+ 9, 9, 9,105,102, 32,110,111,116, 32,116, 32,116,104,101,
+ 110, 10, 9, 9, 9, 9,111,117,116,112,117,116, 40, 39, 42,
+ 39, 41, 10, 9, 9, 9,101,110,100, 10, 9, 9, 9,111,117,
+ 116,112,117,116, 40, 39, 41, 32, 39, 41, 10, 9, 9, 9,105,
+ 102, 32,116, 32,116,104,101,110, 10, 9, 9, 9, 9,105,102,
+ 32,105,115,101,110,117,109, 40,115,101,108,102, 46,116,121,
+ 112,101, 41, 32,116,104,101,110, 10, 9, 9, 9, 9, 9,111,
+ 117,116,112,117,116, 40, 39, 40,105,110,116, 41, 32, 39, 41,
+ 10, 9, 9, 9, 9,101,110,100, 10, 9, 9, 9, 9,111,117,
+ 116,112,117,116, 40, 39,116,111,108,117, 97, 95,116,111, 39,
+ 46, 46,116, 44, 39, 40,116,111,108,117, 97, 95, 83, 44, 50,
+ 44, 39, 44,100,101,102, 44, 39, 41, 41, 39, 41, 10, 9, 9,
+ 9,101,108,115,101, 10, 9, 9, 9, 9,108,111, 99, 97,108,
+ 32,116,111, 95,102,117,110, 99, 32, 61, 32,103,101,116, 95,
+ 116,111, 95,102,117,110, 99,116,105,111,110, 40,115,101,108,
+ 102, 46,116,121,112,101, 41, 10, 9, 9, 9, 9,111,117,116,
+ 112,117,116, 40,116,111, 95,102,117,110, 99, 44, 39, 40,116,
+ 111,108,117, 97, 95, 83, 44, 50, 44, 39, 44,100,101,102, 44,
+ 39, 41, 41, 39, 41, 10, 9, 9, 9,101,110,100, 10, 9, 9,
+ 9,105,102, 32,112,114,111,112, 95,115,101,116, 32,116,104,
+ 101,110, 10, 9, 9, 9, 9,111,117,116,112,117,116, 40, 34,
+ 41, 34, 41, 10, 9, 9, 9,101,110,100, 10, 9, 9, 9,111,
+ 117,116,112,117,116, 40, 34, 59, 34, 41, 10, 9, 9,101,110,
+ 100, 10, 32, 32,111,117,116,112,117,116, 40, 39, 32,114,101,
+ 116,117,114,110, 32, 48, 59, 39, 41, 10, 32, 32,111,117,116,
+ 112,117,116, 40, 39,125, 39, 41, 10, 32, 32,111,117,116,112,
+ 117,116, 40, 39, 35,101,110,100,105,102, 32, 47, 47, 35,105,
+ 102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 68, 73, 83,
+ 65, 66, 76, 69, 92,110, 39, 41, 10, 32, 32,111,117,116,112,
+ 117,116, 40, 39, 92,110, 39, 41, 10, 32,101,110,100, 10, 10,
+ 101,110,100, 10, 10,102,117,110, 99,116,105,111,110, 32, 99,
+ 108, 97,115,115, 86, 97,114,105, 97, 98,108,101, 58,114,101,
+ 103,105,115,116,101,114, 32, 40,112,114,101, 41, 10, 10, 9,
+ 105,102, 32,110,111,116, 32,115,101,108,102, 58, 99,104,101,
+ 99,107, 95,112,117, 98,108,105, 99, 95, 97, 99, 99,101,115,
+ 115, 40, 41, 32,116,104,101,110, 10, 9, 9,114,101,116,117,
+ 114,110, 10, 9,101,110,100, 10, 32,112,114,101, 32, 61, 32,
+ 112,114,101, 32,111,114, 32, 39, 39, 10, 32,108,111, 99, 97,
+ 108, 32,112, 97,114,101,110,116, 32, 61, 32,115,101,108,102,
+ 58,105,110,109,111,100,117,108,101, 40, 41, 32,111,114, 32,
+ 115,101,108,102, 58,105,110,110, 97,109,101,115,112, 97, 99,
+ 101, 40, 41, 32,111,114, 32,115,101,108,102, 58,105,110, 99,
+ 108, 97,115,115, 40, 41, 10, 32,105,102, 32,110,111,116, 32,
+ 112, 97,114,101,110,116, 32,116,104,101,110, 10, 32, 32,105,
+ 102, 32, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,101,
+ 46, 95,119, 97,114,110,105,110,103, 61, 61,110,105,108, 32,
+ 116,104,101,110, 10, 32, 32, 32,119, 97,114,110,105,110,103,
+ 40, 34, 77, 97,112,112,105,110,103, 32,118, 97,114,105, 97,
+ 98,108,101, 32,116,111, 32,103,108,111, 98, 97,108, 32,109,
+ 97,121, 32,100,101,103,114, 97,100,101, 32,112,101,114,102,
+ 111,114,109, 97,110, 99,101, 34, 41, 10, 32, 32, 32, 99,108,
+ 97,115,115, 86, 97,114,105, 97, 98,108,101, 46, 95,119, 97,
+ 114,110,105,110,103, 32, 61, 32, 49, 10, 32, 32,101,110,100,
+ 10, 32,101,110,100, 10, 32,105,102, 32,115,101,108,102, 46,
+ 99,115,101,116,110, 97,109,101, 32,116,104,101,110, 10, 32,
+ 32,111,117,116,112,117,116, 40,112,114,101, 46, 46, 39,116,
+ 111,108,117, 97, 95,118, 97,114,105, 97, 98,108,101, 40,116,
+ 111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102,
+ 46,108,110, 97,109,101, 46, 46, 39, 34, 44, 39, 46, 46,115,
+ 101,108,102, 46, 99,103,101,116,110, 97,109,101, 46, 46, 39,
+ 44, 39, 46, 46,115,101,108,102, 46, 99,115,101,116,110, 97,
+ 109,101, 46, 46, 39, 41, 59, 39, 41, 10, 32,101,108,115,101,
+ 10, 32, 32,111,117,116,112,117,116, 40,112,114,101, 46, 46,
+ 39,116,111,108,117, 97, 95,118, 97,114,105, 97, 98,108,101,
+ 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,
+ 108,102, 46,108,110, 97,109,101, 46, 46, 39, 34, 44, 39, 46,
+ 46,115,101,108,102, 46, 99,103,101,116,110, 97,109,101, 46,
+ 46, 39, 44, 78, 85, 76, 76, 41, 59, 39, 41, 10, 32,101,110,
+ 100, 10,101,110,100, 10, 10, 45, 45, 32, 73,110,116,101,114,
+ 110, 97,108, 32, 99,111,110,115,116,114,117, 99,116,111,114,
+ 10,102,117,110, 99,116,105,111,110, 32, 95, 86, 97,114,105,
+ 97, 98,108,101, 32, 40,116, 41, 10, 32,115,101,116,109,101,
+ 116, 97,116, 97, 98,108,101, 40,116, 44, 99,108, 97,115,115,
+ 86, 97,114,105, 97, 98,108,101, 41, 10, 32, 97,112,112,101,
+ 110,100, 40,116, 41, 10, 32,114,101,116,117,114,110, 32,116,
+ 10,101,110,100, 10, 10, 45, 45, 32, 67,111,110,115,116,114,
+ 117, 99,116,111,114, 10, 45, 45, 32, 69,120,112,101, 99,116,
+ 115, 32, 97, 32,115,116,114,105,110,103, 32,114,101,112,114,
+ 101,115,101,110,116,105,110,103, 32,116,104,101, 32,118, 97,
+ 114,105, 97, 98,108,101, 32,100,101, 99,108, 97,114, 97,116,
+ 105,111,110, 46, 10,102,117,110, 99,116,105,111,110, 32, 86,
+ 97,114,105, 97, 98,108,101, 32, 40,115, 41, 10, 32,114,101,
+ 116,117,114,110, 32, 95, 86, 97,114,105, 97, 98,108,101, 32,
+ 40, 68,101, 99,108, 97,114, 97,116,105,111,110, 40,115, 44,
+ 39,118, 97,114, 39, 41, 41, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/variable.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32, 97,114,114, 97,121,
+ 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,105,116,116,
+ 101,110, 32, 98,121, 32, 87, 97,108,100,101,109, 97,114, 32,
+ 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67, 71,114, 97,
+ 102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45, 32, 74,117,
+ 108, 32, 49, 57, 57, 57, 10, 45, 45, 32, 36, 73,100, 58, 32,
+ 97,114,114, 97,121, 46,108,117, 97, 44,118, 32, 49, 46, 49,
+ 32, 50, 48, 48, 48, 47, 49, 49, 47, 48, 54, 32, 50, 50, 58,
+ 48, 51, 58, 53, 55, 32, 99,101,108,101,115, 32, 69,120,112,
+ 32, 36, 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,111,100,
+ 101, 32,105,115, 32,102,114,101,101, 32,115,111,102,116,119,
+ 97,114,101, 59, 32,121,111,117, 32, 99, 97,110, 32,114,101,
+ 100,105,115,116,114,105, 98,117,116,101, 32,105,116, 32, 97,
+ 110,100, 47,111,114, 32,109,111,100,105,102,121, 32,105,116,
+ 46, 10, 45, 45, 32, 84,104,101, 32,115,111,102,116,119, 97,
+ 114,101, 32,112,114,111,118,105,100,101,100, 32,104,101,114,
+ 101,117,110,100,101,114, 32,105,115, 32,111,110, 32, 97,110,
+ 32, 34, 97,115, 32,105,115, 34, 32, 98, 97,115,105,115, 44,
+ 32, 97,110,100, 10, 45, 45, 32,116,104,101, 32, 97,117,116,
+ 104,111,114, 32,104, 97,115, 32,110,111, 32,111, 98,108,105,
+ 103, 97,116,105,111,110, 32,116,111, 32,112,114,111,118,105,
+ 100,101, 32,109, 97,105,110,116,101,110, 97,110, 99,101, 44,
+ 32,115,117,112,112,111,114,116, 44, 32,117,112,100, 97,116,
+ 101,115, 44, 10, 45, 45, 32,101,110,104, 97,110, 99,101,109,
+ 101,110,116,115, 44, 32,111,114, 32,109,111,100,105,102,105,
+ 99, 97,116,105,111,110,115, 46, 10, 10, 10, 45, 45, 32, 65,
+ 114,114, 97,121, 32, 99,108, 97,115,115, 10, 45, 45, 32, 82,
+ 101,112,114,101,115,101,110,116,115, 32, 97, 32,101,120,116,
+ 101,114,110, 32, 97,114,114, 97,121, 32,118, 97,114,105, 97,
+ 98,108,101, 32,111,114, 32, 97, 32,112,117, 98,108,105, 99,
+ 32,109,101,109, 98,101,114, 32,111,102, 32, 97, 32, 99,108,
+ 97,115,115, 46, 10, 45, 45, 32, 83,116,111,114,101,115, 32,
+ 97,108,108, 32,102,105,101,108,100,115, 32,112,114,101,115,
+ 101,110,116, 32,105,110, 32, 97, 32,100,101, 99,108, 97,114,
+ 97,116,105,111,110, 46, 10, 99,108, 97,115,115, 65,114,114,
+ 97,121, 32, 61, 32,123, 10,125, 10, 99,108, 97,115,115, 65,
+ 114,114, 97,121, 46, 95, 95,105,110,100,101,120, 32, 61, 32,
+ 99,108, 97,115,115, 65,114,114, 97,121, 10,115,101,116,109,
+ 101,116, 97,116, 97, 98,108,101, 40, 99,108, 97,115,115, 65,
+ 114,114, 97,121, 44, 99,108, 97,115,115, 68,101, 99,108, 97,
+ 114, 97,116,105,111,110, 41, 10, 10, 45, 45, 32, 80,114,105,
+ 110,116, 32,109,101,116,104,111,100, 10,102,117,110, 99,116,
+ 105,111,110, 32, 99,108, 97,115,115, 65,114,114, 97,121, 58,
+ 112,114,105,110,116, 32, 40,105,100,101,110,116, 44, 99,108,
+ 111,115,101, 41, 10, 32,112,114,105,110,116, 40,105,100,101,
+ 110,116, 46, 46, 34, 65,114,114, 97,121,123, 34, 41, 10, 32,
+ 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,
+ 109,111,100, 32, 32, 61, 32, 39, 34, 46, 46,115,101,108,102,
+ 46,109,111,100, 46, 46, 34, 39, 44, 34, 41, 10, 32,112,114,
+ 105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,116,121,
+ 112,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,116,
+ 121,112,101, 46, 46, 34, 39, 44, 34, 41, 10, 32,112,114,105,
+ 110,116, 40,105,100,101,110,116, 46, 46, 34, 32,112,116,114,
+ 32, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,112,116,
+ 114, 46, 46, 34, 39, 44, 34, 41, 10, 32,112,114,105,110,116,
+ 40,105,100,101,110,116, 46, 46, 34, 32,110, 97,109,101, 32,
+ 61, 32, 39, 34, 46, 46,115,101,108,102, 46,110, 97,109,101,
+ 46, 46, 34, 39, 44, 34, 41, 10, 32,112,114,105,110,116, 40,
+ 105,100,101,110,116, 46, 46, 34, 32,100,101,102, 32, 32, 61,
+ 32, 39, 34, 46, 46,115,101,108,102, 46,100,101,102, 46, 46,
+ 34, 39, 44, 34, 41, 10, 32,112,114,105,110,116, 40,105,100,
+ 101,110,116, 46, 46, 34, 32,100,105,109, 32, 32, 61, 32, 39,
+ 34, 46, 46,115,101,108,102, 46,100,105,109, 46, 46, 34, 39,
+ 44, 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,
+ 116, 46, 46, 34, 32,114,101,116, 32, 32, 61, 32, 39, 34, 46,
+ 46,115,101,108,102, 46,114,101,116, 46, 46, 34, 39, 44, 34,
+ 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46,
+ 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,
+ 100, 10, 10, 45, 45, 32, 99,104,101, 99,107, 32,105,102, 32,
+ 105,116, 32,105,115, 32, 97, 32,118, 97,114,105, 97, 98,108,
+ 101, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,
+ 115, 65,114,114, 97,121, 58,105,115,118, 97,114,105, 97, 98,
+ 108,101, 32, 40, 41, 10, 32,114,101,116,117,114,110, 32,116,
+ 114,117,101, 10,101,110,100, 10, 10, 10, 45, 45, 32,103,101,
+ 116, 32,118, 97,114,105, 97, 98,108,101, 32,118, 97,108,117,
+ 101, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,
+ 115, 65,114,114, 97,121, 58,103,101,116,118, 97,108,117,101,
+ 32, 40, 99,108, 97,115,115, 44,115,116, 97,116,105, 99, 41,
+ 10, 32,105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,
+ 115,116, 97,116,105, 99, 32,116,104,101,110, 10, 32, 32,114,
+ 101,116,117,114,110, 32, 99,108, 97,115,115, 46, 46, 39, 58,
+ 58, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46,
+ 39, 91,116,111,108,117, 97, 95,105,110,100,101,120, 93, 39,
+ 10, 32,101,108,115,101,105,102, 32, 99,108, 97,115,115, 32,
+ 116,104,101,110, 10, 32, 32,114,101,116,117,114,110, 32, 39,
+ 115,101,108,102, 45, 62, 39, 46, 46,115,101,108,102, 46,110,
+ 97,109,101, 46, 46, 39, 91,116,111,108,117, 97, 95,105,110,
+ 100,101,120, 93, 39, 10, 32,101,108,115,101, 10, 32, 32,114,
+ 101,116,117,114,110, 32,115,101,108,102, 46,110, 97,109,101,
+ 46, 46, 39, 91,116,111,108,117, 97, 95,105,110,100,101,120,
+ 93, 39, 10, 32,101,110,100, 10,101,110,100, 10, 10, 45, 45,
+ 32, 87,114,105,116,101, 32, 98,105,110,100,105,110,103, 32,
+ 102,117,110, 99,116,105,111,110,115, 10,102,117,110, 99,116,
+ 105,111,110, 32, 99,108, 97,115,115, 65,114,114, 97,121, 58,
+ 115,117,112, 99,111,100,101, 32, 40, 41, 10, 32,108,111, 99,
+ 97,108, 32, 99,108, 97,115,115, 32, 61, 32,115,101,108,102,
+ 58,105,110, 99,108, 97,115,115, 40, 41, 10, 10, 32, 45, 45,
+ 32,103,101,116, 32,102,117,110, 99,116,105,111,110, 32, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 10, 32,105,102, 32, 99,108, 97,115,115, 32,116,104,
+ 101,110, 10, 32, 32,111,117,116,112,117,116, 40, 34, 47, 42,
+ 32,103,101,116, 32,102,117,110, 99,116,105,111,110, 58, 34,
+ 44,115,101,108,102, 46,110, 97,109,101, 44, 34, 32,111,102,
+ 32, 99,108, 97,115,115, 32, 34, 44, 99,108, 97,115,115, 44,
+ 34, 32, 42, 47, 34, 41, 10, 32,101,108,115,101, 10, 32, 32,
+ 111,117,116,112,117,116, 40, 34, 47, 42, 32,103,101,116, 32,
+ 102,117,110, 99,116,105,111,110, 58, 34, 44,115,101,108,102,
+ 46,110, 97,109,101, 44, 34, 32, 42, 47, 34, 41, 10, 32,101,
+ 110,100, 10, 32,115,101,108,102, 46, 99,103,101,116,110, 97,
+ 109,101, 32, 61, 32,115,101,108,102, 58, 99,102,117,110, 99,
+ 110, 97,109,101, 40, 34,116,111,108,117, 97, 95,103,101,116,
+ 34, 41, 10, 32,111,117,116,112,117,116, 40, 34, 35,105,102,
+ 110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 68, 73, 83, 65,
+ 66, 76, 69, 95, 34, 46, 46,115,101,108,102, 46, 99,103,101,
+ 116,110, 97,109,101, 41, 10, 32,111,117,116,112,117,116, 40,
+ 34, 92,110,115,116, 97,116,105, 99, 32,105,110,116, 34, 44,
+ 115,101,108,102, 46, 99,103,101,116,110, 97,109,101, 44, 34,
+ 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32,116,111,108,
+ 117, 97, 95, 83, 41, 34, 41, 10, 32,111,117,116,112,117,116,
+ 40, 34,123, 34, 41, 10, 32,111,117,116,112,117,116, 40, 34,
+ 32,105,110,116, 32,116,111,108,117, 97, 95,105,110,100,101,
+ 120, 59, 34, 41, 10, 10, 32, 45, 45, 32,100,101, 99,108, 97,
+ 114,101, 32,115,101,108,102, 44, 32,105,102, 32,116,104,101,
+ 32, 99, 97,115,101, 10, 32,108,111, 99, 97,108, 32, 95, 44,
+ 95, 44,115,116, 97,116,105, 99, 32, 61, 32,115,116,114,102,
+ 105,110,100, 40,115,101,108,102, 46,109,111,100, 44, 39, 94,
+ 37,115, 42, 40,115,116, 97,116,105, 99, 41, 39, 41, 10, 32,
+ 105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,116,
+ 97,116,105, 99, 61, 61,110,105,108, 32,116,104,101,110, 10,
+ 32, 32,111,117,116,112,117,116, 40, 39, 32, 39, 44,115,101,
+ 108,102, 46,112, 97,114,101,110,116, 46,116,121,112,101, 44,
+ 39, 42, 39, 44, 39,115,101,108,102, 59, 39, 41, 10, 32, 32,
+ 111,117,116,112,117,116, 40, 39, 32,108,117, 97, 95,112,117,
+ 115,104,115,116,114,105,110,103, 40,116,111,108,117, 97, 95,
+ 83, 44, 34, 46,115,101,108,102, 34, 41, 59, 39, 41, 10, 32,
+ 32,111,117,116,112,117,116, 40, 39, 32,108,117, 97, 95,114,
+ 97,119,103,101,116, 40,116,111,108,117, 97, 95, 83, 44, 49,
+ 41, 59, 39, 41, 10, 32, 32,111,117,116,112,117,116, 40, 39,
+ 32,115,101,108,102, 32, 61, 32, 39, 41, 10, 32, 32,111,117,
+ 116,112,117,116, 40, 39, 40, 39, 44,115,101,108,102, 46,112,
+ 97,114,101,110,116, 46,116,121,112,101, 44, 39, 42, 41, 32,
+ 39, 41, 10, 32, 32,111,117,116,112,117,116, 40, 39,108,117,
+ 97, 95,116,111,117,115,101,114,100, 97,116, 97, 40,116,111,
+ 108,117, 97, 95, 83, 44, 45, 49, 41, 59, 39, 41, 10, 32,101,
+ 108,115,101,105,102, 32,115,116, 97,116,105, 99, 32,116,104,
+ 101,110, 10, 32, 32, 95, 44, 95, 44,115,101,108,102, 46,109,
+ 111,100, 32, 61, 32,115,116,114,102,105,110,100, 40,115,101,
+ 108,102, 46,109,111,100, 44, 39, 94, 37,115, 42,115,116, 97,
+ 116,105, 99, 37,115, 37,115, 42, 40, 46, 42, 41, 39, 41, 10,
+ 32,101,110,100, 10, 10, 32, 45, 45, 32, 99,104,101, 99,107,
+ 32,105,110,100,101,120, 10, 9,111,117,116,112,117,116, 40,
+ 39, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95,
+ 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10, 9,111,117,
+ 116,112,117,116, 40, 39, 32,123, 39, 41, 10, 9,111,117,116,
+ 112,117,116, 40, 39, 32, 32,116,111,108,117, 97, 95, 69,114,
+ 114,111,114, 32,116,111,108,117, 97, 95,101,114,114, 59, 39,
+ 41, 10, 32,111,117,116,112,117,116, 40, 39, 32, 32,105,102,
+ 32, 40, 33,116,111,108,117, 97, 95,105,115,110,117,109, 98,
+ 101,114, 40,116,111,108,117, 97, 95, 83, 44, 50, 44, 48, 44,
+ 38,116,111,108,117, 97, 95,101,114,114, 41, 41, 39, 41, 10,
+ 32,111,117,116,112,117,116, 40, 39, 32, 32, 32,116,111,108,
+ 117, 97, 95,101,114,114,111,114, 40,116,111,108,117, 97, 95,
+ 83, 44, 34, 35,118,105,110,118, 97,108,105,100, 32,116,121,
+ 112,101, 32,105,110, 32, 97,114,114, 97,121, 32,105,110,100,
+ 101,120,105,110,103, 46, 34, 44, 38,116,111,108,117, 97, 95,
+ 101,114,114, 41, 59, 39, 41, 10, 9,111,117,116,112,117,116,
+ 40, 39, 32,125, 39, 41, 10, 9,111,117,116,112,117,116, 40,
+ 39, 35,101,110,100,105,102, 92,110, 39, 41, 10, 9,105,102,
+ 32,102,108, 97,103,115, 91, 39, 49, 39, 93, 32,116,104,101,
+ 110, 32, 45, 45, 32,102,111,114, 32, 99,111,109,112, 97,116,
+ 105, 98,105,108,105,116,121, 32,119,105,116,104, 32,116,111,
+ 108,117, 97, 53, 32, 63, 10, 9, 9,111,117,116,112,117,116,
+ 40, 39, 32,116,111,108,117, 97, 95,105,110,100,101,120, 32,
+ 61, 32, 40,105,110,116, 41,116,111,108,117, 97, 95,116,111,
+ 110,117,109, 98,101,114, 40,116,111,108,117, 97, 95, 83, 44,
+ 50, 44, 48, 41, 45, 49, 59, 39, 41, 10, 9,101,108,115,101,
+ 10, 9, 9,111,117,116,112,117,116, 40, 39, 32,116,111,108,
+ 117, 97, 95,105,110,100,101,120, 32, 61, 32, 40,105,110,116,
+ 41,116,111,108,117, 97, 95,116,111,110,117,109, 98,101,114,
+ 40,116,111,108,117, 97, 95, 83, 44, 50, 44, 48, 41, 59, 39,
+ 41, 10, 9,101,110,100, 10, 9,111,117,116,112,117,116, 40,
+ 39, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95,
+ 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10, 9,105,102,
+ 32,115,101,108,102, 46,100,105,109, 32, 97,110,100, 32,115,
+ 101,108,102, 46,100,105,109, 32,126, 61, 32, 39, 39, 32,116,
+ 104,101,110, 10, 9, 32, 32,111,117,116,112,117,116, 40, 39,
+ 32,105,102, 32, 40,116,111,108,117, 97, 95,105,110,100,101,
+ 120, 60, 48, 32,124,124, 32,116,111,108,117, 97, 95,105,110,
+ 100,101,120, 62, 61, 39, 46, 46,115,101,108,102, 46,100,105,
+ 109, 46, 46, 39, 41, 39, 41, 10, 9,101,108,115,101, 10, 9,
+ 32, 32,111,117,116,112,117,116, 40, 39, 32,105,102, 32, 40,
+ 116,111,108,117, 97, 95,105,110,100,101,120, 60, 48, 41, 39,
+ 41, 10, 9,101,110,100, 10, 32,111,117,116,112,117,116, 40,
+ 39, 32, 32,116,111,108,117, 97, 95,101,114,114,111,114, 40,
+ 116,111,108,117, 97, 95, 83, 44, 34, 97,114,114, 97,121, 32,
+ 105,110,100,101,120,105,110,103, 32,111,117,116, 32,111,102,
+ 32,114, 97,110,103,101, 46, 34, 44, 78, 85, 76, 76, 41, 59,
+ 39, 41, 10, 9,111,117,116,112,117,116, 40, 39, 35,101,110,
+ 100,105,102, 92,110, 39, 41, 10, 10, 32, 45, 45, 32,114,101,
+ 116,117,114,110, 32,118, 97,108,117,101, 10, 32,108,111, 99,
+ 97,108, 32,116, 44, 99,116, 32, 61, 32,105,115, 98, 97,115,
+ 105, 99, 40,115,101,108,102, 46,116,121,112,101, 41, 10, 32,
+ 108,111, 99, 97,108, 32,112,117,115,104, 95,102,117,110, 99,
+ 32, 61, 32,103,101,116, 95,112,117,115,104, 95,102,117,110,
+ 99,116,105,111,110, 40,116, 41, 10, 32,105,102, 32,116, 32,
+ 116,104,101,110, 10, 32, 32,111,117,116,112,117,116, 40, 39,
+ 32,116,111,108,117, 97, 95,112,117,115,104, 39, 46, 46,116,
+ 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 40, 39, 44,
+ 99,116, 44, 39, 41, 39, 46, 46,115,101,108,102, 58,103,101,
+ 116,118, 97,108,117,101, 40, 99,108, 97,115,115, 44,115,116,
+ 97,116,105, 99, 41, 46, 46, 39, 41, 59, 39, 41, 10, 32,101,
+ 108,115,101, 10, 9, 9,116, 32, 61, 32,115,101,108,102, 46,
+ 116,121,112,101, 10, 32, 32,105,102, 32,115,101,108,102, 46,
+ 112,116,114, 32, 61, 61, 32, 39, 38, 39, 32,111,114, 32,115,
+ 101,108,102, 46,112,116,114, 32, 61, 61, 32, 39, 39, 32,116,
+ 104,101,110, 10, 32, 32, 32,111,117,116,112,117,116, 40, 39,
+ 32, 39, 44,112,117,115,104, 95,102,117,110, 99, 44, 39, 40,
+ 116,111,108,117, 97, 95, 83, 44, 40,118,111,105,100, 42, 41,
+ 38, 39, 46, 46,115,101,108,102, 58,103,101,116,118, 97,108,
+ 117,101, 40, 99,108, 97,115,115, 44,115,116, 97,116,105, 99,
+ 41, 46, 46, 39, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39,
+ 41, 10, 32, 32,101,108,115,101, 10, 32, 32, 32,111,117,116,
+ 112,117,116, 40, 39, 32, 39, 44,112,117,115,104, 95,102,117,
+ 110, 99, 44, 39, 40,116,111,108,117, 97, 95, 83, 44, 40,118,
+ 111,105,100, 42, 41, 39, 46, 46,115,101,108,102, 58,103,101,
+ 116,118, 97,108,117,101, 40, 99,108, 97,115,115, 44,115,116,
+ 97,116,105, 99, 41, 46, 46, 39, 44, 34, 39, 44,116, 44, 39,
+ 34, 41, 59, 39, 41, 10, 32, 32,101,110,100, 10, 32,101,110,
+ 100, 10, 32,111,117,116,112,117,116, 40, 39, 32,114,101,116,
+ 117,114,110, 32, 49, 59, 39, 41, 10, 32,111,117,116,112,117,
+ 116, 40, 39,125, 39, 41, 10, 32,111,117,116,112,117,116, 40,
+ 39, 35,101,110,100,105,102, 32, 47, 47, 35,105,102,110,100,
+ 101,102, 32, 84, 79, 76, 85, 65, 95, 68, 73, 83, 65, 66, 76,
+ 69, 92,110, 39, 41, 10, 32,111,117,116,112,117,116, 40, 39,
+ 92,110, 39, 41, 10, 10, 32, 45, 45, 32,115,101,116, 32,102,
+ 117,110, 99,116,105,111,110, 32, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 10, 32,105,102,
+ 32,110,111,116, 32,115,116,114,102,105,110,100, 40,115,101,
+ 108,102, 46,116,121,112,101, 44, 39, 99,111,110,115,116, 39,
+ 41, 32,116,104,101,110, 10, 32, 32,105,102, 32, 99,108, 97,
+ 115,115, 32,116,104,101,110, 10, 32, 32, 32,111,117,116,112,
+ 117,116, 40, 34, 47, 42, 32,115,101,116, 32,102,117,110, 99,
+ 116,105,111,110, 58, 34, 44,115,101,108,102, 46,110, 97,109,
+ 101, 44, 34, 32,111,102, 32, 99,108, 97,115,115, 32, 34, 44,
+ 99,108, 97,115,115, 44, 34, 32, 42, 47, 34, 41, 10, 32, 32,
+ 101,108,115,101, 10, 32, 32, 32,111,117,116,112,117,116, 40,
+ 34, 47, 42, 32,115,101,116, 32,102,117,110, 99,116,105,111,
+ 110, 58, 34, 44,115,101,108,102, 46,110, 97,109,101, 44, 34,
+ 32, 42, 47, 34, 41, 10, 32, 32,101,110,100, 10, 32, 32,115,
+ 101,108,102, 46, 99,115,101,116,110, 97,109,101, 32, 61, 32,
+ 115,101,108,102, 58, 99,102,117,110, 99,110, 97,109,101, 40,
+ 34,116,111,108,117, 97, 95,115,101,116, 34, 41, 10, 32, 32,
+ 111,117,116,112,117,116, 40, 34, 35,105,102,110,100,101,102,
+ 32, 84, 79, 76, 85, 65, 95, 68, 73, 83, 65, 66, 76, 69, 95,
+ 34, 46, 46,115,101,108,102, 46, 99,115,101,116,110, 97,109,
+ 101, 41, 10, 32, 32,111,117,116,112,117,116, 40, 34, 92,110,
+ 115,116, 97,116,105, 99, 32,105,110,116, 34, 44,115,101,108,
+ 102, 46, 99,115,101,116,110, 97,109,101, 44, 34, 40,108,117,
+ 97, 95, 83,116, 97,116,101, 42, 32,116,111,108,117, 97, 95,
+ 83, 41, 34, 41, 10, 32, 32,111,117,116,112,117,116, 40, 34,
+ 123, 34, 41, 10, 10, 32, 32, 45, 45, 32,100,101, 99,108, 97,
+ 114,101, 32,105,110,100,101,120, 10, 32, 32,111,117,116,112,
+ 117,116, 40, 39, 32,105,110,116, 32,116,111,108,117, 97, 95,
+ 105,110,100,101,120, 59, 39, 41, 10, 10, 32, 32, 45, 45, 32,
+ 100,101, 99,108, 97,114,101, 32,115,101,108,102, 44, 32,105,
+ 102, 32,116,104,101, 32, 99, 97,115,101, 10, 32, 32,108,111,
+ 99, 97,108, 32, 95, 44, 95, 44,115,116, 97,116,105, 99, 32,
+ 61, 32,115,116,114,102,105,110,100, 40,115,101,108,102, 46,
+ 109,111,100, 44, 39, 94, 37,115, 42, 40,115,116, 97,116,105,
+ 99, 41, 39, 41, 10, 32, 32,105,102, 32, 99,108, 97,115,115,
+ 32, 97,110,100, 32,115,116, 97,116,105, 99, 61, 61,110,105,
+ 108, 32,116,104,101,110, 10, 32, 32, 32,111,117,116,112,117,
+ 116, 40, 39, 32, 39, 44,115,101,108,102, 46,112, 97,114,101,
+ 110,116, 46,116,121,112,101, 44, 39, 42, 39, 44, 39,115,101,
+ 108,102, 59, 39, 41, 10, 32, 32, 32,111,117,116,112,117,116,
+ 40, 39, 32,108,117, 97, 95,112,117,115,104,115,116,114,105,
+ 110,103, 40,116,111,108,117, 97, 95, 83, 44, 34, 46,115,101,
+ 108,102, 34, 41, 59, 39, 41, 10, 32, 32, 32,111,117,116,112,
+ 117,116, 40, 39, 32,108,117, 97, 95,114, 97,119,103,101,116,
+ 40,116,111,108,117, 97, 95, 83, 44, 49, 41, 59, 39, 41, 10,
+ 32, 32, 32,111,117,116,112,117,116, 40, 39, 32,115,101,108,
+ 102, 32, 61, 32, 39, 41, 10, 32, 32, 32,111,117,116,112,117,
+ 116, 40, 39, 40, 39, 44,115,101,108,102, 46,112, 97,114,101,
+ 110,116, 46,116,121,112,101, 44, 39, 42, 41, 32, 39, 41, 10,
+ 32, 32, 32,111,117,116,112,117,116, 40, 39,108,117, 97, 95,
+ 116,111,117,115,101,114,100, 97,116, 97, 40,116,111,108,117,
+ 97, 95, 83, 44, 45, 49, 41, 59, 39, 41, 10, 32, 32,101,108,
+ 115,101,105,102, 32,115,116, 97,116,105, 99, 32,116,104,101,
+ 110, 10, 32, 32, 32, 95, 44, 95, 44,115,101,108,102, 46,109,
+ 111,100, 32, 61, 32,115,116,114,102,105,110,100, 40,115,101,
+ 108,102, 46,109,111,100, 44, 39, 94, 37,115, 42,115,116, 97,
+ 116,105, 99, 37,115, 37,115, 42, 40, 46, 42, 41, 39, 41, 10,
+ 32, 32,101,110,100, 10, 10, 32, 32, 45, 45, 32, 99,104,101,
+ 99,107, 32,105,110,100,101,120, 10, 9, 32,111,117,116,112,
+ 117,116, 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76,
+ 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,
+ 9, 32,111,117,116,112,117,116, 40, 39, 32,123, 39, 41, 10,
+ 9, 32,111,117,116,112,117,116, 40, 39, 32, 32,116,111,108,
+ 117, 97, 95, 69,114,114,111,114, 32,116,111,108,117, 97, 95,
+ 101,114,114, 59, 39, 41, 10, 32, 32,111,117,116,112,117,116,
+ 40, 39, 32, 32,105,102, 32, 40, 33,116,111,108,117, 97, 95,
+ 105,115,110,117,109, 98,101,114, 40,116,111,108,117, 97, 95,
+ 83, 44, 50, 44, 48, 44, 38,116,111,108,117, 97, 95,101,114,
+ 114, 41, 41, 39, 41, 10, 32, 32,111,117,116,112,117,116, 40,
+ 39, 32, 32, 32,116,111,108,117, 97, 95,101,114,114,111,114,
+ 40,116,111,108,117, 97, 95, 83, 44, 34, 35,118,105,110,118,
+ 97,108,105,100, 32,116,121,112,101, 32,105,110, 32, 97,114,
+ 114, 97,121, 32,105,110,100,101,120,105,110,103, 46, 34, 44,
+ 38,116,111,108,117, 97, 95,101,114,114, 41, 59, 39, 41, 10,
+ 9, 9,111,117,116,112,117,116, 40, 39, 32,125, 39, 41, 10,
+ 9, 9,111,117,116,112,117,116, 40, 39, 35,101,110,100,105,
+ 102, 92,110, 39, 41, 10, 10, 9,105,102, 32,102,108, 97,103,
+ 115, 91, 39, 49, 39, 93, 32,116,104,101,110, 32, 45, 45, 32,
+ 102,111,114, 32, 99,111,109,112, 97,116,105, 98,105,108,105,
+ 116,121, 32,119,105,116,104, 32,116,111,108,117, 97, 53, 32,
+ 63, 10, 9, 9,111,117,116,112,117,116, 40, 39, 32,116,111,
+ 108,117, 97, 95,105,110,100,101,120, 32, 61, 32, 40,105,110,
+ 116, 41,116,111,108,117, 97, 95,116,111,110,117,109, 98,101,
+ 114, 40,116,111,108,117, 97, 95, 83, 44, 50, 44, 48, 41, 45,
+ 49, 59, 39, 41, 10, 9,101,108,115,101, 10, 9, 9,111,117,
+ 116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,105,110,
+ 100,101,120, 32, 61, 32, 40,105,110,116, 41,116,111,108,117,
+ 97, 95,116,111,110,117,109, 98,101,114, 40,116,111,108,117,
+ 97, 95, 83, 44, 50, 44, 48, 41, 59, 39, 41, 10, 9,101,110,
+ 100, 10, 10, 9, 32,111,117,116,112,117,116, 40, 39, 35,105,
+ 102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76,
+ 69, 65, 83, 69, 92,110, 39, 41, 10, 9,105,102, 32,115,101,
+ 108,102, 46,100,105,109, 32, 97,110,100, 32,115,101,108,102,
+ 46,100,105,109, 32,126, 61, 32, 39, 39, 32,116,104,101,110,
+ 10, 9, 32, 32,111,117,116,112,117,116, 40, 39, 32,105,102,
+ 32, 40,116,111,108,117, 97, 95,105,110,100,101,120, 60, 48,
+ 32,124,124, 32,116,111,108,117, 97, 95,105,110,100,101,120,
+ 62, 61, 39, 46, 46,115,101,108,102, 46,100,105,109, 46, 46,
+ 39, 41, 39, 41, 10, 9,101,108,115,101, 10, 9, 32, 32,111,
+ 117,116,112,117,116, 40, 39, 32,105,102, 32, 40,116,111,108,
+ 117, 97, 95,105,110,100,101,120, 60, 48, 41, 39, 41, 10, 9,
+ 101,110,100, 10, 32, 32,111,117,116,112,117,116, 40, 39, 32,
+ 32,116,111,108,117, 97, 95,101,114,114,111,114, 40,116,111,
+ 108,117, 97, 95, 83, 44, 34, 97,114,114, 97,121, 32,105,110,
+ 100,101,120,105,110,103, 32,111,117,116, 32,111,102, 32,114,
+ 97,110,103,101, 46, 34, 44, 78, 85, 76, 76, 41, 59, 39, 41,
+ 10, 9, 9,111,117,116,112,117,116, 40, 39, 35,101,110,100,
+ 105,102, 92,110, 39, 41, 10, 10, 32, 32, 45, 45, 32, 97,115,
+ 115,105,103,110, 32,118, 97,108,117,101, 10, 32, 32,108,111,
+ 99, 97,108, 32,112,116,114, 32, 61, 32, 39, 39, 10, 32, 32,
+ 105,102, 32,115,101,108,102, 46,112,116,114,126, 61, 39, 39,
+ 32,116,104,101,110, 32,112,116,114, 32, 61, 32, 39, 42, 39,
+ 32,101,110,100, 10, 32, 32,111,117,116,112,117,116, 40, 39,
+ 32, 39, 41, 10, 32, 32,105,102, 32, 99,108, 97,115,115, 32,
+ 97,110,100, 32,115,116, 97,116,105, 99, 32,116,104,101,110,
+ 10, 32, 32, 32,111,117,116,112,117,116, 40, 99,108, 97,115,
+ 115, 46, 46, 39, 58, 58, 39, 46, 46,115,101,108,102, 46,110,
+ 97,109,101, 46, 46, 39, 91,116,111,108,117, 97, 95,105,110,
+ 100,101,120, 93, 39, 41, 10, 32, 32,101,108,115,101,105,102,
+ 32, 99,108, 97,115,115, 32,116,104,101,110, 10, 32, 32, 32,
+ 111,117,116,112,117,116, 40, 39,115,101,108,102, 45, 62, 39,
+ 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 91,
+ 116,111,108,117, 97, 95,105,110,100,101,120, 93, 39, 41, 10,
+ 32, 32,101,108,115,101, 10, 32, 32, 32,111,117,116,112,117,
+ 116, 40,115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 91,
+ 116,111,108,117, 97, 95,105,110,100,101,120, 93, 39, 41, 10,
+ 32, 32,101,110,100, 10, 32, 32,108,111, 99, 97,108, 32,116,
+ 32, 61, 32,105,115, 98, 97,115,105, 99, 40,115,101,108,102,
+ 46,116,121,112,101, 41, 10, 32, 32,111,117,116,112,117,116,
+ 40, 39, 32, 61, 32, 39, 41, 10, 32, 32,105,102, 32,110,111,
+ 116, 32,116, 32, 97,110,100, 32,112,116,114, 61, 61, 39, 39,
+ 32,116,104,101,110, 32,111,117,116,112,117,116, 40, 39, 42,
+ 39, 41, 32,101,110,100, 10, 32, 32,111,117,116,112,117,116,
+ 40, 39, 40, 40, 39, 44,115,101,108,102, 46,109,111,100, 44,
+ 115,101,108,102, 46,116,121,112,101, 41, 10, 32, 32,105,102,
+ 32,110,111,116, 32,116, 32,116,104,101,110, 10, 32, 32, 32,
+ 111,117,116,112,117,116, 40, 39, 42, 39, 41, 10, 32, 32,101,
+ 110,100, 10, 32, 32,111,117,116,112,117,116, 40, 39, 41, 32,
+ 39, 41, 10, 32, 32,108,111, 99, 97,108, 32,100,101,102, 32,
+ 61, 32, 48, 10, 32, 32,105,102, 32,115,101,108,102, 46,100,
+ 101,102, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 32,100,
+ 101,102, 32, 61, 32,115,101,108,102, 46,100,101,102, 32,101,
+ 110,100, 10, 32, 32,105,102, 32,116, 32,116,104,101,110, 10,
+ 32, 32, 32,111,117,116,112,117,116, 40, 39,116,111,108,117,
+ 97, 95,116,111, 39, 46, 46,116, 44, 39, 40,116,111,108,117,
+ 97, 95, 83, 44, 51, 44, 39, 44,100,101,102, 44, 39, 41, 41,
+ 59, 39, 41, 10, 32, 32,101,108,115,101, 10, 32, 32, 32,108,
+ 111, 99, 97,108, 32,116,111, 95,102,117,110, 99, 32, 61, 32,
+ 103,101,116, 95,116,111, 95,102,117,110, 99,116,105,111,110,
+ 40,115,101,108,102, 46,116,121,112,101, 41, 10, 32, 32, 32,
+ 111,117,116,112,117,116, 40,116,111, 95,102,117,110, 99, 44,
+ 39, 40,116,111,108,117, 97, 95, 83, 44, 51, 44, 39, 44,100,
+ 101,102, 44, 39, 41, 41, 59, 39, 41, 10, 32, 32,101,110,100,
+ 10, 32, 32,111,117,116,112,117,116, 40, 39, 32,114,101,116,
+ 117,114,110, 32, 48, 59, 39, 41, 10, 32, 32,111,117,116,112,
+ 117,116, 40, 39,125, 39, 41, 10, 32, 32,111,117,116,112,117,
+ 116, 40, 39, 35,101,110,100,105,102, 32, 47, 47, 35,105,102,
+ 110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 68, 73, 83, 65,
+ 66, 76, 69, 92,110, 39, 41, 10, 32, 32,111,117,116,112,117,
+ 116, 40, 39, 92,110, 39, 41, 10, 32,101,110,100, 10, 10,101,
+ 110,100, 10, 10,102,117,110, 99,116,105,111,110, 32, 99,108,
+ 97,115,115, 65,114,114, 97,121, 58,114,101,103,105,115,116,
+ 101,114, 32, 40,112,114,101, 41, 10, 9,105,102, 32,110,111,
+ 116, 32,115,101,108,102, 58, 99,104,101, 99,107, 95,112,117,
+ 98,108,105, 99, 95, 97, 99, 99,101,115,115, 40, 41, 32,116,
+ 104,101,110, 10, 9, 9,114,101,116,117,114,110, 10, 9,101,
+ 110,100, 10, 10, 32,112,114,101, 32, 61, 32,112,114,101, 32,
+ 111,114, 32, 39, 39, 10, 32,105,102, 32,115,101,108,102, 46,
+ 99,115,101,116,110, 97,109,101, 32,116,104,101,110, 10, 32,
+ 32,111,117,116,112,117,116, 40,112,114,101, 46, 46, 39,116,
+ 111,108,117, 97, 95, 97,114,114, 97,121, 40,116,111,108,117,
+ 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,108,110,
+ 97,109,101, 46, 46, 39, 34, 44, 39, 46, 46,115,101,108,102,
+ 46, 99,103,101,116,110, 97,109,101, 46, 46, 39, 44, 39, 46,
+ 46,115,101,108,102, 46, 99,115,101,116,110, 97,109,101, 46,
+ 46, 39, 41, 59, 39, 41, 10, 32,101,108,115,101, 10, 32, 32,
+ 111,117,116,112,117,116, 40,112,114,101, 46, 46, 39,116,111,
+ 108,117, 97, 95, 97,114,114, 97,121, 40,116,111,108,117, 97,
+ 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,108,110, 97,
+ 109,101, 46, 46, 39, 34, 44, 39, 46, 46,115,101,108,102, 46,
+ 99,103,101,116,110, 97,109,101, 46, 46, 39, 44, 78, 85, 76,
+ 76, 41, 59, 39, 41, 10, 32,101,110,100, 10,101,110,100, 10,
+ 10, 45, 45, 32, 73,110,116,101,114,110, 97,108, 32, 99,111,
+ 110,115,116,114,117, 99,116,111,114, 10,102,117,110, 99,116,
+ 105,111,110, 32, 95, 65,114,114, 97,121, 32, 40,116, 41, 10,
+ 32,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40,116,
+ 44, 99,108, 97,115,115, 65,114,114, 97,121, 41, 10, 32, 97,
+ 112,112,101,110,100, 40,116, 41, 10, 32,114,101,116,117,114,
+ 110, 32,116, 10,101,110,100, 10, 10, 45, 45, 32, 67,111,110,
+ 115,116,114,117, 99,116,111,114, 10, 45, 45, 32, 69,120,112,
+ 101, 99,116,115, 32, 97, 32,115,116,114,105,110,103, 32,114,
+ 101,112,114,101,115,101,110,116,105,110,103, 32,116,104,101,
+ 32,118, 97,114,105, 97, 98,108,101, 32,100,101, 99,108, 97,
+ 114, 97,116,105,111,110, 46, 10,102,117,110, 99,116,105,111,
+ 110, 32, 65,114,114, 97,121, 32, 40,115, 41, 10, 32,114,101,
+ 116,117,114,110, 32, 95, 65,114,114, 97,121, 32, 40, 68,101,
+ 99,108, 97,114, 97,116,105,111,110, 40,115, 44, 39,118, 97,
+ 114, 39, 41, 41, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/array.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32,102,117,110, 99,116,
+ 105,111,110, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,
+ 105,116,116,101,110, 32, 98,121, 32, 87, 97,108,100,101,109,
+ 97,114, 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67,
+ 71,114, 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45,
+ 32, 74,117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,
+ 100, 58, 32, 36, 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,
+ 111,100,101, 32,105,115, 32,102,114,101,101, 32,115,111,102,
+ 116,119, 97,114,101, 59, 32,121,111,117, 32, 99, 97,110, 32,
+ 114,101,100,105,115,116,114,105, 98,117,116,101, 32,105,116,
+ 32, 97,110,100, 47,111,114, 32,109,111,100,105,102,121, 32,
+ 105,116, 46, 10, 45, 45, 32, 84,104,101, 32,115,111,102,116,
+ 119, 97,114,101, 32,112,114,111,118,105,100,101,100, 32,104,
+ 101,114,101,117,110,100,101,114, 32,105,115, 32,111,110, 32,
+ 97,110, 32, 34, 97,115, 32,105,115, 34, 32, 98, 97,115,105,
+ 115, 44, 32, 97,110,100, 10, 45, 45, 32,116,104,101, 32, 97,
+ 117,116,104,111,114, 32,104, 97,115, 32,110,111, 32,111, 98,
+ 108,105,103, 97,116,105,111,110, 32,116,111, 32,112,114,111,
+ 118,105,100,101, 32,109, 97,105,110,116,101,110, 97,110, 99,
+ 101, 44, 32,115,117,112,112,111,114,116, 44, 32,117,112,100,
+ 97,116,101,115, 44, 10, 45, 45, 32,101,110,104, 97,110, 99,
+ 101,109,101,110,116,115, 44, 32,111,114, 32,109,111,100,105,
+ 102,105, 99, 97,116,105,111,110,115, 46, 10, 10, 10, 10, 45,
+ 45, 32, 70,117,110, 99,116,105,111,110, 32, 99,108, 97,115,
+ 115, 10, 45, 45, 32, 82,101,112,114,101,115,101,110,116,115,
+ 32, 97, 32,102,117,110, 99,116,105,111,110, 32,111,114, 32,
+ 97, 32, 99,108, 97,115,115, 32,109,101,116,104,111,100, 46,
+ 10, 45, 45, 32, 84,104,101, 32,102,111,108,108,111,119,105,
+ 110,103, 32,102,105,101,108,100,115, 32, 97,114,101, 32,115,
+ 116,111,114,101,100, 58, 10, 45, 45, 32, 32,109,111,100, 32,
+ 32, 61, 32,116,121,112,101, 32,109,111,100,105,102,105,101,
+ 114,115, 10, 45, 45, 32, 32,116,121,112,101, 32, 61, 32,116,
+ 121,112,101, 10, 45, 45, 32, 32,112,116,114, 32, 32, 61, 32,
+ 34, 42, 34, 32,111,114, 32, 34, 38, 34, 44, 32,105,102, 32,
+ 114,101,112,114,101,115,101,110,116,105,110,103, 32, 97, 32,
+ 112,111,105,110,116,101,114, 32,111,114, 32, 97, 32,114,101,
+ 102,101,114,101,110, 99,101, 10, 45, 45, 32, 32,110, 97,109,
+ 101, 32, 61, 32,110, 97,109,101, 10, 45, 45, 32, 32,108,110,
+ 97,109,101, 32, 61, 32,108,117, 97, 32,110, 97,109,101, 10,
+ 45, 45, 32, 32, 97,114,103,115, 32, 32, 61, 32,108,105,115,
+ 116, 32,111,102, 32, 97,114,103,117,109,101,110,116, 32,100,
+ 101, 99,108, 97,114, 97,116,105,111,110,115, 10, 45, 45, 32,
+ 32, 99,111,110,115,116, 32, 61, 32,105,102, 32,105,116, 32,
+ 105,115, 32, 97, 32,109,101,116,104,111,100, 32,114,101, 99,
+ 101,105,118,105,110,103, 32, 97, 32, 99,111,110,115,116, 32,
+ 34,116,104,105,115, 34, 46, 10, 99,108, 97,115,115, 70,117,
+ 110, 99,116,105,111,110, 32, 61, 32,123, 10, 32,109,111,100,
+ 32, 61, 32, 39, 39, 44, 10, 32,116,121,112,101, 32, 61, 32,
+ 39, 39, 44, 10, 32,112,116,114, 32, 61, 32, 39, 39, 44, 10,
+ 32,110, 97,109,101, 32, 61, 32, 39, 39, 44, 10, 32, 97,114,
+ 103,115, 32, 61, 32,123,110, 61, 48,125, 44, 10, 32, 99,111,
+ 110,115,116, 32, 61, 32, 39, 39, 44, 10,125, 10, 99,108, 97,
+ 115,115, 70,117,110, 99,116,105,111,110, 46, 95, 95,105,110,
+ 100,101,120, 32, 61, 32, 99,108, 97,115,115, 70,117,110, 99,
+ 116,105,111,110, 10,115,101,116,109,101,116, 97,116, 97, 98,
+ 108,101, 40, 99,108, 97,115,115, 70,117,110, 99,116,105,111,
+ 110, 44, 99,108, 97,115,115, 70,101, 97,116,117,114,101, 41,
+ 10, 10, 45, 45, 32,100,101, 99,108, 97,114,101, 32,116, 97,
+ 103,115, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,
+ 115,115, 70,117,110, 99,116,105,111,110, 58,100,101, 99,108,
+ 116,121,112,101, 32, 40, 41, 10, 32,115,101,108,102, 46,116,
+ 121,112,101, 32, 61, 32,116,121,112,101,118, 97,114, 40,115,
+ 101,108,102, 46,116,121,112,101, 41, 10, 32,105,102, 32,115,
+ 116,114,102,105,110,100, 40,115,101,108,102, 46,109,111,100,
+ 44, 39, 99,111,110,115,116, 39, 41, 32,116,104,101,110, 10,
+ 9, 32,115,101,108,102, 46,116,121,112,101, 32, 61, 32, 39,
+ 99,111,110,115,116, 32, 39, 46, 46,115,101,108,102, 46,116,
+ 121,112,101, 10, 9, 9,115,101,108,102, 46,109,111,100, 32,
+ 61, 32,103,115,117, 98, 40,115,101,108,102, 46,109,111,100,
+ 44, 39, 99,111,110,115,116, 39, 44, 39, 39, 41, 10, 9,101,
+ 110,100, 10, 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32,
+ 119,104,105,108,101, 32,115,101,108,102, 46, 97,114,103,115,
+ 91,105, 93, 32,100,111, 10, 32, 32,115,101,108,102, 46, 97,
+ 114,103,115, 91,105, 93, 58,100,101, 99,108,116,121,112,101,
+ 40, 41, 10, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32,101,
+ 110,100, 10,101,110,100, 10, 10, 10, 45, 45, 32, 87,114,105,
+ 116,101, 32, 98,105,110,100,105,110,103, 32,102,117,110, 99,
+ 116,105,111,110, 10, 45, 45, 32, 79,117,116,112,117,116,115,
+ 32, 67, 47, 67, 43, 43, 32, 98,105,110,100,105,110,103, 32,
+ 102,117,110, 99,116,105,111,110, 46, 10,102,117,110, 99,116,
+ 105,111,110, 32, 99,108, 97,115,115, 70,117,110, 99,116,105,
+ 111,110, 58,115,117,112, 99,111,100,101, 32, 40,108,111, 99,
+ 97,108, 95, 99,111,110,115,116,114,117, 99,116,111,114, 41,
+ 10, 10, 32,108,111, 99, 97,108, 32,111,118,101,114,108,111,
+ 97,100, 32, 61, 32,115,116,114,115,117, 98, 40,115,101,108,
+ 102, 46, 99,110, 97,109,101, 44, 45, 50, 44, 45, 49, 41, 32,
+ 45, 32, 49, 32, 32, 45, 45, 32,105,110,100,105, 99, 97,116,
+ 101, 32,111,118,101,114,108,111, 97,100,101,100, 32,102,117,
+ 110, 99, 10, 32,108,111, 99, 97,108, 32,110,114,101,116, 32,
+ 61, 32, 48, 32, 32, 32, 32, 32, 32, 45, 45, 32,110,117,109,
+ 98,101,114, 32,111,102, 32,114,101,116,117,114,110,101,100,
+ 32,118, 97,108,117,101,115, 10, 32,108,111, 99, 97,108, 32,
+ 99,108, 97,115,115, 32, 61, 32,115,101,108,102, 58,105,110,
+ 99,108, 97,115,115, 40, 41, 10, 32,108,111, 99, 97,108, 32,
+ 95, 44, 95, 44,115,116, 97,116,105, 99, 32, 61, 32,115,116,
+ 114,102,105,110,100, 40,115,101,108,102, 46,109,111,100, 44,
+ 39, 94, 37,115, 42, 40,115,116, 97,116,105, 99, 41, 39, 41,
+ 10, 32,105,102, 32, 99,108, 97,115,115, 32,116,104,101,110,
+ 10, 10, 32, 9,105,102, 32,115,101,108,102, 46,110, 97,109,
+ 101, 32, 61, 61, 32, 39,110,101,119, 39, 32, 97,110,100, 32,
+ 115,101,108,102, 46,112, 97,114,101,110,116, 46,102,108, 97,
+ 103,115, 46,112,117,114,101, 95,118,105,114,116,117, 97,108,
+ 32,116,104,101,110, 10, 32, 9, 9, 45, 45, 32,110,111, 32,
+ 99,111,110,115,116,114,117, 99,116,111,114, 32,102,111,114,
+ 32, 99,108, 97,115,115,101,115, 32,119,105,116,104, 32,112,
+ 117,114,101, 32,118,105,114,116,117, 97,108, 32,109,101,116,
+ 104,111,100,115, 10, 32, 9, 9,114,101,116,117,114,110, 10,
+ 32, 9,101,110,100, 10, 10, 32, 9,105,102, 32,108,111, 99,
+ 97,108, 95, 99,111,110,115,116,114,117, 99,116,111,114, 32,
+ 116,104,101,110, 10, 9, 9,111,117,116,112,117,116, 40, 34,
+ 47, 42, 32,109,101,116,104,111,100, 58, 32,110,101,119, 95,
+ 108,111, 99, 97,108, 32,111,102, 32, 99,108, 97,115,115, 32,
+ 34, 44, 99,108, 97,115,115, 44, 34, 32, 42, 47, 34, 41, 10,
+ 9,101,108,115,101, 10, 9, 9,111,117,116,112,117,116, 40,
+ 34, 47, 42, 32,109,101,116,104,111,100, 58, 34, 44,115,101,
+ 108,102, 46,110, 97,109,101, 44, 34, 32,111,102, 32, 99,108,
+ 97,115,115, 32, 34, 44, 99,108, 97,115,115, 44, 34, 32, 42,
+ 47, 34, 41, 10, 9,101,110,100, 10, 32,101,108,115,101, 10,
+ 32, 32,111,117,116,112,117,116, 40, 34, 47, 42, 32,102,117,
+ 110, 99,116,105,111,110, 58, 34, 44,115,101,108,102, 46,110,
+ 97,109,101, 44, 34, 32, 42, 47, 34, 41, 10, 32,101,110,100,
+ 10, 10, 32,105,102, 32,108,111, 99, 97,108, 95, 99,111,110,
+ 115,116,114,117, 99,116,111,114, 32,116,104,101,110, 10, 32,
+ 32,111,117,116,112,117,116, 40, 34, 35,105,102,110,100,101,
+ 102, 32, 84, 79, 76, 85, 65, 95, 68, 73, 83, 65, 66, 76, 69,
+ 95, 34, 46, 46,115,101,108,102, 46, 99,110, 97,109,101, 46,
+ 46, 34, 95,108,111, 99, 97,108, 34, 41, 10, 32, 32,111,117,
+ 116,112,117,116, 40, 34, 92,110,115,116, 97,116,105, 99, 32,
+ 105,110,116, 34, 44,115,101,108,102, 46, 99,110, 97,109,101,
+ 46, 46, 34, 95,108,111, 99, 97,108, 34, 44, 34, 40,108,117,
+ 97, 95, 83,116, 97,116,101, 42, 32,116,111,108,117, 97, 95,
+ 83, 41, 34, 41, 10, 32,101,108,115,101, 10, 32, 32,111,117,
+ 116,112,117,116, 40, 34, 35,105,102,110,100,101,102, 32, 84,
+ 79, 76, 85, 65, 95, 68, 73, 83, 65, 66, 76, 69, 95, 34, 46,
+ 46,115,101,108,102, 46, 99,110, 97,109,101, 41, 10, 32, 32,
+ 111,117,116,112,117,116, 40, 34, 92,110,115,116, 97,116,105,
+ 99, 32,105,110,116, 34, 44,115,101,108,102, 46, 99,110, 97,
+ 109,101, 44, 34, 40,108,117, 97, 95, 83,116, 97,116,101, 42,
+ 32,116,111,108,117, 97, 95, 83, 41, 34, 41, 10, 32,101,110,
+ 100, 10, 32,111,117,116,112,117,116, 40, 34,123, 34, 41, 10,
+ 10, 32, 45, 45, 32, 99,104,101, 99,107, 32,116,121,112,101,
+ 115, 10, 9,105,102, 32,111,118,101,114,108,111, 97,100, 32,
+ 60, 32, 48, 32,116,104,101,110, 10, 9, 32,111,117,116,112,
+ 117,116, 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76,
+ 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,
+ 9,101,110,100, 10, 9,111,117,116,112,117,116, 40, 39, 32,
+ 116,111,108,117, 97, 95, 69,114,114,111,114, 32,116,111,108,
+ 117, 97, 95,101,114,114, 59, 39, 41, 10, 32,111,117,116,112,
+ 117,116, 40, 39, 32,105,102, 32, 40, 92,110, 39, 41, 10, 32,
+ 45, 45, 32, 99,104,101, 99,107, 32,115,101,108,102, 10, 32,
+ 108,111, 99, 97,108, 32,110, 97,114,103, 10, 32,105,102, 32,
+ 99,108, 97,115,115, 32,116,104,101,110, 32,110, 97,114,103,
+ 61, 50, 32,101,108,115,101, 32,110, 97,114,103, 61, 49, 32,
+ 101,110,100, 10, 32,105,102, 32, 99,108, 97,115,115, 32,116,
+ 104,101,110, 10, 9, 9,108,111, 99, 97,108, 32,102,117,110,
+ 99, 32, 61, 32,103,101,116, 95,105,115, 95,102,117,110, 99,
+ 116,105,111,110, 40,115,101,108,102, 46,112, 97,114,101,110,
+ 116, 46,116,121,112,101, 41, 10, 9, 9,108,111, 99, 97,108,
+ 32,116,121,112,101, 32, 61, 32,115,101,108,102, 46,112, 97,
+ 114,101,110,116, 46,116,121,112,101, 10, 9, 9,105,102, 32,
+ 115,101,108,102, 46,110, 97,109,101, 61, 61, 39,110,101,119,
+ 39, 32,111,114, 32,115,116, 97,116,105, 99,126, 61,110,105,
+ 108, 32,116,104,101,110, 10, 9, 9, 9,102,117,110, 99, 32,
+ 61, 32, 39,116,111,108,117, 97, 95,105,115,117,115,101,114,
+ 116, 97, 98,108,101, 39, 10, 9, 9, 9,116,121,112,101, 32,
+ 61, 32,115,101,108,102, 46,112, 97,114,101,110,116, 46,116,
+ 121,112,101, 10, 9, 9,101,110,100, 10, 9, 9,105,102, 32,
+ 115,101,108,102, 46, 99,111,110,115,116, 32,126, 61, 32, 39,
+ 39, 32,116,104,101,110, 10, 9, 9, 9,116,121,112,101, 32,
+ 61, 32, 34, 99,111,110,115,116, 32, 34, 46, 46,116,121,112,
+ 101, 10, 9, 9,101,110,100, 10, 9, 9,111,117,116,112,117,
+ 116, 40, 39, 32, 32, 32, 32, 32, 33, 39, 46, 46,102,117,110,
+ 99, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 49, 44,
+ 34, 39, 46, 46,116,121,112,101, 46, 46, 39, 34, 44, 48, 44,
+ 38,116,111,108,117, 97, 95,101,114,114, 41, 32,124,124, 92,
+ 110, 39, 41, 10, 32,101,110,100, 10, 32, 45, 45, 32, 99,104,
+ 101, 99,107, 32, 97,114,103,115, 10, 32,105,102, 32,115,101,
+ 108,102, 46, 97,114,103,115, 91, 49, 93, 46,116,121,112,101,
+ 32,126, 61, 32, 39,118,111,105,100, 39, 32,116,104,101,110,
+ 10, 32, 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32, 32,
+ 119,104,105,108,101, 32,115,101,108,102, 46, 97,114,103,115,
+ 91,105, 93, 32,100,111, 10, 32, 32, 32,108,111, 99, 97,108,
+ 32, 98,116,121,112,101, 32, 61, 32,105,115, 98, 97,115,105,
+ 99, 40,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 46,
+ 116,121,112,101, 41, 10, 32, 32, 32,105,102, 32, 98,116,121,
+ 112,101, 32,126, 61, 32, 39,118, 97,108,117,101, 39, 32, 97,
+ 110,100, 32, 98,116,121,112,101, 32,126, 61, 32, 39,115,116,
+ 97,116,101, 39, 32,116,104,101,110, 10, 32, 32, 32, 32,111,
+ 117,116,112,117,116, 40, 39, 32, 32, 32, 32, 32, 39, 46, 46,
+ 115,101,108,102, 46, 97,114,103,115, 91,105, 93, 58,111,117,
+ 116, 99,104,101, 99,107,116,121,112,101, 40,110, 97,114,103,
+ 41, 46, 46, 39, 32,124,124, 92,110, 39, 41, 10, 32, 32, 32,
+ 101,110,100, 10, 32, 32, 32,105,102, 32, 98,116,121,112,101,
+ 32,126, 61, 32, 39,115,116, 97,116,101, 39, 32,116,104,101,
+ 110, 10, 9, 32, 32, 32,110, 97,114,103, 32, 61, 32,110, 97,
+ 114,103, 43, 49, 10, 32, 32, 32,101,110,100, 10, 32, 32, 32,
+ 105, 32, 61, 32,105, 43, 49, 10, 32, 32,101,110,100, 10, 32,
+ 101,110,100, 10, 32, 45, 45, 32, 99,104,101, 99,107, 32,101,
+ 110,100, 32,111,102, 32,108,105,115,116, 10, 32,111,117,116,
+ 112,117,116, 40, 39, 32, 32, 32, 32, 32, 33,116,111,108,117,
+ 97, 95,105,115,110,111,111, 98,106, 40,116,111,108,117, 97,
+ 95, 83, 44, 39, 46, 46,110, 97,114,103, 46, 46, 39, 44, 38,
+ 116,111,108,117, 97, 95,101,114,114, 41, 92,110, 32, 41, 39,
+ 41, 10, 9,111,117,116,112,117,116, 40, 39, 32, 32,103,111,
+ 116,111, 32,116,111,108,117, 97, 95,108,101,114,114,111,114,
+ 59, 39, 41, 10, 10, 32,111,117,116,112,117,116, 40, 39, 32,
+ 101,108,115,101, 92,110, 39, 41, 10, 9,105,102, 32,111,118,
+ 101,114,108,111, 97,100, 32, 60, 32, 48, 32,116,104,101,110,
+ 10, 9, 32,111,117,116,112,117,116, 40, 39, 35,101,110,100,
+ 105,102, 92,110, 39, 41, 10, 9,101,110,100, 10, 9,111,117,
+ 116,112,117,116, 40, 39, 32,123, 39, 41, 10, 10, 32, 45, 45,
+ 32,100,101, 99,108, 97,114,101, 32,115,101,108,102, 44, 32,
+ 105,102, 32,116,104,101, 32, 99, 97,115,101, 10, 32,108,111,
+ 99, 97,108, 32,110, 97,114,103, 10, 32,105,102, 32, 99,108,
+ 97,115,115, 32,116,104,101,110, 32,110, 97,114,103, 61, 50,
+ 32,101,108,115,101, 32,110, 97,114,103, 61, 49, 32,101,110,
+ 100, 10, 32,105,102, 32, 99,108, 97,115,115, 32, 97,110,100,
+ 32,115,101,108,102, 46,110, 97,109,101,126, 61, 39,110,101,
+ 119, 39, 32, 97,110,100, 32,115,116, 97,116,105, 99, 61, 61,
+ 110,105,108, 32,116,104,101,110, 10, 32, 32,111,117,116,112,
+ 117,116, 40, 39, 32, 39, 44,115,101,108,102, 46, 99,111,110,
+ 115,116, 44,115,101,108,102, 46,112, 97,114,101,110,116, 46,
+ 116,121,112,101, 44, 39, 42, 39, 44, 39,115,101,108,102, 32,
+ 61, 32, 39, 41, 10, 32, 32,111,117,116,112,117,116, 40, 39,
+ 40, 39, 44,115,101,108,102, 46, 99,111,110,115,116, 44,115,
+ 101,108,102, 46,112, 97,114,101,110,116, 46,116,121,112,101,
+ 44, 39, 42, 41, 32, 39, 41, 10, 32, 32,108,111, 99, 97,108,
+ 32,116,111, 95,102,117,110, 99, 32, 61, 32,103,101,116, 95,
+ 116,111, 95,102,117,110, 99,116,105,111,110, 40,115,101,108,
+ 102, 46,112, 97,114,101,110,116, 46,116,121,112,101, 41, 10,
+ 32, 32,111,117,116,112,117,116, 40,116,111, 95,102,117,110,
+ 99, 44, 39, 40,116,111,108,117, 97, 95, 83, 44, 49, 44, 48,
+ 41, 59, 39, 41, 10, 32,101,108,115,101,105,102, 32,115,116,
+ 97,116,105, 99, 32,116,104,101,110, 10, 32, 32, 95, 44, 95,
+ 44,115,101,108,102, 46,109,111,100, 32, 61, 32,115,116,114,
+ 102,105,110,100, 40,115,101,108,102, 46,109,111,100, 44, 39,
+ 94, 37,115, 42,115,116, 97,116,105, 99, 37,115, 37,115, 42,
+ 40, 46, 42, 41, 39, 41, 10, 32,101,110,100, 10, 32, 45, 45,
+ 32,100,101, 99,108, 97,114,101, 32,112, 97,114, 97,109,101,
+ 116,101,114,115, 10, 32,105,102, 32,115,101,108,102, 46, 97,
+ 114,103,115, 91, 49, 93, 46,116,121,112,101, 32,126, 61, 32,
+ 39,118,111,105,100, 39, 32,116,104,101,110, 10, 32, 32,108,
+ 111, 99, 97,108, 32,105, 61, 49, 10, 32, 32,119,104,105,108,
+ 101, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32,
+ 100,111, 10, 32, 32, 32,115,101,108,102, 46, 97,114,103,115,
+ 91,105, 93, 58,100,101, 99,108, 97,114,101, 40,110, 97,114,
+ 103, 41, 10, 32, 32, 32,105,102, 32,105,115, 98, 97,115,105,
+ 99, 40,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 46,
+ 116,121,112,101, 41, 32,126, 61, 32, 34,115,116, 97,116,101,
+ 34, 32,116,104,101,110, 10, 9, 32, 32, 32,110, 97,114,103,
+ 32, 61, 32,110, 97,114,103, 43, 49, 10, 32, 32, 32,101,110,
+ 100, 10, 32, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32, 32,
+ 101,110,100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32, 99,
+ 104,101, 99,107, 32,115,101,108,102, 10, 32,105,102, 32, 99,
+ 108, 97,115,115, 32, 97,110,100, 32,115,101,108,102, 46,110,
+ 97,109,101,126, 61, 39,110,101,119, 39, 32, 97,110,100, 32,
+ 115,116, 97,116,105, 99, 61, 61,110,105,108, 32,116,104,101,
+ 110, 10, 9, 32,111,117,116,112,117,116, 40, 39, 35,105,102,
+ 110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69,
+ 65, 83, 69, 92,110, 39, 41, 10, 9, 32,111,117,116,112,117,
+ 116, 40, 39, 32, 32,105,102, 32, 40, 33,115,101,108,102, 41,
+ 32,116,111,108,117, 97, 95,101,114,114,111,114, 40,116,111,
+ 108,117, 97, 95, 83, 44, 34, 39, 46, 46,111,117,116,112,117,
+ 116, 95,101,114,114,111,114, 95,104,111,111,107, 40, 34,105,
+ 110,118, 97,108,105,100, 32, 92, 39,115,101,108,102, 92, 39,
+ 32,105,110, 32,102,117,110, 99,116,105,111,110, 32, 92, 39,
+ 37,115, 92, 39, 34, 44, 32,115,101,108,102, 46,110, 97,109,
+ 101, 41, 46, 46, 39, 34, 44, 32, 78, 85, 76, 76, 41, 59, 39,
+ 41, 59, 10, 9, 32,111,117,116,112,117,116, 40, 39, 35,101,
+ 110,100,105,102, 92,110, 39, 41, 10, 32,101,110,100, 10, 10,
+ 32, 45, 45, 32,103,101,116, 32, 97,114,114, 97,121, 32,101,
+ 108,101,109,101,110,116, 32,118, 97,108,117,101,115, 10, 32,
+ 105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 32,110,
+ 97,114,103, 61, 50, 32,101,108,115,101, 32,110, 97,114,103,
+ 61, 49, 32,101,110,100, 10, 32,105,102, 32,115,101,108,102,
+ 46, 97,114,103,115, 91, 49, 93, 46,116,121,112,101, 32,126,
+ 61, 32, 39,118,111,105,100, 39, 32,116,104,101,110, 10, 32,
+ 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32, 32,119,104,
+ 105,108,101, 32,115,101,108,102, 46, 97,114,103,115, 91,105,
+ 93, 32,100,111, 10, 32, 32, 32,115,101,108,102, 46, 97,114,
+ 103,115, 91,105, 93, 58,103,101,116, 97,114,114, 97,121, 40,
+ 110, 97,114,103, 41, 10, 32, 32, 32,110, 97,114,103, 32, 61,
+ 32,110, 97,114,103, 43, 49, 10, 32, 32, 32,105, 32, 61, 32,
+ 105, 43, 49, 10, 32, 32,101,110,100, 10, 32,101,110,100, 10,
+ 10, 32,112,114,101, 95, 99, 97,108,108, 95,104,111,111,107,
+ 40,115,101,108,102, 41, 10, 10, 32,108,111, 99, 97,108, 32,
+ 111,117,116, 32, 61, 32,115,116,114,105,110,103, 46,102,105,
+ 110,100, 40,115,101,108,102, 46,109,111,100, 44, 32, 34,116,
+ 111,108,117, 97, 95,111,117,116,115,105,100,101, 34, 41, 10,
+ 32, 45, 45, 32, 99, 97,108,108, 32,102,117,110, 99,116,105,
+ 111,110, 10, 32,105,102, 32, 99,108, 97,115,115, 32, 97,110,
+ 100, 32,115,101,108,102, 46,110, 97,109,101, 61, 61, 39,100,
+ 101,108,101,116,101, 39, 32,116,104,101,110, 10, 32, 32,111,
+ 117,116,112,117,116, 40, 39, 32, 32, 77,116,111,108,117, 97,
+ 95,100,101,108,101,116,101, 40,115,101,108,102, 41, 59, 39,
+ 41, 10, 32,101,108,115,101,105,102, 32, 99,108, 97,115,115,
+ 32, 97,110,100, 32,115,101,108,102, 46,110, 97,109,101, 32,
+ 61, 61, 32, 39,111,112,101,114, 97,116,111,114, 38, 91, 93,
+ 39, 32,116,104,101,110, 10, 32, 32,105,102, 32,102,108, 97,
+ 103,115, 91, 39, 49, 39, 93, 32,116,104,101,110, 32, 45, 45,
+ 32,102,111,114, 32, 99,111,109,112, 97,116,105, 98,105,108,
+ 105,116,121, 32,119,105,116,104, 32,116,111,108,117, 97, 53,
+ 32, 63, 10, 9,111,117,116,112,117,116, 40, 39, 32, 32,115,
+ 101,108,102, 45, 62,111,112,101,114, 97,116,111,114, 91, 93,
+ 40, 39, 44,115,101,108,102, 46, 97,114,103,115, 91, 49, 93,
+ 46,110, 97,109,101, 44, 39, 45, 49, 41, 32, 61, 32, 39, 44,
+ 115,101,108,102, 46, 97,114,103,115, 91, 50, 93, 46,110, 97,
+ 109,101, 44, 39, 59, 39, 41, 10, 32, 32,101,108,115,101, 10,
+ 32, 32, 32, 32,111,117,116,112,117,116, 40, 39, 32, 32,115,
+ 101,108,102, 45, 62,111,112,101,114, 97,116,111,114, 91, 93,
+ 40, 39, 44,115,101,108,102, 46, 97,114,103,115, 91, 49, 93,
+ 46,110, 97,109,101, 44, 39, 41, 32, 61, 32, 39, 44,115,101,
+ 108,102, 46, 97,114,103,115, 91, 50, 93, 46,110, 97,109,101,
+ 44, 39, 59, 39, 41, 10, 32, 32,101,110,100, 10, 32,101,108,
+ 115,101, 10, 32, 32,111,117,116,112,117,116, 40, 39, 32, 32,
+ 123, 39, 41, 10, 32, 32,105,102, 32,115,101,108,102, 46,116,
+ 121,112,101, 32,126, 61, 32, 39, 39, 32, 97,110,100, 32,115,
+ 101,108,102, 46,116,121,112,101, 32,126, 61, 32, 39,118,111,
+ 105,100, 39, 32,116,104,101,110, 10, 32, 32, 32,111,117,116,
+ 112,117,116, 40, 39, 32, 32, 39, 44,115,101,108,102, 46,109,
+ 111,100, 44,115,101,108,102, 46,116,121,112,101, 44,115,101,
+ 108,102, 46,112,116,114, 44, 39,116,111,108,117, 97, 95,114,
+ 101,116, 32, 61, 32, 39, 41, 10, 32, 32, 32,111,117,116,112,
+ 117,116, 40, 39, 40, 39, 44,115,101,108,102, 46,109,111,100,
+ 44,115,101,108,102, 46,116,121,112,101, 44,115,101,108,102,
+ 46,112,116,114, 44, 39, 41, 32, 39, 41, 10, 32, 32,101,108,
+ 115,101, 10, 32, 32, 32,111,117,116,112,117,116, 40, 39, 32,
+ 32, 39, 41, 10, 32, 32,101,110,100, 10, 32, 32,105,102, 32,
+ 99,108, 97,115,115, 32, 97,110,100, 32,115,101,108,102, 46,
+ 110, 97,109,101, 61, 61, 39,110,101,119, 39, 32,116,104,101,
+ 110, 10, 32, 32, 32,111,117,116,112,117,116, 40, 39, 77,116,
+ 111,108,117, 97, 95,110,101,119, 40, 40, 39, 44,115,101,108,
+ 102, 46,116,121,112,101, 44, 39, 41, 40, 39, 41, 10, 32, 32,
+ 101,108,115,101,105,102, 32, 99,108, 97,115,115, 32, 97,110,
+ 100, 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10, 9,
+ 105,102, 32,111,117,116, 32,116,104,101,110, 10, 9, 9,111,
+ 117,116,112,117,116, 40,115,101,108,102, 46,110, 97,109,101,
+ 44, 39, 40, 39, 41, 10, 9,101,108,115,101, 10, 9, 9,111,
+ 117,116,112,117,116, 40, 99,108, 97,115,115, 46, 46, 39, 58,
+ 58, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 44, 39,
+ 40, 39, 41, 10, 9,101,110,100, 10, 32, 32,101,108,115,101,
+ 105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10, 9,
+ 105,102, 32,111,117,116, 32,116,104,101,110, 10, 9, 9,111,
+ 117,116,112,117,116, 40,115,101,108,102, 46,110, 97,109,101,
+ 44, 39, 40, 39, 41, 10, 9,101,108,115,101, 10, 9, 32, 32,
+ 105,102, 32,115,101,108,102, 46, 99, 97,115,116, 95,111,112,
+ 101,114, 97,116,111,114, 32,116,104,101,110, 10, 9, 32, 32,
+ 9, 45, 45,111,117,116,112,117,116, 40, 39,115,116, 97,116,
+ 105, 99, 95, 99, 97,115,116, 60, 39, 44,115,101,108,102, 46,
+ 109,111,100, 44,115,101,108,102, 46,116,121,112,101, 44,115,
+ 101,108,102, 46,112,116,114, 44, 39, 32, 62, 40, 42,115,101,
+ 108,102, 39, 41, 10, 9, 9,111,117,116,112,117,116, 40, 39,
+ 115,101,108,102, 45, 62,111,112,101,114, 97,116,111,114, 32,
+ 39, 44,115,101,108,102, 46,109,111,100, 44,115,101,108,102,
+ 46,116,121,112,101, 44, 39, 40, 39, 41, 10, 9, 32, 32,101,
+ 108,115,101, 10, 9, 9,111,117,116,112,117,116, 40, 39,115,
+ 101,108,102, 45, 62, 39, 46, 46,115,101,108,102, 46,110, 97,
+ 109,101, 44, 39, 40, 39, 41, 10, 9, 32, 32,101,110,100, 10,
+ 9,101,110,100, 10, 32, 32,101,108,115,101, 10, 32, 32, 32,
+ 111,117,116,112,117,116, 40,115,101,108,102, 46,110, 97,109,
+ 101, 44, 39, 40, 39, 41, 10, 32, 32,101,110,100, 10, 10, 32,
+ 32,105,102, 32,111,117,116, 32, 97,110,100, 32,110,111,116,
+ 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10, 32, 32,
+ 9,111,117,116,112,117,116, 40, 39,115,101,108,102, 39, 41,
+ 10, 9,105,102, 32,115,101,108,102, 46, 97,114,103,115, 91,
+ 49, 93, 32, 97,110,100, 32,115,101,108,102, 46, 97,114,103,
+ 115, 91, 49, 93, 46,110, 97,109,101, 32,126, 61, 32, 39, 39,
+ 32,116,104,101,110, 10, 9, 9,111,117,116,112,117,116, 40,
+ 39, 44, 39, 41, 10, 9,101,110,100, 10, 32, 32,101,110,100,
+ 10, 32, 32, 45, 45, 32,119,114,105,116,101, 32,112, 97,114,
+ 97,109,101,116,101,114,115, 10, 32, 32,108,111, 99, 97,108,
+ 32,105, 61, 49, 10, 32, 32,119,104,105,108,101, 32,115,101,
+ 108,102, 46, 97,114,103,115, 91,105, 93, 32,100,111, 10, 32,
+ 32, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 58,
+ 112, 97,115,115,112, 97,114, 40, 41, 10, 32, 32, 32,105, 32,
+ 61, 32,105, 43, 49, 10, 32, 32, 32,105,102, 32,115,101,108,
+ 102, 46, 97,114,103,115, 91,105, 93, 32,116,104,101,110, 10,
+ 32, 32, 32, 32,111,117,116,112,117,116, 40, 39, 44, 39, 41,
+ 10, 32, 32, 32,101,110,100, 10, 32, 32,101,110,100, 10, 10,
+ 32, 32,105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,
+ 115,101,108,102, 46,110, 97,109,101, 32, 61, 61, 32, 39,111,
+ 112,101,114, 97,116,111,114, 91, 93, 39, 32, 97,110,100, 32,
+ 102,108, 97,103,115, 91, 39, 49, 39, 93, 32,116,104,101,110,
+ 10, 9,111,117,116,112,117,116, 40, 39, 45, 49, 41, 59, 39,
+ 41, 10, 32, 32,101,108,115,101, 10, 9,105,102, 32, 99,108,
+ 97,115,115, 32, 97,110,100, 32,115,101,108,102, 46,110, 97,
+ 109,101, 61, 61, 39,110,101,119, 39, 32,116,104,101,110, 10,
+ 9, 9,111,117,116,112,117,116, 40, 39, 41, 41, 59, 39, 41,
+ 32, 45, 45, 32, 99,108,111,115,101, 32, 77,116,111,108,117,
+ 97, 95,110,101,119, 40, 10, 9,101,108,115,101, 10, 9, 9,
+ 111,117,116,112,117,116, 40, 39, 41, 59, 39, 41, 10, 9,101,
+ 110,100, 10, 32, 32,101,110,100, 10, 10, 32, 32, 45, 45, 32,
+ 114,101,116,117,114,110, 32,118, 97,108,117,101,115, 10, 32,
+ 32,105,102, 32,115,101,108,102, 46,116,121,112,101, 32,126,
+ 61, 32, 39, 39, 32, 97,110,100, 32,115,101,108,102, 46,116,
+ 121,112,101, 32,126, 61, 32, 39,118,111,105,100, 39, 32,116,
+ 104,101,110, 10, 32, 32, 32,110,114,101,116, 32, 61, 32,110,
+ 114,101,116, 32, 43, 32, 49, 10, 32, 32, 32,108,111, 99, 97,
+ 108, 32,116, 44, 99,116, 32, 61, 32,105,115, 98, 97,115,105,
+ 99, 40,115,101,108,102, 46,116,121,112,101, 41, 10, 32, 32,
+ 32,105,102, 32,116, 32, 97,110,100, 32,115,101,108,102, 46,
+ 110, 97,109,101, 32,126, 61, 32, 34,110,101,119, 34, 32,116,
+ 104,101,110, 10, 32, 32, 32, 9,105,102, 32,115,101,108,102,
+ 46, 99, 97,115,116, 95,111,112,101,114, 97,116,111,114, 32,
+ 97,110,100, 32, 95, 98, 97,115,105, 99, 95,114, 97,119, 95,
+ 112,117,115,104, 91,116, 93, 32,116,104,101,110, 10, 9, 9,
+ 111,117,116,112,117,116, 40, 39, 32, 32, 32, 39, 44, 95, 98,
+ 97,115,105, 99, 95,114, 97,119, 95,112,117,115,104, 91,116,
+ 93, 44, 39, 40,116,111,108,117, 97, 95, 83, 44, 40, 39, 44,
+ 99,116, 44, 39, 41,116,111,108,117, 97, 95,114,101,116, 41,
+ 59, 39, 41, 10, 32, 32, 32, 9,101,108,115,101, 10, 9, 32,
+ 32, 32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 32,116,
+ 111,108,117, 97, 95,112,117,115,104, 39, 46, 46,116, 46, 46,
+ 39, 40,116,111,108,117, 97, 95, 83, 44, 40, 39, 44, 99,116,
+ 44, 39, 41,116,111,108,117, 97, 95,114,101,116, 41, 59, 39,
+ 41, 10, 9,101,110,100, 10, 32, 32, 32,101,108,115,101, 10,
+ 9,116, 32, 61, 32,115,101,108,102, 46,116,121,112,101, 10,
+ 9,110,101,119, 95,116, 32, 61, 32,115,116,114,105,110,103,
+ 46,103,115,117, 98, 40,116, 44, 32, 34, 99,111,110,115,116,
+ 37,115, 43, 34, 44, 32, 34, 34, 41, 10, 9,108,111, 99, 97,
+ 108, 32,111,119,110,101,100, 32, 61, 32,102, 97,108,115,101,
+ 10, 9,105,102, 32,115,116,114,105,110,103, 46,102,105,110,
+ 100, 40,115,101,108,102, 46,109,111,100, 44, 32, 34,116,111,
+ 108,117, 97, 95,111,119,110,101,100, 34, 41, 32,116,104,101,
+ 110, 10, 9, 9,111,119,110,101,100, 32, 61, 32,116,114,117,
+ 101, 10, 9,101,110,100, 10, 32, 32, 32, 32,108,111, 99, 97,
+ 108, 32,112,117,115,104, 95,102,117,110, 99, 32, 61, 32,103,
+ 101,116, 95,112,117,115,104, 95,102,117,110, 99,116,105,111,
+ 110, 40,116, 41, 10, 32, 32, 32, 32,105,102, 32,115,101,108,
+ 102, 46,112,116,114, 32, 61, 61, 32, 39, 39, 32,116,104,101,
+ 110, 10, 32, 32, 32, 32, 32,111,117,116,112,117,116, 40, 39,
+ 32, 32, 32,123, 39, 41, 10, 32, 32, 32, 32, 32,111,117,116,
+ 112,117,116, 40, 39, 35,105,102,100,101,102, 32, 95, 95, 99,
+ 112,108,117,115,112,108,117,115, 92,110, 39, 41, 10, 32, 32,
+ 32, 32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 32, 32,
+ 118,111,105,100, 42, 32,116,111,108,117, 97, 95,111, 98,106,
+ 32, 61, 32, 77,116,111,108,117, 97, 95,110,101,119, 40, 40,
+ 39, 44,110,101,119, 95,116, 44, 39, 41, 40,116,111,108,117,
+ 97, 95,114,101,116, 41, 41, 59, 39, 41, 10, 32, 32, 32, 32,
+ 32,111,117,116,112,117,116, 40, 39, 32, 32, 32, 32, 39, 44,
+ 112,117,115,104, 95,102,117,110, 99, 44, 39, 40,116,111,108,
+ 117, 97, 95, 83, 44,116,111,108,117, 97, 95,111, 98,106, 44,
+ 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10, 32, 32, 32,
+ 32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 32, 32,116,
+ 111,108,117, 97, 95,114,101,103,105,115,116,101,114, 95,103,
+ 99, 40,116,111,108,117, 97, 95, 83, 44,108,117, 97, 95,103,
+ 101,116,116,111,112, 40,116,111,108,117, 97, 95, 83, 41, 41,
+ 59, 39, 41, 10, 32, 32, 32, 32, 32,111,117,116,112,117,116,
+ 40, 39, 35,101,108,115,101, 92,110, 39, 41, 10, 32, 32, 32,
+ 32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 32, 32,118,
+ 111,105,100, 42, 32,116,111,108,117, 97, 95,111, 98,106, 32,
+ 61, 32,116,111,108,117, 97, 95, 99,111,112,121, 40,116,111,
+ 108,117, 97, 95, 83, 44, 40,118,111,105,100, 42, 41, 38,116,
+ 111,108,117, 97, 95,114,101,116, 44,115,105,122,101,111,102,
+ 40, 39, 44,116, 44, 39, 41, 41, 59, 39, 41, 10, 32, 32, 32,
+ 32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 32, 32, 39,
+ 44,112,117,115,104, 95,102,117,110, 99, 44, 39, 40,116,111,
+ 108,117, 97, 95, 83, 44,116,111,108,117, 97, 95,111, 98,106,
+ 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10, 32, 32,
+ 32, 32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 32, 32,
+ 116,111,108,117, 97, 95,114,101,103,105,115,116,101,114, 95,
+ 103, 99, 40,116,111,108,117, 97, 95, 83, 44,108,117, 97, 95,
+ 103,101,116,116,111,112, 40,116,111,108,117, 97, 95, 83, 41,
+ 41, 59, 39, 41, 10, 32, 32, 32, 32, 32,111,117,116,112,117,
+ 116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10, 32,
+ 32, 32, 32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 32,
+ 125, 39, 41, 10, 32, 32, 32, 32,101,108,115,101,105,102, 32,
+ 115,101,108,102, 46,112,116,114, 32, 61, 61, 32, 39, 38, 39,
+ 32,116,104,101,110, 10, 32, 32, 32, 32, 32,111,117,116,112,
+ 117,116, 40, 39, 32, 32, 32, 39, 44,112,117,115,104, 95,102,
+ 117,110, 99, 44, 39, 40,116,111,108,117, 97, 95, 83, 44, 40,
+ 118,111,105,100, 42, 41, 38,116,111,108,117, 97, 95,114,101,
+ 116, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10, 32,
+ 32, 32, 32,101,108,115,101, 10, 9, 32,111,117,116,112,117,
+ 116, 40, 39, 32, 32, 32, 39, 44,112,117,115,104, 95,102,117,
+ 110, 99, 44, 39, 40,116,111,108,117, 97, 95, 83, 44, 40,118,
+ 111,105,100, 42, 41,116,111,108,117, 97, 95,114,101,116, 44,
+ 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10, 9, 32,105,
+ 102, 32,111,119,110,101,100, 32,111,114, 32,108,111, 99, 97,
+ 108, 95, 99,111,110,115,116,114,117, 99,116,111,114, 32,116,
+ 104,101,110, 10, 32, 32, 32, 32, 32, 32,111,117,116,112,117,
+ 116, 40, 39, 32, 32, 32, 32,116,111,108,117, 97, 95,114,101,
+ 103,105,115,116,101,114, 95,103, 99, 40,116,111,108,117, 97,
+ 95, 83, 44,108,117, 97, 95,103,101,116,116,111,112, 40,116,
+ 111,108,117, 97, 95, 83, 41, 41, 59, 39, 41, 10, 9, 32,101,
+ 110,100, 10, 32, 32, 32, 32,101,110,100, 10, 32, 32, 32,101,
+ 110,100, 10, 32, 32,101,110,100, 10, 32, 32,108,111, 99, 97,
+ 108, 32,105, 61, 49, 10, 32, 32,119,104,105,108,101, 32,115,
+ 101,108,102, 46, 97,114,103,115, 91,105, 93, 32,100,111, 10,
+ 32, 32, 32,110,114,101,116, 32, 61, 32,110,114,101,116, 32,
+ 43, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 58,
+ 114,101,116,118, 97,108,117,101, 40, 41, 10, 32, 32, 32,105,
+ 32, 61, 32,105, 43, 49, 10, 32, 32,101,110,100, 10, 32, 32,
+ 111,117,116,112,117,116, 40, 39, 32, 32,125, 39, 41, 10, 10,
+ 32, 32, 45, 45, 32,115,101,116, 32, 97,114,114, 97,121, 32,
+ 101,108,101,109,101,110,116, 32,118, 97,108,117,101,115, 10,
+ 32, 32,105,102, 32, 99,108, 97,115,115, 32,116,104,101,110,
+ 32,110, 97,114,103, 61, 50, 32,101,108,115,101, 32,110, 97,
+ 114,103, 61, 49, 32,101,110,100, 10, 32, 32,105,102, 32,115,
+ 101,108,102, 46, 97,114,103,115, 91, 49, 93, 46,116,121,112,
+ 101, 32,126, 61, 32, 39,118,111,105,100, 39, 32,116,104,101,
+ 110, 10, 32, 32, 32,108,111, 99, 97,108, 32,105, 61, 49, 10,
+ 32, 32, 32,119,104,105,108,101, 32,115,101,108,102, 46, 97,
+ 114,103,115, 91,105, 93, 32,100,111, 10, 32, 32, 32, 32,115,
+ 101,108,102, 46, 97,114,103,115, 91,105, 93, 58,115,101,116,
+ 97,114,114, 97,121, 40,110, 97,114,103, 41, 10, 32, 32, 32,
+ 32,110, 97,114,103, 32, 61, 32,110, 97,114,103, 43, 49, 10,
+ 32, 32, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32, 32, 32,
+ 101,110,100, 10, 32, 32,101,110,100, 10, 10, 32, 32, 45, 45,
+ 32,102,114,101,101, 32,100,121,110, 97,109,105, 99, 97,108,
+ 108,121, 32, 97,108,108,111, 99, 97,116,101,100, 32, 97,114,
+ 114, 97,121, 10, 32, 32,105,102, 32,115,101,108,102, 46, 97,
+ 114,103,115, 91, 49, 93, 46,116,121,112,101, 32,126, 61, 32,
+ 39,118,111,105,100, 39, 32,116,104,101,110, 10, 32, 32, 32,
+ 108,111, 99, 97,108, 32,105, 61, 49, 10, 32, 32, 32,119,104,
+ 105,108,101, 32,115,101,108,102, 46, 97,114,103,115, 91,105,
+ 93, 32,100,111, 10, 32, 32, 32, 32,115,101,108,102, 46, 97,
+ 114,103,115, 91,105, 93, 58,102,114,101,101, 97,114,114, 97,
+ 121, 40, 41, 10, 32, 32, 32, 32,105, 32, 61, 32,105, 43, 49,
+ 10, 32, 32, 32,101,110,100, 10, 32, 32,101,110,100, 10, 32,
+ 101,110,100, 10, 10, 32,112,111,115,116, 95, 99, 97,108,108,
+ 95,104,111,111,107, 40,115,101,108,102, 41, 10, 10, 32,111,
+ 117,116,112,117,116, 40, 39, 32,125, 39, 41, 10, 32,111,117,
+ 116,112,117,116, 40, 39, 32,114,101,116,117,114,110, 32, 39,
+ 46, 46,110,114,101,116, 46, 46, 39, 59, 39, 41, 10, 10, 32,
+ 45, 45, 32, 99, 97,108,108, 32,111,118,101,114,108,111, 97,
+ 100,101,100, 32,102,117,110, 99,116,105,111,110, 32,111,114,
+ 32,103,101,110,101,114, 97,116,101, 32,101,114,114,111,114,
+ 10, 9,105,102, 32,111,118,101,114,108,111, 97,100, 32, 60,
+ 32, 48, 32,116,104,101,110, 10, 10, 9, 9,111,117,116,112,
+ 117,116, 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76,
+ 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,
+ 9, 9,111,117,116,112,117,116, 40, 39,116,111,108,117, 97,
+ 95,108,101,114,114,111,114, 58, 92,110, 39, 41, 10, 9, 9,
+ 111,117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,
+ 101,114,114,111,114, 40,116,111,108,117, 97, 95, 83, 44, 34,
+ 39, 46, 46,111,117,116,112,117,116, 95,101,114,114,111,114,
+ 95,104,111,111,107, 40, 34, 35,102,101,114,114,111,114, 32,
+ 105,110, 32,102,117,110, 99,116,105,111,110, 32, 92, 39, 37,
+ 115, 92, 39, 46, 34, 44, 32,115,101,108,102, 46,108,110, 97,
+ 109,101, 41, 46, 46, 39, 34, 44, 38,116,111,108,117, 97, 95,
+ 101,114,114, 41, 59, 39, 41, 10, 9, 9,111,117,116,112,117,
+ 116, 40, 39, 32,114,101,116,117,114,110, 32, 48, 59, 39, 41,
+ 10, 9, 9,111,117,116,112,117,116, 40, 39, 35,101,110,100,
+ 105,102, 92,110, 39, 41, 10, 9,101,108,115,101, 10, 9, 9,
+ 108,111, 99, 97,108, 32, 95,108,111, 99, 97,108, 32, 61, 32,
+ 34, 34, 10, 9, 9,105,102, 32,108,111, 99, 97,108, 95, 99,
+ 111,110,115,116,114,117, 99,116,111,114, 32,116,104,101,110,
+ 10, 9, 9, 9, 95,108,111, 99, 97,108, 32, 61, 32, 34, 95,
+ 108,111, 99, 97,108, 34, 10, 9, 9,101,110,100, 10, 9, 9,
+ 111,117,116,112,117,116, 40, 39,116,111,108,117, 97, 95,108,
+ 101,114,114,111,114, 58, 92,110, 39, 41, 10, 9, 9,111,117,
+ 116,112,117,116, 40, 39, 32,114,101,116,117,114,110, 32, 39,
+ 46, 46,115,116,114,115,117, 98, 40,115,101,108,102, 46, 99,
+ 110, 97,109,101, 44, 49, 44, 45, 51, 41, 46, 46,102,111,114,
+ 109, 97,116, 40, 34, 37, 48, 50,100, 34, 44,111,118,101,114,
+ 108,111, 97,100, 41, 46, 46, 95,108,111, 99, 97,108, 46, 46,
+ 39, 40,116,111,108,117, 97, 95, 83, 41, 59, 39, 41, 10, 9,
+ 101,110,100, 10, 32,111,117,116,112,117,116, 40, 39,125, 39,
+ 41, 10, 32,111,117,116,112,117,116, 40, 39, 35,101,110,100,
+ 105,102, 32, 47, 47, 35,105,102,110,100,101,102, 32, 84, 79,
+ 76, 85, 65, 95, 68, 73, 83, 65, 66, 76, 69, 92,110, 39, 41,
+ 10, 32,111,117,116,112,117,116, 40, 39, 92,110, 39, 41, 10,
+ 10, 9, 45, 45, 32,114,101, 99,117,114,115,105,118,101, 32,
+ 99, 97,108,108, 32,116,111, 32,119,114,105,116,101, 32,108,
+ 111, 99, 97,108, 32, 99,111,110,115,116,114,117, 99,116,111,
+ 114, 10, 9,105,102, 32, 99,108, 97,115,115, 32, 97,110,100,
+ 32,115,101,108,102, 46,110, 97,109,101, 61, 61, 39,110,101,
+ 119, 39, 32, 97,110,100, 32,110,111,116, 32,108,111, 99, 97,
+ 108, 95, 99,111,110,115,116,114,117, 99,116,111,114, 32,116,
+ 104,101,110, 10, 10, 9, 9,115,101,108,102, 58,115,117,112,
+ 99,111,100,101, 40, 49, 41, 10, 9,101,110,100, 10, 10,101,
+ 110,100, 10, 10, 10, 45, 45, 32,114,101,103,105,115,116,101,
+ 114, 32,102,117,110, 99,116,105,111,110, 10,102,117,110, 99,
+ 116,105,111,110, 32, 99,108, 97,115,115, 70,117,110, 99,116,
+ 105,111,110, 58,114,101,103,105,115,116,101,114, 32, 40,112,
+ 114,101, 41, 10, 10, 9,105,102, 32,110,111,116, 32,115,101,
+ 108,102, 58, 99,104,101, 99,107, 95,112,117, 98,108,105, 99,
+ 95, 97, 99, 99,101,115,115, 40, 41, 32,116,104,101,110, 10,
+ 9, 9,114,101,116,117,114,110, 10, 9,101,110,100, 10, 10,
+ 32, 9,105,102, 32,115,101,108,102, 46,110, 97,109,101, 32,
+ 61, 61, 32, 39,110,101,119, 39, 32, 97,110,100, 32,115,101,
+ 108,102, 46,112, 97,114,101,110,116, 46,102,108, 97,103,115,
+ 46,112,117,114,101, 95,118,105,114,116,117, 97,108, 32,116,
+ 104,101,110, 10, 32, 9, 9, 45, 45, 32,110,111, 32, 99,111,
+ 110,115,116,114,117, 99,116,111,114, 32,102,111,114, 32, 99,
+ 108, 97,115,115,101,115, 32,119,105,116,104, 32,112,117,114,
+ 101, 32,118,105,114,116,117, 97,108, 32,109,101,116,104,111,
+ 100,115, 10, 32, 9, 9,114,101,116,117,114,110, 10, 32, 9,
+ 101,110,100, 10, 10, 32,111,117,116,112,117,116, 40,112,114,
+ 101, 46, 46, 39,116,111,108,117, 97, 95,102,117,110, 99,116,
+ 105,111,110, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46,
+ 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46, 39, 34,
+ 44, 39, 46, 46,115,101,108,102, 46, 99,110, 97,109,101, 46,
+ 46, 39, 41, 59, 39, 41, 10, 32, 32,105,102, 32,115,101,108,
+ 102, 46,110, 97,109,101, 32, 61, 61, 32, 39,110,101,119, 39,
+ 32,116,104,101,110, 10, 9, 32, 32,111,117,116,112,117,116,
+ 40,112,114,101, 46, 46, 39,116,111,108,117, 97, 95,102,117,
+ 110, 99,116,105,111,110, 40,116,111,108,117, 97, 95, 83, 44,
+ 34,110,101,119, 95,108,111, 99, 97,108, 34, 44, 39, 46, 46,
+ 115,101,108,102, 46, 99,110, 97,109,101, 46, 46, 39, 95,108,
+ 111, 99, 97,108, 41, 59, 39, 41, 10, 9, 32, 32,111,117,116,
+ 112,117,116, 40,112,114,101, 46, 46, 39,116,111,108,117, 97,
+ 95,102,117,110, 99,116,105,111,110, 40,116,111,108,117, 97,
+ 95, 83, 44, 34, 46, 99, 97,108,108, 34, 44, 39, 46, 46,115,
+ 101,108,102, 46, 99,110, 97,109,101, 46, 46, 39, 95,108,111,
+ 99, 97,108, 41, 59, 39, 41, 10, 9, 32, 32, 45, 45,111,117,
+ 116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,115,101,
+ 116, 95, 99, 97,108,108, 95,101,118,101,110,116, 40,116,111,
+ 108,117, 97, 95, 83, 44, 39, 46, 46,115,101,108,102, 46, 99,
+ 110, 97,109,101, 46, 46, 39, 95,108,111, 99, 97,108, 44, 32,
+ 34, 39, 46, 46,115,101,108,102, 46,112, 97,114,101,110,116,
+ 46,116,121,112,101, 46, 46, 39, 34, 41, 59, 39, 41, 10, 32,
+ 32,101,110,100, 10,101,110,100, 10, 10, 45, 45, 32, 80,114,
+ 105,110,116, 32,109,101,116,104,111,100, 10,102,117,110, 99,
+ 116,105,111,110, 32, 99,108, 97,115,115, 70,117,110, 99,116,
+ 105,111,110, 58,112,114,105,110,116, 32, 40,105,100,101,110,
+ 116, 44, 99,108,111,115,101, 41, 10, 32,112,114,105,110,116,
+ 40,105,100,101,110,116, 46, 46, 34, 70,117,110, 99,116,105,
+ 111,110,123, 34, 41, 10, 32,112,114,105,110,116, 40,105,100,
+ 101,110,116, 46, 46, 34, 32,109,111,100, 32, 32, 61, 32, 39,
+ 34, 46, 46,115,101,108,102, 46,109,111,100, 46, 46, 34, 39,
+ 44, 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,
+ 116, 46, 46, 34, 32,116,121,112,101, 32, 61, 32, 39, 34, 46,
+ 46,115,101,108,102, 46,116,121,112,101, 46, 46, 34, 39, 44,
+ 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,116,
+ 46, 46, 34, 32,112,116,114, 32, 32, 61, 32, 39, 34, 46, 46,
+ 115,101,108,102, 46,112,116,114, 46, 46, 34, 39, 44, 34, 41,
+ 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46,
+ 34, 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,
+ 108,102, 46,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10,
+ 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,
+ 32,108,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,
+ 108,102, 46,108,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41,
+ 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46,
+ 34, 32, 99,111,110,115,116, 32, 61, 32, 39, 34, 46, 46,115,
+ 101,108,102, 46, 99,111,110,115,116, 46, 46, 34, 39, 44, 34,
+ 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46,
+ 46, 34, 32, 99,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,
+ 115,101,108,102, 46, 99,110, 97,109,101, 46, 46, 34, 39, 44,
+ 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,116,
+ 46, 46, 34, 32,108,110, 97,109,101, 32, 61, 32, 39, 34, 46,
+ 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46, 34, 39,
+ 44, 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,
+ 116, 46, 46, 34, 32, 97,114,103,115, 32, 61, 32,123, 34, 41,
+ 10, 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32,119,104,
+ 105,108,101, 32,115,101,108,102, 46, 97,114,103,115, 91,105,
+ 93, 32,100,111, 10, 32, 32,115,101,108,102, 46, 97,114,103,
+ 115, 91,105, 93, 58,112,114,105,110,116, 40,105,100,101,110,
+ 116, 46, 46, 34, 32, 32, 34, 44, 34, 44, 34, 41, 10, 32, 32,
+ 105, 32, 61, 32,105, 43, 49, 10, 32,101,110,100, 10, 32,112,
+ 114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,125,
+ 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,116,
+ 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,
+ 110,100, 10, 10, 45, 45, 32, 99,104,101, 99,107, 32,105,102,
+ 32,105,116, 32,114,101,116,117,114,110,115, 32, 97,110, 32,
+ 111, 98,106,101, 99,116, 32, 98,121, 32,118, 97,108,117,101,
+ 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115,
+ 70,117,110, 99,116,105,111,110, 58,114,101,113,117,105,114,
+ 101, 99,111,108,108,101, 99,116,105,111,110, 32, 40,116, 41,
+ 10, 9,108,111, 99, 97,108, 32,114, 32, 61, 32,102, 97,108,
+ 115,101, 10, 9,105,102, 32,115,101,108,102, 46,116,121,112,
+ 101, 32,126, 61, 32, 39, 39, 32, 97,110,100, 32,110,111,116,
+ 32,105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46,116,
+ 121,112,101, 41, 32, 97,110,100, 32,115,101,108,102, 46,112,
+ 116,114, 61, 61, 39, 39, 32,116,104,101,110, 10, 9, 9,108,
+ 111, 99, 97,108, 32,116,121,112,101, 32, 61, 32,103,115,117,
+ 98, 40,115,101,108,102, 46,116,121,112,101, 44, 34, 37,115,
+ 42, 99,111,110,115,116, 37,115, 43, 34, 44, 34, 34, 41, 10,
+ 9, 32,116, 91,116,121,112,101, 93, 32, 61, 32, 34,116,111,
+ 108,117, 97, 95, 99,111,108,108,101, 99,116, 95, 34, 32, 46,
+ 46, 32, 99,108,101, 97,110, 95,116,101,109,112,108, 97,116,
+ 101, 40,116,121,112,101, 41, 10, 9, 32,114, 32, 61, 32,116,
+ 114,117,101, 10, 9,101,110,100, 10, 9,108,111, 99, 97,108,
+ 32,105, 61, 49, 10, 9,119,104,105,108,101, 32,115,101,108,
+ 102, 46, 97,114,103,115, 91,105, 93, 32,100,111, 10, 9, 9,
+ 114, 32, 61, 32,115,101,108,102, 46, 97,114,103,115, 91,105,
+ 93, 58,114,101,113,117,105,114,101, 99,111,108,108,101, 99,
+ 116,105,111,110, 40,116, 41, 32,111,114, 32,114, 10, 9, 9,
+ 105, 32, 61, 32,105, 43, 49, 10, 9,101,110,100, 10, 9,114,
+ 101,116,117,114,110, 32,114, 10,101,110,100, 10, 10, 45, 45,
+ 32,100,101,116,101,114,109,105,110,101, 32,108,117, 97, 32,
+ 102,117,110, 99,116,105,111,110, 32,110, 97,109,101, 32,111,
+ 118,101,114,108,111, 97,100, 10,102,117,110, 99,116,105,111,
+ 110, 32, 99,108, 97,115,115, 70,117,110, 99,116,105,111,110,
+ 58,111,118,101,114,108,111, 97,100, 32, 40, 41, 10, 32,114,
+ 101,116,117,114,110, 32,115,101,108,102, 46,112, 97,114,101,
+ 110,116, 58,111,118,101,114,108,111, 97,100, 40,115,101,108,
+ 102, 46,108,110, 97,109,101, 41, 10,101,110,100, 10, 10, 10,
+ 102,117,110, 99,116,105,111,110, 32,112, 97,114, 97,109, 95,
+ 111, 98,106,101, 99,116, 40,112, 97,114, 41, 32, 45, 45, 32,
+ 114,101,116,117,114,110,115, 32,116,114,117,101, 32,105,102,
+ 32,116,104,101, 32,112, 97,114, 97,109,101,116,101,114, 32,
+ 104, 97,115, 32, 97,110, 32,111, 98,106,101, 99,116, 32, 97,
+ 115, 32,105,116,115, 32,100,101,102, 97,117,108,116, 32,118,
+ 97,108,117,101, 10, 10, 9,105,102, 32,110,111,116, 32,115,
+ 116,114,105,110,103, 46,102,105,110,100, 40,112, 97,114, 44,
+ 32, 39, 61, 39, 41, 32,116,104,101,110, 32,114,101,116,117,
+ 114,110, 32,102, 97,108,115,101, 32,101,110,100, 32, 45, 45,
+ 32,105,116, 32,104, 97,115, 32,110,111, 32,100,101,102, 97,
+ 117,108,116, 32,118, 97,108,117,101, 10, 10, 9,108,111, 99,
+ 97,108, 32, 95, 44, 95, 44,100,101,102, 32, 61, 32,115,116,
+ 114,105,110,103, 46,102,105,110,100, 40,112, 97,114, 44, 32,
+ 34, 61, 40, 46, 42, 41, 36, 34, 41, 10, 10, 9,105,102, 32,
+ 115,116,114,105,110,103, 46,102,105,110,100, 40,112, 97,114,
+ 44, 32, 34,124, 34, 41, 32,116,104,101,110, 32, 45, 45, 32,
+ 97, 32,108,105,115,116, 32,111,102, 32,102,108, 97,103,115,
+ 10, 10, 9, 9,114,101,116,117,114,110, 32,116,114,117,101,
+ 10, 9,101,110,100, 10, 10, 9,105,102, 32,115,116,114,105,
+ 110,103, 46,102,105,110,100, 40,112, 97,114, 44, 32, 34, 37,
+ 42, 34, 41, 32,116,104,101,110, 32, 45, 45, 32,105,116, 39,
+ 115, 32, 97, 32,112,111,105,110,116,101,114, 32,119,105,116,
+ 104, 32, 97, 32,100,101,102, 97,117,108,116, 32,118, 97,108,
+ 117,101, 10, 10, 9, 9,105,102, 32,115,116,114,105,110,103,
+ 46,102,105,110,100, 40,112, 97,114, 44, 32, 39, 61, 37,115,
+ 42,110,101,119, 39, 41, 32,111,114, 32,115,116,114,105,110,
+ 103, 46,102,105,110,100, 40,112, 97,114, 44, 32, 34, 37, 40,
+ 34, 41, 32,116,104,101,110, 32, 45, 45, 32,105,116, 39,115,
+ 32, 97, 32,112,111,105,110,116,101,114, 32,119,105,116,104,
+ 32, 97,110, 32,105,110,115,116, 97,110, 99,101, 32, 97,115,
+ 32,100,101,102, 97,117,108,116, 32,112, 97,114, 97,109,101,
+ 116,101,114, 46, 46, 32,105,115, 32,116,104, 97,116, 32,118,
+ 97,108,105,100, 63, 10, 9, 9, 9,114,101,116,117,114,110,
+ 32,116,114,117,101, 10, 9, 9,101,110,100, 10, 9, 9,114,
+ 101,116,117,114,110, 32,102, 97,108,115,101, 32, 45, 45, 32,
+ 100,101,102, 97,117,108,116, 32,118, 97,108,117,101, 32,105,
+ 115, 32, 39, 78, 85, 76, 76, 39, 32,111,114, 32,115,111,109,
+ 101,116,104,105,110,103, 10, 9,101,110,100, 10, 10, 10, 9,
+ 105,102, 32,115,116,114,105,110,103, 46,102,105,110,100, 40,
+ 112, 97,114, 44, 32, 34, 91, 37, 40, 38, 93, 34, 41, 32,116,
+ 104,101,110, 10, 9, 9,114,101,116,117,114,110, 32,116,114,
+ 117,101, 10, 9,101,110,100, 32, 45, 45, 32,100,101,102, 97,
+ 117,108,116, 32,118, 97,108,117,101, 32,105,115, 32, 97, 32,
+ 99,111,110,115,116,114,117, 99,116,111,114, 32, 99, 97,108,
+ 108, 32, 40,109,111,115,116, 32,108,105,107,101,108,121, 32,
+ 102,111,114, 32, 97, 32, 99,111,110,115,116, 32,114,101,102,
+ 101,114,101,110, 99,101, 41, 10, 10, 9, 45, 45,105,102, 32,
+ 115,116,114,105,110,103, 46,102,105,110,100, 40,112, 97,114,
+ 44, 32, 34, 38, 34, 41, 32,116,104,101,110, 10, 10, 9, 45,
+ 45, 9,105,102, 32,115,116,114,105,110,103, 46,102,105,110,
+ 100, 40,100,101,102, 44, 32, 34, 58, 34, 41, 32,111,114, 32,
+ 115,116,114,105,110,103, 46,102,105,110,100, 40,100,101,102,
+ 44, 32, 34, 94, 37,115, 42,110,101,119, 37,115, 43, 34, 41,
+ 32,116,104,101,110, 10, 10, 9, 45, 45, 9, 9, 45, 45, 32,
+ 105,116, 39,115, 32, 97, 32,114,101,102,101,114,101,110, 99,
+ 101, 32,119,105,116,104, 32,100,101,102, 97,117,108,116, 32,
+ 116,111, 32,115,111,109,101,116,104,105,110,103, 32,108,105,
+ 107,101, 32, 67,108, 97,115,115, 58, 58,109,101,109, 98,101,
+ 114, 44, 32,111,114, 32, 39,110,101,119, 32, 67,108, 97,115,
+ 115, 39, 10, 9, 45, 45, 9, 9,114,101,116,117,114,110, 32,
+ 116,114,117,101, 10, 9, 45, 45, 9,101,110,100, 10, 9, 45,
+ 45,101,110,100, 10, 10, 9,114,101,116,117,114,110, 32,102,
+ 97,108,115,101, 32, 45, 45, 32, 63, 10,101,110,100, 10, 10,
+ 102,117,110, 99,116,105,111,110, 32,115,116,114,105,112, 95,
+ 108, 97,115,116, 95, 97,114,103, 40, 97,108,108, 95, 97,114,
+ 103,115, 44, 32,108, 97,115,116, 95, 97,114,103, 41, 32, 45,
+ 45, 32,115,116,114,105,112,115, 32,116,104,101, 32,100,101,
+ 102, 97,117,108,116, 32,118, 97,108,117,101, 32,102,114,111,
+ 109, 32,116,104,101, 32,108, 97,115,116, 32, 97,114,103,117,
+ 109,101,110,116, 10, 10, 9,108,111, 99, 97,108, 32, 95, 44,
+ 95, 44,115, 95, 97,114,103, 32, 61, 32,115,116,114,105,110,
+ 103, 46,102,105,110,100, 40,108, 97,115,116, 95, 97,114,103,
+ 44, 32, 34, 94, 40, 91, 94, 61, 93, 43, 41, 34, 41, 10, 9,
+ 108, 97,115,116, 95, 97,114,103, 32, 61, 32,115,116,114,105,
+ 110,103, 46,103,115,117, 98, 40,108, 97,115,116, 95, 97,114,
+ 103, 44, 32, 34, 40, 91, 37, 37, 37, 40, 37, 41, 93, 41, 34,
+ 44, 32, 34, 37, 37, 37, 49, 34, 41, 59, 10, 9, 97,108,108,
+ 95, 97,114,103,115, 32, 61, 32,115,116,114,105,110,103, 46,
+ 103,115,117, 98, 40, 97,108,108, 95, 97,114,103,115, 44, 32,
+ 34, 37,115, 42, 44, 37,115, 42, 34, 46, 46,108, 97,115,116,
+ 95, 97,114,103, 46, 46, 34, 37,115, 42, 37, 41, 37,115, 42,
+ 36, 34, 44, 32, 34, 41, 34, 41, 10, 9,114,101,116,117,114,
+ 110, 32, 97,108,108, 95, 97,114,103,115, 44, 32,115, 95, 97,
+ 114,103, 10,101,110,100, 10, 10, 10, 10, 45, 45, 32, 73,110,
+ 116,101,114,110, 97,108, 32, 99,111,110,115,116,114,117, 99,
+ 116,111,114, 10,102,117,110, 99,116,105,111,110, 32, 95, 70,
+ 117,110, 99,116,105,111,110, 32, 40,116, 41, 10, 32,115,101,
+ 116,109,101,116, 97,116, 97, 98,108,101, 40,116, 44, 99,108,
+ 97,115,115, 70,117,110, 99,116,105,111,110, 41, 10, 10, 32,
+ 105,102, 32,116, 46, 99,111,110,115,116, 32,126, 61, 32, 39,
+ 99,111,110,115,116, 39, 32, 97,110,100, 32,116, 46, 99,111,
+ 110,115,116, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10,
+ 32, 32,101,114,114,111,114, 40, 34, 35,105,110,118, 97,108,
+ 105,100, 32, 39, 99,111,110,115,116, 39, 32,115,112,101, 99,
+ 105,102,105, 99, 97,116,105,111,110, 34, 41, 10, 32,101,110,
+ 100, 10, 10, 32, 97,112,112,101,110,100, 40,116, 41, 10, 32,
+ 105,102, 32,116, 58,105,110, 99,108, 97,115,115, 40, 41, 32,
+ 116,104,101,110, 10, 32, 45, 45,112,114,105,110,116, 32, 40,
+ 39,116, 46,110, 97,109,101, 32,105,115, 32, 39, 46, 46,116,
+ 46,110, 97,109,101, 46, 46, 39, 44, 32,112, 97,114,101,110,
+ 116, 46,110, 97,109,101, 32,105,115, 32, 39, 46, 46,116, 46,
+ 112, 97,114,101,110,116, 46,110, 97,109,101, 41, 10, 32, 32,
+ 105,102, 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,
+ 116, 46,110, 97,109,101, 44, 32, 34, 37, 98, 60, 62, 34, 44,
+ 32, 34, 34, 41, 32, 61, 61, 32,115,116,114,105,110,103, 46,
+ 103,115,117, 98, 40,116, 46,112, 97,114,101,110,116, 46,111,
+ 114,105,103,105,110, 97,108, 95,110, 97,109,101, 32,111,114,
+ 32,116, 46,112, 97,114,101,110,116, 46,110, 97,109,101, 44,
+ 32, 34, 37, 98, 60, 62, 34, 44, 32, 34, 34, 41, 32,116,104,
+ 101,110, 10, 32, 32, 32,116, 46,110, 97,109,101, 32, 61, 32,
+ 39,110,101,119, 39, 10, 32, 32, 32,116, 46,108,110, 97,109,
+ 101, 32, 61, 32, 39,110,101,119, 39, 10, 32, 32, 32,116, 46,
+ 112, 97,114,101,110,116, 46, 95,110,101,119, 32, 61, 32,116,
+ 114,117,101, 10, 32, 32, 32,116, 46,116,121,112,101, 32, 61,
+ 32,116, 46,112, 97,114,101,110,116, 46,110, 97,109,101, 10,
+ 32, 32, 32,116, 46,112,116,114, 32, 61, 32, 39, 42, 39, 10,
+ 32, 32,101,108,115,101,105,102, 32,115,116,114,105,110,103,
+ 46,103,115,117, 98, 40,116, 46,110, 97,109,101, 44, 32, 34,
+ 37, 98, 60, 62, 34, 44, 32, 34, 34, 41, 32, 61, 61, 32, 39,
+ 126, 39, 46, 46,115,116,114,105,110,103, 46,103,115,117, 98,
+ 40,116, 46,112, 97,114,101,110,116, 46,111,114,105,103,105,
+ 110, 97,108, 95,110, 97,109,101, 32,111,114, 32,116, 46,112,
+ 97,114,101,110,116, 46,110, 97,109,101, 44, 32, 34, 37, 98,
+ 60, 62, 34, 44, 32, 34, 34, 41, 32,116,104,101,110, 10, 32,
+ 32, 32,116, 46,110, 97,109,101, 32, 61, 32, 39,100,101,108,
+ 101,116,101, 39, 10, 32, 32, 32,116, 46,108,110, 97,109,101,
+ 32, 61, 32, 39,100,101,108,101,116,101, 39, 10, 32, 32, 32,
+ 116, 46,112, 97,114,101,110,116, 46, 95,100,101,108,101,116,
+ 101, 32, 61, 32,116,114,117,101, 10, 32, 32,101,110,100, 10,
+ 32,101,110,100, 10, 32,116, 46, 99,110, 97,109,101, 32, 61,
+ 32,116, 58, 99,102,117,110, 99,110, 97,109,101, 40, 34,116,
+ 111,108,117, 97, 34, 41, 46, 46,116, 58,111,118,101,114,108,
+ 111, 97,100, 40,116, 41, 10, 32,114,101,116,117,114,110, 32,
+ 116, 10,101,110,100, 10, 10, 45, 45, 32, 67,111,110,115,116,
+ 114,117, 99,116,111,114, 10, 45, 45, 32, 69,120,112,101, 99,
+ 116,115, 32,116,104,114,101,101, 32,115,116,114,105,110,103,
+ 115, 58, 32,111,110,101, 32,114,101,112,114,101,115,101,110,
+ 116,105,110,103, 32,116,104,101, 32,102,117,110, 99,116,105,
+ 111,110, 32,100,101, 99,108, 97,114, 97,116,105,111,110, 44,
+ 10, 45, 45, 32, 97,110,111,116,104,101,114, 32,114,101,112,
+ 114,101,115,101,110,116,105,110,103, 32,116,104,101, 32, 97,
+ 114,103,117,109,101,110,116, 32,108,105,115,116, 44, 32, 97,
+ 110,100, 32,116,104,101, 32,116,104,105,114,100, 32,114,101,
+ 112,114,101,115,101,110,116,105,110,103, 10, 45, 45, 32,116,
+ 104,101, 32, 34, 99,111,110,115,116, 34, 32,111,114, 32,101,
+ 109,112,116,121, 32,115,116,114,105,110,103, 46, 10,102,117,
+ 110, 99,116,105,111,110, 32, 70,117,110, 99,116,105,111,110,
+ 32, 40,100, 44, 97, 44, 99, 41, 10, 32, 45, 45,108,111, 99,
+ 97,108, 32,116, 32, 61, 32,115,112,108,105,116, 40,115,116,
+ 114,115,117, 98, 40, 97, 44, 50, 44, 45, 50, 41, 44, 39, 44,
+ 39, 41, 32, 45, 45, 32,101,108,105,109,105,110, 97,116,101,
+ 32, 98,114, 97, 99,101,115, 10, 32, 45, 45,108,111, 99, 97,
+ 108, 32,116, 32, 61, 32,115,112,108,105,116, 95,112, 97,114,
+ 97,109,115, 40,115,116,114,115,117, 98, 40, 97, 44, 50, 44,
+ 45, 50, 41, 41, 10, 10, 9,105,102, 32,110,111,116, 32,102,
+ 108, 97,103,115, 91, 39, 87, 39, 93, 32, 97,110,100, 32,115,
+ 116,114,105,110,103, 46,102,105,110,100, 40, 97, 44, 32, 34,
+ 37, 46, 37, 46, 37, 46, 37,115, 42, 37, 41, 34, 41, 32,116,
+ 104,101,110, 10, 10, 9, 9,119, 97,114,110,105,110,103, 40,
+ 34, 70,117,110, 99,116,105,111,110,115, 32,119,105,116,104,
+ 32,118, 97,114,105, 97, 98,108,101, 32, 97,114,103,117,109,
+ 101,110,116,115, 32, 40, 96, 46, 46, 46, 39, 41, 32, 97,114,
+ 101, 32,110,111,116, 32,115,117,112,112,111,114,116,101,100,
+ 46, 32, 73,103,110,111,114,105,110,103, 32, 34, 46, 46,100,
+ 46, 46, 97, 46, 46, 99, 41, 10, 9, 9,114,101,116,117,114,
+ 110, 32,110,105,108, 10, 9,101,110,100, 10, 10, 10, 32,108,
+ 111, 99, 97,108, 32,105, 61, 49, 10, 32,108,111, 99, 97,108,
+ 32,108, 32, 61, 32,123,110, 61, 48,125, 10, 10, 32, 9, 97,
+ 32, 61, 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,
+ 97, 44, 32, 34, 37,115, 42, 40, 91, 37, 40, 37, 41, 93, 41,
+ 37,115, 42, 34, 44, 32, 34, 37, 49, 34, 41, 10, 9,108,111,
+ 99, 97,108, 32,116, 44,115,116,114,105,112, 44,108, 97,115,
+ 116, 32, 61, 32,115,116,114,105,112, 95,112, 97,114,115, 40,
+ 115,116,114,115,117, 98, 40, 97, 44, 50, 44, 45, 50, 41, 41,
+ 59, 10, 9,105,102, 32,115,116,114,105,112, 32,116,104,101,
+ 110, 10, 9, 9, 45, 45,108,111, 99, 97,108, 32,110,115, 32,
+ 61, 32,115,116,114,105,110,103, 46,115,117, 98, 40,115,116,
+ 114,115,117, 98, 40, 97, 44, 49, 44, 45, 50, 41, 44, 32, 49,
+ 44, 32, 45, 40,115,116,114,105,110,103, 46,108,101,110, 40,
+ 108, 97,115,116, 41, 43, 49, 41, 41, 10, 9, 9,108,111, 99,
+ 97,108, 32,110,115, 32, 61, 32,106,111,105,110, 40,116, 44,
+ 32, 34, 44, 34, 44, 32, 49, 44, 32,108, 97,115,116, 45, 49,
+ 41, 10, 10, 9, 9,110,115, 32, 61, 32, 34, 40, 34, 46, 46,
+ 115,116,114,105,110,103, 46,103,115,117, 98, 40,110,115, 44,
+ 32, 34, 37,115, 42, 44, 37,115, 42, 36, 34, 44, 32, 34, 34,
+ 41, 46, 46, 39, 41, 39, 10, 9, 9, 45, 45,110,115, 32, 61,
+ 32,115,116,114,105,112, 95,100,101,102, 97,117,108,116,115,
+ 40,110,115, 41, 10, 10, 9, 9,108,111, 99, 97,108, 32,102,
+ 32, 61, 32, 70,117,110, 99,116,105,111,110, 40,100, 44, 32,
+ 110,115, 44, 32, 99, 41, 10, 9, 9,102,111,114, 32,105, 61,
+ 49, 44,108, 97,115,116, 32,100,111, 10, 9, 9, 9,116, 91,
+ 105, 93, 32, 61, 32,115,116,114,105,110,103, 46,103,115,117,
+ 98, 40,116, 91,105, 93, 44, 32, 34, 61, 46, 42, 36, 34, 44,
+ 32, 34, 34, 41, 10, 9, 9,101,110,100, 10, 9,101,110,100,
+ 10, 10, 32,119,104,105,108,101, 32,116, 91,105, 93, 32,100,
+ 111, 10, 32, 32,108, 46,110, 32, 61, 32,108, 46,110, 43, 49,
+ 10, 32, 32,108, 91,108, 46,110, 93, 32, 61, 32, 68,101, 99,
+ 108, 97,114, 97,116,105,111,110, 40,116, 91,105, 93, 44, 39,
+ 118, 97,114, 39, 44,116,114,117,101, 41, 10, 32, 32,105, 32,
+ 61, 32,105, 43, 49, 10, 32,101,110,100, 10, 32,108,111, 99,
+ 97,108, 32,102, 32, 61, 32, 68,101, 99,108, 97,114, 97,116,
+ 105,111,110, 40,100, 44, 39,102,117,110, 99, 39, 41, 10, 32,
+ 102, 46, 97,114,103,115, 32, 61, 32,108, 10, 32,102, 46, 99,
+ 111,110,115,116, 32, 61, 32, 99, 10, 32,114,101,116,117,114,
+ 110, 32, 95, 70,117,110, 99,116,105,111,110, 40,102, 41, 10,
+ 101,110,100, 10, 10,102,117,110, 99,116,105,111,110, 32,106,
+ 111,105,110, 40,116, 44, 32,115,101,112, 44, 32,102,105,114,
+ 115,116, 44, 32,108, 97,115,116, 41, 10, 10, 9,102,105,114,
+ 115,116, 32, 61, 32,102,105,114,115,116, 32,111,114, 32, 49,
+ 10, 9,108, 97,115,116, 32, 61, 32,108, 97,115,116, 32,111,
+ 114, 32,116, 97, 98,108,101, 46,103,101,116,110, 40,116, 41,
+ 10, 9,108,111, 99, 97,108, 32,108,115,101,112, 32, 61, 32,
+ 34, 34, 10, 9,108,111, 99, 97,108, 32,114,101,116, 32, 61,
+ 32, 34, 34, 10, 9,108,111, 99, 97,108, 32,108,111,111,112,
+ 32, 61, 32,102, 97,108,115,101, 10, 9,102,111,114, 32,105,
+ 32, 61, 32,102,105,114,115,116, 44,108, 97,115,116, 32,100,
+ 111, 10, 10, 9, 9,114,101,116, 32, 61, 32,114,101,116, 46,
+ 46,108,115,101,112, 46, 46,116, 91,105, 93, 10, 9, 9,108,
+ 115,101,112, 32, 61, 32,115,101,112, 10, 9, 9,108,111,111,
+ 112, 32, 61, 32,116,114,117,101, 10, 9,101,110,100, 10, 9,
+ 105,102, 32,110,111,116, 32,108,111,111,112, 32,116,104,101,
+ 110, 10, 9, 9,114,101,116,117,114,110, 32, 34, 34, 10, 9,
+ 101,110,100, 10, 10, 9,114,101,116,117,114,110, 32,114,101,
+ 116, 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,110,
+ 32,115,116,114,105,112, 95,112, 97,114,115, 40,115, 41, 10,
+ 10, 9,108,111, 99, 97,108, 32,116, 32, 61, 32,115,112,108,
+ 105,116, 95, 99, 95,116,111,107,101,110,115, 40,115, 44, 32,
+ 39, 44, 39, 41, 10, 9,108,111, 99, 97,108, 32,115,116,114,
+ 105,112, 32, 61, 32,102, 97,108,115,101, 10, 9,108,111, 99,
+ 97,108, 32,108, 97,115,116, 10, 10, 9,102,111,114, 32,105,
+ 61,116, 46,110, 44, 49, 44, 45, 49, 32,100,111, 10, 10, 9,
+ 9,105,102, 32,110,111,116, 32,115,116,114,105,112, 32, 97,
+ 110,100, 32,112, 97,114, 97,109, 95,111, 98,106,101, 99,116,
+ 40,116, 91,105, 93, 41, 32,116,104,101,110, 10, 9, 9, 9,
+ 108, 97,115,116, 32, 61, 32,105, 10, 9, 9, 9,115,116,114,
+ 105,112, 32, 61, 32,116,114,117,101, 10, 9, 9,101,110,100,
+ 10, 9, 9, 45, 45,105,102, 32,115,116,114,105,112, 32,116,
+ 104,101,110, 10, 9, 9, 45, 45, 9,116, 91,105, 93, 32, 61,
+ 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,116, 91,
+ 105, 93, 44, 32, 34, 61, 46, 42, 36, 34, 44, 32, 34, 34, 41,
+ 10, 9, 9, 45, 45,101,110,100, 10, 9,101,110,100, 10, 10,
+ 9,114,101,116,117,114,110, 32,116, 44,115,116,114,105,112,
+ 44,108, 97,115,116, 10, 10,101,110,100, 10, 10,102,117,110,
+ 99,116,105,111,110, 32,115,116,114,105,112, 95,100,101,102,
+ 97,117,108,116,115, 40,115, 41, 10, 10, 9,115, 32, 61, 32,
+ 115,116,114,105,110,103, 46,103,115,117, 98, 40,115, 44, 32,
+ 34, 94, 37, 40, 34, 44, 32, 34, 34, 41, 10, 9,115, 32, 61,
+ 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,115, 44,
+ 32, 34, 37, 41, 36, 34, 44, 32, 34, 34, 41, 10, 10, 9,108,
+ 111, 99, 97,108, 32,116, 32, 61, 32,115,112,108,105,116, 95,
+ 99, 95,116,111,107,101,110,115, 40,115, 44, 32, 34, 44, 34,
+ 41, 10, 9,108,111, 99, 97,108, 32,115,101,112, 44, 32,114,
+ 101,116, 32, 61, 32, 34, 34, 44, 34, 34, 10, 9,102,111,114,
+ 32,105, 61, 49, 44,116, 46,110, 32,100,111, 10, 9, 9,116,
+ 91,105, 93, 32, 61, 32,115,116,114,105,110,103, 46,103,115,
+ 117, 98, 40,116, 91,105, 93, 44, 32, 34, 61, 46, 42, 36, 34,
+ 44, 32, 34, 34, 41, 10, 9, 9,114,101,116, 32, 61, 32,114,
+ 101,116, 46, 46,115,101,112, 46, 46,116, 91,105, 93, 10, 9,
+ 9,115,101,112, 32, 61, 32, 34, 44, 34, 10, 9,101,110,100,
+ 10, 10, 9,114,101,116,117,114,110, 32, 34, 40, 34, 46, 46,
+ 114,101,116, 46, 46, 34, 41, 34, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/function.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32,111,112,101,114, 97,
+ 116,111,114, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,
+ 105,116,116,101,110, 32, 98,121, 32, 87, 97,108,100,101,109,
+ 97,114, 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67,
+ 71,114, 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45,
+ 32, 74,117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,
+ 100, 58, 32, 36, 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,
+ 111,100,101, 32,105,115, 32,102,114,101,101, 32,115,111,102,
+ 116,119, 97,114,101, 59, 32,121,111,117, 32, 99, 97,110, 32,
+ 114,101,100,105,115,116,114,105, 98,117,116,101, 32,105,116,
+ 32, 97,110,100, 47,111,114, 32,109,111,100,105,102,121, 32,
+ 105,116, 46, 10, 45, 45, 32, 84,104,101, 32,115,111,102,116,
+ 119, 97,114,101, 32,112,114,111,118,105,100,101,100, 32,104,
+ 101,114,101,117,110,100,101,114, 32,105,115, 32,111,110, 32,
+ 97,110, 32, 34, 97,115, 32,105,115, 34, 32, 98, 97,115,105,
+ 115, 44, 32, 97,110,100, 10, 45, 45, 32,116,104,101, 32, 97,
+ 117,116,104,111,114, 32,104, 97,115, 32,110,111, 32,111, 98,
+ 108,105,103, 97,116,105,111,110, 32,116,111, 32,112,114,111,
+ 118,105,100,101, 32,109, 97,105,110,116,101,110, 97,110, 99,
+ 101, 44, 32,115,117,112,112,111,114,116, 44, 32,117,112,100,
+ 97,116,101,115, 44, 10, 45, 45, 32,101,110,104, 97,110, 99,
+ 101,109,101,110,116,115, 44, 32,111,114, 32,109,111,100,105,
+ 102,105, 99, 97,116,105,111,110,115, 46, 10, 10, 10, 45, 45,
+ 32, 79,112,101,114, 97,116,111,114, 32, 99,108, 97,115,115,
+ 10, 45, 45, 32, 82,101,112,114,101,115,101,110,116,115, 32,
+ 97,110, 32,111,112,101,114, 97,116,111,114, 32,102,117,110,
+ 99,116,105,111,110, 32,111,114, 32, 97, 32, 99,108, 97,115,
+ 115, 32,111,112,101,114, 97,116,111,114, 32,109,101,116,104,
+ 111,100, 46, 10, 45, 45, 32, 73,116, 32,115,116,111,114,101,
+ 115, 32,116,104,101, 32,115, 97,109,101, 32,102,105,101,108,
+ 100,115, 32, 97,115, 32,102,117,110, 99,116,105,111,110,115,
+ 32,100,111, 32,112,108,117,115, 58, 10, 45, 45, 32, 32,107,
+ 105,110,100, 32, 61, 32,115,101,116, 32,111,102, 32, 99,104,
+ 97,114, 97, 99,116,101,114, 32,114,101,112,114,101,115,101,
+ 110,116,105,110,103, 32,116,104,101, 32,111,112,101,114, 97,
+ 116,111,114, 32, 40, 97,115, 32,105,116, 32, 97,112,112,101,
+ 114,115, 32,105,110, 32, 67, 43, 43, 32, 99,111,100,101, 41,
+ 10, 99,108, 97,115,115, 79,112,101,114, 97,116,111,114, 32,
+ 61, 32,123, 10, 32,107,105,110,100, 32, 61, 32, 39, 39, 44,
+ 10,125, 10, 99,108, 97,115,115, 79,112,101,114, 97,116,111,
+ 114, 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,
+ 115,115, 79,112,101,114, 97,116,111,114, 10,115,101,116,109,
+ 101,116, 97,116, 97, 98,108,101, 40, 99,108, 97,115,115, 79,
+ 112,101,114, 97,116,111,114, 44, 99,108, 97,115,115, 70,117,
+ 110, 99,116,105,111,110, 41, 10, 10, 45, 45, 32,116, 97, 98,
+ 108,101, 32,116,111, 32,116,114, 97,110,115,102,111,114,109,
+ 32,111,112,101,114, 97,116,111,114, 32,107,105,110,100, 32,
+ 105,110,116,111, 32,116,104,101, 32, 97,112,112,114,111,112,
+ 114,105, 97,116,101, 32,116, 97,103, 32,109,101,116,104,111,
+ 100, 32,110, 97,109,101, 10, 95, 84, 77, 32, 61, 32,123, 91,
+ 39, 43, 39, 93, 32, 61, 32, 39, 97,100,100, 39, 44, 10, 32,
+ 32, 32, 32, 32, 32, 32, 91, 39, 45, 39, 93, 32, 61, 32, 39,
+ 115,117, 98, 39, 44, 10, 32, 32, 32, 32, 32, 32, 32, 91, 39,
+ 42, 39, 93, 32, 61, 32, 39,109,117,108, 39, 44, 10, 32, 32,
+ 32, 32, 32, 32, 32, 91, 39, 47, 39, 93, 32, 61, 32, 39,100,
+ 105,118, 39, 44, 10, 32, 32, 32, 32, 32, 32, 32, 91, 39, 60,
+ 39, 93, 32, 61, 32, 39,108,116, 39, 44, 10, 32, 32, 32, 32,
+ 32, 32, 32, 91, 39, 60, 61, 39, 93, 32, 61, 32, 39,108,101,
+ 39, 44, 10, 32, 32, 32, 32, 32, 32, 32, 91, 39, 61, 61, 39,
+ 93, 32, 61, 32, 39,101,113, 39, 44, 10, 32, 32, 32, 32, 32,
+ 32, 32, 91, 39, 91, 93, 39, 93, 32, 61, 32, 39,103,101,116,
+ 105, 39, 44, 10, 32, 32, 32, 32, 32, 32, 32, 91, 39, 38, 91,
+ 93, 39, 93, 32, 61, 32, 39,115,101,116,105, 39, 44, 10, 32,
+ 32, 32, 32, 32, 32, 32, 45, 45, 91, 39, 45, 62, 39, 93, 32,
+ 61, 32, 39,102,108,101, 99,104,105,116, 97, 39, 44, 10, 32,
+ 32, 32, 32, 32, 32,125, 10, 10, 10, 45, 45, 32, 80,114,105,
+ 110,116, 32,109,101,116,104,111,100, 10,102,117,110, 99,116,
+ 105,111,110, 32, 99,108, 97,115,115, 79,112,101,114, 97,116,
+ 111,114, 58,112,114,105,110,116, 32, 40,105,100,101,110,116,
+ 44, 99,108,111,115,101, 41, 10, 32,112,114,105,110,116, 40,
+ 105,100,101,110,116, 46, 46, 34, 79,112,101,114, 97,116,111,
+ 114,123, 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,
+ 110,116, 46, 46, 34, 32,107,105,110,100, 32, 32, 61, 32, 39,
+ 34, 46, 46,115,101,108,102, 46,107,105,110,100, 46, 46, 34,
+ 39, 44, 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,
+ 110,116, 46, 46, 34, 32,109,111,100, 32, 32, 61, 32, 39, 34,
+ 46, 46,115,101,108,102, 46,109,111,100, 46, 46, 34, 39, 44,
+ 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,116,
+ 46, 46, 34, 32,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,
+ 115,101,108,102, 46,116,121,112,101, 46, 46, 34, 39, 44, 34,
+ 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46,
+ 46, 34, 32,112,116,114, 32, 32, 61, 32, 39, 34, 46, 46,115,
+ 101,108,102, 46,112,116,114, 46, 46, 34, 39, 44, 34, 41, 10,
+ 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,
+ 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,
+ 102, 46,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10, 32,
+ 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,
+ 99,111,110,115,116, 32, 61, 32, 39, 34, 46, 46,115,101,108,
+ 102, 46, 99,111,110,115,116, 46, 46, 34, 39, 44, 34, 41, 10,
+ 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,
+ 32, 99,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,
+ 108,102, 46, 99,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41,
+ 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46,
+ 34, 32,108,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,
+ 101,108,102, 46,108,110, 97,109,101, 46, 46, 34, 39, 44, 34,
+ 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46,
+ 46, 34, 32, 97,114,103,115, 32, 61, 32,123, 34, 41, 10, 32,
+ 108,111, 99, 97,108, 32,105, 61, 49, 10, 32,119,104,105,108,
+ 101, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32,
+ 100,111, 10, 32, 32,115,101,108,102, 46, 97,114,103,115, 91,
+ 105, 93, 58,112,114,105,110,116, 40,105,100,101,110,116, 46,
+ 46, 34, 32, 32, 34, 44, 34, 44, 34, 41, 10, 32, 32,105, 32,
+ 61, 32,105, 43, 49, 10, 32,101,110,100, 10, 32,112,114,105,
+ 110,116, 40,105,100,101,110,116, 46, 46, 34, 32,125, 34, 41,
+ 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46,
+ 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100,
+ 10, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,
+ 115, 79,112,101,114, 97,116,111,114, 58,115,117,112, 99,111,
+ 100,101, 95,116,109,112, 40, 41, 10, 10, 9,105,102, 32,110,
+ 111,116, 32, 95, 84, 77, 91,115,101,108,102, 46,107,105,110,
+ 100, 93, 32,116,104,101,110, 10, 9, 9,114,101,116,117,114,
+ 110, 32, 99,108, 97,115,115, 70,117,110, 99,116,105,111,110,
+ 46,115,117,112, 99,111,100,101, 40,115,101,108,102, 41, 10,
+ 9,101,110,100, 10, 10, 9, 45, 45, 32,110,111, 32,111,118,
+ 101,114,108,111, 97,100, 44, 32,110,111, 32,112, 97,114, 97,
+ 109,101,116,101,114,115, 44, 32, 97,108,119, 97,121,115, 32,
+ 105,110, 99,108, 97,115,115, 10, 9,111,117,116,112,117,116,
+ 40, 34, 47, 42, 32,109,101,116,104,111,100, 58, 34, 44,115,
+ 101,108,102, 46,110, 97,109,101, 44, 34, 32,111,102, 32, 99,
+ 108, 97,115,115, 32, 34, 44,115,101,108,102, 58,105,110, 99,
+ 108, 97,115,115, 40, 41, 44, 34, 32, 42, 47, 34, 41, 10, 10,
+ 9,111,117,116,112,117,116, 40, 34, 35,105,102,110,100,101,
+ 102, 32, 84, 79, 76, 85, 65, 95, 68, 73, 83, 65, 66, 76, 69,
+ 95, 34, 46, 46,115,101,108,102, 46, 99,110, 97,109,101, 41,
+ 10, 9,111,117,116,112,117,116, 40, 34, 92,110,115,116, 97,
+ 116,105, 99, 32,105,110,116, 34, 44,115,101,108,102, 46, 99,
+ 110, 97,109,101, 44, 34, 40,108,117, 97, 95, 83,116, 97,116,
+ 101, 42, 32,116,111,108,117, 97, 95, 83, 41, 34, 41, 10, 10,
+ 9,105,102, 32,111,118,101,114,108,111, 97,100, 32, 60, 32,
+ 48, 32,116,104,101,110, 10, 9, 32,111,117,116,112,117,116,
+ 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65,
+ 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10, 9,101,
+ 110,100, 10, 9,111,117,116,112,117,116, 40, 39, 32,116,111,
+ 108,117, 97, 95, 69,114,114,111,114, 32,116,111,108,117, 97,
+ 95,101,114,114, 59, 39, 41, 10, 9,111,117,116,112,117,116,
+ 40, 39, 32,105,102, 32, 40, 92,110, 39, 41, 10, 9, 45, 45,
+ 32, 99,104,101, 99,107, 32,115,101,108,102, 10, 9,108,111,
+ 99, 97,108, 32,105,115, 95,102,117,110, 99, 32, 61, 32,103,
+ 101,116, 95,105,115, 95,102,117,110, 99,116,105,111,110, 40,
+ 115,101,108,102, 46,112, 97,114,101,110,116, 46,116,121,112,
+ 101, 41, 10, 9,111,117,116,112,117,116, 40, 39, 32, 32, 32,
+ 32, 32, 33, 39, 46, 46,105,115, 95,102,117,110, 99, 46, 46,
+ 39, 40,116,111,108,117, 97, 95, 83, 44, 49, 44, 34, 39, 46,
+ 46,115,101,108,102, 46,112, 97,114,101,110,116, 46,116,121,
+ 112,101, 46, 46, 39, 34, 44, 48, 44, 38,116,111,108,117, 97,
+ 95,101,114,114, 41, 32,124,124, 92,110, 39, 41, 10, 9,111,
+ 117,116,112,117,116, 40, 39, 32, 32, 32, 32, 32, 33,116,111,
+ 108,117, 97, 95,105,115,110,111,111, 98,106, 40,116,111,108,
+ 117, 97, 95, 83, 44, 50, 44, 38,116,111,108,117, 97, 95,101,
+ 114,114, 41, 92,110, 32, 41, 39, 41, 10, 9,111,117,116,112,
+ 117,116, 40, 39, 32, 32,103,111,116,111, 32,116,111,108,117,
+ 97, 95,108,101,114,114,111,114, 59, 39, 41, 10, 10, 9,111,
+ 117,116,112,117,116, 40, 39, 32,101,108,115,101, 92,110, 39,
+ 41, 10, 9,111,117,116,112,117,116, 40, 39, 35,101,110,100,
+ 105,102, 92,110, 39, 41, 32, 45, 45, 32,116,111,108,117, 97,
+ 95,114,101,108,101, 97,115,101, 10, 9,111,117,116,112,117,
+ 116, 40, 39, 32,123, 39, 41, 10, 10, 9, 45, 45, 32,100,101,
+ 99,108, 97,114,101, 32,115,101,108,102, 10, 9,111,117,116,
+ 112,117,116, 40, 39, 32, 39, 44,115,101,108,102, 46, 99,111,
+ 110,115,116, 44,115,101,108,102, 46,112, 97,114,101,110,116,
+ 46,116,121,112,101, 44, 39, 42, 39, 44, 39,115,101,108,102,
+ 32, 61, 32, 39, 41, 10, 9,111,117,116,112,117,116, 40, 39,
+ 40, 39, 44,115,101,108,102, 46, 99,111,110,115,116, 44,115,
+ 101,108,102, 46,112, 97,114,101,110,116, 46,116,121,112,101,
+ 44, 39, 42, 41, 32, 39, 41, 10, 9,108,111, 99, 97,108, 32,
+ 116,111, 95,102,117,110, 99, 32, 61, 32,103,101,116, 95,116,
+ 111, 95,102,117,110, 99, 40,115,101,108,102, 46,112, 97,114,
+ 101,110,116, 46,116,121,112,101, 41, 10, 9,111,117,116,112,
+ 117,116, 40,116,111, 95,102,117,110, 99, 44, 39, 40,116,111,
+ 108,117, 97, 95, 83, 44, 49, 44, 48, 41, 59, 39, 41, 10, 10,
+ 9, 45, 45, 32, 99,104,101, 99,107, 32,115,101,108,102, 10,
+ 9,111,117,116,112,117,116, 40, 39, 35,105,102,110,100,101,
+ 102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69,
+ 92,110, 39, 41, 10, 9,111,117,116,112,117,116, 40, 39, 32,
+ 32,105,102, 32, 40, 33,115,101,108,102, 41, 32,116,111,108,
+ 117, 97, 95,101,114,114,111,114, 40,116,111,108,117, 97, 95,
+ 83, 44, 34, 39, 46, 46,111,117,116,112,117,116, 95,101,114,
+ 114,111,114, 95,104,111,111,107, 40, 34,105,110,118, 97,108,
+ 105,100, 32, 92, 39,115,101,108,102, 92, 39, 32,105,110, 32,
+ 102,117,110, 99,116,105,111,110, 32, 92, 39, 37,115, 92, 39,
+ 34, 44, 32,115,101,108,102, 46,110, 97,109,101, 41, 46, 46,
+ 39, 34, 44, 78, 85, 76, 76, 41, 59, 39, 41, 59, 10, 9,111,
+ 117,116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110,
+ 39, 41, 10, 10, 9, 45, 45, 32, 99, 97,115,116, 32,115,101,
+ 108,102, 10, 9,111,117,116,112,117,116, 40, 39, 32, 32, 39,
+ 44,115,101,108,102, 46,109,111,100, 44,115,101,108,102, 46,
+ 116,121,112,101, 44,115,101,108,102, 46,112,116,114, 44, 39,
+ 116,111,108,117, 97, 95,114,101,116, 32, 61, 32, 39, 41, 10,
+ 9,111,117,116,112,117,116, 40, 39, 40, 39, 44,115,101,108,
+ 102, 46,109,111,100, 44,115,101,108,102, 46,116,121,112,101,
+ 44,115,101,108,102, 46,112,116,114, 44, 39, 41, 40, 42,115,
+ 101,108,102, 41, 59, 39, 41, 10, 10, 9, 45, 45, 32,114,101,
+ 116,117,114,110, 32,118, 97,108,117,101, 10, 9,108,111, 99,
+ 97,108, 32,116, 44, 99,116, 32, 61, 32,105,115, 98, 97,115,
+ 105, 99, 40,115,101,108,102, 46,116,121,112,101, 41, 10, 9,
+ 105,102, 32,116, 32,116,104,101,110, 10, 9, 9,111,117,116,
+ 112,117,116, 40, 39, 32, 32, 32,116,111,108,117, 97, 95,112,
+ 117,115,104, 39, 46, 46,116, 46, 46, 39, 40,116,111,108,117,
+ 97, 95, 83, 44, 40, 39, 44, 99,116, 44, 39, 41,116,111,108,
+ 117, 97, 95,114,101,116, 41, 59, 39, 41, 10, 9,101,108,115,
+ 101, 10, 9, 9,116, 32, 61, 32,115,101,108,102, 46,116,121,
+ 112,101, 10, 9, 9,108,111, 99, 97,108, 32,112,117,115,104,
+ 95,102,117,110, 99, 32, 61, 32,103,101,116, 95,112,117,115,
+ 104, 95,102,117,110, 99,116,105,111,110, 40,116, 41, 10, 9,
+ 9,110,101,119, 95,116, 32, 61, 32,115,116,114,105,110,103,
+ 46,103,115,117, 98, 40,116, 44, 32, 34, 99,111,110,115,116,
+ 37,115, 43, 34, 44, 32, 34, 34, 41, 10, 9, 9,105,102, 32,
+ 115,101,108,102, 46,112,116,114, 32, 61, 61, 32, 39, 39, 32,
+ 116,104,101,110, 10, 9, 9, 9,111,117,116,112,117,116, 40,
+ 39, 32, 32, 32,123, 39, 41, 10, 9, 9, 9,111,117,116,112,
+ 117,116, 40, 39, 35,105,102,100,101,102, 32, 95, 95, 99,112,
+ 108,117,115,112,108,117,115, 92,110, 39, 41, 10, 9, 9, 9,
+ 111,117,116,112,117,116, 40, 39, 32, 32, 32, 32,118,111,105,
+ 100, 42, 32,116,111,108,117, 97, 95,111, 98,106, 32, 61, 32,
+ 77,116,111,108,117, 97, 95,110,101,119, 40, 40, 39, 44,110,
+ 101,119, 95,116, 44, 39, 41, 40,116,111,108,117, 97, 95,114,
+ 101,116, 41, 41, 59, 39, 41, 10, 9, 9, 9,111,117,116,112,
+ 117,116, 40, 39, 32, 32, 32, 32, 39, 44,112,117,115,104, 95,
+ 102,117,110, 99, 44, 39, 40,116,111,108,117, 97, 95, 83, 44,
+ 116,111,108,117, 97, 95,111, 98,106, 44, 34, 39, 44,116, 44,
+ 39, 34, 41, 59, 39, 41, 10, 9, 9, 9,111,117,116,112,117,
+ 116, 40, 39, 32, 32, 32, 32,116,111,108,117, 97, 95,114,101,
+ 103,105,115,116,101,114, 95,103, 99, 40,116,111,108,117, 97,
+ 95, 83, 44,108,117, 97, 95,103,101,116,116,111,112, 40,116,
+ 111,108,117, 97, 95, 83, 41, 41, 59, 39, 41, 10, 9, 9, 9,
+ 111,117,116,112,117,116, 40, 39, 35,101,108,115,101, 92,110,
+ 39, 41, 10, 9, 9, 9,111,117,116,112,117,116, 40, 39, 32,
+ 32, 32, 32,118,111,105,100, 42, 32,116,111,108,117, 97, 95,
+ 111, 98,106, 32, 61, 32,116,111,108,117, 97, 95, 99,111,112,
+ 121, 40,116,111,108,117, 97, 95, 83, 44, 40,118,111,105,100,
+ 42, 41, 38,116,111,108,117, 97, 95,114,101,116, 44,115,105,
+ 122,101,111,102, 40, 39, 44,116, 44, 39, 41, 41, 59, 39, 41,
+ 10, 9, 9, 9,111,117,116,112,117,116, 40, 39, 32, 32, 32,
+ 32, 39, 44,112,117,115,104, 95,102,117,110, 99, 44, 39, 40,
+ 116,111,108,117, 97, 95, 83, 44,116,111,108,117, 97, 95,111,
+ 98,106, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10,
+ 9, 9, 9,111,117,116,112,117,116, 40, 39, 32, 32, 32, 32,
+ 116,111,108,117, 97, 95,114,101,103,105,115,116,101,114, 95,
+ 103, 99, 40,116,111,108,117, 97, 95, 83, 44,108,117, 97, 95,
+ 103,101,116,116,111,112, 40,116,111,108,117, 97, 95, 83, 41,
+ 41, 59, 39, 41, 10, 9, 9, 9,111,117,116,112,117,116, 40,
+ 39, 35,101,110,100,105,102, 92,110, 39, 41, 10, 9, 9, 9,
+ 111,117,116,112,117,116, 40, 39, 32, 32, 32,125, 39, 41, 10,
+ 9, 9,101,108,115,101,105,102, 32,115,101,108,102, 46,112,
+ 116,114, 32, 61, 61, 32, 39, 38, 39, 32,116,104,101,110, 10,
+ 9, 9, 9,111,117,116,112,117,116, 40, 39, 32, 32, 32, 39,
+ 44,112,117,115,104, 95,102,117,110, 99, 44, 39, 40,116,111,
+ 108,117, 97, 95, 83, 44, 40,118,111,105,100, 42, 41, 38,116,
+ 111,108,117, 97, 95,114,101,116, 44, 34, 39, 44,116, 44, 39,
+ 34, 41, 59, 39, 41, 10, 9, 9,101,108,115,101, 10, 9, 9,
+ 9,105,102, 32,108,111, 99, 97,108, 95, 99,111,110,115,116,
+ 114,117, 99,116,111,114, 32,116,104,101,110, 10, 9, 9, 9,
+ 9,111,117,116,112,117,116, 40, 39, 32, 32, 32, 39, 44,112,
+ 117,115,104, 95,102,117,110, 99, 44, 39, 40,116,111,108,117,
+ 97, 95, 83, 44, 40,118,111,105,100, 32, 42, 41,116,111,108,
+ 117, 97, 95,114,101,116, 44, 34, 39, 44,116, 44, 39, 34, 41,
+ 59, 39, 41, 10, 9, 9, 9, 9,111,117,116,112,117,116, 40,
+ 39, 32, 32, 32, 32,116,111,108,117, 97, 95,114,101,103,105,
+ 115,116,101,114, 95,103, 99, 40,116,111,108,117, 97, 95, 83,
+ 44,108,117, 97, 95,103,101,116,116,111,112, 40,116,111,108,
+ 117, 97, 95, 83, 41, 41, 59, 39, 41, 10, 9, 9, 9,101,108,
+ 115,101, 10, 9, 9, 9, 9,111,117,116,112,117,116, 40, 39,
+ 32, 32, 32, 39, 44,112,117,115,104, 95,102,117,110, 99, 44,
+ 39, 40,116,111,108,117, 97, 95, 83, 44, 40,118,111,105,100,
+ 42, 41,116,111,108,117, 97, 95,114,101,116, 44, 34, 39, 44,
+ 116, 44, 39, 34, 41, 59, 39, 41, 10, 9, 9, 9,101,110,100,
+ 10, 9, 9,101,110,100, 10, 9,101,110,100, 10, 10, 9,111,
+ 117,116,112,117,116, 40, 39, 32, 32,125, 39, 41, 10, 9,111,
+ 117,116,112,117,116, 40, 39, 32,114,101,116,117,114,110, 32,
+ 49, 59, 39, 41, 10, 10, 9,111,117,116,112,117,116, 40, 39,
+ 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82,
+ 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10, 9,111,117,116,
+ 112,117,116, 40, 39,116,111,108,117, 97, 95,108,101,114,114,
+ 111,114, 58, 92,110, 39, 41, 10, 9,111,117,116,112,117,116,
+ 40, 39, 32,116,111,108,117, 97, 95,101,114,114,111,114, 40,
+ 116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,111,117,116,
+ 112,117,116, 95,101,114,114,111,114, 95,104,111,111,107, 40,
+ 34, 35,102,101,114,114,111,114, 32,105,110, 32,102,117,110,
+ 99,116,105,111,110, 32, 92, 39, 37,115, 92, 39, 46, 34, 44,
+ 32,115,101,108,102, 46,108,110, 97,109,101, 41, 46, 46, 39,
+ 34, 44, 38,116,111,108,117, 97, 95,101,114,114, 41, 59, 39,
+ 41, 10, 9,111,117,116,112,117,116, 40, 39, 32,114,101,116,
+ 117,114,110, 32, 48, 59, 39, 41, 10, 9,111,117,116,112,117,
+ 116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10, 10,
+ 10, 9,111,117,116,112,117,116, 40, 39,125, 39, 41, 10, 9,
+ 111,117,116,112,117,116, 40, 39, 35,101,110,100,105,102, 32,
+ 47, 47, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65,
+ 95, 68, 73, 83, 65, 66, 76, 69, 92,110, 39, 41, 10, 9,111,
+ 117,116,112,117,116, 40, 39, 92,110, 39, 41, 10,101,110,100,
+ 10, 10, 45, 45, 32, 73,110,116,101,114,110, 97,108, 32, 99,
+ 111,110,115,116,114,117, 99,116,111,114, 10,102,117,110, 99,
+ 116,105,111,110, 32, 95, 79,112,101,114, 97,116,111,114, 32,
+ 40,116, 41, 10, 32,115,101,116,109,101,116, 97,116, 97, 98,
+ 108,101, 40,116, 44, 99,108, 97,115,115, 79,112,101,114, 97,
+ 116,111,114, 41, 10, 10, 32,105,102, 32,116, 46, 99,111,110,
+ 115,116, 32,126, 61, 32, 39, 99,111,110,115,116, 39, 32, 97,
+ 110,100, 32,116, 46, 99,111,110,115,116, 32,126, 61, 32, 39,
+ 39, 32,116,104,101,110, 10, 32, 32,101,114,114,111,114, 40,
+ 34, 35,105,110,118, 97,108,105,100, 32, 39, 99,111,110,115,
+ 116, 39, 32,115,112,101, 99,105,102,105, 99, 97,116,105,111,
+ 110, 34, 41, 10, 32,101,110,100, 10, 10, 32, 97,112,112,101,
+ 110,100, 40,116, 41, 10, 32,105,102, 32,110,111,116, 32,116,
+ 58,105,110, 99,108, 97,115,115, 40, 41, 32,116,104,101,110,
+ 10, 32, 32,101,114,114,111,114, 40, 34, 35,111,112,101,114,
+ 97,116,111,114, 32, 99, 97,110, 32,111,110,108,121, 32, 98,
+ 101, 32,100,101,102,105,110,101,100, 32, 97,115, 32, 99,108,
+ 97,115,115, 32,109,101,109, 98,101,114, 34, 41, 10, 32,101,
+ 110,100, 10, 10, 32, 45, 45,116, 46,110, 97,109,101, 32, 61,
+ 32,116, 46,110, 97,109,101, 32, 46, 46, 32, 34, 95, 34, 32,
+ 46, 46, 32, 40, 95, 84, 77, 91,116, 46,107,105,110,100, 93,
+ 32,111,114, 32,116, 46,107,105,110,100, 41, 10, 32,116, 46,
+ 99,110, 97,109,101, 32, 61, 32,116, 58, 99,102,117,110, 99,
+ 110, 97,109,101, 40, 34,116,111,108,117, 97, 34, 41, 46, 46,
+ 116, 58,111,118,101,114,108,111, 97,100, 40,116, 41, 10, 32,
+ 116, 46,110, 97,109,101, 32, 61, 32, 34,111,112,101,114, 97,
+ 116,111,114, 34, 32, 46, 46, 32,116, 46,107,105,110,100, 32,
+ 32, 45, 45, 32,115,101,116, 32, 97,112,112,114,111,112,114,
+ 105, 97,116,101, 32, 99, 97,108,108,105,110,103, 32,110, 97,
+ 109,101, 10, 32,114,101,116,117,114,110, 32,116, 10,101,110,
+ 100, 10, 10, 45, 45, 32, 67,111,110,115,116,114,117, 99,116,
+ 111,114, 10,102,117,110, 99,116,105,111,110, 32, 79,112,101,
+ 114, 97,116,111,114, 32, 40,100, 44,107, 44, 97, 44, 99, 41,
+ 10, 10, 9,108,111, 99, 97,108, 32,111,112, 95,107, 32, 61,
+ 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,107, 44,
+ 32, 34, 94, 37,115, 42, 34, 44, 32, 34, 34, 41, 10, 9,111,
+ 112, 95,107, 32, 61, 32,115,116,114,105,110,103, 46,103,115,
+ 117, 98, 40,107, 44, 32, 34, 37,115, 42, 36, 34, 44, 32, 34,
+ 34, 41, 10, 9, 45, 45,105,102, 32,115,116,114,105,110,103,
+ 46,102,105,110,100, 40,107, 44, 32, 34, 94, 91, 37,119, 95,
+ 58, 37,100, 60, 62, 37, 42, 37, 38, 93, 43, 36, 34, 41, 32,
+ 116,104,101,110, 10, 9,105,102, 32,100, 32, 61, 61, 32, 34,
+ 111,112,101,114, 97,116,111,114, 34, 32, 97,110,100, 32,107,
+ 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10, 10, 9, 9,
+ 100, 32, 61, 32,107, 46, 46, 34, 32,111,112,101,114, 97,116,
+ 111,114, 34, 10, 9,101,108,115,101,105,102, 32,110,111,116,
+ 32, 95, 84, 77, 91,111,112, 95,107, 93, 32,116,104,101,110,
+ 10, 10, 9, 9,105,102, 32,102,108, 97,103,115, 91, 39, 87,
+ 39, 93, 32,116,104,101,110, 10, 9, 9, 9,101,114,114,111,
+ 114, 40, 34,116,111,108,117, 97, 58, 32,110,111, 32,115,117,
+ 112,112,111,114,116, 32,102,111,114, 32,111,112,101,114, 97,
+ 116,111,114, 34, 32, 46, 46, 32,102, 46,107,105,110,100, 41,
+ 10, 9, 9,101,108,115,101, 10, 9, 9, 9,119, 97,114,110,
+ 105,110,103, 40, 34, 78,111, 32,115,117,112,112,111,114,116,
+ 32,102,111,114, 32,111,112,101,114, 97,116,111,114, 32, 34,
+ 46, 46,111,112, 95,107, 46, 46, 34, 44, 32,105,103,110,111,
+ 114,105,110,103, 34, 41, 10, 9, 9, 9,114,101,116,117,114,
+ 110, 32,110,105,108, 10, 9, 9,101,110,100, 10, 9,101,110,
+ 100, 10, 10, 9,108,111, 99, 97,108, 32,114,101,102, 32, 61,
+ 32, 39, 39, 10, 32,108,111, 99, 97,108, 32,116, 32, 61, 32,
+ 115,112,108,105,116, 95, 99, 95,116,111,107,101,110,115, 40,
+ 115,116,114,115,117, 98, 40, 97, 44, 50, 44,115,116,114,108,
+ 101,110, 40, 97, 41, 45, 49, 41, 44, 39, 44, 39, 41, 32, 45,
+ 45, 32,101,108,105,109,105,110, 97,116,101, 32, 98,114, 97,
+ 99,101,115, 10, 32,108,111, 99, 97,108, 32,105, 61, 49, 10,
+ 32,108,111, 99, 97,108, 32,108, 32, 61, 32,123,110, 61, 48,
+ 125, 10, 32,119,104,105,108,101, 32,116, 91,105, 93, 32,100,
+ 111, 10, 32, 32,108, 46,110, 32, 61, 32,108, 46,110, 43, 49,
+ 10, 32, 32,108, 91,108, 46,110, 93, 32, 61, 32, 68,101, 99,
+ 108, 97,114, 97,116,105,111,110, 40,116, 91,105, 93, 44, 39,
+ 118, 97,114, 39, 41, 10, 32, 32,105, 32, 61, 32,105, 43, 49,
+ 10, 32,101,110,100, 10, 32,105,102, 32,107, 32, 61, 61, 32,
+ 39, 91, 93, 39, 32,116,104,101,110, 10, 9, 32,108,111, 99,
+ 97,108, 32, 95, 10, 9, 32, 95, 44, 32, 95, 44, 32,114,101,
+ 102, 32, 61, 32,115,116,114,102,105,110,100, 40,100, 44, 39,
+ 40, 38, 41, 39, 41, 10, 32, 32,100, 32, 61, 32,103,115,117,
+ 98, 40,100, 44, 39, 38, 39, 44, 39, 39, 41, 10, 32,101,108,
+ 115,101,105,102, 32,107, 61, 61, 39, 38, 91, 93, 39, 32,116,
+ 104,101,110, 10, 32, 32,108, 46,110, 32, 61, 32,108, 46,110,
+ 43, 49, 10, 32, 32,108, 91,108, 46,110, 93, 32, 61, 32, 68,
+ 101, 99,108, 97,114, 97,116,105,111,110, 40,100, 44, 39,118,
+ 97,114, 39, 41, 10, 32, 32,108, 91,108, 46,110, 93, 46,110,
+ 97,109,101, 32, 61, 32, 39,116,111,108,117, 97, 95,118, 97,
+ 108,117,101, 39, 10, 32,101,110,100, 10, 32,108,111, 99, 97,
+ 108, 32,102, 32, 61, 32, 68,101, 99,108, 97,114, 97,116,105,
+ 111,110, 40,100, 44, 39,102,117,110, 99, 39, 41, 10, 32,105,
+ 102, 32,107, 32, 61, 61, 32, 39, 91, 93, 39, 32, 97,110,100,
+ 32, 40,108, 91, 49, 93, 61, 61,110,105,108, 32,111,114, 32,
+ 105,115, 98, 97,115,105, 99, 40,108, 91, 49, 93, 46,116,121,
+ 112,101, 41,126, 61, 39,110,117,109, 98,101,114, 39, 41, 32,
+ 116,104,101,110, 10, 32, 32,101,114,114,111,114, 40, 39,111,
+ 112,101,114, 97,116,111,114, 91, 93, 32, 99, 97,110, 32,111,
+ 110,108,121, 32, 98,101, 32,100,101,102,105,110,101,100, 32,
+ 102,111,114, 32,110,117,109,101,114,105, 99, 32,105,110,100,
+ 101,120, 46, 39, 41, 10, 32,101,110,100, 10, 32,102, 46, 97,
+ 114,103,115, 32, 61, 32,108, 10, 32,102, 46, 99,111,110,115,
+ 116, 32, 61, 32, 99, 10, 32,102, 46,107,105,110,100, 32, 61,
+ 32,111,112, 95,107, 10, 32,102, 46,108,110, 97,109,101, 32,
+ 61, 32, 34, 46, 34, 46, 46, 40, 95, 84, 77, 91,102, 46,107,
+ 105,110,100, 93, 32,111,114, 32,102, 46,107,105,110,100, 41,
+ 10, 32,105,102, 32,110,111,116, 32, 95, 84, 77, 91,102, 46,
+ 107,105,110,100, 93, 32,116,104,101,110, 10, 32, 9,102, 46,
+ 99, 97,115,116, 95,111,112,101,114, 97,116,111,114, 32, 61,
+ 32,116,114,117,101, 10, 32,101,110,100, 10, 32,105,102, 32,
+ 102, 46,107,105,110,100, 32, 61, 61, 32, 39, 91, 93, 39, 32,
+ 97,110,100, 32,114,101,102, 61, 61, 39, 38, 39, 32, 97,110,
+ 100, 32,102, 46, 99,111,110,115,116,126, 61, 39, 99,111,110,
+ 115,116, 39, 32,116,104,101,110, 10, 32, 32, 79,112,101,114,
+ 97,116,111,114, 40,100, 44, 39, 38, 39, 46, 46,107, 44, 97,
+ 44, 99, 41, 32, 9, 45, 45, 32, 99,114,101, 97,116,101, 32,
+ 99,111,114,114,101,115,112,111,100,105,110,103, 32,115,101,
+ 116, 32,111,112,101,114, 97,116,111,114, 10, 32,101,110,100,
+ 10, 32,114,101,116,117,114,110, 32, 95, 79,112,101,114, 97,
+ 116,111,114, 40,102, 41, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/operator.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 10, 95,103,108,111, 98, 97,108, 95,116,101,109,112,108, 97,
+ 116,101,115, 32, 61, 32,123,125, 10, 10, 99,108, 97,115,115,
+ 84,101,109,112,108, 97,116,101, 67,108, 97,115,115, 32, 61,
+ 32,123, 10, 10, 9,110, 97,109,101, 32, 61, 32, 39, 39, 44,
+ 10, 9, 98,111,100,121, 32, 61, 32, 39, 39, 44, 10, 9,112,
+ 97,114,101,110,116,115, 32, 61, 32,123,125, 44, 10, 9, 97,
+ 114,103,115, 32, 61, 32,123,125, 44, 32, 45, 45, 32,116,104,
+ 101, 32,116,101,109,112,108, 97,116,101, 32, 97,114,103,117,
+ 109,101,110,116,115, 10,125, 10, 10, 99,108, 97,115,115, 84,
+ 101,109,112,108, 97,116,101, 67,108, 97,115,115, 46, 95, 95,
+ 105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 84,101,
+ 109,112,108, 97,116,101, 67,108, 97,115,115, 10, 10, 10,102,
+ 117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 84,101,
+ 109,112,108, 97,116,101, 67,108, 97,115,115, 58,116,104,114,
+ 111,119, 40,116,121,112,101,115, 44, 32,108,111, 99, 97,108,
+ 95,115, 99,111,112,101, 41, 10, 10, 9, 45, 45,105,102, 32,
+ 116, 97, 98,108,101, 46,103,101,116,110, 40,116,121,112,101,
+ 115, 41, 32,126, 61, 32,116, 97, 98,108,101, 46,103,101,116,
+ 110, 40,115,101,108,102, 46, 97,114,103,115, 41, 32,116,104,
+ 101,110, 10, 9, 45, 45, 9,101,114,114,111,114, 40, 34, 35,
+ 105,110,118, 97,108,105,100, 32,112, 97,114, 97,109,101,116,
+ 101,114, 32, 99,111,117,110,116, 34, 41, 10, 9, 45, 45,101,
+ 110,100, 10, 10, 9, 45, 45, 32,114,101,112,108, 97, 99,101,
+ 10, 9,102,111,114, 32,105, 32, 61, 49, 32, 44, 32,116,121,
+ 112,101,115, 46,110, 32,100,111, 10, 10, 9, 9,108,111, 99,
+ 97,108, 32, 73,108, 32, 61, 32,115,112,108,105,116, 95, 99,
+ 95,116,111,107,101,110,115, 40,116,121,112,101,115, 91,105,
+ 93, 44, 32, 34, 32, 34, 41, 10, 9, 9,105,102, 32,116, 97,
+ 98,108,101, 46,103,101,116,110, 40, 73,108, 41, 32,126, 61,
+ 32,116, 97, 98,108,101, 46,103,101,116,110, 40,115,101,108,
+ 102, 46, 97,114,103,115, 41, 32,116,104,101,110, 10, 9, 9,
+ 9,101,114,114,111,114, 40, 34, 35,105,110,118, 97,108,105,
+ 100, 32,112, 97,114, 97,109,101,116,101,114, 32, 99,111,117,
+ 110,116, 32,102,111,114, 32, 34, 46, 46,116,121,112,101,115,
+ 91,105, 93, 41, 10, 9, 9,101,110,100, 10, 9, 9,108,111,
+ 99, 97,108, 32, 98, 73, 32, 61, 32,115,101,108,102, 46, 98,
+ 111,100,121, 10, 9, 9,108,111, 99, 97,108, 32,112, 73, 32,
+ 61, 32,123,125, 10, 9, 9,102,111,114, 32,106, 32, 61, 32,
+ 49, 44,115,101,108,102, 46, 97,114,103,115, 46,110, 32,100,
+ 111, 10, 9, 9, 9, 45, 45, 84,108, 91,106, 93, 32, 61, 32,
+ 102,105,110,100,116,121,112,101, 40, 84,108, 91,106, 93, 41,
+ 32,111,114, 32, 84,108, 91,106, 93, 10, 9, 9, 9, 98, 73,
+ 32, 61, 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,
+ 98, 73, 44, 32, 34, 40, 91, 94, 95, 37,119, 93, 41, 34, 46,
+ 46,115,101,108,102, 46, 97,114,103,115, 91,106, 93, 46, 46,
+ 34, 40, 91, 94, 95, 37,119, 93, 41, 34, 44, 32, 34, 37, 49,
+ 34, 46, 46, 73,108, 91,106, 93, 46, 46, 34, 37, 50, 34, 41,
+ 10, 9, 9, 9,105,102, 32,115,101,108,102, 46,112, 97,114,
+ 101,110,116,115, 32,116,104,101,110, 10, 9, 9, 9, 9,102,
+ 111,114, 32,105, 61, 49, 44,116, 97, 98,108,101, 46,103,101,
+ 116,110, 40,115,101,108,102, 46,112, 97,114,101,110,116,115,
+ 41, 32,100,111, 10, 9, 9, 9, 9, 9,112, 73, 91,105, 93,
+ 32, 61, 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,
+ 115,101,108,102, 46,112, 97,114,101,110,116,115, 91,105, 93,
+ 44, 32, 34, 40, 91, 94, 95, 37,119, 93, 63, 41, 34, 46, 46,
+ 115,101,108,102, 46, 97,114,103,115, 91,106, 93, 46, 46, 34,
+ 40, 91, 94, 95, 37,119, 93, 63, 41, 34, 44, 32, 34, 37, 49,
+ 34, 46, 46, 73,108, 91,106, 93, 46, 46, 34, 37, 50, 34, 41,
+ 10, 9, 9, 9, 9,101,110,100, 10, 9, 9, 9,101,110,100,
+ 10, 9, 9,101,110,100, 10, 9, 9, 45, 45,108,111, 99, 97,
+ 108, 32, 97,112,112,101,110,100, 32, 61, 32, 34, 60, 34, 46,
+ 46,115,116,114,105,110,103, 46,103,115,117, 98, 40,116,121,
+ 112,101,115, 91,105, 93, 44, 32, 34, 37,115, 43, 34, 44, 32,
+ 34, 44, 34, 41, 46, 46, 34, 62, 34, 10, 9, 9,108,111, 99,
+ 97,108, 32, 97,112,112,101,110,100, 32, 61, 32, 34, 60, 34,
+ 46, 46, 99,111,110, 99, 97,116, 40, 73,108, 44, 32, 49, 44,
+ 32,116, 97, 98,108,101, 46,103,101,116,110, 40, 73,108, 41,
+ 44, 32, 34, 44, 34, 41, 46, 46, 34, 62, 34, 10, 9, 9, 97,
+ 112,112,101,110,100, 32, 61, 32,115,116,114,105,110,103, 46,
+ 103,115,117, 98, 40, 97,112,112,101,110,100, 44, 32, 34, 37,
+ 115, 42, 44, 37,115, 42, 34, 44, 32, 34, 44, 34, 41, 10, 9,
+ 9, 97,112,112,101,110,100, 32, 61, 32,115,116,114,105,110,
+ 103, 46,103,115,117, 98, 40, 97,112,112,101,110,100, 44, 32,
+ 34, 62, 62, 34, 44, 32, 34, 62, 32, 62, 34, 41, 10, 9, 9,
+ 102,111,114, 32,105, 61, 49, 44,116, 97, 98,108,101, 46,103,
+ 101,116,110, 40,112, 73, 41, 32,100,111, 10, 9, 9, 9, 45,
+ 45,112, 73, 91,105, 93, 32, 61, 32,115,116,114,105,110,103,
+ 46,103,115,117, 98, 40,112, 73, 91,105, 93, 44, 32, 34, 62,
+ 62, 34, 44, 32, 34, 62, 32, 62, 34, 41, 10, 9, 9, 9,112,
+ 73, 91,105, 93, 32, 61, 32,114,101,115,111,108,118,101, 95,
+ 116,101,109,112,108, 97,116,101, 95,116,121,112,101,115, 40,
+ 112, 73, 91,105, 93, 41, 10, 9, 9,101,110,100, 10, 9, 9,
+ 98, 73, 32, 61, 32,115,116,114,105,110,103, 46,103,115,117,
+ 98, 40, 98, 73, 44, 32, 34, 62, 62, 34, 44, 32, 34, 62, 32,
+ 62, 34, 41, 10, 9, 9,108,111, 99, 97,108, 32,110, 32, 61,
+ 32,115,101,108,102, 46,110, 97,109,101, 10, 9, 9,105,102,
+ 32,108,111, 99, 97,108, 95,115, 99,111,112,101, 32,116,104,
+ 101,110, 10, 9, 9, 9,110, 32, 61, 32,115,101,108,102, 46,
+ 108,111, 99, 97,108, 95,110, 97,109,101, 10, 9, 9,101,110,
+ 100, 10, 10, 9, 9, 67,108, 97,115,115, 40,110, 46, 46, 97,
+ 112,112,101,110,100, 44, 32,112, 73, 44, 32, 98, 73, 41, 10,
+ 9,101,110,100, 10,101,110,100, 10, 10, 10,102,117,110, 99,
+ 116,105,111,110, 32, 84,101,109,112,108, 97,116,101, 67,108,
+ 97,115,115, 40,110, 97,109,101, 44, 32,112, 97,114,101,110,
+ 116,115, 44, 32, 98,111,100,121, 44, 32,112, 97,114, 97,109,
+ 101,116,101,114,115, 41, 10, 10, 9,108,111, 99, 97,108, 32,
+ 111, 32, 61, 32,123, 10, 9, 10, 9, 9,112, 97,114,101,110,
+ 116,115, 32, 61, 32,112, 97,114,101,110,116,115, 44, 10, 9,
+ 9, 98,111,100,121, 32, 61, 32, 98,111,100,121, 44, 10, 9,
+ 9, 97,114,103,115, 32, 61, 32,112, 97,114, 97,109,101,116,
+ 101,114,115, 44, 10, 9,125, 10, 9, 10, 9,108,111, 99, 97,
+ 108, 32,111,110, 97,109,101, 32, 61, 32,115,116,114,105,110,
+ 103, 46,103,115,117, 98, 40,110, 97,109,101, 44, 32, 34, 64,
+ 46, 42, 36, 34, 44, 32, 34, 34, 41, 10, 9,111,110, 97,109,
+ 101, 32, 61, 32,103,101,116,110, 97,109,101,115,112, 97, 99,
+ 101, 40, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,
+ 114, 46, 99,117,114,114, 41, 46, 46,111,110, 97,109,101, 10,
+ 9,111, 46,110, 97,109,101, 32, 61, 32,111,110, 97,109,101,
+ 10, 10, 9,111, 46,108,111, 99, 97,108, 95,110, 97,109,101,
+ 32, 61, 32,110, 97,109,101, 10, 9, 10, 9,115,101,116,109,
+ 101,116, 97,116, 97, 98,108,101, 40,111, 44, 32, 99,108, 97,
+ 115,115, 84,101,109,112,108, 97,116,101, 67,108, 97,115,115,
+ 41, 10, 10, 9,105,102, 32, 95,103,108,111, 98, 97,108, 95,
+ 116,101,109,112,108, 97,116,101,115, 91,111,110, 97,109,101,
+ 93, 32,116,104,101,110, 10, 9, 9,119, 97,114,110,105,110,
+ 103, 40, 34, 68,117,112,108,105, 99, 97,116,101, 32,100,101,
+ 99,108, 97,114, 97,116,105,111,110, 32,111,102, 32,116,101,
+ 109,112,108, 97,116,101, 32, 34, 46, 46,111,110, 97,109,101,
+ 41, 10, 9,101,108,115,101, 10, 9, 9, 95,103,108,111, 98,
+ 97,108, 95,116,101,109,112,108, 97,116,101,115, 91,111,110,
+ 97,109,101, 93, 32, 61, 32,111, 10, 9,101,110,100, 10, 10,
+ 9,114,101,116,117,114,110, 32,111, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/template_class.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32, 99,108, 97,115,115,
+ 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,105,116,116,
+ 101,110, 32, 98,121, 32, 87, 97,108,100,101,109, 97,114, 32,
+ 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67, 71,114, 97,
+ 102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45, 32, 74,117,
+ 108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,100, 58, 32,
+ 36, 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,111,100,101,
+ 32,105,115, 32,102,114,101,101, 32,115,111,102,116,119, 97,
+ 114,101, 59, 32,121,111,117, 32, 99, 97,110, 32,114,101,100,
+ 105,115,116,114,105, 98,117,116,101, 32,105,116, 32, 97,110,
+ 100, 47,111,114, 32,109,111,100,105,102,121, 32,105,116, 46,
+ 10, 45, 45, 32, 84,104,101, 32,115,111,102,116,119, 97,114,
+ 101, 32,112,114,111,118,105,100,101,100, 32,104,101,114,101,
+ 117,110,100,101,114, 32,105,115, 32,111,110, 32, 97,110, 32,
+ 34, 97,115, 32,105,115, 34, 32, 98, 97,115,105,115, 44, 32,
+ 97,110,100, 10, 45, 45, 32,116,104,101, 32, 97,117,116,104,
+ 111,114, 32,104, 97,115, 32,110,111, 32,111, 98,108,105,103,
+ 97,116,105,111,110, 32,116,111, 32,112,114,111,118,105,100,
+ 101, 32,109, 97,105,110,116,101,110, 97,110, 99,101, 44, 32,
+ 115,117,112,112,111,114,116, 44, 32,117,112,100, 97,116,101,
+ 115, 44, 10, 45, 45, 32,101,110,104, 97,110, 99,101,109,101,
+ 110,116,115, 44, 32,111,114, 32,109,111,100,105,102,105, 99,
+ 97,116,105,111,110,115, 46, 10, 10, 10, 45, 45, 32, 67,108,
+ 97,115,115, 32, 99,108, 97,115,115, 10, 45, 45, 32, 82,101,
+ 112,114,101,115,101,110,116,115, 32, 97, 32, 99,108, 97,115,
+ 115, 32,100,101,102,105,110,105,116,105,111,110, 46, 10, 45,
+ 45, 32, 83,116,111,114,101,115, 32,116,104,101, 32,102,111,
+ 108,108,111,119,105,110,103, 32,102,105,101,108,100,115, 58,
+ 10, 45, 45, 32, 32, 32, 32,110, 97,109,101, 32, 61, 32, 99,
+ 108, 97,115,115, 32,110, 97,109,101, 10, 45, 45, 32, 32, 32,
+ 32, 98, 97,115,101, 32, 61, 32, 99,108, 97,115,115, 32, 98,
+ 97,115,101, 44, 32,105,102, 32, 97,110,121, 32, 40,111,110,
+ 108,121, 32,115,105,110,103,108,101, 32,105,110,104,101,114,
+ 105,116, 97,110, 99,101, 32,105,115, 32,115,117,112,112,111,
+ 114,116,101,100, 41, 10, 45, 45, 32, 32, 32, 32,123,105,125,
+ 32, 32, 61, 32,108,105,115,116, 32,111,102, 32,109,101,109,
+ 98,101,114,115, 10, 99,108, 97,115,115, 67,108, 97,115,115,
+ 32, 61, 32,123, 10, 32, 99,108, 97,115,115,116,121,112,101,
+ 32, 61, 32, 39, 99,108, 97,115,115, 39, 44, 10, 32,110, 97,
+ 109,101, 32, 61, 32, 39, 39, 44, 10, 32, 98, 97,115,101, 32,
+ 61, 32, 39, 39, 44, 10, 32,116,121,112,101, 32, 61, 32, 39,
+ 39, 44, 10, 32, 98,116,121,112,101, 32, 61, 32, 39, 39, 44,
+ 10, 32, 99,116,121,112,101, 32, 61, 32, 39, 39, 44, 10,125,
+ 10, 99,108, 97,115,115, 67,108, 97,115,115, 46, 95, 95,105,
+ 110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 67,108, 97,
+ 115,115, 10,115,101,116,109,101,116, 97,116, 97, 98,108,101,
+ 40, 99,108, 97,115,115, 67,108, 97,115,115, 44, 99,108, 97,
+ 115,115, 67,111,110,116, 97,105,110,101,114, 41, 10, 10, 10,
+ 45, 45, 32,114,101,103,105,115,116,101,114, 32, 99,108, 97,
+ 115,115, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,
+ 115,115, 67,108, 97,115,115, 58,114,101,103,105,115,116,101,
+ 114, 32, 40,112,114,101, 41, 10, 10, 9,105,102, 32,110,111,
+ 116, 32,115,101,108,102, 58, 99,104,101, 99,107, 95,112,117,
+ 98,108,105, 99, 95, 97, 99, 99,101,115,115, 40, 41, 32,116,
+ 104,101,110, 10, 9, 9,114,101,116,117,114,110, 10, 9,101,
+ 110,100, 10, 10, 32,112,114,101, 32, 61, 32,112,114,101, 32,
+ 111,114, 32, 39, 39, 10, 32,112,117,115,104, 40,115,101,108,
+ 102, 41, 10, 9,105,102, 32, 95, 99,111,108,108,101, 99,116,
+ 91,115,101,108,102, 46,116,121,112,101, 93, 32,116,104,101,
+ 110, 10, 9, 9,111,117,116,112,117,116, 40,112,114,101, 44,
+ 39, 35,105,102,100,101,102, 32, 95, 95, 99,112,108,117,115,
+ 112,108,117,115, 92,110, 39, 41, 10, 32, 32,111,117,116,112,
+ 117,116, 40,112,114,101, 46, 46, 39,116,111,108,117, 97, 95,
+ 99, 99,108, 97,115,115, 40,116,111,108,117, 97, 95, 83, 44,
+ 34, 39, 46, 46,115,101,108,102, 46,108,110, 97,109,101, 46,
+ 46, 39, 34, 44, 34, 39, 46, 46,115,101,108,102, 46,116,121,
+ 112,101, 46, 46, 39, 34, 44, 34, 39, 46, 46,115,101,108,102,
+ 46, 98,116,121,112,101, 46, 46, 39, 34, 44, 39, 46, 46, 95,
+ 99,111,108,108,101, 99,116, 91,115,101,108,102, 46,116,121,
+ 112,101, 93, 46, 46, 39, 41, 59, 39, 41, 10, 9, 9,111,117,
+ 116,112,117,116, 40,112,114,101, 44, 39, 35,101,108,115,101,
+ 92,110, 39, 41, 10, 32, 32,111,117,116,112,117,116, 40,112,
+ 114,101, 46, 46, 39,116,111,108,117, 97, 95, 99, 99,108, 97,
+ 115,115, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,
+ 115,101,108,102, 46,108,110, 97,109,101, 46, 46, 39, 34, 44,
+ 34, 39, 46, 46,115,101,108,102, 46,116,121,112,101, 46, 46,
+ 39, 34, 44, 34, 39, 46, 46,115,101,108,102, 46, 98,116,121,
+ 112,101, 46, 46, 39, 34, 44, 78, 85, 76, 76, 41, 59, 39, 41,
+ 10, 9, 9,111,117,116,112,117,116, 40,112,114,101, 44, 39,
+ 35,101,110,100,105,102, 92,110, 39, 41, 10, 9,101,108,115,
+ 101, 10, 32, 32,111,117,116,112,117,116, 40,112,114,101, 46,
+ 46, 39,116,111,108,117, 97, 95, 99, 99,108, 97,115,115, 40,
+ 116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,
+ 102, 46,108,110, 97,109,101, 46, 46, 39, 34, 44, 34, 39, 46,
+ 46,115,101,108,102, 46,116,121,112,101, 46, 46, 39, 34, 44,
+ 34, 39, 46, 46,115,101,108,102, 46, 98,116,121,112,101, 46,
+ 46, 39, 34, 44, 78, 85, 76, 76, 41, 59, 39, 41, 10, 9,101,
+ 110,100, 10, 9,105,102, 32,115,101,108,102, 46,101,120,116,
+ 114, 97, 95, 98, 97,115,101,115, 32,116,104,101,110, 10, 9,
+ 9,102,111,114, 32,107, 44, 98, 97,115,101, 32,105,110, 32,
+ 105,112, 97,105,114,115, 40,115,101,108,102, 46,101,120,116,
+ 114, 97, 95, 98, 97,115,101,115, 41, 32,100,111, 10, 9, 9,
+ 9, 45, 45, 32,110,111,116, 32,110,111,119, 10, 32, 32, 32,
+ 45, 45,111,117,116,112,117,116, 40,112,114,101, 46, 46, 39,
+ 32,116,111,108,117, 97, 95, 97,100,100, 98, 97,115,101, 40,
+ 116,111,108,117, 97, 95, 83, 44, 32, 34, 39, 46, 46,115,101,
+ 108,102, 46,116,121,112,101, 46, 46, 39, 34, 44, 32, 34, 39,
+ 46, 46, 98, 97,115,101, 46, 46, 39, 34, 41, 59, 39, 41, 10,
+ 9, 9,101,110,100, 10, 9,101,110,100, 10, 32,111,117,116,
+ 112,117,116, 40,112,114,101, 46, 46, 39,116,111,108,117, 97,
+ 95, 98,101,103,105,110,109,111,100,117,108,101, 40,116,111,
+ 108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,
+ 108,110, 97,109,101, 46, 46, 39, 34, 41, 59, 39, 41, 10, 32,
+ 108,111, 99, 97,108, 32,105, 61, 49, 10, 32,119,104,105,108,
+ 101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10, 32, 32,
+ 115,101,108,102, 91,105, 93, 58,114,101,103,105,115,116,101,
+ 114, 40,112,114,101, 46, 46, 39, 32, 39, 41, 10, 32, 32,105,
+ 32, 61, 32,105, 43, 49, 10, 32,101,110,100, 10, 32,111,117,
+ 116,112,117,116, 40,112,114,101, 46, 46, 39,116,111,108,117,
+ 97, 95,101,110,100,109,111,100,117,108,101, 40,116,111,108,
+ 117, 97, 95, 83, 41, 59, 39, 41, 10, 9,112,111,112, 40, 41,
+ 10,101,110,100, 10, 10, 45, 45, 32,114,101,116,117,114,110,
+ 32, 99,111,108,108,101, 99,116,105,111,110, 32,114,101,113,
+ 117,105,114,101,109,101,110,116, 10,102,117,110, 99,116,105,
+ 111,110, 32, 99,108, 97,115,115, 67,108, 97,115,115, 58,114,
+ 101,113,117,105,114,101, 99,111,108,108,101, 99,116,105,111,
+ 110, 32, 40,116, 41, 10, 9,105,102, 32,115,101,108,102, 46,
+ 102,108, 97,103,115, 46,112,114,111,116,101, 99,116,101,100,
+ 95,100,101,115,116,114,117, 99,116,111,114, 32,111,114, 32,
+ 40,110,111,116, 32,115,101,108,102, 58, 99,104,101, 99,107,
+ 95,112,117, 98,108,105, 99, 95, 97, 99, 99,101,115,115, 40,
+ 41, 41, 32,116,104,101,110, 10, 9, 9,114,101,116,117,114,
+ 110, 32,102, 97,108,115,101, 10, 9,101,110,100, 10, 32,112,
+ 117,115,104, 40,115,101,108,102, 41, 10, 9,108,111, 99, 97,
+ 108, 32,114, 32, 61, 32,102, 97,108,115,101, 10, 32,108,111,
+ 99, 97,108, 32,105, 61, 49, 10, 32,119,104,105,108,101, 32,
+ 115,101,108,102, 91,105, 93, 32,100,111, 10, 32, 32,114, 32,
+ 61, 32,115,101,108,102, 91,105, 93, 58,114,101,113,117,105,
+ 114,101, 99,111,108,108,101, 99,116,105,111,110, 40,116, 41,
+ 32,111,114, 32,114, 10, 32, 32,105, 32, 61, 32,105, 43, 49,
+ 10, 32,101,110,100, 10, 9,112,111,112, 40, 41, 10, 9, 45,
+ 45, 32,111,110,108,121, 32, 99,108, 97,115,115, 32,116,104,
+ 97,116, 32,101,120,112,111,114,116,115, 32,100,101,115,116,
+ 114,117, 99,116,111,114, 32, 99, 97,110, 32, 98,101, 32, 97,
+ 112,112,114,111,112,114,105, 97,116,101,108,121, 32, 99,111,
+ 108,108,101, 99,116,101,100, 10, 9, 45, 45, 32, 99,108, 97,
+ 115,115,101,115, 32,116,104, 97,116, 32,101,120,112,111,114,
+ 116, 32, 99,111,110,115,116,114,117, 99,116,111,114,115, 32,
+ 110,101,101,100, 32,116,111, 32,104, 97,118,101, 32, 97, 32,
+ 99,111,108,108,101, 99,116,111,114, 32, 40,111,118,101,114,
+ 114,105,100,101,100, 32, 98,121, 32, 45, 68, 32,102,108, 97,
+ 103, 32,111,110, 32, 99,111,109,109, 97,110,100, 32,108,105,
+ 110,101, 41, 10, 9,105,102, 32,115,101,108,102, 46, 95,100,
+ 101,108,101,116,101, 32,111,114, 32, 40, 40,110,111,116, 32,
+ 102,108, 97,103,115, 91, 39, 68, 39, 93, 41, 32, 97,110,100,
+ 32,115,101,108,102, 46, 95,110,101,119, 41, 32,116,104,101,
+ 110, 10, 9, 9, 45, 45,116, 91,115,101,108,102, 46,116,121,
+ 112,101, 93, 32, 61, 32, 34,116,111,108,117, 97, 95, 99,111,
+ 108,108,101, 99,116, 95, 34, 32, 46, 46, 32,103,115,117, 98,
+ 40,115,101,108,102, 46,116,121,112,101, 44, 34, 58, 58, 34,
+ 44, 34, 95, 34, 41, 10, 9, 9,116, 91,115,101,108,102, 46,
+ 116,121,112,101, 93, 32, 61, 32, 34,116,111,108,117, 97, 95,
+ 99,111,108,108,101, 99,116, 95, 34, 32, 46, 46, 32, 99,108,
+ 101, 97,110, 95,116,101,109,112,108, 97,116,101, 40,115,101,
+ 108,102, 46,116,121,112,101, 41, 10, 9, 9,114, 32, 61, 32,
+ 116,114,117,101, 10, 9,101,110,100, 10, 32,114,101,116,117,
+ 114,110, 32,114, 10,101,110,100, 10, 10, 45, 45, 32,111,117,
+ 116,112,117,116, 32,116, 97,103,115, 10,102,117,110, 99,116,
+ 105,111,110, 32, 99,108, 97,115,115, 67,108, 97,115,115, 58,
+ 100,101, 99,108,116,121,112,101, 32, 40, 41, 10, 32,112,117,
+ 115,104, 40,115,101,108,102, 41, 10, 9,115,101,108,102, 46,
+ 116,121,112,101, 32, 61, 32,114,101,103,116,121,112,101, 40,
+ 115,101,108,102, 46,111,114,105,103,105,110, 97,108, 95,110,
+ 97,109,101, 32,111,114, 32,115,101,108,102, 46,110, 97,109,
+ 101, 41, 10, 9,115,101,108,102, 46, 98,116,121,112,101, 32,
+ 61, 32,116,121,112,101,118, 97,114, 40,115,101,108,102, 46,
+ 98, 97,115,101, 41, 10, 9,115,101,108,102, 46, 99,116,121,
+ 112,101, 32, 61, 32, 39, 99,111,110,115,116, 32, 39, 46, 46,
+ 115,101,108,102, 46,116,121,112,101, 10, 9,105,102, 32,115,
+ 101,108,102, 46,101,120,116,114, 97, 95, 98, 97,115,101,115,
+ 32,116,104,101,110, 10, 9, 9,102,111,114, 32,105, 61, 49,
+ 44,116, 97, 98,108,101, 46,103,101,116,110, 40,115,101,108,
+ 102, 46,101,120,116,114, 97, 95, 98, 97,115,101,115, 41, 32,
+ 100,111, 10, 9, 9, 9,115,101,108,102, 46,101,120,116,114,
+ 97, 95, 98, 97,115,101,115, 91,105, 93, 32, 61, 32,116,121,
+ 112,101,118, 97,114, 40,115,101,108,102, 46,101,120,116,114,
+ 97, 95, 98, 97,115,101,115, 91,105, 93, 41, 10, 9, 9,101,
+ 110,100, 10, 9,101,110,100, 10, 32,108,111, 99, 97,108, 32,
+ 105, 61, 49, 10, 32,119,104,105,108,101, 32,115,101,108,102,
+ 91,105, 93, 32,100,111, 10, 32, 32,115,101,108,102, 91,105,
+ 93, 58,100,101, 99,108,116,121,112,101, 40, 41, 10, 32, 32,
+ 105, 32, 61, 32,105, 43, 49, 10, 32,101,110,100, 10, 9,112,
+ 111,112, 40, 41, 10,101,110,100, 10, 10, 10, 45, 45, 32, 80,
+ 114,105,110,116, 32,109,101,116,104,111,100, 10,102,117,110,
+ 99,116,105,111,110, 32, 99,108, 97,115,115, 67,108, 97,115,
+ 115, 58,112,114,105,110,116, 32, 40,105,100,101,110,116, 44,
+ 99,108,111,115,101, 41, 10, 32,112,114,105,110,116, 40,105,
+ 100,101,110,116, 46, 46, 34, 67,108, 97,115,115,123, 34, 41,
+ 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46,
+ 34, 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,
+ 108,102, 46,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10,
+ 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,
+ 32, 98, 97,115,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,
+ 102, 46, 98, 97,115,101, 46, 46, 34, 39, 59, 34, 41, 10, 32,
+ 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,
+ 108,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,
+ 102, 46,108,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10,
+ 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,
+ 32,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,
+ 102, 46,116,121,112,101, 46, 46, 34, 39, 44, 34, 41, 10, 32,
+ 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,
+ 98,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,
+ 102, 46, 98,116,121,112,101, 46, 46, 34, 39, 44, 34, 41, 10,
+ 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,
+ 32, 99,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,115,101,
+ 108,102, 46, 99,116,121,112,101, 46, 46, 34, 39, 44, 34, 41,
+ 10, 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32,119,104,
+ 105,108,101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10,
+ 32, 32,115,101,108,102, 91,105, 93, 58,112,114,105,110,116,
+ 40,105,100,101,110,116, 46, 46, 34, 32, 34, 44, 34, 44, 34,
+ 41, 10, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32,101,110,
+ 100, 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46,
+ 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,
+ 100, 10, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,
+ 115,115, 67,108, 97,115,115, 58,115,101,116, 95,112,114,111,
+ 116,101, 99,116,101,100, 95,100,101,115,116,114,117, 99,116,
+ 111,114, 40,112, 41, 10, 9,115,101,108,102, 46,102,108, 97,
+ 103,115, 46,112,114,111,116,101, 99,116,101,100, 95,100,101,
+ 115,116,114,117, 99,116,111,114, 32, 61, 32,115,101,108,102,
+ 46,102,108, 97,103,115, 46,112,114,111,116,101, 99,116,101,
+ 100, 95,100,101,115,116,114,117, 99,116,111,114, 32,111,114,
+ 32,112, 10,101,110,100, 10, 10, 45, 45, 32, 73,110,116,101,
+ 114,110, 97,108, 32, 99,111,110,115,116,114,117, 99,116,111,
+ 114, 10,102,117,110, 99,116,105,111,110, 32, 95, 67,108, 97,
+ 115,115, 32, 40,116, 41, 10, 32,115,101,116,109,101,116, 97,
+ 116, 97, 98,108,101, 40,116, 44, 99,108, 97,115,115, 67,108,
+ 97,115,115, 41, 10, 32,116, 58, 98,117,105,108,100,110, 97,
+ 109,101,115, 40, 41, 10, 32, 97,112,112,101,110,100, 40,116,
+ 41, 10, 32,114,101,116,117,114,110, 32,116, 10,101,110,100,
+ 10, 10, 45, 45, 32, 67,111,110,115,116,114,117, 99,116,111,
+ 114, 10, 45, 45, 32, 69,120,112,101, 99,116,115, 32,116,104,
+ 101, 32,110, 97,109,101, 44, 32,116,104,101, 32, 98, 97,115,
+ 101, 32, 40, 97,114,114, 97,121, 41, 32, 97,110,100, 32,116,
+ 104,101, 32, 98,111,100,121, 32,111,102, 32,116,104,101, 32,
+ 99,108, 97,115,115, 46, 10,102,117,110, 99,116,105,111,110,
+ 32, 67,108, 97,115,115, 32, 40,110, 44,112, 44, 98, 41, 10,
+ 10, 9,105,102, 32,116, 97, 98,108,101, 46,103,101,116,110,
+ 40,112, 41, 32, 62, 32, 49, 32,116,104,101,110, 10, 9, 9,
+ 98, 32, 61, 32,115,116,114,105,110,103, 46,115,117, 98, 40,
+ 98, 44, 32, 49, 44, 32, 45, 50, 41, 10, 9, 9,102,111,114,
+ 32,105, 61, 50, 44,116, 97, 98,108,101, 46,103,101,116,110,
+ 40,112, 41, 44, 49, 32,100,111, 10, 9, 9, 9, 98, 32, 61,
+ 32, 98, 46, 46, 34, 92,110, 32,116,111,108,117, 97, 95,105,
+ 110,104,101,114,105,116,115, 32, 34, 46, 46,112, 91,105, 93,
+ 46, 46, 34, 32, 95, 95, 34, 46, 46,112, 91,105, 93, 46, 46,
+ 34, 95, 95, 59, 92,110, 34, 10, 9, 9,101,110,100, 10, 9,
+ 9, 98, 32, 61, 32, 98, 46, 46, 34, 92,110,125, 34, 10, 9,
+ 101,110,100, 10, 10, 9, 45, 45, 32, 99,104,101, 99,107, 32,
+ 102,111,114, 32,116,101,109,112,108, 97,116,101, 10, 9, 98,
+ 32, 61, 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,
+ 98, 44, 32, 34, 94,123, 37,115, 42, 84, 69, 77, 80, 76, 65,
+ 84, 69, 95, 66, 73, 78, 68, 34, 44, 32, 34,123, 92,110, 84,
+ 79, 76, 85, 65, 95, 84, 69, 77, 80, 76, 65, 84, 69, 95, 66,
+ 73, 78, 68, 34, 41, 10, 9,108,111, 99, 97,108, 32,116, 44,
+ 95, 44, 84, 44, 73, 32, 61, 32,115,116,114,105,110,103, 46,
+ 102,105,110,100, 40, 98, 44, 32, 39, 94,123, 37,115, 42, 84,
+ 79, 76, 85, 65, 95, 84, 69, 77, 80, 76, 65, 84, 69, 95, 66,
+ 73, 78, 68, 37,115, 42, 37, 40, 43, 37,115, 42, 92, 34, 63,
+ 40, 91, 94, 92, 34, 44, 93, 42, 41, 92, 34, 63, 37,115, 42,
+ 44, 37,115, 42, 40, 91, 94, 37, 41, 93, 42, 41, 37,115, 42,
+ 37, 41, 43, 39, 41, 10, 9,105,102, 32,116, 32,116,104,101,
+ 110, 10, 10, 9, 9, 45, 45, 32,114,101,109,111,118,101, 32,
+ 113,117,111,116,101,115, 10, 9, 9, 73, 32, 61, 32,115,116,
+ 114,105,110,103, 46,103,115,117, 98, 40, 73, 44, 32, 34, 92,
+ 34, 34, 44, 32, 34, 34, 41, 10, 9, 9, 84, 32, 61, 32,115,
+ 116,114,105,110,103, 46,103,115,117, 98, 40, 84, 44, 32, 34,
+ 92, 34, 34, 44, 32, 34, 34, 41, 10, 9, 9, 45, 45, 32,103,
+ 101,116, 32,116,121,112,101, 32,108,105,115,116, 10, 9, 9,
+ 108,111, 99, 97,108, 32,116,121,112,101,115, 32, 61, 32,115,
+ 112,108,105,116, 95, 99, 95,116,111,107,101,110,115, 40, 73,
+ 44, 32, 34, 44, 34, 41, 10, 9, 9, 45, 45, 32,114,101,109,
+ 111,118,101, 32, 84, 69, 77, 80, 76, 65, 84, 69, 95, 66, 73,
+ 78, 68, 32,108,105,110,101, 10, 9, 9,108,111, 99, 97,108,
+ 32, 98,115, 32, 61, 32,115,116,114,105,110,103, 46,103,115,
+ 117, 98, 40, 98, 44, 32, 34, 94,123, 37,115, 42, 84, 79, 76,
+ 85, 65, 95, 84, 69, 77, 80, 76, 65, 84, 69, 95, 66, 73, 78,
+ 68, 91, 94, 92,110, 93, 42, 92,110, 34, 44, 32, 34,123, 92,
+ 110, 34, 41, 10, 9, 9, 9, 10, 9, 9,108,111, 99, 97,108,
+ 32, 84,108, 32, 61, 32,115,112,108,105,116, 40, 84, 44, 32,
+ 34, 32, 34, 41, 10, 9, 9,108,111, 99, 97,108, 32,116, 99,
+ 32, 61, 32, 84,101,109,112,108, 97,116,101, 67,108, 97,115,
+ 115, 40,110, 44, 32,112, 44, 32, 98,115, 44, 32, 84,108, 41,
+ 10, 10, 9, 9, 10, 9, 9,116, 99, 58,116,104,114,111,119,
+ 40,116,121,112,101,115, 44, 32,116,114,117,101, 41, 10, 9,
+ 9, 45, 45,102,111,114, 32,105, 61, 49, 44,116,121,112,101,
+ 115, 46,110, 32,100,111, 10, 9, 9, 45, 45, 9,116, 99, 58,
+ 116,104,114,111,119, 40,115,112,108,105,116, 95, 99, 95,116,
+ 111,107,101,110,115, 40,116,121,112,101,115, 91,105, 93, 44,
+ 32, 34, 32, 34, 41, 44, 32,116,114,117,101, 41, 10, 9, 9,
+ 45, 45,101,110,100, 10, 9, 9,114,101,116,117,114,110, 10,
+ 9,101,110,100, 10, 9, 10, 9,108,111, 99, 97,108, 32,109,
+ 98, 97,115,101, 10, 10, 9,105,102, 32,112, 32,116,104,101,
+ 110, 10, 9, 9,109, 98, 97,115,101, 32, 61, 32,116, 97, 98,
+ 108,101, 46,114,101,109,111,118,101, 40,112, 44, 32, 49, 41,
+ 10, 9, 9,105,102, 32,110,111,116, 32,112, 91, 49, 93, 32,
+ 116,104,101,110, 32,112, 32, 61, 32,110,105,108, 32,101,110,
+ 100, 10, 9,101,110,100, 10, 10, 9,109, 98, 97,115,101, 32,
+ 61, 32,109, 98, 97,115,101, 32, 97,110,100, 32,114,101,115,
+ 111,108,118,101, 95,116,101,109,112,108, 97,116,101, 95,116,
+ 121,112,101,115, 40,109, 98, 97,115,101, 41, 10, 10, 9,108,
+ 111, 99, 97,108, 32, 99, 10, 9,108,111, 99, 97,108, 32,111,
+ 110, 97,109,101, 32, 61, 32,115,116,114,105,110,103, 46,103,
+ 115,117, 98, 40,110, 44, 32, 34, 64, 46, 42, 36, 34, 44, 32,
+ 34, 34, 41, 10, 9,111,110, 97,109,101, 32, 61, 32,103,101,
+ 116,110, 97,109,101,115,112, 97, 99,101, 40, 99,108, 97,115,
+ 115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114,
+ 41, 46, 46,111,110, 97,109,101, 10, 10, 9,105,102, 32, 95,
+ 103,108,111, 98, 97,108, 95, 99,108, 97,115,115,101,115, 91,
+ 111,110, 97,109,101, 93, 32,116,104,101,110, 10, 9, 9, 99,
+ 32, 61, 32, 95,103,108,111, 98, 97,108, 95, 99,108, 97,115,
+ 115,101,115, 91,111,110, 97,109,101, 93, 10, 9, 9,105,102,
+ 32,109, 98, 97,115,101, 32, 97,110,100, 32, 40, 40,110,111,
+ 116, 32, 99, 46, 98, 97,115,101, 41, 32,111,114, 32, 99, 46,
+ 98, 97,115,101, 32, 61, 61, 32, 34, 34, 41, 32,116,104,101,
+ 110, 10, 9, 9, 9, 99, 46, 98, 97,115,101, 32, 61, 32,109,
+ 98, 97,115,101, 10, 9, 9,101,110,100, 10, 9,101,108,115,
+ 101, 10, 9, 9, 99, 32, 61, 32, 95, 67,108, 97,115,115, 40,
+ 95, 67,111,110,116, 97,105,110,101,114,123,110, 97,109,101,
+ 61,110, 44, 32, 98, 97,115,101, 61,109, 98, 97,115,101, 44,
+ 32,101,120,116,114, 97, 95, 98, 97,115,101,115, 61,112,125,
+ 41, 10, 10, 9, 9,108,111, 99, 97,108, 32,102,116, 32, 61,
+ 32,103,101,116,110, 97,109,101,115,112, 97, 99,101, 40, 99,
+ 46,112, 97,114,101,110,116, 41, 46, 46, 99, 46,111,114,105,
+ 103,105,110, 97,108, 95,110, 97,109,101, 10, 9, 9, 97,112,
+ 112,101,110,100, 95,103,108,111, 98, 97,108, 95,116,121,112,
+ 101, 40,102,116, 44, 32, 99, 41, 10, 9,101,110,100, 10, 10,
+ 9,112,117,115,104, 40, 99, 41, 10, 9, 99, 58,112, 97,114,
+ 115,101, 40,115,116,114,115,117, 98, 40, 98, 44, 50, 44,115,
+ 116,114,108,101,110, 40, 98, 41, 45, 49, 41, 41, 32, 45, 45,
+ 32,101,108,105,109,105,110, 97,116,101, 32, 98,114, 97, 99,
+ 101,115, 10, 9,112,111,112, 40, 41, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/class.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,109, 97,114,107, 32,117,112, 32, 99,111,109,109,
+ 101,110,116,115, 32, 97,110,100, 32,115,116,114,105,110,103,
+ 115, 10, 83, 84, 82, 49, 32, 61, 32, 34, 92, 48, 48, 49, 34,
+ 10, 83, 84, 82, 50, 32, 61, 32, 34, 92, 48, 48, 50, 34, 10,
+ 83, 84, 82, 51, 32, 61, 32, 34, 92, 48, 48, 51, 34, 10, 83,
+ 84, 82, 52, 32, 61, 32, 34, 92, 48, 48, 52, 34, 10, 82, 69,
+ 77, 32, 32, 61, 32, 34, 92, 48, 48, 53, 34, 10, 65, 78, 89,
+ 32, 32, 61, 32, 34, 40, 91, 92, 48, 48, 49, 45, 92, 48, 48,
+ 53, 93, 41, 34, 10, 69, 83, 67, 49, 32, 61, 32, 34, 92, 48,
+ 48, 54, 34, 10, 69, 83, 67, 50, 32, 61, 32, 34, 92, 48, 48,
+ 55, 34, 10, 10, 77, 65, 83, 75, 32, 61, 32,123, 32, 45, 45,
+ 32,116,104,101, 32,115,117, 98,115,116,105,116,117,116,105,
+ 111,110, 32,111,114,100,101,114, 32,105,115, 32,105,109,112,
+ 111,114,116, 97,110,116, 10, 32,123, 69, 83, 67, 49, 44, 32,
+ 34, 92, 92, 39, 34,125, 44, 10, 32,123, 69, 83, 67, 50, 44,
+ 32, 39, 92, 92, 34, 39,125, 44, 10, 32,123, 83, 84, 82, 49,
+ 44, 32, 34, 39, 34,125, 44, 10, 32,123, 83, 84, 82, 50, 44,
+ 32, 39, 34, 39,125, 44, 10, 32,123, 83, 84, 82, 51, 44, 32,
+ 34, 37, 91, 37, 91, 34,125, 44, 10, 32,123, 83, 84, 82, 52,
+ 44, 32, 34, 37, 93, 37, 93, 34,125, 44, 10, 32,123, 82, 69,
+ 77, 32, 44, 32, 34, 37, 45, 37, 45, 34,125, 44, 10,125, 10,
+ 10,102,117,110, 99,116,105,111,110, 32,109, 97,115,107, 32,
+ 40,115, 41, 10, 32,102,111,114, 32,105, 32, 61, 32, 49, 44,
+ 103,101,116,110, 40, 77, 65, 83, 75, 41, 32, 32,100,111, 10,
+ 32, 32,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 77, 65,
+ 83, 75, 91,105, 93, 91, 50, 93, 44, 77, 65, 83, 75, 91,105,
+ 93, 91, 49, 93, 41, 10, 32,101,110,100, 10, 32,114,101,116,
+ 117,114,110, 32,115, 10,101,110,100, 10, 10,102,117,110, 99,
+ 116,105,111,110, 32,117,110,109, 97,115,107, 32, 40,115, 41,
+ 10, 32,102,111,114, 32,105, 32, 61, 32, 49, 44,103,101,116,
+ 110, 40, 77, 65, 83, 75, 41, 32, 32,100,111, 10, 32, 32,115,
+ 32, 61, 32,103,115,117, 98, 40,115, 44, 77, 65, 83, 75, 91,
+ 105, 93, 91, 49, 93, 44, 77, 65, 83, 75, 91,105, 93, 91, 50,
+ 93, 41, 10, 32,101,110,100, 10, 32,114,101,116,117,114,110,
+ 32,115, 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,
+ 110, 32, 99,108,101, 97,110, 32, 40,115, 41, 10, 32, 45, 45,
+ 32, 99,104,101, 99,107, 32,102,111,114, 32, 99,111,109,112,
+ 105,108, 97,116,105,111,110, 32,101,114,114,111,114, 10, 32,
+ 108,111, 99, 97,108, 32, 99,111,100,101, 32, 61, 32, 34,114,
+ 101,116,117,114,110, 32,102,117,110, 99,116,105,111,110, 32,
+ 40, 41, 92,110, 34, 32, 46, 46, 32,115, 32, 46, 46, 32, 34,
+ 92,110, 32,101,110,100, 34, 10, 32,105,102, 32,110,111,116,
+ 32,100,111,115,116,114,105,110,103, 40, 99,111,100,101, 41,
+ 32,116,104,101,110, 10, 32, 32,114,101,116,117,114,110, 32,
+ 110,105,108, 10, 32,101,110,100, 10, 10, 32,105,102, 32,102,
+ 108, 97,103,115, 91, 39, 67, 39, 93, 32,116,104,101,110, 10,
+ 32, 9,114,101,116,117,114,110, 32,115, 10, 32,101,110,100,
+ 10, 10, 32,108,111, 99, 97,108, 32, 83, 32, 61, 32, 34, 34,
+ 32, 45, 45, 32,115, 97,118,101,100, 32,115,116,114,105,110,
+ 103, 10, 10, 32,115, 32, 61, 32,109, 97,115,107, 40,115, 41,
+ 10, 10, 32, 45, 45, 32,114,101,109,111,118,101, 32, 98,108,
+ 97,110,107,115, 32, 97,110,100, 32, 99,111,109,109,101,110,
+ 116,115, 10, 32,119,104,105,108,101, 32, 49, 32,100,111, 10,
+ 32, 32,108,111, 99, 97,108, 32, 98, 44,101, 44,100, 32, 61,
+ 32,115,116,114,102,105,110,100, 40,115, 44, 65, 78, 89, 41,
+ 10, 32, 32,105,102, 32, 98, 32,116,104,101,110, 10, 32, 32,
+ 32, 83, 32, 61, 32, 83, 46, 46,115,116,114,115,117, 98, 40,
+ 115, 44, 49, 44, 98, 45, 49, 41, 10, 32, 32, 32,115, 32, 61,
+ 32,115,116,114,115,117, 98, 40,115, 44, 98, 43, 49, 41, 10,
+ 32, 32, 32,105,102, 32,100, 61, 61, 83, 84, 82, 49, 32,111,
+ 114, 32,100, 61, 61, 83, 84, 82, 50, 32,116,104,101,110, 10,
+ 32, 32, 32, 32,101, 32, 61, 32,115,116,114,102,105,110,100,
+ 40,115, 44,100, 41, 10, 32, 32, 32, 32, 83, 32, 61, 32, 83,
+ 32, 46, 46,100, 46, 46,115,116,114,115,117, 98, 40,115, 44,
+ 49, 44,101, 41, 10, 32, 32, 32, 32,115, 32, 61, 32,115,116,
+ 114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10, 32, 32, 32,
+ 101,108,115,101,105,102, 32,100, 61, 61, 83, 84, 82, 51, 32,
+ 116,104,101,110, 10, 32, 32, 32, 32,101, 32, 61, 32,115,116,
+ 114,102,105,110,100, 40,115, 44, 83, 84, 82, 52, 41, 10, 32,
+ 32, 32, 32, 83, 32, 61, 32, 83, 46, 46,100, 46, 46,115,116,
+ 114,115,117, 98, 40,115, 44, 49, 44,101, 41, 10, 32, 32, 32,
+ 32,115, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44,101,
+ 43, 49, 41, 10, 32, 32, 32,101,108,115,101,105,102, 32,100,
+ 61, 61, 82, 69, 77, 32,116,104,101,110, 10, 32, 32, 32, 32,
+ 115, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 91, 94, 92,
+ 110, 93, 42, 40, 92,110, 63, 41, 34, 44, 34, 37, 49, 34, 44,
+ 49, 41, 10, 32, 32, 32,101,110,100, 10, 32, 32,101,108,115,
+ 101, 10, 32, 32, 32, 83, 32, 61, 32, 83, 46, 46,115, 10, 32,
+ 32, 32, 98,114,101, 97,107, 10, 32, 32,101,110,100, 10, 32,
+ 101,110,100, 10, 32, 45, 45, 32,101,108,105,109,105,110, 97,
+ 116,101, 32,117,110,101, 99,101,115,115, 97,114,121, 32,115,
+ 112, 97, 99,101,115, 10, 32, 83, 32, 61, 32,103,115,117, 98,
+ 40, 83, 44, 34, 91, 32, 92,116, 93, 43, 34, 44, 34, 32, 34,
+ 41, 10, 32, 83, 32, 61, 32,103,115,117, 98, 40, 83, 44, 34,
+ 91, 32, 92,116, 93, 42, 92,110, 91, 32, 92,116, 93, 42, 34,
+ 44, 34, 92,110, 34, 41, 10, 9, 83, 32, 61, 32,103,115,117,
+ 98, 40, 83, 44, 34, 92,110, 43, 34, 44, 34, 92,110, 34, 41,
+ 10, 32, 83, 32, 61, 32,117,110,109, 97,115,107, 40, 83, 41,
+ 10, 32,114,101,116,117,114,110, 32, 83, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/clean.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32, 71,101,110,101,114, 97,116,101, 32, 98,105,110,
+ 100,105,110,103, 32, 99,111,100,101, 10, 45, 45, 32, 87,114,
+ 105,116,116,101,110, 32, 98,121, 32, 87, 97,108,100,101,109,
+ 97,114, 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67,
+ 71,114, 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45,
+ 32, 74,117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 76, 97,
+ 115,116, 32,117,112,100, 97,116,101, 58, 32, 65,112,114, 32,
+ 50, 48, 48, 51, 10, 45, 45, 32, 36, 73,100, 58, 32, 36, 10,
+ 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,111,100,101, 32,
+ 105,115, 32,102,114,101,101, 32,115,111,102,116,119, 97,114,
+ 101, 59, 32,121,111,117, 32, 99, 97,110, 32,114,101,100,105,
+ 115,116,114,105, 98,117,116,101, 32,105,116, 32, 97,110,100,
+ 47,111,114, 32,109,111,100,105,102,121, 32,105,116, 46, 10,
+ 45, 45, 32, 84,104,101, 32,115,111,102,116,119, 97,114,101,
+ 32,112,114,111,118,105,100,101,100, 32,104,101,114,101,117,
+ 110,100,101,114, 32,105,115, 32,111,110, 32, 97,110, 32, 34,
+ 97,115, 32,105,115, 34, 32, 98, 97,115,105,115, 44, 32, 97,
+ 110,100, 10, 45, 45, 32,116,104,101, 32, 97,117,116,104,111,
+ 114, 32,104, 97,115, 32,110,111, 32,111, 98,108,105,103, 97,
+ 116,105,111,110, 32,116,111, 32,112,114,111,118,105,100,101,
+ 32,109, 97,105,110,116,101,110, 97,110, 99,101, 44, 32,115,
+ 117,112,112,111,114,116, 44, 32,117,112,100, 97,116,101,115,
+ 44, 10, 45, 45, 32,101,110,104, 97,110, 99,101,109,101,110,
+ 116,115, 44, 32,111,114, 32,109,111,100,105,102,105, 99, 97,
+ 116,105,111,110,115, 46, 10, 10,102,117,110, 99,116,105,111,
+ 110, 32,112, 97,114,115,101, 95,101,120,116,114, 97, 40, 41,
+ 10, 10, 9,102,111,114, 32,107, 44,118, 32,105,110, 32,105,
+ 112, 97,105,114,115, 40, 95,101,120,116,114, 97, 95,112, 97,
+ 114, 97,109,101,116,101,114,115, 32,111,114, 32,123,125, 41,
+ 32,100,111, 10, 9, 9, 10, 9, 9,108,111, 99, 97,108, 32,
+ 98, 44,101, 44,110, 97,109,101, 44,118, 97,108,117,101, 32,
+ 61, 32,115,116,114,105,110,103, 46,102,105,110,100, 40,118,
+ 44, 32, 34, 94, 40, 91, 94, 61, 93, 42, 41, 61, 40, 46, 42,
+ 41, 36, 34, 41, 10, 9, 9,105,102, 32, 98, 32,116,104,101,
+ 110, 10, 9, 9, 9, 95,101,120,116,114, 97, 95,112, 97,114,
+ 97,109,101,116,101,114,115, 91,110, 97,109,101, 93, 32, 61,
+ 32,118, 97,108,117,101, 10, 9, 9,101,108,115,101, 10, 9,
+ 9, 9, 95,101,120,116,114, 97, 95,112, 97,114, 97,109,101,
+ 116,101,114,115, 91,118, 93, 32, 61, 32,116,114,117,101, 10,
+ 9, 9,101,110,100, 10, 9,101,110,100, 10,101,110,100, 10,
+ 10,102,117,110, 99,116,105,111,110, 32,100,111,105,116, 32,
+ 40, 41, 10, 9, 45, 45, 32,100,101,102,105,110,101, 32,112,
+ 97, 99,107, 97,103,101, 32,110, 97,109,101, 44, 32,105,102,
+ 32,110,111,116, 32,112,114,111,118,105,100,101,100, 10, 9,
+ 105,102, 32,110,111,116, 32,102,108, 97,103,115, 46,110, 32,
+ 116,104,101,110, 10, 9, 9,105,102, 32,102,108, 97,103,115,
+ 46,102, 32,116,104,101,110, 10, 9, 9, 9,102,108, 97,103,
+ 115, 46,110, 32, 61, 32,103,115,117, 98, 40,102,108, 97,103,
+ 115, 46,102, 44, 34, 37, 46, 46, 42, 36, 34, 44, 34, 34, 41,
+ 10, 9, 9, 9, 95, 44, 95, 44,102,108, 97,103,115, 46,110,
+ 32, 61, 32,115,116,114,105,110,103, 46,102,105,110,100, 40,
+ 102,108, 97,103,115, 46,110, 44, 32, 34, 40, 91, 94, 47, 92,
+ 92, 93, 42, 41, 36, 34, 41, 10, 9, 9,101,108,115,101, 10,
+ 9, 9, 9,101,114,114,111,114, 40, 34, 35,110,111, 32,112,
+ 97, 99,107, 97,103,101, 32,110, 97,109,101, 32,110,111,114,
+ 32,105,110,112,117,116, 32,102,105,108,101, 32,112,114,111,
+ 118,105,100,101,100, 34, 41, 10, 9, 9,101,110,100, 10, 9,
+ 101,110,100, 10, 10, 9, 45, 45, 32,112, 97,114,115,101, 32,
+ 116, 97, 98,108,101, 32,119,105,116,104, 32,101,120,116,114,
+ 97, 32,112, 97,114, 97,109,116,101,114,115, 10, 9,112, 97,
+ 114,115,101, 95,101,120,116,114, 97, 40, 41, 10, 10, 9, 45,
+ 45, 32,100,111, 32,116,104,105,115, 32, 97,102,116,101,114,
+ 32,115,101,116,116,105,110,103, 32,116,104,101, 32,112, 97,
+ 99,107, 97,103,101, 32,110, 97,109,101, 10, 9,105,102, 32,
+ 102,108, 97,103,115, 91, 39, 76, 39, 93, 32,116,104,101,110,
+ 10, 9, 9,100,111,102,105,108,101, 40,102,108, 97,103,115,
+ 91, 39, 76, 39, 93, 41, 10, 9,101,110,100, 10, 10, 9, 45,
+ 45, 32, 97,100,100, 32, 99,112,112,115,116,114,105,110,103,
+ 10, 9,105,102, 32,110,111,116, 32,102,108, 97,103,115, 91,
+ 39, 83, 39, 93, 32,116,104,101,110, 10, 9, 9, 95, 98, 97,
+ 115,105, 99, 91, 39,115,116,114,105,110,103, 39, 93, 32, 61,
+ 32, 39, 99,112,112,115,116,114,105,110,103, 39, 10, 9, 9,
+ 95, 98, 97,115,105, 99, 91, 39,115,116,100, 58, 58,115,116,
+ 114,105,110,103, 39, 93, 32, 61, 32, 39, 99,112,112,115,116,
+ 114,105,110,103, 39, 10, 9, 9, 95, 98, 97,115,105, 99, 95,
+ 99,116,121,112,101, 46, 99,112,112,115,116,114,105,110,103,
+ 32, 61, 32, 39, 99,111,110,115,116, 32, 99,104, 97,114, 42,
+ 39, 10, 9,101,110,100, 10, 10, 9, 45, 45, 32,112,114,111,
+ 99, 99,101,115,115, 32,112, 97, 99,107, 97,103,101, 10, 9,
+ 108,111, 99, 97,108, 32,112, 32, 32, 61, 32, 80, 97, 99,107,
+ 97,103,101, 40,102,108, 97,103,115, 46,110, 44,102,108, 97,
+ 103,115, 46,102, 41, 10, 10, 9,105,102, 32,102,108, 97,103,
+ 115, 46,112, 32,116,104,101,110, 10, 9, 9,114,101,116,117,
+ 114,110, 32, 32, 32, 32, 32, 32, 32, 32, 45, 45, 32,111,110,
+ 108,121, 32,112, 97,114,115,101, 10, 9,101,110,100, 10, 10,
+ 9,105,102, 32,102,108, 97,103,115, 46,111, 32,116,104,101,
+ 110, 10, 9, 9,108,111, 99, 97,108, 32,115,116, 44,109,115,
+ 103, 32, 61, 32,119,114,105,116,101,116,111, 40,102,108, 97,
+ 103,115, 46,111, 41, 10, 9, 9,105,102, 32,110,111,116, 32,
+ 115,116, 32,116,104,101,110, 10, 9, 9, 9,101,114,114,111,
+ 114, 40, 39, 35, 39, 46, 46,109,115,103, 41, 10, 9, 9,101,
+ 110,100, 10, 9,101,110,100, 10, 10, 9,112, 58,100,101, 99,
+ 108,116,121,112,101, 40, 41, 10, 9,105,102, 32,102,108, 97,
+ 103,115, 46, 80, 32,116,104,101,110, 10, 9, 9,112, 58,112,
+ 114,105,110,116, 40, 41, 10, 9,101,108,115,101, 10, 9, 9,
+ 112,117,115,104, 40,112, 41, 10, 9, 9,112,114,101, 95,111,
+ 117,116,112,117,116, 95,104,111,111,107, 40,112, 41, 10, 9,
+ 9,112,111,112, 40, 41, 10, 9, 9,112, 58,112,114,101, 97,
+ 109, 98,108,101, 40, 41, 10, 9, 9,112, 58,115,117,112, 99,
+ 111,100,101, 40, 41, 10, 9, 9,112,117,115,104, 40,112, 41,
+ 10, 9, 9,112,114,101, 95,114,101,103,105,115,116,101,114,
+ 95,104,111,111,107, 40,112, 41, 10, 9, 9,112,111,112, 40,
+ 41, 10, 9, 9,112, 58,114,101,103,105,115,116,101,114, 40,
+ 41, 10, 9, 9,112,117,115,104, 40,112, 41, 10, 9, 9,112,
+ 111,115,116, 95,111,117,116,112,117,116, 95,104,111,111,107,
+ 40,112, 41, 10, 9, 9,112,111,112, 40, 41, 10, 9,101,110,
+ 100, 10, 10, 9,105,102, 32,102,108, 97,103,115, 46,111, 32,
+ 116,104,101,110, 10, 9, 9,119,114,105,116,101,116,111, 40,
+ 41, 10, 9,101,110,100, 10, 10, 9, 45, 45, 32,119,114,105,
+ 116,101, 32,104,101, 97,100,101,114, 32,102,105,108,101, 10,
+ 9,105,102, 32,110,111,116, 32,102,108, 97,103,115, 46, 80,
+ 32,116,104,101,110, 10, 9, 9,105,102, 32,102,108, 97,103,
+ 115, 46, 72, 32,116,104,101,110, 10, 9, 9, 9,108,111, 99,
+ 97,108, 32,115,116, 44,109,115,103, 32, 61, 32,119,114,105,
+ 116,101,116,111, 40,102,108, 97,103,115, 46, 72, 41, 10, 9,
+ 9, 9,105,102, 32,110,111,116, 32,115,116, 32,116,104,101,
+ 110, 10, 9, 9, 9, 9,101,114,114,111,114, 40, 39, 35, 39,
+ 46, 46,109,115,103, 41, 10, 9, 9, 9,101,110,100, 10, 9,
+ 9, 9,112, 58,104,101, 97,100,101,114, 40, 41, 10, 9, 9,
+ 9,119,114,105,116,101,116,111, 40, 41, 10, 9, 9,101,110,
+ 100, 10, 9,101,110,100, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: src/bin/lua/doit.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 10,108,111, 99, 97,108, 32,101,114,114, 44,109,115,103, 32,
+ 61, 32,112, 99, 97,108,108, 40,100,111,105,116, 41, 10,105,
+ 102, 32,110,111,116, 32,101,114,114, 32,116,104,101,110, 10,
+ 32,108,111, 99, 97,108, 32, 95, 44, 95, 44,108, 97, 98,101,
+ 108, 44,109,115,103, 32, 61, 32,115,116,114,102,105,110,100,
+ 40,109,115,103, 44, 34, 40, 46, 45, 58, 46, 45, 58, 37,115,
+ 42, 41, 40, 46, 42, 41, 34, 41, 10, 32,116,111,108,117, 97,
+ 95,101,114,114,111,114, 40,109,115,103, 44,108, 97, 98,101,
+ 108, 41, 10, 32,112,114,105,110,116, 40,100,101, 98,117,103,
+ 46,116,114, 97, 99,101, 98, 97, 99,107, 40, 41, 41, 10,101,
+ 110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code 23");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+ tolua_endmodule(tolua_S);
+ return 1;
+}
+
+
+#if defined(LUA_VERSION_NUM) && LUA_VERSION_NUM >= 501
+ TOLUA_API int luaopen_tolua (lua_State* tolua_S) {
+ return tolua_tolua_open(tolua_S);
+};
+#endif
+
diff --git a/ThirdParty/toluapp/src/bin/toluabind.h b/ThirdParty/toluapp/src/bin/toluabind.h
new file mode 100644
index 0000000..7f1f018
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/toluabind.h
@@ -0,0 +1,8 @@
+/*
+** Lua binding: tolua
+** Generated automatically by tolua++-1.0.92 on Sun Feb 15 22:29:48 2009.
+*/
+
+/* Exported function */
+TOLUA_API int tolua_tolua_open (lua_State* tolua_S);
+
diff --git a/ThirdParty/toluapp/src/bin/toluabind_default.c b/ThirdParty/toluapp/src/bin/toluabind_default.c
new file mode 100644
index 0000000..b5db813
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/toluabind_default.c
@@ -0,0 +1,8009 @@
+/*
+** Lua binding: tolua
+** Generated automatically by tolua++-1.0.92 on Fri Dec 28 21:37:36 2007.
+*/
+
+#ifndef __cplusplus
+#include "stdlib.h"
+#endif
+#include "string.h"
+
+#include "tolua++.h"
+
+/* Exported function */
+TOLUA_API int tolua_tolua_open (lua_State* tolua_S);
+
+
+/* function to register type */
+static void tolua_reg_types (lua_State* tolua_S)
+{
+}
+
+/* Open function */
+TOLUA_API int tolua_tolua_open (lua_State* tolua_S)
+{
+ tolua_open(tolua_S);
+ tolua_reg_types(tolua_S);
+ tolua_module(tolua_S,NULL,0);
+ tolua_beginmodule(tolua_S,NULL);
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 105,102, 32,115,116,114,105,110,103, 46,102,105,110,100, 40,
+ 95, 86, 69, 82, 83, 73, 79, 78, 44, 32, 34, 53, 37, 46, 48,
+ 34, 41, 32,116,104,101,110, 13, 10, 9,114,101,116,117,114,
+ 110, 13, 10,101,110,100, 13, 10, 13, 10, 45, 45, 32, 34,108,
+ 111, 97,100,102,105,108,101, 34, 13, 10,108,111, 99, 97,108,
+ 32,102,117,110, 99,116,105,111,110, 32,112,112, 95,100,111,
+ 102,105,108,101, 40,112, 97,116,104, 41, 13, 10, 13, 10, 9,
+ 108,111, 99, 97,108, 32,108,111, 97,100,101,100, 32, 61, 32,
+ 102, 97,108,115,101, 13, 10, 9,108,111, 99, 97,108, 32,103,
+ 101,116,102,105,108,101, 32, 61, 32,102,117,110, 99,116,105,
+ 111,110, 40, 41, 13, 10, 13, 10, 9, 9,105,102, 32,108,111,
+ 97,100,101,100, 32,116,104,101,110, 13, 10, 9, 9, 9,114,
+ 101,116,117,114,110, 13, 10, 9, 9,101,108,115,101, 13, 10,
+ 9, 9, 9,108,111, 99, 97,108, 32,102,105,108,101, 44,101,
+ 114,114, 32, 61, 32,105,111, 46,111,112,101,110, 40,112, 97,
+ 116,104, 41, 13, 10, 9, 9, 9,105,102, 32,110,111,116, 32,
+ 102,105,108,101, 32,116,104,101,110, 13, 10, 9, 9, 9, 9,
+ 101,114,114,111,114, 40, 34,101,114,114,111,114, 32,108,111,
+ 97,100,105,110,103, 32,102,105,108,101, 32, 34, 46, 46,112,
+ 97,116,104, 46, 46, 34, 58, 32, 34, 46, 46,101,114,114, 41,
+ 13, 10, 9, 9, 9,101,110,100, 13, 10, 9, 9, 9,108,111,
+ 99, 97,108, 32,114,101,116, 32, 61, 32,102,105,108,101, 58,
+ 114,101, 97,100, 40, 34, 42, 97, 34, 41, 13, 10, 9, 9, 9,
+ 102,105,108,101, 58, 99,108,111,115,101, 40, 41, 13, 10, 13,
+ 10, 9, 9, 9,114,101,116, 32, 61, 32,115,116,114,105,110,
+ 103, 46,103,115,117, 98, 40,114,101,116, 44, 32, 34, 37, 46,
+ 37, 46, 37, 46, 37,115, 42, 37, 41, 34, 44, 32, 34, 46, 46,
+ 46, 41, 32,108,111, 99, 97,108, 32, 97,114,103, 32, 61, 32,
+ 123,110, 61,115,101,108,101, 99,116, 40, 39, 35, 39, 44, 32,
+ 46, 46, 46, 41, 44, 32, 46, 46, 46,125, 59, 34, 41, 13, 10,
+ 13, 10, 9, 9, 9,108,111, 97,100,101,100, 32, 61, 32,116,
+ 114,117,101, 13, 10, 9, 9, 9,114,101,116,117,114,110, 32,
+ 114,101,116, 13, 10, 9, 9,101,110,100, 13, 10, 9,101,110,
+ 100, 13, 10, 13, 10, 9,108,111, 99, 97,108, 32,102, 32, 61,
+ 32,108,111, 97,100, 40,103,101,116,102,105,108,101, 44, 32,
+ 112, 97,116,104, 41, 13, 10, 9,105,102, 32,110,111,116, 32,
+ 102, 32,116,104,101,110, 13, 10, 9, 13, 10, 9, 9,101,114,
+ 114,111,114, 40, 34,101,114,114,111,114, 32,108,111, 97,100,
+ 105,110,103, 32,102,105,108,101, 32, 34, 46, 46,112, 97,116,
+ 104, 41, 13, 10, 9,101,110,100, 13, 10, 9,114,101,116,117,
+ 114,110, 32,102, 40, 41, 13, 10,101,110,100, 13, 10, 13, 10,
+ 111,108,100, 95,100,111,102,105,108,101, 32, 61, 32,100,111,
+ 102,105,108,101, 13, 10,100,111,102,105,108,101, 32, 61, 32,
+ 112,112, 95,100,111,102,105,108,101, 13, 10, 13, 10, 13, 10,
+ 45, 45, 32,115,116,114,105,110,103, 46,103,115,117, 98, 13,
+ 10, 45, 45, 91, 91, 13, 10,108,111, 99, 97,108, 32,111,103,
+ 115,117, 98, 32, 61, 32,115,116,114,105,110,103, 46,103,115,
+ 117, 98, 13, 10,108,111, 99, 97,108, 32,102,117,110, 99,116,
+ 105,111,110, 32, 99,111,109,112,103,115,117, 98, 40, 97, 44,
+ 98, 44, 99, 44,100, 41, 13, 10, 32, 32,105,102, 32,116,121,
+ 112,101, 40, 99, 41, 32, 61, 61, 32, 34,102,117,110, 99,116,
+ 105,111,110, 34, 32,116,104,101,110, 13, 10, 32, 32, 32, 32,
+ 108,111, 99, 97,108, 32,111, 99, 32, 61, 32, 99, 13, 10, 32,
+ 32, 32, 32, 99, 32, 61, 32,102,117,110, 99,116,105,111,110,
+ 32, 40, 46, 46, 46, 41, 32,114,101,116,117,114,110, 32,111,
+ 99, 40, 46, 46, 46, 41, 32,111,114, 32, 39, 39, 32,101,110,
+ 100, 13, 10, 32, 32,101,110,100, 13, 10, 32, 32,114,101,116,
+ 117,114,110, 32,111,103,115,117, 98, 40, 97, 44, 98, 44, 99,
+ 44,100, 41, 13, 10,101,110,100, 13, 10,115,116,114,105,110,
+ 103, 46,114,101,112,108, 32, 61, 32,111,103,115,117, 98, 13,
+ 10, 45, 45, 93, 93, 13, 10, 13, 10, 45, 45,115,116,114,105,
+ 110,103, 46,103,115,117, 98, 32, 61, 32, 99,111,109,112,103,
+ 115,117, 98, 13,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: lua/tolua++/src/bin/lua/compat-5.1.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 10, 45, 45, 32, 82,101, 97,108,
+ 32,103,108,111, 98, 97,108,115, 10, 45, 45, 32, 95, 65, 76,
+ 69, 82, 84, 10, 45, 45, 32, 95, 69, 82, 82, 79, 82, 77, 69,
+ 83, 83, 65, 71, 69, 10, 45, 45, 32, 95, 86, 69, 82, 83, 73,
+ 79, 78, 10, 45, 45, 32, 95, 71, 10, 45, 45, 32, 97,115,115,
+ 101,114,116, 10, 45, 45, 32,101,114,114,111,114, 10, 45, 45,
+ 32,109,101,116, 97,116, 97, 98,108,101, 10, 45, 45, 32,110,
+ 101,120,116, 10, 45, 45, 32,112,114,105,110,116, 10, 45, 45,
+ 32,114,101,113,117,105,114,101, 10, 45, 45, 32,116,111,110,
+ 117,109, 98,101,114, 10, 45, 45, 32,116,111,115,116,114,105,
+ 110,103, 10, 45, 45, 32,116,121,112,101, 10, 45, 45, 32,117,
+ 110,112, 97, 99,107, 10, 10, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 10,
+ 45, 45, 32, 99,111,108,108,101, 99,116,103, 97,114, 98, 97,
+ 103,101, 10, 45, 45, 32,103, 99,105,110,102,111, 10, 10, 45,
+ 45, 32,103,108,111, 98, 97,108,115, 10, 10, 45, 45, 32, 99,
+ 97,108,108, 32, 32, 32, 45, 62, 32,112,114,111,116,101, 99,
+ 116, 40,102, 44, 32,101,114,114, 41, 10, 45, 45, 32,108,111,
+ 97,100,102,105,108,101, 10, 45, 45, 32,108,111, 97,100,115,
+ 116,114,105,110,103, 10, 10, 45, 45, 32,114, 97,119,103,101,
+ 116, 10, 45, 45, 32,114, 97,119,115,101,116, 10, 10, 45, 45,
+ 32,103,101,116, 97,114,103,115, 32, 61, 32, 77, 97,105,110,
+ 46,103,101,116, 97,114,103,115, 32, 63, 63, 10, 10,114, 97,
+ 119,116,121,112,101, 32, 61, 32,116,121,112,101, 10, 10,102,
+ 117,110, 99,116,105,111,110, 32,100,111, 95, 32, 40,102, 44,
+ 32,101,114,114, 41, 10, 32, 32,105,102, 32,110,111,116, 32,
+ 102, 32,116,104,101,110, 32,112,114,105,110,116, 40,101,114,
+ 114, 41, 59, 32,114,101,116,117,114,110, 32,101,110,100, 10,
+ 32, 32,108,111, 99, 97,108, 32, 97, 44, 98, 32, 61, 32,112,
+ 99, 97,108,108, 40,102, 41, 10, 32, 32,105,102, 32,110,111,
+ 116, 32, 97, 32,116,104,101,110, 32,112,114,105,110,116, 40,
+ 98, 41, 59, 32,114,101,116,117,114,110, 32,110,105,108, 10,
+ 32, 32,101,108,115,101, 32,114,101,116,117,114,110, 32, 98,
+ 32,111,114, 32,116,114,117,101, 10, 32, 32,101,110,100, 10,
+ 101,110,100, 10, 10,102,117,110, 99,116,105,111,110, 32,100,
+ 111,115,116,114,105,110,103, 40,115, 41, 32,114,101,116,117,
+ 114,110, 32,100,111, 95, 40,108,111, 97,100,115,116,114,105,
+ 110,103, 40,115, 41, 41, 32,101,110,100, 10, 45, 45, 32,102,
+ 117,110, 99,116,105,111,110, 32,100,111,102,105,108,101, 40,
+ 115, 41, 32,114,101,116,117,114,110, 32,100,111, 95, 40,108,
+ 111, 97,100,102,105,108,101, 40,115, 41, 41, 32,101,110,100,
+ 10, 10, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 10, 45, 45, 32, 84, 97,
+ 98,108,101, 32,108,105, 98,114, 97,114,121, 10,108,111, 99,
+ 97,108, 32,116, 97, 98, 32, 61, 32,116, 97, 98,108,101, 10,
+ 102,111,114,101, 97, 99,104, 32, 61, 32,116, 97, 98, 46,102,
+ 111,114,101, 97, 99,104, 10,102,111,114,101, 97, 99,104,105,
+ 32, 61, 32,116, 97, 98, 46,102,111,114,101, 97, 99,104,105,
+ 10,103,101,116,110, 32, 61, 32,116, 97, 98, 46,103,101,116,
+ 110, 10,116,105,110,115,101,114,116, 32, 61, 32,116, 97, 98,
+ 46,105,110,115,101,114,116, 10,116,114,101,109,111,118,101,
+ 32, 61, 32,116, 97, 98, 46,114,101,109,111,118,101, 10,115,
+ 111,114,116, 32, 61, 32,116, 97, 98, 46,115,111,114,116, 10,
+ 10, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 10, 45, 45, 32, 68,101, 98,
+ 117,103, 32,108,105, 98,114, 97,114,121, 10,108,111, 99, 97,
+ 108, 32,100, 98,103, 32, 61, 32,100,101, 98,117,103, 10,103,
+ 101,116,105,110,102,111, 32, 61, 32,100, 98,103, 46,103,101,
+ 116,105,110,102,111, 10,103,101,116,108,111, 99, 97,108, 32,
+ 61, 32,100, 98,103, 46,103,101,116,108,111, 99, 97,108, 10,
+ 115,101,116, 99, 97,108,108,104,111,111,107, 32, 61, 32,102,
+ 117,110, 99,116,105,111,110, 32, 40, 41, 32,101,114,114,111,
+ 114, 34, 96,115,101,116, 99, 97,108,108,104,111,111,107, 39,
+ 32,105,115, 32,100,101,112,114,101, 99, 97,116,101,100, 34,
+ 32,101,110,100, 10,115,101,116,108,105,110,101,104,111,111,
+ 107, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40, 41,
+ 32,101,114,114,111,114, 34, 96,115,101,116,108,105,110,101,
+ 104,111,111,107, 39, 32,105,115, 32,100,101,112,114,101, 99,
+ 97,116,101,100, 34, 32,101,110,100, 10,115,101,116,108,111,
+ 99, 97,108, 32, 61, 32,100, 98,103, 46,115,101,116,108,111,
+ 99, 97,108, 10, 10, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 10, 45, 45,
+ 32,109, 97,116,104, 32,108,105, 98,114, 97,114,121, 10,108,
+ 111, 99, 97,108, 32,109, 97,116,104, 32, 61, 32,109, 97,116,
+ 104, 10, 97, 98,115, 32, 61, 32,109, 97,116,104, 46, 97, 98,
+ 115, 10, 97, 99,111,115, 32, 61, 32,102,117,110, 99,116,105,
+ 111,110, 32, 40,120, 41, 32,114,101,116,117,114,110, 32,109,
+ 97,116,104, 46,100,101,103, 40,109, 97,116,104, 46, 97, 99,
+ 111,115, 40,120, 41, 41, 32,101,110,100, 10, 97,115,105,110,
+ 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,120, 41,
+ 32,114,101,116,117,114,110, 32,109, 97,116,104, 46,100,101,
+ 103, 40,109, 97,116,104, 46, 97,115,105,110, 40,120, 41, 41,
+ 32,101,110,100, 10, 97,116, 97,110, 32, 61, 32,102,117,110,
+ 99,116,105,111,110, 32, 40,120, 41, 32,114,101,116,117,114,
+ 110, 32,109, 97,116,104, 46,100,101,103, 40,109, 97,116,104,
+ 46, 97,116, 97,110, 40,120, 41, 41, 32,101,110,100, 10, 97,
+ 116, 97,110, 50, 32, 61, 32,102,117,110, 99,116,105,111,110,
+ 32, 40,120, 44,121, 41, 32,114,101,116,117,114,110, 32,109,
+ 97,116,104, 46,100,101,103, 40,109, 97,116,104, 46, 97,116,
+ 97,110, 50, 40,120, 44,121, 41, 41, 32,101,110,100, 10, 99,
+ 101,105,108, 32, 61, 32,109, 97,116,104, 46, 99,101,105,108,
+ 10, 99,111,115, 32, 61, 32,102,117,110, 99,116,105,111,110,
+ 32, 40,120, 41, 32,114,101,116,117,114,110, 32,109, 97,116,
+ 104, 46, 99,111,115, 40,109, 97,116,104, 46,114, 97,100, 40,
+ 120, 41, 41, 32,101,110,100, 10,100,101,103, 32, 61, 32,109,
+ 97,116,104, 46,100,101,103, 10,101,120,112, 32, 61, 32,109,
+ 97,116,104, 46,101,120,112, 10,102,108,111,111,114, 32, 61,
+ 32,109, 97,116,104, 46,102,108,111,111,114, 10,102,114,101,
+ 120,112, 32, 61, 32,109, 97,116,104, 46,102,114,101,120,112,
+ 10,108,100,101,120,112, 32, 61, 32,109, 97,116,104, 46,108,
+ 100,101,120,112, 10,108,111,103, 32, 61, 32,109, 97,116,104,
+ 46,108,111,103, 10,108,111,103, 49, 48, 32, 61, 32,109, 97,
+ 116,104, 46,108,111,103, 49, 48, 10,109, 97,120, 32, 61, 32,
+ 109, 97,116,104, 46,109, 97,120, 10,109,105,110, 32, 61, 32,
+ 109, 97,116,104, 46,109,105,110, 10,109,111,100, 32, 61, 32,
+ 109, 97,116,104, 46,109,111,100, 10, 80, 73, 32, 61, 32,109,
+ 97,116,104, 46,112,105, 10, 45, 45, 63, 63, 63, 32,112,111,
+ 119, 32, 61, 32,109, 97,116,104, 46,112,111,119, 32, 32, 10,
+ 114, 97,100, 32, 61, 32,109, 97,116,104, 46,114, 97,100, 10,
+ 114, 97,110,100,111,109, 32, 61, 32,109, 97,116,104, 46,114,
+ 97,110,100,111,109, 10,114, 97,110,100,111,109,115,101,101,
+ 100, 32, 61, 32,109, 97,116,104, 46,114, 97,110,100,111,109,
+ 115,101,101,100, 10,115,105,110, 32, 61, 32,102,117,110, 99,
+ 116,105,111,110, 32, 40,120, 41, 32,114,101,116,117,114,110,
+ 32,109, 97,116,104, 46,115,105,110, 40,109, 97,116,104, 46,
+ 114, 97,100, 40,120, 41, 41, 32,101,110,100, 10,115,113,114,
+ 116, 32, 61, 32,109, 97,116,104, 46,115,113,114,116, 10,116,
+ 97,110, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,
+ 120, 41, 32,114,101,116,117,114,110, 32,109, 97,116,104, 46,
+ 116, 97,110, 40,109, 97,116,104, 46,114, 97,100, 40,120, 41,
+ 41, 32,101,110,100, 10, 10, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 10,
+ 45, 45, 32,115,116,114,105,110,103, 32,108,105, 98,114, 97,
+ 114,121, 10,108,111, 99, 97,108, 32,115,116,114, 32, 61, 32,
+ 115,116,114,105,110,103, 10,115,116,114, 98,121,116,101, 32,
+ 61, 32,115,116,114, 46, 98,121,116,101, 10,115,116,114, 99,
+ 104, 97,114, 32, 61, 32,115,116,114, 46, 99,104, 97,114, 10,
+ 115,116,114,102,105,110,100, 32, 61, 32,115,116,114, 46,102,
+ 105,110,100, 10,102,111,114,109, 97,116, 32, 61, 32,115,116,
+ 114, 46,102,111,114,109, 97,116, 10,103,115,117, 98, 32, 61,
+ 32,115,116,114, 46,103,115,117, 98, 10,115,116,114,108,101,
+ 110, 32, 61, 32,115,116,114, 46,108,101,110, 10,115,116,114,
+ 108,111,119,101,114, 32, 61, 32,115,116,114, 46,108,111,119,
+ 101,114, 10,115,116,114,114,101,112, 32, 61, 32,115,116,114,
+ 46,114,101,112, 10,115,116,114,115,117, 98, 32, 61, 32,115,
+ 116,114, 46,115,117, 98, 10,115,116,114,117,112,112,101,114,
+ 32, 61, 32,115,116,114, 46,117,112,112,101,114, 10, 10, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 10, 45, 45, 32,111,115, 32,108,105,
+ 98,114, 97,114,121, 10, 99,108,111, 99,107, 32, 61, 32,111,
+ 115, 46, 99,108,111, 99,107, 10,100, 97,116,101, 32, 61, 32,
+ 111,115, 46,100, 97,116,101, 10,100,105,102,102,116,105,109,
+ 101, 32, 61, 32,111,115, 46,100,105,102,102,116,105,109,101,
+ 10,101,120,101, 99,117,116,101, 32, 61, 32,111,115, 46,101,
+ 120,101, 99,117,116,101, 32, 45, 45, 63, 10,101,120,105,116,
+ 32, 61, 32,111,115, 46,101,120,105,116, 10,103,101,116,101,
+ 110,118, 32, 61, 32,111,115, 46,103,101,116,101,110,118, 10,
+ 114,101,109,111,118,101, 32, 61, 32,111,115, 46,114,101,109,
+ 111,118,101, 10,114,101,110, 97,109,101, 32, 61, 32,111,115,
+ 46,114,101,110, 97,109,101, 10,115,101,116,108,111, 99, 97,
+ 108,101, 32, 61, 32,111,115, 46,115,101,116,108,111, 99, 97,
+ 108,101, 10,116,105,109,101, 32, 61, 32,111,115, 46,116,105,
+ 109,101, 10,116,109,112,110, 97,109,101, 32, 61, 32,111,115,
+ 46,116,109,112,110, 97,109,101, 10, 10, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 10, 45, 45, 32, 99,111,109,112, 97,116,105, 98,105,
+ 108,105,116,121, 32,111,110,108,121, 10,103,101,116,103,108,
+ 111, 98, 97,108, 32, 61, 32,102,117,110, 99,116,105,111,110,
+ 32, 40,110, 41, 32,114,101,116,117,114,110, 32, 95, 71, 91,
+ 110, 93, 32,101,110,100, 10,115,101,116,103,108,111, 98, 97,
+ 108, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,110,
+ 44,118, 41, 32, 95, 71, 91,110, 93, 32, 61, 32,118, 32,101,
+ 110,100, 10, 10, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 10, 10,108,111,
+ 99, 97,108, 32,105,111, 44, 32,116, 97, 98, 32, 61, 32,105,
+ 111, 44, 32,116, 97, 98,108,101, 10, 10, 45, 45, 32, 73, 79,
+ 32,108,105, 98,114, 97,114,121, 32, 40,102,105,108,101,115,
+ 41, 10, 95, 83, 84, 68, 73, 78, 32, 61, 32,105,111, 46,115,
+ 116,100,105,110, 10, 95, 83, 84, 68, 69, 82, 82, 32, 61, 32,
+ 105,111, 46,115,116,100,101,114,114, 10, 95, 83, 84, 68, 79,
+ 85, 84, 32, 61, 32,105,111, 46,115,116,100,111,117,116, 10,
+ 95, 73, 78, 80, 85, 84, 32, 61, 32,105,111, 46,115,116,100,
+ 105,110, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,105,111,
+ 46,115,116,100,111,117,116, 10,115,101,101,107, 32, 61, 32,
+ 105,111, 46,115,116,100,105,110, 46,115,101,101,107, 32, 32,
+ 32, 45, 45, 32,115,105, 99,107, 32, 59, 45, 41, 10,116,109,
+ 112,102,105,108,101, 32, 61, 32,105,111, 46,116,109,112,102,
+ 105,108,101, 10, 99,108,111,115,101,102,105,108,101, 32, 61,
+ 32,105,111, 46, 99,108,111,115,101, 10,111,112,101,110,102,
+ 105,108,101, 32, 61, 32,105,111, 46,111,112,101,110, 10, 10,
+ 102,117,110, 99,116,105,111,110, 32,102,108,117,115,104, 32,
+ 40,102, 41, 10, 32, 32,105,102, 32,102, 32,116,104,101,110,
+ 32,102, 58,102,108,117,115,104, 40, 41, 10, 32, 32,101,108,
+ 115,101, 32, 95, 79, 85, 84, 80, 85, 84, 58,102,108,117,115,
+ 104, 40, 41, 10, 32, 32,101,110,100, 10,101,110,100, 10, 10,
+ 102,117,110, 99,116,105,111,110, 32,114,101, 97,100,102,114,
+ 111,109, 32, 40,110, 97,109,101, 41, 10, 32, 32,105,102, 32,
+ 110, 97,109,101, 32, 61, 61, 32,110,105,108, 32,116,104,101,
+ 110, 10, 32, 32, 32, 32,108,111, 99, 97,108, 32,102, 44, 32,
+ 101,114,114, 44, 32, 99,111,100, 32, 61, 32,105,111, 46, 99,
+ 108,111,115,101, 40, 95, 73, 78, 80, 85, 84, 41, 10, 32, 32,
+ 32, 32, 95, 73, 78, 80, 85, 84, 32, 61, 32,105,111, 46,115,
+ 116,100,105,110, 10, 32, 32, 32, 32,114,101,116,117,114,110,
+ 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 10, 32, 32,
+ 101,108,115,101, 10, 32, 32, 32, 32,108,111, 99, 97,108, 32,
+ 102, 44, 32,101,114,114, 44, 32, 99,111,100, 32, 61, 32,105,
+ 111, 46,111,112,101,110, 40,110, 97,109,101, 44, 32, 34,114,
+ 34, 41, 10, 32, 32, 32, 32, 95, 73, 78, 80, 85, 84, 32, 61,
+ 32,102, 32,111,114, 32, 95, 73, 78, 80, 85, 84, 10, 32, 32,
+ 32, 32,114,101,116,117,114,110, 32,102, 44, 32,101,114,114,
+ 44, 32, 99,111,100, 10, 32, 32,101,110,100, 10,101,110,100,
+ 10, 10,102,117,110, 99,116,105,111,110, 32,119,114,105,116,
+ 101,116,111, 32, 40,110, 97,109,101, 41, 10, 32, 32,105,102,
+ 32,110, 97,109,101, 32, 61, 61, 32,110,105,108, 32,116,104,
+ 101,110, 10, 32, 32, 32, 32,108,111, 99, 97,108, 32,102, 44,
+ 32,101,114,114, 44, 32, 99,111,100, 32, 61, 32,105,111, 46,
+ 99,108,111,115,101, 40, 95, 79, 85, 84, 80, 85, 84, 41, 10,
+ 32, 32, 32, 32, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,105,
+ 111, 46,115,116,100,111,117,116, 10, 32, 32, 32, 32,114,101,
+ 116,117,114,110, 32,102, 44, 32,101,114,114, 44, 32, 99,111,
+ 100, 10, 32, 32,101,108,115,101, 10, 32, 32, 32, 32,108,111,
+ 99, 97,108, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100,
+ 32, 61, 32,105,111, 46,111,112,101,110, 40,110, 97,109,101,
+ 44, 32, 34,119, 34, 41, 10, 32, 32, 32, 32, 95, 79, 85, 84,
+ 80, 85, 84, 32, 61, 32,102, 32,111,114, 32, 95, 79, 85, 84,
+ 80, 85, 84, 10, 32, 32, 32, 32,114,101,116,117,114,110, 32,
+ 102, 44, 32,101,114,114, 44, 32, 99,111,100, 10, 32, 32,101,
+ 110,100, 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,
+ 110, 32, 97,112,112,101,110,100,116,111, 32, 40,110, 97,109,
+ 101, 41, 10, 32, 32,108,111, 99, 97,108, 32,102, 44, 32,101,
+ 114,114, 44, 32, 99,111,100, 32, 61, 32,105,111, 46,111,112,
+ 101,110, 40,110, 97,109,101, 44, 32, 34, 97, 34, 41, 10, 32,
+ 32, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,102, 32,111,114,
+ 32, 95, 79, 85, 84, 80, 85, 84, 10, 32, 32,114,101,116,117,
+ 114,110, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 10,
+ 101,110,100, 10, 10,102,117,110, 99,116,105,111,110, 32,114,
+ 101, 97,100, 32, 40, 46, 46, 46, 41, 10, 32, 32,108,111, 99,
+ 97,108, 32,102, 32, 61, 32, 95, 73, 78, 80, 85, 84, 10, 32,
+ 32,105,102, 32,114, 97,119,116,121,112,101, 40, 97,114,103,
+ 91, 49, 93, 41, 32, 61, 61, 32, 39,117,115,101,114,100, 97,
+ 116, 97, 39, 32,116,104,101,110, 10, 32, 32, 32, 32,102, 32,
+ 61, 32,116, 97, 98, 46,114,101,109,111,118,101, 40, 97,114,
+ 103, 44, 32, 49, 41, 10, 32, 32,101,110,100, 10, 32, 32,114,
+ 101,116,117,114,110, 32,102, 58,114,101, 97,100, 40,117,110,
+ 112, 97, 99,107, 40, 97,114,103, 41, 41, 10,101,110,100, 10,
+ 10,102,117,110, 99,116,105,111,110, 32,119,114,105,116,101,
+ 32, 40, 46, 46, 46, 41, 10, 32, 32,108,111, 99, 97,108, 32,
+ 102, 32, 61, 32, 95, 79, 85, 84, 80, 85, 84, 10, 32, 32,105,
+ 102, 32,114, 97,119,116,121,112,101, 40, 97,114,103, 91, 49,
+ 93, 41, 32, 61, 61, 32, 39,117,115,101,114,100, 97,116, 97,
+ 39, 32,116,104,101,110, 10, 32, 32, 32, 32,102, 32, 61, 32,
+ 116, 97, 98, 46,114,101,109,111,118,101, 40, 97,114,103, 44,
+ 32, 49, 41, 10, 32, 32,101,110,100, 10, 32, 32,114,101,116,
+ 117,114,110, 32,102, 58,119,114,105,116,101, 40,117,110,112,
+ 97, 99,107, 40, 97,114,103, 41, 41, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: lua/tolua++/src/bin/lua/compat.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32, 98, 97,115,105, 99,
+ 32,117,116,105,108,105,116,121, 32,102,117,110, 99,116,105,
+ 111,110,115, 10, 45, 45, 32, 87,114,105,116,116,101,110, 32,
+ 98,121, 32, 87, 97,108,100,101,109, 97,114, 32, 67,101,108,
+ 101,115, 10, 45, 45, 32, 84,101, 67, 71,114, 97,102, 47, 80,
+ 85, 67, 45, 82,105,111, 10, 45, 45, 32, 74,117,108, 32, 49,
+ 57, 57, 56, 10, 45, 45, 32, 76, 97,115,116, 32,117,112,100,
+ 97,116,101, 58, 32, 65,112,114, 32, 50, 48, 48, 51, 10, 45,
+ 45, 32, 36, 73,100, 58, 32, 36, 10, 10, 45, 45, 32, 84,104,
+ 105,115, 32, 99,111,100,101, 32,105,115, 32,102,114,101,101,
+ 32,115,111,102,116,119, 97,114,101, 59, 32,121,111,117, 32,
+ 99, 97,110, 32,114,101,100,105,115,116,114,105, 98,117,116,
+ 101, 32,105,116, 32, 97,110,100, 47,111,114, 32,109,111,100,
+ 105,102,121, 32,105,116, 46, 10, 45, 45, 32, 84,104,101, 32,
+ 115,111,102,116,119, 97,114,101, 32,112,114,111,118,105,100,
+ 101,100, 32,104,101,114,101,117,110,100,101,114, 32,105,115,
+ 32,111,110, 32, 97,110, 32, 34, 97,115, 32,105,115, 34, 32,
+ 98, 97,115,105,115, 44, 32, 97,110,100, 10, 45, 45, 32,116,
+ 104,101, 32, 97,117,116,104,111,114, 32,104, 97,115, 32,110,
+ 111, 32,111, 98,108,105,103, 97,116,105,111,110, 32,116,111,
+ 32,112,114,111,118,105,100,101, 32,109, 97,105,110,116,101,
+ 110, 97,110, 99,101, 44, 32,115,117,112,112,111,114,116, 44,
+ 32,117,112,100, 97,116,101,115, 44, 10, 45, 45, 32,101,110,
+ 104, 97,110, 99,101,109,101,110,116,115, 44, 32,111,114, 32,
+ 109,111,100,105,102,105, 99, 97,116,105,111,110,115, 46, 10,
+ 10, 10, 45, 45, 32, 66, 97,115,105, 99, 32, 67, 32,116,121,
+ 112,101,115, 32, 97,110,100, 32,116,104,101,105,114, 32, 99,
+ 111,114,114,101,115,112,111,110,100,105,110,103, 32, 76,117,
+ 97, 32,116,121,112,101,115, 10, 45, 45, 32, 65,108,108, 32,
+ 111, 99, 99,117,114,114,101,110, 99,101,115, 32,111,102, 32,
+ 34, 99,104, 97,114, 42, 34, 32,119,105,108,108, 32, 98,101,
+ 32,114,101,112,108, 97, 99,101,100, 32, 98,121, 32, 34, 95,
+ 99,115,116,114,105,110,103, 34, 44, 10, 45, 45, 32, 97,110,
+ 100, 32, 97,108,108, 32,111, 99, 99,117,114,114,101,110, 99,
+ 101,115, 32,111,102, 32, 34,118,111,105,100, 42, 34, 32,119,
+ 105,108,108, 32, 98,101, 32,114,101,112,108, 97, 99,101,100,
+ 32, 98,121, 32, 34, 95,117,115,101,114,100, 97,116, 97, 34,
+ 10, 95, 98, 97,115,105, 99, 32, 61, 32,123, 10, 32, 91, 39,
+ 118,111,105,100, 39, 93, 32, 61, 32, 39, 39, 44, 10, 32, 91,
+ 39, 99,104, 97,114, 39, 93, 32, 61, 32, 39,110,117,109, 98,
+ 101,114, 39, 44, 10, 32, 91, 39,105,110,116, 39, 93, 32, 61,
+ 32, 39,110,117,109, 98,101,114, 39, 44, 10, 32, 91, 39,115,
+ 104,111,114,116, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,
+ 114, 39, 44, 10, 32, 91, 39,108,111,110,103, 39, 93, 32, 61,
+ 32, 39,110,117,109, 98,101,114, 39, 44, 10, 32, 91, 39,117,
+ 110,115,105,103,110,101,100, 39, 93, 32, 61, 32, 39,110,117,
+ 109, 98,101,114, 39, 44, 10, 32, 91, 39,102,108,111, 97,116,
+ 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44, 10,
+ 32, 91, 39,100,111,117, 98,108,101, 39, 93, 32, 61, 32, 39,
+ 110,117,109, 98,101,114, 39, 44, 10, 32, 91, 39, 95, 99,115,
+ 116,114,105,110,103, 39, 93, 32, 61, 32, 39,115,116,114,105,
+ 110,103, 39, 44, 10, 32, 91, 39, 95,117,115,101,114,100, 97,
+ 116, 97, 39, 93, 32, 61, 32, 39,117,115,101,114,100, 97,116,
+ 97, 39, 44, 10, 32, 91, 39, 99,104, 97,114, 42, 39, 93, 32,
+ 61, 32, 39,115,116,114,105,110,103, 39, 44, 10, 32, 91, 39,
+ 118,111,105,100, 42, 39, 93, 32, 61, 32, 39,117,115,101,114,
+ 100, 97,116, 97, 39, 44, 10, 32, 91, 39, 98,111,111,108, 39,
+ 93, 32, 61, 32, 39, 98,111,111,108,101, 97,110, 39, 44, 10,
+ 32, 91, 39,108,117, 97, 95, 79, 98,106,101, 99,116, 39, 93,
+ 32, 61, 32, 39,118, 97,108,117,101, 39, 44, 10, 32, 91, 39,
+ 76, 85, 65, 95, 86, 65, 76, 85, 69, 39, 93, 32, 61, 32, 39,
+ 118, 97,108,117,101, 39, 44, 32, 32, 32, 32, 45, 45, 32,102,
+ 111,114, 32, 99,111,109,112, 97,116,105, 98,105,108,105,116,
+ 121, 32,119,105,116,104, 32,116,111,108,117, 97, 32, 52, 46,
+ 48, 10, 32, 91, 39,108,117, 97, 95, 83,116, 97,116,101, 42,
+ 39, 93, 32, 61, 32, 39,115,116, 97,116,101, 39, 44, 10, 32,
+ 91, 39, 95,108,115,116, 97,116,101, 39, 93, 32, 61, 32, 39,
+ 115,116, 97,116,101, 39, 44, 10, 32, 91, 39,108,117, 97, 95,
+ 70,117,110, 99,116,105,111,110, 39, 93, 32, 61, 32, 39,118,
+ 97,108,117,101, 39, 44, 10,125, 10, 10, 95, 98, 97,115,105,
+ 99, 95, 99,116,121,112,101, 32, 61, 32,123, 10, 32,110,117,
+ 109, 98,101,114, 32, 61, 32, 34,108,117, 97, 95, 78,117,109,
+ 98,101,114, 34, 44, 10, 32,115,116,114,105,110,103, 32, 61,
+ 32, 34, 99,111,110,115,116, 32, 99,104, 97,114, 42, 34, 44,
+ 10, 32,117,115,101,114,100, 97,116, 97, 32, 61, 32, 34,118,
+ 111,105,100, 42, 34, 44, 10, 32, 98,111,111,108,101, 97,110,
+ 32, 61, 32, 34, 98,111,111,108, 34, 44, 10, 32,118, 97,108,
+ 117,101, 32, 61, 32, 34,105,110,116, 34, 44, 10, 32,115,116,
+ 97,116,101, 32, 61, 32, 34,108,117, 97, 95, 83,116, 97,116,
+ 101, 42, 34, 44, 10,125, 10, 10, 45, 45, 32,102,117,110, 99,
+ 116,105,111,110,115, 32,116,104,101, 32, 97,114,101, 32,117,
+ 115,101,100, 32,116,111, 32,100,111, 32, 97, 32, 39,114, 97,
+ 119, 32,112,117,115,104, 39, 32,111,102, 32, 98, 97,115,105,
+ 99, 32,116,121,112,101,115, 10, 95, 98, 97,115,105, 99, 95,
+ 114, 97,119, 95,112,117,115,104, 32, 61, 32,123,125, 10, 10,
+ 45, 45, 32, 76,105,115,116, 32,111,102, 32,117,115,101,114,
+ 32,100,101,102,105,110,101,100, 32,116,121,112,101,115, 10,
+ 45, 45, 32, 69, 97, 99,104, 32,116,121,112,101, 32, 99,111,
+ 114,114,101,115,112,111,110,100,115, 32,116,111, 32, 97, 32,
+ 118, 97,114,105, 97, 98,108,101, 32,110, 97,109,101, 32,116,
+ 104, 97,116, 32,115,116,111,114,101,115, 32,105,116,115, 32,
+ 116, 97,103, 32,118, 97,108,117,101, 46, 10, 95,117,115,101,
+ 114,116,121,112,101, 32, 61, 32,123,125, 10, 10, 45, 45, 32,
+ 76,105,115,116, 32,111,102, 32,116,121,112,101,115, 32,116,
+ 104, 97,116, 32,104, 97,118,101, 32,116,111, 32, 98,101, 32,
+ 99,111,108,108,101, 99,116,101,100, 10, 95, 99,111,108,108,
+ 101, 99,116, 32, 61, 32,123,125, 10, 10, 45, 45, 32, 76,105,
+ 115,116, 32,111,102, 32,116,121,112,101,115, 10, 95,103,108,
+ 111, 98, 97,108, 95,116,121,112,101,115, 32, 61, 32,123,110,
+ 61, 48,125, 10, 95,103,108,111, 98, 97,108, 95,116,121,112,
+ 101,115, 95,104, 97,115,104, 32, 61, 32,123,125, 10, 10, 45,
+ 45, 32,108,105,115,116, 32,111,102, 32, 99,108, 97,115,115,
+ 101,115, 10, 95,103,108,111, 98, 97,108, 95, 99,108, 97,115,
+ 115,101,115, 32, 61, 32,123,125, 10, 10, 45, 45, 32, 76,105,
+ 115,116, 32,111,102, 32,101,110,117,109, 32, 99,111,110,115,
+ 116, 97,110,116,115, 10, 95,103,108,111, 98, 97,108, 95,101,
+ 110,117,109,115, 32, 61, 32,123,125, 10, 10, 45, 45, 32, 76,
+ 105,115,116, 32,111,102, 32, 97,117,116,111, 32,114,101,110,
+ 97,109,105,110,103, 10, 95,114,101,110, 97,109,105,110,103,
+ 32, 61, 32,123,125, 10,102,117,110, 99,116,105,111,110, 32,
+ 97,112,112,101,110,100,114,101,110, 97,109,105,110,103, 32,
+ 40,115, 41, 10, 32,108,111, 99, 97,108, 32, 98, 44,101, 44,
+ 111,108,100, 44,110,101,119, 32, 61, 32,115,116,114,102,105,
+ 110,100, 40,115, 44, 34, 37,115, 42, 40, 46, 45, 41, 37,115,
+ 42, 64, 37,115, 42, 40, 46, 45, 41, 37,115, 42, 36, 34, 41,
+ 10, 9,105,102, 32,110,111,116, 32, 98, 32,116,104,101,110,
+ 10, 9, 32,101,114,114,111,114, 40, 34, 35, 73,110,118, 97,
+ 108,105,100, 32,114,101,110, 97,109,105,110,103, 32,115,121,
+ 110,116, 97,120, 59, 32,105,116, 32,115,104,111,117,108,100,
+ 32, 98,101, 32,111,102, 32,116,104,101, 32,102,111,114,109,
+ 58, 32,112, 97,116,116,101,114,110, 64,112, 97,116,116,101,
+ 114,110, 34, 41, 10, 9,101,110,100, 10, 9,116,105,110,115,
+ 101,114,116, 40, 95,114,101,110, 97,109,105,110,103, 44,123,
+ 111,108,100, 61,111,108,100, 44, 32,110,101,119, 61,110,101,
+ 119,125, 41, 10,101,110,100, 10, 10,102,117,110, 99,116,105,
+ 111,110, 32, 97,112,112,108,121,114,101,110, 97,109,105,110,
+ 103, 32, 40,115, 41, 10, 9,102,111,114, 32,105, 61, 49, 44,
+ 103,101,116,110, 40, 95,114,101,110, 97,109,105,110,103, 41,
+ 32,100,111, 10, 9, 32,108,111, 99, 97,108, 32,109, 44,110,
+ 32, 61, 32,103,115,117, 98, 40,115, 44, 95,114,101,110, 97,
+ 109,105,110,103, 91,105, 93, 46,111,108,100, 44, 95,114,101,
+ 110, 97,109,105,110,103, 91,105, 93, 46,110,101,119, 41, 10,
+ 9, 9,105,102, 32,110, 32,126, 61, 32, 48, 32,116,104,101,
+ 110, 10, 9, 9, 32,114,101,116,117,114,110, 32,109, 10, 9,
+ 9,101,110,100, 10, 9,101,110,100, 10, 9,114,101,116,117,
+ 114,110, 32,110,105,108, 10,101,110,100, 10, 10, 45, 45, 32,
+ 69,114,114,111,114, 32,104, 97,110,100,108,101,114, 10,102,
+ 117,110, 99,116,105,111,110, 32,116,111,108,117, 97, 95,101,
+ 114,114,111,114, 32, 40,115, 44,102, 41, 10,105,102, 32, 95,
+ 99,117,114,114, 95, 99,111,100,101, 32,116,104,101,110, 10,
+ 9,112,114,105,110,116, 40, 34, 42, 42, 42, 99,117,114,114,
+ 32, 99,111,100,101, 32,102,111,114, 32,101,114,114,111,114,
+ 32,105,115, 32, 34, 46, 46,116,111,115,116,114,105,110,103,
+ 40, 95, 99,117,114,114, 95, 99,111,100,101, 41, 41, 10, 9,
+ 112,114,105,110,116, 40,100,101, 98,117,103, 46,116,114, 97,
+ 99,101, 98, 97, 99,107, 40, 41, 41, 10,101,110,100, 10, 32,
+ 108,111, 99, 97,108, 32,111,117,116, 32, 61, 32, 95, 79, 85,
+ 84, 80, 85, 84, 10, 32, 95, 79, 85, 84, 80, 85, 84, 32, 61,
+ 32, 95, 83, 84, 68, 69, 82, 82, 10, 32,105,102, 32,115,116,
+ 114,115,117, 98, 40,115, 44, 49, 44, 49, 41, 32, 61, 61, 32,
+ 39, 35, 39, 32,116,104,101,110, 10, 32, 32,119,114,105,116,
+ 101, 40, 34, 92,110, 42, 42, 32,116,111,108,117, 97, 58, 32,
+ 34, 46, 46,115,116,114,115,117, 98, 40,115, 44, 50, 41, 46,
+ 46, 34, 46, 92,110, 92,110, 34, 41, 10, 32, 32,105,102, 32,
+ 95, 99,117,114,114, 95, 99,111,100,101, 32,116,104,101,110,
+ 10, 32, 32, 32,108,111, 99, 97,108, 32, 95, 44, 95, 44,115,
+ 32, 61, 32,115,116,114,102,105,110,100, 40, 95, 99,117,114,
+ 114, 95, 99,111,100,101, 44, 34, 94, 37,115, 42, 40, 46, 45,
+ 92,110, 41, 34, 41, 32, 45, 45, 32,101,120,116,114, 97, 99,
+ 116, 32,102,105,114,115,116, 32,108,105,110,101, 10, 32, 32,
+ 32,105,102, 32,115, 61, 61,110,105,108, 32,116,104,101,110,
+ 32,115, 32, 61, 32, 95, 99,117,114,114, 95, 99,111,100,101,
+ 32,101,110,100, 10, 32, 32, 32,115, 32, 61, 32,103,115,117,
+ 98, 40,115, 44, 34, 95,117,115,101,114,100, 97,116, 97, 34,
+ 44, 34,118,111,105,100, 42, 34, 41, 32, 45, 45, 32,114,101,
+ 116,117,114,110, 32,119,105,116,104, 32, 39,118,111,105,100,
+ 42, 39, 10, 32, 32, 32,115, 32, 61, 32,103,115,117, 98, 40,
+ 115, 44, 34, 95, 99,115,116,114,105,110,103, 34, 44, 34, 99,
+ 104, 97,114, 42, 34, 41, 32, 32, 45, 45, 32,114,101,116,117,
+ 114,110, 32,119,105,116,104, 32, 39, 99,104, 97,114, 42, 39,
+ 10, 32, 32, 32,115, 32, 61, 32,103,115,117, 98, 40,115, 44,
+ 34, 95,108,115,116, 97,116,101, 34, 44, 34,108,117, 97, 95,
+ 83,116, 97,116,101, 42, 34, 41, 32, 32, 45, 45, 32,114,101,
+ 116,117,114,110, 32,119,105,116,104, 32, 39,108,117, 97, 95,
+ 83,116, 97,116,101, 42, 39, 10, 32, 32, 32,119,114,105,116,
+ 101, 40, 34, 67,111,100,101, 32, 98,101,105,110,103, 32,112,
+ 114,111, 99,101,115,115,101,100, 58, 92,110, 34, 46, 46,115,
+ 46, 46, 34, 92,110, 34, 41, 10, 32, 32,101,110,100, 10, 32,
+ 101,108,115,101, 10, 32,105,102, 32,110,111,116, 32,102, 32,
+ 116,104,101,110, 32,102, 32, 61, 32, 34, 40,102, 32,105,115,
+ 32,110,105,108, 41, 34, 32,101,110,100, 10, 32, 32,112,114,
+ 105,110,116, 40, 34, 92,110, 42, 42, 32,116,111,108,117, 97,
+ 32,105,110,116,101,114,110, 97,108, 32,101,114,114,111,114,
+ 58, 32, 34, 46, 46,102, 46, 46,115, 46, 46, 34, 46, 92,110,
+ 92,110, 34, 41, 10, 32, 32,114,101,116,117,114,110, 10, 32,
+ 101,110,100, 10, 32, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,
+ 111,117,116, 10,101,110,100, 10, 10,102,117,110, 99,116,105,
+ 111,110, 32,119, 97,114,110,105,110,103, 32, 40,109,115,103,
+ 41, 10, 32,105,102, 32,102,108, 97,103,115, 46,113, 32,116,
+ 104,101,110, 32,114,101,116,117,114,110, 32,101,110,100, 10,
+ 32,108,111, 99, 97,108, 32,111,117,116, 32, 61, 32, 95, 79,
+ 85, 84, 80, 85, 84, 10, 32, 95, 79, 85, 84, 80, 85, 84, 32,
+ 61, 32, 95, 83, 84, 68, 69, 82, 82, 10, 32,119,114,105,116,
+ 101, 40, 34, 92,110, 42, 42, 32,116,111,108,117, 97, 32,119,
+ 97,114,110,105,110,103, 58, 32, 34, 46, 46,109,115,103, 46,
+ 46, 34, 46, 92,110, 92,110, 34, 41, 10, 32, 95, 79, 85, 84,
+ 80, 85, 84, 32, 61, 32,111,117,116, 10,101,110,100, 10, 10,
+ 45, 45, 32,114,101,103,105,115,116,101,114, 32, 97,110, 32,
+ 117,115,101,114, 32,100,101,102,105,110,101,100, 32,116,121,
+ 112,101, 58, 32,114,101,116,117,114,110,115, 32,102,117,108,
+ 108, 32,116,121,112,101, 10,102,117,110, 99,116,105,111,110,
+ 32,114,101,103,116,121,112,101, 32, 40,116, 41, 10, 9, 45,
+ 45,105,102, 32,105,115, 98, 97,115,105, 99, 40,116, 41, 32,
+ 116,104,101,110, 10, 9, 45, 45, 9,114,101,116,117,114,110,
+ 32,116, 10, 9, 45, 45,101,110,100, 10, 9,108,111, 99, 97,
+ 108, 32,102,116, 32, 61, 32,102,105,110,100,116,121,112,101,
+ 40,116, 41, 10, 10, 9,105,102, 32,110,111,116, 32, 95,117,
+ 115,101,114,116,121,112,101, 91,102,116, 93, 32,116,104,101,
+ 110, 10, 9, 9,114,101,116,117,114,110, 32, 97,112,112,101,
+ 110,100,117,115,101,114,116,121,112,101, 40,116, 41, 10, 9,
+ 101,110,100, 10, 9,114,101,116,117,114,110, 32,102,116, 10,
+ 101,110,100, 10, 10, 45, 45, 32,114,101,116,117,114,110, 32,
+ 116,121,112,101, 32,110, 97,109,101, 58, 32,114,101,116,117,
+ 114,110,115, 32,102,117,108,108, 32,116,121,112,101, 10,102,
+ 117,110, 99,116,105,111,110, 32,116,121,112,101,118, 97,114,
+ 40,116,121,112,101, 41, 10, 9,105,102, 32,116,121,112,101,
+ 32, 61, 61, 32, 39, 39, 32,111,114, 32,116,121,112,101, 32,
+ 61, 61, 32, 39,118,111,105,100, 39, 32,116,104,101,110, 10,
+ 9, 9,114,101,116,117,114,110, 32,116,121,112,101, 10, 9,
+ 101,108,115,101, 10, 9, 9,108,111, 99, 97,108, 32,102,116,
+ 32, 61, 32,102,105,110,100,116,121,112,101, 40,116,121,112,
+ 101, 41, 10, 9, 9,105,102, 32,102,116, 32,116,104,101,110,
+ 10, 9, 9, 9,114,101,116,117,114,110, 32,102,116, 10, 9,
+ 9,101,110,100, 10, 9, 9, 95,117,115,101,114,116,121,112,
+ 101, 91,116,121,112,101, 93, 32, 61, 32,116,121,112,101, 10,
+ 9, 9,114,101,116,117,114,110, 32,116,121,112,101, 10, 9,
+ 101,110,100, 10,101,110,100, 10, 10, 45, 45, 32, 99,104,101,
+ 99,107, 32,105,102, 32, 98, 97,115,105, 99, 32,116,121,112,
+ 101, 10,102,117,110, 99,116,105,111,110, 32,105,115, 98, 97,
+ 115,105, 99, 32, 40,116,121,112,101, 41, 10, 32,108,111, 99,
+ 97,108, 32,116, 32, 61, 32,103,115,117, 98, 40,116,121,112,
+ 101, 44, 39, 99,111,110,115,116, 32, 39, 44, 39, 39, 41, 10,
+ 32,108,111, 99, 97,108, 32,109, 44,116, 32, 61, 32, 97,112,
+ 112,108,121,116,121,112,101,100,101,102, 40, 39, 39, 44, 32,
+ 116, 41, 10, 32,108,111, 99, 97,108, 32, 98, 32, 61, 32, 95,
+ 98, 97,115,105, 99, 91,116, 93, 10, 32,105,102, 32, 98, 32,
+ 116,104,101,110, 10, 32, 32,114,101,116,117,114,110, 32, 98,
+ 44, 95, 98, 97,115,105, 99, 95, 99,116,121,112,101, 91, 98,
+ 93, 10, 32,101,110,100, 10, 32,114,101,116,117,114,110, 32,
+ 110,105,108, 10,101,110,100, 10, 10, 45, 45, 32,115,112,108,
+ 105,116, 32,115,116,114,105,110,103, 32,117,115,105,110,103,
+ 32, 97, 32,116,111,107,101,110, 10,102,117,110, 99,116,105,
+ 111,110, 32,115,112,108,105,116, 32, 40,115, 44,116, 41, 10,
+ 32,108,111, 99, 97,108, 32,108, 32, 61, 32,123,110, 61, 48,
+ 125, 10, 32,108,111, 99, 97,108, 32,102, 32, 61, 32,102,117,
+ 110, 99,116,105,111,110, 32, 40,115, 41, 10, 32, 32,108, 46,
+ 110, 32, 61, 32,108, 46,110, 32, 43, 32, 49, 10, 32, 32,108,
+ 91,108, 46,110, 93, 32, 61, 32,115, 10, 32, 32,114,101,116,
+ 117,114,110, 32, 34, 34, 10, 32,101,110,100, 10, 32,108,111,
+ 99, 97,108, 32,112, 32, 61, 32, 34, 37,115, 42, 40, 46, 45,
+ 41, 37,115, 42, 34, 46, 46,116, 46, 46, 34, 37,115, 42, 34,
+ 10, 32,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 94,
+ 37,115, 43, 34, 44, 34, 34, 41, 10, 32,115, 32, 61, 32,103,
+ 115,117, 98, 40,115, 44, 34, 37,115, 43, 36, 34, 44, 34, 34,
+ 41, 10, 32,115, 32, 61, 32,103,115,117, 98, 40,115, 44,112,
+ 44,102, 41, 10, 32,108, 46,110, 32, 61, 32,108, 46,110, 32,
+ 43, 32, 49, 10, 32,108, 91,108, 46,110, 93, 32, 61, 32,103,
+ 115,117, 98, 40,115, 44, 34, 40, 37,115, 37,115, 42, 41, 36,
+ 34, 44, 34, 34, 41, 10, 32,114,101,116,117,114,110, 32,108,
+ 10,101,110,100, 10, 10, 45, 45, 32,115,112,108,105,116,115,
+ 32, 97, 32,115,116,114,105,110,103, 32,117,115,105,110,103,
+ 32, 97, 32,112, 97,116,116,101,114,110, 44, 32, 99,111,110,
+ 115,105,100,101,114,105,110,103, 32,116,104,101, 32,115,112,
+ 97, 99,105, 97,108, 32, 99, 97,115,101,115, 32,111,102, 32,
+ 67, 32, 99,111,100,101, 32, 40,116,101,109,112,108, 97,116,
+ 101,115, 44, 32,102,117,110, 99,116,105,111,110, 32,112, 97,
+ 114, 97,109,101,116,101,114,115, 44, 32,101,116, 99, 41, 10,
+ 45, 45, 32,112, 97,116,116,101,114,110, 32, 99, 97,110, 39,
+ 116, 32, 99,111,110,116, 97,105,110, 32,116,104,101, 32, 39,
+ 94, 39, 32, 40, 97,115, 32,117,115,101,100, 32,116,111, 32,
+ 105,100,101,110,116,105,102,121, 32,116,104,101, 32, 98,101,
+ 103,105,110,105,110,103, 32,111,102, 32,116,104,101, 32,108,
+ 105,110,101, 41, 10, 45, 45, 32, 97,108,115,111, 32,115,116,
+ 114,105,112,115, 32,119,104,105,116,101,115,112, 97, 99,101,
+ 10,102,117,110, 99,116,105,111,110, 32,115,112,108,105,116,
+ 95, 99, 95,116,111,107,101,110,115, 40,115, 44, 32,112, 97,
+ 116, 41, 10, 10, 9,115, 32, 61, 32,115,116,114,105,110,103,
+ 46,103,115,117, 98, 40,115, 44, 32, 34, 94, 37,115, 42, 34,
+ 44, 32, 34, 34, 41, 10, 9,115, 32, 61, 32,115,116,114,105,
+ 110,103, 46,103,115,117, 98, 40,115, 44, 32, 34, 37,115, 42,
+ 36, 34, 44, 32, 34, 34, 41, 10, 10, 9,108,111, 99, 97,108,
+ 32,116,111,107,101,110, 95, 98,101,103,105,110, 32, 61, 32,
+ 49, 10, 9,108,111, 99, 97,108, 32,116,111,107,101,110, 95,
+ 101,110,100, 32, 61, 32, 49, 10, 9,108,111, 99, 97,108, 32,
+ 111,102,115, 32, 61, 32, 49, 10, 9,108,111, 99, 97,108, 32,
+ 114,101,116, 32, 61, 32,123,110, 61, 48,125, 10, 10, 9,102,
+ 117,110, 99,116,105,111,110, 32, 97,100,100, 95,116,111,107,
+ 101,110, 40,111,102,115, 41, 10, 10, 9, 9,108,111, 99, 97,
+ 108, 32,116, 32, 61, 32,115,116,114,105,110,103, 46,115,117,
+ 98, 40,115, 44, 32,116,111,107,101,110, 95, 98,101,103,105,
+ 110, 44, 32,111,102,115, 41, 10, 9, 9,116, 32, 61, 32,115,
+ 116,114,105,110,103, 46,103,115,117, 98, 40,116, 44, 32, 34,
+ 94, 37,115, 42, 34, 44, 32, 34, 34, 41, 10, 9, 9,116, 32,
+ 61, 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,116,
+ 44, 32, 34, 37,115, 42, 36, 34, 44, 32, 34, 34, 41, 10, 9,
+ 9,114,101,116, 46,110, 32, 61, 32,114,101,116, 46,110, 32,
+ 43, 32, 49, 10, 9, 9,114,101,116, 91,114,101,116, 46,110,
+ 93, 32, 61, 32,116, 10, 9,101,110,100, 10, 10, 9,119,104,
+ 105,108,101, 32,111,102,115, 32, 60, 61, 32,115,116,114,105,
+ 110,103, 46,108,101,110, 40,115, 41, 32,100,111, 10, 10, 9,
+ 9,108,111, 99, 97,108, 32,115,117, 98, 32, 61, 32,115,116,
+ 114,105,110,103, 46,115,117, 98, 40,115, 44, 32,111,102,115,
+ 44, 32, 45, 49, 41, 10, 9, 9,108,111, 99, 97,108, 32, 98,
+ 44,101, 32, 61, 32,115,116,114,105,110,103, 46,102,105,110,
+ 100, 40,115,117, 98, 44, 32, 34, 94, 34, 46, 46,112, 97,116,
+ 41, 10, 9, 9,105,102, 32, 98, 32,116,104,101,110, 10, 9,
+ 9, 9, 97,100,100, 95,116,111,107,101,110, 40,111,102,115,
+ 45, 49, 41, 10, 9, 9, 9,111,102,115, 32, 61, 32,111,102,
+ 115, 43,101, 10, 9, 9, 9,116,111,107,101,110, 95, 98,101,
+ 103,105,110, 32, 61, 32,111,102,115, 10, 9, 9,101,108,115,
+ 101, 10, 9, 9, 9,108,111, 99, 97,108, 32, 99,104, 97,114,
+ 32, 61, 32,115,116,114,105,110,103, 46,115,117, 98, 40,115,
+ 44, 32,111,102,115, 44, 32,111,102,115, 41, 10, 9, 9, 9,
+ 105,102, 32, 99,104, 97,114, 32, 61, 61, 32, 34, 40, 34, 32,
+ 111,114, 32, 99,104, 97,114, 32, 61, 61, 32, 34, 60, 34, 32,
+ 116,104,101,110, 10, 10, 9, 9, 9, 9,108,111, 99, 97,108,
+ 32, 98,108,111, 99,107, 10, 9, 9, 9, 9,105,102, 32, 99,
+ 104, 97,114, 32, 61, 61, 32, 34, 40, 34, 32,116,104,101,110,
+ 32, 98,108,111, 99,107, 32, 61, 32, 34, 94, 37, 98, 40, 41,
+ 34, 32,101,110,100, 10, 9, 9, 9, 9,105,102, 32, 99,104,
+ 97,114, 32, 61, 61, 32, 34, 60, 34, 32,116,104,101,110, 32,
+ 98,108,111, 99,107, 32, 61, 32, 34, 94, 37, 98, 60, 62, 34,
+ 32,101,110,100, 10, 10, 9, 9, 9, 9, 98, 44,101, 32, 61,
+ 32,115,116,114,105,110,103, 46,102,105,110,100, 40,115,117,
+ 98, 44, 32, 98,108,111, 99,107, 41, 10, 9, 9, 9, 9,105,
+ 102, 32,110,111,116, 32, 98, 32,116,104,101,110, 10, 9, 9,
+ 9, 9, 9, 45, 45, 32,117,110,116,101,114,109,105,110, 97,
+ 116,101,100, 32, 98,108,111, 99,107, 63, 10, 9, 9, 9, 9,
+ 9,111,102,115, 32, 61, 32,111,102,115, 43, 49, 10, 9, 9,
+ 9, 9,101,108,115,101, 10, 9, 9, 9, 9, 9,111,102,115,
+ 32, 61, 32,111,102,115, 32, 43, 32,101, 10, 9, 9, 9, 9,
+ 101,110,100, 10, 10, 9, 9, 9,101,108,115,101, 10, 9, 9,
+ 9, 9,111,102,115, 32, 61, 32,111,102,115, 43, 49, 10, 9,
+ 9, 9,101,110,100, 10, 9, 9,101,110,100, 10, 10, 9,101,
+ 110,100, 10, 9, 97,100,100, 95,116,111,107,101,110, 40,111,
+ 102,115, 41, 10, 9, 45, 45,105,102, 32,114,101,116, 46,110,
+ 32, 61, 61, 32, 48, 32,116,104,101,110, 10, 10, 9, 45, 45,
+ 9,114,101,116, 46,110, 61, 49, 10, 9, 45, 45, 9,114,101,
+ 116, 91, 49, 93, 32, 61, 32, 34, 34, 10, 9, 45, 45,101,110,
+ 100, 10, 10, 9,114,101,116,117,114,110, 32,114,101,116, 10,
+ 10,101,110,100, 10, 10, 45, 45, 32, 99,111,110, 99, 97,116,
+ 101,110, 97,116,101, 32,115,116,114,105,110,103,115, 32,111,
+ 102, 32, 97, 32,116, 97, 98,108,101, 10,102,117,110, 99,116,
+ 105,111,110, 32, 99,111,110, 99, 97,116, 32, 40,116, 44,102,
+ 44,108, 44,106,115,116,114, 41, 10, 9,106,115,116,114, 32,
+ 61, 32,106,115,116,114, 32,111,114, 32, 34, 32, 34, 10, 32,
+ 108,111, 99, 97,108, 32,115, 32, 61, 32, 39, 39, 10, 32,108,
+ 111, 99, 97,108, 32,105, 61,102, 10, 32,119,104,105,108,101,
+ 32,105, 60, 61,108, 32,100,111, 10, 32, 32,115, 32, 61, 32,
+ 115, 46, 46,116, 91,105, 93, 10, 32, 32,105, 32, 61, 32,105,
+ 43, 49, 10, 32, 32,105,102, 32,105, 32, 60, 61, 32,108, 32,
+ 116,104,101,110, 32,115, 32, 61, 32,115, 46, 46,106,115,116,
+ 114, 32,101,110,100, 10, 32,101,110,100, 10, 32,114,101,116,
+ 117,114,110, 32,115, 10,101,110,100, 10, 10, 45, 45, 32, 99,
+ 111,110, 99, 97,116,101,110, 97,116,101, 32, 97,108,108, 32,
+ 112, 97,114, 97,109,101,116,101,114,115, 44, 32,102,111,108,
+ 108,111,119,105,110,103, 32,111,117,116,112,117,116, 32,114,
+ 117,108,101,115, 10,102,117,110, 99,116,105,111,110, 32, 99,
+ 111,110, 99, 97,116,112, 97,114, 97,109, 32, 40,108,105,110,
+ 101, 44, 32, 46, 46, 46, 41, 10, 32,108,111, 99, 97,108, 32,
+ 105, 61, 49, 10, 32,119,104,105,108,101, 32,105, 60, 61, 97,
+ 114,103, 46,110, 32,100,111, 10, 32, 32,105,102, 32, 95, 99,
+ 111,110,116, 32, 97,110,100, 32,110,111,116, 32,115,116,114,
+ 102,105,110,100, 40, 95, 99,111,110,116, 44, 39, 91, 37, 40,
+ 44, 34, 93, 39, 41, 32, 97,110,100, 10, 32, 32, 32, 32, 32,
+ 115,116,114,102,105,110,100, 40, 97,114,103, 91,105, 93, 44,
+ 34, 94, 91, 37, 97, 95,126, 93, 34, 41, 32,116,104,101,110,
+ 10, 9, 32, 32, 32, 32,108,105,110,101, 32, 61, 32,108,105,
+ 110,101, 32, 46, 46, 32, 39, 32, 39, 10, 32, 32,101,110,100,
+ 10, 32, 32,108,105,110,101, 32, 61, 32,108,105,110,101, 32,
+ 46, 46, 32, 97,114,103, 91,105, 93, 10, 32, 32,105,102, 32,
+ 97,114,103, 91,105, 93, 32,126, 61, 32, 39, 39, 32,116,104,
+ 101,110, 10, 32, 32, 32, 95, 99,111,110,116, 32, 61, 32,115,
+ 116,114,115,117, 98, 40, 97,114,103, 91,105, 93, 44, 45, 49,
+ 44, 45, 49, 41, 10, 32, 32,101,110,100, 10, 32, 32,105, 32,
+ 61, 32,105, 43, 49, 10, 32,101,110,100, 10, 32,105,102, 32,
+ 115,116,114,102,105,110,100, 40, 97,114,103, 91, 97,114,103,
+ 46,110, 93, 44, 34, 91, 37, 47, 37, 41, 37, 59, 37,123, 37,
+ 125, 93, 36, 34, 41, 32,116,104,101,110, 10, 32, 32, 95, 99,
+ 111,110,116, 61,110,105,108, 32,108,105,110,101, 32, 61, 32,
+ 108,105,110,101, 32, 46, 46, 32, 39, 92,110, 39, 10, 32,101,
+ 110,100, 10, 9,114,101,116,117,114,110, 32,108,105,110,101,
+ 10,101,110,100, 10, 10, 45, 45, 32,111,117,116,112,117,116,
+ 32,108,105,110,101, 10,102,117,110, 99,116,105,111,110, 32,
+ 111,117,116,112,117,116, 32, 40, 46, 46, 46, 41, 10, 32,108,
+ 111, 99, 97,108, 32,105, 61, 49, 10, 32,119,104,105,108,101,
+ 32,105, 60, 61, 97,114,103, 46,110, 32,100,111, 10, 32, 32,
+ 105,102, 32, 95, 99,111,110,116, 32, 97,110,100, 32,110,111,
+ 116, 32,115,116,114,102,105,110,100, 40, 95, 99,111,110,116,
+ 44, 39, 91, 37, 40, 44, 34, 93, 39, 41, 32, 97,110,100, 10,
+ 32, 32, 32, 32, 32,115,116,114,102,105,110,100, 40, 97,114,
+ 103, 91,105, 93, 44, 34, 94, 91, 37, 97, 95,126, 93, 34, 41,
+ 32,116,104,101,110, 10, 9, 32, 32, 32, 32,119,114,105,116,
+ 101, 40, 39, 32, 39, 41, 10, 32, 32,101,110,100, 10, 32, 32,
+ 119,114,105,116,101, 40, 97,114,103, 91,105, 93, 41, 10, 32,
+ 32,105,102, 32, 97,114,103, 91,105, 93, 32,126, 61, 32, 39,
+ 39, 32,116,104,101,110, 10, 32, 32, 32, 95, 99,111,110,116,
+ 32, 61, 32,115,116,114,115,117, 98, 40, 97,114,103, 91,105,
+ 93, 44, 45, 49, 44, 45, 49, 41, 10, 32, 32,101,110,100, 10,
+ 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32,101,110,100, 10,
+ 32,105,102, 32,115,116,114,102,105,110,100, 40, 97,114,103,
+ 91, 97,114,103, 46,110, 93, 44, 34, 91, 37, 47, 37, 41, 37,
+ 59, 37,123, 37,125, 93, 36, 34, 41, 32,116,104,101,110, 10,
+ 32, 32, 95, 99,111,110,116, 61,110,105,108, 32,119,114,105,
+ 116,101, 40, 39, 92,110, 39, 41, 10, 32,101,110,100, 10,101,
+ 110,100, 10, 10,102,117,110, 99,116,105,111,110, 32,103,101,
+ 116, 95,112,114,111,112,101,114,116,121, 95,109,101,116,104,
+ 111,100,115, 40,112,116,121,112,101, 44, 32,110, 97,109,101,
+ 41, 10, 10, 9,105,102, 32,103,101,116, 95,112,114,111,112,
+ 101,114,116,121, 95,109,101,116,104,111,100,115, 95,104,111,
+ 111,107, 32, 97,110,100, 32,103,101,116, 95,112,114,111,112,
+ 101,114,116,121, 95,109,101,116,104,111,100,115, 95,104,111,
+ 111,107, 40,112,116,121,112,101, 44,110, 97,109,101, 41, 32,
+ 116,104,101,110, 10, 9, 9,114,101,116,117,114,110, 32,103,
+ 101,116, 95,112,114,111,112,101,114,116,121, 95,109,101,116,
+ 104,111,100,115, 95,104,111,111,107, 40,112,116,121,112,101,
+ 44, 32,110, 97,109,101, 41, 10, 9,101,110,100, 10, 10, 9,
+ 105,102, 32,112,116,121,112,101, 32, 61, 61, 32, 34,100,101,
+ 102, 97,117,108,116, 34, 32,116,104,101,110, 32, 45, 45, 32,
+ 103,101,116, 95,110, 97,109,101, 44, 32,115,101,116, 95,110,
+ 97,109,101, 10, 9, 9,114,101,116,117,114,110, 32, 34,103,
+ 101,116, 95, 34, 46, 46,110, 97,109,101, 44, 32, 34,115,101,
+ 116, 95, 34, 46, 46,110, 97,109,101, 10, 9,101,110,100, 10,
+ 10, 9,105,102, 32,112,116,121,112,101, 32, 61, 61, 32, 34,
+ 113,116, 34, 32,116,104,101,110, 32, 45, 45, 32,110, 97,109,
+ 101, 44, 32,115,101,116, 78, 97,109,101, 10, 9, 9,114,101,
+ 116,117,114,110, 32,110, 97,109,101, 44, 32, 34,115,101,116,
+ 34, 46, 46,115,116,114,105,110,103, 46,117,112,112,101,114,
+ 40,115,116,114,105,110,103, 46,115,117, 98, 40,110, 97,109,
+ 101, 44, 32, 49, 44, 32, 49, 41, 41, 46, 46,115,116,114,105,
+ 110,103, 46,115,117, 98, 40,110, 97,109,101, 44, 32, 50, 44,
+ 32, 45, 49, 41, 10, 9,101,110,100, 10, 10, 9,105,102, 32,
+ 112,116,121,112,101, 32, 61, 61, 32, 34,111,118,101,114,108,
+ 111, 97,100, 34, 32,116,104,101,110, 32, 45, 45, 32,110, 97,
+ 109,101, 44, 32,110, 97,109,101, 10, 9, 9,114,101,116,117,
+ 114,110, 32,110, 97,109,101, 44,110, 97,109,101, 10, 9,101,
+ 110,100, 10, 10, 9,114,101,116,117,114,110, 32,110,105,108,
+ 10,101,110,100, 10, 10, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 32,116,104,101, 32,104,111,111,107,115,
+ 10, 10, 45, 45, 32, 99, 97,108,108,101,100, 32,114,105,103,
+ 104,116, 32, 97,102,116,101,114, 32,112,114,111, 99,101,115,
+ 115,105,110,103, 32,116,104,101, 32, 36, 91,105, 99,104,108,
+ 93,102,105,108,101, 32,100,105,114,101, 99,116,105,118,101,
+ 115, 44, 10, 45, 45, 32,114,105,103,104,116, 32, 98,101,102,
+ 111,114,101, 32,112,114,111, 99,101,115,115,105,110,103, 32,
+ 97,110,121,116,104,105,110,103, 32,101,108,115,101, 10, 45,
+ 45, 32,116, 97,107,101,115, 32,116,104,101, 32,112, 97, 99,
+ 107, 97,103,101, 32,111, 98,106,101, 99,116, 32, 97,115, 32,
+ 116,104,101, 32,112, 97,114, 97,109,101,116,101,114, 10,102,
+ 117,110, 99,116,105,111,110, 32,112,114,101,112,114,111, 99,
+ 101,115,115, 95,104,111,111,107, 40,112, 41, 10, 9, 45, 45,
+ 32,112, 46, 99,111,100,101, 32,104, 97,115, 32, 97,108,108,
+ 32,116,104,101, 32,105,110,112,117,116, 32, 99,111,100,101,
+ 32,102,114,111,109, 32,116,104,101, 32,112,107,103, 10,101,
+ 110,100, 10, 10, 10, 45, 45, 32, 99, 97,108,108,101,100, 32,
+ 102,111,114, 32,101,118,101,114,121, 32, 36,105,102,105,108,
+ 101, 32,100,105,114,101, 99,116,105,118,101, 10, 45, 45, 32,
+ 116, 97,107,101,115, 32, 97, 32,116, 97, 98,108,101, 32,119,
+ 105,116,104, 32, 97, 32,115,116,114,105,110,103, 32, 99, 97,
+ 108,108,101,100, 32, 39, 99,111,100,101, 39, 32,105,110,115,
+ 105,100,101, 44, 32,116,104,101, 32,102,105,108,101,110, 97,
+ 109,101, 44, 32, 97,110,100, 32, 97,110,121, 32,101,120,116,
+ 114, 97, 32, 97,114,103,117,109,101,110,116,115, 10, 45, 45,
+ 32,112, 97,115,115,101,100, 32,116,111, 32, 36,105,102,105,
+ 108,101, 46, 32,110,111, 32,114,101,116,117,114,110, 32,118,
+ 97,108,117,101, 10,102,117,110, 99,116,105,111,110, 32,105,
+ 110, 99,108,117,100,101, 95,102,105,108,101, 95,104,111,111,
+ 107, 40,116, 44, 32,102,105,108,101,110, 97,109,101, 44, 32,
+ 46, 46, 46, 41, 10, 10,101,110,100, 10, 10, 45, 45, 32, 99,
+ 97,108,108,101,100, 32, 97,102,116,101,114, 32,112,114,111,
+ 99,101,115,115,105,110,103, 32, 97,110,121,116,104,105,110,
+ 103, 32,116,104, 97,116, 39,115, 32,110,111,116, 32, 99,111,
+ 100,101, 32, 40,108,105,107,101, 32, 39, 36,114,101,110, 97,
+ 109,105,110,103, 39, 44, 32, 99,111,109,109,101,110,116,115,
+ 44, 32,101,116, 99, 41, 10, 45, 45, 32, 97,110,100, 32,114,
+ 105,103,104,116, 32, 98,101,102,111,114,101, 32,112, 97,114,
+ 115,105,110,103, 32,116,104,101, 32, 97, 99,116,117, 97,108,
+ 32, 99,111,100,101, 46, 10, 45, 45, 32,116, 97,107,101,115,
+ 32,116,104,101, 32, 80, 97, 99,107, 97,103,101, 32,111, 98,
+ 106,101, 99,116, 32,119,105,116,104, 32, 97,108,108, 32,116,
+ 104,101, 32, 99,111,100,101, 32,111,110, 32,116,104,101, 32,
+ 39, 99,111,100,101, 39, 32,107,101,121, 46, 32,110,111, 32,
+ 114,101,116,117,114,110, 32,118, 97,108,117,101, 10,102,117,
+ 110, 99,116,105,111,110, 32,112,114,101,112, 97,114,115,101,
+ 95,104,111,111,107, 40,112, 97, 99,107, 97,103,101, 41, 10,
+ 10,101,110,100, 10, 10, 10, 45, 45, 32, 99, 97,108,108,101,
+ 100, 32, 97,102,116,101,114, 32,119,114,105,116,105,110,103,
+ 32, 97,108,108, 32,116,104,101, 32,111,117,116,112,117,116,
+ 46, 10, 45, 45, 32,116, 97,107,101,115, 32,116,104,101, 32,
+ 80, 97, 99,107, 97,103,101, 32,111, 98,106,101, 99,116, 10,
+ 102,117,110, 99,116,105,111,110, 32,112,111,115,116, 95,111,
+ 117,116,112,117,116, 95,104,111,111,107, 40,112, 97, 99,107,
+ 97,103,101, 41, 10, 10,101,110,100, 10, 10, 10, 45, 45, 32,
+ 99, 97,108,108,101,100, 32,102,114,111,109, 32, 39,103,101,
+ 116, 95,112,114,111,112,101,114,116,121, 95,109,101,116,104,
+ 111,100,115, 39, 32,116,111, 32,103,101,116, 32,116,104,101,
+ 32,109,101,116,104,111,100,115, 32,116,111, 32,114,101,116,
+ 114,105,101,118,101, 32, 97, 32,112,114,111,112,101,114,116,
+ 121, 10, 45, 45, 32, 97, 99, 99,111,114,100,105,110,103, 32,
+ 116,111, 32,105,116,115, 32,116,121,112,101, 10,102,117,110,
+ 99,116,105,111,110, 32,103,101,116, 95,112,114,111,112,101,
+ 114,116,121, 95,109,101,116,104,111,100,115, 95,104,111,111,
+ 107, 40,112,114,111,112,101,114,116,121, 95,116,121,112,101,
+ 44, 32,110, 97,109,101, 41, 10, 10,101,110,100, 10, 10, 45,
+ 45, 32, 99, 97,108,108,101,100, 32,102,114,111,109, 32, 67,
+ 108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 58,100,
+ 111,112, 97,114,115,101, 32,119,105,116,104, 32,116,104,101,
+ 32,115,116,114,105,110,103, 32, 98,101,105,110,103, 32,112,
+ 97,114,115,101,100, 10, 45, 45, 32,114,101,116,117,114,110,
+ 32,110,105,108, 44, 32,111,114, 32, 97, 32,115,117, 98,115,
+ 116,114,105,110,103, 10,102,117,110, 99,116,105,111,110, 32,
+ 112, 97,114,115,101,114, 95,104,111,111,107, 40,115, 41, 10,
+ 10, 9,114,101,116,117,114,110, 32,110,105,108, 10,101,110,
+ 100, 10, 10, 45, 45, 32, 99,117,115,116,111,109, 32,112,117,
+ 115,104,101,114,115, 10, 10, 95,112,117,115,104, 95,102,117,
+ 110, 99,116,105,111,110,115, 32, 61, 32,123,125, 10, 95,105,
+ 115, 95,102,117,110, 99,116,105,111,110,115, 32, 61, 32,123,
+ 125, 10, 95,116,111, 95,102,117,110, 99,116,105,111,110,115,
+ 32, 61, 32,123,125, 10, 10, 95, 98, 97,115,101, 95,112,117,
+ 115,104, 95,102,117,110, 99,116,105,111,110,115, 32, 61, 32,
+ 123,125, 10, 95, 98, 97,115,101, 95,105,115, 95,102,117,110,
+ 99,116,105,111,110,115, 32, 61, 32,123,125, 10, 95, 98, 97,
+ 115,101, 95,116,111, 95,102,117,110, 99,116,105,111,110,115,
+ 32, 61, 32,123,125, 10, 10,108,111, 99, 97,108, 32,102,117,
+ 110, 99,116,105,111,110, 32,115,101, 97,114, 99,104, 95, 98,
+ 97,115,101, 40,116, 44, 32,102,117,110, 99,115, 41, 10, 10,
+ 9,108,111, 99, 97,108, 32, 99,108, 97,115,115, 32, 61, 32,
+ 95,103,108,111, 98, 97,108, 95, 99,108, 97,115,115,101,115,
+ 91,116, 93, 10, 10, 9,119,104,105,108,101, 32, 99,108, 97,
+ 115,115, 32,100,111, 10, 9, 9,105,102, 32,102,117,110, 99,
+ 115, 91, 99,108, 97,115,115, 46,116,121,112,101, 93, 32,116,
+ 104,101,110, 10, 9, 9, 9,114,101,116,117,114,110, 32,102,
+ 117,110, 99,115, 91, 99,108, 97,115,115, 46,116,121,112,101,
+ 93, 10, 9, 9,101,110,100, 10, 9, 9, 99,108, 97,115,115,
+ 32, 61, 32, 95,103,108,111, 98, 97,108, 95, 99,108, 97,115,
+ 115,101,115, 91, 99,108, 97,115,115, 46, 98,116,121,112,101,
+ 93, 10, 9,101,110,100, 10, 9,114,101,116,117,114,110, 32,
+ 110,105,108, 10,101,110,100, 10, 10,102,117,110, 99,116,105,
+ 111,110, 32,103,101,116, 95,112,117,115,104, 95,102,117,110,
+ 99,116,105,111,110, 40,116, 41, 10, 9,114,101,116,117,114,
+ 110, 32, 95,112,117,115,104, 95,102,117,110, 99,116,105,111,
+ 110,115, 91,116, 93, 32,111,114, 32,115,101, 97,114, 99,104,
+ 95, 98, 97,115,101, 40,116, 44, 32, 95, 98, 97,115,101, 95,
+ 112,117,115,104, 95,102,117,110, 99,116,105,111,110,115, 41,
+ 32,111,114, 32, 34,116,111,108,117, 97, 95,112,117,115,104,
+ 117,115,101,114,116,121,112,101, 34, 10,101,110,100, 10, 10,
+ 102,117,110, 99,116,105,111,110, 32,103,101,116, 95,116,111,
+ 95,102,117,110, 99,116,105,111,110, 40,116, 41, 10, 9,114,
+ 101,116,117,114,110, 32, 95,116,111, 95,102,117,110, 99,116,
+ 105,111,110,115, 91,116, 93, 32,111,114, 32,115,101, 97,114,
+ 99,104, 95, 98, 97,115,101, 40,116, 44, 32, 95, 98, 97,115,
+ 101, 95,116,111, 95,102,117,110, 99,116,105,111,110,115, 41,
+ 32,111,114, 32, 34,116,111,108,117, 97, 95,116,111,117,115,
+ 101,114,116,121,112,101, 34, 10,101,110,100, 10, 10,102,117,
+ 110, 99,116,105,111,110, 32,103,101,116, 95,105,115, 95,102,
+ 117,110, 99,116,105,111,110, 40,116, 41, 10, 9,114,101,116,
+ 117,114,110, 32, 95,105,115, 95,102,117,110, 99,116,105,111,
+ 110,115, 91,116, 93, 32,111,114, 32,115,101, 97,114, 99,104,
+ 95, 98, 97,115,101, 40,116, 44, 32, 95, 98, 97,115,101, 95,
+ 105,115, 95,102,117,110, 99,116,105,111,110,115, 41, 32,111,
+ 114, 32, 34,116,111,108,117, 97, 95,105,115,117,115,101,114,
+ 116,121,112,101, 34, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: lua/tolua++/src/bin/lua/basic.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32, 97, 98,115,116,114,
+ 97, 99,116, 32,102,101, 97,116,117,114,101, 32, 99,108, 97,
+ 115,115, 10, 45, 45, 32, 87,114,105,116,116,101,110, 32, 98,
+ 121, 32, 87, 97,108,100,101,109, 97,114, 32, 67,101,108,101,
+ 115, 10, 45, 45, 32, 84,101, 67, 71,114, 97,102, 47, 80, 85,
+ 67, 45, 82,105,111, 10, 45, 45, 32, 74,117,108, 32, 49, 57,
+ 57, 56, 10, 45, 45, 32, 36, 73,100, 58, 32, 36, 10, 10, 45,
+ 45, 32, 84,104,105,115, 32, 99,111,100,101, 32,105,115, 32,
+ 102,114,101,101, 32,115,111,102,116,119, 97,114,101, 59, 32,
+ 121,111,117, 32, 99, 97,110, 32,114,101,100,105,115,116,114,
+ 105, 98,117,116,101, 32,105,116, 32, 97,110,100, 47,111,114,
+ 32,109,111,100,105,102,121, 32,105,116, 46, 10, 45, 45, 32,
+ 84,104,101, 32,115,111,102,116,119, 97,114,101, 32,112,114,
+ 111,118,105,100,101,100, 32,104,101,114,101,117,110,100,101,
+ 114, 32,105,115, 32,111,110, 32, 97,110, 32, 34, 97,115, 32,
+ 105,115, 34, 32, 98, 97,115,105,115, 44, 32, 97,110,100, 10,
+ 45, 45, 32,116,104,101, 32, 97,117,116,104,111,114, 32,104,
+ 97,115, 32,110,111, 32,111, 98,108,105,103, 97,116,105,111,
+ 110, 32,116,111, 32,112,114,111,118,105,100,101, 32,109, 97,
+ 105,110,116,101,110, 97,110, 99,101, 44, 32,115,117,112,112,
+ 111,114,116, 44, 32,117,112,100, 97,116,101,115, 44, 10, 45,
+ 45, 32,101,110,104, 97,110, 99,101,109,101,110,116,115, 44,
+ 32,111,114, 32,109,111,100,105,102,105, 99, 97,116,105,111,
+ 110,115, 46, 10, 10, 10, 45, 45, 32, 70,101, 97,116,117,114,
+ 101, 32, 99,108, 97,115,115, 10, 45, 45, 32, 82,101,112,114,
+ 101,115,101,110,116,115, 32,116,104,101, 32, 98, 97,115,101,
+ 32, 99,108, 97,115,115, 32,111,102, 32, 97,108,108, 32,109,
+ 97,112,112,101,100, 32,102,101, 97,116,117,114,101, 46, 10,
+ 99,108, 97,115,115, 70,101, 97,116,117,114,101, 32, 61, 32,
+ 123, 10,125, 10, 99,108, 97,115,115, 70,101, 97,116,117,114,
+ 101, 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,
+ 115,115, 70,101, 97,116,117,114,101, 10, 10, 45, 45, 32,119,
+ 114,105,116,101, 32,115,117,112,112,111,114,116, 32, 99,111,
+ 100,101, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,
+ 115,115, 70,101, 97,116,117,114,101, 58,115,117,112, 99,111,
+ 100,101, 32, 40, 41, 10,101,110,100, 10, 10, 45, 45, 32,111,
+ 117,116,112,117,116, 32,116, 97,103, 10,102,117,110, 99,116,
+ 105,111,110, 32, 99,108, 97,115,115, 70,101, 97,116,117,114,
+ 101, 58,100,101, 99,108,116,121,112,101, 32, 40, 41, 10,101,
+ 110,100, 10, 10, 45, 45, 32,114,101,103,105,115,116,101,114,
+ 32,102,101, 97,116,117,114,101, 10,102,117,110, 99,116,105,
+ 111,110, 32, 99,108, 97,115,115, 70,101, 97,116,117,114,101,
+ 58,114,101,103,105,115,116,101,114, 32, 40,112,114,101, 41,
+ 10,101,110,100, 10, 10, 45, 45, 32,116,114, 97,110,115,108,
+ 97,116,101, 32,118,101,114, 98, 97,116,105,109, 10,102,117,
+ 110, 99,116,105,111,110, 32, 99,108, 97,115,115, 70,101, 97,
+ 116,117,114,101, 58,112,114,101, 97,109, 98,108,101, 32, 40,
+ 41, 10,101,110,100, 10, 10, 45, 45, 32, 99,104,101, 99,107,
+ 32,105,102, 32,105,116, 32,105,115, 32, 97, 32,118, 97,114,
+ 105, 97, 98,108,101, 10,102,117,110, 99,116,105,111,110, 32,
+ 99,108, 97,115,115, 70,101, 97,116,117,114,101, 58,105,115,
+ 118, 97,114,105, 97, 98,108,101, 32, 40, 41, 10, 32,114,101,
+ 116,117,114,110, 32,102, 97,108,115,101, 10,101,110,100, 10,
+ 10, 45, 45, 32, 99,104,101, 99,107, 32,105,102, 32,105,116,
+ 32,114,101,113,117,105,114,101,115, 32, 99,111,108,108,101,
+ 99,116,105,111,110, 10,102,117,110, 99,116,105,111,110, 32,
+ 99,108, 97,115,115, 70,101, 97,116,117,114,101, 58,114,101,
+ 113,117,105,114,101, 99,111,108,108,101, 99,116,105,111,110,
+ 32, 40,116, 41, 10, 32,114,101,116,117,114,110, 32,102, 97,
+ 108,115,101, 10,101,110,100, 10, 10, 45, 45, 32, 98,117,105,
+ 108,100, 32,110, 97,109,101,115, 10,102,117,110, 99,116,105,
+ 111,110, 32, 99,108, 97,115,115, 70,101, 97,116,117,114,101,
+ 58, 98,117,105,108,100,110, 97,109,101,115, 32, 40, 41, 10,
+ 32,105,102, 32,115,101,108,102, 46,110, 97,109,101, 32, 97,
+ 110,100, 32,115,101,108,102, 46,110, 97,109,101,126, 61, 39,
+ 39, 32,116,104,101,110, 10, 32, 32,108,111, 99, 97,108, 32,
+ 110, 32, 61, 32,115,112,108,105,116, 40,115,101,108,102, 46,
+ 110, 97,109,101, 44, 39, 64, 39, 41, 10, 32, 32,115,101,108,
+ 102, 46,110, 97,109,101, 32, 61, 32,110, 91, 49, 93, 10, 32,
+ 32,115,101,108,102, 46,110, 97,109,101, 32, 61, 32,115,116,
+ 114,105,110,103, 46,103,115,117, 98, 40,115,101,108,102, 46,
+ 110, 97,109,101, 44, 32, 34, 58, 37,100, 42, 36, 34, 44, 32,
+ 34, 34, 41, 10, 32, 32,105,102, 32,110,111,116, 32,110, 91,
+ 50, 93, 32,116,104,101,110, 10, 32, 32, 32,110, 91, 50, 93,
+ 32, 61, 32, 97,112,112,108,121,114,101,110, 97,109,105,110,
+ 103, 40,110, 91, 49, 93, 41, 10, 32, 32,101,110,100, 10, 32,
+ 32,115,101,108,102, 46,108,110, 97,109,101, 32, 61, 32,110,
+ 91, 50, 93, 32,111,114, 32,103,115,117, 98, 40,110, 91, 49,
+ 93, 44, 34, 37, 91, 46, 45, 37, 93, 34, 44, 34, 34, 41, 10,
+ 32, 32,115,101,108,102, 46,108,110, 97,109,101, 32, 61, 32,
+ 115,116,114,105,110,103, 46,103,115,117, 98, 40,115,101,108,
+ 102, 46,108,110, 97,109,101, 44, 32, 34, 58, 37,100, 42, 36,
+ 34, 44, 32, 34, 34, 41, 10, 32, 32,115,101,108,102, 46,111,
+ 114,105,103,105,110, 97,108, 95,110, 97,109,101, 32, 61, 32,
+ 115,101,108,102, 46,110, 97,109,101, 10, 32, 32,115,101,108,
+ 102, 46,108,110, 97,109,101, 32, 61, 32, 99,108,101, 97,110,
+ 95,116,101,109,112,108, 97,116,101, 40,115,101,108,102, 46,
+ 108,110, 97,109,101, 41, 10, 32,101,110,100, 10, 32,105,102,
+ 32,110,111,116, 32,115,101,108,102, 46,105,115, 95,112, 97,
+ 114, 97,109,101,116,101,114, 32,116,104,101,110, 10, 9, 32,
+ 115,101,108,102, 46,110, 97,109,101, 32, 61, 32,103,101,116,
+ 111,110,108,121,110, 97,109,101,115,112, 97, 99,101, 40, 41,
+ 32, 46, 46, 32,115,101,108,102, 46,110, 97,109,101, 10, 32,
+ 101,110,100, 10, 10, 32,108,111, 99, 97,108, 32,112, 97,114,
+ 101,110,116, 32, 61, 32, 99,108, 97,115,115, 67,111,110,116,
+ 97,105,110,101,114, 46, 99,117,114,114, 10, 32,105,102, 32,
+ 112, 97,114,101,110,116, 32,116,104,101,110, 10, 32, 9,115,
+ 101,108,102, 46, 97, 99, 99,101,115,115, 32, 61, 32,112, 97,
+ 114,101,110,116, 46, 99,117,114,114, 95,109,101,109, 98,101,
+ 114, 95, 97, 99, 99,101,115,115, 10, 9,115,101,108,102, 46,
+ 103,108,111, 98, 97,108, 95, 97, 99, 99,101,115,115, 32, 61,
+ 32,115,101,108,102, 58, 99,104,101, 99,107, 95,112,117, 98,
+ 108,105, 99, 95, 97, 99, 99,101,115,115, 40, 41, 10, 32,101,
+ 108,115,101, 10, 32,101,110,100, 10,101,110,100, 10, 10,102,
+ 117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 70,101,
+ 97,116,117,114,101, 58, 99,104,101, 99,107, 95,112,117, 98,
+ 108,105, 99, 95, 97, 99, 99,101,115,115, 40, 41, 10, 10, 9,
+ 105,102, 32,116,121,112,101, 40,115,101,108,102, 46,103,108,
+ 111, 98, 97,108, 95, 97, 99, 99,101,115,115, 41, 32, 61, 61,
+ 32, 34, 98,111,111,108,101, 97,110, 34, 32,116,104,101,110,
+ 10, 9, 9,114,101,116,117,114,110, 32,115,101,108,102, 46,
+ 103,108,111, 98, 97,108, 95, 97, 99, 99,101,115,115, 10, 9,
+ 101,110,100, 10, 10, 9,105,102, 32,115,101,108,102, 46, 97,
+ 99, 99,101,115,115, 32, 97,110,100, 32,115,101,108,102, 46,
+ 97, 99, 99,101,115,115, 32,126, 61, 32, 48, 32,116,104,101,
+ 110, 10, 9, 9,114,101,116,117,114,110, 32,102, 97,108,115,
+ 101, 10, 9,101,110,100, 10, 10, 9,108,111, 99, 97,108, 32,
+ 112, 97,114,101,110,116, 32, 61, 32, 99,108, 97,115,115, 67,
+ 111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 10, 9,
+ 119,104,105,108,101, 32,112, 97,114,101,110,116, 32,100,111,
+ 10, 9, 9,105,102, 32,112, 97,114,101,110,116, 46, 97, 99,
+ 99,101,115,115, 32, 97,110,100, 32,112, 97,114,101,110,116,
+ 46, 97, 99, 99,101,115,115, 32,126, 61, 32, 48, 32,116,104,
+ 101,110, 10, 9, 9, 9,114,101,116,117,114,110, 32,102, 97,
+ 108,115,101, 10, 9, 9,101,110,100, 10, 9, 9,112, 97,114,
+ 101,110,116, 32, 61, 32,112, 97,114,101,110,116, 46,112,114,
+ 111,120, 10, 9,101,110,100, 10, 9,114,101,116,117,114,110,
+ 32,116,114,117,101, 10,101,110,100, 10, 10,102,117,110, 99,
+ 116,105,111,110, 32, 99,108,101, 97,110, 95,116,101,109,112,
+ 108, 97,116,101, 40,116, 41, 10, 10, 9,114,101,116,117,114,
+ 110, 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,116,
+ 44, 32, 34, 91, 60, 62, 58, 44, 32, 37, 42, 93, 34, 44, 32,
+ 34, 95, 34, 41, 10,101,110,100, 10, 10, 45, 45, 32, 99,104,
+ 101, 99,107, 32,105,102, 32,102,101, 97,116,117,114,101, 32,
+ 105,115, 32,105,110,115,105,100,101, 32, 97, 32, 99,111,110,
+ 116, 97,105,110,101,114, 32,100,101,102,105,110,105,116,105,
+ 111,110, 10, 45, 45, 32,105,116, 32,114,101,116,117,114,110,
+ 115, 32,116,104,101, 32, 99,111,110,116, 97,105,110,101,114,
+ 32, 99,108, 97,115,115, 32,110, 97,109,101, 32,111,114, 32,
+ 110,105,108, 46, 10,102,117,110, 99,116,105,111,110, 32, 99,
+ 108, 97,115,115, 70,101, 97,116,117,114,101, 58,105,110, 99,
+ 111,110,116, 97,105,110,101,114, 32, 40,119,104,105, 99,104,
+ 41, 10, 32,105,102, 32,115,101,108,102, 46,112, 97,114,101,
+ 110,116, 32,116,104,101,110, 10, 32, 32,108,111, 99, 97,108,
+ 32,112, 97,114,101,110,116, 32, 61, 32,115,101,108,102, 46,
+ 112, 97,114,101,110,116, 10, 32, 32,119,104,105,108,101, 32,
+ 112, 97,114,101,110,116, 32,100,111, 10, 32, 32, 32,105,102,
+ 32,112, 97,114,101,110,116, 46, 99,108, 97,115,115,116,121,
+ 112,101, 32, 61, 61, 32,119,104,105, 99,104, 32,116,104,101,
+ 110, 10, 32, 32, 32, 32,114,101,116,117,114,110, 32,112, 97,
+ 114,101,110,116, 46,110, 97,109,101, 10, 32, 32, 32,101,110,
+ 100, 10, 32, 32, 32,112, 97,114,101,110,116, 32, 61, 32,112,
+ 97,114,101,110,116, 46,112, 97,114,101,110,116, 10, 32, 32,
+ 101,110,100, 10, 32,101,110,100, 10, 32,114,101,116,117,114,
+ 110, 32,110,105,108, 10,101,110,100, 10, 10,102,117,110, 99,
+ 116,105,111,110, 32, 99,108, 97,115,115, 70,101, 97,116,117,
+ 114,101, 58,105,110, 99,108, 97,115,115, 32, 40, 41, 10, 32,
+ 114,101,116,117,114,110, 32,115,101,108,102, 58,105,110, 99,
+ 111,110,116, 97,105,110,101,114, 40, 39, 99,108, 97,115,115,
+ 39, 41, 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,
+ 110, 32, 99,108, 97,115,115, 70,101, 97,116,117,114,101, 58,
+ 105,110,109,111,100,117,108,101, 32, 40, 41, 10, 32,114,101,
+ 116,117,114,110, 32,115,101,108,102, 58,105,110, 99,111,110,
+ 116, 97,105,110,101,114, 40, 39,109,111,100,117,108,101, 39,
+ 41, 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,110,
+ 32, 99,108, 97,115,115, 70,101, 97,116,117,114,101, 58,105,
+ 110,110, 97,109,101,115,112, 97, 99,101, 32, 40, 41, 10, 32,
+ 114,101,116,117,114,110, 32,115,101,108,102, 58,105,110, 99,
+ 111,110,116, 97,105,110,101,114, 40, 39,110, 97,109,101,115,
+ 112, 97, 99,101, 39, 41, 10,101,110,100, 10, 10, 45, 45, 32,
+ 114,101,116,117,114,110, 32, 67, 32, 98,105,110,100,105,110,
+ 103, 32,102,117,110, 99,116,105,111,110, 32,110, 97,109,101,
+ 32, 98, 97,115,101,100, 32,111,110, 32,110, 97,109,101, 10,
+ 45, 45, 32,116,104,101, 32, 99,108,105,101,110,116, 32,115,
+ 112,101, 99,105,102,105,101,115, 32, 97, 32,112,114,101,102,
+ 105,120, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,
+ 115,115, 70,101, 97,116,117,114,101, 58, 99,102,117,110, 99,
+ 110, 97,109,101, 32, 40,110, 41, 10, 10, 32,105,102, 32,115,
+ 101,108,102, 46,112, 97,114,101,110,116, 32,116,104,101,110,
+ 10, 32, 32,110, 32, 61, 32,115,101,108,102, 46,112, 97,114,
+ 101,110,116, 58, 99,102,117,110, 99,110, 97,109,101, 40,110,
+ 41, 10, 32,101,110,100, 10, 10, 32,108,111, 99, 97,108, 32,
+ 102,110, 97,109,101, 32, 61, 32,115,101,108,102, 46,108,110,
+ 97,109,101, 10, 32,105,102, 32,110,111,116, 32,102,110, 97,
+ 109,101, 32,111,114, 32,102,110, 97,109,101, 32, 61, 61, 32,
+ 39, 39, 32,116,104,101,110, 10, 32, 9,102,110, 97,109,101,
+ 32, 61, 32,115,101,108,102, 46,110, 97,109,101, 10, 32,101,
+ 110,100, 10, 32, 32,110, 32, 61, 32,115,116,114,105,110,103,
+ 46,103,115,117, 98, 40,110, 46, 46, 39, 95, 39, 46, 46, 32,
+ 40,102,110, 97,109,101, 41, 44, 32, 34, 91, 60, 62, 58, 44,
+ 32, 92, 46, 37, 42, 38, 93, 34, 44, 32, 34, 95, 34, 41, 10,
+ 10, 32, 32,114,101,116,117,114,110, 32,110, 10,101,110,100,
+ 32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: lua/tolua++/src/bin/lua/feature.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32,118,101,114, 98, 97,
+ 116,105,109, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,
+ 105,116,116,101,110, 32, 98,121, 32, 87, 97,108,100,101,109,
+ 97,114, 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67,
+ 71,114, 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45,
+ 32, 74,117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,
+ 100, 58, 32,118,101,114, 98, 97,116,105,109, 46,108,117, 97,
+ 44,118, 32, 49, 46, 51, 32, 50, 48, 48, 48, 47, 48, 49, 47,
+ 50, 52, 32, 50, 48, 58, 52, 49, 58, 49, 54, 32, 99,101,108,
+ 101,115, 32, 69,120,112, 32, 36, 10, 10, 45, 45, 32, 84,104,
+ 105,115, 32, 99,111,100,101, 32,105,115, 32,102,114,101,101,
+ 32,115,111,102,116,119, 97,114,101, 59, 32,121,111,117, 32,
+ 99, 97,110, 32,114,101,100,105,115,116,114,105, 98,117,116,
+ 101, 32,105,116, 32, 97,110,100, 47,111,114, 32,109,111,100,
+ 105,102,121, 32,105,116, 46, 10, 45, 45, 32, 84,104,101, 32,
+ 115,111,102,116,119, 97,114,101, 32,112,114,111,118,105,100,
+ 101,100, 32,104,101,114,101,117,110,100,101,114, 32,105,115,
+ 32,111,110, 32, 97,110, 32, 34, 97,115, 32,105,115, 34, 32,
+ 98, 97,115,105,115, 44, 32, 97,110,100, 10, 45, 45, 32,116,
+ 104,101, 32, 97,117,116,104,111,114, 32,104, 97,115, 32,110,
+ 111, 32,111, 98,108,105,103, 97,116,105,111,110, 32,116,111,
+ 32,112,114,111,118,105,100,101, 32,109, 97,105,110,116,101,
+ 110, 97,110, 99,101, 44, 32,115,117,112,112,111,114,116, 44,
+ 32,117,112,100, 97,116,101,115, 44, 10, 45, 45, 32,101,110,
+ 104, 97,110, 99,101,109,101,110,116,115, 44, 32,111,114, 32,
+ 109,111,100,105,102,105, 99, 97,116,105,111,110,115, 46, 10,
+ 10, 10, 10, 45, 45, 32, 86,101,114, 98, 97,116,105,109, 32,
+ 99,108, 97,115,115, 10, 45, 45, 32, 82,101,112,114,101,115,
+ 101,110,116,115, 32, 97, 32,108,105,110,101, 32,116,114, 97,
+ 110,115,108, 97,116,101,100, 32,100,105,114,101, 99,116,101,
+ 100, 32,116,111, 32,116,104,101, 32, 98,105,110,100,105,110,
+ 103, 32,102,105,108,101, 46, 10, 45, 45, 32, 84,104,101, 32,
+ 102,111,108,108,111,119,105,110,103, 32,102,105,108,100,115,
+ 32, 97,114,101, 32,115,116,111,114,101,100, 58, 10, 45, 45,
+ 32, 32, 32,108,105,110,101, 32, 61, 32,108,105,110,101, 32,
+ 116,101,120,116, 10, 99,108, 97,115,115, 86,101,114, 98, 97,
+ 116,105,109, 32, 61, 32,123, 10, 32,108,105,110,101, 32, 61,
+ 32, 39, 39, 44, 10, 9, 99,111,110,100, 32, 61, 32,110,105,
+ 108, 44, 32, 32, 32, 32, 45, 45, 32, 99,111,110,100,105,116,
+ 105,111,110, 58, 32,119,104,101,114,101, 32,116,111, 32,103,
+ 101,110,101,114, 97,116,101, 32,116,104,101, 32, 99,111,100,
+ 101, 32, 40,115, 61,115,117,112,111,114,116, 44, 32,114, 61,
+ 114,101,103,105,115,116,101,114, 41, 10,125, 10, 99,108, 97,
+ 115,115, 86,101,114, 98, 97,116,105,109, 46, 95, 95,105,110,
+ 100,101,120, 32, 61, 32, 99,108, 97,115,115, 86,101,114, 98,
+ 97,116,105,109, 10,115,101,116,109,101,116, 97,116, 97, 98,
+ 108,101, 40, 99,108, 97,115,115, 86,101,114, 98, 97,116,105,
+ 109, 44, 99,108, 97,115,115, 70,101, 97,116,117,114,101, 41,
+ 10, 10, 45, 45, 32,112,114,101, 97,109, 98,108,101, 32,118,
+ 101,114, 98, 97,116,105,109, 10,102,117,110, 99,116,105,111,
+ 110, 32, 99,108, 97,115,115, 86,101,114, 98, 97,116,105,109,
+ 58,112,114,101, 97,109, 98,108,101, 32, 40, 41, 10, 32,105,
+ 102, 32,115,101,108,102, 46, 99,111,110,100, 32, 61, 61, 32,
+ 39, 39, 32,116,104,101,110, 10, 32, 32,119,114,105,116,101,
+ 40,115,101,108,102, 46,108,105,110,101, 41, 10, 32,101,110,
+ 100, 10,101,110,100, 10, 10, 45, 45, 32,115,117,112,112,111,
+ 114,116, 32, 99,111,100,101, 10,102,117,110, 99,116,105,111,
+ 110, 32, 99,108, 97,115,115, 86,101,114, 98, 97,116,105,109,
+ 58,115,117,112, 99,111,100,101, 32, 40, 41, 10, 32,105,102,
+ 32,115,116,114,102,105,110,100, 40,115,101,108,102, 46, 99,
+ 111,110,100, 44, 39,115, 39, 41, 32,116,104,101,110, 10, 32,
+ 32,119,114,105,116,101, 40,115,101,108,102, 46,108,105,110,
+ 101, 41, 10, 32, 32,119,114,105,116,101, 40, 39, 92,110, 39,
+ 41, 10, 32,101,110,100, 10,101,110,100, 10, 10, 45, 45, 32,
+ 114,101,103,105,115,116,101,114, 32, 99,111,100,101, 10,102,
+ 117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 86,101,
+ 114, 98, 97,116,105,109, 58,114,101,103,105,115,116,101,114,
+ 32, 40,112,114,101, 41, 10, 32,105,102, 32,115,116,114,102,
+ 105,110,100, 40,115,101,108,102, 46, 99,111,110,100, 44, 39,
+ 114, 39, 41, 32,116,104,101,110, 10, 32, 32,119,114,105,116,
+ 101, 40,115,101,108,102, 46,108,105,110,101, 41, 10, 32,101,
+ 110,100, 10,101,110,100, 10, 10, 10, 45, 45, 32, 80,114,105,
+ 110,116, 32,109,101,116,104,111,100, 10,102,117,110, 99,116,
+ 105,111,110, 32, 99,108, 97,115,115, 86,101,114, 98, 97,116,
+ 105,109, 58,112,114,105,110,116, 32, 40,105,100,101,110,116,
+ 44, 99,108,111,115,101, 41, 10, 32,112,114,105,110,116, 40,
+ 105,100,101,110,116, 46, 46, 34, 86,101,114, 98, 97,116,105,
+ 109,123, 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,
+ 110,116, 46, 46, 34, 32,108,105,110,101, 32, 61, 32, 39, 34,
+ 46, 46,115,101,108,102, 46,108,105,110,101, 46, 46, 34, 39,
+ 44, 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,
+ 116, 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,
+ 101,110,100, 10, 10, 10, 45, 45, 32, 73,110,116,101,114,110,
+ 97,108, 32, 99,111,110,115,116,114,117, 99,116,111,114, 10,
+ 102,117,110, 99,116,105,111,110, 32, 95, 86,101,114, 98, 97,
+ 116,105,109, 32, 40,116, 41, 10, 32,115,101,116,109,101,116,
+ 97,116, 97, 98,108,101, 40,116, 44, 99,108, 97,115,115, 86,
+ 101,114, 98, 97,116,105,109, 41, 10, 32, 97,112,112,101,110,
+ 100, 40,116, 41, 10, 32,114,101,116,117,114,110, 32,116, 10,
+ 101,110,100, 10, 10, 45, 45, 32, 67,111,110,115,116,114,117,
+ 99,116,111,114, 10, 45, 45, 32, 69,120,112,101, 99,116,115,
+ 32, 97, 32,115,116,114,105,110,103, 32,114,101,112,114,101,
+ 115,101,110,116,105,110,103, 32,116,104,101, 32,116,101,120,
+ 116, 32,108,105,110,101, 10,102,117,110, 99,116,105,111,110,
+ 32, 86,101,114, 98, 97,116,105,109, 32, 40,108, 44, 99,111,
+ 110,100, 41, 10, 32,105,102, 32,115,116,114,115,117, 98, 40,
+ 108, 44, 49, 44, 49, 41, 32, 61, 61, 32, 34, 39, 34, 32,116,
+ 104,101,110, 10, 32, 32,108, 32, 61, 32,115,116,114,115,117,
+ 98, 40,108, 44, 50, 41, 10, 32,101,108,115,101,105,102, 32,
+ 115,116,114,115,117, 98, 40,108, 44, 49, 44, 49, 41, 32, 61,
+ 61, 32, 39, 36, 39, 32,116,104,101,110, 10, 32, 32, 99,111,
+ 110,100, 32, 61, 32, 39,115,114, 39, 32, 32, 32, 32, 32, 32,
+ 32, 45, 45, 32,103,101,110,101,114, 97,116,101,115, 32,105,
+ 110, 32, 98,111,116,104, 32,115,117,112,111,114,116, 32, 97,
+ 110,100, 32,114,101,103,105,115,116,101,114, 32,102,114, 97,
+ 103,109,101,110,116,115, 10, 32, 32,108, 32, 61, 32,115,116,
+ 114,115,117, 98, 40,108, 44, 50, 41, 10, 32,101,110,100, 10,
+ 32,114,101,116,117,114,110, 32, 95, 86,101,114, 98, 97,116,
+ 105,109, 32,123, 10, 32, 32,108,105,110,101, 32, 61, 32,108,
+ 44, 10, 32, 32, 99,111,110,100, 32, 61, 32, 99,111,110,100,
+ 32,111,114, 32, 39, 39, 44, 10, 32,125, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: lua/tolua++/src/bin/lua/verbatim.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32, 99,111,100,101, 32,
+ 99,108, 97,115,115, 10, 45, 45, 32, 87,114,105,116,116,101,
+ 110, 32, 98,121, 32, 87, 97,108,100,101,109, 97,114, 32, 67,
+ 101,108,101,115, 10, 45, 45, 32, 84,101, 67, 71,114, 97,102,
+ 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45, 32, 74,117,108,
+ 32, 49, 57, 57, 57, 10, 45, 45, 32, 36, 73,100, 58, 32, 36,
+ 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,111,100,101, 32,
+ 105,115, 32,102,114,101,101, 32,115,111,102,116,119, 97,114,
+ 101, 59, 32,121,111,117, 32, 99, 97,110, 32,114,101,100,105,
+ 115,116,114,105, 98,117,116,101, 32,105,116, 32, 97,110,100,
+ 47,111,114, 32,109,111,100,105,102,121, 32,105,116, 46, 10,
+ 45, 45, 32, 84,104,101, 32,115,111,102,116,119, 97,114,101,
+ 32,112,114,111,118,105,100,101,100, 32,104,101,114,101,117,
+ 110,100,101,114, 32,105,115, 32,111,110, 32, 97,110, 32, 34,
+ 97,115, 32,105,115, 34, 32, 98, 97,115,105,115, 44, 32, 97,
+ 110,100, 10, 45, 45, 32,116,104,101, 32, 97,117,116,104,111,
+ 114, 32,104, 97,115, 32,110,111, 32,111, 98,108,105,103, 97,
+ 116,105,111,110, 32,116,111, 32,112,114,111,118,105,100,101,
+ 32,109, 97,105,110,116,101,110, 97,110, 99,101, 44, 32,115,
+ 117,112,112,111,114,116, 44, 32,117,112,100, 97,116,101,115,
+ 44, 10, 45, 45, 32,101,110,104, 97,110, 99,101,109,101,110,
+ 116,115, 44, 32,111,114, 32,109,111,100,105,102,105, 99, 97,
+ 116,105,111,110,115, 46, 10, 10, 45, 45, 32,103,108,111, 98,
+ 97,108, 10, 99,111,100,101, 95,110, 32, 61, 32, 49, 10, 10,
+ 45, 45, 32, 67,111,100,101, 32, 99,108, 97,115,115, 10, 45,
+ 45, 32, 82,101,112,114,101,115,101,110,116,115, 32, 76,117,
+ 97, 32, 99,111,100,101, 32,116,111, 32, 98,101, 32, 99,111,
+ 109,112,105,108,101,100, 32, 97,110,100, 32,105,110, 99,108,
+ 117,100,101,100, 10, 45, 45, 32,105,110, 32,116,104,101, 32,
+ 105,110,105,116,105, 97,108,105,122, 97,116,105,111,110, 32,
+ 102,117,110, 99,116,105,111,110, 46, 10, 45, 45, 32, 84,104,
+ 101, 32,102,111,108,108,111,119,105,110,103, 32,102,105,101,
+ 108,100,115, 32, 97,114,101, 32,115,116,111,114,101,100, 58,
+ 10, 45, 45, 32, 32, 32,116,101,120,116, 32, 61, 32,116,101,
+ 120,116, 32, 99,111,100,101, 10, 99,108, 97,115,115, 67,111,
+ 100,101, 32, 61, 32,123, 10, 32,116,101,120,116, 32, 61, 32,
+ 39, 39, 44, 10,125, 10, 99,108, 97,115,115, 67,111,100,101,
+ 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,115,
+ 115, 67,111,100,101, 10,115,101,116,109,101,116, 97,116, 97,
+ 98,108,101, 40, 99,108, 97,115,115, 67,111,100,101, 44, 99,
+ 108, 97,115,115, 70,101, 97,116,117,114,101, 41, 10, 10, 45,
+ 45, 32,114,101,103,105,115,116,101,114, 32, 99,111,100,101,
+ 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115,
+ 67,111,100,101, 58,114,101,103,105,115,116,101,114, 32, 40,
+ 112,114,101, 41, 10, 32,112,114,101, 32, 61, 32,112,114,101,
+ 32,111,114, 32, 39, 39, 10, 32, 45, 45, 32, 99,108,101, 97,
+ 110, 32, 76,117, 97, 32, 99,111,100,101, 10, 32,108,111, 99,
+ 97,108, 32,115, 32, 61, 32, 99,108,101, 97,110, 40,115,101,
+ 108,102, 46,116,101,120,116, 41, 10, 32,105,102, 32,110,111,
+ 116, 32,115, 32,116,104,101,110, 10, 32, 32, 45, 45,112,114,
+ 105,110,116, 40,115,101,108,102, 46,116,101,120,116, 41, 10,
+ 32, 32,101,114,114,111,114, 40, 34,112, 97,114,115,101,114,
+ 32,101,114,114,111,114, 32,105,110, 32,101,109, 98,101,100,
+ 100,101,100, 32, 99,111,100,101, 34, 41, 10, 32,101,110,100,
+ 10, 10, 32, 45, 45, 32,103,101,116, 32,102,105,114,115,116,
+ 32,108,105,110,101, 10, 32,108,111, 99, 97,108, 32, 95, 44,
+ 32, 95, 44, 32,102,105,114,115,116, 95,108,105,110,101, 61,
+ 115,116,114,105,110,103, 46,102,105,110,100, 40,115,101,108,
+ 102, 46,116,101,120,116, 44, 32, 34, 94, 40, 91, 94, 92,110,
+ 92,114, 93, 42, 41, 34, 41, 10, 32,105,102, 32,115,116,114,
+ 105,110,103, 46,102,105,110,100, 40,102,105,114,115,116, 95,
+ 108,105,110,101, 44, 32, 34, 94, 37,115, 42, 37, 45, 37, 45,
+ 34, 41, 32,116,104,101,110, 10, 9, 32,105,102, 32,115,116,
+ 114,105,110,103, 46,102,105,110,100, 40,102,105,114,115,116,
+ 95,108,105,110,101, 44, 32, 34, 94, 37, 45, 37, 45, 35, 35,
+ 34, 41, 32,116,104,101,110, 10, 9, 9,102,105,114,115,116,
+ 95,108,105,110,101, 32, 61, 32,115,116,114,105,110,103, 46,
+ 103,115,117, 98, 40,102,105,114,115,116, 95,108,105,110,101,
+ 44, 32, 34, 94, 37, 45, 37, 45, 35, 35, 34, 44, 32, 34, 34,
+ 41, 10, 9, 9,105,102, 32,102,108, 97,103,115, 91, 39, 67,
+ 39, 93, 32,116,104,101,110, 10, 9, 9, 9,115, 32, 61, 32,
+ 115,116,114,105,110,103, 46,103,115,117, 98, 40,115, 44, 32,
+ 34, 94, 37, 45, 37, 45, 35, 35, 91, 94, 92,110, 92,114, 93,
+ 42, 92,110, 34, 44, 32, 34, 34, 41, 10, 9, 9,101,110,100,
+ 10, 9, 32,101,110,100, 10, 32,101,108,115,101, 10, 32, 9,
+ 102,105,114,115,116, 95,108,105,110,101, 32, 61, 32, 34, 34,
+ 10, 32,101,110,100, 10, 10, 32, 45, 45, 32, 99,111,110,118,
+ 101,114,116, 32,116,111, 32, 67, 10, 32,111,117,116,112,117,
+ 116, 40, 39, 92,110, 39, 46, 46,112,114,101, 46, 46, 39,123,
+ 32, 47, 42, 32, 98,101,103,105,110, 32,101,109, 98,101,100,
+ 100,101,100, 32,108,117, 97, 32, 99,111,100,101, 32, 42, 47,
+ 92,110, 39, 41, 10, 32,111,117,116,112,117,116, 40,112,114,
+ 101, 46, 46, 39, 32,105,110,116, 32,116,111,112, 32, 61, 32,
+ 108,117, 97, 95,103,101,116,116,111,112, 40,116,111,108,117,
+ 97, 95, 83, 41, 59, 39, 41, 10, 32,111,117,116,112,117,116,
+ 40,112,114,101, 46, 46, 39, 32,115,116, 97,116,105, 99, 32,
+ 117,110,115,105,103,110,101,100, 32, 99,104, 97,114, 32, 66,
+ 91, 93, 32, 61, 32,123, 92,110, 32, 32, 32, 39, 41, 10, 32,
+ 108,111, 99, 97,108, 32,116, 61,123,110, 61, 48,125, 10, 32,
+ 108,111, 99, 97,108, 32, 98, 32, 61, 32,103,115,117, 98, 40,
+ 115, 44, 39, 40, 46, 41, 39, 44,102,117,110, 99,116,105,111,
+ 110, 32, 40, 99, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32,108,111, 99, 97,108, 32,101, 32, 61, 32, 39, 39, 10, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32,116, 46,110, 61,116, 46,
+ 110, 43, 49, 32,105,102, 32,116, 46,110, 61, 61, 49, 53, 32,
+ 116,104,101,110, 32,116, 46,110, 61, 48, 32,101, 61, 39, 92,
+ 110, 39, 46, 46,112,114,101, 46, 46, 39, 32, 32, 39, 32,101,
+ 110,100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,114,101,
+ 116,117,114,110, 32,102,111,114,109, 97,116, 40, 39, 37, 51,
+ 117, 44, 37,115, 39, 44,115,116,114, 98,121,116,101, 40, 99,
+ 41, 44,101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,
+ 110,100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 41, 10, 32,111,117,116,112,117,116, 40, 98, 46,
+ 46,115,116,114, 98,121,116,101, 40, 34, 32, 34, 41, 41, 10,
+ 32,111,117,116,112,117,116, 40, 39, 92,110, 39, 46, 46,112,
+ 114,101, 46, 46, 39, 32,125, 59, 92,110, 39, 41, 10, 32,105,
+ 102, 32,102,105,114,115,116, 95,108,105,110,101, 32, 97,110,
+ 100, 32,102,105,114,115,116, 95,108,105,110,101, 32,126, 61,
+ 32, 34, 34, 32,116,104,101,110, 10, 32, 9,111,117,116,112,
+ 117,116, 40,112,114,101, 46, 46, 39, 32,116,111,108,117, 97,
+ 95,100,111, 98,117,102,102,101,114, 40,116,111,108,117, 97,
+ 95, 83, 44, 40, 99,104, 97,114, 42, 41, 66, 44,115,105,122,
+ 101,111,102, 40, 66, 41, 44, 34,116,111,108,117, 97, 32,101,
+ 109, 98,101,100,100,101,100, 58, 32, 39, 46, 46,102,105,114,
+ 115,116, 95,108,105,110,101, 46, 46, 39, 34, 41, 59, 39, 41,
+ 10, 32,101,108,115,101, 10, 32, 9,111,117,116,112,117,116,
+ 40,112,114,101, 46, 46, 39, 32,116,111,108,117, 97, 95,100,
+ 111, 98,117,102,102,101,114, 40,116,111,108,117, 97, 95, 83,
+ 44, 40, 99,104, 97,114, 42, 41, 66, 44,115,105,122,101,111,
+ 102, 40, 66, 41, 44, 34,116,111,108,117, 97, 58, 32,101,109,
+ 98,101,100,100,101,100, 32, 76,117, 97, 32, 99,111,100,101,
+ 32, 39, 46, 46, 99,111,100,101, 95,110, 46, 46, 39, 34, 41,
+ 59, 39, 41, 10, 32,101,110,100, 10, 32,111,117,116,112,117,
+ 116, 40,112,114,101, 46, 46, 39, 32,108,117, 97, 95,115,101,
+ 116,116,111,112, 40,116,111,108,117, 97, 95, 83, 44, 32,116,
+ 111,112, 41, 59, 39, 41, 10, 32,111,117,116,112,117,116, 40,
+ 112,114,101, 46, 46, 39,125, 32, 47, 42, 32,101,110,100, 32,
+ 111,102, 32,101,109, 98,101,100,100,101,100, 32,108,117, 97,
+ 32, 99,111,100,101, 32, 42, 47, 92,110, 92,110, 39, 41, 10,
+ 32, 99,111,100,101, 95,110, 32, 61, 32, 99,111,100,101, 95,
+ 110, 32, 43, 49, 10,101,110,100, 10, 10, 10, 45, 45, 32, 80,
+ 114,105,110,116, 32,109,101,116,104,111,100, 10,102,117,110,
+ 99,116,105,111,110, 32, 99,108, 97,115,115, 67,111,100,101,
+ 58,112,114,105,110,116, 32, 40,105,100,101,110,116, 44, 99,
+ 108,111,115,101, 41, 10, 32,112,114,105,110,116, 40,105,100,
+ 101,110,116, 46, 46, 34, 67,111,100,101,123, 34, 41, 10, 32,
+ 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,
+ 116,101,120,116, 32, 61, 32, 91, 91, 34, 46, 46,115,101,108,
+ 102, 46,116,101,120,116, 46, 46, 34, 93, 93, 44, 34, 41, 10,
+ 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,
+ 125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100, 10,
+ 10, 10, 45, 45, 32, 73,110,116,101,114,110, 97,108, 32, 99,
+ 111,110,115,116,114,117, 99,116,111,114, 10,102,117,110, 99,
+ 116,105,111,110, 32, 95, 67,111,100,101, 32, 40,116, 41, 10,
+ 32,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40,116,
+ 44, 99,108, 97,115,115, 67,111,100,101, 41, 10, 32, 97,112,
+ 112,101,110,100, 40,116, 41, 10, 32,114,101,116,117,114,110,
+ 32,116, 10,101,110,100, 10, 10, 45, 45, 32, 67,111,110,115,
+ 116,114,117, 99,116,111,114, 10, 45, 45, 32, 69,120,112,101,
+ 99,116,115, 32, 97, 32,115,116,114,105,110,103, 32,114,101,
+ 112,114,101,115,101,110,116,105,110,103, 32,116,104,101, 32,
+ 99,111,100,101, 32,116,101,120,116, 10,102,117,110, 99,116,
+ 105,111,110, 32, 67,111,100,101, 32, 40,108, 41, 10, 32,114,
+ 101,116,117,114,110, 32, 95, 67,111,100,101, 32,123, 10, 32,
+ 32,116,101,120,116, 32, 61, 32,108, 10, 32,125, 10,101,110,
+ 100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: lua/tolua++/src/bin/lua/code.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32,116,121,112,101,100,
+ 101,102, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,105,
+ 116,116,101,110, 32, 98,121, 32, 87, 97,108,100,101,109, 97,
+ 114, 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67, 71,
+ 114, 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45, 32,
+ 74,117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,100,
+ 58, 32, 36, 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,111,
+ 100,101, 32,105,115, 32,102,114,101,101, 32,115,111,102,116,
+ 119, 97,114,101, 59, 32,121,111,117, 32, 99, 97,110, 32,114,
+ 101,100,105,115,116,114,105, 98,117,116,101, 32,105,116, 32,
+ 97,110,100, 47,111,114, 32,109,111,100,105,102,121, 32,105,
+ 116, 46, 10, 45, 45, 32, 84,104,101, 32,115,111,102,116,119,
+ 97,114,101, 32,112,114,111,118,105,100,101,100, 32,104,101,
+ 114,101,117,110,100,101,114, 32,105,115, 32,111,110, 32, 97,
+ 110, 32, 34, 97,115, 32,105,115, 34, 32, 98, 97,115,105,115,
+ 44, 32, 97,110,100, 10, 45, 45, 32,116,104,101, 32, 97,117,
+ 116,104,111,114, 32,104, 97,115, 32,110,111, 32,111, 98,108,
+ 105,103, 97,116,105,111,110, 32,116,111, 32,112,114,111,118,
+ 105,100,101, 32,109, 97,105,110,116,101,110, 97,110, 99,101,
+ 44, 32,115,117,112,112,111,114,116, 44, 32,117,112,100, 97,
+ 116,101,115, 44, 10, 45, 45, 32,101,110,104, 97,110, 99,101,
+ 109,101,110,116,115, 44, 32,111,114, 32,109,111,100,105,102,
+ 105, 99, 97,116,105,111,110,115, 46, 10, 10, 10, 10, 45, 45,
+ 32, 84,121,112,101,100,101,102, 32, 99,108, 97,115,115, 10,
+ 45, 45, 32, 82,101,112,114,101,115,101,110,116,115, 32, 97,
+ 32,116,121,112,101, 32,115,121,110,111,110,121,109, 46, 10,
+ 45, 45, 32, 84,104,101, 32, 39,100,101, 32,102, 97, 99,116,
+ 111, 39, 32,116,121,112,101, 32,114,101,112,108, 97, 99,101,
+ 115, 32,116,104,101, 32,116,121,112,101,100,101,102, 32, 98,
+ 101,102,111,114,101, 32,116,104,101, 10, 45, 45, 32,114,101,
+ 109, 97,105,110,105,110,103, 32, 99,111,100,101, 32,105,115,
+ 32,112, 97,114,115,101,100, 46, 10, 45, 45, 32, 84,104,101,
+ 32,102,111,108,108,111,119,105,110,103, 32,102,105,101,108,
+ 100,115, 32, 97,114,101, 32,115,116,111,114,101,100, 58, 10,
+ 45, 45, 32, 32, 32,117,116,121,112,101, 32, 61, 32,116,121,
+ 112,101,100,101,102, 32,110, 97,109,101, 10, 45, 45, 32, 32,
+ 32,116,121,112,101, 32, 61, 32, 39,116,104,101, 32,102, 97,
+ 99,116,111, 39, 32,116,121,112,101, 10, 45, 45, 32, 32, 32,
+ 109,111,100, 32, 61, 32,109,111,100,105,102,105,101,114,115,
+ 32,116,111, 32,116,104,101, 32, 39,100,101, 32,102, 97, 99,
+ 116,111, 39, 32,116,121,112,101, 10, 99,108, 97,115,115, 84,
+ 121,112,101,100,101,102, 32, 61, 32,123, 10, 32,117,116,121,
+ 112,101, 32, 61, 32, 39, 39, 44, 10, 32,109,111,100, 32, 61,
+ 32, 39, 39, 44, 10, 32,116,121,112,101, 32, 61, 32, 39, 39,
+ 10,125, 10, 99,108, 97,115,115, 84,121,112,101,100,101,102,
+ 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,115,
+ 115, 84,121,112,101,100,101,102, 10, 10, 45, 45, 32, 80,114,
+ 105,110,116, 32,109,101,116,104,111,100, 10,102,117,110, 99,
+ 116,105,111,110, 32, 99,108, 97,115,115, 84,121,112,101,100,
+ 101,102, 58,112,114,105,110,116, 32, 40,105,100,101,110,116,
+ 44, 99,108,111,115,101, 41, 10, 32,112,114,105,110,116, 40,
+ 105,100,101,110,116, 46, 46, 34, 84,121,112,101,100,101,102,
+ 123, 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,
+ 116, 46, 46, 34, 32,117,116,121,112,101, 32, 61, 32, 39, 34,
+ 46, 46,115,101,108,102, 46,117,116,121,112,101, 46, 46, 34,
+ 39, 44, 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,
+ 110,116, 46, 46, 34, 32,109,111,100, 32, 61, 32, 39, 34, 46,
+ 46,115,101,108,102, 46,109,111,100, 46, 46, 34, 39, 44, 34,
+ 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46,
+ 46, 34, 32,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,115,
+ 101,108,102, 46,116,121,112,101, 46, 46, 34, 39, 44, 34, 41,
+ 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46,
+ 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100,
+ 10, 10, 45, 45, 32, 82,101,116,117,114,110, 32,105,116, 39,
+ 115, 32,110,111,116, 32, 97, 32,118, 97,114,105, 97, 98,108,
+ 101, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,
+ 115, 84,121,112,101,100,101,102, 58,105,115,118, 97,114,105,
+ 97, 98,108,101, 32, 40, 41, 10, 32,114,101,116,117,114,110,
+ 32,102, 97,108,115,101, 10,101,110,100, 10, 10, 45, 45, 32,
+ 73,110,116,101,114,110, 97,108, 32, 99,111,110,115,116,114,
+ 117, 99,116,111,114, 10,102,117,110, 99,116,105,111,110, 32,
+ 95, 84,121,112,101,100,101,102, 32, 40,116, 41, 10, 32,115,
+ 101,116,109,101,116, 97,116, 97, 98,108,101, 40,116, 44, 99,
+ 108, 97,115,115, 84,121,112,101,100,101,102, 41, 10, 32,116,
+ 46,116,121,112,101, 32, 61, 32,114,101,115,111,108,118,101,
+ 95,116,101,109,112,108, 97,116,101, 95,116,121,112,101,115,
+ 40,116, 46,116,121,112,101, 41, 10, 32, 97,112,112,101,110,
+ 100,116,121,112,101,100,101,102, 40,116, 41, 10, 32,114,101,
+ 116,117,114,110, 32,116, 10,101,110,100, 10, 10, 45, 45, 32,
+ 67,111,110,115,116,114,117, 99,116,111,114, 10, 45, 45, 32,
+ 69,120,112,101, 99,116,115, 32,111,110,101, 32,115,116,114,
+ 105,110,103, 32,114,101,112,114,101,115,101,110,116,105,110,
+ 103, 32,116,104,101, 32,116,121,112,101, 32,100,101,102,105,
+ 110,105,116,105,111,110, 46, 10,102,117,110, 99,116,105,111,
+ 110, 32, 84,121,112,101,100,101,102, 32, 40,115, 41, 10, 32,
+ 105,102, 32,115,116,114,102,105,110,100, 40,115,116,114,105,
+ 110,103, 46,103,115,117, 98, 40,115, 44, 32, 39, 37, 98, 60,
+ 62, 39, 44, 32, 39, 39, 41, 44, 39, 91, 37, 42, 38, 93, 39,
+ 41, 32,116,104,101,110, 10, 32, 32,116,111,108,117, 97, 95,
+ 101,114,114,111,114, 40, 34, 35,105,110,118, 97,108,105,100,
+ 32,116,121,112,101,100,101,102, 58, 32,112,111,105,110,116,
+ 101,114,115, 32, 40, 97,110,100, 32,114,101,102,101,114,101,
+ 110, 99,101,115, 41, 32, 97,114,101, 32,110,111,116, 32,115,
+ 117,112,112,111,114,116,101,100, 34, 41, 10, 32,101,110,100,
+ 10, 32,108,111, 99, 97,108, 32,111, 32, 61, 32,123,109,111,
+ 100, 32, 61, 32, 39, 39,125, 10, 32,105,102, 32,115,116,114,
+ 105,110,103, 46,102,105,110,100, 40,115, 44, 32, 34, 91, 60,
+ 62, 93, 34, 41, 32,116,104,101,110, 10, 32, 9, 95, 44, 95,
+ 44,111, 46,116,121,112,101, 44,111, 46,117,116,121,112,101,
+ 32, 61, 32,115,116,114,105,110,103, 46,102,105,110,100, 40,
+ 115, 44, 32, 34, 94, 37,115, 42, 40, 91, 94, 60, 62, 93, 43,
+ 37, 98, 60, 62, 91, 94, 37,115, 93, 42, 41, 37,115, 43, 40,
+ 46, 45, 41, 36, 34, 41, 10, 32,101,108,115,101, 10, 32, 9,
+ 108,111, 99, 97,108, 32,116, 32, 61, 32,115,112,108,105,116,
+ 40,103,115,117, 98, 40,115, 44, 34, 37,115, 37,115, 42, 34,
+ 44, 34, 32, 34, 41, 44, 34, 32, 34, 41, 10, 32, 9,111, 32,
+ 61, 32,123, 10, 9, 32, 32,117,116,121,112,101, 32, 61, 32,
+ 116, 91,116, 46,110, 93, 44, 10, 9, 32, 32,116,121,112,101,
+ 32, 61, 32,116, 91,116, 46,110, 45, 49, 93, 44, 10, 9, 32,
+ 32,109,111,100, 32, 61, 32, 99,111,110, 99, 97,116, 40,116,
+ 44, 49, 44,116, 46,110, 45, 50, 41, 44, 10, 9, 32,125, 10,
+ 32,101,110,100, 10, 32,114,101,116,117,114,110, 32, 95, 84,
+ 121,112,101,100,101,102, 40,111, 41, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: lua/tolua++/src/bin/lua/typedef.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32, 99,111,110,116, 97,
+ 105,110,101,114, 32, 97, 98,115,116,114, 97, 99,116, 32, 99,
+ 108, 97,115,115, 10, 45, 45, 32, 87,114,105,116,116,101,110,
+ 32, 98,121, 32, 87, 97,108,100,101,109, 97,114, 32, 67,101,
+ 108,101,115, 10, 45, 45, 32, 84,101, 67, 71,114, 97,102, 47,
+ 80, 85, 67, 45, 82,105,111, 10, 45, 45, 32, 74,117,108, 32,
+ 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,100, 58, 32, 36, 10,
+ 10, 45, 45, 32, 84,104,105,115, 32, 99,111,100,101, 32,105,
+ 115, 32,102,114,101,101, 32,115,111,102,116,119, 97,114,101,
+ 59, 32,121,111,117, 32, 99, 97,110, 32,114,101,100,105,115,
+ 116,114,105, 98,117,116,101, 32,105,116, 32, 97,110,100, 47,
+ 111,114, 32,109,111,100,105,102,121, 32,105,116, 46, 10, 45,
+ 45, 32, 84,104,101, 32,115,111,102,116,119, 97,114,101, 32,
+ 112,114,111,118,105,100,101,100, 32,104,101,114,101,117,110,
+ 100,101,114, 32,105,115, 32,111,110, 32, 97,110, 32, 34, 97,
+ 115, 32,105,115, 34, 32, 98, 97,115,105,115, 44, 32, 97,110,
+ 100, 10, 45, 45, 32,116,104,101, 32, 97,117,116,104,111,114,
+ 32,104, 97,115, 32,110,111, 32,111, 98,108,105,103, 97,116,
+ 105,111,110, 32,116,111, 32,112,114,111,118,105,100,101, 32,
+ 109, 97,105,110,116,101,110, 97,110, 99,101, 44, 32,115,117,
+ 112,112,111,114,116, 44, 32,117,112,100, 97,116,101,115, 44,
+ 10, 45, 45, 32,101,110,104, 97,110, 99,101,109,101,110,116,
+ 115, 44, 32,111,114, 32,109,111,100,105,102,105, 99, 97,116,
+ 105,111,110,115, 46, 10, 10, 45, 45, 32,116, 97, 98,108,101,
+ 32,116,111, 32,115,116,111,114,101, 32,110, 97,109,101,115,
+ 112, 97, 99,101,100, 32,116,121,112,101,100,101,102,115, 47,
+ 101,110,117,109,115, 32,105,110, 32,103,108,111, 98, 97,108,
+ 32,115, 99,111,112,101, 10,103,108,111, 98, 97,108, 95,116,
+ 121,112,101,100,101,102,115, 32, 61, 32,123,125, 10,103,108,
+ 111, 98, 97,108, 95,101,110,117,109,115, 32, 61, 32,123,125,
+ 10, 10, 45, 45, 32, 67,111,110,116, 97,105,110,101,114, 32,
+ 99,108, 97,115,115, 10, 45, 45, 32, 82,101,112,114,101,115,
+ 101,110,116,115, 32, 97, 32, 99,111,110,116, 97,105,110,101,
+ 114, 32,111,102, 32,102,101, 97,116,117,114,101,115, 32,116,
+ 111, 32, 98,101, 32, 98,111,117,110,100, 10, 45, 45, 32,116,
+ 111, 32,108,117, 97, 46, 10, 99,108, 97,115,115, 67,111,110,
+ 116, 97,105,110,101,114, 32, 61, 10,123, 10, 32, 99,117,114,
+ 114, 32, 61, 32,110,105,108, 44, 10,125, 10, 99,108, 97,115,
+ 115, 67,111,110,116, 97,105,110,101,114, 46, 95, 95,105,110,
+ 100,101,120, 32, 61, 32, 99,108, 97,115,115, 67,111,110,116,
+ 97,105,110,101,114, 10,115,101,116,109,101,116, 97,116, 97,
+ 98,108,101, 40, 99,108, 97,115,115, 67,111,110,116, 97,105,
+ 110,101,114, 44, 99,108, 97,115,115, 70,101, 97,116,117,114,
+ 101, 41, 10, 10, 45, 45, 32,111,117,116,112,117,116, 32,116,
+ 97,103,115, 10,102,117,110, 99,116,105,111,110, 32, 99,108,
+ 97,115,115, 67,111,110,116, 97,105,110,101,114, 58,100,101,
+ 99,108,116,121,112,101, 32, 40, 41, 10, 32,112,117,115,104,
+ 40,115,101,108,102, 41, 10, 32,108,111, 99, 97,108, 32,105,
+ 61, 49, 10, 32,119,104,105,108,101, 32,115,101,108,102, 91,
+ 105, 93, 32,100,111, 10, 32, 32,115,101,108,102, 91,105, 93,
+ 58,100,101, 99,108,116,121,112,101, 40, 41, 10, 32, 32,105,
+ 32, 61, 32,105, 43, 49, 10, 32,101,110,100, 10, 32,112,111,
+ 112, 40, 41, 10,101,110,100, 10, 10, 10, 45, 45, 32,119,114,
+ 105,116,101, 32,115,117,112,112,111,114,116, 32, 99,111,100,
+ 101, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,
+ 115, 67,111,110,116, 97,105,110,101,114, 58,115,117,112, 99,
+ 111,100,101, 32, 40, 41, 10, 10, 9,105,102, 32,110,111,116,
+ 32,115,101,108,102, 58, 99,104,101, 99,107, 95,112,117, 98,
+ 108,105, 99, 95, 97, 99, 99,101,115,115, 40, 41, 32,116,104,
+ 101,110, 10, 9, 9,114,101,116,117,114,110, 10, 9,101,110,
+ 100, 10, 10, 32,112,117,115,104, 40,115,101,108,102, 41, 10,
+ 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32,119,104,105,
+ 108,101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10, 32,
+ 32,105,102, 32,115,101,108,102, 91,105, 93, 58, 99,104,101,
+ 99,107, 95,112,117, 98,108,105, 99, 95, 97, 99, 99,101,115,
+ 115, 40, 41, 32,116,104,101,110, 10, 32, 32, 9,115,101,108,
+ 102, 91,105, 93, 58,115,117,112, 99,111,100,101, 40, 41, 10,
+ 32, 32,101,110,100, 10, 32, 32,105, 32, 61, 32,105, 43, 49,
+ 10, 32,101,110,100, 10, 32,112,111,112, 40, 41, 10,101,110,
+ 100, 10, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,
+ 115,115, 67,111,110,116, 97,105,110,101,114, 58,104, 97,115,
+ 118, 97,114, 32, 40, 41, 10, 32,108,111, 99, 97,108, 32,105,
+ 61, 49, 10, 32,119,104,105,108,101, 32,115,101,108,102, 91,
+ 105, 93, 32,100,111, 10, 32, 32,105,102, 32,115,101,108,102,
+ 91,105, 93, 58,105,115,118, 97,114,105, 97, 98,108,101, 40,
+ 41, 32,116,104,101,110, 10, 9, 9, 32,114,101,116,117,114,
+ 110, 32, 49, 10, 9, 9,101,110,100, 10, 32, 32,105, 32, 61,
+ 32,105, 43, 49, 10, 32,101,110,100, 10, 9,114,101,116,117,
+ 114,110, 32, 48, 10,101,110,100, 10, 10, 45, 45, 32, 73,110,
+ 116,101,114,110, 97,108, 32, 99,111,110,116, 97,105,110,101,
+ 114, 32, 99,111,110,115,116,114,117, 99,116,111,114, 10,102,
+ 117,110, 99,116,105,111,110, 32, 95, 67,111,110,116, 97,105,
+ 110,101,114, 32, 40,115,101,108,102, 41, 10, 32,115,101,116,
+ 109,101,116, 97,116, 97, 98,108,101, 40,115,101,108,102, 44,
+ 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 41,
+ 10, 32,115,101,108,102, 46,110, 32, 61, 32, 48, 10, 32,115,
+ 101,108,102, 46,116,121,112,101,100,101,102,115, 32, 61, 32,
+ 123,116,111,108,117, 97, 95,110, 61, 48,125, 10, 32,115,101,
+ 108,102, 46,117,115,101,114,116,121,112,101,115, 32, 61, 32,
+ 123,125, 10, 32,115,101,108,102, 46,101,110,117,109,115, 32,
+ 61, 32,123,116,111,108,117, 97, 95,110, 61, 48,125, 10, 32,
+ 115,101,108,102, 46,108,110, 97,109,101,115, 32, 61, 32,123,
+ 125, 10, 32,114,101,116,117,114,110, 32,115,101,108,102, 10,
+ 101,110,100, 10, 10, 45, 45, 32,112,117,115,104, 32, 99,111,
+ 110,116, 97,105,110,101,114, 10,102,117,110, 99,116,105,111,
+ 110, 32,112,117,115,104, 32, 40,116, 41, 10, 9,116, 46,112,
+ 114,111,120, 32, 61, 32, 99,108, 97,115,115, 67,111,110,116,
+ 97,105,110,101,114, 46, 99,117,114,114, 10, 32, 99,108, 97,
+ 115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,
+ 114, 32, 61, 32,116, 10,101,110,100, 10, 10, 45, 45, 32,112,
+ 111,112, 32, 99,111,110,116, 97,105,110,101,114, 10,102,117,
+ 110, 99,116,105,111,110, 32,112,111,112, 32, 40, 41, 10, 45,
+ 45,112,114,105,110,116, 40, 34,110, 97,109,101, 34, 44, 99,
+ 108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,
+ 117,114,114, 46,110, 97,109,101, 41, 10, 45, 45,102,111,114,
+ 101, 97, 99,104, 40, 99,108, 97,115,115, 67,111,110,116, 97,
+ 105,110,101,114, 46, 99,117,114,114, 46,117,115,101,114,116,
+ 121,112,101,115, 44,112,114,105,110,116, 41, 10, 45, 45,112,
+ 114,105,110,116, 40, 34, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+ 95, 95, 95, 95, 95, 34, 41, 10, 32, 99,108, 97,115,115, 67,
+ 111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 32, 61,
+ 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114,
+ 46, 99,117,114,114, 46,112,114,111,120, 10,101,110,100, 10,
+ 10, 45, 45, 32,103,101,116, 32, 99,117,114,114,101,110,116,
+ 32,110, 97,109,101,115,112, 97, 99,101, 10,102,117,110, 99,
+ 116,105,111,110, 32,103,101,116, 99,117,114,114,110, 97,109,
+ 101,115,112, 97, 99,101, 32, 40, 41, 10, 9,114,101,116,117,
+ 114,110, 32,103,101,116,110, 97,109,101,115,112, 97, 99,101,
+ 40, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114,
+ 46, 99,117,114,114, 41, 10,101,110,100, 10, 10, 45, 45, 32,
+ 97,112,112,101,110,100, 32,116,111, 32, 99,117,114,114,101,
+ 110,116, 32, 99,111,110,116, 97,105,110,101,114, 10,102,117,
+ 110, 99,116,105,111,110, 32, 97,112,112,101,110,100, 32, 40,
+ 116, 41, 10, 32,114,101,116,117,114,110, 32, 99,108, 97,115,
+ 115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114,
+ 58, 97,112,112,101,110,100, 40,116, 41, 10,101,110,100, 10,
+ 10, 45, 45, 32, 97,112,112,101,110,100, 32,116,121,112,101,
+ 100,101,102, 32,116,111, 32, 99,117,114,114,101,110,116, 32,
+ 99,111,110,116, 97,105,110,101,114, 10,102,117,110, 99,116,
+ 105,111,110, 32, 97,112,112,101,110,100,116,121,112,101,100,
+ 101,102, 32, 40,116, 41, 10, 32,114,101,116,117,114,110, 32,
+ 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 46,
+ 99,117,114,114, 58, 97,112,112,101,110,100,116,121,112,101,
+ 100,101,102, 40,116, 41, 10,101,110,100, 10, 10, 45, 45, 32,
+ 97,112,112,101,110,100, 32,117,115,101,114,116,121,112,101,
+ 32,116,111, 32, 99,117,114,114,101,110,116, 32, 99,111,110,
+ 116, 97,105,110,101,114, 10,102,117,110, 99,116,105,111,110,
+ 32, 97,112,112,101,110,100,117,115,101,114,116,121,112,101,
+ 32, 40,116, 41, 10, 32,114,101,116,117,114,110, 32, 99,108,
+ 97,115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,
+ 114,114, 58, 97,112,112,101,110,100,117,115,101,114,116,121,
+ 112,101, 40,116, 41, 10,101,110,100, 10, 10, 45, 45, 32, 97,
+ 112,112,101,110,100, 32,101,110,117,109, 32,116,111, 32, 99,
+ 117,114,114,101,110,116, 32, 99,111,110,116, 97,105,110,101,
+ 114, 10,102,117,110, 99,116,105,111,110, 32, 97,112,112,101,
+ 110,100,101,110,117,109, 32, 40,116, 41, 10, 32,114,101,116,
+ 117,114,110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,
+ 110,101,114, 46, 99,117,114,114, 58, 97,112,112,101,110,100,
+ 101,110,117,109, 40,116, 41, 10,101,110,100, 10, 10, 45, 45,
+ 32,115,117, 98,115,116,105,116,117,116,101, 32,116,121,112,
+ 101,100,101,102, 10,102,117,110, 99,116,105,111,110, 32, 97,
+ 112,112,108,121,116,121,112,101,100,101,102, 32, 40,109,111,
+ 100, 44,116,121,112,101, 41, 10, 32,114,101,116,117,114,110,
+ 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114,
+ 46, 99,117,114,114, 58, 97,112,112,108,121,116,121,112,101,
+ 100,101,102, 40,109,111,100, 44,116,121,112,101, 41, 10,101,
+ 110,100, 10, 10, 45, 45, 32, 99,104,101, 99,107, 32,105,102,
+ 32,105,115, 32,116,121,112,101, 10,102,117,110, 99,116,105,
+ 111,110, 32,102,105,110,100,116,121,112,101, 32, 40,116,121,
+ 112,101, 41, 10, 32,108,111, 99, 97,108, 32,116, 32, 61, 32,
+ 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 46,
+ 99,117,114,114, 58,102,105,110,100,116,121,112,101, 40,116,
+ 121,112,101, 41, 10, 9,114,101,116,117,114,110, 32,116, 10,
+ 101,110,100, 10, 10, 45, 45, 32, 99,104,101, 99,107, 32,105,
+ 102, 32,105,115, 32,116,121,112,101,100,101,102, 10,102,117,
+ 110, 99,116,105,111,110, 32,105,115,116,121,112,101,100,101,
+ 102, 32, 40,116,121,112,101, 41, 10, 32,114,101,116,117,114,
+ 110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,
+ 114, 46, 99,117,114,114, 58,105,115,116,121,112,101,100,101,
+ 102, 40,116,121,112,101, 41, 10,101,110,100, 10, 10, 45, 45,
+ 32,103,101,116, 32,102,117,108,108,116,121,112,101, 32, 40,
+ 119,105,116,104, 32,110, 97,109,101,115,112, 97, 99,101, 41,
+ 10,102,117,110, 99,116,105,111,110, 32,102,117,108,108,116,
+ 121,112,101, 32, 40,116, 41, 10, 32,108,111, 99, 97,108, 32,
+ 99,117,114,114, 32, 61, 32, 32, 99,108, 97,115,115, 67,111,
+ 110,116, 97,105,110,101,114, 46, 99,117,114,114, 10, 9,119,
+ 104,105,108,101, 32, 99,117,114,114, 32,100,111, 10, 9, 32,
+ 105,102, 32, 99,117,114,114, 32,116,104,101,110, 10, 9, 9,
+ 32,105,102, 32, 99,117,114,114, 46,116,121,112,101,100,101,
+ 102,115, 32, 97,110,100, 32, 99,117,114,114, 46,116,121,112,
+ 101,100,101,102,115, 91,116, 93, 32,116,104,101,110, 10, 9,
+ 9, 32, 32,114,101,116,117,114,110, 32, 99,117,114,114, 46,
+ 116,121,112,101,100,101,102,115, 91,116, 93, 10, 9, 9, 32,
+ 101,108,115,101,105,102, 32, 99,117,114,114, 46,117,115,101,
+ 114,116,121,112,101,115, 32, 97,110,100, 32, 99,117,114,114,
+ 46,117,115,101,114,116,121,112,101,115, 91,116, 93, 32,116,
+ 104,101,110, 10, 9, 9, 32, 32,114,101,116,117,114,110, 32,
+ 99,117,114,114, 46,117,115,101,114,116,121,112,101,115, 91,
+ 116, 93, 10, 9, 9, 9,101,110,100, 10, 9, 9,101,110,100,
+ 10, 9, 32, 99,117,114,114, 32, 61, 32, 99,117,114,114, 46,
+ 112,114,111,120, 10, 9,101,110,100, 10, 9,114,101,116,117,
+ 114,110, 32,116, 10,101,110,100, 10, 10, 45, 45, 32, 99,104,
+ 101, 99,107,115, 32,105,102, 32,105,116, 32,114,101,113,117,
+ 105,114,101,115, 32, 99,111,108,108,101, 99,116,105,111,110,
+ 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115,
+ 67,111,110,116, 97,105,110,101,114, 58,114,101,113,117,105,
+ 114,101, 99,111,108,108,101, 99,116,105,111,110, 32, 40,116,
+ 41, 10, 32,112,117,115,104, 40,115,101,108,102, 41, 10, 32,
+ 108,111, 99, 97,108, 32,105, 61, 49, 10, 9,108,111, 99, 97,
+ 108, 32,114, 32, 61, 32,102, 97,108,115,101, 10, 32,119,104,
+ 105,108,101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10,
+ 32, 32,114, 32, 61, 32,115,101,108,102, 91,105, 93, 58,114,
+ 101,113,117,105,114,101, 99,111,108,108,101, 99,116,105,111,
+ 110, 40,116, 41, 32,111,114, 32,114, 10, 32, 32,105, 32, 61,
+ 32,105, 43, 49, 10, 32,101,110,100, 10, 9,112,111,112, 40,
+ 41, 10, 9,114,101,116,117,114,110, 32,114, 10,101,110,100,
+ 10, 10, 10, 45, 45, 32,103,101,116, 32,110, 97,109,101,115,
+ 97,112, 99,101, 10,102,117,110, 99,116,105,111,110, 32,103,
+ 101,116,110, 97,109,101,115,112, 97, 99,101, 32, 40, 99,117,
+ 114,114, 41, 10, 9,108,111, 99, 97,108, 32,110, 97,109,101,
+ 115,112, 97, 99,101, 32, 61, 32, 39, 39, 10, 9,119,104,105,
+ 108,101, 32, 99,117,114,114, 32,100,111, 10, 9, 32,105,102,
+ 32, 99,117,114,114, 32, 97,110,100, 10, 9, 9, 32, 32, 32,
+ 40, 32, 99,117,114,114, 46, 99,108, 97,115,115,116,121,112,
+ 101, 32, 61, 61, 32, 39, 99,108, 97,115,115, 39, 32,111,114,
+ 32, 99,117,114,114, 46, 99,108, 97,115,115,116,121,112,101,
+ 32, 61, 61, 32, 39,110, 97,109,101,115,112, 97, 99,101, 39,
+ 41, 10, 9, 9,116,104,101,110, 10, 9, 9, 32,110, 97,109,
+ 101,115,112, 97, 99,101, 32, 61, 32, 40, 99,117,114,114, 46,
+ 111,114,105,103,105,110, 97,108, 95,110, 97,109,101, 32,111,
+ 114, 32, 99,117,114,114, 46,110, 97,109,101, 41, 32, 46, 46,
+ 32, 39, 58, 58, 39, 32, 46, 46, 32,110, 97,109,101,115,112,
+ 97, 99,101, 10, 9, 9, 32, 45, 45,110, 97,109,101,115,112,
+ 97, 99,101, 32, 61, 32, 99,117,114,114, 46,110, 97,109,101,
+ 32, 46, 46, 32, 39, 58, 58, 39, 32, 46, 46, 32,110, 97,109,
+ 101,115,112, 97, 99,101, 10, 9, 9,101,110,100, 10, 9, 32,
+ 99,117,114,114, 32, 61, 32, 99,117,114,114, 46,112,114,111,
+ 120, 10, 9,101,110,100, 10, 9,114,101,116,117,114,110, 32,
+ 110, 97,109,101,115,112, 97, 99,101, 10,101,110,100, 10, 10,
+ 45, 45, 32,103,101,116, 32,110, 97,109,101,115,112, 97, 99,
+ 101, 32, 40,111,110,108,121, 32,110, 97,109,101,115,112, 97,
+ 99,101, 41, 10,102,117,110, 99,116,105,111,110, 32,103,101,
+ 116,111,110,108,121,110, 97,109,101,115,112, 97, 99,101, 32,
+ 40, 41, 10, 32,108,111, 99, 97,108, 32, 99,117,114,114, 32,
+ 61, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,
+ 114, 46, 99,117,114,114, 10, 9,108,111, 99, 97,108, 32,110,
+ 97,109,101,115,112, 97, 99,101, 32, 61, 32, 39, 39, 10, 9,
+ 119,104,105,108,101, 32, 99,117,114,114, 32,100,111, 10, 9,
+ 9,105,102, 32, 99,117,114,114, 46, 99,108, 97,115,115,116,
+ 121,112,101, 32, 61, 61, 32, 39, 99,108, 97,115,115, 39, 32,
+ 116,104,101,110, 10, 9, 9, 32,114,101,116,117,114,110, 32,
+ 110, 97,109,101,115,112, 97, 99,101, 10, 9, 9,101,108,115,
+ 101,105,102, 32, 99,117,114,114, 46, 99,108, 97,115,115,116,
+ 121,112,101, 32, 61, 61, 32, 39,110, 97,109,101,115,112, 97,
+ 99,101, 39, 32,116,104,101,110, 10, 9, 9, 32,110, 97,109,
+ 101,115,112, 97, 99,101, 32, 61, 32, 99,117,114,114, 46,110,
+ 97,109,101, 32, 46, 46, 32, 39, 58, 58, 39, 32, 46, 46, 32,
+ 110, 97,109,101,115,112, 97, 99,101, 10, 9, 9,101,110,100,
+ 10, 9, 32, 99,117,114,114, 32, 61, 32, 99,117,114,114, 46,
+ 112,114,111,120, 10, 9,101,110,100, 10, 9,114,101,116,117,
+ 114,110, 32,110, 97,109,101,115,112, 97, 99,101, 10,101,110,
+ 100, 10, 10, 45, 45, 32, 99,104,101, 99,107, 32,105,102, 32,
+ 105,115, 32,101,110,117,109, 10,102,117,110, 99,116,105,111,
+ 110, 32,105,115,101,110,117,109, 32, 40,116,121,112,101, 41,
+ 10, 32,114,101,116,117,114,110, 32, 99,108, 97,115,115, 67,
+ 111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 58,105,
+ 115,101,110,117,109, 40,116,121,112,101, 41, 10,101,110,100,
+ 10, 10, 45, 45, 32, 97,112,112,101,110,100, 32,102,101, 97,
+ 116,117,114,101, 32,116,111, 32, 99,111,110,116, 97,105,110,
+ 101,114, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,
+ 115,115, 67,111,110,116, 97,105,110,101,114, 58, 97,112,112,
+ 101,110,100, 32, 40,116, 41, 10, 32,115,101,108,102, 46,110,
+ 32, 61, 32,115,101,108,102, 46,110, 32, 43, 32, 49, 10, 32,
+ 115,101,108,102, 91,115,101,108,102, 46,110, 93, 32, 61, 32,
+ 116, 10, 32,116, 46,112, 97,114,101,110,116, 32, 61, 32,115,
+ 101,108,102, 10,101,110,100, 10, 10, 45, 45, 32, 97,112,112,
+ 101,110,100, 32,116,121,112,101,100,101,102, 10,102,117,110,
+ 99,116,105,111,110, 32, 99,108, 97,115,115, 67,111,110,116,
+ 97,105,110,101,114, 58, 97,112,112,101,110,100,116,121,112,
+ 101,100,101,102, 32, 40,116, 41, 10, 32,108,111, 99, 97,108,
+ 32,110, 97,109,101,115,112, 97, 99,101, 32, 61, 32,103,101,
+ 116,110, 97,109,101,115,112, 97, 99,101, 40, 99,108, 97,115,
+ 115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114,
+ 41, 10, 32,115,101,108,102, 46,116,121,112,101,100,101,102,
+ 115, 46,116,111,108,117, 97, 95,110, 32, 61, 32,115,101,108,
+ 102, 46,116,121,112,101,100,101,102,115, 46,116,111,108,117,
+ 97, 95,110, 32, 43, 32, 49, 10, 32,115,101,108,102, 46,116,
+ 121,112,101,100,101,102,115, 91,115,101,108,102, 46,116,121,
+ 112,101,100,101,102,115, 46,116,111,108,117, 97, 95,110, 93,
+ 32, 61, 32,116, 10, 9,115,101,108,102, 46,116,121,112,101,
+ 100,101,102,115, 91,116, 46,117,116,121,112,101, 93, 32, 61,
+ 32,110, 97,109,101,115,112, 97, 99,101, 32, 46, 46, 32,116,
+ 46,117,116,121,112,101, 10, 9,103,108,111, 98, 97,108, 95,
+ 116,121,112,101,100,101,102,115, 91,110, 97,109,101,115,112,
+ 97, 99,101, 46, 46,116, 46,117,116,121,112,101, 93, 32, 61,
+ 32,116, 10, 9,116, 46,102,116,121,112,101, 32, 61, 32,102,
+ 105,110,100,116,121,112,101, 40,116, 46,116,121,112,101, 41,
+ 32,111,114, 32,116, 46,116,121,112,101, 10, 9, 45, 45,112,
+ 114,105,110,116, 40, 34, 97,112,112,101,110,100,105,110,103,
+ 32,116,121,112,101,100,101,102, 32, 34, 46, 46,116, 46,117,
+ 116,121,112,101, 46, 46, 34, 32, 97,115, 32, 34, 46, 46,110,
+ 97,109,101,115,112, 97, 99,101, 46, 46,116, 46,117,116,121,
+ 112,101, 46, 46, 34, 32,119,105,116,104, 32,102,116,121,112,
+ 101, 32, 34, 46, 46,116, 46,102,116,121,112,101, 41, 10, 9,
+ 97,112,112,101,110,100, 95,103,108,111, 98, 97,108, 95,116,
+ 121,112,101, 40,110, 97,109,101,115,112, 97, 99,101, 46, 46,
+ 116, 46,117,116,121,112,101, 41, 10, 9,105,102, 32,116, 46,
+ 102,116,121,112,101, 32, 97,110,100, 32,105,115,101,110,117,
+ 109, 40,116, 46,102,116,121,112,101, 41, 32,116,104,101,110,
+ 10, 10, 9, 9,103,108,111, 98, 97,108, 95,101,110,117,109,
+ 115, 91,110, 97,109,101,115,112, 97, 99,101, 46, 46,116, 46,
+ 117,116,121,112,101, 93, 32, 61, 32,116,114,117,101, 10, 9,
+ 101,110,100, 10,101,110,100, 10, 10, 45, 45, 32, 97,112,112,
+ 101,110,100, 32,117,115,101,114,116,121,112,101, 58, 32,114,
+ 101,116,117,114,110, 32,102,117,108,108, 32,116,121,112,101,
+ 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115,
+ 67,111,110,116, 97,105,110,101,114, 58, 97,112,112,101,110,
+ 100,117,115,101,114,116,121,112,101, 32, 40,116, 41, 10, 9,
+ 108,111, 99, 97,108, 32, 99,111,110,116, 97,105,110,101,114,
+ 10, 9,105,102, 32,116, 32, 61, 61, 32, 40,115,101,108,102,
+ 46,111,114,105,103,105,110, 97,108, 95,110, 97,109,101, 32,
+ 111,114, 32,115,101,108,102, 46,110, 97,109,101, 41, 32,116,
+ 104,101,110, 10, 9, 9, 99,111,110,116, 97,105,110,101,114,
+ 32, 61, 32,115,101,108,102, 46,112,114,111,120, 10, 9,101,
+ 108,115,101, 10, 9, 9, 99,111,110,116, 97,105,110,101,114,
+ 32, 61, 32,115,101,108,102, 10, 9,101,110,100, 10, 9,108,
+ 111, 99, 97,108, 32,102,116, 32, 61, 32,103,101,116,110, 97,
+ 109,101,115,112, 97, 99,101, 40, 99,111,110,116, 97,105,110,
+ 101,114, 41, 32, 46, 46, 32,116, 10, 9, 99,111,110,116, 97,
+ 105,110,101,114, 46,117,115,101,114,116,121,112,101,115, 91,
+ 116, 93, 32, 61, 32,102,116, 10, 9, 95,117,115,101,114,116,
+ 121,112,101, 91,102,116, 93, 32, 61, 32,102,116, 10, 9,114,
+ 101,116,117,114,110, 32,102,116, 10,101,110,100, 10, 10, 45,
+ 45, 32, 97,112,112,101,110,100, 32,101,110,117,109, 10,102,
+ 117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67,111,
+ 110,116, 97,105,110,101,114, 58, 97,112,112,101,110,100,101,
+ 110,117,109, 32, 40,116, 41, 10, 32,108,111, 99, 97,108, 32,
+ 110, 97,109,101,115,112, 97, 99,101, 32, 61, 32,103,101,116,
+ 110, 97,109,101,115,112, 97, 99,101, 40, 99,108, 97,115,115,
+ 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 41,
+ 10, 32,115,101,108,102, 46,101,110,117,109,115, 46,116,111,
+ 108,117, 97, 95,110, 32, 61, 32,115,101,108,102, 46,101,110,
+ 117,109,115, 46,116,111,108,117, 97, 95,110, 32, 43, 32, 49,
+ 10, 32,115,101,108,102, 46,101,110,117,109,115, 91,115,101,
+ 108,102, 46,101,110,117,109,115, 46,116,111,108,117, 97, 95,
+ 110, 93, 32, 61, 32,116, 10, 9,103,108,111, 98, 97,108, 95,
+ 101,110,117,109,115, 91,110, 97,109,101,115,112, 97, 99,101,
+ 46, 46,116, 46,110, 97,109,101, 93, 32, 61, 32,116, 10,101,
+ 110,100, 10, 10, 45, 45, 32,100,101,116,101,114,109,105,110,
+ 101, 32,108,117, 97, 32,102,117,110, 99,116,105,111,110, 32,
+ 110, 97,109,101, 32,111,118,101,114,108,111, 97,100, 10,102,
+ 117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67,111,
+ 110,116, 97,105,110,101,114, 58,111,118,101,114,108,111, 97,
+ 100, 32, 40,108,110, 97,109,101, 41, 10, 32,105,102, 32,110,
+ 111,116, 32,115,101,108,102, 46,108,110, 97,109,101,115, 91,
+ 108,110, 97,109,101, 93, 32,116,104,101,110, 10, 32, 32,115,
+ 101,108,102, 46,108,110, 97,109,101,115, 91,108,110, 97,109,
+ 101, 93, 32, 61, 32, 48, 10, 32,101,108,115,101, 10, 32, 32,
+ 115,101,108,102, 46,108,110, 97,109,101,115, 91,108,110, 97,
+ 109,101, 93, 32, 61, 32,115,101,108,102, 46,108,110, 97,109,
+ 101,115, 91,108,110, 97,109,101, 93, 32, 43, 32, 49, 10, 32,
+ 101,110,100, 10, 32,114,101,116,117,114,110, 32,102,111,114,
+ 109, 97,116, 40, 34, 37, 48, 50,100, 34, 44,115,101,108,102,
+ 46,108,110, 97,109,101,115, 91,108,110, 97,109,101, 93, 41,
+ 10,101,110,100, 10, 10, 45, 45, 32, 97,112,112,108,105,101,
+ 115, 32,116,121,112,101,100,101,102, 58, 32,114,101,116,117,
+ 114,110,115, 32,116,104,101, 32, 39,116,104,101, 32,102, 97,
+ 99,116,111, 39, 32,109,111,100,105,102,105,101,114, 32, 97,
+ 110,100, 32,116,121,112,101, 10,102,117,110, 99,116,105,111,
+ 110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,
+ 114, 58, 97,112,112,108,121,116,121,112,101,100,101,102, 32,
+ 40,109,111,100, 44,116,121,112,101, 41, 10, 9,105,102, 32,
+ 103,108,111, 98, 97,108, 95,116,121,112,101,100,101,102,115,
+ 91,116,121,112,101, 93, 32,116,104,101,110, 10, 9, 9, 45,
+ 45,112,114,105,110,116, 40, 34,102,111,117,110,100, 32,116,
+ 121,112,101,100,101,102, 32, 34, 46, 46,103,108,111, 98, 97,
+ 108, 95,116,121,112,101,100,101,102,115, 91,116,121,112,101,
+ 93, 46,116,121,112,101, 41, 10, 9, 9,108,111, 99, 97,108,
+ 32,109,111,100, 49, 44, 32,116,121,112,101, 49, 32, 61, 32,
+ 103,108,111, 98, 97,108, 95,116,121,112,101,100,101,102,115,
+ 91,116,121,112,101, 93, 46,109,111,100, 44, 32,103,108,111,
+ 98, 97,108, 95,116,121,112,101,100,101,102,115, 91,116,121,
+ 112,101, 93, 46,102,116,121,112,101, 10, 9, 9,108,111, 99,
+ 97,108, 32,109,111,100, 50, 44, 32,116,121,112,101, 50, 32,
+ 61, 32, 97,112,112,108,121,116,121,112,101,100,101,102, 40,
+ 109,111,100, 46, 46, 34, 32, 34, 46, 46,109,111,100, 49, 44,
+ 32,116,121,112,101, 49, 41, 10, 9, 9, 45, 45,114,101,116,
+ 117,114,110, 32,109,111,100, 50, 32, 46, 46, 32, 39, 32, 39,
+ 32, 46, 46, 32,109,111,100, 49, 44, 32,116,121,112,101, 50,
+ 10, 9, 9,114,101,116,117,114,110, 32,109,111,100, 50, 44,
+ 32,116,121,112,101, 50, 10, 9,101,110,100, 10, 9,100,111,
+ 32,114,101,116,117,114,110, 32,109,111,100, 44,116,121,112,
+ 101, 32,101,110,100, 10,101,110,100, 10, 10, 45, 45, 32, 99,
+ 104,101, 99,107, 32,105,102, 32,105,116, 32,105,115, 32, 97,
+ 32,116,121,112,101,100,101,102, 10,102,117,110, 99,116,105,
+ 111,110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,
+ 101,114, 58,105,115,116,121,112,101,100,101,102, 32, 40,116,
+ 121,112,101, 41, 10, 32,108,111, 99, 97,108, 32,101,110,118,
+ 32, 61, 32,115,101,108,102, 10, 32,119,104,105,108,101, 32,
+ 101,110,118, 32,100,111, 10, 32, 32,105,102, 32,101,110,118,
+ 46,116,121,112,101,100,101,102,115, 32,116,104,101,110, 10,
+ 32, 32, 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32, 32,
+ 32,119,104,105,108,101, 32,101,110,118, 46,116,121,112,101,
+ 100,101,102,115, 91,105, 93, 32,100,111, 10, 32, 32, 32, 32,
+ 105,102, 32,101,110,118, 46,116,121,112,101,100,101,102,115,
+ 91,105, 93, 46,117,116,121,112,101, 32, 61, 61, 32,116,121,
+ 112,101, 32,116,104,101,110, 10, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32,114,101,116,117,114,110, 32,116,121,112,101, 10, 32,
+ 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, 32, 32, 32, 32,
+ 32, 32, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32, 32, 32,
+ 101,110,100, 10, 32, 32,101,110,100, 10, 32, 32,101,110,118,
+ 32, 61, 32,101,110,118, 46,112, 97,114,101,110,116, 10, 32,
+ 101,110,100, 10, 32,114,101,116,117,114,110, 32,110,105,108,
+ 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,110, 32,
+ 102,105,110,100, 95,101,110,117,109, 95,118, 97,114, 40,118,
+ 97,114, 41, 10, 10, 9,105,102, 32,116,111,110,117,109, 98,
+ 101,114, 40,118, 97,114, 41, 32,116,104,101,110, 32,114,101,
+ 116,117,114,110, 32,118, 97,114, 32,101,110,100, 10, 10, 9,
+ 108,111, 99, 97,108, 32, 99, 32, 61, 32, 99,108, 97,115,115,
+ 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 10,
+ 9,119,104,105,108,101, 32, 99, 32,100,111, 10, 9, 9,108,
+ 111, 99, 97,108, 32,110,115, 32, 61, 32,103,101,116,110, 97,
+ 109,101,115,112, 97, 99,101, 40, 99, 41, 10, 9, 9,102,111,
+ 114, 32,107, 44,118, 32,105,110, 32,112, 97,105,114,115, 40,
+ 95,103,108,111, 98, 97,108, 95,101,110,117,109,115, 41, 32,
+ 100,111, 10, 9, 9, 9,105,102, 32,109, 97,116, 99,104, 95,
+ 116,121,112,101, 40,118, 97,114, 44, 32,118, 44, 32,110,115,
+ 41, 32,116,104,101,110, 10, 9, 9, 9, 9,114,101,116,117,
+ 114,110, 32,118, 10, 9, 9, 9,101,110,100, 10, 9, 9,101,
+ 110,100, 10, 9, 9,105,102, 32, 99, 46, 98, 97,115,101, 32,
+ 97,110,100, 32, 99, 46, 98, 97,115,101, 32,126, 61, 32, 39,
+ 39, 32,116,104,101,110, 10, 9, 9, 9, 99, 32, 61, 32, 95,
+ 103,108,111, 98, 97,108, 95, 99,108, 97,115,115,101,115, 91,
+ 99, 58,102,105,110,100,116,121,112,101, 40, 99, 46, 98, 97,
+ 115,101, 41, 93, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,
+ 99, 32, 61, 32,110,105,108, 10, 9, 9,101,110,100, 10, 9,
+ 101,110,100, 10, 10, 9,114,101,116,117,114,110, 32,118, 97,
+ 114, 10,101,110,100, 10, 10, 45, 45, 32, 99,104,101, 99,107,
+ 32,105,102, 32,105,115, 32, 97, 32,114,101,103,105,115,116,
+ 101,114,101,100, 32,116,121,112,101, 58, 32,114,101,116,117,
+ 114,110, 32,102,117,108,108, 32,116,121,112,101, 32,111,114,
+ 32,110,105,108, 10,102,117,110, 99,116,105,111,110, 32, 99,
+ 108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 58,102,
+ 105,110,100,116,121,112,101, 32, 40,116, 41, 10, 10, 9,116,
+ 32, 61, 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,
+ 116, 44, 32, 34, 61, 46, 42, 34, 44, 32, 34, 34, 41, 10, 9,
+ 105,102, 32, 95, 98, 97,115,105, 99, 91,116, 93, 32,116,104,
+ 101,110, 10, 9, 32,114,101,116,117,114,110, 32,116, 10, 9,
+ 101,110,100, 10, 10, 9,108,111, 99, 97,108, 32, 95, 44, 95,
+ 44,101,109, 32, 61, 32,115,116,114,105,110,103, 46,102,105,
+ 110,100, 40,116, 44, 32, 34, 40, 91, 38, 37, 42, 93, 41, 37,
+ 115, 42, 36, 34, 41, 10, 9,116, 32, 61, 32,115,116,114,105,
+ 110,103, 46,103,115,117, 98, 40,116, 44, 32, 34, 37,115, 42,
+ 40, 91, 38, 37, 42, 93, 41, 37,115, 42, 36, 34, 44, 32, 34,
+ 34, 41, 10, 9,112, 32, 61, 32,115,101,108,102, 10, 9,119,
+ 104,105,108,101, 32,112, 32, 97,110,100, 32,116,121,112,101,
+ 40,112, 41, 61, 61, 39,116, 97, 98,108,101, 39, 32,100,111,
+ 10, 9, 9,108,111, 99, 97,108, 32,115,116, 32, 61, 32,103,
+ 101,116,110, 97,109,101,115,112, 97, 99,101, 40,112, 41, 10,
+ 10, 9, 9,102,111,114, 32,105, 61, 95,103,108,111, 98, 97,
+ 108, 95,116,121,112,101,115, 46,110, 44, 49, 44, 45, 49, 32,
+ 100,111, 32, 45, 45, 32,105,110, 32,114,101,118,101,114,115,
+ 101, 32,111,114,100,101,114, 10, 10, 9, 9, 9,105,102, 32,
+ 109, 97,116, 99,104, 95,116,121,112,101, 40,116, 44, 32, 95,
+ 103,108,111, 98, 97,108, 95,116,121,112,101,115, 91,105, 93,
+ 44, 32,115,116, 41, 32,116,104,101,110, 10, 9, 9, 9, 9,
+ 114,101,116,117,114,110, 32, 95,103,108,111, 98, 97,108, 95,
+ 116,121,112,101,115, 91,105, 93, 46, 46, 40,101,109, 32,111,
+ 114, 32, 34, 34, 41, 10, 9, 9, 9,101,110,100, 10, 9, 9,
+ 101,110,100, 10, 9, 9,105,102, 32,112, 46, 98, 97,115,101,
+ 32, 97,110,100, 32,112, 46, 98, 97,115,101, 32,126, 61, 32,
+ 39, 39, 32, 97,110,100, 32,112, 46, 98, 97,115,101, 32,126,
+ 61, 32,116, 32,116,104,101,110, 10, 9, 9, 9, 45, 45,112,
+ 114,105,110,116, 40, 34,116,121,112,101, 32,105,115, 32, 34,
+ 46, 46,116, 46, 46, 34, 44, 32,112, 32,105,115, 32, 34, 46,
+ 46,112, 46, 98, 97,115,101, 46, 46, 34, 32,115,101,108,102,
+ 46,116,121,112,101, 32,105,115, 32, 34, 46, 46,115,101,108,
+ 102, 46,116,121,112,101, 46, 46, 34, 32,115,101,108,102, 46,
+ 110, 97,109,101, 32,105,115, 32, 34, 46, 46,115,101,108,102,
+ 46,110, 97,109,101, 41, 10, 9, 9, 9,112, 32, 61, 32, 95,
+ 103,108,111, 98, 97,108, 95, 99,108, 97,115,115,101,115, 91,
+ 112, 58,102,105,110,100,116,121,112,101, 40,112, 46, 98, 97,
+ 115,101, 41, 93, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,
+ 112, 32, 61, 32,110,105,108, 10, 9, 9,101,110,100, 10, 9,
+ 101,110,100, 10, 10, 9,114,101,116,117,114,110, 32,110,105,
+ 108, 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,110,
+ 32, 97,112,112,101,110,100, 95,103,108,111, 98, 97,108, 95,
+ 116,121,112,101, 40,116, 44, 32, 99,108, 97,115,115, 41, 10,
+ 9, 95,103,108,111, 98, 97,108, 95,116,121,112,101,115, 46,
+ 110, 32, 61, 32, 95,103,108,111, 98, 97,108, 95,116,121,112,
+ 101,115, 46,110, 32, 43, 49, 10, 9, 95,103,108,111, 98, 97,
+ 108, 95,116,121,112,101,115, 91, 95,103,108,111, 98, 97,108,
+ 95,116,121,112,101,115, 46,110, 93, 32, 61, 32,116, 10, 9,
+ 95,103,108,111, 98, 97,108, 95,116,121,112,101,115, 95,104,
+ 97,115,104, 91,116, 93, 32, 61, 32, 49, 10, 9,105,102, 32,
+ 99,108, 97,115,115, 32,116,104,101,110, 32, 97,112,112,101,
+ 110,100, 95, 99,108, 97,115,115, 95,116,121,112,101, 40,116,
+ 44, 32, 99,108, 97,115,115, 41, 32,101,110,100, 10,101,110,
+ 100, 10, 10,102,117,110, 99,116,105,111,110, 32, 97,112,112,
+ 101,110,100, 95, 99,108, 97,115,115, 95,116,121,112,101, 40,
+ 116, 44, 99,108, 97,115,115, 41, 10, 9,105,102, 32, 95,103,
+ 108,111, 98, 97,108, 95, 99,108, 97,115,115,101,115, 91,116,
+ 93, 32,116,104,101,110, 10, 9, 9, 99,108, 97,115,115, 46,
+ 102,108, 97,103,115, 32, 61, 32, 95,103,108,111, 98, 97,108,
+ 95, 99,108, 97,115,115,101,115, 91,116, 93, 46,102,108, 97,
+ 103,115, 10, 9, 9, 99,108, 97,115,115, 46,108,110, 97,109,
+ 101,115, 32, 61, 32, 95,103,108,111, 98, 97,108, 95, 99,108,
+ 97,115,115,101,115, 91,116, 93, 46,108,110, 97,109,101,115,
+ 10, 9, 9,105,102, 32, 95,103,108,111, 98, 97,108, 95, 99,
+ 108, 97,115,115,101,115, 91,116, 93, 46, 98, 97,115,101, 32,
+ 97,110,100, 32, 40, 95,103,108,111, 98, 97,108, 95, 99,108,
+ 97,115,115,101,115, 91,116, 93, 46, 98, 97,115,101, 32,126,
+ 61, 32, 39, 39, 41, 32,116,104,101,110, 10, 9, 9, 9, 99,
+ 108, 97,115,115, 46, 98, 97,115,101, 32, 61, 32, 95,103,108,
+ 111, 98, 97,108, 95, 99,108, 97,115,115,101,115, 91,116, 93,
+ 46, 98, 97,115,101, 32,111,114, 32, 99,108, 97,115,115, 46,
+ 98, 97,115,101, 10, 9, 9,101,110,100, 10, 9,101,110,100,
+ 10, 9, 95,103,108,111, 98, 97,108, 95, 99,108, 97,115,115,
+ 101,115, 91,116, 93, 32, 61, 32, 99,108, 97,115,115, 10, 9,
+ 99,108, 97,115,115, 46,102,108, 97,103,115, 32, 61, 32, 99,
+ 108, 97,115,115, 46,102,108, 97,103,115, 32,111,114, 32,123,
+ 125, 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,110,
+ 32,109, 97,116, 99,104, 95,116,121,112,101, 40, 99,104,105,
+ 108,100,116,121,112,101, 44, 32,114,101,103,116,121,112,101,
+ 44, 32,115,116, 41, 10, 45, 45,112,114,105,110,116, 40, 34,
+ 102,105,110,100,116,121,112,101, 32, 34, 46, 46, 99,104,105,
+ 108,100,116,121,112,101, 46, 46, 34, 44, 32, 34, 46, 46,114,
+ 101,103,116,121,112,101, 46, 46, 34, 44, 32, 34, 46, 46,115,
+ 116, 41, 10, 9,108,111, 99, 97,108, 32, 98, 44,101, 32, 61,
+ 32,115,116,114,105,110,103, 46,102,105,110,100, 40,114,101,
+ 103,116,121,112,101, 44, 32, 99,104,105,108,100,116,121,112,
+ 101, 44, 32, 45,115,116,114,105,110,103, 46,108,101,110, 40,
+ 99,104,105,108,100,116,121,112,101, 41, 44, 32,116,114,117,
+ 101, 41, 10, 9,105,102, 32, 98, 32,116,104,101,110, 10, 10,
+ 9, 9,105,102, 32,101, 32, 61, 61, 32,115,116,114,105,110,
+ 103, 46,108,101,110, 40,114,101,103,116,121,112,101, 41, 32,
+ 97,110,100, 10, 9, 9, 9, 9, 40, 98, 32, 61, 61, 32, 49,
+ 32,111,114, 32, 40,115,116,114,105,110,103, 46,115,117, 98,
+ 40,114,101,103,116,121,112,101, 44, 32, 98, 45, 49, 44, 32,
+ 98, 45, 49, 41, 32, 61, 61, 32, 39, 58, 39, 32, 97,110,100,
+ 10, 9, 9, 9, 9,115,116,114,105,110,103, 46,115,117, 98,
+ 40,114,101,103,116,121,112,101, 44, 32, 49, 44, 32, 98, 45,
+ 49, 41, 32, 61, 61, 32,115,116,114,105,110,103, 46,115,117,
+ 98, 40,115,116, 44, 32, 49, 44, 32, 98, 45, 49, 41, 41, 41,
+ 32,116,104,101,110, 10, 9, 9, 9,114,101,116,117,114,110,
+ 32,116,114,117,101, 10, 9, 9,101,110,100, 10, 9,101,110,
+ 100, 10, 10, 9,114,101,116,117,114,110, 32,102, 97,108,115,
+ 101, 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,110,
+ 32,102,105,110,100,116,121,112,101, 95,111,110, 95, 99,104,
+ 105,108,100,115, 40,115,101,108,102, 44, 32,116, 41, 10, 10,
+ 9,108,111, 99, 97,108, 32,116, 99,104,105,108,100, 10, 9,
+ 105,102, 32,115,101,108,102, 46, 99,108, 97,115,115,116,121,
+ 112,101, 32, 61, 61, 32, 39, 99,108, 97,115,115, 39, 32,111,
+ 114, 32,115,101,108,102, 46, 99,108, 97,115,115,116,121,112,
+ 101, 32, 61, 61, 32, 39,110, 97,109,101,115,112, 97, 99,101,
+ 39, 32,116,104,101,110, 10, 9, 9,102,111,114, 32,107, 44,
+ 118, 32,105,110, 32,105,112, 97,105,114,115, 40,115,101,108,
+ 102, 41, 32,100,111, 10, 9, 9, 9,105,102, 32,118, 46, 99,
+ 108, 97,115,115,116,121,112,101, 32, 61, 61, 32, 39, 99,108,
+ 97,115,115, 39, 32,111,114, 32,118, 46, 99,108, 97,115,115,
+ 116,121,112,101, 32, 61, 61, 32, 39,110, 97,109,101,115,112,
+ 97, 99,101, 39, 32,116,104,101,110, 10, 9, 9, 9, 9,105,
+ 102, 32,118, 46,116,121,112,101,100,101,102,115, 32, 97,110,
+ 100, 32,118, 46,116,121,112,101,100,101,102,115, 91,116, 93,
+ 32,116,104,101,110, 10, 9, 9, 9, 9, 32,114,101,116,117,
+ 114,110, 32,118, 46,116,121,112,101,100,101,102,115, 91,116,
+ 93, 10, 9, 9, 9, 9,101,108,115,101,105,102, 32,118, 46,
+ 117,115,101,114,116,121,112,101,115, 32, 97,110,100, 32,118,
+ 46,117,115,101,114,116,121,112,101,115, 91,116, 93, 32,116,
+ 104,101,110, 10, 9, 9, 9, 9, 32,114,101,116,117,114,110,
+ 32,118, 46,117,115,101,114,116,121,112,101,115, 91,116, 93,
+ 10, 9, 9, 9, 9,101,110,100, 10, 9, 9, 9, 9,116, 99,
+ 104,105,108,100, 32, 61, 32,102,105,110,100,116,121,112,101,
+ 95,111,110, 95, 99,104,105,108,100,115, 40,118, 44, 32,116,
+ 41, 10, 9, 9, 9, 9,105,102, 32,116, 99,104,105,108,100,
+ 32,116,104,101,110, 32,114,101,116,117,114,110, 32,116, 99,
+ 104,105,108,100, 32,101,110,100, 10, 9, 9, 9,101,110,100,
+ 10, 9, 9,101,110,100, 10, 9,101,110,100, 10, 9,114,101,
+ 116,117,114,110, 32,110,105,108, 10, 10,101,110,100, 10, 10,
+ 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67,
+ 111,110,116, 97,105,110,101,114, 58,105,115,101,110,117,109,
+ 32, 40,116,121,112,101, 41, 10, 32,105,102, 32,103,108,111,
+ 98, 97,108, 95,101,110,117,109,115, 91,116,121,112,101, 93,
+ 32,116,104,101,110, 10, 9,114,101,116,117,114,110, 32,116,
+ 121,112,101, 10, 32,101,108,115,101, 10, 32, 9,114,101,116,
+ 117,114,110, 32,102, 97,108,115,101, 10, 32,101,110,100, 10,
+ 10, 32,108,111, 99, 97,108, 32, 98, 97,115,101,116,121,112,
+ 101, 32, 61, 32,103,115,117, 98, 40,116,121,112,101, 44, 34,
+ 94, 46, 42, 58, 58, 34, 44, 34, 34, 41, 10, 32,108,111, 99,
+ 97,108, 32,101,110,118, 32, 61, 32,115,101,108,102, 10, 32,
+ 119,104,105,108,101, 32,101,110,118, 32,100,111, 10, 32, 32,
+ 105,102, 32,101,110,118, 46,101,110,117,109,115, 32,116,104,
+ 101,110, 10, 32, 32, 32,108,111, 99, 97,108, 32,105, 61, 49,
+ 10, 32, 32, 32,119,104,105,108,101, 32,101,110,118, 46,101,
+ 110,117,109,115, 91,105, 93, 32,100,111, 10, 32, 32, 32, 32,
+ 105,102, 32,101,110,118, 46,101,110,117,109,115, 91,105, 93,
+ 46,110, 97,109,101, 32, 61, 61, 32, 98, 97,115,101,116,121,
+ 112,101, 32,116,104,101,110, 10, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32,114,101,116,117,114,110, 32,116,114,117,101, 10, 32,
+ 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, 32, 32, 32, 32,
+ 32, 32, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32, 32, 32,
+ 101,110,100, 10, 32, 32,101,110,100, 10, 32, 32,101,110,118,
+ 32, 61, 32,101,110,118, 46,112, 97,114,101,110,116, 10, 32,
+ 101,110,100, 10, 32,114,101,116,117,114,110, 32,102, 97,108,
+ 115,101, 10,101,110,100, 10, 10,109,101,116,104,111,100,105,
+ 115,118,105,114,116,117, 97,108, 32, 61, 32,102, 97,108,115,
+ 101, 32, 45, 45, 32, 97, 32,103,108,111, 98, 97,108, 10, 10,
+ 45, 45, 32,112, 97,114,115,101, 32, 99,104,117,110,107, 10,
+ 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67,
+ 111,110,116, 97,105,110,101,114, 58,100,111,112, 97,114,115,
+ 101, 32, 40,115, 41, 10, 45, 45,112,114,105,110,116, 32, 40,
+ 34,112, 97,114,115,101, 32, 34, 46, 46,115, 41, 10, 10, 32,
+ 45, 45, 32,116,114,121, 32,116,104,101, 32,112, 97,114,115,
+ 101,114, 32,104,111,111,107, 10, 32,100,111, 10, 32, 9,108,
+ 111, 99, 97,108, 32,115,117, 98, 32, 61, 32,112, 97,114,115,
+ 101,114, 95,104,111,111,107, 40,115, 41, 10, 32, 9,105,102,
+ 32,115,117, 98, 32,116,104,101,110, 10, 32, 9, 9,114,101,
+ 116,117,114,110, 32,115,117, 98, 10, 32, 9,101,110,100, 10,
+ 32,101,110,100, 10, 10, 32, 45, 45, 32,116,114,121, 32,116,
+ 104,101, 32,110,117,108,108, 32,115,116, 97,116,101,109,101,
+ 110,116, 10, 32,100,111, 10, 32, 9,108,111, 99, 97,108, 32,
+ 98, 44,101, 44, 99,111,100,101, 32, 61, 32,115,116,114,105,
+ 110,103, 46,102,105,110,100, 40,115, 44, 32, 34, 94, 37,115,
+ 42, 59, 34, 41, 10, 32, 9,105,102, 32, 98, 32,116,104,101,
+ 110, 10, 32, 9, 9,114,101,116,117,114,110, 32,115,116,114,
+ 115,117, 98, 40,115, 44,101, 43, 49, 41, 10, 32, 9,101,110,
+ 100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32,116,114,121,
+ 32,101,109,112,116,121, 32,118,101,114, 98, 97,116,105,109,
+ 32,108,105,110,101, 10, 32,100,111, 10, 32, 9,108,111, 99,
+ 97,108, 32, 98, 44,101, 44, 99,111,100,101, 32, 61, 32,115,
+ 116,114,105,110,103, 46,102,105,110,100, 40,115, 44, 32, 34,
+ 94, 37,115, 42, 36, 92,110, 34, 41, 10, 32, 9,105,102, 32,
+ 98, 32,116,104,101,110, 10, 32, 9, 9,114,101,116,117,114,
+ 110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41,
+ 10, 32, 9,101,110,100, 10, 32,101,110,100, 10, 10, 32, 45,
+ 45, 32,116,114,121, 32, 76,117, 97, 32, 99,111,100,101, 10,
+ 32,100,111, 10, 32, 32,108,111, 99, 97,108, 32, 98, 44,101,
+ 44, 99,111,100,101, 32, 61, 32,115,116,114,102,105,110,100,
+ 40,115, 44, 34, 94, 37,115, 42, 40, 37, 98, 92, 49, 92, 50,
+ 41, 34, 41, 10, 32, 32,105,102, 32, 98, 32,116,104,101,110,
+ 10, 32, 32, 32, 67,111,100,101, 40,115,116,114,115,117, 98,
+ 40, 99,111,100,101, 44, 50, 44, 45, 50, 41, 41, 10, 32, 32,
+ 32,114,101,116,117,114,110, 32,115,116,114,115,117, 98, 40,
+ 115, 44,101, 43, 49, 41, 10, 32, 32,101,110,100, 10, 32,101,
+ 110,100, 10, 10, 32, 45, 45, 32,116,114,121, 32, 67, 32, 99,
+ 111,100,101, 10, 32,100,111, 10, 32, 32,108,111, 99, 97,108,
+ 32, 98, 44,101, 44, 99,111,100,101, 32, 61, 32,115,116,114,
+ 102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 37, 98,
+ 92, 51, 92, 52, 41, 34, 41, 10, 32, 32,105,102, 32, 98, 32,
+ 116,104,101,110, 10, 9, 99,111,100,101, 32, 61, 32, 39,123,
+ 39, 46, 46,115,116,114,115,117, 98, 40, 99,111,100,101, 44,
+ 50, 44, 45, 50, 41, 46, 46, 39, 92,110,125, 92,110, 39, 10,
+ 9, 86,101,114, 98, 97,116,105,109, 40, 99,111,100,101, 44,
+ 39,114, 39, 41, 32, 32, 32, 32, 32, 32, 32, 32, 45, 45, 32,
+ 118,101,114, 98, 97,116,105,109, 32, 99,111,100,101, 32,102,
+ 111,114, 32, 39,114, 39,101,103,105,115,116,101,114, 32,102,
+ 114, 97,103,109,101,110,116, 10, 9,114,101,116,117,114,110,
+ 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,
+ 32, 32,101,110,100, 10, 32,101,110,100, 10, 10, 32, 45, 45,
+ 32,116,114,121, 32, 67, 32, 99,111,100,101, 32,102,111,114,
+ 32,112,114,101, 97,109, 98,108,101, 32,115,101, 99,116,105,
+ 111,110, 10, 32,100,111, 10, 32, 9,108,111, 99, 97,108, 32,
+ 98, 44,101, 44, 99,111,100,101, 32, 61, 32,115,116,114,105,
+ 110,103, 46,102,105,110,100, 40,115, 44, 32, 34, 94, 37,115,
+ 42, 40, 37, 98, 92, 53, 92, 54, 41, 34, 41, 10, 32, 9,105,
+ 102, 32, 98, 32,116,104,101,110, 10, 32, 9, 9, 99,111,100,
+ 101, 32, 61, 32,115,116,114,105,110,103, 46,115,117, 98, 40,
+ 99,111,100,101, 44, 32, 50, 44, 32, 45, 50, 41, 46, 46, 34,
+ 92,110, 34, 10, 9, 9, 86,101,114, 98, 97,116,105,109, 40,
+ 99,111,100,101, 44, 32, 39, 39, 41, 10, 9, 9,114,101,116,
+ 117,114,110, 32,115,116,114,105,110,103, 46,115,117, 98, 40,
+ 115, 44, 32,101, 43, 49, 41, 10, 32, 9,101,110,100, 10, 32,
+ 101,110,100, 10, 10, 32, 45, 45, 32,116,114,121, 32,100,101,
+ 102, 97,117,108,116, 95,112,114,111,112,101,114,116,121, 32,
+ 100,105,114,101, 99,116,105,118,101, 10, 32,100,111, 10, 32,
+ 9,108,111, 99, 97,108, 32, 98, 44,101, 44,112,116,121,112,
+ 101, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 32,
+ 34, 94, 37,115, 42, 84, 79, 76, 85, 65, 95, 80, 82, 79, 80,
+ 69, 82, 84, 89, 95, 84, 89, 80, 69, 37,115, 42, 37, 40, 43,
+ 37,115, 42, 40, 91, 94, 37, 41, 37,115, 93, 42, 41, 37,115,
+ 42, 37, 41, 43, 37,115, 42, 59, 63, 34, 41, 10, 32, 9,105,
+ 102, 32, 98, 32,116,104,101,110, 10, 32, 9, 9,105,102, 32,
+ 110,111,116, 32,112,116,121,112,101, 32,111,114, 32,112,116,
+ 121,112,101, 32, 61, 61, 32, 34, 34, 32,116,104,101,110, 10,
+ 32, 9, 9, 9,112,116,121,112,101, 32, 61, 32, 34,100,101,
+ 102, 97,117,108,116, 34, 10, 32, 9, 9,101,110,100, 10, 32,
+ 9, 9,115,101,108,102, 58,115,101,116, 95,112,114,111,112,
+ 101,114,116,121, 95,116,121,112,101, 40,112,116,121,112,101,
+ 41, 10, 9, 32, 9,114,101,116,117,114,110, 32,115,116,114,
+ 115,117, 98, 40,115, 44, 32,101, 43, 49, 41, 10, 32, 9,101,
+ 110,100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32,116,114,
+ 121, 32,112,114,111,116,101, 99,116,101,100, 95,100,101,115,
+ 116,114,117, 99,116,111,114, 32,100,105,114,101, 99,116,105,
+ 118,101, 10, 32,100,111, 10, 32, 9,108,111, 99, 97,108, 32,
+ 98, 44,101, 32, 61, 32,115,116,114,105,110,103, 46,102,105,
+ 110,100, 40,115, 44, 32, 34, 94, 37,115, 42, 84, 79, 76, 85,
+ 65, 95, 80, 82, 79, 84, 69, 67, 84, 69, 68, 95, 68, 69, 83,
+ 84, 82, 85, 67, 84, 79, 82, 37,115, 42, 59, 63, 34, 41, 10,
+ 9,105,102, 32, 98, 32,116,104,101,110, 10, 9, 9,105,102,
+ 32,115,101,108,102, 46,115,101,116, 95,112,114,111,116,101,
+ 99,116,101,100, 95,100,101,115,116,114,117, 99,116,111,114,
+ 32,116,104,101,110, 10, 9, 32, 9, 9,115,101,108,102, 58,
+ 115,101,116, 95,112,114,111,116,101, 99,116,101,100, 95,100,
+ 101,115,116,114,117, 99,116,111,114, 40,116,114,117,101, 41,
+ 10, 9, 32, 9,101,110,100, 10, 32, 9, 9,114,101,116,117,
+ 114,110, 32,115,116,114,115,117, 98, 40,115, 44, 32,101, 43,
+ 49, 41, 10, 32, 9,101,110,100, 10, 32,101,110,100, 10, 10,
+ 32, 45, 45, 32,116,114,121, 32, 39,101,120,116,101,114,110,
+ 39, 32,107,101,121,119,111,114,100, 10, 32,100,111, 10, 32,
+ 9,108,111, 99, 97,108, 32, 98, 44,101, 32, 61, 32,115,116,
+ 114,105,110,103, 46,102,105,110,100, 40,115, 44, 32, 34, 94,
+ 37,115, 42,101,120,116,101,114,110, 37,115, 43, 34, 41, 10,
+ 32, 9,105,102, 32, 98, 32,116,104,101,110, 10, 9, 9, 45,
+ 45, 32,100,111, 32,110,111,116,104,105,110,103, 10, 32, 9,
+ 9,114,101,116,117,114,110, 32,115,116,114,115,117, 98, 40,
+ 115, 44, 32,101, 43, 49, 41, 10, 32, 9,101,110,100, 10, 32,
+ 101,110,100, 10, 10, 32, 45, 45, 32,116,114,121, 32, 39,118,
+ 105,114,116,117, 97,108, 39, 32,107,101,121,119,111,114,107,
+ 100, 10, 32,100,111, 10, 32, 9,108,111, 99, 97,108, 32, 98,
+ 44,101, 32, 61, 32,115,116,114,105,110,103, 46,102,105,110,
+ 100, 40,115, 44, 32, 34, 94, 37,115, 42,118,105,114,116,117,
+ 97,108, 37,115, 43, 34, 41, 10, 32, 9,105,102, 32, 98, 32,
+ 116,104,101,110, 10, 32, 9, 9,109,101,116,104,111,100,105,
+ 115,118,105,114,116,117, 97,108, 32, 61, 32,116,114,117,101,
+ 10, 32, 9, 9,114,101,116,117,114,110, 32,115,116,114,115,
+ 117, 98, 40,115, 44, 32,101, 43, 49, 41, 10, 32, 9,101,110,
+ 100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32,116,114,121,
+ 32,108, 97, 98,101,108,115, 32, 40,112,117, 98,108,105, 99,
+ 44, 32,112,114,105,118, 97,116,101, 44, 32,101,116, 99, 41,
+ 10, 32,100,111, 10, 32, 9,108,111, 99, 97,108, 32, 98, 44,
+ 101, 32, 61, 32,115,116,114,105,110,103, 46,102,105,110,100,
+ 40,115, 44, 32, 34, 94, 37,115, 42, 37,119, 42, 37,115, 42,
+ 58, 91, 94, 58, 93, 34, 41, 10, 32, 9,105,102, 32, 98, 32,
+ 116,104,101,110, 10, 32, 9, 9,114,101,116,117,114,110, 32,
+ 115,116,114,115,117, 98, 40,115, 44, 32,101, 41, 32, 45, 45,
+ 32,112,114,101,115,101,114,118,101, 32,116,104,101, 32, 91,
+ 94, 58, 93, 10, 32, 9,101,110,100, 10, 32,101,110,100, 10,
+ 10, 32, 45, 45, 32,116,114,121, 32,109,111,100,117,108,101,
+ 10, 32,100,111, 10, 32, 32,108,111, 99, 97,108, 32, 98, 44,
+ 101, 44,110, 97,109,101, 44, 98,111,100,121, 32, 61, 32,115,
+ 116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42,109,
+ 111,100,117,108,101, 37,115, 37,115, 42, 40, 91, 95, 37,119,
+ 93, 91, 95, 37,119, 93, 42, 41, 37,115, 42, 40, 37, 98,123,
+ 125, 41, 37,115, 42, 34, 41, 10, 32, 32,105,102, 32, 98, 32,
+ 116,104,101,110, 10, 32, 32, 32, 95, 99,117,114,114, 95, 99,
+ 111,100,101, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44,
+ 98, 44,101, 41, 10, 32, 32, 32, 77,111,100,117,108,101, 40,
+ 110, 97,109,101, 44, 98,111,100,121, 41, 10, 32, 32, 32,114,
+ 101,116,117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,
+ 101, 43, 49, 41, 10, 32, 32,101,110,100, 10, 32,101,110,100,
+ 10, 10, 32, 45, 45, 32,116,114,121, 32,110, 97,109,101,115,
+ 97,112, 99,101, 10, 32,100,111, 10, 32, 32,108,111, 99, 97,
+ 108, 32, 98, 44,101, 44,110, 97,109,101, 44, 98,111,100,121,
+ 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94,
+ 37,115, 42,110, 97,109,101,115,112, 97, 99,101, 37,115, 37,
+ 115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 93, 42, 41,
+ 37,115, 42, 40, 37, 98,123,125, 41, 37,115, 42, 59, 63, 34,
+ 41, 10, 32, 32,105,102, 32, 98, 32,116,104,101,110, 10, 32,
+ 32, 32, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,
+ 115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 32,
+ 32, 32, 78, 97,109,101,115,112, 97, 99,101, 40,110, 97,109,
+ 101, 44, 98,111,100,121, 41, 10, 32, 32, 32,114,101,116,117,
+ 114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49,
+ 41, 10, 32, 32,101,110,100, 10, 32,101,110,100, 10, 10, 32,
+ 45, 45, 32,116,114,121, 32,100,101,102,105,110,101, 10, 32,
+ 100,111, 10, 32, 32,108,111, 99, 97,108, 32, 98, 44,101, 44,
+ 110, 97,109,101, 32, 61, 32,115,116,114,102,105,110,100, 40,
+ 115, 44, 34, 94, 37,115, 42, 35,100,101,102,105,110,101, 37,
+ 115, 37,115, 42, 40, 91, 94, 37,115, 93, 42, 41, 91, 94, 92,
+ 110, 93, 42, 92,110, 37,115, 42, 34, 41, 10, 32, 32,105,102,
+ 32, 98, 32,116,104,101,110, 10, 32, 32, 32, 95, 99,117,114,
+ 114, 95, 99,111,100,101, 32, 61, 32,115,116,114,115,117, 98,
+ 40,115, 44, 98, 44,101, 41, 10, 32, 32, 32, 68,101,102,105,
+ 110,101, 40,110, 97,109,101, 41, 10, 32, 32, 32,114,101,116,
+ 117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43,
+ 49, 41, 10, 32, 32,101,110,100, 10, 32,101,110,100, 10, 10,
+ 32, 45, 45, 32,116,114,121, 32,101,110,117,109,101,114, 97,
+ 116,101,115, 10, 10, 32,100,111, 10, 32, 32,108,111, 99, 97,
+ 108, 32, 98, 44,101, 44,110, 97,109,101, 44, 98,111,100,121,
+ 44,118, 97,114,110, 97,109,101, 32, 61, 32,115,116,114,102,
+ 105,110,100, 40,115, 44, 34, 94, 37,115, 42,101,110,117,109,
+ 37,115, 43, 40, 37, 83, 42, 41, 37,115, 42, 40, 37, 98,123,
+ 125, 41, 37,115, 42, 40, 91, 94, 37,115, 59, 93, 42, 41, 37,
+ 115, 42, 59, 63, 37,115, 42, 34, 41, 10, 32, 32,105,102, 32,
+ 98, 32,116,104,101,110, 10, 32, 32, 32, 45, 45,101,114,114,
+ 111,114, 40, 34, 35, 83,111,114,114,121, 44, 32,100,101, 99,
+ 108, 97,114, 97,116,105,111,110, 32,111,102, 32,101,110,117,
+ 109,115, 32, 97,110,100, 32,118, 97,114,105, 97, 98,108,101,
+ 115, 32,111,110, 32,116,104,101, 32,115, 97,109,101, 32,115,
+ 116, 97,116,101,109,101,110,116, 32,105,115, 32,110,111,116,
+ 32,115,117,112,112,111,114,116,101,100, 46, 92,110, 68,101,
+ 99,108, 97,114,101, 32,121,111,117,114, 32,118, 97,114,105,
+ 97, 98,108,101, 32,115,101,112, 97,114, 97,116,101,108,121,
+ 32, 40,101,120, 97,109,112,108,101, 58, 32, 39, 34, 46, 46,
+ 110, 97,109,101, 46, 46, 34, 32, 34, 46, 46,118, 97,114,110,
+ 97,109,101, 46, 46, 34, 59, 39, 41, 34, 41, 10, 32, 32, 32,
+ 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115,116,
+ 114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 32, 32, 32,
+ 69,110,117,109,101,114, 97,116,101, 40,110, 97,109,101, 44,
+ 98,111,100,121, 44,118, 97,114,110, 97,109,101, 41, 10, 32,
+ 32, 32,114,101,116,117,114,110, 32,115,116,114,115,117, 98,
+ 40,115, 44,101, 43, 49, 41, 10, 32, 32,101,110,100, 10, 32,
+ 101,110,100, 10, 10, 45, 45, 32,100,111, 10, 45, 45, 32, 32,
+ 108,111, 99, 97,108, 32, 98, 44,101, 44,110, 97,109,101, 44,
+ 98,111,100,121, 32, 61, 32,115,116,114,102,105,110,100, 40,
+ 115, 44, 34, 94, 37,115, 42,101,110,117,109, 37,115, 43, 40,
+ 37, 83, 42, 41, 37,115, 42, 40, 37, 98,123,125, 41, 37,115,
+ 42, 59, 63, 37,115, 42, 34, 41, 10, 45, 45, 32, 32,105,102,
+ 32, 98, 32,116,104,101,110, 10, 45, 45, 32, 32, 32, 95, 99,
+ 117,114,114, 95, 99,111,100,101, 32, 61, 32,115,116,114,115,
+ 117, 98, 40,115, 44, 98, 44,101, 41, 10, 45, 45, 32, 32, 32,
+ 69,110,117,109,101,114, 97,116,101, 40,110, 97,109,101, 44,
+ 98,111,100,121, 41, 10, 45, 45, 32, 32,114,101,116,117,114,
+ 110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41,
+ 10, 45, 45, 32, 32,101,110,100, 10, 45, 45, 32,101,110,100,
+ 10, 10, 32,100,111, 10, 32, 32,108,111, 99, 97,108, 32, 98,
+ 44,101, 44, 98,111,100,121, 44,110, 97,109,101, 32, 61, 32,
+ 115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42,
+ 116,121,112,101,100,101,102, 37,115, 43,101,110,117,109, 91,
+ 94,123, 93, 42, 40, 37, 98,123,125, 41, 37,115, 42, 40, 91,
+ 37,119, 95, 93, 91, 94, 37,115, 93, 42, 41, 37,115, 42, 59,
+ 37,115, 42, 34, 41, 10, 32, 32,105,102, 32, 98, 32,116,104,
+ 101,110, 10, 32, 32, 32, 95, 99,117,114,114, 95, 99,111,100,
+ 101, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,
+ 101, 41, 10, 32, 32, 32, 69,110,117,109,101,114, 97,116,101,
+ 40,110, 97,109,101, 44, 98,111,100,121, 41, 10, 32, 32, 32,
+ 114,101,116,117,114,110, 32,115,116,114,115,117, 98, 40,115,
+ 44,101, 43, 49, 41, 10, 32, 32,101,110,100, 10, 32,101,110,
+ 100, 10, 10, 32, 45, 45, 32,116,114,121, 32,111,112,101,114,
+ 97,116,111,114, 10, 32,100,111, 10, 32, 32,108,111, 99, 97,
+ 108, 32, 98, 44,101, 44,100,101, 99,108, 44,107,105,110,100,
+ 44, 97,114,103, 44, 99,111,110,115,116, 32, 61, 32,115,116,
+ 114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 91,
+ 95, 37,119, 93, 91, 95, 37,119, 37,115, 37, 42, 38, 58, 60,
+ 62, 44, 93, 45, 37,115, 43,111,112,101,114, 97,116,111,114,
+ 41, 37,115, 42, 40, 91, 94, 37,115, 93, 91, 94, 37,115, 93,
+ 42, 41, 37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40,
+ 99, 63,111, 63,110, 63,115, 63,116, 63, 41, 37,115, 42, 59,
+ 37,115, 42, 34, 41, 10, 32, 32,105,102, 32,110,111,116, 32,
+ 98, 32,116,104,101,110, 10, 9, 9, 32, 45, 45, 32,116,114,
+ 121, 32,105,110,108,105,110,101, 10, 32, 32, 32, 98, 44,101,
+ 44,100,101, 99,108, 44,107,105,110,100, 44, 97,114,103, 44,
+ 99,111,110,115,116, 32, 61, 32,115,116,114,102,105,110,100,
+ 40,115, 44, 34, 94, 37,115, 42, 40, 91, 95, 37,119, 93, 91,
+ 95, 37,119, 37,115, 37, 42, 38, 58, 60, 62, 44, 93, 45, 37,
+ 115, 43,111,112,101,114, 97,116,111,114, 41, 37,115, 42, 40,
+ 91, 94, 37,115, 93, 91, 94, 37,115, 93, 42, 41, 37,115, 42,
+ 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111, 63,110,
+ 63,115, 63,116, 63, 41, 91, 37,115, 92,110, 93, 42, 37, 98,
+ 123,125, 37,115, 42, 59, 63, 37,115, 42, 34, 41, 10, 32, 32,
+ 101,110,100, 10, 32, 32,105,102, 32,110,111,116, 32, 98, 32,
+ 116,104,101,110, 10, 32, 32, 9, 45, 45, 32,116,114,121, 32,
+ 99, 97,115,116, 32,111,112,101,114, 97,116,111,114, 10, 32,
+ 32, 9, 98, 44,101, 44,100,101, 99,108, 44,107,105,110,100,
+ 44, 97,114,103, 44, 99,111,110,115,116, 32, 61, 32,115,116,
+ 114,102,105,110,100, 40,115, 44, 32, 34, 94, 37,115, 42, 40,
+ 111,112,101,114, 97,116,111,114, 41, 37,115, 43, 40, 91, 37,
+ 119, 95, 58, 37,100, 60, 62, 37, 42, 37, 38, 37,115, 93, 43,
+ 41, 37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99,
+ 63,111, 63,110, 63,115, 63,116, 63, 41, 34, 41, 59, 10, 32,
+ 32, 9,105,102, 32, 98, 32,116,104,101,110, 10, 32, 32, 9,
+ 9,108,111, 99, 97,108, 32, 95, 44,105,101, 32, 61, 32,115,
+ 116,114,105,110,103, 46,102,105,110,100, 40,115, 44, 32, 34,
+ 94, 37,115, 42, 37, 98,123,125, 34, 44, 32,101, 43, 49, 41,
+ 10, 32, 32, 9, 9,105,102, 32,105,101, 32,116,104,101,110,
+ 10, 32, 32, 9, 9, 9,101, 32, 61, 32,105,101, 10, 32, 32,
+ 9, 9,101,110,100, 10, 32, 32, 9,101,110,100, 10, 32, 32,
+ 101,110,100, 10, 32, 32,105,102, 32, 98, 32,116,104,101,110,
+ 10, 32, 32, 32, 95, 99,117,114,114, 95, 99,111,100,101, 32,
+ 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41,
+ 10, 32, 32, 32, 79,112,101,114, 97,116,111,114, 40,100,101,
+ 99,108, 44,107,105,110,100, 44, 97,114,103, 44, 99,111,110,
+ 115,116, 41, 10, 32, 32, 32,114,101,116,117,114,110, 32,115,
+ 116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10, 32, 32,
+ 101,110,100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32,116,
+ 114,121, 32,102,117,110, 99,116,105,111,110, 10, 32,100,111,
+ 10, 32, 32, 45, 45,108,111, 99, 97,108, 32, 98, 44,101, 44,
+ 100,101, 99,108, 44, 97,114,103, 44, 99,111,110,115,116, 32,
+ 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,
+ 115, 42, 40, 91,126, 95, 37,119, 93, 91, 95, 64, 37,119, 37,
+ 115, 37, 42, 38, 58, 60, 62, 93, 42, 91, 95, 37,119, 93, 41,
+ 37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,
+ 111, 63,110, 63,115, 63,116, 63, 41, 37,115, 42, 61, 63, 37,
+ 115, 42, 48, 63, 37,115, 42, 59, 37,115, 42, 34, 41, 10, 32,
+ 32,108,111, 99, 97,108, 32, 98, 44,101, 44,100,101, 99,108,
+ 44, 97,114,103, 44, 99,111,110,115,116, 44,118,105,114,116,
+ 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94,
+ 37,115, 42, 40, 91, 94, 37, 40, 92,110, 93, 43, 41, 37,115,
+ 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111, 63,
+ 110, 63,115, 63,116, 63, 41, 37,115, 42, 40, 61, 63, 37,115,
+ 42, 48, 63, 41, 37,115, 42, 59, 37,115, 42, 34, 41, 10, 32,
+ 32,105,102, 32,110,111,116, 32, 98, 32,116,104,101,110, 10,
+ 32, 32, 9, 45, 45, 32,116,114,121, 32,102,117,110, 99,116,
+ 105,111,110, 32,119,105,116,104, 32,116,101,109,112,108, 97,
+ 116,101, 10, 32, 32, 9, 98, 44,101, 44,100,101, 99,108, 44,
+ 97,114,103, 44, 99,111,110,115,116, 32, 61, 32,115,116,114,
+ 102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 91,126,
+ 95, 37,119, 93, 91, 95, 64, 37,119, 37,115, 37, 42, 38, 58,
+ 60, 62, 93, 42, 91, 95, 37,119, 93, 37, 98, 60, 62, 41, 37,
+ 115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111,
+ 63,110, 63,115, 63,116, 63, 41, 37,115, 42, 61, 63, 37,115,
+ 42, 48, 63, 37,115, 42, 59, 37,115, 42, 34, 41, 10, 32, 32,
+ 101,110,100, 10, 32, 32,105,102, 32,110,111,116, 32, 98, 32,
+ 116,104,101,110, 10, 32, 32, 32, 45, 45, 32,116,114,121, 32,
+ 97, 32,115,105,110,103,108,101, 32,108,101,116,116,101,114,
+ 32,102,117,110, 99,116,105,111,110, 32,110, 97,109,101, 10,
+ 32, 32, 32, 98, 44,101, 44,100,101, 99,108, 44, 97,114,103,
+ 44, 99,111,110,115,116, 32, 61, 32,115,116,114,102,105,110,
+ 100, 40,115, 44, 34, 94, 37,115, 42, 40, 91, 95, 37,119, 93,
+ 41, 37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99,
+ 63,111, 63,110, 63,115, 63,116, 63, 41, 37,115, 42, 59, 37,
+ 115, 42, 34, 41, 10, 32, 32,101,110,100, 10, 32, 32,105,102,
+ 32,110,111,116, 32, 98, 32,116,104,101,110, 10, 32, 32, 32,
+ 45, 45, 32,116,114,121, 32,102,117,110, 99,116,105,111,110,
+ 32,112,111,105,110,116,101,114, 10, 32, 32, 32, 98, 44,101,
+ 44,100,101, 99,108, 44, 97,114,103, 44, 99,111,110,115,116,
+ 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94,
+ 37,115, 42, 40, 91, 94, 37, 40, 59, 92,110, 93, 43, 37, 98,
+ 40, 41, 41, 37,115, 42, 40, 37, 98, 40, 41, 41, 37,115, 42,
+ 59, 37,115, 42, 34, 41, 10, 32, 32, 32,105,102, 32, 98, 32,
+ 116,104,101,110, 10, 32, 32, 32, 32,100,101, 99,108, 32, 61,
+ 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,100,101,
+ 99,108, 44, 32, 34, 37, 40, 37,115, 42, 37, 42, 40, 91, 94,
+ 37, 41, 93, 42, 41, 37,115, 42, 37, 41, 34, 44, 32, 34, 32,
+ 37, 49, 32, 34, 41, 10, 32, 32, 32,101,110,100, 10, 32, 32,
+ 101,110,100, 10, 32, 32,105,102, 32, 98, 32,116,104,101,110,
+ 10, 32, 32, 9,105,102, 32,118,105,114,116, 32, 97,110,100,
+ 32,115,116,114,105,110,103, 46,102,105,110,100, 40,118,105,
+ 114,116, 44, 32, 34, 91, 61, 48, 93, 34, 41, 32,116,104,101,
+ 110, 10, 32, 32, 9, 9,105,102, 32,115,101,108,102, 46,102,
+ 108, 97,103,115, 32,116,104,101,110, 10, 32, 32, 9, 9, 9,
+ 115,101,108,102, 46,102,108, 97,103,115, 46,112,117,114,101,
+ 95,118,105,114,116,117, 97,108, 32, 61, 32,116,114,117,101,
+ 10, 32, 32, 9, 9,101,110,100, 10, 32, 32, 9,101,110,100,
+ 10, 32, 32, 32, 95, 99,117,114,114, 95, 99,111,100,101, 32,
+ 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41,
+ 10, 32, 32, 32, 70,117,110, 99,116,105,111,110, 40,100,101,
+ 99,108, 44, 97,114,103, 44, 99,111,110,115,116, 41, 10, 32,
+ 32, 32,114,101,116,117,114,110, 32,115,116,114,115,117, 98,
+ 40,115, 44,101, 43, 49, 41, 10, 32, 32,101,110,100, 10, 32,
+ 101,110,100, 10, 10, 32, 45, 45, 32,116,114,121, 32,105,110,
+ 108,105,110,101, 32,102,117,110, 99,116,105,111,110, 10, 32,
+ 100,111, 10, 32, 32,108,111, 99, 97,108, 32, 98, 44,101, 44,
+ 100,101, 99,108, 44, 97,114,103, 44, 99,111,110,115,116, 32,
+ 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,
+ 115, 42, 40, 91, 94, 37, 40, 92,110, 93, 43, 41, 37,115, 42,
+ 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111, 63,110,
+ 63,115, 63,116, 63, 41, 91, 94, 59,123, 93, 42, 37, 98,123,
+ 125, 37,115, 42, 59, 63, 37,115, 42, 34, 41, 10, 32, 32, 45,
+ 45,108,111, 99, 97,108, 32, 98, 44,101, 44,100,101, 99,108,
+ 44, 97,114,103, 44, 99,111,110,115,116, 32, 61, 32,115,116,
+ 114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42, 40, 91,
+ 126, 95, 37,119, 93, 91, 95, 64, 37,119, 37,115, 37, 42, 38,
+ 58, 60, 62, 93, 42, 91, 95, 37,119, 62, 93, 41, 37,115, 42,
+ 40, 37, 98, 40, 41, 41, 37,115, 42, 40, 99, 63,111, 63,110,
+ 63,115, 63,116, 63, 41, 91, 94, 59, 93, 42, 37, 98,123,125,
+ 37,115, 42, 59, 63, 37,115, 42, 34, 41, 10, 32, 32,105,102,
+ 32,110,111,116, 32, 98, 32,116,104,101,110, 10, 32, 32, 32,
+ 45, 45, 32,116,114,121, 32, 97, 32,115,105,110,103,108,101,
+ 32,108,101,116,116,101,114, 32,102,117,110, 99,116,105,111,
+ 110, 32,110, 97,109,101, 10, 32, 32, 32, 98, 44,101, 44,100,
+ 101, 99,108, 44, 97,114,103, 44, 99,111,110,115,116, 32, 61,
+ 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115,
+ 42, 40, 91, 95, 37,119, 93, 41, 37,115, 42, 40, 37, 98, 40,
+ 41, 41, 37,115, 42, 40, 99, 63,111, 63,110, 63,115, 63,116,
+ 63, 41, 46, 45, 37, 98,123,125, 37,115, 42, 59, 63, 37,115,
+ 42, 34, 41, 10, 32, 32,101,110,100, 10, 32, 32,105,102, 32,
+ 98, 32,116,104,101,110, 10, 32, 32, 32, 95, 99,117,114,114,
+ 95, 99,111,100,101, 32, 61, 32,115,116,114,115,117, 98, 40,
+ 115, 44, 98, 44,101, 41, 10, 32, 32, 32, 70,117,110, 99,116,
+ 105,111,110, 40,100,101, 99,108, 44, 97,114,103, 44, 99,111,
+ 110,115,116, 41, 10, 32, 32, 32,114,101,116,117,114,110, 32,
+ 115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10, 32,
+ 32,101,110,100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32,
+ 116,114,121, 32, 99,108, 97,115,115, 10, 32,100,111, 10, 9,
+ 32,108,111, 99, 97,108, 32, 98, 44,101, 44,110, 97,109,101,
+ 44, 98, 97,115,101, 44, 98,111,100,121, 10, 9, 9, 98, 97,
+ 115,101, 32, 61, 32, 39, 39, 32, 98,111,100,121, 32, 61, 32,
+ 39, 39, 10, 9, 9, 98, 44,101, 44,110, 97,109,101, 32, 61,
+ 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115,
+ 42, 99,108, 97,115,115, 37,115, 42, 40, 91, 95, 37,119, 93,
+ 91, 95, 37,119, 64, 93, 42, 41, 37,115, 42, 59, 34, 41, 32,
+ 32, 45, 45, 32,100,117,109,109,121, 32, 99,108, 97,115,115,
+ 10, 9, 9,108,111, 99, 97,108, 32,100,117,109,109,121, 32,
+ 61, 32,102, 97,108,115,101, 10, 9, 9,105,102, 32,110,111,
+ 116, 32, 98, 32,116,104,101,110, 10, 9, 9, 9, 98, 44,101,
+ 44,110, 97,109,101, 32, 61, 32,115,116,114,102,105,110,100,
+ 40,115, 44, 34, 94, 37,115, 42,115,116,114,117, 99,116, 37,
+ 115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 64, 93, 42,
+ 41, 37,115, 42, 59, 34, 41, 32, 32, 32, 32, 45, 45, 32,100,
+ 117,109,109,121, 32,115,116,114,117, 99,116, 10, 9, 9, 9,
+ 105,102, 32,110,111,116, 32, 98, 32,116,104,101,110, 10, 9,
+ 9, 9, 9, 98, 44,101, 44,110, 97,109,101, 44, 98, 97,115,
+ 101, 44, 98,111,100,121, 32, 61, 32,115,116,114,102,105,110,
+ 100, 40,115, 44, 34, 94, 37,115, 42, 99,108, 97,115,115, 37,
+ 115, 42, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 64, 93, 42,
+ 41, 37,115, 42, 40, 91, 94,123, 93, 45, 41, 37,115, 42, 40,
+ 37, 98,123,125, 41, 37,115, 42, 34, 41, 10, 9, 9, 9, 9,
+ 105,102, 32,110,111,116, 32, 98, 32,116,104,101,110, 10, 9,
+ 9, 9, 9, 9, 98, 44,101, 44,110, 97,109,101, 44, 98, 97,
+ 115,101, 44, 98,111,100,121, 32, 61, 32,115,116,114,102,105,
+ 110,100, 40,115, 44, 34, 94, 37,115, 42,115,116,114,117, 99,
+ 116, 37,115, 43, 40, 91, 95, 37,119, 93, 91, 95, 37,119, 64,
+ 93, 42, 41, 37,115, 42, 40, 91, 94,123, 93, 45, 41, 37,115,
+ 42, 40, 37, 98,123,125, 41, 37,115, 42, 34, 41, 10, 9, 9,
+ 9, 9, 9,105,102, 32,110,111,116, 32, 98, 32,116,104,101,
+ 110, 10, 9, 9, 9, 9, 9, 9, 98, 44,101, 44,110, 97,109,
+ 101, 44, 98, 97,115,101, 44, 98,111,100,121, 32, 61, 32,115,
+ 116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42,117,
+ 110,105,111,110, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95,
+ 37,119, 64, 93, 42, 41, 37,115, 42, 40, 91, 94,123, 93, 45,
+ 41, 37,115, 42, 40, 37, 98,123,125, 41, 37,115, 42, 34, 41,
+ 10, 9, 9, 9, 9, 9, 9,105,102, 32,110,111,116, 32, 98,
+ 32,116,104,101,110, 10, 9, 9, 9, 9, 9, 9, 9, 98, 97,
+ 115,101, 32, 61, 32, 39, 39, 10, 9, 9, 9, 9, 9, 9, 9,
+ 98, 44,101, 44, 98,111,100,121, 44,110, 97,109,101, 32, 61,
+ 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115,
+ 42,116,121,112,101,100,101,102, 37,115, 37,115, 42,115,116,
+ 114,117, 99,116, 37,115, 37,115, 42, 91, 95, 37,119, 93, 42,
+ 37,115, 42, 40, 37, 98,123,125, 41, 37,115, 42, 40, 91, 95,
+ 37,119, 93, 91, 95, 37,119, 64, 93, 42, 41, 37,115, 42, 59,
+ 34, 41, 10, 9, 9, 9, 9, 9, 9,101,110,100, 10, 9, 9,
+ 9, 9, 9,101,110,100, 10, 9, 9, 9, 9,101,110,100, 10,
+ 9, 9, 9,101,108,115,101, 32,100,117,109,109,121, 32, 61,
+ 32, 49, 32,101,110,100, 10, 9, 9,101,108,115,101, 32,100,
+ 117,109,109,121, 32, 61, 32, 49, 32,101,110,100, 10, 9, 9,
+ 105,102, 32, 98, 32,116,104,101,110, 10, 9, 9, 9,105,102,
+ 32, 98, 97,115,101, 32,126, 61, 32, 39, 39, 32,116,104,101,
+ 110, 10, 9, 9, 9, 9, 98, 97,115,101, 32, 61, 32,115,116,
+ 114,105,110,103, 46,103,115,117, 98, 40, 98, 97,115,101, 44,
+ 32, 34, 94, 37,115, 42, 58, 37,115, 42, 34, 44, 32, 34, 34,
+ 41, 10, 9, 9, 9, 9, 98, 97,115,101, 32, 61, 32,115,116,
+ 114,105,110,103, 46,103,115,117, 98, 40, 98, 97,115,101, 44,
+ 32, 34, 37,115, 42,112,117, 98,108,105, 99, 37,115, 42, 34,
+ 44, 32, 34, 34, 41, 10, 9, 9, 9, 9, 98, 97,115,101, 32,
+ 61, 32,115,112,108,105,116, 40, 98, 97,115,101, 44, 32, 34,
+ 44, 34, 41, 10, 9, 9, 9, 9, 45, 45,108,111, 99, 97,108,
+ 32, 98, 44,101, 10, 9, 9, 9, 9, 45, 45, 98, 44,101, 44,
+ 98, 97,115,101, 32, 61, 32,115,116,114,102,105,110,100, 40,
+ 98, 97,115,101, 44, 34, 46, 45, 40, 91, 95, 37,119, 93, 91,
+ 95, 37,119, 60, 62, 44, 58, 93, 42, 41, 36, 34, 41, 10, 9,
+ 9, 9,101,108,115,101, 10, 9, 9, 9, 9, 98, 97,115,101,
+ 32, 61, 32,123,125, 10, 9, 9, 9,101,110,100, 10, 9, 9,
+ 9, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,115,
+ 116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 9, 9,
+ 9, 67,108, 97,115,115, 40,110, 97,109,101, 44, 98, 97,115,
+ 101, 44, 98,111,100,121, 41, 10, 9, 9, 9,105,102, 32,110,
+ 111,116, 32,100,117,109,109,121, 32,116,104,101,110, 10, 9,
+ 9, 9, 9,118, 97,114, 98, 44,118, 97,114,101, 44,118, 97,
+ 114,110, 97,109,101, 32, 61, 32,115,116,114,105,110,103, 46,
+ 102,105,110,100, 40,115, 44, 32, 34, 94, 37,115, 42, 40, 91,
+ 95, 37,119, 93, 43, 41, 37,115, 42, 59, 34, 44, 32,101, 43,
+ 49, 41, 10, 9, 9, 9, 9,105,102, 32,118, 97,114, 98, 32,
+ 116,104,101,110, 10, 9, 9, 9, 9, 9, 86, 97,114,105, 97,
+ 98,108,101, 40,110, 97,109,101, 46, 46, 34, 32, 34, 46, 46,
+ 118, 97,114,110, 97,109,101, 41, 10, 9, 9, 9, 9, 9,101,
+ 32, 61, 32,118, 97,114,101, 10, 9, 9, 9, 9,101,110,100,
+ 10, 9, 9, 9,101,110,100, 10, 9, 9, 9,114,101,116,117,
+ 114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49,
+ 41, 10, 9, 9,101,110,100, 10, 9,101,110,100, 10, 10, 32,
+ 45, 45, 32,116,114,121, 32,116,121,112,101,100,101,102, 10,
+ 32,100,111, 10, 32, 32,108,111, 99, 97,108, 32, 98, 44,101,
+ 44,116,121,112,101,115, 32, 61, 32,115,116,114,102,105,110,
+ 100, 40,115, 44, 34, 94, 37,115, 42,116,121,112,101,100,101,
+ 102, 37,115, 37,115, 42, 40, 46, 45, 41, 37,115, 42, 59, 37,
+ 115, 42, 34, 41, 10, 32, 32,105,102, 32, 98, 32,116,104,101,
+ 110, 10, 32, 32, 32, 95, 99,117,114,114, 95, 99,111,100,101,
+ 32, 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,101,
+ 41, 10, 32, 32, 32, 84,121,112,101,100,101,102, 40,116,121,
+ 112,101,115, 41, 10, 32, 32, 32,114,101,116,117,114,110, 32,
+ 115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10, 32,
+ 32,101,110,100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32,
+ 116,114,121, 32,118, 97,114,105, 97, 98,108,101, 10, 32,100,
+ 111, 10, 32, 32,108,111, 99, 97,108, 32, 98, 44,101, 44,100,
+ 101, 99,108, 32, 61, 32,115,116,114,102,105,110,100, 40,115,
+ 44, 34, 94, 37,115, 42, 40, 91, 95, 37,119, 93, 91, 95, 64,
+ 37,115, 37,119, 37,100, 37, 42, 38, 58, 60, 62, 44, 93, 42,
+ 91, 95, 37,119, 37,100, 93, 41, 37,115, 42, 59, 37,115, 42,
+ 34, 41, 10, 32, 32,105,102, 32, 98, 32,116,104,101,110, 10,
+ 32, 32, 32, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61,
+ 32,115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10,
+ 10, 9,108,111, 99, 97,108, 32,108,105,115,116, 32, 61, 32,
+ 115,112,108,105,116, 95, 99, 95,116,111,107,101,110,115, 40,
+ 100,101, 99,108, 44, 32, 34, 44, 34, 41, 10, 9, 86, 97,114,
+ 105, 97, 98,108,101, 40,108,105,115,116, 91, 49, 93, 41, 10,
+ 9,105,102, 32,108,105,115,116, 46,110, 32, 62, 32, 49, 32,
+ 116,104,101,110, 10, 9, 9,108,111, 99, 97,108, 32, 95, 44,
+ 95, 44,116,121,112,101, 32, 61, 32,115,116,114,102,105,110,
+ 100, 40,108,105,115,116, 91, 49, 93, 44, 32, 34, 40, 46, 45,
+ 41, 37,115, 43, 40, 91, 94, 37,115, 93, 42, 41, 36, 34, 41,
+ 59, 10, 10, 9, 9,108,111, 99, 97,108, 32,105, 32, 61, 50,
+ 59, 10, 9, 9,119,104,105,108,101, 32,108,105,115,116, 91,
+ 105, 93, 32,100,111, 10, 9, 9, 9, 86, 97,114,105, 97, 98,
+ 108,101, 40,116,121,112,101, 46, 46, 34, 32, 34, 46, 46,108,
+ 105,115,116, 91,105, 93, 41, 10, 9, 9, 9,105, 61,105, 43,
+ 49, 10, 9, 9,101,110,100, 10, 9,101,110,100, 10, 32, 32,
+ 32, 45, 45, 86, 97,114,105, 97, 98,108,101, 40,100,101, 99,
+ 108, 41, 10, 32, 32, 32,114,101,116,117,114,110, 32,115,116,
+ 114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10, 32, 32,101,
+ 110,100, 10, 32,101,110,100, 10, 10, 9, 45, 45, 32,116,114,
+ 121, 32,115,116,114,105,110,103, 10, 32,100,111, 10, 32, 32,
+ 108,111, 99, 97,108, 32, 98, 44,101, 44,100,101, 99,108, 32,
+ 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,
+ 115, 42, 40, 91, 95, 37,119, 93, 63, 91, 95, 37,115, 37,119,
+ 37,100, 93, 45, 99,104, 97,114, 37,115, 43, 91, 95, 64, 37,
+ 119, 37,100, 93, 42, 37,115, 42, 37, 91, 37,115, 42, 37, 83,
+ 43, 37,115, 42, 37, 93, 41, 37,115, 42, 59, 37,115, 42, 34,
+ 41, 10, 32, 32,105,102, 32, 98, 32,116,104,101,110, 10, 32,
+ 32, 32, 95, 99,117,114,114, 95, 99,111,100,101, 32, 61, 32,
+ 115,116,114,115,117, 98, 40,115, 44, 98, 44,101, 41, 10, 32,
+ 32, 32, 86, 97,114,105, 97, 98,108,101, 40,100,101, 99,108,
+ 41, 10, 32, 32, 32,114,101,116,117,114,110, 32,115,116,114,
+ 115,117, 98, 40,115, 44,101, 43, 49, 41, 10, 32, 32,101,110,
+ 100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32,116,114,121,
+ 32, 97,114,114, 97,121, 10, 32,100,111, 10, 32, 32,108,111,
+ 99, 97,108, 32, 98, 44,101, 44,100,101, 99,108, 32, 61, 32,
+ 115,116,114,102,105,110,100, 40,115, 44, 34, 94, 37,115, 42,
+ 40, 91, 95, 37,119, 93, 91, 93, 91, 95, 64, 37,115, 37,119,
+ 37,100, 37, 42, 38, 58, 93, 42, 91, 93, 95, 37,119, 37,100,
+ 93, 41, 37,115, 42, 59, 37,115, 42, 34, 41, 10, 32, 32,105,
+ 102, 32, 98, 32,116,104,101,110, 10, 32, 32, 32, 95, 99,117,
+ 114,114, 95, 99,111,100,101, 32, 61, 32,115,116,114,115,117,
+ 98, 40,115, 44, 98, 44,101, 41, 10, 32, 32, 32, 65,114,114,
+ 97,121, 40,100,101, 99,108, 41, 10, 32, 32, 32,114,101,116,
+ 117,114,110, 32,115,116,114,115,117, 98, 40,115, 44,101, 43,
+ 49, 41, 10, 32, 32,101,110,100, 10, 32,101,110,100, 10, 10,
+ 32, 45, 45, 32,110,111, 32,109, 97,116, 99,104,105,110,103,
+ 10, 32,105,102, 32,103,115,117, 98, 40,115, 44, 34, 37,115,
+ 37,115, 42, 34, 44, 34, 34, 41, 32,126, 61, 32, 34, 34, 32,
+ 116,104,101,110, 10, 32, 32, 95, 99,117,114,114, 95, 99,111,
+ 100,101, 32, 61, 32,115, 10, 32, 32,101,114,114,111,114, 40,
+ 34, 35,112, 97,114,115,101, 32,101,114,114,111,114, 34, 41,
+ 10, 32,101,108,115,101, 10, 32, 32,114,101,116,117,114,110,
+ 32, 34, 34, 10, 32,101,110,100, 10, 10,101,110,100, 10, 10,
+ 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 67,
+ 111,110,116, 97,105,110,101,114, 58,112, 97,114,115,101, 32,
+ 40,115, 41, 10, 10, 9, 45, 45,115,101,108,102, 46, 99,117,
+ 114,114, 95,109,101,109, 98,101,114, 95, 97, 99, 99,101,115,
+ 115, 32, 61, 32,110,105,108, 10, 10, 32,119,104,105,108,101,
+ 32,115, 32,126, 61, 32, 39, 39, 32,100,111, 10, 32, 32,115,
+ 32, 61, 32,115,101,108,102, 58,100,111,112, 97,114,115,101,
+ 40,115, 41, 10, 32, 32,109,101,116,104,111,100,105,115,118,
+ 105,114,116,117, 97,108, 32, 61, 32,102, 97,108,115,101, 10,
+ 32,101,110,100, 10,101,110,100, 10, 10, 10, 45, 45, 32,112,
+ 114,111,112,101,114,116,121, 32,116,121,112,101,115, 10, 10,
+ 102,117,110, 99,116,105,111,110, 32,103,101,116, 95,112,114,
+ 111,112,101,114,116,121, 95,116,121,112,101, 40, 41, 10, 10,
+ 9,114,101,116,117,114,110, 32, 99,108, 97,115,115, 67,111,
+ 110,116, 97,105,110,101,114, 46, 99,117,114,114, 58,103,101,
+ 116, 95,112,114,111,112,101,114,116,121, 95,116,121,112,101,
+ 40, 41, 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,
+ 110, 32, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,
+ 114, 58,115,101,116, 95,112,114,111,112,101,114,116,121, 95,
+ 116,121,112,101, 40,112,116,121,112,101, 41, 10, 9,112,116,
+ 121,112,101, 32, 61, 32,115,116,114,105,110,103, 46,103,115,
+ 117, 98, 40,112,116,121,112,101, 44, 32, 34, 94, 37,115, 42,
+ 34, 44, 32, 34, 34, 41, 10, 9,112,116,121,112,101, 32, 61,
+ 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,112,116,
+ 121,112,101, 44, 32, 34, 37,115, 42, 36, 34, 44, 32, 34, 34,
+ 41, 10, 10, 9,115,101,108,102, 46,112,114,111,112,101,114,
+ 116,121, 95,116,121,112,101, 32, 61, 32,112,116,121,112,101,
+ 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,110, 32,
+ 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,114, 58,
+ 103,101,116, 95,112,114,111,112,101,114,116,121, 95,116,121,
+ 112,101, 40, 41, 10, 9,114,101,116,117,114,110, 32,115,101,
+ 108,102, 46,112,114,111,112,101,114,116,121, 95,116,121,112,
+ 101, 32,111,114, 32, 40,115,101,108,102, 46,112, 97,114,101,
+ 110,116, 32, 97,110,100, 32,115,101,108,102, 46,112, 97,114,
+ 101,110,116, 58,103,101,116, 95,112,114,111,112,101,114,116,
+ 121, 95,116,121,112,101, 40, 41, 41, 32,111,114, 32, 34,100,
+ 101,102, 97,117,108,116, 34, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: lua/tolua++/src/bin/lua/container.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32,112, 97, 99,107, 97,
+ 103,101, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,105,
+ 116,116,101,110, 32, 98,121, 32, 87, 97,108,100,101,109, 97,
+ 114, 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67, 71,
+ 114, 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45, 32,
+ 74,117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,100,
+ 58, 32, 36, 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,111,
+ 100,101, 32,105,115, 32,102,114,101,101, 32,115,111,102,116,
+ 119, 97,114,101, 59, 32,121,111,117, 32, 99, 97,110, 32,114,
+ 101,100,105,115,116,114,105, 98,117,116,101, 32,105,116, 32,
+ 97,110,100, 47,111,114, 32,109,111,100,105,102,121, 32,105,
+ 116, 46, 10, 45, 45, 32, 84,104,101, 32,115,111,102,116,119,
+ 97,114,101, 32,112,114,111,118,105,100,101,100, 32,104,101,
+ 114,101,117,110,100,101,114, 32,105,115, 32,111,110, 32, 97,
+ 110, 32, 34, 97,115, 32,105,115, 34, 32, 98, 97,115,105,115,
+ 44, 32, 97,110,100, 10, 45, 45, 32,116,104,101, 32, 97,117,
+ 116,104,111,114, 32,104, 97,115, 32,110,111, 32,111, 98,108,
+ 105,103, 97,116,105,111,110, 32,116,111, 32,112,114,111,118,
+ 105,100,101, 32,109, 97,105,110,116,101,110, 97,110, 99,101,
+ 44, 32,115,117,112,112,111,114,116, 44, 32,117,112,100, 97,
+ 116,101,115, 44, 10, 45, 45, 32,101,110,104, 97,110, 99,101,
+ 109,101,110,116,115, 44, 32,111,114, 32,109,111,100,105,102,
+ 105, 99, 97,116,105,111,110,115, 46, 10, 10, 10, 10, 45, 45,
+ 32, 80, 97, 99,107, 97,103,101, 32, 99,108, 97,115,115, 10,
+ 45, 45, 32, 82,101,112,114,101,115,101,110,116,115, 32,116,
+ 104,101, 32,119,104,111,108,101, 32,112, 97, 99,107, 97,103,
+ 101, 32, 98,101,105,110,103, 32, 98,111,117,110,100, 46, 10,
+ 45, 45, 32, 84,104,101, 32,102,111,108,108,111,119,105,110,
+ 103, 32,102,105,101,108,100,115, 32, 97,114,101, 32,115,116,
+ 111,114,101,100, 58, 10, 45, 45, 32, 32, 32, 32,123,105,125,
+ 32, 61, 32,108,105,115,116, 32,111,102, 32,111, 98,106,101,
+ 99,116,115, 32,105,110, 32,116,104,101, 32,112, 97, 99,107,
+ 97,103,101, 46, 10, 99,108, 97,115,115, 80, 97, 99,107, 97,
+ 103,101, 32, 61, 32,123, 10, 32, 99,108, 97,115,115,116,121,
+ 112,101, 32, 61, 32, 39,112, 97, 99,107, 97,103,101, 39, 10,
+ 125, 10, 99,108, 97,115,115, 80, 97, 99,107, 97,103,101, 46,
+ 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115,
+ 80, 97, 99,107, 97,103,101, 10,115,101,116,109,101,116, 97,
+ 116, 97, 98,108,101, 40, 99,108, 97,115,115, 80, 97, 99,107,
+ 97,103,101, 44, 99,108, 97,115,115, 67,111,110,116, 97,105,
+ 110,101,114, 41, 10, 10, 45, 45, 32, 80,114,105,110,116, 32,
+ 109,101,116,104,111,100, 10,102,117,110, 99,116,105,111,110,
+ 32, 99,108, 97,115,115, 80, 97, 99,107, 97,103,101, 58,112,
+ 114,105,110,116, 32, 40, 41, 10, 32,112,114,105,110,116, 40,
+ 34, 80, 97, 99,107, 97,103,101, 58, 32, 34, 46, 46,115,101,
+ 108,102, 46,110, 97,109,101, 41, 10, 32,108,111, 99, 97,108,
+ 32,105, 61, 49, 10, 32,119,104,105,108,101, 32,115,101,108,
+ 102, 91,105, 93, 32,100,111, 10, 32, 32,115,101,108,102, 91,
+ 105, 93, 58,112,114,105,110,116, 40, 34, 34, 44, 34, 34, 41,
+ 10, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32,101,110,100,
+ 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,110, 32,
+ 99,108, 97,115,115, 80, 97, 99,107, 97,103,101, 58,112,114,
+ 101,112,114,111, 99,101,115,115, 32, 40, 41, 10, 10, 32, 45,
+ 45, 32, 97,118,111,105,100, 32,112,114,101,112,114,111, 99,
+ 101,115,115,105,110,103, 32,101,109, 98,101,100,100,101,100,
+ 32, 76,117, 97, 32, 99,111,100,101, 10, 32,108,111, 99, 97,
+ 108, 32, 76, 32, 61, 32,123,125, 10, 32,115,101,108,102, 46,
+ 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,
+ 102, 46, 99,111,100,101, 44, 34, 92,110, 37,115, 42, 37, 36,
+ 37, 91, 34, 44, 34, 92, 49, 34, 41, 32, 45, 45, 32,100,101,
+ 97,108, 32,119,105,116,104, 32,101,109, 98,101,100,100,101,
+ 100, 32,108,117, 97, 32, 99,111,100,101, 10, 32,115,101,108,
+ 102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,
+ 101,108,102, 46, 99,111,100,101, 44, 34, 92,110, 37,115, 42,
+ 37, 36, 37, 93, 34, 44, 34, 92, 50, 34, 41, 10, 32,115,101,
+ 108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,
+ 115,101,108,102, 46, 99,111,100,101, 44, 34, 40, 37, 98, 92,
+ 49, 92, 50, 41, 34, 44, 32, 32, 32, 32, 32, 32, 32,102,117,
+ 110, 99,116,105,111,110, 32, 40, 99, 41, 10, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,116,105,
+ 110,115,101,114,116, 40, 76, 44, 99, 41, 10, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,114,101,
+ 116,117,114,110, 32, 34, 92,110, 35, 91, 34, 46, 46,103,101,
+ 116,110, 40, 76, 41, 46, 46, 34, 93, 35, 34, 10, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,
+ 100, 41, 10, 32, 45, 45, 32, 97,118,111,105,100, 32,112,114,
+ 101,112,114,111, 99,101,115,115,105,110,103, 32,101,109, 98,
+ 101,100,100,101,100, 32, 67, 32, 99,111,100,101, 10, 32,108,
+ 111, 99, 97,108, 32, 67, 32, 61, 32,123,125, 10, 32,115,101,
+ 108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,
+ 115,101,108,102, 46, 99,111,100,101, 44, 34, 92,110, 37,115,
+ 42, 37, 36, 37, 60, 34, 44, 34, 92, 51, 34, 41, 32, 45, 45,
+ 32,100,101, 97,108, 32,119,105,116,104, 32,101,109, 98,101,
+ 100,100,101,100, 32, 67, 32, 99,111,100,101, 10, 32,115,101,
+ 108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,
+ 115,101,108,102, 46, 99,111,100,101, 44, 34, 92,110, 37,115,
+ 42, 37, 36, 37, 62, 34, 44, 34, 92, 52, 34, 41, 10, 32,115,
+ 101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98,
+ 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 40, 37, 98,
+ 92, 51, 92, 52, 41, 34, 44, 32, 32, 32, 32, 32, 32, 32,102,
+ 117,110, 99,116,105,111,110, 32, 40, 99, 41, 10, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,116,
+ 105,110,115,101,114,116, 40, 67, 44, 99, 41, 10, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,114,
+ 101,116,117,114,110, 32, 34, 92,110, 35, 60, 34, 46, 46,103,
+ 101,116,110, 40, 67, 41, 46, 46, 34, 62, 35, 34, 10, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,
+ 110,100, 41, 10, 32, 45, 45, 32, 97,118,111,105,100, 32,112,
+ 114,101,112,114,111, 99,101,115,115,105,110,103, 32,101,109,
+ 98,101,100,100,101,100, 32, 67, 32, 99,111,100,101, 10, 32,
+ 115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117,
+ 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 92,110,
+ 37,115, 42, 37, 36, 37,123, 34, 44, 34, 92, 53, 34, 41, 32,
+ 45, 45, 32,100,101, 97,108, 32,119,105,116,104, 32,101,109,
+ 98,101,100,100,101,100, 32, 67, 32, 99,111,100,101, 10, 32,
+ 115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117,
+ 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 92,110,
+ 37,115, 42, 37, 36, 37,125, 34, 44, 34, 92, 54, 34, 41, 10,
+ 32,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,
+ 117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 40,
+ 37, 98, 92, 53, 92, 54, 41, 34, 44, 32, 32, 32, 32, 32, 32,
+ 32,102,117,110, 99,116,105,111,110, 32, 40, 99, 41, 10, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32,116,105,110,115,101,114,116, 40, 67, 44, 99, 41, 10, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32,114,101,116,117,114,110, 32, 34, 92,110, 35, 60, 34, 46,
+ 46,103,101,116,110, 40, 67, 41, 46, 46, 34, 62, 35, 34, 10,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32,101,110,100, 41, 10, 10, 32, 45, 45,115,101,108,102, 46,
+ 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,
+ 102, 46, 99,111,100,101, 44, 34, 92,110, 37,115, 42, 35, 91,
+ 94,100, 93, 91, 94, 92,110, 93, 42, 92,110, 34, 44, 32, 34,
+ 92,110, 92,110, 34, 41, 32, 45, 45, 32,101,108,105,109,105,
+ 110, 97,116,101, 32,112,114,101,112,114,111, 99,101,115,115,
+ 111,114, 32,100,105,114,101, 99,116,105,118,101,115, 32,116,
+ 104, 97,116, 32,100,111,110, 39,116, 32,115,116, 97,114,116,
+ 32,119,105,116,104, 32, 39,100, 39, 10, 32,115,101,108,102,
+ 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,
+ 108,102, 46, 99,111,100,101, 44, 34, 92,110, 91, 32, 92,116,
+ 93, 42, 35, 91, 32, 92,116, 93, 42, 91, 94,100, 37, 60, 37,
+ 91, 93, 34, 44, 32, 34, 92,110, 47, 47, 34, 41, 32, 45, 45,
+ 32,101,108,105,109,105,110, 97,116,101, 32,112,114,101,112,
+ 114,111, 99,101,115,115,111,114, 32,100,105,114,101, 99,116,
+ 105,118,101,115, 32,116,104, 97,116, 32,100,111,110, 39,116,
+ 32,115,116, 97,114,116, 32,119,105,116,104, 32, 39,100, 39,
+ 10, 10, 32, 45, 45, 32, 97,118,111,105,100, 32,112,114,101,
+ 112,114,111, 99,101,115,115,105,110,103, 32,118,101,114, 98,
+ 97,116,105,109, 32,108,105,110,101,115, 10, 32,108,111, 99,
+ 97,108, 32, 86, 32, 61, 32,123,125, 10, 32,115,101,108,102,
+ 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,
+ 108,102, 46, 99,111,100,101, 44, 34, 92,110, 40, 37,115, 42,
+ 37, 36, 91, 94, 37, 91, 37, 93, 93, 91, 94, 92,110, 93, 42,
+ 41, 34, 44,102,117,110, 99,116,105,111,110, 32, 40,118, 41,
+ 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32,116,105,110,115,101,114,116, 40, 86, 44,118, 41,
+ 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32,114,101,116,117,114,110, 32, 34, 92,110, 35, 34,
+ 46, 46,103,101,116,110, 40, 86, 41, 46, 46, 34, 35, 34, 10,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32,101,110,100, 41, 10, 10, 32, 45, 45, 32,112,101,114,102,
+ 111,114,109, 32,103,108,111, 98, 97,108, 32,115,117, 98,115,
+ 116,105,116,117,116,105,111,110, 10, 10, 32,115,101,108,102,
+ 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,
+ 108,102, 46, 99,111,100,101, 44, 34, 40, 47, 47, 91, 94, 92,
+ 110, 93, 42, 41, 34, 44, 34, 34, 41, 32, 32, 32, 32, 32, 45,
+ 45, 32,101,108,105,109,105,110, 97,116,101, 32, 67, 43, 43,
+ 32, 99,111,109,109,101,110,116,115, 10, 32,115,101,108,102,
+ 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,
+ 108,102, 46, 99,111,100,101, 44, 34, 47, 37, 42, 34, 44, 34,
+ 92, 49, 34, 41, 10, 32,115,101,108,102, 46, 99,111,100,101,
+ 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,
+ 100,101, 44, 34, 37, 42, 47, 34, 44, 34, 92, 50, 34, 41, 10,
+ 32,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,
+ 117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 37,
+ 98, 92, 49, 92, 50, 34, 44, 34, 34, 41, 10, 32,115,101,108,
+ 102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,
+ 101,108,102, 46, 99,111,100,101, 44, 34, 92, 49, 34, 44, 34,
+ 47, 37, 42, 34, 41, 10, 32,115,101,108,102, 46, 99,111,100,
+ 101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,
+ 111,100,101, 44, 34, 92, 50, 34, 44, 34, 37, 42, 47, 34, 41,
+ 10, 32,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,
+ 115,117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34,
+ 37,115, 42, 64, 37,115, 42, 34, 44, 34, 64, 34, 41, 32, 45,
+ 45, 32,101,108,105,109,105,110, 97,116,101, 32,115,112, 97,
+ 99,101,115, 32, 98,101,115,105,100,101, 32, 64, 10, 32,115,
+ 101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98,
+ 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 37,115, 63,
+ 105,110,108,105,110,101, 40, 37,115, 41, 34, 44, 34, 37, 49,
+ 34, 41, 32, 45, 45, 32,101,108,105,109,105,110, 97,116,101,
+ 32, 39,105,110,108,105,110,101, 39, 32,107,101,121,119,111,
+ 114,100, 10, 32, 45, 45,115,101,108,102, 46, 99,111,100,101,
+ 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,
+ 100,101, 44, 34, 37,115, 63,101,120,116,101,114,110, 40, 37,
+ 115, 41, 34, 44, 34, 37, 49, 34, 41, 32, 45, 45, 32,101,108,
+ 105,109,105,110, 97,116,101, 32, 39,101,120,116,101,114,110,
+ 39, 32,107,101,121,119,111,114,100, 10, 32, 45, 45,115,101,
+ 108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,
+ 115,101,108,102, 46, 99,111,100,101, 44, 34, 37,115, 63,118,
+ 105,114,116,117, 97,108, 40, 37,115, 41, 34, 44, 34, 37, 49,
+ 34, 41, 32, 45, 45, 32,101,108,105,109,105,110, 97,116,101,
+ 32, 39,118,105,114,116,117, 97,108, 39, 32,107,101,121,119,
+ 111,114,100, 10, 32, 45, 45,115,101,108,102, 46, 99,111,100,
+ 101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,
+ 111,100,101, 44, 34,112,117, 98,108,105, 99, 58, 34, 44, 34,
+ 34, 41, 32, 45, 45, 32,101,108,105,109,105,110, 97,116,101,
+ 32, 39,112,117, 98,108,105, 99, 58, 39, 32,107,101,121,119,
+ 111,114,100, 10, 32,115,101,108,102, 46, 99,111,100,101, 32,
+ 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,100,
+ 101, 44, 34, 40, 91, 94, 37,119, 95, 93, 41,118,111,105,100,
+ 37,115, 42, 37, 42, 34, 44, 34, 37, 49, 95,117,115,101,114,
+ 100, 97,116, 97, 32, 34, 41, 32, 45, 45, 32,115,117, 98,115,
+ 116,105,116,117,116,101, 32, 39,118,111,105,100, 42, 39, 10,
+ 32,115,101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,
+ 117, 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 40,
+ 91, 94, 37,119, 95, 93, 41,118,111,105,100, 37,115, 42, 37,
+ 42, 34, 44, 34, 37, 49, 95,117,115,101,114,100, 97,116, 97,
+ 32, 34, 41, 32, 45, 45, 32,115,117, 98,115,116,105,116,117,
+ 116,101, 32, 39,118,111,105,100, 42, 39, 10, 32,115,101,108,
+ 102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,
+ 101,108,102, 46, 99,111,100,101, 44, 34, 40, 91, 94, 37,119,
+ 95, 93, 41, 99,104, 97,114, 37,115, 42, 37, 42, 34, 44, 34,
+ 37, 49, 95, 99,115,116,114,105,110,103, 32, 34, 41, 32, 32,
+ 45, 45, 32,115,117, 98,115,116,105,116,117,116,101, 32, 39,
+ 99,104, 97,114, 42, 39, 10, 32,115,101,108,102, 46, 99,111,
+ 100,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46,
+ 99,111,100,101, 44, 34, 40, 91, 94, 37,119, 95, 93, 41,108,
+ 117, 97, 95, 83,116, 97,116,101, 37,115, 42, 37, 42, 34, 44,
+ 34, 37, 49, 95,108,115,116, 97,116,101, 32, 34, 41, 32, 32,
+ 45, 45, 32,115,117, 98,115,116,105,116,117,116,101, 32, 39,
+ 108,117, 97, 95, 83,116, 97,116,101, 42, 39, 10, 10, 32, 45,
+ 45, 32,114,101,115,116,111,114,101, 32,101,109, 98,101,100,
+ 100,101,100, 32, 76,117, 97, 32, 99,111,100,101, 10, 32,115,
+ 101,108,102, 46, 99,111,100,101, 32, 61, 32,103,115,117, 98,
+ 40,115,101,108,102, 46, 99,111,100,101, 44, 34, 37, 35, 37,
+ 91, 40, 37,100, 43, 41, 37, 93, 37, 35, 34, 44,102,117,110,
+ 99,116,105,111,110, 32, 40,110, 41, 10, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,114,101,116,117,
+ 114,110, 32, 76, 91,116,111,110,117,109, 98,101,114, 40,110,
+ 41, 93, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32,101,110,100, 41, 10, 32, 45, 45, 32,114,101,115,116,
+ 111,114,101, 32,101,109, 98,101,100,100,101,100, 32, 67, 32,
+ 99,111,100,101, 10, 32,115,101,108,102, 46, 99,111,100,101,
+ 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46, 99,111,
+ 100,101, 44, 34, 37, 35, 37, 60, 40, 37,100, 43, 41, 37, 62,
+ 37, 35, 34, 44,102,117,110, 99,116,105,111,110, 32, 40,110,
+ 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32,114,101,116,117,114,110, 32, 67, 91,116,111,110,117,
+ 109, 98,101,114, 40,110, 41, 93, 10, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 32, 45,
+ 45, 32,114,101,115,116,111,114,101, 32,118,101,114, 98, 97,
+ 116,105,109, 32,108,105,110,101,115, 10, 32,115,101,108,102,
+ 46, 99,111,100,101, 32, 61, 32,103,115,117, 98, 40,115,101,
+ 108,102, 46, 99,111,100,101, 44, 34, 37, 35, 40, 37,100, 43,
+ 41, 37, 35, 34, 44,102,117,110, 99,116,105,111,110, 32, 40,
+ 110, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,114,
+ 101,116,117,114,110, 32, 86, 91,116,111,110,117,109, 98,101,
+ 114, 40,110, 41, 93, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32,101,110,100, 41, 10, 10, 32,115,101,108,102, 46, 99,111,
+ 100,101, 32, 61, 32,115,116,114,105,110,103, 46,103,115,117,
+ 98, 40,115,101,108,102, 46, 99,111,100,101, 44, 32, 34, 92,
+ 110, 37,115, 42, 37, 36, 40, 91, 94, 92,110, 93, 43, 41, 34,
+ 44, 32,102,117,110, 99,116,105,111,110, 32, 40,108, 41, 10,
+ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 86,101,114, 98,
+ 97,116,105,109, 40,108, 46, 46, 34, 92,110, 34, 41, 10, 9,
+ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,114,101,116,117,114,
+ 110, 32, 34, 92,110, 34, 10, 9, 9, 9, 9, 9, 9, 9, 9,
+ 9, 9, 32, 32,101,110,100, 41, 10,101,110,100, 10, 10, 45,
+ 45, 32,116,114, 97,110,115,108, 97,116,101, 32,118,101,114,
+ 98, 97,116,105,109, 10,102,117,110, 99,116,105,111,110, 32,
+ 99,108, 97,115,115, 80, 97, 99,107, 97,103,101, 58,112,114,
+ 101, 97,109, 98,108,101, 32, 40, 41, 10, 32,111,117,116,112,
+ 117,116, 40, 39, 47, 42, 92,110, 39, 41, 10, 32,111,117,116,
+ 112,117,116, 40, 39, 42, 42, 32, 76,117, 97, 32, 98,105,110,
+ 100,105,110,103, 58, 32, 39, 46, 46,115,101,108,102, 46,110,
+ 97,109,101, 46, 46, 39, 92,110, 39, 41, 10, 32,111,117,116,
+ 112,117,116, 40, 39, 42, 42, 32, 71,101,110,101,114, 97,116,
+ 101,100, 32, 97,117,116,111,109, 97,116,105, 99, 97,108,108,
+ 121, 32, 98,121, 32, 39, 46, 46, 84, 79, 76, 85, 65, 95, 86,
+ 69, 82, 83, 73, 79, 78, 46, 46, 39, 32,111,110, 32, 39, 46,
+ 46,100, 97,116,101, 40, 41, 46, 46, 39, 46, 92,110, 39, 41,
+ 10, 32,111,117,116,112,117,116, 40, 39, 42, 47, 92,110, 92,
+ 110, 39, 41, 10, 10, 9,111,117,116,112,117,116, 40, 39, 35,
+ 105,102,110,100,101,102, 32, 95, 95, 99,112,108,117,115,112,
+ 108,117,115, 92,110, 39, 41, 10, 9,111,117,116,112,117,116,
+ 40, 39, 35,105,110, 99,108,117,100,101, 32, 34,115,116,100,
+ 108,105, 98, 46,104, 34, 92,110, 39, 41, 10, 9,111,117,116,
+ 112,117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41,
+ 10, 9,111,117,116,112,117,116, 40, 39, 35,105,110, 99,108,
+ 117,100,101, 32, 34,115,116,114,105,110,103, 46,104, 34, 92,
+ 110, 92,110, 39, 41, 10, 32,111,117,116,112,117,116, 40, 39,
+ 35,105,110, 99,108,117,100,101, 32, 34,116,111,108,117, 97,
+ 43, 43, 46,104, 34, 92,110, 92,110, 39, 41, 10, 10, 32,105,
+ 102, 32,110,111,116, 32,102,108, 97,103,115, 46,104, 32,116,
+ 104,101,110, 10, 32, 32,111,117,116,112,117,116, 40, 39, 47,
+ 42, 32, 69,120,112,111,114,116,101,100, 32,102,117,110, 99,
+ 116,105,111,110, 32, 42, 47, 39, 41, 10, 32, 32,111,117,116,
+ 112,117,116, 40, 39, 84, 79, 76, 85, 65, 95, 65, 80, 73, 32,
+ 105,110,116, 32, 32,116,111,108,117, 97, 95, 39, 46, 46,115,
+ 101,108,102, 46,110, 97,109,101, 46, 46, 39, 95,111,112,101,
+ 110, 32, 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32,116,
+ 111,108,117, 97, 95, 83, 41, 59, 39, 41, 10, 32, 32,111,117,
+ 116,112,117,116, 40, 39, 92,110, 39, 41, 10, 32,101,110,100,
+ 10, 10, 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32,119,
+ 104,105,108,101, 32,115,101,108,102, 91,105, 93, 32,100,111,
+ 10, 32, 32,115,101,108,102, 91,105, 93, 58,112,114,101, 97,
+ 109, 98,108,101, 40, 41, 10, 32, 32,105, 32, 61, 32,105, 43,
+ 49, 10, 32,101,110,100, 10, 10, 9,105,102, 32,115,101,108,
+ 102, 58,114,101,113,117,105,114,101, 99,111,108,108,101, 99,
+ 116,105,111,110, 40, 95, 99,111,108,108,101, 99,116, 41, 32,
+ 116,104,101,110, 10, 9, 9,111,117,116,112,117,116, 40, 39,
+ 92,110, 39, 41, 10, 9, 9,111,117,116,112,117,116, 40, 39,
+ 47, 42, 32,102,117,110, 99,116,105,111,110, 32,116,111, 32,
+ 114,101,108,101, 97,115,101, 32, 99,111,108,108,101, 99,116,
+ 101,100, 32,111, 98,106,101, 99,116, 32,118,105, 97, 32,100,
+ 101,115,116,114,117, 99,116,111,114, 32, 42, 47, 39, 41, 10,
+ 9, 9,111,117,116,112,117,116, 40, 39, 35,105,102,100,101,
+ 102, 32, 95, 95, 99,112,108,117,115,112,108,117,115, 92,110,
+ 39, 41, 10, 9, 9,102,111,114, 32,105, 44,118, 32,105,110,
+ 32,112, 97,105,114,115, 40, 95, 99,111,108,108,101, 99,116,
+ 41, 32,100,111, 10, 9, 9, 32,111,117,116,112,117,116, 40,
+ 39, 92,110,115,116, 97,116,105, 99, 32,105,110,116, 32, 39,
+ 46, 46,118, 46, 46, 39, 32, 40,108,117, 97, 95, 83,116, 97,
+ 116,101, 42, 32,116,111,108,117, 97, 95, 83, 41, 39, 41, 10,
+ 9, 9, 9,111,117,116,112,117,116, 40, 39,123, 39, 41, 10,
+ 9, 9, 9,111,117,116,112,117,116, 40, 39, 32, 39, 46, 46,
+ 105, 46, 46, 39, 42, 32,115,101,108,102, 32, 61, 32, 40, 39,
+ 46, 46,105, 46, 46, 39, 42, 41, 32,116,111,108,117, 97, 95,
+ 116,111,117,115,101,114,116,121,112,101, 40,116,111,108,117,
+ 97, 95, 83, 44, 49, 44, 48, 41, 59, 39, 41, 10, 9, 9, 9,
+ 111,117,116,112,117,116, 40, 39, 9, 77,116,111,108,117, 97,
+ 95,100,101,108,101,116,101, 40,115,101,108,102, 41, 59, 39,
+ 41, 10, 9, 9, 9,111,117,116,112,117,116, 40, 39, 9,114,
+ 101,116,117,114,110, 32, 48, 59, 39, 41, 10, 9, 9, 9,111,
+ 117,116,112,117,116, 40, 39,125, 39, 41, 10, 9, 9,101,110,
+ 100, 10, 9, 9,111,117,116,112,117,116, 40, 39, 35,101,110,
+ 100,105,102, 92,110, 92,110, 39, 41, 10, 9,101,110,100, 10,
+ 10, 32,111,117,116,112,117,116, 40, 39, 92,110, 39, 41, 10,
+ 32,111,117,116,112,117,116, 40, 39, 47, 42, 32,102,117,110,
+ 99,116,105,111,110, 32,116,111, 32,114,101,103,105,115,116,
+ 101,114, 32,116,121,112,101, 32, 42, 47, 39, 41, 10, 32,111,
+ 117,116,112,117,116, 40, 39,115,116, 97,116,105, 99, 32,118,
+ 111,105,100, 32,116,111,108,117, 97, 95,114,101,103, 95,116,
+ 121,112,101,115, 32, 40,108,117, 97, 95, 83,116, 97,116,101,
+ 42, 32,116,111,108,117, 97, 95, 83, 41, 39, 41, 10, 32,111,
+ 117,116,112,117,116, 40, 39,123, 39, 41, 10, 10, 9,105,102,
+ 32,102,108, 97,103,115, 46,116, 32,116,104,101,110, 10, 9,
+ 9,111,117,116,112,117,116, 40, 34, 35,105,102,110,100,101,
+ 102, 32, 77,116,111,108,117, 97, 95,116,121,112,101,105,100,
+ 92,110, 35,100,101,102,105,110,101, 32, 77,116,111,108,117,
+ 97, 95,116,121,112,101,105,100, 40, 76, 44, 84, 73, 44, 84,
+ 41, 92,110, 35,101,110,100,105,102, 92,110, 34, 41, 10, 9,
+ 101,110,100, 10, 9,102,111,114,101, 97, 99,104, 40, 95,117,
+ 115,101,114,116,121,112,101, 44,102,117,110, 99,116,105,111,
+ 110, 40,110, 44,118, 41, 10, 9, 9,105,102, 32, 40,110,111,
+ 116, 32, 95,103,108,111, 98, 97,108, 95, 99,108, 97,115,115,
+ 101,115, 91,118, 93, 41, 32,111,114, 32, 95,103,108,111, 98,
+ 97,108, 95, 99,108, 97,115,115,101,115, 91,118, 93, 58, 99,
+ 104,101, 99,107, 95,112,117, 98,108,105, 99, 95, 97, 99, 99,
+ 101,115,115, 40, 41, 32,116,104,101,110, 10, 9, 9, 9,111,
+ 117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,117,
+ 115,101,114,116,121,112,101, 40,116,111,108,117, 97, 95, 83,
+ 44, 34, 39, 44,118, 44, 39, 34, 41, 59, 39, 41, 10, 9, 9,
+ 9,105,102, 32,102,108, 97,103,115, 46,116, 32,116,104,101,
+ 110, 10, 9, 9, 9, 9,111,117,116,112,117,116, 40, 39, 32,
+ 77,116,111,108,117, 97, 95,116,121,112,101,105,100, 40,116,
+ 111,108,117, 97, 95, 83, 44,116,121,112,101,105,100, 40, 39,
+ 44,118, 44, 39, 41, 44, 32, 34, 39, 44,118, 44, 39, 34, 41,
+ 59, 39, 41, 10, 9, 9, 9,101,110,100, 10, 9, 9,101,110,
+ 100, 10, 9, 32,101,110,100, 41, 10, 32,111,117,116,112,117,
+ 116, 40, 39,125, 39, 41, 10, 32,111,117,116,112,117,116, 40,
+ 39, 92,110, 39, 41, 10,101,110,100, 10, 10, 45, 45, 32,114,
+ 101,103,105,115,116,101,114, 32,112, 97, 99,107, 97,103,101,
+ 10, 45, 45, 32,119,114,105,116,101, 32,112, 97, 99,107, 97,
+ 103,101, 32,111,112,101,110, 32,102,117,110, 99,116,105,111,
+ 110, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,
+ 115, 80, 97, 99,107, 97,103,101, 58,114,101,103,105,115,116,
+ 101,114, 32, 40,112,114,101, 41, 10, 32,112,114,101, 32, 61,
+ 32,112,114,101, 32,111,114, 32, 39, 39, 10, 32,112,117,115,
+ 104, 40,115,101,108,102, 41, 10, 32,111,117,116,112,117,116,
+ 40,112,114,101, 46, 46, 34, 47, 42, 32, 79,112,101,110, 32,
+ 102,117,110, 99,116,105,111,110, 32, 42, 47, 34, 41, 10, 32,
+ 111,117,116,112,117,116, 40,112,114,101, 46, 46, 34, 84, 79,
+ 76, 85, 65, 95, 65, 80, 73, 32,105,110,116, 32,116,111,108,
+ 117, 97, 95, 34, 46, 46,115,101,108,102, 46,110, 97,109,101,
+ 46, 46, 34, 95,111,112,101,110, 32, 40,108,117, 97, 95, 83,
+ 116, 97,116,101, 42, 32,116,111,108,117, 97, 95, 83, 41, 34,
+ 41, 10, 32,111,117,116,112,117,116, 40,112,114,101, 46, 46,
+ 34,123, 34, 41, 10, 32,111,117,116,112,117,116, 40,112,114,
+ 101, 46, 46, 34, 32,116,111,108,117, 97, 95,111,112,101,110,
+ 40,116,111,108,117, 97, 95, 83, 41, 59, 34, 41, 10, 32,111,
+ 117,116,112,117,116, 40,112,114,101, 46, 46, 34, 32,116,111,
+ 108,117, 97, 95,114,101,103, 95,116,121,112,101,115, 40,116,
+ 111,108,117, 97, 95, 83, 41, 59, 34, 41, 10, 32,111,117,116,
+ 112,117,116, 40,112,114,101, 46, 46, 34, 32,116,111,108,117,
+ 97, 95,109,111,100,117,108,101, 40,116,111,108,117, 97, 95,
+ 83, 44, 78, 85, 76, 76, 44, 34, 44,115,101,108,102, 58,104,
+ 97,115,118, 97,114, 40, 41, 44, 34, 41, 59, 34, 41, 10, 32,
+ 111,117,116,112,117,116, 40,112,114,101, 46, 46, 34, 32,116,
+ 111,108,117, 97, 95, 98,101,103,105,110,109,111,100,117,108,
+ 101, 40,116,111,108,117, 97, 95, 83, 44, 78, 85, 76, 76, 41,
+ 59, 34, 41, 10, 32,108,111, 99, 97,108, 32,105, 61, 49, 10,
+ 32,119,104,105,108,101, 32,115,101,108,102, 91,105, 93, 32,
+ 100,111, 10, 32, 32,115,101,108,102, 91,105, 93, 58,114,101,
+ 103,105,115,116,101,114, 40,112,114,101, 46, 46, 34, 32, 32,
+ 34, 41, 10, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32,101,
+ 110,100, 10, 32,111,117,116,112,117,116, 40,112,114,101, 46,
+ 46, 34, 32,116,111,108,117, 97, 95,101,110,100,109,111,100,
+ 117,108,101, 40,116,111,108,117, 97, 95, 83, 41, 59, 34, 41,
+ 10, 32,111,117,116,112,117,116, 40,112,114,101, 46, 46, 34,
+ 32,114,101,116,117,114,110, 32, 49, 59, 34, 41, 10, 32,111,
+ 117,116,112,117,116, 40,112,114,101, 46, 46, 34,125, 34, 41,
+ 10, 10, 32,111,117,116,112,117,116, 40, 34, 92,110, 92,110,
+ 34, 41, 10, 32,111,117,116,112,117,116, 40, 34, 35,105,102,
+ 32,100,101,102,105,110,101,100, 40, 76, 85, 65, 95, 86, 69,
+ 82, 83, 73, 79, 78, 95, 78, 85, 77, 41, 32, 38, 38, 32, 76,
+ 85, 65, 95, 86, 69, 82, 83, 73, 79, 78, 95, 78, 85, 77, 32,
+ 62, 61, 32, 53, 48, 49, 92,110, 34, 41, 59, 10, 32,111,117,
+ 116,112,117,116, 40,112,114,101, 46, 46, 34, 84, 79, 76, 85,
+ 65, 95, 65, 80, 73, 32,105,110,116, 32,108,117, 97,111,112,
+ 101,110, 95, 34, 46, 46,115,101,108,102, 46,110, 97,109,101,
+ 46, 46, 34, 32, 40,108,117, 97, 95, 83,116, 97,116,101, 42,
+ 32,116,111,108,117, 97, 95, 83, 41, 32,123, 34, 41, 10, 32,
+ 111,117,116,112,117,116, 40,112,114,101, 46, 46, 34, 32,114,
+ 101,116,117,114,110, 32,116,111,108,117, 97, 95, 34, 46, 46,
+ 115,101,108,102, 46,110, 97,109,101, 46, 46, 34, 95,111,112,
+ 101,110, 40,116,111,108,117, 97, 95, 83, 41, 59, 34, 41, 10,
+ 32,111,117,116,112,117,116, 40,112,114,101, 46, 46, 34,125,
+ 59, 34, 41, 10, 32,111,117,116,112,117,116, 40, 34, 35,101,
+ 110,100,105,102, 92,110, 92,110, 34, 41, 10, 10, 9,112,111,
+ 112, 40, 41, 10,101,110,100, 10, 10, 45, 45, 32,119,114,105,
+ 116,101, 32,104,101, 97,100,101,114, 32,102,105,108,101, 10,
+ 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 80,
+ 97, 99,107, 97,103,101, 58,104,101, 97,100,101,114, 32, 40,
+ 41, 10, 32,111,117,116,112,117,116, 40, 39, 47, 42, 92,110,
+ 39, 41, 32,111,117,116,112,117,116, 40, 39, 42, 42, 32, 76,
+ 117, 97, 32, 98,105,110,100,105,110,103, 58, 32, 39, 46, 46,
+ 115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 92,110, 39,
+ 41, 10, 32,111,117,116,112,117,116, 40, 39, 42, 42, 32, 71,
+ 101,110,101,114, 97,116,101,100, 32, 97,117,116,111,109, 97,
+ 116,105, 99, 97,108,108,121, 32, 98,121, 32, 39, 46, 46, 84,
+ 79, 76, 85, 65, 95, 86, 69, 82, 83, 73, 79, 78, 46, 46, 39,
+ 32,111,110, 32, 39, 46, 46,100, 97,116,101, 40, 41, 46, 46,
+ 39, 46, 92,110, 39, 41, 10, 32,111,117,116,112,117,116, 40,
+ 39, 42, 47, 92,110, 92,110, 39, 41, 10, 10, 32,105,102, 32,
+ 110,111,116, 32,102,108, 97,103,115, 46,104, 32,116,104,101,
+ 110, 10, 32, 32,111,117,116,112,117,116, 40, 39, 47, 42, 32,
+ 69,120,112,111,114,116,101,100, 32,102,117,110, 99,116,105,
+ 111,110, 32, 42, 47, 39, 41, 10, 32, 32,111,117,116,112,117,
+ 116, 40, 39, 84, 79, 76, 85, 65, 95, 65, 80, 73, 32,105,110,
+ 116, 32, 32,116,111,108,117, 97, 95, 39, 46, 46,115,101,108,
+ 102, 46,110, 97,109,101, 46, 46, 39, 95,111,112,101,110, 32,
+ 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32,116,111,108,
+ 117, 97, 95, 83, 41, 59, 39, 41, 10, 32, 32,111,117,116,112,
+ 117,116, 40, 39, 92,110, 39, 41, 10, 32,101,110,100, 10,101,
+ 110,100, 10, 10, 45, 45, 32, 73,110,116,101,114,110, 97,108,
+ 32, 99,111,110,115,116,114,117, 99,116,111,114, 10,102,117,
+ 110, 99,116,105,111,110, 32, 95, 80, 97, 99,107, 97,103,101,
+ 32, 40,115,101,108,102, 41, 10, 32,115,101,116,109,101,116,
+ 97,116, 97, 98,108,101, 40,115,101,108,102, 44, 99,108, 97,
+ 115,115, 80, 97, 99,107, 97,103,101, 41, 10, 32,114,101,116,
+ 117,114,110, 32,115,101,108,102, 10,101,110,100, 10, 10, 45,
+ 45, 32, 80, 97,114,115,101, 32, 67, 32,104,101, 97,100,101,
+ 114, 32,102,105,108,101, 32,119,105,116,104, 32,116,111,108,
+ 117, 97, 32,100,105,114,101, 99,116,105,118,101,115, 10, 45,
+ 45, 32, 42, 42, 42, 32, 84,104, 97,110,107,115, 32,116,111,
+ 32, 65,114,105,101,108, 32, 77, 97,110,122,117,114, 32,102,
+ 111,114, 32,102,105,120,105,110,103, 32, 98,117,103,115, 32,
+ 105,110, 32,110,101,115,116,101,100, 32,100,105,114,101, 99,
+ 116,105,118,101,115, 32, 42, 42, 42, 10,102,117,110, 99,116,
+ 105,111,110, 32,101,120,116,114, 97, 99,116, 95, 99,111,100,
+ 101, 40,102,110, 44,115, 41, 10, 9,108,111, 99, 97,108, 32,
+ 99,111,100,101, 32, 61, 32, 39, 92,110, 36, 35,105,110, 99,
+ 108,117,100,101, 32, 34, 39, 46, 46,102,110, 46, 46, 39, 34,
+ 92,110, 39, 10, 9,115, 61, 32, 34, 92,110, 34, 32, 46, 46,
+ 32,115, 32, 46, 46, 32, 34, 92,110, 34, 32, 45, 45, 32, 97,
+ 100,100, 32, 98,108, 97,110,107, 32,108,105,110,101,115, 32,
+ 97,115, 32,115,101,110,116,105,110,101,108,115, 10, 9,108,
+ 111, 99, 97,108, 32, 95, 44,101, 44, 99, 44,116, 32, 61, 32,
+ 115,116,114,102,105,110,100, 40,115, 44, 32, 34, 92,110, 40,
+ 91, 94, 92,110, 93, 45, 41, 91, 84,116, 93, 91, 79,111, 93,
+ 91, 76,108, 93, 91, 85,117, 93, 91, 65, 97, 93, 95, 40, 91,
+ 94, 37,115, 93, 42, 41, 91, 94, 92,110, 93, 42, 92,110, 34,
+ 41, 10, 9,119,104,105,108,101, 32,101, 32,100,111, 10, 9,
+ 9,116, 32, 61, 32,115,116,114,108,111,119,101,114, 40,116,
+ 41, 10, 9, 9,105,102, 32,116, 32, 61, 61, 32, 34, 98,101,
+ 103,105,110, 34, 32,116,104,101,110, 10, 9, 9, 9, 95, 44,
+ 101, 44, 99, 32, 61, 32,115,116,114,102,105,110,100, 40,115,
+ 44, 34, 40, 46, 45, 41, 92,110, 91, 94, 92,110, 93, 42, 91,
+ 84,116, 93, 91, 79,111, 93, 91, 76,108, 93, 91, 85,117, 93,
+ 91, 65, 97, 93, 95, 91, 69,101, 93, 91, 78,110, 93, 91, 68,
+ 100, 93, 91, 94, 92,110, 93, 42, 92,110, 34, 44,101, 41, 10,
+ 9, 9, 9,105,102, 32,110,111,116, 32,101, 32,116,104,101,
+ 110, 10, 9, 9, 9, 32,116,111,108,117, 97, 95,101,114,114,
+ 111,114, 40, 34, 85,110, 98, 97,108, 97,110, 99,101,100, 32,
+ 39,116,111,108,117, 97, 95, 98,101,103,105,110, 39, 32,100,
+ 105,114,101, 99,116,105,118,101, 32,105,110, 32,104,101, 97,
+ 100,101,114, 32,102,105,108,101, 34, 41, 10, 9, 9, 9,101,
+ 110,100, 10, 9, 9,101,110,100, 10, 9, 9, 99,111,100,101,
+ 32, 61, 32, 99,111,100,101, 32, 46, 46, 32, 99, 32, 46, 46,
+ 32, 34, 92,110, 34, 10, 9, 32, 95, 44,101, 44, 99, 44,116,
+ 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 32, 34,
+ 92,110, 40, 91, 94, 92,110, 93, 45, 41, 91, 84,116, 93, 91,
+ 79,111, 93, 91, 76,108, 93, 91, 85,117, 93, 91, 65, 97, 93,
+ 95, 40, 91, 94, 37,115, 93, 42, 41, 91, 94, 92,110, 93, 42,
+ 92,110, 34, 44,101, 41, 10, 9,101,110,100, 10, 9,114,101,
+ 116,117,114,110, 32, 99,111,100,101, 10,101,110,100, 10, 10,
+ 45, 45, 32, 67,111,110,115,116,114,117, 99,116,111,114, 10,
+ 45, 45, 32, 69,120,112,101, 99,116,115, 32,116,104,101, 32,
+ 112, 97, 99,107, 97,103,101, 32,110, 97,109,101, 44, 32,116,
+ 104,101, 32,102,105,108,101, 32,101,120,116,101,110,115,105,
+ 111,110, 44, 32, 97,110,100, 32,116,104,101, 32,102,105,108,
+ 101, 32,116,101,120,116, 46, 10,102,117,110, 99,116,105,111,
+ 110, 32, 80, 97, 99,107, 97,103,101, 32, 40,110, 97,109,101,
+ 44,102,110, 41, 10, 32,108,111, 99, 97,108, 32,101,120,116,
+ 32, 61, 32, 34,112,107,103, 34, 10, 10, 32, 45, 45, 32,111,
+ 112,101,110, 32,105,110,112,117,116, 32,102,105,108,101, 44,
+ 32,105,102, 32, 97,110,121, 10, 32,108,111, 99, 97,108, 32,
+ 115,116, 44,109,115,103, 10, 32,105,102, 32,102,110, 32,116,
+ 104,101,110, 10, 32, 32,115,116, 44, 32,109,115,103, 32, 61,
+ 32,114,101, 97,100,102,114,111,109, 40,102,108, 97,103,115,
+ 46,102, 41, 10, 32, 32,105,102, 32,110,111,116, 32,115,116,
+ 32,116,104,101,110, 10, 32, 32, 32,101,114,114,111,114, 40,
+ 39, 35, 39, 46, 46,109,115,103, 41, 10, 32, 32,101,110,100,
+ 10, 32, 32,108,111, 99, 97,108, 32, 95, 59, 32, 95, 44, 32,
+ 95, 44, 32,101,120,116, 32, 61, 32,115,116,114,102,105,110,
+ 100, 40,102,110, 44, 34, 46, 42, 37, 46, 40, 46, 42, 41, 36,
+ 34, 41, 10, 32,101,110,100, 10, 32,108,111, 99, 97,108, 32,
+ 99,111,100,101, 10, 32,105,102, 32,101,120,116, 32, 61, 61,
+ 32, 39,112,107,103, 39, 32,116,104,101,110, 10, 32, 32, 99,
+ 111,100,101, 32, 61, 32,112,114,101,112, 40,115,116, 41, 10,
+ 32,101,108,115,101, 10, 32, 32, 99,111,100,101, 32, 61, 32,
+ 34, 92,110, 34, 32, 46, 46, 32,114,101, 97,100, 40, 39, 42,
+ 97, 39, 41, 10, 32, 32,105,102, 32,101,120,116, 32, 61, 61,
+ 32, 39,104, 39, 32,111,114, 32,101,120,116, 32, 61, 61, 32,
+ 39,104,112,112, 39, 32,116,104,101,110, 10, 32, 32, 32, 99,
+ 111,100,101, 32, 61, 32,101,120,116,114, 97, 99,116, 95, 99,
+ 111,100,101, 40,102,110, 44, 99,111,100,101, 41, 10, 32, 32,
+ 101,110,100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32, 99,
+ 108,111,115,101, 32,102,105,108,101, 10, 32,105,102, 32,102,
+ 110, 32,116,104,101,110, 10, 32, 32,114,101, 97,100,102,114,
+ 111,109, 40, 41, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32,
+ 100,101, 97,108, 32,119,105,116,104, 32,105,110, 99,108,117,
+ 100,101, 32,100,105,114,101, 99,116,105,118,101, 10, 32,108,
+ 111, 99, 97,108, 32,110,115,117, 98,115,116, 10, 32,114,101,
+ 112,101, 97,116, 10, 32, 32, 99,111,100,101, 44,110,115,117,
+ 98,115,116, 32, 61, 32,103,115,117, 98, 40, 99,111,100,101,
+ 44, 39, 92,110, 37,115, 42, 37, 36, 40, 46, 41,102,105,108,
+ 101, 37,115, 42, 34, 40, 46, 45, 41, 34, 40, 91, 94, 92,110,
+ 93, 42, 41, 92,110, 39, 44, 10, 9, 9,102,117,110, 99,116,
+ 105,111,110, 32, 40,107,105,110,100, 44,102,110, 44,101,120,
+ 116,114, 97, 41, 10, 9, 9, 9,108,111, 99, 97,108, 32, 95,
+ 44, 32, 95, 44, 32,101,120,116, 32, 61, 32,115,116,114,102,
+ 105,110,100, 40,102,110, 44, 34, 46, 42, 37, 46, 40, 46, 42,
+ 41, 36, 34, 41, 10, 9, 9, 9,108,111, 99, 97,108, 32,102,
+ 112, 44,109,115,103, 32, 61, 32,111,112,101,110,102,105,108,
+ 101, 40,102,110, 44, 39,114, 39, 41, 10, 9, 9, 9,105,102,
+ 32,110,111,116, 32,102,112, 32,116,104,101,110, 10, 9, 9,
+ 9, 9,101,114,114,111,114, 40, 39, 35, 39, 46, 46,109,115,
+ 103, 46, 46, 39, 58, 32, 39, 46, 46,102,110, 41, 10, 9, 9,
+ 9,101,110,100, 10, 9, 9, 9,105,102, 32,107,105,110,100,
+ 32, 61, 61, 32, 39,112, 39, 32,116,104,101,110, 10, 9, 9,
+ 9, 9,108,111, 99, 97,108, 32,115, 32, 61, 32,112,114,101,
+ 112, 40,102,112, 41, 10, 9, 9, 9, 9, 99,108,111,115,101,
+ 102,105,108,101, 40,102,112, 41, 10, 9, 9, 9, 9,114,101,
+ 116,117,114,110, 32,115, 10, 9, 9, 9,101,110,100, 10, 9,
+ 9, 9,108,111, 99, 97,108, 32,115, 32, 61, 32,114,101, 97,
+ 100, 40,102,112, 44, 39, 42, 97, 39, 41, 10, 9, 9, 9, 99,
+ 108,111,115,101,102,105,108,101, 40,102,112, 41, 10, 9, 9,
+ 9,105,102, 32,107,105,110,100, 32, 61, 61, 32, 39, 99, 39,
+ 32,111,114, 32,107,105,110,100, 32, 61, 61, 32, 39,104, 39,
+ 32,116,104,101,110, 10, 9, 9, 9, 9,114,101,116,117,114,
+ 110, 32,101,120,116,114, 97, 99,116, 95, 99,111,100,101, 40,
+ 102,110, 44,115, 41, 10, 9, 9, 9,101,108,115,101,105,102,
+ 32,107,105,110,100, 32, 61, 61, 32, 39,108, 39, 32,116,104,
+ 101,110, 10, 9, 9, 9, 9,114,101,116,117,114,110, 32, 34,
+ 92,110, 36, 91, 45, 45, 35, 35, 34, 46, 46,102,110, 46, 46,
+ 34, 92,110, 34, 32, 46, 46, 32,115, 32, 46, 46, 32, 34, 92,
+ 110, 36, 93, 92,110, 34, 10, 9, 9, 9,101,108,115,101,105,
+ 102, 32,107,105,110,100, 32, 61, 61, 32, 39,105, 39, 32,116,
+ 104,101,110, 10, 9, 9, 9, 9,108,111, 99, 97,108, 32,116,
+ 32, 61, 32,123, 99,111,100,101, 61,115,125, 10, 9, 9, 9,
+ 9,101,120,116,114, 97, 32, 61, 32,115,116,114,105,110,103,
+ 46,103,115,117, 98, 40,101,120,116,114, 97, 44, 32, 34, 94,
+ 37,115, 42, 44, 37,115, 42, 34, 44, 32, 34, 34, 41, 10, 9,
+ 9, 9, 9,108,111, 99, 97,108, 32,112, 97,114,115, 32, 61,
+ 32,115,112,108,105,116, 95, 99, 95,116,111,107,101,110,115,
+ 40,101,120,116,114, 97, 44, 32, 34, 44, 34, 41, 10, 9, 9,
+ 9, 9,105,110, 99,108,117,100,101, 95,102,105,108,101, 95,
+ 104,111,111,107, 40,116, 44, 32,102,110, 44, 32,117,110,112,
+ 97, 99,107, 40,112, 97,114,115, 41, 41, 10, 9, 9, 9, 9,
+ 114,101,116,117,114,110, 32, 34, 92,110, 92,110, 34, 32, 46,
+ 46, 32,116, 46, 99,111,100,101, 10, 9, 9, 9,101,108,115,
+ 101, 10, 9, 9, 9, 9,101,114,114,111,114, 40, 39, 35, 73,
+ 110,118, 97,108,105,100, 32,105,110, 99,108,117,100,101, 32,
+ 100,105,114,101, 99,116,105,118,101, 32, 40,117,115,101, 32,
+ 36, 99,102,105,108,101, 44, 32, 36,112,102,105,108,101, 44,
+ 32, 36,108,102,105,108,101, 32,111,114, 32, 36,105,102,105,
+ 108,101, 41, 39, 41, 10, 9, 9, 9,101,110,100, 10, 9, 9,
+ 101,110,100, 41, 10, 32,117,110,116,105,108, 32,110,115,117,
+ 98,115,116, 61, 61, 48, 10, 10, 32, 45, 45, 32,100,101, 97,
+ 108, 32,119,105,116,104, 32,114,101,110, 97,109,105,110,103,
+ 32,100,105,114,101, 99,116,105,118,101, 10, 32,114,101,112,
+ 101, 97,116, 32, 45, 45, 32, 73, 32,100,111,110, 39,116, 32,
+ 107,110,111,119, 32,119,104,121, 32,116,104,105,115, 32,105,
+ 115, 32,110,101, 99,101,115, 97,114,121, 10, 9, 99,111,100,
+ 101, 44,110,115,117, 98,115,116, 32, 61, 32,103,115,117, 98,
+ 40, 99,111,100,101, 44, 39, 92,110, 37,115, 42, 37, 36,114,
+ 101,110, 97,109,105,110,103, 37,115, 42, 40, 46, 45, 41, 37,
+ 115, 42, 92,110, 39, 44, 32,102,117,110, 99,116,105,111,110,
+ 32, 40,114, 41, 32, 97,112,112,101,110,100,114,101,110, 97,
+ 109,105,110,103, 40,114, 41, 32,114,101,116,117,114,110, 32,
+ 34, 92,110, 34, 32,101,110,100, 41, 10, 32,117,110,116,105,
+ 108, 32,110,115,117, 98,115,116, 32, 61, 61, 32, 48, 10, 10,
+ 32,108,111, 99, 97,108, 32,116, 32, 61, 32, 95, 80, 97, 99,
+ 107, 97,103,101, 40, 95, 67,111,110,116, 97,105,110,101,114,
+ 123,110, 97,109,101, 61,110, 97,109,101, 44, 32, 99,111,100,
+ 101, 61, 99,111,100,101,125, 41, 10, 32,112,117,115,104, 40,
+ 116, 41, 10, 32,112,114,101,112,114,111, 99,101,115,115, 95,
+ 104,111,111,107, 40,116, 41, 10, 32,116, 58,112,114,101,112,
+ 114,111, 99,101,115,115, 40, 41, 10, 32,112,114,101,112, 97,
+ 114,115,101, 95,104,111,111,107, 40,116, 41, 10, 32,116, 58,
+ 112, 97,114,115,101, 40,116, 46, 99,111,100,101, 41, 10, 32,
+ 112,111,112, 40, 41, 10, 32,114,101,116,117,114,110, 32,116,
+ 10,101,110,100, 10, 10, 10,115,101,116,109,101,116, 97,116,
+ 97, 98,108,101, 40, 95,101,120,116,114, 97, 95,112, 97,114,
+ 97,109,101,116,101,114,115, 44, 32,123, 32, 95, 95,105,110,
+ 100,101,120, 32, 61, 32, 95, 71, 32,125, 41, 10, 10,102,117,
+ 110, 99,116,105,111,110, 32,112,114,101,112, 40,102,105,108,
+ 101, 41, 10, 10, 32, 32,108,111, 99, 97,108, 32, 99,104,117,
+ 110,107, 32, 61, 32,123, 39,108,111, 99, 97,108, 32, 95, 95,
+ 114,101,116, 32, 61, 32,123, 34, 92, 92,110, 34,125, 92,110,
+ 39,125, 10, 32, 32,102,111,114, 32,108,105,110,101, 32,105,
+ 110, 32,102,105,108,101, 58,108,105,110,101,115, 40, 41, 32,
+ 100,111, 10, 32, 32, 32, 32, 32,105,102, 32,115,116,114,105,
+ 110,103, 46,102,105,110,100, 40,108,105,110,101, 44, 32, 34,
+ 94, 35, 35, 34, 41, 32,116,104,101,110, 10, 32, 32, 32, 32,
+ 32, 32,116, 97, 98,108,101, 46,105,110,115,101,114,116, 40,
+ 99,104,117,110,107, 44, 32,115,116,114,105,110,103, 46,115,
+ 117, 98, 40,108,105,110,101, 44, 32, 51, 41, 32, 46, 46, 32,
+ 34, 92,110, 34, 41, 10, 32, 32, 32, 32, 32,101,108,115,101,
+ 10, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,108, 97,
+ 115,116, 32, 61, 32, 49, 10, 32, 32, 32, 32, 32, 32,102,111,
+ 114, 32,116,101,120,116, 44, 32,101,120,112,114, 44, 32,105,
+ 110,100,101,120, 32,105,110, 32,115,116,114,105,110,103, 46,
+ 103,102,105,110,100, 40,108,105,110,101, 44, 32, 34, 40, 46,
+ 45, 41, 36, 40, 37, 98, 40, 41, 41, 40, 41, 34, 41, 32,100,
+ 111, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32,108, 97,115,116,
+ 32, 61, 32,105,110,100,101,120, 10, 32, 32, 32, 32, 32, 32,
+ 32, 32,105,102, 32,116,101,120,116, 32,126, 61, 32, 34, 34,
+ 32,116,104,101,110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32,116, 97, 98,108,101, 46,105,110,115,101,114,116, 40, 99,
+ 104,117,110,107, 44, 32,115,116,114,105,110,103, 46,102,111,
+ 114,109, 97,116, 40, 39,116, 97, 98,108,101, 46,105,110,115,
+ 101,114,116, 40, 95, 95,114,101,116, 44, 32, 37,113, 32, 41,
+ 39, 44, 32,116,101,120,116, 41, 41, 10, 32, 32, 32, 32, 32,
+ 32, 32, 32,101,110,100, 10, 32, 32, 32, 32, 32, 32, 32, 32,
+ 116, 97, 98,108,101, 46,105,110,115,101,114,116, 40, 99,104,
+ 117,110,107, 44, 32,115,116,114,105,110,103, 46,102,111,114,
+ 109, 97,116, 40, 39,116, 97, 98,108,101, 46,105,110,115,101,
+ 114,116, 40, 95, 95,114,101,116, 44, 32, 37,115, 32, 41, 39,
+ 44, 32,101,120,112,114, 41, 41, 10, 32, 32, 32, 32, 32, 32,
+ 101,110,100, 10, 32, 32, 32, 32, 32, 32,116, 97, 98,108,101,
+ 46,105,110,115,101,114,116, 40, 99,104,117,110,107, 44, 32,
+ 115,116,114,105,110,103, 46,102,111,114,109, 97,116, 40, 39,
+ 116, 97, 98,108,101, 46,105,110,115,101,114,116, 40, 95, 95,
+ 114,101,116, 44, 32, 37,113, 41, 92,110, 39, 44, 10, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32,115,116,114,105,110,103,
+ 46,115,117, 98, 40,108,105,110,101, 44, 32,108, 97,115,116,
+ 41, 46, 46, 34, 92,110, 34, 41, 41, 10, 32, 32, 32, 32,101,
+ 110,100, 10, 32, 32,101,110,100, 10, 32, 32,116, 97, 98,108,
+ 101, 46,105,110,115,101,114,116, 40, 99,104,117,110,107, 44,
+ 32, 39, 92,110,114,101,116,117,114,110, 32,116, 97, 98,108,
+ 101, 46, 99,111,110, 99, 97,116, 40, 95, 95,114,101,116, 41,
+ 92,110, 39, 41, 10, 32, 32,108,111, 99, 97,108, 32,102, 44,
+ 101, 32, 61, 32,108,111, 97,100,115,116,114,105,110,103, 40,
+ 116, 97, 98,108,101, 46, 99,111,110, 99, 97,116, 40, 99,104,
+ 117,110,107, 41, 41, 10, 32, 32,105,102, 32,101, 32,116,104,
+ 101,110, 10, 32, 32, 9,101,114,114,111,114, 40, 34, 35, 34,
+ 46, 46,101, 41, 10, 32, 32,101,110,100, 10, 32, 32,115,101,
+ 116,102,101,110,118, 40,102, 44, 32, 95,101,120,116,114, 97,
+ 95,112, 97,114, 97,109,101,116,101,114,115, 41, 10, 32, 32,
+ 114,101,116,117,114,110, 32,102, 40, 41, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: lua/tolua++/src/bin/lua/package.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32,109,111,100,117,108,
+ 101, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,105,116,
+ 116,101,110, 32, 98,121, 32, 87, 97,108,100,101,109, 97,114,
+ 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67, 71,114,
+ 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45, 32, 74,
+ 117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,100, 58,
+ 32, 36, 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,111,100,
+ 101, 32,105,115, 32,102,114,101,101, 32,115,111,102,116,119,
+ 97,114,101, 59, 32,121,111,117, 32, 99, 97,110, 32,114,101,
+ 100,105,115,116,114,105, 98,117,116,101, 32,105,116, 32, 97,
+ 110,100, 47,111,114, 32,109,111,100,105,102,121, 32,105,116,
+ 46, 10, 45, 45, 32, 84,104,101, 32,115,111,102,116,119, 97,
+ 114,101, 32,112,114,111,118,105,100,101,100, 32,104,101,114,
+ 101,117,110,100,101,114, 32,105,115, 32,111,110, 32, 97,110,
+ 32, 34, 97,115, 32,105,115, 34, 32, 98, 97,115,105,115, 44,
+ 32, 97,110,100, 10, 45, 45, 32,116,104,101, 32, 97,117,116,
+ 104,111,114, 32,104, 97,115, 32,110,111, 32,111, 98,108,105,
+ 103, 97,116,105,111,110, 32,116,111, 32,112,114,111,118,105,
+ 100,101, 32,109, 97,105,110,116,101,110, 97,110, 99,101, 44,
+ 32,115,117,112,112,111,114,116, 44, 32,117,112,100, 97,116,
+ 101,115, 44, 10, 45, 45, 32,101,110,104, 97,110, 99,101,109,
+ 101,110,116,115, 44, 32,111,114, 32,109,111,100,105,102,105,
+ 99, 97,116,105,111,110,115, 46, 10, 10, 10, 10, 45, 45, 32,
+ 77,111,100,117,108,101, 32, 99,108, 97,115,115, 10, 45, 45,
+ 32, 82,101,112,114,101,115,101,110,116,115, 32,109,111,100,
+ 117,108,101, 46, 10, 45, 45, 32, 84,104,101, 32,102,111,108,
+ 108,111,119,105,110,103, 32,102,105,101,108,100,115, 32, 97,
+ 114,101, 32,115,116,111,114,101,100, 58, 10, 45, 45, 32, 32,
+ 32, 32,123,105,125, 32, 61, 32,108,105,115,116, 32,111,102,
+ 32,111, 98,106,101, 99,116,115, 32,105,110, 32,116,104,101,
+ 32,109,111,100,117,108,101, 46, 10, 99,108, 97,115,115, 77,
+ 111,100,117,108,101, 32, 61, 32,123, 10, 32, 99,108, 97,115,
+ 115,116,121,112,101, 32, 61, 32, 39,109,111,100,117,108,101,
+ 39, 10,125, 10, 99,108, 97,115,115, 77,111,100,117,108,101,
+ 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,115,
+ 115, 77,111,100,117,108,101, 10,115,101,116,109,101,116, 97,
+ 116, 97, 98,108,101, 40, 99,108, 97,115,115, 77,111,100,117,
+ 108,101, 44, 99,108, 97,115,115, 67,111,110,116, 97,105,110,
+ 101,114, 41, 10, 10, 45, 45, 32,114,101,103,105,115,116,101,
+ 114, 32,109,111,100,117,108,101, 10,102,117,110, 99,116,105,
+ 111,110, 32, 99,108, 97,115,115, 77,111,100,117,108,101, 58,
+ 114,101,103,105,115,116,101,114, 32, 40,112,114,101, 41, 10,
+ 32,112,114,101, 32, 61, 32,112,114,101, 32,111,114, 32, 39,
+ 39, 10, 32,112,117,115,104, 40,115,101,108,102, 41, 10, 32,
+ 111,117,116,112,117,116, 40,112,114,101, 46, 46, 39,116,111,
+ 108,117, 97, 95,109,111,100,117,108,101, 40,116,111,108,117,
+ 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,110, 97,
+ 109,101, 46, 46, 39, 34, 44, 39, 44,115,101,108,102, 58,104,
+ 97,115,118, 97,114, 40, 41, 44, 39, 41, 59, 39, 41, 10, 32,
+ 111,117,116,112,117,116, 40,112,114,101, 46, 46, 39,116,111,
+ 108,117, 97, 95, 98,101,103,105,110,109,111,100,117,108,101,
+ 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,
+ 108,102, 46,110, 97,109,101, 46, 46, 39, 34, 41, 59, 39, 41,
+ 10, 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32,119,104,
+ 105,108,101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10,
+ 32, 32,115,101,108,102, 91,105, 93, 58,114,101,103,105,115,
+ 116,101,114, 40,112,114,101, 46, 46, 39, 32, 39, 41, 10, 32,
+ 32,105, 32, 61, 32,105, 43, 49, 10, 32,101,110,100, 10, 32,
+ 111,117,116,112,117,116, 40,112,114,101, 46, 46, 39,116,111,
+ 108,117, 97, 95,101,110,100,109,111,100,117,108,101, 40,116,
+ 111,108,117, 97, 95, 83, 41, 59, 39, 41, 10, 9,112,111,112,
+ 40, 41, 10,101,110,100, 10, 10, 45, 45, 32, 80,114,105,110,
+ 116, 32,109,101,116,104,111,100, 10,102,117,110, 99,116,105,
+ 111,110, 32, 99,108, 97,115,115, 77,111,100,117,108,101, 58,
+ 112,114,105,110,116, 32, 40,105,100,101,110,116, 44, 99,108,
+ 111,115,101, 41, 10, 32,112,114,105,110,116, 40,105,100,101,
+ 110,116, 46, 46, 34, 77,111,100,117,108,101,123, 34, 41, 10,
+ 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,
+ 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,
+ 102, 46,110, 97,109,101, 46, 46, 34, 39, 59, 34, 41, 10, 32,
+ 108,111, 99, 97,108, 32,105, 61, 49, 10, 32,119,104,105,108,
+ 101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10, 32, 32,
+ 115,101,108,102, 91,105, 93, 58,112,114,105,110,116, 40,105,
+ 100,101,110,116, 46, 46, 34, 32, 34, 44, 34, 44, 34, 41, 10,
+ 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32,101,110,100, 10,
+ 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,
+ 125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100, 10,
+ 10, 45, 45, 32, 73,110,116,101,114,110, 97,108, 32, 99,111,
+ 110,115,116,114,117, 99,116,111,114, 10,102,117,110, 99,116,
+ 105,111,110, 32, 95, 77,111,100,117,108,101, 32, 40,116, 41,
+ 10, 32,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40,
+ 116, 44, 99,108, 97,115,115, 77,111,100,117,108,101, 41, 10,
+ 32, 97,112,112,101,110,100, 40,116, 41, 10, 32,114,101,116,
+ 117,114,110, 32,116, 10,101,110,100, 10, 10, 45, 45, 32, 67,
+ 111,110,115,116,114,117, 99,116,111,114, 10, 45, 45, 32, 69,
+ 120,112,101, 99,116,115, 32,116,119,111, 32,115,116,114,105,
+ 110,103, 32,114,101,112,114,101,115,101,110,116,105,110,103,
+ 32,116,104,101, 32,109,111,100,117,108,101, 32,110, 97,109,
+ 101, 32, 97,110,100, 32, 98,111,100,121, 46, 10,102,117,110,
+ 99,116,105,111,110, 32, 77,111,100,117,108,101, 32, 40,110,
+ 44, 98, 41, 10, 32,108,111, 99, 97,108, 32,116, 32, 61, 32,
+ 95, 77,111,100,117,108,101, 40, 95, 67,111,110,116, 97,105,
+ 110,101,114,123,110, 97,109,101, 61,110,125, 41, 10, 32,112,
+ 117,115,104, 40,116, 41, 10, 32,116, 58,112, 97,114,115,101,
+ 40,115,116,114,115,117, 98, 40, 98, 44, 50, 44,115,116,114,
+ 108,101,110, 40, 98, 41, 45, 49, 41, 41, 32, 45, 45, 32,101,
+ 108,105,109,105,110, 97,116,101, 32, 98,114, 97, 99,101,115,
+ 10, 32,112,111,112, 40, 41, 10, 32,114,101,116,117,114,110,
+ 32,116, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: lua/tolua++/src/bin/lua/module.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32,110, 97,109,101,115,
+ 112, 97, 99,101, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,
+ 114,105,116,116,101,110, 32, 98,121, 32, 87, 97,108,100,101,
+ 109, 97,114, 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101,
+ 67, 71,114, 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45,
+ 45, 32, 74,117,108, 32, 50, 48, 48, 51, 10, 45, 45, 32, 36,
+ 73,100, 58, 32, 36, 10, 10, 45, 45, 32, 84,104,105,115, 32,
+ 99,111,100,101, 32,105,115, 32,102,114,101,101, 32,115,111,
+ 102,116,119, 97,114,101, 59, 32,121,111,117, 32, 99, 97,110,
+ 32,114,101,100,105,115,116,114,105, 98,117,116,101, 32,105,
+ 116, 32, 97,110,100, 47,111,114, 32,109,111,100,105,102,121,
+ 32,105,116, 46, 10, 45, 45, 32, 84,104,101, 32,115,111,102,
+ 116,119, 97,114,101, 32,112,114,111,118,105,100,101,100, 32,
+ 104,101,114,101,117,110,100,101,114, 32,105,115, 32,111,110,
+ 32, 97,110, 32, 34, 97,115, 32,105,115, 34, 32, 98, 97,115,
+ 105,115, 44, 32, 97,110,100, 10, 45, 45, 32,116,104,101, 32,
+ 97,117,116,104,111,114, 32,104, 97,115, 32,110,111, 32,111,
+ 98,108,105,103, 97,116,105,111,110, 32,116,111, 32,112,114,
+ 111,118,105,100,101, 32,109, 97,105,110,116,101,110, 97,110,
+ 99,101, 44, 32,115,117,112,112,111,114,116, 44, 32,117,112,
+ 100, 97,116,101,115, 44, 10, 45, 45, 32,101,110,104, 97,110,
+ 99,101,109,101,110,116,115, 44, 32,111,114, 32,109,111,100,
+ 105,102,105, 99, 97,116,105,111,110,115, 46, 10, 10, 10, 45,
+ 45, 32, 78, 97,109,101,115,112, 97, 99,101, 32, 99,108, 97,
+ 115,115, 10, 45, 45, 32, 82,101,112,114,101,115,101,110,116,
+ 115, 32, 97, 32,110, 97,109,101,115, 97,112, 99,101, 32,100,
+ 101,102,105,110,105,116,105,111,110, 46, 10, 45, 45, 32, 83,
+ 116,111,114,101,115, 32,116,104,101, 32,102,111,108,108,111,
+ 119,105,110,103, 32,102,105,101,108,100,115, 58, 10, 45, 45,
+ 32, 32, 32, 32,110, 97,109,101, 32, 61, 32, 99,108, 97,115,
+ 115, 32,110, 97,109,101, 10, 45, 45, 32, 32, 32, 32,123,105,
+ 125, 32, 32, 61, 32,108,105,115,116, 32,111,102, 32,109,101,
+ 109, 98,101,114,115, 10, 99,108, 97,115,115, 78, 97,109,101,
+ 115,112, 97, 99,101, 32, 61, 32,123, 10, 32, 99,108, 97,115,
+ 115,116,121,112,101, 32, 61, 32, 39,110, 97,109,101,115,112,
+ 97, 99,101, 39, 44, 10, 32,110, 97,109,101, 32, 61, 32, 39,
+ 39, 44, 10,125, 10, 99,108, 97,115,115, 78, 97,109,101,115,
+ 112, 97, 99,101, 46, 95, 95,105,110,100,101,120, 32, 61, 32,
+ 99,108, 97,115,115, 78, 97,109,101,115,112, 97, 99,101, 10,
+ 115,101,116,109,101,116, 97,116, 97, 98,108,101, 40, 99,108,
+ 97,115,115, 78, 97,109,101,115,112, 97, 99,101, 44, 99,108,
+ 97,115,115, 77,111,100,117,108,101, 41, 10, 10, 45, 45, 32,
+ 80,114,105,110,116, 32,109,101,116,104,111,100, 10,102,117,
+ 110, 99,116,105,111,110, 32, 99,108, 97,115,115, 78, 97,109,
+ 101,115,112, 97, 99,101, 58,112,114,105,110,116, 32, 40,105,
+ 100,101,110,116, 44, 99,108,111,115,101, 41, 10, 32,112,114,
+ 105,110,116, 40,105,100,101,110,116, 46, 46, 34, 78, 97,109,
+ 101,115,112, 97, 99,101,123, 34, 41, 10, 32,112,114,105,110,
+ 116, 40,105,100,101,110,116, 46, 46, 34, 32,110, 97,109,101,
+ 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,110, 97,109,
+ 101, 46, 46, 34, 39, 44, 34, 41, 10, 32,108,111, 99, 97,108,
+ 32,105, 61, 49, 10, 32,119,104,105,108,101, 32,115,101,108,
+ 102, 91,105, 93, 32,100,111, 10, 32, 32,115,101,108,102, 91,
+ 105, 93, 58,112,114,105,110,116, 40,105,100,101,110,116, 46,
+ 46, 34, 32, 34, 44, 34, 44, 34, 41, 10, 32, 32,105, 32, 61,
+ 32,105, 43, 49, 10, 32,101,110,100, 10, 32,112,114,105,110,
+ 116, 40,105,100,101,110,116, 46, 46, 34,125, 34, 46, 46, 99,
+ 108,111,115,101, 41, 10,101,110,100, 10, 10, 45, 45, 32, 73,
+ 110,116,101,114,110, 97,108, 32, 99,111,110,115,116,114,117,
+ 99,116,111,114, 10,102,117,110, 99,116,105,111,110, 32, 95,
+ 78, 97,109,101,115,112, 97, 99,101, 32, 40,116, 41, 10, 32,
+ 115,101,116,109,101,116, 97,116, 97, 98,108,101, 40,116, 44,
+ 99,108, 97,115,115, 78, 97,109,101,115,112, 97, 99,101, 41,
+ 10, 32, 97,112,112,101,110,100, 40,116, 41, 10, 32,114,101,
+ 116,117,114,110, 32,116, 10,101,110,100, 10, 10, 45, 45, 32,
+ 67,111,110,115,116,114,117, 99,116,111,114, 10, 45, 45, 32,
+ 69,120,112,101, 99,116,115, 32,116,104,101, 32,110, 97,109,
+ 101, 32, 97,110,100, 32,116,104,101, 32, 98,111,100,121, 32,
+ 111,102, 32,116,104,101, 32,110, 97,109,101,115,112, 97, 99,
+ 101, 46, 10,102,117,110, 99,116,105,111,110, 32, 78, 97,109,
+ 101,115,112, 97, 99,101, 32, 40,110, 44, 98, 41, 10, 32,108,
+ 111, 99, 97,108, 32, 99, 32, 61, 32, 95, 78, 97,109,101,115,
+ 112, 97, 99,101, 40, 95, 67,111,110,116, 97,105,110,101,114,
+ 123,110, 97,109,101, 61,110,125, 41, 10, 32,112,117,115,104,
+ 40, 99, 41, 10, 32, 99, 58,112, 97,114,115,101, 40,115,116,
+ 114,115,117, 98, 40, 98, 44, 50, 44,115,116,114,108,101,110,
+ 40, 98, 41, 45, 49, 41, 41, 32, 45, 45, 32,101,108,105,109,
+ 105,110, 97,116,101, 32, 98,114, 97, 99,101,115, 10, 32,112,
+ 111,112, 40, 41, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: lua/tolua++/src/bin/lua/namespace.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32,100,101,102,105,110,
+ 101, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,105,116,
+ 116,101,110, 32, 98,121, 32, 87, 97,108,100,101,109, 97,114,
+ 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67, 71,114,
+ 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45, 32, 74,
+ 117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,100, 58,
+ 32,100,101,102,105,110,101, 46,108,117, 97, 44,118, 32, 49,
+ 46, 50, 32, 49, 57, 57, 57, 47, 48, 55, 47, 50, 56, 32, 50,
+ 50, 58, 50, 49, 58, 48, 56, 32, 99,101,108,101,115, 32, 69,
+ 120,112, 32, 36, 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,
+ 111,100,101, 32,105,115, 32,102,114,101,101, 32,115,111,102,
+ 116,119, 97,114,101, 59, 32,121,111,117, 32, 99, 97,110, 32,
+ 114,101,100,105,115,116,114,105, 98,117,116,101, 32,105,116,
+ 32, 97,110,100, 47,111,114, 32,109,111,100,105,102,121, 32,
+ 105,116, 46, 10, 45, 45, 32, 84,104,101, 32,115,111,102,116,
+ 119, 97,114,101, 32,112,114,111,118,105,100,101,100, 32,104,
+ 101,114,101,117,110,100,101,114, 32,105,115, 32,111,110, 32,
+ 97,110, 32, 34, 97,115, 32,105,115, 34, 32, 98, 97,115,105,
+ 115, 44, 32, 97,110,100, 10, 45, 45, 32,116,104,101, 32, 97,
+ 117,116,104,111,114, 32,104, 97,115, 32,110,111, 32,111, 98,
+ 108,105,103, 97,116,105,111,110, 32,116,111, 32,112,114,111,
+ 118,105,100,101, 32,109, 97,105,110,116,101,110, 97,110, 99,
+ 101, 44, 32,115,117,112,112,111,114,116, 44, 32,117,112,100,
+ 97,116,101,115, 44, 10, 45, 45, 32,101,110,104, 97,110, 99,
+ 101,109,101,110,116,115, 44, 32,111,114, 32,109,111,100,105,
+ 102,105, 99, 97,116,105,111,110,115, 46, 10, 10, 10, 45, 45,
+ 32, 68,101,102,105,110,101, 32, 99,108, 97,115,115, 10, 45,
+ 45, 32, 82,101,112,114,101,115,101,110,116,115, 32, 97, 32,
+ 110,117,109,101,114,105, 99, 32, 99,111,110,115,116, 32,100,
+ 101,102,105,110,105,116,105,111,110, 10, 45, 45, 32, 84,104,
+ 101, 32,102,111,108,108,111,119,105,110,103, 32,102,105,108,
+ 100,115, 32, 97,114,101, 32,115,116,111,114,101,100, 58, 10,
+ 45, 45, 32, 32, 32,110, 97,109,101, 32, 61, 32, 99,111,110,
+ 115,116, 97,110,116, 32,110, 97,109,101, 10, 99,108, 97,115,
+ 115, 68,101,102,105,110,101, 32, 61, 32,123, 10, 32,110, 97,
+ 109,101, 32, 61, 32, 39, 39, 44, 10,125, 10, 99,108, 97,115,
+ 115, 68,101,102,105,110,101, 46, 95, 95,105,110,100,101,120,
+ 32, 61, 32, 99,108, 97,115,115, 68,101,102,105,110,101, 10,
+ 115,101,116,109,101,116, 97,116, 97, 98,108,101, 40, 99,108,
+ 97,115,115, 68,101,102,105,110,101, 44, 99,108, 97,115,115,
+ 70,101, 97,116,117,114,101, 41, 10, 10, 45, 45, 32,114,101,
+ 103,105,115,116,101,114, 32,100,101,102,105,110,101, 10,102,
+ 117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 68,101,
+ 102,105,110,101, 58,114,101,103,105,115,116,101,114, 32, 40,
+ 112,114,101, 41, 10, 9,105,102, 32,110,111,116, 32,115,101,
+ 108,102, 58, 99,104,101, 99,107, 95,112,117, 98,108,105, 99,
+ 95, 97, 99, 99,101,115,115, 40, 41, 32,116,104,101,110, 10,
+ 9, 9,114,101,116,117,114,110, 10, 9,101,110,100, 10, 10,
+ 32,112,114,101, 32, 61, 32,112,114,101, 32,111,114, 32, 39,
+ 39, 10, 32,111,117,116,112,117,116, 40,112,114,101, 46, 46,
+ 39,116,111,108,117, 97, 95, 99,111,110,115,116, 97,110,116,
+ 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,
+ 108,102, 46,108,110, 97,109,101, 46, 46, 39, 34, 44, 39, 46,
+ 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 41, 59,
+ 39, 41, 10,101,110,100, 10, 10, 45, 45, 32, 80,114,105,110,
+ 116, 32,109,101,116,104,111,100, 10,102,117,110, 99,116,105,
+ 111,110, 32, 99,108, 97,115,115, 68,101,102,105,110,101, 58,
+ 112,114,105,110,116, 32, 40,105,100,101,110,116, 44, 99,108,
+ 111,115,101, 41, 10, 32,112,114,105,110,116, 40,105,100,101,
+ 110,116, 46, 46, 34, 68,101,102,105,110,101,123, 34, 41, 10,
+ 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,
+ 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,
+ 102, 46,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10, 32,
+ 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,
+ 108,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,
+ 102, 46,108,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10,
+ 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,
+ 125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100, 10,
+ 10, 10, 45, 45, 32, 73,110,116,101,114,110, 97,108, 32, 99,
+ 111,110,115,116,114,117, 99,116,111,114, 10,102,117,110, 99,
+ 116,105,111,110, 32, 95, 68,101,102,105,110,101, 32, 40,116,
+ 41, 10, 32,115,101,116,109,101,116, 97,116, 97, 98,108,101,
+ 40,116, 44, 99,108, 97,115,115, 68,101,102,105,110,101, 41,
+ 10, 32,116, 58, 98,117,105,108,100,110, 97,109,101,115, 40,
+ 41, 10, 10, 32,105,102, 32,116, 46,110, 97,109,101, 32, 61,
+ 61, 32, 39, 39, 32,116,104,101,110, 10, 32, 32,101,114,114,
+ 111,114, 40, 34, 35,105,110,118, 97,108,105,100, 32,100,101,
+ 102,105,110,101, 34, 41, 10, 32,101,110,100, 10, 10, 32, 97,
+ 112,112,101,110,100, 40,116, 41, 10, 32,114,101,116,117,114,
+ 110, 32,116, 10,101,110,100, 10, 10, 45, 45, 32, 67,111,110,
+ 115,116,114,117, 99,116,111,114, 10, 45, 45, 32, 69,120,112,
+ 101, 99,116,115, 32, 97, 32,115,116,114,105,110,103, 32,114,
+ 101,112,114,101,115,101,110,116,105,110,103, 32,116,104,101,
+ 32, 99,111,110,115,116, 97,110,116, 32,110, 97,109,101, 10,
+ 102,117,110, 99,116,105,111,110, 32, 68,101,102,105,110,101,
+ 32, 40,110, 41, 10, 32,114,101,116,117,114,110, 32, 95, 68,
+ 101,102,105,110,101,123, 10, 32, 32,110, 97,109,101, 32, 61,
+ 32,110, 10, 32,125, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: lua/tolua++/src/bin/lua/define.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32,101,110,117,109,101,
+ 114, 97,116,101, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,
+ 114,105,116,116,101,110, 32, 98,121, 32, 87, 97,108,100,101,
+ 109, 97,114, 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101,
+ 67, 71,114, 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45,
+ 45, 32, 74,117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36,
+ 73,100, 58, 32,101,110,117,109,101,114, 97,116,101, 46,108,
+ 117, 97, 44,118, 32, 49, 46, 51, 32, 50, 48, 48, 48, 47, 48,
+ 49, 47, 50, 52, 32, 50, 48, 58, 52, 49, 58, 49, 53, 32, 99,
+ 101,108,101,115, 32, 69,120,112, 32, 36, 10, 10, 45, 45, 32,
+ 84,104,105,115, 32, 99,111,100,101, 32,105,115, 32,102,114,
+ 101,101, 32,115,111,102,116,119, 97,114,101, 59, 32,121,111,
+ 117, 32, 99, 97,110, 32,114,101,100,105,115,116,114,105, 98,
+ 117,116,101, 32,105,116, 32, 97,110,100, 47,111,114, 32,109,
+ 111,100,105,102,121, 32,105,116, 46, 10, 45, 45, 32, 84,104,
+ 101, 32,115,111,102,116,119, 97,114,101, 32,112,114,111,118,
+ 105,100,101,100, 32,104,101,114,101,117,110,100,101,114, 32,
+ 105,115, 32,111,110, 32, 97,110, 32, 34, 97,115, 32,105,115,
+ 34, 32, 98, 97,115,105,115, 44, 32, 97,110,100, 10, 45, 45,
+ 32,116,104,101, 32, 97,117,116,104,111,114, 32,104, 97,115,
+ 32,110,111, 32,111, 98,108,105,103, 97,116,105,111,110, 32,
+ 116,111, 32,112,114,111,118,105,100,101, 32,109, 97,105,110,
+ 116,101,110, 97,110, 99,101, 44, 32,115,117,112,112,111,114,
+ 116, 44, 32,117,112,100, 97,116,101,115, 44, 10, 45, 45, 32,
+ 101,110,104, 97,110, 99,101,109,101,110,116,115, 44, 32,111,
+ 114, 32,109,111,100,105,102,105, 99, 97,116,105,111,110,115,
+ 46, 10, 10, 10, 45, 45, 32, 69,110,117,109,101,114, 97,116,
+ 101, 32, 99,108, 97,115,115, 10, 45, 45, 32, 82,101,112,114,
+ 101,115,101,110,116,115, 32,101,110,117,109,101,114, 97,116,
+ 105,111,110, 10, 45, 45, 32, 84,104,101, 32,102,111,108,108,
+ 111,119,105,110,103, 32,102,105,101,108,100,115, 32, 97,114,
+ 101, 32,115,116,111,114,101,100, 58, 10, 45, 45, 32, 32, 32,
+ 32,123,105,125, 32, 61, 32,108,105,115,116, 32,111,102, 32,
+ 99,111,110,115,116, 97,110,116, 32,110, 97,109,101,115, 10,
+ 99,108, 97,115,115, 69,110,117,109,101,114, 97,116,101, 32,
+ 61, 32,123, 10,125, 10, 99,108, 97,115,115, 69,110,117,109,
+ 101,114, 97,116,101, 46, 95, 95,105,110,100,101,120, 32, 61,
+ 32, 99,108, 97,115,115, 69,110,117,109,101,114, 97,116,101,
+ 10,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40, 99,
+ 108, 97,115,115, 69,110,117,109,101,114, 97,116,101, 44, 99,
+ 108, 97,115,115, 70,101, 97,116,117,114,101, 41, 10, 10, 45,
+ 45, 32,114,101,103,105,115,116,101,114, 32,101,110,117,109,
+ 101,114, 97,116,105,111,110, 10,102,117,110, 99,116,105,111,
+ 110, 32, 99,108, 97,115,115, 69,110,117,109,101,114, 97,116,
+ 101, 58,114,101,103,105,115,116,101,114, 32, 40,112,114,101,
+ 41, 10, 9,105,102, 32,110,111,116, 32,115,101,108,102, 58,
+ 99,104,101, 99,107, 95,112,117, 98,108,105, 99, 95, 97, 99,
+ 99,101,115,115, 40, 41, 32,116,104,101,110, 10, 9, 9,114,
+ 101,116,117,114,110, 10, 9,101,110,100, 10, 32,112,114,101,
+ 32, 61, 32,112,114,101, 32,111,114, 32, 39, 39, 10, 32,108,
+ 111, 99, 97,108, 32,110,115,112, 97, 99,101, 32, 61, 32,103,
+ 101,116,110, 97,109,101,115,112, 97, 99,101, 40, 99,108, 97,
+ 115,115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,
+ 114, 41, 10, 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32,
+ 119,104,105,108,101, 32,115,101,108,102, 91,105, 93, 32,100,
+ 111, 10, 32, 9,105,102, 32,115,101,108,102, 46,108,110, 97,
+ 109,101,115, 91,105, 93, 32, 97,110,100, 32,115,101,108,102,
+ 46,108,110, 97,109,101,115, 91,105, 93, 32,126, 61, 32, 34,
+ 34, 32,116,104,101,110, 10, 9, 10, 9, 9,111,117,116,112,
+ 117,116, 40,112,114,101, 46, 46, 39,116,111,108,117, 97, 95,
+ 99,111,110,115,116, 97,110,116, 40,116,111,108,117, 97, 95,
+ 83, 44, 34, 39, 46, 46,115,101,108,102, 46,108,110, 97,109,
+ 101,115, 91,105, 93, 46, 46, 39, 34, 44, 39, 46, 46,110,115,
+ 112, 97, 99,101, 46, 46,115,101,108,102, 91,105, 93, 46, 46,
+ 39, 41, 59, 39, 41, 10, 9,101,110,100, 10, 32, 32,105, 32,
+ 61, 32,105, 43, 49, 10, 32,101,110,100, 10,101,110,100, 10,
+ 10, 45, 45, 32, 80,114,105,110,116, 32,109,101,116,104,111,
+ 100, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,
+ 115, 69,110,117,109,101,114, 97,116,101, 58,112,114,105,110,
+ 116, 32, 40,105,100,101,110,116, 44, 99,108,111,115,101, 41,
+ 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46,
+ 34, 69,110,117,109,101,114, 97,116,101,123, 34, 41, 10, 32,
+ 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,
+ 110, 97,109,101, 32, 61, 32, 34, 46, 46,115,101,108,102, 46,
+ 110, 97,109,101, 41, 10, 32,108,111, 99, 97,108, 32,105, 61,
+ 49, 10, 32,119,104,105,108,101, 32,115,101,108,102, 91,105,
+ 93, 32,100,111, 10, 32, 32,112,114,105,110,116, 40,105,100,
+ 101,110,116, 46, 46, 34, 32, 39, 34, 46, 46,115,101,108,102,
+ 91,105, 93, 46, 46, 34, 39, 40, 34, 46, 46,115,101,108,102,
+ 46,108,110, 97,109,101,115, 91,105, 93, 46, 46, 34, 41, 44,
+ 34, 41, 10, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32,101,
+ 110,100, 10, 32,112,114,105,110,116, 40,105,100,101,110,116,
+ 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,
+ 110,100, 10, 10, 45, 45, 32, 73,110,116,101,114,110, 97,108,
+ 32, 99,111,110,115,116,114,117, 99,116,111,114, 10,102,117,
+ 110, 99,116,105,111,110, 32, 95, 69,110,117,109,101,114, 97,
+ 116,101, 32, 40,116, 44,118, 97,114,110, 97,109,101, 41, 10,
+ 32,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40,116,
+ 44, 99,108, 97,115,115, 69,110,117,109,101,114, 97,116,101,
+ 41, 10, 32, 97,112,112,101,110,100, 40,116, 41, 10, 32, 97,
+ 112,112,101,110,100,101,110,117,109, 40,116, 41, 10, 9, 32,
+ 105,102, 32,118, 97,114,110, 97,109,101, 32, 97,110,100, 32,
+ 118, 97,114,110, 97,109,101, 32,126, 61, 32, 34, 34, 32,116,
+ 104,101,110, 10, 9, 9,105,102, 32,116, 46,110, 97,109,101,
+ 32,126, 61, 32, 34, 34, 32,116,104,101,110, 10, 9, 9, 9,
+ 86, 97,114,105, 97, 98,108,101, 40,116, 46,110, 97,109,101,
+ 46, 46, 34, 32, 34, 46, 46,118, 97,114,110, 97,109,101, 41,
+ 10, 9, 9,101,108,115,101, 10, 9, 9, 9,108,111, 99, 97,
+ 108, 32,110,115, 32, 61, 32,103,101,116, 99,117,114,114,110,
+ 97,109,101,115,112, 97, 99,101, 40, 41, 10, 9, 9, 9,119,
+ 97,114,110,105,110,103, 40, 34, 86, 97,114,105, 97, 98,108,
+ 101, 32, 34, 46, 46,110,115, 46, 46,118, 97,114,110, 97,109,
+ 101, 46, 46, 34, 32,111,102, 32,116,121,112,101, 32, 60, 97,
+ 110,111,110,121,109,111,117,115, 32,101,110,117,109, 62, 32,
+ 105,115, 32,100,101, 99,108, 97,114,101,100, 32, 97,115, 32,
+ 114,101, 97,100, 45,111,110,108,121, 34, 41, 10, 9, 9, 9,
+ 86, 97,114,105, 97, 98,108,101, 40, 34,116,111,108,117, 97,
+ 95,114,101, 97,100,111,110,108,121, 32,105,110,116, 32, 34,
+ 46, 46,118, 97,114,110, 97,109,101, 41, 10, 9, 9,101,110,
+ 100, 10, 9,101,110,100, 10, 9, 32,108,111, 99, 97,108, 32,
+ 112, 97,114,101,110,116, 32, 61, 32, 99,108, 97,115,115, 67,
+ 111,110,116, 97,105,110,101,114, 46, 99,117,114,114, 10, 9,
+ 32,105,102, 32,112, 97,114,101,110,116, 32,116,104,101,110,
+ 10, 9, 9,116, 46, 97, 99, 99,101,115,115, 32, 61, 32,112,
+ 97,114,101,110,116, 46, 99,117,114,114, 95,109,101,109, 98,
+ 101,114, 95, 97, 99, 99,101,115,115, 10, 9, 9,116, 46,103,
+ 108,111, 98, 97,108, 95, 97, 99, 99,101,115,115, 32, 61, 32,
+ 116, 58, 99,104,101, 99,107, 95,112,117, 98,108,105, 99, 95,
+ 97, 99, 99,101,115,115, 40, 41, 10, 9, 32,101,110,100, 10,
+ 114,101,116,117,114,110, 32,116, 10,101,110,100, 10, 10, 45,
+ 45, 32, 67,111,110,115,116,114,117, 99,116,111,114, 10, 45,
+ 45, 32, 69,120,112,101, 99,116,115, 32, 97, 32,115,116,114,
+ 105,110,103, 32,114,101,112,114,101,115,101,110,116,105,110,
+ 103, 32,116,104,101, 32,101,110,117,109,101,114, 97,116,101,
+ 32, 98,111,100,121, 10,102,117,110, 99,116,105,111,110, 32,
+ 69,110,117,109,101,114, 97,116,101, 32, 40,110, 44, 98, 44,
+ 118, 97,114,110, 97,109,101, 41, 10, 9, 98, 32, 61, 32,115,
+ 116,114,105,110,103, 46,103,115,117, 98, 40, 98, 44, 32, 34,
+ 44, 91, 37,115, 92,110, 93, 42,125, 34, 44, 32, 34, 92,110,
+ 125, 34, 41, 32, 45, 45, 32,101,108,105,109,105,110, 97,116,
+ 101, 32,108, 97,115,116, 32, 39, 44, 39, 10, 32,108,111, 99,
+ 97,108, 32,116, 32, 61, 32,115,112,108,105,116, 40,115,116,
+ 114,115,117, 98, 40, 98, 44, 50, 44, 45, 50, 41, 44, 39, 44,
+ 39, 41, 32, 45, 45, 32,101,108,105,109,105,110, 97,116,101,
+ 32, 98,114, 97, 99,101,115, 10, 32,108,111, 99, 97,108, 32,
+ 105, 32, 61, 32, 49, 10, 32,108,111, 99, 97,108, 32,101, 32,
+ 61, 32,123,110, 61, 48,125, 10, 32,119,104,105,108,101, 32,
+ 116, 91,105, 93, 32,100,111, 10, 32, 32,108,111, 99, 97,108,
+ 32,116,116, 32, 61, 32,115,112,108,105,116, 40,116, 91,105,
+ 93, 44, 39, 61, 39, 41, 32, 32, 45, 45, 32,100,105,115, 99,
+ 97,114,100, 32,105,110,105,116,105, 97,108, 32,118, 97,108,
+ 117,101, 10, 32, 32,101, 46,110, 32, 61, 32,101, 46,110, 32,
+ 43, 32, 49, 10, 32, 32,101, 91,101, 46,110, 93, 32, 61, 32,
+ 116,116, 91, 49, 93, 10, 32, 32,105, 32, 61, 32,105, 43, 49,
+ 10, 32,101,110,100, 10, 32, 45, 45, 32,115,101,116, 32,108,
+ 117, 97, 32,110, 97,109,101,115, 10, 32,105, 32, 32, 61, 32,
+ 49, 10, 32,101, 46,108,110, 97,109,101,115, 32, 61, 32,123,
+ 125, 10, 32,108,111, 99, 97,108, 32,110,115, 32, 61, 32,103,
+ 101,116, 99,117,114,114,110, 97,109,101,115,112, 97, 99,101,
+ 40, 41, 10, 32,119,104,105,108,101, 32,101, 91,105, 93, 32,
+ 100,111, 10, 32, 32,108,111, 99, 97,108, 32,116, 32, 61, 32,
+ 115,112,108,105,116, 40,101, 91,105, 93, 44, 39, 64, 39, 41,
+ 10, 32, 32,101, 91,105, 93, 32, 61, 32,116, 91, 49, 93, 10,
+ 9, 9,105,102, 32,110,111,116, 32,116, 91, 50, 93, 32,116,
+ 104,101,110, 10, 9, 9, 32,116, 91, 50, 93, 32, 61, 32, 97,
+ 112,112,108,121,114,101,110, 97,109,105,110,103, 40,116, 91,
+ 49, 93, 41, 10, 9, 9,101,110,100, 10, 32, 32,101, 46,108,
+ 110, 97,109,101,115, 91,105, 93, 32, 61, 32,116, 91, 50, 93,
+ 32,111,114, 32,116, 91, 49, 93, 10, 32, 32, 95,103,108,111,
+ 98, 97,108, 95,101,110,117,109,115, 91, 32,110,115, 46, 46,
+ 101, 91,105, 93, 32, 93, 32, 61, 32, 40,110,115, 46, 46,101,
+ 91,105, 93, 41, 10, 32, 32,105, 32, 61, 32,105, 43, 49, 10,
+ 32,101,110,100, 10, 9,101, 46,110, 97,109,101, 32, 61, 32,
+ 110, 10, 9,105,102, 32,110, 32,126, 61, 32, 34, 34, 32,116,
+ 104,101,110, 10, 9, 9, 84,121,112,101,100,101,102, 40, 34,
+ 105,110,116, 32, 34, 46, 46,110, 41, 10, 9,101,110,100, 10,
+ 32,114,101,116,117,114,110, 32, 95, 69,110,117,109,101,114,
+ 97,116,101, 40,101, 44, 32,118, 97,114,110, 97,109,101, 41,
+ 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: lua/tolua++/src/bin/lua/enumerate.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32,100,101, 99,108, 97,
+ 114, 97,116,105,111,110, 32, 99,108, 97,115,115, 10, 45, 45,
+ 32, 87,114,105,116,116,101,110, 32, 98,121, 32, 87, 97,108,
+ 100,101,109, 97,114, 32, 67,101,108,101,115, 10, 45, 45, 32,
+ 84,101, 67, 71,114, 97,102, 47, 80, 85, 67, 45, 82,105,111,
+ 10, 45, 45, 32, 74,117,108, 32, 49, 57, 57, 56, 10, 45, 45,
+ 32, 36, 73,100, 58, 32, 36, 10, 10, 45, 45, 32, 84,104,105,
+ 115, 32, 99,111,100,101, 32,105,115, 32,102,114,101,101, 32,
+ 115,111,102,116,119, 97,114,101, 59, 32,121,111,117, 32, 99,
+ 97,110, 32,114,101,100,105,115,116,114,105, 98,117,116,101,
+ 32,105,116, 32, 97,110,100, 47,111,114, 32,109,111,100,105,
+ 102,121, 32,105,116, 46, 10, 45, 45, 32, 84,104,101, 32,115,
+ 111,102,116,119, 97,114,101, 32,112,114,111,118,105,100,101,
+ 100, 32,104,101,114,101,117,110,100,101,114, 32,105,115, 32,
+ 111,110, 32, 97,110, 32, 34, 97,115, 32,105,115, 34, 32, 98,
+ 97,115,105,115, 44, 32, 97,110,100, 10, 45, 45, 32,116,104,
+ 101, 32, 97,117,116,104,111,114, 32,104, 97,115, 32,110,111,
+ 32,111, 98,108,105,103, 97,116,105,111,110, 32,116,111, 32,
+ 112,114,111,118,105,100,101, 32,109, 97,105,110,116,101,110,
+ 97,110, 99,101, 44, 32,115,117,112,112,111,114,116, 44, 32,
+ 117,112,100, 97,116,101,115, 44, 10, 45, 45, 32,101,110,104,
+ 97,110, 99,101,109,101,110,116,115, 44, 32,111,114, 32,109,
+ 111,100,105,102,105, 99, 97,116,105,111,110,115, 46, 10, 10,
+ 10, 45, 45, 32, 68,101, 99,108, 97,114, 97,116,105,111,110,
+ 32, 99,108, 97,115,115, 10, 45, 45, 32, 82,101,112,114,101,
+ 115,101,110,116,115, 32,118, 97,114,105, 97, 98,108,101, 44,
+ 32,102,117,110, 99,116,105,111,110, 44, 32,111,114, 32, 97,
+ 114,103,117,109,101,110,116, 32,100,101, 99,108, 97,114, 97,
+ 116,105,111,110, 46, 10, 45, 45, 32, 83,116,111,114,101,115,
+ 32,116,104,101, 32,102,111,108,108,111,119,105,110,103, 32,
+ 102,105,101,108,100,115, 58, 10, 45, 45, 32, 32,109,111,100,
+ 32, 32, 61, 32,116,121,112,101, 32,109,111,100,105,102,105,
+ 101,114,115, 10, 45, 45, 32, 32,116,121,112,101, 32, 61, 32,
+ 116,121,112,101, 10, 45, 45, 32, 32,112,116,114, 32, 32, 61,
+ 32, 34, 42, 34, 32,111,114, 32, 34, 38, 34, 44, 32,105,102,
+ 32,114,101,112,114,101,115,101,110,116,105,110,103, 32, 97,
+ 32,112,111,105,110,116,101,114, 32,111,114, 32, 97, 32,114,
+ 101,102,101,114,101,110, 99,101, 10, 45, 45, 32, 32,110, 97,
+ 109,101, 32, 61, 32,110, 97,109,101, 10, 45, 45, 32, 32,100,
+ 105,109, 32, 32, 61, 32,100,105,109,101,110,115,105,111,110,
+ 44, 32,105,102, 32, 97, 32,118,101, 99,116,111,114, 10, 45,
+ 45, 32, 32,100,101,102, 32, 32, 61, 32,100,101,102, 97,117,
+ 108,116, 32,118, 97,108,117,101, 44, 32,105,102, 32, 97,110,
+ 121, 32, 40,111,110,108,121, 32,102,111,114, 32, 97,114,103,
+ 117,109,101,110,116,115, 41, 10, 45, 45, 32, 32,114,101,116,
+ 32, 32, 61, 32, 34, 42, 34, 32,111,114, 32, 34, 38, 34, 44,
+ 32,105,102, 32,118, 97,108,117,101, 32,105,115, 32,116,111,
+ 32, 98,101, 32,114,101,116,117,114,110,101,100, 32, 40,111,
+ 110,108,121, 32,102,111,114, 32, 97,114,103,117,109,101,110,
+ 116,115, 41, 10, 99,108, 97,115,115, 68,101, 99,108, 97,114,
+ 97,116,105,111,110, 32, 61, 32,123, 10, 32,109,111,100, 32,
+ 61, 32, 39, 39, 44, 10, 32,116,121,112,101, 32, 61, 32, 39,
+ 39, 44, 10, 32,112,116,114, 32, 61, 32, 39, 39, 44, 10, 32,
+ 110, 97,109,101, 32, 61, 32, 39, 39, 44, 10, 32,100,105,109,
+ 32, 61, 32, 39, 39, 44, 10, 32,114,101,116, 32, 61, 32, 39,
+ 39, 44, 10, 32,100,101,102, 32, 61, 32, 39, 39, 10,125, 10,
+ 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,105,111,
+ 110, 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,
+ 115,115, 68,101, 99,108, 97,114, 97,116,105,111,110, 10,115,
+ 101,116,109,101,116, 97,116, 97, 98,108,101, 40, 99,108, 97,
+ 115,115, 68,101, 99,108, 97,114, 97,116,105,111,110, 44, 99,
+ 108, 97,115,115, 70,101, 97,116,117,114,101, 41, 10, 10, 45,
+ 45, 32, 67,114,101, 97,116,101, 32, 97,110, 32,117,110,105,
+ 113,117,101, 32,118, 97,114,105, 97, 98,108,101, 32,110, 97,
+ 109,101, 10,102,117,110, 99,116,105,111,110, 32, 99,114,101,
+ 97,116,101, 95,118, 97,114,110, 97,109,101, 32, 40, 41, 10,
+ 32,105,102, 32,110,111,116, 32, 95,118, 97,114,110,117,109,
+ 98,101,114, 32,116,104,101,110, 32, 95,118, 97,114,110,117,
+ 109, 98,101,114, 32, 61, 32, 48, 32,101,110,100, 10, 32, 95,
+ 118, 97,114,110,117,109, 98,101,114, 32, 61, 32, 95,118, 97,
+ 114,110,117,109, 98,101,114, 32, 43, 32, 49, 10, 32,114,101,
+ 116,117,114,110, 32, 34,116,111,108,117, 97, 95,118, 97,114,
+ 95, 34, 46, 46, 95,118, 97,114,110,117,109, 98,101,114, 10,
+ 101,110,100, 10, 10, 45, 45, 32, 67,104,101, 99,107, 32,100,
+ 101, 99,108, 97,114, 97,116,105,111,110, 32,110, 97,109,101,
+ 10, 45, 45, 32, 73,116, 32, 97,108,115,111, 32,105,100,101,
+ 110,116,105,102,105,101,115, 32,100,101,102, 97,117,108,116,
+ 32,118, 97,108,117,101,115, 10,102,117,110, 99,116,105,111,
+ 110, 32, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,
+ 105,111,110, 58, 99,104,101, 99,107,110, 97,109,101, 32, 40,
+ 41, 10, 10, 32,105,102, 32,115,116,114,115,117, 98, 40,115,
+ 101,108,102, 46,110, 97,109,101, 44, 49, 44, 49, 41, 32, 61,
+ 61, 32, 39, 91, 39, 32, 97,110,100, 32,110,111,116, 32,102,
+ 105,110,100,116,121,112,101, 40,115,101,108,102, 46,116,121,
+ 112,101, 41, 32,116,104,101,110, 10, 32, 32,115,101,108,102,
+ 46,110, 97,109,101, 32, 61, 32,115,101,108,102, 46,116,121,
+ 112,101, 46, 46,115,101,108,102, 46,110, 97,109,101, 10, 32,
+ 32,108,111, 99, 97,108, 32,109, 32, 61, 32,115,112,108,105,
+ 116, 40,115,101,108,102, 46,109,111,100, 44, 39, 37,115, 37,
+ 115, 42, 39, 41, 10, 32, 32,115,101,108,102, 46,116,121,112,
+ 101, 32, 61, 32,109, 91,109, 46,110, 93, 10, 32, 32,115,101,
+ 108,102, 46,109,111,100, 32, 61, 32, 99,111,110, 99, 97,116,
+ 40,109, 44, 49, 44,109, 46,110, 45, 49, 41, 10, 32,101,110,
+ 100, 10, 10, 32,108,111, 99, 97,108, 32,116, 32, 61, 32,115,
+ 112,108,105,116, 40,115,101,108,102, 46,110, 97,109,101, 44,
+ 39, 61, 39, 41, 10, 32,105,102, 32,116, 46,110, 61, 61, 50,
+ 32,116,104,101,110, 10, 32, 32,115,101,108,102, 46,110, 97,
+ 109,101, 32, 61, 32,116, 91, 49, 93, 10, 32, 32,115,101,108,
+ 102, 46,100,101,102, 32, 61, 32,102,105,110,100, 95,101,110,
+ 117,109, 95,118, 97,114, 40,116, 91,116, 46,110, 93, 41, 10,
+ 32,101,110,100, 10, 10, 32,108,111, 99, 97,108, 32, 98, 44,
+ 101, 44,100, 32, 61, 32,115,116,114,102,105,110,100, 40,115,
+ 101,108,102, 46,110, 97,109,101, 44, 34, 37, 91, 40, 46, 45,
+ 41, 37, 93, 34, 41, 10, 32,105,102, 32, 98, 32,116,104,101,
+ 110, 10, 32, 32,115,101,108,102, 46,110, 97,109,101, 32, 61,
+ 32,115,116,114,115,117, 98, 40,115,101,108,102, 46,110, 97,
+ 109,101, 44, 49, 44, 98, 45, 49, 41, 10, 32, 32,115,101,108,
+ 102, 46,100,105,109, 32, 61, 32,102,105,110,100, 95,101,110,
+ 117,109, 95,118, 97,114, 40,100, 41, 10, 32,101,110,100, 10,
+ 10, 10, 32,105,102, 32,115,101,108,102, 46,116,121,112,101,
+ 32,126, 61, 32, 39, 39, 32, 97,110,100, 32,115,101,108,102,
+ 46,116,121,112,101, 32,126, 61, 32, 39,118,111,105,100, 39,
+ 32, 97,110,100, 32,115,101,108,102, 46,110, 97,109,101, 32,
+ 61, 61, 32, 39, 39, 32,116,104,101,110, 10, 32, 32,115,101,
+ 108,102, 46,110, 97,109,101, 32, 61, 32, 99,114,101, 97,116,
+ 101, 95,118, 97,114,110, 97,109,101, 40, 41, 10, 32,101,108,
+ 115,101,105,102, 32,115,101,108,102, 46,107,105,110,100, 61,
+ 61, 39,118, 97,114, 39, 32,116,104,101,110, 10, 32, 32,105,
+ 102, 32,115,101,108,102, 46,116,121,112,101, 61, 61, 39, 39,
+ 32, 97,110,100, 32,115,101,108,102, 46,110, 97,109,101,126,
+ 61, 39, 39, 32,116,104,101,110, 10, 32, 32, 32,115,101,108,
+ 102, 46,116,121,112,101, 32, 61, 32,115,101,108,102, 46,116,
+ 121,112,101, 46, 46,115,101,108,102, 46,110, 97,109,101, 10,
+ 32, 32, 32,115,101,108,102, 46,110, 97,109,101, 32, 61, 32,
+ 99,114,101, 97,116,101, 95,118, 97,114,110, 97,109,101, 40,
+ 41, 10, 32, 32,101,108,115,101,105,102, 32,102,105,110,100,
+ 116,121,112,101, 40,115,101,108,102, 46,110, 97,109,101, 41,
+ 32,116,104,101,110, 10, 32, 32, 32,105,102, 32,115,101,108,
+ 102, 46,116,121,112,101, 61, 61, 39, 39, 32,116,104,101,110,
+ 32,115,101,108,102, 46,116,121,112,101, 32, 61, 32,115,101,
+ 108,102, 46,110, 97,109,101, 10, 32, 32, 32,101,108,115,101,
+ 32,115,101,108,102, 46,116,121,112,101, 32, 61, 32,115,101,
+ 108,102, 46,116,121,112,101, 46, 46, 39, 32, 39, 46, 46,115,
+ 101,108,102, 46,110, 97,109,101, 32,101,110,100, 10, 32, 32,
+ 32,115,101,108,102, 46,110, 97,109,101, 32, 61, 32, 99,114,
+ 101, 97,116,101, 95,118, 97,114,110, 97,109,101, 40, 41, 10,
+ 32, 32,101,110,100, 10, 32,101,110,100, 10, 10, 32, 45, 45,
+ 32, 97,100,106,117,115,116, 32,116,121,112,101, 32,111,102,
+ 32,115,116,114,105,110,103, 10, 32,105,102, 32,115,101,108,
+ 102, 46,116,121,112,101, 32, 61, 61, 32, 39, 99,104, 97,114,
+ 39, 32, 97,110,100, 32,115,101,108,102, 46,100,105,109, 32,
+ 126, 61, 32, 39, 39, 32,116,104,101,110, 10, 9, 32,115,101,
+ 108,102, 46,116,121,112,101, 32, 61, 32, 39, 99,104, 97,114,
+ 42, 39, 10, 32,101,110,100, 10, 10, 9,105,102, 32,115,101,
+ 108,102, 46,107,105,110,100, 32, 97,110,100, 32,115,101,108,
+ 102, 46,107,105,110,100, 32, 61, 61, 32, 39,118, 97,114, 39,
+ 32,116,104,101,110, 10, 9, 9,115,101,108,102, 46,110, 97,
+ 109,101, 32, 61, 32,115,116,114,105,110,103, 46,103,115,117,
+ 98, 40,115,101,108,102, 46,110, 97,109,101, 44, 32, 34, 58,
+ 46, 42, 36, 34, 44, 32, 34, 34, 41, 32, 45, 45, 32, 63, 63,
+ 63, 10, 9,101,110,100, 10,101,110,100, 10, 10, 45, 45, 32,
+ 67,104,101, 99,107, 32,100,101, 99,108, 97,114, 97,116,105,
+ 111,110, 32,116,121,112,101, 10, 45, 45, 32, 83,117, 98,115,
+ 116,105,116,117,116,101,115, 32,116,121,112,101,100,101,102,
+ 39,115, 46, 10,102,117,110, 99,116,105,111,110, 32, 99,108,
+ 97,115,115, 68,101, 99,108, 97,114, 97,116,105,111,110, 58,
+ 99,104,101, 99,107,116,121,112,101, 32, 40, 41, 10, 10, 32,
+ 45, 45, 32, 99,104,101, 99,107, 32,105,102, 32,116,104,101,
+ 114,101, 32,105,115, 32, 97, 32,112,111,105,110,116,101,114,
+ 32,116,111, 32, 98, 97,115,105, 99, 32,116,121,112,101, 10,
+ 32,108,111, 99, 97,108, 32, 98, 97,115,105, 99, 32, 61, 32,
+ 105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46,116,121,
+ 112,101, 41, 10, 32,105,102, 32,115,101,108,102, 46,107,105,
+ 110,100, 32, 61, 61, 32, 39,102,117,110, 99, 39, 32, 97,110,
+ 100, 32, 98, 97,115,105, 99, 61, 61, 39,110,117,109, 98,101,
+ 114, 39, 32, 97,110,100, 32,115,116,114,105,110,103, 46,102,
+ 105,110,100, 40,115,101,108,102, 46,112,116,114, 44, 32, 34,
+ 37, 42, 34, 41, 32,116,104,101,110, 10, 32, 9,115,101,108,
+ 102, 46,116,121,112,101, 32, 61, 32, 39, 95,117,115,101,114,
+ 100, 97,116, 97, 39, 10, 32, 9,115,101,108,102, 46,112,116,
+ 114, 32, 61, 32, 34, 34, 10, 32,101,110,100, 10, 32,105,102,
+ 32, 98, 97,115,105, 99, 32, 97,110,100, 32,115,101,108,102,
+ 46,112,116,114,126, 61, 39, 39, 32,116,104,101,110, 10, 32,
+ 32,115,101,108,102, 46,114,101,116, 32, 61, 32,115,101,108,
+ 102, 46,112,116,114, 10, 32, 32,115,101,108,102, 46,112,116,
+ 114, 32, 61, 32,110,105,108, 10, 32, 32,105,102, 32,105,115,
+ 98, 97,115,105, 99, 40,115,101,108,102, 46,116,121,112,101,
+ 41, 32, 61, 61, 32, 39,110,117,109, 98,101,114, 39, 32,116,
+ 104,101,110, 10, 32, 32, 9,115,101,108,102, 46,114,101,116,
+ 117,114,110, 95,117,115,101,114,100, 97,116, 97, 32, 61, 32,
+ 116,114,117,101, 10, 32, 32,101,110,100, 10, 32,101,110,100,
+ 10, 10, 32, 45, 45, 32, 99,104,101, 99,107, 32,105,102, 32,
+ 116,104,101,114,101, 32,105,115, 32, 97,114,114, 97,121, 32,
+ 116,111, 32, 98,101, 32,114,101,116,117,114,110,101,100, 10,
+ 32,105,102, 32,115,101,108,102, 46,100,105,109,126, 61, 39,
+ 39, 32, 97,110,100, 32,115,101,108,102, 46,114,101,116,126,
+ 61, 39, 39, 32,116,104,101,110, 10, 32, 32, 32,101,114,114,
+ 111,114, 40, 39, 35,105,110,118, 97,108,105,100, 32,112, 97,
+ 114, 97,109,101,116,101,114, 58, 32, 99, 97,110,110,111,116,
+ 32,114,101,116,117,114,110, 32, 97,110, 32, 97,114,114, 97,
+ 121, 32,111,102, 32,118, 97,108,117,101,115, 39, 41, 10, 32,
+ 101,110,100, 10, 32, 45, 45, 32,114,101,115,116,111,114,101,
+ 32, 39,118,111,105,100, 42, 39, 32, 97,110,100, 32, 39,115,
+ 116,114,105,110,103, 42, 39, 10, 32,105,102, 32,115,101,108,
+ 102, 46,116,121,112,101, 32, 61, 61, 32, 39, 95,117,115,101,
+ 114,100, 97,116, 97, 39, 32,116,104,101,110, 32,115,101,108,
+ 102, 46,116,121,112,101, 32, 61, 32, 39,118,111,105,100, 42,
+ 39, 10, 32,101,108,115,101,105,102, 32,115,101,108,102, 46,
+ 116,121,112,101, 32, 61, 61, 32, 39, 95, 99,115,116,114,105,
+ 110,103, 39, 32,116,104,101,110, 32,115,101,108,102, 46,116,
+ 121,112,101, 32, 61, 32, 39, 99,104, 97,114, 42, 39, 10, 32,
+ 101,108,115,101,105,102, 32,115,101,108,102, 46,116,121,112,
+ 101, 32, 61, 61, 32, 39, 95,108,115,116, 97,116,101, 39, 32,
+ 116,104,101,110, 32,115,101,108,102, 46,116,121,112,101, 32,
+ 61, 32, 39,108,117, 97, 95, 83,116, 97,116,101, 42, 39, 10,
+ 32,101,110,100, 10, 10, 32, 45, 45, 32,114,101,115,111,108,
+ 118,101, 32,116,121,112,101,115, 32,105,110,115,105,100,101,
+ 32,116,104,101, 32,116,101,109,112,108, 97,116,101,115, 10,
+ 32,105,102, 32,115,101,108,102, 46,116,121,112,101, 32,116,
+ 104,101,110, 10, 9, 32,115,101,108,102, 46,116,121,112,101,
+ 32, 61, 32,114,101,115,111,108,118,101, 95,116,101,109,112,
+ 108, 97,116,101, 95,116,121,112,101,115, 40,115,101,108,102,
+ 46,116,121,112,101, 41, 10, 32,101,110,100, 10, 10, 45, 45,
+ 10, 45, 45, 32, 45, 45, 32,105,102, 32,114,101,116,117,114,
+ 110,105,110,103, 32,118, 97,108,117,101, 44, 32, 97,117,116,
+ 111,109, 97,116,105, 99, 97,108,108,121, 32,115,101,116, 32,
+ 100,101,102, 97,117,108,116, 32,118, 97,108,117,101, 10, 45,
+ 45, 32,105,102, 32,115,101,108,102, 46,114,101,116, 32,126,
+ 61, 32, 39, 39, 32, 97,110,100, 32,115,101,108,102, 46,100,
+ 101,102, 32, 61, 61, 32, 39, 39, 32,116,104,101,110, 10, 45,
+ 45, 32, 32,115,101,108,102, 46,100,101,102, 32, 61, 32, 39,
+ 48, 39, 10, 45, 45, 32,101,110,100, 10, 45, 45, 10, 10,101,
+ 110,100, 10, 10,102,117,110, 99,116,105,111,110, 32,114,101,
+ 115,111,108,118,101, 95,116,101,109,112,108, 97,116,101, 95,
+ 116,121,112,101,115, 40,116,121,112,101, 41, 10, 10, 9,105,
+ 102, 32,105,115, 98, 97,115,105, 99, 40,116,121,112,101, 41,
+ 32,116,104,101,110, 10, 9, 9,114,101,116,117,114,110, 32,
+ 116,121,112,101, 10, 9,101,110,100, 10, 9,108,111, 99, 97,
+ 108, 32, 98, 44, 95, 44,109, 32, 61, 32,115,116,114,105,110,
+ 103, 46,102,105,110,100, 40,116,121,112,101, 44, 32, 34, 40,
+ 37, 98, 60, 62, 41, 34, 41, 10, 9,105,102, 32, 98, 32,116,
+ 104,101,110, 10, 10, 9, 9,109, 32, 61, 32,115,112,108,105,
+ 116, 95, 99, 95,116,111,107,101,110,115, 40,115,116,114,105,
+ 110,103, 46,115,117, 98, 40,109, 44, 32, 50, 44, 32, 45, 50,
+ 41, 44, 32, 34, 44, 34, 41, 10, 9, 9,102,111,114, 32,105,
+ 61, 49, 44, 32,116, 97, 98,108,101, 46,103,101,116,110, 40,
+ 109, 41, 32,100,111, 10, 9, 9, 9,109, 91,105, 93, 32, 61,
+ 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,109, 91,
+ 105, 93, 44, 34, 37,115, 42, 40, 91, 37, 42, 38, 93, 41, 34,
+ 44, 32, 34, 37, 49, 34, 41, 10, 9, 9, 9,105,102, 32,110,
+ 111,116, 32,105,115,101,110,117,109, 40,109, 91,105, 93, 41,
+ 32,116,104,101,110, 32, 95, 44, 32,109, 91,105, 93, 32, 61,
+ 32, 97,112,112,108,121,116,121,112,101,100,101,102, 40, 34,
+ 34, 44, 32,109, 91,105, 93, 41, 32,101,110,100, 10, 9, 9,
+ 9,109, 91,105, 93, 32, 61, 32,102,105,110,100,116,121,112,
+ 101, 40,109, 91,105, 93, 41, 32,111,114, 32,109, 91,105, 93,
+ 10, 9, 9, 9,109, 91,105, 93, 32, 61, 32,114,101,115,111,
+ 108,118,101, 95,116,101,109,112,108, 97,116,101, 95,116,121,
+ 112,101,115, 40,109, 91,105, 93, 41, 10, 9, 9,101,110,100,
+ 10, 10, 9, 9,108,111, 99, 97,108, 32, 98, 44,105, 10, 9,
+ 9,116,121,112,101, 44, 98, 44,105, 32, 61, 32, 98,114,101,
+ 97,107, 95,116,101,109,112,108, 97,116,101, 40,116,121,112,
+ 101, 41, 10, 45, 45,112,114,105,110,116, 40, 34, 99,111,110,
+ 99, 97,116, 32,105,115, 32, 34, 44, 99,111,110, 99, 97,116,
+ 40,109, 44, 32, 49, 44, 32,109, 46,110, 41, 41, 10, 9, 9,
+ 108,111, 99, 97,108, 32,116,101,109,112,108, 97,116,101, 95,
+ 112, 97,114,116, 32, 61, 32, 34, 60, 34, 46, 46, 99,111,110,
+ 99, 97,116, 40,109, 44, 32, 49, 44, 32,109, 46,110, 44, 32,
+ 34, 44, 34, 41, 46, 46, 34, 62, 34, 10, 9, 9,116,121,112,
+ 101, 32, 61, 32,114,101, 98,117,105,108,100, 95,116,101,109,
+ 112,108, 97,116,101, 40,116,121,112,101, 44, 32, 98, 44, 32,
+ 116,101,109,112,108, 97,116,101, 95,112, 97,114,116, 41, 10,
+ 9, 9,116,121,112,101, 32, 61, 32,115,116,114,105,110,103,
+ 46,103,115,117, 98, 40,116,121,112,101, 44, 32, 34, 62, 62,
+ 34, 44, 32, 34, 62, 32, 62, 34, 41, 10, 9,101,110,100, 10,
+ 9,114,101,116,117,114,110, 32,116,121,112,101, 10,101,110,
+ 100, 10, 10,102,117,110, 99,116,105,111,110, 32, 98,114,101,
+ 97,107, 95,116,101,109,112,108, 97,116,101, 40,115, 41, 10,
+ 9,108,111, 99, 97,108, 32, 98, 44,101, 44,116,105,109,112,
+ 108, 32, 61, 32,115,116,114,105,110,103, 46,102,105,110,100,
+ 40,115, 44, 32, 34, 40, 37, 98, 60, 62, 41, 34, 41, 10, 9,
+ 105,102, 32,116,105,109,112,108, 32,116,104,101,110, 10, 9,
+ 9,115, 32, 61, 32,115,116,114,105,110,103, 46,103,115,117,
+ 98, 40,115, 44, 32, 34, 37, 98, 60, 62, 34, 44, 32, 34, 34,
+ 41, 10, 9, 9,114,101,116,117,114,110, 32,115, 44, 32, 98,
+ 44, 32,116,105,109,112,108, 10, 9,101,108,115,101, 10, 9,
+ 9,114,101,116,117,114,110, 32,115, 44, 32, 48, 44, 32,110,
+ 105,108, 10, 9,101,110,100, 10,101,110,100, 10, 10,102,117,
+ 110, 99,116,105,111,110, 32,114,101, 98,117,105,108,100, 95,
+ 116,101,109,112,108, 97,116,101, 40,115, 44, 32, 98, 44, 32,
+ 116,105,109,112,108, 41, 10, 10, 9,105,102, 32, 98, 32, 61,
+ 61, 32, 48, 32,116,104,101,110, 10, 9, 9,114,101,116,117,
+ 114,110, 32,115, 10, 9,101,110,100, 10, 10, 9,114,101,116,
+ 117,114,110, 32,115,116,114,105,110,103, 46,115,117, 98, 40,
+ 115, 44, 32, 49, 44, 32, 98, 45, 49, 41, 46, 46,116,105,109,
+ 112,108, 46, 46,115,116,114,105,110,103, 46,115,117, 98, 40,
+ 115, 44, 32, 98, 44, 32, 45, 49, 41, 10,101,110,100, 10, 10,
+ 45, 45, 32, 80,114,105,110,116, 32,109,101,116,104,111,100,
+ 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115,
+ 68,101, 99,108, 97,114, 97,116,105,111,110, 58,112,114,105,
+ 110,116, 32, 40,105,100,101,110,116, 44, 99,108,111,115,101,
+ 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46,
+ 46, 34, 68,101, 99,108, 97,114, 97,116,105,111,110,123, 34,
+ 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46,
+ 46, 34, 32,109,111,100, 32, 32, 61, 32, 39, 34, 46, 46,115,
+ 101,108,102, 46,109,111,100, 46, 46, 34, 39, 44, 34, 41, 10,
+ 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,
+ 32,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,
+ 102, 46,116,121,112,101, 46, 46, 34, 39, 44, 34, 41, 10, 32,
+ 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,
+ 112,116,114, 32, 32, 61, 32, 39, 34, 46, 46,115,101,108,102,
+ 46,112,116,114, 46, 46, 34, 39, 44, 34, 41, 10, 32,112,114,
+ 105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,110, 97,
+ 109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,110,
+ 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10, 32,112,114,105,
+ 110,116, 40,105,100,101,110,116, 46, 46, 34, 32,100,105,109,
+ 32, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,100,105,
+ 109, 46, 46, 34, 39, 44, 34, 41, 10, 32,112,114,105,110,116,
+ 40,105,100,101,110,116, 46, 46, 34, 32,100,101,102, 32, 32,
+ 61, 32, 39, 34, 46, 46,115,101,108,102, 46,100,101,102, 46,
+ 46, 34, 39, 44, 34, 41, 10, 32,112,114,105,110,116, 40,105,
+ 100,101,110,116, 46, 46, 34, 32,114,101,116, 32, 32, 61, 32,
+ 39, 34, 46, 46,115,101,108,102, 46,114,101,116, 46, 46, 34,
+ 39, 44, 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,
+ 110,116, 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41,
+ 10,101,110,100, 10, 10, 45, 45, 32, 99,104,101, 99,107, 32,
+ 105,102, 32, 97,114,114, 97,121, 32,111,102, 32,118, 97,108,
+ 117,101,115, 32, 97,114,101, 32,114,101,116,117,114,110,101,
+ 100, 32,116,111, 32, 76,117, 97, 10,102,117,110, 99,116,105,
+ 111,110, 32, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,
+ 116,105,111,110, 58,114,101,113,117,105,114,101, 99,111,108,
+ 108,101, 99,116,105,111,110, 32, 40,116, 41, 10, 32,105,102,
+ 32,115,101,108,102, 46,109,111,100, 32,126, 61, 32, 39, 99,
+ 111,110,115,116, 39, 32, 97,110,100, 10, 9, 32, 32, 32, 32,
+ 115,101,108,102, 46,100,105,109, 32, 97,110,100, 32,115,101,
+ 108,102, 46,100,105,109, 32,126, 61, 32, 39, 39, 32, 97,110,
+ 100, 10, 9, 9, 9, 9, 32,110,111,116, 32,105,115, 98, 97,
+ 115,105, 99, 40,115,101,108,102, 46,116,121,112,101, 41, 32,
+ 97,110,100, 10, 9, 9, 9, 9, 32,115,101,108,102, 46,112,
+ 116,114, 32, 61, 61, 32, 39, 39, 32, 97,110,100, 32,115,101,
+ 108,102, 58, 99,104,101, 99,107, 95,112,117, 98,108,105, 99,
+ 95, 97, 99, 99,101,115,115, 40, 41, 32,116,104,101,110, 10,
+ 9, 9,108,111, 99, 97,108, 32,116,121,112,101, 32, 61, 32,
+ 103,115,117, 98, 40,115,101,108,102, 46,116,121,112,101, 44,
+ 34, 37,115, 42, 99,111,110,115,116, 37,115, 43, 34, 44, 34,
+ 34, 41, 10, 9, 9,116, 91,116,121,112,101, 93, 32, 61, 32,
+ 34,116,111,108,117, 97, 95, 99,111,108,108,101, 99,116, 95,
+ 34, 32, 46, 46, 32, 99,108,101, 97,110, 95,116,101,109,112,
+ 108, 97,116,101, 40,116,121,112,101, 41, 10, 9, 9,114,101,
+ 116,117,114,110, 32,116,114,117,101, 10, 9,101,110,100, 10,
+ 9,114,101,116,117,114,110, 32,102, 97,108,115,101, 10,101,
+ 110,100, 10, 10, 45, 45, 32,100,101, 99,108, 97,114,101, 32,
+ 116, 97,103, 10,102,117,110, 99,116,105,111,110, 32, 99,108,
+ 97,115,115, 68,101, 99,108, 97,114, 97,116,105,111,110, 58,
+ 100,101, 99,108,116,121,112,101, 32, 40, 41, 10, 10, 9,115,
+ 101,108,102, 46,116,121,112,101, 32, 61, 32,116,121,112,101,
+ 118, 97,114, 40,115,101,108,102, 46,116,121,112,101, 41, 10,
+ 9,105,102, 32,115,116,114,102,105,110,100, 40,115,101,108,
+ 102, 46,109,111,100, 44, 39, 99,111,110,115,116, 39, 41, 32,
+ 116,104,101,110, 10, 9, 9,115,101,108,102, 46,116,121,112,
+ 101, 32, 61, 32, 39, 99,111,110,115,116, 32, 39, 46, 46,115,
+ 101,108,102, 46,116,121,112,101, 10, 9, 9,115,101,108,102,
+ 46,109,111,100, 32, 61, 32,103,115,117, 98, 40,115,101,108,
+ 102, 46,109,111,100, 44, 39, 99,111,110,115,116, 37,115, 42,
+ 39, 44, 39, 39, 41, 10, 9,101,110,100, 10,101,110,100, 10,
+ 10, 10, 45, 45, 32,111,117,116,112,117,116, 32,116,121,112,
+ 101, 32, 99,104,101, 99,107,105,110,103, 10,102,117,110, 99,
+ 116,105,111,110, 32, 99,108, 97,115,115, 68,101, 99,108, 97,
+ 114, 97,116,105,111,110, 58,111,117,116, 99,104,101, 99,107,
+ 116,121,112,101, 32, 40,110, 97,114,103, 41, 10, 32,108,111,
+ 99, 97,108, 32,100,101,102, 10, 32,108,111, 99, 97,108, 32,
+ 116, 32, 61, 32,105,115, 98, 97,115,105, 99, 40,115,101,108,
+ 102, 46,116,121,112,101, 41, 10, 32,105,102, 32,115,101,108,
+ 102, 46,100,101,102,126, 61, 39, 39, 32,116,104,101,110, 10,
+ 32, 32,100,101,102, 32, 61, 32, 49, 10, 32,101,108,115,101,
+ 10, 32, 32,100,101,102, 32, 61, 32, 48, 10, 32,101,110,100,
+ 10, 32,105,102, 32,115,101,108,102, 46,100,105,109, 32,126,
+ 61, 32, 39, 39, 32,116,104,101,110, 10, 9, 45, 45,105,102,
+ 32,116, 61, 61, 39,115,116,114,105,110,103, 39, 32,116,104,
+ 101,110, 10, 9, 45, 45, 9,114,101,116,117,114,110, 32, 39,
+ 116,111,108,117, 97, 95,105,115,115,116,114,105,110,103, 97,
+ 114,114, 97,121, 40,116,111,108,117, 97, 95, 83, 44, 39, 46,
+ 46,110, 97,114,103, 46, 46, 39, 44, 39, 46, 46,100,101,102,
+ 46, 46, 39, 44, 38,116,111,108,117, 97, 95,101,114,114, 41,
+ 39, 10, 9, 45, 45,101,108,115,101, 10, 9,114,101,116,117,
+ 114,110, 32, 39, 33,116,111,108,117, 97, 95,105,115,116, 97,
+ 98,108,101, 40,116,111,108,117, 97, 95, 83, 44, 39, 46, 46,
+ 110, 97,114,103, 46, 46, 39, 44, 48, 44, 38,116,111,108,117,
+ 97, 95,101,114,114, 41, 39, 10, 32, 9, 45, 45,101,110,100,
+ 10, 32,101,108,115,101,105,102, 32,116, 32,116,104,101,110,
+ 10, 9,114,101,116,117,114,110, 32, 39, 33,116,111,108,117,
+ 97, 95,105,115, 39, 46, 46,116, 46, 46, 39, 40,116,111,108,
+ 117, 97, 95, 83, 44, 39, 46, 46,110, 97,114,103, 46, 46, 39,
+ 44, 39, 46, 46,100,101,102, 46, 46, 39, 44, 38,116,111,108,
+ 117, 97, 95,101,114,114, 41, 39, 10, 32,101,108,115,101, 10,
+ 32, 32,108,111, 99, 97,108, 32,105,115, 95,102,117,110, 99,
+ 32, 61, 32,103,101,116, 95,105,115, 95,102,117,110, 99,116,
+ 105,111,110, 40,115,101,108,102, 46,116,121,112,101, 41, 10,
+ 32, 32,105,102, 32,115,101,108,102, 46,112,116,114, 32, 61,
+ 61, 32, 39, 38, 39, 32,111,114, 32,115,101,108,102, 46,112,
+ 116,114, 32, 61, 61, 32, 39, 39, 32,116,104,101,110, 10, 32,
+ 32, 9,114,101,116,117,114,110, 32, 39, 40,116,111,108,117,
+ 97, 95,105,115,118, 97,108,117,101,110,105,108, 40,116,111,
+ 108,117, 97, 95, 83, 44, 39, 46, 46,110, 97,114,103, 46, 46,
+ 39, 44, 38,116,111,108,117, 97, 95,101,114,114, 41, 32,124,
+ 124, 32, 33, 39, 46, 46,105,115, 95,102,117,110, 99, 46, 46,
+ 39, 40,116,111,108,117, 97, 95, 83, 44, 39, 46, 46,110, 97,
+ 114,103, 46, 46, 39, 44, 34, 39, 46, 46,115,101,108,102, 46,
+ 116,121,112,101, 46, 46, 39, 34, 44, 39, 46, 46,100,101,102,
+ 46, 46, 39, 44, 38,116,111,108,117, 97, 95,101,114,114, 41,
+ 41, 39, 10, 32, 32,101,108,115,101, 10, 9,114,101,116,117,
+ 114,110, 32, 39, 33, 39, 46, 46,105,115, 95,102,117,110, 99,
+ 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 39, 46, 46,
+ 110, 97,114,103, 46, 46, 39, 44, 34, 39, 46, 46,115,101,108,
+ 102, 46,116,121,112,101, 46, 46, 39, 34, 44, 39, 46, 46,100,
+ 101,102, 46, 46, 39, 44, 38,116,111,108,117, 97, 95,101,114,
+ 114, 41, 39, 10, 32, 32,101,110,100, 10, 32,101,110,100, 10,
+ 101,110,100, 10, 10,102,117,110, 99,116,105,111,110, 32, 99,
+ 108, 97,115,115, 68,101, 99,108, 97,114, 97,116,105,111,110,
+ 58, 98,117,105,108,100,100,101, 99,108, 97,114, 97,116,105,
+ 111,110, 32, 40,110, 97,114,103, 44, 32, 99,112,108,117,115,
+ 112,108,117,115, 41, 10, 32,108,111, 99, 97,108, 32, 97,114,
+ 114, 97,121, 32, 61, 32,115,101,108,102, 46,100,105,109, 32,
+ 126, 61, 32, 39, 39, 32, 97,110,100, 32,116,111,110,117,109,
+ 98,101,114, 40,115,101,108,102, 46,100,105,109, 41, 61, 61,
+ 110,105,108, 10, 9,108,111, 99, 97,108, 32,108,105,110,101,
+ 32, 61, 32, 34, 34, 10, 32,108,111, 99, 97,108, 32,112,116,
+ 114, 32, 61, 32, 39, 39, 10, 32,108,111, 99, 97,108, 32,109,
+ 111,100, 10, 32,108,111, 99, 97,108, 32,116,121,112,101, 32,
+ 61, 32,115,101,108,102, 46,116,121,112,101, 10, 32,108,111,
+ 99, 97,108, 32,110, 99,116,121,112,101, 32, 61, 32,103,115,
+ 117, 98, 40,115,101,108,102, 46,116,121,112,101, 44, 39, 99,
+ 111,110,115,116, 37,115, 43, 39, 44, 39, 39, 41, 10, 32,105,
+ 102, 32,115,101,108,102, 46,100,105,109, 32,126, 61, 32, 39,
+ 39, 32,116,104,101,110, 10, 9, 32,116,121,112,101, 32, 61,
+ 32,103,115,117, 98, 40,115,101,108,102, 46,116,121,112,101,
+ 44, 39, 99,111,110,115,116, 37,115, 43, 39, 44, 39, 39, 41,
+ 32, 32, 45, 45, 32,101,108,105,109,105,110, 97,116,101,115,
+ 32, 99,111,110,115,116, 32,109,111,100,105,102,105,101,114,
+ 32,102,111,114, 32, 97,114,114, 97,121,115, 10, 32,101,110,
+ 100, 10, 32,105,102, 32,115,101,108,102, 46,112,116,114,126,
+ 61, 39, 39, 32, 97,110,100, 32,110,111,116, 32,105,115, 98,
+ 97,115,105, 99, 40,116,121,112,101, 41, 32,116,104,101,110,
+ 32,112,116,114, 32, 61, 32, 39, 42, 39, 32,101,110,100, 10,
+ 32,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97,116,112,
+ 97,114, 97,109, 40,108,105,110,101, 44, 34, 32, 34, 44,115,
+ 101,108,102, 46,109,111,100, 44,116,121,112,101, 44,112,116,
+ 114, 41, 10, 32,105,102, 32, 97,114,114, 97,121, 32,116,104,
+ 101,110, 10, 32, 32,108,105,110,101, 32, 61, 32, 99,111,110,
+ 99, 97,116,112, 97,114, 97,109, 40,108,105,110,101, 44, 39,
+ 42, 39, 41, 10, 32,101,110,100, 10, 32,108,105,110,101, 32,
+ 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,109, 40,108,
+ 105,110,101, 44,115,101,108,102, 46,110, 97,109,101, 41, 10,
+ 32,105,102, 32,115,101,108,102, 46,100,105,109, 32,126, 61,
+ 32, 39, 39, 32,116,104,101,110, 10, 32, 32,105,102, 32,116,
+ 111,110,117,109, 98,101,114, 40,115,101,108,102, 46,100,105,
+ 109, 41,126, 61,110,105,108, 32,116,104,101,110, 10, 32, 32,
+ 32,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97,116,112,
+ 97,114, 97,109, 40,108,105,110,101, 44, 39, 91, 39, 44,115,
+ 101,108,102, 46,100,105,109, 44, 39, 93, 59, 39, 41, 10, 32,
+ 32,101,108,115,101, 10, 9,105,102, 32, 99,112,108,117,115,
+ 112,108,117,115, 32,116,104,101,110, 10, 9, 9,108,105,110,
+ 101, 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,109,
+ 40,108,105,110,101, 44, 39, 32, 61, 32, 77,116,111,108,117,
+ 97, 95,110,101,119, 40, 40, 39, 44,116,121,112,101, 44,112,
+ 116,114, 44, 39, 41, 91, 39, 46, 46,115,101,108,102, 46,100,
+ 105,109, 46, 46, 39, 93, 41, 59, 39, 41, 10, 9,101,108,115,
+ 101, 10, 9, 9,108,105,110,101, 32, 61, 32, 99,111,110, 99,
+ 97,116,112, 97,114, 97,109, 40,108,105,110,101, 44, 39, 32,
+ 61, 32, 40, 39, 44,116,121,112,101, 44,112,116,114, 44, 39,
+ 42, 41, 39, 44, 10, 9, 9, 39,109, 97,108,108,111, 99, 40,
+ 40, 39, 44,115,101,108,102, 46,100,105,109, 44, 39, 41, 42,
+ 115,105,122,101,111,102, 40, 39, 44,116,121,112,101, 44,112,
+ 116,114, 44, 39, 41, 41, 59, 39, 41, 10, 9,101,110,100, 10,
+ 32, 32,101,110,100, 10, 32,101,108,115,101, 10, 32, 32,108,
+ 111, 99, 97,108, 32,116, 32, 61, 32,105,115, 98, 97,115,105,
+ 99, 40,116,121,112,101, 41, 10, 32, 32,108,105,110,101, 32,
+ 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,109, 40,108,
+ 105,110,101, 44, 39, 32, 61, 32, 39, 41, 10, 32, 32,105,102,
+ 32,116, 32, 61, 61, 32, 39,115,116, 97,116,101, 39, 32,116,
+ 104,101,110, 10, 32, 32, 9,108,105,110,101, 32, 61, 32, 99,
+ 111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110,101,
+ 44, 32, 39,116,111,108,117, 97, 95, 83, 59, 39, 41, 10, 32,
+ 32,101,108,115,101, 10, 32, 32, 9, 45, 45,112,114,105,110,
+ 116, 40, 34,116, 32,105,115, 32, 34, 46, 46,116,111,115,116,
+ 114,105,110,103, 40,116, 41, 46, 46, 34, 44, 32,112,116,114,
+ 32,105,115, 32, 34, 46, 46,116,111,115,116,114,105,110,103,
+ 40,115,101,108,102, 46,112,116,114, 41, 41, 10, 32, 32, 9,
+ 105,102, 32,116, 32, 61, 61, 32, 39,110,117,109, 98,101,114,
+ 39, 32, 97,110,100, 32,115,116,114,105,110,103, 46,102,105,
+ 110,100, 40,115,101,108,102, 46,112,116,114, 44, 32, 34, 37,
+ 42, 34, 41, 32,116,104,101,110, 10, 32, 32, 9, 9,116, 32,
+ 61, 32, 39,117,115,101,114,100, 97,116, 97, 39, 10, 32, 32,
+ 9,101,110,100, 10, 9,105,102, 32,110,111,116, 32,116, 32,
+ 97,110,100, 32,112,116,114, 61, 61, 39, 39, 32,116,104,101,
+ 110, 32,108,105,110,101, 32, 61, 32, 99,111,110, 99, 97,116,
+ 112, 97,114, 97,109, 40,108,105,110,101, 44, 39, 42, 39, 41,
+ 32,101,110,100, 10, 9,108,105,110,101, 32, 61, 32, 99,111,
+ 110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110,101, 44,
+ 39, 40, 40, 39, 44,115,101,108,102, 46,109,111,100, 44,116,
+ 121,112,101, 41, 10, 9,105,102, 32,110,111,116, 32,116, 32,
+ 116,104,101,110, 10, 9, 9,108,105,110,101, 32, 61, 32, 99,
+ 111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110,101,
+ 44, 39, 42, 39, 41, 10, 9,101,110,100, 10, 9,108,105,110,
+ 101, 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,109,
+ 40,108,105,110,101, 44, 39, 41, 32, 39, 41, 10, 9,105,102,
+ 32,105,115,101,110,117,109, 40,110, 99,116,121,112,101, 41,
+ 32,116,104,101,110, 10, 9, 9,108,105,110,101, 32, 61, 32,
+ 99,111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,110,
+ 101, 44, 39, 40,105,110,116, 41, 32, 39, 41, 10, 9,101,110,
+ 100, 10, 9,108,111, 99, 97,108, 32,100,101,102, 32, 61, 32,
+ 48, 10, 9,105,102, 32,115,101,108,102, 46,100,101,102, 32,
+ 126, 61, 32, 39, 39, 32,116,104,101,110, 10, 9, 9,100,101,
+ 102, 32, 61, 32,115,101,108,102, 46,100,101,102, 10, 9, 9,
+ 105,102, 32, 40,112,116,114, 32, 61, 61, 32, 39, 39, 32,111,
+ 114, 32,115,101,108,102, 46,112,116,114, 32, 61, 61, 32, 39,
+ 38, 39, 41, 32, 97,110,100, 32,110,111,116, 32,116, 32,116,
+ 104,101,110, 10, 9, 9, 9,100,101,102, 32, 61, 32, 34, 40,
+ 118,111,105,100, 42, 41, 38, 40, 99,111,110,115,116, 32, 34,
+ 46, 46,116,121,112,101, 46, 46, 34, 41, 34, 46, 46,100,101,
+ 102, 10, 9, 9,101,110,100, 10, 9,101,110,100, 10, 9,105,
+ 102, 32,116, 32,116,104,101,110, 10, 9, 9,108,105,110,101,
+ 32, 61, 32, 99,111,110, 99, 97,116,112, 97,114, 97,109, 40,
+ 108,105,110,101, 44, 39,116,111,108,117, 97, 95,116,111, 39,
+ 46, 46,116, 44, 39, 40,116,111,108,117, 97, 95, 83, 44, 39,
+ 44,110, 97,114,103, 44, 39, 44, 39, 44,100,101,102, 44, 39,
+ 41, 41, 59, 39, 41, 10, 9,101,108,115,101, 10, 9, 9,108,
+ 111, 99, 97,108, 32,116,111, 95,102,117,110, 99, 32, 61, 32,
+ 103,101,116, 95,116,111, 95,102,117,110, 99,116,105,111,110,
+ 40,116,121,112,101, 41, 10, 9, 9,108,105,110,101, 32, 61,
+ 32, 99,111,110, 99, 97,116,112, 97,114, 97,109, 40,108,105,
+ 110,101, 44,116,111, 95,102,117,110, 99, 46, 46, 39, 40,116,
+ 111,108,117, 97, 95, 83, 44, 39, 44,110, 97,114,103, 44, 39,
+ 44, 39, 44,100,101,102, 44, 39, 41, 41, 59, 39, 41, 10, 9,
+ 101,110,100, 10, 32, 32,101,110,100, 10, 32,101,110,100, 10,
+ 9,114,101,116,117,114,110, 32,108,105,110,101, 10,101,110,
+ 100, 10, 10, 45, 45, 32, 68,101, 99,108, 97,114,101, 32,118,
+ 97,114,105, 97, 98,108,101, 10,102,117,110, 99,116,105,111,
+ 110, 32, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,
+ 105,111,110, 58,100,101, 99,108, 97,114,101, 32, 40,110, 97,
+ 114,103, 41, 10, 32,105,102, 32,115,101,108,102, 46,100,105,
+ 109, 32,126, 61, 32, 39, 39, 32, 97,110,100, 32,116,111,110,
+ 117,109, 98,101,114, 40,115,101,108,102, 46,100,105,109, 41,
+ 61, 61,110,105,108, 32,116,104,101,110, 10, 9, 32,111,117,
+ 116,112,117,116, 40, 39, 35,105,102,100,101,102, 32, 95, 95,
+ 99,112,108,117,115,112,108,117,115, 92,110, 39, 41, 10, 9,
+ 9,111,117,116,112,117,116, 40,115,101,108,102, 58, 98,117,
+ 105,108,100,100,101, 99,108, 97,114, 97,116,105,111,110, 40,
+ 110, 97,114,103, 44,116,114,117,101, 41, 41, 10, 9, 9,111,
+ 117,116,112,117,116, 40, 39, 35,101,108,115,101, 92,110, 39,
+ 41, 10, 9, 9,111,117,116,112,117,116, 40,115,101,108,102,
+ 58, 98,117,105,108,100,100,101, 99,108, 97,114, 97,116,105,
+ 111,110, 40,110, 97,114,103, 44,102, 97,108,115,101, 41, 41,
+ 10, 9, 32,111,117,116,112,117,116, 40, 39, 35,101,110,100,
+ 105,102, 92,110, 39, 41, 10, 9,101,108,115,101, 10, 9, 9,
+ 111,117,116,112,117,116, 40,115,101,108,102, 58, 98,117,105,
+ 108,100,100,101, 99,108, 97,114, 97,116,105,111,110, 40,110,
+ 97,114,103, 44,102, 97,108,115,101, 41, 41, 10, 9,101,110,
+ 100, 10,101,110,100, 10, 10, 45, 45, 32, 71,101,116, 32,112,
+ 97,114, 97,109,101,116,101,114, 32,118, 97,108,117,101, 10,
+ 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 68,
+ 101, 99,108, 97,114, 97,116,105,111,110, 58,103,101,116, 97,
+ 114,114, 97,121, 32, 40,110, 97,114,103, 41, 10, 32,105,102,
+ 32,115,101,108,102, 46,100,105,109, 32,126, 61, 32, 39, 39,
+ 32,116,104,101,110, 10, 9, 32,108,111, 99, 97,108, 32,116,
+ 121,112,101, 32, 61, 32,103,115,117, 98, 40,115,101,108,102,
+ 46,116,121,112,101, 44, 39, 99,111,110,115,116, 32, 39, 44,
+ 39, 39, 41, 10, 32, 32,111,117,116,112,117,116, 40, 39, 32,
+ 32,123, 39, 41, 10, 9, 32,111,117,116,112,117,116, 40, 39,
+ 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82,
+ 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10, 32, 32,108,111,
+ 99, 97,108, 32,100,101,102, 59, 32,105,102, 32,115,101,108,
+ 102, 46,100,101,102,126, 61, 39, 39, 32,116,104,101,110, 32,
+ 100,101,102, 61, 49, 32,101,108,115,101, 32,100,101,102, 61,
+ 48, 32,101,110,100, 10, 9, 9,108,111, 99, 97,108, 32,116,
+ 32, 61, 32,105,115, 98, 97,115,105, 99, 40,116,121,112,101,
+ 41, 10, 9, 9,105,102, 32, 40,116, 41, 32,116,104,101,110,
+ 10, 9, 9, 32, 32, 32,111,117,116,112,117,116, 40, 39, 32,
+ 32, 32,105,102, 32, 40, 33,116,111,108,117, 97, 95,105,115,
+ 39, 46, 46,116, 46, 46, 39, 97,114,114, 97,121, 40,116,111,
+ 108,117, 97, 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44,
+ 39, 44,115,101,108,102, 46,100,105,109, 44, 39, 44, 39, 44,
+ 100,101,102, 44, 39, 44, 38,116,111,108,117, 97, 95,101,114,
+ 114, 41, 41, 39, 41, 10, 9, 9,101,108,115,101, 10, 9, 9,
+ 32, 32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 32,105,
+ 102, 32, 40, 33,116,111,108,117, 97, 95,105,115,117,115,101,
+ 114,116,121,112,101, 97,114,114, 97,121, 40,116,111,108,117,
+ 97, 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44, 34, 39,
+ 44,116,121,112,101, 44, 39, 34, 44, 39, 44,115,101,108,102,
+ 46,100,105,109, 44, 39, 44, 39, 44,100,101,102, 44, 39, 44,
+ 38,116,111,108,117, 97, 95,101,114,114, 41, 41, 39, 41, 10,
+ 9, 9,101,110,100, 10, 32, 32,111,117,116,112,117,116, 40,
+ 39, 32, 32, 32, 32,103,111,116,111, 32,116,111,108,117, 97,
+ 95,108,101,114,114,111,114, 59, 39, 41, 10, 32, 32,111,117,
+ 116,112,117,116, 40, 39, 32, 32, 32,101,108,115,101, 92,110,
+ 39, 41, 10, 9, 32,111,117,116,112,117,116, 40, 39, 35,101,
+ 110,100,105,102, 92,110, 39, 41, 10, 32, 32,111,117,116,112,
+ 117,116, 40, 39, 32, 32, 32,123, 39, 41, 10, 32, 32,111,117,
+ 116,112,117,116, 40, 39, 32, 32, 32, 32,105,110,116, 32,105,
+ 59, 39, 41, 10, 32, 32,111,117,116,112,117,116, 40, 39, 32,
+ 32, 32, 32,102,111,114, 40,105, 61, 48, 59, 32,105, 60, 39,
+ 46, 46,115,101,108,102, 46,100,105,109, 46, 46, 39, 59,105,
+ 43, 43, 41, 39, 41, 10, 32, 32,108,111, 99, 97,108, 32,116,
+ 32, 61, 32,105,115, 98, 97,115,105, 99, 40,116,121,112,101,
+ 41, 10, 32, 32,108,111, 99, 97,108, 32,112,116,114, 32, 61,
+ 32, 39, 39, 10, 32, 32,105,102, 32,115,101,108,102, 46,112,
+ 116,114,126, 61, 39, 39, 32,116,104,101,110, 32,112,116,114,
+ 32, 61, 32, 39, 42, 39, 32,101,110,100, 10, 32, 32,111,117,
+ 116,112,117,116, 40, 39, 32, 32, 32, 39, 44,115,101,108,102,
+ 46,110, 97,109,101, 46, 46, 39, 91,105, 93, 32, 61, 32, 39,
+ 41, 10, 32, 32,105,102, 32,110,111,116, 32,116, 32, 97,110,
+ 100, 32,112,116,114, 61, 61, 39, 39, 32,116,104,101,110, 32,
+ 111,117,116,112,117,116, 40, 39, 42, 39, 41, 32,101,110,100,
+ 10, 32, 32,111,117,116,112,117,116, 40, 39, 40, 40, 39, 44,
+ 116,121,112,101, 41, 10, 32, 32,105,102, 32,110,111,116, 32,
+ 116, 32,116,104,101,110, 10, 32, 32, 32,111,117,116,112,117,
+ 116, 40, 39, 42, 39, 41, 10, 32, 32,101,110,100, 10, 32, 32,
+ 111,117,116,112,117,116, 40, 39, 41, 32, 39, 41, 10, 32, 32,
+ 108,111, 99, 97,108, 32,100,101,102, 32, 61, 32, 48, 10, 32,
+ 32,105,102, 32,115,101,108,102, 46,100,101,102, 32,126, 61,
+ 32, 39, 39, 32,116,104,101,110, 32,100,101,102, 32, 61, 32,
+ 115,101,108,102, 46,100,101,102, 32,101,110,100, 10, 32, 32,
+ 105,102, 32,116, 32,116,104,101,110, 10, 32, 32, 32,111,117,
+ 116,112,117,116, 40, 39,116,111,108,117, 97, 95,116,111,102,
+ 105,101,108,100, 39, 46, 46,116, 46, 46, 39, 40,116,111,108,
+ 117, 97, 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44,105,
+ 43, 49, 44, 39, 44,100,101,102, 44, 39, 41, 41, 59, 39, 41,
+ 10, 32, 32,101,108,115,101, 10, 32, 32, 32,111,117,116,112,
+ 117,116, 40, 39,116,111,108,117, 97, 95,116,111,102,105,101,
+ 108,100,117,115,101,114,116,121,112,101, 40,116,111,108,117,
+ 97, 95, 83, 44, 39, 44,110, 97,114,103, 44, 39, 44,105, 43,
+ 49, 44, 39, 44,100,101,102, 44, 39, 41, 41, 59, 39, 41, 10,
+ 32, 32,101,110,100, 10, 32, 32,111,117,116,112,117,116, 40,
+ 39, 32, 32, 32,125, 39, 41, 10, 32, 32,111,117,116,112,117,
+ 116, 40, 39, 32, 32,125, 39, 41, 10, 32,101,110,100, 10,101,
+ 110,100, 10, 10, 45, 45, 32, 71,101,116, 32,112, 97,114, 97,
+ 109,101,116,101,114, 32,118, 97,108,117,101, 10,102,117,110,
+ 99,116,105,111,110, 32, 99,108, 97,115,115, 68,101, 99,108,
+ 97,114, 97,116,105,111,110, 58,115,101,116, 97,114,114, 97,
+ 121, 32, 40,110, 97,114,103, 41, 10, 32,105,102, 32,110,111,
+ 116, 32,115,116,114,102,105,110,100, 40,115,101,108,102, 46,
+ 116,121,112,101, 44, 39, 99,111,110,115,116, 37,115, 43, 39,
+ 41, 32, 97,110,100, 32,115,101,108,102, 46,100,105,109, 32,
+ 126, 61, 32, 39, 39, 32,116,104,101,110, 10, 9, 32,108,111,
+ 99, 97,108, 32,116,121,112,101, 32, 61, 32,103,115,117, 98,
+ 40,115,101,108,102, 46,116,121,112,101, 44, 39, 99,111,110,
+ 115,116, 32, 39, 44, 39, 39, 41, 10, 32, 32,111,117,116,112,
+ 117,116, 40, 39, 32, 32,123, 39, 41, 10, 32, 32,111,117,116,
+ 112,117,116, 40, 39, 32, 32, 32,105,110,116, 32,105, 59, 39,
+ 41, 10, 32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 32,
+ 102,111,114, 40,105, 61, 48, 59, 32,105, 60, 39, 46, 46,115,
+ 101,108,102, 46,100,105,109, 46, 46, 39, 59,105, 43, 43, 41,
+ 39, 41, 10, 32, 32,108,111, 99, 97,108, 32,116, 44, 99,116,
+ 32, 61, 32,105,115, 98, 97,115,105, 99, 40,116,121,112,101,
+ 41, 10, 32, 32,105,102, 32,116, 32,116,104,101,110, 10, 32,
+ 32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 32, 32,116,
+ 111,108,117, 97, 95,112,117,115,104,102,105,101,108,100, 39,
+ 46, 46,116, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44,
+ 39, 44,110, 97,114,103, 44, 39, 44,105, 43, 49, 44, 40, 39,
+ 44, 99,116, 44, 39, 41, 39, 44,115,101,108,102, 46,110, 97,
+ 109,101, 44, 39, 91,105, 93, 41, 59, 39, 41, 10, 32, 32,101,
+ 108,115,101, 10, 32, 32, 32,105,102, 32,115,101,108,102, 46,
+ 112,116,114, 32, 61, 61, 32, 39, 39, 32,116,104,101,110, 10,
+ 32, 32, 32, 32, 32,111,117,116,112,117,116, 40, 39, 32, 32,
+ 32,123, 39, 41, 10, 32, 32, 32, 32, 32,111,117,116,112,117,
+ 116, 40, 39, 35,105,102,100,101,102, 32, 95, 95, 99,112,108,
+ 117,115,112,108,117,115, 92,110, 39, 41, 10, 32, 32, 32, 32,
+ 32,111,117,116,112,117,116, 40, 39, 32, 32, 32, 32,118,111,
+ 105,100, 42, 32,116,111,108,117, 97, 95,111, 98,106, 32, 61,
+ 32, 77,116,111,108,117, 97, 95,110,101,119, 40, 40, 39, 44,
+ 116,121,112,101, 44, 39, 41, 40, 39, 44,115,101,108,102, 46,
+ 110, 97,109,101, 44, 39, 91,105, 93, 41, 41, 59, 39, 41, 10,
+ 32, 32, 32, 32, 32,111,117,116,112,117,116, 40, 39, 32, 32,
+ 32, 32,116,111,108,117, 97, 95,112,117,115,104,102,105,101,
+ 108,100,117,115,101,114,116,121,112,101, 95, 97,110,100, 95,
+ 116, 97,107,101,111,119,110,101,114,115,104,105,112, 40,116,
+ 111,108,117, 97, 95, 83, 44, 39, 44,110, 97,114,103, 44, 39,
+ 44,105, 43, 49, 44,116,111,108,117, 97, 95,111, 98,106, 44,
+ 34, 39, 44,116,121,112,101, 44, 39, 34, 41, 59, 39, 41, 10,
+ 32, 32, 32, 32, 32,111,117,116,112,117,116, 40, 39, 35,101,
+ 108,115,101, 92,110, 39, 41, 10, 32, 32, 32, 32, 32,111,117,
+ 116,112,117,116, 40, 39, 32, 32, 32, 32,118,111,105,100, 42,
+ 32,116,111,108,117, 97, 95,111, 98,106, 32, 61, 32,116,111,
+ 108,117, 97, 95, 99,111,112,121, 40,116,111,108,117, 97, 95,
+ 83, 44, 40,118,111,105,100, 42, 41, 38, 39, 44,115,101,108,
+ 102, 46,110, 97,109,101, 44, 39, 91,105, 93, 44,115,105,122,
+ 101,111,102, 40, 39, 44,116,121,112,101, 44, 39, 41, 41, 59,
+ 39, 41, 10, 32, 32, 32, 32, 32,111,117,116,112,117,116, 40,
+ 39, 32, 32, 32, 32,116,111,108,117, 97, 95,112,117,115,104,
+ 102,105,101,108,100,117,115,101,114,116,121,112,101, 40,116,
+ 111,108,117, 97, 95, 83, 44, 39, 44,110, 97,114,103, 44, 39,
+ 44,105, 43, 49, 44,116,111,108,117, 97, 95,111, 98,106, 44,
+ 34, 39, 44,116,121,112,101, 44, 39, 34, 41, 59, 39, 41, 10,
+ 32, 32, 32, 32, 32,111,117,116,112,117,116, 40, 39, 35,101,
+ 110,100,105,102, 92,110, 39, 41, 10, 32, 32, 32, 32, 32,111,
+ 117,116,112,117,116, 40, 39, 32, 32, 32,125, 39, 41, 10, 32,
+ 32, 32,101,108,115,101, 10, 32, 32, 32, 32,111,117,116,112,
+ 117,116, 40, 39, 32, 32, 32,116,111,108,117, 97, 95,112,117,
+ 115,104,102,105,101,108,100,117,115,101,114,116,121,112,101,
+ 40,116,111,108,117, 97, 95, 83, 44, 39, 44,110, 97,114,103,
+ 44, 39, 44,105, 43, 49, 44, 40,118,111,105,100, 42, 41, 39,
+ 44,115,101,108,102, 46,110, 97,109,101, 44, 39, 91,105, 93,
+ 44, 34, 39, 44,116,121,112,101, 44, 39, 34, 41, 59, 39, 41,
+ 10, 32, 32, 32,101,110,100, 10, 32, 32,101,110,100, 10, 32,
+ 32,111,117,116,112,117,116, 40, 39, 32, 32,125, 39, 41, 10,
+ 32,101,110,100, 10,101,110,100, 10, 10, 45, 45, 32, 70,114,
+ 101,101, 32,100,121,110, 97,109,105, 99, 97,108,108,121, 32,
+ 97,108,108,111, 99, 97,116,101,100, 32, 97,114,114, 97,121,
+ 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115,
+ 68,101, 99,108, 97,114, 97,116,105,111,110, 58,102,114,101,
+ 101, 97,114,114, 97,121, 32, 40, 41, 10, 32,105,102, 32,115,
+ 101,108,102, 46,100,105,109, 32,126, 61, 32, 39, 39, 32, 97,
+ 110,100, 32,116,111,110,117,109, 98,101,114, 40,115,101,108,
+ 102, 46,100,105,109, 41, 61, 61,110,105,108, 32,116,104,101,
+ 110, 10, 9, 32,111,117,116,112,117,116, 40, 39, 35,105,102,
+ 100,101,102, 32, 95, 95, 99,112,108,117,115,112,108,117,115,
+ 92,110, 39, 41, 10, 9, 9,111,117,116,112,117,116, 40, 39,
+ 32, 32, 77,116,111,108,117, 97, 95,100,101,108,101,116,101,
+ 95,100,105,109, 40, 39, 44,115,101,108,102, 46,110, 97,109,
+ 101, 44, 39, 41, 59, 39, 41, 10, 9, 32,111,117,116,112,117,
+ 116, 40, 39, 35,101,108,115,101, 92,110, 39, 41, 10, 32, 32,
+ 111,117,116,112,117,116, 40, 39, 32, 32,102,114,101,101, 40,
+ 39, 44,115,101,108,102, 46,110, 97,109,101, 44, 39, 41, 59,
+ 39, 41, 10, 9, 32,111,117,116,112,117,116, 40, 39, 35,101,
+ 110,100,105,102, 92,110, 39, 41, 10, 32,101,110,100, 10,101,
+ 110,100, 10, 10, 45, 45, 32, 80, 97,115,115, 32,112, 97,114,
+ 97,109,101,116,101,114, 10,102,117,110, 99,116,105,111,110,
+ 32, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,105,
+ 111,110, 58,112, 97,115,115,112, 97,114, 32, 40, 41, 10, 32,
+ 105,102, 32,115,101,108,102, 46,112,116,114, 61, 61, 39, 38,
+ 39, 32, 97,110,100, 32,110,111,116, 32,105,115, 98, 97,115,
+ 105, 99, 40,115,101,108,102, 46,116,121,112,101, 41, 32,116,
+ 104,101,110, 10, 32, 32,111,117,116,112,117,116, 40, 39, 42,
+ 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 41, 10, 32,
+ 101,108,115,101,105,102, 32,115,101,108,102, 46,114,101,116,
+ 61, 61, 39, 42, 39, 32,116,104,101,110, 10, 32, 32,111,117,
+ 116,112,117,116, 40, 39, 38, 39, 46, 46,115,101,108,102, 46,
+ 110, 97,109,101, 41, 10, 32,101,108,115,101, 10, 32, 32,111,
+ 117,116,112,117,116, 40,115,101,108,102, 46,110, 97,109,101,
+ 41, 10, 32,101,110,100, 10,101,110,100, 10, 10, 45, 45, 32,
+ 82,101,116,117,114,110, 32,112, 97,114, 97,109,101,116,101,
+ 114, 32,118, 97,108,117,101, 10,102,117,110, 99,116,105,111,
+ 110, 32, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,
+ 105,111,110, 58,114,101,116,118, 97,108,117,101, 32, 40, 41,
+ 10, 32,105,102, 32,115,101,108,102, 46,114,101,116, 32,126,
+ 61, 32, 39, 39, 32,116,104,101,110, 10, 32, 32,108,111, 99,
+ 97,108, 32,116, 44, 99,116, 32, 61, 32,105,115, 98, 97,115,
+ 105, 99, 40,115,101,108,102, 46,116,121,112,101, 41, 10, 32,
+ 32,105,102, 32,116, 32, 97,110,100, 32,116,126, 61, 39, 39,
+ 32,116,104,101,110, 10, 32, 32, 32,111,117,116,112,117,116,
+ 40, 39, 32, 32, 32,116,111,108,117, 97, 95,112,117,115,104,
+ 39, 46, 46,116, 46, 46, 39, 40,116,111,108,117, 97, 95, 83,
+ 44, 40, 39, 44, 99,116, 44, 39, 41, 39, 46, 46,115,101,108,
+ 102, 46,110, 97,109,101, 46, 46, 39, 41, 59, 39, 41, 10, 32,
+ 32,101,108,115,101, 10, 32, 32, 32,108,111, 99, 97,108, 32,
+ 112,117,115,104, 95,102,117,110, 99, 32, 61, 32,103,101,116,
+ 95,112,117,115,104, 95,102,117,110, 99,116,105,111,110, 40,
+ 115,101,108,102, 46,116,121,112,101, 41, 10, 32, 32, 32,111,
+ 117,116,112,117,116, 40, 39, 32, 32, 32, 39, 44,112,117,115,
+ 104, 95,102,117,110, 99, 44, 39, 40,116,111,108,117, 97, 95,
+ 83, 44, 40,118,111,105,100, 42, 41, 39, 46, 46,115,101,108,
+ 102, 46,110, 97,109,101, 46, 46, 39, 44, 34, 39, 44,115,101,
+ 108,102, 46,116,121,112,101, 44, 39, 34, 41, 59, 39, 41, 10,
+ 32, 32,101,110,100, 10, 32, 32,114,101,116,117,114,110, 32,
+ 49, 10, 32,101,110,100, 10, 32,114,101,116,117,114,110, 32,
+ 48, 10,101,110,100, 10, 10, 45, 45, 32, 73,110,116,101,114,
+ 110, 97,108, 32, 99,111,110,115,116,114,117, 99,116,111,114,
+ 10,102,117,110, 99,116,105,111,110, 32, 95, 68,101, 99,108,
+ 97,114, 97,116,105,111,110, 32, 40,116, 41, 10, 10, 32,115,
+ 101,116,109,101,116, 97,116, 97, 98,108,101, 40,116, 44, 99,
+ 108, 97,115,115, 68,101, 99,108, 97,114, 97,116,105,111,110,
+ 41, 10, 32,116, 58, 98,117,105,108,100,110, 97,109,101,115,
+ 40, 41, 10, 32,116, 58, 99,104,101, 99,107,110, 97,109,101,
+ 40, 41, 10, 32,116, 58, 99,104,101, 99,107,116,121,112,101,
+ 40, 41, 10, 32,108,111, 99, 97,108, 32,102,116, 32, 61, 32,
+ 102,105,110,100,116,121,112,101, 40,116, 46,116,121,112,101,
+ 41, 32,111,114, 32,116, 46,116,121,112,101, 10, 32,105,102,
+ 32,110,111,116, 32,105,115,101,110,117,109, 40,102,116, 41,
+ 32,116,104,101,110, 10, 9,116, 46,109,111,100, 44, 32,116,
+ 46,116,121,112,101, 32, 61, 32, 97,112,112,108,121,116,121,
+ 112,101,100,101,102, 40,116, 46,109,111,100, 44, 32,102,116,
+ 41, 10, 32,101,110,100, 10, 10, 32,105,102, 32,116, 46,107,
+ 105,110,100, 61, 61, 34,118, 97,114, 34, 32, 97,110,100, 32,
+ 40,115,116,114,105,110,103, 46,102,105,110,100, 40,116, 46,
+ 109,111,100, 44, 32, 34,116,111,108,117, 97, 95,112,114,111,
+ 112,101,114,116,121, 37,115, 34, 41, 32,111,114, 32,115,116,
+ 114,105,110,103, 46,102,105,110,100, 40,116, 46,109,111,100,
+ 44, 32, 34,116,111,108,117, 97, 95,112,114,111,112,101,114,
+ 116,121, 36, 34, 41, 41, 32,116,104,101,110, 10, 32, 9,116,
+ 46,109,111,100, 32, 61, 32,115,116,114,105,110,103, 46,103,
+ 115,117, 98, 40,116, 46,109,111,100, 44, 32, 34,116,111,108,
+ 117, 97, 95,112,114,111,112,101,114,116,121, 34, 44, 32, 34,
+ 116,111,108,117, 97, 95,112,114,111,112,101,114,116,121, 95,
+ 95, 34, 46, 46,103,101,116, 95,112,114,111,112,101,114,116,
+ 121, 95,116,121,112,101, 40, 41, 41, 10, 32,101,110,100, 10,
+ 10, 32,114,101,116,117,114,110, 32,116, 10,101,110,100, 10,
+ 10, 45, 45, 32, 67,111,110,115,116,114,117, 99,116,111,114,
+ 10, 45, 45, 32, 69,120,112,101, 99,116,115, 32,116,104,101,
+ 32,115,116,114,105,110,103, 32,100,101, 99,108, 97,114, 97,
+ 116,105,111,110, 46, 10, 45, 45, 32, 84,104,101, 32,107,105,
+ 110,100, 32,111,102, 32,100,101, 99,108, 97,114, 97,116,105,
+ 111,110, 32, 99, 97,110, 32, 98,101, 32, 34,118, 97,114, 34,
+ 32,111,114, 32, 34,102,117,110, 99, 34, 46, 10,102,117,110,
+ 99,116,105,111,110, 32, 68,101, 99,108, 97,114, 97,116,105,
+ 111,110, 32, 40,115, 44,107,105,110,100, 44,105,115, 95,112,
+ 97,114, 97,109,101,116,101,114, 41, 10, 10, 32, 45, 45, 32,
+ 101,108,105,109,105,110, 97,116,101, 32,115,112, 97, 99,101,
+ 115, 32,105,102, 32,100,101,102, 97,117,108,116, 32,118, 97,
+ 108,117,101, 32,105,115, 32,112,114,111,118,105,100,101,100,
+ 10, 32,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 37,
+ 115, 42, 61, 37,115, 42, 34, 44, 34, 61, 34, 41, 10, 32,115,
+ 32, 61, 32,103,115,117, 98, 40,115, 44, 32, 34, 37,115, 42,
+ 60, 34, 44, 32, 34, 60, 34, 41, 10, 10, 32,108,111, 99, 97,
+ 108, 32,100,101,102, 98, 44,116,109,112,100,101,102, 10, 32,
+ 100,101,102, 98, 44, 95, 44,116,109,112,100,101,102, 32, 61,
+ 32,115,116,114,105,110,103, 46,102,105,110,100, 40,115, 44,
+ 32, 34, 40, 61, 46, 42, 41, 36, 34, 41, 10, 32,105,102, 32,
+ 100,101,102, 98, 32,116,104,101,110, 10, 32, 9,115, 32, 61,
+ 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,115, 44,
+ 32, 34, 61, 46, 42, 36, 34, 44, 32, 34, 34, 41, 10, 32,101,
+ 108,115,101, 10, 32, 9,116,109,112,100,101,102, 32, 61, 32,
+ 39, 39, 10, 32,101,110,100, 10, 32,105,102, 32,107,105,110,
+ 100, 32, 61, 61, 32, 34,118, 97,114, 34, 32,116,104,101,110,
+ 10, 32, 32, 45, 45, 32, 99,104,101, 99,107, 32,116,104,101,
+ 32,102,111,114,109, 58, 32,118,111,105,100, 10, 32, 32,105,
+ 102, 32,115, 32, 61, 61, 32, 39, 39, 32,111,114, 32,115, 32,
+ 61, 61, 32, 39,118,111,105,100, 39, 32,116,104,101,110, 10,
+ 32, 32, 32,114,101,116,117,114,110, 32, 95, 68,101, 99,108,
+ 97,114, 97,116,105,111,110,123,116,121,112,101, 32, 61, 32,
+ 39,118,111,105,100, 39, 44, 32,107,105,110,100, 32, 61, 32,
+ 107,105,110,100, 44, 32,105,115, 95,112, 97,114, 97,109,101,
+ 116,101,114, 32, 61, 32,105,115, 95,112, 97,114, 97,109,101,
+ 116,101,114,125, 10, 32, 32,101,110,100, 10, 32,101,110,100,
+ 10, 10, 32, 45, 45, 32, 99,104,101, 99,107, 32,116,104,101,
+ 32,102,111,114,109, 58, 32,109,111,100, 32,116,121,112,101,
+ 42, 38, 32,110, 97,109,101, 10, 32,108,111, 99, 97,108, 32,
+ 116, 32, 61, 32,115,112,108,105,116, 95, 99, 95,116,111,107,
+ 101,110,115, 40,115, 44, 39, 37, 42, 37,115, 42, 38, 39, 41,
+ 10, 32,105,102, 32,116, 46,110, 32, 61, 61, 32, 50, 32,116,
+ 104,101,110, 10, 32, 32,105,102, 32,107,105,110,100, 32, 61,
+ 61, 32, 39,102,117,110, 99, 39, 32,116,104,101,110, 10, 32,
+ 32, 32,101,114,114,111,114, 40, 34, 35,105,110,118, 97,108,
+ 105,100, 32,102,117,110, 99,116,105,111,110, 32,114,101,116,
+ 117,114,110, 32,116,121,112,101, 58, 32, 34, 46, 46,115, 41,
+ 10, 32, 32,101,110,100, 10, 32, 32, 45, 45,108,111, 99, 97,
+ 108, 32,109, 32, 61, 32,115,112,108,105,116, 40,116, 91, 49,
+ 93, 44, 39, 37,115, 37,115, 42, 39, 41, 10, 32, 32,108,111,
+ 99, 97,108, 32,109, 32, 61, 32,115,112,108,105,116, 95, 99,
+ 95,116,111,107,101,110,115, 40,116, 91, 49, 93, 44, 39, 37,
+ 115, 43, 39, 41, 10, 32, 32,114,101,116,117,114,110, 32, 95,
+ 68,101, 99,108, 97,114, 97,116,105,111,110,123, 10, 32, 32,
+ 32,110, 97,109,101, 32, 61, 32,116, 91, 50, 93, 46, 46,116,
+ 109,112,100,101,102, 44, 10, 32, 32, 32,112,116,114, 32, 61,
+ 32, 39, 42, 39, 44, 10, 32, 32, 32,114,101,116, 32, 61, 32,
+ 39, 38, 39, 44, 10, 32, 32, 32, 45, 45,116,121,112,101, 32,
+ 61, 32,114,101, 98,117,105,108,100, 95,116,101,109,112,108,
+ 97,116,101, 40,109, 91,109, 46,110, 93, 44, 32,116, 98, 44,
+ 32,116,105,109,112,108, 41, 44, 10, 32, 32, 32,116,121,112,
+ 101, 32, 61, 32,109, 91,109, 46,110, 93, 44, 10, 32, 32, 32,
+ 109,111,100, 32, 61, 32, 99,111,110, 99, 97,116, 40,109, 44,
+ 49, 44,109, 46,110, 45, 49, 41, 44, 10, 32, 32, 32,105,115,
+ 95,112, 97,114, 97,109,101,116,101,114, 32, 61, 32,105,115,
+ 95,112, 97,114, 97,109,101,116,101,114, 44, 10, 32, 32, 32,
+ 107,105,110,100, 32, 61, 32,107,105,110,100, 10, 32, 32,125,
+ 10, 32,101,110,100, 10, 10, 32, 45, 45, 32, 99,104,101, 99,
+ 107, 32,116,104,101, 32,102,111,114,109, 58, 32,109,111,100,
+ 32,116,121,112,101, 42, 42, 32,110, 97,109,101, 10, 32,116,
+ 32, 61, 32,115,112,108,105,116, 95, 99, 95,116,111,107,101,
+ 110,115, 40,115, 44, 39, 37, 42, 37,115, 42, 37, 42, 39, 41,
+ 10, 32,105,102, 32,116, 46,110, 32, 61, 61, 32, 50, 32,116,
+ 104,101,110, 10, 32, 32,105,102, 32,107,105,110,100, 32, 61,
+ 61, 32, 39,102,117,110, 99, 39, 32,116,104,101,110, 10, 32,
+ 32, 32,101,114,114,111,114, 40, 34, 35,105,110,118, 97,108,
+ 105,100, 32,102,117,110, 99,116,105,111,110, 32,114,101,116,
+ 117,114,110, 32,116,121,112,101, 58, 32, 34, 46, 46,115, 41,
+ 10, 32, 32,101,110,100, 10, 32, 32, 45, 45,108,111, 99, 97,
+ 108, 32,109, 32, 61, 32,115,112,108,105,116, 40,116, 91, 49,
+ 93, 44, 39, 37,115, 37,115, 42, 39, 41, 10, 32, 32,108,111,
+ 99, 97,108, 32,109, 32, 61, 32,115,112,108,105,116, 95, 99,
+ 95,116,111,107,101,110,115, 40,116, 91, 49, 93, 44, 39, 37,
+ 115, 43, 39, 41, 10, 32, 32,114,101,116,117,114,110, 32, 95,
+ 68,101, 99,108, 97,114, 97,116,105,111,110,123, 10, 32, 32,
+ 32,110, 97,109,101, 32, 61, 32,116, 91, 50, 93, 46, 46,116,
+ 109,112,100,101,102, 44, 10, 32, 32, 32,112,116,114, 32, 61,
+ 32, 39, 42, 39, 44, 10, 32, 32, 32,114,101,116, 32, 61, 32,
+ 39, 42, 39, 44, 10, 32, 32, 32, 45, 45,116,121,112,101, 32,
+ 61, 32,114,101, 98,117,105,108,100, 95,116,101,109,112,108,
+ 97,116,101, 40,109, 91,109, 46,110, 93, 44, 32,116, 98, 44,
+ 32,116,105,109,112,108, 41, 44, 10, 32, 32, 32,116,121,112,
+ 101, 32, 61, 32,109, 91,109, 46,110, 93, 44, 10, 32, 32, 32,
+ 109,111,100, 32, 61, 32, 99,111,110, 99, 97,116, 40,109, 44,
+ 49, 44,109, 46,110, 45, 49, 41, 44, 10, 32, 32, 32,105,115,
+ 95,112, 97,114, 97,109,101,116,101,114, 32, 61, 32,105,115,
+ 95,112, 97,114, 97,109,101,116,101,114, 44, 10, 32, 32, 32,
+ 107,105,110,100, 32, 61, 32,107,105,110,100, 10, 32, 32,125,
+ 10, 32,101,110,100, 10, 10, 32, 45, 45, 32, 99,104,101, 99,
+ 107, 32,116,104,101, 32,102,111,114,109, 58, 32,109,111,100,
+ 32,116,121,112,101, 38, 32,110, 97,109,101, 10, 32,116, 32,
+ 61, 32,115,112,108,105,116, 95, 99, 95,116,111,107,101,110,
+ 115, 40,115, 44, 39, 38, 39, 41, 10, 32,105,102, 32,116, 46,
+ 110, 32, 61, 61, 32, 50, 32,116,104,101,110, 10, 32, 32, 45,
+ 45,108,111, 99, 97,108, 32,109, 32, 61, 32,115,112,108,105,
+ 116, 40,116, 91, 49, 93, 44, 39, 37,115, 37,115, 42, 39, 41,
+ 10, 32, 32,108,111, 99, 97,108, 32,109, 32, 61, 32,115,112,
+ 108,105,116, 95, 99, 95,116,111,107,101,110,115, 40,116, 91,
+ 49, 93, 44, 39, 37,115, 43, 39, 41, 10, 32, 32,114,101,116,
+ 117,114,110, 32, 95, 68,101, 99,108, 97,114, 97,116,105,111,
+ 110,123, 10, 32, 32, 32,110, 97,109,101, 32, 61, 32,116, 91,
+ 50, 93, 46, 46,116,109,112,100,101,102, 44, 10, 32, 32, 32,
+ 112,116,114, 32, 61, 32, 39, 38, 39, 44, 10, 32, 32, 32, 45,
+ 45,116,121,112,101, 32, 61, 32,114,101, 98,117,105,108,100,
+ 95,116,101,109,112,108, 97,116,101, 40,109, 91,109, 46,110,
+ 93, 44, 32,116, 98, 44, 32,116,105,109,112,108, 41, 44, 10,
+ 32, 32, 32,116,121,112,101, 32, 61, 32,109, 91,109, 46,110,
+ 93, 44, 10, 32, 32, 32,109,111,100, 32, 61, 32, 99,111,110,
+ 99, 97,116, 40,109, 44, 49, 44,109, 46,110, 45, 49, 41, 44,
+ 10, 32, 32, 32,105,115, 95,112, 97,114, 97,109,101,116,101,
+ 114, 32, 61, 32,105,115, 95,112, 97,114, 97,109,101,116,101,
+ 114, 44, 10, 32, 32, 32,107,105,110,100, 32, 61, 32,107,105,
+ 110,100, 10, 32, 32,125, 10, 32,101,110,100, 10, 10, 32, 45,
+ 45, 32, 99,104,101, 99,107, 32,116,104,101, 32,102,111,114,
+ 109, 58, 32,109,111,100, 32,116,121,112,101, 42, 32,110, 97,
+ 109,101, 10, 32,108,111, 99, 97,108, 32,115, 49, 32, 61, 32,
+ 103,115,117, 98, 40,115, 44, 34, 40, 37, 98, 92, 91, 92, 93,
+ 41, 34, 44,102,117,110, 99,116,105,111,110, 32, 40,110, 41,
+ 32,114,101,116,117,114,110, 32,103,115,117, 98, 40,110, 44,
+ 39, 37, 42, 39, 44, 39, 92, 49, 39, 41, 32,101,110,100, 41,
+ 10, 32,116, 32, 61, 32,115,112,108,105,116, 95, 99, 95,116,
+ 111,107,101,110,115, 40,115, 49, 44, 39, 37, 42, 39, 41, 10,
+ 32,105,102, 32,116, 46,110, 32, 61, 61, 32, 50, 32,116,104,
+ 101,110, 10, 32, 32,116, 91, 50, 93, 32, 61, 32,103,115,117,
+ 98, 40,116, 91, 50, 93, 44, 39, 92, 49, 39, 44, 39, 37, 42,
+ 39, 41, 32, 45, 45, 32,114,101,115,116,111,114,101, 32, 42,
+ 32,105,110, 32,100,105,109,101,110,115,105,111,110, 32,101,
+ 120,112,114,101,115,115,105,111,110, 10, 32, 32, 45, 45,108,
+ 111, 99, 97,108, 32,109, 32, 61, 32,115,112,108,105,116, 40,
+ 116, 91, 49, 93, 44, 39, 37,115, 37,115, 42, 39, 41, 10, 32,
+ 32,108,111, 99, 97,108, 32,109, 32, 61, 32,115,112,108,105,
+ 116, 95, 99, 95,116,111,107,101,110,115, 40,116, 91, 49, 93,
+ 44, 39, 37,115, 43, 39, 41, 10, 32, 32,114,101,116,117,114,
+ 110, 32, 95, 68,101, 99,108, 97,114, 97,116,105,111,110,123,
+ 10, 32, 32, 32,110, 97,109,101, 32, 61, 32,116, 91, 50, 93,
+ 46, 46,116,109,112,100,101,102, 44, 10, 32, 32, 32,112,116,
+ 114, 32, 61, 32, 39, 42, 39, 44, 10, 32, 32, 32,116,121,112,
+ 101, 32, 61, 32,109, 91,109, 46,110, 93, 44, 10, 32, 32, 32,
+ 45, 45,116,121,112,101, 32, 61, 32,114,101, 98,117,105,108,
+ 100, 95,116,101,109,112,108, 97,116,101, 40,109, 91,109, 46,
+ 110, 93, 44, 32,116, 98, 44, 32,116,105,109,112,108, 41, 44,
+ 10, 32, 32, 32,109,111,100, 32, 61, 32, 99,111,110, 99, 97,
+ 116, 40,109, 44, 49, 44,109, 46,110, 45, 49, 41, 32, 32, 32,
+ 44, 10, 32, 32, 32,105,115, 95,112, 97,114, 97,109,101,116,
+ 101,114, 32, 61, 32,105,115, 95,112, 97,114, 97,109,101,116,
+ 101,114, 44, 10, 32, 32, 32,107,105,110,100, 32, 61, 32,107,
+ 105,110,100, 10, 32, 32,125, 10, 32,101,110,100, 10, 10, 32,
+ 105,102, 32,107,105,110,100, 32, 61, 61, 32, 39,118, 97,114,
+ 39, 32,116,104,101,110, 10, 32, 32, 45, 45, 32, 99,104,101,
+ 99,107, 32,116,104,101, 32,102,111,114,109, 58, 32,109,111,
+ 100, 32,116,121,112,101, 32,110, 97,109,101, 10, 32, 32, 45,
+ 45,116, 32, 61, 32,115,112,108,105,116, 40,115, 44, 39, 37,
+ 115, 37,115, 42, 39, 41, 10, 32, 32,116, 32, 61, 32,115,112,
+ 108,105,116, 95, 99, 95,116,111,107,101,110,115, 40,115, 44,
+ 39, 37,115, 43, 39, 41, 10, 32, 32,108,111, 99, 97,108, 32,
+ 118, 10, 32, 32,105,102, 32,102,105,110,100,116,121,112,101,
+ 40,116, 91,116, 46,110, 93, 41, 32,116,104,101,110, 32,118,
+ 32, 61, 32, 99,114,101, 97,116,101, 95,118, 97,114,110, 97,
+ 109,101, 40, 41, 32,101,108,115,101, 32,118, 32, 61, 32,116,
+ 91,116, 46,110, 93, 59, 32,116, 46,110, 32, 61, 32,116, 46,
+ 110, 45, 49, 32,101,110,100, 10, 32, 32,114,101,116,117,114,
+ 110, 32, 95, 68,101, 99,108, 97,114, 97,116,105,111,110,123,
+ 10, 32, 32, 32,110, 97,109,101, 32, 61, 32,118, 46, 46,116,
+ 109,112,100,101,102, 44, 10, 32, 32, 32, 45, 45,116,121,112,
+ 101, 32, 61, 32,114,101, 98,117,105,108,100, 95,116,101,109,
+ 112,108, 97,116,101, 40,116, 91,116, 46,110, 93, 44, 32,116,
+ 98, 44, 32,116,105,109,112,108, 41, 44, 10, 32, 32, 32,116,
+ 121,112,101, 32, 61, 32,116, 91,116, 46,110, 93, 44, 10, 32,
+ 32, 32,109,111,100, 32, 61, 32, 99,111,110, 99, 97,116, 40,
+ 116, 44, 49, 44,116, 46,110, 45, 49, 41, 44, 10, 32, 32, 32,
+ 105,115, 95,112, 97,114, 97,109,101,116,101,114, 32, 61, 32,
+ 105,115, 95,112, 97,114, 97,109,101,116,101,114, 44, 10, 32,
+ 32, 32,107,105,110,100, 32, 61, 32,107,105,110,100, 10, 32,
+ 32,125, 10, 10, 32,101,108,115,101, 32, 45, 45, 32,107,105,
+ 110,100, 32, 61, 61, 32, 34,102,117,110, 99, 34, 10, 10, 32,
+ 32, 45, 45, 32, 99,104,101, 99,107, 32,116,104,101, 32,102,
+ 111,114,109, 58, 32,109,111,100, 32,116,121,112,101, 32,110,
+ 97,109,101, 10, 32, 32, 45, 45,116, 32, 61, 32,115,112,108,
+ 105,116, 40,115, 44, 39, 37,115, 37,115, 42, 39, 41, 10, 32,
+ 32,116, 32, 61, 32,115,112,108,105,116, 95, 99, 95,116,111,
+ 107,101,110,115, 40,115, 44, 39, 37,115, 43, 39, 41, 10, 32,
+ 32,108,111, 99, 97,108, 32,118, 32, 61, 32,116, 91,116, 46,
+ 110, 93, 32, 32, 45, 45, 32,108, 97,115,116, 32,119,111,114,
+ 100, 32,105,115, 32,116,104,101, 32,102,117,110, 99,116,105,
+ 111,110, 32,110, 97,109,101, 10, 32, 32,108,111, 99, 97,108,
+ 32,116,112, 44,109,100, 10, 32, 32,105,102, 32,116, 46,110,
+ 62, 49, 32,116,104,101,110, 10, 32, 32, 32,116,112, 32, 61,
+ 32,116, 91,116, 46,110, 45, 49, 93, 10, 32, 32, 32,109,100,
+ 32, 61, 32, 99,111,110, 99, 97,116, 40,116, 44, 49, 44,116,
+ 46,110, 45, 50, 41, 10, 32, 32,101,110,100, 10, 32, 32, 45,
+ 45,105,102, 32,116,112, 32,116,104,101,110, 32,116,112, 32,
+ 61, 32,114,101, 98,117,105,108,100, 95,116,101,109,112,108,
+ 97,116,101, 40,116,112, 44, 32,116, 98, 44, 32,116,105,109,
+ 112,108, 41, 32,101,110,100, 10, 32, 32,114,101,116,117,114,
+ 110, 32, 95, 68,101, 99,108, 97,114, 97,116,105,111,110,123,
+ 10, 32, 32, 32,110, 97,109,101, 32, 61, 32,118, 44, 10, 32,
+ 32, 32,116,121,112,101, 32, 61, 32,116,112, 44, 10, 32, 32,
+ 32,109,111,100, 32, 61, 32,109,100, 44, 10, 32, 32, 32,105,
+ 115, 95,112, 97,114, 97,109,101,116,101,114, 32, 61, 32,105,
+ 115, 95,112, 97,114, 97,109,101,116,101,114, 44, 10, 32, 32,
+ 32,107,105,110,100, 32, 61, 32,107,105,110,100, 10, 32, 32,
+ 125, 10, 32,101,110,100, 10, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: lua/tolua++/src/bin/lua/declaration.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32,118, 97,114,105, 97,
+ 98,108,101, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,
+ 105,116,116,101,110, 32, 98,121, 32, 87, 97,108,100,101,109,
+ 97,114, 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67,
+ 71,114, 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45,
+ 32, 74,117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,
+ 100, 58, 32, 36, 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,
+ 111,100,101, 32,105,115, 32,102,114,101,101, 32,115,111,102,
+ 116,119, 97,114,101, 59, 32,121,111,117, 32, 99, 97,110, 32,
+ 114,101,100,105,115,116,114,105, 98,117,116,101, 32,105,116,
+ 32, 97,110,100, 47,111,114, 32,109,111,100,105,102,121, 32,
+ 105,116, 46, 10, 45, 45, 32, 84,104,101, 32,115,111,102,116,
+ 119, 97,114,101, 32,112,114,111,118,105,100,101,100, 32,104,
+ 101,114,101,117,110,100,101,114, 32,105,115, 32,111,110, 32,
+ 97,110, 32, 34, 97,115, 32,105,115, 34, 32, 98, 97,115,105,
+ 115, 44, 32, 97,110,100, 10, 45, 45, 32,116,104,101, 32, 97,
+ 117,116,104,111,114, 32,104, 97,115, 32,110,111, 32,111, 98,
+ 108,105,103, 97,116,105,111,110, 32,116,111, 32,112,114,111,
+ 118,105,100,101, 32,109, 97,105,110,116,101,110, 97,110, 99,
+ 101, 44, 32,115,117,112,112,111,114,116, 44, 32,117,112,100,
+ 97,116,101,115, 44, 10, 45, 45, 32,101,110,104, 97,110, 99,
+ 101,109,101,110,116,115, 44, 32,111,114, 32,109,111,100,105,
+ 102,105, 99, 97,116,105,111,110,115, 46, 10, 10, 10, 45, 45,
+ 32, 86, 97,114,105, 97, 98,108,101, 32, 99,108, 97,115,115,
+ 10, 45, 45, 32, 82,101,112,114,101,115,101,110,116,115, 32,
+ 97, 32,101,120,116,101,114,110, 32,118, 97,114,105, 97, 98,
+ 108,101, 32,111,114, 32, 97, 32,112,117, 98,108,105, 99, 32,
+ 109,101,109, 98,101,114, 32,111,102, 32, 97, 32, 99,108, 97,
+ 115,115, 46, 10, 45, 45, 32, 83,116,111,114,101,115, 32, 97,
+ 108,108, 32,102,105,101,108,100,115, 32,112,114,101,115,101,
+ 110,116, 32,105,110, 32, 97, 32,100,101, 99,108, 97,114, 97,
+ 116,105,111,110, 46, 10, 99,108, 97,115,115, 86, 97,114,105,
+ 97, 98,108,101, 32, 61, 32,123, 10, 32, 95,103,101,116, 32,
+ 61, 32,123,125, 44, 32, 32, 32, 45, 45, 32,109, 97,112,112,
+ 101,100, 32,103,101,116, 32,102,117,110, 99,116,105,111,110,
+ 115, 10, 32, 95,115,101,116, 32, 61, 32,123,125, 44, 32, 32,
+ 32, 45, 45, 32,109, 97,112,112,101,100, 32,115,101,116, 32,
+ 102,117,110, 99,116,105,111,110,115, 10,125, 10, 99,108, 97,
+ 115,115, 86, 97,114,105, 97, 98,108,101, 46, 95, 95,105,110,
+ 100,101,120, 32, 61, 32, 99,108, 97,115,115, 86, 97,114,105,
+ 97, 98,108,101, 10,115,101,116,109,101,116, 97,116, 97, 98,
+ 108,101, 40, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,
+ 101, 44, 99,108, 97,115,115, 68,101, 99,108, 97,114, 97,116,
+ 105,111,110, 41, 10, 10, 45, 45, 32, 80,114,105,110,116, 32,
+ 109,101,116,104,111,100, 10,102,117,110, 99,116,105,111,110,
+ 32, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,101, 58,
+ 112,114,105,110,116, 32, 40,105,100,101,110,116, 44, 99,108,
+ 111,115,101, 41, 10, 32,112,114,105,110,116, 40,105,100,101,
+ 110,116, 46, 46, 34, 86, 97,114,105, 97, 98,108,101,123, 34,
+ 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46,
+ 46, 34, 32,109,111,100, 32, 32, 61, 32, 39, 34, 46, 46,115,
+ 101,108,102, 46,109,111,100, 46, 46, 34, 39, 44, 34, 41, 10,
+ 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,
+ 32,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,
+ 102, 46,116,121,112,101, 46, 46, 34, 39, 44, 34, 41, 10, 32,
+ 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,
+ 112,116,114, 32, 32, 61, 32, 39, 34, 46, 46,115,101,108,102,
+ 46,112,116,114, 46, 46, 34, 39, 44, 34, 41, 10, 32,112,114,
+ 105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,110, 97,
+ 109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,110,
+ 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10, 32,105,102, 32,
+ 115,101,108,102, 46,100,105,109, 32,116,104,101,110, 32,112,
+ 114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,100,
+ 105,109, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,100,
+ 105,109, 46, 46, 34, 39, 44, 34, 41, 32,101,110,100, 10, 32,
+ 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,
+ 100,101,102, 32, 32, 61, 32, 39, 34, 46, 46,115,101,108,102,
+ 46,100,101,102, 46, 46, 34, 39, 44, 34, 41, 10, 32,112,114,
+ 105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,114,101,
+ 116, 32, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,114,
+ 101,116, 46, 46, 34, 39, 44, 34, 41, 10, 32,112,114,105,110,
+ 116, 40,105,100,101,110,116, 46, 46, 34,125, 34, 46, 46, 99,
+ 108,111,115,101, 41, 10,101,110,100, 10, 10, 45, 45, 32, 71,
+ 101,110,101,114, 97,116,101,115, 32, 67, 32,102,117,110, 99,
+ 116,105,111,110, 32,110, 97,109,101, 10,102,117,110, 99,116,
+ 105,111,110, 32, 99,108, 97,115,115, 86, 97,114,105, 97, 98,
+ 108,101, 58, 99,102,117,110, 99,110, 97,109,101, 32, 40,112,
+ 114,101,102,105,120, 41, 10, 32,108,111, 99, 97,108, 32,112,
+ 97,114,101,110,116, 32, 61, 32, 34, 34, 10, 32,108,111, 99,
+ 97,108, 32,117,110,115,105,103,110,101,100, 32, 61, 32, 34,
+ 34, 10, 32,108,111, 99, 97,108, 32,112,116,114, 32, 61, 32,
+ 34, 34, 10, 10, 32,108,111, 99, 97,108, 32,112, 32, 61, 32,
+ 115,101,108,102, 58,105,110,109,111,100,117,108,101, 40, 41,
+ 32,111,114, 32,115,101,108,102, 58,105,110,110, 97,109,101,
+ 115,112, 97, 99,101, 40, 41, 32,111,114, 32,115,101,108,102,
+ 58,105,110, 99,108, 97,115,115, 40, 41, 10, 10, 32,105,102,
+ 32,112, 32,116,104,101,110, 10, 32, 9,105,102, 32,115,101,
+ 108,102, 46,112, 97,114,101,110,116, 46, 99,108, 97,115,115,
+ 116,121,112,101, 32, 61, 61, 32, 39, 99,108, 97,115,115, 39,
+ 32,116,104,101,110, 10, 9, 9,112, 97,114,101,110,116, 32,
+ 61, 32, 34, 95, 34, 32, 46, 46, 32,115,101,108,102, 46,112,
+ 97,114,101,110,116, 46,116,121,112,101, 10, 9,101,108,115,
+ 101, 10, 9, 32, 32,112, 97,114,101,110,116, 32, 61, 32, 34,
+ 95, 34, 32, 46, 46, 32,112, 10, 9,101,110,100, 10, 32,101,
+ 110,100, 10, 10, 32,105,102, 32,115,116,114,102,105,110,100,
+ 40,115,101,108,102, 46,109,111,100, 44, 34, 40,117,110,115,
+ 105,103,110,101,100, 41, 34, 41, 32,116,104,101,110, 10, 32,
+ 32,117,110,115,105,103,110,101,100, 32, 61, 32, 34, 95,117,
+ 110,115,105,103,110,101,100, 34, 10, 32,101,110,100, 10, 10,
+ 32,105,102, 32,115,101,108,102, 46,112,116,114, 32, 61, 61,
+ 32, 34, 42, 34, 32,116,104,101,110, 32,112,116,114, 32, 61,
+ 32, 34, 95,112,116,114, 34, 10, 32,101,108,115,101,105,102,
+ 32,115,101,108,102, 46,112,116,114, 32, 61, 61, 32, 34, 38,
+ 34, 32,116,104,101,110, 32,112,116,114, 32, 61, 32, 34, 95,
+ 114,101,102, 34, 10, 32,101,110,100, 10, 10, 32,108,111, 99,
+ 97,108, 32,110, 97,109,101, 32, 61, 32, 32,112,114,101,102,
+ 105,120, 32, 46, 46, 32,112, 97,114,101,110,116, 32, 46, 46,
+ 32,117,110,115,105,103,110,101,100, 32, 46, 46, 32, 34, 95,
+ 34, 32, 46, 46, 32,103,115,117, 98, 40,115,101,108,102, 46,
+ 108,110, 97,109,101, 32,111,114, 32,115,101,108,102, 46,110,
+ 97,109,101, 44, 34, 46, 42, 58, 58, 34, 44, 34, 34, 41, 32,
+ 46, 46, 32,112,116,114, 10, 10, 9,110, 97,109,101, 32, 61,
+ 32, 99,108,101, 97,110, 95,116,101,109,112,108, 97,116,101,
+ 40,110, 97,109,101, 41, 10, 32,114,101,116,117,114,110, 32,
+ 110, 97,109,101, 10, 10,101,110,100, 10, 10, 45, 45, 32, 99,
+ 104,101, 99,107, 32,105,102, 32,105,116, 32,105,115, 32, 97,
+ 32,118, 97,114,105, 97, 98,108,101, 10,102,117,110, 99,116,
+ 105,111,110, 32, 99,108, 97,115,115, 86, 97,114,105, 97, 98,
+ 108,101, 58,105,115,118, 97,114,105, 97, 98,108,101, 32, 40,
+ 41, 10, 32,114,101,116,117,114,110, 32,116,114,117,101, 10,
+ 101,110,100, 10, 10, 45, 45, 32,103,101,116, 32,118, 97,114,
+ 105, 97, 98,108,101, 32,118, 97,108,117,101, 10,102,117,110,
+ 99,116,105,111,110, 32, 99,108, 97,115,115, 86, 97,114,105,
+ 97, 98,108,101, 58,103,101,116,118, 97,108,117,101, 32, 40,
+ 99,108, 97,115,115, 44,115,116, 97,116,105, 99, 44, 32,112,
+ 114,111,112, 95,103,101,116, 41, 10, 10, 9,108,111, 99, 97,
+ 108, 32,110, 97,109,101, 10, 9,105,102, 32,112,114,111,112,
+ 95,103,101,116, 32,116,104,101,110, 10, 10, 9, 9,110, 97,
+ 109,101, 32, 61, 32,112,114,111,112, 95,103,101,116, 46, 46,
+ 34, 40, 41, 34, 10, 9,101,108,115,101, 10, 9, 9,110, 97,
+ 109,101, 32, 61, 32,115,101,108,102, 46,110, 97,109,101, 10,
+ 9,101,110,100, 10, 10, 9,105,102, 32, 99,108, 97,115,115,
+ 32, 97,110,100, 32,115,116, 97,116,105, 99, 32,116,104,101,
+ 110, 10, 9, 32,114,101,116,117,114,110, 32,115,101,108,102,
+ 46,112, 97,114,101,110,116, 46,116,121,112,101, 46, 46, 39,
+ 58, 58, 39, 46, 46,110, 97,109,101, 10, 9,101,108,115,101,
+ 105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10, 9,
+ 32,114,101,116,117,114,110, 32, 39,115,101,108,102, 45, 62,
+ 39, 46, 46,110, 97,109,101, 10, 9,101,108,115,101, 10, 9,
+ 32,114,101,116,117,114,110, 32,110, 97,109,101, 10, 9,101,
+ 110,100, 10,101,110,100, 10, 10, 45, 45, 32,103,101,116, 32,
+ 118, 97,114,105, 97, 98,108,101, 32,112,111,105,110,116,101,
+ 114, 32,118, 97,108,117,101, 10,102,117,110, 99,116,105,111,
+ 110, 32, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,101,
+ 58,103,101,116,112,111,105,110,116,101,114,118, 97,108,117,
+ 101, 32, 40, 99,108, 97,115,115, 44,115,116, 97,116,105, 99,
+ 41, 10, 32,105,102, 32, 99,108, 97,115,115, 32, 97,110,100,
+ 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10, 32, 32,
+ 114,101,116,117,114,110, 32, 99,108, 97,115,115, 46, 46, 39,
+ 58, 58,112, 39, 10, 32,101,108,115,101,105,102, 32, 99,108,
+ 97,115,115, 32,116,104,101,110, 10, 32, 32,114,101,116,117,
+ 114,110, 32, 39,115,101,108,102, 45, 62,112, 39, 10, 32,101,
+ 108,115,101, 10, 32, 32,114,101,116,117,114,110, 32, 39,112,
+ 39, 10, 32,101,110,100, 10,101,110,100, 10, 10, 45, 45, 32,
+ 87,114,105,116,101, 32, 98,105,110,100,105,110,103, 32,102,
+ 117,110, 99,116,105,111,110,115, 10,102,117,110, 99,116,105,
+ 111,110, 32, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,
+ 101, 58,115,117,112, 99,111,100,101, 32, 40, 41, 10, 10, 32,
+ 108,111, 99, 97,108, 32, 99,108, 97,115,115, 32, 61, 32,115,
+ 101,108,102, 58,105,110, 99,108, 97,115,115, 40, 41, 10, 10,
+ 9,108,111, 99, 97,108, 32,112,114,111,112, 95,103,101,116,
+ 44,112,114,111,112, 95,115,101,116, 10, 9,105,102, 32,115,
+ 116,114,105,110,103, 46,102,105,110,100, 40,115,101,108,102,
+ 46,109,111,100, 44, 32, 39,116,111,108,117, 97, 95,112,114,
+ 111,112,101,114,116,121, 39, 41, 32,116,104,101,110, 10, 10,
+ 9, 9,108,111, 99, 97,108, 32, 95, 44, 95, 44,116,121,112,
+ 101, 32, 61, 32,115,116,114,105,110,103, 46,102,105,110,100,
+ 40,115,101,108,102, 46,109,111,100, 44, 32, 34,116,111,108,
+ 117, 97, 95,112,114,111,112,101,114,116,121, 95, 95, 40, 91,
+ 94, 37,115, 93, 42, 41, 34, 41, 10, 9, 9,116,121,112,101,
+ 32, 61, 32,116,121,112,101, 32,111,114, 32, 34,100,101,102,
+ 97,117,108,116, 34, 10, 9, 9,112,114,111,112, 95,103,101,
+ 116, 44,112,114,111,112, 95,115,101,116, 32, 61, 32,103,101,
+ 116, 95,112,114,111,112,101,114,116,121, 95,109,101,116,104,
+ 111,100,115, 40,116,121,112,101, 44, 32,115,101,108,102, 46,
+ 110, 97,109,101, 41, 10, 9, 9,115,101,108,102, 46,109,111,
+ 100, 32, 61, 32,115,116,114,105,110,103, 46,103,115,117, 98,
+ 40,115,101,108,102, 46,109,111,100, 44, 32, 34,116,111,108,
+ 117, 97, 95,112,114,111,112,101,114,116,121, 91, 94, 37,115,
+ 93, 42, 34, 44, 32, 34, 34, 41, 10, 9,101,110,100, 10, 10,
+ 32, 45, 45, 32,103,101,116, 32,102,117,110, 99,116,105,111,
+ 110, 32, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 10, 32,105,102, 32, 99,108, 97,115,115,
+ 32,116,104,101,110, 10, 32, 32,111,117,116,112,117,116, 40,
+ 34, 47, 42, 32,103,101,116, 32,102,117,110, 99,116,105,111,
+ 110, 58, 34, 44,115,101,108,102, 46,110, 97,109,101, 44, 34,
+ 32,111,102, 32, 99,108, 97,115,115, 32, 34, 44, 99,108, 97,
+ 115,115, 44, 34, 32, 42, 47, 34, 41, 10, 32,101,108,115,101,
+ 10, 32, 32,111,117,116,112,117,116, 40, 34, 47, 42, 32,103,
+ 101,116, 32,102,117,110, 99,116,105,111,110, 58, 34, 44,115,
+ 101,108,102, 46,110, 97,109,101, 44, 34, 32, 42, 47, 34, 41,
+ 10, 32,101,110,100, 10, 32,115,101,108,102, 46, 99,103,101,
+ 116,110, 97,109,101, 32, 61, 32,115,101,108,102, 58, 99,102,
+ 117,110, 99,110, 97,109,101, 40, 34,116,111,108,117, 97, 95,
+ 103,101,116, 34, 41, 10, 32,111,117,116,112,117,116, 40, 34,
+ 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 68,
+ 73, 83, 65, 66, 76, 69, 95, 34, 46, 46,115,101,108,102, 46,
+ 99,103,101,116,110, 97,109,101, 41, 10, 32,111,117,116,112,
+ 117,116, 40, 34, 92,110,115,116, 97,116,105, 99, 32,105,110,
+ 116, 34, 44,115,101,108,102, 46, 99,103,101,116,110, 97,109,
+ 101, 44, 34, 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32,
+ 116,111,108,117, 97, 95, 83, 41, 34, 41, 10, 32,111,117,116,
+ 112,117,116, 40, 34,123, 34, 41, 10, 10, 32, 45, 45, 32,100,
+ 101, 99,108, 97,114,101, 32,115,101,108,102, 44, 32,105,102,
+ 32,116,104,101, 32, 99, 97,115,101, 10, 32,108,111, 99, 97,
+ 108, 32, 95, 44, 95, 44,115,116, 97,116,105, 99, 32, 61, 32,
+ 115,116,114,102,105,110,100, 40,115,101,108,102, 46,109,111,
+ 100, 44, 39, 94, 37,115, 42, 40,115,116, 97,116,105, 99, 41,
+ 39, 41, 10, 32,105,102, 32, 99,108, 97,115,115, 32, 97,110,
+ 100, 32,115,116, 97,116,105, 99, 61, 61,110,105,108, 32,116,
+ 104,101,110, 10, 32, 32,111,117,116,112,117,116, 40, 39, 32,
+ 39, 44,115,101,108,102, 46,112, 97,114,101,110,116, 46,116,
+ 121,112,101, 44, 39, 42, 39, 44, 39,115,101,108,102, 32, 61,
+ 32, 39, 41, 10, 32, 32,111,117,116,112,117,116, 40, 39, 40,
+ 39, 44,115,101,108,102, 46,112, 97,114,101,110,116, 46,116,
+ 121,112,101, 44, 39, 42, 41, 32, 39, 41, 10, 32, 32,108,111,
+ 99, 97,108, 32,116,111, 95,102,117,110, 99, 32, 61, 32,103,
+ 101,116, 95,116,111, 95,102,117,110, 99,116,105,111,110, 40,
+ 115,101,108,102, 46,112, 97,114,101,110,116, 46,116,121,112,
+ 101, 41, 10, 32, 32,111,117,116,112,117,116, 40,116,111, 95,
+ 102,117,110, 99, 44, 39, 40,116,111,108,117, 97, 95, 83, 44,
+ 49, 44, 48, 41, 59, 39, 41, 10, 32,101,108,115,101,105,102,
+ 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10, 32, 32,
+ 95, 44, 95, 44,115,101,108,102, 46,109,111,100, 32, 61, 32,
+ 115,116,114,102,105,110,100, 40,115,101,108,102, 46,109,111,
+ 100, 44, 39, 94, 37,115, 42,115,116, 97,116,105, 99, 37,115,
+ 37,115, 42, 40, 46, 42, 41, 39, 41, 10, 32,101,110,100, 10,
+ 10, 10, 32, 45, 45, 32, 99,104,101, 99,107, 32,115,101,108,
+ 102, 32,118, 97,108,117,101, 10, 32,105,102, 32, 99,108, 97,
+ 115,115, 32, 97,110,100, 32,115,116, 97,116,105, 99, 61, 61,
+ 110,105,108, 32,116,104,101,110, 10, 9, 32,111,117,116,112,
+ 117,116, 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76,
+ 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,
+ 32, 32,111,117,116,112,117,116, 40, 39, 32, 32,105,102, 32,
+ 40, 33,115,101,108,102, 41, 32,116,111,108,117, 97, 95,101,
+ 114,114,111,114, 40,116,111,108,117, 97, 95, 83, 44, 34,105,
+ 110,118, 97,108,105,100, 32, 92, 39,115,101,108,102, 92, 39,
+ 32,105,110, 32, 97, 99, 99,101,115,115,105,110,103, 32,118,
+ 97,114,105, 97, 98,108,101, 32, 92, 39, 39, 46, 46,115,101,
+ 108,102, 46,110, 97,109,101, 46, 46, 39, 92, 39, 34, 44, 78,
+ 85, 76, 76, 41, 59, 39, 41, 59, 10, 9, 9,111,117,116,112,
+ 117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,
+ 32,101,110,100, 10, 10, 32, 45, 45, 32,114,101,116,117,114,
+ 110, 32,118, 97,108,117,101, 10, 32,105,102, 32,115,116,114,
+ 105,110,103, 46,102,105,110,100, 40,115,101,108,102, 46,109,
+ 111,100, 44, 32, 39,116,111,108,117, 97, 95,105,110,104,101,
+ 114,105,116,115, 39, 41, 32,116,104,101,110, 10, 9,108,111,
+ 99, 97,108, 32,112,117,115,104, 95,102,117,110, 99, 32, 61,
+ 32,103,101,116, 95,112,117,115,104, 95,102,117,110, 99,116,
+ 105,111,110, 40,115,101,108,102, 46,116,121,112,101, 41, 10,
+ 32, 9,111,117,116,112,117,116, 40, 39, 35,105,102,100,101,
+ 102, 32, 95, 95, 99,112,108,117,115,112,108,117,115, 92,110,
+ 39, 41, 10, 9,111,117,116,112,117,116, 40, 39, 32, 32, 39,
+ 44,112,117,115,104, 95,102,117,110, 99, 44, 39, 40,116,111,
+ 108,117, 97, 95, 83, 44, 40,118,111,105,100, 42, 41,115,116,
+ 97,116,105, 99, 95, 99, 97,115,116, 60, 39, 46, 46,115,101,
+ 108,102, 46,116,121,112,101, 46, 46, 39, 42, 62, 40,115,101,
+ 108,102, 41, 44, 32, 34, 39, 44,115,101,108,102, 46,116,121,
+ 112,101, 44, 39, 34, 41, 59, 39, 41, 10, 9,111,117,116,112,
+ 117,116, 40, 39, 35,101,108,115,101, 92,110, 39, 41, 10, 9,
+ 111,117,116,112,117,116, 40, 39, 32, 32, 39, 44,112,117,115,
+ 104, 95,102,117,110, 99, 44, 39, 40,116,111,108,117, 97, 95,
+ 83, 44, 40,118,111,105,100, 42, 41, 40, 40, 39, 46, 46,115,
+ 101,108,102, 46,116,121,112,101, 46, 46, 39, 42, 41,115,101,
+ 108,102, 41, 44, 32, 34, 39, 44,115,101,108,102, 46,116,121,
+ 112,101, 44, 39, 34, 41, 59, 39, 41, 10, 9,111,117,116,112,
+ 117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,
+ 32,101,108,115,101, 10, 9,108,111, 99, 97,108, 32,116, 44,
+ 99,116, 32, 61, 32,105,115, 98, 97,115,105, 99, 40,115,101,
+ 108,102, 46,116,121,112,101, 41, 10, 9,105,102, 32,116, 32,
+ 116,104,101,110, 10, 9, 9,111,117,116,112,117,116, 40, 39,
+ 32, 32,116,111,108,117, 97, 95,112,117,115,104, 39, 46, 46,
+ 116, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 40, 39,
+ 44, 99,116, 44, 39, 41, 39, 46, 46,115,101,108,102, 58,103,
+ 101,116,118, 97,108,117,101, 40, 99,108, 97,115,115, 44,115,
+ 116, 97,116,105, 99, 44,112,114,111,112, 95,103,101,116, 41,
+ 46, 46, 39, 41, 59, 39, 41, 10, 9,101,108,115,101, 10, 9,
+ 9,108,111, 99, 97,108, 32,112,117,115,104, 95,102,117,110,
+ 99, 32, 61, 32,103,101,116, 95,112,117,115,104, 95,102,117,
+ 110, 99,116,105,111,110, 40,115,101,108,102, 46,116,121,112,
+ 101, 41, 10, 9, 9,116, 32, 61, 32,115,101,108,102, 46,116,
+ 121,112,101, 10, 9, 9,105,102, 32,115,101,108,102, 46,112,
+ 116,114, 32, 61, 61, 32, 39, 38, 39, 32,111,114, 32,115,101,
+ 108,102, 46,112,116,114, 32, 61, 61, 32, 39, 39, 32,116,104,
+ 101,110, 10, 9, 9, 9,111,117,116,112,117,116, 40, 39, 32,
+ 32, 39, 44,112,117,115,104, 95,102,117,110, 99, 44, 39, 40,
+ 116,111,108,117, 97, 95, 83, 44, 40,118,111,105,100, 42, 41,
+ 38, 39, 46, 46,115,101,108,102, 58,103,101,116,118, 97,108,
+ 117,101, 40, 99,108, 97,115,115, 44,115,116, 97,116,105, 99,
+ 44,112,114,111,112, 95,103,101,116, 41, 46, 46, 39, 44, 34,
+ 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10, 9, 9,101,108,
+ 115,101, 10, 9, 9, 9,111,117,116,112,117,116, 40, 39, 32,
+ 32, 39, 44,112,117,115,104, 95,102,117,110, 99, 44, 39, 40,
+ 116,111,108,117, 97, 95, 83, 44, 40,118,111,105,100, 42, 41,
+ 39, 46, 46,115,101,108,102, 58,103,101,116,118, 97,108,117,
+ 101, 40, 99,108, 97,115,115, 44,115,116, 97,116,105, 99, 44,
+ 112,114,111,112, 95,103,101,116, 41, 46, 46, 39, 44, 34, 39,
+ 44,116, 44, 39, 34, 41, 59, 39, 41, 10, 9, 9,101,110,100,
+ 10, 9,101,110,100, 10, 32,101,110,100, 10, 32,111,117,116,
+ 112,117,116, 40, 39, 32,114,101,116,117,114,110, 32, 49, 59,
+ 39, 41, 10, 32,111,117,116,112,117,116, 40, 39,125, 39, 41,
+ 10, 32,111,117,116,112,117,116, 40, 39, 35,101,110,100,105,
+ 102, 32, 47, 47, 35,105,102,110,100,101,102, 32, 84, 79, 76,
+ 85, 65, 95, 68, 73, 83, 65, 66, 76, 69, 92,110, 39, 41, 10,
+ 32,111,117,116,112,117,116, 40, 39, 92,110, 39, 41, 10, 10,
+ 32, 45, 45, 32,115,101,116, 32,102,117,110, 99,116,105,111,
+ 110, 32, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 10, 32,105,102, 32,110,111,116, 32, 40,
+ 115,116,114,102,105,110,100, 40,115,101,108,102, 46,116,121,
+ 112,101, 44, 39, 99,111,110,115,116, 37,115, 43, 39, 41, 32,
+ 111,114, 32,115,116,114,105,110,103, 46,102,105,110,100, 40,
+ 115,101,108,102, 46,109,111,100, 44, 32, 39,116,111,108,117,
+ 97, 95,114,101, 97,100,111,110,108,121, 39, 41, 32,111,114,
+ 32,115,116,114,105,110,103, 46,102,105,110,100, 40,115,101,
+ 108,102, 46,109,111,100, 44, 32, 39,116,111,108,117, 97, 95,
+ 105,110,104,101,114,105,116,115, 39, 41, 41, 32, 32,116,104,
+ 101,110, 10, 32, 32,105,102, 32, 99,108, 97,115,115, 32,116,
+ 104,101,110, 10, 32, 32, 32,111,117,116,112,117,116, 40, 34,
+ 47, 42, 32,115,101,116, 32,102,117,110, 99,116,105,111,110,
+ 58, 34, 44,115,101,108,102, 46,110, 97,109,101, 44, 34, 32,
+ 111,102, 32, 99,108, 97,115,115, 32, 34, 44, 99,108, 97,115,
+ 115, 44, 34, 32, 42, 47, 34, 41, 10, 32, 32,101,108,115,101,
+ 10, 32, 32, 32,111,117,116,112,117,116, 40, 34, 47, 42, 32,
+ 115,101,116, 32,102,117,110, 99,116,105,111,110, 58, 34, 44,
+ 115,101,108,102, 46,110, 97,109,101, 44, 34, 32, 42, 47, 34,
+ 41, 10, 32, 32,101,110,100, 10, 32, 32,115,101,108,102, 46,
+ 99,115,101,116,110, 97,109,101, 32, 61, 32,115,101,108,102,
+ 58, 99,102,117,110, 99,110, 97,109,101, 40, 34,116,111,108,
+ 117, 97, 95,115,101,116, 34, 41, 10, 32, 32,111,117,116,112,
+ 117,116, 40, 34, 35,105,102,110,100,101,102, 32, 84, 79, 76,
+ 85, 65, 95, 68, 73, 83, 65, 66, 76, 69, 95, 34, 46, 46,115,
+ 101,108,102, 46, 99,115,101,116,110, 97,109,101, 41, 10, 32,
+ 32,111,117,116,112,117,116, 40, 34, 92,110,115,116, 97,116,
+ 105, 99, 32,105,110,116, 34, 44,115,101,108,102, 46, 99,115,
+ 101,116,110, 97,109,101, 44, 34, 40,108,117, 97, 95, 83,116,
+ 97,116,101, 42, 32,116,111,108,117, 97, 95, 83, 41, 34, 41,
+ 10, 32, 32,111,117,116,112,117,116, 40, 34,123, 34, 41, 10,
+ 10, 32, 32, 45, 45, 32,100,101, 99,108, 97,114,101, 32,115,
+ 101,108,102, 44, 32,105,102, 32,116,104,101, 32, 99, 97,115,
+ 101, 10, 32, 32,105,102, 32, 99,108, 97,115,115, 32, 97,110,
+ 100, 32,115,116, 97,116,105, 99, 61, 61,110,105,108, 32,116,
+ 104,101,110, 10, 32, 32, 32,111,117,116,112,117,116, 40, 39,
+ 32, 39, 44,115,101,108,102, 46,112, 97,114,101,110,116, 46,
+ 116,121,112,101, 44, 39, 42, 39, 44, 39,115,101,108,102, 32,
+ 61, 32, 39, 41, 10, 32, 32, 32,111,117,116,112,117,116, 40,
+ 39, 40, 39, 44,115,101,108,102, 46,112, 97,114,101,110,116,
+ 46,116,121,112,101, 44, 39, 42, 41, 32, 39, 41, 10, 32, 32,
+ 32,108,111, 99, 97,108, 32,116,111, 95,102,117,110, 99, 32,
+ 61, 32,103,101,116, 95,116,111, 95,102,117,110, 99,116,105,
+ 111,110, 40,115,101,108,102, 46,112, 97,114,101,110,116, 46,
+ 116,121,112,101, 41, 10, 32, 32, 32,111,117,116,112,117,116,
+ 40,116,111, 95,102,117,110, 99, 44, 39, 40,116,111,108,117,
+ 97, 95, 83, 44, 49, 44, 48, 41, 59, 39, 41, 10, 32, 32, 32,
+ 45, 45, 32, 99,104,101, 99,107, 32,115,101,108,102, 32,118,
+ 97,108,117,101, 10, 9, 9,101,110,100, 10, 32, 32, 45, 45,
+ 32, 99,104,101, 99,107, 32,116,121,112,101,115, 10, 9, 9,
+ 111,117,116,112,117,116, 40, 39, 35,105,102,110,100,101,102,
+ 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,
+ 110, 39, 41, 10, 9, 9,111,117,116,112,117,116, 40, 39, 32,
+ 32,116,111,108,117, 97, 95, 69,114,114,111,114, 32,116,111,
+ 108,117, 97, 95,101,114,114, 59, 39, 41, 10, 32, 32,105,102,
+ 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,116, 97,116,
+ 105, 99, 61, 61,110,105,108, 32,116,104,101,110, 10, 32, 32,
+ 32,111,117,116,112,117,116, 40, 39, 32, 32,105,102, 32, 40,
+ 33,115,101,108,102, 41, 32,116,111,108,117, 97, 95,101,114,
+ 114,111,114, 40,116,111,108,117, 97, 95, 83, 44, 34,105,110,
+ 118, 97,108,105,100, 32, 92, 39,115,101,108,102, 92, 39, 32,
+ 105,110, 32, 97, 99, 99,101,115,115,105,110,103, 32,118, 97,
+ 114,105, 97, 98,108,101, 32, 92, 39, 39, 46, 46,115,101,108,
+ 102, 46,110, 97,109,101, 46, 46, 39, 92, 39, 34, 44, 78, 85,
+ 76, 76, 41, 59, 39, 41, 59, 10, 32, 32,101,108,115,101,105,
+ 102, 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10, 32,
+ 32, 32, 95, 44, 95, 44,115,101,108,102, 46,109,111,100, 32,
+ 61, 32,115,116,114,102,105,110,100, 40,115,101,108,102, 46,
+ 109,111,100, 44, 39, 94, 37,115, 42,115,116, 97,116,105, 99,
+ 37,115, 37,115, 42, 40, 46, 42, 41, 39, 41, 10, 32, 32,101,
+ 110,100, 10, 10, 32, 32, 45, 45, 32, 99,104,101, 99,107, 32,
+ 118, 97,114,105, 97, 98,108,101, 32,116,121,112,101, 10, 32,
+ 32,111,117,116,112,117,116, 40, 39, 32, 32,105,102, 32, 40,
+ 39, 46, 46,115,101,108,102, 58,111,117,116, 99,104,101, 99,
+ 107,116,121,112,101, 40, 50, 41, 46, 46, 39, 41, 39, 41, 10,
+ 32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 32,116,111,
+ 108,117, 97, 95,101,114,114,111,114, 40,116,111,108,117, 97,
+ 95, 83, 44, 34, 35,118,105,110,118, 97,108,105,100, 32,116,
+ 121,112,101, 32,105,110, 32,118, 97,114,105, 97, 98,108,101,
+ 32, 97,115,115,105,103,110,109,101,110,116, 46, 34, 44, 38,
+ 116,111,108,117, 97, 95,101,114,114, 41, 59, 39, 41, 10, 9,
+ 9,111,117,116,112,117,116, 40, 39, 35,101,110,100,105,102,
+ 92,110, 39, 41, 10, 10, 32, 32, 45, 45, 32, 97,115,115,105,
+ 103,110, 32,118, 97,108,117,101, 10, 9, 9,108,111, 99, 97,
+ 108, 32,100,101,102, 32, 61, 32, 48, 10, 9, 9,105,102, 32,
+ 115,101,108,102, 46,100,101,102, 32,126, 61, 32, 39, 39, 32,
+ 116,104,101,110, 32,100,101,102, 32, 61, 32,115,101,108,102,
+ 46,100,101,102, 32,101,110,100, 10, 9, 9,105,102, 32,115,
+ 101,108,102, 46,116,121,112,101, 32, 61, 61, 32, 39, 99,104,
+ 97,114, 42, 39, 32, 97,110,100, 32,115,101,108,102, 46,100,
+ 105,109, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 32, 45,
+ 45, 32,105,115, 32,115,116,114,105,110,103, 10, 9, 9, 32,
+ 111,117,116,112,117,116, 40, 39, 32,115,116,114,110, 99,112,
+ 121, 40, 39, 41, 10, 9, 9, 9,105,102, 32, 99,108, 97,115,
+ 115, 32, 97,110,100, 32,115,116, 97,116,105, 99, 32,116,104,
+ 101,110, 10, 9, 9, 9, 9,111,117,116,112,117,116, 40,115,
+ 101,108,102, 46,112, 97,114,101,110,116, 46,116,121,112,101,
+ 46, 46, 39, 58, 58, 39, 46, 46,115,101,108,102, 46,110, 97,
+ 109,101, 41, 10, 9, 9, 9,101,108,115,101,105,102, 32, 99,
+ 108, 97,115,115, 32,116,104,101,110, 10, 9, 9, 9, 9,111,
+ 117,116,112,117,116, 40, 39,115,101,108,102, 45, 62, 39, 46,
+ 46,115,101,108,102, 46,110, 97,109,101, 41, 10, 9, 9, 9,
+ 101,108,115,101, 10, 9, 9, 9, 9,111,117,116,112,117,116,
+ 40,115,101,108,102, 46,110, 97,109,101, 41, 10, 9, 9, 9,
+ 101,110,100, 10, 9, 9, 9,111,117,116,112,117,116, 40, 39,
+ 44,116,111,108,117, 97, 95,116,111,115,116,114,105,110,103,
+ 40,116,111,108,117, 97, 95, 83, 44, 50, 44, 39, 44,100,101,
+ 102, 44, 39, 41, 44, 39, 44,115,101,108,102, 46,100,105,109,
+ 44, 39, 45, 49, 41, 59, 39, 41, 10, 9, 9,101,108,115,101,
+ 10, 9, 9, 9,108,111, 99, 97,108, 32,112,116,114, 32, 61,
+ 32, 39, 39, 10, 9, 9, 9,105,102, 32,115,101,108,102, 46,
+ 112,116,114,126, 61, 39, 39, 32,116,104,101,110, 32,112,116,
+ 114, 32, 61, 32, 39, 42, 39, 32,101,110,100, 10, 9, 9, 9,
+ 111,117,116,112,117,116, 40, 39, 32, 39, 41, 10, 9, 9, 9,
+ 108,111, 99, 97,108, 32,110, 97,109,101, 32, 61, 32,112,114,
+ 111,112, 95,115,101,116, 32,111,114, 32,115,101,108,102, 46,
+ 110, 97,109,101, 10, 9, 9, 9,105,102, 32, 99,108, 97,115,
+ 115, 32, 97,110,100, 32,115,116, 97,116,105, 99, 32,116,104,
+ 101,110, 10, 9, 9, 9, 9,111,117,116,112,117,116, 40,115,
+ 101,108,102, 46,112, 97,114,101,110,116, 46,116,121,112,101,
+ 46, 46, 39, 58, 58, 39, 46, 46,110, 97,109,101, 41, 10, 9,
+ 9, 9,101,108,115,101,105,102, 32, 99,108, 97,115,115, 32,
+ 116,104,101,110, 10, 9, 9, 9, 9,111,117,116,112,117,116,
+ 40, 39,115,101,108,102, 45, 62, 39, 46, 46,110, 97,109,101,
+ 41, 10, 9, 9, 9,101,108,115,101, 10, 9, 9, 9, 9,111,
+ 117,116,112,117,116, 40,110, 97,109,101, 41, 10, 9, 9, 9,
+ 101,110,100, 10, 9, 9, 9,108,111, 99, 97,108, 32,116, 32,
+ 61, 32,105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46,
+ 116,121,112,101, 41, 10, 9, 9, 9,105,102, 32,112,114,111,
+ 112, 95,115,101,116, 32,116,104,101,110, 10, 9, 9, 9, 9,
+ 111,117,116,112,117,116, 40, 39, 40, 39, 41, 10, 9, 9, 9,
+ 101,108,115,101, 10, 9, 9, 9, 9,111,117,116,112,117,116,
+ 40, 39, 32, 61, 32, 39, 41, 10, 9, 9, 9,101,110,100, 10,
+ 9, 9, 9,105,102, 32,110,111,116, 32,116, 32, 97,110,100,
+ 32,112,116,114, 61, 61, 39, 39, 32,116,104,101,110, 32,111,
+ 117,116,112,117,116, 40, 39, 42, 39, 41, 32,101,110,100, 10,
+ 9, 9, 9,111,117,116,112,117,116, 40, 39, 40, 40, 39, 44,
+ 115,101,108,102, 46,109,111,100, 44,115,101,108,102, 46,116,
+ 121,112,101, 41, 10, 9, 9, 9,105,102, 32,110,111,116, 32,
+ 116, 32,116,104,101,110, 10, 9, 9, 9, 9,111,117,116,112,
+ 117,116, 40, 39, 42, 39, 41, 10, 9, 9, 9,101,110,100, 10,
+ 9, 9, 9,111,117,116,112,117,116, 40, 39, 41, 32, 39, 41,
+ 10, 9, 9, 9,105,102, 32,116, 32,116,104,101,110, 10, 9,
+ 9, 9, 9,105,102, 32,105,115,101,110,117,109, 40,115,101,
+ 108,102, 46,116,121,112,101, 41, 32,116,104,101,110, 10, 9,
+ 9, 9, 9, 9,111,117,116,112,117,116, 40, 39, 40,105,110,
+ 116, 41, 32, 39, 41, 10, 9, 9, 9, 9,101,110,100, 10, 9,
+ 9, 9, 9,111,117,116,112,117,116, 40, 39,116,111,108,117,
+ 97, 95,116,111, 39, 46, 46,116, 44, 39, 40,116,111,108,117,
+ 97, 95, 83, 44, 50, 44, 39, 44,100,101,102, 44, 39, 41, 41,
+ 39, 41, 10, 9, 9, 9,101,108,115,101, 10, 9, 9, 9, 9,
+ 108,111, 99, 97,108, 32,116,111, 95,102,117,110, 99, 32, 61,
+ 32,103,101,116, 95,116,111, 95,102,117,110, 99,116,105,111,
+ 110, 40,115,101,108,102, 46,116,121,112,101, 41, 10, 9, 9,
+ 9, 9,111,117,116,112,117,116, 40,116,111, 95,102,117,110,
+ 99, 44, 39, 40,116,111,108,117, 97, 95, 83, 44, 50, 44, 39,
+ 44,100,101,102, 44, 39, 41, 41, 39, 41, 10, 9, 9, 9,101,
+ 110,100, 10, 9, 9, 9,105,102, 32,112,114,111,112, 95,115,
+ 101,116, 32,116,104,101,110, 10, 9, 9, 9, 9,111,117,116,
+ 112,117,116, 40, 34, 41, 34, 41, 10, 9, 9, 9,101,110,100,
+ 10, 9, 9, 9,111,117,116,112,117,116, 40, 34, 59, 34, 41,
+ 10, 9, 9,101,110,100, 10, 32, 32,111,117,116,112,117,116,
+ 40, 39, 32,114,101,116,117,114,110, 32, 48, 59, 39, 41, 10,
+ 32, 32,111,117,116,112,117,116, 40, 39,125, 39, 41, 10, 32,
+ 32,111,117,116,112,117,116, 40, 39, 35,101,110,100,105,102,
+ 32, 47, 47, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85,
+ 65, 95, 68, 73, 83, 65, 66, 76, 69, 92,110, 39, 41, 10, 32,
+ 32,111,117,116,112,117,116, 40, 39, 92,110, 39, 41, 10, 32,
+ 101,110,100, 10, 10,101,110,100, 10, 10,102,117,110, 99,116,
+ 105,111,110, 32, 99,108, 97,115,115, 86, 97,114,105, 97, 98,
+ 108,101, 58,114,101,103,105,115,116,101,114, 32, 40,112,114,
+ 101, 41, 10, 10, 9,105,102, 32,110,111,116, 32,115,101,108,
+ 102, 58, 99,104,101, 99,107, 95,112,117, 98,108,105, 99, 95,
+ 97, 99, 99,101,115,115, 40, 41, 32,116,104,101,110, 10, 9,
+ 9,114,101,116,117,114,110, 10, 9,101,110,100, 10, 32,112,
+ 114,101, 32, 61, 32,112,114,101, 32,111,114, 32, 39, 39, 10,
+ 32,108,111, 99, 97,108, 32,112, 97,114,101,110,116, 32, 61,
+ 32,115,101,108,102, 58,105,110,109,111,100,117,108,101, 40,
+ 41, 32,111,114, 32,115,101,108,102, 58,105,110,110, 97,109,
+ 101,115,112, 97, 99,101, 40, 41, 32,111,114, 32,115,101,108,
+ 102, 58,105,110, 99,108, 97,115,115, 40, 41, 10, 32,105,102,
+ 32,110,111,116, 32,112, 97,114,101,110,116, 32,116,104,101,
+ 110, 10, 32, 32,105,102, 32, 99,108, 97,115,115, 86, 97,114,
+ 105, 97, 98,108,101, 46, 95,119, 97,114,110,105,110,103, 61,
+ 61,110,105,108, 32,116,104,101,110, 10, 32, 32, 32,119, 97,
+ 114,110,105,110,103, 40, 34, 77, 97,112,112,105,110,103, 32,
+ 118, 97,114,105, 97, 98,108,101, 32,116,111, 32,103,108,111,
+ 98, 97,108, 32,109, 97,121, 32,100,101,103,114, 97,100,101,
+ 32,112,101,114,102,111,114,109, 97,110, 99,101, 34, 41, 10,
+ 32, 32, 32, 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,
+ 101, 46, 95,119, 97,114,110,105,110,103, 32, 61, 32, 49, 10,
+ 32, 32,101,110,100, 10, 32,101,110,100, 10, 32,105,102, 32,
+ 115,101,108,102, 46, 99,115,101,116,110, 97,109,101, 32,116,
+ 104,101,110, 10, 32, 32,111,117,116,112,117,116, 40,112,114,
+ 101, 46, 46, 39,116,111,108,117, 97, 95,118, 97,114,105, 97,
+ 98,108,101, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46,
+ 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46, 39, 34,
+ 44, 39, 46, 46,115,101,108,102, 46, 99,103,101,116,110, 97,
+ 109,101, 46, 46, 39, 44, 39, 46, 46,115,101,108,102, 46, 99,
+ 115,101,116,110, 97,109,101, 46, 46, 39, 41, 59, 39, 41, 10,
+ 32,101,108,115,101, 10, 32, 32,111,117,116,112,117,116, 40,
+ 112,114,101, 46, 46, 39,116,111,108,117, 97, 95,118, 97,114,
+ 105, 97, 98,108,101, 40,116,111,108,117, 97, 95, 83, 44, 34,
+ 39, 46, 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46,
+ 39, 34, 44, 39, 46, 46,115,101,108,102, 46, 99,103,101,116,
+ 110, 97,109,101, 46, 46, 39, 44, 78, 85, 76, 76, 41, 59, 39,
+ 41, 10, 32,101,110,100, 10,101,110,100, 10, 10, 45, 45, 32,
+ 73,110,116,101,114,110, 97,108, 32, 99,111,110,115,116,114,
+ 117, 99,116,111,114, 10,102,117,110, 99,116,105,111,110, 32,
+ 95, 86, 97,114,105, 97, 98,108,101, 32, 40,116, 41, 10, 32,
+ 115,101,116,109,101,116, 97,116, 97, 98,108,101, 40,116, 44,
+ 99,108, 97,115,115, 86, 97,114,105, 97, 98,108,101, 41, 10,
+ 32, 97,112,112,101,110,100, 40,116, 41, 10, 32,114,101,116,
+ 117,114,110, 32,116, 10,101,110,100, 10, 10, 45, 45, 32, 67,
+ 111,110,115,116,114,117, 99,116,111,114, 10, 45, 45, 32, 69,
+ 120,112,101, 99,116,115, 32, 97, 32,115,116,114,105,110,103,
+ 32,114,101,112,114,101,115,101,110,116,105,110,103, 32,116,
+ 104,101, 32,118, 97,114,105, 97, 98,108,101, 32,100,101, 99,
+ 108, 97,114, 97,116,105,111,110, 46, 10,102,117,110, 99,116,
+ 105,111,110, 32, 86, 97,114,105, 97, 98,108,101, 32, 40,115,
+ 41, 10, 32,114,101,116,117,114,110, 32, 95, 86, 97,114,105,
+ 97, 98,108,101, 32, 40, 68,101, 99,108, 97,114, 97,116,105,
+ 111,110, 40,115, 44, 39,118, 97,114, 39, 41, 41, 10,101,110,
+ 100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: lua/tolua++/src/bin/lua/variable.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32, 97,114,114, 97,121,
+ 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,105,116,116,
+ 101,110, 32, 98,121, 32, 87, 97,108,100,101,109, 97,114, 32,
+ 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67, 71,114, 97,
+ 102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45, 32, 74,117,
+ 108, 32, 49, 57, 57, 57, 10, 45, 45, 32, 36, 73,100, 58, 32,
+ 97,114,114, 97,121, 46,108,117, 97, 44,118, 32, 49, 46, 49,
+ 32, 50, 48, 48, 48, 47, 49, 49, 47, 48, 54, 32, 50, 50, 58,
+ 48, 51, 58, 53, 55, 32, 99,101,108,101,115, 32, 69,120,112,
+ 32, 36, 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,111,100,
+ 101, 32,105,115, 32,102,114,101,101, 32,115,111,102,116,119,
+ 97,114,101, 59, 32,121,111,117, 32, 99, 97,110, 32,114,101,
+ 100,105,115,116,114,105, 98,117,116,101, 32,105,116, 32, 97,
+ 110,100, 47,111,114, 32,109,111,100,105,102,121, 32,105,116,
+ 46, 10, 45, 45, 32, 84,104,101, 32,115,111,102,116,119, 97,
+ 114,101, 32,112,114,111,118,105,100,101,100, 32,104,101,114,
+ 101,117,110,100,101,114, 32,105,115, 32,111,110, 32, 97,110,
+ 32, 34, 97,115, 32,105,115, 34, 32, 98, 97,115,105,115, 44,
+ 32, 97,110,100, 10, 45, 45, 32,116,104,101, 32, 97,117,116,
+ 104,111,114, 32,104, 97,115, 32,110,111, 32,111, 98,108,105,
+ 103, 97,116,105,111,110, 32,116,111, 32,112,114,111,118,105,
+ 100,101, 32,109, 97,105,110,116,101,110, 97,110, 99,101, 44,
+ 32,115,117,112,112,111,114,116, 44, 32,117,112,100, 97,116,
+ 101,115, 44, 10, 45, 45, 32,101,110,104, 97,110, 99,101,109,
+ 101,110,116,115, 44, 32,111,114, 32,109,111,100,105,102,105,
+ 99, 97,116,105,111,110,115, 46, 10, 10, 10, 45, 45, 32, 65,
+ 114,114, 97,121, 32, 99,108, 97,115,115, 10, 45, 45, 32, 82,
+ 101,112,114,101,115,101,110,116,115, 32, 97, 32,101,120,116,
+ 101,114,110, 32, 97,114,114, 97,121, 32,118, 97,114,105, 97,
+ 98,108,101, 32,111,114, 32, 97, 32,112,117, 98,108,105, 99,
+ 32,109,101,109, 98,101,114, 32,111,102, 32, 97, 32, 99,108,
+ 97,115,115, 46, 10, 45, 45, 32, 83,116,111,114,101,115, 32,
+ 97,108,108, 32,102,105,101,108,100,115, 32,112,114,101,115,
+ 101,110,116, 32,105,110, 32, 97, 32,100,101, 99,108, 97,114,
+ 97,116,105,111,110, 46, 10, 99,108, 97,115,115, 65,114,114,
+ 97,121, 32, 61, 32,123, 10,125, 10, 99,108, 97,115,115, 65,
+ 114,114, 97,121, 46, 95, 95,105,110,100,101,120, 32, 61, 32,
+ 99,108, 97,115,115, 65,114,114, 97,121, 10,115,101,116,109,
+ 101,116, 97,116, 97, 98,108,101, 40, 99,108, 97,115,115, 65,
+ 114,114, 97,121, 44, 99,108, 97,115,115, 68,101, 99,108, 97,
+ 114, 97,116,105,111,110, 41, 10, 10, 45, 45, 32, 80,114,105,
+ 110,116, 32,109,101,116,104,111,100, 10,102,117,110, 99,116,
+ 105,111,110, 32, 99,108, 97,115,115, 65,114,114, 97,121, 58,
+ 112,114,105,110,116, 32, 40,105,100,101,110,116, 44, 99,108,
+ 111,115,101, 41, 10, 32,112,114,105,110,116, 40,105,100,101,
+ 110,116, 46, 46, 34, 65,114,114, 97,121,123, 34, 41, 10, 32,
+ 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,
+ 109,111,100, 32, 32, 61, 32, 39, 34, 46, 46,115,101,108,102,
+ 46,109,111,100, 46, 46, 34, 39, 44, 34, 41, 10, 32,112,114,
+ 105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,116,121,
+ 112,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,116,
+ 121,112,101, 46, 46, 34, 39, 44, 34, 41, 10, 32,112,114,105,
+ 110,116, 40,105,100,101,110,116, 46, 46, 34, 32,112,116,114,
+ 32, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,112,116,
+ 114, 46, 46, 34, 39, 44, 34, 41, 10, 32,112,114,105,110,116,
+ 40,105,100,101,110,116, 46, 46, 34, 32,110, 97,109,101, 32,
+ 61, 32, 39, 34, 46, 46,115,101,108,102, 46,110, 97,109,101,
+ 46, 46, 34, 39, 44, 34, 41, 10, 32,112,114,105,110,116, 40,
+ 105,100,101,110,116, 46, 46, 34, 32,100,101,102, 32, 32, 61,
+ 32, 39, 34, 46, 46,115,101,108,102, 46,100,101,102, 46, 46,
+ 34, 39, 44, 34, 41, 10, 32,112,114,105,110,116, 40,105,100,
+ 101,110,116, 46, 46, 34, 32,100,105,109, 32, 32, 61, 32, 39,
+ 34, 46, 46,115,101,108,102, 46,100,105,109, 46, 46, 34, 39,
+ 44, 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,
+ 116, 46, 46, 34, 32,114,101,116, 32, 32, 61, 32, 39, 34, 46,
+ 46,115,101,108,102, 46,114,101,116, 46, 46, 34, 39, 44, 34,
+ 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46,
+ 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,
+ 100, 10, 10, 45, 45, 32, 99,104,101, 99,107, 32,105,102, 32,
+ 105,116, 32,105,115, 32, 97, 32,118, 97,114,105, 97, 98,108,
+ 101, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,
+ 115, 65,114,114, 97,121, 58,105,115,118, 97,114,105, 97, 98,
+ 108,101, 32, 40, 41, 10, 32,114,101,116,117,114,110, 32,116,
+ 114,117,101, 10,101,110,100, 10, 10, 10, 45, 45, 32,103,101,
+ 116, 32,118, 97,114,105, 97, 98,108,101, 32,118, 97,108,117,
+ 101, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,
+ 115, 65,114,114, 97,121, 58,103,101,116,118, 97,108,117,101,
+ 32, 40, 99,108, 97,115,115, 44,115,116, 97,116,105, 99, 41,
+ 10, 32,105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,
+ 115,116, 97,116,105, 99, 32,116,104,101,110, 10, 32, 32,114,
+ 101,116,117,114,110, 32, 99,108, 97,115,115, 46, 46, 39, 58,
+ 58, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46,
+ 39, 91,116,111,108,117, 97, 95,105,110,100,101,120, 93, 39,
+ 10, 32,101,108,115,101,105,102, 32, 99,108, 97,115,115, 32,
+ 116,104,101,110, 10, 32, 32,114,101,116,117,114,110, 32, 39,
+ 115,101,108,102, 45, 62, 39, 46, 46,115,101,108,102, 46,110,
+ 97,109,101, 46, 46, 39, 91,116,111,108,117, 97, 95,105,110,
+ 100,101,120, 93, 39, 10, 32,101,108,115,101, 10, 32, 32,114,
+ 101,116,117,114,110, 32,115,101,108,102, 46,110, 97,109,101,
+ 46, 46, 39, 91,116,111,108,117, 97, 95,105,110,100,101,120,
+ 93, 39, 10, 32,101,110,100, 10,101,110,100, 10, 10, 45, 45,
+ 32, 87,114,105,116,101, 32, 98,105,110,100,105,110,103, 32,
+ 102,117,110, 99,116,105,111,110,115, 10,102,117,110, 99,116,
+ 105,111,110, 32, 99,108, 97,115,115, 65,114,114, 97,121, 58,
+ 115,117,112, 99,111,100,101, 32, 40, 41, 10, 32,108,111, 99,
+ 97,108, 32, 99,108, 97,115,115, 32, 61, 32,115,101,108,102,
+ 58,105,110, 99,108, 97,115,115, 40, 41, 10, 10, 32, 45, 45,
+ 32,103,101,116, 32,102,117,110, 99,116,105,111,110, 32, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 10, 32,105,102, 32, 99,108, 97,115,115, 32,116,104,
+ 101,110, 10, 32, 32,111,117,116,112,117,116, 40, 34, 47, 42,
+ 32,103,101,116, 32,102,117,110, 99,116,105,111,110, 58, 34,
+ 44,115,101,108,102, 46,110, 97,109,101, 44, 34, 32,111,102,
+ 32, 99,108, 97,115,115, 32, 34, 44, 99,108, 97,115,115, 44,
+ 34, 32, 42, 47, 34, 41, 10, 32,101,108,115,101, 10, 32, 32,
+ 111,117,116,112,117,116, 40, 34, 47, 42, 32,103,101,116, 32,
+ 102,117,110, 99,116,105,111,110, 58, 34, 44,115,101,108,102,
+ 46,110, 97,109,101, 44, 34, 32, 42, 47, 34, 41, 10, 32,101,
+ 110,100, 10, 32,115,101,108,102, 46, 99,103,101,116,110, 97,
+ 109,101, 32, 61, 32,115,101,108,102, 58, 99,102,117,110, 99,
+ 110, 97,109,101, 40, 34,116,111,108,117, 97, 95,103,101,116,
+ 34, 41, 10, 32,111,117,116,112,117,116, 40, 34, 35,105,102,
+ 110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 68, 73, 83, 65,
+ 66, 76, 69, 95, 34, 46, 46,115,101,108,102, 46, 99,103,101,
+ 116,110, 97,109,101, 41, 10, 32,111,117,116,112,117,116, 40,
+ 34, 92,110,115,116, 97,116,105, 99, 32,105,110,116, 34, 44,
+ 115,101,108,102, 46, 99,103,101,116,110, 97,109,101, 44, 34,
+ 40,108,117, 97, 95, 83,116, 97,116,101, 42, 32,116,111,108,
+ 117, 97, 95, 83, 41, 34, 41, 10, 32,111,117,116,112,117,116,
+ 40, 34,123, 34, 41, 10, 32,111,117,116,112,117,116, 40, 34,
+ 32,105,110,116, 32,116,111,108,117, 97, 95,105,110,100,101,
+ 120, 59, 34, 41, 10, 10, 32, 45, 45, 32,100,101, 99,108, 97,
+ 114,101, 32,115,101,108,102, 44, 32,105,102, 32,116,104,101,
+ 32, 99, 97,115,101, 10, 32,108,111, 99, 97,108, 32, 95, 44,
+ 95, 44,115,116, 97,116,105, 99, 32, 61, 32,115,116,114,102,
+ 105,110,100, 40,115,101,108,102, 46,109,111,100, 44, 39, 94,
+ 37,115, 42, 40,115,116, 97,116,105, 99, 41, 39, 41, 10, 32,
+ 105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,116,
+ 97,116,105, 99, 61, 61,110,105,108, 32,116,104,101,110, 10,
+ 32, 32,111,117,116,112,117,116, 40, 39, 32, 39, 44,115,101,
+ 108,102, 46,112, 97,114,101,110,116, 46,116,121,112,101, 44,
+ 39, 42, 39, 44, 39,115,101,108,102, 59, 39, 41, 10, 32, 32,
+ 111,117,116,112,117,116, 40, 39, 32,108,117, 97, 95,112,117,
+ 115,104,115,116,114,105,110,103, 40,116,111,108,117, 97, 95,
+ 83, 44, 34, 46,115,101,108,102, 34, 41, 59, 39, 41, 10, 32,
+ 32,111,117,116,112,117,116, 40, 39, 32,108,117, 97, 95,114,
+ 97,119,103,101,116, 40,116,111,108,117, 97, 95, 83, 44, 49,
+ 41, 59, 39, 41, 10, 32, 32,111,117,116,112,117,116, 40, 39,
+ 32,115,101,108,102, 32, 61, 32, 39, 41, 10, 32, 32,111,117,
+ 116,112,117,116, 40, 39, 40, 39, 44,115,101,108,102, 46,112,
+ 97,114,101,110,116, 46,116,121,112,101, 44, 39, 42, 41, 32,
+ 39, 41, 10, 32, 32,111,117,116,112,117,116, 40, 39,108,117,
+ 97, 95,116,111,117,115,101,114,100, 97,116, 97, 40,116,111,
+ 108,117, 97, 95, 83, 44, 45, 49, 41, 59, 39, 41, 10, 32,101,
+ 108,115,101,105,102, 32,115,116, 97,116,105, 99, 32,116,104,
+ 101,110, 10, 32, 32, 95, 44, 95, 44,115,101,108,102, 46,109,
+ 111,100, 32, 61, 32,115,116,114,102,105,110,100, 40,115,101,
+ 108,102, 46,109,111,100, 44, 39, 94, 37,115, 42,115,116, 97,
+ 116,105, 99, 37,115, 37,115, 42, 40, 46, 42, 41, 39, 41, 10,
+ 32,101,110,100, 10, 10, 32, 45, 45, 32, 99,104,101, 99,107,
+ 32,105,110,100,101,120, 10, 9,111,117,116,112,117,116, 40,
+ 39, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95,
+ 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10, 9,111,117,
+ 116,112,117,116, 40, 39, 32,123, 39, 41, 10, 9,111,117,116,
+ 112,117,116, 40, 39, 32, 32,116,111,108,117, 97, 95, 69,114,
+ 114,111,114, 32,116,111,108,117, 97, 95,101,114,114, 59, 39,
+ 41, 10, 32,111,117,116,112,117,116, 40, 39, 32, 32,105,102,
+ 32, 40, 33,116,111,108,117, 97, 95,105,115,110,117,109, 98,
+ 101,114, 40,116,111,108,117, 97, 95, 83, 44, 50, 44, 48, 44,
+ 38,116,111,108,117, 97, 95,101,114,114, 41, 41, 39, 41, 10,
+ 32,111,117,116,112,117,116, 40, 39, 32, 32, 32,116,111,108,
+ 117, 97, 95,101,114,114,111,114, 40,116,111,108,117, 97, 95,
+ 83, 44, 34, 35,118,105,110,118, 97,108,105,100, 32,116,121,
+ 112,101, 32,105,110, 32, 97,114,114, 97,121, 32,105,110,100,
+ 101,120,105,110,103, 46, 34, 44, 38,116,111,108,117, 97, 95,
+ 101,114,114, 41, 59, 39, 41, 10, 9,111,117,116,112,117,116,
+ 40, 39, 32,125, 39, 41, 10, 9,111,117,116,112,117,116, 40,
+ 39, 35,101,110,100,105,102, 92,110, 39, 41, 10, 9,105,102,
+ 32,102,108, 97,103,115, 91, 39, 49, 39, 93, 32,116,104,101,
+ 110, 32, 45, 45, 32,102,111,114, 32, 99,111,109,112, 97,116,
+ 105, 98,105,108,105,116,121, 32,119,105,116,104, 32,116,111,
+ 108,117, 97, 53, 32, 63, 10, 9, 9,111,117,116,112,117,116,
+ 40, 39, 32,116,111,108,117, 97, 95,105,110,100,101,120, 32,
+ 61, 32, 40,105,110,116, 41,116,111,108,117, 97, 95,116,111,
+ 110,117,109, 98,101,114, 40,116,111,108,117, 97, 95, 83, 44,
+ 50, 44, 48, 41, 45, 49, 59, 39, 41, 10, 9,101,108,115,101,
+ 10, 9, 9,111,117,116,112,117,116, 40, 39, 32,116,111,108,
+ 117, 97, 95,105,110,100,101,120, 32, 61, 32, 40,105,110,116,
+ 41,116,111,108,117, 97, 95,116,111,110,117,109, 98,101,114,
+ 40,116,111,108,117, 97, 95, 83, 44, 50, 44, 48, 41, 59, 39,
+ 41, 10, 9,101,110,100, 10, 9,111,117,116,112,117,116, 40,
+ 39, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95,
+ 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10, 9,105,102,
+ 32,115,101,108,102, 46,100,105,109, 32, 97,110,100, 32,115,
+ 101,108,102, 46,100,105,109, 32,126, 61, 32, 39, 39, 32,116,
+ 104,101,110, 10, 9, 32, 32,111,117,116,112,117,116, 40, 39,
+ 32,105,102, 32, 40,116,111,108,117, 97, 95,105,110,100,101,
+ 120, 60, 48, 32,124,124, 32,116,111,108,117, 97, 95,105,110,
+ 100,101,120, 62, 61, 39, 46, 46,115,101,108,102, 46,100,105,
+ 109, 46, 46, 39, 41, 39, 41, 10, 9,101,108,115,101, 10, 9,
+ 32, 32,111,117,116,112,117,116, 40, 39, 32,105,102, 32, 40,
+ 116,111,108,117, 97, 95,105,110,100,101,120, 60, 48, 41, 39,
+ 41, 10, 9,101,110,100, 10, 32,111,117,116,112,117,116, 40,
+ 39, 32, 32,116,111,108,117, 97, 95,101,114,114,111,114, 40,
+ 116,111,108,117, 97, 95, 83, 44, 34, 97,114,114, 97,121, 32,
+ 105,110,100,101,120,105,110,103, 32,111,117,116, 32,111,102,
+ 32,114, 97,110,103,101, 46, 34, 44, 78, 85, 76, 76, 41, 59,
+ 39, 41, 10, 9,111,117,116,112,117,116, 40, 39, 35,101,110,
+ 100,105,102, 92,110, 39, 41, 10, 10, 32, 45, 45, 32,114,101,
+ 116,117,114,110, 32,118, 97,108,117,101, 10, 32,108,111, 99,
+ 97,108, 32,116, 44, 99,116, 32, 61, 32,105,115, 98, 97,115,
+ 105, 99, 40,115,101,108,102, 46,116,121,112,101, 41, 10, 32,
+ 108,111, 99, 97,108, 32,112,117,115,104, 95,102,117,110, 99,
+ 32, 61, 32,103,101,116, 95,112,117,115,104, 95,102,117,110,
+ 99,116,105,111,110, 40,116, 41, 10, 32,105,102, 32,116, 32,
+ 116,104,101,110, 10, 32, 32,111,117,116,112,117,116, 40, 39,
+ 32,116,111,108,117, 97, 95,112,117,115,104, 39, 46, 46,116,
+ 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 40, 39, 44,
+ 99,116, 44, 39, 41, 39, 46, 46,115,101,108,102, 58,103,101,
+ 116,118, 97,108,117,101, 40, 99,108, 97,115,115, 44,115,116,
+ 97,116,105, 99, 41, 46, 46, 39, 41, 59, 39, 41, 10, 32,101,
+ 108,115,101, 10, 9, 9,116, 32, 61, 32,115,101,108,102, 46,
+ 116,121,112,101, 10, 32, 32,105,102, 32,115,101,108,102, 46,
+ 112,116,114, 32, 61, 61, 32, 39, 38, 39, 32,111,114, 32,115,
+ 101,108,102, 46,112,116,114, 32, 61, 61, 32, 39, 39, 32,116,
+ 104,101,110, 10, 32, 32, 32,111,117,116,112,117,116, 40, 39,
+ 32, 39, 44,112,117,115,104, 95,102,117,110, 99, 44, 39, 40,
+ 116,111,108,117, 97, 95, 83, 44, 40,118,111,105,100, 42, 41,
+ 38, 39, 46, 46,115,101,108,102, 58,103,101,116,118, 97,108,
+ 117,101, 40, 99,108, 97,115,115, 44,115,116, 97,116,105, 99,
+ 41, 46, 46, 39, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39,
+ 41, 10, 32, 32,101,108,115,101, 10, 32, 32, 32,111,117,116,
+ 112,117,116, 40, 39, 32, 39, 44,112,117,115,104, 95,102,117,
+ 110, 99, 44, 39, 40,116,111,108,117, 97, 95, 83, 44, 40,118,
+ 111,105,100, 42, 41, 39, 46, 46,115,101,108,102, 58,103,101,
+ 116,118, 97,108,117,101, 40, 99,108, 97,115,115, 44,115,116,
+ 97,116,105, 99, 41, 46, 46, 39, 44, 34, 39, 44,116, 44, 39,
+ 34, 41, 59, 39, 41, 10, 32, 32,101,110,100, 10, 32,101,110,
+ 100, 10, 32,111,117,116,112,117,116, 40, 39, 32,114,101,116,
+ 117,114,110, 32, 49, 59, 39, 41, 10, 32,111,117,116,112,117,
+ 116, 40, 39,125, 39, 41, 10, 32,111,117,116,112,117,116, 40,
+ 39, 35,101,110,100,105,102, 32, 47, 47, 35,105,102,110,100,
+ 101,102, 32, 84, 79, 76, 85, 65, 95, 68, 73, 83, 65, 66, 76,
+ 69, 92,110, 39, 41, 10, 32,111,117,116,112,117,116, 40, 39,
+ 92,110, 39, 41, 10, 10, 32, 45, 45, 32,115,101,116, 32,102,
+ 117,110, 99,116,105,111,110, 32, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+ 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 10, 32,105,102,
+ 32,110,111,116, 32,115,116,114,102,105,110,100, 40,115,101,
+ 108,102, 46,116,121,112,101, 44, 39, 99,111,110,115,116, 39,
+ 41, 32,116,104,101,110, 10, 32, 32,105,102, 32, 99,108, 97,
+ 115,115, 32,116,104,101,110, 10, 32, 32, 32,111,117,116,112,
+ 117,116, 40, 34, 47, 42, 32,115,101,116, 32,102,117,110, 99,
+ 116,105,111,110, 58, 34, 44,115,101,108,102, 46,110, 97,109,
+ 101, 44, 34, 32,111,102, 32, 99,108, 97,115,115, 32, 34, 44,
+ 99,108, 97,115,115, 44, 34, 32, 42, 47, 34, 41, 10, 32, 32,
+ 101,108,115,101, 10, 32, 32, 32,111,117,116,112,117,116, 40,
+ 34, 47, 42, 32,115,101,116, 32,102,117,110, 99,116,105,111,
+ 110, 58, 34, 44,115,101,108,102, 46,110, 97,109,101, 44, 34,
+ 32, 42, 47, 34, 41, 10, 32, 32,101,110,100, 10, 32, 32,115,
+ 101,108,102, 46, 99,115,101,116,110, 97,109,101, 32, 61, 32,
+ 115,101,108,102, 58, 99,102,117,110, 99,110, 97,109,101, 40,
+ 34,116,111,108,117, 97, 95,115,101,116, 34, 41, 10, 32, 32,
+ 111,117,116,112,117,116, 40, 34, 35,105,102,110,100,101,102,
+ 32, 84, 79, 76, 85, 65, 95, 68, 73, 83, 65, 66, 76, 69, 95,
+ 34, 46, 46,115,101,108,102, 46, 99,115,101,116,110, 97,109,
+ 101, 41, 10, 32, 32,111,117,116,112,117,116, 40, 34, 92,110,
+ 115,116, 97,116,105, 99, 32,105,110,116, 34, 44,115,101,108,
+ 102, 46, 99,115,101,116,110, 97,109,101, 44, 34, 40,108,117,
+ 97, 95, 83,116, 97,116,101, 42, 32,116,111,108,117, 97, 95,
+ 83, 41, 34, 41, 10, 32, 32,111,117,116,112,117,116, 40, 34,
+ 123, 34, 41, 10, 10, 32, 32, 45, 45, 32,100,101, 99,108, 97,
+ 114,101, 32,105,110,100,101,120, 10, 32, 32,111,117,116,112,
+ 117,116, 40, 39, 32,105,110,116, 32,116,111,108,117, 97, 95,
+ 105,110,100,101,120, 59, 39, 41, 10, 10, 32, 32, 45, 45, 32,
+ 100,101, 99,108, 97,114,101, 32,115,101,108,102, 44, 32,105,
+ 102, 32,116,104,101, 32, 99, 97,115,101, 10, 32, 32,108,111,
+ 99, 97,108, 32, 95, 44, 95, 44,115,116, 97,116,105, 99, 32,
+ 61, 32,115,116,114,102,105,110,100, 40,115,101,108,102, 46,
+ 109,111,100, 44, 39, 94, 37,115, 42, 40,115,116, 97,116,105,
+ 99, 41, 39, 41, 10, 32, 32,105,102, 32, 99,108, 97,115,115,
+ 32, 97,110,100, 32,115,116, 97,116,105, 99, 61, 61,110,105,
+ 108, 32,116,104,101,110, 10, 32, 32, 32,111,117,116,112,117,
+ 116, 40, 39, 32, 39, 44,115,101,108,102, 46,112, 97,114,101,
+ 110,116, 46,116,121,112,101, 44, 39, 42, 39, 44, 39,115,101,
+ 108,102, 59, 39, 41, 10, 32, 32, 32,111,117,116,112,117,116,
+ 40, 39, 32,108,117, 97, 95,112,117,115,104,115,116,114,105,
+ 110,103, 40,116,111,108,117, 97, 95, 83, 44, 34, 46,115,101,
+ 108,102, 34, 41, 59, 39, 41, 10, 32, 32, 32,111,117,116,112,
+ 117,116, 40, 39, 32,108,117, 97, 95,114, 97,119,103,101,116,
+ 40,116,111,108,117, 97, 95, 83, 44, 49, 41, 59, 39, 41, 10,
+ 32, 32, 32,111,117,116,112,117,116, 40, 39, 32,115,101,108,
+ 102, 32, 61, 32, 39, 41, 10, 32, 32, 32,111,117,116,112,117,
+ 116, 40, 39, 40, 39, 44,115,101,108,102, 46,112, 97,114,101,
+ 110,116, 46,116,121,112,101, 44, 39, 42, 41, 32, 39, 41, 10,
+ 32, 32, 32,111,117,116,112,117,116, 40, 39,108,117, 97, 95,
+ 116,111,117,115,101,114,100, 97,116, 97, 40,116,111,108,117,
+ 97, 95, 83, 44, 45, 49, 41, 59, 39, 41, 10, 32, 32,101,108,
+ 115,101,105,102, 32,115,116, 97,116,105, 99, 32,116,104,101,
+ 110, 10, 32, 32, 32, 95, 44, 95, 44,115,101,108,102, 46,109,
+ 111,100, 32, 61, 32,115,116,114,102,105,110,100, 40,115,101,
+ 108,102, 46,109,111,100, 44, 39, 94, 37,115, 42,115,116, 97,
+ 116,105, 99, 37,115, 37,115, 42, 40, 46, 42, 41, 39, 41, 10,
+ 32, 32,101,110,100, 10, 10, 32, 32, 45, 45, 32, 99,104,101,
+ 99,107, 32,105,110,100,101,120, 10, 9, 32,111,117,116,112,
+ 117,116, 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76,
+ 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,
+ 9, 32,111,117,116,112,117,116, 40, 39, 32,123, 39, 41, 10,
+ 9, 32,111,117,116,112,117,116, 40, 39, 32, 32,116,111,108,
+ 117, 97, 95, 69,114,114,111,114, 32,116,111,108,117, 97, 95,
+ 101,114,114, 59, 39, 41, 10, 32, 32,111,117,116,112,117,116,
+ 40, 39, 32, 32,105,102, 32, 40, 33,116,111,108,117, 97, 95,
+ 105,115,110,117,109, 98,101,114, 40,116,111,108,117, 97, 95,
+ 83, 44, 50, 44, 48, 44, 38,116,111,108,117, 97, 95,101,114,
+ 114, 41, 41, 39, 41, 10, 32, 32,111,117,116,112,117,116, 40,
+ 39, 32, 32, 32,116,111,108,117, 97, 95,101,114,114,111,114,
+ 40,116,111,108,117, 97, 95, 83, 44, 34, 35,118,105,110,118,
+ 97,108,105,100, 32,116,121,112,101, 32,105,110, 32, 97,114,
+ 114, 97,121, 32,105,110,100,101,120,105,110,103, 46, 34, 44,
+ 38,116,111,108,117, 97, 95,101,114,114, 41, 59, 39, 41, 10,
+ 9, 9,111,117,116,112,117,116, 40, 39, 32,125, 39, 41, 10,
+ 9, 9,111,117,116,112,117,116, 40, 39, 35,101,110,100,105,
+ 102, 92,110, 39, 41, 10, 10, 9,105,102, 32,102,108, 97,103,
+ 115, 91, 39, 49, 39, 93, 32,116,104,101,110, 32, 45, 45, 32,
+ 102,111,114, 32, 99,111,109,112, 97,116,105, 98,105,108,105,
+ 116,121, 32,119,105,116,104, 32,116,111,108,117, 97, 53, 32,
+ 63, 10, 9, 9,111,117,116,112,117,116, 40, 39, 32,116,111,
+ 108,117, 97, 95,105,110,100,101,120, 32, 61, 32, 40,105,110,
+ 116, 41,116,111,108,117, 97, 95,116,111,110,117,109, 98,101,
+ 114, 40,116,111,108,117, 97, 95, 83, 44, 50, 44, 48, 41, 45,
+ 49, 59, 39, 41, 10, 9,101,108,115,101, 10, 9, 9,111,117,
+ 116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,105,110,
+ 100,101,120, 32, 61, 32, 40,105,110,116, 41,116,111,108,117,
+ 97, 95,116,111,110,117,109, 98,101,114, 40,116,111,108,117,
+ 97, 95, 83, 44, 50, 44, 48, 41, 59, 39, 41, 10, 9,101,110,
+ 100, 10, 10, 9, 32,111,117,116,112,117,116, 40, 39, 35,105,
+ 102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76,
+ 69, 65, 83, 69, 92,110, 39, 41, 10, 9,105,102, 32,115,101,
+ 108,102, 46,100,105,109, 32, 97,110,100, 32,115,101,108,102,
+ 46,100,105,109, 32,126, 61, 32, 39, 39, 32,116,104,101,110,
+ 10, 9, 32, 32,111,117,116,112,117,116, 40, 39, 32,105,102,
+ 32, 40,116,111,108,117, 97, 95,105,110,100,101,120, 60, 48,
+ 32,124,124, 32,116,111,108,117, 97, 95,105,110,100,101,120,
+ 62, 61, 39, 46, 46,115,101,108,102, 46,100,105,109, 46, 46,
+ 39, 41, 39, 41, 10, 9,101,108,115,101, 10, 9, 32, 32,111,
+ 117,116,112,117,116, 40, 39, 32,105,102, 32, 40,116,111,108,
+ 117, 97, 95,105,110,100,101,120, 60, 48, 41, 39, 41, 10, 9,
+ 101,110,100, 10, 32, 32,111,117,116,112,117,116, 40, 39, 32,
+ 32,116,111,108,117, 97, 95,101,114,114,111,114, 40,116,111,
+ 108,117, 97, 95, 83, 44, 34, 97,114,114, 97,121, 32,105,110,
+ 100,101,120,105,110,103, 32,111,117,116, 32,111,102, 32,114,
+ 97,110,103,101, 46, 34, 44, 78, 85, 76, 76, 41, 59, 39, 41,
+ 10, 9, 9,111,117,116,112,117,116, 40, 39, 35,101,110,100,
+ 105,102, 92,110, 39, 41, 10, 10, 32, 32, 45, 45, 32, 97,115,
+ 115,105,103,110, 32,118, 97,108,117,101, 10, 32, 32,108,111,
+ 99, 97,108, 32,112,116,114, 32, 61, 32, 39, 39, 10, 32, 32,
+ 105,102, 32,115,101,108,102, 46,112,116,114,126, 61, 39, 39,
+ 32,116,104,101,110, 32,112,116,114, 32, 61, 32, 39, 42, 39,
+ 32,101,110,100, 10, 32, 32,111,117,116,112,117,116, 40, 39,
+ 32, 39, 41, 10, 32, 32,105,102, 32, 99,108, 97,115,115, 32,
+ 97,110,100, 32,115,116, 97,116,105, 99, 32,116,104,101,110,
+ 10, 32, 32, 32,111,117,116,112,117,116, 40, 99,108, 97,115,
+ 115, 46, 46, 39, 58, 58, 39, 46, 46,115,101,108,102, 46,110,
+ 97,109,101, 46, 46, 39, 91,116,111,108,117, 97, 95,105,110,
+ 100,101,120, 93, 39, 41, 10, 32, 32,101,108,115,101,105,102,
+ 32, 99,108, 97,115,115, 32,116,104,101,110, 10, 32, 32, 32,
+ 111,117,116,112,117,116, 40, 39,115,101,108,102, 45, 62, 39,
+ 46, 46,115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 91,
+ 116,111,108,117, 97, 95,105,110,100,101,120, 93, 39, 41, 10,
+ 32, 32,101,108,115,101, 10, 32, 32, 32,111,117,116,112,117,
+ 116, 40,115,101,108,102, 46,110, 97,109,101, 46, 46, 39, 91,
+ 116,111,108,117, 97, 95,105,110,100,101,120, 93, 39, 41, 10,
+ 32, 32,101,110,100, 10, 32, 32,108,111, 99, 97,108, 32,116,
+ 32, 61, 32,105,115, 98, 97,115,105, 99, 40,115,101,108,102,
+ 46,116,121,112,101, 41, 10, 32, 32,111,117,116,112,117,116,
+ 40, 39, 32, 61, 32, 39, 41, 10, 32, 32,105,102, 32,110,111,
+ 116, 32,116, 32, 97,110,100, 32,112,116,114, 61, 61, 39, 39,
+ 32,116,104,101,110, 32,111,117,116,112,117,116, 40, 39, 42,
+ 39, 41, 32,101,110,100, 10, 32, 32,111,117,116,112,117,116,
+ 40, 39, 40, 40, 39, 44,115,101,108,102, 46,109,111,100, 44,
+ 115,101,108,102, 46,116,121,112,101, 41, 10, 32, 32,105,102,
+ 32,110,111,116, 32,116, 32,116,104,101,110, 10, 32, 32, 32,
+ 111,117,116,112,117,116, 40, 39, 42, 39, 41, 10, 32, 32,101,
+ 110,100, 10, 32, 32,111,117,116,112,117,116, 40, 39, 41, 32,
+ 39, 41, 10, 32, 32,108,111, 99, 97,108, 32,100,101,102, 32,
+ 61, 32, 48, 10, 32, 32,105,102, 32,115,101,108,102, 46,100,
+ 101,102, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 32,100,
+ 101,102, 32, 61, 32,115,101,108,102, 46,100,101,102, 32,101,
+ 110,100, 10, 32, 32,105,102, 32,116, 32,116,104,101,110, 10,
+ 32, 32, 32,111,117,116,112,117,116, 40, 39,116,111,108,117,
+ 97, 95,116,111, 39, 46, 46,116, 44, 39, 40,116,111,108,117,
+ 97, 95, 83, 44, 51, 44, 39, 44,100,101,102, 44, 39, 41, 41,
+ 59, 39, 41, 10, 32, 32,101,108,115,101, 10, 32, 32, 32,108,
+ 111, 99, 97,108, 32,116,111, 95,102,117,110, 99, 32, 61, 32,
+ 103,101,116, 95,116,111, 95,102,117,110, 99,116,105,111,110,
+ 40,115,101,108,102, 46,116,121,112,101, 41, 10, 32, 32, 32,
+ 111,117,116,112,117,116, 40,116,111, 95,102,117,110, 99, 44,
+ 39, 40,116,111,108,117, 97, 95, 83, 44, 51, 44, 39, 44,100,
+ 101,102, 44, 39, 41, 41, 59, 39, 41, 10, 32, 32,101,110,100,
+ 10, 32, 32,111,117,116,112,117,116, 40, 39, 32,114,101,116,
+ 117,114,110, 32, 48, 59, 39, 41, 10, 32, 32,111,117,116,112,
+ 117,116, 40, 39,125, 39, 41, 10, 32, 32,111,117,116,112,117,
+ 116, 40, 39, 35,101,110,100,105,102, 32, 47, 47, 35,105,102,
+ 110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 68, 73, 83, 65,
+ 66, 76, 69, 92,110, 39, 41, 10, 32, 32,111,117,116,112,117,
+ 116, 40, 39, 92,110, 39, 41, 10, 32,101,110,100, 10, 10,101,
+ 110,100, 10, 10,102,117,110, 99,116,105,111,110, 32, 99,108,
+ 97,115,115, 65,114,114, 97,121, 58,114,101,103,105,115,116,
+ 101,114, 32, 40,112,114,101, 41, 10, 9,105,102, 32,110,111,
+ 116, 32,115,101,108,102, 58, 99,104,101, 99,107, 95,112,117,
+ 98,108,105, 99, 95, 97, 99, 99,101,115,115, 40, 41, 32,116,
+ 104,101,110, 10, 9, 9,114,101,116,117,114,110, 10, 9,101,
+ 110,100, 10, 10, 32,112,114,101, 32, 61, 32,112,114,101, 32,
+ 111,114, 32, 39, 39, 10, 32,105,102, 32,115,101,108,102, 46,
+ 99,115,101,116,110, 97,109,101, 32,116,104,101,110, 10, 32,
+ 32,111,117,116,112,117,116, 40,112,114,101, 46, 46, 39,116,
+ 111,108,117, 97, 95, 97,114,114, 97,121, 40,116,111,108,117,
+ 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,108,110,
+ 97,109,101, 46, 46, 39, 34, 44, 39, 46, 46,115,101,108,102,
+ 46, 99,103,101,116,110, 97,109,101, 46, 46, 39, 44, 39, 46,
+ 46,115,101,108,102, 46, 99,115,101,116,110, 97,109,101, 46,
+ 46, 39, 41, 59, 39, 41, 10, 32,101,108,115,101, 10, 32, 32,
+ 111,117,116,112,117,116, 40,112,114,101, 46, 46, 39,116,111,
+ 108,117, 97, 95, 97,114,114, 97,121, 40,116,111,108,117, 97,
+ 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,108,110, 97,
+ 109,101, 46, 46, 39, 34, 44, 39, 46, 46,115,101,108,102, 46,
+ 99,103,101,116,110, 97,109,101, 46, 46, 39, 44, 78, 85, 76,
+ 76, 41, 59, 39, 41, 10, 32,101,110,100, 10,101,110,100, 10,
+ 10, 45, 45, 32, 73,110,116,101,114,110, 97,108, 32, 99,111,
+ 110,115,116,114,117, 99,116,111,114, 10,102,117,110, 99,116,
+ 105,111,110, 32, 95, 65,114,114, 97,121, 32, 40,116, 41, 10,
+ 32,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40,116,
+ 44, 99,108, 97,115,115, 65,114,114, 97,121, 41, 10, 32, 97,
+ 112,112,101,110,100, 40,116, 41, 10, 32,114,101,116,117,114,
+ 110, 32,116, 10,101,110,100, 10, 10, 45, 45, 32, 67,111,110,
+ 115,116,114,117, 99,116,111,114, 10, 45, 45, 32, 69,120,112,
+ 101, 99,116,115, 32, 97, 32,115,116,114,105,110,103, 32,114,
+ 101,112,114,101,115,101,110,116,105,110,103, 32,116,104,101,
+ 32,118, 97,114,105, 97, 98,108,101, 32,100,101, 99,108, 97,
+ 114, 97,116,105,111,110, 46, 10,102,117,110, 99,116,105,111,
+ 110, 32, 65,114,114, 97,121, 32, 40,115, 41, 10, 32,114,101,
+ 116,117,114,110, 32, 95, 65,114,114, 97,121, 32, 40, 68,101,
+ 99,108, 97,114, 97,116,105,111,110, 40,115, 44, 39,118, 97,
+ 114, 39, 41, 41, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: lua/tolua++/src/bin/lua/array.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32,102,117,110, 99,116,
+ 105,111,110, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,
+ 105,116,116,101,110, 32, 98,121, 32, 87, 97,108,100,101,109,
+ 97,114, 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67,
+ 71,114, 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45,
+ 32, 74,117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,
+ 100, 58, 32, 36, 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,
+ 111,100,101, 32,105,115, 32,102,114,101,101, 32,115,111,102,
+ 116,119, 97,114,101, 59, 32,121,111,117, 32, 99, 97,110, 32,
+ 114,101,100,105,115,116,114,105, 98,117,116,101, 32,105,116,
+ 32, 97,110,100, 47,111,114, 32,109,111,100,105,102,121, 32,
+ 105,116, 46, 10, 45, 45, 32, 84,104,101, 32,115,111,102,116,
+ 119, 97,114,101, 32,112,114,111,118,105,100,101,100, 32,104,
+ 101,114,101,117,110,100,101,114, 32,105,115, 32,111,110, 32,
+ 97,110, 32, 34, 97,115, 32,105,115, 34, 32, 98, 97,115,105,
+ 115, 44, 32, 97,110,100, 10, 45, 45, 32,116,104,101, 32, 97,
+ 117,116,104,111,114, 32,104, 97,115, 32,110,111, 32,111, 98,
+ 108,105,103, 97,116,105,111,110, 32,116,111, 32,112,114,111,
+ 118,105,100,101, 32,109, 97,105,110,116,101,110, 97,110, 99,
+ 101, 44, 32,115,117,112,112,111,114,116, 44, 32,117,112,100,
+ 97,116,101,115, 44, 10, 45, 45, 32,101,110,104, 97,110, 99,
+ 101,109,101,110,116,115, 44, 32,111,114, 32,109,111,100,105,
+ 102,105, 99, 97,116,105,111,110,115, 46, 10, 10, 10, 10, 45,
+ 45, 32, 70,117,110, 99,116,105,111,110, 32, 99,108, 97,115,
+ 115, 10, 45, 45, 32, 82,101,112,114,101,115,101,110,116,115,
+ 32, 97, 32,102,117,110, 99,116,105,111,110, 32,111,114, 32,
+ 97, 32, 99,108, 97,115,115, 32,109,101,116,104,111,100, 46,
+ 10, 45, 45, 32, 84,104,101, 32,102,111,108,108,111,119,105,
+ 110,103, 32,102,105,101,108,100,115, 32, 97,114,101, 32,115,
+ 116,111,114,101,100, 58, 10, 45, 45, 32, 32,109,111,100, 32,
+ 32, 61, 32,116,121,112,101, 32,109,111,100,105,102,105,101,
+ 114,115, 10, 45, 45, 32, 32,116,121,112,101, 32, 61, 32,116,
+ 121,112,101, 10, 45, 45, 32, 32,112,116,114, 32, 32, 61, 32,
+ 34, 42, 34, 32,111,114, 32, 34, 38, 34, 44, 32,105,102, 32,
+ 114,101,112,114,101,115,101,110,116,105,110,103, 32, 97, 32,
+ 112,111,105,110,116,101,114, 32,111,114, 32, 97, 32,114,101,
+ 102,101,114,101,110, 99,101, 10, 45, 45, 32, 32,110, 97,109,
+ 101, 32, 61, 32,110, 97,109,101, 10, 45, 45, 32, 32,108,110,
+ 97,109,101, 32, 61, 32,108,117, 97, 32,110, 97,109,101, 10,
+ 45, 45, 32, 32, 97,114,103,115, 32, 32, 61, 32,108,105,115,
+ 116, 32,111,102, 32, 97,114,103,117,109,101,110,116, 32,100,
+ 101, 99,108, 97,114, 97,116,105,111,110,115, 10, 45, 45, 32,
+ 32, 99,111,110,115,116, 32, 61, 32,105,102, 32,105,116, 32,
+ 105,115, 32, 97, 32,109,101,116,104,111,100, 32,114,101, 99,
+ 101,105,118,105,110,103, 32, 97, 32, 99,111,110,115,116, 32,
+ 34,116,104,105,115, 34, 46, 10, 99,108, 97,115,115, 70,117,
+ 110, 99,116,105,111,110, 32, 61, 32,123, 10, 32,109,111,100,
+ 32, 61, 32, 39, 39, 44, 10, 32,116,121,112,101, 32, 61, 32,
+ 39, 39, 44, 10, 32,112,116,114, 32, 61, 32, 39, 39, 44, 10,
+ 32,110, 97,109,101, 32, 61, 32, 39, 39, 44, 10, 32, 97,114,
+ 103,115, 32, 61, 32,123,110, 61, 48,125, 44, 10, 32, 99,111,
+ 110,115,116, 32, 61, 32, 39, 39, 44, 10,125, 10, 99,108, 97,
+ 115,115, 70,117,110, 99,116,105,111,110, 46, 95, 95,105,110,
+ 100,101,120, 32, 61, 32, 99,108, 97,115,115, 70,117,110, 99,
+ 116,105,111,110, 10,115,101,116,109,101,116, 97,116, 97, 98,
+ 108,101, 40, 99,108, 97,115,115, 70,117,110, 99,116,105,111,
+ 110, 44, 99,108, 97,115,115, 70,101, 97,116,117,114,101, 41,
+ 10, 10, 45, 45, 32,100,101, 99,108, 97,114,101, 32,116, 97,
+ 103,115, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,
+ 115,115, 70,117,110, 99,116,105,111,110, 58,100,101, 99,108,
+ 116,121,112,101, 32, 40, 41, 10, 32,115,101,108,102, 46,116,
+ 121,112,101, 32, 61, 32,116,121,112,101,118, 97,114, 40,115,
+ 101,108,102, 46,116,121,112,101, 41, 10, 32,105,102, 32,115,
+ 116,114,102,105,110,100, 40,115,101,108,102, 46,109,111,100,
+ 44, 39, 99,111,110,115,116, 39, 41, 32,116,104,101,110, 10,
+ 9, 32,115,101,108,102, 46,116,121,112,101, 32, 61, 32, 39,
+ 99,111,110,115,116, 32, 39, 46, 46,115,101,108,102, 46,116,
+ 121,112,101, 10, 9, 9,115,101,108,102, 46,109,111,100, 32,
+ 61, 32,103,115,117, 98, 40,115,101,108,102, 46,109,111,100,
+ 44, 39, 99,111,110,115,116, 39, 44, 39, 39, 41, 10, 9,101,
+ 110,100, 10, 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32,
+ 119,104,105,108,101, 32,115,101,108,102, 46, 97,114,103,115,
+ 91,105, 93, 32,100,111, 10, 32, 32,115,101,108,102, 46, 97,
+ 114,103,115, 91,105, 93, 58,100,101, 99,108,116,121,112,101,
+ 40, 41, 10, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32,101,
+ 110,100, 10,101,110,100, 10, 10, 10, 45, 45, 32, 87,114,105,
+ 116,101, 32, 98,105,110,100,105,110,103, 32,102,117,110, 99,
+ 116,105,111,110, 10, 45, 45, 32, 79,117,116,112,117,116,115,
+ 32, 67, 47, 67, 43, 43, 32, 98,105,110,100,105,110,103, 32,
+ 102,117,110, 99,116,105,111,110, 46, 10,102,117,110, 99,116,
+ 105,111,110, 32, 99,108, 97,115,115, 70,117,110, 99,116,105,
+ 111,110, 58,115,117,112, 99,111,100,101, 32, 40,108,111, 99,
+ 97,108, 95, 99,111,110,115,116,114,117, 99,116,111,114, 41,
+ 10, 10, 32,108,111, 99, 97,108, 32,111,118,101,114,108,111,
+ 97,100, 32, 61, 32,115,116,114,115,117, 98, 40,115,101,108,
+ 102, 46, 99,110, 97,109,101, 44, 45, 50, 44, 45, 49, 41, 32,
+ 45, 32, 49, 32, 32, 45, 45, 32,105,110,100,105, 99, 97,116,
+ 101, 32,111,118,101,114,108,111, 97,100,101,100, 32,102,117,
+ 110, 99, 10, 32,108,111, 99, 97,108, 32,110,114,101,116, 32,
+ 61, 32, 48, 32, 32, 32, 32, 32, 32, 45, 45, 32,110,117,109,
+ 98,101,114, 32,111,102, 32,114,101,116,117,114,110,101,100,
+ 32,118, 97,108,117,101,115, 10, 32,108,111, 99, 97,108, 32,
+ 99,108, 97,115,115, 32, 61, 32,115,101,108,102, 58,105,110,
+ 99,108, 97,115,115, 40, 41, 10, 32,108,111, 99, 97,108, 32,
+ 95, 44, 95, 44,115,116, 97,116,105, 99, 32, 61, 32,115,116,
+ 114,102,105,110,100, 40,115,101,108,102, 46,109,111,100, 44,
+ 39, 94, 37,115, 42, 40,115,116, 97,116,105, 99, 41, 39, 41,
+ 10, 32,105,102, 32, 99,108, 97,115,115, 32,116,104,101,110,
+ 10, 10, 32, 9,105,102, 32,115,101,108,102, 46,110, 97,109,
+ 101, 32, 61, 61, 32, 39,110,101,119, 39, 32, 97,110,100, 32,
+ 115,101,108,102, 46,112, 97,114,101,110,116, 46,102,108, 97,
+ 103,115, 46,112,117,114,101, 95,118,105,114,116,117, 97,108,
+ 32,116,104,101,110, 10, 32, 9, 9, 45, 45, 32,110,111, 32,
+ 99,111,110,115,116,114,117, 99,116,111,114, 32,102,111,114,
+ 32, 99,108, 97,115,115,101,115, 32,119,105,116,104, 32,112,
+ 117,114,101, 32,118,105,114,116,117, 97,108, 32,109,101,116,
+ 104,111,100,115, 10, 32, 9, 9,114,101,116,117,114,110, 10,
+ 32, 9,101,110,100, 10, 10, 32, 9,105,102, 32,108,111, 99,
+ 97,108, 95, 99,111,110,115,116,114,117, 99,116,111,114, 32,
+ 116,104,101,110, 10, 9, 9,111,117,116,112,117,116, 40, 34,
+ 47, 42, 32,109,101,116,104,111,100, 58, 32,110,101,119, 95,
+ 108,111, 99, 97,108, 32,111,102, 32, 99,108, 97,115,115, 32,
+ 34, 44, 99,108, 97,115,115, 44, 34, 32, 42, 47, 34, 41, 10,
+ 9,101,108,115,101, 10, 9, 9,111,117,116,112,117,116, 40,
+ 34, 47, 42, 32,109,101,116,104,111,100, 58, 34, 44,115,101,
+ 108,102, 46,110, 97,109,101, 44, 34, 32,111,102, 32, 99,108,
+ 97,115,115, 32, 34, 44, 99,108, 97,115,115, 44, 34, 32, 42,
+ 47, 34, 41, 10, 9,101,110,100, 10, 32,101,108,115,101, 10,
+ 32, 32,111,117,116,112,117,116, 40, 34, 47, 42, 32,102,117,
+ 110, 99,116,105,111,110, 58, 34, 44,115,101,108,102, 46,110,
+ 97,109,101, 44, 34, 32, 42, 47, 34, 41, 10, 32,101,110,100,
+ 10, 10, 32,105,102, 32,108,111, 99, 97,108, 95, 99,111,110,
+ 115,116,114,117, 99,116,111,114, 32,116,104,101,110, 10, 32,
+ 32,111,117,116,112,117,116, 40, 34, 35,105,102,110,100,101,
+ 102, 32, 84, 79, 76, 85, 65, 95, 68, 73, 83, 65, 66, 76, 69,
+ 95, 34, 46, 46,115,101,108,102, 46, 99,110, 97,109,101, 46,
+ 46, 34, 95,108,111, 99, 97,108, 34, 41, 10, 32, 32,111,117,
+ 116,112,117,116, 40, 34, 92,110,115,116, 97,116,105, 99, 32,
+ 105,110,116, 34, 44,115,101,108,102, 46, 99,110, 97,109,101,
+ 46, 46, 34, 95,108,111, 99, 97,108, 34, 44, 34, 40,108,117,
+ 97, 95, 83,116, 97,116,101, 42, 32,116,111,108,117, 97, 95,
+ 83, 41, 34, 41, 10, 32,101,108,115,101, 10, 32, 32,111,117,
+ 116,112,117,116, 40, 34, 35,105,102,110,100,101,102, 32, 84,
+ 79, 76, 85, 65, 95, 68, 73, 83, 65, 66, 76, 69, 95, 34, 46,
+ 46,115,101,108,102, 46, 99,110, 97,109,101, 41, 10, 32, 32,
+ 111,117,116,112,117,116, 40, 34, 92,110,115,116, 97,116,105,
+ 99, 32,105,110,116, 34, 44,115,101,108,102, 46, 99,110, 97,
+ 109,101, 44, 34, 40,108,117, 97, 95, 83,116, 97,116,101, 42,
+ 32,116,111,108,117, 97, 95, 83, 41, 34, 41, 10, 32,101,110,
+ 100, 10, 32,111,117,116,112,117,116, 40, 34,123, 34, 41, 10,
+ 10, 32, 45, 45, 32, 99,104,101, 99,107, 32,116,121,112,101,
+ 115, 10, 9,105,102, 32,111,118,101,114,108,111, 97,100, 32,
+ 60, 32, 48, 32,116,104,101,110, 10, 9, 32,111,117,116,112,
+ 117,116, 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76,
+ 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,
+ 9,101,110,100, 10, 9,111,117,116,112,117,116, 40, 39, 32,
+ 116,111,108,117, 97, 95, 69,114,114,111,114, 32,116,111,108,
+ 117, 97, 95,101,114,114, 59, 39, 41, 10, 32,111,117,116,112,
+ 117,116, 40, 39, 32,105,102, 32, 40, 92,110, 39, 41, 10, 32,
+ 45, 45, 32, 99,104,101, 99,107, 32,115,101,108,102, 10, 32,
+ 108,111, 99, 97,108, 32,110, 97,114,103, 10, 32,105,102, 32,
+ 99,108, 97,115,115, 32,116,104,101,110, 32,110, 97,114,103,
+ 61, 50, 32,101,108,115,101, 32,110, 97,114,103, 61, 49, 32,
+ 101,110,100, 10, 32,105,102, 32, 99,108, 97,115,115, 32,116,
+ 104,101,110, 10, 9, 9,108,111, 99, 97,108, 32,102,117,110,
+ 99, 32, 61, 32,103,101,116, 95,105,115, 95,102,117,110, 99,
+ 116,105,111,110, 40,115,101,108,102, 46,112, 97,114,101,110,
+ 116, 46,116,121,112,101, 41, 10, 9, 9,108,111, 99, 97,108,
+ 32,116,121,112,101, 32, 61, 32,115,101,108,102, 46,112, 97,
+ 114,101,110,116, 46,116,121,112,101, 10, 9, 9,105,102, 32,
+ 115,101,108,102, 46,110, 97,109,101, 61, 61, 39,110,101,119,
+ 39, 32,111,114, 32,115,116, 97,116,105, 99,126, 61,110,105,
+ 108, 32,116,104,101,110, 10, 9, 9, 9,102,117,110, 99, 32,
+ 61, 32, 39,116,111,108,117, 97, 95,105,115,117,115,101,114,
+ 116, 97, 98,108,101, 39, 10, 9, 9, 9,116,121,112,101, 32,
+ 61, 32,115,101,108,102, 46,112, 97,114,101,110,116, 46,116,
+ 121,112,101, 10, 9, 9,101,110,100, 10, 9, 9,105,102, 32,
+ 115,101,108,102, 46, 99,111,110,115,116, 32,126, 61, 32, 39,
+ 39, 32,116,104,101,110, 10, 9, 9, 9,116,121,112,101, 32,
+ 61, 32, 34, 99,111,110,115,116, 32, 34, 46, 46,116,121,112,
+ 101, 10, 9, 9,101,110,100, 10, 9, 9,111,117,116,112,117,
+ 116, 40, 39, 32, 32, 32, 32, 32, 33, 39, 46, 46,102,117,110,
+ 99, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 49, 44,
+ 34, 39, 46, 46,116,121,112,101, 46, 46, 39, 34, 44, 48, 44,
+ 38,116,111,108,117, 97, 95,101,114,114, 41, 32,124,124, 92,
+ 110, 39, 41, 10, 32,101,110,100, 10, 32, 45, 45, 32, 99,104,
+ 101, 99,107, 32, 97,114,103,115, 10, 32,105,102, 32,115,101,
+ 108,102, 46, 97,114,103,115, 91, 49, 93, 46,116,121,112,101,
+ 32,126, 61, 32, 39,118,111,105,100, 39, 32,116,104,101,110,
+ 10, 32, 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32, 32,
+ 119,104,105,108,101, 32,115,101,108,102, 46, 97,114,103,115,
+ 91,105, 93, 32,100,111, 10, 32, 32, 32,108,111, 99, 97,108,
+ 32, 98,116,121,112,101, 32, 61, 32,105,115, 98, 97,115,105,
+ 99, 40,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 46,
+ 116,121,112,101, 41, 10, 32, 32, 32,105,102, 32, 98,116,121,
+ 112,101, 32,126, 61, 32, 39,118, 97,108,117,101, 39, 32, 97,
+ 110,100, 32, 98,116,121,112,101, 32,126, 61, 32, 39,115,116,
+ 97,116,101, 39, 32,116,104,101,110, 10, 32, 32, 32, 32,111,
+ 117,116,112,117,116, 40, 39, 32, 32, 32, 32, 32, 39, 46, 46,
+ 115,101,108,102, 46, 97,114,103,115, 91,105, 93, 58,111,117,
+ 116, 99,104,101, 99,107,116,121,112,101, 40,110, 97,114,103,
+ 41, 46, 46, 39, 32,124,124, 92,110, 39, 41, 10, 32, 32, 32,
+ 101,110,100, 10, 32, 32, 32,105,102, 32, 98,116,121,112,101,
+ 32,126, 61, 32, 39,115,116, 97,116,101, 39, 32,116,104,101,
+ 110, 10, 9, 32, 32, 32,110, 97,114,103, 32, 61, 32,110, 97,
+ 114,103, 43, 49, 10, 32, 32, 32,101,110,100, 10, 32, 32, 32,
+ 105, 32, 61, 32,105, 43, 49, 10, 32, 32,101,110,100, 10, 32,
+ 101,110,100, 10, 32, 45, 45, 32, 99,104,101, 99,107, 32,101,
+ 110,100, 32,111,102, 32,108,105,115,116, 10, 32,111,117,116,
+ 112,117,116, 40, 39, 32, 32, 32, 32, 32, 33,116,111,108,117,
+ 97, 95,105,115,110,111,111, 98,106, 40,116,111,108,117, 97,
+ 95, 83, 44, 39, 46, 46,110, 97,114,103, 46, 46, 39, 44, 38,
+ 116,111,108,117, 97, 95,101,114,114, 41, 92,110, 32, 41, 39,
+ 41, 10, 9,111,117,116,112,117,116, 40, 39, 32, 32,103,111,
+ 116,111, 32,116,111,108,117, 97, 95,108,101,114,114,111,114,
+ 59, 39, 41, 10, 10, 32,111,117,116,112,117,116, 40, 39, 32,
+ 101,108,115,101, 92,110, 39, 41, 10, 9,105,102, 32,111,118,
+ 101,114,108,111, 97,100, 32, 60, 32, 48, 32,116,104,101,110,
+ 10, 9, 32,111,117,116,112,117,116, 40, 39, 35,101,110,100,
+ 105,102, 92,110, 39, 41, 10, 9,101,110,100, 10, 9,111,117,
+ 116,112,117,116, 40, 39, 32,123, 39, 41, 10, 10, 32, 45, 45,
+ 32,100,101, 99,108, 97,114,101, 32,115,101,108,102, 44, 32,
+ 105,102, 32,116,104,101, 32, 99, 97,115,101, 10, 32,108,111,
+ 99, 97,108, 32,110, 97,114,103, 10, 32,105,102, 32, 99,108,
+ 97,115,115, 32,116,104,101,110, 32,110, 97,114,103, 61, 50,
+ 32,101,108,115,101, 32,110, 97,114,103, 61, 49, 32,101,110,
+ 100, 10, 32,105,102, 32, 99,108, 97,115,115, 32, 97,110,100,
+ 32,115,101,108,102, 46,110, 97,109,101,126, 61, 39,110,101,
+ 119, 39, 32, 97,110,100, 32,115,116, 97,116,105, 99, 61, 61,
+ 110,105,108, 32,116,104,101,110, 10, 32, 32,111,117,116,112,
+ 117,116, 40, 39, 32, 39, 44,115,101,108,102, 46, 99,111,110,
+ 115,116, 44,115,101,108,102, 46,112, 97,114,101,110,116, 46,
+ 116,121,112,101, 44, 39, 42, 39, 44, 39,115,101,108,102, 32,
+ 61, 32, 39, 41, 10, 32, 32,111,117,116,112,117,116, 40, 39,
+ 40, 39, 44,115,101,108,102, 46, 99,111,110,115,116, 44,115,
+ 101,108,102, 46,112, 97,114,101,110,116, 46,116,121,112,101,
+ 44, 39, 42, 41, 32, 39, 41, 10, 32, 32,108,111, 99, 97,108,
+ 32,116,111, 95,102,117,110, 99, 32, 61, 32,103,101,116, 95,
+ 116,111, 95,102,117,110, 99,116,105,111,110, 40,115,101,108,
+ 102, 46,112, 97,114,101,110,116, 46,116,121,112,101, 41, 10,
+ 32, 32,111,117,116,112,117,116, 40,116,111, 95,102,117,110,
+ 99, 44, 39, 40,116,111,108,117, 97, 95, 83, 44, 49, 44, 48,
+ 41, 59, 39, 41, 10, 32,101,108,115,101,105,102, 32,115,116,
+ 97,116,105, 99, 32,116,104,101,110, 10, 32, 32, 95, 44, 95,
+ 44,115,101,108,102, 46,109,111,100, 32, 61, 32,115,116,114,
+ 102,105,110,100, 40,115,101,108,102, 46,109,111,100, 44, 39,
+ 94, 37,115, 42,115,116, 97,116,105, 99, 37,115, 37,115, 42,
+ 40, 46, 42, 41, 39, 41, 10, 32,101,110,100, 10, 32, 45, 45,
+ 32,100,101, 99,108, 97,114,101, 32,112, 97,114, 97,109,101,
+ 116,101,114,115, 10, 32,105,102, 32,115,101,108,102, 46, 97,
+ 114,103,115, 91, 49, 93, 46,116,121,112,101, 32,126, 61, 32,
+ 39,118,111,105,100, 39, 32,116,104,101,110, 10, 32, 32,108,
+ 111, 99, 97,108, 32,105, 61, 49, 10, 32, 32,119,104,105,108,
+ 101, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32,
+ 100,111, 10, 32, 32, 32,115,101,108,102, 46, 97,114,103,115,
+ 91,105, 93, 58,100,101, 99,108, 97,114,101, 40,110, 97,114,
+ 103, 41, 10, 32, 32, 32,105,102, 32,105,115, 98, 97,115,105,
+ 99, 40,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 46,
+ 116,121,112,101, 41, 32,126, 61, 32, 34,115,116, 97,116,101,
+ 34, 32,116,104,101,110, 10, 9, 32, 32, 32,110, 97,114,103,
+ 32, 61, 32,110, 97,114,103, 43, 49, 10, 32, 32, 32,101,110,
+ 100, 10, 32, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32, 32,
+ 101,110,100, 10, 32,101,110,100, 10, 10, 32, 45, 45, 32, 99,
+ 104,101, 99,107, 32,115,101,108,102, 10, 32,105,102, 32, 99,
+ 108, 97,115,115, 32, 97,110,100, 32,115,101,108,102, 46,110,
+ 97,109,101,126, 61, 39,110,101,119, 39, 32, 97,110,100, 32,
+ 115,116, 97,116,105, 99, 61, 61,110,105,108, 32,116,104,101,
+ 110, 10, 9, 32,111,117,116,112,117,116, 40, 39, 35,105,102,
+ 110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69,
+ 65, 83, 69, 92,110, 39, 41, 10, 32, 32,111,117,116,112,117,
+ 116, 40, 39, 32, 32,105,102, 32, 40, 33,115,101,108,102, 41,
+ 32,116,111,108,117, 97, 95,101,114,114,111,114, 40,116,111,
+ 108,117, 97, 95, 83, 44, 34,105,110,118, 97,108,105,100, 32,
+ 92, 39,115,101,108,102, 92, 39, 32,105,110, 32,102,117,110,
+ 99,116,105,111,110, 32, 92, 39, 39, 46, 46,115,101,108,102,
+ 46,110, 97,109,101, 46, 46, 39, 92, 39, 34, 44, 78, 85, 76,
+ 76, 41, 59, 39, 41, 59, 10, 9, 32,111,117,116,112,117,116,
+ 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10, 32,101,
+ 110,100, 10, 10, 32, 45, 45, 32,103,101,116, 32, 97,114,114,
+ 97,121, 32,101,108,101,109,101,110,116, 32,118, 97,108,117,
+ 101,115, 10, 32,105,102, 32, 99,108, 97,115,115, 32,116,104,
+ 101,110, 32,110, 97,114,103, 61, 50, 32,101,108,115,101, 32,
+ 110, 97,114,103, 61, 49, 32,101,110,100, 10, 32,105,102, 32,
+ 115,101,108,102, 46, 97,114,103,115, 91, 49, 93, 46,116,121,
+ 112,101, 32,126, 61, 32, 39,118,111,105,100, 39, 32,116,104,
+ 101,110, 10, 32, 32,108,111, 99, 97,108, 32,105, 61, 49, 10,
+ 32, 32,119,104,105,108,101, 32,115,101,108,102, 46, 97,114,
+ 103,115, 91,105, 93, 32,100,111, 10, 32, 32, 32,115,101,108,
+ 102, 46, 97,114,103,115, 91,105, 93, 58,103,101,116, 97,114,
+ 114, 97,121, 40,110, 97,114,103, 41, 10, 32, 32, 32,110, 97,
+ 114,103, 32, 61, 32,110, 97,114,103, 43, 49, 10, 32, 32, 32,
+ 105, 32, 61, 32,105, 43, 49, 10, 32, 32,101,110,100, 10, 32,
+ 101,110,100, 10, 10, 32,108,111, 99, 97,108, 32,111,117,116,
+ 32, 61, 32,115,116,114,105,110,103, 46,102,105,110,100, 40,
+ 115,101,108,102, 46,109,111,100, 44, 32, 34,116,111,108,117,
+ 97, 95,111,117,116,115,105,100,101, 34, 41, 10, 32, 45, 45,
+ 32, 99, 97,108,108, 32,102,117,110, 99,116,105,111,110, 10,
+ 32,105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,
+ 101,108,102, 46,110, 97,109,101, 61, 61, 39,100,101,108,101,
+ 116,101, 39, 32,116,104,101,110, 10, 32, 32,111,117,116,112,
+ 117,116, 40, 39, 32, 32, 77,116,111,108,117, 97, 95,100,101,
+ 108,101,116,101, 40,115,101,108,102, 41, 59, 39, 41, 10, 32,
+ 101,108,115,101,105,102, 32, 99,108, 97,115,115, 32, 97,110,
+ 100, 32,115,101,108,102, 46,110, 97,109,101, 32, 61, 61, 32,
+ 39,111,112,101,114, 97,116,111,114, 38, 91, 93, 39, 32,116,
+ 104,101,110, 10, 32, 32,105,102, 32,102,108, 97,103,115, 91,
+ 39, 49, 39, 93, 32,116,104,101,110, 32, 45, 45, 32,102,111,
+ 114, 32, 99,111,109,112, 97,116,105, 98,105,108,105,116,121,
+ 32,119,105,116,104, 32,116,111,108,117, 97, 53, 32, 63, 10,
+ 9,111,117,116,112,117,116, 40, 39, 32, 32,115,101,108,102,
+ 45, 62,111,112,101,114, 97,116,111,114, 91, 93, 40, 39, 44,
+ 115,101,108,102, 46, 97,114,103,115, 91, 49, 93, 46,110, 97,
+ 109,101, 44, 39, 45, 49, 41, 32, 61, 32, 39, 44,115,101,108,
+ 102, 46, 97,114,103,115, 91, 50, 93, 46,110, 97,109,101, 44,
+ 39, 59, 39, 41, 10, 32, 32,101,108,115,101, 10, 32, 32, 32,
+ 32,111,117,116,112,117,116, 40, 39, 32, 32,115,101,108,102,
+ 45, 62,111,112,101,114, 97,116,111,114, 91, 93, 40, 39, 44,
+ 115,101,108,102, 46, 97,114,103,115, 91, 49, 93, 46,110, 97,
+ 109,101, 44, 39, 41, 32, 61, 32, 39, 44,115,101,108,102, 46,
+ 97,114,103,115, 91, 50, 93, 46,110, 97,109,101, 44, 39, 59,
+ 39, 41, 10, 32, 32,101,110,100, 10, 32,101,108,115,101, 10,
+ 32, 32,111,117,116,112,117,116, 40, 39, 32, 32,123, 39, 41,
+ 10, 32, 32,105,102, 32,115,101,108,102, 46,116,121,112,101,
+ 32,126, 61, 32, 39, 39, 32, 97,110,100, 32,115,101,108,102,
+ 46,116,121,112,101, 32,126, 61, 32, 39,118,111,105,100, 39,
+ 32,116,104,101,110, 10, 32, 32, 32,111,117,116,112,117,116,
+ 40, 39, 32, 32, 39, 44,115,101,108,102, 46,109,111,100, 44,
+ 115,101,108,102, 46,116,121,112,101, 44,115,101,108,102, 46,
+ 112,116,114, 44, 39,116,111,108,117, 97, 95,114,101,116, 32,
+ 61, 32, 39, 41, 10, 32, 32, 32,111,117,116,112,117,116, 40,
+ 39, 40, 39, 44,115,101,108,102, 46,109,111,100, 44,115,101,
+ 108,102, 46,116,121,112,101, 44,115,101,108,102, 46,112,116,
+ 114, 44, 39, 41, 32, 39, 41, 10, 32, 32,101,108,115,101, 10,
+ 32, 32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 39, 41,
+ 10, 32, 32,101,110,100, 10, 32, 32,105,102, 32, 99,108, 97,
+ 115,115, 32, 97,110,100, 32,115,101,108,102, 46,110, 97,109,
+ 101, 61, 61, 39,110,101,119, 39, 32,116,104,101,110, 10, 32,
+ 32, 32,111,117,116,112,117,116, 40, 39, 77,116,111,108,117,
+ 97, 95,110,101,119, 40, 40, 39, 44,115,101,108,102, 46,116,
+ 121,112,101, 44, 39, 41, 40, 39, 41, 10, 32, 32,101,108,115,
+ 101,105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,
+ 116, 97,116,105, 99, 32,116,104,101,110, 10, 9,105,102, 32,
+ 111,117,116, 32,116,104,101,110, 10, 9, 9,111,117,116,112,
+ 117,116, 40,115,101,108,102, 46,110, 97,109,101, 44, 39, 40,
+ 39, 41, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,112,
+ 117,116, 40, 99,108, 97,115,115, 46, 46, 39, 58, 58, 39, 46,
+ 46,115,101,108,102, 46,110, 97,109,101, 44, 39, 40, 39, 41,
+ 10, 9,101,110,100, 10, 32, 32,101,108,115,101,105,102, 32,
+ 99,108, 97,115,115, 32,116,104,101,110, 10, 9,105,102, 32,
+ 111,117,116, 32,116,104,101,110, 10, 9, 9,111,117,116,112,
+ 117,116, 40,115,101,108,102, 46,110, 97,109,101, 44, 39, 40,
+ 39, 41, 10, 9,101,108,115,101, 10, 9, 32, 32,105,102, 32,
+ 115,101,108,102, 46, 99, 97,115,116, 95,111,112,101,114, 97,
+ 116,111,114, 32,116,104,101,110, 10, 9, 32, 32, 9, 45, 45,
+ 111,117,116,112,117,116, 40, 39,115,116, 97,116,105, 99, 95,
+ 99, 97,115,116, 60, 39, 44,115,101,108,102, 46,109,111,100,
+ 44,115,101,108,102, 46,116,121,112,101, 44,115,101,108,102,
+ 46,112,116,114, 44, 39, 62, 40, 42,115,101,108,102, 39, 41,
+ 10, 9, 9,111,117,116,112,117,116, 40, 39,115,101,108,102,
+ 45, 62,111,112,101,114, 97,116,111,114, 32, 39, 44,115,101,
+ 108,102, 46,109,111,100, 44,115,101,108,102, 46,116,121,112,
+ 101, 44, 39, 40, 39, 41, 10, 9, 32, 32,101,108,115,101, 10,
+ 9, 9,111,117,116,112,117,116, 40, 39,115,101,108,102, 45,
+ 62, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 44, 39,
+ 40, 39, 41, 10, 9, 32, 32,101,110,100, 10, 9,101,110,100,
+ 10, 32, 32,101,108,115,101, 10, 32, 32, 32,111,117,116,112,
+ 117,116, 40,115,101,108,102, 46,110, 97,109,101, 44, 39, 40,
+ 39, 41, 10, 32, 32,101,110,100, 10, 10, 32, 32,105,102, 32,
+ 111,117,116, 32, 97,110,100, 32,110,111,116, 32,115,116, 97,
+ 116,105, 99, 32,116,104,101,110, 10, 32, 32, 9,111,117,116,
+ 112,117,116, 40, 39,115,101,108,102, 39, 41, 10, 9,105,102,
+ 32,115,101,108,102, 46, 97,114,103,115, 91, 49, 93, 32, 97,
+ 110,100, 32,115,101,108,102, 46, 97,114,103,115, 91, 49, 93,
+ 46,110, 97,109,101, 32,126, 61, 32, 39, 39, 32,116,104,101,
+ 110, 10, 9, 9,111,117,116,112,117,116, 40, 39, 44, 39, 41,
+ 10, 9,101,110,100, 10, 32, 32,101,110,100, 10, 32, 32, 45,
+ 45, 32,119,114,105,116,101, 32,112, 97,114, 97,109,101,116,
+ 101,114,115, 10, 32, 32,108,111, 99, 97,108, 32,105, 61, 49,
+ 10, 32, 32,119,104,105,108,101, 32,115,101,108,102, 46, 97,
+ 114,103,115, 91,105, 93, 32,100,111, 10, 32, 32, 32,115,101,
+ 108,102, 46, 97,114,103,115, 91,105, 93, 58,112, 97,115,115,
+ 112, 97,114, 40, 41, 10, 32, 32, 32,105, 32, 61, 32,105, 43,
+ 49, 10, 32, 32, 32,105,102, 32,115,101,108,102, 46, 97,114,
+ 103,115, 91,105, 93, 32,116,104,101,110, 10, 32, 32, 32, 32,
+ 111,117,116,112,117,116, 40, 39, 44, 39, 41, 10, 32, 32, 32,
+ 101,110,100, 10, 32, 32,101,110,100, 10, 10, 32, 32,105,102,
+ 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,101,108,102,
+ 46,110, 97,109,101, 32, 61, 61, 32, 39,111,112,101,114, 97,
+ 116,111,114, 91, 93, 39, 32, 97,110,100, 32,102,108, 97,103,
+ 115, 91, 39, 49, 39, 93, 32,116,104,101,110, 10, 9,111,117,
+ 116,112,117,116, 40, 39, 45, 49, 41, 59, 39, 41, 10, 32, 32,
+ 101,108,115,101, 10, 9,105,102, 32, 99,108, 97,115,115, 32,
+ 97,110,100, 32,115,101,108,102, 46,110, 97,109,101, 61, 61,
+ 39,110,101,119, 39, 32,116,104,101,110, 10, 9, 9,111,117,
+ 116,112,117,116, 40, 39, 41, 41, 59, 39, 41, 32, 45, 45, 32,
+ 99,108,111,115,101, 32, 77,116,111,108,117, 97, 95,110,101,
+ 119, 40, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,112,
+ 117,116, 40, 39, 41, 59, 39, 41, 10, 9,101,110,100, 10, 32,
+ 32,101,110,100, 10, 10, 32, 32, 45, 45, 32,114,101,116,117,
+ 114,110, 32,118, 97,108,117,101,115, 10, 32, 32,105,102, 32,
+ 115,101,108,102, 46,116,121,112,101, 32,126, 61, 32, 39, 39,
+ 32, 97,110,100, 32,115,101,108,102, 46,116,121,112,101, 32,
+ 126, 61, 32, 39,118,111,105,100, 39, 32,116,104,101,110, 10,
+ 32, 32, 32,110,114,101,116, 32, 61, 32,110,114,101,116, 32,
+ 43, 32, 49, 10, 32, 32, 32,108,111, 99, 97,108, 32,116, 44,
+ 99,116, 32, 61, 32,105,115, 98, 97,115,105, 99, 40,115,101,
+ 108,102, 46,116,121,112,101, 41, 10, 32, 32, 32,105,102, 32,
+ 116, 32,116,104,101,110, 10, 32, 32, 32, 9,105,102, 32,115,
+ 101,108,102, 46, 99, 97,115,116, 95,111,112,101,114, 97,116,
+ 111,114, 32, 97,110,100, 32, 95, 98, 97,115,105, 99, 95,114,
+ 97,119, 95,112,117,115,104, 91,116, 93, 32,116,104,101,110,
+ 10, 9, 9,111,117,116,112,117,116, 40, 39, 32, 32, 32, 39,
+ 44, 95, 98, 97,115,105, 99, 95,114, 97,119, 95,112,117,115,
+ 104, 91,116, 93, 44, 39, 40,116,111,108,117, 97, 95, 83, 44,
+ 40, 39, 44, 99,116, 44, 39, 41,116,111,108,117, 97, 95,114,
+ 101,116, 41, 59, 39, 41, 10, 32, 32, 32, 9,101,108,115,101,
+ 10, 9, 32, 32, 32, 32,111,117,116,112,117,116, 40, 39, 32,
+ 32, 32,116,111,108,117, 97, 95,112,117,115,104, 39, 46, 46,
+ 116, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 40, 39,
+ 44, 99,116, 44, 39, 41,116,111,108,117, 97, 95,114,101,116,
+ 41, 59, 39, 41, 10, 9,101,110,100, 10, 32, 32, 32,101,108,
+ 115,101, 10, 9,116, 32, 61, 32,115,101,108,102, 46,116,121,
+ 112,101, 10, 9,110,101,119, 95,116, 32, 61, 32,115,116,114,
+ 105,110,103, 46,103,115,117, 98, 40,116, 44, 32, 34, 99,111,
+ 110,115,116, 37,115, 43, 34, 44, 32, 34, 34, 41, 10, 9,108,
+ 111, 99, 97,108, 32,111,119,110,101,100, 32, 61, 32,102, 97,
+ 108,115,101, 10, 9,105,102, 32,115,116,114,105,110,103, 46,
+ 102,105,110,100, 40,115,101,108,102, 46,109,111,100, 44, 32,
+ 34,116,111,108,117, 97, 95,111,119,110,101,100, 34, 41, 32,
+ 116,104,101,110, 10, 9, 9,111,119,110,101,100, 32, 61, 32,
+ 116,114,117,101, 10, 9,101,110,100, 10, 32, 32, 32, 32,108,
+ 111, 99, 97,108, 32,112,117,115,104, 95,102,117,110, 99, 32,
+ 61, 32,103,101,116, 95,112,117,115,104, 95,102,117,110, 99,
+ 116,105,111,110, 40,116, 41, 10, 32, 32, 32, 32,105,102, 32,
+ 115,101,108,102, 46,112,116,114, 32, 61, 61, 32, 39, 39, 32,
+ 116,104,101,110, 10, 32, 32, 32, 32, 32,111,117,116,112,117,
+ 116, 40, 39, 32, 32, 32,123, 39, 41, 10, 32, 32, 32, 32, 32,
+ 111,117,116,112,117,116, 40, 39, 35,105,102,100,101,102, 32,
+ 95, 95, 99,112,108,117,115,112,108,117,115, 92,110, 39, 41,
+ 10, 32, 32, 32, 32, 32,111,117,116,112,117,116, 40, 39, 32,
+ 32, 32, 32,118,111,105,100, 42, 32,116,111,108,117, 97, 95,
+ 111, 98,106, 32, 61, 32, 77,116,111,108,117, 97, 95,110,101,
+ 119, 40, 40, 39, 44,110,101,119, 95,116, 44, 39, 41, 40,116,
+ 111,108,117, 97, 95,114,101,116, 41, 41, 59, 39, 41, 10, 32,
+ 32, 32, 32, 32,111,117,116,112,117,116, 40, 39, 32, 32, 32,
+ 32, 39, 44,112,117,115,104, 95,102,117,110, 99, 44, 39, 40,
+ 116,111,108,117, 97, 95, 83, 44,116,111,108,117, 97, 95,111,
+ 98,106, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10,
+ 32, 32, 32, 32, 32,111,117,116,112,117,116, 40, 39, 32, 32,
+ 32, 32,116,111,108,117, 97, 95,114,101,103,105,115,116,101,
+ 114, 95,103, 99, 40,116,111,108,117, 97, 95, 83, 44,108,117,
+ 97, 95,103,101,116,116,111,112, 40,116,111,108,117, 97, 95,
+ 83, 41, 41, 59, 39, 41, 10, 32, 32, 32, 32, 32,111,117,116,
+ 112,117,116, 40, 39, 35,101,108,115,101, 92,110, 39, 41, 10,
+ 32, 32, 32, 32, 32,111,117,116,112,117,116, 40, 39, 32, 32,
+ 32, 32,118,111,105,100, 42, 32,116,111,108,117, 97, 95,111,
+ 98,106, 32, 61, 32,116,111,108,117, 97, 95, 99,111,112,121,
+ 40,116,111,108,117, 97, 95, 83, 44, 40,118,111,105,100, 42,
+ 41, 38,116,111,108,117, 97, 95,114,101,116, 44,115,105,122,
+ 101,111,102, 40, 39, 44,116, 44, 39, 41, 41, 59, 39, 41, 10,
+ 32, 32, 32, 32, 32,111,117,116,112,117,116, 40, 39, 32, 32,
+ 32, 32, 39, 44,112,117,115,104, 95,102,117,110, 99, 44, 39,
+ 40,116,111,108,117, 97, 95, 83, 44,116,111,108,117, 97, 95,
+ 111, 98,106, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41,
+ 10, 32, 32, 32, 32, 32,111,117,116,112,117,116, 40, 39, 32,
+ 32, 32, 32,116,111,108,117, 97, 95,114,101,103,105,115,116,
+ 101,114, 95,103, 99, 40,116,111,108,117, 97, 95, 83, 44,108,
+ 117, 97, 95,103,101,116,116,111,112, 40,116,111,108,117, 97,
+ 95, 83, 41, 41, 59, 39, 41, 10, 32, 32, 32, 32, 32,111,117,
+ 116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39,
+ 41, 10, 32, 32, 32, 32, 32,111,117,116,112,117,116, 40, 39,
+ 32, 32, 32,125, 39, 41, 10, 32, 32, 32, 32,101,108,115,101,
+ 105,102, 32,115,101,108,102, 46,112,116,114, 32, 61, 61, 32,
+ 39, 38, 39, 32,116,104,101,110, 10, 32, 32, 32, 32, 32,111,
+ 117,116,112,117,116, 40, 39, 32, 32, 32, 39, 44,112,117,115,
+ 104, 95,102,117,110, 99, 44, 39, 40,116,111,108,117, 97, 95,
+ 83, 44, 40,118,111,105,100, 42, 41, 38,116,111,108,117, 97,
+ 95,114,101,116, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39,
+ 41, 10, 32, 32, 32, 32,101,108,115,101, 10, 9, 32,111,117,
+ 116,112,117,116, 40, 39, 32, 32, 32, 39, 44,112,117,115,104,
+ 95,102,117,110, 99, 44, 39, 40,116,111,108,117, 97, 95, 83,
+ 44, 40,118,111,105,100, 42, 41,116,111,108,117, 97, 95,114,
+ 101,116, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10,
+ 9, 32,105,102, 32,111,119,110,101,100, 32,111,114, 32,108,
+ 111, 99, 97,108, 95, 99,111,110,115,116,114,117, 99,116,111,
+ 114, 32,116,104,101,110, 10, 32, 32, 32, 32, 32, 32,111,117,
+ 116,112,117,116, 40, 39, 32, 32, 32, 32,116,111,108,117, 97,
+ 95,114,101,103,105,115,116,101,114, 95,103, 99, 40,116,111,
+ 108,117, 97, 95, 83, 44,108,117, 97, 95,103,101,116,116,111,
+ 112, 40,116,111,108,117, 97, 95, 83, 41, 41, 59, 39, 41, 10,
+ 9, 32,101,110,100, 10, 32, 32, 32, 32,101,110,100, 10, 32,
+ 32, 32,101,110,100, 10, 32, 32,101,110,100, 10, 32, 32,108,
+ 111, 99, 97,108, 32,105, 61, 49, 10, 32, 32,119,104,105,108,
+ 101, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32,
+ 100,111, 10, 32, 32, 32,110,114,101,116, 32, 61, 32,110,114,
+ 101,116, 32, 43, 32,115,101,108,102, 46, 97,114,103,115, 91,
+ 105, 93, 58,114,101,116,118, 97,108,117,101, 40, 41, 10, 32,
+ 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32, 32,101,110,100,
+ 10, 32, 32,111,117,116,112,117,116, 40, 39, 32, 32,125, 39,
+ 41, 10, 10, 32, 32, 45, 45, 32,115,101,116, 32, 97,114,114,
+ 97,121, 32,101,108,101,109,101,110,116, 32,118, 97,108,117,
+ 101,115, 10, 32, 32,105,102, 32, 99,108, 97,115,115, 32,116,
+ 104,101,110, 32,110, 97,114,103, 61, 50, 32,101,108,115,101,
+ 32,110, 97,114,103, 61, 49, 32,101,110,100, 10, 32, 32,105,
+ 102, 32,115,101,108,102, 46, 97,114,103,115, 91, 49, 93, 46,
+ 116,121,112,101, 32,126, 61, 32, 39,118,111,105,100, 39, 32,
+ 116,104,101,110, 10, 32, 32, 32,108,111, 99, 97,108, 32,105,
+ 61, 49, 10, 32, 32, 32,119,104,105,108,101, 32,115,101,108,
+ 102, 46, 97,114,103,115, 91,105, 93, 32,100,111, 10, 32, 32,
+ 32, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 58,
+ 115,101,116, 97,114,114, 97,121, 40,110, 97,114,103, 41, 10,
+ 32, 32, 32, 32,110, 97,114,103, 32, 61, 32,110, 97,114,103,
+ 43, 49, 10, 32, 32, 32, 32,105, 32, 61, 32,105, 43, 49, 10,
+ 32, 32, 32,101,110,100, 10, 32, 32,101,110,100, 10, 10, 32,
+ 32, 45, 45, 32,102,114,101,101, 32,100,121,110, 97,109,105,
+ 99, 97,108,108,121, 32, 97,108,108,111, 99, 97,116,101,100,
+ 32, 97,114,114, 97,121, 10, 32, 32,105,102, 32,115,101,108,
+ 102, 46, 97,114,103,115, 91, 49, 93, 46,116,121,112,101, 32,
+ 126, 61, 32, 39,118,111,105,100, 39, 32,116,104,101,110, 10,
+ 32, 32, 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32, 32,
+ 32,119,104,105,108,101, 32,115,101,108,102, 46, 97,114,103,
+ 115, 91,105, 93, 32,100,111, 10, 32, 32, 32, 32,115,101,108,
+ 102, 46, 97,114,103,115, 91,105, 93, 58,102,114,101,101, 97,
+ 114,114, 97,121, 40, 41, 10, 32, 32, 32, 32,105, 32, 61, 32,
+ 105, 43, 49, 10, 32, 32, 32,101,110,100, 10, 32, 32,101,110,
+ 100, 10, 32,101,110,100, 10, 10, 32,111,117,116,112,117,116,
+ 40, 39, 32,125, 39, 41, 10, 32,111,117,116,112,117,116, 40,
+ 39, 32,114,101,116,117,114,110, 32, 39, 46, 46,110,114,101,
+ 116, 46, 46, 39, 59, 39, 41, 10, 10, 32, 45, 45, 32, 99, 97,
+ 108,108, 32,111,118,101,114,108,111, 97,100,101,100, 32,102,
+ 117,110, 99,116,105,111,110, 32,111,114, 32,103,101,110,101,
+ 114, 97,116,101, 32,101,114,114,111,114, 10, 9,105,102, 32,
+ 111,118,101,114,108,111, 97,100, 32, 60, 32, 48, 32,116,104,
+ 101,110, 10, 10, 9, 9,111,117,116,112,117,116, 40, 39, 35,
+ 105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69,
+ 76, 69, 65, 83, 69, 92,110, 39, 41, 10, 9, 9,111,117,116,
+ 112,117,116, 40, 39,116,111,108,117, 97, 95,108,101,114,114,
+ 111,114, 58, 92,110, 39, 41, 10, 9, 9,111,117,116,112,117,
+ 116, 40, 39, 32,116,111,108,117, 97, 95,101,114,114,111,114,
+ 40,116,111,108,117, 97, 95, 83, 44, 34, 35,102,101,114,114,
+ 111,114, 32,105,110, 32,102,117,110, 99,116,105,111,110, 32,
+ 92, 39, 39, 46, 46,115,101,108,102, 46,108,110, 97,109,101,
+ 46, 46, 39, 92, 39, 46, 34, 44, 38,116,111,108,117, 97, 95,
+ 101,114,114, 41, 59, 39, 41, 10, 9, 9,111,117,116,112,117,
+ 116, 40, 39, 32,114,101,116,117,114,110, 32, 48, 59, 39, 41,
+ 10, 9, 9,111,117,116,112,117,116, 40, 39, 35,101,110,100,
+ 105,102, 92,110, 39, 41, 10, 9,101,108,115,101, 10, 9, 9,
+ 108,111, 99, 97,108, 32, 95,108,111, 99, 97,108, 32, 61, 32,
+ 34, 34, 10, 9, 9,105,102, 32,108,111, 99, 97,108, 95, 99,
+ 111,110,115,116,114,117, 99,116,111,114, 32,116,104,101,110,
+ 10, 9, 9, 9, 95,108,111, 99, 97,108, 32, 61, 32, 34, 95,
+ 108,111, 99, 97,108, 34, 10, 9, 9,101,110,100, 10, 9, 9,
+ 111,117,116,112,117,116, 40, 39,116,111,108,117, 97, 95,108,
+ 101,114,114,111,114, 58, 92,110, 39, 41, 10, 9, 9,111,117,
+ 116,112,117,116, 40, 39, 32,114,101,116,117,114,110, 32, 39,
+ 46, 46,115,116,114,115,117, 98, 40,115,101,108,102, 46, 99,
+ 110, 97,109,101, 44, 49, 44, 45, 51, 41, 46, 46,102,111,114,
+ 109, 97,116, 40, 34, 37, 48, 50,100, 34, 44,111,118,101,114,
+ 108,111, 97,100, 41, 46, 46, 95,108,111, 99, 97,108, 46, 46,
+ 39, 40,116,111,108,117, 97, 95, 83, 41, 59, 39, 41, 10, 9,
+ 101,110,100, 10, 32,111,117,116,112,117,116, 40, 39,125, 39,
+ 41, 10, 32,111,117,116,112,117,116, 40, 39, 35,101,110,100,
+ 105,102, 32, 47, 47, 35,105,102,110,100,101,102, 32, 84, 79,
+ 76, 85, 65, 95, 68, 73, 83, 65, 66, 76, 69, 92,110, 39, 41,
+ 10, 32,111,117,116,112,117,116, 40, 39, 92,110, 39, 41, 10,
+ 10, 9, 45, 45, 32,114,101, 99,117,114,115,105,118,101, 32,
+ 99, 97,108,108, 32,116,111, 32,119,114,105,116,101, 32,108,
+ 111, 99, 97,108, 32, 99,111,110,115,116,114,117, 99,116,111,
+ 114, 10, 9,105,102, 32, 99,108, 97,115,115, 32, 97,110,100,
+ 32,115,101,108,102, 46,110, 97,109,101, 61, 61, 39,110,101,
+ 119, 39, 32, 97,110,100, 32,110,111,116, 32,108,111, 99, 97,
+ 108, 95, 99,111,110,115,116,114,117, 99,116,111,114, 32,116,
+ 104,101,110, 10, 10, 9, 9,115,101,108,102, 58,115,117,112,
+ 99,111,100,101, 40, 49, 41, 10, 9,101,110,100, 10, 10,101,
+ 110,100, 10, 10, 10, 45, 45, 32,114,101,103,105,115,116,101,
+ 114, 32,102,117,110, 99,116,105,111,110, 10,102,117,110, 99,
+ 116,105,111,110, 32, 99,108, 97,115,115, 70,117,110, 99,116,
+ 105,111,110, 58,114,101,103,105,115,116,101,114, 32, 40,112,
+ 114,101, 41, 10, 10, 9,105,102, 32,110,111,116, 32,115,101,
+ 108,102, 58, 99,104,101, 99,107, 95,112,117, 98,108,105, 99,
+ 95, 97, 99, 99,101,115,115, 40, 41, 32,116,104,101,110, 10,
+ 9, 9,114,101,116,117,114,110, 10, 9,101,110,100, 10, 10,
+ 32, 9,105,102, 32,115,101,108,102, 46,110, 97,109,101, 32,
+ 61, 61, 32, 39,110,101,119, 39, 32, 97,110,100, 32,115,101,
+ 108,102, 46,112, 97,114,101,110,116, 46,102,108, 97,103,115,
+ 46,112,117,114,101, 95,118,105,114,116,117, 97,108, 32,116,
+ 104,101,110, 10, 32, 9, 9, 45, 45, 32,110,111, 32, 99,111,
+ 110,115,116,114,117, 99,116,111,114, 32,102,111,114, 32, 99,
+ 108, 97,115,115,101,115, 32,119,105,116,104, 32,112,117,114,
+ 101, 32,118,105,114,116,117, 97,108, 32,109,101,116,104,111,
+ 100,115, 10, 32, 9, 9,114,101,116,117,114,110, 10, 32, 9,
+ 101,110,100, 10, 10, 32,111,117,116,112,117,116, 40,112,114,
+ 101, 46, 46, 39,116,111,108,117, 97, 95,102,117,110, 99,116,
+ 105,111,110, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46,
+ 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46, 39, 34,
+ 44, 39, 46, 46,115,101,108,102, 46, 99,110, 97,109,101, 46,
+ 46, 39, 41, 59, 39, 41, 10, 32, 32,105,102, 32,115,101,108,
+ 102, 46,110, 97,109,101, 32, 61, 61, 32, 39,110,101,119, 39,
+ 32,116,104,101,110, 10, 9, 32, 32,111,117,116,112,117,116,
+ 40,112,114,101, 46, 46, 39,116,111,108,117, 97, 95,102,117,
+ 110, 99,116,105,111,110, 40,116,111,108,117, 97, 95, 83, 44,
+ 34,110,101,119, 95,108,111, 99, 97,108, 34, 44, 39, 46, 46,
+ 115,101,108,102, 46, 99,110, 97,109,101, 46, 46, 39, 95,108,
+ 111, 99, 97,108, 41, 59, 39, 41, 10, 9, 32, 32,111,117,116,
+ 112,117,116, 40,112,114,101, 46, 46, 39,116,111,108,117, 97,
+ 95,102,117,110, 99,116,105,111,110, 40,116,111,108,117, 97,
+ 95, 83, 44, 34, 46, 99, 97,108,108, 34, 44, 39, 46, 46,115,
+ 101,108,102, 46, 99,110, 97,109,101, 46, 46, 39, 95,108,111,
+ 99, 97,108, 41, 59, 39, 41, 10, 9, 32, 32, 45, 45,111,117,
+ 116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,115,101,
+ 116, 95, 99, 97,108,108, 95,101,118,101,110,116, 40,116,111,
+ 108,117, 97, 95, 83, 44, 39, 46, 46,115,101,108,102, 46, 99,
+ 110, 97,109,101, 46, 46, 39, 95,108,111, 99, 97,108, 44, 32,
+ 34, 39, 46, 46,115,101,108,102, 46,112, 97,114,101,110,116,
+ 46,116,121,112,101, 46, 46, 39, 34, 41, 59, 39, 41, 10, 32,
+ 32,101,110,100, 10,101,110,100, 10, 10, 45, 45, 32, 80,114,
+ 105,110,116, 32,109,101,116,104,111,100, 10,102,117,110, 99,
+ 116,105,111,110, 32, 99,108, 97,115,115, 70,117,110, 99,116,
+ 105,111,110, 58,112,114,105,110,116, 32, 40,105,100,101,110,
+ 116, 44, 99,108,111,115,101, 41, 10, 32,112,114,105,110,116,
+ 40,105,100,101,110,116, 46, 46, 34, 70,117,110, 99,116,105,
+ 111,110,123, 34, 41, 10, 32,112,114,105,110,116, 40,105,100,
+ 101,110,116, 46, 46, 34, 32,109,111,100, 32, 32, 61, 32, 39,
+ 34, 46, 46,115,101,108,102, 46,109,111,100, 46, 46, 34, 39,
+ 44, 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,
+ 116, 46, 46, 34, 32,116,121,112,101, 32, 61, 32, 39, 34, 46,
+ 46,115,101,108,102, 46,116,121,112,101, 46, 46, 34, 39, 44,
+ 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,116,
+ 46, 46, 34, 32,112,116,114, 32, 32, 61, 32, 39, 34, 46, 46,
+ 115,101,108,102, 46,112,116,114, 46, 46, 34, 39, 44, 34, 41,
+ 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46,
+ 34, 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,
+ 108,102, 46,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10,
+ 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,
+ 32,108,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,
+ 108,102, 46,108,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41,
+ 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46,
+ 34, 32, 99,111,110,115,116, 32, 61, 32, 39, 34, 46, 46,115,
+ 101,108,102, 46, 99,111,110,115,116, 46, 46, 34, 39, 44, 34,
+ 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46,
+ 46, 34, 32, 99,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,
+ 115,101,108,102, 46, 99,110, 97,109,101, 46, 46, 34, 39, 44,
+ 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,116,
+ 46, 46, 34, 32,108,110, 97,109,101, 32, 61, 32, 39, 34, 46,
+ 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46, 34, 39,
+ 44, 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,
+ 116, 46, 46, 34, 32, 97,114,103,115, 32, 61, 32,123, 34, 41,
+ 10, 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32,119,104,
+ 105,108,101, 32,115,101,108,102, 46, 97,114,103,115, 91,105,
+ 93, 32,100,111, 10, 32, 32,115,101,108,102, 46, 97,114,103,
+ 115, 91,105, 93, 58,112,114,105,110,116, 40,105,100,101,110,
+ 116, 46, 46, 34, 32, 32, 34, 44, 34, 44, 34, 41, 10, 32, 32,
+ 105, 32, 61, 32,105, 43, 49, 10, 32,101,110,100, 10, 32,112,
+ 114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,125,
+ 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,116,
+ 46, 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,
+ 110,100, 10, 10, 45, 45, 32, 99,104,101, 99,107, 32,105,102,
+ 32,105,116, 32,114,101,116,117,114,110,115, 32, 97,110, 32,
+ 111, 98,106,101, 99,116, 32, 98,121, 32,118, 97,108,117,101,
+ 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115,
+ 70,117,110, 99,116,105,111,110, 58,114,101,113,117,105,114,
+ 101, 99,111,108,108,101, 99,116,105,111,110, 32, 40,116, 41,
+ 10, 9,108,111, 99, 97,108, 32,114, 32, 61, 32,102, 97,108,
+ 115,101, 10, 9,105,102, 32,115,101,108,102, 46,116,121,112,
+ 101, 32,126, 61, 32, 39, 39, 32, 97,110,100, 32,110,111,116,
+ 32,105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46,116,
+ 121,112,101, 41, 32, 97,110,100, 32,115,101,108,102, 46,112,
+ 116,114, 61, 61, 39, 39, 32,116,104,101,110, 10, 9, 9,108,
+ 111, 99, 97,108, 32,116,121,112,101, 32, 61, 32,103,115,117,
+ 98, 40,115,101,108,102, 46,116,121,112,101, 44, 34, 37,115,
+ 42, 99,111,110,115,116, 37,115, 43, 34, 44, 34, 34, 41, 10,
+ 9, 32,116, 91,116,121,112,101, 93, 32, 61, 32, 34,116,111,
+ 108,117, 97, 95, 99,111,108,108,101, 99,116, 95, 34, 32, 46,
+ 46, 32, 99,108,101, 97,110, 95,116,101,109,112,108, 97,116,
+ 101, 40,116,121,112,101, 41, 10, 9, 32,114, 32, 61, 32,116,
+ 114,117,101, 10, 9,101,110,100, 10, 9,108,111, 99, 97,108,
+ 32,105, 61, 49, 10, 9,119,104,105,108,101, 32,115,101,108,
+ 102, 46, 97,114,103,115, 91,105, 93, 32,100,111, 10, 9, 9,
+ 114, 32, 61, 32,115,101,108,102, 46, 97,114,103,115, 91,105,
+ 93, 58,114,101,113,117,105,114,101, 99,111,108,108,101, 99,
+ 116,105,111,110, 40,116, 41, 32,111,114, 32,114, 10, 9, 9,
+ 105, 32, 61, 32,105, 43, 49, 10, 9,101,110,100, 10, 9,114,
+ 101,116,117,114,110, 32,114, 10,101,110,100, 10, 10, 45, 45,
+ 32,100,101,116,101,114,109,105,110,101, 32,108,117, 97, 32,
+ 102,117,110, 99,116,105,111,110, 32,110, 97,109,101, 32,111,
+ 118,101,114,108,111, 97,100, 10,102,117,110, 99,116,105,111,
+ 110, 32, 99,108, 97,115,115, 70,117,110, 99,116,105,111,110,
+ 58,111,118,101,114,108,111, 97,100, 32, 40, 41, 10, 32,114,
+ 101,116,117,114,110, 32,115,101,108,102, 46,112, 97,114,101,
+ 110,116, 58,111,118,101,114,108,111, 97,100, 40,115,101,108,
+ 102, 46,108,110, 97,109,101, 41, 10,101,110,100, 10, 10, 10,
+ 102,117,110, 99,116,105,111,110, 32,112, 97,114, 97,109, 95,
+ 111, 98,106,101, 99,116, 40,112, 97,114, 41, 32, 45, 45, 32,
+ 114,101,116,117,114,110,115, 32,116,114,117,101, 32,105,102,
+ 32,116,104,101, 32,112, 97,114, 97,109,101,116,101,114, 32,
+ 104, 97,115, 32, 97,110, 32,111, 98,106,101, 99,116, 32, 97,
+ 115, 32,105,116,115, 32,100,101,102, 97,117,108,116, 32,118,
+ 97,108,117,101, 10, 10, 9,105,102, 32,110,111,116, 32,115,
+ 116,114,105,110,103, 46,102,105,110,100, 40,112, 97,114, 44,
+ 32, 39, 61, 39, 41, 32,116,104,101,110, 32,114,101,116,117,
+ 114,110, 32,102, 97,108,115,101, 32,101,110,100, 32, 45, 45,
+ 32,105,116, 32,104, 97,115, 32,110,111, 32,100,101,102, 97,
+ 117,108,116, 32,118, 97,108,117,101, 10, 10, 9,108,111, 99,
+ 97,108, 32, 95, 44, 95, 44,100,101,102, 32, 61, 32,115,116,
+ 114,105,110,103, 46,102,105,110,100, 40,112, 97,114, 44, 32,
+ 34, 61, 40, 46, 42, 41, 36, 34, 41, 10, 10, 9,105,102, 32,
+ 115,116,114,105,110,103, 46,102,105,110,100, 40,112, 97,114,
+ 44, 32, 34,124, 34, 41, 32,116,104,101,110, 32, 45, 45, 32,
+ 97, 32,108,105,115,116, 32,111,102, 32,102,108, 97,103,115,
+ 10, 10, 9, 9,114,101,116,117,114,110, 32,116,114,117,101,
+ 10, 9,101,110,100, 10, 10, 9,105,102, 32,115,116,114,105,
+ 110,103, 46,102,105,110,100, 40,112, 97,114, 44, 32, 34, 37,
+ 42, 34, 41, 32,116,104,101,110, 32, 45, 45, 32,105,116, 39,
+ 115, 32, 97, 32,112,111,105,110,116,101,114, 32,119,105,116,
+ 104, 32, 97, 32,100,101,102, 97,117,108,116, 32,118, 97,108,
+ 117,101, 10, 10, 9, 9,105,102, 32,115,116,114,105,110,103,
+ 46,102,105,110,100, 40,112, 97,114, 44, 32, 39, 61, 37,115,
+ 42,110,101,119, 39, 41, 32,111,114, 32,115,116,114,105,110,
+ 103, 46,102,105,110,100, 40,112, 97,114, 44, 32, 34, 37, 40,
+ 34, 41, 32,116,104,101,110, 32, 45, 45, 32,105,116, 39,115,
+ 32, 97, 32,112,111,105,110,116,101,114, 32,119,105,116,104,
+ 32, 97,110, 32,105,110,115,116, 97,110, 99,101, 32, 97,115,
+ 32,100,101,102, 97,117,108,116, 32,112, 97,114, 97,109,101,
+ 116,101,114, 46, 46, 32,105,115, 32,116,104, 97,116, 32,118,
+ 97,108,105,100, 63, 10, 9, 9, 9,114,101,116,117,114,110,
+ 32,116,114,117,101, 10, 9, 9,101,110,100, 10, 9, 9,114,
+ 101,116,117,114,110, 32,102, 97,108,115,101, 32, 45, 45, 32,
+ 100,101,102, 97,117,108,116, 32,118, 97,108,117,101, 32,105,
+ 115, 32, 39, 78, 85, 76, 76, 39, 32,111,114, 32,115,111,109,
+ 101,116,104,105,110,103, 10, 9,101,110,100, 10, 10, 10, 9,
+ 105,102, 32,115,116,114,105,110,103, 46,102,105,110,100, 40,
+ 112, 97,114, 44, 32, 34, 91, 37, 40, 38, 93, 34, 41, 32,116,
+ 104,101,110, 10, 9, 9,114,101,116,117,114,110, 32,116,114,
+ 117,101, 10, 9,101,110,100, 32, 45, 45, 32,100,101,102, 97,
+ 117,108,116, 32,118, 97,108,117,101, 32,105,115, 32, 97, 32,
+ 99,111,110,115,116,114,117, 99,116,111,114, 32, 99, 97,108,
+ 108, 32, 40,109,111,115,116, 32,108,105,107,101,108,121, 32,
+ 102,111,114, 32, 97, 32, 99,111,110,115,116, 32,114,101,102,
+ 101,114,101,110, 99,101, 41, 10, 10, 9, 45, 45,105,102, 32,
+ 115,116,114,105,110,103, 46,102,105,110,100, 40,112, 97,114,
+ 44, 32, 34, 38, 34, 41, 32,116,104,101,110, 10, 10, 9, 45,
+ 45, 9,105,102, 32,115,116,114,105,110,103, 46,102,105,110,
+ 100, 40,100,101,102, 44, 32, 34, 58, 34, 41, 32,111,114, 32,
+ 115,116,114,105,110,103, 46,102,105,110,100, 40,100,101,102,
+ 44, 32, 34, 94, 37,115, 42,110,101,119, 37,115, 43, 34, 41,
+ 32,116,104,101,110, 10, 10, 9, 45, 45, 9, 9, 45, 45, 32,
+ 105,116, 39,115, 32, 97, 32,114,101,102,101,114,101,110, 99,
+ 101, 32,119,105,116,104, 32,100,101,102, 97,117,108,116, 32,
+ 116,111, 32,115,111,109,101,116,104,105,110,103, 32,108,105,
+ 107,101, 32, 67,108, 97,115,115, 58, 58,109,101,109, 98,101,
+ 114, 44, 32,111,114, 32, 39,110,101,119, 32, 67,108, 97,115,
+ 115, 39, 10, 9, 45, 45, 9, 9,114,101,116,117,114,110, 32,
+ 116,114,117,101, 10, 9, 45, 45, 9,101,110,100, 10, 9, 45,
+ 45,101,110,100, 10, 10, 9,114,101,116,117,114,110, 32,102,
+ 97,108,115,101, 32, 45, 45, 32, 63, 10,101,110,100, 10, 10,
+ 102,117,110, 99,116,105,111,110, 32,115,116,114,105,112, 95,
+ 108, 97,115,116, 95, 97,114,103, 40, 97,108,108, 95, 97,114,
+ 103,115, 44, 32,108, 97,115,116, 95, 97,114,103, 41, 32, 45,
+ 45, 32,115,116,114,105,112,115, 32,116,104,101, 32,100,101,
+ 102, 97,117,108,116, 32,118, 97,108,117,101, 32,102,114,111,
+ 109, 32,116,104,101, 32,108, 97,115,116, 32, 97,114,103,117,
+ 109,101,110,116, 10, 10, 9,108,111, 99, 97,108, 32, 95, 44,
+ 95, 44,115, 95, 97,114,103, 32, 61, 32,115,116,114,105,110,
+ 103, 46,102,105,110,100, 40,108, 97,115,116, 95, 97,114,103,
+ 44, 32, 34, 94, 40, 91, 94, 61, 93, 43, 41, 34, 41, 10, 9,
+ 108, 97,115,116, 95, 97,114,103, 32, 61, 32,115,116,114,105,
+ 110,103, 46,103,115,117, 98, 40,108, 97,115,116, 95, 97,114,
+ 103, 44, 32, 34, 40, 91, 37, 37, 37, 40, 37, 41, 93, 41, 34,
+ 44, 32, 34, 37, 37, 37, 49, 34, 41, 59, 10, 9, 97,108,108,
+ 95, 97,114,103,115, 32, 61, 32,115,116,114,105,110,103, 46,
+ 103,115,117, 98, 40, 97,108,108, 95, 97,114,103,115, 44, 32,
+ 34, 37,115, 42, 44, 37,115, 42, 34, 46, 46,108, 97,115,116,
+ 95, 97,114,103, 46, 46, 34, 37,115, 42, 37, 41, 37,115, 42,
+ 36, 34, 44, 32, 34, 41, 34, 41, 10, 9,114,101,116,117,114,
+ 110, 32, 97,108,108, 95, 97,114,103,115, 44, 32,115, 95, 97,
+ 114,103, 10,101,110,100, 10, 10, 10, 10, 45, 45, 32, 73,110,
+ 116,101,114,110, 97,108, 32, 99,111,110,115,116,114,117, 99,
+ 116,111,114, 10,102,117,110, 99,116,105,111,110, 32, 95, 70,
+ 117,110, 99,116,105,111,110, 32, 40,116, 41, 10, 32,115,101,
+ 116,109,101,116, 97,116, 97, 98,108,101, 40,116, 44, 99,108,
+ 97,115,115, 70,117,110, 99,116,105,111,110, 41, 10, 10, 32,
+ 105,102, 32,116, 46, 99,111,110,115,116, 32,126, 61, 32, 39,
+ 99,111,110,115,116, 39, 32, 97,110,100, 32,116, 46, 99,111,
+ 110,115,116, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10,
+ 32, 32,101,114,114,111,114, 40, 34, 35,105,110,118, 97,108,
+ 105,100, 32, 39, 99,111,110,115,116, 39, 32,115,112,101, 99,
+ 105,102,105, 99, 97,116,105,111,110, 34, 41, 10, 32,101,110,
+ 100, 10, 10, 32, 97,112,112,101,110,100, 40,116, 41, 10, 32,
+ 105,102, 32,116, 58,105,110, 99,108, 97,115,115, 40, 41, 32,
+ 116,104,101,110, 10, 32, 45, 45,112,114,105,110,116, 32, 40,
+ 39,116, 46,110, 97,109,101, 32,105,115, 32, 39, 46, 46,116,
+ 46,110, 97,109,101, 46, 46, 39, 44, 32,112, 97,114,101,110,
+ 116, 46,110, 97,109,101, 32,105,115, 32, 39, 46, 46,116, 46,
+ 112, 97,114,101,110,116, 46,110, 97,109,101, 41, 10, 32, 32,
+ 105,102, 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,
+ 116, 46,110, 97,109,101, 44, 32, 34, 37, 98, 60, 62, 34, 44,
+ 32, 34, 34, 41, 32, 61, 61, 32,115,116,114,105,110,103, 46,
+ 103,115,117, 98, 40,116, 46,112, 97,114,101,110,116, 46,111,
+ 114,105,103,105,110, 97,108, 95,110, 97,109,101, 32,111,114,
+ 32,116, 46,112, 97,114,101,110,116, 46,110, 97,109,101, 44,
+ 32, 34, 37, 98, 60, 62, 34, 44, 32, 34, 34, 41, 32,116,104,
+ 101,110, 10, 32, 32, 32,116, 46,110, 97,109,101, 32, 61, 32,
+ 39,110,101,119, 39, 10, 32, 32, 32,116, 46,108,110, 97,109,
+ 101, 32, 61, 32, 39,110,101,119, 39, 10, 32, 32, 32,116, 46,
+ 112, 97,114,101,110,116, 46, 95,110,101,119, 32, 61, 32,116,
+ 114,117,101, 10, 32, 32, 32,116, 46,116,121,112,101, 32, 61,
+ 32,116, 46,112, 97,114,101,110,116, 46,110, 97,109,101, 10,
+ 32, 32, 32,116, 46,112,116,114, 32, 61, 32, 39, 42, 39, 10,
+ 32, 32,101,108,115,101,105,102, 32,115,116,114,105,110,103,
+ 46,103,115,117, 98, 40,116, 46,110, 97,109,101, 44, 32, 34,
+ 37, 98, 60, 62, 34, 44, 32, 34, 34, 41, 32, 61, 61, 32, 39,
+ 126, 39, 46, 46,115,116,114,105,110,103, 46,103,115,117, 98,
+ 40,116, 46,112, 97,114,101,110,116, 46,111,114,105,103,105,
+ 110, 97,108, 95,110, 97,109,101, 32,111,114, 32,116, 46,112,
+ 97,114,101,110,116, 46,110, 97,109,101, 44, 32, 34, 37, 98,
+ 60, 62, 34, 44, 32, 34, 34, 41, 32,116,104,101,110, 10, 32,
+ 32, 32,116, 46,110, 97,109,101, 32, 61, 32, 39,100,101,108,
+ 101,116,101, 39, 10, 32, 32, 32,116, 46,108,110, 97,109,101,
+ 32, 61, 32, 39,100,101,108,101,116,101, 39, 10, 32, 32, 32,
+ 116, 46,112, 97,114,101,110,116, 46, 95,100,101,108,101,116,
+ 101, 32, 61, 32,116,114,117,101, 10, 32, 32,101,110,100, 10,
+ 32,101,110,100, 10, 32,116, 46, 99,110, 97,109,101, 32, 61,
+ 32,116, 58, 99,102,117,110, 99,110, 97,109,101, 40, 34,116,
+ 111,108,117, 97, 34, 41, 46, 46,116, 58,111,118,101,114,108,
+ 111, 97,100, 40,116, 41, 10, 32,114,101,116,117,114,110, 32,
+ 116, 10,101,110,100, 10, 10, 45, 45, 32, 67,111,110,115,116,
+ 114,117, 99,116,111,114, 10, 45, 45, 32, 69,120,112,101, 99,
+ 116,115, 32,116,104,114,101,101, 32,115,116,114,105,110,103,
+ 115, 58, 32,111,110,101, 32,114,101,112,114,101,115,101,110,
+ 116,105,110,103, 32,116,104,101, 32,102,117,110, 99,116,105,
+ 111,110, 32,100,101, 99,108, 97,114, 97,116,105,111,110, 44,
+ 10, 45, 45, 32, 97,110,111,116,104,101,114, 32,114,101,112,
+ 114,101,115,101,110,116,105,110,103, 32,116,104,101, 32, 97,
+ 114,103,117,109,101,110,116, 32,108,105,115,116, 44, 32, 97,
+ 110,100, 32,116,104,101, 32,116,104,105,114,100, 32,114,101,
+ 112,114,101,115,101,110,116,105,110,103, 10, 45, 45, 32,116,
+ 104,101, 32, 34, 99,111,110,115,116, 34, 32,111,114, 32,101,
+ 109,112,116,121, 32,115,116,114,105,110,103, 46, 10,102,117,
+ 110, 99,116,105,111,110, 32, 70,117,110, 99,116,105,111,110,
+ 32, 40,100, 44, 97, 44, 99, 41, 10, 32, 45, 45,108,111, 99,
+ 97,108, 32,116, 32, 61, 32,115,112,108,105,116, 40,115,116,
+ 114,115,117, 98, 40, 97, 44, 50, 44, 45, 50, 41, 44, 39, 44,
+ 39, 41, 32, 45, 45, 32,101,108,105,109,105,110, 97,116,101,
+ 32, 98,114, 97, 99,101,115, 10, 32, 45, 45,108,111, 99, 97,
+ 108, 32,116, 32, 61, 32,115,112,108,105,116, 95,112, 97,114,
+ 97,109,115, 40,115,116,114,115,117, 98, 40, 97, 44, 50, 44,
+ 45, 50, 41, 41, 10, 10, 9,105,102, 32,110,111,116, 32,102,
+ 108, 97,103,115, 91, 39, 87, 39, 93, 32, 97,110,100, 32,115,
+ 116,114,105,110,103, 46,102,105,110,100, 40, 97, 44, 32, 34,
+ 37, 46, 37, 46, 37, 46, 37,115, 42, 37, 41, 34, 41, 32,116,
+ 104,101,110, 10, 10, 9, 9,119, 97,114,110,105,110,103, 40,
+ 34, 70,117,110, 99,116,105,111,110,115, 32,119,105,116,104,
+ 32,118, 97,114,105, 97, 98,108,101, 32, 97,114,103,117,109,
+ 101,110,116,115, 32, 40, 96, 46, 46, 46, 39, 41, 32, 97,114,
+ 101, 32,110,111,116, 32,115,117,112,112,111,114,116,101,100,
+ 46, 32, 73,103,110,111,114,105,110,103, 32, 34, 46, 46,100,
+ 46, 46, 97, 46, 46, 99, 41, 10, 9, 9,114,101,116,117,114,
+ 110, 32,110,105,108, 10, 9,101,110,100, 10, 10, 10, 32,108,
+ 111, 99, 97,108, 32,105, 61, 49, 10, 32,108,111, 99, 97,108,
+ 32,108, 32, 61, 32,123,110, 61, 48,125, 10, 10, 32, 9, 97,
+ 32, 61, 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,
+ 97, 44, 32, 34, 37,115, 42, 40, 91, 37, 40, 37, 41, 93, 41,
+ 37,115, 42, 34, 44, 32, 34, 37, 49, 34, 41, 10, 9,108,111,
+ 99, 97,108, 32,116, 44,115,116,114,105,112, 44,108, 97,115,
+ 116, 32, 61, 32,115,116,114,105,112, 95,112, 97,114,115, 40,
+ 115,116,114,115,117, 98, 40, 97, 44, 50, 44, 45, 50, 41, 41,
+ 59, 10, 9,105,102, 32,115,116,114,105,112, 32,116,104,101,
+ 110, 10, 9, 9, 45, 45,108,111, 99, 97,108, 32,110,115, 32,
+ 61, 32,115,116,114,105,110,103, 46,115,117, 98, 40,115,116,
+ 114,115,117, 98, 40, 97, 44, 49, 44, 45, 50, 41, 44, 32, 49,
+ 44, 32, 45, 40,115,116,114,105,110,103, 46,108,101,110, 40,
+ 108, 97,115,116, 41, 43, 49, 41, 41, 10, 9, 9,108,111, 99,
+ 97,108, 32,110,115, 32, 61, 32,106,111,105,110, 40,116, 44,
+ 32, 34, 44, 34, 44, 32, 49, 44, 32,108, 97,115,116, 45, 49,
+ 41, 10, 10, 9, 9,110,115, 32, 61, 32, 34, 40, 34, 46, 46,
+ 115,116,114,105,110,103, 46,103,115,117, 98, 40,110,115, 44,
+ 32, 34, 37,115, 42, 44, 37,115, 42, 36, 34, 44, 32, 34, 34,
+ 41, 46, 46, 39, 41, 39, 10, 9, 9, 45, 45,110,115, 32, 61,
+ 32,115,116,114,105,112, 95,100,101,102, 97,117,108,116,115,
+ 40,110,115, 41, 10, 10, 9, 9, 70,117,110, 99,116,105,111,
+ 110, 40,100, 44, 32,110,115, 44, 32, 99, 41, 10, 9, 9,102,
+ 111,114, 32,105, 61, 49, 44,108, 97,115,116, 32,100,111, 10,
+ 9, 9, 9,116, 91,105, 93, 32, 61, 32,115,116,114,105,110,
+ 103, 46,103,115,117, 98, 40,116, 91,105, 93, 44, 32, 34, 61,
+ 46, 42, 36, 34, 44, 32, 34, 34, 41, 10, 9, 9,101,110,100,
+ 10, 9,101,110,100, 10, 10, 32,119,104,105,108,101, 32,116,
+ 91,105, 93, 32,100,111, 10, 32, 32,108, 46,110, 32, 61, 32,
+ 108, 46,110, 43, 49, 10, 32, 32,108, 91,108, 46,110, 93, 32,
+ 61, 32, 68,101, 99,108, 97,114, 97,116,105,111,110, 40,116,
+ 91,105, 93, 44, 39,118, 97,114, 39, 44,116,114,117,101, 41,
+ 10, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32,101,110,100,
+ 10, 32,108,111, 99, 97,108, 32,102, 32, 61, 32, 68,101, 99,
+ 108, 97,114, 97,116,105,111,110, 40,100, 44, 39,102,117,110,
+ 99, 39, 41, 10, 32,102, 46, 97,114,103,115, 32, 61, 32,108,
+ 10, 32,102, 46, 99,111,110,115,116, 32, 61, 32, 99, 10, 32,
+ 114,101,116,117,114,110, 32, 95, 70,117,110, 99,116,105,111,
+ 110, 40,102, 41, 10,101,110,100, 10, 10,102,117,110, 99,116,
+ 105,111,110, 32,106,111,105,110, 40,116, 44, 32,115,101,112,
+ 44, 32,102,105,114,115,116, 44, 32,108, 97,115,116, 41, 10,
+ 10, 9,102,105,114,115,116, 32, 61, 32,102,105,114,115,116,
+ 32,111,114, 32, 49, 10, 9,108, 97,115,116, 32, 61, 32,108,
+ 97,115,116, 32,111,114, 32,116, 97, 98,108,101, 46,103,101,
+ 116,110, 40,116, 41, 10, 9,108,111, 99, 97,108, 32,108,115,
+ 101,112, 32, 61, 32, 34, 34, 10, 9,108,111, 99, 97,108, 32,
+ 114,101,116, 32, 61, 32, 34, 34, 10, 9,108,111, 99, 97,108,
+ 32,108,111,111,112, 32, 61, 32,102, 97,108,115,101, 10, 9,
+ 102,111,114, 32,105, 32, 61, 32,102,105,114,115,116, 44,108,
+ 97,115,116, 32,100,111, 10, 10, 9, 9,114,101,116, 32, 61,
+ 32,114,101,116, 46, 46,108,115,101,112, 46, 46,116, 91,105,
+ 93, 10, 9, 9,108,115,101,112, 32, 61, 32,115,101,112, 10,
+ 9, 9,108,111,111,112, 32, 61, 32,116,114,117,101, 10, 9,
+ 101,110,100, 10, 9,105,102, 32,110,111,116, 32,108,111,111,
+ 112, 32,116,104,101,110, 10, 9, 9,114,101,116,117,114,110,
+ 32, 34, 34, 10, 9,101,110,100, 10, 10, 9,114,101,116,117,
+ 114,110, 32,114,101,116, 10,101,110,100, 10, 10,102,117,110,
+ 99,116,105,111,110, 32,115,116,114,105,112, 95,112, 97,114,
+ 115, 40,115, 41, 10, 10, 9,108,111, 99, 97,108, 32,116, 32,
+ 61, 32,115,112,108,105,116, 95, 99, 95,116,111,107,101,110,
+ 115, 40,115, 44, 32, 39, 44, 39, 41, 10, 9,108,111, 99, 97,
+ 108, 32,115,116,114,105,112, 32, 61, 32,102, 97,108,115,101,
+ 10, 9,108,111, 99, 97,108, 32,108, 97,115,116, 10, 10, 9,
+ 102,111,114, 32,105, 61,116, 46,110, 44, 49, 44, 45, 49, 32,
+ 100,111, 10, 10, 9, 9,105,102, 32,110,111,116, 32,115,116,
+ 114,105,112, 32, 97,110,100, 32,112, 97,114, 97,109, 95,111,
+ 98,106,101, 99,116, 40,116, 91,105, 93, 41, 32,116,104,101,
+ 110, 10, 9, 9, 9,108, 97,115,116, 32, 61, 32,105, 10, 9,
+ 9, 9,115,116,114,105,112, 32, 61, 32,116,114,117,101, 10,
+ 9, 9,101,110,100, 10, 9, 9, 45, 45,105,102, 32,115,116,
+ 114,105,112, 32,116,104,101,110, 10, 9, 9, 45, 45, 9,116,
+ 91,105, 93, 32, 61, 32,115,116,114,105,110,103, 46,103,115,
+ 117, 98, 40,116, 91,105, 93, 44, 32, 34, 61, 46, 42, 36, 34,
+ 44, 32, 34, 34, 41, 10, 9, 9, 45, 45,101,110,100, 10, 9,
+ 101,110,100, 10, 10, 9,114,101,116,117,114,110, 32,116, 44,
+ 115,116,114,105,112, 44,108, 97,115,116, 10, 10,101,110,100,
+ 10, 10,102,117,110, 99,116,105,111,110, 32,115,116,114,105,
+ 112, 95,100,101,102, 97,117,108,116,115, 40,115, 41, 10, 10,
+ 9,115, 32, 61, 32,115,116,114,105,110,103, 46,103,115,117,
+ 98, 40,115, 44, 32, 34, 94, 37, 40, 34, 44, 32, 34, 34, 41,
+ 10, 9,115, 32, 61, 32,115,116,114,105,110,103, 46,103,115,
+ 117, 98, 40,115, 44, 32, 34, 37, 41, 36, 34, 44, 32, 34, 34,
+ 41, 10, 10, 9,108,111, 99, 97,108, 32,116, 32, 61, 32,115,
+ 112,108,105,116, 95, 99, 95,116,111,107,101,110,115, 40,115,
+ 44, 32, 34, 44, 34, 41, 10, 9,108,111, 99, 97,108, 32,115,
+ 101,112, 44, 32,114,101,116, 32, 61, 32, 34, 34, 44, 34, 34,
+ 10, 9,102,111,114, 32,105, 61, 49, 44,116, 46,110, 32,100,
+ 111, 10, 9, 9,116, 91,105, 93, 32, 61, 32,115,116,114,105,
+ 110,103, 46,103,115,117, 98, 40,116, 91,105, 93, 44, 32, 34,
+ 61, 46, 42, 36, 34, 44, 32, 34, 34, 41, 10, 9, 9,114,101,
+ 116, 32, 61, 32,114,101,116, 46, 46,115,101,112, 46, 46,116,
+ 91,105, 93, 10, 9, 9,115,101,112, 32, 61, 32, 34, 44, 34,
+ 10, 9,101,110,100, 10, 10, 9,114,101,116,117,114,110, 32,
+ 34, 40, 34, 46, 46,114,101,116, 46, 46, 34, 41, 34, 10,101,
+ 110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: lua/tolua++/src/bin/lua/function.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32,111,112,101,114, 97,
+ 116,111,114, 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,
+ 105,116,116,101,110, 32, 98,121, 32, 87, 97,108,100,101,109,
+ 97,114, 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67,
+ 71,114, 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45,
+ 32, 74,117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,
+ 100, 58, 32, 36, 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,
+ 111,100,101, 32,105,115, 32,102,114,101,101, 32,115,111,102,
+ 116,119, 97,114,101, 59, 32,121,111,117, 32, 99, 97,110, 32,
+ 114,101,100,105,115,116,114,105, 98,117,116,101, 32,105,116,
+ 32, 97,110,100, 47,111,114, 32,109,111,100,105,102,121, 32,
+ 105,116, 46, 10, 45, 45, 32, 84,104,101, 32,115,111,102,116,
+ 119, 97,114,101, 32,112,114,111,118,105,100,101,100, 32,104,
+ 101,114,101,117,110,100,101,114, 32,105,115, 32,111,110, 32,
+ 97,110, 32, 34, 97,115, 32,105,115, 34, 32, 98, 97,115,105,
+ 115, 44, 32, 97,110,100, 10, 45, 45, 32,116,104,101, 32, 97,
+ 117,116,104,111,114, 32,104, 97,115, 32,110,111, 32,111, 98,
+ 108,105,103, 97,116,105,111,110, 32,116,111, 32,112,114,111,
+ 118,105,100,101, 32,109, 97,105,110,116,101,110, 97,110, 99,
+ 101, 44, 32,115,117,112,112,111,114,116, 44, 32,117,112,100,
+ 97,116,101,115, 44, 10, 45, 45, 32,101,110,104, 97,110, 99,
+ 101,109,101,110,116,115, 44, 32,111,114, 32,109,111,100,105,
+ 102,105, 99, 97,116,105,111,110,115, 46, 10, 10, 10, 45, 45,
+ 32, 79,112,101,114, 97,116,111,114, 32, 99,108, 97,115,115,
+ 10, 45, 45, 32, 82,101,112,114,101,115,101,110,116,115, 32,
+ 97,110, 32,111,112,101,114, 97,116,111,114, 32,102,117,110,
+ 99,116,105,111,110, 32,111,114, 32, 97, 32, 99,108, 97,115,
+ 115, 32,111,112,101,114, 97,116,111,114, 32,109,101,116,104,
+ 111,100, 46, 10, 45, 45, 32, 73,116, 32,115,116,111,114,101,
+ 115, 32,116,104,101, 32,115, 97,109,101, 32,102,105,101,108,
+ 100,115, 32, 97,115, 32,102,117,110, 99,116,105,111,110,115,
+ 32,100,111, 32,112,108,117,115, 58, 10, 45, 45, 32, 32,107,
+ 105,110,100, 32, 61, 32,115,101,116, 32,111,102, 32, 99,104,
+ 97,114, 97, 99,116,101,114, 32,114,101,112,114,101,115,101,
+ 110,116,105,110,103, 32,116,104,101, 32,111,112,101,114, 97,
+ 116,111,114, 32, 40, 97,115, 32,105,116, 32, 97,112,112,101,
+ 114,115, 32,105,110, 32, 67, 43, 43, 32, 99,111,100,101, 41,
+ 10, 99,108, 97,115,115, 79,112,101,114, 97,116,111,114, 32,
+ 61, 32,123, 10, 32,107,105,110,100, 32, 61, 32, 39, 39, 44,
+ 10,125, 10, 99,108, 97,115,115, 79,112,101,114, 97,116,111,
+ 114, 46, 95, 95,105,110,100,101,120, 32, 61, 32, 99,108, 97,
+ 115,115, 79,112,101,114, 97,116,111,114, 10,115,101,116,109,
+ 101,116, 97,116, 97, 98,108,101, 40, 99,108, 97,115,115, 79,
+ 112,101,114, 97,116,111,114, 44, 99,108, 97,115,115, 70,117,
+ 110, 99,116,105,111,110, 41, 10, 10, 45, 45, 32,116, 97, 98,
+ 108,101, 32,116,111, 32,116,114, 97,110,115,102,111,114,109,
+ 32,111,112,101,114, 97,116,111,114, 32,107,105,110,100, 32,
+ 105,110,116,111, 32,116,104,101, 32, 97,112,112,114,111,112,
+ 114,105, 97,116,101, 32,116, 97,103, 32,109,101,116,104,111,
+ 100, 32,110, 97,109,101, 10, 95, 84, 77, 32, 61, 32,123, 91,
+ 39, 43, 39, 93, 32, 61, 32, 39, 97,100,100, 39, 44, 10, 32,
+ 32, 32, 32, 32, 32, 32, 91, 39, 45, 39, 93, 32, 61, 32, 39,
+ 115,117, 98, 39, 44, 10, 32, 32, 32, 32, 32, 32, 32, 91, 39,
+ 42, 39, 93, 32, 61, 32, 39,109,117,108, 39, 44, 10, 32, 32,
+ 32, 32, 32, 32, 32, 91, 39, 47, 39, 93, 32, 61, 32, 39,100,
+ 105,118, 39, 44, 10, 32, 32, 32, 32, 32, 32, 32, 91, 39, 60,
+ 39, 93, 32, 61, 32, 39,108,116, 39, 44, 10, 32, 32, 32, 32,
+ 32, 32, 32, 91, 39, 60, 61, 39, 93, 32, 61, 32, 39,108,101,
+ 39, 44, 10, 32, 32, 32, 32, 32, 32, 32, 91, 39, 61, 61, 39,
+ 93, 32, 61, 32, 39,101,113, 39, 44, 10, 32, 32, 32, 32, 32,
+ 32, 32, 91, 39, 91, 93, 39, 93, 32, 61, 32, 39,103,101,116,
+ 105, 39, 44, 10, 32, 32, 32, 32, 32, 32, 32, 91, 39, 38, 91,
+ 93, 39, 93, 32, 61, 32, 39,115,101,116,105, 39, 44, 10, 32,
+ 32, 32, 32, 32, 32, 32, 45, 45, 91, 39, 45, 62, 39, 93, 32,
+ 61, 32, 39,102,108,101, 99,104,105,116, 97, 39, 44, 10, 32,
+ 32, 32, 32, 32, 32,125, 10, 10, 10, 45, 45, 32, 80,114,105,
+ 110,116, 32,109,101,116,104,111,100, 10,102,117,110, 99,116,
+ 105,111,110, 32, 99,108, 97,115,115, 79,112,101,114, 97,116,
+ 111,114, 58,112,114,105,110,116, 32, 40,105,100,101,110,116,
+ 44, 99,108,111,115,101, 41, 10, 32,112,114,105,110,116, 40,
+ 105,100,101,110,116, 46, 46, 34, 79,112,101,114, 97,116,111,
+ 114,123, 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,
+ 110,116, 46, 46, 34, 32,107,105,110,100, 32, 32, 61, 32, 39,
+ 34, 46, 46,115,101,108,102, 46,107,105,110,100, 46, 46, 34,
+ 39, 44, 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,
+ 110,116, 46, 46, 34, 32,109,111,100, 32, 32, 61, 32, 39, 34,
+ 46, 46,115,101,108,102, 46,109,111,100, 46, 46, 34, 39, 44,
+ 34, 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,116,
+ 46, 46, 34, 32,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,
+ 115,101,108,102, 46,116,121,112,101, 46, 46, 34, 39, 44, 34,
+ 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46,
+ 46, 34, 32,112,116,114, 32, 32, 61, 32, 39, 34, 46, 46,115,
+ 101,108,102, 46,112,116,114, 46, 46, 34, 39, 44, 34, 41, 10,
+ 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,
+ 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,
+ 102, 46,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10, 32,
+ 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,
+ 99,111,110,115,116, 32, 61, 32, 39, 34, 46, 46,115,101,108,
+ 102, 46, 99,111,110,115,116, 46, 46, 34, 39, 44, 34, 41, 10,
+ 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,
+ 32, 99,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,
+ 108,102, 46, 99,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41,
+ 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46,
+ 34, 32,108,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,
+ 101,108,102, 46,108,110, 97,109,101, 46, 46, 34, 39, 44, 34,
+ 41, 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46,
+ 46, 34, 32, 97,114,103,115, 32, 61, 32,123, 34, 41, 10, 32,
+ 108,111, 99, 97,108, 32,105, 61, 49, 10, 32,119,104,105,108,
+ 101, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32,
+ 100,111, 10, 32, 32,115,101,108,102, 46, 97,114,103,115, 91,
+ 105, 93, 58,112,114,105,110,116, 40,105,100,101,110,116, 46,
+ 46, 34, 32, 32, 34, 44, 34, 44, 34, 41, 10, 32, 32,105, 32,
+ 61, 32,105, 43, 49, 10, 32,101,110,100, 10, 32,112,114,105,
+ 110,116, 40,105,100,101,110,116, 46, 46, 34, 32,125, 34, 41,
+ 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46,
+ 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100,
+ 10, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,
+ 115, 79,112,101,114, 97,116,111,114, 58,115,117,112, 99,111,
+ 100,101, 95,116,109,112, 40, 41, 10, 10, 9,105,102, 32,110,
+ 111,116, 32, 95, 84, 77, 91,115,101,108,102, 46,107,105,110,
+ 100, 93, 32,116,104,101,110, 10, 9, 9,114,101,116,117,114,
+ 110, 32, 99,108, 97,115,115, 70,117,110, 99,116,105,111,110,
+ 46,115,117,112, 99,111,100,101, 40,115,101,108,102, 41, 10,
+ 9,101,110,100, 10, 10, 9, 45, 45, 32,110,111, 32,111,118,
+ 101,114,108,111, 97,100, 44, 32,110,111, 32,112, 97,114, 97,
+ 109,101,116,101,114,115, 44, 32, 97,108,119, 97,121,115, 32,
+ 105,110, 99,108, 97,115,115, 10, 9,111,117,116,112,117,116,
+ 40, 34, 47, 42, 32,109,101,116,104,111,100, 58, 34, 44,115,
+ 101,108,102, 46,110, 97,109,101, 44, 34, 32,111,102, 32, 99,
+ 108, 97,115,115, 32, 34, 44,115,101,108,102, 58,105,110, 99,
+ 108, 97,115,115, 40, 41, 44, 34, 32, 42, 47, 34, 41, 10, 10,
+ 9,111,117,116,112,117,116, 40, 34, 35,105,102,110,100,101,
+ 102, 32, 84, 79, 76, 85, 65, 95, 68, 73, 83, 65, 66, 76, 69,
+ 95, 34, 46, 46,115,101,108,102, 46, 99,110, 97,109,101, 41,
+ 10, 9,111,117,116,112,117,116, 40, 34, 92,110,115,116, 97,
+ 116,105, 99, 32,105,110,116, 34, 44,115,101,108,102, 46, 99,
+ 110, 97,109,101, 44, 34, 40,108,117, 97, 95, 83,116, 97,116,
+ 101, 42, 32,116,111,108,117, 97, 95, 83, 41, 34, 41, 10, 10,
+ 9,105,102, 32,111,118,101,114,108,111, 97,100, 32, 60, 32,
+ 48, 32,116,104,101,110, 10, 9, 32,111,117,116,112,117,116,
+ 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65,
+ 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10, 9,101,
+ 110,100, 10, 9,111,117,116,112,117,116, 40, 39, 32,116,111,
+ 108,117, 97, 95, 69,114,114,111,114, 32,116,111,108,117, 97,
+ 95,101,114,114, 59, 39, 41, 10, 9,111,117,116,112,117,116,
+ 40, 39, 32,105,102, 32, 40, 92,110, 39, 41, 10, 9, 45, 45,
+ 32, 99,104,101, 99,107, 32,115,101,108,102, 10, 9,108,111,
+ 99, 97,108, 32,105,115, 95,102,117,110, 99, 32, 61, 32,103,
+ 101,116, 95,105,115, 95,102,117,110, 99,116,105,111,110, 40,
+ 115,101,108,102, 46,112, 97,114,101,110,116, 46,116,121,112,
+ 101, 41, 10, 9,111,117,116,112,117,116, 40, 39, 32, 32, 32,
+ 32, 32, 33, 39, 46, 46,105,115, 95,102,117,110, 99, 46, 46,
+ 39, 40,116,111,108,117, 97, 95, 83, 44, 49, 44, 34, 39, 46,
+ 46,115,101,108,102, 46,112, 97,114,101,110,116, 46,116,121,
+ 112,101, 46, 46, 39, 34, 44, 48, 44, 38,116,111,108,117, 97,
+ 95,101,114,114, 41, 32,124,124, 92,110, 39, 41, 10, 9,111,
+ 117,116,112,117,116, 40, 39, 32, 32, 32, 32, 32, 33,116,111,
+ 108,117, 97, 95,105,115,110,111,111, 98,106, 40,116,111,108,
+ 117, 97, 95, 83, 44, 50, 44, 38,116,111,108,117, 97, 95,101,
+ 114,114, 41, 92,110, 32, 41, 39, 41, 10, 9,111,117,116,112,
+ 117,116, 40, 39, 32, 32,103,111,116,111, 32,116,111,108,117,
+ 97, 95,108,101,114,114,111,114, 59, 39, 41, 10, 10, 9,111,
+ 117,116,112,117,116, 40, 39, 32,101,108,115,101, 92,110, 39,
+ 41, 10, 9,111,117,116,112,117,116, 40, 39, 35,101,110,100,
+ 105,102, 92,110, 39, 41, 32, 45, 45, 32,116,111,108,117, 97,
+ 95,114,101,108,101, 97,115,101, 10, 9,111,117,116,112,117,
+ 116, 40, 39, 32,123, 39, 41, 10, 10, 9, 45, 45, 32,100,101,
+ 99,108, 97,114,101, 32,115,101,108,102, 10, 9,111,117,116,
+ 112,117,116, 40, 39, 32, 39, 44,115,101,108,102, 46, 99,111,
+ 110,115,116, 44,115,101,108,102, 46,112, 97,114,101,110,116,
+ 46,116,121,112,101, 44, 39, 42, 39, 44, 39,115,101,108,102,
+ 32, 61, 32, 39, 41, 10, 9,111,117,116,112,117,116, 40, 39,
+ 40, 39, 44,115,101,108,102, 46, 99,111,110,115,116, 44,115,
+ 101,108,102, 46,112, 97,114,101,110,116, 46,116,121,112,101,
+ 44, 39, 42, 41, 32, 39, 41, 10, 9,108,111, 99, 97,108, 32,
+ 116,111, 95,102,117,110, 99, 32, 61, 32,103,101,116, 95,116,
+ 111, 95,102,117,110, 99, 40,115,101,108,102, 46,112, 97,114,
+ 101,110,116, 46,116,121,112,101, 41, 10, 9,111,117,116,112,
+ 117,116, 40,116,111, 95,102,117,110, 99, 44, 39, 40,116,111,
+ 108,117, 97, 95, 83, 44, 49, 44, 48, 41, 59, 39, 41, 10, 10,
+ 9, 45, 45, 32, 99,104,101, 99,107, 32,115,101,108,102, 10,
+ 9,111,117,116,112,117,116, 40, 39, 35,105,102,110,100,101,
+ 102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69,
+ 92,110, 39, 41, 10, 9,111,117,116,112,117,116, 40, 39, 32,
+ 32,105,102, 32, 40, 33,115,101,108,102, 41, 32,116,111,108,
+ 117, 97, 95,101,114,114,111,114, 40,116,111,108,117, 97, 95,
+ 83, 44, 34,105,110,118, 97,108,105,100, 32, 92, 39,115,101,
+ 108,102, 92, 39, 32,105,110, 32,102,117,110, 99,116,105,111,
+ 110, 32, 92, 39, 39, 46, 46,115,101,108,102, 46,110, 97,109,
+ 101, 46, 46, 39, 92, 39, 34, 44, 78, 85, 76, 76, 41, 59, 39,
+ 41, 59, 10, 9,111,117,116,112,117,116, 40, 39, 35,101,110,
+ 100,105,102, 92,110, 39, 41, 10, 10, 9, 45, 45, 32, 99, 97,
+ 115,116, 32,115,101,108,102, 10, 9,111,117,116,112,117,116,
+ 40, 39, 32, 32, 39, 44,115,101,108,102, 46,109,111,100, 44,
+ 115,101,108,102, 46,116,121,112,101, 44,115,101,108,102, 46,
+ 112,116,114, 44, 39,116,111,108,117, 97, 95,114,101,116, 32,
+ 61, 32, 39, 41, 10, 9,111,117,116,112,117,116, 40, 39, 40,
+ 39, 44,115,101,108,102, 46,109,111,100, 44,115,101,108,102,
+ 46,116,121,112,101, 44,115,101,108,102, 46,112,116,114, 44,
+ 39, 41, 40, 42,115,101,108,102, 41, 59, 39, 41, 10, 10, 9,
+ 45, 45, 32,114,101,116,117,114,110, 32,118, 97,108,117,101,
+ 10, 9,108,111, 99, 97,108, 32,116, 44, 99,116, 32, 61, 32,
+ 105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46,116,121,
+ 112,101, 41, 10, 9,105,102, 32,116, 32,116,104,101,110, 10,
+ 9, 9,111,117,116,112,117,116, 40, 39, 32, 32, 32,116,111,
+ 108,117, 97, 95,112,117,115,104, 39, 46, 46,116, 46, 46, 39,
+ 40,116,111,108,117, 97, 95, 83, 44, 40, 39, 44, 99,116, 44,
+ 39, 41,116,111,108,117, 97, 95,114,101,116, 41, 59, 39, 41,
+ 10, 9,101,108,115,101, 10, 9, 9,116, 32, 61, 32,115,101,
+ 108,102, 46,116,121,112,101, 10, 9, 9,108,111, 99, 97,108,
+ 32,112,117,115,104, 95,102,117,110, 99, 32, 61, 32,103,101,
+ 116, 95,112,117,115,104, 95,102,117,110, 99,116,105,111,110,
+ 40,116, 41, 10, 9, 9,110,101,119, 95,116, 32, 61, 32,115,
+ 116,114,105,110,103, 46,103,115,117, 98, 40,116, 44, 32, 34,
+ 99,111,110,115,116, 37,115, 43, 34, 44, 32, 34, 34, 41, 10,
+ 9, 9,105,102, 32,115,101,108,102, 46,112,116,114, 32, 61,
+ 61, 32, 39, 39, 32,116,104,101,110, 10, 9, 9, 9,111,117,
+ 116,112,117,116, 40, 39, 32, 32, 32,123, 39, 41, 10, 9, 9,
+ 9,111,117,116,112,117,116, 40, 39, 35,105,102,100,101,102,
+ 32, 95, 95, 99,112,108,117,115,112,108,117,115, 92,110, 39,
+ 41, 10, 9, 9, 9,111,117,116,112,117,116, 40, 39, 32, 32,
+ 32, 32,118,111,105,100, 42, 32,116,111,108,117, 97, 95,111,
+ 98,106, 32, 61, 32, 77,116,111,108,117, 97, 95,110,101,119,
+ 40, 40, 39, 44,110,101,119, 95,116, 44, 39, 41, 40,116,111,
+ 108,117, 97, 95,114,101,116, 41, 41, 59, 39, 41, 10, 9, 9,
+ 9,111,117,116,112,117,116, 40, 39, 32, 32, 32, 32, 39, 44,
+ 112,117,115,104, 95,102,117,110, 99, 44, 39, 40,116,111,108,
+ 117, 97, 95, 83, 44,116,111,108,117, 97, 95,111, 98,106, 44,
+ 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10, 9, 9, 9,
+ 111,117,116,112,117,116, 40, 39, 32, 32, 32, 32,116,111,108,
+ 117, 97, 95,114,101,103,105,115,116,101,114, 95,103, 99, 40,
+ 116,111,108,117, 97, 95, 83, 44,108,117, 97, 95,103,101,116,
+ 116,111,112, 40,116,111,108,117, 97, 95, 83, 41, 41, 59, 39,
+ 41, 10, 9, 9, 9,111,117,116,112,117,116, 40, 39, 35,101,
+ 108,115,101, 92,110, 39, 41, 10, 9, 9, 9,111,117,116,112,
+ 117,116, 40, 39, 32, 32, 32, 32,118,111,105,100, 42, 32,116,
+ 111,108,117, 97, 95,111, 98,106, 32, 61, 32,116,111,108,117,
+ 97, 95, 99,111,112,121, 40,116,111,108,117, 97, 95, 83, 44,
+ 40,118,111,105,100, 42, 41, 38,116,111,108,117, 97, 95,114,
+ 101,116, 44,115,105,122,101,111,102, 40, 39, 44,116, 44, 39,
+ 41, 41, 59, 39, 41, 10, 9, 9, 9,111,117,116,112,117,116,
+ 40, 39, 32, 32, 32, 32, 39, 44,112,117,115,104, 95,102,117,
+ 110, 99, 44, 39, 40,116,111,108,117, 97, 95, 83, 44,116,111,
+ 108,117, 97, 95,111, 98,106, 44, 34, 39, 44,116, 44, 39, 34,
+ 41, 59, 39, 41, 10, 9, 9, 9,111,117,116,112,117,116, 40,
+ 39, 32, 32, 32, 32,116,111,108,117, 97, 95,114,101,103,105,
+ 115,116,101,114, 95,103, 99, 40,116,111,108,117, 97, 95, 83,
+ 44,108,117, 97, 95,103,101,116,116,111,112, 40,116,111,108,
+ 117, 97, 95, 83, 41, 41, 59, 39, 41, 10, 9, 9, 9,111,117,
+ 116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39,
+ 41, 10, 9, 9, 9,111,117,116,112,117,116, 40, 39, 32, 32,
+ 32,125, 39, 41, 10, 9, 9,101,108,115,101,105,102, 32,115,
+ 101,108,102, 46,112,116,114, 32, 61, 61, 32, 39, 38, 39, 32,
+ 116,104,101,110, 10, 9, 9, 9,111,117,116,112,117,116, 40,
+ 39, 32, 32, 32, 39, 44,112,117,115,104, 95,102,117,110, 99,
+ 44, 39, 40,116,111,108,117, 97, 95, 83, 44, 40,118,111,105,
+ 100, 42, 41, 38,116,111,108,117, 97, 95,114,101,116, 44, 34,
+ 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10, 9, 9,101,108,
+ 115,101, 10, 9, 9, 9,105,102, 32,108,111, 99, 97,108, 95,
+ 99,111,110,115,116,114,117, 99,116,111,114, 32,116,104,101,
+ 110, 10, 9, 9, 9, 9,111,117,116,112,117,116, 40, 39, 32,
+ 32, 32, 39, 44,112,117,115,104, 95,102,117,110, 99, 44, 39,
+ 40,116,111,108,117, 97, 95, 83, 44, 40,118,111,105,100, 32,
+ 42, 41,116,111,108,117, 97, 95,114,101,116, 44, 34, 39, 44,
+ 116, 44, 39, 34, 41, 59, 39, 41, 10, 9, 9, 9, 9,111,117,
+ 116,112,117,116, 40, 39, 32, 32, 32, 32,116,111,108,117, 97,
+ 95,114,101,103,105,115,116,101,114, 95,103, 99, 40,116,111,
+ 108,117, 97, 95, 83, 44,108,117, 97, 95,103,101,116,116,111,
+ 112, 40,116,111,108,117, 97, 95, 83, 41, 41, 59, 39, 41, 10,
+ 9, 9, 9,101,108,115,101, 10, 9, 9, 9, 9,111,117,116,
+ 112,117,116, 40, 39, 32, 32, 32, 39, 44,112,117,115,104, 95,
+ 102,117,110, 99, 44, 39, 40,116,111,108,117, 97, 95, 83, 44,
+ 40,118,111,105,100, 42, 41,116,111,108,117, 97, 95,114,101,
+ 116, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10, 9,
+ 9, 9,101,110,100, 10, 9, 9,101,110,100, 10, 9,101,110,
+ 100, 10, 10, 9,111,117,116,112,117,116, 40, 39, 32, 32,125,
+ 39, 41, 10, 9,111,117,116,112,117,116, 40, 39, 32,114,101,
+ 116,117,114,110, 32, 49, 59, 39, 41, 10, 10, 9,111,117,116,
+ 112,117,116, 40, 39, 35,105,102,110,100,101,102, 32, 84, 79,
+ 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41,
+ 10, 9,111,117,116,112,117,116, 40, 39,116,111,108,117, 97,
+ 95,108,101,114,114,111,114, 58, 92,110, 39, 41, 10, 9,111,
+ 117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,101,
+ 114,114,111,114, 40,116,111,108,117, 97, 95, 83, 44, 34, 35,
+ 102,101,114,114,111,114, 32,105,110, 32,102,117,110, 99,116,
+ 105,111,110, 32, 92, 39, 39, 46, 46,115,101,108,102, 46,108,
+ 110, 97,109,101, 46, 46, 39, 92, 39, 46, 34, 44, 38,116,111,
+ 108,117, 97, 95,101,114,114, 41, 59, 39, 41, 10, 9,111,117,
+ 116,112,117,116, 40, 39, 32,114,101,116,117,114,110, 32, 48,
+ 59, 39, 41, 10, 9,111,117,116,112,117,116, 40, 39, 35,101,
+ 110,100,105,102, 92,110, 39, 41, 10, 10, 10, 9,111,117,116,
+ 112,117,116, 40, 39,125, 39, 41, 10, 9,111,117,116,112,117,
+ 116, 40, 39, 35,101,110,100,105,102, 32, 47, 47, 35,105,102,
+ 110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 68, 73, 83, 65,
+ 66, 76, 69, 92,110, 39, 41, 10, 9,111,117,116,112,117,116,
+ 40, 39, 92,110, 39, 41, 10,101,110,100, 10, 10, 45, 45, 32,
+ 73,110,116,101,114,110, 97,108, 32, 99,111,110,115,116,114,
+ 117, 99,116,111,114, 10,102,117,110, 99,116,105,111,110, 32,
+ 95, 79,112,101,114, 97,116,111,114, 32, 40,116, 41, 10, 32,
+ 115,101,116,109,101,116, 97,116, 97, 98,108,101, 40,116, 44,
+ 99,108, 97,115,115, 79,112,101,114, 97,116,111,114, 41, 10,
+ 10, 32,105,102, 32,116, 46, 99,111,110,115,116, 32,126, 61,
+ 32, 39, 99,111,110,115,116, 39, 32, 97,110,100, 32,116, 46,
+ 99,111,110,115,116, 32,126, 61, 32, 39, 39, 32,116,104,101,
+ 110, 10, 32, 32,101,114,114,111,114, 40, 34, 35,105,110,118,
+ 97,108,105,100, 32, 39, 99,111,110,115,116, 39, 32,115,112,
+ 101, 99,105,102,105, 99, 97,116,105,111,110, 34, 41, 10, 32,
+ 101,110,100, 10, 10, 32, 97,112,112,101,110,100, 40,116, 41,
+ 10, 32,105,102, 32,110,111,116, 32,116, 58,105,110, 99,108,
+ 97,115,115, 40, 41, 32,116,104,101,110, 10, 32, 32,101,114,
+ 114,111,114, 40, 34, 35,111,112,101,114, 97,116,111,114, 32,
+ 99, 97,110, 32,111,110,108,121, 32, 98,101, 32,100,101,102,
+ 105,110,101,100, 32, 97,115, 32, 99,108, 97,115,115, 32,109,
+ 101,109, 98,101,114, 34, 41, 10, 32,101,110,100, 10, 10, 32,
+ 45, 45,116, 46,110, 97,109,101, 32, 61, 32,116, 46,110, 97,
+ 109,101, 32, 46, 46, 32, 34, 95, 34, 32, 46, 46, 32, 40, 95,
+ 84, 77, 91,116, 46,107,105,110,100, 93, 32,111,114, 32,116,
+ 46,107,105,110,100, 41, 10, 32,116, 46, 99,110, 97,109,101,
+ 32, 61, 32,116, 58, 99,102,117,110, 99,110, 97,109,101, 40,
+ 34,116,111,108,117, 97, 34, 41, 46, 46,116, 58,111,118,101,
+ 114,108,111, 97,100, 40,116, 41, 10, 32,116, 46,110, 97,109,
+ 101, 32, 61, 32, 34,111,112,101,114, 97,116,111,114, 34, 32,
+ 46, 46, 32,116, 46,107,105,110,100, 32, 32, 45, 45, 32,115,
+ 101,116, 32, 97,112,112,114,111,112,114,105, 97,116,101, 32,
+ 99, 97,108,108,105,110,103, 32,110, 97,109,101, 10, 32,114,
+ 101,116,117,114,110, 32,116, 10,101,110,100, 10, 10, 45, 45,
+ 32, 67,111,110,115,116,114,117, 99,116,111,114, 10,102,117,
+ 110, 99,116,105,111,110, 32, 79,112,101,114, 97,116,111,114,
+ 32, 40,100, 44,107, 44, 97, 44, 99, 41, 10, 10, 9,108,111,
+ 99, 97,108, 32,111,112, 95,107, 32, 61, 32,115,116,114,105,
+ 110,103, 46,103,115,117, 98, 40,107, 44, 32, 34, 94, 37,115,
+ 42, 34, 44, 32, 34, 34, 41, 10, 9,111,112, 95,107, 32, 61,
+ 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,107, 44,
+ 32, 34, 37,115, 42, 36, 34, 44, 32, 34, 34, 41, 10, 9, 45,
+ 45,105,102, 32,115,116,114,105,110,103, 46,102,105,110,100,
+ 40,107, 44, 32, 34, 94, 91, 37,119, 95, 58, 37,100, 60, 62,
+ 37, 42, 37, 38, 93, 43, 36, 34, 41, 32,116,104,101,110, 10,
+ 9,105,102, 32,100, 32, 61, 61, 32, 34,111,112,101,114, 97,
+ 116,111,114, 34, 32, 97,110,100, 32,107, 32,126, 61, 32, 39,
+ 39, 32,116,104,101,110, 10, 10, 9, 9,100, 32, 61, 32,107,
+ 46, 46, 34, 32,111,112,101,114, 97,116,111,114, 34, 10, 9,
+ 101,108,115,101,105,102, 32,110,111,116, 32, 95, 84, 77, 91,
+ 111,112, 95,107, 93, 32,116,104,101,110, 10, 10, 9, 9,105,
+ 102, 32,102,108, 97,103,115, 91, 39, 87, 39, 93, 32,116,104,
+ 101,110, 10, 9, 9, 9,101,114,114,111,114, 40, 34,116,111,
+ 108,117, 97, 58, 32,110,111, 32,115,117,112,112,111,114,116,
+ 32,102,111,114, 32,111,112,101,114, 97,116,111,114, 34, 32,
+ 46, 46, 32,102, 46,107,105,110,100, 41, 10, 9, 9,101,108,
+ 115,101, 10, 9, 9, 9,119, 97,114,110,105,110,103, 40, 34,
+ 78,111, 32,115,117,112,112,111,114,116, 32,102,111,114, 32,
+ 111,112,101,114, 97,116,111,114, 32, 34, 46, 46,111,112, 95,
+ 107, 46, 46, 34, 44, 32,105,103,110,111,114,105,110,103, 34,
+ 41, 10, 9, 9, 9,114,101,116,117,114,110, 32,110,105,108,
+ 10, 9, 9,101,110,100, 10, 9,101,110,100, 10, 10, 9,108,
+ 111, 99, 97,108, 32,114,101,102, 32, 61, 32, 39, 39, 10, 32,
+ 108,111, 99, 97,108, 32,116, 32, 61, 32,115,112,108,105,116,
+ 95, 99, 95,116,111,107,101,110,115, 40,115,116,114,115,117,
+ 98, 40, 97, 44, 50, 44,115,116,114,108,101,110, 40, 97, 41,
+ 45, 49, 41, 44, 39, 44, 39, 41, 32, 45, 45, 32,101,108,105,
+ 109,105,110, 97,116,101, 32, 98,114, 97, 99,101,115, 10, 32,
+ 108,111, 99, 97,108, 32,105, 61, 49, 10, 32,108,111, 99, 97,
+ 108, 32,108, 32, 61, 32,123,110, 61, 48,125, 10, 32,119,104,
+ 105,108,101, 32,116, 91,105, 93, 32,100,111, 10, 32, 32,108,
+ 46,110, 32, 61, 32,108, 46,110, 43, 49, 10, 32, 32,108, 91,
+ 108, 46,110, 93, 32, 61, 32, 68,101, 99,108, 97,114, 97,116,
+ 105,111,110, 40,116, 91,105, 93, 44, 39,118, 97,114, 39, 41,
+ 10, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32,101,110,100,
+ 10, 32,105,102, 32,107, 32, 61, 61, 32, 39, 91, 93, 39, 32,
+ 116,104,101,110, 10, 9, 32,108,111, 99, 97,108, 32, 95, 10,
+ 9, 32, 95, 44, 32, 95, 44, 32,114,101,102, 32, 61, 32,115,
+ 116,114,102,105,110,100, 40,100, 44, 39, 40, 38, 41, 39, 41,
+ 10, 32, 32,100, 32, 61, 32,103,115,117, 98, 40,100, 44, 39,
+ 38, 39, 44, 39, 39, 41, 10, 32,101,108,115,101,105,102, 32,
+ 107, 61, 61, 39, 38, 91, 93, 39, 32,116,104,101,110, 10, 32,
+ 32,108, 46,110, 32, 61, 32,108, 46,110, 43, 49, 10, 32, 32,
+ 108, 91,108, 46,110, 93, 32, 61, 32, 68,101, 99,108, 97,114,
+ 97,116,105,111,110, 40,100, 44, 39,118, 97,114, 39, 41, 10,
+ 32, 32,108, 91,108, 46,110, 93, 46,110, 97,109,101, 32, 61,
+ 32, 39,116,111,108,117, 97, 95,118, 97,108,117,101, 39, 10,
+ 32,101,110,100, 10, 32,108,111, 99, 97,108, 32,102, 32, 61,
+ 32, 68,101, 99,108, 97,114, 97,116,105,111,110, 40,100, 44,
+ 39,102,117,110, 99, 39, 41, 10, 32,105,102, 32,107, 32, 61,
+ 61, 32, 39, 91, 93, 39, 32, 97,110,100, 32, 40,108, 91, 49,
+ 93, 61, 61,110,105,108, 32,111,114, 32,105,115, 98, 97,115,
+ 105, 99, 40,108, 91, 49, 93, 46,116,121,112,101, 41,126, 61,
+ 39,110,117,109, 98,101,114, 39, 41, 32,116,104,101,110, 10,
+ 32, 32,101,114,114,111,114, 40, 39,111,112,101,114, 97,116,
+ 111,114, 91, 93, 32, 99, 97,110, 32,111,110,108,121, 32, 98,
+ 101, 32,100,101,102,105,110,101,100, 32,102,111,114, 32,110,
+ 117,109,101,114,105, 99, 32,105,110,100,101,120, 46, 39, 41,
+ 10, 32,101,110,100, 10, 32,102, 46, 97,114,103,115, 32, 61,
+ 32,108, 10, 32,102, 46, 99,111,110,115,116, 32, 61, 32, 99,
+ 10, 32,102, 46,107,105,110,100, 32, 61, 32,111,112, 95,107,
+ 10, 32,102, 46,108,110, 97,109,101, 32, 61, 32, 34, 46, 34,
+ 46, 46, 40, 95, 84, 77, 91,102, 46,107,105,110,100, 93, 32,
+ 111,114, 32,102, 46,107,105,110,100, 41, 10, 32,105,102, 32,
+ 110,111,116, 32, 95, 84, 77, 91,102, 46,107,105,110,100, 93,
+ 32,116,104,101,110, 10, 32, 9,102, 46, 99, 97,115,116, 95,
+ 111,112,101,114, 97,116,111,114, 32, 61, 32,116,114,117,101,
+ 10, 32,101,110,100, 10, 32,105,102, 32,102, 46,107,105,110,
+ 100, 32, 61, 61, 32, 39, 91, 93, 39, 32, 97,110,100, 32,114,
+ 101,102, 61, 61, 39, 38, 39, 32, 97,110,100, 32,102, 46, 99,
+ 111,110,115,116,126, 61, 39, 99,111,110,115,116, 39, 32,116,
+ 104,101,110, 10, 32, 32, 79,112,101,114, 97,116,111,114, 40,
+ 100, 44, 39, 38, 39, 46, 46,107, 44, 97, 44, 99, 41, 32, 9,
+ 45, 45, 32, 99,114,101, 97,116,101, 32, 99,111,114,114,101,
+ 115,112,111,100,105,110,103, 32,115,101,116, 32,111,112,101,
+ 114, 97,116,111,114, 10, 32,101,110,100, 10, 32,114,101,116,
+ 117,114,110, 32, 95, 79,112,101,114, 97,116,111,114, 40,102,
+ 41, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: lua/tolua++/src/bin/lua/operator.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 10, 95,103,108,111, 98, 97,108, 95,116,101,109,112,108, 97,
+ 116,101,115, 32, 61, 32,123,125, 10, 10, 99,108, 97,115,115,
+ 84,101,109,112,108, 97,116,101, 67,108, 97,115,115, 32, 61,
+ 32,123, 10, 10, 9,110, 97,109,101, 32, 61, 32, 39, 39, 44,
+ 10, 9, 98,111,100,121, 32, 61, 32, 39, 39, 44, 10, 9,112,
+ 97,114,101,110,116,115, 32, 61, 32,123,125, 44, 10, 9, 97,
+ 114,103,115, 32, 61, 32,123,125, 44, 32, 45, 45, 32,116,104,
+ 101, 32,116,101,109,112,108, 97,116,101, 32, 97,114,103,117,
+ 109,101,110,116,115, 10,125, 10, 10, 99,108, 97,115,115, 84,
+ 101,109,112,108, 97,116,101, 67,108, 97,115,115, 46, 95, 95,
+ 105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 84,101,
+ 109,112,108, 97,116,101, 67,108, 97,115,115, 10, 10, 10,102,
+ 117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 84,101,
+ 109,112,108, 97,116,101, 67,108, 97,115,115, 58,116,104,114,
+ 111,119, 40,116,121,112,101,115, 44, 32,108,111, 99, 97,108,
+ 95,115, 99,111,112,101, 41, 10, 10, 9, 45, 45,105,102, 32,
+ 116, 97, 98,108,101, 46,103,101,116,110, 40,116,121,112,101,
+ 115, 41, 32,126, 61, 32,116, 97, 98,108,101, 46,103,101,116,
+ 110, 40,115,101,108,102, 46, 97,114,103,115, 41, 32,116,104,
+ 101,110, 10, 9, 45, 45, 9,101,114,114,111,114, 40, 34, 35,
+ 105,110,118, 97,108,105,100, 32,112, 97,114, 97,109,101,116,
+ 101,114, 32, 99,111,117,110,116, 34, 41, 10, 9, 45, 45,101,
+ 110,100, 10, 10, 9, 45, 45, 32,114,101,112,108, 97, 99,101,
+ 10, 9,102,111,114, 32,105, 32, 61, 49, 32, 44, 32,116,121,
+ 112,101,115, 46,110, 32,100,111, 10, 10, 9, 9,108,111, 99,
+ 97,108, 32, 73,108, 32, 61, 32,115,112,108,105,116, 95, 99,
+ 95,116,111,107,101,110,115, 40,116,121,112,101,115, 91,105,
+ 93, 44, 32, 34, 32, 34, 41, 10, 9, 9,105,102, 32,116, 97,
+ 98,108,101, 46,103,101,116,110, 40, 73,108, 41, 32,126, 61,
+ 32,116, 97, 98,108,101, 46,103,101,116,110, 40,115,101,108,
+ 102, 46, 97,114,103,115, 41, 32,116,104,101,110, 10, 9, 9,
+ 9,101,114,114,111,114, 40, 34, 35,105,110,118, 97,108,105,
+ 100, 32,112, 97,114, 97,109,101,116,101,114, 32, 99,111,117,
+ 110,116, 32,102,111,114, 32, 34, 46, 46,116,121,112,101,115,
+ 91,105, 93, 41, 10, 9, 9,101,110,100, 10, 9, 9,108,111,
+ 99, 97,108, 32, 98, 73, 32, 61, 32,115,101,108,102, 46, 98,
+ 111,100,121, 10, 9, 9,108,111, 99, 97,108, 32,112, 73, 32,
+ 61, 32,123,125, 10, 9, 9,102,111,114, 32,106, 32, 61, 32,
+ 49, 44,115,101,108,102, 46, 97,114,103,115, 46,110, 32,100,
+ 111, 10, 9, 9, 9, 45, 45, 84,108, 91,106, 93, 32, 61, 32,
+ 102,105,110,100,116,121,112,101, 40, 84,108, 91,106, 93, 41,
+ 32,111,114, 32, 84,108, 91,106, 93, 10, 9, 9, 9, 98, 73,
+ 32, 61, 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,
+ 98, 73, 44, 32, 34, 40, 91, 94, 95, 37,119, 93, 41, 34, 46,
+ 46,115,101,108,102, 46, 97,114,103,115, 91,106, 93, 46, 46,
+ 34, 40, 91, 94, 95, 37,119, 93, 41, 34, 44, 32, 34, 37, 49,
+ 34, 46, 46, 73,108, 91,106, 93, 46, 46, 34, 37, 50, 34, 41,
+ 10, 9, 9, 9,105,102, 32,115,101,108,102, 46,112, 97,114,
+ 101,110,116,115, 32,116,104,101,110, 10, 9, 9, 9, 9,102,
+ 111,114, 32,105, 61, 49, 44,116, 97, 98,108,101, 46,103,101,
+ 116,110, 40,115,101,108,102, 46,112, 97,114,101,110,116,115,
+ 41, 32,100,111, 10, 9, 9, 9, 9, 9,112, 73, 91,105, 93,
+ 32, 61, 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,
+ 115,101,108,102, 46,112, 97,114,101,110,116,115, 91,105, 93,
+ 44, 32, 34, 40, 91, 94, 95, 37,119, 93, 63, 41, 34, 46, 46,
+ 115,101,108,102, 46, 97,114,103,115, 91,106, 93, 46, 46, 34,
+ 40, 91, 94, 95, 37,119, 93, 63, 41, 34, 44, 32, 34, 37, 49,
+ 34, 46, 46, 73,108, 91,106, 93, 46, 46, 34, 37, 50, 34, 41,
+ 10, 9, 9, 9, 9,101,110,100, 10, 9, 9, 9,101,110,100,
+ 10, 9, 9,101,110,100, 10, 9, 9, 45, 45,108,111, 99, 97,
+ 108, 32, 97,112,112,101,110,100, 32, 61, 32, 34, 60, 34, 46,
+ 46,115,116,114,105,110,103, 46,103,115,117, 98, 40,116,121,
+ 112,101,115, 91,105, 93, 44, 32, 34, 37,115, 43, 34, 44, 32,
+ 34, 44, 34, 41, 46, 46, 34, 62, 34, 10, 9, 9,108,111, 99,
+ 97,108, 32, 97,112,112,101,110,100, 32, 61, 32, 34, 60, 34,
+ 46, 46, 99,111,110, 99, 97,116, 40, 73,108, 44, 32, 49, 44,
+ 32,116, 97, 98,108,101, 46,103,101,116,110, 40, 73,108, 41,
+ 44, 32, 34, 44, 34, 41, 46, 46, 34, 62, 34, 10, 9, 9, 97,
+ 112,112,101,110,100, 32, 61, 32,115,116,114,105,110,103, 46,
+ 103,115,117, 98, 40, 97,112,112,101,110,100, 44, 32, 34, 37,
+ 115, 42, 44, 37,115, 42, 34, 44, 32, 34, 44, 34, 41, 10, 9,
+ 9, 97,112,112,101,110,100, 32, 61, 32,115,116,114,105,110,
+ 103, 46,103,115,117, 98, 40, 97,112,112,101,110,100, 44, 32,
+ 34, 62, 62, 34, 44, 32, 34, 62, 32, 62, 34, 41, 10, 9, 9,
+ 102,111,114, 32,105, 61, 49, 44,116, 97, 98,108,101, 46,103,
+ 101,116,110, 40,112, 73, 41, 32,100,111, 10, 9, 9, 9, 45,
+ 45,112, 73, 91,105, 93, 32, 61, 32,115,116,114,105,110,103,
+ 46,103,115,117, 98, 40,112, 73, 91,105, 93, 44, 32, 34, 62,
+ 62, 34, 44, 32, 34, 62, 32, 62, 34, 41, 10, 9, 9, 9,112,
+ 73, 91,105, 93, 32, 61, 32,114,101,115,111,108,118,101, 95,
+ 116,101,109,112,108, 97,116,101, 95,116,121,112,101,115, 40,
+ 112, 73, 91,105, 93, 41, 10, 9, 9,101,110,100, 10, 9, 9,
+ 98, 73, 32, 61, 32,115,116,114,105,110,103, 46,103,115,117,
+ 98, 40, 98, 73, 44, 32, 34, 62, 62, 34, 44, 32, 34, 62, 32,
+ 62, 34, 41, 10, 9, 9,108,111, 99, 97,108, 32,110, 32, 61,
+ 32,115,101,108,102, 46,110, 97,109,101, 10, 9, 9,105,102,
+ 32,108,111, 99, 97,108, 95,115, 99,111,112,101, 32,116,104,
+ 101,110, 10, 9, 9, 9,110, 32, 61, 32,115,101,108,102, 46,
+ 108,111, 99, 97,108, 95,110, 97,109,101, 10, 9, 9,101,110,
+ 100, 10, 10, 9, 9, 67,108, 97,115,115, 40,110, 46, 46, 97,
+ 112,112,101,110,100, 44, 32,112, 73, 44, 32, 98, 73, 41, 10,
+ 9,101,110,100, 10,101,110,100, 10, 10, 10,102,117,110, 99,
+ 116,105,111,110, 32, 84,101,109,112,108, 97,116,101, 67,108,
+ 97,115,115, 40,110, 97,109,101, 44, 32,112, 97,114,101,110,
+ 116,115, 44, 32, 98,111,100,121, 44, 32,112, 97,114, 97,109,
+ 101,116,101,114,115, 41, 10, 10, 9,108,111, 99, 97,108, 32,
+ 111, 32, 61, 32,123, 10, 9, 10, 9, 9,112, 97,114,101,110,
+ 116,115, 32, 61, 32,112, 97,114,101,110,116,115, 44, 10, 9,
+ 9, 98,111,100,121, 32, 61, 32, 98,111,100,121, 44, 10, 9,
+ 9, 97,114,103,115, 32, 61, 32,112, 97,114, 97,109,101,116,
+ 101,114,115, 44, 10, 9,125, 10, 9, 10, 9,108,111, 99, 97,
+ 108, 32,111,110, 97,109,101, 32, 61, 32,115,116,114,105,110,
+ 103, 46,103,115,117, 98, 40,110, 97,109,101, 44, 32, 34, 64,
+ 46, 42, 36, 34, 44, 32, 34, 34, 41, 10, 9,111,110, 97,109,
+ 101, 32, 61, 32,103,101,116,110, 97,109,101,115,112, 97, 99,
+ 101, 40, 99,108, 97,115,115, 67,111,110,116, 97,105,110,101,
+ 114, 46, 99,117,114,114, 41, 46, 46,111,110, 97,109,101, 10,
+ 9,111, 46,110, 97,109,101, 32, 61, 32,111,110, 97,109,101,
+ 10, 10, 9,111, 46,108,111, 99, 97,108, 95,110, 97,109,101,
+ 32, 61, 32,110, 97,109,101, 10, 9, 10, 9,115,101,116,109,
+ 101,116, 97,116, 97, 98,108,101, 40,111, 44, 32, 99,108, 97,
+ 115,115, 84,101,109,112,108, 97,116,101, 67,108, 97,115,115,
+ 41, 10, 10, 9,105,102, 32, 95,103,108,111, 98, 97,108, 95,
+ 116,101,109,112,108, 97,116,101,115, 91,111,110, 97,109,101,
+ 93, 32,116,104,101,110, 10, 9, 9,119, 97,114,110,105,110,
+ 103, 40, 34, 68,117,112,108,105, 99, 97,116,101, 32,100,101,
+ 99,108, 97,114, 97,116,105,111,110, 32,111,102, 32,116,101,
+ 109,112,108, 97,116,101, 32, 34, 46, 46,111,110, 97,109,101,
+ 41, 10, 9,101,108,115,101, 10, 9, 9, 95,103,108,111, 98,
+ 97,108, 95,116,101,109,112,108, 97,116,101,115, 91,111,110,
+ 97,109,101, 93, 32, 61, 32,111, 10, 9,101,110,100, 10, 10,
+ 9,114,101,116,117,114,110, 32,111, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: lua/tolua++/src/bin/lua/template_class.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,116,111,108,117, 97, 58, 32, 99,108, 97,115,115,
+ 32, 99,108, 97,115,115, 10, 45, 45, 32, 87,114,105,116,116,
+ 101,110, 32, 98,121, 32, 87, 97,108,100,101,109, 97,114, 32,
+ 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67, 71,114, 97,
+ 102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45, 32, 74,117,
+ 108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 36, 73,100, 58, 32,
+ 36, 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,111,100,101,
+ 32,105,115, 32,102,114,101,101, 32,115,111,102,116,119, 97,
+ 114,101, 59, 32,121,111,117, 32, 99, 97,110, 32,114,101,100,
+ 105,115,116,114,105, 98,117,116,101, 32,105,116, 32, 97,110,
+ 100, 47,111,114, 32,109,111,100,105,102,121, 32,105,116, 46,
+ 10, 45, 45, 32, 84,104,101, 32,115,111,102,116,119, 97,114,
+ 101, 32,112,114,111,118,105,100,101,100, 32,104,101,114,101,
+ 117,110,100,101,114, 32,105,115, 32,111,110, 32, 97,110, 32,
+ 34, 97,115, 32,105,115, 34, 32, 98, 97,115,105,115, 44, 32,
+ 97,110,100, 10, 45, 45, 32,116,104,101, 32, 97,117,116,104,
+ 111,114, 32,104, 97,115, 32,110,111, 32,111, 98,108,105,103,
+ 97,116,105,111,110, 32,116,111, 32,112,114,111,118,105,100,
+ 101, 32,109, 97,105,110,116,101,110, 97,110, 99,101, 44, 32,
+ 115,117,112,112,111,114,116, 44, 32,117,112,100, 97,116,101,
+ 115, 44, 10, 45, 45, 32,101,110,104, 97,110, 99,101,109,101,
+ 110,116,115, 44, 32,111,114, 32,109,111,100,105,102,105, 99,
+ 97,116,105,111,110,115, 46, 10, 10, 10, 45, 45, 32, 67,108,
+ 97,115,115, 32, 99,108, 97,115,115, 10, 45, 45, 32, 82,101,
+ 112,114,101,115,101,110,116,115, 32, 97, 32, 99,108, 97,115,
+ 115, 32,100,101,102,105,110,105,116,105,111,110, 46, 10, 45,
+ 45, 32, 83,116,111,114,101,115, 32,116,104,101, 32,102,111,
+ 108,108,111,119,105,110,103, 32,102,105,101,108,100,115, 58,
+ 10, 45, 45, 32, 32, 32, 32,110, 97,109,101, 32, 61, 32, 99,
+ 108, 97,115,115, 32,110, 97,109,101, 10, 45, 45, 32, 32, 32,
+ 32, 98, 97,115,101, 32, 61, 32, 99,108, 97,115,115, 32, 98,
+ 97,115,101, 44, 32,105,102, 32, 97,110,121, 32, 40,111,110,
+ 108,121, 32,115,105,110,103,108,101, 32,105,110,104,101,114,
+ 105,116, 97,110, 99,101, 32,105,115, 32,115,117,112,112,111,
+ 114,116,101,100, 41, 10, 45, 45, 32, 32, 32, 32,123,105,125,
+ 32, 32, 61, 32,108,105,115,116, 32,111,102, 32,109,101,109,
+ 98,101,114,115, 10, 99,108, 97,115,115, 67,108, 97,115,115,
+ 32, 61, 32,123, 10, 32, 99,108, 97,115,115,116,121,112,101,
+ 32, 61, 32, 39, 99,108, 97,115,115, 39, 44, 10, 32,110, 97,
+ 109,101, 32, 61, 32, 39, 39, 44, 10, 32, 98, 97,115,101, 32,
+ 61, 32, 39, 39, 44, 10, 32,116,121,112,101, 32, 61, 32, 39,
+ 39, 44, 10, 32, 98,116,121,112,101, 32, 61, 32, 39, 39, 44,
+ 10, 32, 99,116,121,112,101, 32, 61, 32, 39, 39, 44, 10,125,
+ 10, 99,108, 97,115,115, 67,108, 97,115,115, 46, 95, 95,105,
+ 110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 67,108, 97,
+ 115,115, 10,115,101,116,109,101,116, 97,116, 97, 98,108,101,
+ 40, 99,108, 97,115,115, 67,108, 97,115,115, 44, 99,108, 97,
+ 115,115, 67,111,110,116, 97,105,110,101,114, 41, 10, 10, 10,
+ 45, 45, 32,114,101,103,105,115,116,101,114, 32, 99,108, 97,
+ 115,115, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,
+ 115,115, 67,108, 97,115,115, 58,114,101,103,105,115,116,101,
+ 114, 32, 40,112,114,101, 41, 10, 10, 9,105,102, 32,110,111,
+ 116, 32,115,101,108,102, 58, 99,104,101, 99,107, 95,112,117,
+ 98,108,105, 99, 95, 97, 99, 99,101,115,115, 40, 41, 32,116,
+ 104,101,110, 10, 9, 9,114,101,116,117,114,110, 10, 9,101,
+ 110,100, 10, 10, 32,112,114,101, 32, 61, 32,112,114,101, 32,
+ 111,114, 32, 39, 39, 10, 32,112,117,115,104, 40,115,101,108,
+ 102, 41, 10, 9,105,102, 32, 95, 99,111,108,108,101, 99,116,
+ 91,115,101,108,102, 46,116,121,112,101, 93, 32,116,104,101,
+ 110, 10, 9, 9,111,117,116,112,117,116, 40,112,114,101, 44,
+ 39, 35,105,102,100,101,102, 32, 95, 95, 99,112,108,117,115,
+ 112,108,117,115, 92,110, 39, 41, 10, 32, 32,111,117,116,112,
+ 117,116, 40,112,114,101, 46, 46, 39,116,111,108,117, 97, 95,
+ 99, 99,108, 97,115,115, 40,116,111,108,117, 97, 95, 83, 44,
+ 34, 39, 46, 46,115,101,108,102, 46,108,110, 97,109,101, 46,
+ 46, 39, 34, 44, 34, 39, 46, 46,115,101,108,102, 46,116,121,
+ 112,101, 46, 46, 39, 34, 44, 34, 39, 46, 46,115,101,108,102,
+ 46, 98,116,121,112,101, 46, 46, 39, 34, 44, 39, 46, 46, 95,
+ 99,111,108,108,101, 99,116, 91,115,101,108,102, 46,116,121,
+ 112,101, 93, 46, 46, 39, 41, 59, 39, 41, 10, 9, 9,111,117,
+ 116,112,117,116, 40,112,114,101, 44, 39, 35,101,108,115,101,
+ 92,110, 39, 41, 10, 32, 32,111,117,116,112,117,116, 40,112,
+ 114,101, 46, 46, 39,116,111,108,117, 97, 95, 99, 99,108, 97,
+ 115,115, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,
+ 115,101,108,102, 46,108,110, 97,109,101, 46, 46, 39, 34, 44,
+ 34, 39, 46, 46,115,101,108,102, 46,116,121,112,101, 46, 46,
+ 39, 34, 44, 34, 39, 46, 46,115,101,108,102, 46, 98,116,121,
+ 112,101, 46, 46, 39, 34, 44, 78, 85, 76, 76, 41, 59, 39, 41,
+ 10, 9, 9,111,117,116,112,117,116, 40,112,114,101, 44, 39,
+ 35,101,110,100,105,102, 92,110, 39, 41, 10, 9,101,108,115,
+ 101, 10, 32, 32,111,117,116,112,117,116, 40,112,114,101, 46,
+ 46, 39,116,111,108,117, 97, 95, 99, 99,108, 97,115,115, 40,
+ 116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,
+ 102, 46,108,110, 97,109,101, 46, 46, 39, 34, 44, 34, 39, 46,
+ 46,115,101,108,102, 46,116,121,112,101, 46, 46, 39, 34, 44,
+ 34, 39, 46, 46,115,101,108,102, 46, 98,116,121,112,101, 46,
+ 46, 39, 34, 44, 78, 85, 76, 76, 41, 59, 39, 41, 10, 9,101,
+ 110,100, 10, 9,105,102, 32,115,101,108,102, 46,101,120,116,
+ 114, 97, 95, 98, 97,115,101,115, 32,116,104,101,110, 10, 9,
+ 9,102,111,114, 32,107, 44, 98, 97,115,101, 32,105,110, 32,
+ 105,112, 97,105,114,115, 40,115,101,108,102, 46,101,120,116,
+ 114, 97, 95, 98, 97,115,101,115, 41, 32,100,111, 10, 9, 9,
+ 9, 45, 45, 32,110,111,116, 32,110,111,119, 10, 32, 32, 32,
+ 45, 45,111,117,116,112,117,116, 40,112,114,101, 46, 46, 39,
+ 32,116,111,108,117, 97, 95, 97,100,100, 98, 97,115,101, 40,
+ 116,111,108,117, 97, 95, 83, 44, 32, 34, 39, 46, 46,115,101,
+ 108,102, 46,116,121,112,101, 46, 46, 39, 34, 44, 32, 34, 39,
+ 46, 46, 98, 97,115,101, 46, 46, 39, 34, 41, 59, 39, 41, 10,
+ 9, 9,101,110,100, 10, 9,101,110,100, 10, 32,111,117,116,
+ 112,117,116, 40,112,114,101, 46, 46, 39,116,111,108,117, 97,
+ 95, 98,101,103,105,110,109,111,100,117,108,101, 40,116,111,
+ 108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,
+ 108,110, 97,109,101, 46, 46, 39, 34, 41, 59, 39, 41, 10, 32,
+ 108,111, 99, 97,108, 32,105, 61, 49, 10, 32,119,104,105,108,
+ 101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10, 32, 32,
+ 115,101,108,102, 91,105, 93, 58,114,101,103,105,115,116,101,
+ 114, 40,112,114,101, 46, 46, 39, 32, 39, 41, 10, 32, 32,105,
+ 32, 61, 32,105, 43, 49, 10, 32,101,110,100, 10, 32,111,117,
+ 116,112,117,116, 40,112,114,101, 46, 46, 39,116,111,108,117,
+ 97, 95,101,110,100,109,111,100,117,108,101, 40,116,111,108,
+ 117, 97, 95, 83, 41, 59, 39, 41, 10, 9,112,111,112, 40, 41,
+ 10,101,110,100, 10, 10, 45, 45, 32,114,101,116,117,114,110,
+ 32, 99,111,108,108,101, 99,116,105,111,110, 32,114,101,113,
+ 117,105,114,101,109,101,110,116, 10,102,117,110, 99,116,105,
+ 111,110, 32, 99,108, 97,115,115, 67,108, 97,115,115, 58,114,
+ 101,113,117,105,114,101, 99,111,108,108,101, 99,116,105,111,
+ 110, 32, 40,116, 41, 10, 9,105,102, 32,115,101,108,102, 46,
+ 102,108, 97,103,115, 46,112,114,111,116,101, 99,116,101,100,
+ 95,100,101,115,116,114,117, 99,116,111,114, 32,111,114, 32,
+ 40,110,111,116, 32,115,101,108,102, 58, 99,104,101, 99,107,
+ 95,112,117, 98,108,105, 99, 95, 97, 99, 99,101,115,115, 40,
+ 41, 41, 32,116,104,101,110, 10, 9, 9,114,101,116,117,114,
+ 110, 32,102, 97,108,115,101, 10, 9,101,110,100, 10, 32,112,
+ 117,115,104, 40,115,101,108,102, 41, 10, 9,108,111, 99, 97,
+ 108, 32,114, 32, 61, 32,102, 97,108,115,101, 10, 32,108,111,
+ 99, 97,108, 32,105, 61, 49, 10, 32,119,104,105,108,101, 32,
+ 115,101,108,102, 91,105, 93, 32,100,111, 10, 32, 32,114, 32,
+ 61, 32,115,101,108,102, 91,105, 93, 58,114,101,113,117,105,
+ 114,101, 99,111,108,108,101, 99,116,105,111,110, 40,116, 41,
+ 32,111,114, 32,114, 10, 32, 32,105, 32, 61, 32,105, 43, 49,
+ 10, 32,101,110,100, 10, 9,112,111,112, 40, 41, 10, 9, 45,
+ 45, 32,111,110,108,121, 32, 99,108, 97,115,115, 32,116,104,
+ 97,116, 32,101,120,112,111,114,116,115, 32,100,101,115,116,
+ 114,117, 99,116,111,114, 32, 99, 97,110, 32, 98,101, 32, 97,
+ 112,112,114,111,112,114,105, 97,116,101,108,121, 32, 99,111,
+ 108,108,101, 99,116,101,100, 10, 9, 45, 45, 32, 99,108, 97,
+ 115,115,101,115, 32,116,104, 97,116, 32,101,120,112,111,114,
+ 116, 32, 99,111,110,115,116,114,117, 99,116,111,114,115, 32,
+ 110,101,101,100, 32,116,111, 32,104, 97,118,101, 32, 97, 32,
+ 99,111,108,108,101, 99,116,111,114, 32, 40,111,118,101,114,
+ 114,105,100,101,100, 32, 98,121, 32, 45, 68, 32,102,108, 97,
+ 103, 32,111,110, 32, 99,111,109,109, 97,110,100, 32,108,105,
+ 110,101, 41, 10, 9,105,102, 32,115,101,108,102, 46, 95,100,
+ 101,108,101,116,101, 32,111,114, 32, 40, 40,110,111,116, 32,
+ 102,108, 97,103,115, 91, 39, 68, 39, 93, 41, 32, 97,110,100,
+ 32,115,101,108,102, 46, 95,110,101,119, 41, 32,116,104,101,
+ 110, 10, 9, 9, 45, 45,116, 91,115,101,108,102, 46,116,121,
+ 112,101, 93, 32, 61, 32, 34,116,111,108,117, 97, 95, 99,111,
+ 108,108,101, 99,116, 95, 34, 32, 46, 46, 32,103,115,117, 98,
+ 40,115,101,108,102, 46,116,121,112,101, 44, 34, 58, 58, 34,
+ 44, 34, 95, 34, 41, 10, 9, 9,116, 91,115,101,108,102, 46,
+ 116,121,112,101, 93, 32, 61, 32, 34,116,111,108,117, 97, 95,
+ 99,111,108,108,101, 99,116, 95, 34, 32, 46, 46, 32, 99,108,
+ 101, 97,110, 95,116,101,109,112,108, 97,116,101, 40,115,101,
+ 108,102, 46,116,121,112,101, 41, 10, 9, 9,114, 32, 61, 32,
+ 116,114,117,101, 10, 9,101,110,100, 10, 32,114,101,116,117,
+ 114,110, 32,114, 10,101,110,100, 10, 10, 45, 45, 32,111,117,
+ 116,112,117,116, 32,116, 97,103,115, 10,102,117,110, 99,116,
+ 105,111,110, 32, 99,108, 97,115,115, 67,108, 97,115,115, 58,
+ 100,101, 99,108,116,121,112,101, 32, 40, 41, 10, 32,112,117,
+ 115,104, 40,115,101,108,102, 41, 10, 9,115,101,108,102, 46,
+ 116,121,112,101, 32, 61, 32,114,101,103,116,121,112,101, 40,
+ 115,101,108,102, 46,111,114,105,103,105,110, 97,108, 95,110,
+ 97,109,101, 32,111,114, 32,115,101,108,102, 46,110, 97,109,
+ 101, 41, 10, 9,115,101,108,102, 46, 98,116,121,112,101, 32,
+ 61, 32,116,121,112,101,118, 97,114, 40,115,101,108,102, 46,
+ 98, 97,115,101, 41, 10, 9,115,101,108,102, 46, 99,116,121,
+ 112,101, 32, 61, 32, 39, 99,111,110,115,116, 32, 39, 46, 46,
+ 115,101,108,102, 46,116,121,112,101, 10, 9,105,102, 32,115,
+ 101,108,102, 46,101,120,116,114, 97, 95, 98, 97,115,101,115,
+ 32,116,104,101,110, 10, 9, 9,102,111,114, 32,105, 61, 49,
+ 44,116, 97, 98,108,101, 46,103,101,116,110, 40,115,101,108,
+ 102, 46,101,120,116,114, 97, 95, 98, 97,115,101,115, 41, 32,
+ 100,111, 10, 9, 9, 9,115,101,108,102, 46,101,120,116,114,
+ 97, 95, 98, 97,115,101,115, 91,105, 93, 32, 61, 32,116,121,
+ 112,101,118, 97,114, 40,115,101,108,102, 46,101,120,116,114,
+ 97, 95, 98, 97,115,101,115, 91,105, 93, 41, 10, 9, 9,101,
+ 110,100, 10, 9,101,110,100, 10, 32,108,111, 99, 97,108, 32,
+ 105, 61, 49, 10, 32,119,104,105,108,101, 32,115,101,108,102,
+ 91,105, 93, 32,100,111, 10, 32, 32,115,101,108,102, 91,105,
+ 93, 58,100,101, 99,108,116,121,112,101, 40, 41, 10, 32, 32,
+ 105, 32, 61, 32,105, 43, 49, 10, 32,101,110,100, 10, 9,112,
+ 111,112, 40, 41, 10,101,110,100, 10, 10, 10, 45, 45, 32, 80,
+ 114,105,110,116, 32,109,101,116,104,111,100, 10,102,117,110,
+ 99,116,105,111,110, 32, 99,108, 97,115,115, 67,108, 97,115,
+ 115, 58,112,114,105,110,116, 32, 40,105,100,101,110,116, 44,
+ 99,108,111,115,101, 41, 10, 32,112,114,105,110,116, 40,105,
+ 100,101,110,116, 46, 46, 34, 67,108, 97,115,115,123, 34, 41,
+ 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46,
+ 34, 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,
+ 108,102, 46,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10,
+ 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,
+ 32, 98, 97,115,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,
+ 102, 46, 98, 97,115,101, 46, 46, 34, 39, 59, 34, 41, 10, 32,
+ 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,
+ 108,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,
+ 102, 46,108,110, 97,109,101, 46, 46, 34, 39, 44, 34, 41, 10,
+ 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,
+ 32,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,
+ 102, 46,116,121,112,101, 46, 46, 34, 39, 44, 34, 41, 10, 32,
+ 112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,
+ 98,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,
+ 102, 46, 98,116,121,112,101, 46, 46, 34, 39, 44, 34, 41, 10,
+ 32,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34,
+ 32, 99,116,121,112,101, 32, 61, 32, 39, 34, 46, 46,115,101,
+ 108,102, 46, 99,116,121,112,101, 46, 46, 34, 39, 44, 34, 41,
+ 10, 32,108,111, 99, 97,108, 32,105, 61, 49, 10, 32,119,104,
+ 105,108,101, 32,115,101,108,102, 91,105, 93, 32,100,111, 10,
+ 32, 32,115,101,108,102, 91,105, 93, 58,112,114,105,110,116,
+ 40,105,100,101,110,116, 46, 46, 34, 32, 34, 44, 34, 44, 34,
+ 41, 10, 32, 32,105, 32, 61, 32,105, 43, 49, 10, 32,101,110,
+ 100, 10, 32,112,114,105,110,116, 40,105,100,101,110,116, 46,
+ 46, 34,125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,
+ 100, 10, 10,102,117,110, 99,116,105,111,110, 32, 99,108, 97,
+ 115,115, 67,108, 97,115,115, 58,115,101,116, 95,112,114,111,
+ 116,101, 99,116,101,100, 95,100,101,115,116,114,117, 99,116,
+ 111,114, 40,112, 41, 10, 9,115,101,108,102, 46,102,108, 97,
+ 103,115, 46,112,114,111,116,101, 99,116,101,100, 95,100,101,
+ 115,116,114,117, 99,116,111,114, 32, 61, 32,115,101,108,102,
+ 46,102,108, 97,103,115, 46,112,114,111,116,101, 99,116,101,
+ 100, 95,100,101,115,116,114,117, 99,116,111,114, 32,111,114,
+ 32,112, 10,101,110,100, 10, 10, 45, 45, 32, 73,110,116,101,
+ 114,110, 97,108, 32, 99,111,110,115,116,114,117, 99,116,111,
+ 114, 10,102,117,110, 99,116,105,111,110, 32, 95, 67,108, 97,
+ 115,115, 32, 40,116, 41, 10, 32,115,101,116,109,101,116, 97,
+ 116, 97, 98,108,101, 40,116, 44, 99,108, 97,115,115, 67,108,
+ 97,115,115, 41, 10, 32,116, 58, 98,117,105,108,100,110, 97,
+ 109,101,115, 40, 41, 10, 32, 97,112,112,101,110,100, 40,116,
+ 41, 10, 32,114,101,116,117,114,110, 32,116, 10,101,110,100,
+ 10, 10, 45, 45, 32, 67,111,110,115,116,114,117, 99,116,111,
+ 114, 10, 45, 45, 32, 69,120,112,101, 99,116,115, 32,116,104,
+ 101, 32,110, 97,109,101, 44, 32,116,104,101, 32, 98, 97,115,
+ 101, 32, 40, 97,114,114, 97,121, 41, 32, 97,110,100, 32,116,
+ 104,101, 32, 98,111,100,121, 32,111,102, 32,116,104,101, 32,
+ 99,108, 97,115,115, 46, 10,102,117,110, 99,116,105,111,110,
+ 32, 67,108, 97,115,115, 32, 40,110, 44,112, 44, 98, 41, 10,
+ 10, 9,105,102, 32,116, 97, 98,108,101, 46,103,101,116,110,
+ 40,112, 41, 32, 62, 32, 49, 32,116,104,101,110, 10, 9, 9,
+ 98, 32, 61, 32,115,116,114,105,110,103, 46,115,117, 98, 40,
+ 98, 44, 32, 49, 44, 32, 45, 50, 41, 10, 9, 9,102,111,114,
+ 32,105, 61, 50, 44,116, 97, 98,108,101, 46,103,101,116,110,
+ 40,112, 41, 44, 49, 32,100,111, 10, 9, 9, 9, 98, 32, 61,
+ 32, 98, 46, 46, 34, 92,110, 32,116,111,108,117, 97, 95,105,
+ 110,104,101,114,105,116,115, 32, 34, 46, 46,112, 91,105, 93,
+ 46, 46, 34, 32, 95, 95, 34, 46, 46,112, 91,105, 93, 46, 46,
+ 34, 95, 95, 59, 92,110, 34, 10, 9, 9,101,110,100, 10, 9,
+ 9, 98, 32, 61, 32, 98, 46, 46, 34, 92,110,125, 34, 10, 9,
+ 101,110,100, 10, 10, 9, 45, 45, 32, 99,104,101, 99,107, 32,
+ 102,111,114, 32,116,101,109,112,108, 97,116,101, 10, 9, 98,
+ 32, 61, 32,115,116,114,105,110,103, 46,103,115,117, 98, 40,
+ 98, 44, 32, 34, 94,123, 37,115, 42, 84, 69, 77, 80, 76, 65,
+ 84, 69, 95, 66, 73, 78, 68, 34, 44, 32, 34,123, 92,110, 84,
+ 79, 76, 85, 65, 95, 84, 69, 77, 80, 76, 65, 84, 69, 95, 66,
+ 73, 78, 68, 34, 41, 10, 9,108,111, 99, 97,108, 32,116, 44,
+ 95, 44, 84, 44, 73, 32, 61, 32,115,116,114,105,110,103, 46,
+ 102,105,110,100, 40, 98, 44, 32, 39, 94,123, 37,115, 42, 84,
+ 79, 76, 85, 65, 95, 84, 69, 77, 80, 76, 65, 84, 69, 95, 66,
+ 73, 78, 68, 37,115, 42, 37, 40, 43, 37,115, 42, 92, 34, 63,
+ 40, 91, 94, 92, 34, 44, 93, 42, 41, 92, 34, 63, 37,115, 42,
+ 44, 37,115, 42, 40, 91, 94, 37, 41, 93, 42, 41, 37,115, 42,
+ 37, 41, 43, 39, 41, 10, 9,105,102, 32,116, 32,116,104,101,
+ 110, 10, 10, 9, 9, 45, 45, 32,114,101,109,111,118,101, 32,
+ 113,117,111,116,101,115, 10, 9, 9, 73, 32, 61, 32,115,116,
+ 114,105,110,103, 46,103,115,117, 98, 40, 73, 44, 32, 34, 92,
+ 34, 34, 44, 32, 34, 34, 41, 10, 9, 9, 84, 32, 61, 32,115,
+ 116,114,105,110,103, 46,103,115,117, 98, 40, 84, 44, 32, 34,
+ 92, 34, 34, 44, 32, 34, 34, 41, 10, 9, 9, 45, 45, 32,103,
+ 101,116, 32,116,121,112,101, 32,108,105,115,116, 10, 9, 9,
+ 108,111, 99, 97,108, 32,116,121,112,101,115, 32, 61, 32,115,
+ 112,108,105,116, 95, 99, 95,116,111,107,101,110,115, 40, 73,
+ 44, 32, 34, 44, 34, 41, 10, 9, 9, 45, 45, 32,114,101,109,
+ 111,118,101, 32, 84, 69, 77, 80, 76, 65, 84, 69, 95, 66, 73,
+ 78, 68, 32,108,105,110,101, 10, 9, 9,108,111, 99, 97,108,
+ 32, 98,115, 32, 61, 32,115,116,114,105,110,103, 46,103,115,
+ 117, 98, 40, 98, 44, 32, 34, 94,123, 37,115, 42, 84, 79, 76,
+ 85, 65, 95, 84, 69, 77, 80, 76, 65, 84, 69, 95, 66, 73, 78,
+ 68, 91, 94, 92,110, 93, 42, 92,110, 34, 44, 32, 34,123, 92,
+ 110, 34, 41, 10, 9, 9, 9, 10, 9, 9,108,111, 99, 97,108,
+ 32, 84,108, 32, 61, 32,115,112,108,105,116, 40, 84, 44, 32,
+ 34, 32, 34, 41, 10, 9, 9,108,111, 99, 97,108, 32,116, 99,
+ 32, 61, 32, 84,101,109,112,108, 97,116,101, 67,108, 97,115,
+ 115, 40,110, 44, 32,112, 44, 32, 98,115, 44, 32, 84,108, 41,
+ 10, 10, 9, 9, 10, 9, 9,116, 99, 58,116,104,114,111,119,
+ 40,116,121,112,101,115, 44, 32,116,114,117,101, 41, 10, 9,
+ 9, 45, 45,102,111,114, 32,105, 61, 49, 44,116,121,112,101,
+ 115, 46,110, 32,100,111, 10, 9, 9, 45, 45, 9,116, 99, 58,
+ 116,104,114,111,119, 40,115,112,108,105,116, 95, 99, 95,116,
+ 111,107,101,110,115, 40,116,121,112,101,115, 91,105, 93, 44,
+ 32, 34, 32, 34, 41, 44, 32,116,114,117,101, 41, 10, 9, 9,
+ 45, 45,101,110,100, 10, 9, 9,114,101,116,117,114,110, 10,
+ 9,101,110,100, 10, 9, 10, 9,108,111, 99, 97,108, 32,109,
+ 98, 97,115,101, 10, 10, 9,105,102, 32,112, 32,116,104,101,
+ 110, 10, 9, 9,109, 98, 97,115,101, 32, 61, 32,116, 97, 98,
+ 108,101, 46,114,101,109,111,118,101, 40,112, 44, 32, 49, 41,
+ 10, 9, 9,105,102, 32,110,111,116, 32,112, 91, 49, 93, 32,
+ 116,104,101,110, 32,112, 32, 61, 32,110,105,108, 32,101,110,
+ 100, 10, 9,101,110,100, 10, 10, 9,109, 98, 97,115,101, 32,
+ 61, 32,109, 98, 97,115,101, 32, 97,110,100, 32,114,101,115,
+ 111,108,118,101, 95,116,101,109,112,108, 97,116,101, 95,116,
+ 121,112,101,115, 40,109, 98, 97,115,101, 41, 10, 10, 9,108,
+ 111, 99, 97,108, 32, 99, 10, 9,108,111, 99, 97,108, 32,111,
+ 110, 97,109,101, 32, 61, 32,115,116,114,105,110,103, 46,103,
+ 115,117, 98, 40,110, 44, 32, 34, 64, 46, 42, 36, 34, 44, 32,
+ 34, 34, 41, 10, 9,111,110, 97,109,101, 32, 61, 32,103,101,
+ 116,110, 97,109,101,115,112, 97, 99,101, 40, 99,108, 97,115,
+ 115, 67,111,110,116, 97,105,110,101,114, 46, 99,117,114,114,
+ 41, 46, 46,111,110, 97,109,101, 10, 10, 9,105,102, 32, 95,
+ 103,108,111, 98, 97,108, 95, 99,108, 97,115,115,101,115, 91,
+ 111,110, 97,109,101, 93, 32,116,104,101,110, 10, 9, 9, 99,
+ 32, 61, 32, 95,103,108,111, 98, 97,108, 95, 99,108, 97,115,
+ 115,101,115, 91,111,110, 97,109,101, 93, 10, 9, 9,105,102,
+ 32,109, 98, 97,115,101, 32, 97,110,100, 32, 40, 40,110,111,
+ 116, 32, 99, 46, 98, 97,115,101, 41, 32,111,114, 32, 99, 46,
+ 98, 97,115,101, 32, 61, 61, 32, 34, 34, 41, 32,116,104,101,
+ 110, 10, 9, 9, 9, 99, 46, 98, 97,115,101, 32, 61, 32,109,
+ 98, 97,115,101, 10, 9, 9,101,110,100, 10, 9,101,108,115,
+ 101, 10, 9, 9, 99, 32, 61, 32, 95, 67,108, 97,115,115, 40,
+ 95, 67,111,110,116, 97,105,110,101,114,123,110, 97,109,101,
+ 61,110, 44, 32, 98, 97,115,101, 61,109, 98, 97,115,101, 44,
+ 32,101,120,116,114, 97, 95, 98, 97,115,101,115, 61,112,125,
+ 41, 10, 10, 9, 9,108,111, 99, 97,108, 32,102,116, 32, 61,
+ 32,103,101,116,110, 97,109,101,115,112, 97, 99,101, 40, 99,
+ 46,112, 97,114,101,110,116, 41, 46, 46, 99, 46,111,114,105,
+ 103,105,110, 97,108, 95,110, 97,109,101, 10, 9, 9, 97,112,
+ 112,101,110,100, 95,103,108,111, 98, 97,108, 95,116,121,112,
+ 101, 40,102,116, 44, 32, 99, 41, 10, 9,101,110,100, 10, 10,
+ 9,112,117,115,104, 40, 99, 41, 10, 9, 99, 58,112, 97,114,
+ 115,101, 40,115,116,114,115,117, 98, 40, 98, 44, 50, 44,115,
+ 116,114,108,101,110, 40, 98, 41, 45, 49, 41, 41, 32, 45, 45,
+ 32,101,108,105,109,105,110, 97,116,101, 32, 98,114, 97, 99,
+ 101,115, 10, 9,112,111,112, 40, 41, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: lua/tolua++/src/bin/lua/class.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32,109, 97,114,107, 32,117,112, 32, 99,111,109,109,
+ 101,110,116,115, 32, 97,110,100, 32,115,116,114,105,110,103,
+ 115, 10, 83, 84, 82, 49, 32, 61, 32, 34, 92, 48, 48, 49, 34,
+ 10, 83, 84, 82, 50, 32, 61, 32, 34, 92, 48, 48, 50, 34, 10,
+ 83, 84, 82, 51, 32, 61, 32, 34, 92, 48, 48, 51, 34, 10, 83,
+ 84, 82, 52, 32, 61, 32, 34, 92, 48, 48, 52, 34, 10, 82, 69,
+ 77, 32, 32, 61, 32, 34, 92, 48, 48, 53, 34, 10, 65, 78, 89,
+ 32, 32, 61, 32, 34, 40, 91, 92, 48, 48, 49, 45, 92, 48, 48,
+ 53, 93, 41, 34, 10, 69, 83, 67, 49, 32, 61, 32, 34, 92, 48,
+ 48, 54, 34, 10, 69, 83, 67, 50, 32, 61, 32, 34, 92, 48, 48,
+ 55, 34, 10, 10, 77, 65, 83, 75, 32, 61, 32,123, 32, 45, 45,
+ 32,116,104,101, 32,115,117, 98,115,116,105,116,117,116,105,
+ 111,110, 32,111,114,100,101,114, 32,105,115, 32,105,109,112,
+ 111,114,116, 97,110,116, 10, 32,123, 69, 83, 67, 49, 44, 32,
+ 34, 92, 92, 39, 34,125, 44, 10, 32,123, 69, 83, 67, 50, 44,
+ 32, 39, 92, 92, 34, 39,125, 44, 10, 32,123, 83, 84, 82, 49,
+ 44, 32, 34, 39, 34,125, 44, 10, 32,123, 83, 84, 82, 50, 44,
+ 32, 39, 34, 39,125, 44, 10, 32,123, 83, 84, 82, 51, 44, 32,
+ 34, 37, 91, 37, 91, 34,125, 44, 10, 32,123, 83, 84, 82, 52,
+ 44, 32, 34, 37, 93, 37, 93, 34,125, 44, 10, 32,123, 82, 69,
+ 77, 32, 44, 32, 34, 37, 45, 37, 45, 34,125, 44, 10,125, 10,
+ 10,102,117,110, 99,116,105,111,110, 32,109, 97,115,107, 32,
+ 40,115, 41, 10, 32,102,111,114, 32,105, 32, 61, 32, 49, 44,
+ 103,101,116,110, 40, 77, 65, 83, 75, 41, 32, 32,100,111, 10,
+ 32, 32,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 77, 65,
+ 83, 75, 91,105, 93, 91, 50, 93, 44, 77, 65, 83, 75, 91,105,
+ 93, 91, 49, 93, 41, 10, 32,101,110,100, 10, 32,114,101,116,
+ 117,114,110, 32,115, 10,101,110,100, 10, 10,102,117,110, 99,
+ 116,105,111,110, 32,117,110,109, 97,115,107, 32, 40,115, 41,
+ 10, 32,102,111,114, 32,105, 32, 61, 32, 49, 44,103,101,116,
+ 110, 40, 77, 65, 83, 75, 41, 32, 32,100,111, 10, 32, 32,115,
+ 32, 61, 32,103,115,117, 98, 40,115, 44, 77, 65, 83, 75, 91,
+ 105, 93, 91, 49, 93, 44, 77, 65, 83, 75, 91,105, 93, 91, 50,
+ 93, 41, 10, 32,101,110,100, 10, 32,114,101,116,117,114,110,
+ 32,115, 10,101,110,100, 10, 10,102,117,110, 99,116,105,111,
+ 110, 32, 99,108,101, 97,110, 32, 40,115, 41, 10, 32, 45, 45,
+ 32, 99,104,101, 99,107, 32,102,111,114, 32, 99,111,109,112,
+ 105,108, 97,116,105,111,110, 32,101,114,114,111,114, 10, 32,
+ 108,111, 99, 97,108, 32, 99,111,100,101, 32, 61, 32, 34,114,
+ 101,116,117,114,110, 32,102,117,110, 99,116,105,111,110, 32,
+ 40, 41, 92,110, 34, 32, 46, 46, 32,115, 32, 46, 46, 32, 34,
+ 92,110, 32,101,110,100, 34, 10, 32,105,102, 32,110,111,116,
+ 32,100,111,115,116,114,105,110,103, 40, 99,111,100,101, 41,
+ 32,116,104,101,110, 10, 32, 32,114,101,116,117,114,110, 32,
+ 110,105,108, 10, 32,101,110,100, 10, 10, 32,105,102, 32,102,
+ 108, 97,103,115, 91, 39, 67, 39, 93, 32,116,104,101,110, 10,
+ 32, 9,114,101,116,117,114,110, 32,115, 10, 32,101,110,100,
+ 10, 10, 32,108,111, 99, 97,108, 32, 83, 32, 61, 32, 34, 34,
+ 32, 45, 45, 32,115, 97,118,101,100, 32,115,116,114,105,110,
+ 103, 10, 10, 32,115, 32, 61, 32,109, 97,115,107, 40,115, 41,
+ 10, 10, 32, 45, 45, 32,114,101,109,111,118,101, 32, 98,108,
+ 97,110,107,115, 32, 97,110,100, 32, 99,111,109,109,101,110,
+ 116,115, 10, 32,119,104,105,108,101, 32, 49, 32,100,111, 10,
+ 32, 32,108,111, 99, 97,108, 32, 98, 44,101, 44,100, 32, 61,
+ 32,115,116,114,102,105,110,100, 40,115, 44, 65, 78, 89, 41,
+ 10, 32, 32,105,102, 32, 98, 32,116,104,101,110, 10, 32, 32,
+ 32, 83, 32, 61, 32, 83, 46, 46,115,116,114,115,117, 98, 40,
+ 115, 44, 49, 44, 98, 45, 49, 41, 10, 32, 32, 32,115, 32, 61,
+ 32,115,116,114,115,117, 98, 40,115, 44, 98, 43, 49, 41, 10,
+ 32, 32, 32,105,102, 32,100, 61, 61, 83, 84, 82, 49, 32,111,
+ 114, 32,100, 61, 61, 83, 84, 82, 50, 32,116,104,101,110, 10,
+ 32, 32, 32, 32,101, 32, 61, 32,115,116,114,102,105,110,100,
+ 40,115, 44,100, 41, 10, 32, 32, 32, 32, 83, 32, 61, 32, 83,
+ 32, 46, 46,100, 46, 46,115,116,114,115,117, 98, 40,115, 44,
+ 49, 44,101, 41, 10, 32, 32, 32, 32,115, 32, 61, 32,115,116,
+ 114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10, 32, 32, 32,
+ 101,108,115,101,105,102, 32,100, 61, 61, 83, 84, 82, 51, 32,
+ 116,104,101,110, 10, 32, 32, 32, 32,101, 32, 61, 32,115,116,
+ 114,102,105,110,100, 40,115, 44, 83, 84, 82, 52, 41, 10, 32,
+ 32, 32, 32, 83, 32, 61, 32, 83, 46, 46,100, 46, 46,115,116,
+ 114,115,117, 98, 40,115, 44, 49, 44,101, 41, 10, 32, 32, 32,
+ 32,115, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44,101,
+ 43, 49, 41, 10, 32, 32, 32,101,108,115,101,105,102, 32,100,
+ 61, 61, 82, 69, 77, 32,116,104,101,110, 10, 32, 32, 32, 32,
+ 115, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 91, 94, 92,
+ 110, 93, 42, 40, 92,110, 63, 41, 34, 44, 34, 37, 49, 34, 44,
+ 49, 41, 10, 32, 32, 32,101,110,100, 10, 32, 32,101,108,115,
+ 101, 10, 32, 32, 32, 83, 32, 61, 32, 83, 46, 46,115, 10, 32,
+ 32, 32, 98,114,101, 97,107, 10, 32, 32,101,110,100, 10, 32,
+ 101,110,100, 10, 32, 45, 45, 32,101,108,105,109,105,110, 97,
+ 116,101, 32,117,110,101, 99,101,115,115, 97,114,121, 32,115,
+ 112, 97, 99,101,115, 10, 32, 83, 32, 61, 32,103,115,117, 98,
+ 40, 83, 44, 34, 91, 32, 92,116, 93, 43, 34, 44, 34, 32, 34,
+ 41, 10, 32, 83, 32, 61, 32,103,115,117, 98, 40, 83, 44, 34,
+ 91, 32, 92,116, 93, 42, 92,110, 91, 32, 92,116, 93, 42, 34,
+ 44, 34, 92,110, 34, 41, 10, 9, 83, 32, 61, 32,103,115,117,
+ 98, 40, 83, 44, 34, 92,110, 43, 34, 44, 34, 92,110, 34, 41,
+ 10, 32, 83, 32, 61, 32,117,110,109, 97,115,107, 40, 83, 41,
+ 10, 32,114,101,116,117,114,110, 32, 83, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: lua/tolua++/src/bin/lua/clean.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 45, 45, 32, 71,101,110,101,114, 97,116,101, 32, 98,105,110,
+ 100,105,110,103, 32, 99,111,100,101, 10, 45, 45, 32, 87,114,
+ 105,116,116,101,110, 32, 98,121, 32, 87, 97,108,100,101,109,
+ 97,114, 32, 67,101,108,101,115, 10, 45, 45, 32, 84,101, 67,
+ 71,114, 97,102, 47, 80, 85, 67, 45, 82,105,111, 10, 45, 45,
+ 32, 74,117,108, 32, 49, 57, 57, 56, 10, 45, 45, 32, 76, 97,
+ 115,116, 32,117,112,100, 97,116,101, 58, 32, 65,112,114, 32,
+ 50, 48, 48, 51, 10, 45, 45, 32, 36, 73,100, 58, 32, 36, 10,
+ 10, 10, 45, 45, 32, 84,104,105,115, 32, 99,111,100,101, 32,
+ 105,115, 32,102,114,101,101, 32,115,111,102,116,119, 97,114,
+ 101, 59, 32,121,111,117, 32, 99, 97,110, 32,114,101,100,105,
+ 115,116,114,105, 98,117,116,101, 32,105,116, 32, 97,110,100,
+ 47,111,114, 32,109,111,100,105,102,121, 32,105,116, 46, 10,
+ 45, 45, 32, 84,104,101, 32,115,111,102,116,119, 97,114,101,
+ 32,112,114,111,118,105,100,101,100, 32,104,101,114,101,117,
+ 110,100,101,114, 32,105,115, 32,111,110, 32, 97,110, 32, 34,
+ 97,115, 32,105,115, 34, 32, 98, 97,115,105,115, 44, 32, 97,
+ 110,100, 10, 45, 45, 32,116,104,101, 32, 97,117,116,104,111,
+ 114, 32,104, 97,115, 32,110,111, 32,111, 98,108,105,103, 97,
+ 116,105,111,110, 32,116,111, 32,112,114,111,118,105,100,101,
+ 32,109, 97,105,110,116,101,110, 97,110, 99,101, 44, 32,115,
+ 117,112,112,111,114,116, 44, 32,117,112,100, 97,116,101,115,
+ 44, 10, 45, 45, 32,101,110,104, 97,110, 99,101,109,101,110,
+ 116,115, 44, 32,111,114, 32,109,111,100,105,102,105, 99, 97,
+ 116,105,111,110,115, 46, 10, 10,102,117,110, 99,116,105,111,
+ 110, 32,112, 97,114,115,101, 95,101,120,116,114, 97, 40, 41,
+ 10, 10, 9,102,111,114, 32,107, 44,118, 32,105,110, 32,105,
+ 112, 97,105,114,115, 40, 95,101,120,116,114, 97, 95,112, 97,
+ 114, 97,109,101,116,101,114,115, 32,111,114, 32,123,125, 41,
+ 32,100,111, 10, 9, 9, 10, 9, 9,108,111, 99, 97,108, 32,
+ 98, 44,101, 44,110, 97,109,101, 44,118, 97,108,117,101, 32,
+ 61, 32,115,116,114,105,110,103, 46,102,105,110,100, 40,118,
+ 44, 32, 34, 94, 40, 91, 94, 61, 93, 42, 41, 61, 40, 46, 42,
+ 41, 36, 34, 41, 10, 9, 9,105,102, 32, 98, 32,116,104,101,
+ 110, 10, 9, 9, 9, 95,101,120,116,114, 97, 95,112, 97,114,
+ 97,109,101,116,101,114,115, 91,110, 97,109,101, 93, 32, 61,
+ 32,118, 97,108,117,101, 10, 9, 9,101,108,115,101, 10, 9,
+ 9, 9, 95,101,120,116,114, 97, 95,112, 97,114, 97,109,101,
+ 116,101,114,115, 91,118, 93, 32, 61, 32,116,114,117,101, 10,
+ 9, 9,101,110,100, 10, 9,101,110,100, 10,101,110,100, 10,
+ 10,102,117,110, 99,116,105,111,110, 32,100,111,105,116, 32,
+ 40, 41, 10, 9, 45, 45, 32,100,101,102,105,110,101, 32,112,
+ 97, 99,107, 97,103,101, 32,110, 97,109,101, 44, 32,105,102,
+ 32,110,111,116, 32,112,114,111,118,105,100,101,100, 10, 9,
+ 105,102, 32,110,111,116, 32,102,108, 97,103,115, 46,110, 32,
+ 116,104,101,110, 10, 9, 9,105,102, 32,102,108, 97,103,115,
+ 46,102, 32,116,104,101,110, 10, 9, 9, 9,102,108, 97,103,
+ 115, 46,110, 32, 61, 32,103,115,117, 98, 40,102,108, 97,103,
+ 115, 46,102, 44, 34, 37, 46, 46, 42, 36, 34, 44, 34, 34, 41,
+ 10, 9, 9, 9, 95, 44, 95, 44,102,108, 97,103,115, 46,110,
+ 32, 61, 32,115,116,114,105,110,103, 46,102,105,110,100, 40,
+ 102,108, 97,103,115, 46,110, 44, 32, 34, 40, 91, 94, 47, 92,
+ 92, 93, 42, 41, 36, 34, 41, 10, 9, 9,101,108,115,101, 10,
+ 9, 9, 9,101,114,114,111,114, 40, 34, 35,110,111, 32,112,
+ 97, 99,107, 97,103,101, 32,110, 97,109,101, 32,110,111,114,
+ 32,105,110,112,117,116, 32,102,105,108,101, 32,112,114,111,
+ 118,105,100,101,100, 34, 41, 10, 9, 9,101,110,100, 10, 9,
+ 101,110,100, 10, 10, 9, 45, 45, 32,112, 97,114,115,101, 32,
+ 116, 97, 98,108,101, 32,119,105,116,104, 32,101,120,116,114,
+ 97, 32,112, 97,114, 97,109,116,101,114,115, 10, 9,112, 97,
+ 114,115,101, 95,101,120,116,114, 97, 40, 41, 10, 10, 9, 45,
+ 45, 32,100,111, 32,116,104,105,115, 32, 97,102,116,101,114,
+ 32,115,101,116,116,105,110,103, 32,116,104,101, 32,112, 97,
+ 99,107, 97,103,101, 32,110, 97,109,101, 10, 9,105,102, 32,
+ 102,108, 97,103,115, 91, 39, 76, 39, 93, 32,116,104,101,110,
+ 10, 9, 9,100,111,102,105,108,101, 40,102,108, 97,103,115,
+ 91, 39, 76, 39, 93, 41, 10, 9,101,110,100, 10, 10, 9, 45,
+ 45, 32, 97,100,100, 32, 99,112,112,115,116,114,105,110,103,
+ 10, 9,105,102, 32,110,111,116, 32,102,108, 97,103,115, 91,
+ 39, 83, 39, 93, 32,116,104,101,110, 10, 9, 9, 95, 98, 97,
+ 115,105, 99, 91, 39,115,116,114,105,110,103, 39, 93, 32, 61,
+ 32, 39, 99,112,112,115,116,114,105,110,103, 39, 10, 9, 9,
+ 95, 98, 97,115,105, 99, 91, 39,115,116,100, 58, 58,115,116,
+ 114,105,110,103, 39, 93, 32, 61, 32, 39, 99,112,112,115,116,
+ 114,105,110,103, 39, 10, 9, 9, 95, 98, 97,115,105, 99, 95,
+ 99,116,121,112,101, 46, 99,112,112,115,116,114,105,110,103,
+ 32, 61, 32, 39, 99,111,110,115,116, 32, 99,104, 97,114, 42,
+ 39, 10, 9,101,110,100, 10, 10, 9, 45, 45, 32,112,114,111,
+ 99, 99,101,115,115, 32,112, 97, 99,107, 97,103,101, 10, 9,
+ 108,111, 99, 97,108, 32,112, 32, 32, 61, 32, 80, 97, 99,107,
+ 97,103,101, 40,102,108, 97,103,115, 46,110, 44,102,108, 97,
+ 103,115, 46,102, 41, 10, 10, 9,105,102, 32,102,108, 97,103,
+ 115, 46,112, 32,116,104,101,110, 10, 9, 9,114,101,116,117,
+ 114,110, 32, 32, 32, 32, 32, 32, 32, 32, 45, 45, 32,111,110,
+ 108,121, 32,112, 97,114,115,101, 10, 9,101,110,100, 10, 10,
+ 9,105,102, 32,102,108, 97,103,115, 46,111, 32,116,104,101,
+ 110, 10, 9, 9,108,111, 99, 97,108, 32,115,116, 44,109,115,
+ 103, 32, 61, 32,119,114,105,116,101,116,111, 40,102,108, 97,
+ 103,115, 46,111, 41, 10, 9, 9,105,102, 32,110,111,116, 32,
+ 115,116, 32,116,104,101,110, 10, 9, 9, 9,101,114,114,111,
+ 114, 40, 39, 35, 39, 46, 46,109,115,103, 41, 10, 9, 9,101,
+ 110,100, 10, 9,101,110,100, 10, 10, 9,112, 58,100,101, 99,
+ 108,116,121,112,101, 40, 41, 10, 9,105,102, 32,102,108, 97,
+ 103,115, 46, 80, 32,116,104,101,110, 10, 9, 9,112, 58,112,
+ 114,105,110,116, 40, 41, 10, 9,101,108,115,101, 10, 9, 9,
+ 112, 58,112,114,101, 97,109, 98,108,101, 40, 41, 10, 9, 9,
+ 112, 58,115,117,112, 99,111,100,101, 40, 41, 10, 9, 9,112,
+ 58,114,101,103,105,115,116,101,114, 40, 41, 10, 9, 9,112,
+ 117,115,104, 40,112, 41, 10, 9, 9,112,111,115,116, 95,111,
+ 117,116,112,117,116, 95,104,111,111,107, 40,112, 41, 10, 9,
+ 9,112,111,112, 40, 41, 10, 9,101,110,100, 10, 10, 9,105,
+ 102, 32,102,108, 97,103,115, 46,111, 32,116,104,101,110, 10,
+ 9, 9,119,114,105,116,101,116,111, 40, 41, 10, 9,101,110,
+ 100, 10, 10, 9, 45, 45, 32,119,114,105,116,101, 32,104,101,
+ 97,100,101,114, 32,102,105,108,101, 10, 9,105,102, 32,110,
+ 111,116, 32,102,108, 97,103,115, 46, 80, 32,116,104,101,110,
+ 10, 9, 9,105,102, 32,102,108, 97,103,115, 46, 72, 32,116,
+ 104,101,110, 10, 9, 9, 9,108,111, 99, 97,108, 32,115,116,
+ 44,109,115,103, 32, 61, 32,119,114,105,116,101,116,111, 40,
+ 102,108, 97,103,115, 46, 72, 41, 10, 9, 9, 9,105,102, 32,
+ 110,111,116, 32,115,116, 32,116,104,101,110, 10, 9, 9, 9,
+ 9,101,114,114,111,114, 40, 39, 35, 39, 46, 46,109,115,103,
+ 41, 10, 9, 9, 9,101,110,100, 10, 9, 9, 9,112, 58,104,
+ 101, 97,100,101,114, 40, 41, 10, 9, 9, 9,119,114,105,116,
+ 101,116,111, 40, 41, 10, 9, 9,101,110,100, 10, 9,101,110,
+ 100, 10,101,110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua embedded: lua/tolua++/src/bin/lua/doit.lua");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ int top = lua_gettop(tolua_S);
+ static unsigned char B[] = {
+ 10,108,111, 99, 97,108, 32,101,114,114, 44,109,115,103, 32,
+ 61, 32,112, 99, 97,108,108, 40,100,111,105,116, 41, 10,105,
+ 102, 32,110,111,116, 32,101,114,114, 32,116,104,101,110, 10,
+ 32,108,111, 99, 97,108, 32, 95, 44, 95, 44,108, 97, 98,101,
+ 108, 44,109,115,103, 32, 61, 32,115,116,114,102,105,110,100,
+ 40,109,115,103, 44, 34, 40, 46, 45, 58, 46, 45, 58, 37,115,
+ 42, 41, 40, 46, 42, 41, 34, 41, 10, 32,116,111,108,117, 97,
+ 95,101,114,114,111,114, 40,109,115,103, 44,108, 97, 98,101,
+ 108, 41, 10, 32,112,114,105,110,116, 40,100,101, 98,117,103,
+ 46,116,114, 97, 99,101, 98, 97, 99,107, 40, 41, 41, 10,101,
+ 110,100,32
+ };
+ tolua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code 23");
+ lua_settop(tolua_S, top);
+ } /* end of embedded lua code */
+
+ tolua_endmodule(tolua_S);
+ return 1;
+}
+
+
+#if defined(LUA_VERSION_NUM) && LUA_VERSION_NUM >= 501
+ TOLUA_API int luaopen_tolua (lua_State* tolua_S) {
+ return tolua_tolua_open(tolua_S);
+};
+#endif
+
diff --git a/ThirdParty/toluapp/src/bin/toluabind_default.h b/ThirdParty/toluapp/src/bin/toluabind_default.h
new file mode 100644
index 0000000..c31a148
--- /dev/null
+++ b/ThirdParty/toluapp/src/bin/toluabind_default.h
@@ -0,0 +1,8 @@
+/*
+** Lua binding: tolua
+** Generated automatically by tolua++-1.0.8pre2 on Tue Dec 13 01:43:55 2005.
+*/
+
+/* Exported function */
+TOLUA_API int tolua_tolua_open (lua_State* tolua_S);
+
diff --git a/ThirdParty/toluapp/src/lib/SCsub b/ThirdParty/toluapp/src/lib/SCsub
new file mode 100644
index 0000000..2f9a246
--- /dev/null
+++ b/ThirdParty/toluapp/src/lib/SCsub
@@ -0,0 +1,18 @@
+Import('env')
+
+
+sources = [
+ 'tolua_event.c',
+ 'tolua_is.c',
+ 'tolua_map.c',
+ 'tolua_push.c',
+ 'tolua_to.c',
+ ]
+
+env.lib_target_static = env.Library('#/lib/'+env['tolua_lib']+'_static', sources)
+
+if env['shared']:
+ env.lib_target = env.SharedLibrary('#lib/'+env['tolua_lib'], sources)
+else:
+ env.lib_target = env.Library('#/lib/'+env['tolua_lib'], sources)
+
diff --git a/ThirdParty/toluapp/src/lib/tolua_event.c b/ThirdParty/toluapp/src/lib/tolua_event.c
new file mode 100644
index 0000000..8258867
--- /dev/null
+++ b/ThirdParty/toluapp/src/lib/tolua_event.c
@@ -0,0 +1,536 @@
+/* tolua: event functions
+** Support code for Lua bindings.
+** Written by Waldemar Celes
+** TeCGraf/PUC-Rio
+** Apr 2003
+** $Id: $
+*/
+
+/* This code is free software; you can redistribute it and/or modify it.
+** The software provided hereunder is on an "as is" basis, and
+** the author has no obligation to provide maintenance, support, updates,
+** enhancements, or modifications.
+*/
+
+#include <stdio.h>
+
+#include "tolua++.h"
+
+/* Store at ubox
+ * It stores, creating the corresponding table if needed,
+ * the pair key/value in the corresponding ubox table
+*/
+static void storeatubox (lua_State* L, int lo)
+{
+ #ifdef LUA_VERSION_NUM
+ lua_getfenv(L, lo);
+ if (lua_rawequal(L, -1, TOLUA_NOPEER)) {
+ lua_pop(L, 1);
+ lua_newtable(L);
+ lua_pushvalue(L, -1);
+ lua_setfenv(L, lo); /* stack: k,v,table */
+ };
+ lua_insert(L, -3);
+ lua_settable(L, -3); /* on lua 5.1, we trade the "tolua_peers" lookup for a settable call */
+ lua_pop(L, 1);
+ #else
+ /* stack: key value (to be stored) */
+ lua_pushstring(L,"tolua_peers");
+ lua_rawget(L,LUA_REGISTRYINDEX); /* stack: k v ubox */
+ lua_pushvalue(L,lo);
+ lua_rawget(L,-2); /* stack: k v ubox ubox[u] */
+ if (!lua_istable(L,-1))
+ {
+ lua_pop(L,1); /* stack: k v ubox */
+ lua_newtable(L); /* stack: k v ubox table */
+ lua_pushvalue(L,1);
+ lua_pushvalue(L,-2); /* stack: k v ubox table u table */
+ lua_rawset(L,-4); /* stack: k v ubox ubox[u]=table */
+ }
+ lua_insert(L,-4); /* put table before k */
+ lua_pop(L,1); /* pop ubox */
+ lua_rawset(L,-3); /* store at table */
+ lua_pop(L,1); /* pop ubox[u] */
+ #endif
+}
+
+/* Module index function
+*/
+static int module_index_event (lua_State* L)
+{
+ lua_pushstring(L,".get");
+ lua_rawget(L,-3);
+ if (lua_istable(L,-1))
+ {
+ lua_pushvalue(L,2); /* key */
+ lua_rawget(L,-2);
+ if (lua_iscfunction(L,-1))
+ {
+ lua_call(L,0,1);
+ return 1;
+ }
+ else if (lua_istable(L,-1))
+ return 1;
+ }
+ /* call old index meta event */
+ if (lua_getmetatable(L,1))
+ {
+ lua_pushstring(L,"__index");
+ lua_rawget(L,-2);
+ lua_pushvalue(L,1);
+ lua_pushvalue(L,2);
+ if (lua_isfunction(L,-1))
+ {
+ lua_call(L,2,1);
+ return 1;
+ }
+ else if (lua_istable(L,-1))
+ {
+ lua_gettable(L,-3);
+ return 1;
+ }
+ }
+ lua_pushnil(L);
+ return 1;
+}
+
+/* Module newindex function
+*/
+static int module_newindex_event (lua_State* L)
+{
+ lua_pushstring(L,".set");
+ lua_rawget(L,-4);
+ if (lua_istable(L,-1))
+ {
+ lua_pushvalue(L,2); /* key */
+ lua_rawget(L,-2);
+ if (lua_iscfunction(L,-1))
+ {
+ lua_pushvalue(L,1); /* only to be compatible with non-static vars */
+ lua_pushvalue(L,3); /* value */
+ lua_call(L,2,0);
+ return 0;
+ }
+ }
+ /* call old newindex meta event */
+ if (lua_getmetatable(L,1) && lua_getmetatable(L,-1))
+ {
+ lua_pushstring(L,"__newindex");
+ lua_rawget(L,-2);
+ if (lua_isfunction(L,-1))
+ {
+ lua_pushvalue(L,1);
+ lua_pushvalue(L,2);
+ lua_pushvalue(L,3);
+ lua_call(L,3,0);
+ }
+ }
+ lua_settop(L,3);
+ lua_rawset(L,-3);
+ return 0;
+}
+
+/* Class index function
+ * If the object is a userdata (ie, an object), it searches the field in
+ * the alternative table stored in the corresponding "ubox" table.
+*/
+static int class_index_event (lua_State* L)
+{
+ int t = lua_type(L,1);
+ if (t == LUA_TUSERDATA)
+ {
+ /* Access alternative table */
+ #ifdef LUA_VERSION_NUM /* new macro on version 5.1 */
+ lua_getfenv(L,1);
+ if (!lua_rawequal(L, -1, TOLUA_NOPEER)) {
+ lua_pushvalue(L, 2); /* key */
+ lua_gettable(L, -2); /* on lua 5.1, we trade the "tolua_peers" lookup for a gettable call */
+ if (!lua_isnil(L, -1))
+ return 1;
+ };
+ #else
+ lua_pushstring(L,"tolua_peers");
+ lua_rawget(L,LUA_REGISTRYINDEX); /* stack: obj key ubox */
+ lua_pushvalue(L,1);
+ lua_rawget(L,-2); /* stack: obj key ubox ubox[u] */
+ if (lua_istable(L,-1))
+ {
+ lua_pushvalue(L,2); /* key */
+ lua_rawget(L,-2); /* stack: obj key ubox ubox[u] value */
+ if (!lua_isnil(L,-1))
+ return 1;
+ }
+ #endif
+ lua_settop(L,2); /* stack: obj key */
+ /* Try metatables */
+ lua_pushvalue(L,1); /* stack: obj key obj */
+ while (lua_getmetatable(L,-1))
+ { /* stack: obj key obj mt */
+ lua_remove(L,-2); /* stack: obj key mt */
+ if (lua_isnumber(L,2)) /* check if key is a numeric value */
+ {
+ /* try operator[] */
+ lua_pushstring(L,".geti");
+ lua_rawget(L,-2); /* stack: obj key mt func */
+ if (lua_isfunction(L,-1))
+ {
+ lua_pushvalue(L,1);
+ lua_pushvalue(L,2);
+ lua_call(L,2,1);
+ return 1;
+ }
+ }
+ else
+ {
+ lua_pushvalue(L,2); /* stack: obj key mt key */
+ lua_rawget(L,-2); /* stack: obj key mt value */
+ if (!lua_isnil(L,-1))
+ return 1;
+ else
+ lua_pop(L,1);
+ /* try C/C++ variable */
+ lua_pushstring(L,".get");
+ lua_rawget(L,-2); /* stack: obj key mt tget */
+ if (lua_istable(L,-1))
+ {
+ lua_pushvalue(L,2);
+ lua_rawget(L,-2); /* stack: obj key mt value */
+ if (lua_iscfunction(L,-1))
+ {
+ lua_pushvalue(L,1);
+ lua_pushvalue(L,2);
+ lua_call(L,2,1);
+ return 1;
+ }
+ else if (lua_istable(L,-1))
+ {
+ /* deal with array: create table to be returned and cache it in ubox */
+ void* u = *((void**)lua_touserdata(L,1));
+ lua_newtable(L); /* stack: obj key mt value table */
+ lua_pushstring(L,".self");
+ lua_pushlightuserdata(L,u);
+ lua_rawset(L,-3); /* store usertype in ".self" */
+ lua_insert(L,-2); /* stack: obj key mt table value */
+ lua_setmetatable(L,-2); /* set stored value as metatable */
+ lua_pushvalue(L,-1); /* stack: obj key met table table */
+ lua_pushvalue(L,2); /* stack: obj key mt table table key */
+ lua_insert(L,-2); /* stack: obj key mt table key table */
+ storeatubox(L,1); /* stack: obj key mt table */
+ return 1;
+ }
+ }
+ }
+ lua_settop(L,3);
+ }
+ lua_pushnil(L);
+ return 1;
+ }
+ else if (t== LUA_TTABLE)
+ {
+ module_index_event(L);
+ return 1;
+ }
+ lua_pushnil(L);
+ return 1;
+}
+
+/* Newindex function
+ * It first searches for a C/C++ varaible to be set.
+ * Then, it either stores it in the alternative ubox table (in the case it is
+ * an object) or in the own table (that represents the class or module).
+*/
+static int class_newindex_event (lua_State* L)
+{
+ int t = lua_type(L,1);
+ if (t == LUA_TUSERDATA)
+ {
+ /* Try accessing a C/C++ variable to be set */
+ lua_getmetatable(L,1);
+ while (lua_istable(L,-1)) /* stack: t k v mt */
+ {
+ if (lua_isnumber(L,2)) /* check if key is a numeric value */
+ {
+ /* try operator[] */
+ lua_pushstring(L,".seti");
+ lua_rawget(L,-2); /* stack: obj key mt func */
+ if (lua_isfunction(L,-1))
+ {
+ lua_pushvalue(L,1);
+ lua_pushvalue(L,2);
+ lua_pushvalue(L,3);
+ lua_call(L,3,0);
+ return 0;
+ }
+ }
+ else
+ {
+ lua_pushstring(L,".set");
+ lua_rawget(L,-2); /* stack: t k v mt tset */
+ if (lua_istable(L,-1))
+ {
+ lua_pushvalue(L,2);
+ lua_rawget(L,-2); /* stack: t k v mt tset func */
+ if (lua_iscfunction(L,-1))
+ {
+ lua_pushvalue(L,1);
+ lua_pushvalue(L,3);
+ lua_call(L,2,0);
+ return 0;
+ }
+ lua_pop(L,1); /* stack: t k v mt tset */
+ }
+ lua_pop(L,1); /* stack: t k v mt */
+ if (!lua_getmetatable(L,-1)) /* stack: t k v mt mt */
+ lua_pushnil(L);
+ lua_remove(L,-2); /* stack: t k v mt */
+ }
+ }
+ lua_settop(L,3); /* stack: t k v */
+
+ /* then, store as a new field */
+ storeatubox(L,1);
+ }
+ else if (t== LUA_TTABLE)
+ {
+ module_newindex_event(L);
+ }
+ return 0;
+}
+
+static int class_call_event(lua_State* L) {
+
+ if (lua_istable(L, 1)) {
+ lua_pushstring(L, ".call");
+ lua_rawget(L, 1);
+ if (lua_isfunction(L, -1)) {
+
+ lua_insert(L, 1);
+ lua_call(L, lua_gettop(L)-1, 1);
+
+ return 1;
+ };
+ };
+ tolua_error(L,"Attempt to call a non-callable object.",NULL);
+ return 0;
+};
+
+static int do_operator (lua_State* L, const char* op)
+{
+ if (lua_isuserdata(L,1))
+ {
+ /* Try metatables */
+ lua_pushvalue(L,1); /* stack: op1 op2 */
+ while (lua_getmetatable(L,-1))
+ { /* stack: op1 op2 op1 mt */
+ lua_remove(L,-2); /* stack: op1 op2 mt */
+ lua_pushstring(L,op); /* stack: op1 op2 mt key */
+ lua_rawget(L,-2); /* stack: obj key mt func */
+ if (lua_isfunction(L,-1))
+ {
+ lua_pushvalue(L,1);
+ lua_pushvalue(L,2);
+ lua_call(L,2,1);
+ return 1;
+ }
+ lua_settop(L,3);
+ }
+ }
+ tolua_error(L,"Attempt to perform operation on an invalid operand",NULL);
+ return 0;
+}
+
+static int class_add_event (lua_State* L)
+{
+ return do_operator(L,".add");
+}
+
+static int class_sub_event (lua_State* L)
+{
+ return do_operator(L,".sub");
+}
+
+static int class_mul_event (lua_State* L)
+{
+ return do_operator(L,".mul");
+}
+
+static int class_div_event (lua_State* L)
+{
+ return do_operator(L,".div");
+}
+
+static int class_lt_event (lua_State* L)
+{
+ return do_operator(L,".lt");
+}
+
+static int class_le_event (lua_State* L)
+{
+ return do_operator(L,".le");
+}
+
+static int class_eq_event (lua_State* L)
+{
+ /* copying code from do_operator here to return false when no operator is found */
+ if (lua_isuserdata(L,1))
+ {
+ /* Try metatables */
+ lua_pushvalue(L,1); /* stack: op1 op2 */
+ while (lua_getmetatable(L,-1))
+ { /* stack: op1 op2 op1 mt */
+ lua_remove(L,-2); /* stack: op1 op2 mt */
+ lua_pushstring(L,".eq"); /* stack: op1 op2 mt key */
+ lua_rawget(L,-2); /* stack: obj key mt func */
+ if (lua_isfunction(L,-1))
+ {
+ lua_pushvalue(L,1);
+ lua_pushvalue(L,2);
+ lua_call(L,2,1);
+ return 1;
+ }
+ lua_settop(L,3);
+ }
+ }
+
+ lua_settop(L, 3);
+ lua_pushboolean(L, 0);
+ return 1;
+}
+
+/*
+static int class_gc_event (lua_State* L)
+{
+ void* u = *((void**)lua_touserdata(L,1));
+ fprintf(stderr, "collecting: looking at %p\n", u);
+ lua_pushstring(L,"tolua_gc");
+ lua_rawget(L,LUA_REGISTRYINDEX);
+ lua_pushlightuserdata(L,u);
+ lua_rawget(L,-2);
+ if (lua_isfunction(L,-1))
+ {
+ lua_pushvalue(L,1);
+ lua_call(L,1,0);
+ lua_pushlightuserdata(L,u);
+ lua_pushnil(L);
+ lua_rawset(L,-3);
+ }
+ lua_pop(L,2);
+ return 0;
+}
+*/
+TOLUA_API int class_gc_event (lua_State* L)
+{
+ void* u = *((void**)lua_touserdata(L,1));
+ int top;
+ /*fprintf(stderr, "collecting: looking at %p\n", u);*/
+ /*
+ lua_pushstring(L,"tolua_gc");
+ lua_rawget(L,LUA_REGISTRYINDEX);
+ */
+ lua_pushvalue(L, lua_upvalueindex(1));
+ lua_pushlightuserdata(L,u);
+ lua_rawget(L,-2); /* stack: gc umt */
+ lua_getmetatable(L,1); /* stack: gc umt mt */
+ /*fprintf(stderr, "checking type\n");*/
+ top = lua_gettop(L);
+ if (tolua_fast_isa(L,top,top-1, lua_upvalueindex(2))) /* make sure we collect correct type */
+ {
+ /*fprintf(stderr, "Found type!\n");*/
+ /* get gc function */
+ lua_pushliteral(L,".collector");
+ lua_rawget(L,-2); /* stack: gc umt mt collector */
+ if (lua_isfunction(L,-1)) {
+ /*fprintf(stderr, "Found .collector!\n");*/
+ }
+ else {
+ lua_pop(L,1);
+ /*fprintf(stderr, "Using default cleanup\n");*/
+ lua_pushcfunction(L,tolua_default_collect);
+ }
+
+ lua_pushvalue(L,1); /* stack: gc umt mt collector u */
+ lua_call(L,1,0);
+
+ lua_pushlightuserdata(L,u); /* stack: gc umt mt u */
+ lua_pushnil(L); /* stack: gc umt mt u nil */
+ lua_rawset(L,-5); /* stack: gc umt mt */
+ }
+ lua_pop(L,3);
+ return 0;
+}
+
+
+/* Register module events
+ * It expects the metatable on the top of the stack
+*/
+TOLUA_API void tolua_moduleevents (lua_State* L)
+{
+ lua_pushstring(L,"__index");
+ lua_pushcfunction(L,module_index_event);
+ lua_rawset(L,-3);
+ lua_pushstring(L,"__newindex");
+ lua_pushcfunction(L,module_newindex_event);
+ lua_rawset(L,-3);
+}
+
+/* Check if the object on the top has a module metatable
+*/
+TOLUA_API int tolua_ismodulemetatable (lua_State* L)
+{
+ int r = 0;
+ if (lua_getmetatable(L,-1))
+ {
+ lua_pushstring(L,"__index");
+ lua_rawget(L,-2);
+ r = (lua_tocfunction(L,-1) == module_index_event);
+ lua_pop(L,2);
+ }
+ return r;
+}
+
+/* Register class events
+ * It expects the metatable on the top of the stack
+*/
+TOLUA_API void tolua_classevents (lua_State* L)
+{
+ lua_pushstring(L,"__index");
+ lua_pushcfunction(L,class_index_event);
+ lua_rawset(L,-3);
+ lua_pushstring(L,"__newindex");
+ lua_pushcfunction(L,class_newindex_event);
+ lua_rawset(L,-3);
+
+ lua_pushstring(L,"__add");
+ lua_pushcfunction(L,class_add_event);
+ lua_rawset(L,-3);
+ lua_pushstring(L,"__sub");
+ lua_pushcfunction(L,class_sub_event);
+ lua_rawset(L,-3);
+ lua_pushstring(L,"__mul");
+ lua_pushcfunction(L,class_mul_event);
+ lua_rawset(L,-3);
+ lua_pushstring(L,"__div");
+ lua_pushcfunction(L,class_div_event);
+ lua_rawset(L,-3);
+
+ lua_pushstring(L,"__lt");
+ lua_pushcfunction(L,class_lt_event);
+ lua_rawset(L,-3);
+ lua_pushstring(L,"__le");
+ lua_pushcfunction(L,class_le_event);
+ lua_rawset(L,-3);
+ lua_pushstring(L,"__eq");
+ lua_pushcfunction(L,class_eq_event);
+ lua_rawset(L,-3);
+
+ lua_pushstring(L,"__call");
+ lua_pushcfunction(L,class_call_event);
+ lua_rawset(L,-3);
+
+ lua_pushstring(L,"__gc");
+ lua_pushstring(L, "tolua_gc_event");
+ lua_rawget(L, LUA_REGISTRYINDEX);
+ /*lua_pushcfunction(L,class_gc_event);*/
+ lua_rawset(L,-3);
+}
+
diff --git a/ThirdParty/toluapp/src/lib/tolua_event.h b/ThirdParty/toluapp/src/lib/tolua_event.h
new file mode 100644
index 0000000..898f33d
--- /dev/null
+++ b/ThirdParty/toluapp/src/lib/tolua_event.h
@@ -0,0 +1,24 @@
+/* tolua: event functions
+** Support code for Lua bindings.
+** Written by Waldemar Celes
+** TeCGraf/PUC-Rio
+** Apr 2003
+** $Id: $
+*/
+
+/* This code is free software; you can redistribute it and/or modify it.
+** The software provided hereunder is on an "as is" basis, and
+** the author has no obligation to provide maintenance, support, updates,
+** enhancements, or modifications.
+*/
+
+#ifndef TOLUA_EVENT_H
+#define TOLUA_EVENT_H
+
+#include "tolua++.h"
+
+TOLUA_API void tolua_moduleevents (lua_State* L);
+TOLUA_API int tolua_ismodulemetatable (lua_State* L);
+TOLUA_API void tolua_classevents (lua_State* L);
+
+#endif
diff --git a/ThirdParty/toluapp/src/lib/tolua_is.c b/ThirdParty/toluapp/src/lib/tolua_is.c
new file mode 100644
index 0000000..add337d
--- /dev/null
+++ b/ThirdParty/toluapp/src/lib/tolua_is.c
@@ -0,0 +1,621 @@
+/* tolua: functions to check types.
+** Support code for Lua bindings.
+** Written by Waldemar Celes
+** TeCGraf/PUC-Rio
+** Apr 2003
+** $Id: $
+*/
+
+/* This code is free software; you can redistribute it and/or modify it.
+** The software provided hereunder is on an "as is" basis, and
+** the author has no obligation to provide maintenance, support, updates,
+** enhancements, or modifications.
+*/
+
+#include "tolua++.h"
+#include "lauxlib.h"
+
+#include <stdlib.h>
+#include <string.h>
+
+/* a fast check if a is b, without parameter validation
+ i.e. if b is equal to a or a superclass of a. */
+TOLUA_API int tolua_fast_isa(lua_State *L, int mt_indexa, int mt_indexb, int super_index)
+{
+ int result;
+ if (lua_rawequal(L,mt_indexa,mt_indexb))
+ result = 1;
+ else
+ {
+ if (super_index) {
+ lua_pushvalue(L, super_index);
+ } else {
+ lua_pushliteral(L,"tolua_super");
+ lua_rawget(L,LUA_REGISTRYINDEX); /* stack: super */
+ };
+ lua_pushvalue(L,mt_indexa); /* stack: super mta */
+ lua_rawget(L,-2); /* stack: super super[mta] */
+ lua_pushvalue(L,mt_indexb); /* stack: super super[mta] mtb */
+ lua_rawget(L,LUA_REGISTRYINDEX); /* stack: super super[mta] typenameB */
+ lua_rawget(L,-2); /* stack: super super[mta] bool */
+ result = lua_toboolean(L,-1);
+ lua_pop(L,3);
+ }
+ return result;
+}
+
+/* Push and returns the corresponding object typename */
+TOLUA_API const char* tolua_typename (lua_State* L, int lo)
+{
+ int tag = lua_type(L,lo);
+ if (tag == LUA_TNONE)
+ lua_pushstring(L,"[no object]");
+ else if (tag != LUA_TUSERDATA && tag != LUA_TTABLE)
+ lua_pushstring(L,lua_typename(L,tag));
+ else if (tag == LUA_TUSERDATA)
+ {
+ if (!lua_getmetatable(L,lo))
+ lua_pushstring(L,lua_typename(L,tag));
+ else
+ {
+ lua_rawget(L,LUA_REGISTRYINDEX);
+ if (!lua_isstring(L,-1))
+ {
+ lua_pop(L,1);
+ lua_pushstring(L,"[undefined]");
+ }
+ }
+ }
+ else /* is table */
+ {
+ lua_pushvalue(L,lo);
+ lua_rawget(L,LUA_REGISTRYINDEX);
+ if (!lua_isstring(L,-1))
+ {
+ lua_pop(L,1);
+ lua_pushstring(L,"table");
+ }
+ else
+ {
+ lua_pushstring(L,"class ");
+ lua_insert(L,-2);
+ lua_concat(L,2);
+ }
+ }
+ return lua_tostring(L,-1);
+}
+
+TOLUA_API void tolua_error (lua_State* L, const char* msg, tolua_Error* err)
+{
+ if (msg[0] == '#')
+ {
+ const char* expected = err->type;
+ const char* provided = tolua_typename(L,err->index);
+ if (msg[1]=='f')
+ {
+ int narg = err->index;
+ if (err->array)
+ luaL_error(L,"%s\n argument #%d is array of '%s'; array of '%s' expected.\n",
+ msg+2,narg,provided,expected);
+ else
+ luaL_error(L,"%s\n argument #%d is '%s'; '%s' expected.\n",
+ msg+2,narg,provided,expected);
+ }
+ else if (msg[1]=='v')
+ {
+ if (err->array)
+ luaL_error(L,"%s\n value is array of '%s'; array of '%s' expected.\n",
+ msg+2,provided,expected);
+ else
+ luaL_error(L,"%s\n value is '%s'; '%s' expected.\n",
+ msg+2,provided,expected);
+ }
+ }
+ else
+ luaL_error(L,msg);
+}
+
+/* the equivalent of lua_is* for usertable */
+static int lua_isusertable (lua_State* L, int lo, const const char* type)
+{
+ int r = 0;
+ if (lo < 0) lo = lua_gettop(L)+lo+1;
+ lua_pushvalue(L,lo);
+ lua_rawget(L,LUA_REGISTRYINDEX); /* get registry[t] */
+ if (lua_isstring(L,-1))
+ {
+ r = strcmp(lua_tostring(L,-1),type)==0;
+ if (!r)
+ {
+ /* try const */
+ lua_pushstring(L,"const ");
+ lua_insert(L,-2);
+ lua_concat(L,2);
+ r = lua_isstring(L,-1) && strcmp(lua_tostring(L,-1),type)==0;
+ }
+ }
+ lua_pop(L, 1);
+ return r;
+}
+
+int push_table_instance(lua_State* L, int lo) {
+
+ if (lua_istable(L, lo)) {
+
+ lua_pushstring(L, ".c_instance");
+ lua_gettable(L, lo);
+ if (lua_isuserdata(L, -1)) {
+
+ lua_replace(L, lo);
+ return 1;
+ } else {
+
+ lua_pop(L, 1);
+ return 0;
+ };
+ } else {
+ return 0;
+ };
+
+ return 0;
+};
+
+/* the equivalent of lua_is* for usertype */
+static int lua_isusertype (lua_State* L, int lo, const char* type)
+{
+ if (!lua_isuserdata(L,lo)) {
+ if (!push_table_instance(L, lo)) {
+ return 0;
+ };
+ };
+ {
+ /* check if it is of the same type */
+ int r;
+ const char *tn;
+ if (lua_getmetatable(L,lo)) /* if metatable? */
+ {
+ lua_rawget(L,LUA_REGISTRYINDEX); /* get registry[mt] */
+ tn = lua_tostring(L,-1);
+ r = tn && (strcmp(tn,type) == 0);
+ lua_pop(L, 1);
+ if (r)
+ return 1;
+ else
+ {
+ /* check if it is a specialized class */
+ lua_pushstring(L,"tolua_super");
+ lua_rawget(L,LUA_REGISTRYINDEX); /* get super */
+ lua_getmetatable(L,lo);
+ lua_rawget(L,-2); /* get super[mt] */
+ if (lua_istable(L,-1))
+ {
+ int b;
+ lua_pushstring(L,type);
+ lua_rawget(L,-2); /* get super[mt][type] */
+ b = lua_toboolean(L,-1);
+ lua_pop(L,3);
+ if (b)
+ return 1;
+ }
+ }
+ }
+ }
+ return 0;
+}
+
+TOLUA_API int tolua_isnoobj (lua_State* L, int lo, tolua_Error* err)
+{
+ if (lua_gettop(L)<abs(lo))
+ return 1;
+ err->index = lo;
+ err->array = 0;
+ err->type = "[no object]";
+ return 0;
+}
+
+TOLUA_API int tolua_isboolean (lua_State* L, int lo, int def, tolua_Error* err)
+{
+ if (def && lua_gettop(L)<abs(lo))
+ return 1;
+ if (lua_isnil(L,lo) || lua_isboolean(L,lo))
+ return 1;
+ err->index = lo;
+ err->array = 0;
+ err->type = "boolean";
+ return 0;
+}
+
+TOLUA_API int tolua_isnumber (lua_State* L, int lo, int def, tolua_Error* err)
+{
+ if (def && lua_gettop(L)<abs(lo))
+ return 1;
+ if (lua_isnumber(L,lo))
+ return 1;
+ err->index = lo;
+ err->array = 0;
+ err->type = "number";
+ return 0;
+}
+
+TOLUA_API int tolua_isstring (lua_State* L, int lo, int def, tolua_Error* err)
+{
+ if (def && lua_gettop(L)<abs(lo))
+ return 1;
+ if (lua_isnil(L,lo) || lua_isstring(L,lo))
+ return 1;
+ err->index = lo;
+ err->array = 0;
+ err->type = "string";
+ return 0;
+}
+
+TOLUA_API int tolua_istable (lua_State* L, int lo, int def, tolua_Error* err)
+{
+ if (def && lua_gettop(L)<abs(lo))
+ return 1;
+ if (lua_istable(L,lo))
+ return 1;
+ err->index = lo;
+ err->array = 0;
+ err->type = "table";
+ return 0;
+}
+
+TOLUA_API int tolua_isusertable (lua_State* L, int lo, const char* type, int def, tolua_Error* err)
+{
+ if (def && lua_gettop(L)<abs(lo))
+ return 1;
+ if (lua_isusertable(L,lo,type))
+ return 1;
+ err->index = lo;
+ err->array = 0;
+ err->type = type;
+ return 0;
+}
+
+
+TOLUA_API int tolua_isuserdata (lua_State* L, int lo, int def, tolua_Error* err)
+{
+ if (def && lua_gettop(L)<abs(lo))
+ return 1;
+ if (lua_isnil(L,lo) || lua_isuserdata(L,lo))
+ return 1;
+ err->index = lo;
+ err->array = 0;
+ err->type = "userdata";
+ return 0;
+}
+
+TOLUA_API int tolua_isvaluenil (lua_State* L, int lo, tolua_Error* err) {
+
+ if (lua_gettop(L)<abs(lo))
+ return 0; /* somebody else should chack this */
+ if (!lua_isnil(L, lo))
+ return 0;
+
+ err->index = lo;
+ err->array = 0;
+ err->type = "value";
+ return 1;
+};
+
+TOLUA_API int tolua_isvalue (lua_State* L, int lo, int def, tolua_Error* err)
+{
+ if (def || abs(lo)<=lua_gettop(L)) /* any valid index */
+ return 1;
+ err->index = lo;
+ err->array = 0;
+ err->type = "value";
+ return 0;
+}
+
+TOLUA_API int tolua_isusertype (lua_State* L, int lo, const char* type, int def, tolua_Error* err)
+{
+ if (def && lua_gettop(L)<abs(lo))
+ return 1;
+ if (lua_isnil(L,lo) || lua_isusertype(L,lo,type))
+ return 1;
+ err->index = lo;
+ err->array = 0;
+ err->type = type;
+ return 0;
+}
+
+TOLUA_API int tolua_isvaluearray
+ (lua_State* L, int lo, int dim, int def, tolua_Error* err)
+{
+ if (!tolua_istable(L,lo,def,err))
+ return 0;
+ else
+ return 1;
+}
+
+TOLUA_API int tolua_isbooleanarray
+ (lua_State* L, int lo, int dim, int def, tolua_Error* err)
+{
+ if (!tolua_istable(L,lo,def,err))
+ return 0;
+ else
+ {
+ int i;
+ for (i=1; i<=dim; ++i)
+ {
+ lua_pushnumber(L,i);
+ lua_gettable(L,lo);
+ if (!(lua_isnil(L,-1) || lua_isboolean(L,-1)) &&
+ !(def && lua_isnil(L,-1))
+ )
+ {
+ err->index = lo;
+ err->array = 1;
+ err->type = "boolean";
+ return 0;
+ }
+ lua_pop(L,1);
+ }
+ }
+ return 1;
+}
+
+TOLUA_API int tolua_isnumberarray
+ (lua_State* L, int lo, int dim, int def, tolua_Error* err)
+{
+ if (!tolua_istable(L,lo,def,err))
+ return 0;
+ else
+ {
+ int i;
+ for (i=1; i<=dim; ++i)
+ {
+ lua_pushnumber(L,i);
+ lua_gettable(L,lo);
+ if (!lua_isnumber(L,-1) &&
+ !(def && lua_isnil(L,-1))
+ )
+ {
+ err->index = lo;
+ err->array = 1;
+ err->type = "number";
+ return 0;
+ }
+ lua_pop(L,1);
+ }
+ }
+ return 1;
+}
+
+TOLUA_API int tolua_isstringarray
+ (lua_State* L, int lo, int dim, int def, tolua_Error* err)
+{
+ if (!tolua_istable(L,lo,def,err))
+ return 0;
+ else
+ {
+ int i;
+ for (i=1; i<=dim; ++i)
+ {
+ lua_pushnumber(L,i);
+ lua_gettable(L,lo);
+ if (!(lua_isnil(L,-1) || lua_isstring(L,-1)) &&
+ !(def && lua_isnil(L,-1))
+ )
+ {
+ err->index = lo;
+ err->array = 1;
+ err->type = "string";
+ return 0;
+ }
+ lua_pop(L,1);
+ }
+ }
+ return 1;
+}
+
+TOLUA_API int tolua_istablearray
+ (lua_State* L, int lo, int dim, int def, tolua_Error* err)
+{
+ if (!tolua_istable(L,lo,def,err))
+ return 0;
+ else
+ {
+ int i;
+ for (i=1; i<=dim; ++i)
+ {
+ lua_pushnumber(L,i);
+ lua_gettable(L,lo);
+ if (! lua_istable(L,-1) &&
+ !(def && lua_isnil(L,-1))
+ )
+ {
+ err->index = lo;
+ err->array = 1;
+ err->type = "table";
+ return 0;
+ }
+ lua_pop(L,1);
+ }
+ }
+ return 1;
+}
+
+TOLUA_API int tolua_isuserdataarray
+ (lua_State* L, int lo, int dim, int def, tolua_Error* err)
+{
+ if (!tolua_istable(L,lo,def,err))
+ return 0;
+ else
+ {
+ int i;
+ for (i=1; i<=dim; ++i)
+ {
+ lua_pushnumber(L,i);
+ lua_gettable(L,lo);
+ if (!(lua_isnil(L,-1) || lua_isuserdata(L,-1)) &&
+ !(def && lua_isnil(L,-1))
+ )
+ {
+ err->index = lo;
+ err->array = 1;
+ err->type = "userdata";
+ return 0;
+ }
+ lua_pop(L,1);
+ }
+ }
+ return 1;
+}
+
+TOLUA_API int tolua_isusertypearray
+ (lua_State* L, int lo, const char* type, int dim, int def, tolua_Error* err)
+{
+ if (!tolua_istable(L,lo,def,err))
+ return 0;
+ else
+ {
+ int i;
+ for (i=1; i<=dim; ++i)
+ {
+ lua_pushnumber(L,i);
+ lua_gettable(L,lo);
+ if (!(lua_isnil(L,-1) || lua_isuserdata(L,-1)) &&
+ !(def && lua_isnil(L,-1))
+ )
+ {
+ err->index = lo;
+ err->type = type;
+ err->array = 1;
+ return 0;
+ }
+ lua_pop(L,1);
+ }
+ }
+ return 1;
+}
+
+#if 0
+int tolua_isbooleanfield
+ (lua_State* L, int lo, int i, int def, tolua_Error* err)
+{
+ lua_pushnumber(L,i);
+ lua_gettable(L,lo);
+ if (!(lua_isnil(L,-1) || lua_isboolean(L,-1)) &&
+ !(def && lua_isnil(L,-1))
+ )
+ {
+ err->index = lo;
+ err->array = 1;
+ err->type = "boolean";
+ return 0;
+ }
+ lua_pop(L,1);
+ return 1;
+}
+
+int tolua_isnumberfield
+ (lua_State* L, int lo, int i, int def, tolua_Error* err)
+{
+ lua_pushnumber(L,i);
+ lua_gettable(L,lo);
+ if (!lua_isnumber(L,-1) &&
+ !(def && lua_isnil(L,-1))
+ )
+ {
+ err->index = lo;
+ err->array = 1;
+ err->type = "number";
+ return 0;
+ }
+ lua_pop(L,1);
+ return 1;
+}
+
+int tolua_isstringfield
+ (lua_State* L, int lo, int i, int def, tolua_Error* err)
+{
+ lua_pushnumber(L,i);
+ lua_gettable(L,lo);
+ if (!(lua_isnil(L,-1) || lua_isstring(L,-1)) &&
+ !(def && lua_isnil(L,-1))
+ )
+ {
+ err->index = lo;
+ err->array = 1;
+ err->type = "string";
+ return 0;
+ }
+ lua_pop(L,1);
+ return 1;
+}
+
+int tolua_istablefield
+ (lua_State* L, int lo, int i, int def, tolua_Error* err)
+{
+ lua_pushnumber(L,i+1);
+ lua_gettable(L,lo);
+ if (! lua_istable(L,-1) &&
+ !(def && lua_isnil(L,-1))
+ )
+ {
+ err->index = lo;
+ err->array = 1;
+ err->type = "table";
+ return 0;
+ }
+ lua_pop(L,1);
+}
+
+int tolua_isusertablefield
+ (lua_State* L, int lo, const char* type, int i, int def, tolua_Error* err)
+{
+ lua_pushnumber(L,i);
+ lua_gettable(L,lo);
+ if (! lua_isusertable(L,-1,type) &&
+ !(def && lua_isnil(L,-1))
+ )
+ {
+ err->index = lo;
+ err->array = 1;
+ err->type = type;
+ return 0;
+ }
+ lua_pop(L,1);
+ return 1;
+}
+
+int tolua_isuserdatafield
+ (lua_State* L, int lo, int i, int def, tolua_Error* err)
+{
+ lua_pushnumber(L,i);
+ lua_gettable(L,lo);
+ if (!(lua_isnil(L,-1) || lua_isuserdata(L,-1)) &&
+ !(def && lua_isnil(L,-1))
+ )
+ {
+ err->index = lo;
+ err->array = 1;
+ err->type = "userdata";
+ return 0;
+ }
+ lua_pop(L,1);
+ return 1;
+}
+
+int tolua_isusertypefield
+ (lua_State* L, int lo, const char* type, int i, int def, tolua_Error* err)
+{
+ lua_pushnumber(L,i);
+ lua_gettable(L,lo);
+ if (!(lua_isnil(L,-1) || lua_isusertype(L,-1,type)) &&
+ !(def && lua_isnil(L,-1))
+ )
+ {
+ err->index = lo;
+ err->type = type;
+ err->array = 1;
+ return 0;
+ }
+ lua_pop(L,1);
+ return 1;
+}
+
+#endif
diff --git a/ThirdParty/toluapp/src/lib/tolua_map.c b/ThirdParty/toluapp/src/lib/tolua_map.c
new file mode 100644
index 0000000..d00e706
--- /dev/null
+++ b/ThirdParty/toluapp/src/lib/tolua_map.c
@@ -0,0 +1,704 @@
+/* tolua: functions to map features
+** Support code for Lua bindings.
+** Written by Waldemar Celes
+** TeCGraf/PUC-Rio
+** Apr 2003
+** $Id: $
+*/
+
+/* This code is free software; you can redistribute it and/or modify it.
+** The software provided hereunder is on an "as is" basis, and
+** the author has no obligation to provide maintenance, support, updates,
+** enhancements, or modifications.
+*/
+
+#include "tolua++.h"
+#include "tolua_event.h"
+#include "lauxlib.h"
+
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <math.h>
+
+
+/* Create metatable
+ * Create and register new metatable
+*/
+static int tolua_newmetatable (lua_State* L, char* name)
+{
+ int r = luaL_newmetatable(L,name);
+
+ #ifdef LUA_VERSION_NUM /* only lua 5.1 */
+ if (r) {
+ lua_pushvalue(L, -1);
+ lua_pushstring(L, name);
+ lua_settable(L, LUA_REGISTRYINDEX); /* reg[mt] = type_name */
+ };
+ #endif
+
+ if (r)
+ tolua_classevents(L); /* set meta events */
+ lua_pop(L,1);
+ return r;
+}
+
+/* Map super classes
+ * It sets 'name' as being also a 'base', mapping all super classes of 'base' in 'name'
+*/
+static void mapsuper (lua_State* L, const char* name, const char* base)
+{
+ /* push registry.super */
+ lua_pushstring(L,"tolua_super");
+ lua_rawget(L,LUA_REGISTRYINDEX); /* stack: super */
+ luaL_getmetatable(L,name); /* stack: super mt */
+ lua_rawget(L,-2); /* stack: super table */
+ if (lua_isnil(L,-1))
+ {
+ /* create table */
+ lua_pop(L,1);
+ lua_newtable(L); /* stack: super table */
+ luaL_getmetatable(L,name); /* stack: super table mt */
+ lua_pushvalue(L,-2); /* stack: super table mt table */
+ lua_rawset(L,-4); /* stack: super table */
+ }
+
+ /* set base as super class */
+ lua_pushstring(L,base);
+ lua_pushboolean(L,1);
+ lua_rawset(L,-3); /* stack: super table */
+
+ /* set all super class of base as super class of name */
+ luaL_getmetatable(L,base); /* stack: super table base_mt */
+ lua_rawget(L,-3); /* stack: super table base_table */
+ if (lua_istable(L,-1))
+ {
+ /* traverse base table */
+ lua_pushnil(L); /* first key */
+ while (lua_next(L,-2) != 0)
+ {
+ /* stack: ... base_table key value */
+ lua_pushvalue(L,-2); /* stack: ... base_table key value key */
+ lua_insert(L,-2); /* stack: ... base_table key key value */
+ lua_rawset(L,-5); /* stack: ... base_table key */
+ }
+ }
+ lua_pop(L,3); /* stack: <empty> */
+}
+
+/* creates a 'tolua_ubox' table for base clases, and
+// expects the metatable and base metatable on the stack */
+static void set_ubox(lua_State* L) {
+
+ /* mt basemt */
+ if (!lua_isnil(L, -1)) {
+ lua_pushstring(L, "tolua_ubox");
+ lua_rawget(L,-2);
+ } else {
+ lua_pushnil(L);
+ };
+ /* mt basemt base_ubox */
+ if (!lua_isnil(L,-1)) {
+ lua_pushstring(L, "tolua_ubox");
+ lua_insert(L, -2);
+ /* mt basemt key ubox */
+ lua_rawset(L,-4);
+ /* (mt with ubox) basemt */
+ } else {
+ /* mt basemt nil */
+ lua_pop(L, 1);
+ lua_pushstring(L,"tolua_ubox"); lua_newtable(L);
+ /* make weak value metatable for ubox table to allow userdata to be
+ garbage-collected */
+ lua_newtable(L); lua_pushliteral(L, "__mode"); lua_pushliteral(L, "v"); lua_rawset(L, -3); /* stack: string ubox mt */
+ lua_setmetatable(L, -2); /* stack:mt basemt string ubox */
+ lua_rawset(L,-4);
+ };
+
+};
+
+/* Map inheritance
+ * It sets 'name' as derived from 'base' by setting 'base' as metatable of 'name'
+*/
+static void mapinheritance (lua_State* L, const char* name, const char* base)
+{
+ /* set metatable inheritance */
+ luaL_getmetatable(L,name);
+
+ if (base && *base)
+ luaL_getmetatable(L,base);
+ else {
+
+ if (lua_getmetatable(L, -1)) { /* already has a mt, we don't overwrite it */
+ lua_pop(L, 2);
+ return;
+ };
+ luaL_getmetatable(L,"tolua_commonclass");
+ };
+
+ set_ubox(L);
+
+ lua_setmetatable(L,-2);
+ lua_pop(L,1);
+}
+
+/* Object type
+*/
+static int tolua_bnd_type (lua_State* L)
+{
+ tolua_typename(L,lua_gettop(L));
+ return 1;
+}
+
+/* Take ownership
+*/
+static int tolua_bnd_takeownership (lua_State* L)
+{
+ int success = 0;
+ if (lua_isuserdata(L,1))
+ {
+ if (lua_getmetatable(L,1)) /* if metatable? */
+ {
+ lua_pop(L,1); /* clear metatable off stack */
+ /* force garbage collection to avoid C to reuse a to-be-collected address */
+ #ifdef LUA_VERSION_NUM
+ lua_gc(L, LUA_GCCOLLECT, 0);
+ #else
+ lua_setgcthreshold(L,0);
+ #endif
+
+ success = tolua_register_gc(L,1);
+ }
+ }
+ lua_pushboolean(L,success!=0);
+ return 1;
+}
+
+/* Release ownership
+*/
+static int tolua_bnd_releaseownership (lua_State* L)
+{
+ int done = 0;
+ if (lua_isuserdata(L,1))
+ {
+ void* u = *((void**)lua_touserdata(L,1));
+ /* force garbage collection to avoid releasing a to-be-collected address */
+ #ifdef LUA_VERSION_NUM
+ lua_gc(L, LUA_GCCOLLECT, 0);
+ #else
+ lua_setgcthreshold(L,0);
+ #endif
+ lua_pushstring(L,"tolua_gc");
+ lua_rawget(L,LUA_REGISTRYINDEX);
+ lua_pushlightuserdata(L,u);
+ lua_rawget(L,-2);
+ lua_getmetatable(L,1);
+ if (lua_rawequal(L,-1,-2)) /* check that we are releasing the correct type */
+ {
+ lua_pushlightuserdata(L,u);
+ lua_pushnil(L);
+ lua_rawset(L,-5);
+ done = 1;
+ }
+ }
+ lua_pushboolean(L,done!=0);
+ return 1;
+}
+
+/* Type casting
+*/
+static int tolua_bnd_cast (lua_State* L)
+{
+
+/* // old code
+ void* v = tolua_tousertype(L,1,NULL);
+ const char* s = tolua_tostring(L,2,NULL);
+ if (v && s)
+ tolua_pushusertype(L,v,s);
+ else
+ lua_pushnil(L);
+ return 1;
+*/
+
+ void* v;
+ const char* s;
+ if (lua_islightuserdata(L, 1)) {
+ v = tolua_touserdata(L, 1, NULL);
+ } else {
+ v = tolua_tousertype(L, 1, 0);
+ };
+
+ s = tolua_tostring(L,2,NULL);
+ if (v && s)
+ tolua_pushusertype(L,v,s);
+ else
+ lua_pushnil(L);
+ return 1;
+}
+
+/* Inheritance
+*/
+static int tolua_bnd_inherit (lua_State* L) {
+
+ /* stack: lua object, c object */
+ lua_pushstring(L, ".c_instance");
+ lua_pushvalue(L, -2);
+ lua_rawset(L, -4);
+ /* l_obj[".c_instance"] = c_obj */
+
+ return 0;
+};
+
+#ifdef LUA_VERSION_NUM /* lua 5.1 */
+static int tolua_bnd_setpeer(lua_State* L) {
+
+ /* stack: userdata, table */
+ if (!lua_isuserdata(L, -2)) {
+ lua_pushstring(L, "Invalid argument #1 to setpeer: userdata expected.");
+ lua_error(L);
+ };
+
+ if (lua_isnil(L, -1)) {
+
+ lua_pop(L, 1);
+ lua_pushvalue(L, TOLUA_NOPEER);
+ };
+ lua_setfenv(L, -2);
+
+ return 0;
+};
+
+static int tolua_bnd_getpeer(lua_State* L) {
+
+ /* stack: userdata */
+ lua_getfenv(L, -1);
+ if (lua_rawequal(L, -1, TOLUA_NOPEER)) {
+ lua_pop(L, 1);
+ lua_pushnil(L);
+ };
+ return 1;
+};
+#endif
+
+/* static int class_gc_event (lua_State* L); */
+
+TOLUA_API void tolua_open (lua_State* L)
+{
+ int top = lua_gettop(L);
+ lua_pushstring(L,"tolua_opened");
+ lua_rawget(L,LUA_REGISTRYINDEX);
+ if (!lua_isboolean(L,-1))
+ {
+ lua_pushstring(L,"tolua_opened"); lua_pushboolean(L,1); lua_rawset(L,LUA_REGISTRYINDEX);
+
+ #ifndef LUA_VERSION_NUM /* only prior to lua 5.1 */
+ /* create peer object table */
+ lua_pushstring(L, "tolua_peers"); lua_newtable(L);
+ /* make weak key metatable for peers indexed by userdata object */
+ lua_newtable(L); lua_pushliteral(L, "__mode"); lua_pushliteral(L, "k"); lua_rawset(L, -3); /* stack: string peers mt */
+ lua_setmetatable(L, -2); /* stack: string peers */
+ lua_rawset(L,LUA_REGISTRYINDEX);
+ #endif
+
+ /* create object ptr -> udata mapping table */
+ lua_pushstring(L,"tolua_ubox"); lua_newtable(L);
+ /* make weak value metatable for ubox table to allow userdata to be
+ garbage-collected */
+ lua_newtable(L); lua_pushliteral(L, "__mode"); lua_pushliteral(L, "v"); lua_rawset(L, -3); /* stack: string ubox mt */
+ lua_setmetatable(L, -2); /* stack: string ubox */
+ lua_rawset(L,LUA_REGISTRYINDEX);
+
+ lua_pushstring(L,"tolua_super"); lua_newtable(L); lua_rawset(L,LUA_REGISTRYINDEX);
+ lua_pushstring(L,"tolua_gc"); lua_newtable(L);lua_rawset(L,LUA_REGISTRYINDEX);
+
+ /* create gc_event closure */
+ lua_pushstring(L, "tolua_gc_event");
+ lua_pushstring(L, "tolua_gc");
+ lua_rawget(L, LUA_REGISTRYINDEX);
+ lua_pushstring(L, "tolua_super");
+ lua_rawget(L, LUA_REGISTRYINDEX);
+ lua_pushcclosure(L, class_gc_event, 2);
+ lua_rawset(L, LUA_REGISTRYINDEX);
+
+ tolua_newmetatable(L,"tolua_commonclass");
+
+ tolua_module(L,NULL,0);
+ tolua_beginmodule(L,NULL);
+ tolua_module(L,"tolua",0);
+ tolua_beginmodule(L,"tolua");
+ tolua_function(L,"type",tolua_bnd_type);
+ tolua_function(L,"takeownership",tolua_bnd_takeownership);
+ tolua_function(L,"releaseownership",tolua_bnd_releaseownership);
+ tolua_function(L,"cast",tolua_bnd_cast);
+ tolua_function(L,"inherit", tolua_bnd_inherit);
+ #ifdef LUA_VERSION_NUM /* lua 5.1 */
+ tolua_function(L, "setpeer", tolua_bnd_setpeer);
+ tolua_function(L, "getpeer", tolua_bnd_getpeer);
+ #endif
+
+ tolua_endmodule(L);
+ tolua_endmodule(L);
+ }
+ lua_settop(L,top);
+}
+
+/* Copy a C object
+*/
+TOLUA_API void* tolua_copy (lua_State* L, void* value, unsigned int size)
+{
+ void* clone = (void*)malloc(size);
+ if (clone)
+ memcpy(clone,value,size);
+ else
+ tolua_error(L,"insuficient memory",NULL);
+ return clone;
+}
+
+/* Default collect function
+*/
+TOLUA_API int tolua_default_collect (lua_State* tolua_S)
+{
+ void* self = tolua_tousertype(tolua_S,1,0);
+ free(self);
+ return 0;
+}
+
+/* Do clone
+*/
+TOLUA_API int tolua_register_gc (lua_State* L, int lo)
+{
+ int success = 1;
+ void *value = *(void **)lua_touserdata(L,lo);
+ lua_pushstring(L,"tolua_gc");
+ lua_rawget(L,LUA_REGISTRYINDEX);
+ lua_pushlightuserdata(L,value);
+ lua_rawget(L,-2);
+ if (!lua_isnil(L,-1)) /* make sure that object is not already owned */
+ success = 0;
+ else
+ {
+ lua_pushlightuserdata(L,value);
+ lua_getmetatable(L,lo);
+ lua_rawset(L,-4);
+ }
+ lua_pop(L,2);
+ return success;
+}
+
+/* Register a usertype
+ * It creates the correspoding metatable in the registry, for both 'type' and 'const type'.
+ * It maps 'const type' as being also a 'type'
+*/
+TOLUA_API void tolua_usertype (lua_State* L, const char* type)
+{
+ char ctype[128] = "const ";
+ strncat(ctype,type,120);
+
+ /* create both metatables */
+ if (tolua_newmetatable(L,ctype) && tolua_newmetatable(L,type))
+ mapsuper(L,type,ctype); /* 'type' is also a 'const type' */
+}
+
+
+/* Begin module
+ * It pushes the module (or class) table on the stack
+*/
+TOLUA_API void tolua_beginmodule (lua_State* L, const char* name)
+{
+ if (name)
+ {
+ lua_pushstring(L,name);
+ lua_rawget(L,-2);
+ }
+ else
+ lua_pushvalue(L,LUA_GLOBALSINDEX);
+}
+
+/* End module
+ * It pops the module (or class) from the stack
+*/
+TOLUA_API void tolua_endmodule (lua_State* L)
+{
+ lua_pop(L,1);
+}
+
+/* Map module
+ * It creates a new module
+*/
+#if 1
+TOLUA_API void tolua_module (lua_State* L, const char* name, int hasvar)
+{
+ if (name)
+ {
+ /* tolua module */
+ lua_pushstring(L,name);
+ lua_rawget(L,-2);
+ if (!lua_istable(L,-1)) /* check if module already exists */
+ {
+ lua_pop(L,1);
+ lua_newtable(L);
+ lua_pushstring(L,name);
+ lua_pushvalue(L,-2);
+ lua_rawset(L,-4); /* assing module into module */
+ }
+ }
+ else
+ {
+ /* global table */
+ lua_pushvalue(L,LUA_GLOBALSINDEX);
+ }
+ if (hasvar)
+ {
+ if (!tolua_ismodulemetatable(L)) /* check if it already has a module metatable */
+ {
+ /* create metatable to get/set C/C++ variable */
+ lua_newtable(L);
+ tolua_moduleevents(L);
+ if (lua_getmetatable(L,-2))
+ lua_setmetatable(L,-2); /* set old metatable as metatable of metatable */
+ lua_setmetatable(L,-2);
+ }
+ }
+ lua_pop(L,1); /* pop module */
+}
+#else
+TOLUA_API void tolua_module (lua_State* L, const char* name, int hasvar)
+{
+ if (name)
+ {
+ /* tolua module */
+ lua_pushstring(L,name);
+ lua_newtable(L);
+ }
+ else
+ {
+ /* global table */
+ lua_pushvalue(L,LUA_GLOBALSINDEX);
+ }
+ if (hasvar)
+ {
+ /* create metatable to get/set C/C++ variable */
+ lua_newtable(L);
+ tolua_moduleevents(L);
+ if (lua_getmetatable(L,-2))
+ lua_setmetatable(L,-2); /* set old metatable as metatable of metatable */
+ lua_setmetatable(L,-2);
+ }
+ if (name)
+ lua_rawset(L,-3); /* assing module into module */
+ else
+ lua_pop(L,1); /* pop global table */
+}
+#endif
+
+static void push_collector(lua_State* L, const char* type, lua_CFunction col) {
+
+ /* push collector function, but only if it's not NULL, or if there's no
+ collector already */
+ if (!col) return;
+ luaL_getmetatable(L,type);
+ lua_pushstring(L,".collector");
+ /*
+ if (!col) {
+ lua_pushvalue(L, -1);
+ lua_rawget(L, -3);
+ if (!lua_isnil(L, -1)) {
+ lua_pop(L, 3);
+ return;
+ };
+ lua_pop(L, 1);
+ };
+ // */
+ lua_pushcfunction(L,col);
+
+ lua_rawset(L,-3);
+ lua_pop(L, 1);
+};
+
+/* Map C class
+ * It maps a C class, setting the appropriate inheritance and super classes.
+*/
+TOLUA_API void tolua_cclass (lua_State* L, const char* lname, const char* name, const char* base, lua_CFunction col)
+{
+ char cname[128] = "const ";
+ char cbase[128] = "const ";
+ strncat(cname,name,120);
+ strncat(cbase,base,120);
+
+ mapinheritance(L,name,base);
+ mapinheritance(L,cname,name);
+
+ mapsuper(L,cname,cbase);
+ mapsuper(L,name,base);
+
+ lua_pushstring(L,lname);
+
+ push_collector(L, name, col);
+ /*
+ luaL_getmetatable(L,name);
+ lua_pushstring(L,".collector");
+ lua_pushcfunction(L,col);
+
+ lua_rawset(L,-3);
+ */
+
+ luaL_getmetatable(L,name);
+ lua_rawset(L,-3); /* assign class metatable to module */
+
+ /* now we also need to store the collector table for the const
+ instances of the class */
+ push_collector(L, cname, col);
+ /*
+ luaL_getmetatable(L,cname);
+ lua_pushstring(L,".collector");
+ lua_pushcfunction(L,col);
+ lua_rawset(L,-3);
+ lua_pop(L,1);
+ */
+
+
+}
+
+/* Add base
+ * It adds additional base classes to a class (for multiple inheritance)
+ * (not for now)
+TOLUA_API void tolua_addbase(lua_State* L, char* name, char* base) {
+
+ char cname[128] = "const ";
+ char cbase[128] = "const ";
+ strncat(cname,name,120);
+ strncat(cbase,base,120);
+
+ mapsuper(L,cname,cbase);
+ mapsuper(L,name,base);
+};
+*/
+
+/* Map function
+ * It assigns a function into the current module (or class)
+*/
+TOLUA_API void tolua_function (lua_State* L, const char* name, lua_CFunction func)
+{
+ lua_pushstring(L,name);
+ lua_pushcfunction(L,func);
+ lua_rawset(L,-3);
+}
+
+/* sets the __call event for the class (expects the class' main table on top) */
+/* never really worked :(
+TOLUA_API void tolua_set_call_event(lua_State* L, lua_CFunction func, char* type) {
+
+ lua_getmetatable(L, -1);
+ //luaL_getmetatable(L, type);
+ lua_pushstring(L,"__call");
+ lua_pushcfunction(L,func);
+ lua_rawset(L,-3);
+ lua_pop(L, 1);
+};
+*/
+
+/* Map constant number
+ * It assigns a constant number into the current module (or class)
+*/
+TOLUA_API void tolua_constant (lua_State* L, const char* name, lua_Number value)
+{
+ lua_pushstring(L,name);
+ tolua_pushnumber(L,value);
+ lua_rawset(L,-3);
+}
+
+
+/* Map variable
+ * It assigns a variable into the current module (or class)
+*/
+TOLUA_API void tolua_variable (lua_State* L, const char* name, lua_CFunction get, lua_CFunction set)
+{
+ /* get func */
+ lua_pushstring(L,".get");
+ lua_rawget(L,-2);
+ if (!lua_istable(L,-1))
+ {
+ /* create .get table, leaving it at the top */
+ lua_pop(L,1);
+ lua_newtable(L);
+ lua_pushstring(L,".get");
+ lua_pushvalue(L,-2);
+ lua_rawset(L,-4);
+ }
+ lua_pushstring(L,name);
+ lua_pushcfunction(L,get);
+ lua_rawset(L,-3); /* store variable */
+ lua_pop(L,1); /* pop .get table */
+
+ /* set func */
+ if (set)
+ {
+ lua_pushstring(L,".set");
+ lua_rawget(L,-2);
+ if (!lua_istable(L,-1))
+ {
+ /* create .set table, leaving it at the top */
+ lua_pop(L,1);
+ lua_newtable(L);
+ lua_pushstring(L,".set");
+ lua_pushvalue(L,-2);
+ lua_rawset(L,-4);
+ }
+ lua_pushstring(L,name);
+ lua_pushcfunction(L,set);
+ lua_rawset(L,-3); /* store variable */
+ lua_pop(L,1); /* pop .set table */
+ }
+}
+
+/* Access const array
+ * It reports an error when trying to write into a const array
+*/
+static int const_array (lua_State* L)
+{
+ luaL_error(L,"value of const array cannot be changed");
+ return 0;
+}
+
+/* Map an array
+ * It assigns an array into the current module (or class)
+*/
+TOLUA_API void tolua_array (lua_State* L, const char* name, lua_CFunction get, lua_CFunction set)
+{
+ lua_pushstring(L,".get");
+ lua_rawget(L,-2);
+ if (!lua_istable(L,-1))
+ {
+ /* create .get table, leaving it at the top */
+ lua_pop(L,1);
+ lua_newtable(L);
+ lua_pushstring(L,".get");
+ lua_pushvalue(L,-2);
+ lua_rawset(L,-4);
+ }
+ lua_pushstring(L,name);
+
+ lua_newtable(L); /* create array metatable */
+ lua_pushvalue(L,-1);
+ lua_setmetatable(L,-2); /* set the own table as metatable (for modules) */
+ lua_pushstring(L,"__index");
+ lua_pushcfunction(L,get);
+ lua_rawset(L,-3);
+ lua_pushstring(L,"__newindex");
+ lua_pushcfunction(L,set?set:const_array);
+ lua_rawset(L,-3);
+
+ lua_rawset(L,-3); /* store variable */
+ lua_pop(L,1); /* pop .get table */
+}
+
+
+TOLUA_API void tolua_dobuffer(lua_State* L, char* B, unsigned int size, const char* name) {
+
+ #ifdef LUA_VERSION_NUM /* lua 5.1 */
+ luaL_loadbuffer(L, B, size, name) || lua_pcall(L, 0, 0, 0);
+ #else
+ lua_dobuffer(L, B, size, name);
+ #endif
+};
+
diff --git a/ThirdParty/toluapp/src/lib/tolua_push.c b/ThirdParty/toluapp/src/lib/tolua_push.c
new file mode 100644
index 0000000..6394147
--- /dev/null
+++ b/ThirdParty/toluapp/src/lib/tolua_push.c
@@ -0,0 +1,171 @@
+/* tolua: functions to push C values.
+** Support code for Lua bindings.
+** Written by Waldemar Celes
+** TeCGraf/PUC-Rio
+** Apr 2003
+** $Id: $
+*/
+
+/* This code is free software; you can redistribute it and/or modify it.
+** The software provided hereunder is on an "as is" basis, and
+** the author has no obligation to provide maintenance, support, updates,
+** enhancements, or modifications.
+*/
+
+#include "tolua++.h"
+#include "lauxlib.h"
+
+#include <stdlib.h>
+
+TOLUA_API void tolua_pushvalue (lua_State* L, int lo)
+{
+ lua_pushvalue(L,lo);
+}
+
+TOLUA_API void tolua_pushboolean (lua_State* L, int value)
+{
+ lua_pushboolean(L,value);
+}
+
+TOLUA_API void tolua_pushnumber (lua_State* L, lua_Number value)
+{
+ lua_pushnumber(L,value);
+}
+
+TOLUA_API void tolua_pushstring (lua_State* L, const char* value)
+{
+ if (value == NULL)
+ lua_pushnil(L);
+ else
+ lua_pushstring(L,value);
+}
+
+TOLUA_API void tolua_pushuserdata (lua_State* L, void* value)
+{
+ if (value == NULL)
+ lua_pushnil(L);
+ else
+ lua_pushlightuserdata(L,value);
+}
+
+TOLUA_API void tolua_pushusertype (lua_State* L, void* value, const char* type)
+{
+ if (value == NULL)
+ lua_pushnil(L);
+ else
+ {
+ luaL_getmetatable(L, type);
+ lua_pushstring(L,"tolua_ubox");
+ lua_rawget(L,-2); /* stack: mt ubox */
+ if (lua_isnil(L, -1)) {
+ lua_pop(L, 1);
+ lua_pushstring(L, "tolua_ubox");
+ lua_rawget(L, LUA_REGISTRYINDEX);
+ };
+ lua_pushlightuserdata(L,value);
+ lua_rawget(L,-2); /* stack: mt ubox ubox[u] */
+ if (lua_isnil(L,-1))
+ {
+ lua_pop(L,1); /* stack: mt ubox */
+ lua_pushlightuserdata(L,value);
+ *(void**)lua_newuserdata(L,sizeof(void *)) = value; /* stack: mt ubox u newud */
+ lua_pushvalue(L,-1); /* stack: mt ubox u newud newud */
+ lua_insert(L,-4); /* stack: mt newud ubox u newud */
+ lua_rawset(L,-3); /* stack: mt newud ubox */
+ lua_pop(L,1); /* stack: mt newud */
+ /*luaL_getmetatable(L,type);*/
+ lua_pushvalue(L, -2); /* stack: mt newud mt */
+ lua_setmetatable(L,-2); /* stack: mt newud */
+
+ #ifdef LUA_VERSION_NUM
+ lua_pushvalue(L, TOLUA_NOPEER);
+ lua_setfenv(L, -2);
+ #endif
+ }
+ else
+ {
+ /* check the need of updating the metatable to a more specialized class */
+ lua_insert(L,-2); /* stack: mt ubox[u] ubox */
+ lua_pop(L,1); /* stack: mt ubox[u] */
+ lua_pushstring(L,"tolua_super");
+ lua_rawget(L,LUA_REGISTRYINDEX); /* stack: mt ubox[u] super */
+ lua_getmetatable(L,-2); /* stack: mt ubox[u] super mt */
+ lua_rawget(L,-2); /* stack: mt ubox[u] super super[mt] */
+ if (lua_istable(L,-1))
+ {
+ lua_pushstring(L,type); /* stack: mt ubox[u] super super[mt] type */
+ lua_rawget(L,-2); /* stack: mt ubox[u] super super[mt] flag */
+ if (lua_toboolean(L,-1) == 1) /* if true */
+ {
+ lua_pop(L,3); /* mt ubox[u]*/
+ lua_remove(L, -2);
+ return;
+ }
+ }
+ /* type represents a more specilized type */
+ /*luaL_getmetatable(L,type); // stack: mt ubox[u] super super[mt] flag mt */
+ lua_pushvalue(L, -5); /* stack: mt ubox[u] super super[mt] flag mt */
+ lua_setmetatable(L,-5); /* stack: mt ubox[u] super super[mt] flag */
+ lua_pop(L,3); /* stack: mt ubox[u] */
+ }
+ lua_remove(L, -2); /* stack: ubox[u]*/
+ }
+}
+
+TOLUA_API void tolua_pushusertype_and_takeownership (lua_State* L, void* value, const char* type)
+{
+ tolua_pushusertype(L,value,type);
+ tolua_register_gc(L,lua_gettop(L));
+}
+
+TOLUA_API void tolua_pushfieldvalue (lua_State* L, int lo, int index, int v)
+{
+ lua_pushnumber(L,index);
+ lua_pushvalue(L,v);
+ lua_settable(L,lo);
+}
+
+TOLUA_API void tolua_pushfieldboolean (lua_State* L, int lo, int index, int v)
+{
+ lua_pushnumber(L,index);
+ lua_pushboolean(L,v);
+ lua_settable(L,lo);
+}
+
+
+TOLUA_API void tolua_pushfieldnumber (lua_State* L, int lo, int index, lua_Number v)
+{
+ lua_pushnumber(L,index);
+ tolua_pushnumber(L,v);
+ lua_settable(L,lo);
+}
+
+TOLUA_API void tolua_pushfieldstring (lua_State* L, int lo, int index, const char* v)
+{
+ lua_pushnumber(L,index);
+ tolua_pushstring(L,v);
+ lua_settable(L,lo);
+}
+
+TOLUA_API void tolua_pushfielduserdata (lua_State* L, int lo, int index, void* v)
+{
+ lua_pushnumber(L,index);
+ tolua_pushuserdata(L,v);
+ lua_settable(L,lo);
+}
+
+TOLUA_API void tolua_pushfieldusertype (lua_State* L, int lo, int index, void* v, const char* type)
+{
+ lua_pushnumber(L,index);
+ tolua_pushusertype(L,v,type);
+ lua_settable(L,lo);
+}
+
+TOLUA_API void tolua_pushfieldusertype_and_takeownership (lua_State* L, int lo, int index, void* v, const char* type)
+{
+ lua_pushnumber(L,index);
+ tolua_pushusertype(L,v,type);
+ tolua_register_gc(L,lua_gettop(L));
+ lua_settable(L,lo);
+}
+
diff --git a/ThirdParty/toluapp/src/lib/tolua_to.c b/ThirdParty/toluapp/src/lib/tolua_to.c
new file mode 100644
index 0000000..542ca67
--- /dev/null
+++ b/ThirdParty/toluapp/src/lib/tolua_to.c
@@ -0,0 +1,133 @@
+/* tolua: funcitons to convert to C types
+** Support code for Lua bindings.
+** Written by Waldemar Celes
+** TeCGraf/PUC-Rio
+** Apr 2003
+** $Id: $
+*/
+
+/* This code is free software; you can redistribute it and/or modify it.
+** The software provided hereunder is on an "as is" basis, and
+** the author has no obligation to provide maintenance, support, updates,
+** enhancements, or modifications.
+*/
+
+#include "tolua++.h"
+
+#include <string.h>
+#include <stdlib.h>
+
+TOLUA_API lua_Number tolua_tonumber (lua_State* L, int narg, lua_Number def)
+{
+ return lua_gettop(L)<abs(narg) ? def : lua_tonumber(L,narg);
+}
+
+TOLUA_API const char* tolua_tostring (lua_State* L, int narg, const char* def)
+{
+ return lua_gettop(L)<abs(narg) ? def : lua_tostring(L,narg);
+}
+
+TOLUA_API void* tolua_touserdata (lua_State* L, int narg, void* def)
+{
+
+ /* return lua_gettop(L)<abs(narg) ? def : lua_touserdata(L,narg); */
+
+ if (lua_gettop(L)<abs(narg)) {
+ return def;
+ };
+
+ if (lua_islightuserdata(L, narg)) {
+
+ return lua_touserdata(L,narg);
+ };
+
+ return tolua_tousertype(L, narg, def);
+}
+
+extern int push_table_instance(lua_State* L, int lo);
+
+TOLUA_API void* tolua_tousertype (lua_State* L, int narg, void* def)
+{
+ if (lua_gettop(L)<abs(narg))
+ return def;
+ else
+ {
+ void* u;
+ if (!lua_isuserdata(L, narg)) {
+ if (!push_table_instance(L, narg)) return NULL;
+ };
+ u = lua_touserdata(L,narg);
+ return (u==NULL) ? NULL : *((void**)u); /* nil represents NULL */
+ }
+}
+
+TOLUA_API int tolua_tovalue (lua_State* L, int narg, int def)
+{
+ return lua_gettop(L)<abs(narg) ? def : narg;
+}
+
+TOLUA_API int tolua_toboolean (lua_State* L, int narg, int def)
+{
+ return lua_gettop(L)<abs(narg) ? def : lua_toboolean(L,narg);
+}
+
+TOLUA_API lua_Number tolua_tofieldnumber (lua_State* L, int lo, int index, lua_Number def)
+{
+ double v;
+ lua_pushnumber(L,index);
+ lua_gettable(L,lo);
+ v = lua_isnil(L,-1) ? def : lua_tonumber(L,-1);
+ lua_pop(L,1);
+ return v;
+}
+
+TOLUA_API const char* tolua_tofieldstring
+(lua_State* L, int lo, int index, const char* def)
+{
+ const char* v;
+ lua_pushnumber(L,index);
+ lua_gettable(L,lo);
+ v = lua_isnil(L,-1) ? def : lua_tostring(L,-1);
+ lua_pop(L,1);
+ return v;
+}
+
+TOLUA_API void* tolua_tofielduserdata (lua_State* L, int lo, int index, void* def)
+{
+ void* v;
+ lua_pushnumber(L,index);
+ lua_gettable(L,lo);
+ v = lua_isnil(L,-1) ? def : lua_touserdata(L,-1);
+ lua_pop(L,1);
+ return v;
+}
+
+TOLUA_API void* tolua_tofieldusertype (lua_State* L, int lo, int index, void* def)
+{
+ void* v;
+ lua_pushnumber(L,index);
+ lua_gettable(L,lo);
+ v = lua_isnil(L,-1) ? def : (*(void **)(lua_touserdata(L, -1))); /* lua_unboxpointer(L,-1); */
+ lua_pop(L,1);
+ return v;
+}
+
+TOLUA_API int tolua_tofieldvalue (lua_State* L, int lo, int index, int def)
+{
+ int v;
+ lua_pushnumber(L,index);
+ lua_gettable(L,lo);
+ v = lua_isnil(L,-1) ? def : lo;
+ lua_pop(L,1);
+ return v;
+}
+
+TOLUA_API int tolua_getfieldboolean (lua_State* L, int lo, int index, int def)
+{
+ int v;
+ lua_pushnumber(L,index);
+ lua_gettable(L,lo);
+ v = lua_isnil(L,-1) ? 0 : lua_toboolean(L,-1);
+ lua_pop(L,1);
+ return v;
+}
diff --git a/ThirdParty/toluapp/src/tests/SCsub b/ThirdParty/toluapp/src/tests/SCsub
new file mode 100644
index 0000000..2a2fb26
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/SCsub
@@ -0,0 +1,18 @@
+Import('env')
+env_tests = env.Copy()
+
+env_tests.LuaBinding('tclassbind.cpp', 'tclass.pkg', 'tclass', use_own=1, use_typeid=1)
+
+env_tests.Append(CXXFLAGS='-DTOLUA_API="extern \\\"C\\\""')
+
+test_class_so = env_tests.SharedLibrary('tclass', ['tclassbind.cpp'],
+ LIBS=['$tolua_lib']+env['LIBS'], )
+
+env_tests.Append(LIBPATH=".")
+
+test_class = env_tests.Program('tclass', ['tclass.cpp'],
+ LIBS=env['LIBS']+['tclass']+['$tolua_lib'], )
+
+
+
+env.test_targets = [test_class]
diff --git a/ThirdParty/toluapp/src/tests/tarray.c b/ThirdParty/toluapp/src/tests/tarray.c
new file mode 100644
index 0000000..e69bcf4
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tarray.c
@@ -0,0 +1,45 @@
+#include "lualib.h"
+#include "lauxlib.h"
+
+#include "tarray.h"
+
+
+int a[10] = {1,2,3,4,5,6,7,8,9,10};
+Point p[10] = {{0,1},{1,2},{2,3},{3,4},{4,5},{5,6},{6,7},{7,8},{8,9},{9,10}};
+Point* pp[10];
+
+int ma[10];
+Point mp[10];
+Point* mpp[10];
+
+Array array;
+Array* parray = &array;
+
+int main (void)
+{
+ int tolua_tarray_open (lua_State*);
+ lua_State* L = lua_open();
+ int i;
+
+ for (i=0; i<10; ++i)
+ {
+ pp[i] = &p[i];
+
+ ma[i] = a[i];
+ mp[i] = p[i];
+ mpp[i] = pp[i];
+
+ array.a[i] = a[i];
+ array.p[i] = p[i];
+ array.pp[i] = pp[i];
+ }
+
+ luaopen_base(L);
+ tolua_tarray_open(L);
+
+ lua_dofile(L,"tarray.lua");
+
+ lua_close(L);
+ return 0;
+}
+
diff --git a/ThirdParty/toluapp/src/tests/tarray.h b/ThirdParty/toluapp/src/tests/tarray.h
new file mode 100644
index 0000000..6964ef7
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tarray.h
@@ -0,0 +1,28 @@
+
+typedef struct Point Point;
+struct Point
+{
+ float x;
+ float y;
+};
+
+
+extern int a[10];
+extern Point p[10];
+extern Point* pp[10];
+
+
+extern int ma[10];
+extern Point mp[10];
+extern Point* mpp[10];
+
+typedef struct Array Array;
+struct Array
+{
+ int a[10];
+ Point p[10];
+ Point* pp[10];
+};
+
+extern Array array;
+extern Array* parray;
diff --git a/ThirdParty/toluapp/src/tests/tarray.lua b/ThirdParty/toluapp/src/tests/tarray.lua
new file mode 100644
index 0000000..2a8a4ce
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tarray.lua
@@ -0,0 +1,37 @@
+for i=1,10 do
+ assert(a[i]==i)
+end
+
+for i=2,10 do
+ assert(p[i-1].y==p[i].x)
+end
+
+for i=1,10 do
+ assert(M.a[i]==i)
+end
+
+for i=2,10 do
+ assert(M.p[i-1].y==M.p[i].x)
+end
+
+for i=1,10 do
+ assert(pp[i].x==M.p[i].x and p[i].y == M.pp[i].y)
+end
+
+for i=1,10 do
+ assert(array.a[i] == parray.a[i])
+ assert(array.p[i].x == parray.pp[i].x and array.p[i].y == parray.pp[i].y)
+end
+
+for i=1,10 do
+ array.a[i] = a[10-i+1]
+ M.a[i] = 10-i+1
+ assert(array.a[i]==M.a[i])
+end
+
+for i=2,10 do
+ array.p[i] = array.pp[1]
+ assert(array.p[i].x==0 and array.p[i].y==1)
+end
+
+print("Array test OK")
diff --git a/ThirdParty/toluapp/src/tests/tarray.pkg b/ThirdParty/toluapp/src/tests/tarray.pkg
new file mode 100644
index 0000000..32859c9
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tarray.pkg
@@ -0,0 +1,29 @@
+$#include "tarray.h"
+
+struct Point
+{
+ float x;
+ float y;
+};
+
+
+extern int a[10];
+extern const Point p[10];
+extern Point* pp[10];
+
+
+module M {
+extern int ma[10]@a;
+extern const Point mp[10]@p;
+extern Point* mpp[10]@pp;
+}
+
+struct Array
+{
+ int a[10];
+ Point p[10];
+ Point* pp[10];
+};
+
+extern Array array;
+extern Array* parray;
diff --git a/ThirdParty/toluapp/src/tests/tarraybind.c b/ThirdParty/toluapp/src/tests/tarraybind.c
new file mode 100644
index 0000000..4a9e0ed
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tarraybind.c
@@ -0,0 +1,504 @@
+/*
+** Lua binding: tarray
+** Generated automatically by tolua 5.0a-CDLVS2 on 08/08/03 17:06:22.
+*/
+
+#ifndef __cplusplus
+#include "stdlib.h"
+#endif
+#include "string.h"
+
+#include "tolua.h"
+
+/* Exported function */
+TOLUA_API int tolua_tarray_open (lua_State* tolua_S);
+
+#include "tarray.h"
+
+/* function to release collected object via destructor */
+#ifdef __cplusplus
+
+static int tolua_collect_Point (lua_State* tolua_S)
+{
+ Point* self = (Point*) tolua_tousertype(tolua_S,1,0);
+ delete self;
+ return 0;
+}
+#endif
+
+
+/* function to register type */
+static void tolua_reg_types (lua_State* tolua_S)
+{
+ tolua_usertype(tolua_S,"Array");
+ tolua_usertype(tolua_S,"Point");
+}
+
+/* get function: x of class Point */
+static int tolua_get_Point_x(lua_State* tolua_S)
+{
+ Point* self = (Point*) tolua_tousertype(tolua_S,1,0);
+#ifndef TOLUA_RELEASE
+ if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'x'",NULL);
+#endif
+ tolua_pushnumber(tolua_S,(double)self->x);
+ return 1;
+}
+
+/* set function: x of class Point */
+static int tolua_set_Point_x(lua_State* tolua_S)
+{
+ Point* self = (Point*) tolua_tousertype(tolua_S,1,0);
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'x'",NULL);
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ self->x = ((float) tolua_tonumber(tolua_S,2,0));
+ return 0;
+}
+
+/* get function: y of class Point */
+static int tolua_get_Point_y(lua_State* tolua_S)
+{
+ Point* self = (Point*) tolua_tousertype(tolua_S,1,0);
+#ifndef TOLUA_RELEASE
+ if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'y'",NULL);
+#endif
+ tolua_pushnumber(tolua_S,(double)self->y);
+ return 1;
+}
+
+/* set function: y of class Point */
+static int tolua_set_Point_y(lua_State* tolua_S)
+{
+ Point* self = (Point*) tolua_tousertype(tolua_S,1,0);
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'y'",NULL);
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ self->y = ((float) tolua_tonumber(tolua_S,2,0));
+ return 0;
+}
+
+/* get function: a */
+static int tolua_get_tarray_a(lua_State* tolua_S)
+{
+ int tolua_index;
+#ifndef TOLUA_RELEASE
+ {
+ tolua_Error tolua_err;
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in array indexing.",&tolua_err);
+ }
+#endif
+ tolua_index = (int)tolua_tonumber(tolua_S,2,0)-1;
+#ifndef TOLUA_RELEASE
+ if (tolua_index<0 || tolua_index>=10)
+ tolua_error(tolua_S,"array indexing out of range.",NULL);
+#endif
+ tolua_pushnumber(tolua_S,(double)a[tolua_index]);
+ return 1;
+}
+
+/* set function: a */
+static int tolua_set_tarray_a(lua_State* tolua_S)
+{
+ int tolua_index;
+#ifndef TOLUA_RELEASE
+ {
+ tolua_Error tolua_err;
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in array indexing.",&tolua_err);
+ }
+#endif
+ tolua_index = (int)tolua_tonumber(tolua_S,2,0)-1;
+#ifndef TOLUA_RELEASE
+ if (tolua_index<0 || tolua_index>=10)
+ tolua_error(tolua_S,"array indexing out of range.",NULL);
+#endif
+ a[tolua_index] = ((int) tolua_tonumber(tolua_S,3,0));
+ return 0;
+}
+
+/* get function: p */
+static int tolua_get_tarray_p(lua_State* tolua_S)
+{
+ int tolua_index;
+#ifndef TOLUA_RELEASE
+ {
+ tolua_Error tolua_err;
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in array indexing.",&tolua_err);
+ }
+#endif
+ tolua_index = (int)tolua_tonumber(tolua_S,2,0)-1;
+#ifndef TOLUA_RELEASE
+ if (tolua_index<0 || tolua_index>=10)
+ tolua_error(tolua_S,"array indexing out of range.",NULL);
+#endif
+ tolua_pushusertype(tolua_S,(void*)&p[tolua_index],"const Point");
+ return 1;
+}
+
+/* get function: pp */
+static int tolua_get_tarray_pp(lua_State* tolua_S)
+{
+ int tolua_index;
+#ifndef TOLUA_RELEASE
+ {
+ tolua_Error tolua_err;
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in array indexing.",&tolua_err);
+ }
+#endif
+ tolua_index = (int)tolua_tonumber(tolua_S,2,0)-1;
+#ifndef TOLUA_RELEASE
+ if (tolua_index<0 || tolua_index>=10)
+ tolua_error(tolua_S,"array indexing out of range.",NULL);
+#endif
+ tolua_pushusertype(tolua_S,(void*)pp[tolua_index],"Point");
+ return 1;
+}
+
+/* set function: pp */
+static int tolua_set_tarray_pp(lua_State* tolua_S)
+{
+ int tolua_index;
+#ifndef TOLUA_RELEASE
+ {
+ tolua_Error tolua_err;
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in array indexing.",&tolua_err);
+ }
+#endif
+ tolua_index = (int)tolua_tonumber(tolua_S,2,0)-1;
+#ifndef TOLUA_RELEASE
+ if (tolua_index<0 || tolua_index>=10)
+ tolua_error(tolua_S,"array indexing out of range.",NULL);
+#endif
+ pp[tolua_index] = ((Point*) tolua_tousertype(tolua_S,3,0));
+ return 0;
+}
+
+/* get function: ma */
+static int tolua_get_tarray_M_ma(lua_State* tolua_S)
+{
+ int tolua_index;
+#ifndef TOLUA_RELEASE
+ {
+ tolua_Error tolua_err;
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in array indexing.",&tolua_err);
+ }
+#endif
+ tolua_index = (int)tolua_tonumber(tolua_S,2,0)-1;
+#ifndef TOLUA_RELEASE
+ if (tolua_index<0 || tolua_index>=10)
+ tolua_error(tolua_S,"array indexing out of range.",NULL);
+#endif
+ tolua_pushnumber(tolua_S,(double)ma[tolua_index]);
+ return 1;
+}
+
+/* set function: ma */
+static int tolua_set_tarray_M_ma(lua_State* tolua_S)
+{
+ int tolua_index;
+#ifndef TOLUA_RELEASE
+ {
+ tolua_Error tolua_err;
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in array indexing.",&tolua_err);
+ }
+#endif
+ tolua_index = (int)tolua_tonumber(tolua_S,2,0)-1;
+#ifndef TOLUA_RELEASE
+ if (tolua_index<0 || tolua_index>=10)
+ tolua_error(tolua_S,"array indexing out of range.",NULL);
+#endif
+ ma[tolua_index] = ((int) tolua_tonumber(tolua_S,3,0));
+ return 0;
+}
+
+/* get function: mp */
+static int tolua_get_tarray_M_mp(lua_State* tolua_S)
+{
+ int tolua_index;
+#ifndef TOLUA_RELEASE
+ {
+ tolua_Error tolua_err;
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in array indexing.",&tolua_err);
+ }
+#endif
+ tolua_index = (int)tolua_tonumber(tolua_S,2,0)-1;
+#ifndef TOLUA_RELEASE
+ if (tolua_index<0 || tolua_index>=10)
+ tolua_error(tolua_S,"array indexing out of range.",NULL);
+#endif
+ tolua_pushusertype(tolua_S,(void*)&mp[tolua_index],"const Point");
+ return 1;
+}
+
+/* get function: mpp */
+static int tolua_get_tarray_M_mpp(lua_State* tolua_S)
+{
+ int tolua_index;
+#ifndef TOLUA_RELEASE
+ {
+ tolua_Error tolua_err;
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in array indexing.",&tolua_err);
+ }
+#endif
+ tolua_index = (int)tolua_tonumber(tolua_S,2,0)-1;
+#ifndef TOLUA_RELEASE
+ if (tolua_index<0 || tolua_index>=10)
+ tolua_error(tolua_S,"array indexing out of range.",NULL);
+#endif
+ tolua_pushusertype(tolua_S,(void*)mpp[tolua_index],"Point");
+ return 1;
+}
+
+/* set function: mpp */
+static int tolua_set_tarray_M_mpp(lua_State* tolua_S)
+{
+ int tolua_index;
+#ifndef TOLUA_RELEASE
+ {
+ tolua_Error tolua_err;
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in array indexing.",&tolua_err);
+ }
+#endif
+ tolua_index = (int)tolua_tonumber(tolua_S,2,0)-1;
+#ifndef TOLUA_RELEASE
+ if (tolua_index<0 || tolua_index>=10)
+ tolua_error(tolua_S,"array indexing out of range.",NULL);
+#endif
+ mpp[tolua_index] = ((Point*) tolua_tousertype(tolua_S,3,0));
+ return 0;
+}
+
+/* get function: a of class Array */
+static int tolua_get_tarray_Array_a(lua_State* tolua_S)
+{
+ int tolua_index;
+ Array* self;
+ lua_pushstring(tolua_S,".self");
+ lua_rawget(tolua_S,1);
+ self = (Array*) lua_touserdata(tolua_S,-1);
+#ifndef TOLUA_RELEASE
+ {
+ tolua_Error tolua_err;
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in array indexing.",&tolua_err);
+ }
+#endif
+ tolua_index = (int)tolua_tonumber(tolua_S,2,0)-1;
+#ifndef TOLUA_RELEASE
+ if (tolua_index<0 || tolua_index>=10)
+ tolua_error(tolua_S,"array indexing out of range.",NULL);
+#endif
+ tolua_pushnumber(tolua_S,(double)self->a[tolua_index]);
+ return 1;
+}
+
+/* set function: a of class Array */
+static int tolua_set_tarray_Array_a(lua_State* tolua_S)
+{
+ int tolua_index;
+ Array* self;
+ lua_pushstring(tolua_S,".self");
+ lua_rawget(tolua_S,1);
+ self = (Array*) lua_touserdata(tolua_S,-1);
+#ifndef TOLUA_RELEASE
+ {
+ tolua_Error tolua_err;
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in array indexing.",&tolua_err);
+ }
+#endif
+ tolua_index = (int)tolua_tonumber(tolua_S,2,0)-1;
+#ifndef TOLUA_RELEASE
+ if (tolua_index<0 || tolua_index>=10)
+ tolua_error(tolua_S,"array indexing out of range.",NULL);
+#endif
+ self->a[tolua_index] = ((int) tolua_tonumber(tolua_S,3,0));
+ return 0;
+}
+
+/* get function: p of class Array */
+static int tolua_get_tarray_Array_p(lua_State* tolua_S)
+{
+ int tolua_index;
+ Array* self;
+ lua_pushstring(tolua_S,".self");
+ lua_rawget(tolua_S,1);
+ self = (Array*) lua_touserdata(tolua_S,-1);
+#ifndef TOLUA_RELEASE
+ {
+ tolua_Error tolua_err;
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in array indexing.",&tolua_err);
+ }
+#endif
+ tolua_index = (int)tolua_tonumber(tolua_S,2,0)-1;
+#ifndef TOLUA_RELEASE
+ if (tolua_index<0 || tolua_index>=10)
+ tolua_error(tolua_S,"array indexing out of range.",NULL);
+#endif
+ tolua_pushusertype(tolua_S,(void*)&self->p[tolua_index],"Point");
+ return 1;
+}
+
+/* set function: p of class Array */
+static int tolua_set_tarray_Array_p(lua_State* tolua_S)
+{
+ int tolua_index;
+ Array* self;
+ lua_pushstring(tolua_S,".self");
+ lua_rawget(tolua_S,1);
+ self = (Array*) lua_touserdata(tolua_S,-1);
+#ifndef TOLUA_RELEASE
+ {
+ tolua_Error tolua_err;
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in array indexing.",&tolua_err);
+ }
+#endif
+ tolua_index = (int)tolua_tonumber(tolua_S,2,0)-1;
+#ifndef TOLUA_RELEASE
+ if (tolua_index<0 || tolua_index>=10)
+ tolua_error(tolua_S,"array indexing out of range.",NULL);
+#endif
+ self->p[tolua_index] = *((Point*) tolua_tousertype(tolua_S,3,0));
+ return 0;
+}
+
+/* get function: pp of class Array */
+static int tolua_get_tarray_Array_pp(lua_State* tolua_S)
+{
+ int tolua_index;
+ Array* self;
+ lua_pushstring(tolua_S,".self");
+ lua_rawget(tolua_S,1);
+ self = (Array*) lua_touserdata(tolua_S,-1);
+#ifndef TOLUA_RELEASE
+ {
+ tolua_Error tolua_err;
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in array indexing.",&tolua_err);
+ }
+#endif
+ tolua_index = (int)tolua_tonumber(tolua_S,2,0)-1;
+#ifndef TOLUA_RELEASE
+ if (tolua_index<0 || tolua_index>=10)
+ tolua_error(tolua_S,"array indexing out of range.",NULL);
+#endif
+ tolua_pushusertype(tolua_S,(void*)self->pp[tolua_index],"Point");
+ return 1;
+}
+
+/* set function: pp of class Array */
+static int tolua_set_tarray_Array_pp(lua_State* tolua_S)
+{
+ int tolua_index;
+ Array* self;
+ lua_pushstring(tolua_S,".self");
+ lua_rawget(tolua_S,1);
+ self = (Array*) lua_touserdata(tolua_S,-1);
+#ifndef TOLUA_RELEASE
+ {
+ tolua_Error tolua_err;
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in array indexing.",&tolua_err);
+ }
+#endif
+ tolua_index = (int)tolua_tonumber(tolua_S,2,0)-1;
+#ifndef TOLUA_RELEASE
+ if (tolua_index<0 || tolua_index>=10)
+ tolua_error(tolua_S,"array indexing out of range.",NULL);
+#endif
+ self->pp[tolua_index] = ((Point*) tolua_tousertype(tolua_S,3,0));
+ return 0;
+}
+
+/* get function: array */
+static int tolua_get_array(lua_State* tolua_S)
+{
+ tolua_pushusertype(tolua_S,(void*)&array,"Array");
+ return 1;
+}
+
+/* set function: array */
+static int tolua_set_array(lua_State* tolua_S)
+{
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!tolua_isusertype(tolua_S,2,"Array",0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ array = *((Array*) tolua_tousertype(tolua_S,2,0));
+ return 0;
+}
+
+/* get function: parray */
+static int tolua_get_parray_ptr(lua_State* tolua_S)
+{
+ tolua_pushusertype(tolua_S,(void*)parray,"Array");
+ return 1;
+}
+
+/* set function: parray */
+static int tolua_set_parray_ptr(lua_State* tolua_S)
+{
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!tolua_isusertype(tolua_S,2,"Array",0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ parray = ((Array*) tolua_tousertype(tolua_S,2,0));
+ return 0;
+}
+
+/* Open function */
+TOLUA_API int tolua_tarray_open (lua_State* tolua_S)
+{
+ tolua_open(tolua_S);
+ tolua_reg_types(tolua_S);
+ tolua_module(tolua_S,NULL,1);
+ tolua_beginmodule(tolua_S,NULL);
+#ifdef __cplusplus
+ tolua_cclass(tolua_S,"Point","Point","",tolua_collect_Point);
+#else
+ tolua_cclass(tolua_S,"Point","Point","",NULL);
+#endif
+ tolua_beginmodule(tolua_S,"Point");
+ tolua_variable(tolua_S,"x",tolua_get_Point_x,tolua_set_Point_x);
+ tolua_variable(tolua_S,"y",tolua_get_Point_y,tolua_set_Point_y);
+ tolua_endmodule(tolua_S);
+ tolua_array(tolua_S,"a",tolua_get_tarray_a,tolua_set_tarray_a);
+ tolua_array(tolua_S,"p",tolua_get_tarray_p,NULL);
+ tolua_array(tolua_S,"pp",tolua_get_tarray_pp,tolua_set_tarray_pp);
+ tolua_module(tolua_S,"M",1);
+ tolua_beginmodule(tolua_S,"M");
+ tolua_array(tolua_S,"a",tolua_get_tarray_M_ma,tolua_set_tarray_M_ma);
+ tolua_array(tolua_S,"p",tolua_get_tarray_M_mp,NULL);
+ tolua_array(tolua_S,"pp",tolua_get_tarray_M_mpp,tolua_set_tarray_M_mpp);
+ tolua_endmodule(tolua_S);
+ tolua_cclass(tolua_S,"Array","Array","",NULL);
+ tolua_beginmodule(tolua_S,"Array");
+ tolua_array(tolua_S,"a",tolua_get_tarray_Array_a,tolua_set_tarray_Array_a);
+ tolua_array(tolua_S,"p",tolua_get_tarray_Array_p,tolua_set_tarray_Array_p);
+ tolua_array(tolua_S,"pp",tolua_get_tarray_Array_pp,tolua_set_tarray_Array_pp);
+ tolua_endmodule(tolua_S);
+ tolua_variable(tolua_S,"array",tolua_get_array,tolua_set_array);
+ tolua_variable(tolua_S,"parray",tolua_get_parray_ptr,tolua_set_parray_ptr);
+ tolua_endmodule(tolua_S);
+ return 1;
+}
diff --git a/ThirdParty/toluapp/src/tests/tclass.cpp b/ThirdParty/toluapp/src/tests/tclass.cpp
new file mode 100644
index 0000000..02ca770
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tclass.cpp
@@ -0,0 +1,32 @@
+extern "C" {
+#include "lua.h"
+#include "lualib.h"
+#include "lauxlib.h"
+}
+
+#include "tclass.h"
+
+//Test::Tst_A* Test::Tst_A::last;
+//Test::Tst_B* Test::Tst_B::last;
+//Test::Tst_C* Test::Tst_C::last;
+
+extern "C" {
+ int tolua_tclass_open (lua_State*);
+}
+
+int main ()
+{
+ Test::Tst_B* b = new Test::Tst_B; // instance used in Lua code
+
+ lua_State* L = lua_open();
+ luaL_openlibs(L);
+ tolua_tclass_open(L);
+
+ luaL_dofile(L,"tclass.lua");
+
+ lua_close(L);
+
+ delete b;
+ return 0;
+}
+
diff --git a/ThirdParty/toluapp/src/tests/tclass.h b/ThirdParty/toluapp/src/tests/tclass.h
new file mode 100644
index 0000000..de64ae6
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tclass.h
@@ -0,0 +1,121 @@
+#ifndef TCLASS_H
+#define TCLASS_H
+
+#include <stdio.h>
+
+namespace Test {
+
+class Tst_Dummy
+{
+};
+
+class Tst_A
+{
+
+ int number;
+public:
+ static Tst_A* last;
+ Tst_A () {last = this;}
+ virtual char* a () { return "A"; }
+ class Tst_AA
+ {
+ public:
+ Tst_AA () {}
+ ~Tst_AA () { }
+ char* aa () { return "AA"; }
+ };
+ class Tst_BB : public Tst_AA
+ {
+ public:
+ Tst_BB () {}
+ ~Tst_BB () {}
+ Tst_AA* Base () { return this; }
+ };
+
+ void set_number(int p_number) { number = p_number;};
+ int get_number() {return number*2;};
+
+ virtual ~Tst_A() {};
+};
+
+class Tst_B : public Tst_A
+{
+public:
+ static Tst_B* last;
+ Tst_B () {last = this;}
+ virtual char* b () { return "B"; }
+
+ static Tst_A* create() {return new Tst_B;};
+ static void* create_void() {return new Tst_B;};
+
+ virtual ~Tst_B() {};
+};
+
+class Tst_C : public Tst_B
+{
+ int i;
+public:
+ static Tst_C* last;
+ Tst_C (int n) : i(n) {last = this;}
+ virtual ~Tst_C () { printf("deleting C: %d\n",i); }
+ virtual char* c () { return "C"; }
+};
+
+inline Tst_A::Tst_AA* Tst_create_aa ()
+{
+ return new Tst_A::Tst_AA();
+}
+
+inline bool Tst_is_aa (Tst_A::Tst_AA* obj)
+{
+ return true;
+}
+
+class Tst_E {
+ void* ptr;
+
+public:
+ enum Pete {
+ ONE,
+ TWO,
+ } pete;
+
+ void get_pete(Pete p) {};
+
+ template <class T>
+ T get_t() {T a=0; return a;};
+
+ Tst_E& operator+(const Tst_E& rvalue) {return *this;};
+
+ void pars(int a=0, int b=0) {};
+ void get_pointer(void* a) {};
+
+ Tst_A a;
+
+ void set_ptr(void* p_ptr) {
+ printf("this is %p, ptr is %p\n", this, p_ptr);
+ ptr = p_ptr;
+ };
+ void* get_ptr() {return ptr;};
+
+ Tst_E(int) {};
+};
+
+class Tst_Outside {
+
+public:
+
+ Tst_Outside() {};
+};
+
+}; // end of namespace
+
+
+static void outside_func(Test::Tst_Outside* p_out, lua_State* ls) {
+
+ if (p_out) printf("method!\n");
+ else printf("static!\n");
+ //printf("luastate: %i\n", ls);
+};
+
+#endif
diff --git a/ThirdParty/toluapp/src/tests/tclass.lua b/ThirdParty/toluapp/src/tests/tclass.lua
new file mode 100644
index 0000000..6dea5e9
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tclass.lua
@@ -0,0 +1,131 @@
+if not Test then
+ local loadlib
+ if not package then
+ loadlib = _G['loadlib']
+ else
+ loadlib = package.loadlib
+ end
+ f, e, eo = loadlib("./libtclass.so", "luaopen_tclass")
+ if f then
+ f()
+ else
+ print(eo, e)
+ os.exit()
+ end
+end
+
+a = {}
+rawset(a, ".c_instance", "something")
+
+function hello()
+
+ print("hello world")
+end
+
+rawset(Test.B, "hello", hello)
+
+-- type convertion tests
+--print(Test.A)
+--print(tolua.type(Test.A.last))
+--assert(tolua.type(Test.A.last) == 'Test::Tst_A') -- first time the object is mapped
+--assert(tolua.type(Test.B.last) == 'Test::Tst_B') -- type convertion to specialized type
+--assert(tolua.type(Test.A.last) == 'Test::Tst_B') -- no convertion: obj already mapped as B
+
+
+local a = Test.A:new()
+assert(tolua.type(Test.A.last) == 'Test::Tst_A') -- no type convertion: same type
+local b = Test.B:new()
+assert(tolua.type(Test.A.last) == 'Test::Tst_B') -- no convertion: obj already mapped as B
+local c = Test.luaC:new(0)
+assert(tolua.type(Test.A.last) == 'Test::Tst_C') -- no convertion: obj already mapped as C
+assert(tolua.type(Test.luaC.last) == 'Test::Tst_C')
+
+local aa = Test.A.AA:new()
+local bb = Test.A.BB:new()
+local xx = Test.create_aa()
+
+-- method calling tests
+assert(a:a() == 'A')
+assert(b:a() == 'A')
+assert(b:b() == 'B')
+assert(c:a() == 'A')
+assert(c:b() == 'B')
+assert(c:c() == 'C')
+assert(aa:aa() == 'AA')
+assert(bb:aa() == bb:Base():aa())
+assert(xx:aa() == 'AA')
+assert(Test.is_aa(bb) == true)
+
+-- test ownershipping handling
+-- should delete objects: 6 7 8 9 10 (it may vary!)
+local set = {}
+for i=1,10 do
+ local c = Test.luaC:new(i)
+ if i>5 then
+ tolua.takeownership(c)
+ end
+ --set[i] = c
+end
+
+
+
+e = Test.B:new_local()
+
+print("e is type "..tolua.type(e))
+print("ae is type "..tolua.type(ae))
+
+--e:delete()
+
+b:hello()
+
+----------
+local out = Test.Outside:new_local()
+out:outside()
+Test.Outside:outside_static(nil)
+
+
+print "***** cast"
+local acast = Test.B:create_void()
+print("type is "..tolua.type(acast))
+local bcast = tolua.cast(acast, "Test::Tst_B")
+print("bcast is "..tostring(bcast))
+print("type is "..tolua.type(bcast))
+print(bcast:b())
+
+-- test properies
+local n = 7
+a.number = n
+assert(a.number == n*2)
+
+-- constructors
+print(getmetatable(Test.A))
+print(getmetatable(Test.B))
+print(getmetatable(Test.E))
+
+local a = Test.A()
+local b = Test.B()
+local e = Test.E(5)
+--print(e+5)
+print(tostring(getmetatable(Test.B).__call))
+print(tostring(Test.B.__call))
+print(tostring(Test.B.__call(Test.B)))
+print(tolua.type(b))
+
+e:set_ptr(e)
+local ve = tolua.cast(e:get_ptr(), "Test::Tst_E")
+ve:set_ptr(ve)
+
+print"1"
+Test.A.pete = {}
+print"2"
+table.insert(Test.A.pete, a)
+print"3"
+
+
+for i=1,100000 do
+ la = {}
+ tolua.inherit(la, a)
+end
+
+print("Class test OK")
+
diff --git a/ThirdParty/toluapp/src/tests/tclass.pkg b/ThirdParty/toluapp/src/tests/tclass.pkg
new file mode 100644
index 0000000..614245c
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tclass.pkg
@@ -0,0 +1,97 @@
+$#include "tclass.h"
+
+$Test::Tst_A* Test::Tst_A::last;
+$Test::Tst_B* Test::Tst_B::last;
+$Test::Tst_C* Test::Tst_C::last;
+
+
+$renaming ^Tst_ @
+
+namespace Test {
+
+class Tst_Dummy;
+
+class Tst_A
+{
+ static Tst_A* last;
+ Tst_A ();
+ virtual char* a ();
+ class Tst_AA
+ {
+ Tst_AA () {}
+ ~Tst_AA () {}
+ char* aa () { return "AA"; }
+ };
+ class Tst_BB : public Tst_AA
+ {
+ Tst_BB () {}
+ ~Tst_BB () {}
+ Tst_AA* Base () { return this; }
+ };
+
+ tolua_property int number;
+};
+
+class Tst_E {
+public:
+ typedef enum{
+ ONE,
+ TWO,
+ } Pete;
+ Pete pete;
+
+ float get_t<float>();
+
+ void get_pete(Pete p);
+
+ Tst_E& operator+(const Tst_E& rvalue);
+
+ void pars(int a=0xa, int b=GetNumber(GetNumber(1,2)));
+ void get_pointer(void* a=NULL);
+
+ void set_ptr(void* p_ptr) {
+ printf("this is %p, ptr is %p\n", this, p_ptr);
+ ptr = p_ptr;
+ };
+ void* get_ptr() {return ptr;};
+
+ Tst_A a;
+ Tst_E(int);
+ //~Tst_E();
+};
+
+
+class Tst_B : public Tst_A
+{
+ static Tst_B* last;
+ Tst_B ();
+ virtual char* b ();
+ static Tst_A* create();
+ static void* create_void() {return new Tst_B;};
+};
+
+class Tst_C@luaC : public Tst_B
+{
+ static Tst_C* last;
+ Tst_C (int n);
+ ~Tst_C ();
+ virtual char* c ();
+};
+
+Tst_A::Tst_AA* Tst_create_aa ();
+bool Tst_is_aa (Tst_A::Tst_AA* obj);
+
+class Tst_Outside {
+
+
+ tolua_outside void outside_func@outside(lua_State* ls);
+
+ static tolua_outside void outside_func@outside_static(Tst_Outside* instance, lua_State* ls);
+
+ Tst_Outside() {};
+};
+
+
+}; // end of namespace
+
+
diff --git a/ThirdParty/toluapp/src/tests/tconstant.h b/ThirdParty/toluapp/src/tests/tconstant.h
new file mode 100644
index 0000000..917ad0a
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tconstant.h
@@ -0,0 +1,29 @@
+#define FIRST 1
+#define SECOND 2
+
+enum {
+ ONE = 1,
+ TWO = 2
+};
+
+#define M_FIRST 1
+#define M_SECOND 2
+
+enum {
+ M_ONE = 1,
+ M_TWO = 2
+};
+
+class A {
+public:
+
+ #define FIRST 1
+ #define SECOND 2
+
+ enum {
+ ONE = 1,
+ TWO = 2
+ };
+};
+
+
diff --git a/ThirdParty/toluapp/src/tests/tconstant.lua b/ThirdParty/toluapp/src/tests/tconstant.lua
new file mode 100644
index 0000000..f7753fe
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tconstant.lua
@@ -0,0 +1,11 @@
+assert(FIRST==M.FIRST)
+assert(FIRST==A.FIRST)
+assert(SECOND==M.SECOND)
+assert(SECOND==A.SECOND)
+
+assert(ONE==M.ONE)
+assert(ONE==A.ONE)
+assert(TWO==M.TWO)
+assert(TWO==A.TWO)
+
+print("Constant test OK")
diff --git a/ThirdParty/toluapp/src/tests/tconstant.pkg b/ThirdParty/toluapp/src/tests/tconstant.pkg
new file mode 100644
index 0000000..ada3390
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tconstant.pkg
@@ -0,0 +1,34 @@
+$#include "tconstant.h"
+
+#define FIRST 1
+#define SECOND 2
+
+enum {
+ ONE = 1,
+ TWO = 2
+};
+
+module M {
+
+#define M_FIRST@FIRST 1
+#define M_SECOND@SECOND 2
+
+enum {
+ M_ONE@ONE = 1,
+ M_TWO@TWO = 2
+};
+}
+
+class A {
+public:
+
+ #define FIRST 1
+ #define SECOND 2
+
+ enum {
+ ONE = 1,
+ TWO = 2
+ };
+};
+
+
diff --git a/ThirdParty/toluapp/src/tests/tdirective.lua b/ThirdParty/toluapp/src/tests/tdirective.lua
new file mode 100644
index 0000000..547b150
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tdirective.lua
@@ -0,0 +1,6 @@
+assert(a==3)
+assert(A==4)
+assert(func()==5)
+
+print("Directive test OK")
+
diff --git a/ThirdParty/toluapp/src/tests/tdirective.pkg b/ThirdParty/toluapp/src/tests/tdirective.pkg
new file mode 100644
index 0000000..cc1f84e
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tdirective.pkg
@@ -0,0 +1,28 @@
+$#include "lualib.h"
+$#include "lauxlib.h"
+
+$int a;
+$extern int a;
+
+$int main (void)
+${
+$ lua_State* L = lua_open();
+$ luaopen_base(L);
+$ tolua_tdirective_open(L);
+$ lua_dofile(L,"tdirective.lua");
+$ lua_close(L);
+$ return 0;
+$}
+
+$pfile "tdirectivepkg.pkg"
+
+$<
+ a = 3;
+$>
+
+$[
+A = 4
+$]
+
+$lfile "tdirectivelua.lua"
+
diff --git a/ThirdParty/toluapp/src/tests/tdirectivebind.c b/ThirdParty/toluapp/src/tests/tdirectivebind.c
new file mode 100644
index 0000000..28c1234
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tdirectivebind.c
@@ -0,0 +1,85 @@
+/*
+** Lua binding: tdirective
+** Generated automatically by tolua 5.0a-CDLVS2 on 08/08/03 17:06:24.
+*/
+
+#ifndef __cplusplus
+#include "stdlib.h"
+#endif
+#include "string.h"
+
+#include "tolua.h"
+
+/* Exported function */
+TOLUA_API int tolua_tdirective_open (lua_State* tolua_S);
+
+#include "lualib.h"
+#include "lauxlib.h"
+int a;
+extern int a;
+int main (void)
+{
+ lua_State* L = lua_open();
+ luaopen_base(L);
+ tolua_tdirective_open(L);
+ lua_dofile(L,"tdirective.lua");
+ lua_close(L);
+ return 0;
+}
+
+/* function to register type */
+static void tolua_reg_types (lua_State* tolua_S)
+{
+}
+
+/* get function: a */
+static int tolua_get_a(lua_State* tolua_S)
+{
+ tolua_pushnumber(tolua_S,(double)a);
+ return 1;
+}
+
+/* set function: a */
+static int tolua_set_a(lua_State* tolua_S)
+{
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ a = ((int) tolua_tonumber(tolua_S,2,0));
+ return 0;
+}
+
+/* Open function */
+TOLUA_API int tolua_tdirective_open (lua_State* tolua_S)
+{
+ tolua_open(tolua_S);
+ tolua_reg_types(tolua_S);
+ tolua_module(tolua_S,NULL,1);
+ tolua_beginmodule(tolua_S,NULL);
+ tolua_variable(tolua_S,"a",tolua_get_a,tolua_set_a);
+{
+ a = 3;
+}
+
+ { /* begin embedded lua code */
+ static unsigned char B[] = {
+ 10, 65, 32, 61, 32, 52,32
+ };
+ lua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code");
+ } /* end of embedded lua code */
+
+
+ { /* begin embedded lua code */
+ static unsigned char B[] = {
+ 10,102,117,110, 99,116,105,111,110, 32,102,117,110, 99, 32,
+ 40, 41, 10,114,101,116,117,114,110, 32, 53, 10,101,110,100,
+ 32
+ };
+ lua_dobuffer(tolua_S,(char*)B,sizeof(B),"tolua: embedded Lua code");
+ } /* end of embedded lua code */
+
+ tolua_endmodule(tolua_S);
+ return 1;
+}
diff --git a/ThirdParty/toluapp/src/tests/tdirectivelua.lua b/ThirdParty/toluapp/src/tests/tdirectivelua.lua
new file mode 100644
index 0000000..f7c7c15
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tdirectivelua.lua
@@ -0,0 +1,3 @@
+function func ()
+ return 5
+end
diff --git a/ThirdParty/toluapp/src/tests/tdirectivepkg.pkg b/ThirdParty/toluapp/src/tests/tdirectivepkg.pkg
new file mode 100644
index 0000000..b15a66e
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tdirectivepkg.pkg
@@ -0,0 +1,2 @@
+extern int a;
+
diff --git a/ThirdParty/toluapp/src/tests/tfunction.h b/ThirdParty/toluapp/src/tests/tfunction.h
new file mode 100644
index 0000000..9c69f06
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tfunction.h
@@ -0,0 +1,220 @@
+#ifndef tfunction_h
+#define tfunction_h
+
+#include <stdio.h>
+#include <string.h>
+
+typedef enum {
+ FIRST = 1,
+ SECOND = 2
+} Order;
+
+class Point
+{
+ char m_s[64];
+ float m_x;
+ float m_y;
+
+public:
+
+ enum Error {
+ SUCCESS = 0,
+ ERROR = 1
+ };
+
+ Point (float x=0, float y=0)
+ : m_x(x), m_y(y)
+ {
+ }
+ virtual ~Point ()
+ {
+ }
+
+ void set (float x, float y)
+ {
+ m_x = x, m_y = y;
+ }
+ void set (float v[2]=0)
+ {
+ m_x = v[0], m_y=v[1];
+ }
+ void setpointer (Point* p)
+ {
+ *this = *p;
+ }
+ void setref (Point& p)
+ {
+ *this = p;
+ }
+ void setvalue (Point p)
+ {
+ *this = p;
+ }
+ void setconst (const Point* p)
+ {
+ *this = *p;
+ }
+ void setname (const char* s)
+ {
+ strncpy(m_s,s,63);
+ }
+
+ void get (float* x, float* y) const
+ {
+ *x = m_x, *y = m_y;
+ }
+ void get (float v[2]) const
+ {
+ v[0] = m_x, v[1] = m_y;
+ }
+ Point* getpointer ()
+ {
+ return this;
+ }
+ Point& getref ()
+ {
+ return *this;
+ }
+ Point getvalue ()
+ {
+ return *this;
+ }
+ const Point* getconst () const
+ {
+ return this;
+ }
+ const char* getname () const
+ {
+ return m_s;
+ }
+
+ Point operator+ (const Point& p) const
+ {
+ return Point(m_x+p.m_x,m_y+p.m_y);
+ }
+ Point operator- (const Point& p) const
+ {
+ return Point(m_x-p.m_x,m_y-p.m_y);
+ }
+ Point operator* (const Point& p) const
+ {
+ return Point(m_x*p.m_x,m_y*p.m_y);
+ }
+ Point operator/ (float n) const
+ {
+ return Point(m_x/n,m_y/n);
+ }
+ bool operator< (const Point& p) const
+ {
+ if (m_x < p.m_x) return true;
+ else if (m_x > p.m_x) return false;
+ else return m_y < p.m_y;
+ }
+ bool operator<= (const Point& p) const
+ {
+ return operator<(p) || operator==(p);
+ }
+ bool operator== (const Point& p) const
+ {
+ return m_x==p.m_x && m_y==p.m_y;
+ }
+
+ float operator[] (int i) const
+ {
+ return (i==0) ? m_x : m_y;
+ }
+ float& operator[] (int i)
+ {
+ return (i==0) ? m_x : m_y;
+ }
+
+ static Error echo (Error e)
+ {
+ return e;
+ }
+
+};
+
+
+inline Point add (const Point& p1, const Point& p2)
+{
+ return p1+p2;
+}
+inline Point sub (const Point& p1, const Point& p2)
+{
+ return p1-p2;
+}
+inline Point mult (const Point& p1, const Point& p2)
+{
+ return p1*p2;
+}
+inline Point div (const Point& p1, float n)
+{
+ return p1/n;
+}
+
+inline void getpoint (const Point* p, float* x, float* y)
+{
+ p->get(x,y);
+}
+inline void setpoint (Point* p, float x=0, float y=0)
+{
+ p->set(x,y);
+}
+
+inline Point average (int n, Point v[])
+{
+ Point p(0,0);
+ for (int i=0; i<n; ++i)
+ p = p+v[i];
+ return p/n;
+}
+
+inline Point averagepointer (int n, Point* v[])
+{
+ Point p(0,0);
+ for (int i=0; i<n; ++i)
+ p = p+(*v[i]);
+ return p/n;
+}
+
+inline void copyvector (int n, const Point v[], Point u[])
+{
+ for (int i=0; i<n; ++i)
+ u[i] = v[i];
+}
+
+inline Order invert (Order o)
+{
+ if (o==FIRST)
+ return SECOND;
+ else
+ return FIRST;
+}
+
+
+class ColorPoint : public Point //tolua_export
+{ //tolua_export
+ float r, g, b;
+public:
+
+//tolua_begin
+ ColorPoint (float px, float py, float cr=0.0f, float cg=0.0f, float cb=0.0f)
+ : Point(px,py), r(cr), g(cg), b(cb)
+ {
+ }
+ virtual ~ColorPoint () { }
+
+ virtual void getcolor (float* red, float *green, float *blue) const
+ {
+ *red = r;
+ *green = g;
+ *blue = b;
+ }
+ static ColorPoint* MakeRed (float x, float y)
+ {
+ return new ColorPoint(x,y,1,0,0);
+ }
+};
+//tolua_end
+#endif
diff --git a/ThirdParty/toluapp/src/tests/tfunction.lua b/ThirdParty/toluapp/src/tests/tfunction.lua
new file mode 100644
index 0000000..61f8d99
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tfunction.lua
@@ -0,0 +1,104 @@
+local p = Point:new(1,2)
+local q = Point:new()
+
+local x, y = p:get()
+local c = {}; q:get(c)
+
+assert(x==1 and y==2)
+assert(c[1]==0 and c[2]==0)
+
+q:set(4,5)
+q:setname("mypoint")
+p:setconst(q)
+local r = p:getpointer();
+x,y = r:get()
+assert(x==4 and y==5)
+assert(r:getname()=="mypoint")
+
+local s = Point:new()
+s:setref(r)
+local t = s:getref()
+t:set(5,6) -- t is s
+x,y = s:get()
+assert(x==5 and y==6)
+
+local u = s:getvalue()
+u:set(4,1) -- u represents a copy of s
+x,y = s:get()
+assert(x~=4 and y~=1)
+
+local x1,y1 = getpoint(u)
+local x2,y2 = getpoint(s)
+
+local p1 = alg.add(u,s)
+x,y = p1:get()
+assert(x==x1+x2 and y==y1+y2)
+
+local p2 = alg.sub(u,s)
+x,y = p2:get()
+assert(x==x1-x2 and y==y1-y2)
+
+local p3 = alg.mult(u,s)
+x,y = p3:get()
+assert(x==x1*x2 and y==y1*y2)
+
+local p4 = alg.div(s,2)
+x,y = p4:get()
+assert(x==x2/2 and y==y2/2)
+
+setpoint(p4)
+x,y = p4:get()
+assert(x==0 and y==0)
+
+local cp = ColorPoint:MakeRed(3,4)
+local p = cp+cp
+x,y = p:get()
+assert(x==6 and y==8)
+local q = p-cp
+x,y = q:get()
+assert(x==3 and y==4)
+local r = p/2
+x,y = r:get()
+assert(x==3 and y==4)
+local t = r*cp
+x,y = t:get()
+assert(x==9 and y==16)
+assert(t==r*r)
+-- assert(q==cp) -- the eq does not deal with different metatables
+assert(t~=q)
+assert(q<t)
+assert(q<=t)
+assert(t>q)
+assert(t>=q)
+
+local p = Point:new(1,2)
+assert(p[1]==1 and p[2]==2)
+p[1]=3; p[2] = p[2]+2
+local x, y = p:get()
+assert(x==3 and y==4)
+
+
+local n = 3
+local v = {Point:new(0,1), Point:new(2,3), Point:new(4,5)}
+
+local m = average(n,v)
+local c = averagepointer(n,v)
+local t = {}
+copyvector(n,v,t)
+
+local l = Point:new()
+for i=1,n do
+ assert(v[i]==t[i])
+ l[1] = l[1] + v[i][1]
+ l[2] = l[2] + v[i][2]
+end
+l = l/n
+assert(m==l)
+assert(c==l)
+
+assert(Point.SUCCESS==Point:echo(Point.SUCCESS))
+assert(Point.ERROR==Point:echo(Point.ERROR))
+assert(FIRST==invert(SECOND))
+assert(SECOND==invert(FIRST))
+
+print("Function test OK")
diff --git a/ThirdParty/toluapp/src/tests/tfunction.pkg b/ThirdParty/toluapp/src/tests/tfunction.pkg
new file mode 100644
index 0000000..bae3f43
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tfunction.pkg
@@ -0,0 +1,74 @@
+$#include "tfunction.h"
+
+typedef enum {
+ FIRST = 1,
+ SECOND = 2
+} Order;
+
+class Point
+{
+ enum Error {
+ SUCCESS = 0,
+ ERROR = 1
+ };
+
+ Point (float x=0, float y=0);
+ virtual ~Point ();
+
+ void set (float x, float y);
+ void set (float v[2]=0);
+ void setpointer (Point* p);
+ void setref (Point& p);
+ void setvalue (Point p);
+ void setconst (const Point* p);
+ void setname (const char* s);
+
+ void get (float* x=0, float* y=0) const;
+ void get (float v[2]=0) const;
+ Point* getpointer ();
+ Point& getref ();
+ Point getvalue ();
+ const Point* getconst () const;
+ const char* getname () const;
+
+ Point operator+ (const Point& p) const;
+ Point operator- (const Point& p) const;
+ Point operator* (const Point& p) const;
+ Point operator/ (float n) const;
+ bool operator< (const Point& p) const;
+ bool operator<= (const Point& p) const;
+ bool operator== (const Point& p) const;
+
+ float operator[] (int i) const;
+ float& operator[] (int i);
+
+ static Error echo (Error e);
+};
+
+module alg
+{
+ Point add (const Point& p1, const Point& p2);
+ Point sub (const Point& p1, const Point& p2);
+ Point mult (const Point& p1, const Point& p2);
+ Point div (const Point& p1, float n);
+}
+
+void getpoint (const Point* p, float* x=0, float* y=0);
+void setpoint (Point* p, float x=0, float y=0);
+inline Point average (int n, Point v[n]);
+inline Point averagepointer (int n, Point* v[n]);
+inline void copyvector (int n, const Point v[n], Point u[n]=(u+i));
+
+inline Order invert (Order o);
+
+$cfile "tfunction.h"
+
+/*
+class ColorPoint : public Point
+{
+ ColorPoint (float px, float py, float cr=0.0f, float cg=0.0f, float cb=0.0f);
+ virtual ~ColorPoint ();
+ virtual void getcolor (float* red, float *green, float *blue) const;
+ static const Point* MakeRed (float x, float y);
+};
+*/
diff --git a/ThirdParty/toluapp/src/tests/tmodule.c b/ThirdParty/toluapp/src/tests/tmodule.c
new file mode 100644
index 0000000..1cbfa29
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tmodule.c
@@ -0,0 +1,24 @@
+#include "lualib.h"
+#include "lauxlib.h"
+
+#include "tmodule.h"
+
+int a = 1;
+int b = 2;
+int c = 3;
+int d = 4;
+
+int main ()
+{
+ int tolua_tmodule_open (lua_State*);
+
+ lua_State* L = lua_open();
+ luaopen_base(L);
+ tolua_tmodule_open(L);
+
+ lua_dofile(L,"tmodule.lua");
+
+ lua_close(L);
+ return 0;
+}
+
diff --git a/ThirdParty/toluapp/src/tests/tmodule.h b/ThirdParty/toluapp/src/tests/tmodule.h
new file mode 100644
index 0000000..3766bc4
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tmodule.h
@@ -0,0 +1,7 @@
+#include <stdio.h>
+
+extern int a;
+extern int b;
+extern int c;
+extern int d;
+
diff --git a/ThirdParty/toluapp/src/tests/tmodule.lua b/ThirdParty/toluapp/src/tests/tmodule.lua
new file mode 100644
index 0000000..96ddf43
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tmodule.lua
@@ -0,0 +1,17 @@
+-- test valid access
+assert(A.a==1)
+assert(A.B.b==2)
+assert(A.B.C.c==3)
+
+-- test invalid access
+assert(A.B.a==nil) -- no inheritance
+assert(A.B.C.a==nil)
+
+assert(A.b==nil) -- no access the inner module
+assert(A.c==nil)
+assert(A.B.c==nil)
+
+-- test variables appended to existing modules
+assert(A.d==4)
+
+print("Module test OK")
diff --git a/ThirdParty/toluapp/src/tests/tmodule.pkg b/ThirdParty/toluapp/src/tests/tmodule.pkg
new file mode 100644
index 0000000..43d4306
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tmodule.pkg
@@ -0,0 +1,16 @@
+
+$#include "tmodule.h"
+
+module A {
+ extern int a;
+ module B {
+ extern int b;
+ module C {
+ extern int c;
+ }
+ }
+}
+
+module A {
+ extern int d;
+}
diff --git a/ThirdParty/toluapp/src/tests/tmodulebind.c b/ThirdParty/toluapp/src/tests/tmodulebind.c
new file mode 100644
index 0000000..0175a46
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tmodulebind.c
@@ -0,0 +1,124 @@
+/*
+** Lua binding: tmodule
+** Generated automatically by tolua 5.0a-CDLVS2 on 08/08/03 17:06:13.
+*/
+
+#ifndef __cplusplus
+#include "stdlib.h"
+#endif
+#include "string.h"
+
+#include "tolua.h"
+
+/* Exported function */
+TOLUA_API int tolua_tmodule_open (lua_State* tolua_S);
+
+#include "tmodule.h"
+
+/* function to register type */
+static void tolua_reg_types (lua_State* tolua_S)
+{
+}
+
+/* get function: a */
+static int tolua_get_A_a(lua_State* tolua_S)
+{
+ tolua_pushnumber(tolua_S,(double)a);
+ return 1;
+}
+
+/* set function: a */
+static int tolua_set_A_a(lua_State* tolua_S)
+{
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ a = ((int) tolua_tonumber(tolua_S,2,0));
+ return 0;
+}
+
+/* get function: b */
+static int tolua_get_B_b(lua_State* tolua_S)
+{
+ tolua_pushnumber(tolua_S,(double)b);
+ return 1;
+}
+
+/* set function: b */
+static int tolua_set_B_b(lua_State* tolua_S)
+{
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ b = ((int) tolua_tonumber(tolua_S,2,0));
+ return 0;
+}
+
+/* get function: c */
+static int tolua_get_C_c(lua_State* tolua_S)
+{
+ tolua_pushnumber(tolua_S,(double)c);
+ return 1;
+}
+
+/* set function: c */
+static int tolua_set_C_c(lua_State* tolua_S)
+{
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ c = ((int) tolua_tonumber(tolua_S,2,0));
+ return 0;
+}
+
+/* get function: d */
+static int tolua_get_A_d(lua_State* tolua_S)
+{
+ tolua_pushnumber(tolua_S,(double)d);
+ return 1;
+}
+
+/* set function: d */
+static int tolua_set_A_d(lua_State* tolua_S)
+{
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ d = ((int) tolua_tonumber(tolua_S,2,0));
+ return 0;
+}
+
+/* Open function */
+TOLUA_API int tolua_tmodule_open (lua_State* tolua_S)
+{
+ tolua_open(tolua_S);
+ tolua_reg_types(tolua_S);
+ tolua_module(tolua_S,NULL,0);
+ tolua_beginmodule(tolua_S,NULL);
+ tolua_module(tolua_S,"A",1);
+ tolua_beginmodule(tolua_S,"A");
+ tolua_variable(tolua_S,"a",tolua_get_A_a,tolua_set_A_a);
+ tolua_module(tolua_S,"B",1);
+ tolua_beginmodule(tolua_S,"B");
+ tolua_variable(tolua_S,"b",tolua_get_B_b,tolua_set_B_b);
+ tolua_module(tolua_S,"C",1);
+ tolua_beginmodule(tolua_S,"C");
+ tolua_variable(tolua_S,"c",tolua_get_C_c,tolua_set_C_c);
+ tolua_endmodule(tolua_S);
+ tolua_endmodule(tolua_S);
+ tolua_endmodule(tolua_S);
+ tolua_module(tolua_S,"A",1);
+ tolua_beginmodule(tolua_S,"A");
+ tolua_variable(tolua_S,"d",tolua_get_A_d,tolua_set_A_d);
+ tolua_endmodule(tolua_S);
+ tolua_endmodule(tolua_S);
+ return 1;
+}
diff --git a/ThirdParty/toluapp/src/tests/tnamespace.h b/ThirdParty/toluapp/src/tests/tnamespace.h
new file mode 100644
index 0000000..8c15e41
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tnamespace.h
@@ -0,0 +1,11 @@
+namespace A {
+ enum {FIRST=1};
+ extern int a;
+ namespace B {
+ extern int b;
+ namespace C {
+ extern int c;
+ }
+ }
+}
+
diff --git a/ThirdParty/toluapp/src/tests/tnamespace.lua b/ThirdParty/toluapp/src/tests/tnamespace.lua
new file mode 100644
index 0000000..3a51dfb
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tnamespace.lua
@@ -0,0 +1,14 @@
+-- test valid access
+assert(A.a==1)
+assert(A.B.b==2)
+assert(A.B.C.c==3)
+
+-- test invalid access
+assert(A.B.a==nil) -- no inheritance
+assert(A.B.C.a==nil)
+
+assert(A.b==nil) -- no access the inner module
+assert(A.c==nil)
+assert(A.B.c==nil)
+
+print("Namespace test OK")
diff --git a/ThirdParty/toluapp/src/tests/tnamespace.pkg b/ThirdParty/toluapp/src/tests/tnamespace.pkg
new file mode 100644
index 0000000..0b58366
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tnamespace.pkg
@@ -0,0 +1,13 @@
+
+$#include "tnamespace.h"
+
+namespace A {
+ int a;
+ namespace B {
+ int b;
+ namespace C {
+ int c;
+ }
+ }
+}
+
diff --git a/ThirdParty/toluapp/src/tests/tvariable.c b/ThirdParty/toluapp/src/tests/tvariable.c
new file mode 100644
index 0000000..25e788e
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tvariable.c
@@ -0,0 +1,46 @@
+#include "lualib.h"
+#include "lauxlib.h"
+
+#include "tvariable.h"
+
+int i = 1;
+float f = 2.0f;;
+double d = 3.0;
+char* s = "Hello world";
+void* v = (void*)1;
+char n[64] = "Hi there";
+
+A a = {11,12.0f,13.0,"Hello world from class",(void*)1,"Hi there from class"};
+B* b;
+U u;
+
+int mi = 21;
+float mf = 22.0f;
+double md = 23.0;
+char* ms = "Hello world in module";
+void* mv = NULL;
+char mn[64] = "Hi there in module";
+A ma = {31,32.0f,33.0,"Hello world from class in module",
+ NULL,"Hi there from class in module"};
+B* mb;
+
+int main (void)
+{
+ int tolua_tvariable_open (lua_State*);
+ lua_State* L = lua_open();
+
+ B bb = {a,NULL};
+ B bbb = {ma,&bb};
+ b = &bb;
+ mb = &bbb;
+
+
+ luaopen_base(L);
+ tolua_tvariable_open(L);
+
+ lua_dofile(L,"tvariable.lua");
+
+ lua_close(L);
+ return 0;
+}
+
diff --git a/ThirdParty/toluapp/src/tests/tvariable.h b/ThirdParty/toluapp/src/tests/tvariable.h
new file mode 100644
index 0000000..6363c48
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tvariable.h
@@ -0,0 +1,44 @@
+typedef struct A A;
+typedef struct B B;
+typedef union U U;
+
+struct A
+{
+ int i;
+ float f;
+ double d;
+ char* s;
+ void* v;
+ char n[64];
+};
+
+union U
+{
+ int i;
+ float f;
+};
+
+struct B
+{
+ A a;
+ B* b;
+};
+
+extern int i;
+extern float f;
+extern double d;
+extern char* s;
+extern void* v;
+extern char n[64];
+extern A a;
+extern B* b;
+extern U u;
+
+extern int mi;
+extern float mf;
+extern double md;
+extern char* ms;
+extern void* mv;
+extern char mn[64];
+extern A ma;
+extern B* mb;
diff --git a/ThirdParty/toluapp/src/tests/tvariable.lua b/ThirdParty/toluapp/src/tests/tvariable.lua
new file mode 100644
index 0000000..3db9029
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tvariable.lua
@@ -0,0 +1,73 @@
+assert(i==1)
+assert(f==2)
+assert(d==3)
+assert(s=="Hello world")
+assert(n=="Hi there")
+n = "Hello"
+assert(n=="Hello")
+
+assert(a.i==11)
+assert(a.f==12)
+assert(a.d==13)
+assert(a.s=="Hello world from class")
+assert(a.n=="Hi there from class")
+a.n = "Hello from class"
+assert(a.n=="Hello from class")
+
+assert(v==a.v)
+
+u.i = 2
+assert(u.i==2)
+u.f = 2
+assert(u.f==2)
+assert(u.i~=2)
+
+assert(M.mi==21)
+assert(M.mf==22)
+assert(M.md==23)
+assert(M.ms=="Hello world in module")
+assert(M.mn=="Hi there in module")
+M.mn = "Hello in module"
+assert(M.mn=="Hello in module")
+assert(M.mv==nil)
+
+assert(M.ma.i==31)
+assert(M.ma.f==32)
+assert(M.ma.d==33)
+assert(M.ma.s=="Hello world from class in module")
+assert(M.ma.n=="Hi there from class in module")
+M.ma.n = "Hello from class in module"
+assert(M.ma.n=="Hello from class in module")
+assert(M.ma.v==nil)
+
+assert(a.i==b.a.i)
+assert(a.f==b.a.f)
+assert(a.d==b.a.d)
+assert(a.s==b.a.s)
+assert(a.v==b.a.v)
+assert(b.b==nil)
+
+assert(M.ma.i==M.mb.a.i)
+assert(M.ma.f==M.mb.a.f)
+assert(M.ma.d==M.mb.a.d)
+assert(M.ma.s==M.mb.a.s)
+assert(M.ma.v==M.mb.a.v)
+
+assert(a.i==M.mb.b.a.i)
+assert(a.f==M.mb.b.a.f)
+assert(a.d==M.mb.b.a.d)
+assert(a.s==M.mb.b.a.s)
+assert(a.v==M.mb.b.a.v)
+assert(M.mb.b.b==nil)
+
+assert(s~=rawget(_G,"s")) -- because s represents a C variable
+s = "Hello"
+assert(s==rawget(_G,"s")) -- because s is mapped as const
+
+f = 25.0
+assert(f~=rawget(_G,"f")) -- because f represents a C variable
+
+b.a.i = 5
+assert(b.a.i==M.mb.b.a.i)
+
+print("Variable test OK")
diff --git a/ThirdParty/toluapp/src/tests/tvariable.pkg b/ThirdParty/toluapp/src/tests/tvariable.pkg
new file mode 100644
index 0000000..a8a1539
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tvariable.pkg
@@ -0,0 +1,45 @@
+$#include "tvariable.h"
+
+struct A
+{
+ int i;
+ float f;
+ double d;
+ char* s;
+ void* v;
+ char n[64];
+};
+
+struct B
+{
+ A a;
+ B* b;
+};
+
+union U
+{
+ int i;
+ float f;
+};
+
+extern int i;
+extern float f;
+extern double d;
+extern const char* s;
+extern void* v;
+extern char n[64];
+extern A a;
+extern B* b;
+extern U u;
+
+module M {
+extern int mi;
+extern float mf;
+extern double md;
+extern const char* ms;
+extern void* mv;
+extern const char mn[64];
+extern A a;
+extern A ma;
+extern B* mb;
+}
diff --git a/ThirdParty/toluapp/src/tests/tvariablebind.c b/ThirdParty/toluapp/src/tests/tvariablebind.c
new file mode 100644
index 0000000..9a50e36
--- /dev/null
+++ b/ThirdParty/toluapp/src/tests/tvariablebind.c
@@ -0,0 +1,631 @@
+/*
+** Lua binding: tvariable
+** Generated automatically by tolua 5.0a-CDLVS2 on 08/08/03 17:06:18.
+*/
+
+#ifndef __cplusplus
+#include "stdlib.h"
+#endif
+#include "string.h"
+
+#include "tolua.h"
+
+/* Exported function */
+TOLUA_API int tolua_tvariable_open (lua_State* tolua_S);
+
+#include "tvariable.h"
+
+/* function to register type */
+static void tolua_reg_types (lua_State* tolua_S)
+{
+ tolua_usertype(tolua_S,"A");
+ tolua_usertype(tolua_S,"U");
+ tolua_usertype(tolua_S,"B");
+}
+
+/* get function: i of class A */
+static int tolua_get_A_i(lua_State* tolua_S)
+{
+ A* self = (A*) tolua_tousertype(tolua_S,1,0);
+#ifndef TOLUA_RELEASE
+ if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'i'",NULL);
+#endif
+ tolua_pushnumber(tolua_S,(double)self->i);
+ return 1;
+}
+
+/* set function: i of class A */
+static int tolua_set_A_i(lua_State* tolua_S)
+{
+ A* self = (A*) tolua_tousertype(tolua_S,1,0);
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'i'",NULL);
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ self->i = ((int) tolua_tonumber(tolua_S,2,0));
+ return 0;
+}
+
+/* get function: f of class A */
+static int tolua_get_A_f(lua_State* tolua_S)
+{
+ A* self = (A*) tolua_tousertype(tolua_S,1,0);
+#ifndef TOLUA_RELEASE
+ if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'f'",NULL);
+#endif
+ tolua_pushnumber(tolua_S,(double)self->f);
+ return 1;
+}
+
+/* set function: f of class A */
+static int tolua_set_A_f(lua_State* tolua_S)
+{
+ A* self = (A*) tolua_tousertype(tolua_S,1,0);
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'f'",NULL);
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ self->f = ((float) tolua_tonumber(tolua_S,2,0));
+ return 0;
+}
+
+/* get function: d of class A */
+static int tolua_get_A_d(lua_State* tolua_S)
+{
+ A* self = (A*) tolua_tousertype(tolua_S,1,0);
+#ifndef TOLUA_RELEASE
+ if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'd'",NULL);
+#endif
+ tolua_pushnumber(tolua_S,(double)self->d);
+ return 1;
+}
+
+/* set function: d of class A */
+static int tolua_set_A_d(lua_State* tolua_S)
+{
+ A* self = (A*) tolua_tousertype(tolua_S,1,0);
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'd'",NULL);
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ self->d = ((double) tolua_tonumber(tolua_S,2,0));
+ return 0;
+}
+
+/* get function: s of class A */
+static int tolua_get_A_s(lua_State* tolua_S)
+{
+ A* self = (A*) tolua_tousertype(tolua_S,1,0);
+#ifndef TOLUA_RELEASE
+ if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 's'",NULL);
+#endif
+ tolua_pushstring(tolua_S,(const char*)self->s);
+ return 1;
+}
+
+/* set function: s of class A */
+static int tolua_set_A_s(lua_State* tolua_S)
+{
+ A* self = (A*) tolua_tousertype(tolua_S,1,0);
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 's'",NULL);
+ if (!tolua_isstring(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ self->s = ((char*) tolua_tostring(tolua_S,2,0));
+ return 0;
+}
+
+/* get function: v of class A */
+static int tolua_get_A_v(lua_State* tolua_S)
+{
+ A* self = (A*) tolua_tousertype(tolua_S,1,0);
+#ifndef TOLUA_RELEASE
+ if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'v'",NULL);
+#endif
+ tolua_pushuserdata(tolua_S,(void*)self->v);
+ return 1;
+}
+
+/* set function: v of class A */
+static int tolua_set_A_v(lua_State* tolua_S)
+{
+ A* self = (A*) tolua_tousertype(tolua_S,1,0);
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'v'",NULL);
+ if (!tolua_isuserdata(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ self->v = ((void*) tolua_touserdata(tolua_S,2,0));
+ return 0;
+}
+
+/* get function: n of class A */
+static int tolua_get_A_n(lua_State* tolua_S)
+{
+ A* self = (A*) tolua_tousertype(tolua_S,1,0);
+#ifndef TOLUA_RELEASE
+ if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'n'",NULL);
+#endif
+ tolua_pushstring(tolua_S,(const char*)self->n);
+ return 1;
+}
+
+/* set function: n of class A */
+static int tolua_set_A_n(lua_State* tolua_S)
+{
+ A* self = (A*) tolua_tousertype(tolua_S,1,0);
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'n'",NULL);
+ if (!tolua_isstring(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ strncpy(self->n,tolua_tostring(tolua_S,2,0),64-1);
+ return 0;
+}
+
+/* get function: a of class B */
+static int tolua_get_B_a(lua_State* tolua_S)
+{
+ B* self = (B*) tolua_tousertype(tolua_S,1,0);
+#ifndef TOLUA_RELEASE
+ if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'a'",NULL);
+#endif
+ tolua_pushusertype(tolua_S,(void*)&self->a,"A");
+ return 1;
+}
+
+/* set function: a of class B */
+static int tolua_set_B_a(lua_State* tolua_S)
+{
+ B* self = (B*) tolua_tousertype(tolua_S,1,0);
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'a'",NULL);
+ if (!tolua_isusertype(tolua_S,2,"A",0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ self->a = *((A*) tolua_tousertype(tolua_S,2,0));
+ return 0;
+}
+
+/* get function: b of class B */
+static int tolua_get_B_b_ptr(lua_State* tolua_S)
+{
+ B* self = (B*) tolua_tousertype(tolua_S,1,0);
+#ifndef TOLUA_RELEASE
+ if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'b'",NULL);
+#endif
+ tolua_pushusertype(tolua_S,(void*)self->b,"B");
+ return 1;
+}
+
+/* set function: b of class B */
+static int tolua_set_B_b_ptr(lua_State* tolua_S)
+{
+ B* self = (B*) tolua_tousertype(tolua_S,1,0);
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'b'",NULL);
+ if (!tolua_isusertype(tolua_S,2,"B",0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ self->b = ((B*) tolua_tousertype(tolua_S,2,0));
+ return 0;
+}
+
+/* get function: i of class U */
+static int tolua_get_U_i(lua_State* tolua_S)
+{
+ U* self = (U*) tolua_tousertype(tolua_S,1,0);
+#ifndef TOLUA_RELEASE
+ if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'i'",NULL);
+#endif
+ tolua_pushnumber(tolua_S,(double)self->i);
+ return 1;
+}
+
+/* set function: i of class U */
+static int tolua_set_U_i(lua_State* tolua_S)
+{
+ U* self = (U*) tolua_tousertype(tolua_S,1,0);
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'i'",NULL);
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ self->i = ((int) tolua_tonumber(tolua_S,2,0));
+ return 0;
+}
+
+/* get function: f of class U */
+static int tolua_get_U_f(lua_State* tolua_S)
+{
+ U* self = (U*) tolua_tousertype(tolua_S,1,0);
+#ifndef TOLUA_RELEASE
+ if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'f'",NULL);
+#endif
+ tolua_pushnumber(tolua_S,(double)self->f);
+ return 1;
+}
+
+/* set function: f of class U */
+static int tolua_set_U_f(lua_State* tolua_S)
+{
+ U* self = (U*) tolua_tousertype(tolua_S,1,0);
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!self) tolua_error(tolua_S,"invalid 'self' in accessing variable 'f'",NULL);
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ self->f = ((float) tolua_tonumber(tolua_S,2,0));
+ return 0;
+}
+
+/* get function: i */
+static int tolua_get_i(lua_State* tolua_S)
+{
+ tolua_pushnumber(tolua_S,(double)i);
+ return 1;
+}
+
+/* set function: i */
+static int tolua_set_i(lua_State* tolua_S)
+{
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ i = ((int) tolua_tonumber(tolua_S,2,0));
+ return 0;
+}
+
+/* get function: f */
+static int tolua_get_f(lua_State* tolua_S)
+{
+ tolua_pushnumber(tolua_S,(double)f);
+ return 1;
+}
+
+/* set function: f */
+static int tolua_set_f(lua_State* tolua_S)
+{
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ f = ((float) tolua_tonumber(tolua_S,2,0));
+ return 0;
+}
+
+/* get function: d */
+static int tolua_get_d(lua_State* tolua_S)
+{
+ tolua_pushnumber(tolua_S,(double)d);
+ return 1;
+}
+
+/* set function: d */
+static int tolua_set_d(lua_State* tolua_S)
+{
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ d = ((double) tolua_tonumber(tolua_S,2,0));
+ return 0;
+}
+
+/* get function: s */
+static int tolua_get_s(lua_State* tolua_S)
+{
+ tolua_pushstring(tolua_S,(const char*)s);
+ return 1;
+}
+
+/* get function: v */
+static int tolua_get_v(lua_State* tolua_S)
+{
+ tolua_pushuserdata(tolua_S,(void*)v);
+ return 1;
+}
+
+/* set function: v */
+static int tolua_set_v(lua_State* tolua_S)
+{
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!tolua_isuserdata(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ v = ((void*) tolua_touserdata(tolua_S,2,0));
+ return 0;
+}
+
+/* get function: n */
+static int tolua_get_n(lua_State* tolua_S)
+{
+ tolua_pushstring(tolua_S,(const char*)n);
+ return 1;
+}
+
+/* set function: n */
+static int tolua_set_n(lua_State* tolua_S)
+{
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!tolua_isstring(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ strncpy(n,tolua_tostring(tolua_S,2,0),64-1);
+ return 0;
+}
+
+/* get function: a */
+static int tolua_get_a(lua_State* tolua_S)
+{
+ tolua_pushusertype(tolua_S,(void*)&a,"A");
+ return 1;
+}
+
+/* set function: a */
+static int tolua_set_a(lua_State* tolua_S)
+{
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!tolua_isusertype(tolua_S,2,"A",0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ a = *((A*) tolua_tousertype(tolua_S,2,0));
+ return 0;
+}
+
+/* get function: b */
+static int tolua_get_b_ptr(lua_State* tolua_S)
+{
+ tolua_pushusertype(tolua_S,(void*)b,"B");
+ return 1;
+}
+
+/* set function: b */
+static int tolua_set_b_ptr(lua_State* tolua_S)
+{
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!tolua_isusertype(tolua_S,2,"B",0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ b = ((B*) tolua_tousertype(tolua_S,2,0));
+ return 0;
+}
+
+/* get function: u */
+static int tolua_get_u(lua_State* tolua_S)
+{
+ tolua_pushusertype(tolua_S,(void*)&u,"U");
+ return 1;
+}
+
+/* set function: u */
+static int tolua_set_u(lua_State* tolua_S)
+{
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!tolua_isusertype(tolua_S,2,"U",0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ u = *((U*) tolua_tousertype(tolua_S,2,0));
+ return 0;
+}
+
+/* get function: mi */
+static int tolua_get_M_mi(lua_State* tolua_S)
+{
+ tolua_pushnumber(tolua_S,(double)mi);
+ return 1;
+}
+
+/* set function: mi */
+static int tolua_set_M_mi(lua_State* tolua_S)
+{
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ mi = ((int) tolua_tonumber(tolua_S,2,0));
+ return 0;
+}
+
+/* get function: mf */
+static int tolua_get_M_mf(lua_State* tolua_S)
+{
+ tolua_pushnumber(tolua_S,(double)mf);
+ return 1;
+}
+
+/* set function: mf */
+static int tolua_set_M_mf(lua_State* tolua_S)
+{
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ mf = ((float) tolua_tonumber(tolua_S,2,0));
+ return 0;
+}
+
+/* get function: md */
+static int tolua_get_M_md(lua_State* tolua_S)
+{
+ tolua_pushnumber(tolua_S,(double)md);
+ return 1;
+}
+
+/* set function: md */
+static int tolua_set_M_md(lua_State* tolua_S)
+{
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!tolua_isnumber(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ md = ((double) tolua_tonumber(tolua_S,2,0));
+ return 0;
+}
+
+/* get function: ms */
+static int tolua_get_M_ms(lua_State* tolua_S)
+{
+ tolua_pushstring(tolua_S,(const char*)ms);
+ return 1;
+}
+
+/* get function: mv */
+static int tolua_get_M_mv(lua_State* tolua_S)
+{
+ tolua_pushuserdata(tolua_S,(void*)mv);
+ return 1;
+}
+
+/* set function: mv */
+static int tolua_set_M_mv(lua_State* tolua_S)
+{
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!tolua_isuserdata(tolua_S,2,0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ mv = ((void*) tolua_touserdata(tolua_S,2,0));
+ return 0;
+}
+
+/* get function: mn */
+static int tolua_get_M_mn(lua_State* tolua_S)
+{
+ tolua_pushstring(tolua_S,(const char*)mn);
+ return 1;
+}
+
+/* get function: a */
+static int tolua_get_M_a(lua_State* tolua_S)
+{
+ tolua_pushusertype(tolua_S,(void*)&a,"A");
+ return 1;
+}
+
+/* set function: a */
+static int tolua_set_M_a(lua_State* tolua_S)
+{
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!tolua_isusertype(tolua_S,2,"A",0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ a = *((A*) tolua_tousertype(tolua_S,2,0));
+ return 0;
+}
+
+/* get function: ma */
+static int tolua_get_M_ma(lua_State* tolua_S)
+{
+ tolua_pushusertype(tolua_S,(void*)&ma,"A");
+ return 1;
+}
+
+/* set function: ma */
+static int tolua_set_M_ma(lua_State* tolua_S)
+{
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!tolua_isusertype(tolua_S,2,"A",0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ ma = *((A*) tolua_tousertype(tolua_S,2,0));
+ return 0;
+}
+
+/* get function: mb */
+static int tolua_get_M_mb_ptr(lua_State* tolua_S)
+{
+ tolua_pushusertype(tolua_S,(void*)mb,"B");
+ return 1;
+}
+
+/* set function: mb */
+static int tolua_set_M_mb_ptr(lua_State* tolua_S)
+{
+#ifndef TOLUA_RELEASE
+ tolua_Error tolua_err;
+ if (!tolua_isusertype(tolua_S,2,"B",0,&tolua_err))
+ tolua_error(tolua_S,"#vinvalid type in variable assignment.",&tolua_err);
+#endif
+ mb = ((B*) tolua_tousertype(tolua_S,2,0));
+ return 0;
+}
+
+/* Open function */
+TOLUA_API int tolua_tvariable_open (lua_State* tolua_S)
+{
+ tolua_open(tolua_S);
+ tolua_reg_types(tolua_S);
+ tolua_module(tolua_S,NULL,1);
+ tolua_beginmodule(tolua_S,NULL);
+ tolua_cclass(tolua_S,"A","A","",NULL);
+ tolua_beginmodule(tolua_S,"A");
+ tolua_variable(tolua_S,"i",tolua_get_A_i,tolua_set_A_i);
+ tolua_variable(tolua_S,"f",tolua_get_A_f,tolua_set_A_f);
+ tolua_variable(tolua_S,"d",tolua_get_A_d,tolua_set_A_d);
+ tolua_variable(tolua_S,"s",tolua_get_A_s,tolua_set_A_s);
+ tolua_variable(tolua_S,"v",tolua_get_A_v,tolua_set_A_v);
+ tolua_variable(tolua_S,"n",tolua_get_A_n,tolua_set_A_n);
+ tolua_endmodule(tolua_S);
+ tolua_cclass(tolua_S,"B","B","",NULL);
+ tolua_beginmodule(tolua_S,"B");
+ tolua_variable(tolua_S,"a",tolua_get_B_a,tolua_set_B_a);
+ tolua_variable(tolua_S,"b",tolua_get_B_b_ptr,tolua_set_B_b_ptr);
+ tolua_endmodule(tolua_S);
+ tolua_cclass(tolua_S,"U","U","",NULL);
+ tolua_beginmodule(tolua_S,"U");
+ tolua_variable(tolua_S,"i",tolua_get_U_i,tolua_set_U_i);
+ tolua_variable(tolua_S,"f",tolua_get_U_f,tolua_set_U_f);
+ tolua_endmodule(tolua_S);
+ tolua_variable(tolua_S,"i",tolua_get_i,tolua_set_i);
+ tolua_variable(tolua_S,"f",tolua_get_f,tolua_set_f);
+ tolua_variable(tolua_S,"d",tolua_get_d,tolua_set_d);
+ tolua_variable(tolua_S,"s",tolua_get_s,NULL);
+ tolua_variable(tolua_S,"v",tolua_get_v,tolua_set_v);
+ tolua_variable(tolua_S,"n",tolua_get_n,tolua_set_n);
+ tolua_variable(tolua_S,"a",tolua_get_a,tolua_set_a);
+ tolua_variable(tolua_S,"b",tolua_get_b_ptr,tolua_set_b_ptr);
+ tolua_variable(tolua_S,"u",tolua_get_u,tolua_set_u);
+ tolua_module(tolua_S,"M",1);
+ tolua_beginmodule(tolua_S,"M");
+ tolua_variable(tolua_S,"mi",tolua_get_M_mi,tolua_set_M_mi);
+ tolua_variable(tolua_S,"mf",tolua_get_M_mf,tolua_set_M_mf);
+ tolua_variable(tolua_S,"md",tolua_get_M_md,tolua_set_M_md);
+ tolua_variable(tolua_S,"ms",tolua_get_M_ms,NULL);
+ tolua_variable(tolua_S,"mv",tolua_get_M_mv,tolua_set_M_mv);
+ tolua_variable(tolua_S,"mn",tolua_get_M_mn,NULL);
+ tolua_variable(tolua_S,"a",tolua_get_M_a,tolua_set_M_a);
+ tolua_variable(tolua_S,"ma",tolua_get_M_ma,tolua_set_M_ma);
+ tolua_variable(tolua_S,"mb",tolua_get_M_mb_ptr,tolua_set_M_mb_ptr);
+ tolua_endmodule(tolua_S);
+ tolua_endmodule(tolua_S);
+ return 1;
+}
diff --git a/ThirdParty/toluapp/win32/vc7/toluapp.sln b/ThirdParty/toluapp/win32/vc7/toluapp.sln
new file mode 100644
index 0000000..6673896
--- /dev/null
+++ b/ThirdParty/toluapp/win32/vc7/toluapp.sln
@@ -0,0 +1,27 @@
+Microsoft Visual Studio Solution File, Format Version 8.00
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "toluapp", "toluapp.vcproj", "{71891C1A-E328-4258-AC3F-6F9698C6D8B4}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfiguration) = preSolution
+ withLua50_Debug = withLua50_Debug
+ withLua50_Release = withLua50_Release
+ withLua51_Debug = withLua51_Debug
+ withLua51_Release = withLua51_Release
+ EndGlobalSection
+ GlobalSection(ProjectConfiguration) = postSolution
+ {71891C1A-E328-4258-AC3F-6F9698C6D8B4}.withLua50_Debug.ActiveCfg = withLua51_Release|Win32
+ {71891C1A-E328-4258-AC3F-6F9698C6D8B4}.withLua50_Debug.Build.0 = withLua51_Release|Win32
+ {71891C1A-E328-4258-AC3F-6F9698C6D8B4}.withLua50_Release.ActiveCfg = withLua50_Release|Win32
+ {71891C1A-E328-4258-AC3F-6F9698C6D8B4}.withLua50_Release.Build.0 = withLua50_Release|Win32
+ {71891C1A-E328-4258-AC3F-6F9698C6D8B4}.withLua51_Debug.ActiveCfg = withLua51_Debug|Win32
+ {71891C1A-E328-4258-AC3F-6F9698C6D8B4}.withLua51_Debug.Build.0 = withLua51_Debug|Win32
+ {71891C1A-E328-4258-AC3F-6F9698C6D8B4}.withLua51_Release.ActiveCfg = withLua51_Release|Win32
+ {71891C1A-E328-4258-AC3F-6F9698C6D8B4}.withLua51_Release.Build.0 = withLua51_Release|Win32
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddIns) = postSolution
+ EndGlobalSection
+EndGlobal
diff --git a/ThirdParty/toluapp/win32/vc7/toluapp.vcproj b/ThirdParty/toluapp/win32/vc7/toluapp.vcproj
new file mode 100644
index 0000000..900a73d
--- /dev/null
+++ b/ThirdParty/toluapp/win32/vc7/toluapp.vcproj
@@ -0,0 +1,259 @@
+<?xml version="1.0" encoding="shift_jis"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="toluapp"
+ ProjectGUID="{71891C1A-E328-4258-AC3F-6F9698C6D8B4}"
+ Keyword="Win32Proj">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="withLua50_Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="&quot;..\..\include&quot;"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="TRUE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="5"
+ UsePrecompiledHeader="2"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="4"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="lua50.lib"
+ OutputFile="..\..\bin\tolua++_d.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile="$(OutDir)/tolua++.pdb"
+ SubSystem="1"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="withLua50_Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..\..\include&quot;"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="4"
+ UsePrecompiledHeader="2"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="3"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="lua50.lib"
+ OutputFile="..\..\bin\tolua++.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="TRUE"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="withLua51_Debug|Win32"
+ OutputDirectory="$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="&quot;..\..\include&quot;"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="TRUE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="5"
+ UsePrecompiledHeader="2"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="4"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="Lua5.1.lib"
+ OutputFile="..\..\bin\tolua++_d.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile="$(OutDir)/tolua++.pdb"
+ SubSystem="1"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="withLua51_Release|Win32"
+ OutputDirectory="$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..\..\include&quot;"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="4"
+ UsePrecompiledHeader="2"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="3"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="lua5.1.lib"
+ OutputFile="..\..\bin\tolua++.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\lib"
+ GenerateDebugInformation="TRUE"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="ソース ファイル"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+ <File
+ RelativePath="..\..\src\bin\tolua.c">
+ </File>
+ <File
+ RelativePath="..\..\src\lib\tolua_event.c">
+ </File>
+ <File
+ RelativePath="..\..\src\lib\tolua_event.h">
+ </File>
+ <File
+ RelativePath="..\..\src\lib\tolua_is.c">
+ </File>
+ <File
+ RelativePath="..\..\src\lib\tolua_map.c">
+ </File>
+ <File
+ RelativePath="..\..\src\lib\tolua_push.c">
+ </File>
+ <File
+ RelativePath="..\..\src\lib\tolua_to.c">
+ </File>
+ <File
+ RelativePath="..\..\src\bin\toluabind.c">
+ </File>
+ </Filter>
+ <Filter
+ Name="ヘッダー ファイル"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+ </Filter>
+ <Filter
+ Name="リソース ファイル"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>