summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorLua Team <team@lua.org>1997-07-01 12:00:00 +0000
committerrepogen <>1997-07-01 12:00:00 +0000
commit4f8c5d0f284e1f4da717aea5008915f185cd2e05 (patch)
tree5671acf8a2cacf0c0524ce96d22959590a3aa5af /doc
parent47a298a24ad3a8202440051de5938618502302a0 (diff)
downloadlua-github-3.0.tar.gz
Lua 3.03.0
Diffstat (limited to 'doc')
-rw-r--r--doc/Makefile23
-rw-r--r--doc/idx.html241
-rw-r--r--doc/index.html85
-rw-r--r--doc/luac.html88
-rw-r--r--doc/luac.man75
-rw-r--r--doc/luac.ps246
-rw-r--r--doc/luac.txt66
-rw-r--r--doc/manual.html2545
-rw-r--r--doc/refman.ps7807
9 files changed, 2959 insertions, 8217 deletions
diff --git a/doc/Makefile b/doc/Makefile
deleted file mode 100644
index b7eab0c6..00000000
--- a/doc/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-# makefile for lua distribution
-
-all:
- rm -f manual.id
- touch manual.id
- latex manual.tex
- latex manual.tex
- makeindex manual
- sort -df manual.idx | sed -e 's/_/\\_/g' >manual.id
- latex manual.tex
- dvips -o manual.ps manual.dvi
- gzip manual.ps
- mv manual.ps.gz refman.ps.gz
- rm -f manual.*
-
-clean:
- rm -f manual.tex
-
-co:
- co -f -M manual.tex luac.man
-
-klean: clean
- rm -f manual.tex manual.ps manual.dvi
diff --git a/doc/idx.html b/doc/idx.html
new file mode 100644
index 00000000..26fb74b2
--- /dev/null
+++ b/doc/idx.html
@@ -0,0 +1,241 @@
+<HTML>
+<HEAD>
+<TITLE>Lua 3.0 Reference Manual - Word Index</TITLE>
+</HEAD>
+
+<BODY>
+
+<H1>Index</H1>
+
+<A HREF="manual.html#..">..</A><BR>
+<A HREF="manual.html#abs">abs</A><BR>
+<A HREF="manual.html#acos">acos</A><BR>
+<A HREF="manual.html#add event">add event</A><BR>
+<A HREF="manual.html#Adjustment">Adjustment</A><BR>
+<A HREF="manual.html#and">and</A><BR>
+<A HREF="manual.html#appendto">appendto</A><BR>
+<A HREF="manual.html#arg">arg</A><BR>
+<A HREF="manual.html#arguments">arguments</A><BR>
+<A HREF="manual.html#arithmetic operators">arithmetic operators</A><BR>
+<A HREF="manual.html#arrays">arrays</A><BR>
+<A HREF="manual.html#ascii">ascii</A><BR>
+<A HREF="manual.html#asin">asin</A><BR>
+<A HREF="manual.html#assert">assert</A><BR>
+<A HREF="manual.html#Assignment">Assignment</A><BR>
+<A HREF="manual.html#associative arrays">associative arrays</A><BR>
+<A HREF="manual.html#atan2">atan2</A><BR>
+<A HREF="manual.html#atan">atan</A><BR>
+<A HREF="manual.html#basic types">basic types</A><BR>
+<A HREF="manual.html#block">block</A><BR>
+<A HREF="manual.html#C pointers">C pointers</A><BR>
+<A HREF="manual.html#C2lua">C2lua</A><BR>
+<A HREF="manual.html#call">call</A><BR>
+<A HREF="manual.html#captures">captures</A><BR>
+<A HREF="manual.html#ceil">ceil</A><BR>
+<A HREF="manual.html#character class">character class</A><BR>
+<A HREF="manual.html#chunk">chunk</A><BR>
+<A HREF="manual.html#closing a file">closing a file</A><BR>
+<A HREF="manual.html#Coercion">Coercion</A><BR>
+<A HREF="manual.html#collectgarbage">collectgarbage</A><BR>
+<A HREF="manual.html#Comments">Comments</A><BR>
+<A HREF="manual.html#concatenation event">concatenation event</A><BR>
+<A HREF="manual.html#concatenation">concatenation</A><BR>
+<A HREF="manual.html#condition expression">condition expression</A><BR>
+<A HREF="manual.html#constructors">constructors</A><BR>
+<A HREF="manual.html#cos">cos</A><BR>
+<A HREF="manual.html#date">date</A><BR>
+<A HREF="manual.html#debug pragma">debug pragma</A><BR>
+<A HREF="manual.html#div event">div event</A><BR>
+<A HREF="manual.html#dofile">dofile</A><BR>
+<A HREF="manual.html#dostring">dostring</A><BR>
+<A HREF="manual.html#error method">error method</A><BR>
+<A HREF="manual.html#error">error</A><BR>
+<A HREF="manual.html#event">event</A><BR>
+<A HREF="manual.html#execute">execute</A><BR>
+<A HREF="manual.html#exit">exit</A><BR>
+<A HREF="manual.html#exponentiation">exponentiation</A><BR>
+<A HREF="manual.html#Expressions">Expressions</A><BR>
+<A HREF="manual.html#file handles">file handles</A><BR>
+<A HREF="manual.html#floor">floor</A><BR>
+<A HREF="manual.html#format">format</A><BR>
+<A HREF="manual.html#function call">function call</A><BR>
+<A HREF="manual.html#Function Definitions">Function Definitions</A><BR>
+<A HREF="manual.html#function event">function event</A><BR>
+<A HREF="manual.html#function">function</A><BR>
+<A HREF="manual.html#gc event">gc event</A><BR>
+<A HREF="manual.html#ge event">ge event</A><BR>
+<A HREF="manual.html#getenv">getenv</A><BR>
+<A HREF="manual.html#getglobal event">getglobal event</A><BR>
+<A HREF="manual.html#getglobal">getglobal</A><BR>
+<A HREF="manual.html#gettable event">gettable event</A><BR>
+<A HREF="manual.html#gettagmethod">gettagmethod</A><BR>
+<A HREF="manual.html#gettagmethod">gettagmethod</A><BR>
+<A HREF="manual.html#global environment">global environment</A><BR>
+<A HREF="manual.html#Global variables">Global variables</A><BR>
+<A HREF="manual.html#gsub">gsub</A><BR>
+<A HREF="manual.html#gt event">gt event</A><BR>
+<A HREF="manual.html#Identifiers">Identifiers</A><BR>
+<A HREF="manual.html#if-then-else">if-then-else</A><BR>
+<A HREF="manual.html#index event">index event</A><BR>
+<A HREF="manual.html#_INPUT">_INPUT</A><BR>
+<A HREF="manual.html#le event">le event</A><BR>
+<A HREF="manual.html#Literal strings">Literal strings</A><BR>
+<A HREF="manual.html#Local variables">Local variables</A><BR>
+<A HREF="manual.html#log10">log10</A><BR>
+<A HREF="manual.html#log">log</A><BR>
+<A HREF="manual.html#logical operators">logical operators</A><BR>
+<A HREF="manual.html#lt event">lt event</A><BR>
+<A HREF="manual.html#Lua Stand-alone">Lua Stand-alone</A><BR>
+<A HREF="manual.html#lua2C">lua2C</A><BR>
+<A HREF="manual.html#LUA_ANYTAG">LUA_ANYTAG</A><BR>
+<A HREF="manual.html#luac">luac</A><BR>
+<A HREF="manual.html#luac">luac</A><BR>
+<A HREF="manual.html#lua_callfunction">lua_callfunction</A><BR>
+<A HREF="manual.html#lua_CFunction">lua_CFunction</A><BR>
+<A HREF="manual.html#lua_collectgarbage">lua_collectgarbage</A><BR>
+<A HREF="manual.html#lua_createtable">lua_createtable</A><BR>
+<A HREF="manual.html#lua_dofile">lua_dofile</A><BR>
+<A HREF="manual.html#lua_dostring">lua_dostring</A><BR>
+<A HREF="manual.html#lua_error">lua_error</A><BR>
+<A HREF="manual.html#lua_getcfunction">lua_getcfunction</A><BR>
+<A HREF="manual.html#lua_getglobal">lua_getglobal</A><BR>
+<A HREF="manual.html#lua_getnumber">lua_getnumber</A><BR>
+<A HREF="manual.html#lua_getparam">lua_getparam</A><BR>
+<A HREF="manual.html#lua_getref">lua_getref</A><BR>
+<A HREF="manual.html#lua_getresult">lua_getresult</A><BR>
+<A HREF="manual.html#lua_getstring">lua_getstring</A><BR>
+<A HREF="manual.html#lua_gettable">lua_gettable</A><BR>
+<A HREF="manual.html#lua_gettagmethod">lua_gettagmethod</A><BR>
+<A HREF="manual.html#lua_getuserdata">lua_getuserdata</A><BR>
+<A HREF="manual.html#lua_iscfunction">lua_iscfunction</A><BR>
+<A HREF="manual.html#lua_isfunction">lua_isfunction</A><BR>
+<A HREF="manual.html#lua_isnil">lua_isnil</A><BR>
+<A HREF="manual.html#lua_isnumber">lua_isnumber</A><BR>
+<A HREF="manual.html#lua_isstring">lua_isstring</A><BR>
+<A HREF="manual.html#lua_istable">lua_istable</A><BR>
+<A HREF="manual.html#lua_isuserdata">lua_isuserdata</A><BR>
+<A HREF="manual.html#lua_lua2C">lua_lua2C</A><BR>
+<A HREF="manual.html#lua_newtag">lua_newtag</A><BR>
+<A HREF="manual.html#LUA_NOOBJECT">LUA_NOOBJECT</A><BR>
+<A HREF="manual.html#lua_Object">lua_Object</A><BR>
+<A HREF="manual.html#lua_pop">lua_pop</A><BR>
+<A HREF="manual.html#lua_pushcfunction">lua_pushcfunction</A><BR>
+<A HREF="manual.html#lua_pushnil">lua_pushnil</A><BR>
+<A HREF="manual.html#lua_pushnumber">lua_pushnumber</A><BR>
+<A HREF="manual.html#lua_pushobject">lua_pushobject</A><BR>
+<A HREF="manual.html#lua_pushstring">lua_pushstring</A><BR>
+<A HREF="manual.html#lua_pushuserdata">lua_pushuserdata</A><BR>
+<A HREF="manual.html#lua_pushusertag">lua_pushusertag</A><BR>
+<A HREF="manual.html#lua_rawgetglobal">lua_rawgetglobal</A><BR>
+<A HREF="manual.html#lua_rawgetglobal">lua_rawgetglobal</A><BR>
+<A HREF="manual.html#lua_rawgetglobal">lua_rawgetglobal</A><BR>
+<A HREF="manual.html#lua_rawsettable">lua_rawsettable</A><BR>
+<A HREF="manual.html#lua_ref">lua_ref</A><BR>
+<A HREF="manual.html#lua_register">lua_register</A><BR>
+<A HREF="manual.html#lua_seterrormethod">lua_seterrormethod</A><BR>
+<A HREF="manual.html#lua_setglobal">lua_setglobal</A><BR>
+<A HREF="manual.html#lua_settable">lua_settable</A><BR>
+<A HREF="manual.html#lua_settag">lua_settag</A><BR>
+<A HREF="manual.html#lua_settagmethod">lua_settagmethod</A><BR>
+<A HREF="manual.html#lua_tag">lua_tag</A><BR>
+<A HREF="manual.html#lua_unref">lua_unref</A><BR>
+<A HREF="manual.html#max">max</A><BR>
+<A HREF="manual.html#methods">methods</A><BR>
+<A HREF="manual.html#min">min</A><BR>
+<A HREF="manual.html#mod">mod</A><BR>
+<A HREF="manual.html#mul event">mul event</A><BR>
+<A HREF="manual.html#multiple assignment">multiple assignment</A><BR>
+<A HREF="manual.html#newtag">newtag</A><BR>
+<A HREF="manual.html#next">next</A><BR>
+<A HREF="manual.html#nextvar">nextvar</A><BR>
+<A HREF="manual.html#nil">nil</A><BR>
+<A HREF="manual.html#not">not</A><BR>
+<A HREF="manual.html#number">number</A><BR>
+<A HREF="manual.html#Numerical constants">Numerical constants</A><BR>
+<A HREF="manual.html#Operator precedence">Operator precedence</A><BR>
+<A HREF="manual.html#or">or</A><BR>
+<A HREF="manual.html#_OUTPUT">_OUTPUT</A><BR>
+<A HREF="manual.html#packed results">packed results</A><BR>
+<A HREF="manual.html#pattern item">pattern item</A><BR>
+<A HREF="manual.html#pattern">pattern</A><BR>
+<A HREF="manual.html#piped input">piped input</A><BR>
+<A HREF="manual.html#piped output">piped output</A><BR>
+<A HREF="manual.html#popen">popen</A><BR>
+<A HREF="manual.html#popen">popen</A><BR>
+<A HREF="manual.html#pow event">pow event</A><BR>
+<A HREF="manual.html#pre-compilation">pre-compilation</A><BR>
+<A HREF="manual.html#predefined functions">predefined functions</A><BR>
+<A HREF="manual.html#Pre-processor">Pre-processor</A><BR>
+<A HREF="manual.html#print">print</A><BR>
+<A HREF="manual.html#random">random</A><BR>
+<A HREF="manual.html#randomseed">randomseed</A><BR>
+<A HREF="manual.html#rawgetglobal">rawgetglobal</A><BR>
+<A HREF="manual.html#rawgettable">rawgettable</A><BR>
+<A HREF="manual.html#rawsetglobal">rawsetglobal</A><BR>
+<A HREF="manual.html#rawsettable">rawsettable</A><BR>
+<A HREF="manual.html#read pattern">read pattern</A><BR>
+<A HREF="manual.html#read">read</A><BR>
+<A HREF="manual.html#readfrom">readfrom</A><BR>
+<A HREF="manual.html#records">records</A><BR>
+<A HREF="manual.html#reference">reference</A><BR>
+<A HREF="manual.html#reflexivity">reflexivity</A><BR>
+<A HREF="manual.html#relational operators">relational operators</A><BR>
+<A HREF="manual.html#remove">remove</A><BR>
+<A HREF="manual.html#rename">rename</A><BR>
+<A HREF="manual.html#repeat-until">repeat-until</A><BR>
+<A HREF="manual.html#reserved words">reserved words</A><BR>
+<A HREF="manual.html#return statement">return statement</A><BR>
+<A HREF="manual.html#return">return</A><BR>
+<A HREF="manual.html#self">self</A><BR>
+<A HREF="manual.html#setglobal event">setglobal event</A><BR>
+<A HREF="manual.html#setglobal">setglobal</A><BR>
+<A HREF="manual.html#settable event">settable event</A><BR>
+<A HREF="manual.html#settag">settag</A><BR>
+<A HREF="manual.html#settagmethod">settagmethod</A><BR>
+<A HREF="manual.html#settagmethod">settagmethod</A><BR>
+<A HREF="manual.html#short-cut evaluation">short-cut evaluation</A><BR>
+<A HREF="manual.html#Simple Expressions">Simple Expressions</A><BR>
+<A HREF="manual.html#sin">sin</A><BR>
+<A HREF="manual.html#skips">skips</A><BR>
+<A HREF="manual.html#sqrt">sqrt</A><BR>
+<A HREF="manual.html#statements">statements</A><BR>
+<A HREF="manual.html#_STDERR">_STDERR</A><BR>
+<A HREF="manual.html#_STDIN">_STDIN</A><BR>
+<A HREF="manual.html#_STDOUT">_STDOUT</A><BR>
+<A HREF="manual.html#strfind">strfind</A><BR>
+<A HREF="manual.html#string">string</A><BR>
+<A HREF="manual.html#strlen">strlen</A><BR>
+<A HREF="manual.html#strlower">strlower</A><BR>
+<A HREF="manual.html#strrep">strrep</A><BR>
+<A HREF="manual.html#strsub">strsub</A><BR>
+<A HREF="manual.html#strupper">strupper</A><BR>
+<A HREF="manual.html#sub event">sub event</A><BR>
+<A HREF="manual.html#table">table</A><BR>
+<A HREF="manual.html#Tag Methods">Tag Methods</A><BR>
+<A HREF="manual.html#tag">tag</A><BR>
+<A HREF="manual.html#tag">tag</A><BR>
+<A HREF="manual.html#tan">tan</A><BR>
+<A HREF="manual.html#tmpname">tmpname</A><BR>
+<A HREF="manual.html#tokens">tokens</A><BR>
+<A HREF="manual.html#tonumber">tonumber</A><BR>
+<A HREF="manual.html#tostring">tostring</A><BR>
+<A HREF="manual.html#type">type</A><BR>
+<A HREF="manual.html#Types and Tags">Types and Tags</A><BR>
+<A HREF="manual.html#unm event">unm event</A><BR>
+<A HREF="manual.html#userdata">userdata</A><BR>
+<A HREF="manual.html#vararg">vararg</A><BR>
+<A HREF="manual.html#version 1.1">version 1.1</A><BR>
+<A HREF="manual.html#version 2.1">version 2.1</A><BR>
+<A HREF="manual.html#version 2.2">version 2.2</A><BR>
+<A HREF="manual.html#version 2.4">version 2.4</A><BR>
+<A HREF="manual.html#version 2.5">version 2.5</A><BR>
+<A HREF="manual.html#while-do">while-do</A><BR>
+<A HREF="manual.html#write">write</A><BR>
+<A HREF="manual.html#writeto">writeto</A><BR>
+
+<HR>
+Last update:
+Tue Jul 1 07:55:45 EST 1997
+by <A HREF="http://www.tecgraf.puc-rio.br/~lhf/">lhf</A>.
+</BODY>
+</HTML>
diff --git a/doc/index.html b/doc/index.html
new file mode 100644
index 00000000..5ce16c44
--- /dev/null
+++ b/doc/index.html
@@ -0,0 +1,85 @@
+<HTML>
+<HEAD>
+<TITLE>Lua 3.0 Reference Manual - Index</TITLE>
+</HEAD>
+
+<BODY>
+
+<H1>Reference Manual of the Programming Language Lua 3.0</H1>
+<P>
+<A HREF="http://www.inf.puc-rio.br/~roberto/">Roberto Ierusalimschy</A>,
+<A HREF="http://www2.lncc.br/~lhf/">Luiz Henrique de Figueiredo</A>,
+<A HREF="http://www.graphics.cornell.edu/~celes/">Waldemar Celes</A>
+<BR>
+<A HREF="mailto:lua@tecgraf.puc-rio.br">lua@tecgraf.puc-rio.br</A><BR>
+<A HREF="http://www.tecgraf.puc-rio.br">TeCGraf</A>,
+<A HREF="http://www.inf.puc-rio.br">Computer Science Department</A>,
+<A HREF="http://www.puc-rio.br">PUC-Rio</A>
+<P>
+
+<HR>
+<B>Abstract.</B>
+Lua is an extension programming language designed to be used
+as a configuration language for any program that needs one.
+This document describes version 3.0 of the Lua programming language and
+the API that allows interaction between Lua programs and their host C programs.
+<HR>
+
+<B>Sumário.</B>
+Lua é uma linguagem de extensão projetada para ser usada como
+linguagem de configuração em qualquer programa que precise de uma.
+Este documento descreve a versão 3.0 da linguagem de
+programação Lua e a Interface de Programação (API) que permite
+a interação entre programas Lua e programas C hospedeiros.
+<HR>
+<A NAME="index"></A>
+<UL>
+<LI><A HREF="manual.html#1.">1 - Introduction</A>
+<LI><A HREF="manual.html#2.">2 - Environment and Chunks</A>
+<LI><A HREF="manual.html#3.">3 - Types and Tags</A>
+<LI><A HREF="manual.html#4.">4 - The Language</A>
+ <UL>
+ <LI><A HREF="manual.html#4.1">4.1 - Lexical Conventions</A>
+ <LI><A HREF="manual.html#4.2">4.2 - The Pre-processor</A>
+ <LI><A HREF="manual.html#4.3">4.3 - Coercion</A>
+ <LI><A HREF="manual.html#4.4">4.4 - Adjustment</A>
+ <LI><A HREF="manual.html#4.5">4.5 - Statements</A>
+ <LI><A HREF="manual.html#4.6">4.6 - Expressions</A>
+ <LI><A HREF="manual.html#4.7">4.7 - Function Definitions</A>
+ <LI><A HREF="manual.html#4.8">4.8 - Tag Methods</A>
+ <LI><A HREF="manual.html#4.9">4.9 - Error Handling</A>
+ </UL>
+<LI><A HREF="manual.html#5.">5 - The Application Program Interface</A>
+ <UL>
+ <LI><A HREF="manual.html#5.1">5.1 - Exchanging Values between C and Lua</A>
+ <LI><A HREF="manual.html#5.2">5.2 - Executing Lua Code</A>
+ <LI><A HREF="manual.html#5.3">5.3 - Manipulating Lua Objects</A>
+ <LI><A HREF="manual.html#5.4">5.4 - Calling Lua Functions</A>
+ <LI><A HREF="manual.html#5.5">5.5 - C Functions</A>
+ <LI><A HREF="manual.html#5.6">5.6 - References to Lua Objects</A>
+ </UL>
+<LI><A HREF="manual.html#6.">6 - Predefined Functions and Libraries</A>
+ <UL>
+ <LI><A HREF="manual.html#6.1">6.1 - Predefined Functions</A>
+ <LI><A HREF="manual.html#6.2">6.2 - String Manipulation</A>
+ <LI><A HREF="manual.html#6.3">6.3 - Mathematical Functions</A>
+ <LI><A HREF="manual.html#6.4">6.4 - I/O Facilities</A>
+ </UL>
+<LI><A HREF="manual.html#7.">7 - The Debugger Interface</A>
+ <UL>
+ <LI><A HREF="manual.html#7.1">7.1 - Stack and Function Information</A>
+ <LI><A HREF="manual.html#7.2">7.2 - Manipulating Local Variables</A>
+ <LI><A HREF="manual.html#7.3">7.3 - Hooks</A>
+ </UL>
+<LI><A HREF="manual.html#8.">8 - Lua Stand-alone</A>
+<LI><A HREF="manual.html#Acknowledgments">Acknowledgments</A>
+<LI><A HREF="manual.html#Incompatibilities">Incompatibilities with Previous Versions</A>
+<LI><A HREF="idx.html">Index</A>
+</UL>
+
+<HR>
+Last update:
+Tue Jul 1 07:55:45 EST 1997
+by <A HREF="http://www.tecgraf.puc-rio.br/~lhf/">lhf</A>.
+</BODY>
+</HTML>
diff --git a/doc/luac.html b/doc/luac.html
new file mode 100644
index 00000000..7d43ff1d
--- /dev/null
+++ b/doc/luac.html
@@ -0,0 +1,88 @@
+<!-- manual page source format generated by RosettaMan, -->
+<!-- available via anonymous ftp from ftp.cs.berkeley.edu:/ucb/people/phelps/tcltk/rman.tar.Z -->
+<HTML>
+<HEADER>
+<TITLE>luac manual page</TITLE>
+</HEADER>
+<BODY>
+<A HREF="#toc">Table of Contents</A><P>
+
+<A NAME="sect0" HREF="#toc0"><H2>NAME</H2></A>
+luac - Lua compiler<P>
+
+<A NAME="sect1" HREF="#toc1"><H2>SYNOPSIS</H2></A>
+luac [ -c | -u ] [ -d ] [ -l ] [ -p ] [ -q ] [ -v ] [ -o <I>outputfile</I> ] <I>sourcefile</I> ...<P>
+
+<A NAME="sect2" HREF="#toc2"><H2>DESCRIPTION</H2></A>
+luac is the Lua compiler. It translates programs written in the Lua programming language into binary files that can be loaded and executed with lua_dofile in C or dofile in Lua.<P>
+luac produces a single output file containing the bytecode for all named source files. By default, the output file is named luac.out, but you can change this with the -o option.<P>
+You can use &quot;-&quot; to indicate stdin as a source file.<P>
+luac can also load and list binary files.<P>
+
+<A NAME="sect3" HREF="#toc3"><H2>OPTIONS</H2></A>
+<dl>
+<dt>-c <dd> compile (this is the default).<P>
+</dd>
+</dl>
+<dl>
+<dt>-u <dd> undump.<P>
+</dd>
+</dl>
+<dl>
+<dt>-d <dd> turns debugging on.<P>
+</dd>
+</dl>
+<dl>
+<dt>-l <dd> produces a listing of the compiled bytecode for Lua's virtual machine. This is the default when undumping.<P>
+</dd>
+</dl>
+<dl>
+<dt>-p <dd> parses sources files but does not generate any output file.<P>
+</dd>
+</dl>
+<dl>
+<dt>-q <dd> quiet; procudes no listing. This is the default when compiling.<P>
+</dd>
+</dl>
+<dl>
+<dt>-v <dd> prints version information.<P>
+</dd>
+</dl>
+<dl>
+<dt>-o <I>outputfile</I><dd> Name the output file <I>output</I>, instead of the default luac.out. The output file cannot be a source file.<P>
+</dd>
+</dl>
+
+<A NAME="sect4" HREF="#toc4"><H2>FILES</H2></A>
+<dl>
+<dt>luac.out <dd> default output file<P>
+</dd>
+</dl>
+
+<A NAME="sect5" HREF="#toc5"><H2>SEE ALSO</H2></A>
+<A HREF="http://localhost/cgi-bin/man2html?lua?1">lua(1)</A><P>
+<I>Reference</I> <I>Manual</I> <I>of</I> <I>the</I> <I>Programming</I> <I>Language</I> <I>Lua</I><P>
+
+<A NAME="sect6" HREF="#toc6"><H2>DIAGNOSTICS</H2></A>
+Error messages should be self explanatory.<P>
+
+<A NAME="sect7" HREF="#toc7"><H2>BUGS</H2></A>
+Inherits any bugs from Lua, but Lua has no bugs...<P>
+
+<A NAME="sect8" HREF="#toc8"><H2>AUTHORS</H2></A>
+W. Celes, R. Ierusalimschy &amp; L. H. de Figueiredo (lua@tecgraf.puc-rio.br)<P>
+
+<HR><P>
+<A NAME="toc"><B>Table of Contents</B></A><P>
+<UL>
+<LI><A NAME="toc0" HREF="#sect0">NAME</A></LI>
+<LI><A NAME="toc1" HREF="#sect1">SYNOPSIS</A></LI>
+<LI><A NAME="toc2" HREF="#sect2">DESCRIPTION</A></LI>
+<LI><A NAME="toc3" HREF="#sect3">OPTIONS</A></LI>
+<LI><A NAME="toc4" HREF="#sect4">FILES</A></LI>
+<LI><A NAME="toc5" HREF="#sect5">SEE ALSO</A></LI>
+<LI><A NAME="toc6" HREF="#sect6">DIAGNOSTICS</A></LI>
+<LI><A NAME="toc7" HREF="#sect7">BUGS</A></LI>
+<LI><A NAME="toc8" HREF="#sect8">AUTHORS</A></LI>
+</UL>
+</BODY></HTML>
diff --git a/doc/luac.man b/doc/luac.man
deleted file mode 100644
index e64e570f..00000000
--- a/doc/luac.man
+++ /dev/null
@@ -1,75 +0,0 @@
-.\" $Id: luac.man,v 1.3 1996/03/28 20:24:55 lhf Exp $
-.TH LUAC 1 "12 March 1996"
-.SH NAME
-luac \- Lua compiler
-.SH SYNOPSIS
-.B luac
-[
-.B \-dlpv
-]
-[
-.B \-o
-.I outputfile
-]
-.I sourcefile
-\&.\|.\|.
-.SH DESCRIPTION
-.B luac
-is the Lua compiler.
-It translates programs written in the Lua programming language
-into binary files that can be loaded and executed with
-.B lua_dofile
-in C or
-.B dofile
-in Lua.
-
-.BR luac
-produces a single output file containing the bytecode
-for all named source files.
-By default,
-the output file is named
-.BR luac.out ,
-but you can change this with the
-.B \-o
-option.
-
-You can use "-" to indicate stdin as a source file.
-.SH OPTIONS
-.LP
-.TP 1i
-.B \-d
-turns debugging on.
-.TP
-.B \-l
-produces a listing of the compiled bytecode for Lua's virtual machine.
-.TP
-.B \-p
-parses sources files but does not generate any output file.
-.TP
-.B \-v
-prints version information.
-.TP
-.BI \-o " outputfile"
-Name the output file
-.IR output ,
-instead of the default
-.BR luac.out .
-The output file cannot be a source file.
-.SH FILES
-.PD 0
-.TP 20
-.B luac.out
-default output file
-.PD
-.SH "SEE ALSO"
-.BR lua (1)
-.LP
-.IR "Reference Manual of the Programming Language Lua"
-.SH DIAGNOSTICS
-Error messages should be self explanatory.
-.SH BUGS
-Inherits any bugs from Lua,
-but Lua has no bugs...
-.SH AUTHORS
-W. Celes, R. Ierusalimschy & L. H. de Figueiredo
-(lua@icad.puc-rio.br)
diff --git a/doc/luac.ps b/doc/luac.ps
deleted file mode 100644
index c701ac29..00000000
--- a/doc/luac.ps
+++ /dev/null
@@ -1,246 +0,0 @@
-%!PS-Adobe-3.0
-%%Creator: groff version 1.09
-%%CreationDate: Fri Mar 29 10:45:53 1996
-%%DocumentNeededResources: font Times-Roman
-%%+ font Times-Bold
-%%+ font Times-Italic
-%%DocumentSuppliedResources: procset grops 1.09 0
-%%Pages: 1
-%%PageOrder: Ascend
-%%Orientation: Portrait
-%%EndComments
-%%BeginProlog
-%%BeginResource: procset grops 1.09 0
-/setpacking where{
-pop
-currentpacking
-true setpacking
-}if
-/grops 120 dict dup begin
-/SC 32 def
-/A/show load def
-/B{0 SC 3 -1 roll widthshow}bind def
-/C{0 exch ashow}bind def
-/D{0 exch 0 SC 5 2 roll awidthshow}bind def
-/E{0 rmoveto show}bind def
-/F{0 rmoveto 0 SC 3 -1 roll widthshow}bind def
-/G{0 rmoveto 0 exch ashow}bind def
-/H{0 rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/I{0 exch rmoveto show}bind def
-/J{0 exch rmoveto 0 SC 3 -1 roll widthshow}bind def
-/K{0 exch rmoveto 0 exch ashow}bind def
-/L{0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/M{rmoveto show}bind def
-/N{rmoveto 0 SC 3 -1 roll widthshow}bind def
-/O{rmoveto 0 exch ashow}bind def
-/P{rmoveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/Q{moveto show}bind def
-/R{moveto 0 SC 3 -1 roll widthshow}bind def
-/S{moveto 0 exch ashow}bind def
-/T{moveto 0 exch 0 SC 5 2 roll awidthshow}bind def
-/SF{
-findfont exch
-[exch dup 0 exch 0 exch neg 0 0]makefont
-dup setfont
-[exch/setfont cvx]cvx bind def
-}bind def
-/MF{
-findfont
-[5 2 roll
-0 3 1 roll
-neg 0 0]makefont
-dup setfont
-[exch/setfont cvx]cvx bind def
-}bind def
-/level0 0 def
-/RES 0 def
-/PL 0 def
-/LS 0 def
-/PLG{
-gsave newpath clippath pathbbox grestore
-exch pop add exch pop
-}bind def
-/BP{
-/level0 save def
-1 setlinecap
-1 setlinejoin
-72 RES div dup scale
-LS{
-90 rotate
-}{
-0 PL translate
-}ifelse
-1 -1 scale
-}bind def
-/EP{
-level0 restore
-showpage
-}bind def
-/DA{
-newpath arcn stroke
-}bind def
-/SN{
-transform
-.25 sub exch .25 sub exch
-round .25 add exch round .25 add exch
-itransform
-}bind def
-/DL{
-SN
-moveto
-SN
-lineto stroke
-}bind def
-/DC{
-newpath 0 360 arc closepath
-}bind def
-/TM matrix def
-/DE{
-TM currentmatrix pop
-translate scale newpath 0 0 .5 0 360 arc closepath
-TM setmatrix
-}bind def
-/RC/rcurveto load def
-/RL/rlineto load def
-/ST/stroke load def
-/MT/moveto load def
-/CL/closepath load def
-/FL{
-currentgray exch setgray fill setgray
-}bind def
-/BL/fill load def
-/LW/setlinewidth load def
-/RE{
-findfont
-dup maxlength 1 index/FontName known not{1 add}if dict begin
-{
-1 index/FID ne{def}{ pop pop}ifelse
-}forall
-/Encoding exch def
-dup/FontName exch def
-currentdict end definefont pop
-}bind def
-/DEFS 0 def
-/EBEGIN{
-moveto
-DEFS begin
-}bind def
-/EEND/end load def
-/CNT 0 def
-/level1 0 def
-/PBEGIN{
-/level1 save def
-translate
-div 3 1 roll div exch scale
-neg exch neg exch translate
-0 setgray
-0 setlinecap
-1 setlinewidth
-0 setlinejoin
-10 setmiterlimit
-[] 0 setdash
-/setstrokeadjust where{
-pop
-false setstrokeadjust
-}if
-/setoverprint where{
-pop
-false setoverprint
-}if
-newpath
-/CNT countdictstack def
-userdict begin
-/showpage{} def
-}bind def
-/PEND{
-clear
-countdictstack CNT sub{end}repeat
-level1 restore
-}bind def
-end def
-/setpacking where{
-pop
-setpacking
-}if
-%%EndResource
-%%IncludeResource: font Times-Roman
-%%IncludeResource: font Times-Bold
-%%IncludeResource: font Times-Italic
-grops begin/DEFS 1 dict def DEFS begin/u{.001 mul}bind def end/RES 72
-def/PL 792 def/LS false def/ENC0[/asciicircum/asciitilde/Scaron/Zcaron
-/scaron/zcaron/Ydieresis/trademark/quotesingle/.notdef/.notdef/.notdef
-/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
-/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
-/.notdef/.notdef/space/exclam/quotedbl/numbersign/dollar/percent
-/ampersand/quoteright/parenleft/parenright/asterisk/plus/comma/hyphen
-/period/slash/zero/one/two/three/four/five/six/seven/eight/nine/colon
-/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O
-/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex
-/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y
-/z/braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft
-/guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl
-/endash/emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut
-/dotaccent/breve/caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash
-/quotedblbase/OE/Lslash/.notdef/exclamdown/cent/sterling/currency/yen
-/brokenbar/section/dieresis/copyright/ordfeminine/guilsinglleft
-/logicalnot/minus/registered/macron/degree/plusminus/twosuperior
-/threesuperior/acute/mu/paragraph/periodcentered/cedilla/onesuperior
-/ordmasculine/guilsinglright/onequarter/onehalf/threequarters
-/questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE
-/Ccedilla/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
-/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
-/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn
-/germandbls/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
-/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
-/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide/oslash
-/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
-/Times-Italic@0 ENC0/Times-Italic RE/Times-Bold@0 ENC0/Times-Bold RE
-/Times-Roman@0 ENC0/Times-Roman RE
-%%EndProlog
-%%Page: 1 1
-%%BeginPageSetup
-BP
-%%EndPageSetup
-/F0 10/Times-Roman@0 SF(LU)72 48 Q -.034 -.4(AC \( 1 \))-.4 H
-(User Commands)157.852 E(LU)157.452 E -.034 -.4(AC \( 1 \))-.4 H/F1 9
-/Times-Bold@0 SF -.18(NA)72 96 S(ME).18 E F0(luac \255 Lua compiler)108
-108 Q F1(SYNOPSIS)72 124.8 Q/F2 10/Times-Bold@0 SF(luac)108 136.8 Q F0
-([)3.75 E F2(\255dlpv)3.75 E F0 3.75(][)3.75 G F2<ad6f>A/F3 10
-/Times-Italic@0 SF(output\214le)3.75 E F0(])3.75 E F3(sour)3.75 E
-(ce\214le)-.37 E F0 1.666(...)3.75 G F1(DESCRIPTION)72 153.6 Q F2(luac)
-108 165.6 Q F0 .371(is the Lua compiler)2.871 F 5.371(.I)-.55 G 2.871
-(tt)-5.371 G .37(ranslates programs written in the Lua programming lang\
-uage into binary \214les)-2.871 F(that can be loaded and e)108 177.6 Q
--.15(xe)-.15 G(cuted with).15 E F2(lua_do\214le)2.5 E F0(in C or)2.5 E
-F2(do\214le)2.5 E F0(in Lua.)2.5 E F2(luac)108 201.6 Q F0 .159(produces\
- a single output \214le containing the bytecode for all named source \
-\214les.)2.658 F .159(By def)5.159 F .159(ault, the output)-.1 F
-(\214le is named)108 213.6 Q F2(luac.out)2.5 E F0 2.5(,b)C
-(ut you can change this with the)-2.7 E F2<ad6f>2.5 E F0(option.)2.5 E
--1.1(Yo)108 237.6 S 2.5(uc)1.1 G
-(an use "-" to indicate stdin as a source \214le.)-2.5 E F1(OPTIONS)72
-254.4 Q F2<ad64>108 266.4 Q F0(turns deb)60.74 E(ugging on.)-.2 E F2
-<ad6c>108 283.2 Q F0
-(produces a listing of the compiled bytecode for Lua')63.52 E 2.5(sv)
--.55 G(irtual machine.)-2.5 E F2<ad70>108 300 Q F0
-(parses sources \214les b)60.74 E(ut does not generate an)-.2 E 2.5(yo)
--.15 G(utput \214le.)-2.5 E F2<ad76>108 316.8 Q F0(prints v)61.3 E
-(ersion information.)-.15 E F2<ad6f>108 333.6 Q F3(output\214le)2.5 E F0
-.657(Name the output \214le)21.02 F F3(output)3.157 E F0 3.157(,i)C .657
-(nstead of the def)-3.157 F(ault)-.1 E F2(luac.out)3.157 E F0 5.657(.T)C
-.656(he output \214le cannot be a)-5.657 F(source \214le.)180 345.6 Q F1
-(FILES)72 362.4 Q F2(luac.out)108 374.4 Q F0(def)65.83 E
-(ault output \214le)-.1 E F1(SEE ALSO)72 391.2 Q F2(lua)108 403.2 Q F0
-(\(1\))A F3(Refer)108 420 Q(ence Manual of the Pr)-.37 E -.1(og)-.45 G
--.15(ra).1 G(mming Langua).15 E .2 -.1(ge L)-.1 H(ua).1 E F1(DIA)72
-436.8 Q(GNOSTICS)-.495 E F0(Error messages should be self e)108 448.8 Q
-(xplanatory)-.15 E(.)-.65 E F1 -.09(BU)72 465.6 S(GS).09 E F0
-(Inherits an)108 477.6 Q 2.5(yb)-.15 G(ugs from Lua, b)-2.7 E
-(ut Lua has no b)-.2 E(ugs...)-.2 E F1 -.45(AU)72 494.4 S(THORS).45 E F0
-1.84 -.92(W. C)108 506.4 T(eles, R. Ierusalimsch).92 E 2.5(y&L)-.05 G
-2.5(.H)-2.5 G 2.5(.d)-2.5 G 2.5(eF)-2.5 G
-(igueiredo \(lua@icad.puc-rio.br\))-2.5 E(29 March 1996)72 768 Q
-(12 March 1996)142.35 E(1)198.45 E EP
-%%Trailer
-end
-%%EOF
diff --git a/doc/luac.txt b/doc/luac.txt
deleted file mode 100644
index d1989530..00000000
--- a/doc/luac.txt
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-
-LUAC(1) User Commands LUAC(1)
-
-
-
-NAME
- luac - Lua compiler
-
-SYNOPSIS
- luac [ -dlpv ] [ -o outputfile ] sourcefile ...
-
-DESCRIPTION
- luac is the Lua compiler. It translates programs written in
- the Lua programming language into binary files that can be
- loaded and executed with lua_dofile in C or dofile in Lua.
-
- luac produces a single output file containing the bytecode
- for all named source files. By default, the output file is
- named luac.out, but you can change this with the -o option.
-
- You can use "-" to indicate stdin as a source file.
-
-OPTIONS
- -d turns debugging on.
-
- -l produces a listing of the compiled bytecode for
- Lua's virtual machine.
-
- -p parses sources files but does not generate any
- output file.
-
- -v prints version information.
-
- -o outputfile
- Name the output file output, instead of the
- default luac.out. The output file cannot be a
- source file.
-
-FILES
- luac.out default output file
-
-SEE ALSO
- lua(1)
-
- Reference Manual of the Programming Language Lua
-
-DIAGNOSTICS
- Error messages should be self explanatory.
-
-BUGS
- Inherits any bugs from Lua, but Lua has no bugs...
-
-AUTHORS
- W. Celes, R. Ierusalimschy & L. H. de Figueiredo
- (lua@icad.puc-rio.br)
-
-
-
-
-
-Formatted 96/03/29 12 March 1996 1
-
-
-
diff --git a/doc/manual.html b/doc/manual.html
new file mode 100644
index 00000000..0c3f531c
--- /dev/null
+++ b/doc/manual.html
@@ -0,0 +1,2545 @@
+<HEAD>
+<TITLE>Lua 3.0 Reference Manual</TITLE>
+</HEAD>
+<BODY>
+<h1>Lua 3.0 Reference Manual</h1>
+
+<!-- ====================================================================== -->
+<HR>
+<A NAME="1."></A>
+<H1>1 - Introduction</H1>
+<P>
+Lua is an extension programming language designed to support
+general procedural programming with data description
+facilities.
+It is intended to be used as a light-weight, but powerful,
+configuration language for any program that needs one.
+Lua has been designed and implemented by
+W.&nbsp;Celes,
+R.&nbsp;Ierusalimschy and
+L.&nbsp;H.&nbsp;de Figueiredo.
+<P>
+Lua is implemented as a library, written in C.
+Being an extension language, Lua has no notion of a ``main'' program:
+it only works <EM>embedded</EM> in a host client,
+called the <EM>embedding</EM> program.
+This host program can invoke functions to execute a piece of
+code in Lua, can write and read Lua variables,
+and can register C functions to be called by Lua code.
+Through the use of C functions, Lua can be augmented to cope with
+a wide range of different domains,
+thus creating customized programming languages sharing a syntactical framework.
+<P>
+Lua is free-distribution software,
+and provided as usual with no guarantees,
+as stated in the copyright notice in the front page of this manual.
+The implementation described in this manual is available
+at the following URL's:
+<LISTING>
+ <A HREF="http://www.tecgraf.puc-rio.br/lua/">http://www.tecgraf.puc-rio.br/lua/</A>
+ <A HREF="ftp://ftp.tecgraf.puc-rio.br/pub/lua/lua.tar.gz">ftp://ftp.tecgraf.puc-rio.br/pub/lua/lua.tar.gz</A>
+</LISTING>
+<P>
+<P>
+<!-- ====================================================================== -->
+<HR>
+<A NAME="2."></A>
+<H1>2 - Environment and Chunks</H1>
+<P>
+All statements in Lua are executed in a <A NAME="global environment"><EM>global environment</EM></A>.
+This environment, which keeps all global variables and functions,
+is initialized at the beginning of the embedding program and
+persists until its end.
+<P>
+The global environment can be manipulated by Lua code or
+by the embedding program,
+which can read and write global variables
+using functions in the library that implements Lua.
+<P>
+<A NAME="Global variables">Global variables</A> do not need declaration.
+Any variable is assumed to be global unless explicitly declared local
+(see Section&nbsp;<A HREF="#localvar">4.5.5</A>).
+Before the first assignment, the value of a global variable is <B>nil</B>;
+this default can be changed (see Section&nbsp;<A HREF="#tag-method">4.8</A>).
+<P>
+The unit of execution of Lua is called a <A NAME="chunk"><EM>chunk</EM></A>.
+The syntax
+\footnote{As usual, {<EM>a</EM>} means 0 or more <EM>a</EM>'s,
+[<EM>a</EM>] means an optional <EM>a</EM> and ('<EM>a</EM>)+ means
+one or more <EM>a</EM>'s.}
+for chunks is:
+<LISTING>
+chunk ::= {stat | function} [ret]
+</LISTING>
+A chunk may contain statements and function definitions,
+and may be in a file or in a string inside the host program.
+A chunk may optionally end with a <CODE>return</CODE> statement (see Section&nbsp;<A HREF="#return">4.5.3</A>).
+When a chunk is executed, first all its functions and statements are compiled,
+then the statements are executed in sequential order.
+All modifications a chunk effects on the global environment persist
+after its end.
+Those include modifications to global variables and definitions
+of new functions
+\footnote{Actually, a function definition is an
+assignment to a global variable (see Section&nbsp;<A HREF="#TypesSec">3</A>).}.
+<P>
+Chunks may be pre-compiled into binary form;
+see program <A NAME="luac"><TT>luac</TT></A> for details.
+Text files with chunks and their binary pre-compiled forms
+are interchangeable.
+Lua automatically detects the file type and acts accordingly.
+<A NAME="pre-compilation"></A>
+<P>
+<A NAME="TypesSec"></A>
+<!-- ====================================================================== -->
+<HR>
+<A NAME="3."></A>
+<H1>3 - Types and Tags</H1>
+<P>
+Lua is a dynamically typed language.
+Variables do not have types; only values do.
+Therefore, there are no type definitions in the language.
+All values carry their own type.
+Besides a type, all values also have a <A NAME="tag">tag</A>.
+<P>
+There are six <A NAME="basic types">basic types</A> in Lua: <A NAME="nil"><EM>nil</EM></A>, <A NAME="number"><EM>number</EM></A>,
+<A NAME="string"><EM>string</EM></A>, <A NAME="function"><EM>function</EM></A>, <A NAME="userdata"><EM>userdata</EM></A>, and <A NAME="table"><EM>table</EM></A>.
+<EM>Nil</EM> is the type of the value <B>nil</B>,
+whose main property is to be different from any other value.
+<EM>Number</EM> represents real (floating-point) numbers,
+while <EM>string</EM> has the usual meaning.
+The function <CODE>type</CODE> returns a string describing the type
+of a given value (see Section&nbsp;<A HREF="#pdf-type">6.1</A>).
+<P>
+Functions are considered first-class values in Lua.
+This means that functions can be stored in variables,
+passed as arguments to other functions and returned as results.
+When a function is defined in Lua, its body is compiled and stored
+in a given variable.
+Lua can call (and manipulate) functions written in Lua and
+functions written in C.
+They can be distinguished by their tags:
+all Lua functions have the same tag,
+and all C functions have the same tag,
+which is different from the tag of a Lua function.
+<P>
+The type <EM>userdata</EM> is provided to allow
+arbitrary <A NAME="C pointers">C pointers</A> to be stored in Lua variables.
+It corresponds to a <CODE>void*</CODE> and has no pre-defined operations in Lua,
+besides assignment and equality test.
+However, by using <EM>tag methods</EM>,
+the programmer may define operations for <EM>userdata</EM> values
+(see Section&nbsp;<A HREF="#tag-method">4.8</A>).
+<P>
+The type <EM>table</EM> implements <A NAME="associative arrays">associative arrays</A>,
+that is, <A NAME="arrays">arrays</A> that can be indexed not only with numbers,
+but with any value (except <B>nil</B>).
+Therefore, this type may be used not only to represent ordinary arrays,
+but also symbol tables, sets, records, etc.
+To represent <A NAME="records">records</A>, Lua uses the field name as an index.
+The language supports this representation by
+providing <CODE>a.name</CODE> as syntactic sugar for <CODE>a["name"]</CODE>.
+Tables may also carry methods.
+Because functions are first class values,
+table fields may contain functions.
+The form <CODE>t:f(x)</CODE> is syntactic sugar for <CODE>t.f(t,x)</CODE>,
+which calls the method <CODE>f</CODE> from the table <CODE>t</CODE> passing
+itself as the first parameter (see Section&nbsp;<A HREF="#func-def">4.7</A>).
+<P>
+It is important to notice that tables are <EM>objects</EM>, and not values.
+Variables cannot contain tables, only <EM>references</EM> to them.
+Assignment, parameter passing and returns always manipulate references
+to tables, and do not imply any kind of copy.
+Moreover, tables must be explicitly created before used
+(see Section&nbsp;<A HREF="#tableconstructor">4.6.7</A>).
+<P>
+Tags are mainly used to select tag methods when
+some events occur (see Section&nbsp;<A HREF="#tag-method">4.8</A>).
+Each of the types nil, number and string has a different tag.
+All values of each of these types have this same pre-defined tag.
+Values of type function can have two different tags,
+depending on whether they are Lua or C functions.
+Finally,
+values of type userdata and table can have
+as many different tags as needed (see Section&nbsp;<A HREF="#tag-method">4.8</A>).
+Tags are created with the function <CODE>newtag</CODE>,
+and the function <CODE>tag</CODE> returns the tag of a given value.
+To change the tag of a given table,
+there is the function <CODE>settag</CODE> (see Section&nbsp;<A HREF="#pdf-newtag">6.1</A>).
+<P>
+<P>
+<!-- ====================================================================== -->
+<HR>
+<A NAME="4."></A>
+<H1>4 - The Language</H1>
+<P>
+This section describes the lexis, the syntax and the semantics of Lua.
+<P>
+<P>
+<A NAME="lexical"></A>
+<A NAME="4.1"></A>
+<H2>4.1 - Lexical Conventions</H2>
+<P>
+Lua is a case-sensitive language.
+<A NAME="Identifiers">Identifiers</A> can be any string of letters, digits, and underscores,
+not beginning with a digit.
+The following words are reserved, and cannot be used as identifiers:
+<A NAME="reserved words"></A>
+<LISTING>
+ and do else elseif
+ end function if local
+ nil not or repeat
+ return then until while
+</LISTING>
+<P>
+The following strings denote other <A NAME="tokens">tokens</A>:
+<LISTING>
+ ~= &lt;= &gt;= &lt; &gt; == = .. + - * /
+ % ( ) { } [ ] ; , . ...
+</LISTING>
+<P>
+<A NAME="Literal strings">Literal strings</A> can be delimited by matching single or double quotes,
+and can contain the C-like escape sequences
+<CODE>'\n'</CODE>, <CODE>'\t'</CODE> and <CODE>'\r'</CODE>.
+Literal strings can also be delimited by matching <CODE>[[ ... ]]</CODE>.
+Literals in this bracketed form may run for several lines,
+may contain nested <CODE>[[ ... ]]</CODE> pairs,
+and do not interpret escape sequences.
+This form is specially convenient for
+handling strings that contain program pieces or
+other quoted strings.
+<P>
+<A NAME="Comments">Comments</A> start anywhere outside a string with a
+double hyphen (<CODE>--</CODE>) and run until the end of the line.
+Moreover,
+the first line of a chunk file is skipped if it starts with <CODE>#</CODE>
+\footnote{This facility allows the use of Lua as a script interpreter
+in Unix systems (see Section&nbsp;<A HREF="#lua-sa">8</A>).}.
+<P>
+<A NAME="Numerical constants">Numerical constants</A> may be written with an optional decimal part,
+and an optional decimal exponent.
+Examples of valid numerical constants are:
+<LISTING>
+ 4 4.0 0.4 4.57e-3 0.3e12
+</LISTING>
+<P>
+<A NAME="pre-processor"></A>
+<A NAME="4.2"></A>
+<H2>4.2 - The Pre-processor</H2>
+<P>
+All lines that start with a <CODE>$</CODE> are handled by a pre-processor.
+The <CODE>$</CODE> can be followed by any of the following directives:
+<DL>
+<DT><B><TT>debug</TT></B><DD> - turn on some debugging facilities (see Section&nbsp;<A HREF="#pragma">4.9</A>).
+<DT><B><TT>nodebug</TT></B><DD> - turn off some debugging facilities (see Section&nbsp;<A HREF="#pragma">4.9</A>).
+<DT><B><TT>if <EM>cond</TT></EM></B><DD> - starts a conditional part.
+If <EM>cond</EM> is false, then this part is skipped by the lexical analyzer.
+<DT><B><TT>ifnot <EM>cond</TT></EM></B><DD> - starts a conditional part.
+If <EM>cond</EM> is true, then this part is skipped by the lexical analyzer.
+<DT><B><TT>end</TT></B><DD> - ends a conditional part.
+<DT><B><TT>else</TT></B><DD> - starts an ``else'' conditional part,
+switching the ``skip'' status.
+<DT><B><TT>endinput</TT></B><DD> - ends the lexical parse of the file.
+</DL>
+<P>
+Directives can be freely nested.
+Particularly, a <CODE>$endinput</CODE> may occur inside a <CODE>$if</CODE>;
+in that case, even the matching <CODE>$end</CODE> is not parsed.
+<P>
+A <EM>cond</EM> part may be:
+<DL>
+<DT><B><TT>nil</TT></B><DD> - always false.
+<DT><B><TT>1</TT></B><DD> - always true.
+<DT><B><EM>name</EM></B><DD> - true if the value of the
+global variable <EM>name</EM> is different from <B>nil</B>.
+Notice that <EM>name</EM> is evaluated before the chunk starts its execution.
+Therefore, actions in a chunk do not affect its own conditional directives.
+</DL>
+<P>
+<A NAME="coercion"></A>
+<A NAME="4.3"></A>
+<H2>4.3 - Coercion</H2>
+<P>
+Lua provides some automatic conversions between values.
+Any arithmetic operation applied to a string tries to convert
+that string to a number, following the usual rules.
+Conversely, whenever a number is used when a string is expected,
+that number is converted to a string, according to the following rule:
+if the number is an integer, it is written without exponent or decimal point;
+otherwise, it is formatted following the <CODE>%g</CODE>
+conversion specification of the <CODE>printf</CODE> function in the
+standard C library.
+For complete control on how numbers are converted to strings,
+use the <CODE>format</CODE> function (see Section&nbsp;<A HREF="#format">6.2</A>).
+<P>
+<P>
+<A NAME="adjust"></A>
+<A NAME="4.4"></A>
+<H2>4.4 - Adjustment</H2>
+<P>
+Functions in Lua can return many values.
+Because there are no type declarations,
+the system does not know how many values a function will return,
+or how many parameters it needs.
+Therefore, sometimes, a list of values must be <EM>adjusted</EM>, at run time,
+to a given length.
+If there are more values than are needed, then the last values are thrown away.
+If there are more needs than values, then the list is extended with as
+many <B>nil</B>'s as needed.
+Adjustment occurs in multiple assignment and function calls.
+<P>
+<P>
+<A NAME="4.5"></A>
+<H2>4.5 - Statements</H2>
+<P>
+Lua supports an almost conventional set of <A NAME="statements">statements</A>,
+similar to those in Pascal or C.
+The conventional commands include
+assignment, control structures and procedure calls.
+Non-conventional commands include table constructors
+(see Section&nbsp;<A HREF="#tableconstructor">4.6.7</A>),
+and local variable declarations (see Section&nbsp;<A HREF="#localvar">4.5.5</A>).
+<P>
+<H3>4.5.1 - Blocks</H3>
+A <A NAME="block">block</A> is a list of statements, which are executed sequentially.
+Any statement can be optionally followed by a semicolon:
+<LISTING>
+block ::= {stat sc} [ret]
+sc ::= ['<B>;</B>']
+</LISTING>
+For syntactic reasons, a <A NAME="return"><TT>return</TT></A> statement can only be written
+as the last statement of a block.
+This restriction also avoids some ``statement not reached'' conditions.
+<P>
+<A NAME="assignment"></A>
+<H3>4.5.2 - <A NAME="Assignment</H3>">Assignment</H3></A>
+The language allows <A NAME="multiple assignment">multiple assignment</A>.
+Therefore, the syntax for assignment
+defines a list of variables on the left side,
+and a list of expressions on the right side.
+Both lists have their elements separated by commas:
+<LISTING>
+stat ::= varlist1 '<B>=</B>' explist1
+varlist1 ::= var {'<B>,</B>' var}
+</LISTING>
+This statement first evaluates all values on the right side
+and eventual indices on the left side,
+and then makes the assignments.
+Therefore, it can be used to exchange two values, as in
+<LISTING>
+ x, y = y, x
+</LISTING>
+The two lists may have different lengths.
+Before the assignment, the list of values is <EM>adjusted</EM> to
+the length of the list of variables (see Section&nbsp;<A HREF="#adjust">4.4</A>).
+<P>
+A single name can denote a global or a local variable,
+or a formal parameter:
+<LISTING>
+var ::= name
+</LISTING>
+Square brackets are used to index a table:
+<LISTING>
+var ::= var '<B>[</B>' exp1 '<B>]</B>'
+</LISTING>
+The <CODE>var</CODE> should result in a table value,
+where the field indexed by the expression value gets the assigned value.
+<P>
+The meaning of assignments and evaluations of global variables and
+indexed variables can be changed by tag methods (see Section&nbsp;<A HREF="#tag-method">4.8</A>).
+Actually,
+an assignment <CODE>x = val</CODE>, where <CODE>x</CODE> is a global variable,
+is equivalent to a call <CODE>setglobal('x', val)</CODE>;
+an assignment <CODE>t[i] = val</CODE> is equivalent to
+<CODE>settable_event(t, i, val)</CODE>.
+See Section&nbsp;<A HREF="#tag-method">4.8</A> for a description of these functions
+\footnote{Function <CODE>setglobal</CODE> is pre-defined in Lua.
+Function <TT>settable_event</TT> is used only for explanation purposes.}.
+<P>
+The syntax <CODE>var.NAME</CODE> is just syntactic sugar for
+<CODE>var["NAME"]</CODE>:
+<LISTING>
+var ::= var '<B>.</B>' name
+</LISTING>
+<P>
+<H3>4.5.3 - Control Structures</H3>
+The <A NAME="condition expression">condition expression</A> of a control structure may return any value.
+All values different from <B>nil</B> are considered true;
+only <B>nil</B> is considered false.
+<TT>if</TT>'s, <TT>while</TT>'s and <TT>repeat</TT>'s have the usual meaning.
+<P>
+<A NAME="while-do"></A><A NAME="repeat-until"></A><A NAME="if-then-else"></A>
+<LISTING>
+stat ::= <B>while</B> exp1 <B>do</B> block <B>end</B> <BR> | <B>repeat</B> block <B>until</B> exp1 <BR> | <B>if</B> exp1 <B>then</B> block {elseif} [<B>else</B> block] <B>end</B>
+elseif ::= <B>elseif</B> exp1 <B>then</B> block
+</LISTING>
+<P>
+A <TT>return</TT> is used to return values from a function or a chunk.
+<A NAME="return"></A>
+
+Because they may return more than one value,
+the syntax for a <A NAME="return statement">return statement</A> is:
+<LISTING>
+ret ::= <B>return</B> [explist1] [sc]
+</LISTING>
+<P>
+<A NAME="funcstat"></A>
+<H3>4.5.4 - Function Calls as Statements</H3>
+Because of possible side-effects,
+function calls can be executed as statements:
+<LISTING>
+stat ::= functioncall
+</LISTING>
+In this case, returned values are thrown away.
+Function calls are explained in Section&nbsp;<A HREF="#functioncall">4.6.8</A>.
+<P>
+<A NAME="localvar"></A>
+<H3>4.5.5 - Local Declarations</H3>
+<A NAME="Local variables">Local variables</A> may be declared anywhere inside a block.
+Their scope begins after the declaration and lasts until the
+end of the block.
+The declaration may include an initial assignment:
+<LISTING>
+stat ::= <B>local</B> declist [init]
+declist ::= name {'<B>,</B>' name}
+init ::= '<B>=</B>' explist1
+</LISTING>
+If present, an initial assignment has the same semantics
+of a multiple assignment.
+Otherwise, all variables are initialized with <B>nil</B>.
+<P>
+<P>
+<A NAME="4.6"></A>
+<H2>4.6 - Expressions</H2>
+<P>
+<H3>4.6.1 - <A NAME="Simple Expressions</H3>">Simple Expressions</H3></A>
+Simple expressions are:
+<LISTING>
+exp ::= '<B>(</B>' exp '<B>)</B>'
+exp ::= <B>nil</B>
+exp ::= '<B>number</B>'
+exp ::= '<B>literal</B>'
+exp ::= var
+</LISTING>
+Numbers (numerical constants) and
+string literals are explained in Section&nbsp;<A HREF="#lexical">4.1</A>.
+Variables are explained in Section&nbsp;<A HREF="#assignment">4.5.2</A>.
+<P>
+An access to a global variable <CODE>x</CODE> is equivalent to a
+call <CODE>getglobal('x')</CODE>;
+an access to an indexed variable <CODE>t[i]</CODE> is equivalent to
+a call <CODE>gettable_event(t, i)</CODE>.
+See Section&nbsp;<A HREF="#tag-method">4.8</A> for a description of these functions
+\footnote{Function <CODE>getglobal</CODE> is pre-defined in Lua.
+Function <TT>gettable_event</TT> is used only for explanation purposes.}.
+<P>
+The non-terminal <EM>exp1</EM> is used to indicate that the values
+returned by an expression must be adjusted to one single value:
+<LISTING>
+exp1 ::= exp
+</LISTING>
+<P>
+<H3>4.6.2 - Arithmetic Operators</H3>
+Lua supports the usual <A NAME="arithmetic operators">arithmetic operators</A>:
+the binary <CODE>+</CODE> (addition),
+<CODE>-</CODE> (subtraction), <CODE>*</CODE> (multiplication),
+<CODE>/</CODE> (division) and <CODE>^</CODE> (exponentiation),
+and unary <CODE>-</CODE> (negation).
+If the operands are numbers, or strings that can be converted to
+numbers, according to the rules given in Section&nbsp;<A HREF="#coercion">4.3</A>,
+then all operations except exponentiation have the usual meaning.
+Otherwise, an appropriate tag method is called (see Section&nbsp;<A HREF="#tag-method">4.8</A>).
+An exponentiation always calls a tag method.
+The standard mathematical library redefines this method for numbers,
+giving the expected meaning to <A NAME="exponentiation">exponentiation</A>
+(see Section&nbsp;<A HREF="#mathlib">6.3</A>).
+<P>
+<H3>4.6.3 - Relational Operators</H3>
+Lua provides the following <A NAME="relational operators">relational operators</A>:
+<LISTING>
+ &lt; &gt; &lt;= &gt;= ~= ==
+</LISTING>
+All these return <B>nil</B> as false and a value different from <B>nil</B> as true.
+<P>
+Equality first compares the types of its operands.
+If they are different, then the result is <B>nil</B>.
+Otherwise, their values are compared.
+Numbers and strings are compared in the usual way.
+Tables, userdata and functions are compared by reference,
+that is, two tables are considered equal only if they are the same table.
+The operator <CODE>~=</CODE> is exactly the negation of equality (<CODE>==</CODE>).
+Note that the conversion rules of Section&nbsp;<A HREF="#coercion">4.3</A>
+<EM>do not</EM> apply to equality comparisons.
+Thus, <CODE>"0"==0</CODE> evaluates to false.
+<P>
+The other operators work as follows.
+If both arguments are numbers, then they are compared as such.
+Otherwise, if both arguments are strings,
+their values are compared using lexicographical order.
+Otherwise, the ``order'' tag method is called (see Section&nbsp;<A HREF="#tag-method">4.8</A>).
+<P>
+<H3>4.6.4 - Logical Operators</H3>
+Like control structures, all logical operators
+consider <B>nil</B> as false and anything else as true.
+The <A NAME="logical operators">logical operators</A> are:
+<A NAME="and"></A><A NAME="or"></A><A NAME="not"></A>
+<LISTING>
+ and or not
+</LISTING>
+The operator <CODE>and</CODE> returns <B>nil</B> if its first argument is <B>nil</B>;
+otherwise, it returns its second argument.
+The operator <CODE>or</CODE> returns its first argument
+if it is different from <B>nil</B>;
+otherwise, it returns its second argument.
+Both <CODE>and</CODE> and <CODE>or</CODE> use <A NAME="short-cut evaluation">short-cut evaluation</A>,
+that is,
+the second operand is evaluated only when necessary.
+<P>
+<H3>4.6.5 - Concatenation</H3>
+Lua offers a string <A NAME="concatenation">concatenation</A> operator,
+denoted by ``<A NAME=".."><TT>..</TT></A>''.
+If operands are strings or numbers, then they are converted to
+strings according to the rules in Section&nbsp;<A HREF="#coercion">4.3</A>.
+Otherwise, the ``concat'' tag method is called (see Section&nbsp;<A HREF="#tag-method">4.8</A>).
+<P>
+<H3>4.6.6 - Precedence</H3>
+<A NAME="Operator precedence">Operator precedence</A> follows the table below,
+from the lower to the higher priority:
+<LISTING>
+ and or
+ &lt; &gt; &lt;= &gt;= ~= ==
+ ..
+ + -
+ * /
+ not - (unary)
+ ^
+</LISTING>
+All binary operators are left associative,
+except for <CODE>^</CODE> (exponentiation),
+which is right associative.
+<P>
+<A NAME="tableconstructor"></A>
+<H3>4.6.7 - Table Constructors</H3>
+Table <A NAME="constructors">constructors</A> are expressions that create tables;
+every time a constructor is evaluated, a new table is created.
+Constructors can be used to create empty tables,
+or to create a table and initialize some fields.
+<P>
+The general syntax for constructors is:
+<LISTING>
+tableconstructor ::= '<B>{</B>' fieldlist '<B>}</B>'
+fieldlist ::= lfieldlist | ffieldlist | lfieldlist '<B>;</B>' ffieldlist
+lfieldlist ::= [lfieldlist1]
+ffieldlist ::= [ffieldlist1]
+</LISTING>
+<P>
+The form <EM>lfieldlist1</EM> is used to initialize lists.
+<LISTING>
+lfieldlist1 ::= exp {'<B>,</B>' exp} ['<B>,</B>']
+</LISTING>
+The expressions in the list are assigned to consecutive numerical indices,
+starting with 1.
+For example:
+<LISTING>
+ a = {"v1", "v2", 34}
+</LISTING>
+is essentially equivalent to:
+<LISTING>
+ temp = {}
+ temp[1] = "v1"
+ temp[2] = "v2"
+ temp[3] = 34
+ a = temp
+</LISTING>
+<P>
+The form <EM>ffieldlist1</EM> initializes other fields in a table:
+<LISTING>
+ffieldlist1 ::= ffield {'<B>,</B>' ffield} ['<B>,</B>']
+ffield ::= '<B>[</B>' exp '<B>]</B>' \ter {= exp | name '<B>=</B>' exp}
+</LISTING>
+For example:
+<LISTING>
+ a = {[f(k)] = g(y), x = 1, y = 3, [0] = b+c}
+</LISTING>
+is essentially equivalent to:
+<LISTING>
+ temp = {}
+ temp[f(k)] = g(y)
+ temp.x = 1 -- or temp["x"] = 1
+ temp.y = 3 -- or temp["y"] = 3
+ temp[0] = b+c
+ a = temp
+</LISTING>
+An expression like <CODE>{x = 1, y = 4}</CODE> is
+in fact syntactic sugar for <CODE>{["x"] = 1, ["y"] = 4}</CODE>.
+<P>
+<A NAME="functioncall"></A>
+<H3>4.6.8 - Function Calls</H3>
+A <A NAME="function call">function call</A> has the following syntax:
+<LISTING>
+functioncall ::= var realParams
+</LISTING>
+Here, <EM>var</EM> can be any variable (global, local, indexed, etc).
+If its value has type <EM>function</EM>,
+then this function is called.
+Otherwise, the ``function'' tag method is called,
+having as first parameter the value of <EM>var</EM>,
+and then the original call parameters.
+<P>
+The form:
+<LISTING>
+functioncall ::= var '<B>:</B>' name realParams
+</LISTING>
+can be used to call ``methods''.
+A call <CODE>var:name(...)</CODE>
+is syntactic sugar for
+<LISTING>
+ var.name(var, ...)
+</LISTING>
+except that <CODE>var</CODE> is evaluated only once.
+<P>
+<LISTING>
+realParams ::= '<B>(</B>' [explist1] '<B>)</B>'
+realParams ::= tableconstructor
+explist1 ::= exp1 {'<B>,</B>' exp1}
+</LISTING>
+All argument expressions are evaluated before the call.
+A call of the form <CODE>f{...}</CODE> is syntactic sugar for
+<CODE>f({...})</CODE>, that is,
+the parameter list is a single new table.
+<P>
+Because a function can return any number of results
+(see Section&nbsp;<A HREF="#return">4.5.3</A>),
+the number of results must be adjusted before used.
+If the function is called as a statement (see Section&nbsp;<A HREF="#funcstat">4.5.4</A>),
+then its return list is adjusted to&nbsp;0,
+thus discarding all returned values.
+If the function is called in a place that needs a single value
+(syntactically denoted by the non-terminal <EM>exp1</EM>),
+then its return list is adjusted to&nbsp;1,
+thus discarding all returned values but the first one.
+If the function is called in a place that can hold many values
+(syntactically denoted by the non-terminal <EM>exp</EM>),
+then no adjustment is made.
+<P>
+<P>
+<A NAME="func-def"></A>
+<A NAME="4.7"></A>
+<H2>4.7 - Function Definitions</H2>
+<P>
+Functions in Lua can be defined anywhere in the global level of a chunk.
+The syntax for function definition is:
+<LISTING>
+function ::= <B>function</B> var '<B>(</B>' [parlist1] '<B>)</B>' block <B>end</B>
+</LISTING>
+<P>
+When Lua pre-compiles a chunk,
+all its function bodies are pre-compiled, too.
+Then, when Lua ``executes'' the function definition,
+its body is stored, with type <EM>function</EM>,
+into the variable <CODE>var</CODE>.
+It is in this sense that
+a function definition is an assignment to a global variable.
+<P>
+Parameters act as local variables,
+initialized with the argument values.
+<LISTING>
+parlist1 ::= '<B>...</B>'
+parlist1 ::= name {'<B>,</B>' name} ['<B>,</B>' '<B>...</B>']
+</LISTING>
+<A NAME="vararg"></A>
+
+When a function is called,
+the list of <A NAME="arguments">arguments</A> is adjusted to
+the length of the list of parameters (see Section&nbsp;<A HREF="#adjust">4.4</A>),
+unless the function is a <A NAME="vararg"><EM>vararg</EM></A> function,
+indicated by the dots (...) at the end of its parameter list.
+A vararg function does not adjust its argument list;
+instead, it collects any extra arguments in an implicit parameter,
+called <A NAME="arg"><EM>arg</EM></A>.
+This parameter is always initialized as a table,
+with a field <CODE>n</CODE> with the number of extra arguments,
+and the extra arguments at positions 1, 2, ...
+<P>
+As an example, suppose definitions like:
+<LISTING>
+ function f(a, b) end
+ function g(a, b, ...) end
+</LISTING>
+Then, we have the following mapping from arguments to parameters:
+<LISTING>
+ CALL PARAMETERS
+<P>
+ f(3) a=3, b=nil
+ f(3, 4) a=3, b=4
+ f(3, 4, 5) a=3, b=4
+<P>
+ g(3) a=3, b=nil, arg={n=0}
+ g(3, 4) a=3, b=4, arg={n=0}
+ g(3, 4, 5, 8) a=3, b=4, arg={5, 8; n=2}
+</LISTING>
+<P>
+Results are returned using the <CODE>return</CODE> statement (see Section&nbsp;<A HREF="#return">4.5.3</A>).
+If control reaches the end of a function without a return instruction,
+then the function returns with no results.
+<P>
+There is a special syntax for defining <A NAME="methods">methods</A>,
+that is, functions that have an extra parameter <A NAME="self"><EM>self</EM></A>.
+<LISTING>
+function ::= <B>function</B> var '<B>:</B>' name '<B>(</B>' [parlist1] '<B>)</B>' block <B>end</B>
+</LISTING>
+Thus, a declaration like
+<LISTING>
+function v:f (...)
+ ...
+end
+</LISTING>
+is equivalent to
+<LISTING>
+function v.f (self, ...)
+ ...
+end
+</LISTING>
+that is, the function gets an extra formal parameter called <CODE>self</CODE>.
+Notice that
+the variable <CODE>v</CODE> must have been
+previously initialized with a table value.
+<P>
+<P>
+<A NAME="tag-method"></A>
+<A NAME="4.8"></A>
+<H2>4.8 - Tag Methods</H2>
+<P>
+Lua provides a powerful mechanism to extend its semantics,
+called <A NAME="Tag Methods"><EM>Tag Methods</EM></A>.
+A tag method (TM) is a programmer-defined function
+that can be called at many key points of the evaluation of a program,
+allowing a programmer to change the standard Lua behavior at these points.
+Each of these points is called an <A NAME="event"><EM>event</EM></A>.
+<P>
+The tag method called for any specific event is selected
+according to the tag of the values involved
+in the event (see Section&nbsp;<A HREF="#TypesSec">3</A>).
+The function <A NAME="settagmethod"><TT>settagmethod</TT></A> changes the tag method
+associated with a given pair <EM>&lt;tag, event&gt;</EM>.
+Its first parameter is the tag, the second the event name
+(a string, see below),
+and the third parameter is the new method (a function),
+or <B>nil</B> to restore the default behavior.
+The function returns the previous tag method.
+Another function, <A NAME="gettagmethod"><TT>gettagmethod</TT></A>,
+receives a tag and an event name and returns the
+current method associated with the pair.
+<P>
+Tag methods are called in the following events,
+identified by the given names.
+The semantics of tag methods is better explained by a Lua function
+describing the behavior of the interpreter at each event.
+The function not only shows when a tag method is called,
+but also its arguments, its results and the default behavior.
+Please notice that the code shown here is only illustrative;
+the real behavior is hard coded in the interpreter,
+and it is much more efficient than this simulation.
+All functions used in these descriptions
+(<CODE>rawgetglobal</CODE>, <CODE>tonumber</CODE>, <CODE>call</CODE>, etc)
+are described in Section&nbsp;<A HREF="#predefined">6.1</A>.
+<P>
+<DL>
+<P>
+<DT><B>``add'':</B><DD><A NAME="add event"></A>
+called when a <CODE>+</CODE> operation is applied to non numerical operands.
+<P>
+The function <CODE>getbinmethod</CODE> defines how Lua chooses a tag method
+for a binary operation.
+First Lua tries the first operand.
+If its tag does not define a tag method for the operation,
+then Lua tries the second operand.
+If it also fails, then it gets a tag method from tag&nbsp;0:
+<LISTING>
+ function getbinmethod (op1, op2, event)
+ return gettagmethod(tag(op1), event) or
+ gettagmethod(tag(op2), event) or
+ gettagmethod(0, event)
+ end
+</LISTING>
+<LISTING>
+ function add_event (op1, op2)
+ local o1, o2 = tonumber(op1), tonumber(op2)
+ if o1 and o2 then -- both operands are numeric
+ return o1+o2 -- '+' here is the primitive 'add'
+ else -- at least one of the operands is not numeric.
+ local tm = getbinmethod(op1, op2, "add")
+ if tm then
+ -- call the method with both operands and an extra
+ -- argument with the event name
+ return tm(op1, op2, "add")
+ else -- no tag method available: Default behavior
+ error("unexpected type at arithmetic operation")
+ end
+ end
+ end
+</LISTING>
+<P>
+<DT><B>``sub'':</B><DD><A NAME="sub event"></A>
+called when a <CODE>-</CODE> operation is applied to non numerical operands.
+Behavior similar to <CODE>"add"</CODE> event.
+<P>
+<DT><B>``mul'':</B><DD><A NAME="mul event"></A>
+called when a <CODE>*</CODE> operation is applied to non numerical operands.
+Behavior similar to <CODE>"add"</CODE> event.
+<P>
+<DT><B>``div'':</B><DD><A NAME="div event"></A>
+called when a <CODE>/</CODE> operation is applied to non numerical operands.
+Behavior similar to <CODE>"add"</CODE> event.
+<P>
+<DT><B>``pow'':</B><DD><A NAME="pow event"></A>
+called when a <CODE>^</CODE> operation is applied.
+<LISTING>
+ function pow_event (op1, op2)
+ local tm = getbinmethod(op1, op2, "pow")
+ if tm then
+ -- call the method with both operands and an extra
+ -- argument with the event name
+ return tm(op1, op2, "pow")
+ else -- no tag method available: Default behavior
+ error("unexpected type at arithmetic operation")
+ end
+ end
+</LISTING>
+<P>
+<DT><B>``unm'':</B><DD><A NAME="unm event"></A>
+called when an unary <CODE>-</CODE> operation is applied to a non numerical operand.
+<LISTING>
+ function unm_event (op)
+ local o = tonumber(op)
+ if o then -- operand is numeric
+ return -o -- '-' here is the primitive 'unm'
+ else -- the operand is not numeric.
+ -- Try to get a tag method from the operand;
+ -- if it does not have one, try a "global" one (tag 0)
+ local tm = gettagmethod(tag(op), "unm") or
+ gettagmethod(0, "unm")
+ if tm then
+ -- call the method with the operand, nil, and an extra
+ -- argument with the event name
+ return tm(op, nil, "unm")
+ else -- no tag method available: Default behavior
+ error("unexpected type at arithmetic operation")
+ end
+ end
+ end
+</LISTING>
+<P>
+<DT><B>``lt'':</B><DD><A NAME="lt event"></A>
+called when a <CODE>&lt;</CODE> operation is applied to non numerical
+or non string operands.
+<LISTING>
+ function lt_event (op1, op2)
+ if type(op1) == "number" and type(op2) == "number" then
+ return op1 &lt; op2 -- numeric comparison
+ elseif type(op1) == "string" and type(op2) == "string" then
+ return op1 &lt; op2 -- lexicographic comparison
+ else
+ local tm = getbinmethod(op1, op2, "lt")
+ if tm then
+ return tm(op1, op2, "lt")
+ else
+ error("unexpected type at comparison");
+ end
+ end
+ end
+</LISTING>
+<P>
+<DT><B>``gt'':</B><DD><A NAME="gt event"></A>
+called when a <CODE>&gt;</CODE> operation is applied to non numerical
+or non string operands.
+Behavior similar to <CODE>"lt"</CODE> event.
+<P>
+<DT><B>``le'':</B><DD><A NAME="le event"></A>
+called when a <CODE>&lt;=</CODE> operation is applied to non numerical
+or non string operands.
+Behavior similar to <CODE>"lt"</CODE> event.
+<P>
+<DT><B>``ge'':</B><DD><A NAME="ge event"></A>
+called when a <CODE>&gt;=</CODE> operation is applied to non numerical
+or non string operands.
+Behavior similar to <CODE>"lt"</CODE> event.
+<P>
+<DT><B>``concat'':</B><DD><A NAME="concatenation event"></A>
+called when a concatenation is applied to non string operands.
+<LISTING>
+ function concat_event (op1, op2)
+ if (type(op1) == "string" or type(op1) == "number") and
+ (type(op2) == "string" or type(op2) == "number") then
+ return op1..op2 -- primitive string concatenation
+ else
+ local tm = getbinmethod(op1, op2, "concat")
+ if tm then
+ return tm(op1, op2, "concat")
+ else
+ error("unexpected type for concatenation")
+ end
+ end
+ end
+</LISTING>
+<P>
+<DT><B>``index'':</B><DD><A NAME="index event"></A>
+called when Lua tries to retrieve the value of an index
+not present in a table.
+See event <CODE>"gettable"</CODE> for its semantics.
+<P>
+<DT><B>``getglobal'':</B><DD><A NAME="getglobal event"></A>
+called whenever Lua accesses a global variable.
+This method can only be set for <B>nil</B> and for tags
+created by <CODE>newtag</CODE>.
+<LISTING>
+ function getglobal (varname)
+ local value = rawgetglobal(varname)
+ local tm = gettagmethod(tag(value), "getglobal")
+ if not tm then
+ return value
+ else
+ return tm(varname, value)
+ end
+ end
+</LISTING>
+Notice: the function <CODE>getglobal</CODE> is pre-defined in Lua (see Section&nbsp;<A HREF="#predefined">6.1</A>).
+<P>
+<DT><B>``setglobal'':</B><DD><A NAME="setglobal event"></A>
+called whenever Lua assigns to a global variable.
+This method cannot be set for numbers, strings, and tables and
+userdata with default tags.
+<LISTING>
+ function setglobal (varname, newvalue)
+ local oldvalue = rawgetglobal(varname)
+ local tm = gettagmethod(tag(oldvalue), "setglobal")
+ if not tm then
+ return rawsetglobal(varname, newvalue)
+ else
+ return tm(varname, oldvalue, newvalue)
+ end
+ end
+</LISTING>
+Notice: the function <CODE>setglobal</CODE> is pre-defined in Lua (see Section&nbsp;<A HREF="#predefined">6.1</A>).
+<P>
+<DT><B>``gettable'':</B><DD><A NAME="gettable event"></A>
+called whenever Lua accesses an indexed variable.
+This method cannot be set for tables with default tag.
+<LISTING>
+ function gettable_event (table, index)
+ local tm = gettagmethod(tag(table), "gettable")
+ if tm then
+ return tm(table, index)
+ elseif type(table) ~= "table" then
+ error("indexed expression not a table");
+ else
+ local v = rawgettable(table, index)
+ tm = gettagmethod(tag(table), "index")
+ if (v == nil) and tm then
+ return tm(table, index)
+ else
+ return v
+ end
+ end
+ end
+</LISTING>
+<P>
+<DT><B>``settable'':</B><DD><A NAME="settable event"></A>
+called when Lua assigns to an indexed variable.
+This method cannot be set for tables with default tag.
+<LISTING>
+ function settable_event (table, index, value)
+ local tm = gettagmethod(tag(table), "settable")
+ if tm then
+ tm(table, index, value)
+ elseif type(table) ~= "table" then
+ error("indexed expression not a table")
+ else
+ rawsettable(table, index, value)
+ end
+ end
+</LISTING>
+<P>
+<DT><B>``function'':</B><DD><A NAME="function event"></A>
+called when Lua tries to call a non function value.
+<LISTING>
+ function function_event (func, ...)
+ if type(func) == "function" then
+ return call(func, arg)
+ else
+ local tm = gettagmethod(tag(func), "function")
+ if tm then
+ local i = arg.n
+ while i &gt; 0 do
+ arg[i+1] = arg[i]
+ i = i-1
+ end
+ arg.n = arg.n+1
+ arg[1] = func
+ return call(tm, arg)
+ else
+ error("call expression not a function")
+ end
+ end
+ end
+</LISTING>
+<P>
+<DT><B>``gc'':</B><DD><A NAME="gc event"></A>
+called when Lua is garbage collecting an object.
+This method cannot be set for strings, numbers, functions,
+and userdata with default tag.
+For each object to be collected,
+Lua does the equivalent of the following function:
+<LISTING>
+ function gc_event (obj)
+ local tm = gettagmethod(tag(obj), "gc")
+ if tm then
+ tm(obj)
+ end
+ end
+</LISTING>
+Moreover, at the end of a garbage collection cycle,
+Lua does the equivalent of the call <CODE>gc_event(nil)</CODE>.
+<P>
+</DL>
+<P>
+<P>
+<P>
+<A NAME="error"></A>
+<A NAME="4.9"></A>
+<H2>4.9 - Error Handling</H2>
+<P>
+Because Lua is an extension language,
+all Lua actions start from C code calling a function from the Lua library.
+Whenever an error occurs during Lua compilation or execution,
+the <A NAME="error method"><EM>error method</EM></A> is called,
+and then the corresponding function from the library
+(<CODE>lua_dofile</CODE>, <CODE>lua_dostring</CODE>, or <CODE>lua_callfunction</CODE>)
+is terminated returning an error condition.
+<P>
+The only argument to the error method is a string
+describing the error.
+The default method prints this message in <CODE>stderr</CODE>.
+If needed, it is possible to change the error method with the
+function <CODE>seterrormethod</CODE>,
+which gets the new error handler as its only parameter
+(see Section&nbsp;<A HREF="#pdf-seterrormethod">6.1</A>).
+The standard I/O library uses this facility to redefine the error method,
+using the debug facilities (see Section&nbsp;<A HREF="#debugI">7</A>),
+in order to print some extra information,
+like the call stack.
+<P>
+To provide more information about errors,
+Lua programs should include the compilation pragma <CODE>$debug</CODE>.
+<A NAME="pragma"></A>
+<A NAME="debug pragma"></A>
+When an error occurs in a program compiled with this option,
+the I/O error routine is able to print the number of the
+lines where the calls (and the error) were made.
+<P>
+Lua code can explicitly generate an error by calling the built-in
+function <CODE>error</CODE> (see Section&nbsp;<A HREF="#pdf-error">6.1</A>).
+<P>
+<P>
+<!-- ====================================================================== -->
+<HR>
+<A NAME="5."></A>
+<H1>5 - The Application Program Interface</H1>
+<P>
+This section describes the API for Lua, that is,
+the set of C functions available to the host program to communicate
+with the Lua library.
+The API functions can be classified in the following categories:
+<OL>
+<LI>exchanging values between C and Lua;
+<LI>executing Lua code;
+<LI>manipulating (reading and writing) Lua objects;
+<LI>calling Lua functions;
+<LI>C functions to be called by Lua;
+<LI>manipulating references to Lua Objects.
+</OL>
+All API functions and related types and constants
+are declared in the header file <CODE>lua.h</CODE>.
+<P>
+<A NAME="valuesCLua"></A>
+<A NAME="5.1"></A>
+<H2>5.1 - Exchanging Values between C and Lua</H2>
+Because Lua has no static type system,
+all values passed between Lua and C have type
+<CODE>lua_Object</CODE><A NAME="lua_Object"></A>,
+which works like an abstract type in C that can hold any Lua value.
+Values of type <CODE>lua_Object</CODE> have no meaning outside Lua;
+for instance,
+the comparison of two <CODE>lua_Object's</CODE> is undefined.
+<P>
+To check the type of a <CODE>lua_Object</CODE>,
+the following functions are available:
+<A NAME="lua_isnil"></A><A NAME="lua_isnumber"></A><A NAME="lua_isstring"></A>
+<A NAME="lua_istable"></A><A NAME="lua_iscfunction"></A><A NAME="lua_isuserdata"></A>
+<A NAME="lua_isfunction"></A>
+<LISTING>
+int lua_isnil (lua_Object object);
+int lua_isnumber (lua_Object object);
+int lua_isstring (lua_Object object);
+int lua_istable (lua_Object object);
+int lua_isfunction (lua_Object object);
+int lua_iscfunction (lua_Object object);
+int lua_isuserdata (lua_Object object);
+</LISTING>
+All macros return 1 if the object is compatible with the given type,
+and 0 otherwise.
+The function <CODE>lua_isnumber</CODE> accepts numbers and numerical strings,
+whereas
+<CODE>lua_isstring</CODE> accepts strings and numbers (see Section&nbsp;<A HREF="#coercion">4.3</A>),
+and <CODE>lua_isfunction</CODE> accepts Lua and C functions.
+<P>
+To check the tag of a <CODE>lua_Object</CODE>,
+the following function is available:
+<A NAME="lua_tag"></A>
+<LISTING>
+int lua_tag (lua_Object object);
+</LISTING>
+<P>
+To translate a value from type <CODE>lua_Object</CODE> to a specific C type,
+the programmer can use:
+<A NAME="lua_getnumber"></A><A NAME="lua_getstring"></A>
+<A NAME="lua_getcfunction"></A><A NAME="lua_getuserdata"></A>
+<LISTING>
+float lua_getnumber (lua_Object object);
+char *lua_getstring (lua_Object object);
+lua_CFunction lua_getcfunction (lua_Object object);
+void *lua_getuserdata (lua_Object object);
+</LISTING>
+<P>
+<CODE>lua_getnumber</CODE> converts a <CODE>lua_Object</CODE> to a floating-point number.
+This <CODE>lua_Object</CODE> must be a number or a string convertible to number
+(see Section&nbsp;<A HREF="#coercion">4.3</A>); otherwise, the function returns&nbsp;0.
+<P>
+<CODE>lua_getstring</CODE> converts a <CODE>lua_Object</CODE> to a string (<CODE>char*</CODE>).
+This <CODE>lua_Object</CODE> must be a string or a number;
+otherwise, the function returns&nbsp;0 (the <CODE>NULL</CODE> pointer).
+This function does not create a new string,
+but returns a pointer to a string inside the Lua environment.
+Because Lua has garbage collection,
+there is no guarantee that such pointer will be valid after the block ends
+(see below).
+<P>
+<CODE>lua_getcfunction</CODE> converts a <CODE>lua_Object</CODE> to a C function.
+This <CODE>lua_Object</CODE> must have type <EM>CFunction</EM>;
+otherwise, the function returns 0 (the <CODE>NULL</CODE> pointer).
+The type <CODE>lua_CFunction</CODE> is explained in Section&nbsp;<A HREF="#LuacallC">5.5</A>.
+<P>
+<CODE>lua_getuserdata</CODE> converts a <CODE>lua_Object</CODE> to <CODE>void*</CODE>.
+This <CODE>lua_Object</CODE> must have type <EM>userdata</EM>;
+otherwise, the function returns 0 (the <CODE>NULL</CODE> pointer).
+<P>
+Because Lua has automatic memory management and garbage collection,
+a <CODE>lua_Object</CODE> has a limited scope,
+and is only valid inside the <EM>block</EM> where it was created.
+A C function called from Lua is a block,
+and its parameters are valid only until its end.
+It is good programming practice to convert Lua objects to C values
+as soon as they are available,
+and never to store <CODE>lua_Object</CODE>s in C global variables.
+<P>
+A garbage collection cycle can be forced by:
+<A NAME="lua_collectgarbage"></A>
+<LISTING>
+long lua_collectgarbage (long limit);
+</LISTING>
+This function returns the number of objects collected.
+The argument <CODE>limit</CODE> makes the next cycle occur only
+when that number of new objects have been created.
+If <CODE>limit</CODE>=0, then Lua uses an adaptable heuristics to set this limit.
+<P>
+<P>
+All communication between Lua and C is done through two
+abstract data types, called <A NAME="lua2C"><EM>lua2C</EM></A> and <A NAME="C2lua"><EM>C2lua</EM></A>.
+The first one, as the name implies, is used to pass values
+from Lua to C: parameters when Lua calls C and results when C calls Lua.
+The structure C2lua is used in the reverse direction:
+parameters when C calls Lua and results when Lua calls C.
+<P>
+The structure lua2C is an abstract array,
+which can be indexed with the function:
+<A NAME="lua_lua2C"></A>
+<LISTING>
+lua_Object lua_lua2C (int number);
+</LISTING>
+where <CODE>number</CODE> starts with 1.
+When called with a number larger than the array size,
+this function returns <CODE>LUA_NOOBJECT</CODE><A NAME="LUA_NOOBJECT"></A>.
+In this way, it is possible to write C functions that receive
+a variable number of parameters,
+and to call Lua functions that return a variable number of results.
+Notice that the structure lua2C cannot be directly modified by C code.
+<P>
+The second structure, C2lua, is a stack.
+Pushing elements into this stack
+is done with the following functions:
+<A NAME="lua_pushnumber"></A><A NAME="lua_pushstring"></A>
+<A NAME="lua_pushcfunction"></A><A NAME="lua_pushusertag"></A>
+<A NAME="lua_pushnil"></A><A NAME="lua_pushobject"></A>
+<A NAME="pushing"></A>
+<A NAME="lua_pushuserdata"></A>
+<LISTING>
+void lua_pushnumber (double n);
+void lua_pushstring (char *s);
+void lua_pushcfunction (lua_CFunction f);
+void lua_pushusertag (void *u, int tag);
+void lua_pushnil (void);
+void lua_pushobject (lua_Object object);
+</LISTING>
+All of them receive a C value,
+convert it to a corresponding <CODE>lua_Object</CODE>,
+and leave the result on the top of C2lua.
+The function
+<A NAME="lua_pop"></A>
+<LISTING>
+lua_Object lua_pop (void);
+</LISTING>
+returns a reference to the object at the top of the C2lua stack,
+and pops it.
+<P>
+As a general rule, all API functions pop from the stack
+all elements that they use.
+<P>
+Because userdata are objects,
+the function <CODE>lua_pushusertag</CODE> may create a new userdata.
+If Lua has a userdata with the given value (<CODE>void*</CODE>) and tag,
+that userdata is pushed.
+Otherwise, a new userdata is created, with the given value and tag.
+If this function is called with
+<CODE>tag</CODE>=<CODE>LUA_ANYTAG</CODE><A NAME="LUA_ANYTAG"></A>,
+then Lua will try to find any userdata with the given value,
+no matter its tag.
+If there is no userdata with that value, then a new one is created,
+with tag=0.
+<P>
+Userdata can have different tags,
+whose semantics are only known to the host program.
+Tags are created with the function:
+<A NAME="lua_newtag"></A>
+<LISTING>
+int lua_newtag (void);
+</LISTING>
+The function <CODE>lua_settag</CODE> changes the tag of
+the object on the top of C2lua (and pops it);
+the object must be a userdata or a table.
+<A NAME="lua_settag"></A>
+<LISTING>
+void lua_settag (int tag);
+</LISTING>
+<CODE>tag</CODE> must be a value created with <CODE>lua_newtag</CODE>.
+<P>
+When C code calls Lua repeatedly, as in a loop,
+objects returned by these calls can accumulate,
+and may cause a stack overflow.
+To avoid this,
+nested blocks can be defined with the functions:
+<LISTING>
+void lua_beginblock (void);
+void lua_endblock (void);
+</LISTING>
+After the end of the block,
+all <CODE>lua_Object</CODE>'s created inside it are released.
+The use of explicit nested blocks is strongly encouraged.
+<P>
+<A NAME="5.2"></A>
+<H2>5.2 - Executing Lua Code</H2>
+A host program can execute Lua chunks written in a file or in a string
+using the following functions:
+<A NAME="lua_dofile"></A><A NAME="lua_dostring"></A>
+<LISTING>
+int lua_dofile (char *filename);
+int lua_dostring (char *string);
+</LISTING>
+Both functions return an error code:
+0, in case of success; non zero, in case of errors.
+More specifically, <CODE>lua_dofile</CODE> returns 2 if for any reason
+it could not open the file.
+The function <CODE>lua_dofile</CODE>, if called with argument <CODE>NULL</CODE>,
+executes the <CODE>stdin</CODE> stream.
+Function <CODE>lua_dofile</CODE> is also able to execute pre-compiled chunks.
+It automatically detects whether the file is text or binary,
+and loads it accordingly (see program <A NAME="luac"><TT>luac</TT></A>).
+<P>
+These functions return, in structure lua2C,
+any values eventually returned by the chunks.
+They also empty the stack C2lua.
+<P>
+<P>
+<A NAME="5.3"></A>
+<H2>5.3 - Manipulating Lua Objects</H2>
+To read the value of any global Lua variable,
+one uses the function:
+<A NAME="lua_getglobal"></A>
+<LISTING>
+lua_Object lua_getglobal (char *varname);
+</LISTING>
+As in Lua, this function may trigger a tag method.
+To read the real value of any global variable,
+without invoking any tag method,
+this function has a <EM>raw</EM> version:
+<A NAME="lua_rawgetglobal"></A>
+<LISTING>
+lua_Object lua_rawgetglobal (char *varname);
+</LISTING>
+<P>
+To store a value previously pushed onto C2lua in a global variable,
+there is the function:
+<A NAME="lua_setglobal"></A>
+<LISTING>
+void lua_setglobal (char *varname);
+</LISTING>
+As in Lua, this function may trigger a tag method.
+To set the real value of any global variable,
+without invoking any tag method,
+this function has a <EM>raw</EM> version:
+<A NAME="lua_rawgetglobal"></A>
+<LISTING>
+void lua_rawsetglobal (char *varname);
+</LISTING>
+<P>
+Tables can also be manipulated via the API.
+The function
+<A NAME="lua_gettable"></A>
+<LISTING>
+lua_Object lua_gettable (void);
+</LISTING>
+pops from the stack C2lua a table and an index,
+and returns the contents of the table at that index.
+As in Lua, this operation may trigger a tag method.
+To get the real value of any table index,
+without invoking any tag method,
+this function has a <EM>raw</EM> version:
+<A NAME="lua_rawgetglobal"></A>
+<LISTING>
+lua_Object lua_rawgettable (void);
+</LISTING>
+<P>
+To store a value in an index,
+the program must push the table, the index,
+and the value onto C2lua,
+and then call the function:
+<A NAME="lua_settable"></A>
+<LISTING>
+void lua_settable (void);
+</LISTING>
+Again, the tag method for ``settable'' may be called.
+To set the real value of any table index,
+without invoking any tag method,
+this function has a <EM>raw</EM> version:
+<A NAME="lua_rawsettable"></A>
+<LISTING>
+void lua_rawsettable (void);
+</LISTING>
+<P>
+Finally, the function
+<A NAME="lua_createtable"></A>
+<LISTING>
+lua_Object lua_createtable (void);
+</LISTING>
+creates and returns a new, empty table.
+<P>
+<P>
+<A NAME="5.4"></A>
+<H2>5.4 - Calling Lua Functions</H2>
+Functions defined in Lua by a chunk executed with
+<CODE>dofile</CODE> or <CODE>dostring</CODE> can be called from the host program.
+This is done using the following protocol:
+first, the arguments to the function are pushed onto C2lua
+(see Section&nbsp;<A HREF="#pushing">5.1</A>), in direct order, i.e., the first argument is pushed first.
+<P>
+Then, the function is called using
+<A NAME="lua_callfunction"></A>
+<LISTING>
+int lua_callfunction (lua_Object function);
+</LISTING>
+This function returns an error code:
+0, in case of success; non zero, in case of errors.
+Finally, the results (a Lua function may return many values)
+are returned in structure lua2C,
+and can be retrieved with the macro <CODE>lua_getresult</CODE>,
+<A NAME="lua_getresult"></A>
+which is just another name to the function <CODE>lua_lua2C</CODE>.
+Notice that the function <CODE>lua_callfunction</CODE>
+pops all elements from the C2lua stack.
+<P>
+The following example shows how a C program may do the
+equivalent to the Lua code:
+<LISTING>
+ a = f("how", t.x, 4)
+</LISTING>
+<LISTING>
+ lua_pushstring("how"); /* 1st argument */
+ lua_pushobject(lua_getglobal("t")); /* push value of global 't' */
+ lua_pushstring("x"); /* push the string 'x' */
+ lua_pushobject(lua_gettable()); /* push result of t.x (= t['x']) */
+ lua_pushnumber(4); /* 3th argument */
+ lua_callfunction(lua_getglobal("f")); /* call Lua function */
+ lua_pushobject(lua_getresult(1)); /* push first result of the call */
+ lua_setglobal("a"); /* sets global variable 'a' */
+</LISTING>
+<P>
+Some special Lua functions have exclusive interfaces.
+A C function can generate a Lua error calling the function
+<A NAME="lua_error"></A>
+<LISTING>
+void lua_error (char *message);
+</LISTING>
+This function never returns.
+If the C function has been called from Lua,
+then the corresponding Lua execution terminates,
+as if an error had occurred inside Lua code.
+Otherwise, the whole program terminates with a call to <CODE>exit(1)</CODE>.
+<P>
+The error handler method (see Section&nbsp;<A HREF="#error">4.9</A>) can be changed with:
+<A NAME="lua_seterrormethod"></A>
+<LISTING>
+lua_Object lua_seterrormethod (void);
+</LISTING>
+This function sets the object at the top of C2lua
+as the new error method,
+and returns the old error method value.
+<P>
+Tag methods can be changed with:
+<A NAME="lua_settagmethod"></A>
+<LISTING>
+lua_Object lua_settagmethod (int tag, char *event);
+</LISTING>
+The first parameter is the tag,
+the second is the event name (see Section&nbsp;<A HREF="#tag-method">4.8</A>);
+the new method is pushed from C2lua.
+This function returns a <CODE>lua_Object</CODE>,
+which is the old tag method value.
+To get just the current value of a tag method,
+there is the function
+<A NAME="lua_gettagmethod"></A>
+<LISTING>
+lua_Object lua_gettagmethod (int tag, char *event);
+</LISTING>
+<P>
+<P>
+<A NAME="LuacallC"></A>
+<A NAME="5.5"></A>
+<H2>5.5 - C Functions</H2>
+To register a C function to Lua,
+there is the following macro:
+<A NAME="lua_register"></A>
+<LISTING>
+#define lua_register(n,f) (lua_pushcfunction(f), lua_setglobal(n))
+/* char *n; */
+/* lua_CFunction f; */
+</LISTING>
+which receives the name the function will have in Lua,
+and a pointer to the function.
+This pointer must have type <CODE>lua_CFunction</CODE>,
+which is defined as
+<A NAME="lua_CFunction"></A>
+<LISTING>
+typedef void (*lua_CFunction) (void);
+</LISTING>
+that is, a pointer to a function with no parameters and no results.
+<P>
+In order to communicate properly with Lua,
+a C function must follow a protocol,
+which defines the way parameters and results are passed.
+<P>
+A C function receives its arguments in structure lua2C;
+to access them, it uses the macro <CODE>lua_getparam</CODE>, <A NAME="lua_getparam"></A>
+again just another name to <CODE>lua_lua2C</CODE>.
+To return values, a C function just pushes them onto the stack C2lua,
+in direct order (see Section&nbsp;<A HREF="#valuesCLua">5.1</A>).
+Like a Lua function, a C function called by Lua can also return
+many results.
+<P>
+For some examples, see files <CODE>strlib.c</CODE>,
+<CODE>iolib.c</CODE> and <CODE>mathlib.c</CODE> in Lua distribution.
+<P>
+<A NAME="5.6"></A>
+<H2>5.6 - References to Lua Objects</H2>
+<P>
+As noted in Section&nbsp;<A HREF="#LuacallC">5.5</A>, <CODE>lua_Object</CODE>s are volatile.
+If the C code needs to keep a <CODE>lua_Object</CODE>
+outside block boundaries,
+then it must create a <A NAME="reference"><EM>reference</EM></A> to the object.
+The routines to manipulate references are the following:
+<A NAME="lua_ref"></A><A NAME="lua_getref"></A>
+<A NAME="lua_unref"></A>
+<LISTING>
+int lua_ref (int lock);
+lua_Object lua_getref (int ref);
+void lua_unref (int ref);
+</LISTING>
+The function <CODE>lua_ref</CODE> creates a reference
+to the object that is on the top of the stack,
+and returns this reference.
+If <CODE>lock</CODE> is true, the object is <EM>locked</EM>:
+this means the object will not be garbage collected.
+Notice that an unlocked reference may be garbage collected.
+Whenever the referenced object is needed,
+a call to <CODE>lua_getref</CODE>
+returns a handle to it;
+if the object has been collected,
+<CODE>lua_getref</CODE> returns <CODE>LUA_NOOBJECT</CODE>.
+<P>
+When a reference is no longer needed,
+it can be freed with a call to <CODE>lua_unref</CODE>.
+<P>
+<P>
+<P>
+<!-- ====================================================================== -->
+<HR>
+<A NAME="6."></A>
+<H1>6 - Predefined Functions and Libraries</H1>
+<P>
+The set of <A NAME="predefined functions">predefined functions</A> in Lua is small but powerful.
+Most of them provide features that allow some degree of
+<A NAME="reflexivity">reflexivity</A> in the language.
+Some of these features cannot be simulated with the rest of the
+language nor with the standard Lua API.
+Others are just convenient interfaces to common API functions.
+<P>
+The libraries, on the other hand, provide useful routines
+that are implemented directly through the standard API.
+Therefore, they are not necessary to the language,
+and are provided as separate C modules.
+Currently there are three standard libraries:
+<UL>
+<LI>string manipulation;
+<LI>mathematical functions (sin, log, etc);
+<LI>input and output (plus some system facilities).
+</UL>
+In order to have access to these libraries,
+the host program must call the functions
+<CODE>strlib_open</CODE>, <CODE>mathlib_open</CODE>, and <CODE>iolib_open</CODE>,
+declared in <CODE>lualib.h</CODE>.
+<P>
+<P>
+<A NAME="predefined"></A>
+<A NAME="6.1"></A>
+<H2>6.1 - Predefined Functions</H2>
+<P>
+<h3> <TT>call (func, arg, [retmode])</TT></h3><A NAME="call"></A>
+This function calls function <CODE>func</CODE> with
+the arguments given by the table <CODE>arg</CODE>.
+The call is equivalent to
+<LISTING>
+ func(arg[1], arg[2], ..., arg[arg.n])
+</LISTING>
+If <CODE>arg.n</CODE> is not defined,
+then Lua stops getting arguments at the first nil value.
+<P>
+If <CODE>retmode</CODE> is absent,
+all results from <CODE>func</CODE> are just returned by the call.
+If <CODE>retmode</CODE> is equal to <CODE>"pack"</CODE>,
+the results are <EM>packed</EM> in a single table.<A NAME="packed results"></A>
+That is, <CODE>call</CODE> returns just one table;
+at index <CODE>n</CODE>, the table has the total number of results
+from the call;
+the first result is at index 1, etc.
+For instance, the following calls produce the following results:
+<LISTING>
+a = call(sin, {5}) --&gt; a = 0.0871557 = sin(5)
+a = call(max, {1,4,5; n=2}) --&gt; a = 4 (only 1 and 4 are arguments)
+t = {x=1}
+a = call(next, {t,nil;n=2}, "pack") --&gt; a={"x", 1; n=2}
+</LISTING>
+<P>
+<h3> <TT>collectgarbage ([limit])</TT></h3><A NAME="collectgarbage"></A>
+Forces a garbage collection cycle.
+Returns the number of objects collected.
+An optional argument, <CODE>limit</CODE>, is a number that
+makes the next cycle occur when that number of new
+objects have been created.
+If absent, Lua uses an adaptable algorithm to set
+this limit.
+<CODE>collectgarbage</CODE> is equivalent to
+the API function <CODE>lua_collectgarbage</CODE>.
+<P>
+<h3> <TT>dofile (filename)</TT></h3><A NAME="dofile"></A>
+This function receives a file name,
+opens it, and executes its contents as a Lua chunk,
+or as pre-compiled chunks.
+When called without arguments,
+it executes the contents of the standard input (<CODE>stdin</CODE>).
+If there is any error executing the file,
+then <CODE>dofile</CODE> returns <B>nil</B>.
+Otherwise, it returns the values returned by the chunk,
+or a non <B>nil</B> value if the chunk returns no values.
+It issues an error when called with a non string argument.
+<CODE>dofile</CODE> is equivalent to the API function <CODE>lua_dofile</CODE>.
+<P>
+<h3> <TT>dostring (string [, errmethod])</TT></h3><A NAME="dostring"></A>
+This function executes a given string as a Lua chunk.
+If there is any error executing the string, it returns <B>nil</B>.
+Otherwise, it returns the values returned by the chunk,
+or a non <B>nil</B> value if the chunk returns no values.
+If provided, <CODE>errmethod</CODE> is temporarily set as the error method,
+while <CODE>string</CODE> runs.
+As a particular case, if <CODE>errmethod</CODE> is <B>nil</B>,
+no error messages will be issued during the execution of the string.
+<P>
+<A NAME="pdf-newtag"></A>
+<h3> <TT>newtag ()</TT></h3><A NAME="newtag"></A>
+Returns a new tag.
+<CODE>newtag</CODE> is equivalent to the API function <CODE>lua_newtag</CODE>.
+<P>
+<h3> <TT>next (table, index)</TT></h3><A NAME="next"></A>
+This function allows a program to traverse all fields of a table.
+Its first argument is a table and its second argument
+is an index in this table.
+It returns the next index of the table and the
+value associated with the index.
+When called with <B>nil</B> as its second argument,
+the function returns the first index
+of the table (and its associated value).
+When called with the last index, or with <B>nil</B> in an empty table,
+it returns <B>nil</B>.
+<P>
+In Lua there is no declaration of fields;
+semantically, there is no difference between a
+field not present in a table or a field with value <B>nil</B>.
+Therefore, the function only considers fields with non <B>nil</B> values.
+The order in which the indices are enumerated is not specified,
+<EM>not even for numeric indices</EM>
+(to traverse a table in numeric order,
+use a counter).
+If the table is modified in any way during a traversal,
+the semantics of <CODE>next</CODE> is undefined.
+<P>
+This function cannot be written with the standard API.
+<P>
+<h3> <TT>nextvar (name)</TT></h3><A NAME="nextvar"></A>
+This function is similar to the function <CODE>next</CODE>,
+but iterates over the global variables.
+Its single argument is the name of a global variable,
+or <B>nil</B> to get a first name.
+Similarly to <CODE>next</CODE>, it returns the name of another variable
+and its value,
+or <B>nil</B> if there are no more variables.
+There can be no assignments to global variables during the traversal;
+otherwise the semantics of <CODE>nextvar</CODE> is undefined.
+<P>
+This function cannot be written with the standard API.
+<P>
+<h3> <TT>tostring (e)</TT></h3><A NAME="tostring"></A>
+This function receives an argument of any type and
+converts it to a string in a reasonable format.
+<P>
+<h3> <TT>print (e1, e2, ...)</TT></h3><A NAME="print"></A>
+This function receives any number of arguments,
+and prints their values in a reasonable format.
+Each value is printed in a new line.
+This function is not intended for formatted output,
+but as a quick way to show a value,
+for instance for error messages or debugging.
+See Section&nbsp;<A HREF="#libio">6.4</A> for functions for formatted output.
+<P>
+<h3> <TT>tonumber (e)</TT></h3><A NAME="tonumber"></A>
+This function receives one argument,
+and tries to convert it to a number.
+If the argument is already a number or a string convertible
+to a number (see Section&nbsp;<A HREF="#coercion">4.3</A>), then it returns that number;
+otherwise, it returns <B>nil</B>.
+<P>
+<A NAME="pdf-type"></A>
+<h3> <TT>type (v)</TT></h3><A NAME="type"></A>
+This function allows Lua to test the type of a value.
+It receives one argument, and returns its type, coded as a string.
+The possible results of this function are
+<CODE>"nil"</CODE> (a string, not the value <B>nil</B>),
+<CODE>"number"</CODE>,
+<CODE>"string"</CODE>,
+<CODE>"table"</CODE>,
+<CODE>"function"</CODE>,
+and <CODE>"userdata"</CODE>.
+<CODE>type</CODE> is equivalent to the API function <CODE>lua_type</CODE>.
+<P>
+<h3> <TT>tag (v)</TT></h3><A NAME="tag"></A>
+This function allows Lua to test the tag of a value (see Section&nbsp;<A HREF="#TypesSec">3</A>).
+It receives one argument, and returns its tag (a number).
+<CODE>tag</CODE> is equivalent to the API function <CODE>lua_tag</CODE>.
+<P>
+<h3> <TT>settag (t, tag)</TT></h3><A NAME="settag"></A>
+This function sets the tag of a given table (see Section&nbsp;<A HREF="#TypesSec">3</A>).
+<CODE>tag</CODE> must be a value created with <CODE>newtag</CODE>
+(see Section&nbsp;<A HREF="#pdf-newtag">6.1</A>).
+For security reasons,
+it is impossible to change the tag of a userdata from Lua.
+<P>
+<h3> <TT>assert (v)</TT></h3><A NAME="assert"></A>
+This function issues an <EM>``assertion failed!''</EM> error
+when its argument is <B>nil</B>.
+<P>
+<A NAME="pdf-error"></A>
+<h3> <TT>error (message)</TT></h3><A NAME="error"></A>
+This function issues an error message and terminates
+the last called function from the library
+(<CODE>lua_dofile</CODE>, <CODE>lua_dostring</CODE>, or <CODE>lua_callfunction</CODE>).
+It never returns.
+<CODE>error</CODE> is equivalent to the API function <CODE>lua_error</CODE>.
+<P>
+<h3> <TT>rawgettable (table, index)</TT></h3><A NAME="rawgettable"></A>
+Gets the real value of <CODE>table[index]</CODE>,
+without invoking any tag method.
+<CODE>table</CODE> must be a table,
+and <CODE>index</CODE> is any value different from <B>nil</B>.
+<P>
+<h3> <TT>rawsettable (table, index, value)</TT></h3><A NAME="rawsettable"></A>
+Sets the real value <CODE>table[index]=value</CODE>,
+without invoking any tag method.
+<CODE>table</CODE> must be a table,
+<CODE>index</CODE> is any value different from <B>nil</B>,
+and <CODE>value</CODE> is any Lua value.
+<P>
+<h3> <TT>rawsetglobal (name, value)</TT></h3><A NAME="rawsetglobal"></A>
+This function assigns the given value to a global variable.
+The string <CODE>name</CODE> does not need to be a syntactically valid variable name.
+Therefore, this function can set global variables with strange names like
+<CODE>"m v 1"</CODE> or <CODE>34</CODE>.
+It returns the value of its second argument.
+<P>
+<h3> <TT>setglobal (name, value)</TT></h3><A NAME="setglobal"></A>
+This function assigns the given value to a global variable,
+or calls a tag method.
+Its full semantics is explained in Section&nbsp;<A HREF="#tag-method">4.8</A>.
+<P>
+<h3> <TT>rawgetglobal (name)</TT></h3><A NAME="rawgetglobal"></A>
+This function retrieves the value of a global variable.
+The string <CODE>name</CODE> does not need to be a
+syntactically valid variable name.
+<P>
+<h3> <TT>getglobal (name)</TT></h3><A NAME="getglobal"></A>
+This function retrieves the value of a global variable,
+or calls a tag method.
+Its full semantics is explained in Section&nbsp;<A HREF="#tag-method">4.8</A>.
+<P>
+<h3> <TT>seterrormethod (newmethod)</TT></h3>
+<A NAME="pdf-seterrormethod"></A>
+
+Sets the error handler (see Section&nbsp;<A HREF="#error">4.9</A>).
+<CODE>newmethod</CODE> must be a function or <B>nil</B>,
+in which case the error handler does nothing.
+Returns the old error handler.
+<P>
+<h3> <TT>settagmethod (tag, event, newmethod)</TT></h3>
+<A NAME="settagmethod"></A>
+This function sets a new tag method to the given pair <EM>&lt;tag, event&gt;</EM>.
+It returns the old method.
+If <CODE>newmethod</CODE> is <B>nil</B>,
+it restores the default behavior for the given event.
+<P>
+<h3> <TT>gettagmethod (tag, event)</TT></h3>
+<A NAME="gettagmethod"></A>
+This function returns the current tag method
+for a given pair <EM>&lt;tag, event&gt;</EM>.
+<P>
+<P>
+<A NAME="6.2"></A>
+<H2>6.2 - String Manipulation</H2>
+This library provides generic functions for string manipulation,
+such as finding and extracting substrings and pattern matching.
+When indexing a string, the first character is at position&nbsp;1,
+not&nbsp;0, as in C.
+<P>
+<h3> <TT>strfind (str, pattern [, init [, plain]])</TT></h3>
+<A NAME="strfind"></A>
+This function looks for the first <EM>match</EM> of
+<CODE>pattern</CODE> in <CODE>str</CODE>.
+If it finds one, then it returns the indices on <CODE>str</CODE>
+where this occurrence starts and ends;
+otherwise, it returns <B>nil</B>.
+If the pattern specifies captures,
+the captured strings are returned as extra results.
+A third optional numerical argument specifies where to start the search;
+its default value is 1.
+A value of 1 as a fourth optional argument
+turns off the pattern matching facilities,
+so the function does a plain ``find substring'' operation,
+with no characters in <CODE>pattern</CODE> being considered ``magic''.
+<P>
+<h3> <TT>strlen (s)</TT></h3><A NAME="strlen"></A>
+Receives a string and returns its length.
+<P>
+<h3> <TT>strsub (s, i [, j])</TT></h3><A NAME="strsub"></A>
+Returns another string, which is a substring of <CODE>s</CODE>,
+starting at <CODE>i</CODE> and running until <CODE>j</CODE>.
+If <CODE>i</CODE> or <CODE>j</CODE> are negative,
+they are replaced by the length of the string minus their
+absolute value plus 1.
+Therefore, -1 points to the last character of <CODE>s</CODE>
+and -2 to the previous one.
+If <CODE>j</CODE> is absent, it is assumed to be equal to -1
+(which is the same as the string length).
+In particular,
+the call <CODE>strsub(s,1,j)</CODE> returns a prefix of <CODE>s</CODE>
+with length <CODE>j</CODE>,
+and the call <CODE>strsub(s, -i)</CODE> returns a suffix of <CODE>s</CODE>
+with length <CODE>i</CODE>.
+<P>
+<h3> <TT>strlower (s)</TT></h3><A NAME="strlower"></A>
+Receives a string and returns a copy of that string with all
+upper case letters changed to lower case.
+All other characters are left unchanged.
+<P>
+<h3> <TT>strupper (s)</TT></h3><A NAME="strupper"></A>
+Receives a string and returns a copy of that string with all
+lower case letters changed to upper case.
+All other characters are left unchanged.
+<P>
+<h3> <TT>strrep (s, n)</TT></h3><A NAME="strrep"></A>
+Returns a string which is the concatenation of <CODE>n</CODE> copies of
+the string <CODE>s</CODE>.
+<P>
+<h3> <TT>ascii (s [, i])</TT></h3><A NAME="ascii"></A>
+Returns the ASCII code of the character <CODE>s[i]</CODE>.
+If <CODE>i</CODE> is absent, then it is assumed to be 1.
+<P>
+<h3> <TT>format (formatstring, e1, e2, ...)</TT></h3><A NAME="format"></A>
+<A NAME="format"></A>
+
+This function returns a formated version of its variable number of arguments
+following the description given in its first argument (which must be a string).
+The format string follows the same rules as the <CODE>printf</CODE> family of
+standard C functions.
+The only differences are that the options/modifiers
+<CODE>*</CODE>, <CODE>l</CODE>, <CODE>L</CODE>, <CODE>n</CODE>, <CODE>p</CODE>,
+and <CODE>h</CODE> are not supported,
+and there is an extra option, <CODE>q</CODE>.
+This option formats a string in a form suitable to be safely read
+back by the Lua interpreter;
+that is,
+the string is written between double quotes,
+and all double quotes, returns and backslashes in the string
+are correctly escaped when written.
+For instance, the call
+<LISTING>
+format('%q', 'a string with "quotes" and \n new line')
+</LISTING>
+will produce the string:
+<LISTING>
+"a string with \"quotes\" and \
+ new line"
+</LISTING>
+<P>
+The options <CODE>c</CODE>, <CODE>d</CODE>, <CODE>E</CODE>, <CODE>e</CODE>, <CODE>f</CODE>,
+<CODE>g</CODE> <CODE>i</CODE>, <CODE>o</CODE>, <CODE>u</CODE>, <CODE>X</CODE>, and <CODE>x</CODE> all
+expect a number as argument,
+whereas <CODE>q</CODE> and <CODE>s</CODE> expect a string.
+Note that the <CODE>*</CODE> modifier can be simulated by building
+the appropriate format string.
+For example, <CODE>"%*g"</CODE> can be simulated with
+<CODE>"%"..width.."g"</CODE>.
+<P>
+<h3> <TT>gsub (s, pat, repl [, table] [, n])</TT></h3>
+<A NAME="gsub"></A>
+Returns a copy of <CODE>s</CODE>,
+where all occurrences of the pattern <CODE>pat</CODE> have been
+replaced by a replacement string specified by <CODE>repl</CODE>.
+This function also returns, as a second value,
+the total number of substitutions made.
+<P>
+If <CODE>repl</CODE> is a string, then its value is used for replacement.
+Any sequence in <CODE>repl</CODE> of the form <CODE>%n</CODE>
+with <CODE>n</CODE> between 1 and 9
+stands for the value of the n-th captured substring.
+<P>
+If <CODE>repl</CODE> is a function, then this function is called every time a
+match occurs, with the following arguments:
+If <CODE>table</CODE> is present, then the first argument is this table
+and the second one is a match counter (1 for the first call).
+Independently of these two optional arguments,
+all captured substrings are passed as arguments,
+in order (see below);
+If the value returned by this function is a string,
+then it is used as the replacement string;
+otherwise, the replacement string is the empty string.
+<P>
+A last optional parameter <CODE>n</CODE> limits
+the maximum number of substitutions to occur.
+For instance, when <CODE>n</CODE> is 1 only the first occurrence of
+<CODE>pat</CODE> is replaced.
+<P>
+See some examples below:
+<LISTING>
+ x = gsub("hello world", "(%w%w*)", "%1 %1", 1)
+ --&gt; x="hello hello world"
+<P>
+ x = gsub("home = $HOME, user = $USER", "$(%w%w*)", getenv)
+ --&gt; x="home = /home/roberto, user = roberto" (for instance)
+<P>
+ x = gsub("4+5 = $return 4+5$", "$(.-)%$", dostring)
+ --&gt; x="4+5 = 9"
+<P>
+ function f(t, i, v) return t[v] end
+ t = {name="lua", version="3.0"}
+ x = gsub("$name - $version", "$(%w%w*)", f, t)
+ --&gt; x="lua - 3.0"
+<P>
+ t = {"apple", "orange", "lime"}
+ x = gsub("x and x and x", "x", rawgettable, t)
+ --&gt; x="apple and orange and lime"
+<P>
+ t = {}
+ dummy, t.n = gsub("first second word", "(%w%w*)", rawsettable, t)
+ --&gt; t={"first", "second", "word"; n=3}
+</LISTING>
+<P>
+<P>
+<A NAME="pm"></A>
+<h3>Patterns</h3>
+<P>
+<H4>Character Class:</H4>
+a <A NAME="character class"><EM>character class</EM></A> is used to represent a set of characters.
+The following combinations are allowed in describing a character class:
+<DL>
+<DT><B><EM>x</EM></B><DD> (where <EM>x</EM> is any character not in the list <CODE>()%.[*-?</CODE>)
+- represents the character <EM>x</EM> itself.
+<DT><B><TT>.</TT></B><DD> - represents all characters.
+<DT><B><TT>%a</TT></B><DD> - represents all letters.
+<DT><B><TT>%A</TT></B><DD> - represents all non letter characters.
+<DT><B><TT>%d</TT></B><DD> - represents all digits.
+<DT><B><TT>%D</TT></B><DD> - represents all non digits.
+<DT><B><TT>%l</TT></B><DD> - represents all lower case letters.
+<DT><B><TT>%L</TT></B><DD> - represents all non lower case letter characters.
+<DT><B><TT>%s</TT></B><DD> - represents all space characters.
+<DT><B><TT>%S</TT></B><DD> - represents all non space characters.
+<DT><B><TT>%u</TT></B><DD> - represents all upper case letters.
+<DT><B><TT>%U</TT></B><DD> - represents all non upper case letter characters.
+<DT><B><TT>%w</TT></B><DD> - represents all alphanumeric characters.
+<DT><B><TT>%W</TT></B><DD> - represents all non alphanumeric characters.
+<DT><B><TT>%<EM>x</TT></EM></B><DD> (where <EM>x</EM> is any non alphanumeric character) -
+represents the character <EM>x</EM>.
+This is the standard way to escape the magic characters <CODE>()%.[*-?</CODE>.
+<DT><B><TT>[char-set]</TT></B><DD> -
+Represents the class which is the union of all
+characters in char-set.
+To include a <CODE>]</CODE> in char-set, it must be the first character.
+A range of characters may be specified by
+separating the end characters of the range with a <CODE>-</CODE>;
+e.g., <CODE>A-Z</CODE> specifies the upper case characters.
+If <CODE>-</CODE> appears as the first or last character of char-set,
+then it represents itself.
+All classes <CODE>%</CODE><EM>x</EM> described above can also be used as
+components in a char-set.
+All other characters in char-set represent themselves.
+<DT><B><TT>[^char-set]</TT></B><DD> -
+represents the complement of char-set,
+where char-set is interpreted as above.
+</DL>
+<P>
+<H4>Pattern Item:</H4>
+a <A NAME="pattern item"><EM>pattern item</EM></A> may be:
+<UL>
+<LI>
+a single character class,
+which matches any single character in the class;
+<LI>
+a single character class followed by <CODE>*</CODE>,
+which matches 0 or more repetitions of characters in the class.
+These repetition items will always match the longest possible sequence.
+<LI>
+a single character class followed by <CODE>-</CODE>,
+which also matches 0 or more repetitions of characters in the class.
+Unlike <CODE>*</CODE>,
+these repetition items will always match the shortest possible sequence.
+<LI>
+a single character class followed by <CODE>?</CODE>,
+which matches 0 or 1 occurrence of a character in the class;
+<LI>
+<TT>%<EM>n</TT></EM>, for <EM>n</EM> between 1 and 9;
+such item matches a sub-string equal to the n-th captured string
+(see below);
+<LI>
+<TT>%b<EM>xy</TT></EM>, where <EM>x</EM> and <EM>y</EM> are two distinct characters;
+such item matches strings that start with <EM>x</EM>, end with <EM>y</EM>,
+and where the <EM>x</EM> and <EM>y</EM> are <EM>balanced</EM>.
+That means that, if one reads the string from left to write,
+counting plus 1 for an <EM>x</EM> and minus 1 for a <EM>y</EM>,
+the ending <EM>y</EM> is the first where the count reaches 0.
+For instance, the item <CODE>%b()</CODE> matches expressions with
+balanced parentheses.
+</UL>
+<P>
+<H4>Pattern:</H4>
+a <A NAME="pattern"><EM>pattern</EM></A> is a sequence of pattern items.
+A <CODE>^</CODE> at the beginning of a pattern anchors the match at the
+beginning of the subject string.
+A <CODE>$</CODE> at the end of a pattern anchors the match at the
+end of the subject string.
+<P>
+<H4>Captures:</H4>
+a pattern may contain sub-patterns enclosed in parentheses,
+that describe <A NAME="captures"><EM>captures</EM></A>.
+When a match succeeds, the sub-strings of the subject string
+that match captures are stored (<EM>captured</EM>) for future use.
+Captures are numbered according to their left parentheses.
+For instance, in the pattern <CODE>"(a*(.)%w(%s*))"</CODE>,
+the part of the string matching <CODE>"a*(.)%w(%s*)"</CODE> is
+stored as the first capture (and therefore has number 1);
+the character matching <CODE>.</CODE> is captured with number 2,
+and the part matching <CODE>%s*</CODE> has number 3.
+<P>
+<A NAME="mathlib"></A>
+<A NAME="6.3"></A>
+<H2>6.3 - Mathematical Functions</H2>
+<P>
+This library is an interface to some functions of the standard C math library.
+In addition, it registers a tag method for the binary operator <CODE>^</CODE> that
+returns <I>x^y</I> when applied to numbers <CODE>x^y</CODE>.
+<P>
+The library provides the following functions:
+<A NAME="abs"></A><A NAME="acos"></A><A NAME="asin"></A><A NAME="atan"></A>
+<A NAME="atan2"></A><A NAME="ceil"></A><A NAME="cos"></A><A NAME="floor"></A>
+<A NAME="log"></A><A NAME="log10"></A><A NAME="max"></A><A NAME="min"></A>
+<A NAME="mod"></A><A NAME="sin"></A><A NAME="sqrt"></A><A NAME="tan"></A>
+<A NAME="random"></A><A NAME="randomseed"></A>
+<LISTING>
+abs acos asin atan atan2 ceil cos floor log log10
+max min mod sin sqrt tan random randomseed
+</LISTING>
+Most of them
+are only interfaces to the homonymous functions in the C library,
+except that, for the trigonometric functions,
+all angles are expressed in <EM>degrees</EM>, not radians.
+<P>
+The function <CODE>max</CODE> returns the maximum
+value of its numeric arguments.
+Similarly, <CODE>min</CODE> computes the minimum.
+Both can be used with an unlimited number of arguments.
+<P>
+The functions <CODE>random</CODE> and <CODE>randomseed</CODE> are interfaces to
+the simple random generator functions <CODE>rand</CODE> and <CODE>srand</CODE>,
+provided by ANSI C.
+The function <CODE>random</CODE> returns pseudo-random numbers in the
+range <I>[0,1)</I>.
+<P>
+<P>
+<A NAME="libio"></A>
+<A NAME="6.4"></A>
+<H2>6.4 - I/O Facilities</H2>
+<P>
+All input and output operations in Lua are done over two
+<A NAME="file handles"><EM>file handles</EM></A>, one for reading and one for writing.
+These handles are stored in two Lua global variables,
+called <CODE>_INPUT</CODE> and <CODE>_OUTPUT</CODE>.
+The global variables
+<CODE>_STDIN</CODE>, <CODE>_STDOUT</CODE> and <CODE>_STDERR</CODE>
+are initialized with file descriptors for
+<CODE>stdin</CODE>, <CODE>stdout</CODE> and <CODE>stderr</CODE>.
+Initially, <CODE>_INPUT=_STDIN</CODE> and <CODE>_OUTPUT=_STDOUT</CODE>.
+<A NAME="_INPUT"></A><A NAME="_OUTPUT"></A>
+<A NAME="_STDIN"></A><A NAME="_STDOUT"></A><A NAME="_STDERR"></A>
+<P>
+A file handle is a userdata containing the file stream <CODE>FILE*</CODE>,
+and with a distinctive tag created by the I/O library.
+<P>
+<P>
+Unless otherwise stated,
+all I/O functions return <B>nil</B> on failure and
+some value different from <B>nil</B> on success.
+<P>
+<h3> <TT>readfrom (filename)</TT></h3><A NAME="readfrom"></A>
+<P>
+This function may be called in two ways.
+When called with a file name, it opens the named file,
+sets its handle as the value of <CODE>_INPUT</CODE>,
+and returns this value.
+It does not close the current input file.
+When called without parameters,
+it closes the <CODE>_INPUT</CODE> file,
+and restores <CODE>stdin</CODE> as the value of <CODE>_INPUT</CODE>.
+<P>
+If this function fails, it returns <B>nil</B>,
+plus a string describing the error.
+<P>
+<CITE>
+<EM>System dependent</EM>: if <CODE>filename</CODE> starts with a <CODE>|</CODE>,
+then a <A NAME="piped input">piped input</A> is open, via function <A NAME="popen"><TT>popen</TT></A>.
+Not all systems implement pipes.
+Moreover,
+the number of files that can be open at the same time is
+usually limited and depends on the system.
+</CITE>
+<P>
+<h3> <TT>writeto (filename)</TT></h3><A NAME="writeto"></A>
+<P>
+This function may be called in two ways.
+When called with a file name,
+it opens the named file,
+sets its handle as the value of <CODE>_OUTPUT</CODE>,
+and returns this value.
+It does not close the current output file.
+Notice that, if the file already exists,
+then it will be <EM>completely erased</EM> with this operation.
+When called without parameters,
+this function closes the <CODE>_OUTPUT</CODE> file,
+and restores <CODE>stdout</CODE> as the value of <CODE>_OUTPUT</CODE>.
+<A NAME="closing a file"></A>
+<P>
+If this function fails, it returns <B>nil</B>,
+plus a string describing the error.
+<P>
+<CITE>
+<EM>System dependent</EM>: if <CODE>filename</CODE> starts with a <CODE>|</CODE>,
+then a <A NAME="piped output">piped output</A> is open, via function <A NAME="popen"><TT>popen</TT></A>.
+Not all systems implement pipes.
+Moreover,
+the number of files that can be open at the same time is
+usually limited and depends on the system.
+</CITE>
+<P>
+<h3> <TT>appendto (filename)</TT></h3><A NAME="appendto"></A>
+<P>
+This function opens a file named <CODE>filename</CODE> and sets it as the
+value of <CODE>_OUTPUT</CODE>.
+Unlike the <CODE>writeto</CODE> operation,
+this function does not erase any previous content of the file.
+If this function fails, it returns <B>nil</B>,
+plus a string describing the error.
+<P>
+Notice that function <CODE>writeto</CODE> is available to close an output file.
+<P>
+<h3> <TT>remove (filename)</TT></h3><A NAME="remove"></A>
+<P>
+This function deletes the file with the given name.
+If this function fails, it returns <B>nil</B>,
+plus a string describing the error.
+<P>
+<h3> <TT>rename (name1, name2)</TT></h3><A NAME="rename"></A>
+<P>
+This function renames file named <CODE>name1</CODE> to <CODE>name2</CODE>.
+If this function fails, it returns <B>nil</B>,
+plus a string describing the error.
+<P>
+<h3> <TT>tmpname ()</TT></h3><A NAME="tmpname"></A>
+<P>
+This function returns a string with a file name that can safely
+be used for a temporary file.
+The file must be explicitly removed when no longer needed.
+<P>
+<h3> <TT>read ([readpattern])</TT></h3><A NAME="read"></A>
+<P>
+This function reads the file <CODE>_INPUT</CODE>
+according to a read pattern, that specifies how much to read;
+characters are read from the current input file until
+the read pattern fails or ends.
+The function <CODE>read</CODE> returns a string with the characters read,
+even if the pattern succeeds only partially,
+or <B>nil</B> if the read pattern fails <EM>and</EM>
+the result string would be empty.
+When called without parameters,
+it uses a default pattern that reads the next line
+(see below).
+<P>
+A <A NAME="read pattern"><EM>read pattern</EM></A> is a sequence of read pattern items.
+An item may be a single character class
+or a character class followed by <CODE>?</CODE> or by <CODE>*</CODE>.
+A single character class reads the next character from the input
+if it belongs to the class, otherwise it fails.
+A character class followed by <CODE>?</CODE> reads the next character
+from the input if it belongs to the class;
+it never fails.
+A character class followed by <CODE>*</CODE> reads until a character that
+does not belong to the class, or end of file;
+since it can match a sequence of zero characters, it never fails.
+\footnote{
+Notice that the behavior of read patterns is different from
+the regular pattern matching behavior,
+where a <CODE>*</CODE> expands to the maximum length <EM>such that</EM>
+the rest of the pattern does not fail.
+With the read pattern behavior
+there is no need for backtracking the reading.
+}
+<P>
+A pattern item may contain sub-patterns enclosed in curly brackets,
+that describe <A NAME="skips"><EM>skips</EM></A>.
+Characters matching a skip are read,
+but are not included in the resulting string.
+<P>
+Following are some examples of read patterns and their meanings:
+<UL>
+<LI><CODE>"."</CODE> returns the next character, or <B>nil</B> on end of file.
+<LI><CODE>".*"</CODE> reads the whole file.
+<LI><CODE>"[^\n]*{\n}"</CODE> returns the next line
+(skipping the end of line), or <B>nil</B> on end of file.
+This is the default pattern.
+<LI><CODE>"{%s*}%S%S*"</CODE> returns the next word
+(maximal sequence of non white-space characters),
+skipping spaces if necessary,
+or <B>nil</B> on end of file.
+<LI><CODE>"{%s*}[+-]?%d%d*"</CODE> returns the next integer
+or <B>nil</B> if the next characters do not conform to an integer format.
+</UL>
+<P>
+<h3> <TT>write (value1, ...)</TT></h3><A NAME="write"></A>
+<P>
+This function writes the value of each of its arguments to the
+file <CODE>_OUTPUT</CODE>.
+The arguments must be strings or numbers.
+To write other values,
+use <CODE>tostring</CODE> or <CODE>format</CODE> before <CODE>write</CODE>.
+If this function fails, it returns <B>nil</B>,
+plus a string describing the error.
+<P>
+<h3> <TT>date ([format])</TT></h3><A NAME="date"></A>
+<P>
+This function returns a string containing date and time
+formatted according to the given string <CODE>format</CODE>,
+following the same rules of the ANSI C function <CODE>strftime</CODE>.
+When called without arguments,
+it returns a reasonable date and time representation that depends on
+the host system.
+<P>
+<h3> <TT>exit ([code])</TT></h3><A NAME="exit"></A>
+<P>
+This function calls the C function <CODE>exit</CODE>,
+with an optional <CODE>code</CODE>,
+to terminate the program.
+The default value for <CODE>code</CODE> is 1.
+<P>
+<h3> <TT>getenv (varname)</TT></h3><A NAME="getenv"></A>
+<P>
+Returns the value of the environment variable <CODE>varname</CODE>,
+or <B>nil</B> if the variable is not defined.
+<P>
+<h3> <TT>execute (command)</TT></h3><A NAME="execute"></A>
+<P>
+This function is equivalent to the C function <CODE>system</CODE>.
+It passes <CODE>command</CODE> to be executed by an operating system shell.
+It returns an error code, which is system-dependent.
+<P>
+<P>
+<A NAME="debugI"></A>
+<!-- ====================================================================== -->
+<HR>
+<A NAME="7."></A>
+<H1>7 - The Debugger Interface</H1>
+<P>
+Lua has no built-in debugging facilities.
+Instead, it offers a special interface,
+by means of functions and <EM>hooks</EM>,
+which allows the construction of different
+kinds of debuggers, profilers, and other tools
+that need ``inside information'' from the interpreter.
+This interface is declared in the header file <CODE>luadebug.h</CODE>.
+<P>
+<A NAME="7.1"></A>
+<H2>7.1 - Stack and Function Information</H2>
+<P>
+The main function to get information about the interpreter stack
+is
+<LISTING>
+lua_Function lua_stackedfunction (int level);
+</LISTING>
+It returns a handle (<CODE>lua_Function</CODE>) to the <EM>activation record</EM>
+of the function executing at a given level.
+Level&nbsp;0 is the current running function,
+while level <I>n+1</I> is the function that has called level <I>n</I>.
+When called with a level greater than the stack depth,
+<CODE>lua_stackedfunction</CODE> returns <CODE>LUA_NOOBJECT</CODE>.
+<P>
+The type <CODE>lua_Function</CODE> is just another name
+to <CODE>lua_Object</CODE>.
+Although, in this library,
+a <CODE>lua_Function</CODE> can be used wherever a <CODE>lua_Object</CODE> is required,
+when a parameter has type <CODE>lua_Function</CODE>
+it accepts only a handle returned by
+<CODE>lua_stackedfunction</CODE>.
+<P>
+Three other functions produce extra information about a function:
+<LISTING>
+void lua_funcinfo (lua_Object func, char **filename, int *linedefined);
+int lua_currentline (lua_Function func);
+char *lua_getobjname (lua_Object o, char **name);
+</LISTING>
+<CODE>lua_funcinfo</CODE> gives the file name and the line where the
+given function has been defined.
+If the ``function'' is in fact the main code of a chunk,
+then <CODE>linedefined</CODE> is 0.
+If the function is a C function,
+then <CODE>linedefined</CODE> is -1, and <CODE>filename</CODE> is <CODE>"(C)"</CODE>.
+<P>
+The function <CODE>lua_currentline</CODE> gives the current line where
+a given function is executing.
+It only works if the function has been compiled with debug
+information (see Section&nbsp;<A HREF="#pragma">4.9</A>).
+When no line information is available, it returns -1.
+<P>
+Function <CODE>lua_getobjname</CODE> tries to find a reasonable name for
+a given function.
+Because functions in Lua are first class values,
+they do not have a fixed name:
+Some functions may be the value of many global variables,
+while others may be stored only in a table field.
+Function <CODE>lua_getobjname</CODE> first checks whether the given
+function is a tag method.
+If so, it returns the string <CODE>"tag-method"</CODE>,
+and <CODE>name</CODE> is set to point to the event name.
+Otherwise, if the given function is the value of a global variable,
+then <CODE>lua_getobjname</CODE> returns the string <CODE>"global"</CODE>,
+and <CODE>name</CODE> points to the variable name.
+If the given function is neither a tag method nor a global variable,
+then <CODE>lua_getobjname</CODE> returns the empty string,
+and <CODE>name</CODE> is set to <CODE>NULL</CODE>.
+<P>
+<A NAME="7.2"></A>
+<H2>7.2 - Manipulating Local Variables</H2>
+<P>
+The following functions allow the manipulation of the
+local variables of a given activation record.
+They only work if the function has been compiled with debug
+information (see Section&nbsp;<A HREF="#pragma">4.9</A>).
+<LISTING>
+lua_Object lua_getlocal (lua_Function func, int local_number, char **name);
+int lua_setlocal (lua_Function func, int local_number);
+</LISTING>
+<CODE>lua_getlocal</CODE> returns the value of a local variable,
+and sets <CODE>name</CODE> to point to the variable name.
+<CODE>local_number</CODE> is an index for local variables.
+The first parameter has index 1, and so on, until the
+last active local variable.
+When called with a <CODE>local_number</CODE> greater than the
+number of active local variables,
+or if the activation record has no debug information,
+<CODE>lua_getlocal</CODE> returns <CODE>LUA_NOOBJECT</CODE>.
+Formal parameters are the first local variables.
+<P>
+The function <CODE>lua_setlocal</CODE> sets the local variable
+<CODE>local_number</CODE> to the value previously pushed on the stack
+(see Section&nbsp;<A HREF="#valuesCLua">5.1</A>).
+If the function succeeds, then it returns 1.
+If <CODE>local_number</CODE> is greater than the number
+of active local variables,
+or if the activation record has no debug information,
+then this function fails and returns 0.
+<P>
+<A NAME="7.3"></A>
+<H2>7.3 - Hooks</H2>
+<P>
+The Lua interpreter offers two hooks for debugging purposes:
+<LISTING>
+typedef void (*lua_CHFunction) (lua_Function func, char *file, int line);
+extern lua_CHFunction lua_callhook;
+<P>
+typedef void (*lua_LHFunction) (int line);
+extern lua_LHFunction lua_linehook;
+</LISTING>
+The first one is called whenever the interpreter enters or leaves a
+function.
+When entering a function,
+its parameters are a handle to the function activation record,
+plus the file and the line where the function is defined (the same
+information which is provided by <CODE>lua_funcinfo</CODE>);
+when leaving a function, <CODE>func</CODE> is <CODE>LUA_NOOBJECT</CODE>,
+<CODE>file</CODE> is <CODE>"(return)"</CODE>, and <CODE>line</CODE> is 0.
+<P>
+The other hook is called every time the interpreter changes
+the line of code it is executing.
+Its only parameter is the line number
+(the same information which is provided by the call
+<CODE>lua_currentline(lua_stackedfunction(0))</CODE>).
+This second hook is only called if the active function
+has been compiled with debug information (see Section&nbsp;<A HREF="#pragma">4.9</A>).
+<P>
+A hook is disabled when its value is <CODE>NULL</CODE>,
+which is the initial value of both hooks.
+<P>
+<P>
+<P>
+<A NAME="lua-sa"></A>
+<!-- ====================================================================== -->
+<HR>
+<A NAME="8."></A>
+<H1>8 - Lua Stand-alone</H1>
+<P>
+Although Lua has been designed as an extension language,
+the language can also be used as a stand-alone interpreter.
+An implementation of such an interpreter,
+called simply <CODE>lua</CODE>,
+is provided with the standard distribution.
+This program can be called with any sequence of the following arguments:
+<DL>
+<DT><B><TT>-v</TT></B><DD> prints version information.
+<DT><B><TT>-</TT></B><DD> runs interactively, accepting commands from standard input
+until an <CODE>EOF</CODE>.
+<DT><B><TT>-e stat</TT></B><DD> executes <CODE>stat</CODE> as a Lua chunk.
+<DT><B><TT>var=exp</TT></B><DD> executes <CODE>var=exp</CODE> as a Lua chunk.
+<DT><B><TT>filename</TT></B><DD> executes file <CODE>filename</CODE> as a Lua chunk.
+</DL>
+All arguments are handled in order.
+For instance, an invocation like
+<LISTING>
+$ lua - a=1 prog.lua
+</LISTING>
+will first interact with the user until an <CODE>EOF</CODE>,
+then will set <CODE>a</CODE> to 1,
+and finally will run file <CODE>prog.lua</CODE>.
+<P>
+Please notice that the interaction with the shell may lead to
+unintended results.
+For instance, a call like
+<LISTING>
+$ lua a="name" prog.lua
+</LISTING>
+will <EM>not</EM> set <CODE>a</CODE> to the string <CODE>"name"</CODE>.
+Instead, the quotes will be handled by the shell,
+lua will get only <CODE>a=name</CODE> to run,
+and <CODE>a</CODE> will finish with <B>nil</B>,
+because the global variable <CODE>name</CODE> has not been initialized.
+Instead, one should write
+<LISTING>
+$ lua 'a="name"' prog.lua
+</LISTING>
+<P>
+<HR>
+<A NAME="Acknowledgments"></A>
+<h1>Acknowledgments</h1>
+<P>
+The authors would like to thank CENPES/PETROBRAS which,
+jointly with TeCGraf, used extensively early versions of
+this system and gave valuable comments.
+The authors would also like to thank Carlos Henrique Levy,
+who found the name of the game.
+Lua means <EM>moon</EM> in Portuguese.
+<P>
+<P>
+<P>
+<P>
+<HR>
+<A NAME="Incompatibilities"></A>
+<h1>Incompatibilities with Previous Versions</h1>
+<P>
+Although great care has been taken to avoid incompatibilities with
+the previous public versions of Lua,
+some differences had to be introduced.
+Here is a list of all these incompatibilities.
+<P>
+<h2>Incompatibilities with <A NAME="version 2.5</h2>">version 2.5</h2></A>
+<UL>
+<LI>
+The whole fallback mechanism has been replaced by tag methods.
+Nevertheless, the function <CODE>setfallback</CODE> has been rewritten in
+a way that uses tag methods to fully emulate the old behavior
+of fallbacks.
+<LI>
+Tags now must be created with the function <CODE>newtag</CODE>.
+Nevertheless, old user defined tags are still accepted
+(user defined tags must be positive;
+<CODE>newtag</CODE> uses negative numbers).
+Tag methods cannot be set for such user defined tags,
+and fallbacks do not affect tags created by <CODE>newtag</CODE>.
+<LI>
+Lua 2.5 accepts mixed comparisons of strings and numbers,
+like <CODE>2&lt;"12"</CODE>, giving weird results.
+Now this is an error.
+<LI>
+Character <CODE>"-"</CODE> (hyphen) now is ``magic'' in pattern matching.
+<LI>
+Some API functions have been rewritten as macros.
+</UL>
+<P>
+<h2>Incompatibilities with <A NAME="version 2.4</h2>">version 2.4</h2></A>
+The whole I/O facilities have been rewritten.
+We strongly encourage programmers to adapt their code
+to this new version.
+The incompatibilities between the new and the old libraries are:
+<UL>
+<LI>The format facility of function <CODE>write</CODE> has been supersed by
+function <CODE>format</CODE>;
+therefore this facility has been dropped.
+<LI>Function <CODE>read</CODE> now uses <EM>read patterns</EM> to specify
+what to read;
+this is incompatible with the old format options.
+<LI>Function <CODE>strfind</CODE> now accepts patterns,
+so it may have a different behavior when the pattern includes
+special characters.
+</UL>
+<P>
+<h2>Incompatibilities with <A NAME="version 2.2</h2>">version 2.2</h2></A>
+<UL>
+<LI>
+Functions <CODE>date</CODE> and <CODE>time</CODE> (from <CODE>iolib</CODE>)
+have been superseded by the new, more powerful version of function <CODE>date</CODE>.
+<LI>
+Function <CODE>append</CODE> (from <CODE>iolib</CODE>) now returns 1 whenever it succeeds,
+whether the file is new or not.
+<LI>
+Function <CODE>int2str</CODE> (from <CODE>strlib</CODE>) has been superseded by new
+function <CODE>format</CODE>, with parameter <CODE>"%c"</CODE>.
+<LI>
+The API lock mechanism has been superseded by the reference mechanism.
+However, <CODE>lua.h</CODE> provides compatibility macros,
+so there is no need to change programs.
+<LI>
+The API function <CODE>lua_pushliteral</CODE> now is just a macro to
+<CODE>lua_pushstring</CODE>.
+</UL>
+<P>
+<h2>Incompatibilities with <A NAME="version 2.1</h2>">version 2.1</h2></A>
+<UL>
+<LI>
+The function <CODE>type</CODE> now returns the string <CODE>"function"</CODE>
+both for C and Lua functions.
+Because Lua functions and C functions are compatible,
+this behavior is usually more useful.
+When needed, the second result of function <TT>type</TT> may be used
+to distinguish between Lua and C functions.
+<LI>
+A function definition only assigns the function value to the
+given variable at execution time.
+</UL>
+<P>
+<h2>Incompatibilities with <A NAME="version 1.1</h2>">version 1.1</h2></A>
+<UL>
+<LI>
+The equality test operator now is denoted by <CODE>==</CODE>,
+instead of <CODE>=</CODE>.
+<LI>
+The syntax for table construction has been greatly simplified.
+The old <CODE>@(size)</CODE> has been substituted by <CODE>{}</CODE>.
+The list constructor (formerly <CODE>@[...]</CODE>) and the record
+constructor (formerly <CODE>@{...}</CODE>) now are both coded like
+<CODE>{...}</CODE>.
+When the construction involves a function call,
+like in <CODE>@func{...}</CODE>,
+the new syntax does not use the <CODE>@</CODE>.
+More important, {\em a construction function must now
+explicitly return the constructed table}.
+<LI>
+The function <CODE>lua_call</CODE> no longer has the parameter <CODE>nparam</CODE>.
+<LI>
+The function <CODE>lua_pop</CODE> is no longer available,
+since it could lead to strange behavior.
+In particular,
+to access results returned from a Lua function,
+the new macro <CODE>lua_getresult</CODE> should be used.
+<LI>
+The old functions <CODE>lua_storefield</CODE> and <CODE>lua_storeindexed</CODE>
+have been replaced by
+<LISTING>
+int lua_storesubscript (void);
+</LISTING>
+with the parameters explicitly pushed on the stack.
+<LI>
+The functionality of the function <CODE>lua_errorfunction</CODE> has been
+replaced by the <EM>fallback</EM> mechanism (see Section&nbsp;<A HREF="#error">4.9</A>).
+<LI>
+When calling a function from the Lua library,
+parameters passed through the stack
+must be pushed just before the corresponding call,
+with no intermediate calls to Lua.
+Special care should be taken with macros like
+<CODE>lua_getindexed</CODE> and <CODE>lua_getfield</CODE>.
+</UL>
+<P>
+<P>
+
+<HR>
+Last update:
+Tue Jul 1 07:55:45 EST 1997
+by <A HREF="http://www.tecgraf.puc-rio.br/~lhf/">lhf</A>.
+</BODY>
+</HTML>
diff --git a/doc/refman.ps b/doc/refman.ps
deleted file mode 100644
index 24896e0e..00000000
--- a/doc/refman.ps
+++ /dev/null
@@ -1,7807 +0,0 @@
-%!PS-Adobe-2.0
-%%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software
-%%Title: manual.dvi
-%%Pages: 39
-%%PageOrder: Ascend
-%%BoundingBox: 0 0 612 792
-%%DocumentPaperSizes: Letter
-%%EndComments
-%DVIPSCommandLine: /visgraf/pub/teTeX/bin/sun4/dvips manual
-%DVIPSParameters: dpi=600, comments removed
-%DVIPSSource: TeX output 1996.11.18:1940
-%%BeginProcSet: tex.pro
-/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N
-/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72
-mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1}
-ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
-isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div
-hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul
-TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if}
-forall round exch round exch]setmatrix}N /@landscape{/isls true N}B
-/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B
-/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{
-/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N
-string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N
-end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{
-/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]
-N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup
-length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{
-128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub
-get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data
-dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N
-/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup
-/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx
-0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff
-setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff
-.1 sub]{ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]}
-if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup
-length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{
-cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin
-0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul
-add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict
-/eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook
-known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X
-/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for
-65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0
-0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V
-{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7
-getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false}
-ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false
-RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1
-false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform
-round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg
-rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail
-{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M}
-B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{
-4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{
-p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p
-a}B /bos{/SS save N}B /eos{SS restore}B end
-%%EndProcSet
-TeXDict begin 40258431 52099146 1000 600 600 (manual.dvi)
-@start /Fa 7 115 df<000000FFF00000000FFFFF8000003FFFFFF00000FFFFFFFC0001
-FFFFFFFC0007FFFFFFFC000FFF803FF8001FFC0003F8003FF00000F8007FC000003800FF
-8000001801FF0000000003FE0000000003FC0000000007FC0000000007F8000000000FF0
-000000000FF0000000001FE0000000001FE0000000003FC0000000003FC0000000003FC0
-000000007F80000000007F80000000007F80000000007F8000000000FF0000000000FF00
-00000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00
-00000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000000007F80
-000000007F80000000007F80000000007F80000000003FC0000000003FC0000000003FC0
-000000001FE0000000001FE0000000000FF0000000000FF00000000007F80000000007FC
-0000000003FC0000000003FE0000000001FF0000000400FF8000000C007FC000003C003F
-F000007C001FFC0001FE000FFF801FFE0007FFFFFFFE0001FFFFFFFC0000FFFFFFF00000
-3FFFFFC000000FFFFF00000000FFF0002F437AC03A>67 D<000000FFF000000007FFFF00
-00003FFFFFE00000FFFFFFF80001FFFFFFFE0007FFFFFFFE000FFF803FFE001FFC0003FC
-003FF00000FC007FE000003C00FF8000001C01FF0000000C01FE0000000003FC00000000
-07FC0000000007F8000000000FF0000000000FF0000000001FE0000000001FE000000000
-3FC0000000003FC0000000003FC0000000007F80000000007F80000000007F8000000000
-7F8000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000
-FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF000007FFFF
-FF000007FFFFFF000007FFFF7F800007FFFF7F800007FFFF7F800007FFFF7F800000007F
-3FC00000007F3FC00000007F3FC00000007F1FE00000007F1FE00000007F0FF00000007F
-0FF00000007F07F80000007F07FC0000007F03FC0000007F01FE0000007F01FF0000007F
-00FF8000007F007FE000007F003FF000007F001FFC0001FF000FFF801FFF0007FFFFFFFF
-0001FFFFFFFF0000FFFFFFFC00003FFFFFF0000007FFFF00000000FFF00030437AC03D>
-71 D<FFFFFFFFFFFFFEFFFFFFFFFFFFFEFFFFFFFFFFFFFEFFFFFFFFFFFFFEFFFFFFFFFF
-FFFEFFFFFFFFFFFFFE000000FF000000000000FF000000000000FF000000000000FF0000
-00000000FF000000000000FF000000000000FF000000000000FF000000000000FF000000
-000000FF000000000000FF000000000000FF000000000000FF000000000000FF00000000
-0000FF000000000000FF000000000000FF000000000000FF000000000000FF0000000000
-00FF000000000000FF000000000000FF000000000000FF000000000000FF000000000000
-FF000000000000FF000000000000FF000000000000FF000000000000FF000000000000FF
-000000000000FF000000000000FF000000000000FF000000000000FF000000000000FF00
-0000000000FF000000000000FF000000000000FF000000000000FF000000000000FF0000
-00000000FF000000000000FF000000000000FF000000000000FF000000000000FF000000
-000000FF000000000000FF000000000000FF000000000000FF000000000000FF00000000
-0000FF000000000000FF000000000000FF000000000000FF000000000000FF0000000000
-00FF000000373E7DBD3E>84 D<000FF80000FFFF0003FFFF800FFFFFE01FFFFFF01FFFFF
-F01FF00FF81F8003FC1E0001FC180001FE100000FE000000FF0000007F0000007F000000
-7F0000007F0000007F0000007F0000007F00007FFF000FFFFF007FFFFF01FFFFFF07FFFF
-FF0FFFF07F3FFC007F3FC0007F7F00007FFE00007FFC00007FFC00007FFC00007FFC0000
-FFFE0000FFFE0001FF7F8007FF7FE01FFF3FFFFFFF3FFFFFFF1FFFFF7F0FFFFC7F07FFF0
-7F01FF0000202B7CA92C>97 D<0003F80000001FFF0000007FFFC00000FFFFE00001FFFF
-F00003FFFFF80007FE07F8000FF801FC000FE000FE001FC0007E003FC0003E003F80003F
-003F00001F007F00001F007E00001F007E00000F80FFFFFFFF80FFFFFFFF80FFFFFFFF80
-FFFFFFFF80FFFFFFFF80FFFFFFFF80FC00000000FC00000000FC00000000FE000000007E
-000000007E000000007F000000007F000000003F800000003F800000001FC00000001FE0
-0000800FF000038007FC001F8007FF00FF8003FFFFFF8001FFFFFF80007FFFFF00003FFF
-FC00000FFFE0000001FF0000212B7DA928>101 D<00001FF00000FFFC0001FFFC0007FF
-FC000FFFFC000FFFFC001FE03C003F8004003F0000007F0000007E000000FE000000FE00
-0000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE00
-0000FE000000FE0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000FE00
-0000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE00
-0000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE00
-0000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE00
-0000FE000000FE000000FE000000FE000000FE000000FE00001E407FBF1C>I<FC007CFC
-03FCFC0FFCFC1FFCFC3FFCFC7FFCFCFFC0FDFE00FFF800FFF000FFE000FFC000FFC000FF
-8000FF8000FF0000FF0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE
-0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE
-0000FE0000FE0000FE0000162979A81F>114 D E /Fb 7 121 df<001FFC00000000FFFF
-80000003FFFFE0000007FFFFF000000FFFFFFC00001FFFFFFE00001FF007FF00001FE001
-FF00001FE000FF80001FE0003F80000FC0003FC0000780001FC0000000001FE000000000
-0FE0000000000FE0000000000FE0000000000FE0000000000FE00000000FFFE0000001FF
-FFE000001FFFFFE000007FFFFFE00001FFFFFFE00007FFFF0FE0000FFFC00FE0001FFC00
-0FE0003FF0000FE0007FC0000FE0007F80000FE000FF00000FE000FE00000FE000FE0000
-0FE000FE00000FE000FE00000FE000FE00000FE000FF00001FE0007F00001FE0007F8000
-7FE0003FE000FFF0003FF807FFFFF01FFFFFFFFFF80FFFFFFFFFF807FFFFF3FFF803FFFF
-C1FFF800FFFF003FF0001FF00000002D2E7BAC33>97 D<0000FF80000007FFF000001FFF
-FC00003FFFFE0000FFFFFF0001FFFFFF8003FF80FFC007FE003FE007F8000FF00FF00007
-F01FE00007F81FC00003F83FC00003FC3F800001FC7F800001FC7F000001FC7F000001FE
-7F000000FEFF000000FEFE000000FEFFFFFFFFFEFFFFFFFFFEFFFFFFFFFEFFFFFFFFFEFF
-FFFFFFFEFFFFFFFFFCFE00000000FF000000007F000000007F000000007F000000003F80
-0000003F8000007C1FC00000FE1FE00000FE0FF00000FE0FF80001FE07FC0003FC03FF00
-0FFC01FFC03FF800FFFFFFF0007FFFFFE0003FFFFFC0000FFFFF000003FFFC0000007FE0
-00272E7BAC33>101 D<000001FF00003FFC07FFC0007FFE1FFFF000FFFE7FFFF800FFFE
-FFFFF8007FFFFFFFFC003FFFFF07FE0000FFF801FE0000FFF000FE0000FFE000FF0000FF
-C0007F0000FF80007F0000FF80007F0000FF00007F0000FF00007F0000FF00007F0000FE
-00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE
-00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE
-00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE
-00007F0000FE00007F0000FE00007F0000FE00007F003FFFF80FFFFC7FFFFC1FFFFEFFFF
-FE3FFFFFFFFFFE3FFFFF7FFFFC1FFFFE3FFFF80FFFFC302C7FAB33>110
-D<00000003FE007FFF801FFF80FFFFC07FFFE0FFFFC1FFFFE0FFFFC3FFFFF0FFFFC7FFFF
-F07FFFCFFE0FF0001FDFF00FF0001FFFC007E0001FFF8003C0001FFF000000001FFE0000
-00001FFC000000001FF8000000001FF8000000001FF0000000001FF0000000001FE00000
-00001FE0000000001FE0000000001FC0000000001FC0000000001FC0000000001FC00000
-00001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC00000
-00001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC00000
-00001FC0000000001FC00000007FFFFFFE0000FFFFFFFF0000FFFFFFFF0000FFFFFFFF00
-00FFFFFFFF00007FFFFFFE00002C2C7DAB33>114 D<0003C00000000007E0000000000F
-E0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE0000000000F
-E0000000000FE0000000000FE0000000000FE00000003FFFFFFFFC007FFFFFFFFE00FFFF
-FFFFFE00FFFFFFFFFE00FFFFFFFFFE007FFFFFFFFC00000FE0000000000FE0000000000F
-E0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE0000000000F
-E0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE0000000000F
-E0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE0000000000F
-E0000000000FE0001F00000FE0003F80000FE0003F80000FE0003F80000FE0003F80000F
-E0003F80000FE0007F80000FF0007F000007F000FF000007F801FF000007FE07FE000003
-FFFFFC000001FFFFF8000000FFFFF00000007FFFE00000001FFF8000000007FC00002938
-7EB633>116 D<3FFFC00FFFF07FFFE01FFFF8FFFFF03FFFFCFFFFF03FFFFC7FFFE01FFF
-F83FFFC00FFFF001F800007E0001FC0000FE0000FC0000FC0000FC0000FC0000FE0001FC
-00007E0001F800007E0001F800007F0003F800003F0003F000003F0003F000003F8007F0
-00001F8007E000001F8007E000001FC00FE000000FC00FC000000FC00FC000000FC00FC0
-000007E01F80000007E01F80000007E01F80000007F03F80000003F03F00000003F03F00
-000003F87F00000001F87E00000001F87E00000001FCFE00000000FCFC00000000FCFC00
-000000FFFC000000007FF8000000007FF8000000007FF8000000003FF0000000003FF000
-0000001FE0000000000FC000002E2B7EAA33>118 D<3FFFC07FFF807FFFE0FFFFC0FFFF
-F1FFFFE0FFFFF1FFFFE07FFFE0FFFFC03FFFC07FFF8000FE000FE000007F001FC000003F
-801FC000003F803F8000001FC07F0000000FE07E00000007F0FE00000007F1FC00000003
-FBF800000001FFF800000000FFF000000000FFE0000000007FC0000000003FC000000000
-1F80000000003F80000000003FC0000000007FE000000000FFE000000001FBF000000001
-F9F800000003F1FC00000007E0FC00000007E07E0000000FC07F0000001FC03F8000003F
-801F8000003F001FC000007F000FE00000FE0007F00001FC0003F0007FFFC03FFFE0FFFF
-E07FFFF0FFFFE07FFFF0FFFFE07FFFF0FFFFE07FFFF07FFFC03FFFE02C2B7DAA33>120
-D E /Fc 1 43 df<000F0000001F8000001F8000001F8000001F8000001F8000001F8000
-781F81E0FE1F87F0FF1F8FF0FFDFBFF07FFFFFE03FFFFFC00FFFFF0003FFFC0000FFF000
-00FFF00003FFFC000FFFFF003FFFFFC07FFFFFE0FFDFBFF0FF1F8FF0FE1F87F0781F81E0
-001F8000001F8000001F8000001F8000001F8000001F8000000F00001C207BA627>42
-D E /Fd 1 122 df<01E0000007F8000E0E3C001F1C3E003F383E003E303E003E703E00
-3E607E007EE07C007CC07C007CC0FC007C80F800FC00F800F801F800F801F000F801F001
-F803F001F003E001F003E001F003E003F007E003E007C003E007C003E007C007E007C007
-C003C00FC003E01FC003E03FC001F07F80007FEF80001F8F8000001F8000001F0000001F
-003E003E003E003E007E007C007E00F8007C01F0007003E0003007C0003C0F80000FFE00
-0003F00000202C7E9D23>121 D E /Fe 3 121 df<1E007F80FF80FFC0FFC0FFE0FFE0FF
-E07FE01E60006000600060006000E000C000C000C001C001800380030007000E001C0018
-00380030000B1C798919>59 D<01F0000FF0000007FC003FFE00000F1F00F01F00000E1F
-03C00F80001E0F87000FC0001C0F8E0007C0003C0FDC0007E000380FF80007E000380FF0
-0007E000781FF00007E000701FE00007E000701FC00007E000701FC00007E000F01F8000
-0FE000F03F80000FC000003F00000FC000003F00000FC000003F00001FC000007F00001F
-8000007E00001F8000007E00003F8000007E00003F000000FE00003F000000FC00007F00
-0000FC00007E000000FC00007E000001FC0000FE038001F80000FC038001F80000FC0380
-01F80001FC078003F80001F8070003F00001F8070003F00001F80F0003F00001F00E0007
-F00001F01E0007E00001F01C0007E00001F0380007E00001F078000FE00000F8F0000FC0
-00007FC000038000001F000031297EA737>110 D<0001F8003F000007FE00FFE0001E0F
-83C0F0003807C780F8007003CF03F800E003FE03F801C003FC07F803C003FC07F8038003
-F807F8070003F807F0070003F801C00E0003F000000E0003F000001E0007F000001E0007
-F00000000007E00000000007E0000000000FE0000000000FC0000000000FC0000000000F
-C0000000001FC0000000001F80000000001F80000000001F80000000003F80000000003F
-0001C000003F0001C000003F0001C000007F0003C01E007F0003803F007E0007807F80FE
-0007007F80FE000F00FF81FE001E00FF01DF001C00FE03DF0038007C078F80F0003C0F07
-C1E0001FFC03FF800007F0007E00002D297EA734>120 D E /Ff
-51 121 df<0000000FFF0000000001FFFFC00000000FFFFFF00000007FFFFFF8000001FF
-F803FC000003FFC000FE00000FFF0003FE00001FFE0007FF00003FFC000FFF00003FF800
-0FFF00007FF0000FFF00007FF0001FFF8000FFF0000FFF0000FFE0000FFF0000FFE0000F
-FF0000FFE0000FFF0000FFE00007FE0000FFE00001F80000FFE00000000000FFE0000000
-0000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE000000000
-00FFE001FFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FF
-FFFFFFFFFF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FF
-E00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE0
-0003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE000
-03FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003
-FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF
-8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF80
-00FFE00003FF8000FFE00003FF8000FFE00003FF8000FFE00003FF807FFFFFC1FFFFFF7F
-FFFFC1FFFFFF7FFFFFC1FFFFFF7FFFFFC1FFFFFF7FFFFFC1FFFFFF38467EC53E>12
-D<07C01FF03FF87FFCFFFEFFFEFFFEFFFEFFFEFFFEFFFE7FFC3FF81FF007C00F0F788E1F
->46 D<0000000001C00000000003E00000000007E00000000007E0000000000FE0000000
-000FC0000000001FC0000000001F80000000001F80000000003F80000000003F00000000
-007F00000000007E00000000007E0000000000FE0000000000FC0000000001FC00000000
-01F80000000001F80000000003F80000000003F00000000003F00000000007F000000000
-07E0000000000FE0000000000FC0000000000FC0000000001FC0000000001F8000000000
-3F80000000003F00000000003F00000000007F00000000007E0000000000FE0000000000
-FC0000000000FC0000000001FC0000000001F80000000003F80000000003F00000000003
-F00000000007F00000000007E0000000000FE0000000000FC0000000000FC0000000001F
-C0000000001F80000000003F80000000003F00000000003F00000000007F00000000007E
-00000000007E0000000000FE0000000000FC0000000001FC0000000001F80000000001F8
-0000000003F80000000003F00000000007F00000000007E00000000007E0000000000FE0
-000000000FC0000000001FC0000000001F80000000001F80000000003F80000000003F00
-000000007F00000000007E00000000007E0000000000FE0000000000FC0000000001FC00
-00000001F80000000001F80000000003F80000000003F00000000003F00000000007F000
-00000007E0000000000FE0000000000FC0000000000FC0000000001FC0000000001F8000
-0000003F80000000003F00000000003F00000000007F00000000007E0000000000FE0000
-000000FC0000000000FC0000000000F800000000007800000000002B647ACA38>I<0000
-3FF800000001FFFF0000000FFFFFE000003FFFFFF800007FF01FFC0000FFC007FE0001FF
-0001FF0003FE0000FF8007FE0000FFC007FC00007FC00FFC00007FE00FF800003FE01FF8
-00003FF01FF800003FF03FF800003FF83FF800003FF83FF000001FF87FF000001FFC7FF0
-00001FFC7FF000001FFC7FF000001FFC7FF000001FFC7FF000001FFCFFF000001FFEFFF0
-00001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF0
-00001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF0
-00001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF000001FFEFFF0
-00001FFEFFF000001FFE7FF000001FFC7FF000001FFC7FF000001FFC7FF000001FFC7FF0
-00001FFC3FF800003FF83FF800003FF83FF800003FF81FF800003FF01FF800003FF00FF8
-00003FE00FFC00007FE007FC00007FC007FE0000FFC003FF0001FF8001FF8003FF0000FF
-C007FE00007FF01FFC00003FFFFFF800000FFFFFE0000003FFFF800000003FF800002F42
-7CC038>I<000003C000000007C00000001FC00000007FC0000003FFC000003FFFC000FF
-FFFFC000FFFFFFC000FFFFFFC000FFFFFFC000FFC3FFC0000003FFC0000003FFC0000003
-FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FF
-C0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0
-000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC000
-0003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC00000
-03FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003
-FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FFC0000003FF
-C0000003FFC0000003FFC0000003FFC000FFFFFFFFFCFFFFFFFFFCFFFFFFFFFCFFFFFFFF
-FCFFFFFFFFFC264177C038>I<0000FFE00000000FFFFE0000003FFFFF800000FFFFFFE0
-0003FFFFFFF80007FC03FFFE000FE0007FFF001F80003FFF803F00000FFFC07F000007FF
-C07FC00007FFE07FF00003FFE0FFF00001FFF0FFF80001FFF0FFF80001FFF8FFF80000FF
-F8FFF80000FFF8FFF80000FFF8FFF80000FFF87FF00000FFF83FE00000FFF81FC00000FF
-F800000000FFF800000000FFF000000001FFF000000001FFF000000001FFE000000003FF
-E000000003FFC000000007FF800000000FFF000000000FFF000000001FFC000000003FF8
-000000003FF0000000007FE000000000FFC000000001FF0000000003FE0000000007FC00
-0000000FF0000000001FE0000000003F80000000007F0000780000FE0000780001FC0000
-780003F80000F80007E00000F0000FC00000F0001F800000F0003F000000F0007C000001
-F000F8000003F001FFFFFFFFF003FFFFFFFFE007FFFFFFFFE00FFFFFFFFFE01FFFFFFFFF
-E03FFFFFFFFFE07FFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFF
-C0FFFFFFFFFFC02D417BC038>I<0000FFF000000007FFFF0000001FFFFFC000007FFFFF
-F00000FF007FF80003F8003FFE0007E0001FFF0007E0000FFF000FF80007FF800FFE0007
-FF801FFE0007FFC01FFF0007FFC01FFF0007FFC01FFF0007FFC01FFF0007FFC01FFF0007
-FFC01FFF0007FFC00FFE0007FFC007FC0007FF8003F8000FFF800000000FFF000000001F
-FF000000001FFE000000003FFC000000007FF800000000FFF000000001FFE00000000FFF
-80000007FFFE00000007FFF800000007FFFF00000007FFFFC000000000FFF0000000003F
-FC000000000FFE000000000FFF8000000007FF8000000003FFC000000003FFE000000003
-FFE000000001FFF000000001FFF000000001FFF800000001FFF800000001FFF80FC00001
-FFF83FF00001FFF87FF80001FFF87FF80001FFF8FFFC0001FFF8FFFC0001FFF8FFFC0001
-FFF0FFFC0001FFF0FFFC0003FFF0FFFC0003FFE07FF80003FFE07FF00007FFC07FE00007
-FFC03F80000FFF801FF0001FFF000FFE00FFFE0007FFFFFFF80001FFFFFFF000007FFFFF
-C000001FFFFE00000001FFE000002D427BC038>I<000000003F0000000000003F000000
-0000007F000000000000FF000000000001FF000000000003FF000000000003FF00000000
-0007FF00000000000FFF00000000001FFF00000000003FFF00000000003FFF0000000000
-7FFF0000000000FFFF0000000001F7FF0000000003E7FF0000000007E7FF0000000007C7
-FF000000000F87FF000000001F07FF000000003E07FF000000007E07FF000000007C07FF
-00000000F807FF00000001F007FF00000003E007FF00000007E007FF00000007C007FF00
-00000F8007FF0000001F0007FF0000003E0007FF0000007C0007FF0000007C0007FF0000
-00F80007FF000001F00007FF000003E00007FF000007C00007FF00000FC00007FF00000F
-800007FF00001F000007FF00003E000007FF00007C000007FF0000FC000007FF0000FFFF
-FFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFFFFFFFF80000000
-0FFF00000000000FFF00000000000FFF00000000000FFF00000000000FFF00000000000F
-FF00000000000FFF00000000000FFF00000000000FFF00000000000FFF00000000000FFF
-00000000000FFF000000007FFFFFFF8000007FFFFFFF8000007FFFFFFF8000007FFFFFFF
-8000007FFFFFFF8031417DC038>I<07000000030007E000003F0007FF0007FF0007FFFF
-FFFF0007FFFFFFFE0007FFFFFFFC0007FFFFFFF80007FFFFFFF00007FFFFFFE00007FFFF
-FF800007FFFFFE000007FFFFFC000007FFFFE0000007FFFF00000007C00000000007C000
-00000007C00000000007C00000000007C00000000007C00000000007C00000000007C000
-00000007C00000000007C00000000007C03FF0000007C1FFFF000007C7FFFFC00007DFFF
-FFF00007FFE03FFC0007FF000FFE0007FC0007FF0007F00003FF8007E00003FFC007C000
-01FFC003800001FFE000000001FFE000000000FFF000000000FFF000000000FFF0000000
-00FFF800000000FFF800000000FFF800000000FFF80F800000FFF83FE00000FFF87FF000
-00FFF8FFF00000FFF8FFF80000FFF8FFF80000FFF8FFF80000FFF8FFF80000FFF0FFF000
-00FFF0FFF00001FFF07FE00001FFE07FC00001FFE07E000003FFC03E000003FFC03F0000
-07FF801FC0000FFF000FF0001FFE0007FE00FFFC0003FFFFFFF00000FFFFFFE000003FFF
-FF8000000FFFFC00000001FFC000002D427BC038>I<000001FF800000001FFFF0000000
-7FFFFC000001FFFFFF000007FF807F80000FFC001F80003FF0001FC0007FE0007FC000FF
-C000FFE001FF8001FFE003FF8001FFE003FF0001FFE007FE0001FFE00FFE0001FFE00FFE
-0001FFE01FFC0000FFC01FFC00007F801FFC00001E003FFC000000003FFC000000003FF8
-000000007FF8000000007FF8000000007FF807FC00007FF81FFF8000FFF87FFFE000FFF8
-FFFFF800FFF9F01FFC00FFFBC007FE00FFFF8003FF00FFFF8003FF80FFFF0001FFC0FFFE
-0001FFC0FFFE0000FFE0FFFE0000FFE0FFFC0000FFF0FFFC0000FFF0FFFC0000FFF0FFFC
-0000FFF8FFF80000FFF8FFF80000FFF8FFF80000FFF8FFF80000FFF87FF80000FFF87FF8
-0000FFF87FF80000FFF87FF80000FFF87FF80000FFF83FF80000FFF83FF80000FFF83FF8
-0000FFF03FFC0000FFF01FFC0000FFF01FFC0000FFF00FFC0001FFE00FFC0001FFE007FE
-0001FFC007FF0003FF8003FF8003FF0001FFC007FE0000FFE01FFC00007FFFFFF800001F
-FFFFF0000007FFFFC0000001FFFF000000003FF000002D427BC038>I<1E00000000001F
-00000000001FFC000000001FFFFFFFFFFE1FFFFFFFFFFE1FFFFFFFFFFE1FFFFFFFFFFE3F
-FFFFFFFFFE3FFFFFFFFFFC3FFFFFFFFFF83FFFFFFFFFF03FFFFFFFFFE03FFFFFFFFFC03F
-FFFFFFFFC07FFFFFFFFF807E0000003F007C0000007E007C000000FC0078000000F80078
-000001F80078000003F000F8000007E000F000000FC000F000000F8000F000001F800000
-00003F00000000007E0000000000FC0000000000FC0000000001F80000000003F8000000
-0003F00000000007F0000000000FE0000000000FE0000000001FE0000000001FC0000000
-003FC0000000003FC0000000007FC0000000007F8000000000FF8000000000FF80000000
-01FF8000000001FF8000000001FF8000000003FF8000000003FF0000000003FF00000000
-03FF0000000007FF0000000007FF0000000007FF0000000007FF0000000007FF00000000
-0FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF00000000
-0FFF000000000FFF000000000FFF000000000FFF0000000007FE0000000003FC00000000
-01F80000002F447AC238>I<00007FF000000003FFFF0000000FFFFFC000003FFFFFF000
-007F801FFC0001FC0003FE0003F80001FF0003F00000FF0007E000007F8007E000003F80
-0FC000003FC00FC000003FC01FC000001FC01FC000001FC01FE000001FC01FE000001FC0
-1FF000001FC01FF800001FC01FFE00003FC01FFF00003F801FFFC0007F801FFFF0007F00
-0FFFFC00FF000FFFFE01FE0007FFFF83FC0007FFFFE7F80003FFFFFFE00001FFFFFFC000
-00FFFFFF0000007FFFFFC000003FFFFFE000000FFFFFF800000FFFFFFC00003FFFFFFE00
-00FFFFFFFF0001FF3FFFFF8007FC0FFFFFC00FF803FFFFE01FF000FFFFE01FE0007FFFF0
-3FE0001FFFF07FC00007FFF07F800003FFF87F800000FFF8FF8000007FF8FF0000003FF8
-FF0000001FF8FF0000000FF8FF0000000FF8FF00000007F8FF00000007F8FF00000007F8
-FF80000007F07F80000007F07F8000000FF07FC000000FE03FE000001FE03FF000003FC0
-1FF800007F800FFE0001FF0007FFC00FFE0003FFFFFFFC0000FFFFFFF000003FFFFFC000
-000FFFFF00000000FFF000002D427BC038>I<00007FF000000007FFFE0000001FFFFF80
-00007FFFFFE00000FFE03FF00001FF800FF80003FF0007FC0007FE0007FE000FFC0003FF
-001FFC0001FF003FFC0001FF803FFC0001FF807FF80001FFC07FF80000FFC07FF80000FF
-E07FF80000FFE0FFF80000FFE0FFF80000FFF0FFF80000FFF0FFF80000FFF0FFF80000FF
-F0FFF80000FFF0FFF80000FFF0FFF80000FFF8FFF80000FFF8FFF80000FFF8FFF80000FF
-F8FFF80001FFF87FF80001FFF87FF80001FFF87FF80001FFF83FF80003FFF83FF80003FF
-F81FFC0003FFF81FFC0007FFF80FFE000FFFF807FE000FFFF803FF001EFFF801FFC07CFF
-F800FFFFF8FFF8003FFFF0FFF8000FFFC0FFF00001FF00FFF000000000FFF000000000FF
-F000000000FFE000000001FFE000000001FFE003C00001FFE00FF00001FFC01FF80001FF
-C03FFC0003FF803FFC0003FF803FFC0003FF003FFC0007FE003FFC000FFE003FFC000FFC
-003FF8001FF8001FF0003FF0001FC000FFE0000FF003FFC00007FFFFFF800003FFFFFE00
-0001FFFFF80000007FFFE000000007FE0000002D427BC038>I<000000001F8000000000
-000000001F8000000000000000003FC000000000000000003FC000000000000000007FE0
-00000000000000007FE000000000000000007FE00000000000000000FFF0000000000000
-0000FFF00000000000000001FFF80000000000000001FFF80000000000000001FFF80000
-000000000003FFFC0000000000000003FFFC0000000000000007FFFE0000000000000007
-FFFE0000000000000007FFFE000000000000000FFFFF000000000000000F9FFF00000000
-0000001F9FFF800000000000001F1FFF800000000000001F0FFF800000000000003F0FFF
-C00000000000003E07FFC00000000000007E07FFE00000000000007C07FFE00000000000
-007C03FFE0000000000000FC03FFF0000000000000F801FFF0000000000001F801FFF800
-0000000001F001FFF8000000000001F000FFF8000000000003F000FFFC000000000003E0
-007FFC000000000007E0007FFE000000000007C0007FFE000000000007C0003FFE000000
-00000FC0003FFF00000000000F80001FFF00000000001F80001FFF80000000001F00000F
-FF80000000001F00000FFF80000000003F00000FFFC0000000003E000007FFC000000000
-7E000007FFE0000000007FFFFFFFFFE0000000007FFFFFFFFFE000000000FFFFFFFFFFF0
-00000000FFFFFFFFFFF000000001FFFFFFFFFFF800000001F0000000FFF800000001F000
-0000FFF800000003F0000000FFFC00000003E00000007FFC00000007E00000007FFE0000
-0007C00000003FFE00000007C00000003FFE0000000F800000003FFF0000000F80000000
-1FFF0000001F800000001FFF8000001F000000000FFF8000003F000000000FFFC000003E
-000000000FFFC000007E0000000007FFC000FFFFFF00000FFFFFFFF0FFFFFF00000FFFFF
-FFF0FFFFFF00000FFFFFFFF0FFFFFF00000FFFFFFFF0FFFFFF00000FFFFFFFF04C457CC4
-55>65 D<00000000FFF00000700000001FFFFF0000F0000001FFFFFFE001F0000007FFFF
-FFF803F000003FFFFFFFFE07F00000FFFFE001FF0FF00001FFFE00003F9FF00007FFF000
-000FFFF0000FFFC0000007FFF0001FFF00000003FFF0003FFE00000001FFF0007FFC0000
-0000FFF000FFF8000000007FF001FFF0000000003FF003FFE0000000001FF007FFE00000
-00001FF007FFC0000000000FF00FFF80000000000FF00FFF800000000007F01FFF000000
-000007F01FFF000000000003F03FFF000000000003F03FFE000000000003F03FFE000000
-000003F07FFE000000000001F07FFE000000000001F07FFE000000000001F07FFC000000
-00000000FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC000000
-00000000FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC000000
-00000000FFFC00000000000000FFFC00000000000000FFFC00000000000000FFFC000000
-00000000FFFC00000000000000FFFC000000000000007FFC000000000000007FFE000000
-000000007FFE000000000000F07FFE000000000000F03FFE000000000000F03FFE000000
-000000F03FFF000000000000F01FFF000000000001F01FFF000000000001E00FFF800000
-000001E00FFF800000000003E007FFC00000000003C007FFE00000000007C003FFE00000
-000007C001FFF0000000000F8000FFF8000000001F00007FFC000000003F00003FFE0000
-00007E00001FFF80000000FC00000FFFC0000001F8000007FFF0000007F0000001FFFE00
-001FE0000000FFFFF001FF800000003FFFFFFFFF0000000007FFFFFFFC0000000001FFFF
-FFF000000000001FFFFF80000000000000FFF800000044467AC451>67
-D<FFFFFFFFFFFF00000000FFFFFFFFFFFFF0000000FFFFFFFFFFFFFE000000FFFFFFFFFF
-FFFF800000FFFFFFFFFFFFFFE00000003FFE00001FFFF80000003FFE000001FFFC000000
-3FFE0000003FFF0000003FFE0000000FFF8000003FFE00000007FFC000003FFE00000003
-FFE000003FFE00000001FFF000003FFE00000000FFF000003FFE000000007FF800003FFE
-000000003FFC00003FFE000000003FFC00003FFE000000001FFE00003FFE000000001FFE
-00003FFE000000000FFF00003FFE000000000FFF00003FFE000000000FFF80003FFE0000
-00000FFF80003FFE0000000007FF80003FFE0000000007FFC0003FFE0000000007FFC000
-3FFE0000000007FFC0003FFE0000000007FFC0003FFE0000000007FFC0003FFE00000000
-07FFE0003FFE0000000007FFE0003FFE0000000007FFE0003FFE0000000007FFE0003FFE
-0000000007FFE0003FFE0000000007FFE0003FFE0000000007FFE0003FFE0000000007FF
-E0003FFE0000000007FFE0003FFE0000000007FFE0003FFE0000000007FFE0003FFE0000
-000007FFE0003FFE0000000007FFE0003FFE0000000007FFC0003FFE0000000007FFC000
-3FFE0000000007FFC0003FFE0000000007FFC0003FFE0000000007FFC0003FFE00000000
-07FF80003FFE000000000FFF80003FFE000000000FFF80003FFE000000000FFF00003FFE
-000000001FFF00003FFE000000001FFE00003FFE000000003FFE00003FFE000000003FFC
-00003FFE000000007FF800003FFE00000000FFF800003FFE00000000FFF000003FFE0000
-0001FFE000003FFE00000007FFC000003FFE0000000FFF8000003FFE0000003FFF000000
-3FFE000001FFFE0000003FFE00000FFFF80000FFFFFFFFFFFFFFF00000FFFFFFFFFFFFFF
-C00000FFFFFFFFFFFFFE000000FFFFFFFFFFFFF0000000FFFFFFFFFFFF000000004B447C
-C356>I<FFFFFFFFFFFFFFF800FFFFFFFFFFFFFFF800FFFFFFFFFFFFFFF800FFFFFFFFFF
-FFFFF800FFFFFFFFFFFFFFFC00001FFF000001FFFC00001FFF0000003FFC00001FFF0000
-000FFC00001FFF00000003FC00001FFF00000001FC00001FFF00000000FC00001FFF0000
-0000FC00001FFF000000007E00001FFF000000003E00001FFF000000003E00001FFF0000
-00003E00001FFF000000001E00001FFF000000001E00001FFF000078001E00001FFF0000
-78001E00001FFF000078000F00001FFF000078000F00001FFF000078000F00001FFF0000
-78000F00001FFF0000F8000000001FFF0000F8000000001FFF0000F8000000001FFF0001
-F8000000001FFF0003F8000000001FFF001FF8000000001FFFFFFFF8000000001FFFFFFF
-F8000000001FFFFFFFF8000000001FFFFFFFF8000000001FFFFFFFF8000000001FFF001F
-F8000000001FFF0003F8000000001FFF0001F8000000001FFF0000F8000000001FFF0000
-F8000000001FFF0000F80001E0001FFF0000780001E0001FFF0000780001E0001FFF0000
-780003C0001FFF0000780003C0001FFF0000780003C0001FFF0000780003C0001FFF0000
-000003C0001FFF0000000007C0001FFF0000000007C0001FFF000000000780001FFF0000
-00000780001FFF000000000F80001FFF000000000F80001FFF000000001F80001FFF0000
-00001F80001FFF000000003F80001FFF000000007F00001FFF00000000FF00001FFF0000
-0001FF00001FFF00000007FF00001FFF0000001FFF00001FFF000001FFFF00FFFFFFFFFF
-FFFFFF00FFFFFFFFFFFFFFFE00FFFFFFFFFFFFFFFE00FFFFFFFFFFFFFFFE00FFFFFFFFFF
-FFFFFE0043447DC34A>I<FFFFFFFFFFFFFF80FFFFFFFFFFFFFF80FFFFFFFFFFFFFF80FF
-FFFFFFFFFFFF80FFFFFFFFFFFFFFC0003FFE00001FFFC0003FFE000001FFC0003FFE0000
-007FC0003FFE0000003FC0003FFE0000001FC0003FFE0000000FC0003FFE00000007C000
-3FFE00000007E0003FFE00000003E0003FFE00000003E0003FFE00000003E0003FFE0000
-0001E0003FFE00000001E0003FFE00000001E0003FFE0001E001E0003FFE0001E000F000
-3FFE0001E000F0003FFE0001E000F0003FFE0001E000F0003FFE0001E00000003FFE0003
-E00000003FFE0003E00000003FFE0003E00000003FFE0007E00000003FFE000FE0000000
-3FFE007FE00000003FFFFFFFE00000003FFFFFFFE00000003FFFFFFFE00000003FFFFFFF
-E00000003FFFFFFFE00000003FFE007FE00000003FFE000FE00000003FFE0007E0000000
-3FFE0003E00000003FFE0003E00000003FFE0003E00000003FFE0001E00000003FFE0001
-E00000003FFE0001E00000003FFE0001E00000003FFE0001E00000003FFE0001E0000000
-3FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000
-000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE000000000000
-3FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000
-000000003FFE0000000000FFFFFFFFF0000000FFFFFFFFF0000000FFFFFFFFF0000000FF
-FFFFFFF0000000FFFFFFFFF00000003C447CC346>I<FFFFFFFF8003FFFFFFFEFFFFFFFF
-8003FFFFFFFEFFFFFFFF8003FFFFFFFEFFFFFFFF8003FFFFFFFEFFFFFFFF8003FFFFFFFE
-003FFE00000000FFF800003FFE00000000FFF800003FFE00000000FFF800003FFE000000
-00FFF800003FFE00000000FFF800003FFE00000000FFF800003FFE00000000FFF800003F
-FE00000000FFF800003FFE00000000FFF800003FFE00000000FFF800003FFE00000000FF
-F800003FFE00000000FFF800003FFE00000000FFF800003FFE00000000FFF800003FFE00
-000000FFF800003FFE00000000FFF800003FFE00000000FFF800003FFE00000000FFF800
-003FFE00000000FFF800003FFE00000000FFF800003FFE00000000FFF800003FFE000000
-00FFF800003FFE00000000FFF800003FFE00000000FFF800003FFE00000000FFF800003F
-FFFFFFFFFFFFF800003FFFFFFFFFFFFFF800003FFFFFFFFFFFFFF800003FFFFFFFFFFFFF
-F800003FFFFFFFFFFFFFF800003FFE00000000FFF800003FFE00000000FFF800003FFE00
-000000FFF800003FFE00000000FFF800003FFE00000000FFF800003FFE00000000FFF800
-003FFE00000000FFF800003FFE00000000FFF800003FFE00000000FFF800003FFE000000
-00FFF800003FFE00000000FFF800003FFE00000000FFF800003FFE00000000FFF800003F
-FE00000000FFF800003FFE00000000FFF800003FFE00000000FFF800003FFE00000000FF
-F800003FFE00000000FFF800003FFE00000000FFF800003FFE00000000FFF800003FFE00
-000000FFF800003FFE00000000FFF800003FFE00000000FFF800003FFE00000000FFF800
-003FFE00000000FFF800003FFE00000000FFF800003FFE00000000FFF800003FFE000000
-00FFF800FFFFFFFF8003FFFFFFFEFFFFFFFF8003FFFFFFFEFFFFFFFF8003FFFFFFFEFFFF
-FFFF8003FFFFFFFEFFFFFFFF8003FFFFFFFE4F447CC358>72 D<FFFFFFFFE0FFFFFFFFE0
-FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0001FFF0000001FFF0000001FFF0000001FFF000000
-1FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001F
-FF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF
-0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF00
-00001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000
-001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF000000
-1FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001F
-FF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF
-0000001FFF0000001FFF0000001FFF0000FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFF
-E0FFFFFFFFE023447DC32A>I<FFFFFFFFF0000000FFFFFFFFF0000000FFFFFFFFF00000
-00FFFFFFFFF0000000FFFFFFFFF0000000003FFE0000000000003FFE0000000000003FFE
-0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE00000000
-00003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE
-0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE00000000
-00003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE
-0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE00000000
-00003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE
-0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE00000000
-00003FFE0000000000003FFE0000000780003FFE0000000780003FFE0000000780003FFE
-0000000780003FFE0000000F80003FFE0000000F00003FFE0000000F00003FFE0000000F
-00003FFE0000000F00003FFE0000001F00003FFE0000001F00003FFE0000001F00003FFE
-0000003F00003FFE0000003F00003FFE0000007E00003FFE0000007E00003FFE000000FE
-00003FFE000001FE00003FFE000003FE00003FFE000007FE00003FFE00001FFE00003FFE
-00007FFE00003FFE0003FFFE00FFFFFFFFFFFFFC00FFFFFFFFFFFFFC00FFFFFFFFFFFFFC
-00FFFFFFFFFFFFFC00FFFFFFFFFFFFFC0039447CC343>76 D<FFFFFE0000000000007FFF
-FF80FFFFFF000000000000FFFFFF80FFFFFF000000000000FFFFFF80FFFFFF8000000000
-01FFFFFF80FFFFFF800000000001FFFFFF80003FFF800000000001FFFE0000003DFFC000
-00000003DFFE0000003DFFC00000000003DFFE0000003CFFE000000000079FFE0000003C
-FFE000000000079FFE0000003C7FF0000000000F1FFE0000003C7FF0000000000F1FFE00
-00003C3FF8000000001E1FFE0000003C3FF8000000001E1FFE0000003C1FFC000000003C
-1FFE0000003C1FFC000000003C1FFE0000003C1FFC000000003C1FFE0000003C0FFE0000
-0000781FFE0000003C0FFE00000000781FFE0000003C07FF00000000F01FFE0000003C07
-FF00000000F01FFE0000003C03FF80000001E01FFE0000003C03FF80000001E01FFE0000
-003C01FFC0000003C01FFE0000003C01FFC0000003C01FFE0000003C01FFC0000003C01F
-FE0000003C00FFE0000007801FFE0000003C00FFE0000007801FFE0000003C007FF00000
-0F001FFE0000003C007FF000000F001FFE0000003C003FF800001E001FFE0000003C003F
-F800001E001FFE0000003C001FFC00003C001FFE0000003C001FFC00003C001FFE000000
-3C001FFC00003C001FFE0000003C000FFE000078001FFE0000003C000FFE000078001FFE
-0000003C0007FF0000F0001FFE0000003C0007FF0000F0001FFE0000003C0003FF8001E0
-001FFE0000003C0003FF8001E0001FFE0000003C0001FFC003C0001FFE0000003C0001FF
-C003C0001FFE0000003C0000FFE00780001FFE0000003C0000FFE00780001FFE0000003C
-0000FFE00780001FFE0000003C00007FF00F00001FFE0000003C00007FF00F00001FFE00
-00003C00003FF81E00001FFE0000003C00003FF81E00001FFE0000003C00001FFC3C0000
-1FFE0000003C00001FFC3C00001FFE0000003C00000FFE7800001FFE0000003C00000FFE
-7800001FFE0000003C00000FFE7800001FFE0000003C000007FFF000001FFE0000003C00
-0007FFF000001FFE0000003C000003FFE000001FFE0000003C000003FFE000001FFE0000
-003C000001FFC000001FFE0000003C000001FFC000001FFE0000003C000000FF8000001F
-FE0000003C000000FF8000001FFE0000FFFFFF0000FF80007FFFFFFF80FFFFFF00007F00
-007FFFFFFF80FFFFFF00007F00007FFFFFFF80FFFFFF00003E00007FFFFFFF80FFFFFF00
-001C00007FFFFFFF8061447CC36A>I<00000007FFC0000000000000FFFFFE0000000000
-07FFFFFFC0000000001FFFFFFFF0000000007FFE00FFFC00000001FFF0001FFF00000007
-FF800003FFC000000FFF000001FFE000001FFC0000007FF000003FF80000003FF800007F
-F00000001FFC0000FFF00000001FFE0001FFE00000000FFF0003FFC000000007FF8003FF
-C000000007FF8007FF8000000003FFC007FF8000000003FFC00FFF0000000001FFE00FFF
-0000000001FFE01FFF0000000001FFF01FFE0000000000FFF03FFE0000000000FFF83FFE
-0000000000FFF83FFE0000000000FFF87FFE0000000000FFFC7FFC00000000007FFC7FFC
-00000000007FFC7FFC00000000007FFC7FFC00000000007FFCFFFC00000000007FFEFFFC
-00000000007FFEFFFC00000000007FFEFFFC00000000007FFEFFFC00000000007FFEFFFC
-00000000007FFEFFFC00000000007FFEFFFC00000000007FFEFFFC00000000007FFEFFFC
-00000000007FFEFFFC00000000007FFEFFFC00000000007FFEFFFC00000000007FFE7FFC
-00000000007FFC7FFE0000000000FFFC7FFE0000000000FFFC7FFE0000000000FFFC3FFE
-0000000000FFF83FFE0000000000FFF83FFF0000000001FFF81FFF0000000001FFF01FFF
-0000000001FFF01FFF8000000003FFF00FFF8000000003FFE00FFF8000000003FFE007FF
-C000000007FFC003FFC000000007FF8003FFE00000000FFF8001FFF00000001FFF0000FF
-F80000003FFE00007FFC0000007FFC00003FFE000000FFF800001FFF000001FFF000000F
-FFC00007FFE0000007FFF0001FFFC0000001FFFE00FFFF00000000FFFFFFFFFE00000000
-3FFFFFFFF80000000007FFFFFFC00000000000FFFFFE00000000000007FFC00000004746
-7AC454>79 D<FFFFFFFFFFFF000000FFFFFFFFFFFFF00000FFFFFFFFFFFFFE0000FFFFFF
-FFFFFFFF8000FFFFFFFFFFFFFFE000001FFF00000FFFF000001FFF000001FFF800001FFF
-0000007FFC00001FFF0000003FFE00001FFF0000001FFF00001FFF0000000FFF80001FFF
-0000000FFF80001FFF0000000FFFC0001FFF00000007FFC0001FFF00000007FFC0001FFF
-00000007FFE0001FFF00000007FFE0001FFF00000007FFE0001FFF00000007FFE0001FFF
-00000007FFE0001FFF00000007FFE0001FFF00000007FFE0001FFF00000007FFE0001FFF
-00000007FFE0001FFF00000007FFC0001FFF00000007FFC0001FFF0000000FFF80001FFF
-0000000FFF80001FFF0000000FFF00001FFF0000001FFF00001FFF0000003FFE00001FFF
-0000007FFC00001FFF000001FFF800001FFF00000FFFF000001FFFFFFFFFFFC000001FFF
-FFFFFFFF0000001FFFFFFFFFFC0000001FFFFFFFFFC00000001FFF000000000000001FFF
-000000000000001FFF000000000000001FFF000000000000001FFF000000000000001FFF
-000000000000001FFF000000000000001FFF000000000000001FFF000000000000001FFF
-000000000000001FFF000000000000001FFF000000000000001FFF000000000000001FFF
-000000000000001FFF000000000000001FFF000000000000001FFF000000000000001FFF
-000000000000001FFF000000000000001FFF000000000000001FFF000000000000001FFF
-000000000000001FFF000000000000001FFF000000000000001FFF000000000000FFFFFF
-FFE000000000FFFFFFFFE000000000FFFFFFFFE000000000FFFFFFFFE000000000FFFFFF
-FFE00000000043447DC34D>I<FFFFFFFFFFF800000000FFFFFFFFFFFFC0000000FFFFFF
-FFFFFFF8000000FFFFFFFFFFFFFE000000FFFFFFFFFFFFFF800000001FFF00003FFFE000
-00001FFF000003FFF00000001FFF000000FFF80000001FFF0000007FFC0000001FFF0000
-003FFE0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000001FFF800000
-1FFF0000000FFF8000001FFF0000000FFF8000001FFF0000000FFFC000001FFF0000000F
-FFC000001FFF0000000FFFC000001FFF0000000FFFC000001FFF0000000FFFC000001FFF
-0000000FFFC000001FFF0000000FFFC000001FFF0000000FFF8000001FFF0000000FFF80
-00001FFF0000001FFF0000001FFF0000001FFF0000001FFF0000003FFE0000001FFF0000
-003FFC0000001FFF0000007FFC0000001FFF000001FFF00000001FFF000007FFE0000000
-1FFF00003FFF800000001FFFFFFFFFFF000000001FFFFFFFFFF8000000001FFFFFFFFFE0
-000000001FFFFFFFFFF8000000001FFF0000FFFC000000001FFF00003FFF000000001FFF
-00000FFF800000001FFF000007FFC00000001FFF000003FFE00000001FFF000003FFE000
-00001FFF000001FFF00000001FFF000001FFF00000001FFF000000FFF80000001FFF0000
-00FFF80000001FFF000000FFF80000001FFF000000FFF80000001FFF000000FFF8000000
-1FFF000000FFF80000001FFF000000FFF80000001FFF000000FFFC0000001FFF000000FF
-FC0000001FFF000000FFFC0000001FFF000000FFFC0000001FFF000000FFFC0000001FFF
-000000FFFC0000001FFF000000FFFC000F001FFF000000FFFE000F001FFF000000FFFE00
-0F001FFF0000007FFE000F001FFF0000007FFF001F001FFF0000003FFF001EFFFFFFFFE0
-001FFF803EFFFFFFFFE0000FFFE0FCFFFFFFFFE00007FFFFF8FFFFFFFFE00001FFFFF0FF
-FFFFFFE000007FFFE00000000000000007FF8050457DC354>82 D<0000FFE0001C000007
-FFFE003C00003FFFFF807C0000FFFFFFE0FC0001FFFFFFF9FC0003FF801FFFFC0007FC00
-01FFFC000FF800007FFC001FF000003FFC003FE000000FFC003FC0000007FC007FC00000
-03FC007F80000003FC007F80000001FC007F80000000FC00FF80000000FC00FF80000000
-7C00FF800000007C00FFC00000007C00FFC00000007C00FFE00000003C00FFF00000003C
-00FFF80000003C00FFFC00000000007FFE00000000007FFFE0000000007FFFFE00000000
-3FFFFFF00000003FFFFFFF0000001FFFFFFFE000001FFFFFFFFC00000FFFFFFFFE000007
-FFFFFFFF800003FFFFFFFFC00001FFFFFFFFE000007FFFFFFFF000001FFFFFFFF8000007
-FFFFFFFC000000FFFFFFFC0000000FFFFFFE00000000FFFFFE0000000007FFFF00000000
-007FFF00000000003FFF00000000000FFF800000000007FF800000000003FF80F0000000
-03FF80F000000001FF80F000000001FF80F000000000FF80F000000000FF80F800000000
-FF80F800000000FF80F800000000FF00FC00000000FF00FC00000000FF00FE00000001FF
-00FF00000001FE00FF80000003FE00FFC0000003FC00FFE0000007FC00FFF800000FF800
-FFFF00003FF000FFFFF800FFE000FE7FFFFFFFC000FC1FFFFFFF0000F807FFFFFC0000F0
-00FFFFF00000E00007FF80000031467AC43E>I<3FFFFFFFFFFFFFFFE03FFFFFFFFFFFFF
-FFE03FFFFFFFFFFFFFFFE03FFFFFFFFFFFFFFFE03FFFFFFFFFFFFFFFE03FFE000FFF8003
-FFE07FE0000FFF80003FF07FC0000FFF80001FF07F00000FFF800007F07F00000FFF8000
-07F07E00000FFF800003F07C00000FFF800001F07C00000FFF800001F07C00000FFF8000
-01F07800000FFF800000F07800000FFF800000F07800000FFF800000F07800000FFF8000
-00F0F800000FFF800000F8F000000FFF80000078F000000FFF80000078F000000FFF8000
-0078F000000FFF80000078F000000FFF800000780000000FFF800000000000000FFF8000
-00000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8000
-00000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8000
-00000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8000
-00000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8000
-00000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8000
-00000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8000
-00000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8000
-00000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8000
-00000000000FFF800000000000000FFF800000000000000FFF800000000000000FFF8000
-00000007FFFFFFFFFF00000007FFFFFFFFFF00000007FFFFFFFFFF00000007FFFFFFFFFF
-00000007FFFFFFFFFF000045437CC24E>I<FFFFFFFF000000FFFFFFFFFFFFFF000000FF
-FFFFFFFFFFFF000000FFFFFFFFFFFFFF000000FFFFFFFFFFFFFF000000FFFFFF003FFE00
-00000000FC00003FFF0000000000FC00001FFF0000000000F800001FFF8000000001F800
-000FFF8000000001F000000FFFC000000001F000000FFFC000000003F0000007FFC00000
-0003E0000007FFE000000007E0000003FFE000000007C0000003FFF00000000FC0000001
-FFF00000000F80000001FFF80000000F80000001FFF80000001F80000000FFFC0000001F
-00000000FFFC0000003F000000007FFC0000003E000000007FFE0000007E000000003FFE
-0000007C000000003FFF0000007C000000003FFF000000FC000000001FFF800000F80000
-00001FFF800001F8000000000FFF800001F0000000000FFFC00003F00000000007FFC000
-03E00000000007FFE00003E00000000007FFE00007E00000000003FFF00007C000000000
-03FFF0000FC00000000001FFF0000F800000000001FFF8001F800000000000FFF8001F00
-0000000000FFFC003F0000000000007FFC003E0000000000007FFE003E0000000000007F
-FE007E0000000000003FFE007C0000000000003FFF00FC0000000000001FFF00F8000000
-0000001FFF81F80000000000000FFF81F00000000000000FFFC1F00000000000000FFFC3
-F000000000000007FFC3E000000000000007FFE7E000000000000003FFE7C00000000000
-0003FFFFC000000000000001FFFF8000000000000001FFFF8000000000000001FFFF8000
-000000000000FFFF0000000000000000FFFF00000000000000007FFE0000000000000000
-7FFE00000000000000003FFC00000000000000003FFC00000000000000003FFC00000000
-000000001FF800000000000000001FF800000000000000000FF000000000000000000FF0
-000000000000000007E0000000000000000007E00000000050457EC355>86
-D<0001FFE0000000001FFFFE000000007FFFFF80000001FFFFFFE0000003FE007FF80000
-07FC001FFC000007FE000FFE00000FFF0007FF00000FFF0007FF00000FFF0003FF80000F
-FF0003FF80000FFF0003FF80000FFF0001FFC00007FE0001FFC00003FC0001FFC00000F0
-0001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC000000003
-FFFFC0000000FFFFFFC0000007FFFFFFC000003FFFF1FFC00000FFFC01FFC00003FFE001
-FFC0000FFF8001FFC0001FFE0001FFC0003FFC0001FFC0003FF80001FFC0007FF80001FF
-C0007FF00001FFC000FFF00001FFC000FFE00001FFC000FFE00001FFC000FFE00001FFC0
-00FFE00003FFC000FFE00003FFC000FFF00007FFC0007FF8000FFFC0007FF8001FFFF000
-3FFE003EFFFFC01FFF80FC7FFFC007FFFFF87FFFC003FFFFE01FFFC0007FFF8007FFC000
-0FFC00000000322F7DAD36>97 D<007FC000000000FFFFC000000000FFFFC000000000FF
-FFC000000000FFFFC000000000FFFFC00000000003FFC00000000001FFC00000000001FF
-C00000000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC0
-0000000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC000
-00000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC00000
-000001FFC00FF8000001FFC0FFFF800001FFC3FFFFE00001FFCFFFFFF80001FFDFC03FFC
-0001FFFF000FFE0001FFFC0003FF0001FFF80001FF8001FFF00001FFC001FFE00000FFE0
-01FFC00000FFE001FFC000007FF001FFC000007FF001FFC000007FF801FFC000003FF801
-FFC000003FF801FFC000003FF801FFC000003FFC01FFC000003FFC01FFC000003FFC01FF
-C000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC0
-00003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FF801FFC000
-003FF801FFC000007FF801FFC000007FF001FFC000007FF001FFC000007FF001FFC00000
-FFE001FFE00000FFC001FFF00001FFC001FFF80003FF8001FF7C0007FF0001FE3E000FFE
-0001FC1FC07FFC0001F80FFFFFF00001F003FFFFC00001E000FFFF00000000001FF00000
-36467DC43E>I<00003FFC00000001FFFFC000000FFFFFF000003FFFFFFC00007FF003FE
-0000FFC001FF0003FF8003FF0007FF0007FF8007FE0007FF800FFE0007FF801FFC0007FF
-801FFC0007FF803FF80007FF803FF80003FF007FF80001FE007FF8000078007FF0000000
-007FF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF0000000
-00FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF0000000
-00FFF0000000007FF8000000007FF8000000007FF8000000003FF8000000003FFC000003
-C03FFC000003C01FFE000007C00FFE000007800FFF00000F8007FF80001F0003FFC0003E
-0001FFF0007C00007FFC03F800003FFFFFF000000FFFFFC0000003FFFF000000003FF800
-002A2F7CAD32>I<0000000003FE0000000007FFFE0000000007FFFE0000000007FFFE00
-00000007FFFE0000000007FFFE00000000001FFE00000000000FFE00000000000FFE0000
-0000000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE000000
-00000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE00000000
-000FFE00000000000FFE00000000000FFE00000000000FFE00000000000FFE0000003FE0
-0FFE000003FFFC0FFE00000FFFFF8FFE00003FFFFFCFFE0000FFF807FFFE0001FFC001FF
-FE0003FF80007FFE0007FF00003FFE000FFE00001FFE000FFC00000FFE001FFC00000FFE
-003FF800000FFE003FF800000FFE003FF800000FFE007FF800000FFE007FF000000FFE00
-7FF000000FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE00FF
-F000000FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE00FFF000000FFE00FFF0
-00000FFE00FFF000000FFE00FFF000000FFE007FF000000FFE007FF000000FFE007FF000
-000FFE007FF800000FFE003FF800000FFE003FF800000FFE001FFC00001FFE001FFC0000
-1FFE000FFE00003FFE0007FE00007FFE0003FF0000FFFF0001FFC003FFFFFC00FFF01FEF
-FFFC007FFFFF8FFFFC001FFFFE0FFFFC0007FFF80FFFFC00007FC00FF80036467CC43E>
-I<00003FF800000003FFFF8000000FFFFFE000003FFFFFF000007FF83FF80000FFC007FC
-0001FF8003FE0003FF0001FF0007FE0000FF800FFC0000FF801FFC00007FC01FF800007F
-C03FF800003FE03FF800003FE07FF800003FE07FF000003FE07FF000003FF07FF000001F
-F0FFF000001FF0FFF000001FF0FFFFFFFFFFF0FFFFFFFFFFF0FFFFFFFFFFF0FFFFFFFFFF
-F0FFF000000000FFF000000000FFF000000000FFF000000000FFF0000000007FF0000000
-007FF0000000007FF8000000007FF8000000003FF8000000003FF8000000F01FFC000000
-F01FFC000001F00FFE000001E007FF000003E003FF800007C001FFC0000F8000FFF0003F
-00007FFE01FE00001FFFFFFC000007FFFFF0000001FFFFC00000001FFE00002C2F7DAD33
->I<000000FF8000000FFFE000007FFFF00001FFFFF80003FF8FFC000FFE0FFE001FFC1F
-FE001FF81FFE003FF81FFE007FF01FFE007FF01FFE007FF00FFC00FFE00FFC00FFE003F0
-00FFE000C000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000
-FFE0000000FFE0000000FFE0000000FFE0000000FFE00000FFFFFFF800FFFFFFF800FFFF
-FFF800FFFFFFF800FFFFFFF80000FFE0000000FFE0000000FFE0000000FFE0000000FFE0
-000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE000
-0000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE00000
-00FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000
-FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FF
-E000007FFFFFE0007FFFFFE0007FFFFFE0007FFFFFE0007FFFFFE00027467DC522>I<00
-00FFE0007E00000FFFFE03FF80003FFFFF8FFF8000FFFFFFFFFFC001FFC07FFF3FC003FF
-001FF83FC007FE000FFC3FC00FFC0007FE1F801FFC0007FF0F001FF80003FF00001FF800
-03FF00003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003
-FF80003FF80003FF80003FF80003FF80003FF80003FF80001FF80003FF00001FF80003FF
-00001FFC0007FF00000FFC0007FE000007FE000FFC000003FF001FF8000001FFC07FF000
-0003FFFFFFE0000003FFFFFF800000078FFFFE0000000780FFE00000000F800000000000
-0F8000000000000F8000000000000F8000000000000FC000000000000FE000000000000F
-F000000000000FFFFFFFC000000FFFFFFFFC000007FFFFFFFF800007FFFFFFFFE00003FF
-FFFFFFF00001FFFFFFFFFC0000FFFFFFFFFC0003FFFFFFFFFE000FFFFFFFFFFF001FF000
-007FFF003FC0000007FF007F80000001FF807F80000000FF80FF00000000FF80FF000000
-007F80FF000000007F80FF000000007F80FF000000007F80FF80000000FF807F80000000
-FF007FC0000001FF003FE0000003FE001FF0000007FC000FFE00003FF80007FFC001FFF0
-0001FFFFFFFFC000007FFFFFFF0000000FFFFFF8000000007FFF00000032427DAC38>I<
-007FC000000000FFFFC000000000FFFFC000000000FFFFC000000000FFFFC000000000FF
-FFC00000000003FFC00000000001FFC00000000001FFC00000000001FFC00000000001FF
-C00000000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC0
-0000000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC000
-00000001FFC00000000001FFC00000000001FFC00000000001FFC007FE000001FFC03FFF
-800001FFC0FFFFE00001FFC1FFFFF80001FFC7F03FFC0001FFCF801FFC0001FFDF000FFE
-0001FFDE000FFE0001FFFC000FFE0001FFF80007FF0001FFF00007FF0001FFF00007FF00
-01FFE00007FF0001FFE00007FF0001FFE00007FF0001FFC00007FF0001FFC00007FF0001
-FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FF
-C00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC0
-0007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC000
-07FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007
-FF0001FFC00007FF0001FFC00007FF00FFFFFF83FFFFFEFFFFFF83FFFFFEFFFFFF83FFFF
-FEFFFFFF83FFFFFEFFFFFF83FFFFFE37457CC43E>I<007C0001FF0003FF8007FFC007FF
-C00FFFE00FFFE00FFFE00FFFE00FFFE007FFC007FFC003FF8001FF00007C000000000000
-00000000000000000000000000000000000000000000000000007FC07FFFC07FFFC07FFF
-C07FFFC07FFFC003FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FF
-C001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FF
-C001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FFC001FF
-C0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF18467CC520>I<000003E000000FF800001FFC00
-003FFE00003FFE00007FFF00007FFF00007FFF00007FFF00007FFF00003FFE00003FFE00
-001FFC00000FF8000003E000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000001FF0003FFFF0003FFFF0003FFFF0003FFFF00
-03FFFF00000FFF000007FF000007FF000007FF000007FF000007FF000007FF000007FF00
-0007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF00
-0007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF00
-0007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF00
-0007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF000007FF1F
-8007FF3FC007FF7FE007FFFFF007FFFFF00FFEFFF00FFEFFF00FFCFFF01FFCFFE01FF87F
-E03FF03FC0FFE01FFFFF800FFFFF0003FFFC0000FFC000205A86C522>I<007FC0000000
-00FFFFC000000000FFFFC000000000FFFFC000000000FFFFC000000000FFFFC000000000
-03FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001
-FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FF
-C00000000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC0
-0000000001FFC00000000001FFC00000000001FFC00000000001FFC0007FFFE001FFC000
-7FFFE001FFC0007FFFE001FFC0007FFFE001FFC0007FFFE001FFC0000FE00001FFC0001F
-C00001FFC0003F000001FFC0007E000001FFC000FC000001FFC003F8000001FFC007E000
-0001FFC00FC0000001FFC01F80000001FFC07F00000001FFC0FE00000001FFC1FC000000
-01FFC3FE00000001FFC7FE00000001FFDFFF00000001FFFFFF80000001FFFFFFC0000001
-FFFFFFC0000001FFF9FFE0000001FFE1FFF0000001FFC0FFF8000001FF807FF8000001FF
-803FFC000001FF803FFE000001FF801FFF000001FF800FFF000001FF8007FF800001FF80
-07FFC00001FF8003FFE00001FF8001FFE00001FF8000FFF00001FF8000FFF80001FF8000
-7FFC0001FF80003FFC00FFFFFF03FFFFF8FFFFFF03FFFFF8FFFFFF03FFFFF8FFFFFF03FF
-FFF8FFFFFF03FFFFF835457DC43B>I<007FC000FFFFC000FFFFC000FFFFC000FFFFC000
-FFFFC00003FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC000
-01FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC000
-01FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC000
-01FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC000
-01FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC000
-01FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC000
-01FFC00001FFC00001FFC00001FFC00001FFC000FFFFFF80FFFFFF80FFFFFF80FFFFFF80
-FFFFFF8019457CC420>I<007F8007FE00000FFC0000FFFF803FFFC0007FFF8000FFFF80
-FFFFF001FFFFE000FFFF81FFFFF803FFFFF000FFFF87F01FFC0FE03FF800FFFF8FC00FFE
-1F801FFC0003FF9F000FFF3E001FFE0001FF9E0007FF3C000FFE0001FFBC0007FF78000F
-FE0001FFF80003FFF00007FF0001FFF80003FFF00007FF0001FFF00003FFE00007FF0001
-FFE00003FFC00007FF0001FFE00003FFC00007FF0001FFE00003FFC00007FF0001FFC000
-03FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF80
-0007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF
-0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FF
-C00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003
-FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF8000
-07FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF00
-01FFC00003FF800007FF0001FFC00003FF800007FF0001FFC00003FF800007FF0001FFC0
-0003FF800007FF0001FFC00003FF800007FF00FFFFFF81FFFFFF03FFFFFEFFFFFF81FFFF
-FF03FFFFFEFFFFFF81FFFFFF03FFFFFEFFFFFF81FFFFFF03FFFFFEFFFFFF81FFFFFF03FF
-FFFE572D7CAC5E>I<007F8007FE0000FFFF803FFF8000FFFF80FFFFE000FFFF81FFFFF8
-00FFFF87F03FFC00FFFF8F801FFC0003FF9F000FFE0001FF9E000FFE0001FFBC000FFE00
-01FFF80007FF0001FFF00007FF0001FFF00007FF0001FFE00007FF0001FFE00007FF0001
-FFE00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FF
-C00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC0
-0007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC000
-07FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007
-FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF
-00FFFFFF83FFFFFEFFFFFF83FFFFFEFFFFFF83FFFFFEFFFFFF83FFFFFEFFFFFF83FFFFFE
-372D7CAC3E>I<00001FFC0000000001FFFFC000000007FFFFF00000001FFFFFFC000000
-7FF80FFF000000FFC001FF800001FF8000FFC00003FE00003FE00007FE00003FF0000FFC
-00001FF8000FF800000FF8001FF800000FFC001FF800000FFC003FF800000FFE003FF000
-0007FE007FF0000007FF007FF0000007FF007FF0000007FF007FF0000007FF00FFF00000
-07FF80FFF0000007FF80FFF0000007FF80FFF0000007FF80FFF0000007FF80FFF0000007
-FF80FFF0000007FF80FFF0000007FF80FFF0000007FF80FFF0000007FF807FF0000007FF
-007FF0000007FF007FF0000007FF007FF0000007FF003FF800000FFE003FF800000FFE00
-1FF800000FFC001FFC00001FFC000FFC00001FF80007FE00003FF00007FE00003FF00003
-FF8000FFE00001FFC001FFC000007FF80FFF0000003FFFFFFE0000000FFFFFF800000001
-FFFFC0000000001FFC000000312F7DAD38>I<007FC00FF80000FFFFC0FFFF8000FFFFC3
-FFFFE000FFFFCFFFFFF800FFFFDFC03FFC00FFFFFF001FFE0003FFFC0007FF0001FFF800
-03FF8001FFF00003FFC001FFE00001FFE001FFC00001FFE001FFC00000FFF001FFC00000
-FFF001FFC000007FF801FFC000007FF801FFC000007FF801FFC000007FF801FFC000003F
-FC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC
-01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01FFC000003FFC01
-FFC000003FFC01FFC000007FF801FFC000007FF801FFC000007FF801FFC000007FF001FF
-C00000FFF001FFC00000FFF001FFC00001FFE001FFE00001FFC001FFF00003FFC001FFF8
-0007FF8001FFFC000FFF0001FFFE001FFE0001FFDFC07FFC0001FFCFFFFFF00001FFC3FF
-FFC00001FFC0FFFF000001FFC01FF0000001FFC00000000001FFC00000000001FFC00000
-000001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC0000000
-0001FFC00000000001FFC00000000001FFC00000000001FFC00000000001FFC000000000
-FFFFFF80000000FFFFFF80000000FFFFFF80000000FFFFFF80000000FFFFFF8000000036
-407DAC3E>I<007F807F00FFFF81FFE0FFFF83FFF0FFFF8FFFF8FFFF8F8FFCFFFF9F1FFE
-03FFBE1FFE01FFBC1FFE01FFF81FFE01FFF81FFE01FFF01FFE01FFF00FFC01FFE007F801
-FFE001E001FFE0000001FFE0000001FFE0000001FFC0000001FFC0000001FFC0000001FF
-C0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0
-000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC0000001FFC000
-0001FFC0000001FFC0000001FFC0000001FFC0000001FFC00000FFFFFFE000FFFFFFE000
-FFFFFFE000FFFFFFE000FFFFFFE000272D7DAC2E>114 D<001FFC038000FFFF878003FF
-FFFF800FFFFFFF801FF003FF803FC000FF803F80003F807F00001F807E00001F80FE0000
-0F80FE00000F80FE00000780FF00000780FF00000780FF80000780FFE0000000FFFE0000
-007FFFF000007FFFFF00003FFFFFC0003FFFFFF0001FFFFFFC000FFFFFFE0003FFFFFF00
-01FFFFFF80007FFFFF80000FFFFFC000003FFFC0000003FFE0000000FFE0F000003FE0F0
-00003FE0F800001FE0F800000FE0F800000FE0FC00000FE0FC00000FE0FE00000FC0FF00
-001FC0FF00001FC0FF80003F80FFE0007F00FFF803FE00FFFFFFFC00FCFFFFF800F03FFF
-E000E007FE0000232F7CAD2C>I<0001E000000001E000000001E000000001E000000001
-E000000003E000000003E000000003E000000003E000000007E000000007E00000000FE0
-0000000FE00000001FE00000001FE00000003FE00000007FE0000000FFE0000003FFE000
-000FFFFFFF80FFFFFFFF80FFFFFFFF80FFFFFFFF80FFFFFFFF8000FFE0000000FFE00000
-00FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000
-FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FF
-E0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE001E000FFE001E000FFE0
-01E000FFE001E000FFE001E000FFE001E000FFE001E000FFE001E000FFE001E000FFE003
-E000FFF003C0007FF003C0007FF007C0003FF80F80001FFC1F00000FFFFF000007FFFC00
-0001FFF80000003FE00023407EBE2C>I<007FC00001FF00FFFFC003FFFF00FFFFC003FF
-FF00FFFFC003FFFF00FFFFC003FFFF00FFFFC003FFFF0003FFC0000FFF0001FFC00007FF
-0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF00
-01FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001
-FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FF
-C00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC0
-0007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC00007FF0001FFC000
-0FFF0001FFC0000FFF0001FFC0001FFF0001FFC0001FFF0001FFC0003FFF0000FFC0003F
-FF0000FFE0007FFF80007FE001F7FFFE007FF807E7FFFE003FFFFFC7FFFE000FFFFF07FF
-FE0003FFFE07FFFE00007FF007FC00372E7CAC3E>I<FFFFFF0003FFFCFFFFFF0003FFFC
-FFFFFF0003FFFCFFFFFF0003FFFCFFFFFF0003FFFC01FFE000003E0000FFE000003C0000
-FFF000003C00007FF000007800007FF800007800007FF80000F800003FF80000F000003F
-FC0001F000001FFC0001E000001FFE0003E000000FFE0003C000000FFF0007C0000007FF
-000780000007FF800F80000003FF800F00000003FFC00F00000003FFC01F00000001FFE0
-1E00000001FFE03E00000000FFE03C00000000FFF07C000000007FF078000000007FF8F8
-000000003FF8F0000000003FFDF0000000001FFDE0000000001FFFE0000000000FFFC000
-0000000FFFC0000000000FFFC00000000007FF800000000007FF800000000003FF000000
-000003FF000000000001FE000000000001FE000000000000FC000000000000FC00000000
-000078000000362C7EAB3B>I<FFFFFE1FFFFF801FFFF0FFFFFE1FFFFF801FFFF0FFFFFE
-1FFFFF801FFFF0FFFFFE1FFFFF801FFFF0FFFFFE1FFFFF801FFFF001FFC0003FE000007C
-0001FFC0003FF00000780001FFE0003FF00000F80000FFE0001FF80000F00000FFF0001F
-F80001F000007FF0000FFC0001E000007FF0000FFC0001E000007FF8001FFC0003E00000
-3FF8001FFE0003C000003FFC003FFE0007C000001FFC003FFF00078000001FFC003FFF00
-078000001FFE0079FF000F8000000FFE0079FF800F0000000FFF00F9FF801F00000007FF
-00F0FFC01E00000007FF80F0FFC01E00000003FF81E07FC03C00000003FF81E07FE03C00
-000003FFC3E07FE07C00000001FFC3C03FF07800000001FFE7C03FF07800000000FFE780
-1FF0F000000000FFE7801FF8F000000000FFFF801FF9F0000000007FFF000FFDE0000000
-007FFF000FFFE0000000003FFE0007FFC0000000003FFE0007FFC0000000003FFE0007FF
-C0000000001FFC0003FF80000000001FFC0003FF80000000000FF80001FF00000000000F
-F80001FF00000000000FF00000FF000000000007F00000FE000000000007F00000FE0000
-00000003E000007C000000000003C000003C0000004C2C7EAB51>I<FFFFFE003FFFF0FF
-FFFE003FFFF0FFFFFE003FFFF0FFFFFE003FFFF0FFFFFE003FFFF000FFF00003E000007F
-F80007C000003FF8000F8000001FFC001F0000001FFE003F0000000FFF007E00000007FF
-807C00000003FFC0F800000001FFC1F000000001FFE3E000000000FFF7C0000000007FFF
-80000000003FFF80000000001FFF00000000001FFE00000000000FFF000000000007FF80
-0000000003FFC00000000003FFC00000000007FFE0000000000FFFF0000000000FFFF800
-0000001F3FFC000000003E1FFC000000007C1FFE00000000F80FFF00000001F007FF8000
-0003F003FFC0000007E001FFC0000007C001FFE000000F8000FFF000001F00007FF80000
-3E00003FFC00007E00001FFC00FFFFE000FFFFFCFFFFE000FFFFFCFFFFE000FFFFFCFFFF
-E000FFFFFCFFFFE000FFFFFC362C7EAB3B>I E /Fg 6 118 df<0003F000000FF800003E
-1C60007C0FF000F807F001F007F003E007F007E003E00FC003E00FC003E01F8007E01F80
-07C03F0007C03F0007C03F000FC07F000F807E000F807E000F807E001F80FE001F00FC00
-1F00FC001F06FC003F07FC003E0FFC003E0EFC007E0E7C007E1E7C00FE1C7C01FC1C3C03
-FC3C3E07BE381F0E1E7807FC0FF001F003C0202278A027>97 D<0000FC000007FF00001F
-0780003E03C000FC01C001F803C003F007C007E00FC007C00FC00FC00FC01F8007001F80
-00003F0000003F0000003F0000007F0000007E0000007E0000007E000000FE000000FC00
-0000FC000000FC000000FC0000007C0000C07C0001E07C0001E07C0003C03E000F803E00
-1F001F007C000F81F00003FFC00000FE00001B2278A023>99 D<000FC0000003FFC00000
-03FFC0000003FF800000001F800000001F800000001F800000001F000000001F00000000
-3F000000003F000000003E000000003E000000007E000000007E000000007C000000007C
-00000000FC00000000FC00000000F83F800000F8FFE00001FBE0F00001FF80F80001FF00
-780001FE007C0003FC007C0003F8007C0003F0007C0003F0007C0007E000FC0007E000F8
-0007C000F80007C000F8000FC001F8000FC001F0000F8001F0000F8001F0001F8003F000
-1F8003E0001F0007E0001F0007C0C03F0007C1E03F000FC1C03E000F81C03E000F81C07E
-000F83C07E000F03807C000F07807C000F0700FC000F0E00FC000F1E00F80007F8007000
-01F00023357BB327>104 D<0003F0001FFC003C1E00780F00F00701E00701E00F03E01F
-03C01F03C01F03E00403E00003F00003FF8003FFE001FFF000FFF8007FFC0007FC0000FE
-00007E00003E38003EFC003CFC003CFC003CFC007CF00078E000F0F001F07803E03C0F80
-1FFE0003F80018227AA01F>115 D<000300000F80000F80000F80001F80001F80001F00
-001F00003F00003F00003E00003E00007E00007E00007C007FFFF87FFFF8FFFFF800F800
-00F80001F80001F80001F00001F00003F00003F00003E00003E00007E00007E00007C000
-07C0000FC0000FC0000F80000F80601F80F01F80E01F00E01F01E01F01C01F03C01E0380
-1E07001E0F000F1E0007F80001E00015307AAE19>I<01F000000003FC0007000F1E000F
-000E1E001F001C1E001F003C1E001F00381E003F00783E003E00703E003E00703E003E00
-707E007E00F07C007C0060FC007C0000F8007C0000F800FC0001F800F80001F000F80001
-F000F80001F001F80003F001F00003E001F00003E001F06003E003F07003E003E0F007C0
-03E0E007C003E0E003C007E1E003C007E1C003E00FC1C003E01FC3C001E03FE38001F071
-E780007FE0FF00001F803C0024227AA029>I E /Fh 2 104 df<000007E000003FE00000
-FE000003F8000007F000000FE000000FC000001FC000001F8000001F8000001F8000001F
-8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F
-8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F
-8000001F8000003F8000003F0000007E000000FC000003F800007FE00000FF0000007FE0
-000003F8000000FC0000007E0000003F0000003F8000001F8000001F8000001F8000001F
-8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F
-8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F
-8000001F8000001FC000000FC000000FE0000007F0000003F8000000FE0000003FE00000
-07E01B4B7BB726>102 D<FC000000FFC0000007F0000001FC000000FE0000007F000000
-3F0000003F8000001F8000001F8000001F8000001F8000001F8000001F8000001F800000
-1F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F800000
-1F8000001F8000001F8000001F8000001F8000001F8000001F8000001FC000000FC00000
-07E0000003F0000001FC0000007FC000001FE000007FC00001FC000003F0000007E00000
-0FC000001FC000001F8000001F8000001F8000001F8000001F8000001F8000001F800000
-1F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F800000
-1F8000001F8000001F8000001F8000001F8000001F8000001F8000003F8000003F000000
-7F000000FE000001FC000007F00000FFC00000FC0000001B4B7BB726>I
-E /Fi 38 122 df<00003FE00FE00001FFF83FF80007E01EF83C001F800FF07E003F001F
-E0FE007E003FE0FE00FC003FC0FE01F8003FC0FE01F8003FC03803F0001F800003F0001F
-800003F0001F800003F0001F800003F0001F800003F0001F800003F0001F800003F0001F
-800003F0001F800003F0001F800003F0001F800003F0001F8000FFFFFFFFFFC0FFFFFFFF
-FFC0FFFFFFFFFFC003F0001F800003F0001F800003F0001F800003F0001F800003F0001F
-800003F0001F800003F0001F800003F0001F800003F0001F800003F0001F800003F0001F
-800003F0001F800003F0001F800003F0001F800003F0001F800003F0001F800003F0001F
-800003F0001F800003F0001F800003F0001F800003F0001F800003F0001F800003F0001F
-800003F0001F800003F0001F800007F8003FC000FFFF83FFFF00FFFF83FFFF00FFFF83FF
-FF002F357FB42D>11 D<00001FE0000000FFFC000003F01E00000FC00780001F80078000
-3F000FC0007E001FC000FC001FC000FC001FC001F8001FC001F8000F8001F800000001F8
-00000001F800000001F800000001F800000001F800000001F800000001F800000001F800
-000001F8000FC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC001F8001FC001F8000FC001F8000F
-C001F8000FC001F8000FC001F8000FC001F8000FC001F8000FC001F8000FC001F8000FC0
-01F8000FC001F8000FC001F8000FC001F8000FC001F8000FC001F8000FC001F8000FC001
-F8000FC001F8000FC001F8000FC001F8000FC001F8000FC001F8000FC001F8000FC001F8
-000FC003FC001FE07FFFC1FFFF7FFFC1FFFF7FFFC1FFFF28357FB42B>I<3C007E00FF00
-FF00FF80FF807F803D800180018001800180038003000300070006000E000C001C003800
-7000600009177AB315>39 D<3C007E00FF00FF00FF80FF807F803D800180018001800180
-038003000300070006000E000C001C0038007000600009177A8715>44
-D<3C7EFFFFFFFF7E3C08087A8715>46 D<000FE000007FFC0000F83E0003E00F8007C007
-C0078003C00F8003E01F0001F01F0001F03F0001F83F0001F83E0000F87E0000FC7E0000
-FC7E0000FC7E0000FC7E0000FCFE0000FEFE0000FEFE0000FEFE0000FEFE0000FEFE0000
-FEFE0000FEFE0000FEFE0000FEFE0000FEFE0000FEFE0000FEFE0000FEFE0000FEFE0000
-FEFE0000FEFE0000FEFE0000FE7E0000FC7E0000FC7E0000FC7E0000FC7E0000FC3F0001
-F83F0001F83F0001F81F0001F01F0001F00F8003E007C007C007C007C003E00F8000F83E
-00007FFC00000FE0001F347DB126>48 D<001FE00000FFFC0001FFFF0007E03F800F001F
-C01E000FE01C0007F03F0007F03F8007F83F8003F83FC003F83F8003F83F8003F81F0007
-F8000007F8000007F0000007F000000FE000000FC000001FC000003F8000007E000001F8
-00007FE000007FFC0000003F0000001FC000000FE0000007F0000007F8000003F8000003
-FC000001FC000001FE000001FE000001FE7E0001FEFF0001FEFF0001FEFF0001FEFF0001
-FEFF0001FCFE0003FC780003FC700007F8380007F03C000FF01F001FE00FE03F8003FFFF
-0000FFFC00001FE0001F347DB126>51 D<3C7EFFFFFFFF7E3C0000000000000000000000
-00000000003C7EFEFFFFFF7F3F03030303070606060E0C1C38307060082F7A9F15>59
-D<000000E0000000000000E0000000000000E0000000000001F0000000000001F0000000
-000003F8000000000003F8000000000003F8000000000007FC000000000007FC00000000
-0007FC00000000000DFE00000000000CFE00000000000CFE0000000000187F0000000000
-187F0000000000187F0000000000303F8000000000303F8000000000703FC00000000060
-1FC000000000601FC000000000E01FE000000000C00FE000000000C00FE000000001800F
-F0000000018007F0000000018007F0000000030003F8000000030003F8000000030003F8
-000000060001FC000000060001FC0000000E0001FE0000000FFFFFFE0000000FFFFFFE00
-00001FFFFFFF0000001800007F0000001800007F0000003000007F8000003000003F8000
-003000003F8000006000001FC000006000001FC000006000001FC00000C000000FE00000
-C000000FE00001C000000FF00001C0000007F00003E0000007F0001FF000000FF800FFFE
-0001FFFFE0FFFE0001FFFFE0FFFE0001FFFFE033367DB53A>65 D<FFFFFE000000FFFFFE
-000000FFFFFE00000003FE0000000001FC0000000001FC0000000001FC0000000001FC00
-00000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC00
-00000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC00
-00000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC00
-00000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC00
-00018001FC0000018001FC0000018001FC0000018001FC0000038001FC0000030001FC00
-00030001FC0000030001FC0000030001FC0000070001FC0000070001FC00000F0001FC00
-001F0001FC00003F0001FC00007F0001FC0000FE0003FC0007FE00FFFFFFFFFE00FFFFFF
-FFFE00FFFFFFFFFE0029337DB230>76 D<FFFE00001FFFF8FFFF00001FFFF8FFFF80001F
-FFF800FF800000FF0000FFC000003C0000DFE00000180000CFF00000180000CFF0000018
-0000C7F80000180000C3FC0000180000C3FC0000180000C1FE0000180000C0FF00001800
-00C07F8000180000C07F8000180000C03FC000180000C01FE000180000C01FE000180000
-C00FF000180000C007F800180000C003FC00180000C003FC00180000C001FE00180000C0
-00FF00180000C000FF00180000C0007F80180000C0003FC0180000C0001FE0180000C000
-1FE0180000C0000FF0180000C00007F8180000C00007F8180000C00003FC180000C00001
-FE180000C00000FF180000C00000FF180000C000007F980000C000003FD80000C000003F
-D80000C000001FF80000C000000FF80000C0000007F80000C0000007F80000C0000003F8
-0000C0000001F80000C0000001F80001E0000000F80007F80000007800FFFFC000003800
-FFFFC000003800FFFFC00000180035337EB23A>78 D<001FE00300007FFC070001FFFF07
-0007F01FCF000F8003FF001F0000FF003E00007F003E00003F007C00001F007C00001F00
-7800000F00F800000700F800000700F800000700F800000700FC00000300FC00000300FE
-00000300FE000000007F000000007FC00000003FF00000003FFF0000001FFFF000000FFF
-FF000007FFFFC00003FFFFF00000FFFFF800003FFFFC000003FFFE0000003FFF00000003
-FF00000000FF800000007F800000003F800000001FC00000000FC0C000000FC0C000000F
-C0C0000007C0C0000007C0C0000007C0E0000007C0E0000007C0F000000F80F000000F80
-F800000F00FC00001F00FE00003E00FF00007E00FFC000FC00F1FC03F800E0FFFFE000E0
-1FFF8000C003FE000022377CB42B>83 D<7FFFFFFFFFFE7FFFFFFFFFFE7FFFFFFFFFFE7F
-8007F001FE7C0007F0003E780007F0001E700007F0000E700007F0000E600007F00006E0
-0007F00007E00007F00007E00007F00007C00007F00003C00007F00003C00007F00003C0
-0007F00003C00007F00003C00007F00003000007F00000000007F00000000007F0000000
-0007F00000000007F00000000007F00000000007F00000000007F00000000007F0000000
-0007F00000000007F00000000007F00000000007F00000000007F00000000007F0000000
-0007F00000000007F00000000007F00000000007F00000000007F00000000007F0000000
-0007F00000000007F00000000007F00000000007F00000000007F00000000007F0000000
-0007F00000000007F0000000000FF80000001FFFFFFC00001FFFFFFC00001FFFFFFC0030
-337DB237>I<FFFFFE001FFFF8FFFFFE001FFFF8FFFFFE001FFFF801FF000000FF0000FE
-0000003C0000FE000000180000FE000000180000FE000000180000FE000000180000FE00
-0000180000FE000000180000FE000000180000FE000000180000FE000000180000FE0000
-00180000FE000000180000FE000000180000FE000000180000FE000000180000FE000000
-180000FE000000180000FE000000180000FE000000180000FE000000180000FE00000018
-0000FE000000180000FE000000180000FE000000180000FE000000180000FE0000001800
-00FE000000180000FE000000180000FE000000180000FE000000180000FE000000180000
-FE000000180000FE000000180000FE000000180000FE0000003800007F0000003000007F
-0000003000007F0000007000003F8000006000001F800000E000001FC00001C000000FC0
-0003C0000007E0000780000003F0000F00000001FC001E00000000FF00FC000000003FFF
-F0000000000FFFC00000000001FF00000035357EB23A>I<FFF0FFF0FFF0FFF0F000F000
-F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000
-F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000
-F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000
-F000F000F000F000F000F000F000F000F000F000F000FFF0FFF0FFF0FFF00C4B79B715>
-91 D<FFF0FFF0FFF0FFF000F000F000F000F000F000F000F000F000F000F000F000F000
-F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000
-F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000
-F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000
-F0FFF0FFF0FFF0FFF00C4B7FB715>93 D<007F80000003FFF000000F80FC00001C003E00
-003F003F00003F801F80003F800FC0003F800FC0003F8007E0001F0007E000000007E000
-000007E000000007E000000007E0000001FFE000001FFFE00000FF87E00003FC07E0000F
-F007E0001FC007E0003F8007E0007F8007E0007F0007E000FF0007E0C0FE0007E0C0FE00
-07E0C0FE0007E0C0FE000FE0C0FE000FE0C0FF001FE0C07F003BE0C03F8071F1801FC1E1
-FF8007FFC0FF0000FE003C0022237DA126>97 D<03F0000000FFF0000000FFF0000000FF
-F000000007F000000003F000000003F000000003F000000003F000000003F000000003F0
-00000003F000000003F000000003F000000003F000000003F000000003F000000003F000
-000003F000000003F03F800003F0FFE00003F3C0F80003F7007E0003FE003F0003FC001F
-8003F8000FC003F0000FC003F00007E003F00007F003F00007F003F00003F003F00003F8
-03F00003F803F00003F803F00003F803F00003F803F00003F803F00003F803F00003F803
-F00003F803F00003F803F00003F003F00007F003F00007E003F00007E003F0000FC003F8
-000FC003FC001F8003EC003F0003CF007C00038381F8000301FFE00000007F000025357E
-B32B>I<0007F800003FFF0000FC07C001F000E003E003F007C007F00FC007F01F8007F0
-3F8007F03F0003E07F0000007F0000007E000000FE000000FE000000FE000000FE000000
-FE000000FE000000FE000000FE000000FE000000FE0000007F0000007F0000003F000018
-3F8000181F8000381FC000300FC0007007E000E003F001C000FC0F80003FFE000007F000
-1D237EA122>I<0000003F0000000FFF0000000FFF0000000FFF000000007F000000003F
-000000003F000000003F000000003F000000003F000000003F000000003F000000003F00
-0000003F000000003F000000003F000000003F000000003F000000003F000007F03F0000
-3FFC3F0000FC0F3F0001F003BF0007E001FF000FC000FF001F80007F001F80003F003F00
-003F003F00003F007F00003F007E00003F00FE00003F00FE00003F00FE00003F00FE0000
-3F00FE00003F00FE00003F00FE00003F00FE00003F00FE00003F00FE00003F007E00003F
-007F00003F007F00003F003F00003F001F80007F001F80007F000FC000FF0007E001FF80
-03F007BFFC00F81E3FFC003FFC3FFC000FE03F0026357DB32B>I<000FE000007FFC0000
-F83F0003F00F8007E00FC00FC007E01F8003E01F8003F03F0003F03F0001F07F0001F87E
-0001F87E0001F8FE0001F8FE0001F8FFFFFFF8FFFFFFF8FE000000FE000000FE000000FE
-000000FE0000007E0000007F0000007F0000003F0000183F0000181F8000380F8000300F
-C0007007E000E001F003C000FC0F00003FFE000007F0001D237EA122>I<0001FC000007
-FF00001F0780003E0FC0007C1FC000FC1FC001F81FC001F81FC003F8070003F0000003F0
-000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0
-000003F00000FFFFF000FFFFF000FFFFF00003F0000003F0000003F0000003F0000003F0
-000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0
-000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0
-000003F0000003F0000007F800007FFFE0007FFFE0007FFFE0001A357FB417>I<000000
-1F00001FC07F8000FFF8E3C001F07FC7C007E03F03C00FC01F83800F800F80001F800FC0
-001F0007C0003F0007E0003F0007E0003F0007E0003F0007E0003F0007E0003F0007E000
-1F0007C0001F800FC0000F800F80000FC01F800007E03F000007F07C00000EFFF800000C
-1FC000001C000000001C000000001C000000001E000000001E000000001F000000000FFF
-FE00000FFFFFC00007FFFFF00003FFFFFC0007FFFFFE001F0001FE003E00007F007C0000
-3F007C00001F80F800000F80F800000F80F800000F80F800000F80F800000F80FC00001F
-807C00001F003E00003E001F00007C000FC001F80003F007E00000FFFF8000001FFC0000
-22337EA126>I<03F0000000FFF0000000FFF0000000FFF000000007F000000003F00000
-0003F000000003F000000003F000000003F000000003F000000003F000000003F0000000
-03F000000003F000000003F000000003F000000003F000000003F000000003F01FC00003
-F07FF00003F1E0FC0003F3807C0003F7007E0003FE007E0003FC003F0003FC003F0003F8
-003F0003F8003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F000
-3F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F
-0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0007F8007F80
-FFFFC7FFFCFFFFC7FFFCFFFFC7FFFC26347EB32B>I<07800FC01FE01FE01FE01FE00FC0
-0780000000000000000000000000000000000000000007E0FFE0FFE0FFE00FE007E007E0
-07E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E0
-07E007E007E007E00FF0FFFFFFFFFFFF10337EB215>I<07E0FFE0FFE0FFE00FE007E007
-E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007
-E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007E007
-E007E007E007E007E007E00FF0FFFFFFFFFFFF10347EB315>108
-D<03F01FE000FF0000FFF07FF803FFC000FFF1E07C0F03E000FFF3803E1C01F00007F700
-3F3801F80003FE003F7001F80003FC001FE000FC0003FC001FE000FC0003F8001FC000FC
-0003F8001FC000FC0003F0001F8000FC0003F0001F8000FC0003F0001F8000FC0003F000
-1F8000FC0003F0001F8000FC0003F0001F8000FC0003F0001F8000FC0003F0001F8000FC
-0003F0001F8000FC0003F0001F8000FC0003F0001F8000FC0003F0001F8000FC0003F000
-1F8000FC0003F0001F8000FC0003F0001F8000FC0003F0001F8000FC0003F0001F8000FC
-0003F0001F8000FC0003F0001F8000FC0007F8003FC001FE00FFFFC7FFFE3FFFF0FFFFC7
-FFFE3FFFF0FFFFC7FFFE3FFFF03C217EA041>I<03F01FC000FFF07FF000FFF1E0FC00FF
-F3807C0007F7007E0003FE007E0003FC003F0003FC003F0003F8003F0003F8003F0003F0
-003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F000
-3F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F
-0003F0003F0003F0003F0003F0003F0003F0003F0007F8007F80FFFFC7FFFCFFFFC7FFFC
-FFFFC7FFFC26217EA02B>I<0007F00000003FFE000000FC1F800001F007C00003C001E0
-0007C001F0000F8000F8001F00007C001F00007C003F00007E003E00003E007E00003F00
-7E00003F007E00003F00FE00003F80FE00003F80FE00003F80FE00003F80FE00003F80FE
-00003F80FE00003F80FE00003F807E00003F007E00003F007E00003F003F00007E003F00
-007E001F00007C001F8000FC000FC001F80007C001F00003F007E00000FC1F8000003FFE
-00000007F0000021237EA126>I<03F03F8000FFF0FFE000FFF3C0F800FFF7007E0007FE
-003F0003FC001F8003F8001FC003F0000FC003F0000FE003F00007F003F00007F003F000
-07F003F00003F803F00003F803F00003F803F00003F803F00003F803F00003F803F00003
-F803F00003F803F00003F803F00007F803F00007F003F00007F003F00007E003F0000FE0
-03F0000FC003F8001FC003FC003F8003FC003F0003FF00FC0003F381F80003F1FFE00003
-F07F000003F000000003F000000003F000000003F000000003F000000003F000000003F0
-00000003F000000003F000000003F000000007F8000000FFFFC00000FFFFC00000FFFFC0
-000025307EA02B>I<03E07C00FFE1FF00FFE38F80FFE71FC007EE1FC003EC1FC003EC1F
-C003FC0F8003F8000003F8000003F8000003F0000003F0000003F0000003F0000003F000
-0003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F000
-0003F0000003F0000003F0000003F0000007F80000FFFFE000FFFFE000FFFFE0001A217F
-A01E>114 D<00FF060007FFCE001F00FE003C003E0078001E0078000E00F0000E00F000
-0600F0000600F8000600F8000600FE000000FF8000007FFC00003FFFC0003FFFF0000FFF
-F80007FFFC0000FFFE00000FFF000000FF0000003F80C0001F80C0000F80E0000780E000
-0780E0000780F0000780F0000700F8000F00FC000E00FE001C00F7807800E1FFE000C07F
-800019237EA11E>I<00300000300000300000300000300000700000700000700000F000
-00F00001F00001F00003F00007F0001FFFFEFFFFFEFFFFFE03F00003F00003F00003F000
-03F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F003
-03F00303F00303F00303F00303F00303F00303F00303F00701F80601F80600FC0E007E1C
-001FF80007E0182F7FAD1E>I<03F0003F00FFF00FFF00FFF00FFF00FFF00FFF0007F000
-7F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F
-0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F00
-03F0003F0003F0003F0003F0003F0003F0003F0003F0003F0003F0007F0003F0007F0003
-F0007F0003F000FF0001F000FF0001F801FF8000F803BFFC007E073FFC001FFE3FFC0007
-F83F0026227EA02B>I<FFFF00FFF0FFFF00FFF0FFFF00FFF00FF0003F8007F0001F0003
-F0000E0003F0000C0003F8001C0001F800180001F800180000FC00300000FC00300000FE
-007000007E006000007F006000003F00C000003F00C000001F818000001F818000001FC3
-8000000FC30000000FC300000007E600000007E600000007FE00000003FC00000003FC00
-000001F800000001F800000001F800000000F000000000F00000000060000024217E9F29
->I<FFFF1FFF81FFF0FFFF1FFF81FFF0FFFF1FFF81FFF007F801FC003F8007F001F8001E
-0003F000F8001C0003F000FC001C0001F8007C00180001F8007C00180001FC007E003800
-00FC00FE00300000FC00FE003000007E01FF006000007E019F006000007E019F80600000
-3F030F80C000003F030F80C000003F030FC0C000001F8607C18000001F8607C18000001F
-C607E38000000FCC03E30000000FCC03E300000007FC03F600000007F801F600000007F8
-01FE00000003F000FC00000003F000FC00000003F000FC00000001E0007800000001E000
-7800000001E0007800000000C00030000034217F9F37>I<FFFF01FFF8FFFF01FFF8FFFF
-01FFF803FE00FF8001FC007C0000FC007800007E007000007F00E000003F81C000001F83
-8000000FC300000007E600000007FE00000003FC00000001F800000000FC00000000FE00
-000000FF00000001FF000000039F800000071FC00000060FE000000C07E000001C03F000
-003801F800007001FC0000F000FC0001F000FE000FF000FF80FFFC03FFFCFFFC03FFFCFF
-FC03FFFC26207F9F29>I<7FFF807FF87FFF807FF87FFF807FF807F8001FC003F8000F80
-01F800070001F800060000FC000C0000FC000C0000FE001C00007E001800007E00180000
-3F003000003F003000003F807000001F806000001FC0E000000FC0C000000FC0C0000007
-E180000007E180000007F380000003F300000003FB00000001FE00000001FE00000000FC
-00000000FC00000000FC0000000078000000007800000000300000000030000000006000
-0000006000000000E000000000C000000000C0000000018000007801800000FC03000000
-FC03000000FC06000000FC0E000000701C00000078380000001FF00000000FC000000025
-307F9F29>I E /Fj 5 53 df<0000380000000038000000003800000000380000000038
-000000003800000000380000000038000000003800000000380000000038000000003800
-00000038000000003800000000380000000038000000003800000000380000FFFFFFFFFE
-FFFFFFFFFEFFFFFFFFFE0000380000000038000000003800000000380000000038000000
-003800000000380000000038000000003800000000380000000038000000003800000000
-3800000000380000000038000000003800000000380000000038000027277C9F2F>43
-D<00E00001E00007E000FFE000F9E00001E00001E00001E00001E00001E00001E00001E0
-0001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E00001E0
-0001E00001E00001E00001E00001E00001E00003F000FFFFC0FFFFC012217AA01E>49
-D<01FC0007FF801C0FC03003E06001F06000F8F800F8FC00FCFC00FCFC007C78007C3000
-FC0000FC0000F80000F80001F00003E00003C0000780000F00001E0000380000700000E0
-0001C00C03800C0600180C00181800183FFFF87FFFF8FFFFF0FFFFF016217CA01E>I<00
-FF0003FFC00F03E01C00F01C00F83E00FC3E007C3E007C1E00FC0C00FC0000F80000F800
-01F00003E0000FC001FF0001FF000003E00000F000007800007C00003E00003F30003F78
-003FFC003FFC003FFC003EF8007E60007C3800F81E03F00FFFC001FF0018227DA01E>I<
-0000E00001E00001E00003E00007E00007E0000DE0001DE00039E00031E00061E000E1E0
-00C1E00181E00381E00701E00601E00C01E01C01E01801E03001E07001E0E001E0FFFFFF
-FFFFFF0001E00001E00001E00001E00001E00001E00003F0003FFF003FFF18227DA11E>
-I E /Fk 5 107 df<000FFC0000003FFF000000FFFFC00003FFFFF00007FFFFF8000FFF
-FFFC001FFFFFFE003FFFFFFF003FFFFFFF007FFFFFFF807FFFFFFF807FFFFFFF80FFFFFF
-FFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFF
-C0FFFFFFFFC0FFFFFFFFC07FFFFFFF807FFFFFFF807FFFFFFF803FFFFFFF003FFFFFFF00
-1FFFFFFE000FFFFFFC0007FFFFF80003FFFFF00000FFFFC000003FFF0000000FFC000022
-227BA72D>15 D<0000000000000030000000000000000000780000000000000000007800
-00000000000000007C0000000000000000003C0000000000000000003C00000000000000
-00003E0000000000000000001E0000000000000000001E0000000000000000001F000000
-0000000000000F8000000000000000000F80000000000000000007C00000000000000000
-03E0000000000000000003E0000000000000000001F0000000000000000000F800000000
-00000000007C0000000000000000007E0000000000000000001F8000000000000000000F
-C0000000000000000007F07FFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFFFF7FFFFFFFFFFFFFFFFFFC000000000000000007F000000000000000000FC000
-000000000000001F8000000000000000007E0000000000000000007C0000000000000000
-00F8000000000000000001F0000000000000000003E0000000000000000003E000000000
-0000000007C000000000000000000F8000000000000000000F8000000000000000001F00
-00000000000000001E0000000000000000001E0000000000000000003E00000000000000
-00003C0000000000000000003C0000000000000000007C00000000000000000078000000
-0000000000007800000000000000000030000050307BAE5B>33 D<0000003F000003FF00
-000FE000003F8000007E000001FC000001F8000003F0000003F0000007E0000007E00000
-07E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E00000
-07E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E00000
-07E0000007E0000007E0000007E0000007E0000007E0000007E0000007E000000FE00000
-0FC000001FC000003F8000003F000000FE000003F800007FE00000FF0000007FE0000003
-F8000000FE0000003F0000003F8000001FC000000FC000000FE0000007E0000007E00000
-07E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E00000
-07E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E00000
-07E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000003F00000
-03F0000001F8000001FC0000007E0000003F8000000FE0000003FF0000003F205B7AC32D
->102 D<FC000000FFC0000007F0000001FC0000007E0000003F8000001F8000000FC000
-000FC0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E000
-0007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E000
-0007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E000
-0007E0000007E0000007F0000003F0000003F8000001FC000000FC0000007F0000001FC0
-000007FE000000FF000007FE00001FC000007F000000FC000001FC000003F8000003F000
-0007F0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E000
-0007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E000
-0007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E000
-0007E0000007E000000FC000000FC000001F8000003F8000007E000001FC000007F00000
-FFC00000FC000000205B7AC32D>I<60F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
-F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0
-F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F060045B
-76C319>106 D E /Fl 4 53 df<000C00003C00007C0003FC00FFFC00FC7C00007C0000
-7C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C0000
-7C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C00007C0000
-7C00007C00007C00007C00007C00007C00007C00007C00007C00007C0000FE007FFFFE7F
-FFFE172C7AAB23>49 D<007F800001FFF0000780FC000E003F001C001F8038000FC07000
-0FC0600007E0F00007E0FC0007F0FE0007F0FE0003F0FE0003F0FE0003F07C0007F00000
-07F0000007F0000007E000000FE000000FC000001FC000001F8000003F0000007E000000
-7C000000F8000001F0000003E0000007C000000F8000001E0000003C00000078000000F0
-003000E0003001C0003003800060070000600E0000E01FFFFFE03FFFFFE07FFFFFC0FFFF
-FFC0FFFFFFC01C2C7DAB23>I<003FC00001FFF00007C0FC000E007E001C003F001C001F
-803F001FC03F001FC03F800FC03F000FC03F000FC00C001FC000001FC000001F8000001F
-8000003F0000003E0000007C000000F8000003F00000FFC00000FFF0000000FC0000003F
-0000001F8000001FC000000FC000000FE000000FE0000007F0000007F0380007F07C0007
-F0FE0007F0FE0007F0FE0007F0FE000FE0F8000FE060000FC070001FC038001F801E003F
-000780FC0001FFF000007FC0001C2D7DAB23>I<00000E0000000E0000001E0000003E00
-00003E0000007E000000FE000000FE000001BE000003BE0000033E0000063E00000E3E00
-000C3E0000183E0000383E0000303E0000603E0000E03E0000C03E0001803E0003803E00
-03003E0006003E000E003E000C003E0018003E0038003E0030003E0060003E00E0003E00
-FFFFFFFCFFFFFFFC00003E0000003E0000003E0000003E0000003E0000003E0000003E00
-00003E0000003E0000007F00001FFFFC001FFFFC1E2D7EAC23>I
-E /Fm 52 122 df<000000FFF8000000000FFFFF000000007FFFFF80000001FFFFFFE000
-0007FFC01FF000000FFE0007F000001FF8000FF800003FE0001FF800007FC0003FFC0000
-FFC0003FFC0000FF80003FFC0001FF80003FFC0001FF00003FFC0001FF00003FFC0001FF
-00001FF80001FF00000FF00001FF000003C00001FF000000000001FF000000000001FF00
-0000000001FF000000000001FF000000000001FF000000000001FF000003FC00FFFFFFFF
-FFFC00FFFFFFFFFFFC00FFFFFFFFFFFC00FFFFFFFFFFFC00FFFFFFFFFFFC0001FF80001F
-FC0001FF80000FFC0001FF80000FFC0001FF80000FFC0001FF80000FFC0001FF80000FFC
-0001FF80000FFC0001FF80000FFC0001FF80000FFC0001FF80000FFC0001FF80000FFC00
-01FF80000FFC0001FF80000FFC0001FF80000FFC0001FF80000FFC0001FF80000FFC0001
-FF80000FFC0001FF80000FFC0001FF80000FFC0001FF80000FFC0001FF80000FFC0001FF
-80000FFC0001FF80000FFC0001FF80000FFC0001FF80000FFC0001FF80000FFC0001FF80
-000FFC0001FF80000FFC0001FF80000FFC0001FF80000FFC007FFFFE03FFFFF07FFFFE03
-FFFFF07FFFFE03FFFFF07FFFFE03FFFFF07FFFFE03FFFFF034407EBF3A>12
-D<0FC0001F801FE0003FC03FF0007FE07FF800FFF0FFFC01FFF8FFFC01FFF8FFFC01FFF8
-FFFE01FFFCFFFE01FFFCFFFE01FFFC7FFE00FFFC3FFE007FFC1FFE003FFC0FDE001FBC00
-1E00003C001E00003C003E00007C003C000078003C000078007C0000F800780000F00078
-0000F000F80001F001F00003E001F00003E003E00007C007C0000F800F80001F001F8000
-3F003F00007E003E00007C001C0000380026207DBE37>34 D<FFFFFFE0FFFFFFE0FFFFFF
-E0FFFFFFE0FFFFFFE0FFFFFFE0FFFFFFE0FFFFFFE0FFFFFFE01B097F9823>45
-D<0FC01FE03FF07FF8FFFCFFFCFFFCFFFCFFFCFFFC7FF83FF01FE00FC00E0E798D1D>I<
-0000FFE000000007FFFC0000001FFFFF0000007FFFFFC00000FFE0FFE00001FF803FF000
-03FE000FF80007FC0007FC0007FC0007FC000FF80003FE001FF80003FF001FF80003FF00
-1FF80003FF003FF00001FF803FF00001FF803FF00001FF807FF00001FFC07FF00001FFC0
-7FF00001FFC07FF00001FFC07FF00001FFC0FFF00001FFE0FFF00001FFE0FFF00001FFE0
-FFF00001FFE0FFF00001FFE0FFF00001FFE0FFF00001FFE0FFF00001FFE0FFF00001FFE0
-FFF00001FFE0FFF00001FFE0FFF00001FFE0FFF00001FFE0FFF00001FFE0FFF00001FFE0
-FFF00001FFE0FFF00001FFE0FFF00001FFE0FFF00001FFE0FFF00001FFE07FF00001FFC0
-7FF00001FFC07FF00001FFC07FF00001FFC07FF00001FFC03FF00001FF803FF80003FF80
-3FF80003FF801FF80003FF001FF80003FF000FF80003FE000FFC0007FE0007FE000FFC00
-03FF001FF80001FF803FF00000FFE0FFE000007FFFFFC000001FFFFF00000007FFFC0000
-0000FFE000002B3D7CBB34>48 D<00000F000000003F000000007F00000001FF0000000F
-FF000001FFFF0000FFFFFF0000FFFFFF0000FFFFFF0000FFF7FF0000FE07FF00000007FF
-00000007FF00000007FF00000007FF00000007FF00000007FF00000007FF00000007FF00
-000007FF00000007FF00000007FF00000007FF00000007FF00000007FF00000007FF0000
-0007FF00000007FF00000007FF00000007FF00000007FF00000007FF00000007FF000000
-07FF00000007FF00000007FF00000007FF00000007FF00000007FF00000007FF00000007
-FF00000007FF00000007FF00000007FF00000007FF00000007FF00000007FF00000007FF
-00000007FF00000007FF00000007FF00000007FF00000007FF00000007FF00000007FF00
-00FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0243C78BB34>I<0003FF
-800000003FFFF8000000FFFFFE000003FFFFFF800007FFFFFFC0000FF80FFFE0001FC003
-FFF0003F8000FFF8007FC0007FFC007FE0003FFE00FFF0003FFE00FFF8001FFF00FFF800
-1FFF00FFF8000FFF80FFF8000FFF80FFF8000FFF80FFF8000FFF807FF0000FFF803FE000
-0FFF801FC0000FFF800700000FFF800000000FFF800000001FFF000000001FFF00000000
-1FFE000000003FFE000000003FFC000000007FF8000000007FF800000000FFF000000000
-FFE000000001FFC000000003FF8000000007FE0000000007FC000000000FF8000000001F
-E0000000003FC0000000007F8000000000FF000F800001FC000F800003F8000F800007F0
-001F00000FE0001F00001F80001F00003F00001F00007E00003F0000FC00003F0001FFFF
-FFFF0003FFFFFFFE0007FFFFFFFE000FFFFFFFFE001FFFFFFFFE003FFFFFFFFE007FFFFF
-FFFE00FFFFFFFFFE00FFFFFFFFFC00FFFFFFFFFC00FFFFFFFFFC00FFFFFFFFFC00293C7B
-BB34>I<0001FFE00000000FFFFE0000003FFFFF800000FFFFFFE00001FF81FFF00003FC
-007FF80007F0003FFC0007F0003FFE000FFC001FFE000FFE001FFF001FFE001FFF001FFF
-001FFF001FFF001FFF001FFF001FFF001FFF001FFF001FFF001FFF000FFE001FFF000FFE
-001FFE0007FC003FFE0001F0003FFC000000003FFC000000007FF8000000007FF0000000
-00FFE000000001FFC00000000FFF80000007FFFE00000007FFF800000007FFFE00000007
-FFFFC000000001FFF0000000007FF8000000003FFC000000001FFE000000000FFF000000
-000FFF800000000FFF8000000007FFC000000007FFC000000007FFE00FC00007FFE01FE0
-0007FFE03FF00007FFE07FF80007FFE0FFFC0007FFE0FFFC0007FFE0FFFC0007FFE0FFFC
-0007FFC0FFFC0007FFC0FFFC000FFFC0FFF8000FFF807FF8000FFF807FF0001FFF003FC0
-003FFE001FE0007FFC000FFE01FFF80007FFFFFFF00003FFFFFFE00000FFFFFF8000003F
-FFFE00000003FFE000002B3D7CBB34>I<00000001F80000000003F80000000007F80000
-000007F8000000000FF8000000001FF8000000003FF8000000003FF8000000007FF80000
-0000FFF800000001FFF800000003FFF800000003FFF800000007FFF80000000FFFF80000
-001FBFF80000003F3FF80000003E3FF80000007C3FF8000000FC3FF8000001F83FF80000
-01F03FF8000003E03FF8000007E03FF800000FC03FF800001F803FF800001F003FF80000
-3E003FF800007E003FF80000FC003FF80001F8003FF80001F0003FF80003E0003FF80007
-E0003FF8000FC0003FF8000F80003FF8001F00003FF8003F00003FF8007E00003FF800FC
-00003FF800FFFFFFFFFFF8FFFFFFFFFFF8FFFFFFFFFFF8FFFFFFFFFFF8FFFFFFFFFFF800
-00007FF8000000007FF8000000007FF8000000007FF8000000007FF8000000007FF80000
-00007FF8000000007FF8000000007FF8000000007FF8000001FFFFFFF80001FFFFFFF800
-01FFFFFFF80001FFFFFFF80001FFFFFFF82D3C7DBB34>I<0700000038000FE00001F800
-0FFE003FF8000FFFFFFFF8000FFFFFFFF0000FFFFFFFE0000FFFFFFFC0000FFFFFFF8000
-0FFFFFFF00000FFFFFFE00000FFFFFF800000FFFFFF000000FFFFFC000000FFFFE000000
-0F80000000000F80000000000F80000000000F80000000000F80000000000F8000000000
-0F80000000000F80000000000F80000000000F80FFC000000F87FFFC00000F9FFFFF0000
-0FFFFFFF80000FFF01FFE0000FF8007FF0000FF0003FF8000FC0001FFC000F80001FFC00
-0700001FFE000000000FFE000000000FFF000000000FFF000000000FFF000000000FFF80
-0000000FFF800700000FFF801FC0000FFF803FE0000FFF807FF0000FFF80FFF0000FFF80
-FFF8000FFF80FFF8000FFF80FFF8000FFF00FFF8000FFF00FFF0000FFF00FFF0001FFE00
-7FE0001FFE007F80001FFC003F00003FFC003F80007FF8001FE000FFF0000FFC07FFE000
-07FFFFFFC00003FFFFFF000000FFFFFC0000003FFFF000000007FF000000293D7BBB34>
-I<000007FF000000003FFFC0000001FFFFF0000007FFFFF800000FFF03FC00003FF800FC
-00007FE001FE0000FFC003FE0001FF8007FF0003FF000FFF0003FF000FFF0007FE000FFF
-000FFE000FFF000FFE000FFF001FFC000FFF001FFC0007FE003FFC0003FC003FFC0001F8
-003FFC000000007FF8000000007FF8000000007FF8020000007FF83FFE0000FFF87FFF80
-00FFF9FFFFE000FFFBFFFFF000FFFBE03FF800FFFF800FFC00FFFF0007FE00FFFF0007FF
-00FFFE0007FF00FFFE0003FF80FFFC0003FFC0FFFC0003FFC0FFFC0003FFC0FFFC0003FF
-E0FFF80003FFE0FFF80003FFE0FFF80003FFE0FFF80003FFE07FF80003FFE07FF80003FF
-E07FF80003FFE07FF80003FFE07FF80003FFE03FF80003FFE03FF80003FFE03FFC0003FF
-C01FFC0003FFC01FFC0003FFC00FFC0007FF800FFE0007FF0007FE0007FF0003FF000FFE
-0001FF801FFC0000FFE07FF800007FFFFFF000003FFFFFE000001FFFFF80000007FFFE00
-000000FFF000002B3D7CBB34>I<1F00000000001F80000000001FF8000000001FFFFFFF
-FFF01FFFFFFFFFF01FFFFFFFFFF01FFFFFFFFFF03FFFFFFFFFF03FFFFFFFFFE03FFFFFFF
-FFC03FFFFFFFFF803FFFFFFFFF003FFFFFFFFE003FFFFFFFFC007FFFFFFFFC007E000001
-F8007E000003F0007C000007E0007C00000FC0007C00001F80007C00001F0000F800003F
-0000F800007E0000F80000FC0000000001F80000000003F00000000003F00000000007E0
-000000000FE0000000000FC0000000001FC0000000003FC0000000003F80000000007F80
-000000007F8000000000FF8000000000FF0000000001FF0000000001FF0000000003FF00
-00000003FF0000000003FF0000000007FE0000000007FE0000000007FE000000000FFE00
-0000000FFE000000000FFE000000000FFE000000000FFE000000001FFE000000001FFE00
-0000001FFE000000001FFE000000001FFE000000001FFE000000001FFE000000001FFE00
-0000001FFE000000001FFE000000000FFC0000000007F80000000003F00000002C3F7ABD
-34>I<0000FFF000000007FFFE0000001FFFFF8000007FFFFFE00000FFC07FF00001FE00
-1FF80003FC000FFC0007F80007FE0007F80003FE000FF00003FE000FF00003FF000FF000
-01FF001FF00001FF001FF00001FF001FF80001FF001FFC0001FF001FFE0001FF001FFF00
-03FF001FFFC003FE001FFFF003FE000FFFF807FC000FFFFE0FF8000FFFFF9FF00007FFFF
-FFE00003FFFFFFC00003FFFFFF800001FFFFFF000000FFFFFF8000007FFFFFE000001FFF
-FFF000003FFFFFF80000FFFFFFFC0001FFFFFFFE0007FE3FFFFF000FFC1FFFFF801FF807
-FFFF801FF001FFFFC03FE0007FFFC07FE0003FFFC07FC0000FFFE07FC00003FFE0FF8000
-01FFE0FF800000FFE0FF8000007FE0FF8000007FE0FF8000003FE0FF8000003FE0FF8000
-003FE0FFC000003FC07FC000003FC07FC000007F807FE000007F803FF00000FF001FF800
-01FF001FFE0007FE000FFFC03FFC0007FFFFFFF80001FFFFFFE000007FFFFFC000001FFF
-FE00000001FFF000002B3D7CBB34>I<0001FFE00000000FFFFC0000003FFFFF000000FF
-FFFFC00001FFE0FFE00003FF003FF00007FE001FF8000FFE000FFC001FFC000FFC001FFC
-0007FE003FFC0007FE007FF80007FF007FF80003FF007FF80003FF80FFF80003FF80FFF8
-0003FF80FFF80003FFC0FFF80003FFC0FFF80003FFC0FFF80003FFC0FFF80003FFC0FFF8
-0003FFE0FFF80003FFE0FFF80003FFE0FFF80003FFE07FF80007FFE07FF80007FFE07FF8
-0007FFE07FF80007FFE03FF8000FFFE01FFC000FFFE01FFC001FFFE00FFE001FFFE007FE
-003FFFE003FF80FBFFE001FFFFFBFFE0007FFFF3FFE0003FFFC3FFE0000FFF83FFC00000
-0803FFC000000003FFC000000003FFC000000007FF8003F00007FF8007F80007FF800FFC
-0007FF001FFE0007FF001FFE000FFE001FFE000FFE001FFE000FFC001FFE001FFC001FFE
-003FF8001FFC003FF0000FF800FFE0000FF001FFC00007FC0FFF800003FFFFFF000001FF
-FFFC000000FFFFF00000007FFFC00000000FFE0000002B3D7CBB34>I<0FC01FE03FF07F
-F8FFFCFFFCFFFCFFFCFFFCFFFC7FF83FF01FE00FC0000000000000000000000000000000
-0000000000000000000FC01FE03FF07FF8FFFCFFFCFFFCFFFCFFFCFFFC7FF83FF01FE00F
-C00E2879A71D>I<00000000FC0000000000000000FC0000000000000001FE0000000000
-000001FE0000000000000003FF0000000000000003FF0000000000000003FF0000000000
-000007FF8000000000000007FF800000000000000FFFC00000000000000FFFC000000000
-00000FFFC00000000000001FFFE00000000000001FFFE00000000000003FFFF000000000
-00003FFFF00000000000003FFFF00000000000007FFFF80000000000007CFFF800000000
-0000FCFFFC000000000000F87FFC000000000000F87FFC000000000001F87FFE00000000
-0001F03FFE000000000003F03FFF000000000003E01FFF000000000007E01FFF80000000
-0007C01FFF800000000007C00FFF80000000000FC00FFFC0000000000F8007FFC0000000
-001F8007FFE0000000001F0007FFE0000000001F0003FFE0000000003F0003FFF0000000
-003E0001FFF0000000007E0001FFF8000000007C0000FFF8000000007C0000FFF8000000
-00FC0000FFFC00000000F800007FFC00000001FFFFFFFFFE00000001FFFFFFFFFE000000
-01FFFFFFFFFE00000003FFFFFFFFFF00000003FFFFFFFFFF00000007E000001FFF800000
-07C000000FFF8000000FC000000FFFC000000F8000000FFFC000000F80000007FFC00000
-1F80000007FFE000001F00000003FFE000003F00000003FFF000003E00000003FFF00000
-3E00000001FFF000007E00000001FFF800007C00000000FFF800FFFFFC0000FFFFFFFCFF
-FFFC0000FFFFFFFCFFFFFC0000FFFFFFFCFFFFFC0000FFFFFFFCFFFFFC0000FFFFFFFC46
-3F7CBE4F>65 D<FFFFFFFFFFF80000FFFFFFFFFFFF8000FFFFFFFFFFFFF000FFFFFFFFFF
-FFFC00FFFFFFFFFFFFFE00003FFC00003FFF00003FFC00000FFF80003FFC000007FFC000
-3FFC000003FFE0003FFC000001FFE0003FFC000001FFF0003FFC000001FFF0003FFC0000
-00FFF8003FFC000000FFF8003FFC000000FFF8003FFC000000FFF8003FFC000000FFF800
-3FFC000000FFF8003FFC000000FFF8003FFC000000FFF0003FFC000001FFF0003FFC0000
-01FFF0003FFC000003FFE0003FFC000003FFC0003FFC000007FF80003FFC00000FFF0000
-3FFC00003FFE00003FFC0001FFF800003FFFFFFFFFE000003FFFFFFFFF8000003FFFFFFF
-FFF800003FFFFFFFFFFE00003FFC00000FFF80003FFC000003FFC0003FFC000001FFE000
-3FFC000000FFF0003FFC000000FFF8003FFC0000007FFC003FFC0000007FFC003FFC0000
-003FFE003FFC0000003FFE003FFC0000003FFF003FFC0000003FFF003FFC0000003FFF00
-3FFC0000001FFF003FFC0000003FFF003FFC0000003FFF003FFC0000003FFF003FFC0000
-003FFF003FFC0000003FFE003FFC0000007FFE003FFC0000007FFE003FFC000000FFFC00
-3FFC000001FFF8003FFC000003FFF8003FFC000007FFF0003FFC00003FFFE0FFFFFFFFFF
-FFFFC0FFFFFFFFFFFFFF00FFFFFFFFFFFFFC00FFFFFFFFFFFFF000FFFFFFFFFFFF000040
-3E7DBD4A>I<00000007FFC0000E000000FFFFFC001E000007FFFFFF003E00003FFFFFFF
-C07E0000FFFFFFFFE1FE0003FFFF803FFBFE0007FFF80003FFFE000FFFC00000FFFE003F
-FF0000007FFE007FFE0000001FFE00FFF80000000FFE01FFF000000007FE03FFE0000000
-07FE03FFC000000003FE07FFC000000001FE0FFF8000000001FE0FFF8000000000FE1FFF
-0000000000FE1FFF00000000007E3FFF00000000007E3FFE00000000007E3FFE00000000
-003E7FFE00000000003E7FFE00000000003E7FFE00000000003E7FFC000000000000FFFC
-000000000000FFFC000000000000FFFC000000000000FFFC000000000000FFFC00000000
-0000FFFC000000000000FFFC000000000000FFFC000000000000FFFC000000000000FFFC
-000000000000FFFC000000000000FFFC0000000000007FFC0000000000007FFE00000000
-00007FFE00000000003E7FFE00000000003E3FFE00000000003E3FFE00000000003E3FFF
-00000000003E1FFF00000000007E1FFF00000000007C0FFF80000000007C0FFF80000000
-00FC07FFC000000000F803FFE000000001F803FFE000000001F001FFF000000003F000FF
-F800000007E0007FFE0000000FC0003FFF0000003F80000FFFC00000FF000007FFF80003
-FE000003FFFF801FFC000000FFFFFFFFF80000003FFFFFFFE000000007FFFFFF80000000
-00FFFFFC000000000007FFC000003F407ABE4C>I<FFFFFFFFFFF8000000FFFFFFFFFFFF
-800000FFFFFFFFFFFFF00000FFFFFFFFFFFFFC0000FFFFFFFFFFFFFF0000003FFC00007F
-FFC000003FFC000007FFE000003FFC000001FFF000003FFC0000007FF800003FFC000000
-3FFC00003FFC0000001FFE00003FFC0000000FFF00003FFC00000007FF80003FFC000000
-07FF80003FFC00000003FFC0003FFC00000003FFC0003FFC00000001FFE0003FFC000000
-01FFE0003FFC00000001FFF0003FFC00000000FFF0003FFC00000000FFF0003FFC000000
-00FFF8003FFC00000000FFF8003FFC00000000FFF8003FFC00000000FFF8003FFC000000
-00FFFC003FFC00000000FFFC003FFC00000000FFFC003FFC00000000FFFC003FFC000000
-00FFFC003FFC000000007FFC003FFC000000007FFC003FFC000000007FFC003FFC000000
-00FFFC003FFC00000000FFFC003FFC00000000FFFC003FFC00000000FFFC003FFC000000
-00FFFC003FFC00000000FFF8003FFC00000000FFF8003FFC00000000FFF8003FFC000000
-00FFF8003FFC00000000FFF0003FFC00000000FFF0003FFC00000001FFF0003FFC000000
-01FFE0003FFC00000001FFE0003FFC00000003FFC0003FFC00000003FFC0003FFC000000
-07FF80003FFC0000000FFF00003FFC0000001FFF00003FFC0000003FFE00003FFC000000
-7FFC00003FFC000001FFF800003FFC000007FFE000003FFC00007FFFC000FFFFFFFFFFFF
-FF8000FFFFFFFFFFFFFE0000FFFFFFFFFFFFF80000FFFFFFFFFFFFC00000FFFFFFFFFFF8
-000000463E7DBD50>I<FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFFFFFFFFFFFF00FFFF
-FFFFFFFFFF00FFFFFFFFFFFFFF80003FFE00003FFF80003FFE000007FF80003FFE000001
-FF80003FFE000000FF80003FFE0000003F80003FFE0000003F80003FFE0000001F80003F
-FE0000000FC0003FFE0000000FC0003FFE0000000FC0003FFE00000007C0003FFE0007C0
-07C0003FFE0007C007C0003FFE0007C007C0003FFE0007C003E0003FFE0007C003E0003F
-FE0007C003E0003FFE000FC003E0003FFE000FC00000003FFE001FC00000003FFE003FC0
-0000003FFE00FFC00000003FFFFFFFC00000003FFFFFFFC00000003FFFFFFFC00000003F
-FFFFFFC00000003FFFFFFFC00000003FFE00FFC00000003FFE003FC00000003FFE001FC0
-0000003FFE000FC0007C003FFE000FC0007C003FFE0007C0007C003FFE0007C000F8003F
-FE0007C000F8003FFE0007C000F8003FFE0007C000F8003FFE0007C000F8003FFE000000
-01F8003FFE00000001F8003FFE00000001F0003FFE00000003F0003FFE00000003F0003F
-FE00000007F0003FFE00000007F0003FFE0000000FF0003FFE0000001FE0003FFE000000
-3FE0003FFE000000FFE0003FFE000003FFE0003FFE00003FFFE0FFFFFFFFFFFFFFE0FFFF
-FFFFFFFFFFE0FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFC03E3D7DBC45>
-I<FFFFFFFFFFFFFE00FFFFFFFFFFFFFE00FFFFFFFFFFFFFE00FFFFFFFFFFFFFE00FFFFFF
-FFFFFFFF00003FFE00007FFF00003FFE00000FFF00003FFE000003FF00003FFE000000FF
-00003FFE0000007F00003FFE0000007F00003FFE0000003F00003FFE0000001F80003FFE
-0000001F80003FFE0000001F80003FFE0000000F80003FFE0000000F80003FFE0007C00F
-80003FFE0007C00F80003FFE0007C007C0003FFE0007C007C0003FFE0007C007C0003FFE
-0007C007C0003FFE000FC00000003FFE000FC00000003FFE001FC00000003FFE003FC000
-00003FFE00FFC00000003FFFFFFFC00000003FFFFFFFC00000003FFFFFFFC00000003FFF
-FFFFC00000003FFFFFFFC00000003FFE00FFC00000003FFE003FC00000003FFE001FC000
-00003FFE000FC00000003FFE000FC00000003FFE0007C00000003FFE0007C00000003FFE
-0007C00000003FFE0007C00000003FFE0007C00000003FFE0007C00000003FFE00000000
-00003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE
-0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE00000000
-00003FFE0000000000003FFE0000000000FFFFFFFFE0000000FFFFFFFFE0000000FFFFFF
-FFE0000000FFFFFFFFE0000000FFFFFFFFE00000003A3D7DBC42>I<FFFFFFFF80FFFFFF
-FF80FFFFFFFF80FFFFFFFF80FFFFFFFF80003FFE0000003FFE0000003FFE0000003FFE00
-00003FFE0000003FFE0000003FFE0000003FFE0000003FFE0000003FFE0000003FFE0000
-003FFE0000003FFE0000003FFE0000003FFE0000003FFE0000003FFE0000003FFE000000
-3FFE0000003FFE0000003FFE0000003FFE0000003FFE0000003FFE0000003FFE0000003F
-FE0000003FFE0000003FFE0000003FFE0000003FFE0000003FFE0000003FFE0000003FFE
-0000003FFE0000003FFE0000003FFE0000003FFE0000003FFE0000003FFE0000003FFE00
-00003FFE0000003FFE0000003FFE0000003FFE0000003FFE0000003FFE0000003FFE0000
-003FFE0000003FFE0000003FFE0000003FFE0000003FFE0000FFFFFFFF80FFFFFFFF80FF
-FFFFFF80FFFFFFFF80FFFFFFFF80213E7DBD28>73 D<FFFFFFFFE00000FFFFFFFFE00000
-FFFFFFFFE00000FFFFFFFFE00000FFFFFFFFE00000003FFE00000000003FFE0000000000
-3FFE00000000003FFE00000000003FFE00000000003FFE00000000003FFE00000000003F
-FE00000000003FFE00000000003FFE00000000003FFE00000000003FFE00000000003FFE
-00000000003FFE00000000003FFE00000000003FFE00000000003FFE00000000003FFE00
-000000003FFE00000000003FFE00000000003FFE00000000003FFE00000000003FFE0000
-0000003FFE00000000003FFE00000000003FFE00000000003FFE00000000003FFE000000
-00003FFE00000000003FFE00000000003FFE00000000003FFE0000003E003FFE0000003E
-003FFE0000003E003FFE0000003E003FFE0000007E003FFE0000007C003FFE0000007C00
-3FFE0000007C003FFE0000007C003FFE000000FC003FFE000000FC003FFE000001FC003F
-FE000001FC003FFE000003F8003FFE000003F8003FFE000007F8003FFE00000FF8003FFE
-00001FF8003FFE00007FF8003FFE0001FFF8003FFE000FFFF8FFFFFFFFFFFFF8FFFFFFFF
-FFFFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF0373E7DBD3F>76
-D<0000003FFF00000000000003FFFFF000000000001FFFFFFE00000000007FFFFFFF8000
-000001FFF807FFE000000007FFC000FFF80000000FFF00003FFC0000003FFC00000FFF00
-00007FF8000007FF800000FFF0000003FFC00001FFE0000001FFE00001FFC0000000FFE0
-0003FFC0000000FFF00007FF800000007FF80007FF800000007FF8000FFF000000003FFC
-001FFF000000003FFE001FFF000000003FFE001FFE000000001FFE003FFE000000001FFF
-003FFE000000001FFF003FFE000000001FFF007FFC000000000FFF807FFC000000000FFF
-807FFC000000000FFF807FFC000000000FFF80FFFC000000000FFFC0FFFC000000000FFF
-C0FFFC000000000FFFC0FFFC000000000FFFC0FFFC000000000FFFC0FFFC000000000FFF
-C0FFFC000000000FFFC0FFFC000000000FFFC0FFFC000000000FFFC0FFFC000000000FFF
-C0FFFC000000000FFFC0FFFC000000000FFFC0FFFC000000000FFFC07FFC000000000FFF
-807FFE000000001FFF807FFE000000001FFF807FFE000000001FFF803FFE000000001FFF
-003FFE000000001FFF003FFF000000003FFF001FFF000000003FFE001FFF000000003FFE
-000FFF800000007FFC000FFF800000007FFC0007FFC0000000FFF80003FFE0000001FFF0
-0003FFE0000001FFF00001FFF0000003FFE00000FFF8000007FFC000007FFC00000FFF80
-00003FFF00003FFF0000001FFFC000FFFE00000007FFF807FFF800000001FFFFFFFFE000
-000000FFFFFFFFC0000000001FFFFFFE000000000003FFFFF00000000000003FFF000000
-0042407ABE4F>79 D<FFFFFFFFFFF00000FFFFFFFFFFFF0000FFFFFFFFFFFFC000FFFFFF
-FFFFFFF000FFFFFFFFFFFFFC00003FFC0000FFFE00003FFC00001FFF00003FFC00000FFF
-80003FFC000007FFC0003FFC000003FFE0003FFC000003FFE0003FFC000001FFF0003FFC
-000001FFF0003FFC000001FFF0003FFC000001FFF8003FFC000001FFF8003FFC000001FF
-F8003FFC000001FFF8003FFC000001FFF8003FFC000001FFF8003FFC000001FFF8003FFC
-000001FFF8003FFC000001FFF0003FFC000001FFF0003FFC000001FFF0003FFC000003FF
-E0003FFC000003FFC0003FFC000007FFC0003FFC00000FFF80003FFC00003FFF00003FFC
-0000FFFE00003FFFFFFFFFF800003FFFFFFFFFF000003FFFFFFFFF8000003FFFFFFFFC00
-00003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE
-0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE00000000
-00003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE
-0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE00000000
-00003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000FFFFFF
-FF80000000FFFFFFFF80000000FFFFFFFF80000000FFFFFFFF80000000FFFFFFFF800000
-003D3E7DBD47>I<FFFFFFFFFF8000000000FFFFFFFFFFFC00000000FFFFFFFFFFFF8000
-0000FFFFFFFFFFFFF0000000FFFFFFFFFFFFF8000000003FFC0001FFFE000000003FFC00
-003FFF000000003FFC00000FFF800000003FFC000007FFC00000003FFC000003FFE00000
-003FFC000003FFE00000003FFC000003FFF00000003FFC000001FFF00000003FFC000001
-FFF80000003FFC000001FFF80000003FFC000001FFF80000003FFC000001FFF80000003F
-FC000001FFF80000003FFC000001FFF80000003FFC000001FFF80000003FFC000001FFF0
-0000003FFC000001FFF00000003FFC000003FFF00000003FFC000003FFE00000003FFC00
-0003FFC00000003FFC000007FF800000003FFC00000FFF000000003FFC00003FFE000000
-003FFC0001FFFC000000003FFFFFFFFFF0000000003FFFFFFFFFC0000000003FFFFFFFFE
-00000000003FFFFFFFFF80000000003FFC000FFFC0000000003FFC0001FFF0000000003F
-FC0000FFF8000000003FFC00007FFC000000003FFC00007FFC000000003FFC00003FFE00
-0000003FFC00003FFE000000003FFC00001FFF000000003FFC00001FFF000000003FFC00
-001FFF000000003FFC00001FFF000000003FFC00001FFF000000003FFC00001FFF000000
-003FFC00001FFF800000003FFC00001FFF800000003FFC00001FFF800000003FFC00001F
-FF800000003FFC00001FFF800000003FFC00001FFF800000003FFC00001FFF8007C0003F
-FC00001FFFC007C0003FFC00001FFFC007C0003FFC00000FFFC00FC0003FFC00000FFFE0
-0F80FFFFFFFF0007FFF01F80FFFFFFFF0003FFFC3F00FFFFFFFF0001FFFFFF00FFFFFFFF
-00007FFFFE00FFFFFFFF00001FFFF80000000000000001FFE0004A3F7DBD4E>82
-D<0003FFC001C0001FFFF803C0007FFFFE07C001FFFFFF8FC003FFFFFFDFC007FF00FFFF
-C00FF8000FFFC01FF00003FFC01FE00001FFC03FC000007FC07FC000007FC07F8000003F
-C07F8000001FC0FF8000001FC0FF8000000FC0FF8000000FC0FFC000000FC0FFC0000007
-C0FFC0000007C0FFE0000007C0FFF0000007C0FFFC00000000FFFF800000007FFFF80000
-007FFFFFC000003FFFFFFC00003FFFFFFF80001FFFFFFFE0001FFFFFFFF8000FFFFFFFFC
-0007FFFFFFFE0003FFFFFFFF0001FFFFFFFF80007FFFFFFFC0003FFFFFFFC00007FFFFFF
-E000007FFFFFE0000007FFFFF00000003FFFF000000003FFF000000000FFF8000000007F
-F8000000003FF8780000003FF8F80000001FF8F80000001FF8F80000000FF8F80000000F
-F8FC0000000FF8FC0000000FF8FC0000000FF0FE0000000FF0FE0000001FF0FF0000001F
-E0FF8000003FE0FFE000003FC0FFF800007F80FFFE0001FF80FFFFE007FF00FEFFFFFFFE
-00FC7FFFFFF800F81FFFFFF000F003FFFFC000E0003FFE00002D407ABE3A>I<3FFFFFFF
-FFFFFFFC3FFFFFFFFFFFFFFC3FFFFFFFFFFFFFFC3FFFFFFFFFFFFFFC3FFFFFFFFFFFFFFC
-3FFE003FFE003FFC7FF0003FFE000FFE7FC0003FFE0003FE7F80003FFE0001FE7F00003F
-FE0000FE7F00003FFE00007E7E00003FFE00007E7E00003FFE00007E7C00003FFE00003E
-7C00003FFE00003E7C00003FFE00003E7C00003FFE00003EFC00003FFE00003FF800003F
-FE00001FF800003FFE00001FF800003FFE00001FF800003FFE00001FF800003FFE00001F
-0000003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003F
-FE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE000000
-0000003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003F
-FE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE000000
-0000003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003F
-FE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003FFE000000
-0000003FFE0000000000003FFE0000000000003FFE0000000000003FFE0000000000003F
-FE0000000000003FFE000000000FFFFFFFFFF800000FFFFFFFFFF800000FFFFFFFFFF800
-000FFFFFFFFFF800000FFFFFFFFFF800403D7CBC49>I<00700000E000F80001F001F800
-03F003F00007E003E00007C007C0000F800F80001F001F00003E001F00003E003E00007C
-003C000078003C000078007C0000F800780000F000780000F000F80001F000F00001E000
-F00001E000F7E001EFC0FFF001FFE0FFF801FFF0FFFC01FFF8FFFE01FFFCFFFE01FFFCFF
-FE01FFFC7FFE00FFFC7FFE00FFFC7FFE00FFFC3FFC007FF81FF8003FF00FF0001FE007E0
-000FC0262073BE37>92 D<0007FFC00000003FFFF8000001FFFFFF000003FFFFFF800007
-FE03FFC0000FF800FFE0000FFC003FF0001FFE003FF8001FFE001FFC001FFE001FFC001F
-FE001FFC001FFE000FFE001FFE000FFE000FFC000FFE0007F8000FFE0001E0000FFE0000
-00000FFE000000003FFE000000FFFFFE00000FFFFFFE00007FFFFFFE0001FFFE0FFE0003
-FFE00FFE000FFF800FFE001FFE000FFE003FFC000FFE003FF8000FFE007FF0000FFE00FF
-F0000FFE00FFE0000FFE00FFE0000FFE00FFE0000FFE00FFE0000FFE00FFE0001FFE00FF
-F0001FFE007FF0003FFE007FF8007BFF803FFC00FBFFFE1FFF07F3FFFE0FFFFFE1FFFE03
-FFFF80FFFE00FFFF003FFE001FF80000002F2B7DA933>97 D<00FF0000000000FFFF0000
-000000FFFF0000000000FFFF0000000000FFFF0000000000FFFF000000000007FF000000
-000003FF000000000003FF000000000003FF000000000003FF000000000003FF00000000
-0003FF000000000003FF000000000003FF000000000003FF000000000003FF0000000000
-03FF000000000003FF000000000003FF000000000003FF000000000003FF000000000003
-FF00FFE0000003FF07FFFC000003FF1FFFFF800003FF7FFFFFC00003FFFF81FFF00003FF
-FC003FF80003FFF0001FFC0003FFE0000FFE0003FFC00007FE0003FF800007FF0003FF80
-0003FF8003FF800003FF8003FF800003FFC003FF800001FFC003FF800001FFC003FF8000
-01FFC003FF800001FFE003FF800001FFE003FF800001FFE003FF800001FFE003FF800001
-FFE003FF800001FFE003FF800001FFE003FF800001FFE003FF800001FFE003FF800001FF
-E003FF800001FFC003FF800001FFC003FF800003FFC003FF800003FF8003FF800003FF80
-03FF800003FF0003FF800007FF0003FFC00007FE0003FFE0000FFC0003FFF0001FF80003
-FFFC007FF00003FCFF01FFE00003F87FFFFFC00003F01FFFFF000003E007FFFC00000000
-01FFC0000033407DBE3A>I<00007FF0000007FFFF00001FFFFFC0007FFFFFE000FFF01F
-F001FF800FF803FF001FF807FE003FFC0FFE003FFC1FFC003FFC1FFC003FFC3FF8003FFC
-3FF8003FFC7FF8001FF87FF0000FF07FF00003C0FFF0000000FFF0000000FFF0000000FF
-F0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0000000FFF0
-0000007FF00000007FF80000007FF80000007FF80000003FF800003E3FFC00003E1FFC00
-007E0FFE00007C07FF0000FC07FF8001F803FFC003F000FFF81FE0007FFFFFC0001FFFFF
-800007FFFE0000007FF000272B7DA92E>I<0000000007F80000000007FFF80000000007
-FFF80000000007FFF80000000007FFF80000000007FFF800000000003FF800000000001F
-F800000000001FF800000000001FF800000000001FF800000000001FF800000000001FF8
-00000000001FF800000000001FF800000000001FF800000000001FF800000000001FF800
-000000001FF800000000001FF800000000001FF800000000001FF80000007FF01FF80000
-07FFFE1FF800001FFFFF9FF800007FFFFFDFF80000FFF01FFFF80001FFC003FFF80003FF
-0001FFF80007FE00007FF8000FFC00007FF8001FFC00003FF8001FF800003FF8003FF800
-003FF8003FF800003FF8007FF800003FF8007FF000003FF8007FF000003FF800FFF00000
-3FF800FFF000003FF800FFF000003FF800FFF000003FF800FFF000003FF800FFF000003F
-F800FFF000003FF800FFF000003FF800FFF000003FF800FFF000003FF8007FF000003FF8
-007FF000003FF8007FF000003FF8007FF800003FF8003FF800003FF8003FF800003FF800
-1FFC00007FF8000FFC00007FF8000FFE0000FFF80007FF0003FFFC0003FF8007FFFFE001
-FFF03FFFFFE0007FFFFFBFFFE0003FFFFF3FFFE00007FFFC3FFFE00000FFE03FE0003340
-7DBE3A>I<0000FFF000000007FFFE0000001FFFFF8000007FFFFFC00000FFE07FE00001
-FF801FF00003FF000FF80007FE0007FC000FFC0003FE001FFC0003FE001FF80001FE003F
-F80001FF003FF80001FF007FF00001FF007FF00000FF807FF00000FF80FFF00000FF80FF
-F00000FF80FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF80FFF000000000FF
-F000000000FFF000000000FFF000000000FFF0000000007FF0000000007FF0000000007F
-F8000000003FF8000000003FF800000F801FFC00000F801FFC00001F800FFE00001F0007
-FF00003F0003FF80007E0001FFE001FC0000FFF80FF800003FFFFFF000001FFFFFC00000
-03FFFF000000007FF80000292B7DA930>I<000007FE0000007FFF800001FFFFC00007FF
-FFE0000FFE3FF0001FF03FF0003FE07FF8007FC07FF800FFC07FF800FF807FF800FF807F
-F801FF003FF001FF001FE001FF000FC001FF00000001FF00000001FF00000001FF000000
-01FF00000001FF00000001FF00000001FF00000001FF00000001FF000000FFFFFFE000FF
-FFFFE000FFFFFFE000FFFFFFE000FFFFFFE00001FF80000001FF80000001FF80000001FF
-80000001FF80000001FF80000001FF80000001FF80000001FF80000001FF80000001FF80
-000001FF80000001FF80000001FF80000001FF80000001FF80000001FF80000001FF8000
-0001FF80000001FF80000001FF80000001FF80000001FF80000001FF80000001FF800000
-01FF80000001FF80000001FF80000001FF80000001FF8000007FFFFF80007FFFFF80007F
-FFFF80007FFFFF80007FFFFF800025407DBF20>I<0003FF8007F0003FFFF83FF8007FFF
-FCFFFC01FFFFFFFFFE03FF83FFF9FE07FC007FC3FE0FF8003FE1FE1FF8003FF1FC1FF000
-1FF0F81FF0001FF0003FF0001FF8003FF0001FF8003FF0001FF8003FF0001FF8003FF000
-1FF8003FF0001FF8003FF0001FF8001FF0001FF0001FF0001FF0001FF8003FF0000FF800
-3FE00007FC007FC00003FF83FF800003FFFFFF000007FFFFFC000007BFFFF800000F03FF
-8000000F00000000000F00000000001F80000000001F80000000001FC0000000001FF000
-0000000FFFFFFF00000FFFFFFFF0000FFFFFFFFC0007FFFFFFFF0007FFFFFFFF8003FFFF
-FFFFC001FFFFFFFFE007FFFFFFFFE01FFFFFFFFFF03FE00003FFF07FC000003FF07F8000
-001FF8FF8000000FF8FF00000007F8FF00000007F8FF00000007F8FF00000007F8FF0000
-0007F87F8000000FF07FC000001FF03FC000001FE03FF000007FE01FFC0001FFC007FF80
-0FFF0003FFFFFFFE0000FFFFFFF800003FFFFFE0000001FFFC00002F3D7DA834>I<00FF
-0000000000FFFF0000000000FFFF0000000000FFFF0000000000FFFF0000000000FFFF00
-0000000007FF000000000003FF000000000003FF000000000003FF000000000003FF0000
-00000003FF000000000003FF000000000003FF000000000003FF000000000003FF000000
-000003FF000000000003FF000000000003FF000000000003FF000000000003FF00000000
-0003FF000000000003FF001FF8000003FF00FFFE000003FF03FFFF800003FF07FFFFC000
-03FF0FE0FFE00003FF1F007FE00003FF3C007FF00003FF78007FF00003FFF0003FF80003
-FFE0003FF80003FFE0003FF80003FFC0003FF80003FFC0003FF80003FFC0003FF80003FF
-80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80
-003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF8000
-3FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003F
-F80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF8
-0003FF80003FF800FFFFFE0FFFFFE0FFFFFE0FFFFFE0FFFFFE0FFFFFE0FFFFFE0FFFFFE0
-FFFFFE0FFFFFE0333F7CBE3A>I<01F80003FC0007FE000FFF001FFF801FFF801FFF801F
-FF801FFF801FFF800FFF0007FE0003FC0001F80000000000000000000000000000000000
-000000000000000000000000FF00FFFF00FFFF00FFFF00FFFF00FFFF0007FF0003FF0003
-FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003
-FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003
-FF0003FF0003FF0003FF00FFFFF8FFFFF8FFFFF8FFFFF8FFFFF815407CBF1D>I<00FF00
-00000000FFFF0000000000FFFF0000000000FFFF0000000000FFFF0000000000FFFF0000
-00000007FF000000000003FF000000000003FF000000000003FF000000000003FF000000
-000003FF000000000003FF000000000003FF000000000003FF000000000003FF00000000
-0003FF000000000003FF000000000003FF000000000003FF000000000003FF0000000000
-03FF000000000003FF000000000003FF000FFFFE0003FF000FFFFE0003FF000FFFFE0003
-FF000FFFFE0003FF000FFFFE0003FF0001FE000003FF0003FC000003FF0007F0000003FF
-001FE0000003FF003FC0000003FF007F80000003FF00FF00000003FF03FC00000003FF07
-F800000003FF0FF000000003FF1FF000000003FF7FF800000003FFFFFC00000003FFFFFC
-00000003FFFFFE00000003FFFFFF00000003FFE7FF80000003FFC3FFC0000003FF81FFC0
-000003FF00FFE0000003FF00FFF0000003FF007FF8000003FF003FFC000003FF001FFC00
-0003FF000FFE000003FF000FFF000003FF0007FF800003FF0003FFC00003FF0001FFC000
-03FF0000FFE000FFFFFC07FFFFC0FFFFFC07FFFFC0FFFFFC07FFFFC0FFFFFC07FFFFC0FF
-FFFC07FFFFC0323F7DBE37>107 D<00FF00FFFF00FFFF00FFFF00FFFF00FFFF0007FF00
-03FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00
-03FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00
-03FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00
-03FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF00
-03FF0003FF0003FF00FFFFFCFFFFFCFFFFFCFFFFFCFFFFFC163F7CBE1D>I<00FF001FF8
-0000FFC00000FFFF00FFFF0007FFF80000FFFF03FFFFC01FFFFE0000FFFF07FFFFE03FFF
-FF0000FFFF0FE0FFF07F07FF8000FFFF1F003FF0F801FF800007FF3E003FF9F001FFC000
-03FF78003FFBC001FFC00003FFF0001FFF8000FFE00003FFF0001FFF8000FFE00003FFE0
-001FFF0000FFE00003FFC0001FFE0000FFE00003FFC0001FFE0000FFE00003FFC0001FFE
-0000FFE00003FF80001FFC0000FFE00003FF80001FFC0000FFE00003FF80001FFC0000FF
-E00003FF80001FFC0000FFE00003FF80001FFC0000FFE00003FF80001FFC0000FFE00003
-FF80001FFC0000FFE00003FF80001FFC0000FFE00003FF80001FFC0000FFE00003FF8000
-1FFC0000FFE00003FF80001FFC0000FFE00003FF80001FFC0000FFE00003FF80001FFC00
-00FFE00003FF80001FFC0000FFE00003FF80001FFC0000FFE00003FF80001FFC0000FFE0
-0003FF80001FFC0000FFE00003FF80001FFC0000FFE00003FF80001FFC0000FFE00003FF
-80001FFC0000FFE00003FF80001FFC0000FFE00003FF80001FFC0000FFE000FFFFFE07FF
-FFF03FFFFF80FFFFFE07FFFFF03FFFFF80FFFFFE07FFFFF03FFFFF80FFFFFE07FFFFF03F
-FFFF80FFFFFE07FFFFF03FFFFF8051297CA858>I<00FF001FF80000FFFF00FFFE0000FF
-FF03FFFF8000FFFF07FFFFC000FFFF0FE0FFE000FFFF1F007FE00007FF3C007FF00003FF
-78007FF00003FFF0003FF80003FFE0003FF80003FFE0003FF80003FFC0003FF80003FFC0
-003FF80003FFC0003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF8000
-3FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003F
-F80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF8
-0003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF800
-03FF80003FF80003FF80003FF80003FF80003FF800FFFFFE0FFFFFE0FFFFFE0FFFFFE0FF
-FFFE0FFFFFE0FFFFFE0FFFFFE0FFFFFE0FFFFFE033297CA83A>I<00007FF000000003FF
-FE0000001FFFFFC000007FFFFFF00000FFE03FF80001FF800FFC0003FE0003FE0007FC00
-01FF000FFC0001FF801FF80000FFC01FF80000FFC03FF80000FFE03FF000007FE07FF000
-007FF07FF000007FF07FF000007FF07FF000007FF0FFF000007FF8FFF000007FF8FFF000
-007FF8FFF000007FF8FFF000007FF8FFF000007FF8FFF000007FF8FFF000007FF8FFF000
-007FF8FFF000007FF87FF000007FF07FF000007FF07FF000007FF07FF000007FF03FF800
-00FFE03FF80000FFE01FF80000FFC00FFC0001FF800FFC0001FF8007FE0003FF0003FF80
-0FFE0001FFE03FFC00007FFFFFF000001FFFFFC0000007FFFF000000007FF000002D2B7D
-A934>I<00FF00FFE00000FFFF07FFFC0000FFFF1FFFFF8000FFFF7FFFFFC000FFFFFF81
-FFF000FFFFFC007FF80003FFF0003FFC0003FFE0001FFE0003FFC0000FFE0003FF800007
-FF0003FF800007FF8003FF800007FF8003FF800003FFC003FF800003FFC003FF800003FF
-C003FF800001FFC003FF800001FFE003FF800001FFE003FF800001FFE003FF800001FFE0
-03FF800001FFE003FF800001FFE003FF800001FFE003FF800001FFE003FF800001FFE003
-FF800001FFE003FF800003FFC003FF800003FFC003FF800003FFC003FF800003FF8003FF
-800007FF8003FF800007FF0003FF80000FFF0003FFC0000FFE0003FFE0001FFC0003FFF0
-003FF80003FFFC00FFF00003FFFF03FFE00003FFFFFFFFC00003FF9FFFFF000003FF87FF
-FC000003FF81FFC0000003FF800000000003FF800000000003FF800000000003FF800000
-000003FF800000000003FF800000000003FF800000000003FF800000000003FF80000000
-0003FF800000000003FF800000000003FF8000000000FFFFFE00000000FFFFFE00000000
-FFFFFE00000000FFFFFE00000000FFFFFE00000000333B7DA83A>I<01FE01FE00FFFE07
-FF80FFFE0FFFE0FFFE1FFFF0FFFE3F1FF0FFFE7C3FF807FEF83FF803FEF03FF803FFE03F
-F803FFE03FF803FFC01FF003FFC00FE003FF8007C003FF80000003FF80000003FF800000
-03FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003
-FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF
-00000003FF00000003FF00000003FF00000003FF00000003FF000000FFFFFF0000FFFFFF
-0000FFFFFF0000FFFFFF0000FFFFFF000025297DA82B>114 D<003FFC1E0001FFFFBE00
-07FFFFFE000FFFFFFE001FF00FFE003F8001FE007F0000FE007E00007E007E00007E00FE
-00003E00FE00003E00FF00003E00FF80003E00FFC0000000FFF8000000FFFFE000007FFF
-FF00007FFFFFC0003FFFFFF0001FFFFFF8000FFFFFFC0007FFFFFE0003FFFFFF0000FFFF
-FF80001FFFFF800000FFFF80000007FFC0000000FFC07800007FC0F800003FC0F800001F
-C0FC00001FC0FC00001FC0FE00001FC0FE00001F80FF00003F80FF80003F00FFE000FF00
-FFF803FE00FFFFFFFC00FFFFFFF000F87FFFC000E00FFE0000222B7DA929>I<0007C000
-0007C0000007C0000007C0000007C000000FC000000FC000000FC000000FC000001FC000
-001FC000001FC000003FC000007FC000007FC00000FFC00001FFC00007FFC0001FFFFFFE
-FFFFFFFEFFFFFFFEFFFFFFFEFFFFFFFE01FFC00001FFC00001FFC00001FFC00001FFC000
-01FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC00001FFC000
-01FFC00001FFC00001FFC00001FFC00001FFC00001FFC01F01FFC01F01FFC01F01FFC01F
-01FFC01F01FFC01F01FFC01F01FFC01F01FFC01F00FFE03E00FFE03E007FE07E007FF8FC
-003FFFF8001FFFF00007FFE00000FF80203B7EB929>I<00FF80000FF800FFFF800FFFF8
-00FFFF800FFFF800FFFF800FFFF800FFFF800FFFF800FFFF800FFFF80007FF80007FF800
-03FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003
-FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF
-80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80
-003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF80003FF8000
-3FF80003FF80003FF80003FF80003FF80003FF80007FF80003FF80007FF80003FF80007F
-F80003FF8000FFF80001FF8001FFF80001FF8003FFFC0000FFC007DFFFE000FFF01F9FFF
-E0007FFFFF1FFFE0003FFFFE1FFFE0000FFFF81FFFE00001FFE01FE000332A7CA83A>I<
-FFFFFC003FFFC0FFFFFC003FFFC0FFFFFC003FFFC0FFFFFC003FFFC0FFFFFC003FFFC001
-FFC00003E00001FFE00007E00001FFE00007E00000FFE00007C00000FFF0000FC000007F
-F0000F8000007FF8001F8000003FF8001F0000003FFC003F0000001FFC003E0000001FFE
-007E0000000FFE007C0000000FFF00FC0000000FFF00FC00000007FF00F800000007FF81
-F800000003FF81F000000003FFC3F000000001FFC3E000000001FFE7E000000000FFE7C0
-00000000FFFFC0000000007FFF80000000007FFF80000000007FFF80000000003FFF0000
-0000003FFF00000000001FFE00000000001FFE00000000000FFC00000000000FFC000000
-000007F8000000000007F8000000000003F0000000000003F000000032287EA737>I<FF
-FFFC3FFFFC03FFFEFFFFFC3FFFFC03FFFEFFFFFC3FFFFC03FFFEFFFFFC3FFFFC03FFFEFF
-FFFC3FFFFC03FFFE03FF8000FFC0000F8003FFC000FFC0001F8001FFC0007FC0001F0001
-FFE000FFE0003F0000FFE000FFE0003E0000FFE000FFF0003E0000FFF001FFF0007E0000
-7FF001FFF0007C00007FF803FFF800FC00003FF803EFF800F800003FF803EFFC00F80000
-3FFC07EFFC01F800001FFC07C7FC01F000001FFE0FC7FE03F000000FFE0F83FE03E00000
-0FFE0F83FF03E000000FFF1F83FF07E0000007FF1F01FF07C0000007FFBF01FF8FC00000
-03FFBE00FF8F80000003FFBE00FFCF80000003FFFE00FFDF80000001FFFC007FDF000000
-01FFFC007FFF00000000FFF8003FFE00000000FFF8003FFE00000000FFF8003FFE000000
-007FF0001FFC000000007FF0001FFC000000003FE0000FF8000000003FE0000FF8000000
-003FE0000FF8000000001FC00007F0000000001FC00007F0000000000F800003E0000047
-287EA74C>I<FFFFFC03FFFF80FFFFFC03FFFF80FFFFFC03FFFF80FFFFFC03FFFF80FFFF
-FC03FFFF8000FFE0007F000000FFF000FE0000007FF800FC0000003FFC01F80000001FFE
-03F00000000FFE07F000000007FF0FE000000007FF9FC000000003FFFF8000000001FFFF
-0000000000FFFE00000000007FFC00000000007FFC00000000003FFC00000000001FFE00
-000000000FFE00000000000FFF00000000001FFF80000000003FFFC0000000007FFFE000
-000000FEFFF000000001FC7FF000000003F83FF800000003F03FFC00000007E01FFE0000
-000FC00FFF0000001FC007FF0000003F8003FF8000007F0003FFC00000FE0001FFE000FF
-FFC007FFFFC0FFFFC007FFFFC0FFFFC007FFFFC0FFFFC007FFFFC0FFFFC007FFFFC03228
-7EA737>I<FFFFFC003FFFC0FFFFFC003FFFC0FFFFFC003FFFC0FFFFFC003FFFC0FFFFFC
-003FFFC001FFC00003E00001FFE00007E00001FFE00007E00000FFE00007C00000FFF000
-0FC000007FF0000F8000007FF8001F8000003FF8001F0000003FFC003F0000001FFC003E
-0000001FFE007E0000000FFE007C0000000FFF00FC0000000FFF00FC00000007FF00F800
-000007FF81F800000003FF81F000000003FFC3F000000001FFC3E000000001FFE7E00000
-0000FFE7C000000000FFFFC0000000007FFF80000000007FFF80000000007FFF80000000
-003FFF00000000003FFF00000000001FFE00000000001FFE00000000000FFC0000000000
-0FFC000000000007F8000000000007F8000000000003F0000000000003F0000000000003
-F0000000000003E0000000000007E0000000000007C00000000E000FC00000003F800F80
-0000007FC01F80000000FFE01F00000000FFE03F00000000FFE03E00000000FFE07E0000
-0000FFE0FC00000000FFC1F8000000007FC3F0000000007E0FE0000000003FFFC0000000
-001FFF80000000000FFE000000000003F80000000000323B7EA737>I
-E /Fn 88 127 df<1C007F00FF80FF80FF80FF80FF80FF80FF80FF80FF80FF80FF80FF80
-FF80FF80FF80FF80FF80FF80FF807F007F007F007F007F007F007F007F007F007F007F00
-7F007F007F007F007F007F007F003E00000000000000000000000000000000001C007F00
-7F00FF80FF80FF807F007F001C0009396DB830>33 D<100004007C001F00FE003F80FE00
-3F80FF007F80FF007F80FE003F80FE003F80FE003F80FE003F80FE003F80FE003F80FE00
-3F80FE003F80FE003F80FE003F80FE003F80FE003F80FE003F80FE003F80FE003F80FE00
-3F80FE003F80FE003F807E003F007C001F003C001E0010000400191C75B830>I<0007C0
-07C0000007C007C000000FE00FE000000FE00FE000000FE00FE000000FE00FE000000FE0
-0FE000000FE00FE000000FE00FE000000FE00FE000001FE01FE000001FE01FE000001FC0
-1FC000001FC01FC000001FC01FC0007FFFFFFFFF007FFFFFFFFF00FFFFFFFFFF80FFFFFF
-FFFF80FFFFFFFFFF807FFFFFFFFF003FFFFFFFFE00007F807F8000007F807F8000007F00
-7F0000007F007F0000007F007F0000007F007F0000007F007F0000007F007F0000007F00
-7F0000007F007F0000007F007F000000FF00FF000000FF00FF00003FFFFFFFFE007FFFFF
-FFFF00FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF807FFFFFFFFF007FFFFFFFFF0001FC01
-FC000001FC01FC000001FC01FC000003FC03FC000003FC03FC000003F803F8000003F803
-F8000003F803F8000003F803F8000003F803F8000003F803F8000003F803F8000001F001
-F0000001F001F0000029387DB730>I<000038000000007C00000000FC00000000FC0000
-0000FC00000000FC00000003FF0000001FFFE00000FFFFFC0001FFFFFE0007FFFFFF000F
-FFFFFF801FFEFDFFC01FF0FC3FE03FC0FC1FE07F80FC0FF07F00FC07F07E00FC07F8FE00
-FC03F8FC00FC03F8FC00FC07F8FC00FC07F8FC00FC07F8FE00FC03F0FE00FC03F07F00FC
-00007F80FC00007FC0FC00003FF0FC00001FFEFC00001FFFFC00000FFFFF000007FFFFE0
-0001FFFFF800007FFFFC00001FFFFE000003FFFF000000FFFF800000FDFFC00000FC7FE0
-0000FC1FE00000FC0FF00000FC07F01800FC03F87E00FC03F87E00FC01F8FF00FC01F8FF
-00FC01F8FF00FC01F8FE00FC01F8FE00FC01F8FF00FC03F07F00FC03F07F80FC07F07F80
-FC0FE03FC0FC1FE03FF0FC7FC01FFEFFFF800FFFFFFF0007FFFFFE0003FFFFFC0000FFFF
-F000003FFFC0000007FE00000000FC00000000FC00000000FC00000000FC00000000FC00
-0000007C0000000038000025477BBE30>I<03C00001E0000FF00003E0001FF80007F000
-3FFC0007F0003FFC000FF0007FFE000FF0007E7E001FE000FE7F001FE000FE7F001FC000
-FC3F003FC000FC3F003FC000FC3F003F8000FC3F007F8000FC3F007F8000FC3F00FF0000
-FE7F00FF0000FE7F00FE00007E7E01FE00007FFE01FE00003FFC01FC00003FFC03FC0000
-1FF803FC00000FF007F8000003C007F80000000007F0000000000FF0000000000FF00000
-00000FE0000000001FE0000000001FE0000000003FC0000000003FC0000000003F800000
-00007F80000000007F80000000007F0000000000FF0000000000FF0000000001FE000000
-0001FE0000000001FC0000000003FC0000000003FC0000000003F80000000007F8000000
-0007F8000000000FF001E000000FF007F800000FE00FFC00001FE01FFE00001FE01FFE00
-001FC03FFF00003FC03FFF00003FC03F3F00007F807F3F80007F807E1F80007F007E1F80
-00FF007E1F8000FF007E1F8000FE007E1F8001FE007E1F8001FE007E1F8003FC007F3F80
-03FC003F3F0003F8003FFF0007F8003FFF0007F8001FFE0007F0001FFE0007F0000FFC00
-03E00007F80001E00001E00029477DBE30>I<0007E0000000001FF8000000003FFC0000
-00007FFC00000000FFFE00000000FFFF00000001FC7F00000001F83F00000001F83F8000
-0003F81F80000003F01F80000003F01F80000003F01F80000003F01F80000003F01F8000
-0003F01F80000003F03F80000003F03F00000003F07F0FFF0003F87E1FFF8001F8FE1FFF
-8001F9FC1FFF8001FBFC1FFF8001FBF80FFF0001FFF00FC00000FFE00FC00000FFE01FC0
-0000FFC01F8000007F801F800000FF003F800001FF003F000003FF007F000007FF807E00
-000FFF807E00000FFF80FE00001FDFC0FC00003F8FE0FC00003F8FE1FC00007F07F1F800
-007F03F3F80000FE03FBF00000FE01FFF00000FE01FFE00000FE00FFE00000FE00FFC006
-00FE007FC00F00FE003F801F80FE003FC01F80FF007FC01F807F00FFE01F807F01FFF83F
-807F87FFFC3F003FFFFBFFFF001FFFF1FFFE001FFFE0FFFE000FFFC03FFC0003FF001FF8
-0001FC0007E000293A7DB830>I<07C00FF01FF81FF81FFC1FFC1FFE0FFE07FE007E007E
-007E007E007E00FE00FC00FC01FC01F803F807F00FF01FE07FE0FFC0FF80FF007C003800
-0F1D70B730>I<00001E00007F0000FF0001FF0003FE0007FC000FF0001FE0003FC0007F
-8000FF0001FE0001FC0003FC0003F80007F0000FF0000FE0000FE0001FC0001FC0003FC0
-003F80003F80007F80007F00007F00007F00007F0000FE0000FE0000FE0000FE0000FE00
-00FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE00007F00007F00007F00007F00
-007F80003F80003F80003FC0001FC0001FC0000FE0000FE0000FF00007F00003F80003FC
-0001FC0001FE0000FF00007F80003FC0001FE0000FF00007FC0003FE0001FF0000FF0000
-7F00001E184771BE30>I<780000FE0000FF0000FF80007FC0003FE0000FF00007F80003
-FC0001FE0000FF00007F80003F80003FC0001FC0000FE0000FF00007F00007F00003F800
-03F80003FC0001FC0001FC0001FE0000FE0000FE0000FE0000FE00007F00007F00007F00
-007F00007F00007F00007F00007F00007F00007F00007F00007F00007F0000FE0000FE00
-00FE0000FE0001FE0001FC0001FC0003FC0003F80003F80007F00007F0000FF0000FE000
-1FC0003FC0003F80007F8000FF0001FE0003FC0007F8000FF0003FE0007FC000FF8000FF
-0000FE0000780000184778BE30>I<0000E000000001F000000003F800000003F8000000
-03F800000003F800000003F800000003F800003803F803807E03F80FC0FF83F83FE0FFC3
-F87FE0FFF3F9FFE07FFBFBFFC03FFFFFFF800FFFFFFE0003FFFFF80001FFFFF000007FFF
-C000001FFF0000007FFFC00001FFFFF00003FFFFF8000FFFFFFE003FFFFFFF807FFBFBFF
-C0FFF3F9FFE0FFC3F87FE0FF83F83FE07E03F80FC03803F803800003F800000003F80000
-0003F800000003F800000003F800000003F800000001F000000000E0000023277AAE30>
-I<00003E00000000003E00000000007F00000000007F00000000007F00000000007F0000
-0000007F00000000007F00000000007F00000000007F00000000007F00000000007F0000
-0000007F00000000007F00000000007F00000000007F00000000007F0000007FFFFFFFFF
-007FFFFFFFFF00FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF807FFFFFFFFF007FFFFFFFFF
-0000007F00000000007F00000000007F00000000007F00000000007F00000000007F0000
-0000007F00000000007F00000000007F00000000007F00000000007F00000000007F0000
-0000007F00000000007F00000000007F00000000003E00000000003E00000029297DAF30
->I<03E00FF01FF81FFC3FFE3FFE3FFF3FFF1FFF1FFF0FFF03FF007F007F007E00FE01FC
-03FC07F83FF07FF0FFE07F807F003C001019708B30>I<7FFFFFFFF07FFFFFFFF0FFFFFF
-FFF8FFFFFFFFF8FFFFFFFFF87FFFFFFFF07FFFFFFFF025077B9E30>I<0F003FC07FE07F
-E0FFF0FFF0FFF0FFF07FE07FE03FC00F000C0C6E8B30>I<00000000F000000001F00000
-0003F800000003F800000007F800000007F80000000FF00000000FF00000001FE0000000
-1FE00000003FC00000003FC00000007F800000007F80000000FF00000000FF00000001FE
-00000001FE00000001FC00000003FC00000003FC00000007F800000007F80000000FF000
-00000FF00000001FE00000001FE00000003FC00000003FC00000007F800000007F800000
-00FF00000000FF00000001FE00000001FE00000001FC00000003FC00000003FC00000007
-F800000007F80000000FF00000000FF00000001FE00000001FE00000003FC00000003FC0
-0000007F800000007F80000000FF00000000FF00000001FE00000001FE00000001FC0000
-0003FC00000003FC00000007F800000007F80000000FF00000000FF00000001FE0000000
-1FE00000003FC00000003FC00000007F800000007F80000000FF00000000FF00000000FE
-00000000FE000000007C000000007C0000000025477BBE30>I<0000FE00000007FFC000
-000FFFE000003FFFF800007FFFFC0000FFFFFE0001FF83FF0003FE00FF8003FC007F8007
-F8003FC00FF0001FE00FE0000FE01FE0000FF01FC00007F01FC00007F03F800003F83F80
-0003F83F000001F87F000001FC7F000001FC7F000001FC7F000001FCFE000000FEFE0000
-00FEFE000000FEFE000000FEFE000000FEFE000000FEFE000000FEFE000000FEFE000000
-FEFE000000FEFE000000FEFE000000FEFE000000FEFF000001FE7F000001FC7F000001FC
-7F000001FC7F800003FC3F800003F83F800003F83FC00007F81FC00007F01FC00007F01F
-E0000FF00FF0001FE00FF0001FE007F8003FC003FC007F8003FE00FF8001FF83FF0000FF
-FFFE00007FFFFC00003FFFF800000FFFE0000007FFC0000000FE0000273A7CB830>I<00
-03C0000007E0000007E000000FE000000FE000001FE000001FE000003FE000007FE00000
-FFE00003FFE0003FFFE000FFFFE000FFFFE000FFEFE000FF8FE0007E0FE000000FE00000
-0FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE00000
-0FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE00000
-0FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE00000
-0FE000000FE000000FE000000FE000000FE000000FE0003FFFFFF87FFFFFFCFFFFFFFEFF
-FFFFFE7FFFFFFC3FFFFFF81F3977B830>I<0007FC0000003FFFC00000FFFFF00003FFFF
-F80007FFFFFE000FFFFFFF001FF80FFF803FE001FFC03FC0007FC07F80003FE07F00001F
-E07F00000FF0FF000007F0FE000007F0FF000007F8FF000003F8FF000003F8FF000003F8
-7E000003F818000003F800000003F800000003F800000007F800000007F00000000FF000
-00000FE00000001FE00000001FC00000003FC00000007F80000000FF80000001FF000000
-01FE00000007FC0000000FF80000001FF00000003FE00000007FC0000000FF80000001FF
-00000003FE00000007FC0000000FF00000003FE00000007FC0000000FF80000001FF0000
-0003FE0001F007FC0003F80FF80003F81FE00003F83FFFFFFFF8FFFFFFFFF8FFFFFFFFF8
-FFFFFFFFF87FFFFFFFF83FFFFFFFF025397BB830>I<0003FF0000003FFFE00000FFFFF8
-0001FFFFFE0003FFFFFF0007FFFFFF800FFE01FFC00FF0007FC01FE0001FE01FE0000FE0
-1FE0000FF01FE00007F01FE00007F00FC00007F007800007F000000007F00000000FF000
-00000FE00000000FE00000001FE00000003FC00000007FC0000000FF80000007FF000007
-FFFE00000FFFFC00000FFFF800000FFFFC00000FFFFF000007FFFF80000001FFC0000000
-3FE00000001FF000000007F800000003F800000003FC00000001FC00000001FE00000000
-FE00000000FE18000000FE7E000000FEFF000000FEFF000000FEFF000001FEFF000001FC
-FE000003FCFF000003F87F800007F87FC0001FF03FF0003FF01FFE01FFE00FFFFFFFC007
-FFFFFF8003FFFFFE0000FFFFFC00003FFFF0000003FF8000273A7CB830>I<000003FC00
-00000007FE000000000FFE000000001FFE000000001FFE000000003FFE000000007FFE00
-0000007F7E00000000FE7E00000000FE7E00000001FC7E00000003F87E00000003F87E00
-000007F07E00000007F07E0000000FE07E0000001FC07E0000001FC07E0000003F807E00
-00003F807E0000007F007E000000FE007E000000FE007E000001FC007E000003F8007E00
-0003F8007E000007F0007E000007F0007E00000FE0007E00001FC0007E00001FC0007E00
-003F80007E00003F80007E00007F00007E0000FE00007E0000FFFFFFFFFF00FFFFFFFFFF
-80FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF807FFFFFFFFF000000007E00000000007E00
-000000007E00000000007E00000000007E00000000007E00000000007E00000000007E00
-000000007E00000000007E000000007FFFFE000000FFFFFF000000FFFFFF000000FFFFFF
-000000FFFFFF0000007FFFFE0029397DB830>I<0FFFFFFF801FFFFFFFC03FFFFFFFC03F
-FFFFFFC03FFFFFFFC03FFFFFFF803F800000003F800000003F800000003F800000003F80
-0000003F800000003F800000003F800000003F800000003F800000003F800000003F8000
-00003F800000003F800000003F83FF00003F9FFFC0003FFFFFF0003FFFFFFC003FFFFFFE
-003FFFFFFF003FFE03FF803FF0007FC03FE0003FC03F80001FE01F00000FE00E00000FF0
-00000007F000000007F000000007F800000003F800000003F800000003F818000003F87E
-000003F87E000003F8FF000003F8FF000007F8FF000007F0FE00000FF0FF00000FE07F00
-001FE07F80003FC07FC0007FC03FE001FF801FFC0FFF000FFFFFFE0007FFFFFC0003FFFF
-F80001FFFFE000007FFF8000000FFC000025397BB730>I<7C00000000FFFFFFFFFCFFFF
-FFFFFEFFFFFFFFFEFFFFFFFFFEFFFFFFFFFEFFFFFFFFFCFE00000FF8FE00000FF0FE0000
-1FE07C00003FC00000007F80000000FF00000000FF00000001FE00000003FC00000003F8
-00000007F800000007F00000000FF00000000FE00000001FC00000001FC00000003F8000
-00003F800000007F000000007F00000000FF00000000FE00000001FE00000001FC000000
-01FC00000003FC00000003F800000003F800000007F800000007F000000007F000000007
-F000000007F00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0
-0000001FE00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC000
-00001FC00000001FC00000001FC00000000F8000000007000000273A7CB830>55
-D<0F003FC07FE07FE0FFF0FFF0FFF0FFF07FE07FE03FC00F000000000000000000000000
-000000000000000000000000000000000000000F003FC07FE07FE0FFF0FFF0FFF0FFF07F
-E07FE03FC00F000C276EA630>58 D<03C00FF01FF81FF83FFC3FFC3FFC3FFC1FF81FF80F
-F003C000000000000000000000000000000000000000000000000000000000000003C00F
-F01FF01FF83FF83FFC3FFC3FFC1FFC1FFC0FFC03FC00FC01FC01F803F803F007F01FE03F
-E07FC0FF807F007E0038000E3470A630>I<00000000F000000003F000000007F8000000
-1FF80000007FF8000000FFF0000003FFF0000007FFC000001FFF8000003FFE000000FFF8
-000001FFF0000007FFC000000FFF8000003FFE0000007FFC000001FFF0000003FFE00000
-0FFF8000001FFF0000007FFC0000007FF8000000FFE0000000FFC0000000FFE00000007F
-F80000007FFC0000001FFF0000000FFF80000003FFE0000001FFF00000007FFC0000003F
-FE0000000FFF80000007FFC0000001FFF0000000FFF80000003FFE0000001FFF80000007
-FFC0000003FFF0000000FFF00000007FF80000001FF800000007F800000003F000000000
-F0252F7BB230>I<7FFFFFFFFF007FFFFFFFFF00FFFFFFFFFF80FFFFFFFFFF80FFFFFFFF
-FF807FFFFFFFFF003FFFFFFFFE0000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000003FFFFFFFFE007FFFFFFFFF00FFFFFFFF
-FF80FFFFFFFFFF80FFFFFFFFFF807FFFFFFFFF007FFFFFFFFF0029157DA530>I<780000
-00007E00000000FF00000000FFC0000000FFE00000007FF80000007FFE0000001FFF0000
-000FFFC0000003FFE0000001FFF80000007FFC0000001FFF0000000FFF80000003FFE000
-0001FFF00000007FFC0000003FFE0000000FFF80000007FFC0000001FFF0000000FFF000
-00003FF80000001FF80000003FF8000000FFF0000001FFF0000007FFC000000FFF800000
-3FFE0000007FFC000001FFF0000003FFE000000FFF8000001FFF0000007FFC000001FFF8
-000003FFE000000FFFC000001FFF0000007FFE0000007FF8000000FFE0000000FFC00000
-00FF000000007E000000007800000000252F7BB230>I<001FFE000000FFFFE00003FFFF
-F8000FFFFFFE001FFFFFFF003FFFFFFF807FF803FFC07FC0007FC0FF00001FC0FF00001F
-E0FF00000FE0FF00000FE0FF00000FE07E00000FE07E00001FE01800007FC0000000FFC0
-000003FF80000007FF0000000FFE0000001FF80000003FF00000007FC0000000FF800000
-00FF00000001FE00000001FE00000003FC00000003F800000003F800000007F800000007
-F000000007F000000007F000000007F000000007F000000007F000000007F000000007F0
-00000003E000000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000001C000000007F000000007F00000000FF80000000FF80000
-000FF800000007F000000007F000000001C0000023397AB830>I<00001FE0000000FFF8
-000003FFFE00000FFFFF00001FFFFF80003FFFFFC0007FF03FE000FF800FE001FF0007F0
-03FC0003F007F801FBF807F007FFF80FE01FFFF80FE03FFFFC1FC03FFFFC1F807FFFFC3F
-80FF0FFC3F00FE07FC3F01FC03FE7F01F801FE7E03F801FE7E03F000FE7E03F000FEFE07
-F000FEFC07E0007EFC07E0007EFC07E0007EFC07E0007EFC07E0007EFC07E0007EFC07E0
-007EFC07E0007EFC07E0007EFC07E0007EFE07F000FE7E03F000FC7E03F000FC7E03F801
-FC7F01F801F83F01FC03F83F00FE07F03F80FF0FF01F807FFFE01FC03FFFC00FE03FFFC0
-0FE01FFF8007F007FE0007F801F80003FC00007C01FF0000FE00FF8003FE007FF01FFE00
-3FFFFFFC001FFFFFF8000FFFFFE00003FFFFC00000FFFE0000001FF000273A7CB830>I<
-00007F0000000000FF8000000000FF8000000001FFC000000001FFC000000001FFC00000
-0001FFC000000003FFE000000003F7E000000003F7E000000003F7E000000003F7E00000
-0007F7F000000007E3F000000007E3F000000007E3F00000000FE3F80000000FE3F80000
-000FE3F80000000FC1F80000000FC1F80000001FC1FC0000001FC1FC0000001FC1FC0000
-001FC1FC0000003F80FE0000003F80FE0000003F80FE0000003F80FE0000003F80FE0000
-007F007F0000007F007F0000007F007F0000007F007F000000FF007F800000FE003F8000
-00FFFFFF800000FFFFFF800000FFFFFF800001FFFFFFC00001FFFFFFC00001FFFFFFC000
-01FC001FC00003FC001FE00003F8000FE00003F8000FE00003F8000FE00003F8000FE000
-07F8000FF00007F00007F00007F00007F0007FFF007FFF00FFFF80FFFF80FFFF80FFFF80
-FFFF80FFFF80FFFF80FFFF807FFF007FFF0029397DB830>I<7FFFFFF00000FFFFFFFE00
-00FFFFFFFF8000FFFFFFFFC000FFFFFFFFE0007FFFFFFFF00003F8001FF80003F80007F8
-0003F80003FC0003F80001FC0003F80001FC0003F80000FE0003F80000FE0003F80000FE
-0003F80000FE0003F80000FE0003F80000FE0003F80001FE0003F80001FC0003F80001FC
-0003F80003F80003F80007F80003F8001FF00003F8007FE00003FFFFFFC00003FFFFFF80
-0003FFFFFE000003FFFFFF800003FFFFFFE00003FFFFFFF00003F8000FF80003F80003FC
-0003F80001FE0003F80000FE0003F800007F0003F800007F0003F800007F0003F800003F
-8003F800003F8003F800003F8003F800003F8003F800003F8003F800003F8003F800007F
-8003F800007F0003F800007F0003F80000FF0003F80001FE0003F80003FE0003F8001FFC
-007FFFFFFFFC00FFFFFFFFF800FFFFFFFFF000FFFFFFFFC000FFFFFFFF80007FFFFFFC00
-0029387EB730>I<00007F803C0003FFF03E0007FFFC7E001FFFFE7E003FFFFFFE007FFF
-FFFE00FFE07FFE01FF801FFE03FE000FFE07FC0007FE07F80007FE0FF00003FE0FF00003
-FE1FE00001FE1FC00001FE3FC00001FE3F800000FE3F800000FE7F800000FE7F000000FE
-7F0000007C7F00000000FF00000000FE00000000FE00000000FE00000000FE00000000FE
-00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00
-000000FF000000007F000000007F000000007F0000007C7F800000FE3F800000FE3F8000
-00FE3FC00000FE1FC00000FE1FE00001FE0FF00001FC0FF00001FC07F80003F807FC0007
-F803FE000FF001FF801FF000FFE07FE0007FFFFFC0003FFFFF80001FFFFF000007FFFC00
-0003FFF00000007FC000273A7CB830>I<3FFFFFE000007FFFFFFC0000FFFFFFFE0000FF
-FFFFFF80007FFFFFFFC0003FFFFFFFE00003F8007FF00003F8001FF80003F8000FF80003
-F80007FC0003F80003FE0003F80001FE0003F80000FF0003F80000FF0003F800007F8003
-F800007F8003F800003F8003F800003FC003F800001FC003F800001FC003F800001FC003
-F800001FC003F800000FE003F800000FE003F800000FE003F800000FE003F800000FE003
-F800000FE003F800000FE003F800000FE003F800000FE003F800000FE003F800000FE003
-F800000FE003F800001FE003F800001FC003F800001FC003F800001FC003F800003FC003
-F800003F8003F800003F8003F800007F8003F800007F0003F80000FF0003F80001FE0003
-F80003FE0003F80007FC0003F8000FFC0003F8001FF80003F8007FF0003FFFFFFFE0007F
-FFFFFFC000FFFFFFFF8000FFFFFFFF00007FFFFFFC00003FFFFFE000002B387FB730>I<
-7FFFFFFFFF00FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF80FFFFFFFFFF807FFFFFFFFF80
-03F800003F8003F800003F8003F800003F8003F800003F8003F800003F8003F800003F80
-03F800003F8003F800003F8003F800001F0003F80000000003F80000000003F800000000
-03F80000000003F8007C000003F800FE000003F800FE000003F800FE000003F800FE0000
-03FFFFFE000003FFFFFE000003FFFFFE000003FFFFFE000003FFFFFE000003FFFFFE0000
-03F800FE000003F800FE000003F800FE000003F800FE000003F8007C000003F800000000
-03F80000000003F80000000003F80000000003F80000000003F8000007C003F800000FE0
-03F800000FE003F800000FE003F800000FE003F800000FE003F800000FE003F800000FE0
-03F800000FE003F800000FE07FFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0
-FFFFFFFFFFE07FFFFFFFFFC02B387EB730>I<3FFFFFFFFF807FFFFFFFFFC0FFFFFFFFFF
-C0FFFFFFFFFFC07FFFFFFFFFC03FFFFFFFFFC001FC00001FC001FC00001FC001FC00001F
-C001FC00001FC001FC00001FC001FC00001FC001FC00001FC001FC00001FC001FC00000F
-8001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC003E00
-0001FC007F000001FC007F000001FC007F000001FC007F000001FFFFFF000001FFFFFF00
-0001FFFFFF000001FFFFFF000001FFFFFF000001FFFFFF000001FC007F000001FC007F00
-0001FC007F000001FC007F000001FC003E000001FC0000000001FC0000000001FC000000
-0001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC000000
-0001FC0000000001FC0000000001FC0000000001FC0000000001FC000000003FFFF80000
-007FFFFC000000FFFFFC000000FFFFFC0000007FFFFC0000003FFFF80000002A387EB730
->I<0000FF00F0000003FFC0F800000FFFF1F800003FFFFDF800007FFFFFF80000FFFFFF
-F80001FFC1FFF80001FF007FF80003FE003FF80007FC001FF80007F8000FF8000FF0000F
-F8000FE00007F8001FE00007F8001FC00007F8003FC00007F8003F800003F8003F800003
-F8007F800003F8007F000003F8007F000001F0007F0000000000FF0000000000FE000000
-0000FE0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE000000
-0000FE0000000000FE0000FFFF00FE0001FFFF80FE0003FFFF80FE0003FFFF80FF0001FF
-FF807F0000FFFF007F000003F8007F000003F8007F800003F8003F800007F8003F800007
-F8003FC00007F8001FC00007F8001FE0000FF8000FE0000FF8000FF0000FF80007F8001F
-F80007F8001FF80003FE003FF80001FF007FF80001FFC1FFF80000FFFFFFF800007FFFFF
-F800003FFFFBF800000FFFF3F8000003FFC1F0000000FF000000293A7DB830>I<3FFF80
-0FFFE07FFFC01FFFF0FFFFE03FFFF8FFFFE03FFFF87FFFC01FFFF03FFF800FFFE003F800
-00FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE0003F800
-00FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE0003F800
-00FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE0003FFFF
-FFFE0003FFFFFFFE0003FFFFFFFE0003FFFFFFFE0003FFFFFFFE0003FFFFFFFE0003F800
-00FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE0003F800
-00FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE0003F800
-00FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE0003F80000FE0003F800
-00FE0003F80000FE003FFF800FFFE07FFFC01FFFF0FFFFE03FFFF8FFFFE03FFFF87FFFC0
-1FFFF03FFF800FFFE02D387FB730>I<7FFFFFFF00FFFFFFFF80FFFFFFFF80FFFFFFFF80
-FFFFFFFF807FFFFFFF000007F000000007F000000007F000000007F000000007F0000000
-07F000000007F000000007F000000007F000000007F000000007F000000007F000000007
-F000000007F000000007F000000007F000000007F000000007F000000007F000000007F0
-00000007F000000007F000000007F000000007F000000007F000000007F000000007F000
-000007F000000007F000000007F000000007F000000007F000000007F000000007F00000
-0007F000000007F000000007F000000007F000000007F000000007F000000007F0000000
-07F000000007F000000007F000007FFFFFFF00FFFFFFFF80FFFFFFFF80FFFFFFFF80FFFF
-FFFF807FFFFFFF00213879B730>I<0001FFFFF00003FFFFF80007FFFFF80007FFFFF800
-03FFFFF80001FFFFF0000000FE00000000FE00000000FE00000000FE00000000FE000000
-00FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000
-FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE
-00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00
-000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000
-0000FE00000000FE00000000FE003C0000FE007E0000FE00FF0000FE00FF0000FE00FF00
-01FC00FF0003FC00FF8007FC007FF01FF8003FFFFFF0003FFFFFE0001FFFFFC00007FFFF
-800001FFFE0000003FF0000025397AB730>I<3FFFF80000007FFFFC000000FFFFFE0000
-00FFFFFE0000007FFFFC0000003FFFF800000001FC0000000001FC0000000001FC000000
-0001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC000000
-0001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC000000
-0001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC000000
-0001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC000000
-0001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC000000
-0001FC0000000001FC00000F8001FC00001FC001FC00001FC001FC00001FC001FC00001F
-C001FC00001FC001FC00001FC001FC00001FC001FC00001FC001FC00001FC03FFFFFFFFF
-C07FFFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC07FFFFFFFFFC03FFFFFFFFF802A387EB730
->76 D<3FF80000FFE07FFC0001FFF0FFFE0003FFF8FFFE0003FFF87FFE0003FFF03FFF00
-07FFE007FF0007FF0007EF0007BF0007EF800FBF0007EF800FBF0007EF800FBF0007E7C0
-1F3F0007E7C01F3F0007E7C01F3F0007E7C01F3F0007E7E03F3F0007E3E03E3F0007E3E0
-3E3F0007E3F07E3F0007E3F07E3F0007E1F07C3F0007E1F07C3F0007E1F8FC3F0007E1F8
-FC3F0007E0F8F83F0007E0F8F83F0007E0FDF83F0007E07DF03F0007E07DF03F0007E07D
-F03F0007E07FF03F0007E03FE03F0007E03FE03F0007E03FE03F0007E01FC03F0007E01F
-C03F0007E007003F0007E000003F0007E000003F0007E000003F0007E000003F0007E000
-003F0007E000003F0007E000003F0007E000003F0007E000003F0007E000003F0007E000
-003F0007E000003F0007E000003F003FFC0001FFE07FFE0003FFF0FFFF0007FFF8FFFF00
-07FFF87FFE0003FFF03FFC0001FFE02D387FB730>I<3FFC001FFF807FFE003FFFC0FFFF
-007FFFE0FFFF007FFFE07FFF803FFFC03FFF801FFF8003FF8001F80003F7C001F80003F7
-C001F80003F7C001F80003F3E001F80003F3E001F80003F3E001F80003F3F001F80003F1
-F001F80003F1F001F80003F1F801F80003F1F801F80003F0F801F80003F0FC01F80003F0
-FC01F80003F07C01F80003F07E01F80003F07E01F80003F03E01F80003F03F01F80003F0
-3F01F80003F01F01F80003F01F01F80003F01F81F80003F01F81F80003F00F81F80003F0
-0FC1F80003F00FC1F80003F007C1F80003F007E1F80003F007E1F80003F003E1F80003F0
-03F1F80003F003F1F80003F001F1F80003F001F1F80003F001F9F80003F000F9F80003F0
-00F9F80003F000F9F80003F0007DF80003F0007DF80003F0007DF80003F0003FF8003FFF
-003FF8007FFF803FF800FFFFC01FF800FFFFC01FF8007FFF800FF8003FFF0007F0002B38
-7EB730>I<003FFFE00001FFFFFC0007FFFFFF000FFFFFFF801FFFFFFFC03FFFFFFFE03F
-F800FFE03FE0003FE07F80000FF07F80000FF07F000007F07F000007F07F000007F07F00
-0007F0FF000007F8FE000003F8FE000003F8FE000003F8FE000003F8FE000003F8FE0000
-03F8FE000003F8FE000003F8FE000003F8FE000003F8FE000003F8FE000003F8FE000003
-F8FE000003F8FE000003F8FE000003F8FE000003F8FE000003F8FE000003F8FE000003F8
-FE000003F8FE000003F8FE000003F8FE000003F8FE000003F8FE000003F8FE000003F8FF
-000007F8FF000007F87F000007F07F000007F07F000007F07F80000FF07F80000FF07FC0
-001FF03FE0003FE03FF800FFE03FFFFFFFE01FFFFFFFC00FFFFFFF8007FFFFFF0001FFFF
-FC00003FFFE000253A7BB830>I<7FFFFFF00000FFFFFFFE0000FFFFFFFF8000FFFFFFFF
-E000FFFFFFFFF0007FFFFFFFF80003F8003FF80003F8000FFC0003F80003FE0003F80001
-FE0003F80000FF0003F80000FF0003F800007F0003F800007F8003F800003F8003F80000
-3F8003F800003F8003F800003F8003F800003F8003F800003F8003F800007F8003F80000
-7F0003F80000FF0003F80000FF0003F80001FE0003F80003FE0003F8000FFC0003F8003F
-F80003FFFFFFF80003FFFFFFF00003FFFFFFE00003FFFFFF800003FFFFFE000003FFFFF0
-000003F80000000003F80000000003F80000000003F80000000003F80000000003F80000
-000003F80000000003F80000000003F80000000003F80000000003F80000000003F80000
-000003F80000000003F80000000003F80000000003F8000000007FFFC0000000FFFFE000
-0000FFFFE0000000FFFFE0000000FFFFE00000007FFFC000000029387EB730>I<3FFFFF
-8000007FFFFFF00000FFFFFFFC0000FFFFFFFF00007FFFFFFF80003FFFFFFFC00003F801
-FFE00003F8003FF00003F8001FF00003F8000FF80003F80007F80003F80003F80003F800
-03FC0003F80001FC0003F80001FC0003F80001FC0003F80001FC0003F80001FC0003F800
-03FC0003F80003F80003F80007F80003F8000FF80003F8001FF00003F8003FF00003F801
-FFE00003FFFFFFC00003FFFFFF800003FFFFFF000003FFFFFE000003FFFFFF000003FFFF
-FF800003F800FFC00003F8003FE00003F8001FE00003F8000FE00003F8000FF00003F800
-07F00003F80007F00003F80007F00003F80007F00003F80007F00003F80007F00003F800
-07F00003F80007F00003F80007F0F803F80007F1FC03F80007F1FC03F80007F1FC03F800
-07F1FC03F80007F1FC3FFF8003FBFC7FFFC003FFF8FFFFE001FFF8FFFFE001FFF07FFFC0
-00FFE03FFF80007FC0000000001F002E397FB730>82 D<000FF803C0007FFF03E001FFFF
-C7E003FFFFF7E007FFFFFFE00FFFFFFFE01FF80FFFE03FE001FFE03FC000FFE07F80007F
-E07F00003FE0FF00003FE0FE00001FE0FE00001FE0FE00000FE0FE00000FE0FE00000FE0
-FF00000FE0FF000007C07F000000007F800000007FC00000003FF00000001FFE0000001F
-FFF000000FFFFF000007FFFFE00001FFFFF80000FFFFFC00001FFFFF000003FFFF800000
-3FFFC0000001FFC00000007FE00000001FE00000000FF00000000FF000000007F8000000
-07F87C000003F8FE000003F8FE000003F8FE000003F8FE000003F8FE000003F8FF000007
-F8FF000007F0FF800007F0FFC0000FE0FFE0001FE0FFF8003FC0FFFF00FFC0FFFFFFFF80
-FFFFFFFF00FDFFFFFE00FC7FFFF800F81FFFF0007801FF8000253A7BB830>I<3FFFFFFF
-FFC07FFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE0FE003F80
-0FE0FE003F800FE0FE003F800FE0FE003F800FE0FE003F800FE0FE003F800FE0FE003F80
-0FE0FE003F800FE07C003F8007C000003F80000000003F80000000003F80000000003F80
-000000003F80000000003F80000000003F80000000003F80000000003F80000000003F80
-000000003F80000000003F80000000003F80000000003F80000000003F80000000003F80
-000000003F80000000003F80000000003F80000000003F80000000003F80000000003F80
-000000003F80000000003F80000000003F80000000003F80000000003F80000000003F80
-000000003F80000000003F80000000003F80000000003F80000000003F80000000003F80
-000000003F800000001FFFFF0000003FFFFF8000003FFFFF8000003FFFFF8000003FFFFF
-8000001FFFFF00002B387EB730>I<7FFFC007FFFCFFFFE00FFFFEFFFFE00FFFFEFFFFE0
-0FFFFEFFFFE00FFFFE7FFFC007FFFC03F800003F8003F800003F8003F800003F8003F800
-003F8003F800003F8003F800003F8003F800003F8003F800003F8003F800003F8003F800
-003F8003F800003F8003F800003F8003F800003F8003F800003F8003F800003F8003F800
-003F8003F800003F8003F800003F8003F800003F8003F800003F8003F800003F8003F800
-003F8003F800003F8003F800003F8003F800003F8003F800003F8003F800003F8003F800
-003F8003F800003F8003F800003F8003F800003F8003F800003F8003F800003F8003F800
-003F8003F800003F8003FC00007F8001FC00007F0001FC00007F0001FC00007F0000FE00
-00FE0000FF0001FE00007F0001FC00007F8003FC00003FE00FF800001FF83FF000000FFF
-FFE0000007FFFFC0000003FFFF80000001FFFF000000007FFC000000001FF000002F3980
-B730>I<7FFE000FFFC0FFFF001FFFE0FFFF803FFFE0FFFF803FFFE0FFFF001FFFE07FFE
-000FFFC007F00001FC0007F00001FC0007F80003FC0003F80003F80003F80003F80003F8
-0003F80003F80003F80001FC0007F00001FC0007F00001FC0007F00001FC0007F00000FE
-000FE00000FE000FE00000FE000FE00000FE000FE00000FF001FE000007F001FC000007F
-001FC000007F001FC000007F803FC000003F803F8000003F803F8000003F803F8000003F
-803F8000001FC07F0000001FC07F0000001FC07F0000001FC07F0000000FE0FE0000000F
-E0FE0000000FE0FE0000000FE0FE00000007E0FC00000007F1FC00000007F1FC00000007
-F1FC00000003F1F800000003F1F800000003F1F800000003FBF800000001FBF000000001
-FBF000000001FBF000000001FFF000000001FFF000000000FFE000000000FFE000000000
-FFE000000000FFE0000000007FC0000000003F8000002B397EB730>I<3FFC0001FFE07F
-FE0003FFF0FFFE0003FFF8FFFE0003FFF87FFE0003FFF03FFC0001FFE01FC000001FC00F
-C000001F800FC000001F800FC000001F800FC000001F800FC000001F800FC000001F800F
-C000001F800FE000003F8007E000003F0007E000003F0007E000003F0007E000003F0007
-E000003F0007E000003F0007E000003F0003E00F803E0003F01FC07E0003F03FE07E0003
-F03FE07E0003F03FE07E0003F07FF07E0003F07FF07E0003F07DF07E0001F07DF07C0001
-F07DF07C0001F8FDF8FC0001F8FDF8FC0001F8FDF8FC0001F8F8F8FC0001F8F8F8FC0001
-F8F8F8FC0000F8F8F8F80000F9F8FCF80000F9F8FCF80000F9F07CF80000F9F07CF80000
-FDF07DF80000FDF07DF800007DF07DF000007DE03DF000007DE03DF000007DE03DF00000
-7FE03FF000007FE03FF000007FC01FF000007FC01FF000003FC01FE000003FC01FE00000
-3F800FE000001F0007C0002D397FB730>I<3FFF01FFF8007FFF83FFFC007FFFC7FFFE00
-7FFFC7FFFE007FFF83FFFC003FFF01FFF80001FC007F800001FE007F000000FE00FF0000
-00FF00FE0000007F01FE0000007F81FC0000003F83FC0000003FC3FC0000001FC3F80000
-001FE7F80000000FE7F00000000FFFF000000007FFE000000007FFE000000003FFC00000
-0003FFC000000001FF8000000001FF8000000000FF0000000000FF0000000000FF000000
-0000FF0000000001FF8000000001FF8000000003FFC000000003FFC000000003FFE00000
-0007FFE000000007FFF00000000FE7F00000000FE7F80000001FC3F80000001FC3FC0000
-003F81FC0000003F81FE0000007F00FE0000007F00FF000000FF007F000000FE007F8000
-01FE003F800001FC003FC00003FC001FC00003F8001FE00007F8000FE0007FFE007FFF00
-FFFF00FFFF80FFFF80FFFF80FFFF80FFFF80FFFF00FFFF807FFE007FFF0029387DB730>
-I<1FFFFFFFFC3FFFFFFFFE7FFFFFFFFE7FFFFFFFFE7FFFFFFFFE7FFFFFFFFE7F000003FC
-7F000007F87F000007F07F00000FF07F00001FE07F00001FC07F00003FC07F00007F803E
-00007F00000000FF00000001FE00000001FC00000003FC00000007F800000007F0000000
-0FF00000001FE00000001FC00000003FC00000007F800000007F00000000FF00000001FE
-00000001FC00000003FC00000007F800000007F00000000FF00000001FE00000001FC000
-00003FC00000007F800000007F00000000FF00000001FE00007C01FC0000FE03FC0000FE
-07F80000FE07F00000FE0FF00000FE1FE00000FE1FC00000FE3FC00000FE7F800000FE7F
-FFFFFFFEFFFFFFFFFEFFFFFFFFFEFFFFFFFFFEFFFFFFFFFE7FFFFFFFFC27387CB730>90
-D<7FFFFF00FFFFFF80FFFFFF80FFFFFF80FFFFFF80FFFFFF00FE000000FE000000FE0000
-00FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE0000
-00FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE0000
-00FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE0000
-00FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE0000
-00FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE0000
-00FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE0000
-00FE000000FE000000FFFFFF00FFFFFF80FFFFFF80FFFFFF80FFFFFF807FFFFF0019476D
-BE30>I<7C000000007C00000000FE00000000FE00000000FF00000000FF000000007F80
-0000007F800000003FC00000003FC00000001FE00000001FE00000000FF00000000FF000
-000007F800000007F800000003FC00000003FC00000001FC00000001FE00000001FE0000
-0000FF00000000FF000000007F800000007F800000003FC00000003FC00000001FE00000
-001FE00000000FF00000000FF000000007F800000007F800000003FC00000003FC000000
-01FC00000001FE00000001FE00000000FF00000000FF000000007F800000007F80000000
-3FC00000003FC00000001FE00000001FE00000000FF00000000FF000000007F800000007
-F800000003FC00000003FC00000001FC00000001FE00000001FE00000000FF00000000FF
-000000007F800000007F800000003FC00000003FC00000001FE00000001FE00000000FF0
-0000000FF000000007F800000007F800000003F800000003F800000001F000000000F025
-477BBE30>I<7FFFFF00FFFFFF80FFFFFF80FFFFFF80FFFFFF807FFFFF8000003F800000
-3F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000
-3F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000
-3F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000
-3F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000
-3F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000
-3F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F800000
-3F8000003F8000003F8000003F807FFFFF80FFFFFF80FFFFFF80FFFFFF80FFFFFF807FFF
-FF0019477DBE30>I<00070000001FC000007FF00000FFF80003FFFE000FFFFF803FFFFF
-E07FFDFFF0FFF07FF8FFC01FF8FF800FF8FE0003F87C0001F0100000401D0E77B730>I<
-7FFFFFFFF07FFFFFFFF0FFFFFFFFF8FFFFFFFFF8FFFFFFFFF87FFFFFFFF07FFFFFFFF025
-077B7D30>I<0038007C01FE03FE07FE0FFC0FF01FE01FC03F803F007F007E007E00FE00
-FC00FC00FC00FC00FC00FFC0FFE0FFF07FF07FF03FF03FF01FE007C00F1D70BE30>I<00
-3FFC00000001FFFF80000003FFFFE0000007FFFFF000000FFFFFF800001FFFFFFC00001F
-F00FFE00001FE001FF00001FE000FF00001FE0007F80000FC0003F80000780003FC00000
-00001FC0000000001FC0000000001FC0000000001FC0000000FFFFC000000FFFFFC00000
-7FFFFFC00001FFFFFFC00007FFFFFFC0000FFFFFFFC0001FFFC01FC0003FFC001FC0007F
-E0001FC0007F80001FC000FF00001FC000FE00001FC000FE00001FC000FE00001FC000FE
-00001FC000FF00003FC000FF00003FC0007F80007FC0007FC001FFC0003FF80FFFFFC01F
-FFFFFFFFE01FFFFFFFFFE007FFFFF7FFE003FFFFC3FFE000FFFF00FFC0003FF00000002B
-2A7CA830>I<3FFC000000007FFE00000000FFFE00000000FFFE000000007FFE00000000
-3FFE0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE00000000
-00FE0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE03FE0000
-00FE1FFF800000FE7FFFE00000FEFFFFF00000FFFFFFFC0000FFFFFFFE0000FFFE07FE00
-00FFF001FF0000FFE000FF8000FFC0007F8000FF80003FC000FF00001FC000FE00001FE0
-00FE00000FE000FE00000FE000FE00000FF000FE000007F000FE000007F000FE000007F0
-00FE000007F000FE000007F000FE000007F000FE000007F000FE000007F000FE00000FF0
-00FE00000FF000FE00000FE000FF00000FE000FF00001FE000FF80003FC000FF80003FC0
-00FFC0007F8000FFE000FF8000FFF003FF0000FFFC0FFE0000FFFFFFFC0000FFFFFFF800
-00FEFFFFF000007E7FFFC000003C1FFF0000000003FC00002C3980B730>I<0000FFE000
-0007FFFC00001FFFFE00007FFFFF0000FFFFFF8001FFFFFFC003FF807FC007FC003FC00F
-F8003FC01FF0003FC01FE0001F803FC0000F003F800000007F800000007F000000007F00
-000000FF00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000
-0000FE00000000FE00000000FF000000007F000000007F000000007F800000003F800007
-C03FC0000FE01FE0000FE01FF0001FE00FF8001FC007FE003FC007FFC0FF8003FFFFFF80
-00FFFFFF00007FFFFE00001FFFF8000007FFF0000001FF8000232A7AA830>I<000001FF
-E000000003FFF000000007FFF000000007FFF000000003FFF000000001FFF00000000007
-F00000000007F00000000007F00000000007F00000000007F00000000007F00000000007
-F00000000007F00000000007F00000000007F0000003FE07F000001FFF87F000003FFFE7
-F00000FFFFFFF00001FFFFFFF00003FFFFFFF00007FF03FFF0000FFC00FFF0001FF0003F
-F0001FE0001FF0003FC0001FF0003FC0000FF0007F800007F0007F000007F0007F000007
-F000FF000007F000FF000007F000FE000007F000FE000007F000FE000007F000FE000007
-F000FE000007F000FE000007F000FE000007F000FE000007F000FF000007F0007F00000F
-F0007F00000FF0007F80000FF0003F80001FF0003FC0003FF0001FE0003FF0001FF0007F
-F0000FF801FFF00007FE07FFFFC003FFFFFFFFE001FFFFFFFFF000FFFFF7FFF0007FFFC7
-FFE0001FFF03FFC00007FC0000002C397DB730>I<0001FF00000007FFE000001FFFF800
-007FFFFC0000FFFFFE0001FFFFFF0003FF81FF8007FC007FC00FF8003FC01FE0001FE01F
-E0000FE03FC0000FF03F800007F07F800007F07F000007F07F000003F8FF000003F8FE00
-0003F8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF0FE0000
-0000FF000000007F000000007F000000007F800000003F800001F03FC00003F81FE00003
-F80FF00003F80FF80007F807FE001FF003FFC07FE001FFFFFFE000FFFFFFC0003FFFFF80
-001FFFFE000007FFF8000000FFC000252A7CA830>I<000000FF80000007FFE000001FFF
-F000003FFFF000007FFFF80000FFFFF80001FF87F80003FE07F80003FC03F00007F800C0
-0007F000000007F000000007F000000007F000000007F000000007F000000007F0000000
-07F000003FFFFFFFC07FFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE07FFFFFFFC00007
-F000000007F000000007F000000007F000000007F000000007F000000007F000000007F0
-00000007F000000007F000000007F000000007F000000007F000000007F000000007F000
-000007F000000007F000000007F000000007F000000007F000000007F000000007F00000
-0007F000000007F000000007F000000007F000000007F000003FFFFFFE007FFFFFFF00FF
-FFFFFF80FFFFFFFF807FFFFFFF003FFFFFFE0025397DB830>I<0003FC00FF00001FFF87
-FFC0003FFFDFFFC000FFFFFFFFE001FFFFFFFFE003FFFFFFFFE007FE07FF8FE007F801FE
-07C00FF000FF00000FF000FF00000FE0007F00001FE0007F80001FC0003F80001FC0003F
-80001FC0003F80001FC0003F80001FC0003F80001FE0007F80000FE0007F00000FF000FF
-00000FF000FF000007F801FE000007FE07FE000007FFFFFC000007FFFFF800000FFFFFF0
-00000FFFFFC000000FDFFF8000000FC3FC0000000FC0000000000FC0000000000FC00000
-00000FE0000000000FF00000000007FFFFF0000007FFFFFF000003FFFFFFC00007FFFFFF
-F0000FFFFFFFF8001FFFFFFFFC003FE0001FFE003F800001FE007F0000007F007E000000
-3F00FE0000003F80FC0000001F80FC0000001F80FC0000001F80FC0000001F80FC000000
-1F80FE0000003F807F0000007F007F800000FF003FC00001FE003FF00007FE001FFF007F
-FC000FFFFFFFF80007FFFFFFF00001FFFFFFC000007FFFFF0000001FFFFC00000001FFC0
-00002B3E7DA730>I<3FFC000000007FFE00000000FFFE00000000FFFE000000007FFE00
-0000003FFE0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE00
-00000000FE0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE01
-FE000000FE0FFF800000FE3FFFE00000FEFFFFF00000FFFFFFF80000FFFFFFF80000FFFE
-07FC0000FFF803FC0000FFE001FE0000FFC001FE0000FF8000FE0000FF8000FE0000FF00
-00FE0000FF0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE00
-00FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE00
-00FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE00
-00FE0000FE0000FE0000FE0000FE0000FE0000FE003FFFF81FFFF87FFFFC3FFFFCFFFFFE
-3FFFFEFFFFFE3FFFFE7FFFFC3FFFFC3FFFF81FFFF82F3880B730>I<0000E000000003F8
-00000003F800000007FC00000007FC00000007FC00000003F800000003F800000000E000
-000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000001FFFF800003FFFFC00007FFFFC00007FFFFC00003FFFFC00001F
-FFFC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001
-FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC
-00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00
-000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00003FFFFFFFC0
-7FFFFFFFE0FFFFFFFFE0FFFFFFFFE07FFFFFFFE03FFFFFFFC023397AB830>I<000001C0
-000007F0000007F000000FF800000FF800000FF8000007F0000007F0000001C000000000
-000000000000000000000000000000000000000000000000000000000000000000FFFFF0
-01FFFFF801FFFFF801FFFFF801FFFFF800FFFFF8000003F8000003F8000003F8000003F8
-000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8
-000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8
-000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8
-000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8000003F8
-000003F8000007F0000007F03C0007F07E000FE0FF001FE0FF003FC0FF007FC0FFFFFF80
-7FFFFF007FFFFE003FFFFC000FFFF00003FFC0001D4E7CB830>I<7FF800000000FFFC00
-000000FFFC00000000FFFC00000000FFFC000000007FFC0000000000FC0000000000FC00
-00000000FC0000000000FC0000000000FC0000000000FC0000000000FC0000000000FC00
-00000000FC0000000000FC0000000000FC0000000000FC03FFFF8000FC07FFFFC000FC07
-FFFFE000FC07FFFFE000FC07FFFFC000FC03FFFF8000FC001FE00000FC003FC00000FC00
-7F800000FC00FF000000FC01FE000000FC03FC000000FC0FF8000000FC1FF0000000FC3F
-E0000000FC7FC0000000FCFF80000000FDFFC0000000FFFFE0000000FFFFF0000000FFF7
-F0000000FFE3F8000000FFC1FC000000FF81FE000000FF00FF000000FE007F000000FC00
-3F800000FC001FC00000FC001FE00000FC000FF00000FC0007F00000FC0003F80000FC00
-01FC007FFFF81FFFE0FFFFFC3FFFF0FFFFFC3FFFF8FFFFFC3FFFF8FFFFFC3FFFF07FFFF8
-1FFFE02D387FB730>I<7FFFF80000FFFFFC0000FFFFFC0000FFFFFC0000FFFFFC00007F
-FFFC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001
-FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC
-00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00
-000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC0000
-0001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC000000
-01FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001
-FC00000001FC00007FFFFFFFF0FFFFFFFFF8FFFFFFFFF8FFFFFFFFF8FFFFFFFFF87FFFFF
-FFF025387BB730>I<0000FC007E00007FC3FF01FF8000FFEFFF87FFC000FFFFFFCFFFE0
-00FFFFFFDFFFE000FFFFFFFFFFF0007FFF0FFF87F00007FE07FF03F80007FC07FE03F800
-07F803FC01F80007F803FC01F80007F003F801F80007F003F801F80007F003F801F80007
-E003F001F80007E003F001F80007E003F001F80007E003F001F80007E003F001F80007E0
-03F001F80007E003F001F80007E003F001F80007E003F001F80007E003F001F80007E003
-F001F80007E003F001F80007E003F001F80007E003F001F80007E003F001F80007E003F0
-01F80007E003F001F80007E003F001F80007E003F001F80007E003F001F8007FFE0FFF07
-FF80FFFF1FFF8FFFC0FFFF1FFF8FFFC0FFFF1FFF8FFFC0FFFF1FFF8FFFC07FFE0FFF07FF
-80322881A730>I<000001FE00003FFC0FFF80007FFE3FFFE000FFFEFFFFF000FFFFFFFF
-F8007FFFFFFFF8003FFFFE07FC0000FFF803FC0000FFE001FE0000FFC001FE0000FF8000
-FE0000FF8000FE0000FF0000FE0000FF0000FE0000FE0000FE0000FE0000FE0000FE0000
-FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000
-FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000
-FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE003FFFF81F
-FFF87FFFFC3FFFFCFFFFFE3FFFFEFFFFFE3FFFFE7FFFFC3FFFFC3FFFF81FFFF82F2880A7
-30>I<0001FF0000000FFFE000003FFFF800007FFFFC0000FFFFFE0003FFFFFF8003FF01
-FF8007FC007FC00FF8003FE01FE0000FF01FE0000FF03FC00007F83F800003F87F800003
-FC7F000001FC7F000001FC7F000001FCFE000000FEFE000000FEFE000000FEFE000000FE
-FE000000FEFE000000FEFE000000FEFE000000FEFF000001FE7F000001FC7F000001FC7F
-800003FC3F800003F83FC00007F83FE0000FF81FF0001FF00FF8003FE00FFC007FE007FF
-01FFC003FFFFFF8001FFFFFF00007FFFFC00003FFFF800000FFFE0000001FF0000272A7C
-A830>I<000003FE00003FFC1FFF80007FFE7FFFE000FFFEFFFFF000FFFFFFFFFC007FFF
-FFFFFE003FFFFE07FE0000FFF001FF0000FFE000FF8000FFC0007F8000FF80003FC000FF
-00001FC000FE00001FE000FE00000FE000FE00000FE000FE00000FF000FE000007F000FE
-000007F000FE000007F000FE000007F000FE000007F000FE000007F000FE000007F000FE
-000007F000FE00000FF000FE00000FF000FE00000FE000FF00000FE000FF00001FE000FF
-80003FC000FF80003FC000FFC0007F8000FFE000FF8000FFF003FF0000FFFC0FFE0000FF
-FFFFFC0000FFFFFFF80000FEFFFFF00000FE7FFFC00000FE1FFF000000FE03FC000000FE
-0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE
-0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE
-000000003FFFF80000007FFFFC000000FFFFFE000000FFFFFE0000007FFFFC0000003FFF
-F80000002C3C80A730>I<0001FF00F800000FFFC1FC00003FFFF1FC00007FFFFDFC0001
-FFFFFFFC0003FFFFFFFC0007FF81FFFC000FFC007FFC000FF8001FFC001FF0000FFC001F
-E00007FC003FC00007FC003F800003FC007F800003FC007F000003FC007F000001FC00FF
-000001FC00FE000001FC00FE000001FC00FE000001FC00FE000001FC00FE000001FC00FE
-000001FC00FE000001FC00FF000001FC007F000001FC007F000003FC007F800003FC007F
-800003FC003FC00007FC003FC0000FFC001FE0001FFC000FF0003FFC000FFC007FFC0007
-FF01FFFC0003FFFFFFFC0001FFFFFDFC0000FFFFF9FC00003FFFF1FC00000FFFC1FC0000
-03FE01FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000
-000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000
-000001FC0000000001FC00000000FFFFF8000001FFFFFC000001FFFFFC000001FFFFFC00
-0001FFFFFC000000FFFFF82E3C7DA730>I<00000007F8003FFF803FFF007FFFC0FFFF80
-FFFFC3FFFF80FFFFCFFFFFC07FFFDFFFFFC03FFFFFFC3FC0001FFFE03FC0001FFF801F80
-001FFF000F00001FFE000000001FFC000000001FF8000000001FF0000000001FF0000000
-001FE0000000001FE0000000001FE0000000001FE0000000001FC0000000001FC0000000
-001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000
-001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000
-001FC00000003FFFFFFC00007FFFFFFE0000FFFFFFFF0000FFFFFFFF00007FFFFFFE0000
-3FFFFFFC00002A287EA730>I<001FFC1E0001FFFF9F0007FFFFFF000FFFFFFF001FFFFF
-FF003FFFFFFF007FF007FF007F8001FF00FE0000FF00FC00007F00FC00007F00FC00007F
-00FC00007F00FE00003E007F000000007FE00000003FFF0000001FFFFC00000FFFFF8000
-07FFFFE00001FFFFF800007FFFFC000003FFFE0000000FFF00000000FF807C00007F80FE
-00001FC0FE00001FC0FE00000FC0FF00000FC0FF00000FC0FF80000FC0FF80001FC0FFC0
-003F80FFE0007F80FFFC03FF00FFFFFFFF00FFFFFFFE00FFFFFFFC00FCFFFFF000F83FFF
-C000780FFE0000222A79A830>I<0007800000000FC00000001FC00000001FC00000001F
-C00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC000003FFFFF
-FFE07FFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF07FFFFFFFE0001FC00000001FC000
-00001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000
-001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC0000000
-1FC00000001FC00000001FC000F8001FC001FC001FC001FC001FC001FC001FC001FC001F
-C001FC001FE003FC000FE007F8000FF007F8000FFC1FF00007FFFFE00003FFFFC00003FF
-FF800001FFFF0000007FFC0000001FF00026337EB130>I<3FFC003FFC007FFE007FFE00
-FFFE00FFFE00FFFE00FFFE007FFE007FFE003FFE003FFE0000FE0000FE0000FE0000FE00
-00FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE00
-00FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE00
-00FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE0000FE00
-00FE0000FE0000FE0000FE0000FE0001FE0000FE0001FE0000FE0003FE0000FE0007FE00
-00FF000FFE00007FC07FFFF8007FFFFFFFFC003FFFFFFFFE001FFFFFFFFE000FFFFEFFFC
-0007FFF87FF80000FFC000002F2880A630>I<3FFFC07FFF807FFFE0FFFFC0FFFFE0FFFF
-E0FFFFE0FFFFE07FFFE0FFFFC03FFFC07FFF8001F80003F00001F80003F00001FC0007F0
-0000FC0007E00000FC0007E00000FE000FE000007E000FC000007E000FC000007F001FC0
-00003F001F8000003F001F8000003F803F8000001F803F0000001F803F0000001FC07F00
-00000FC07E0000000FC07E0000000FE0FE00000007E0FC00000007E0FC00000007F1FC00
-000003F1F800000003F1F800000003F1F800000001FBF000000001FBF000000001FBF000
-000001FFF000000000FFE000000000FFE000000000FFE0000000007FC0000000003F8000
-002B277EA630>I<3FFFC01FFFE07FFFE03FFFF0FFFFE03FFFF8FFFFE03FFFF87FFFE03F
-FFF03FFFC01FFFE007E000003F0007E000003F0007F000007F0003F000007E0003F00000
-7E0003F000007E0003F000007E0003F000007E0003F80000FE0001F80000FC0001F80F80
-FC0001F81FC0FC0001F83FE0FC0001F83FE0FC0001F83FE0FC0000FC7FF1F80000FC7FF1
-F80000FC7DF1F80000FC7DF1F80000FCFDF9F800007CFDF9F000007CF8F9F000007CF8F9
-F000007CF8F9F000007EF8FBF000007EF8FBF000003FF07FE000003FF07FE000003FF07F
-E000003FE03FE000003FE03FE000001FE03FC000000F800F80002D277FA630>I<3FFF81
-FFFC007FFFC3FFFE00FFFFC3FFFF00FFFFC3FFFF007FFFC3FFFE003FFF81FFFC0000FE00
-7F0000007F007F0000007F80FE0000003F81FC0000001FC3F80000000FE3F80000000FE7
-F000000007FFE000000003FFC000000001FFC000000000FF8000000000FF00000000007E
-00000000007F0000000000FF0000000001FF8000000001FFC000000003F7E000000007E7
-E00000000FE3F00000000FC1F80000001F81FC0000003F80FE0000007F007E0000007E00
-7F000000FE003F800001FC001FC0007FFF80FFFF00FFFFC1FFFF80FFFFE3FFFF80FFFFE3
-FFFF80FFFFC1FFFF807FFF80FFFF0029277DA630>I<3FFFC07FFF807FFFE0FFFFC0FFFF
-E0FFFFE0FFFFE0FFFFE07FFFE0FFFFC03FFFC07FFF8001FC0003F00001FC0003F00000FC
-0007F00000FE0007E000007E0007E000007E000FE000007F000FC000003F000FC000003F
-001FC000001F801F8000001F801F8000001FC01F8000000FC03F0000000FC03F0000000F
-E03F00000007E07E00000007E07E00000003F07E00000003F07C00000003F0FC00000001
-F8FC00000001F8F800000001F8F800000000F9F800000000FDF0000000007DF000000000
-7FF0000000007FF0000000003FE0000000003FE0000000003FE0000000001FC000000000
-1FC0000000001FC0000000001F80000000001F80000000003F80000000003F0000000000
-3F00000000007F00000000007E00000000007E0000000F00FE0000001F80FC0000003FC1
-FC0000003FC3F80000003F87F80000003F8FF00000003FFFE00000001FFFC00000001FFF
-800000000FFF0000000007FE0000000001F0000000002B3C7EA630>I<1FFFFFFFFC3FFF
-FFFFFE7FFFFFFFFE7FFFFFFFFE7FFFFFFFFE7FFFFFFFFC7F00000FF87F00001FF07F0000
-3FE07F00007FC07F0000FF803E0001FF00000003FE00000007FC0000000FF80000001FF0
-0000003FE00000007FC0000000FF80000001FF00000003FE00000007FC0000000FF80000
-001FF00000003FE00000007FC0000000FF80003E01FF00007F03FE00007F07FC00007F0F
-F800007F1FF000007F3FE000007F7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
-FFFFFF7FFFFFFFFE28277DA630>I<0000003FF0000003FFF800000FFFF800001FFFF800
-007FFFF800007FFFF00000FFF0000000FF00000001FE00000001FC00000001FC00000001
-FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC
-00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00
-000001FC00000001FC00000001FC00000003FC00000007F80000003FF800003FFFF00000
-FFFFE00000FFFFC00000FFFF000000FFFFC00000FFFFE000003FFFF00000003FF8000000
-07F800000003FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001
-FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC
-00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00
-000001FE00000000FF00000000FFF00000007FFFF000007FFFF800001FFFF800000FFFF8
-000003FFF80000003FF025477BBE30>I<7C7CFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE
-FEFEFEFEFEFEFEFEFEFEFEFEFEFE7C7C07476CBE30>I<7FE0000000FFFE000000FFFF80
-0000FFFFC00000FFFFF000007FFFF00000007FF800000007F800000003FC00000001FC00
-000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC0000
-0001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC000000
-01FC00000001FC00000001FC00000001FC00000001FC00000001FE00000000FF00000000
-FFE00000007FFFE000003FFFF800001FFFF8000007FFF800001FFFF800003FFFF800007F
-FFE00000FFE0000000FF00000001FE00000001FC00000001FC00000001FC00000001FC00
-000001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC0000
-0001FC00000001FC00000001FC00000001FC00000001FC00000001FC00000001FC000000
-01FC00000001FC00000003FC00000007F80000007FF800007FFFF00000FFFFF00000FFFF
-C00000FFFF800000FFFE0000007FE000000025477BBE30>I<007C003801FF007C03FF80
-FE07FFC1FE0FFFC3FE1FFFEFFC7FEFFFF0FF87FFE0FF07FFC0FE03FF807C01FF0038007C
-001F0C78B730>I E /Fo 39 122 df<0000000007FF80000000003FFFE000000000FE00
-F800000001F0003E00000007E0000E0000000FC0001F0000000F80007F0000001F8000FF
-0000003F0000FF0000003F0000FF0000003F0000FE0000007E0000FE0000007E00007800
-00007E000000000000FE000000000000FC000000000000FC000000000000FC0000000000
-01FC000000000001FC000000000001F8000000000001F8000000000001F8000000000001
-F8000000000003F80000000003FFFFFFFFF00003FFFFFFFFF00003FFFFFFFFE0000003F0
-0007E0000007F0000FE0000007E0000FC0000007E0000FC0000007E0000FC0000007E000
-1FC000000FE0001F8000000FC0001F8000000FC0001F8000000FC0003F8000000FC0003F
-0000001FC0003F0000001F80003F0000001F80007F0000001F80007E0000001F80007E00
-00003F80007E0000003F0000FE0000003F0000FC0000003F0000FC0000003F0000FC0000
-007F0001FC0000007E0001F81C00007E0001F81C00007E0001F81C00007E0003F81C0000
-FE0003F03C0000FC0003F0380000FC0003F0380000FC0003F0780000FC0003F0700001FC
-0003F0700001F80001F0F00001F80001F0E00001F80000F1C00001F800007F800003F000
-001F000003F0000000000003F0000000000003F0000000000003E0000000000007E00000
-00000007E0000000001E07C0000000007F07C0000000007F0FC000000000FF0F80000000
-00FF0F8000000000FF1F0000000000FE1F0000000000F81E0000000000703C0000000000
-787800000000001FF0000000000007C00000000000385383BF33>12
-D<0000000007FC00007FF800000000003FFF8003FFFF0000000000FC03C00FE007C00000
-0003F001E03F0001F000000007E001F07C0000700000000FC007F0F80000F80000000F80
-0FF1F80003F80000001F800FF3F00007F80000001F800FF3F00007F80000003F000FF7E0
-0007F80000003F000FE7E00007F00000003F00038FC00007F00000007E00000FC00003C0
-0000007E00000FC00000000000007E00000FC00000000000007E00001FC0000000000000
-FE00001F80000000000000FC00001F80000000000000FC00001F80000000000000FC0000
-3F80000000000000FC00003F80000000000001FC00003F00000000000001F800003F0000
-0000000001F800003F00000000000001F800003F000000000001FFFFFFFFFFFFFFFF8000
-03FFFFFFFFFFFFFFFF800003FFFFFFFFFFFFFFFF00000003F000007E00003F00000003F0
-00007E00007F00000003F00000FE00007E00000007F00000FC00007E00000007E00000FC
-00007E00000007E00000FC0000FE00000007E00000FC0000FC00000007E00001FC0000FC
-0000000FE00001F80000FC0000000FC00001F80001FC0000000FC00001F80001F8000000
-0FC00001F80001F80000000FC00003F80001F80000001FC00003F00003F80000001F8000
-03F00003F00000001F800003F00003F00000001F800003F00003F00000001F800007F000
-07F00000003F800007E00007E00000003F800007E00007E00000003F000007E00007E000
-00003F000007E0000FE00000003F00000FE0000FC0E000003F00000FC0000FC0E000007F
-00000FC0000FC0E000007E00000FC0001FC0E000007E00000FC0001F81E000007E00000F
-C0001F81C000007E00001FC0001F81C00000FE00001F80001F83C00000FC00001F80001F
-83800000FC00001F80001F83800000FC00003F80000F87800000FC00003F00000F870000
-01F800003F0000078E000001F800003F000003FC000001F800003F000000F8000001F800
-007E00000000000003F000007E00000000000003F000007E00000000000003F000007C00
-000000000003F00000FC00000000000003E00000FC00000000001E07E07800F800000000
-007F07E1FC01F800000000007F07C1FC01F80000000000FF0FC3FC01F00000000000FF0F
-83FC03E00000000000FF0F83FC07E00000000000FE1F03F807C00000000000F81E03E00F
-800000000000703C01C01E000000000000787800F07C0000000000001FF0007FF0000000
-00000007C0001FC0000000000000555383BF50>14 D<00003C0000FE0001FF0003FF0003
-FF0003FF0003FF0003FE0007FE0007FE0007FC0007FC0007FC0007F8000FF8000FF8000F
-F0000FF0000FF0000FE0001FE0001FE0001FC0001FC0001FC0001F80003F80003F80003F
-00003F00003F00003E00007E00007E00007C00007C00007C0000780000F80000F80000F0
-0000F00000F00000E00001E00001E00000C0000000000000000000000000000000000000
-000000000000000F00003FC0007FC0007FC000FFC000FFC000FFC000FF80007F00003C00
-00184177C01C>33 D<01E000F007F803FC0FF807FC0FFC07FE1FFC0FFE1FFC0FFE1FFC0F
-FE1FFC0FFE0FFC07FE03D801EC0018000C0018000C0038001C0030001800700038006000
-3000E0007000C0006001C000E0038001C003000180070003800E0007001C000E0038001C
-0070003800E0007000C00060001F1C70BE2F>I<0F003FC07FC07FC0FFC0FFC0FFC0FF80
-7F003C000A0A77891C>46 D<00000003000000070000000F0000001F0000001E0000003E
-0000007E000001FE000003FC000007FC00001FFC0001FFFC000FFBF8001FC3F8000E07F8
-000007F8000007F0000007F000000FF000000FF000000FE000000FE000001FE000001FE0
-00001FC000001FC000003FC000003FC000003F8000003F8000007F8000007F8000007F00
-00007F000000FF000000FF000000FE000000FE000001FE000001FE000001FC000001FC00
-0003FC000003FC000003F8000003F8000007F8000007F8000007F0000007F000000FF000
-000FF000000FE000000FE000001FE000001FE000001FC000007FE000FFFFFFF0FFFFFFF0
-FFFFFFE0203D77BC2E>49 D<0000000FE00000007FF8000001F01C000007C00E00001F80
-0F00003E000700007C001F0000F8007F0001F000FF0003F000FF0007E000FF000FC000FE
-001FC000FE003F800078003F000000007F00000000FE00000000FE00000001FC00000001
-FC00000003FC00000003F800000007F81FC00007F87FF0000FF1E07C000FF3803E000FF7
-003E001FFE001F001FFC001F801FF8001F801FF0000FC03FF0000FC03FE0000FC03FE000
-1FC03FC0001FE07FC0001FE07FC0001FE07F80001FE07F80003FC07F80003FC0FF00003F
-C0FF00003FC0FF00007FC0FF00007F80FE00007F80FE00007F80FE0000FF80FE0000FF00
-FE0000FF00FE0001FE00FE0001FE00FC0001FC007C0003F8007C0003F8007E0007F0007E
-000FE0003E001FC0003F003F80001F807E00000FC1FC000007FFF8000003FFE00000007F
-000000283F76BC2E>54 D<0000007F00000001FFE0000007C0F000001F007C00003C003C
-000078003E0000F0001F0001F0001F0003E0001F0003C0001F0007C0001F0007C0001F00
-0F80001F000F80001F000F80003F001F80003E001F80003E001F80007E001FC0007C001F
-C000F8001FE001F8001FF001F0001FF803E0001FFC07C0000FFE0F00000FFFBE000007FF
-F8000003FFF0000001FFF0000000FFF8000000FFFC000003FFFE00000F9FFF00001F0FFF
-80007C07FFC000F803FFC001F001FFE003E0007FE007C0003FE00F80001FE01F80000FE0
-1F00000FE03E000007E03E000007E07E000007E07C000007E07C000007E0FC000007C0F8
-000007C0F8000007C0F800000F80F800000F80F800001F00F800003E007C00003C007C00
-007C007E0000F8003F0003F0001F8007C0000FE03F800007FFFE000001FFF80000003FC0
-0000283F78BC2E>56 D<001E00003F80007F8000FFC001FFC001FFC001FF8000FF0000FE
-00003C000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000F00003FC0007FC0007FC0
-00FFC000FFC000FFC000FF80007F00003C0000122777A61C>58 D<00000000FF8001C000
-00000FFFE001C00000003FFFF80380000000FF807E0780000003FC001F0F8000000FF000
-071F8000001FC00007BF0000007F800003FF000000FF000001FF000001FE000001FF0000
-03F8000000FE000007F0000000FE00000FF0000000FE00001FE00000007E00003FC00000
-007C00007F800000007C0000FF800000007C0000FF000000007C0001FE00000000780003
-FE00000000780003FC00000000780007FC00000000780007F80000000070000FF8000000
-0070000FF80000000070001FF00000000070001FF00000000000003FE00000000000003F
-E00000000000003FE00000000000007FE00000000000007FC00000000000007FC0000000
-0000007FC0000000000000FFC0000000000000FF80000000000000FF80000000000000FF
-80000000000000FF80000000000000FF00000000000000FF00000000000000FF00000000
-0F0000FF000000000F0000FF000000000E0000FF000000000E0000FF000000001E0000FF
-000000001C0000FF000000003C0000FF00000000380000FF000000007800007F00000000
-7000007F80000000F000007F80000001E000003F80000001C000003FC0000003C000001F
-C00000078000001FE000000F0000000FE000001E00000007F000003C00000003F80000F8
-00000001FC0001F000000000FE0007C0000000007FC03F80000000001FFFFE0000000000
-07FFF0000000000000FF80000000003A4272BF41>67 D<0001FFFFFFFFFFF00001FFFFFF
-FFFFF00001FFFFFFFFFFF0000003FE00003FF0000003FE00000FF0000003FC000003F000
-0003FC000003F0000003FC000001E0000007FC000001E0000007F8000001E0000007F800
-0001E0000007F8000001E000000FF8000001E000000FF0000001E000000FF0000001C000
-000FF0000001C000001FF0000001C000001FE0000001C000001FE0007001C000001FE000
-F003C000003FE000E0038000003FC000E0000000003FC000E0000000003FC001E0000000
-007FC001C0000000007F8003C0000000007F8003C0000000007F8007C000000000FF801F
-8000000000FFFFFF8000000000FFFFFF8000000000FFFFFF8000000001FF003F00000000
-01FE001F0000000001FE000F0000000001FE000F0000000003FE000E0000000003FC000E
-0000000003FC000E0000000003FC001E0000000007FC001C0000000007F8001C00000000
-07F8001C0000000007F80000000000000FF80000000000000FF00000000000000FF00000
-000000000FF00000000000001FF00000000000001FE00000000000001FE0000000000000
-1FE00000000000003FE00000000000003FC00000000000003FC00000000000007FC00000
-000000007FC00000000000007F80000000000000FFC00000000000FFFFFFE000000000FF
-FFFFE000000000FFFFFFE0000000003C3E7BBD3B>70 D<0001FFFE00000FFFFF0003FFFF
-00001FFFFF0003FFFF00001FFFFF000001FF800000FFC0000003FF8000003F00000003FF
-8000003E00000003FFC000001C00000003FFC000003C00000007BFC000003C000000073F
-E0000038000000071FE0000038000000071FE00000780000000F1FF00000780000000E0F
-F00000700000000E0FF80000700000000E0FF80000F00000001E07F80000F00000001C07
-FC0000E00000001C07FC0000E00000001C03FC0001E00000003C03FE0001E00000003801
-FE0001C00000003801FE0001C00000003801FF0003C00000007800FF0003C00000007000
-FF8003800000007000FF80038000000070007F800780000000F0007FC00780000000E000
-3FC00700000000E0003FC00700000000E0003FE00F00000001E0001FE00F00000001C000
-1FF00E00000001C0001FF00E00000001C0000FF01E00000003C0000FF81E000000038000
-0FF81C00000003800007F81C00000003800007FC3C00000007800003FC3C000000070000
-03FC3800000007000003FE3800000007000001FE780000000F000001FF780000000E0000
-01FF700000000E000000FF700000000E000000FFF00000001E000000FFF00000001C0000
-007FE00000001C0000007FE00000001C0000003FE00000003C0000003FE0000000380000
-003FC0000000380000001FC0000000780000001FC0000000F80000001FC0000001FC0000
-000F80000007FE0000000F800000FFFFF0000007800000FFFFF0000007800000FFFFF000
-0007000000483E7BBD44>78 D<0001FFFFFFFF80000001FFFFFFFFF0000001FFFFFFFFFC
-00000003FE0003FE00000003FE0000FF00000003FC00007F80000003FC00003FC0000007
-FC00001FC0000007FC00001FE0000007F800001FE0000007F800001FE000000FF800001F
-F000000FF800001FF000000FF000001FF000000FF000001FF000001FF000001FF000001F
-F000003FE000001FE000003FE000001FE000003FE000003FE000003FC000003FE000007F
-C000003FC000007F8000003FC000007F8000007FC00000FF0000007FC00000FE0000007F
-800001FC0000007F800003F8000000FF800007F0000000FF80000FE0000000FF00003FC0
-000000FF0001FF00000001FFFFFFFC00000001FFFFFFE000000001FE00000000000001FE
-00000000000003FE00000000000003FE00000000000003FC00000000000003FC00000000
-000007FC00000000000007FC00000000000007F800000000000007F80000000000000FF8
-0000000000000FF80000000000000FF00000000000000FF00000000000001FF000000000
-00001FF00000000000001FE00000000000001FE00000000000003FE00000000000003FE0
-0000000000003FC00000000000003FC00000000000007FC00000000000007FC000000000
-00007F80000000000000FFC00000000000FFFFFF8000000000FFFFFF8000000000FFFFFF
-80000000003C3E7BBD3E>80 D<0000000FF001C00000007FFE01C0000001FFFF03800000
-07F80FC78000000FC003EF8000001F8001FF8000003F0000FF0000007E00007F000000FC
-00007F000001F800007F000003F000003E000003F000003E000007E000003E000007E000
-003E00000FE000003C00000FC000003C00000FC000003C00000FC000003C00001FC00000
-3800001FC000003800001FC000003800001FE000003800001FE000000000001FF0000000
-00001FF000000000001FFC00000000000FFF00000000000FFFF0000000000FFFFE000000
-0007FFFFC000000003FFFFF000000001FFFFFC00000000FFFFFE000000003FFFFE000000
-000FFFFF0000000001FFFF80000000001FFF800000000003FF800000000000FFC0000000
-00007FC000000000003FC000000000003FC000000000001FC000000000001FC000070000
-001FC0000F0000001FC0000F0000001F80000E0000001F80000E0000001F80001E000000
-3F80001E0000003F00001E0000003F00001E0000003E00003E0000007E00003E0000007C
-00003F000000FC00003F000001F800007F800001F000007F800003E000007FC00007C000
-007DE0001F800000F8F8003F000000F87F00FE000000F03FFFF8000000E00FFFE0000000
-C000FF0000000032427ABF33>83 D<000C0006001C000E0078003C00E0007001C000E001
-8000C0038001C0070003800E0007000C0006001C000E0018000C0038001C003000180070
-0038006000300060003000E0007000CF006780FFC07FE0FFC07FE0FFC07FE0FFC07FE0FF
-C07FE0FFC07FE0FF807FC07F003F803C001E001F1C69BE2F>92 D<00007E00000001FF80
-000007C1C380001F80EFC0003F00FFC0007E007FC000FC007F8001F8003F8003F0003F80
-03F0003F8007E0003F000FE0003F000FC0003F001FC0007F001FC0007E003F80007E003F
-80007E003F8000FE007F8000FC007F0000FC007F0000FC007F0001FC00FF0001F800FE00
-01F800FE0001F800FE0003F800FE0003F038FC0003F038FC0003F038FC0007F038FC0007
-E078FC000FE0707C000FE0707C001FE0F07E003FE0E03E007FE0E03E00F3E1E01F01E3E1
-C00F8781E38003FF00FF0000FC003E00252977A72E>97 D<001FC0000FFFC0000FFF8000
-0FFF8000003F8000003F8000003F0000003F0000007F0000007F0000007E0000007E0000
-00FE000000FE000000FC000000FC000001FC000001FC000001F8000001F8000003F80000
-03F8000003F0000003F07E0007F1FF8007F783E007EF01F007FE01F00FF800F80FF800F8
-0FF000FC0FE0007C1FC0007C1FC0007E1F80007E1F8000FE3F8000FE3F8000FE3F0000FE
-3F0000FE7F0001FE7F0001FC7E0001FC7E0001FC7E0003FCFE0003F8FC0003F8FC0003F8
-FC0007F0FC0007F0FC0007E0F8000FE0F8000FC0F8001FC0F8001F8078003F007C003F00
-7C007E003C00FC003E01F8001E03E0000F07C00007FF000001F800001F4076BE2A>I<00
-001FE0000000FFF8000003F03E000007C00F00001F800700003F000780007E001F8000FC
-007F8001F8007F8003F0007F8007F0007F0007E0007F000FE0007E001FC00000001FC000
-00003F800000003F800000003F800000007F800000007F000000007F000000007F000000
-00FF00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000
-FC000003007E000007007E00000F007E00001E003E00003C003E000078001F0000F0001F
-0003E0000F800F800003E07E000001FFF80000003FC00000212977A72A>I<000000003F
-800000001FFF800000001FFF000000001FFF00000000007F00000000007F00000000007E
-00000000007E0000000000FE0000000000FE0000000000FC0000000000FC0000000001FC
-0000000001FC0000000001F80000000001F80000000003F80000000003F80000000003F0
-0000000003F00000000007F00000000007F00000000007E00000007E07E0000001FF8FE0
-000007C1CFE000001F80EFC000003F00FFC000007E007FC00000FC007FC00001F8003F80
-0003F0003F800003F0003F800007E0003F80000FE0003F00000FC0003F00001FC0007F00
-001FC0007F00003F80007E00003F80007E00003F8000FE00007F8000FE00007F0000FC00
-007F0000FC00007F0001FC0000FF0001FC0000FE0001F80000FE0001F80000FE0003F800
-00FE0003F83800FC0003F03800FC0003F03800FC0007F03800FC0007F07800FC000FE070
-007C000FE070007C001FE0F0007E003FE0E0003E007FE0E0003E00F3E1E0001F01E3E1C0
-000F8781E3800003FF00FF000000FC003E0000294077BE2E>I<00003F800001FFE00007
-E0F8001F803C003E003C00FC001E01F8001E03F0001E07F0001E0FE0003E0FC0003C1FC0
-003C3F80007C3F8000F83F8003F07F000FE07F00FF80FFFFFC00FFFFC000FE000000FE00
-0000FE000000FE000000FC000000FC000000FC000000FC000000FC000000FC000000FC00
-0006FC00000EFC00001E7C00003C7C0000783E0000F03E0001E01F0007C00F801F0007C0
-FC0001FFF000007F80001F2976A72A>I<000000007C0000000001FF0000000007C78000
-00000F83C00000001F87C00000001F1FC00000003F3FC00000003F3FC00000007E3FC000
-00007E3FC00000007E3F800000007E0E00000000FC0000000000FC0000000000FC000000
-0000FC0000000001FC0000000001F80000000001F80000000001F80000000001F8000000
-0003F80000000003F00000000003F00000000003F000000003FFFFF8000003FFFFF80000
-03FFFFF800000007E00000000007E00000000007E0000000000FE0000000000FC0000000
-000FC0000000000FC0000000000FC0000000000FC0000000001FC0000000001F80000000
-001F80000000001F80000000001F80000000003F80000000003F00000000003F00000000
-003F00000000003F00000000007F00000000007E00000000007E00000000007E00000000
-007E0000000000FE0000000000FC0000000000FC0000000000FC0000000000FC00000000
-01FC0000000001F80000000001F80000000001F80000000001F80000000003F000000000
-03F00000000003F00000000003F00000000007E00000000007E00000000007E000000000
-07E0000000000FC00000001E0FC00000007F0FC00000007F0F80000000FF0F80000000FF
-1F00000000FF1F00000000FE1E00000000F83C00000000703C000000007878000000003F
-E0000000000F80000000002A5383BF1C>I<000003F00000000FFC0000003E0E1C0000FC
-077E0001F003FE0003F003FE0007E001FE000FC001FC001F8001FC001F8001FC003F0001
-FC007F0001F8007E0001F800FE0003F800FE0003F801FC0003F001FC0003F001FC0007F0
-03FC0007F003F80007E003F80007E003F8000FE007F8000FE007F0000FC007F0000FC007
-F0001FC007F0001FC007F0001F8007E0001F8007E0003F8003E0003F8003E0007F0003F0
-00FF0003F000FF0001F001FF0000F003FE0000F80F7E00007C1EFE00001FF8FE000007E0
-FC00000000FC00000001FC00000001FC00000001F800000001F800000003F800000003F8
-00000003F0001C0007F0007F0007E000FF000FE000FF000FC000FF001F8000FF003F0000
-FE007E0000F800FC00007C03F000001FFFC0000003FE000000273B7CA72A>I<0001FC00
-0000FFFC000000FFF8000000FFF800000003F800000003F800000003F000000003F00000
-0007F000000007F000000007E000000007E00000000FE00000000FE00000000FC0000000
-0FC00000001FC00000001FC00000001F800000001F800000003F800000003F800000003F
-000000003F03F800007F0FFE00007F3E0F80007E780FC0007EE007C000FFC007E000FF80
-07E000FF0007E000FF0007E001FE0007E001FC0007E001FC0007E001F80007E003F8000F
-E003F8000FC003F0000FC003F0000FC007F0001FC007F0001F8007E0001F8007E0001F80
-0FE0003F800FE0003F000FC0003F000FC0007F001FC0007E001FC000FE071F8000FC071F
-8000FC073F8001FC0F3F8001F80E3F0001F80E3F0001F81E7F0001F01C7F0001F01C7E00
-01F0387E0001F038FE0001F070FE0000F0E0FC00007FC03800001F0028407ABE2E>I<00
-00780001FC0001FC0003FC0003FC0003FC0003F80000E000000000000000000000000000
-0000000000000000000000000000000000000000000000000000007C0001FF00038F8007
-07800E07C01E07C01C07C03C0FC0380FC0380FC0781FC0701F80701F80F03F80F03F0000
-3F00007F00007E0000FE0000FC0000FC0001FC0001F80001F80003F80003F00003F03807
-F03807E0380FE0780FC0700FC0700FC0F00F80E00F80E00F81C00F83C00F838007870003
-FE0000F800163E79BC1C>I<00000007000000001FC00000001FC00000003FC00000003F
-C00000003FC00000003F800000000E000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000007C00000003FF000000078F8000000E07C000001C07C000003
-C07C000003807E000007007E000007007E00000E00FE00000E00FC00001E00FC00001C00
-FC00003C01FC00003C01FC00000001F800000001F800000003F800000003F800000003F0
-00000003F000000007F000000007F000000007E000000007E00000000FE00000000FE000
-00000FC00000000FC00000001FC00000001FC00000001F800000001F800000003F800000
-003F800000003F000000003F000000007F000000007F000000007E000000007E00000000
-FE00000000FE00000000FC00000000FC00000001FC00000001F800000001F800001C01F8
-00007F03F00000FF03F00000FF07E00000FF07C00000FF0F800000FE1F000000F83E0000
-00707C0000003FF00000000FC0000000225083BC1C>I<0001FC000000FFFC000000FFF8
-000000FFF800000003F800000003F800000003F000000003F000000007F000000007F000
-000007E000000007E00000000FE00000000FE00000000FC00000000FC00000001FC00000
-001FC00000001F800000001F800000003F800000003F800000003F000000003F0003E000
-7F000FF8007F003C3C007E00707C007E00E1FC00FE01C1FC00FE0383FC00FC0703FC00FC
-0E03FC01FC1C03F801FC3800E001F870000001F860000003F8E0000003F9C0000003F780
-000003FE00000007FE00000007FFE0000007E7F8000007E0FE00000FE07F00000FE03F80
-000FC01F80000FC00FC0001FC00FC0001FC00FC0701F800FC0701F800FC0703F800FC0F0
-3F801FC0E03F001F80E03F001F80E07F001F81E07F001F81C07E000F83C07E000F8380FE
-000F8780FE00078F00FC0003FE00380000F80026407ABE2A>I<0007F003FFF003FFE003
-FFE0000FE0000FE0000FC0000FC0001FC0001FC0001F80001F80003F80003F80003F0000
-3F00007F00007F00007E00007E0000FE0000FE0000FC0000FC0001FC0001FC0001F80001
-F80003F80003F80003F00003F00007F00007F00007E00007E0000FE0000FE0000FC0000F
-C0001FC0001FC0001F80001F80003F80003F80003F00003F00007F00007F07007E07007E
-0700FE0F00FE0E00FC0E00FC0E00FC1E00FC1C00FC1C007C38007C78003C70001FE00007
-8000144079BE17>I<01F0003F80007F000007FC01FFE003FFC0000F3E07C1F80F83F000
-0E1F0F00FC1E01F8001E1F1C007C3800F8001C1F38007E7000FC003C1FF0007EE000FC00
-381FF0007FE000FC00381FE0007FC000FC00783FC0007F8000FC00703FC0007F8000FC00
-703F80007F0000FC00703F00007E0000FC00F03F0000FE0001FC00F07F0000FC0001F800
-007E0000FC0001F800007E0000FC0001F800007E0001FC0003F80000FE0001FC0003F000
-00FC0001F80003F00000FC0001F80003F00000FC0003F80007F00001FC0003F80007E000
-01F80003F00007E00001F80003F0000FE00001F80007F0000FC00003F80007F0001FC0E0
-03F00007E0001F80E003F00007E0001F80E003F0000FE0003F81E007F0000FE0003F01C0
-07E0000FC0003F01C007E0000FC0003F01C007E0001FC0003E03800FE0001FC0003E0380
-0FC0001F80003E07000FC0001F80003E07000FC0003F80003E0E001FC0003F80001E1C00
-1F80003F00000FF8000700000E000003E000432979A74A>I<01F0003F800007FC01FFE0
-000F3E07C1F8000E1F0F00FC001E1F1C007C001C1F38007E003C1FF0007E00381FF0007E
-00381FE0007E00783FC0007E00703FC0007E00703F80007E00703F00007E00F03F0000FE
-00F07F0000FC00007E0000FC00007E0000FC00007E0001FC0000FE0001F80000FC0001F8
-0000FC0001F80000FC0003F80001FC0003F00001F80003F00001F80007F00001F80007E0
-0003F8000FE07003F0000FC07003F0000FC07003F0001FC0F007F0001F80E007E0001F80
-E007E0001F81E007E0001F01C00FE0001F01C00FC0001F03800FC0001F03800FC0001F07
-001FC0000F0E001F800007FC0007000001F0002C2979A733>I<00001FC0000000FFF800
-0003F07C00000FC01F00001F801F00003F000F80007E000FC000FC0007C001F80007E003
-F00007E007F00007E007E00007E00FE00007F01FC00007F01FC00007F03F800007F03F80
-0007F03F80000FE07F80000FE07F00000FE07F00000FE07F00001FE0FF00001FC0FE0000
-1FC0FE00001FC0FE00003F80FE00003F80FE00007F00FE00007F00FC00007E007C0000FC
-007E0001FC007E0001F8007E0003F0003E0007E0001F000FC0001F001F80000F803E0000
-07C0FC000001FFF00000003F800000242977A72E>I<0003E001F800000FF807FE00001E
-7C1E0F80001C3E3C07C0003C3E7807C000383EE003E000783FE003E000703FC003F00070
-3F8001F000F07F0001F000E07F0001F800E07E0001F800E07E0003F801E0FE0003F801E0
-FE0003F80000FC0003F80000FC0003F80001FC0007F80001FC0007F00001F80007F00001
-F80007F00003F8000FF00003F8000FE00003F0000FE00003F0000FE00007F0001FC00007
-F0001FC00007E0001F800007E0003F80000FE0003F00000FE0007F00000FE0007E00000F
-E000FC00001FE000FC00001FE001F800001FF003F000001FF007E000003FB80F8000003F
-9C1F0000003F0FFC0000003F03E00000007F00000000007F00000000007E00000000007E
-0000000000FE0000000000FE0000000000FC0000000000FC0000000001FC0000000001FC
-0000000001F80000000001F80000000003F80000000003F8000000007FFFE0000000FFFF
-E0000000FFFFE00000002D3A80A72E>I<01F000FC0007FC07FF800F3E0F03C00E1F1C03
-E01E1F380FE01C1F700FE03C1FE01FE0381FE01FE0381FC01FE0783FC01FC0703F800700
-703F800000703F000000F03F000000F07F000000007E000000007E000000007E00000000
-FE00000000FC00000000FC00000000FC00000001FC00000001F800000001F800000001F8
-00000003F800000003F000000003F000000003F000000007F000000007E000000007E000
-000007E00000000FE00000000FC00000000FC00000000FC00000001FC00000001F800000
-000700000000232979A726>114 D<00007F800001FFE00007C0F8001F003C003E001C00
-3C001E007C003E00F8007E00F800FE00F800FE01F800FC01F800FC01F8007001FC000001
-FE000001FFC00001FFFC0000FFFF0000FFFF80007FFFC0003FFFE0000FFFF00000FFF000
-000FF0000007F0000003F00C0003F03F0003F07F8001F07F8003F0FF0003E0FF0003E0FF
-0003E0FC0007C0F0000F8070000F8078001F003C003C001F01F80007FFE00000FF00001F
-297AA725>I<0001C0000003F0000007F0000007F0000007E0000007E000000FE000000F
-E000000FC000000FC000001FC000001FC000001F8000001F8000003F8000003F8000003F
-0000003F00007FFFFF80FFFFFF80FFFFFF00007E000000FE000000FE000000FC000000FC
-000001FC000001FC000001F8000001F8000003F8000003F8000003F0000003F0000007F0
-000007F0000007E0000007E000000FE000000FE000000FC000000FC000001FC000001FC0
-1C001F801C001F801C003F803C003F8038003F0078003F0070003F00F0003F00E0003F01
-C0001F03C0001F0780000F0F000007FC000001F00000193A78B81E>I<007C0000000001
-FF00001C00038F80007E00070780007E000E07C0007E001E07C000FE001C07C000FE003C
-0FC000FC00380FC000FC00380FC001FC00781FC001FC00701F8001F800701F8001F800F0
-3F8003F800F03F0003F800003F0003F000007F0003F000007E0007F000007E0007F00000
-FE0007E00000FC0007E00000FC000FE00001FC000FE00001F8000FC00001F8000FC00001
-F8001FC00003F8001FC1C003F0001F81C003F0001F81C003F0003F81C003F0003F83C003
-F0003F038003F0003F038003F0007F078001F000FF070001F001FF070001F801DF0F0000
-F8079F0E00007C0F0F1C00001FFC07F8000007F001F0002A2979A731>I<007C0001C001
-FF0007F0038F8007F007078007F00E07C007F81E07C007F81C07C003F83C0FC003F8380F
-C001F0380FC001F0781FC000F0701F8000F0701F8000F0F03F8000F0F03F0000E0003F00
-00E0007F0000E0007E0001E0007E0001C000FE0001C000FC0001C000FC0003C001FC0003
-8001F800038001F800038001F800070003F800070003F0000F0003F0000E0003F0000E00
-03F0001C0003F0001C0003F000380003F000780001F000700001F800E00000F801C00000
-FC038000007E0F0000001FFE00000003F00000252979A72A>I<007C000000007001FF00
-007001FC038F8001F801FC07078001F801FC0E07C001F801FE1E07C003F801FE1C07C003
-F000FE3C0FC003F000FE380FC003F0007C380FC007F0007C781FC007E0003C701F8007E0
-003C701F8007E0003CF03F800FE0003CF03F000FC00038003F000FC00038007F000FC000
-38007E001FC00078007E001F80007000FE001F80007000FC001F80007000FC003F8000F0
-01FC003F0000E001F8003F0000E001F8003F0000E001F8003F0001E003F8007F0001C003
-F0007E0001C003F0007E0003C003F0007E00038003F0007E00038003F0007E00070003F0
-00FE00070003F000FE000E0001F001FE001E0001F801FF001C0000F8039F00380000FC07
-9F807000003E0F07C1E000001FFC03FFC0000003F0007F0000372979A73C>I<0003F001
-F800000FFC07FE00003C1E0E0F0000780F1C0F8000F00FB83F8001E00FF83F8001C007F0
-7F80038007F07F80078007E07F8007000FE07F000F000FE01C000E000FC000000E000FC0
-00001E001FC000001E001FC0000000001F80000000001F80000000003F80000000003F00
-000000003F00000000003F00000000007F00000000007E00000000007E00000000007E00
-00000000FE0000000000FC001C000000FC001C000000FC001C000001FC003C001E01FC00
-38003F01F80078007F81F80070007F83F800F000FF83F800E000FF077801C000FE0F7C03
-C0007C0E3C078000783C1E1E00001FF80FFC000007E003F0000029297CA72A>I<007C00
-000001FF000038038F8000FC07078000FC0E07C000FC1E07C001FC1C07C001F83C0FC001
-F8380FC001F8380FC003F8781FC003F0701F8003F0701F8003F0F03F8007F0F03F0007E0
-003F0007E0007F0007E0007E000FE0007E000FC000FE000FC000FC000FC000FC001FC001
-FC001FC001F8001F8001F8001F8001F8003F8003F8003F0003F0003F0003F0003F0003F0
-007F0003F0007E0003F0007E0003F0007E0003F000FE0003F000FC0001F001FC0001F803
-FC0000F807FC00007C1FF800003FF9F8000007E1F800000003F800000003F000000003F0
-00000007F0000E0007E0003F8007E0007F800FC0007F800FC0007F801F8000FF001F0000
-FF003E00007C007E00007000FC00007801F000003803E000001E0FC000000FFF00000003
-F8000000263B79A72C>I E /Fp 78 125 df<000001FF000FE00000001FFFE03FFC0000
-007F00F8FC1E000001FC003FF03F000007F0007FE07F80000FE000FFE0FF80001FC001FF
-C0FF80003F8001FF80FF80007F8001FF80FF80007F0001FF807F00007F0001FF003E0000
-FE0000FF00000000FE00007F00000000FE00007F00000000FE00007F00000000FE00007F
-00000000FE00007F00000000FE00007F00000000FE00007F00000000FE00007F00000000
-FE00007F00000000FE00007F00000000FE00007F00000000FE00007F00000000FE00007F
-000000FFFFFFFFFFFF8000FFFFFFFFFFFF8000FFFFFFFFFFFF800000FE00007F00000000
-FE00007F00000000FE00007F00000000FE00007F00000000FE00007F00000000FE00007F
-00000000FE00007F00000000FE00007F00000000FE00007F00000000FE00007F00000000
-FE00007F00000000FE00007F00000000FE00007F00000000FE00007F00000000FE00007F
-00000000FE00007F00000000FE00007F00000000FE00007F00000000FE00007F00000000
-FE00007F00000000FE00007F00000000FE00007F00000000FE00007F00000000FE00007F
-00000000FE00007F00000000FE00007F00000000FE00007F00000000FE00007F00000000
-FE00007F00000000FE00007F00000000FE00007F00000000FE00007F00000001FF0000FF
-8000007FFFFC3FFFFF80007FFFFC3FFFFF80007FFFFC3FFFFF800039407FBF35>11
-D<000001FF000000001FFFC00000007F01F0000001FC0078000007F0001C00000FE0003E
-00001FC000FF00003F8001FF00007F8001FF00007F0001FF00007F0001FF0000FE0001FF
-0000FE0000FE0000FE0000380000FE0000000000FE0000000000FE0000000000FE000000
-0000FE0000000000FE0000000000FE0000000000FE0000000000FE0000000000FE000000
-0000FE00007F00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF0000FE0001FF0000FE0000FF
-0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F
-0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F
-0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F
-0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F
-0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F
-0001FF0000FF807FFFFC3FFFFE7FFFFC3FFFFE7FFFFC3FFFFE2F407FBF33>I<000001FF
-800000001FFFF70000007F00FF000001F800FF000007F001FF00000FE001FF00001FC001
-FF00003F8001FF00007F8001FF00007F0001FF00007F0000FF0000FE00007F0000FE0000
-7F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE0000
-7F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE0000
-7F00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF0000FE00007F0000FE00007F0000FE0000
-7F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE0000
-7F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE0000
-7F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE0000
-7F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE0000
-7F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0000FE00007F0001FF0000
-FF807FFFFC3FFFFE7FFFFC3FFFFE7FFFFC3FFFFE2F407FBF33>I<000001FF0000FF8000
-00001FFFC00FFFE00000007F01F03F80F8000001F80078FE003C000007F0003FF8000E00
-000FE0007FF0001F00001FC000FFE0007F80003F8001FFC000FF80007F8001FFC000FF80
-007F0001FF8000FF80007F0001FF8000FF8000FE0001FF0000FF8000FE0000FF00007F00
-00FE00007F00001C0000FE00007F0000000000FE00007F0000000000FE00007F00000000
-00FE00007F0000000000FE00007F0000000000FE00007F0000000000FE00007F00000000
-00FE00007F0000000000FE00007F0000000000FE00007F0000000000FE00007F00003F80
-FFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFF8000FE00007F0000FF80
-00FE00007F00007F8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F80
-00FE00007F00003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F80
-00FE00007F00003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F80
-00FE00007F00003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F80
-00FE00007F00003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F80
-00FE00007F00003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F80
-00FE00007F00003F8000FE00007F00003F8000FE00007F00003F8000FE00007F00003F80
-00FE00007F00003F8000FE00007F00003F8000FE00007F00003F8001FF0000FF80007FC0
-7FFFFC3FFFFE1FFFFF7FFFFC3FFFFE1FFFFF7FFFFC3FFFFE1FFFFF48407FBF4C>I<003E
-003F007F00FF00FF01FE03FC07F807F00FE01FC01F803E007C00F8007000200010116EBE
-2D>19 D<1E000F007F803FC0FF807FC0FFC07FE0FFC07FE0FFE07FF0FFE07FF0FFE07FF0
-7FE03FF01E600F300060003000600030006000300060003000E0007000C0006000C00060
-00C0006001C000E0018000C0038001C003000180070003800E0007001C000E0018000C00
-38001C00300018001C1C7DBE2D>34 D<1E007F80FF80FFC0FFC0FFE0FFE0FFE07FE01E60
-006000600060006000E000C000C000C001C001800380030007000E001C00180038003000
-0B1C79BE19>39 D<0000300000700000E00001C0000380000780000F00001E00003E0000
-3C0000780000F80000F00001F00001E00003E00003E00007C00007C0000FC0000F80000F
-80001F80001F00001F00003F00003F00003F00003E00007E00007E00007E00007E00007E
-00007E00007C0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC
-0000FC0000FC0000FC0000FC0000FC0000FC0000FC0000FC00007C00007E00007E00007E
-00007E00007E00007E00003E00003F00003F00003F00001F00001F00001F80000F80000F
-80000FC00007C00007C00003E00003E00001E00001F00000F00000F800007800003C0000
-3E00001E00000F000007800003800001C00000E0000070000030145A77C323>I<C00000
-E000007000003800001C00001E00000F000007800007C00003C00001E00001F00000F000
-00F800007800007C00007C00003E00003E00003F00001F00001F00001F80000F80000F80
-000FC0000FC0000FC00007C00007E00007E00007E00007E00007E00007E00003E00003F0
-0003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F0
-0003F00003F00003F00003F00003F00003E00007E00007E00007E00007E00007E00007E0
-0007C0000FC0000FC0000FC0000F80000F80001F80001F00001F00003F00003E00003E00
-007C00007C0000780000F80000F00001F00001E00003C00007C0000780000F00001E0000
-1C0000380000700000E00000C00000145A7BC323>I<00000006000000000000000F0000
-00000000000F000000000000000F000000000000000F000000000000000F000000000000
-000F000000000000000F000000000000000F000000000000000F000000000000000F0000
-00000000000F000000000000000F000000000000000F000000000000000F000000000000
-000F000000000000000F000000000000000F000000000000000F000000000000000F0000
-00000000000F000000000000000F000000000000000F000000000000000F000000000000
-000F000000000000000F000000000000000F000000000000000F000000007FFFFFFFFFFF
-FFE0FFFFFFFFFFFFFFF0FFFFFFFFFFFFFFF07FFFFFFFFFFFFFE00000000F000000000000
-000F000000000000000F000000000000000F000000000000000F000000000000000F0000
-00000000000F000000000000000F000000000000000F000000000000000F000000000000
-000F000000000000000F000000000000000F000000000000000F000000000000000F0000
-00000000000F000000000000000F000000000000000F000000000000000F000000000000
-000F000000000000000F000000000000000F000000000000000F000000000000000F0000
-00000000000F000000000000000F000000000000000F0000000000000006000000003C3C
-7BB447>43 D<1E007F80FF80FFC0FFC0FFE0FFE0FFE07FE01E60006000600060006000E0
-00C000C000C001C001800380030007000E001C001800380030000B1C798919>I<FFFFFE
-FFFFFEFFFFFEFFFFFEFFFFFEFFFFFE17067F961E>I<1E007F807F80FFC0FFC0FFC0FFC0
-7F807F801E000A0A798919>I<000000018000000003C000000007C000000007C0000000
-07800000000F800000000F800000000F000000001F000000001F000000001E000000003E
-000000003E000000003C000000007C000000007C000000007800000000F800000000F800
-000000F000000001F000000001F000000001E000000003E000000003E000000003C00000
-0007C000000007C000000007800000000F800000000F800000001F000000001F00000000
-1E000000003E000000003E000000003C000000007C000000007C000000007800000000F8
-00000000F800000000F000000001F000000001F000000001E000000003E000000003E000
-000003C000000007C000000007C000000007800000000F800000000F800000000F000000
-001F000000001F000000001E000000003E000000003E000000007C000000007C00000000
-7800000000F800000000F800000000F000000001F000000001F000000001E000000003E0
-00000003E000000003C000000007C000000007C000000007800000000F800000000F8000
-00000F000000001F000000001F000000001E000000003E000000003E000000003C000000
-007C000000007C000000007800000000F800000000F800000000F0000000006000000000
-225B7BC32D>I<0001FE0000000FFFC000003F03F000007C00F80000F8007C0001F0003E
-0003E0001F0007C0000F8007C0000F800FC0000FC01F800007E01F800007E01F800007E0
-3F800007F03F800007F03F000003F07F000003F87F000003F87F000003F87F000003F87F
-000003F87F000003F8FF000003FCFF000003FCFF000003FCFF000003FCFF000003FCFF00
-0003FCFF000003FCFF000003FCFF000003FCFF000003FCFF000003FCFF000003FCFF0000
-03FCFF000003FCFF000003FCFF000003FCFF000003FCFF000003FCFF000003FCFF000003
-FC7F000003F87F000003F87F000003F87F000003F87F000003F83F800007F03F800007F0
-3F800007F01F800007E01F800007E01F800007E00FC0000FC00FC0000FC007E0001F8003
-E0001F0001F0003E0000F8007C00007C00F800003F03F000000FFFC0000001FE0000263F
-7DBC2D>I<0001C0000003C0000007C000001FC000007FC00007FFC000FFFFC000FF9FC0
-00F81FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC0
-00001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC0
-00001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC0
-00001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC0
-00001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC0
-00001FC000001FC000001FC000001FC000007FF000FFFFFFF8FFFFFFF8FFFFFFF81D3D78
-BC2D>I<0007FC0000003FFF800000FFFFE00003F01FF80007C007FC000F0001FE001E00
-00FF001C0000FF803C00007FC07800007FC07800003FE07000003FE0FF00003FE0FF8000
-1FF0FFC0001FF0FFC0001FF0FFC0001FF0FFC0001FF0FFC0001FF07F80001FF03F00001F
-F00C00001FF00000001FE00000003FE00000003FE00000003FC00000007FC00000007F80
-000000FF80000000FF00000001FE00000001FC00000003F800000007F000000007E00000
-000FC00000001F800000003F000000007E000000007C00000000F800000001F000000003
-E000000007C00000000F800000001F000070003E000070003C000070007800007000F000
-00E001E00000E003C00000E007800000E00F000001E01FFFFFFFE01FFFFFFFE03FFFFFFF
-E07FFFFFFFC0FFFFFFFFC0FFFFFFFFC0FFFFFFFFC0243D7CBC2D>I<0007FC0000003FFF
-800000F80FE00001E003F800078001FC000F0001FE000E0000FF001E0000FF801F80007F
-803FC0007FC03FE0007FC03FE0007FC03FF0007FC03FE0007FC03FE0007FC01FE0007FC0
-0FC0007FC00000007F80000000FF80000000FF00000000FF00000001FE00000001FE0000
-0003FC00000003F800000007E00000000FC00000003F0000001FFC0000001FFF80000000
-0FE000000007F800000003FC00000001FE00000000FF00000000FF800000007FC0000000
-7FC00000007FE00000003FE00000003FE00000003FF00000003FF00C00003FF03F00003F
-F07F80003FF0FFC0003FF0FFC0003FF0FFC0003FF0FFC0003FE0FFC0003FE0FF80007FE0
-7F00007FC07800007FC0780000FF803C0000FF801E0001FF000F0003FE0007C007FC0003
-F80FF00000FFFFE000003FFF80000007F80000243F7CBC2D>I<0000000E000000001E00
-0000003E000000003E000000007E000000007E00000000FE00000001FE00000001FE0000
-0003FE000000077E000000067E0000000E7E0000001C7E0000001C7E000000387E000000
-707E000000707E000000E07E000001C07E000001C07E000003807E000007007E00000700
-7E00000E007E00001C007E00001C007E000038007E000070007E000070007E0000E0007E
-0000C0007E0001C0007E000380007E000300007E000700007E000E00007E000C00007E00
-1C00007E003800007E003800007E007000007E00E000007E00FFFFFFFFFFFFFFFFFFFFFF
-FFFFFFFF000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000000
-00FE00000000FE00000000FE00000000FE00000000FE00000000FE00000001FF000001FF
-FFFF0001FFFFFF0001FFFFFF283E7EBD2D>I<06000003000780001F0007F800FE0007FF
-FFFE0007FFFFFC0007FFFFF80007FFFFF00007FFFFC00007FFFF000007FFFC0000073FE0
-000007000000000700000000070000000007000000000700000000070000000007000000
-00070000000007000000000700000000070000000007000000000701FE0000070FFF8000
-073E03E000077001F80007E000FC0007C0007E000780003F000700003F800600001F8000
-00001FC00000001FC00000001FE00000000FE00000000FE00000000FE00000000FF00000
-000FF00000000FF00C00000FF07F00000FF07F80000FF0FF80000FF0FF80000FF0FF8000
-0FF0FF80000FF0FF80000FE0FF00001FE0FC00001FE07000001FC07800001FC03800003F
-803C00003F801E00007F001F0000FE000F8001FC0007C003F80003F80FE00000FFFFC000
-003FFF00000007F80000243F7CBC2D>I<00001FE0000000FFF8000003F03E00000FC00F
-00001F000780003E000780007E001FC000FC003FC001F8007FC003F8007FC003F0007FC0
-07F0007FC00FE0003F800FE0001F001FE00000001FC00000001FC00000003FC00000003F
-C00000003FC00000007F800000007F800000007F80FE00007F87FF8000FF8F07E000FF9C
-01F000FFB800FC00FFB0007E00FFF0007E00FFE0003F00FFE0003F80FFC0003FC0FFC000
-3FC0FFC0001FE0FFC0001FE0FFC0001FE0FF80001FF0FF80001FF0FF80001FF0FF80001F
-F0FF80001FF07F80001FF07F80001FF07F80001FF07F80001FF07F80001FF07F80001FF0
-3F80001FF03FC0001FE03FC0001FE01FC0001FE01FC0003FC01FC0003FC00FE0003F800F
-E0003F8007E0007F0003F0007E0001F800FC0000FC01F800007E07F000003FFFE000000F
-FF80000003FC0000243F7CBC2D>I<38000000003C000000003F000000003FFFFFFFFC3F
-FFFFFFFC3FFFFFFFFC3FFFFFFFF87FFFFFFFF87FFFFFFFF07FFFFFFFE078000001E07000
-0003C0700000078070000007007000000F00E000001E00E000001C00E000003C00E00000
-78000000007000000000F000000001E000000001C000000003C000000007800000000700
-0000000F000000001E000000001E000000003C000000003C000000007C00000000780000
-0000F800000000F800000001F800000001F000000003F000000003F000000003F0000000
-07F000000007F000000007F00000000FF00000000FE00000000FE00000001FE00000001F
-E00000001FE00000001FE00000001FE00000001FE00000003FE00000003FE00000003FE0
-0000003FE00000003FE00000003FE00000003FE00000003FE00000003FE00000003FE000
-00001FC00000000700000026407BBD2D>I<0003FC0000001FFF8000007C07E00000F001
-F80001E0007C0003C0003E000780001F000F00001F000F00000F801E00000F801E00000F
-C03E000007C03E000007C03E000007C03E000007C03F000007C03F000007C03F80000F80
-3FC0000F801FE0001F801FF0001F001FFC003E000FFE007C000FFF80780007FFC0F00003
-FFF3E00001FFFF800000FFFF0000003FFF0000001FFFC000000FFFE000003FFFF8000078
-FFFC0001F07FFE0003E01FFF0007C00FFF800F8003FFC01F0001FFC03F00007FE03E0000
-3FE07E00001FE07C00000FF07C000007F0F8000003F0F8000003F0F8000003F0F8000001
-F0F8000001F0F8000001F0F8000001F0FC000001E07C000003E07C000003E07E000003C0
-3F000007C01F00000F801F80001F000FC0003E0007F0007C0001FC03F80000FFFFE00000
-1FFF80000003FC0000243F7CBC2D>I<0003FC0000001FFF0000007E07C00000FC03F000
-01F801F80003F000FC0007E0007C000FE0007E001FC0007F001FC0003F003FC0003F803F
-80003F807F80003FC07F80003FC07F80001FC0FF80001FC0FF80001FE0FF80001FE0FF80
-001FE0FF80001FE0FF80001FE0FF80001FF0FF80001FF0FF80001FF0FF80001FF0FF8000
-1FF07F80001FF07F80003FF07F80003FF07F80003FF03FC0003FF03FC0003FF01FC0007F
-F00FC0007FF007E000FFF007F000DFF003F001DFF000F8039FF0007E0F1FF0001FFE1FE0
-0007F01FE00000001FE00000001FE00000003FC00000003FC00000003FC00000003FC000
-00003F800000007F800F80007F001FC0007F003FE000FE003FE000FE003FE001FC003FE0
-01F8003FC003F0003F8007F0001E000FE0001F001FC0000FC07F000003FFFE000001FFF8
-0000003FC00000243F7CBC2D>I<1E007F807F80FFC0FFC0FFC0FFC07F807F801E000000
-000000000000000000000000000000000000000000000000000000000000000000000000
-1E007F807F80FFC0FFC0FFC0FFC07F807F801E000A2779A619>I<1E007F807F80FFC0FF
-C0FFC0FFC07F807F801E0000000000000000000000000000000000000000000000000000
-000000000000000000000000001E007F00FF80FF80FFC0FFC0FFC0FFC07FC01EC000C000
-C000C000C001C001800180018003800300070006000E000C001C003800300030000A3979
-A619>I<7FFFFFFFFFFFFFE0FFFFFFFFFFFFFFF0FFFFFFFFFFFFFFF07FFFFFFFFFFFFFE0
-000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000
-000000007FFFFFFFFFFFFFE0FFFFFFFFFFFFFFF0FFFFFFFFFFFFFFF07FFFFFFFFFFFFFE0
-3C167BA147>61 D<00000007000000000000000F800000000000000F800000000000000F
-800000000000001FC00000000000001FC00000000000001FC00000000000003FE0000000
-0000003FE00000000000003FE00000000000007FF00000000000007FF00000000000007F
-F0000000000000FFF8000000000000E7F8000000000000E7F8000000000001C7FC000000
-000001C3FC000000000001C3FC00000000000381FE00000000000381FE00000000000381
-FE00000000000700FF00000000000700FF00000000000700FF00000000000E007F800000
-00000E007F80000000000E007F80000000001C003FC0000000001C003FC0000000001C00
-3FC00000000038001FE00000000038001FE00000000038001FE00000000070000FF00000
-000070000FF00000000070000FF000000000E00007F800000000E00007F800000000E000
-07F800000001C00003FC00000001FFFFFFFC00000001FFFFFFFC00000003FFFFFFFE0000
-0003800001FE00000003800001FE00000007000000FF00000007000000FF0000000F0000
-00FF8000000E0000007F8000000E0000007F8000001E0000007FC000001C0000003FC000
-001C0000003FC000003C0000003FE00000380000001FE00000380000001FE00000780000
-001FF00000780000000FF00000FC0000000FF00003FC0000001FF8000FFF0000003FFC00
-FFFFF0000FFFFFF8FFFFF0000FFFFFF8FFFFF0000FFFFFF83D417DC044>65
-D<FFFFFFFFFC0000FFFFFFFFFF8000FFFFFFFFFFF00001FF80000FF800007F000003FE00
-007F000001FF00007F000000FF80007F0000007FC0007F0000003FE0007F0000003FE000
-7F0000001FF0007F0000001FF0007F0000001FF8007F0000001FF8007F0000001FF8007F
-0000000FF8007F0000001FF8007F0000001FF8007F0000001FF8007F0000001FF0007F00
-00001FF0007F0000003FE0007F0000007FE0007F0000007FC0007F000000FF80007F0000
-01FF00007F000003FC00007F00000FF800007F00007FE000007FFFFFFF0000007FFFFFFF
-E000007F000007FC00007F000001FE00007F000000FF80007F0000007FC0007F0000003F
-E0007F0000001FF0007F0000001FF8007F0000000FF8007F0000000FFC007F00000007FC
-007F00000007FC007F00000007FE007F00000007FE007F00000007FE007F00000007FE00
-7F00000007FE007F00000007FE007F00000007FE007F00000007FC007F0000000FFC007F
-0000000FFC007F0000001FF8007F0000001FF0007F0000003FF0007F0000007FE0007F00
-0000FFC0007F000003FF8001FF80000FFE00FFFFFFFFFFFC00FFFFFFFFFFE000FFFFFFFF
-FF0000373E7DBD40>I<0000003FF00006000003FFFE000E00000FFFFF801E00003FF007
-E03E0000FF8000F83E0003FE00007C7E0007F800001EFE000FF000000FFE003FE0000007
-FE007FC0000003FE00FF80000003FE00FF00000001FE01FE00000000FE03FE00000000FE
-07FC000000007E07F8000000007E0FF8000000003E0FF8000000003E1FF0000000001E1F
-F0000000001E3FF0000000001E3FE0000000001E3FE0000000000E7FE0000000000E7FE0
-000000000E7FE0000000000E7FC00000000000FFC00000000000FFC00000000000FFC000
-00000000FFC00000000000FFC00000000000FFC00000000000FFC00000000000FFC00000
-000000FFC00000000000FFC00000000000FFC00000000000FFC000000000007FC0000000
-00007FE000000000007FE0000000000E7FE0000000000E3FE0000000000E3FE000000000
-0E3FF0000000000E1FF0000000001E1FF0000000001C0FF8000000001C0FF8000000001C
-07F8000000003C07FC000000003803FE000000007801FE000000007000FF00000000F000
-FF80000001E0007FC0000001C0003FE0000003C0000FF0000007800007F800001F000003
-FE00003E000000FF8000F80000003FF007F00000000FFFFFC000000003FFFF0000000000
-3FF0000037427BBF42>I<FFFFFFFFFC000000FFFFFFFFFF800000FFFFFFFFFFE0000001
-FFC0001FF80000007F800003FE0000007F800000FF0000007F8000007F8000007F800000
-3FC000007F8000000FE000007F8000000FF000007F80000007F800007F80000003FC0000
-7F80000001FC00007F80000001FE00007F80000000FF00007F80000000FF00007F800000
-00FF80007F800000007F80007F800000007FC0007F800000007FC0007F800000007FC000
-7F800000003FE0007F800000003FE0007F800000003FE0007F800000003FE0007F800000
-003FE0007F800000003FF0007F800000003FF0007F800000003FF0007F800000003FF000
-7F800000003FF0007F800000003FF0007F800000003FF0007F800000003FF0007F800000
-003FF0007F800000003FF0007F800000003FF0007F800000003FE0007F800000003FE000
-7F800000003FE0007F800000003FE0007F800000003FE0007F800000007FC0007F800000
-007FC0007F800000007F80007F800000007F80007F80000000FF80007F80000000FF0000
-7F80000001FE00007F80000001FE00007F80000003FC00007F80000003F800007F800000
-07F800007F8000000FF000007F8000001FE000007F8000007FC000007F800000FF000000
-7F800003FE000001FFC0001FF80000FFFFFFFFFFF00000FFFFFFFFFF800000FFFFFFFFFC
-0000003C3E7DBD45>I<FFFFFFFFFFFFE0FFFFFFFFFFFFE0FFFFFFFFFFFFE001FFC00001
-FFE0007F8000001FE0007F8000000FF0007F80000003F0007F80000003F0007F80000001
-F0007F80000000F0007F80000000F0007F80000000F0007F8000000070007F8000000070
-007F8000000070007F8000000070007F8000000038007F80001C0038007F80001C003800
-7F80001C0038007F80001C0038007F80001C0000007F80001C0000007F80003C0000007F
-80003C0000007F80007C0000007F8000FC0000007F8003FC0000007FFFFFFC0000007FFF
-FFFC0000007FFFFFFC0000007F8003FC0000007F8000FC0000007F80007C0000007F8000
-3C0000007F80003C0000007F80001C0000007F80001C0000007F80001C0007007F80001C
-0007007F80001C0007007F80001C000E007F800000000E007F800000000E007F80000000
-0E007F800000000E007F800000001E007F800000001C007F800000001C007F800000003C
-007F800000003C007F800000007C007F800000007C007F80000000F8007F80000001F800
-7F80000003F8007F80000007F8007F8000001FF801FFC00001FFF8FFFFFFFFFFFFF0FFFF
-FFFFFFFFF0FFFFFFFFFFFFF0383E7DBD3E>I<FFFFFFFFFFFF80FFFFFFFFFFFF80FFFFFF
-FFFFFF8001FFC00003FF80007F8000007F80007F8000001FC0007F8000000FC0007F8000
-0007C0007F80000007C0007F80000003C0007F80000003C0007F80000003C0007F800000
-01C0007F80000001C0007F80000001C0007F80000001C0007F80000000E0007F80000000
-E0007F80003800E0007F80003800E0007F80003800E0007F8000380000007F8000380000
-007F8000380000007F8000780000007F8000780000007F8000F80000007F8001F8000000
-7F8007F80000007FFFFFF80000007FFFFFF80000007FFFFFF80000007F8007F80000007F
-8001F80000007F8000F80000007F8000780000007F8000780000007F8000380000007F80
-00380000007F8000380000007F8000380000007F8000380000007F8000380000007F8000
-000000007F8000000000007F8000000000007F8000000000007F8000000000007F800000
-0000007F8000000000007F8000000000007F8000000000007F8000000000007F80000000
-00007F8000000000007F8000000000007F8000000000007F800000000001FFE000000000
-FFFFFFF0000000FFFFFFF0000000FFFFFFF0000000333E7DBD3B>I<0000003FE0000C00
-000003FFFE001C0000001FFFFF803C0000007FF00FC07C000000FF0001F07C000003FC00
-0078FC000007F800003DFC00001FE000001FFC00003FC000000FFC00007F80000007FC00
-00FF80000003FC0001FF00000003FC0001FE00000001FC0003FC00000001FC0007FC0000
-0000FC0007F800000000FC000FF8000000007C000FF0000000007C001FF0000000003C00
-1FF0000000003C003FE0000000003C003FE0000000003C003FE0000000001C007FE00000
-00001C007FE0000000001C007FC0000000001C007FC0000000000000FFC0000000000000
-FFC0000000000000FFC0000000000000FFC0000000000000FFC0000000000000FFC00000
-00000000FFC0000000000000FFC0000000000000FFC0000000000000FFC0000000000000
-FFC0000000000000FFC000001FFFFFF07FC000001FFFFFF07FC000001FFFFFF07FE00000
-000FFE007FE000000003FC003FE000000003FC003FE000000003FC003FF000000003FC00
-1FF000000003FC001FF000000003FC000FF800000003FC000FF800000003FC0007F80000
-0003FC0007FC00000003FC0003FC00000003FC0001FE00000003FC0001FF00000003FC00
-00FF80000003FC00007FC0000007FC00003FE0000007FC00001FF000000FFC000007F800
-001EFC000003FE00003C7C000000FF8000F83C0000007FF007F01C0000001FFFFFC00C00
-000003FFFF0000000000003FF00000003C427BBF47>I<FFFFFFC01FFFFFF8FFFFFFC01F
-FFFFF8FFFFFFC01FFFFFF801FFE000003FFC00007F8000000FF000007F8000000FF00000
-7F8000000FF000007F8000000FF000007F8000000FF000007F8000000FF000007F800000
-0FF000007F8000000FF000007F8000000FF000007F8000000FF000007F8000000FF00000
-7F8000000FF000007F8000000FF000007F8000000FF000007F8000000FF000007F800000
-0FF000007F8000000FF000007F8000000FF000007F8000000FF000007F8000000FF00000
-7F8000000FF000007F8000000FF000007F8000000FF000007F8000000FF000007FFFFFFF
-FFF000007FFFFFFFFFF000007FFFFFFFFFF000007F8000000FF000007F8000000FF00000
-7F8000000FF000007F8000000FF000007F8000000FF000007F8000000FF000007F800000
-0FF000007F8000000FF000007F8000000FF000007F8000000FF000007F8000000FF00000
-7F8000000FF000007F8000000FF000007F8000000FF000007F8000000FF000007F800000
-0FF000007F8000000FF000007F8000000FF000007F8000000FF000007F8000000FF00000
-7F8000000FF000007F8000000FF000007F8000000FF000007F8000000FF000007F800000
-0FF000007F8000000FF000007F8000000FF00001FFE000003FFC00FFFFFFC01FFFFFF8FF
-FFFFC01FFFFFF8FFFFFFC01FFFFFF83D3E7DBD44>I<FFFFFFF0FFFFFFF0FFFFFFF000FF
-F000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003F
-C000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003F
-C000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003F
-C000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003F
-C000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003F
-C000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003F
-C00000FFF000FFFFFFF0FFFFFFF0FFFFFFF01C3E7EBD21>I<001FFFFFFC001FFFFFFC00
-1FFFFFFC000007FF00000003FE00000001FE00000001FE00000001FE00000001FE000000
-01FE00000001FE00000001FE00000001FE00000001FE00000001FE00000001FE00000001
-FE00000001FE00000001FE00000001FE00000001FE00000001FE00000001FE00000001FE
-00000001FE00000001FE00000001FE00000001FE00000001FE00000001FE00000001FE00
-000001FE00000001FE00000001FE00000001FE00000001FE00000001FE00000001FE0000
-0001FE00000001FE00000001FE00000001FE00000001FE00000001FE00000001FE000000
-01FE00000001FE003F0001FE007F8001FE00FFC001FE00FFC001FE00FFC001FE00FFC001
-FE00FFC003FC00FF8003FC007F0003F8007C0007F800380007F0003C000FE0001E001FC0
-000F003F800003E07E000000FFF80000003FC0000026407CBD2F>I<FFFFFFF8000000FF
-FFFFF8000000FFFFFFF800000001FFE000000000007F8000000000007F8000000000007F
-8000000000007F8000000000007F8000000000007F8000000000007F8000000000007F80
-00000000007F8000000000007F8000000000007F8000000000007F8000000000007F8000
-000000007F8000000000007F8000000000007F8000000000007F8000000000007F800000
-0000007F8000000000007F8000000000007F8000000000007F8000000000007F80000000
-00007F8000000000007F8000000000007F8000000000007F8000000000007F8000000000
-007F8000000000007F8000000000007F8000000000007F8000000000007F800000000000
-7F8000000000007F8000000380007F8000000380007F8000000380007F8000000380007F
-8000000380007F8000000780007F8000000700007F8000000700007F8000000700007F80
-00000700007F8000000F00007F8000000F00007F8000000F00007F8000001F00007F8000
-001F00007F8000003F00007F8000007F00007F800000FF00007F800001FE00007F800007
-FE0001FFC0003FFE00FFFFFFFFFFFE00FFFFFFFFFFFE00FFFFFFFFFFFE00313E7DBD39>
-76 D<FFFFC0000000003FFFF0FFFFC0000000003FFFF0FFFFC0000000003FFFF001FFE0
-000000007FF800007FE0000000007FE0000077F000000000EFE0000077F000000000EFE0
-000077F000000000EFE0000073F800000001CFE0000073F800000001CFE0000071FC0000
-00038FE0000071FC000000038FE0000071FC000000038FE0000070FE000000070FE00000
-70FE000000070FE0000070FF0000000E0FE00000707F0000000E0FE00000707F0000000E
-0FE00000703F8000001C0FE00000703F8000001C0FE00000703F8000001C0FE00000701F
-C00000380FE00000701FC00000380FE00000700FE00000700FE00000700FE00000700FE0
-0000700FE00000700FE000007007F00000E00FE000007007F00000E00FE000007003F800
-01C00FE000007003F80001C00FE000007003F80001C00FE000007001FC0003800FE00000
-7001FC0003800FE000007001FC0003800FE000007000FE0007000FE000007000FE000700
-0FE0000070007F000E000FE0000070007F000E000FE0000070007F000E000FE000007000
-3F801C000FE0000070003F801C000FE0000070001FC038000FE0000070001FC038000FE0
-000070001FC038000FE0000070000FE070000FE0000070000FE070000FE0000070000FE0
-E0000FE00000700007F0E0000FE00000700007F0E0000FE00000700003F9C0000FE00000
-700003F9C0000FE00000700003F9C0000FE00000700001FF80000FE00000700001FF8000
-0FE00000700000FF00000FE00000700000FF00000FE00000F80000FF00000FE00001FC00
-007E00000FE00007FF00007E00003FF800FFFFF8003C001FFFFFF0FFFFF8003C001FFFFF
-F0FFFFF8003C001FFFFFF04C3E7DBD53>I<FFFF800000FFFFF8FFFFC00000FFFFF8FFFF
-E00000FFFFF8007FE0000007FF00007FF0000001FC00007FF8000000F800007FF8000000
-70000077FC00000070000073FE00000070000073FE00000070000071FF00000070000070
-FF80000070000070FF800000700000707FC00000700000703FE00000700000703FE00000
-700000701FF00000700000700FF80000700000700FF800007000007007FC000070000070
-03FE00007000007003FE00007000007001FF00007000007000FF80007000007000FF8000
-70000070007FC00070000070003FE00070000070003FE00070000070001FF00070000070
-000FF80070000070000FF800700000700007FC00700000700003FE00700000700003FE00
-700000700001FF00700000700000FF80700000700000FF807000007000007FC070000070
-00003FE07000007000003FE07000007000001FF07000007000000FF87000007000000FF8
-70000070000007FC70000070000003FE70000070000003FE70000070000001FF70000070
-000000FFF0000070000000FFF00000700000007FF00000700000003FF00000700000003F
-F00000700000001FF00000700000000FF00000700000000FF000007000000007F00000F8
-00000003F00001FC00000003F00007FF00000001F000FFFFF8000000F000FFFFF8000000
-F000FFFFF800000070003D3E7DBD44>I<0000007FE0000000000007FFFE00000000001F
-C03F80000000007E0007E000000001FC0003F800000007F00000FE0000000FE000007F00
-00001FC000003F8000003F8000001FC000007F0000000FE00000FE00000007F00001FE00
-000007F80001FC00000003F80003FC00000003FC0007F800000001FE0007F800000001FE
-000FF000000000FF000FF000000000FF001FF000000000FF801FE0000000007F803FE000
-0000007FC03FE0000000007FC03FE0000000007FC07FE0000000007FE07FC0000000003F
-E07FC0000000003FE07FC0000000003FE0FFC0000000003FF0FFC0000000003FF0FFC000
-0000003FF0FFC0000000003FF0FFC0000000003FF0FFC0000000003FF0FFC0000000003F
-F0FFC0000000003FF0FFC0000000003FF0FFC0000000003FF0FFC0000000003FF0FFC000
-0000003FF07FC0000000003FE07FE0000000007FE07FE0000000007FE07FE0000000007F
-E07FE0000000007FE03FE0000000007FC03FE0000000007FC01FF000000000FF801FF000
-000000FF801FF000000000FF800FF800000001FF000FF800000001FF0007FC00000003FE
-0003FC00000003FC0003FE00000007FC0001FE00000007F80000FF0000000FF000007F00
-00000FE000003F8000001FC000001FC000003F8000000FE000007F00000007F00000FE00
-000001FC0003F8000000007F000FE0000000001FC03F800000000007FFFE000000000000
-7FE00000003C427BBF47>I<FFFFFFFFF80000FFFFFFFFFF8000FFFFFFFFFFE00001FFC0
-003FF800007F800007FC00007F800001FE00007F800000FF00007F8000007F80007F8000
-003FC0007F8000003FE0007F8000003FE0007F8000001FF0007F8000001FF0007F800000
-1FF8007F8000001FF8007F8000001FF8007F8000001FF8007F8000001FF8007F8000001F
-F8007F8000001FF8007F8000001FF8007F8000001FF0007F8000001FF0007F8000003FE0
-007F8000003FE0007F8000003FC0007F8000007F80007F800000FF00007F800001FE0000
-7F800007FC00007F80003FF000007FFFFFFFC000007FFFFFFE0000007F8000000000007F
-8000000000007F8000000000007F8000000000007F8000000000007F8000000000007F80
-00000000007F8000000000007F8000000000007F8000000000007F8000000000007F8000
-000000007F8000000000007F8000000000007F8000000000007F8000000000007F800000
-0000007F8000000000007F8000000000007F8000000000007F8000000000007F80000000
-00007F8000000000007F8000000000007F800000000001FFE000000000FFFFFFC0000000
-FFFFFFC0000000FFFFFFC0000000353E7DBD3E>I<FFFFFFFFC0000000FFFFFFFFFC0000
-00FFFFFFFFFF80000001FFC000FFE00000007F80001FF00000007F800007FC0000007F80
-0001FE0000007F800000FF0000007F800000FF8000007F8000007FC000007F8000007FC0
-00007F8000003FE000007F8000003FE000007F8000003FF000007F8000003FF000007F80
-00003FF000007F8000003FF000007F8000003FF000007F8000003FF000007F8000003FF0
-00007F8000003FE000007F8000007FE000007F8000007FC000007F8000007F8000007F80
-0000FF8000007F800000FF0000007F800001FC0000007F800007F80000007F80001FE000
-00007F8000FF800000007FFFFFFC000000007FFFFFF0000000007F8001FC000000007F80
-003F000000007F80001FC00000007F80000FE00000007F800007F00000007F800007F800
-00007F800003F80000007F800003FC0000007F800001FC0000007F800001FE0000007F80
-0001FE0000007F800001FE0000007F800001FF0000007F800001FF0000007F800001FF00
-00007F800001FF0000007F800001FF8000007F800001FF8000007F800001FF8000007F80
-0001FF8000007F800001FFC004007F800001FFC00E007F800001FFC00E007F800000FFC0
-0E007F800000FFE00E007F8000007FE01E01FFE000007FE01CFFFFFFC0003FF01CFFFFFF
-C0001FF838FFFFFFC00007F870000000000001FFE00000000000003F803F407DBD43>82
-D<0007FC000C001FFF801C007FFFF03C01FC03F83C03F0007E7C07C0001FFC0F80000FFC
-1F800007FC3F000003FC3E000001FC7E000000FC7E000000FC7C0000007CFC0000007CFC
-0000007CFC0000003CFC0000003CFC0000003CFE0000001CFE0000001CFF0000001CFF00
-00001C7F800000007FC00000007FE00000003FF80000003FFF8000001FFFF800000FFFFF
-800007FFFFF00003FFFFFC0001FFFFFF0000FFFFFFC0003FFFFFE00007FFFFF000007FFF
-F0000007FFF80000007FFC0000000FFC00000007FE00000003FE00000001FE00000000FF
-00000000FFE00000007FE00000007FE00000007FE00000003FE00000003FF00000003FF0
-0000003FF00000003FF00000003EF80000003EF80000007EFC0000007CFE000000FCFF00
-0000F8FF800001F8FFC00003F0FFE00007E0F9FC000FC0F07F803F80F01FFFFE00E007FF
-F800C0007FC00028427BBF33>I<3FFFFFFFFFFFFF803FFFFFFFFFFFFF803FFFFFFFFFFF
-FF803FF0007FE001FF803F80003FC0003F807F00003FC0001FC07E00003FC00007C07C00
-003FC00007C07800003FC00003C07800003FC00003C07800003FC00003C07000003FC000
-01C07000003FC00001C07000003FC00001C07000003FC00001C07000003FC00001C0E000
-003FC00000E0E000003FC00000E0E000003FC00000E0E000003FC00000E0E000003FC000
-00E00000003FC00000000000003FC00000000000003FC00000000000003FC00000000000
-003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC000
-00000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000
-003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC000
-00000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000
-003FC00000000000003FC00000000000003FC00000000000003FC00000000000003FC000
-00000000003FC00000000000003FC00000000000003FC00000000000003FC00000000000
-003FC00000000000003FC00000000000003FC00000000000003FC00000000000007FE000
-0000000000FFF00000000007FFFFFFFE00000007FFFFFFFE00000007FFFFFFFE00003B3D
-7DBC42>I<FFFFFFC000FFFFF8FFFFFFC000FFFFF8FFFFFFC000FFFFF801FFE0000007FF
-00007F80000001FC00007F80000000F800007F800000007000007F800000007000007F80
-0000007000007F800000007000007F800000007000007F800000007000007F8000000070
-00007F800000007000007F800000007000007F800000007000007F800000007000007F80
-0000007000007F800000007000007F800000007000007F800000007000007F8000000070
-00007F800000007000007F800000007000007F800000007000007F800000007000007F80
-0000007000007F800000007000007F800000007000007F800000007000007F8000000070
-00007F800000007000007F800000007000007F800000007000007F800000007000007F80
-0000007000007F800000007000007F800000007000007F800000007000007F8000000070
-00007F800000007000007F800000007000007F800000007000007F800000007000007F80
-0000007000007F800000007000003F80000000F000003FC0000000E000003FC0000000E0
-00003FC0000001E000001FC0000001C000001FE0000001C000000FE0000003C000000FF0
-00000780000007F000000700000003F800000F00000001FC00001E00000000FE00003C00
-0000007F0000F8000000003F8001F0000000000FF00FE00000000003FFFF800000000000
-FFFE0000000000001FF00000003D407DBD44>I<FFFFFF00000FFFFEFFFFFF00000FFFFE
-FFFFFF00000FFFFE03FFE0000001FFE001FF800000007F8000FF800000003F00007F8000
-00003E00007F800000001C00007FC00000003C00003FC00000003800003FC00000003800
-003FE00000007800001FE00000007000001FE00000007000000FF0000000E000000FF000
-0000E000000FF8000001E0000007F8000001C0000007F8000001C0000007FC000003C000
-0003FC00000380000003FC00000380000001FE00000700000001FE00000700000001FF00
-000700000000FF00000E00000000FF00000E00000000FF80001E000000007F80001C0000
-00007F80001C000000007FC0003C000000003FC00038000000003FC00038000000001FE0
-0070000000001FE00070000000001FF000F0000000000FF000E0000000000FF000E00000
-00000FF801E00000000007F801C00000000007F801C00000000003FC03800000000003FC
-03800000000003FE07800000000001FE07000000000001FE07000000000001FF0F000000
-000000FF0E000000000000FF0E0000000000007F9C0000000000007F9C0000000000007F
-DC0000000000003FF80000000000003FF80000000000003FF80000000000001FF0000000
-0000001FF00000000000001FF00000000000000FE00000000000000FE000000000000007
-C000000000000007C000000000000007C000000000000003800000003F407EBD44>I<FF
-FFFE007FFFFF8007FFFFFFFFFE007FFFFF8007FFFFFFFFFE007FFFFF8007FFFF03FFC000
-01FFE00000FFF801FF000000FFC000003FE001FF0000007F8000000F8000FF0000007F80
-00000F8000FF0000007FC000000F0000FF8000003FC000000F00007F8000003FC000000E
-00007F8000003FE000000E00007F8000003FE000000E00003FC000003FE000001C00003F
-C000003FE000001C00003FC000007FF000001C00001FE000007FF000003800001FE00000
-7FF000003800001FE00000E7F800003800000FF00000E7F800007000000FF00000E7F800
-007000000FF00001C3FC00007000000FF80001C3FC0000F0000007F80001C3FC0000E000
-0007F80003C3FE0000E0000007FC000381FE0001E0000003FC000381FE0001C0000003FC
-000781FF0001C0000003FC000700FF0001C0000001FE000700FF000380000001FE000700
-FF000380000001FE000E007F800380000000FF000E007F800700000000FF000E007F8007
-00000000FF001C003FC007000000007F801C003FC00E000000007F801C003FC00E000000
-007F8038001FE00E000000007FC038001FE01E000000003FC038001FE01C000000003FC0
-78001FF01C000000003FE070000FF03C000000001FE070000FF038000000001FE0F0000F
-F838000000001FE0E00007F838000000000FF0E00007F870000000000FF0E00007F87000
-0000000FF1C00003FC700000000007F9C00003FCE00000000007F9C00003FCE000000000
-07FB800001FEE00000000003FF800001FFC00000000003FF800001FFC00000000003FF00
-0000FFC00000000003FF000000FFC00000000001FF000000FF800000000001FF000000FF
-800000000001FE0000007F800000000000FE0000007F000000000000FE0000007F000000
-000000FC0000003F0000000000007C0000003E0000000000007C0000003E000000000000
-780000001E000000000000380000001C00000058407EBD5D>I<FFFCFFFCFFFCFFFCF000
-F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000
-F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000
-F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000
-F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000F000
-F000F000F000F000F000F000F000F000F000F000FFFCFFFCFFFCFFFC0E5B77C319>91
-D<018000C0038001C003000180070003800E0007001C000E0018000C0038001C00300018
-0070003800600030006000300060003000E0007000C0006000C0006000C0006000C00060
-00CF006780FFC07FE0FFE07FF0FFE07FF0FFE07FF07FE03FF07FE03FF03FE01FF03FC01F
-E00F0007801C1C73BE2D>I<FFFCFFFCFFFCFFFC003C003C003C003C003C003C003C003C
-003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C
-003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C
-003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C
-003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C003C
-003C003C003CFFFCFFFCFFFCFFFC0E5B7FC319>I<000FF800000000FFFE00000003F01F
-800000078007E000000F8003F000000FE001F800001FF001FC00001FF000FE00001FF000
-FE00001FF000FE00001FF0007F00000FE0007F00000380007F00000000007F0000000000
-7F00000000007F00000000007F000000001FFF00000003FFFF0000001FF87F0000007F80
-7F000001FC007F000007F8007F00000FE0007F00001FC0007F00003F80007F00003F8000
-7F00007F00007F00007F00007F0380FE00007F0380FE00007F0380FE00007F0380FE0000
-FF0380FE0000FF0380FE0000FF03807F0001FF03807F0003BF03803F80071F87001FC00E
-1FCF0007F03C0FFE0001FFF807FC00003FC001F000292A7DA82D>97
-D<01FC00000000FFFC00000000FFFC00000000FFFC0000000007FC0000000003FC000000
-0001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC000000
-0001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC000000
-0001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC03FC00
-0001FC1FFF800001FC7C07E00001FDE001F00001FFC000FC0001FF80007E0001FF00003F
-0001FE00003F8001FC00001F8001FC00001FC001FC00000FE001FC00000FE001FC00000F
-F001FC00000FF001FC000007F001FC000007F801FC000007F801FC000007F801FC000007
-F801FC000007F801FC000007F801FC000007F801FC000007F801FC000007F801FC000007
-F801FC000007F001FC000007F001FC00000FF001FC00000FF001FC00000FE001FC00001F
-E001FC00001FC001FE00001F8001FE00003F0001FF00007F0001FF8000FE0001F3C001F8
-0001F1E003F00001E0780FC00001C03FFF0000000007F800002D407EBE33>I<0001FF00
-00000FFFE000003F00F800007C001E0001F8001F0003F0007F0007F000FF800FE000FF80
-0FC000FF801FC000FF801FC000FF803F80007F003F80001C007F800000007F800000007F
-00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00000000FF00
-000000FF00000000FF00000000FF00000000FF000000007F800000007F800000007F8000
-00003F800001C03FC00001C01FC00003C01FC00003800FE000078007F000070003F0000E
-0001F8001E0000FC007800003F01F000000FFFC0000001FE0000222A7DA828>I<000000
-01FC00000000FFFC00000000FFFC00000000FFFC0000000007FC0000000003FC00000000
-01FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC00000000
-01FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC00000000
-01FC0000000001FC0000000001FC0000000001FC0000000001FC000000FF01FC000007FF
-E1FC00001F80F9FC00007E003DFC0000FC001FFC0003F80007FC0007F00007FC0007E000
-03FC000FC00001FC001FC00001FC003FC00001FC003F800001FC007F800001FC007F8000
-01FC007F000001FC007F000001FC00FF000001FC00FF000001FC00FF000001FC00FF0000
-01FC00FF000001FC00FF000001FC00FF000001FC00FF000001FC00FF000001FC00FF0000
-01FC007F000001FC007F800001FC007F800001FC003F800001FC003F800001FC001FC000
-01FC000FC00003FC000FE00003FC0007E00007FC0003F0000FFE0001F8001FFF00007C00
-79FFF8003F01F1FFF8000FFFC1FFF80001FE01FC002D407DBE33>I<0001FE0000000FFF
-C000003F03F00000FC01F80001F800FC0003F0007E0007E0003F000FE0003F800FC0001F
-801FC0001FC03F80000FC03F80000FC07F80000FC07F80000FE07F00000FE07F00000FE0
-FF00000FE0FF00000FE0FFFFFFFFE0FFFFFFFFE0FF00000000FF00000000FF00000000FF
-00000000FF00000000FF000000007F000000007F000000007F800000003F800000003F80
-0000E01FC00000E01FC00001E00FC00001C007E00003C007F000078003F800070000FC00
-1E00007E003C00001F80F8000007FFE0000000FF0000232A7EA828>I<00001FC000007F
-F80001F83C0007E07E000FC0FF001FC1FF003F81FF003F01FF007F01FF007F00FE00FE00
-7C00FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE00
-0000FE000000FE000000FE000000FE000000FE0000FFFFFF00FFFFFF00FFFFFF0000FE00
-0000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE00
-0000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE00
-0000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE00
-0000FE000000FE000000FE000000FE000001FF00007FFFFF007FFFFF007FFFFF0020407E
-BF1C>I<000000007C000003F801FF00001FFF078F80007E0FDE1F8000F803F81F8003F0
-01F81F8003F001F81F8007E000FC06000FE000FE00000FC0007E00001FC0007F00001FC0
-007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0007F00001FC0
-007F00000FC0007E00000FE000FE000007E000FC000003F001F8000003F001F8000001F8
-03E0000003FE0FC00000071FFF0000000703F80000000600000000000E00000000000E00
-000000000E00000000000F00000000000F00000000000F80000000000FC00000000007FF
-FFE0000007FFFFFE000003FFFFFF800001FFFFFFE00000FFFFFFF00003FFFFFFF8000FC0
-001FFC001F000001FE003E000000FE007C0000007E007C0000003F00F80000003F00F800
-00001F00F80000001F00F80000001F00F80000001F00FC0000003F007C0000003E007E00
-00007E003F000000FC001F800001F8000FC00003F00003F0000FC00000FE007F0000003F
-FFFC00000003FFC00000293D7EA82D>I<01FC00000000FFFC00000000FFFC00000000FF
-FC0000000007FC0000000003FC0000000001FC0000000001FC0000000001FC0000000001
-FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001
-FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001
-FC0000000001FC0000000001FC01FE000001FC07FFC00001FC1E07E00001FC7803F00001
-FCE001F80001FDC001FC0001FD8001FC0001FF8000FE0001FF0000FE0001FF0000FE0001
-FE0000FE0001FE0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001
-FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001
-FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001
-FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001
-FC0000FE0001FC0000FE0003FE0001FF00FFFFF87FFFFCFFFFF87FFFFCFFFFF87FFFFC2E
-3F7DBE33>I<01E00007F80007F8000FFC000FFC000FFC000FFC0007F80007F80001E000
-000000000000000000000000000000000000000000000000000000000000000000000000
-01FC007FFC007FFC007FFC0007FC0003FC0001FC0001FC0001FC0001FC0001FC0001FC00
-01FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC00
-01FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC00
-03FE00FFFFF0FFFFF0FFFFF0143E7DBD1A>I<0000780001FE0001FE0003FF0003FF0003
-FF0003FF0001FE0001FE0000780000000000000000000000000000000000000000000000
-0000000000000000000000000000007F007FFF007FFF007FFF0001FF0000FF00007F0000
-7F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F0000
-7F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F0000
-7F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F00007F0000
-7F00007F00007F00007F3E007F7F007FFF807EFF80FEFF80FEFF80FCFF81F87F01F87C03
-F01E07C00FFF8001FC00185185BD1C>I<01FC00000000FFFC00000000FFFC00000000FF
-FC0000000007FC0000000003FC0000000001FC0000000001FC0000000001FC0000000001
-FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001
-FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001
-FC0000000001FC0000000001FC0000000001FC00FFFF8001FC00FFFF8001FC00FFFF8001
-FC003FFC0001FC003FE00001FC003F800001FC003F000001FC003C000001FC0078000001
-FC00F0000001FC01E0000001FC07C0000001FC0F80000001FC1F00000001FC3E00000001
-FC7F00000001FCFF80000001FDFF80000001FFDFC0000001FF9FE0000001FF0FE0000001
-FE07F0000001FC07F8000001F803FC000001F801FC000001F801FE000001F800FF000001
-F8007F000001F8007F800001F8003FC00001F8001FC00001F8001FE00001F8000FF00001
-F8000FF00001F8000FF80003FC000FFE00FFFFF07FFFE0FFFFF07FFFE0FFFFF07FFFE02B
-3F7EBE30>I<01FC00FFFC00FFFC00FFFC0007FC0003FC0001FC0001FC0001FC0001FC00
-01FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC00
-01FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC00
-01FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC00
-01FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC00
-01FC0003FE00FFFFF8FFFFF8FFFFF8153F7DBE1A>I<01F801FE0000FF0000FFF807FFC0
-03FFE000FFF81E07E00F03F000FFF87803F03C01F80007F8E001F87000FC0003F9C001FC
-E000FE0001F98001FCC000FE0001FB8000FFC0007F0001FB0000FF80007F0001FF0000FF
-80007F0001FE0000FF00007F0001FE0000FF00007F0001FC0000FE00007F0001FC0000FE
-00007F0001FC0000FE00007F0001FC0000FE00007F0001FC0000FE00007F0001FC0000FE
-00007F0001FC0000FE00007F0001FC0000FE00007F0001FC0000FE00007F0001FC0000FE
-00007F0001FC0000FE00007F0001FC0000FE00007F0001FC0000FE00007F0001FC0000FE
-00007F0001FC0000FE00007F0001FC0000FE00007F0001FC0000FE00007F0001FC0000FE
-00007F0001FC0000FE00007F0001FC0000FE00007F0001FC0000FE00007F0001FC0000FE
-00007F0001FC0000FE00007F0001FC0000FE00007F0003FE0001FF0000FF80FFFFF87FFF
-FC3FFFFEFFFFF87FFFFC3FFFFEFFFFF87FFFFC3FFFFE47287DA74C>I<01F801FE0000FF
-F807FFC000FFF81E07E000FFF87803F00007F8E001F80003F9C001FC0001F98001FC0001
-FB8000FE0001FB0000FE0001FF0000FE0001FE0000FE0001FE0000FE0001FC0000FE0001
-FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001
-FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001
-FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001
-FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0003FE0001FF00FF
-FFF87FFFFCFFFFF87FFFFCFFFFF87FFFFC2E287DA733>I<0000FF00000007FFE000001F
-81F800007E007E0000F8001F0001F0000F8003E00007C007C00003E00FC00003F01F8000
-01F81F800001F83F800001FC3F800001FC7F000000FE7F000000FE7F000000FE7F000000
-FEFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FFFF000000FF
-FF000000FFFF000000FF7F000000FE7F000000FE7F000000FE3F800001FC3F800001FC3F
-800001FC1F800001F80FC00003F00FC00003F007E00007E003F0000FC001F8001F80007E
-007E00003F81FC00000FFFF0000000FF0000282A7EA82D>I<01FC03FC0000FFFC1FFF80
-00FFFC7C0FE000FFFDE003F00003FFC001FC0001FF8000FE0001FF00007F0001FE00003F
-8001FC00003F8001FC00001FC001FC00001FE001FC00001FE001FC00000FF001FC00000F
-F001FC00000FF001FC000007F801FC000007F801FC000007F801FC000007F801FC000007
-F801FC000007F801FC000007F801FC000007F801FC000007F801FC000007F801FC00000F
-F001FC00000FF001FC00000FF001FC00000FF001FC00001FE001FC00001FE001FC00003F
-C001FE00003F8001FE00007F0001FF00007F0001FF8000FE0001FFC001F80001FDE007F0
-0001FC780FC00001FC3FFF000001FC07F8000001FC0000000001FC0000000001FC000000
-0001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC000000
-0001FC0000000001FC0000000001FC0000000001FC0000000003FE00000000FFFFF80000
-00FFFFF8000000FFFFF80000002D3A7EA733>I<0000FF001C000007FFC03C00001F80F0
-3C00007F00387C0000FC001C7C0003F8000E7C0007F0000FFC0007F00007FC000FE00003
-FC001FE00003FC003FC00003FC003FC00001FC007F800001FC007F800001FC007F800001
-FC007F800001FC00FF000001FC00FF000001FC00FF000001FC00FF000001FC00FF000001
-FC00FF000001FC00FF000001FC00FF000001FC00FF000001FC00FF000001FC007F800001
-FC007F800001FC007F800001FC003FC00001FC003FC00001FC001FC00003FC000FE00003
-FC000FE00007FC0007F0000FFC0003F8000FFC0001FC003DFC00007E0079FC00003F81F1
-FC00000FFFC1FC000001FE01FC0000000001FC0000000001FC0000000001FC0000000001
-FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001
-FC0000000001FC0000000001FC0000000001FC0000000003FE00000000FFFFF8000000FF
-FFF8000000FFFFF82D3A7DA730>I<01F807E0FFF81FF8FFF8787CFFF8E1FE07F9C1FE03
-F981FE01FB81FE01FB01FE01FB00FC01FF003001FE000001FE000001FE000001FC000001
-FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001
-FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001
-FC000001FC000001FC000001FC000003FE0000FFFFFE00FFFFFE00FFFFFE001F287EA724
->I<003FC06001FFF8E007C03FE01F000FE03E0007E03C0003E07C0003E0780001E0F800
-01E0F80000E0F80000E0FC0000E0FE0000E0FF0000E0FF8000007FF800007FFFC0003FFF
-F8001FFFFE000FFFFF0007FFFF8001FFFFC0003FFFE00003FFF000001FF000000FF8E000
-03F8E00003F8E00001F8F00001F8F00000F8F00000F8F80000F8F80000F0FC0000F0FC00
-01F0FE0001E0FF0003C0FF800780F3E01F00E0FFFC00C01FE0001D2A7DA824>I<001C00
-00001C0000001C0000001C0000001C0000001C0000003C0000003C0000003C0000003C00
-00007C0000007C000000FC000000FC000001FC000003FC000007FC00001FFFFFC0FFFFFF
-C0FFFFFFC001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00
-0001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00
-0001FC000001FC000001FC000001FC00E001FC00E001FC00E001FC00E001FC00E001FC00
-E001FC00E001FC00E001FC00E000FC00E000FE01C000FE01C0007F03C0003F0380001F87
-000007FE000001F8001B397EB723>I<01FC0000FE00FFFC007FFE00FFFC007FFE00FFFC
-007FFE0007FC0003FE0003FC0001FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC
-0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC
-0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC
-0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC0000FE0001FC
-0000FE0001FC0000FE0001FC0001FE0001FC0001FE0001FC0001FE0001FC0003FE0000FC
-0003FE0000FC0007FE0000FE0006FF00007E000EFF80003F001CFFFC001FC078FFFC0007
-FFE0FFFC0000FF80FE002E297DA733>I<FFFFE00FFFE0FFFFE00FFFE0FFFFE00FFFE007
-FE0003FF0003FC0000FC0003FC0000F80001FC0000F00001FE0000F00000FE0000E00000
-FE0000E00000FF0001E000007F0001C000007F0001C000003F80038000003F8003800000
-3FC0078000001FC0070000001FC0070000000FE00E0000000FE00E0000000FF01E000000
-07F01C00000007F01C00000003F83800000003F83800000003FC7800000001FC70000000
-01FC7000000001FEF000000000FEE000000000FEE0000000007FC0000000007FC0000000
-007FC0000000003F80000000003F80000000001F00000000001F00000000001F00000000
-000E0000002B287EA630>I<FFFFC3FFFE03FFF8FFFFC3FFFE03FFF8FFFFC3FFFE03FFF8
-0FFE003FE000FFC007FC001FC0003F8003F8001FC0003F0003FC000FC0001E0001FC000F
-E0001C0001FC0007E0001C0001FE0007E0003C0000FE000FF000380000FE000FF0003800
-007F000FF0007000007F001FF8007000007F001DF8007000003F801DF800E000003F803D
-FC00E000003F8038FC00E000001FC038FC01C000001FC078FE01C000001FC0707E03C000
-000FE0707F038000000FE0E03F038000000FF0E03F0780000007F0E03F8700000007F1C0
-1F8700000007F9C01F8F00000003F9C01FCE00000003FB800FCE00000003FF800FDE0000
-0001FF800FFC00000001FF0007FC00000000FF0007F800000000FF0007F800000000FE00
-03F8000000007E0003F0000000007E0003F0000000007C0001F0000000003C0001E00000
-0000380000E000003D287EA642>I<FFFFF01FFFE0FFFFF01FFFE0FFFFF01FFFE003FFC0
-0FFF0000FF8007F800007F0007E000007F8007C000003FC0078000001FC00F0000000FE0
-0E0000000FF01E00000007F83C00000003F87800000001FCF000000001FEE000000000FF
-E0000000007FC0000000003F80000000003FC0000000001FC0000000001FE0000000003F
-F0000000003FF8000000007BF800000000F1FC00000001E1FE00000001C0FF00000003C0
-7F00000007803F8000000F003FC000001E001FE000003E000FE000007C0007F00000FC00
-07F80001FE0007FC000FFE000FFE00FFFF803FFFF8FFFF803FFFF8FFFF803FFFF82D277F
-A630>I<FFFFE00FFFE0FFFFE00FFFE0FFFFE00FFFE007FE0003FF0003FC0001FC0003FC
-0000F80001FC0000F00001FE0000F00000FE0000E00000FE0000E000007F0001C000007F
-0001C000007F8003C000003F80038000003F80038000001FC0070000001FC0070000001F
-E00F0000000FE00E0000000FE00E00000007F01C00000007F01C00000007F83C00000003
-F83800000003F83800000001FC7000000001FC7000000001FEF000000000FEE000000000
-FEE0000000007FC0000000007FC0000000007FC0000000003F80000000003F8000000000
-3F80000000001F00000000001F00000000000E00000000000E00000000001E0000000000
-1C00000000003C0000000000380000000000380000000000780000001800700000007E00
-70000000FF00E0000000FF00E0000000FF01C0000000FF01C0000000FE03800000007E07
-00000000780E000000003C3C000000001FF80000000007E0000000002B3A7EA630>I<1F
-FFFFFF801FFFFFFF801FE000FF801F8000FF001F0001FE001E0003FC001C0003FC001C00
-07F8003C000FF0003C001FF00038001FE00038003FC00038007FC00038007F80003800FF
-00000001FE00000001FE00000003FC00000007F80000000FF80000000FF00000001FE000
-00003FC00380003FC00380007F80038000FF00038001FF00038001FE00038003FC000780
-07FC00078007F80007000FF00007001FE0000F001FE0000F003FC0001F007F80007F00FF
-8001FF00FFFFFFFF00FFFFFFFF0021277EA628>I<FFFFFFFFFFFFFFFFFFFFFFC0FFFFFF
-FFFFFFFFFFFFFFFFC05A0280985B>124 D E /Fq 45 122 df<00000000FFFC00000000
-00001FFFFF800000000001FFFFFFE00000000007FFFFFFF0000000001FFFC00FF8000000
-007FFE0003FC00000000FFF00000FE00000001FFE00003FF00000003FF800007FF000000
-07FF00000FFF8000000FFE00001FFF8000000FFE00001FFF8000001FFC00001FFF800000
-1FFC00003FFFC000003FFC00001FFF8000003FF800001FFF8000003FF800001FFF800000
-3FF800001FFF8000003FF800000FFF0000003FF8000007FE0000003FF8000001F8000000
-3FF8000000000000003FF8000000000000003FF8000000000000003FF800000000000000
-3FF8000000000000003FF8000000000000003FF8000000000000003FF800000000000000
-3FF8000000000000003FF80003FFFFC000FFFFFFFFFFFFFFC000FFFFFFFFFFFFFFC000FF
-FFFFFFFFFFFFC000FFFFFFFFFFFFFFC000FFFFFFFFFFFFFFC000003FFC000007FFC00000
-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC00000
-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC00000
-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC00000
-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC00000
-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC00000
-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC00000
-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC00000
-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC00000
-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC00000
-3FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC000003FFC00000
-3FFC000003FFC000003FFC000003FFC0003FFFFFFC03FFFFFFC03FFFFFFC03FFFFFFC03F
-FFFFFC03FFFFFFC03FFFFFFC03FFFFFFC03FFFFFFC03FFFFFFC042547DD34B>12
-D<FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0
-FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0240B7F9F2D>45
-D<000000780000000000FC0000000003FC0000000007FC000000001FFC00000000FFFC00
-00000FFFFC000007FFFFFC0000FFFFFFFC0000FFFFFFFC0000FFFF7FFC0000FFF07FFC00
-00F8007FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00
-0000007FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00
-0000007FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00
-0000007FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00
-0000007FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00
-0000007FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00
-0000007FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00
-0000007FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00
-0000007FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00
-0000007FFC000000007FFC000000007FFC000000007FFC000000007FFC000000007FFC00
-0000007FFC00007FFFFFFFFFFE7FFFFFFFFFFE7FFFFFFFFFFE7FFFFFFFFFFE7FFFFFFFFF
-FE2F4E76CD43>49 D<00003FFE0000000003FFFFE00000000FFFFFFC0000003FFFFFFF00
-0000FFFFFFFFC00001FFC07FFFE00003FE000FFFF80007F80003FFFC000FE00001FFFE00
-1FC00000FFFF003F8000007FFF003FF000007FFF807FF800003FFFC07FFC00003FFFC0FF
-FE00001FFFE0FFFF00001FFFE0FFFF00001FFFE0FFFF00000FFFF0FFFF00000FFFF0FFFF
-00000FFFF0FFFF00000FFFF0FFFF00000FFFF07FFE00000FFFF07FFE00000FFFF03FFC00
-000FFFF00FF000000FFFF003C000000FFFF0000000000FFFE0000000001FFFE000000000
-1FFFE0000000001FFFC0000000003FFFC0000000003FFF80000000003FFF80000000007F
-FF00000000007FFE0000000000FFFC0000000001FFF80000000001FFF00000000003FFE0
-0000000003FFC00000000007FF80000000000FFF00000000001FFE00000000001FFC0000
-0000003FF800000000007FE00000000000FFC00000000001FF800000000003FE00000000
-0007FC000000000007F800000000000FF00001F000001FE00001F000003F800001F00000
-7F000001F00000FE000003E00001FC000003E00003F8000003E00007F0000003E0000FE0
-000003E0001F80000007E0003F00000007E0003E0000000FE0007FFFFFFFFFE000FFFFFF
-FFFFC001FFFFFFFFFFC003FFFFFFFFFFC007FFFFFFFFFFC00FFFFFFFFFFFC01FFFFFFFFF
-FFC03FFFFFFFFFFFC07FFFFFFFFFFFC0FFFFFFFFFFFFC0FFFFFFFFFFFF80FFFFFFFFFFFF
-80FFFFFFFFFFFF80FFFFFFFFFFFF80344E79CD43>I<00000FFFC000000000FFFFFC0000
-0007FFFFFF8000001FFFFFFFE000003FF807FFF00000FF8001FFFC0001FE00007FFE0003
-F800003FFF0003F000003FFF8007FC00001FFF800FFF00001FFFC00FFF80001FFFC01FFF
-C0001FFFE01FFFC0001FFFE01FFFC0001FFFE01FFFC0001FFFE01FFFE0001FFFE01FFFC0
-001FFFE01FFFC0001FFFE01FFFC0001FFFE00FFFC0001FFFC007FF80001FFFC003FF0000
-3FFFC001FC00003FFF80000000003FFF80000000007FFF00000000007FFE00000000007F
-FE0000000000FFFC0000000001FFF80000000003FFF00000000007FFC0000000000FFF80
-00000000FFFE00000000FFFFF800000000FFFFE000000000FFFFFC00000000FFFFFF8000
-00000007FFE00000000001FFF800000000007FFE00000000003FFF00000000001FFF8000
-0000000FFFC0000000000FFFE00000000007FFF00000000007FFF00000000007FFF80000
-000007FFF80000000003FFFC0000000003FFFC0000000003FFFE0000000003FFFE03E000
-0003FFFE0FF8000003FFFE1FFC000003FFFE3FFE000003FFFE7FFF000003FFFEFFFF8000
-03FFFEFFFF800003FFFEFFFF800003FFFEFFFF800003FFFCFFFF800003FFFCFFFF800007
-FFFCFFFF800007FFF8FFFF000007FFF87FFF000007FFF07FFE00000FFFF03FFC00000FFF
-E03FF000001FFFC01FE000003FFF800FF800007FFF0007FF0000FFFE0003FFF007FFFC00
-00FFFFFFFFF000007FFFFFFFE000001FFFFFFF80000003FFFFFC000000001FFF80000037
-4F7ACD43>I<00000000007C00000000000000FE00000000000000FE00000000000001FE
-00000000000003FE00000000000007FE0000000000000FFE0000000000000FFE00000000
-00001FFE0000000000003FFE0000000000007FFE0000000000007FFE000000000000FFFE
-000000000001FFFE000000000003FFFE000000000003FFFE000000000007FFFE00000000
-000FFFFE00000000001FBFFE00000000003F3FFE00000000003E3FFE00000000007C3FFE
-0000000000FC3FFE0000000001F83FFE0000000001F03FFE0000000003E03FFE00000000
-07E03FFE000000000FC03FFE000000000F803FFE000000001F003FFE000000003F003FFE
-000000007E003FFE000000007C003FFE00000000F8003FFE00000001F8003FFE00000003
-F0003FFE00000007E0003FFE00000007C0003FFE0000000F80003FFE0000001F80003FFE
-0000003F00003FFE0000003E00003FFE0000007C00003FFE000000FC00003FFE000001F8
-00003FFE000001F000003FFE000003E000003FFE000007E000003FFE00000FC000003FFE
-00001F8000003FFE00001F0000003FFE00003E0000003FFE00007E0000003FFE0000FC00
-00003FFE0000FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFC0FFFFFFFFFFFF
-FFC0FFFFFFFFFFFFFFC0000000007FFE0000000000007FFE0000000000007FFE00000000
-00007FFE0000000000007FFE0000000000007FFE0000000000007FFE0000000000007FFE
-0000000000007FFE0000000000007FFE0000000000007FFE0000000000007FFE00000000
-00007FFE0000000000007FFE0000000000007FFE000000000FFFFFFFFFC000000FFFFFFF
-FFC000000FFFFFFFFFC000000FFFFFFFFFC000000FFFFFFFFFC03A4F7CCE43>I<038000
-00000E0007E00000007E0007FE000003FE0007FFF0007FFE0007FFFFFFFFFC0007FFFFFF
-FFF80007FFFFFFFFF00007FFFFFFFFE00007FFFFFFFFC00007FFFFFFFF800007FFFFFFFF
-000007FFFFFFFE000007FFFFFFFC000007FFFFFFF0000007FFFFFFC0000007FFFFFF0000
-0007FFFFF800000007E1FF0000000007E0000000000007E0000000000007E00000000000
-07E0000000000007E0000000000007E0000000000007E0000000000007E0000000000007
-E0000000000007E0000000000007E0000000000007E00FFF00000007E07FFFF0000007E3
-FFFFFE000007E7FFFFFF800007FFF807FFC00007FFC001FFE00007FE0000FFF80007FC00
-007FFC0007F800003FFC0007F000003FFE0007E000001FFF0003C000001FFF8000000000
-1FFF80000000001FFFC0000000000FFFC0000000000FFFE0000000000FFFE0000000000F
-FFE0000000000FFFE0000000000FFFF0000000000FFFF0000000000FFFF00FE000000FFF
-F01FF000000FFFF03FF800000FFFF07FFC00000FFFF0FFFE00000FFFF0FFFE00000FFFF0
-FFFE00000FFFF0FFFE00000FFFF0FFFE00000FFFE0FFFE00000FFFE0FFFE00000FFFE0FF
-FC00000FFFE07FF800001FFFC07FF000001FFFC07FE000001FFF803E0000003FFF803F00
-00003FFF001F8000007FFE001FC000007FFC000FE00000FFF80007F80001FFF00003FE00
-07FFE00001FFC03FFFC00000FFFFFFFF8000003FFFFFFE0000001FFFFFF800000003FFFF
-C0000000007FF8000000344F79CD43>I<0000000FFF0000000000FFFFE000000007FFFF
-F00000001FFFFFFC0000007FFE03FE000001FFF0007F000003FFC0003F800007FF00001F
-80000FFE00007FC0001FFC0000FFC0003FF80001FFE0007FF00003FFE000FFF00007FFE0
-01FFE00007FFE001FFE00007FFE003FFC00007FFE007FFC00007FFE007FFC00007FFE00F
-FFC00003FFC00FFF800001FF801FFF800000FF001FFF8000007E001FFF80000000003FFF
-80000000003FFF80000000003FFF00000000007FFF00000000007FFF00000000007FFF00
-080000007FFF01FFF800007FFF07FFFF0000FFFF0FFFFFC000FFFF1FFFFFF000FFFF3F00
-7FF800FFFF3C003FFC00FFFF78001FFE00FFFFF0000FFF00FFFFF00007FF80FFFFE00007
-FFC0FFFFE00007FFC0FFFFC00007FFE0FFFFC00003FFF0FFFF800003FFF0FFFF800003FF
-F8FFFF800003FFF8FFFF800003FFF8FFFF800003FFF8FFFF000003FFFCFFFF000003FFFC
-FFFF000003FFFC7FFF000003FFFC7FFF000003FFFC7FFF000003FFFC7FFF000003FFFC7F
-FF000003FFFC7FFF000003FFFC3FFF000003FFFC3FFF000003FFFC3FFF000003FFFC3FFF
-000003FFFC1FFF000003FFF81FFF800003FFF81FFF800003FFF80FFF800003FFF80FFF80
-0003FFF007FF800007FFF007FF800007FFE003FFC00007FFC001FFC00007FFC001FFE000
-0FFF8000FFF0000FFF00007FF8001FFE00003FFC007FFC00001FFF01FFF800000FFFFFFF
-F0000003FFFFFFC0000000FFFFFF000000003FFFFC0000000007FFC00000364F7ACD43>
-I<1F000000000000001F800000000000001FC00000000000001FFF8000000000001FFFFF
-FFFFFFFF801FFFFFFFFFFFFF801FFFFFFFFFFFFF801FFFFFFFFFFFFF803FFFFFFFFFFFFF
-803FFFFFFFFFFFFF003FFFFFFFFFFFFE003FFFFFFFFFFFFC003FFFFFFFFFFFF8003FFFFF
-FFFFFFF8003FFFFFFFFFFFF0003FFFFFFFFFFFE0003FFFFFFFFFFFC0007FFFFFFFFFFF80
-007F800000007F00007E00000000FF00007E00000001FE00007C00000003FC00007C0000
-0003F800007C00000007F000007C0000000FF000007C0000001FE00000F80000003FC000
-00F80000007F800000F80000007F000000F8000000FE00000000000001FE000000000000
-03FC00000000000003F800000000000007F00000000000000FF00000000000001FE00000
-000000001FE00000000000003FC00000000000003FC00000000000007F80000000000000
-FF80000000000000FF80000000000001FF00000000000001FF00000000000003FF000000
-00000003FE00000000000007FE00000000000007FE0000000000000FFE0000000000000F
-FE0000000000000FFC0000000000001FFC0000000000001FFC0000000000003FFC000000
-0000003FFC0000000000003FFC0000000000003FFC0000000000007FFC0000000000007F
-F80000000000007FF80000000000007FF8000000000000FFF8000000000000FFF8000000
-000000FFF8000000000000FFF8000000000000FFF8000000000001FFF8000000000001FF
-F8000000000001FFF8000000000001FFF8000000000001FFF8000000000001FFF8000000
-000001FFF8000000000001FFF8000000000001FFF8000000000001FFF8000000000001FF
-F8000000000001FFF8000000000000FFF0000000000000FFF00000000000003FC0000000
-0000001F8000000000395279D043>I<000007FFC0000000007FFFFC00000003FFFFFF80
-00000FFFFFFFE000001FFC01FFF800003FE0003FFC00007F80000FFE0000FF000007FF00
-01FE000003FF0003FC000001FF8007FC000001FFC007F8000000FFC00FF8000000FFC00F
-F8000000FFE00FF80000007FE00FF80000007FE01FF80000007FE01FFC0000007FE01FFC
-0000007FE01FFE0000007FE01FFF0000007FE01FFF800000FFE01FFFE00000FFC01FFFF8
-0000FFC01FFFFE0001FF800FFFFF0001FF800FFFFFC003FF000FFFFFF007FE0007FFFFF8
-07FC0007FFFFFE1FF80003FFFFFFBFF00001FFFFFFFFE00001FFFFFFFF800000FFFFFFFE
-0000007FFFFFFF0000003FFFFFFF8000000FFFFFFFE0000007FFFFFFF0000001FFFFFFFC
-000007FFFFFFFE00001FFFFFFFFF00003FFFFFFFFF8000FFE7FFFFFF8001FF81FFFFFFC0
-03FF007FFFFFE007FE001FFFFFF00FFC000FFFFFF01FF80003FFFFF01FF80000FFFFF83F
-F000007FFFF83FF000001FFFF87FE0000007FFFC7FE0000001FFFC7FE0000000FFFCFFC0
-0000007FFCFFC00000003FFCFFC00000003FFCFFC00000001FFCFFC00000001FFCFFC000
-00000FFCFFC00000000FFCFFC00000000FF8FFC00000000FF8FFE00000000FF87FE00000
-000FF07FF00000001FF07FF00000001FF03FF80000003FE01FF80000003FC01FFC000000
-7FC00FFE000000FF8007FF800003FF0003FFE0000FFE0001FFFC00FFFC00007FFFFFFFF0
-00003FFFFFFFE000000FFFFFFF80000001FFFFFC000000000FFFC00000364F7ACD43>I<
-00000FFF8000000000FFFFF800000003FFFFFE0000000FFFFFFF8000001FFF03FFC00000
-7FF800FFE00000FFF0003FF00001FFE0001FF80003FFC0001FFC0007FFC0000FFE000FFF
-80000FFF000FFF800007FF001FFF800007FF803FFF800007FF803FFF000007FFC07FFF00
-0007FFC07FFF000003FFE07FFF000003FFE07FFF000003FFF0FFFF000003FFF0FFFF0000
-03FFF0FFFF000003FFF0FFFF000003FFF8FFFF000003FFF8FFFF000003FFF8FFFF000003
-FFF8FFFF000003FFF8FFFF000003FFF8FFFF000003FFFCFFFF000003FFFCFFFF000003FF
-FCFFFF000003FFFC7FFF000007FFFC7FFF000007FFFC7FFF000007FFFC3FFF000007FFFC
-3FFF000007FFFC3FFF00000FFFFC1FFF80000FFFFC0FFF80001FFFFC0FFF80001FFFFC07
-FF80003FFFFC03FFC0003FFFFC01FFE0007BFFFC00FFF000F3FFFC007FF803F3FFFC001F
-FFFFE3FFFC000FFFFFC3FFFC0003FFFF83FFF800007FFE03FFF80000004003FFF8000000
-0003FFF80000000003FFF80000000003FFF00000000007FFF00000000007FFF000000000
-07FFF001F8000007FFE003FC000007FFE007FE000007FFC00FFF000007FFC01FFF80000F
-FF801FFF80000FFF801FFF80000FFF001FFF80001FFF001FFF80001FFE001FFF80003FFC
-001FFF00003FFC000FFE00007FF8000FFC0000FFF0000FF80001FFE00007F00003FFC000
-03FC000FFF800003FF807FFE000001FFFFFFFC0000007FFFFFF00000003FFFFFC0000000
-0FFFFE0000000000FFF0000000364F7ACD43>I<00000000001F00000000000000000000
-003F80000000000000000000007FC0000000000000000000007FC0000000000000000000
-00FFE000000000000000000000FFE000000000000000000000FFE0000000000000000000
-01FFF000000000000000000001FFF000000000000000000003FFF8000000000000000000
-03FFF800000000000000000003FFF800000000000000000007FFFC000000000000000000
-07FFFC00000000000000000007FFFC0000000000000000000FFFFE000000000000000000
-0FFFFE0000000000000000001FFFFF0000000000000000001FFFFF000000000000000000
-1FFFFF0000000000000000003FFFFF8000000000000000003F7FFF800000000000000000
-7F7FFFC000000000000000007E7FFFC000000000000000007E3FFFC00000000000000000
-FE3FFFE00000000000000000FC1FFFE00000000000000001FC1FFFF00000000000000001
-F81FFFF00000000000000001F80FFFF00000000000000003F80FFFF80000000000000003
-F007FFF80000000000000007F007FFFC0000000000000007E007FFFC0000000000000007
-E003FFFC000000000000000FE003FFFE000000000000000FC001FFFE000000000000001F
-C001FFFF000000000000001F8001FFFF000000000000001F8000FFFF000000000000003F
-8000FFFF800000000000003F00007FFF800000000000007F00007FFFC00000000000007E
-00007FFFC00000000000007E00003FFFC0000000000000FE00003FFFE0000000000000FC
-00001FFFE0000000000001FC00001FFFF0000000000001F800001FFFF0000000000001F8
-00000FFFF0000000000003F800000FFFF8000000000003F0000007FFF8000000000007F0
-000007FFFC000000000007E0000007FFFC000000000007E0000003FFFC00000000000FFF
-FFFFFFFFFE00000000000FFFFFFFFFFFFE00000000001FFFFFFFFFFFFF00000000001FFF
-FFFFFFFFFF00000000001FFFFFFFFFFFFF00000000003F80000000FFFF80000000003F00
-0000007FFF80000000007F000000007FFFC0000000007F000000007FFFC0000000007E00
-0000003FFFC000000000FE000000003FFFE000000000FC000000001FFFE000000001FC00
-0000001FFFF000000001FC000000001FFFF000000001F8000000000FFFF000000003F800
-0000000FFFF800000003F00000000007FFF800000007F00000000007FFFC00000007F000
-00000007FFFC00000007E00000000003FFFC0000000FE00000000003FFFE0000000FC000
-00000003FFFE0000001FC00000000001FFFF000000FFFC0000000001FFFF0000FFFFFFF8
-00000FFFFFFFFFE0FFFFFFF800000FFFFFFFFFE0FFFFFFF800000FFFFFFFFFE0FFFFFFF8
-00000FFFFFFFFFE0FFFFFFF800000FFFFFFFFFE05B547BD366>65
-D<0000000001FFFC000001C0000000007FFFFFC00003C000000007FFFFFFF80007C00000
-003FFFFFFFFE001FC0000000FFFFFFFFFF803FC0000003FFFFE003FFC07FC000000FFFFC
-00003FF0FFC000003FFFE000000FF9FFC000007FFF80000003FFFFC00001FFFE00000000
-FFFFC00003FFF8000000007FFFC00007FFF0000000003FFFC0000FFFE0000000001FFFC0
-001FFFC0000000000FFFC0003FFF800000000007FFC0007FFF000000000003FFC000FFFE
-000000000001FFC000FFFE000000000001FFC001FFFC000000000000FFC003FFF8000000
-000000FFC003FFF80000000000007FC007FFF00000000000007FC00FFFF0000000000000
-3FC00FFFF00000000000003FC01FFFE00000000000001FC01FFFE00000000000001FC01F
-FFE00000000000001FC03FFFC00000000000001FC03FFFC00000000000000FC03FFFC000
-00000000000FC07FFFC00000000000000FC07FFFC00000000000000FC07FFFC000000000
-000000007FFF8000000000000000007FFF800000000000000000FFFF8000000000000000
-00FFFF800000000000000000FFFF800000000000000000FFFF800000000000000000FFFF
-800000000000000000FFFF800000000000000000FFFF800000000000000000FFFF800000
-000000000000FFFF800000000000000000FFFF800000000000000000FFFF800000000000
-000000FFFF800000000000000000FFFF800000000000000000FFFF800000000000000000
-7FFF8000000000000000007FFF8000000000000000007FFFC000000000000000007FFFC0
-00000000000000007FFFC000000000000007C03FFFC000000000000007C03FFFC0000000
-00000007C03FFFC000000000000007C01FFFE000000000000007C01FFFE0000000000000
-07C01FFFE00000000000000FC00FFFF00000000000000F800FFFF00000000000000F8007
-FFF00000000000001F8003FFF80000000000001F8003FFF80000000000001F0001FFFC00
-00000000003F0000FFFE0000000000007E0000FFFE0000000000007E00007FFF00000000
-0000FC00003FFF800000000001F800001FFFC00000000003F800000FFFE00000000007F0
-000007FFF0000000000FE0000003FFFC000000001FC0000001FFFE000000007F80000000
-7FFF80000000FF000000003FFFE0000007FE000000000FFFFE00001FF80000000003FFFF
-E001FFF00000000000FFFFFFFFFFC000000000003FFFFFFFFF00000000000007FFFFFFFC
-000000000000007FFFFFE00000000000000001FFFC00000000525479D261>67
-D<FFFFFFFFFFFFFF8000000000FFFFFFFFFFFFFFFC00000000FFFFFFFFFFFFFFFF800000
-00FFFFFFFFFFFFFFFFF0000000FFFFFFFFFFFFFFFFFC0000000007FFF000000FFFFF0000
-000007FFF0000000FFFFC000000007FFF00000001FFFE000000007FFF000000007FFF800
-000007FFF000000001FFFC00000007FFF000000000FFFE00000007FFF0000000007FFF00
-000007FFF0000000003FFF80000007FFF0000000001FFFC0000007FFF0000000000FFFC0
-000007FFF00000000007FFE0000007FFF00000000003FFF0000007FFF00000000003FFF8
-000007FFF00000000001FFF8000007FFF00000000001FFFC000007FFF00000000000FFFC
-000007FFF00000000000FFFE000007FFF00000000000FFFE000007FFF000000000007FFF
-000007FFF000000000007FFF000007FFF000000000007FFF000007FFF000000000007FFF
-800007FFF000000000003FFF800007FFF000000000003FFF800007FFF000000000003FFF
-C00007FFF000000000003FFFC00007FFF000000000003FFFC00007FFF000000000003FFF
-C00007FFF000000000003FFFC00007FFF000000000003FFFE00007FFF000000000003FFF
-E00007FFF000000000003FFFE00007FFF000000000001FFFE00007FFF000000000001FFF
-E00007FFF000000000001FFFE00007FFF000000000001FFFE00007FFF000000000001FFF
-E00007FFF000000000001FFFE00007FFF000000000001FFFE00007FFF000000000001FFF
-E00007FFF000000000001FFFE00007FFF000000000003FFFE00007FFF000000000003FFF
-E00007FFF000000000003FFFE00007FFF000000000003FFFC00007FFF000000000003FFF
-C00007FFF000000000003FFFC00007FFF000000000003FFFC00007FFF000000000003FFF
-C00007FFF000000000003FFF800007FFF000000000003FFF800007FFF000000000007FFF
-800007FFF000000000007FFF000007FFF000000000007FFF000007FFF000000000007FFF
-000007FFF00000000000FFFE000007FFF00000000000FFFE000007FFF00000000000FFFC
-000007FFF00000000001FFFC000007FFF00000000001FFF8000007FFF00000000003FFF0
-000007FFF00000000007FFF0000007FFF00000000007FFE0000007FFF0000000000FFFC0
-000007FFF0000000001FFF80000007FFF0000000003FFF00000007FFF000000000FFFE00
-000007FFF000000001FFFC00000007FFF000000007FFF800000007FFF00000001FFFF000
-000007FFF0000000FFFFC000000007FFF000000FFFFF000000FFFFFFFFFFFFFFFFFE0000
-00FFFFFFFFFFFFFFFFF0000000FFFFFFFFFFFFFFFFC0000000FFFFFFFFFFFFFFFC000000
-00FFFFFFFFFFFFFF80000000005B527CD167>I<FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFF
-FFFFFF80FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFF80FFFFFFFFFFFFFFFFFF800007
-FFF8000001FFFFC00007FFF80000001FFFC00007FFF800000007FFC00007FFF800000001
-FFC00007FFF800000000FFC00007FFF8000000007FC00007FFF8000000003FC00007FFF8
-000000001FC00007FFF8000000001FC00007FFF8000000000FE00007FFF8000000000FE0
-0007FFF80000000007E00007FFF80000000007E00007FFF80000000007E00007FFF80000
-000003E00007FFF80000000003E00007FFF80000000003E00007FFF80000F80003E00007
-FFF80000F80003F00007FFF80000F80001F00007FFF80000F80001F00007FFF80000F800
-01F00007FFF80000F80001F00007FFF80000F80000000007FFF80001F80000000007FFF8
-0001F80000000007FFF80001F80000000007FFF80003F80000000007FFF80007F8000000
-0007FFF8000FF80000000007FFF8007FF80000000007FFFFFFFFF80000000007FFFFFFFF
-F80000000007FFFFFFFFF80000000007FFFFFFFFF80000000007FFFFFFFFF80000000007
-FFF8007FF80000000007FFF8000FF80000000007FFF80007F80000000007FFF80003F800
-00000007FFF80001F80000000007FFF80001F80000000007FFF80001F80000000007FFF8
-0000F80000000007FFF80000F800003E0007FFF80000F800003E0007FFF80000F800003E
-0007FFF80000F800007C0007FFF80000F800007C0007FFF80000F800007C0007FFF80000
-0000007C0007FFF800000000007C0007FFF80000000000FC0007FFF80000000000FC0007
-FFF80000000000F80007FFF80000000000F80007FFF80000000001F80007FFF800000000
-01F80007FFF80000000001F80007FFF80000000003F80007FFF80000000003F00007FFF8
-0000000007F00007FFF8000000000FF00007FFF8000000000FF00007FFF8000000001FF0
-0007FFF8000000003FF00007FFF8000000007FE00007FFF800000001FFE00007FFF80000
-0007FFE00007FFF80000001FFFE00007FFF8000003FFFFE0FFFFFFFFFFFFFFFFFFE0FFFF
-FFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFF
-FFC04F517CD058>I<FFFFFFFFFFFFFFFFFE00FFFFFFFFFFFFFFFFFE00FFFFFFFFFFFFFF
-FFFE00FFFFFFFFFFFFFFFFFE00FFFFFFFFFFFFFFFFFE000007FFF8000007FFFF000007FF
-F80000007FFF000007FFF80000001FFF000007FFF800000007FF000007FFF800000003FF
-000007FFF800000001FF000007FFF800000000FF000007FFF8000000007F000007FFF800
-0000003F000007FFF8000000003F800007FFF8000000003F800007FFF8000000001F8000
-07FFF8000000001F800007FFF8000000001F800007FFF8000000000F800007FFF8000000
-000F800007FFF8000000000F800007FFF8000000000F800007FFF8000000000FC00007FF
-F80000F80007C00007FFF80000F80007C00007FFF80000F80007C00007FFF80000F80007
-C00007FFF80000F80000000007FFF80000F80000000007FFF80000F80000000007FFF800
-01F80000000007FFF80001F80000000007FFF80001F80000000007FFF80003F800000000
-07FFF80007F80000000007FFF8000FF80000000007FFF8007FF80000000007FFFFFFFFF8
-0000000007FFFFFFFFF80000000007FFFFFFFFF80000000007FFFFFFFFF80000000007FF
-FFFFFFF80000000007FFF8007FF80000000007FFF8000FF80000000007FFF80007F80000
-000007FFF80003F80000000007FFF80001F80000000007FFF80001F80000000007FFF800
-01F80000000007FFF80000F80000000007FFF80000F80000000007FFF80000F800000000
-07FFF80000F80000000007FFF80000F80000000007FFF80000F80000000007FFF80000F8
-0000000007FFF80000000000000007FFF80000000000000007FFF80000000000000007FF
-F80000000000000007FFF80000000000000007FFF80000000000000007FFF80000000000
-000007FFF80000000000000007FFF80000000000000007FFF80000000000000007FFF800
-00000000000007FFF80000000000000007FFF80000000000000007FFF800000000000000
-07FFF80000000000000007FFF80000000000000007FFF80000000000000007FFF8000000
-0000000007FFF8000000000000FFFFFFFFFFF800000000FFFFFFFFFFF800000000FFFFFF
-FFFFF800000000FFFFFFFFFFF800000000FFFFFFFFFFF8000000004A517CD055>I<FFFF
-FFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC00007FFF800000007
-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007
-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007
-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007
-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007
-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007
-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007
-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007
-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007
-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007
-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007
-FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007FFF800000007
-FFF800000007FFF800000007FFF800000007FFF800000007FFF80000FFFFFFFFFFC0FFFF
-FFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC0FFFFFFFFFFC02A527CD132>73
-D<FFFFFFFFFFF8000000FFFFFFFFFFF8000000FFFFFFFFFFF8000000FFFFFFFFFFF80000
-00FFFFFFFFFFF80000000007FFF800000000000007FFF800000000000007FFF800000000
-000007FFF800000000000007FFF800000000000007FFF800000000000007FFF800000000
-000007FFF800000000000007FFF800000000000007FFF800000000000007FFF800000000
-000007FFF800000000000007FFF800000000000007FFF800000000000007FFF800000000
-000007FFF800000000000007FFF800000000000007FFF800000000000007FFF800000000
-000007FFF800000000000007FFF800000000000007FFF800000000000007FFF800000000
-000007FFF800000000000007FFF800000000000007FFF800000000000007FFF800000000
-000007FFF800000000000007FFF800000000000007FFF800000000000007FFF800000000
-000007FFF800000000000007FFF800000000000007FFF800000000000007FFF800000000
-000007FFF800000000000007FFF800000000000007FFF800000000000007FFF800000000
-000007FFF800000000000007FFF800000000000007FFF800000000000007FFF800000000
-000007FFF800000000000007FFF800000000000007FFF8000000007C0007FFF800000000
-7C0007FFF8000000007C0007FFF8000000007C0007FFF800000000FC0007FFF800000000
-F80007FFF800000000F80007FFF800000000F80007FFF800000000F80007FFF800000000
-F80007FFF800000001F80007FFF800000001F80007FFF800000001F80007FFF800000003
-F80007FFF800000003F80007FFF800000007F80007FFF800000007F00007FFF80000000F
-F00007FFF80000000FF00007FFF80000001FF00007FFF80000003FF00007FFF80000007F
-F00007FFF8000000FFF00007FFF8000003FFF00007FFF8000007FFF00007FFF800003FFF
-F00007FFF80001FFFFF0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFF
-E0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE046527CD151>76 D<FFFFFFFFFFFFFF0000
-00FFFFFFFFFFFFFFF80000FFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFE000FFFFFFFFFF
-FFFFFFF0000007FFF000001FFFFC000007FFF0000001FFFF000007FFF00000007FFF8000
-07FFF00000003FFFC00007FFF00000000FFFE00007FFF00000000FFFF00007FFF0000000
-07FFF00007FFF000000003FFF80007FFF000000003FFFC0007FFF000000003FFFC0007FF
-F000000001FFFE0007FFF000000001FFFE0007FFF000000001FFFE0007FFF000000001FF
-FE0007FFF000000001FFFF0007FFF000000001FFFF0007FFF000000001FFFF0007FFF000
-000001FFFF0007FFF000000001FFFF0007FFF000000001FFFF0007FFF000000001FFFF00
-07FFF000000001FFFF0007FFF000000001FFFE0007FFF000000001FFFE0007FFF0000000
-01FFFE0007FFF000000001FFFC0007FFF000000003FFFC0007FFF000000003FFFC0007FF
-F000000003FFF80007FFF000000007FFF00007FFF00000000FFFE00007FFF00000001FFF
-E00007FFF00000003FFFC00007FFF00000007FFF000007FFF0000001FFFE000007FFF000
-001FFFFC000007FFFFFFFFFFFFF0000007FFFFFFFFFFFFC0000007FFFFFFFFFFFE000000
-07FFFFFFFFFFE000000007FFF80000000000000007FFF80000000000000007FFF8000000
-0000000007FFF80000000000000007FFF80000000000000007FFF80000000000000007FF
-F80000000000000007FFF80000000000000007FFF80000000000000007FFF80000000000
-000007FFF80000000000000007FFF80000000000000007FFF80000000000000007FFF800
-00000000000007FFF80000000000000007FFF80000000000000007FFF800000000000000
-07FFF80000000000000007FFF80000000000000007FFF80000000000000007FFF8000000
-0000000007FFF80000000000000007FFF80000000000000007FFF80000000000000007FF
-F80000000000000007FFF80000000000000007FFF80000000000000007FFF80000000000
-000007FFF80000000000000007FFF80000000000000007FFF80000000000000007FFF800
-0000000000FFFFFFFFFFC000000000FFFFFFFFFFC000000000FFFFFFFFFFC000000000FF
-FFFFFFFFC000000000FFFFFFFFFFC00000000050527CD15C>80 D<00000FFF8000070000
-00FFFFF8000F000007FFFFFF001F00001FFFFFFFC03F00003FFFFFFFF07F0000FFFC00FF
-F8FF0001FFE0000FFDFF0003FF800001FFFF0007FE0000007FFF000FFC0000003FFF000F
-F80000000FFF001FF800000007FF001FF000000003FF003FF000000003FF003FE0000000
-01FF007FE000000000FF007FE000000000FF007FE0000000007F00FFE0000000007F00FF
-E0000000003F00FFE0000000003F00FFF0000000003F00FFF0000000003F00FFF8000000
-001F00FFF8000000001F00FFFC000000001F00FFFE000000001F00FFFF000000000000FF
-FFC000000000007FFFF000000000007FFFFF00000000007FFFFFF8000000003FFFFFFF80
-0000003FFFFFFFFC0000001FFFFFFFFFC000001FFFFFFFFFF000000FFFFFFFFFFC000007
-FFFFFFFFFF000003FFFFFFFFFFC00001FFFFFFFFFFE00000FFFFFFFFFFF000007FFFFFFF
-FFF800003FFFFFFFFFFC00000FFFFFFFFFFE000003FFFFFFFFFE000000FFFFFFFFFF0000
-001FFFFFFFFF80000000FFFFFFFF800000000FFFFFFFC0000000007FFFFFC00000000007
-FFFFE00000000000FFFFE000000000003FFFE000000000000FFFF0000000000007FFF000
-0000000003FFF0000000000003FFF0780000000001FFF0F80000000000FFF0F800000000
-00FFF0F80000000000FFF0F800000000007FF0F800000000007FF0FC00000000007FF0FC
-00000000007FF0FC00000000007FE0FE00000000007FE0FE00000000007FE0FF00000000
-00FFC0FF0000000000FFC0FF8000000000FFC0FFC000000001FF80FFE000000001FF00FF
-F000000003FF00FFFC00000007FE00FFFF0000000FFC00FFFFC000001FF800FFFFF80000
-7FF000FF1FFFC003FFE000FE0FFFFFFFFFC000FC03FFFFFFFF0000F8007FFFFFFC0000F0
-000FFFFFF00000E000007FFF0000003C5479D24B>83 D<3FFFFFFFFFFFFFFFFFFF803FFF
-FFFFFFFFFFFFFFFF803FFFFFFFFFFFFFFFFFFF803FFFFFFFFFFFFFFFFFFF803FFFFFFFFF
-FFFFFFFFFF803FFFC0003FFFC0007FFF803FFE00003FFFC00007FF807FF800003FFFC000
-01FFC07FE000003FFFC00000FFC07FC000003FFFC000007FC07F8000003FFFC000003FC0
-7F0000003FFFC000001FC07F0000003FFFC000001FC07E0000003FFFC000000FC07E0000
-003FFFC000000FC07E0000003FFFC000000FC07C0000003FFFC0000007C07C0000003FFF
-C0000007C07C0000003FFFC0000007C07C0000003FFFC0000007C07C0000003FFFC00000
-07C0FC0000003FFFC0000007E0F80000003FFFC0000003E0F80000003FFFC0000003E0F8
-0000003FFFC0000003E0F80000003FFFC0000003E0F80000003FFFC0000003E0F8000000
-3FFFC0000003E0000000003FFFC000000000000000003FFFC000000000000000003FFFC0
-00000000000000003FFFC000000000000000003FFFC000000000000000003FFFC0000000
-00000000003FFFC000000000000000003FFFC000000000000000003FFFC0000000000000
-00003FFFC000000000000000003FFFC000000000000000003FFFC000000000000000003F
-FFC000000000000000003FFFC000000000000000003FFFC000000000000000003FFFC000
-000000000000003FFFC000000000000000003FFFC000000000000000003FFFC000000000
-000000003FFFC000000000000000003FFFC000000000000000003FFFC000000000000000
-003FFFC000000000000000003FFFC000000000000000003FFFC000000000000000003FFF
-C000000000000000003FFFC000000000000000003FFFC000000000000000003FFFC00000
-0000000000003FFFC000000000000000003FFFC000000000000000003FFFC00000000000
-0000003FFFC000000000000000003FFFC000000000000000003FFFC00000000000000000
-3FFFC000000000000000003FFFC000000000000000003FFFC000000000000000003FFFC0
-00000000000000003FFFC000000000000000003FFFC000000000000000003FFFC0000000
-00000000003FFFC000000000000000003FFFC000000000000000003FFFC0000000000000
-00003FFFC000000000000000003FFFC000000000000000003FFFC0000000000000FFFFFF
-FFFFFFF000000000FFFFFFFFFFFFF000000000FFFFFFFFFFFFF000000000FFFFFFFFFFFF
-F000000000FFFFFFFFFFFFF0000053517BD05E>I<FFFFFFFFFE0000001FFFFFFEFFFFFF
-FFFE0000001FFFFFFEFFFFFFFFFE0000001FFFFFFEFFFFFFFFFE0000001FFFFFFEFFFFFF
-FFFE0000001FFFFFFE001FFFF000000000003FFE00001FFFF0000000000007F000000FFF
-F0000000000007E000000FFFF800000000000FE0000007FFF800000000000FC0000007FF
-FC00000000000FC0000007FFFC00000000001FC0000003FFFE00000000001F80000003FF
-FE00000000003F80000001FFFE00000000003F00000001FFFF00000000007F00000000FF
-FF00000000007E00000000FFFF80000000007E00000000FFFF8000000000FE000000007F
-FFC000000000FC000000007FFFC000000001FC000000003FFFE000000001F8000000003F
-FFE000000003F8000000001FFFE000000003F0000000001FFFF000000007F0000000001F
-FFF000000007F0000000000FFFF800000007E0000000000FFFF80000000FE00000000007
-FFFC0000000FC00000000007FFFC0000001FC00000000003FFFC0000001F800000000003
-FFFE0000003F800000000003FFFE0000003F800000000001FFFF0000003F000000000001
-FFFF0000007F000000000000FFFF8000007E000000000000FFFF800000FE000000000000
-7FFF800000FC0000000000007FFFC00001FC0000000000007FFFC00001FC000000000000
-3FFFE00001F80000000000003FFFE00003F80000000000001FFFF00003F0000000000000
-1FFFF00007F00000000000000FFFF00007E00000000000000FFFF8000FE0000000000000
-0FFFF8000FE000000000000007FFFC000FC000000000000007FFFC001FC0000000000000
-03FFFE001F8000000000000003FFFE003F8000000000000001FFFE003F00000000000000
-01FFFF007F0000000000000001FFFF007F0000000000000000FFFF807E00000000000000
-00FFFF80FE00000000000000007FFFC0FC00000000000000007FFFC1FC00000000000000
-003FFFC1F800000000000000003FFFE3F800000000000000001FFFE3F000000000000000
-001FFFF3F000000000000000001FFFF7F000000000000000000FFFFFE000000000000000
-000FFFFFE0000000000000000007FFFFC0000000000000000007FFFFC000000000000000
-0003FFFF80000000000000000003FFFF80000000000000000003FFFF8000000000000000
-0001FFFF00000000000000000001FFFF00000000000000000000FFFE0000000000000000
-0000FFFE000000000000000000007FFC000000000000000000007FFC0000000000000000
-00007FFC000000000000000000003FF8000000000000000000003FF80000000000000000
-00001FF0000000000000000000001FF0000000000000000000000FE00000000000000000
-000007C000000000005F537DD166>86 D<00007FFF000000000007FFFFF0000000003FFF
-FFFE00000000FFFFFFFF80000001FFE00FFFC0000003FE0001FFF0000007FF0000FFF800
-0007FF80003FFC00000FFF80003FFE00000FFFC0001FFE00000FFFC0001FFF00000FFFC0
-000FFF80000FFFC0000FFF80000FFFC0000FFF800007FF800007FFC00007FF800007FFC0
-0003FF000007FFC00001FE000007FFC0000000000007FFC0000000000007FFC000000000
-0007FFC0000000000007FFC0000000000007FFC0000000000007FFC0000000007FFFFFC0
-0000000FFFFFFFC0000000FFFFFFFFC0000007FFFF87FFC000003FFFF007FFC000007FFF
-8007FFC00001FFFC0007FFC00003FFF00007FFC00007FFE00007FFC0000FFFC00007FFC0
-001FFF800007FFC0003FFF000007FFC0007FFF000007FFC0007FFE000007FFC0007FFE00
-0007FFC000FFFC000007FFC000FFFC000007FFC000FFFC000007FFC000FFFC000007FFC0
-00FFFC00000FFFC000FFFC00000FFFC000FFFE00001FFFC0007FFE00001DFFC0007FFE00
-003DFFC0003FFF000079FFE0001FFF8000F1FFF8000FFFC003E1FFFFE007FFF81FC0FFFF
-F003FFFFFF807FFFF000FFFFFF001FFFF0001FFFFC0007FFE00001FFE0000000003C387C
-B641>97 D<003FF0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF000
-0000000000FFFFF0000000000000FFFFF000000000000003FFF000000000000000FFF000
-000000000000FFF000000000000000FFF000000000000000FFF000000000000000FFF000
-000000000000FFF000000000000000FFF000000000000000FFF000000000000000FFF000
-000000000000FFF000000000000000FFF000000000000000FFF000000000000000FFF000
-000000000000FFF000000000000000FFF000000000000000FFF000000000000000FFF000
-000000000000FFF000000000000000FFF000000000000000FFF000000000000000FFF000
-000000000000FFF000000000000000FFF001FFE000000000FFF00FFFFE00000000FFF03F
-FFFFC0000000FFF0FFFFFFF0000000FFF3FF01FFF8000000FFF7F8003FFE000000FFFFE0
-000FFF000000FFFF800007FF800000FFFF000003FFC00000FFFE000001FFE00000FFFC00
-0001FFF00000FFF8000000FFF80000FFF8000000FFF80000FFF80000007FFC0000FFF800
-00007FFC0000FFF80000007FFE0000FFF80000007FFE0000FFF80000007FFF0000FFF800
-00003FFF0000FFF80000003FFF0000FFF80000003FFF0000FFF80000003FFF8000FFF800
-00003FFF8000FFF80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FFF800
-00003FFF8000FFF80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FFF800
-00003FFF8000FFF80000003FFF8000FFF80000003FFF8000FFF80000003FFF0000FFF800
-00003FFF0000FFF80000003FFF0000FFF80000003FFF0000FFF80000007FFE0000FFF800
-00007FFE0000FFF80000007FFE0000FFF80000007FFC0000FFF8000000FFFC0000FFF800
-0000FFF80000FFFC000001FFF00000FFFC000001FFF00000FFFE000003FFE00000FFFF00
-0007FFC00000FFFF80000FFF800000FFCFC0001FFF000000FF87F0007FFC000000FF03FE
-03FFF8000000FE00FFFFFFE0000000FC007FFFFF80000000F8001FFFFC00000000000003
-FFC000000041547BD24B>I<000001FFF8000000001FFFFF80000000FFFFFFF0000003FF
-FFFFFC00000FFFC00FFE00001FFE0001FF00007FFC0003FF8000FFF00007FF8001FFF000
-07FFC003FFE0000FFFC003FFC0000FFFC007FFC0000FFFC00FFF80000FFFC00FFF80000F
-FFC01FFF800007FF801FFF000007FF803FFF000003FF003FFF000001FE007FFF00000000
-007FFE00000000007FFE00000000007FFE0000000000FFFE0000000000FFFE0000000000
-FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FF
-FE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE0000000000FFFE
-00000000007FFE00000000007FFF00000000007FFF00000000003FFF00000000003FFF00
-000000003FFF00000003E01FFF80000003E01FFF80000007E00FFFC0000007C007FFC000
-0007C007FFE000000FC003FFE000001F8001FFF000003F0000FFF800007E00007FFE0000
-FC00003FFF0003F800000FFFE01FF0000003FFFFFFE0000000FFFFFF800000003FFFFE00
-00000001FFE0000033387CB63C>I<000000000001FF80000000000007FFFF8000000000
-0007FFFF80000000000007FFFF80000000000007FFFF80000000000007FFFF8000000000
-00001FFF8000000000000007FF8000000000000007FF8000000000000007FF8000000000
-000007FF8000000000000007FF8000000000000007FF8000000000000007FF8000000000
-000007FF8000000000000007FF8000000000000007FF8000000000000007FF8000000000
-000007FF8000000000000007FF8000000000000007FF8000000000000007FF8000000000
-000007FF8000000000000007FF8000000000000007FF8000000000000007FF8000000000
-000007FF8000000000000007FF8000000000000007FF8000000001FFE007FF800000001F
-FFFC07FF80000000FFFFFF07FF80000003FFFFFFC7FF8000000FFFE03FE7FF8000001FFF
-0007F7FF8000007FFC0001FFFF800000FFF80000FFFF800001FFF000003FFF800003FFE0
-00001FFF800007FFC000001FFF800007FFC000000FFF80000FFF8000000FFF80001FFF80
-00000FFF80001FFF0000000FFF80003FFF0000000FFF80003FFF0000000FFF80003FFF00
-00000FFF80007FFE0000000FFF80007FFE0000000FFF80007FFE0000000FFF80007FFE00
-00000FFF8000FFFE0000000FFF8000FFFE0000000FFF8000FFFE0000000FFF8000FFFE00
-00000FFF8000FFFE0000000FFF8000FFFE0000000FFF8000FFFE0000000FFF8000FFFE00
-00000FFF8000FFFE0000000FFF8000FFFE0000000FFF8000FFFE0000000FFF8000FFFE00
-00000FFF80007FFE0000000FFF80007FFE0000000FFF80007FFE0000000FFF80003FFF00
-00000FFF80003FFF0000000FFF80003FFF0000000FFF80001FFF0000000FFF80001FFF00
-00000FFF80000FFF8000000FFF80000FFF8000001FFF800007FFC000003FFF800003FFC0
-00003FFF800001FFE000007FFF800000FFF00001FFFF8000007FF80003FFFFE000003FFE
-000FEFFFFF80000FFFC07FCFFFFF800007FFFFFF8FFFFF800001FFFFFE0FFFFF8000003F
-FFF80FFFFF80000003FFC00FFE000041547CD24B>I<000003FFC0000000003FFFFC0000
-0001FFFFFF00000007FFFFFFC000000FFF81FFE000003FFC007FF800007FF8003FFC0000
-FFF0001FFE0001FFE0000FFE0003FFC00007FF0007FFC00007FF800FFF800003FF800FFF
-800003FFC01FFF800001FFC01FFF000001FFC03FFF000001FFE03FFF000001FFE07FFF00
-0000FFE07FFE000000FFE07FFE000000FFF07FFE000000FFF0FFFE000000FFF0FFFE0000
-00FFF0FFFE000000FFF0FFFE000000FFF0FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFFFF
-FFF0FFFFFFFFFFFFE0FFFE0000000000FFFE0000000000FFFE0000000000FFFE00000000
-00FFFE0000000000FFFE00000000007FFE00000000007FFE00000000007FFF0000000000
-3FFF00000000003FFF00000000003FFF00000000E01FFF00000001F01FFF80000003F00F
-FF80000003F007FFC0000007E007FFC0000007E003FFE000000FC001FFF000001FC000FF
-F800003F80007FFC0000FF00001FFE0003FE00000FFFC03FF8000003FFFFFFF0000000FF
-FFFFC00000001FFFFE0000000001FFF0000034387CB63D>I<0000003FFC00000003FFFF
-0000000FFFFFC000003FFFFFE00000FFF81FF00001FFC03FF80003FF807FF80007FF00FF
-FC000FFE00FFFC001FFC00FFFC001FFC00FFFC003FF800FFFC003FF800FFFC003FF8007F
-F8007FF0007FF8007FF0003FF0007FF0000FC0007FF0000000007FF0000000007FF00000
-00007FF0000000007FF0000000007FF0000000007FF0000000007FF0000000007FF00000
-00007FF0000000007FF0000000007FF0000000007FF0000000007FF0000000FFFFFFFFE0
-00FFFFFFFFE000FFFFFFFFE000FFFFFFFFE000FFFFFFFFE000007FF8000000007FF80000
-00007FF8000000007FF8000000007FF8000000007FF8000000007FF8000000007FF80000
-00007FF8000000007FF8000000007FF8000000007FF8000000007FF8000000007FF80000
-00007FF8000000007FF8000000007FF8000000007FF8000000007FF8000000007FF80000
-00007FF8000000007FF8000000007FF8000000007FF8000000007FF8000000007FF80000
-00007FF8000000007FF8000000007FF8000000007FF8000000007FF8000000007FF80000
-00007FF8000000007FF8000000007FF8000000007FF8000000007FF8000000007FF80000
-00007FF8000000007FF8000000007FF8000000007FF8000000007FF80000007FFFFFFE00
-007FFFFFFE00007FFFFFFE00007FFFFFFE00007FFFFFFE00002E547CD329>I<00003FFF
-0000FF000003FFFFF007FFC0000FFFFFFC1FFFE0003FFFFFFF7FFFE0007FFC0FFFFF9FF0
-00FFE001FFF83FF001FFC000FFE03FF003FF80007FF01FF007FF00003FF81FE00FFF0000
-3FFC0FC00FFF00003FFC07801FFE00001FFE00001FFE00001FFE00003FFE00001FFF0000
-3FFE00001FFF00003FFE00001FFF00003FFE00001FFF00003FFE00001FFF00003FFE0000
-1FFF00003FFE00001FFF00003FFE00001FFF00003FFE00001FFF00001FFE00001FFE0000
-1FFE00001FFE00000FFF00003FFC00000FFF00003FFC000007FF00003FF8000003FF8000
-7FF0000001FFC000FFE0000000FFE001FFC0000000FFFC0FFF80000001FFFFFFFF000000
-03EFFFFFFC00000003C3FFFFF000000007C03FFF0000000007C000000000000007C00000
-000000000FC00000000000000FC00000000000000FC00000000000000FE0000000000000
-0FE00000000000000FF80000000000000FFE0000000000000FFFFFFFFF00000007FFFFFF
-FFF8000007FFFFFFFFFF000007FFFFFFFFFFC00003FFFFFFFFFFE00001FFFFFFFFFFF000
-00FFFFFFFFFFF800007FFFFFFFFFFC00007FFFFFFFFFFE0001FFFFFFFFFFFF0007FFFFFF
-FFFFFF000FFE000003FFFF801FF80000003FFF803FF000000007FF807FE000000003FFC0
-7FE000000001FFC0FFC000000001FFC0FFC000000000FFC0FFC000000000FFC0FFC00000
-0000FFC0FFC000000000FFC0FFC000000000FFC0FFE000000001FFC07FE000000001FF80
-7FF000000003FF803FF000000003FF001FF800000007FE000FFE0000001FFC0007FF8000
-007FF80003FFE00001FFF00001FFFE001FFFE000007FFFFFFFFF8000000FFFFFFFFC0000
-0001FFFFFFE0000000000FFFFC0000003C4F7CB543>I<003FF0000000000000FFFFF000
-0000000000FFFFF0000000000000FFFFF0000000000000FFFFF0000000000000FFFFF000
-000000000003FFF000000000000000FFF000000000000000FFF000000000000000FFF000
-000000000000FFF000000000000000FFF000000000000000FFF000000000000000FFF000
-000000000000FFF000000000000000FFF000000000000000FFF000000000000000FFF000
-000000000000FFF000000000000000FFF000000000000000FFF000000000000000FFF000
-000000000000FFF000000000000000FFF000000000000000FFF000000000000000FFF000
-000000000000FFF000000000000000FFF000000000000000FFF000000000000000FFF000
-1FFC00000000FFF000FFFFC0000000FFF003FFFFF0000000FFF00FFFFFF8000000FFF01F
-E07FFC000000FFF03F001FFE000000FFF07C001FFF000000FFF0F0000FFF000000FFF1E0
-000FFF800000FFF3C0000FFF800000FFF7800007FF800000FFF7800007FFC00000FFFF00
-0007FFC00000FFFE000007FFC00000FFFE000007FFC00000FFFC000007FFC00000FFFC00
-0007FFC00000FFFC000007FFC00000FFFC000007FFC00000FFF8000007FFC00000FFF800
-0007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF800
-0007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF800
-0007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF800
-0007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF800
-0007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF800
-0007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF800
-0007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF800
-0007FFC000FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF8
-07FFFFFFC0FFFFFFF807FFFFFFC042537BD24B>I<007F000000FF800003FFE00007FFF0
-0007FFF0000FFFF8000FFFF8000FFFF8000FFFF8000FFFF8000FFFF8000FFFF80007FFF0
-0007FFF00003FFE00000FF8000007F000000000000000000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000003FF0
-00FFFFF000FFFFF000FFFFF000FFFFF000FFFFF00001FFF00000FFF00000FFF00000FFF0
-0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF0
-0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF0
-0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF0
-0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF0
-0000FFF00000FFF00000FFF000FFFFFFE0FFFFFFE0FFFFFFE0FFFFFFE0FFFFFFE01B547B
-D325>I<003FF00000000000FFFFF00000000000FFFFF00000000000FFFFF00000000000
-FFFFF00000000000FFFFF0000000000003FFF0000000000000FFF0000000000000FFF000
-0000000000FFF0000000000000FFF0000000000000FFF0000000000000FFF00000000000
-00FFF0000000000000FFF0000000000000FFF0000000000000FFF0000000000000FFF000
-0000000000FFF0000000000000FFF0000000000000FFF0000000000000FFF00000000000
-00FFF0000000000000FFF0000000000000FFF0000000000000FFF0000000000000FFF000
-0000000000FFF0000000000000FFF0000000000000FFF0000000000000FFF00001FFFFF8
-00FFF00001FFFFF800FFF00001FFFFF800FFF00001FFFFF800FFF00001FFFFF800FFF000
-003FFE0000FFF000001FF00000FFF000003FC00000FFF000007F800000FFF00000FF0000
-00FFF00003FE000000FFF00007F8000000FFF0000FF0000000FFF0001FE0000000FFF000
-7FC0000000FFF000FF00000000FFF001FE00000000FFF003FC00000000FFF00FF8000000
-00FFF01FE000000000FFF03FF000000000FFF07FF800000000FFF1FFF800000000FFF3FF
-FC00000000FFF7FFFE00000000FFFFFFFF00000000FFFFFFFF80000000FFFF9FFF800000
-00FFFF0FFFC0000000FFFE0FFFE0000000FFF807FFF0000000FFF003FFF0000000FFF001
-FFF8000000FFF000FFFC000000FFF000FFFE000000FFF0007FFF000000FFF0003FFF0000
-00FFF0001FFF800000FFF0001FFFC00000FFF0000FFFE00000FFF00007FFF00000FFF000
-03FFF00000FFF00001FFF80000FFF00001FFFC0000FFF00000FFFE0000FFF000007FFE00
-00FFF000003FFF0000FFF000007FFFC0FFFFFFF003FFFFFFFFFFFFF003FFFFFFFFFFFFF0
-03FFFFFFFFFFFFF003FFFFFFFFFFFFF003FFFFFF40537CD247>107
-D<003FF000FFFFF000FFFFF000FFFFF000FFFFF000FFFFF00001FFF00000FFF00000FFF0
-0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF0
-0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF0
-0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF0
-0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF0
-0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF0
-0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF0
-0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF00000FFF0
-0000FFF00000FFF00000FFF00000FFF00000FFF00000FFF000FFFFFFF0FFFFFFF0FFFFFF
-F0FFFFFFF0FFFFFFF01C537BD225>I<003FF0001FFC000000FFE00000FFFFF000FFFFC0
-0007FFFE0000FFFFF003FFFFF0001FFFFF8000FFFFF00FFFFFF8007FFFFFC000FFFFF01F
-E07FFC00FF03FFE000FFFFF03F001FFE01F800FFF00003FFF07C001FFF03E000FFF80000
-FFF0F0000FFF0780007FF80000FFF1E0000FFF8F00007FFC0000FFF3C0000FFF9E00007F
-FC0000FFF7800007FFBC00003FFC0000FFF7800007FFFC00003FFE0000FFFF000007FFF8
-00003FFE0000FFFE000007FFF000003FFE0000FFFE000007FFF000003FFE0000FFFC0000
-07FFE000003FFE0000FFFC000007FFE000003FFE0000FFFC000007FFE000003FFE0000FF
-FC000007FFE000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE
-0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000
-003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007
-FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8
-000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE00
-00FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC00000
-3FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FF
-C000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF800
-0007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000
-FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003F
-FE0000FFF8000007FFC000003FFE0000FFF8000007FFC000003FFE0000FFF8000007FFC0
-00003FFE00FFFFFFF807FFFFFFC03FFFFFFEFFFFFFF807FFFFFFC03FFFFFFEFFFFFFF807
-FFFFFFC03FFFFFFEFFFFFFF807FFFFFFC03FFFFFFEFFFFFFF807FFFFFFC03FFFFFFE6736
-7BB570>I<003FF0001FFC000000FFFFF000FFFFC00000FFFFF003FFFFF00000FFFFF00F
-FFFFF80000FFFFF01FE07FFC0000FFFFF03F001FFE000003FFF07C001FFF000000FFF0F0
-000FFF000000FFF1E0000FFF800000FFF3C0000FFF800000FFF7800007FF800000FFF780
-0007FFC00000FFFF000007FFC00000FFFE000007FFC00000FFFE000007FFC00000FFFC00
-0007FFC00000FFFC000007FFC00000FFFC000007FFC00000FFFC000007FFC00000FFF800
-0007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF800
-0007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF800
-0007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF800
-0007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF800
-0007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF800
-0007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF800
-0007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF800
-0007FFC00000FFF8000007FFC000FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF8
-07FFFFFFC0FFFFFFF807FFFFFFC0FFFFFFF807FFFFFFC042367BB54B>I<000001FFE000
-000000001FFFFE0000000000FFFFFFC000000003FFFFFFF00000000FFF807FFC0000001F
-FC000FFE0000007FF80007FF800000FFF00003FFC00001FFE00001FFE00003FFC00000FF
-F00003FF8000007FF00007FF8000007FF8000FFF0000003FFC000FFF0000003FFC001FFF
-0000003FFE001FFF0000003FFE003FFE0000001FFF003FFE0000001FFF003FFE0000001F
-FF007FFE0000001FFF807FFE0000001FFF807FFE0000001FFF807FFE0000001FFF80FFFE
-0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001F
-FFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC0FFFE
-0000001FFFC0FFFE0000001FFFC0FFFE0000001FFFC07FFE0000001FFF807FFE0000001F
-FF807FFE0000001FFF803FFE0000001FFF003FFF0000003FFF003FFF0000003FFF001FFF
-0000003FFE001FFF0000003FFE000FFF0000003FFC000FFF8000007FFC0007FF8000007F
-F80003FFC00000FFF00001FFE00001FFE00000FFF00003FFC000007FF80007FF8000003F
-FE001FFF0000000FFF807FFC00000007FFFFFFF800000000FFFFFFC0000000003FFFFF00
-0000000001FFE00000003A387CB643>I<003FF001FFE0000000FFFFF00FFFFE000000FF
-FFF03FFFFFC00000FFFFF0FFFFFFF00000FFFFF3FF01FFF80000FFFFF7F8007FFE000003
-FFFFE0001FFF000000FFFF80000FFF800000FFFF000007FFC00000FFFE000007FFE00000
-FFFC000003FFF00000FFF8000001FFF80000FFF8000001FFF80000FFF8000000FFFC0000
-FFF8000000FFFC0000FFF8000000FFFE0000FFF80000007FFE0000FFF80000007FFF0000
-FFF80000007FFF0000FFF80000007FFF0000FFF80000007FFF0000FFF80000003FFF8000
-FFF80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000
-FFF80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000
-FFF80000003FFF8000FFF80000003FFF8000FFF80000003FFF8000FFF80000003FFF0000
-FFF80000007FFF0000FFF80000007FFF0000FFF80000007FFF0000FFF80000007FFE0000
-FFF8000000FFFE0000FFF8000000FFFE0000FFF8000000FFFC0000FFF8000001FFFC0000
-FFF8000001FFF80000FFFC000003FFF00000FFFC000003FFF00000FFFE000007FFE00000
-FFFF00000FFFC00000FFFF80001FFF800000FFFFC0003FFF000000FFFFF000FFFC000000
-FFFBFE07FFF8000000FFF8FFFFFFE0000000FFF87FFFFF80000000FFF81FFFFC00000000
-FFF803FFC000000000FFF800000000000000FFF800000000000000FFF800000000000000
-FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000000000
-FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000000000
-FFF800000000000000FFF800000000000000FFF800000000000000FFF800000000000000
-FFF800000000000000FFF8000000000000FFFFFFF80000000000FFFFFFF80000000000FF
-FFFFF80000000000FFFFFFF80000000000FFFFFFF80000000000414D7BB54B>I<007FE0
-03FE00FFFFE00FFF80FFFFE03FFFE0FFFFE07FFFF0FFFFE0FE1FF8FFFFE1F83FFC03FFE3
-E03FFE00FFE3C07FFE00FFE7807FFE00FFEF807FFE00FFEF007FFE00FFEE007FFE00FFFE
-003FFC00FFFC003FFC00FFFC001FF800FFFC000FF000FFF800000000FFF800000000FFF8
-00000000FFF800000000FFF800000000FFF000000000FFF000000000FFF000000000FFF0
-00000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF0
-00000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF0
-00000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF0
-00000000FFF000000000FFF000000000FFF000000000FFF000000000FFF000000000FFF0
-000000FFFFFFFC0000FFFFFFFC0000FFFFFFFC0000FFFFFFFC0000FFFFFFFC00002F367C
-B537>114 D<0003FFF00F00003FFFFE1F0000FFFFFFFF0003FFFFFFFF0007FF003FFF00
-0FF80007FF001FE00001FF003FC00000FF003F8000007F007F8000007F007F0000003F00
-7F0000003F00FF0000001F00FF0000001F00FF8000001F00FF8000001F00FFC000001F00
-FFF000000000FFFC00000000FFFFC00000007FFFFF0000007FFFFFF800003FFFFFFF0000
-3FFFFFFFC0001FFFFFFFF0000FFFFFFFF80007FFFFFFFC0003FFFFFFFE0000FFFFFFFF00
-003FFFFFFF80000FFFFFFFC00000FFFFFFC0000007FFFFE00000003FFFE000000007FFF0
-00000001FFF0780000007FF0F80000003FF0F80000001FF0FC0000001FF0FC0000000FF0
-FC0000000FF0FE0000000FF0FE0000000FE0FF0000000FE0FF8000001FE0FF8000001FC0
-FFC000001FC0FFE000003F80FFF800007F00FFFE0001FE00FFFFC00FFC00FF7FFFFFF800
-FC1FFFFFE000F807FFFF8000F000FFF800002C387CB635>I<00003E00000000003E0000
-0000003E00000000003E00000000003E00000000003E00000000007E00000000007E0000
-0000007E00000000007E0000000000FE0000000000FE0000000001FE0000000001FE0000
-000001FE0000000003FE0000000007FE0000000007FE000000000FFE000000001FFE0000
-00003FFE00000000FFFE00000001FFFE0000000FFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF
-00FFFFFFFFFF00FFFFFFFFFF00003FFE000000003FFE000000003FFE000000003FFE0000
-00003FFE000000003FFE000000003FFE000000003FFE000000003FFE000000003FFE0000
-00003FFE000000003FFE000000003FFE000000003FFE000000003FFE000000003FFE0000
-00003FFE000000003FFE000000003FFE000000003FFE000000003FFE000000003FFE0000
-00003FFE000000003FFE000000003FFE000000003FFE000000003FFE000000003FFE0007
-C0003FFE0007C0003FFE0007C0003FFE0007C0003FFE0007C0003FFE0007C0003FFE0007
-C0003FFE0007C0003FFE0007C0003FFE0007C0003FFE0007C0001FFE000F80001FFF000F
-80001FFF000F80000FFF001F00000FFF801F000007FFC03E000003FFF0FC000001FFFFF8
-0000007FFFF00000001FFFE000000003FF80002A4D7ECB34>I<003FF8000001FFC000FF
-FFF80007FFFFC000FFFFF80007FFFFC000FFFFF80007FFFFC000FFFFF80007FFFFC000FF
-FFF80007FFFFC00003FFF800001FFFC00000FFF8000007FFC00000FFF8000007FFC00000
-FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000
-FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000
-FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000
-FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000
-FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000
-FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000
-FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000FFF8000007FFC00000
-FFF8000007FFC00000FFF8000007FFC00000FFF800000FFFC00000FFF800000FFFC00000
-FFF800000FFFC00000FFF800001FFFC00000FFF800001FFFC000007FF800003FFFC00000
-7FF800003BFFC000007FF800007BFFC000003FFC0000F3FFC000003FFC0001E3FFF00000
-1FFE0007C3FFFFC0000FFFC03F83FFFFC00007FFFFFF03FFFFC00001FFFFFE03FFFFC000
-007FFFF803FFFFC0000007FFE003FF000042377BB54B>I<FFFFFFF00007FFFFFFFFFFF0
-0007FFFFFFFFFFF00007FFFFFFFFFFF00007FFFFFFFFFFF00007FFFF01FFF80000007FE0
-00FFFC0000003F0000FFFC0000003F00007FFC0000003E00007FFE0000007E00003FFE00
-00007C00003FFF000000FC00001FFF000000F800001FFF800001F800000FFF800001F000
-000FFFC00001F000000FFFC00003F0000007FFC00003E0000007FFE00007E0000003FFE0
-0007C0000003FFF0000FC0000001FFF0000F80000001FFF8001F80000000FFF8001F0000
-0000FFFC001F00000000FFFC003F000000007FFE003E000000007FFE007E000000003FFE
-007C000000003FFF00FC000000001FFF00F8000000001FFF81F8000000000FFF81F00000
-00000FFFC3F0000000000FFFC3F00000000007FFE3E00000000007FFE7E00000000003FF
-E7C00000000003FFFFC00000000001FFFF800000000001FFFF800000000000FFFF000000
-000000FFFF0000000000007FFE0000000000007FFE0000000000007FFE0000000000003F
-FC0000000000003FFC0000000000001FF80000000000001FF80000000000000FF0000000
-0000000FF000000000000007E000000000000003C000000040367DB447>I<FFFFFFE07F
-FFFFC003FFFFC0FFFFFFE07FFFFFC003FFFFC0FFFFFFE07FFFFFC003FFFFC0FFFFFFE07F
-FFFFC003FFFFC0FFFFFFE07FFFFFC003FFFFC001FFF00000FFF000001FF80001FFF80000
-7FF0000007E00000FFF800007FF8000007C00000FFF800007FF8000007C00000FFFC0000
-3FF800000FC000007FFC00003FFC00000F8000007FFC00003FFC00000F8000007FFE0000
-3FFC00001F8000003FFE00007FFE00001F0000003FFF00007FFE00003F0000001FFF0000
-7FFF00003E0000001FFF0000FFFF00003E0000001FFF8000FFFF00007E0000000FFF8001
-FFFF80007C0000000FFFC001F3FF8000FC00000007FFC001F3FFC000F800000007FFC003
-F3FFC000F800000007FFE003E1FFC001F800000003FFE007E1FFE001F000000003FFF007
-C0FFE001F000000001FFF007C0FFF003E000000001FFF00FC0FFF003E000000001FFF80F
-807FF007E000000000FFF80F807FF807C000000000FFF81F003FF807C000000000FFFC1F
-003FF80FC0000000007FFC3F003FFC0F80000000007FFE3E001FFC1F80000000003FFE3E
-001FFE1F00000000003FFE7E001FFE1F00000000003FFF7C000FFE3F00000000001FFFFC
-000FFF3E00000000001FFFF80007FF7E00000000000FFFF80007FFFC00000000000FFFF8
-0007FFFC00000000000FFFF00003FFFC000000000007FFF00003FFF8000000000007FFE0
-0001FFF8000000000003FFE00001FFF0000000000003FFE00001FFF0000000000003FFC0
-0000FFF0000000000001FFC00000FFE0000000000001FF8000007FE0000000000001FF80
-00007FE0000000000000FF8000007FC0000000000000FF0000003FC00000000000007F00
-00003F800000000000007F0000003F800000000000003E0000001F000000005A367DB461
->I<7FFFFFF0007FFFFE007FFFFFF0007FFFFE007FFFFFF0007FFFFE007FFFFFF0007FFF
-FE007FFFFFF0007FFFFE00007FFE00000FFF0000003FFF000007F80000001FFF800007F0
-0000000FFFC0000FE000000007FFC0001FC000000007FFE0003F8000000003FFF0003F00
-00000001FFF8007E0000000000FFFC00FC00000000007FFE01FC00000000007FFE03F800
-000000003FFF07F000000000001FFF8FE000000000000FFFCFC0000000000007FFFF8000
-0000000003FFFF00000000000003FFFF00000000000001FFFE00000000000000FFFC0000
-00000000007FFE000000000000003FFF000000000000003FFF000000000000001FFF8000
-00000000001FFFC00000000000003FFFE00000000000007FFFF0000000000000FFFFF000
-0000000001FDFFF8000000000001F8FFFC000000000003F07FFE000000000007E03FFF00
-000000000FE01FFF00000000001FC01FFF80000000003F800FFFC0000000007F0007FFE0
-00000000FE0003FFF000000000FC0001FFF800000001F80001FFF800000003F00000FFFC
-00000007F000007FFE0000000FE000003FFF0000001FC000001FFF800000FFF000001FFF
-8000FFFFFE0001FFFFFFC0FFFFFE0001FFFFFFC0FFFFFE0001FFFFFFC0FFFFFE0001FFFF
-FFC0FFFFFE0001FFFFFFC042357EB447>I<FFFFFFF00007FFFFFFFFFFF00007FFFFFFFF
-FFF00007FFFFFFFFFFF00007FFFFFFFFFFF00007FFFF00FFF80000007FE000FFFC000000
-3F0000FFFC0000003F00007FFE0000003E00007FFE0000007E00003FFE0000007C00003F
-FF000000FC00001FFF000000F800001FFF800001F800000FFF800001F000000FFFC00003
-F0000007FFC00003E0000007FFE00003E0000007FFE00007E0000003FFF00007C0000003
-FFF0000FC0000001FFF8000F80000001FFF8001F80000000FFF8001F00000000FFFC003F
-000000007FFC003E000000007FFE007E000000003FFE007C000000003FFF00FC00000000
-3FFF00FC000000001FFF80F8000000001FFF81F8000000000FFFC1F0000000000FFFC3F0
-0000000007FFC3E00000000007FFE7E00000000003FFE7C00000000003FFFFC000000000
-01FFFF800000000001FFFF800000000000FFFF000000000000FFFF000000000000FFFF00
-00000000007FFE0000000000007FFE0000000000003FFC0000000000003FFC0000000000
-001FF80000000000001FF80000000000000FF00000000000000FF000000000000007E000
-000000000007E000000000000007E000000000000007C00000000000000FC00000000000
-000F800000000000001F800000000000001F000000000000003F000000001FC0003E0000
-00003FE0007E000000007FF0007C00000000FFF800FC00000000FFF800F800000000FFF8
-01F800000000FFF801F000000000FFF803F000000000FFF807E0000000007FF00FC00000
-00007FE01F80000000003FC07F00000000003F81FE00000000001FFFFC00000000000FFF
-F0000000000003FFE0000000000000FF000000000000404D7DB447>I
-E /Fr 42 127 df<00000FF8000000007FFE00000001F80780000007E001C000001F8000
-E000003F0007E000007E000FF000007E000FF00000FC000FF00000FC000FF00001F8000F
-F00001F80007E00001F80001800001F80000000001F80000000001F80000000001F80000
-000001F80000000001F80000000001F80000000001F80000000001F80000000001F80003
-F000FFFFFFFFF000FFFFFFFFF000FFFFFFFFF00001F8000FF00001F80003F00001F80003
-F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003
-F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003
-F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003
-F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003F00001F80003
-F00001F80003F00001F80003F00003FC0007F8007FFFE0FFFFC07FFFE0FFFFC07FFFE0FF
-FFC02A3B7FBA2E>12 D<03F000FFF000FFF000FFF00007F00003F00003F00003F00003F0
-0003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F0
-0003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F0
-0007F800FFFFC0FFFFC0FFFFC012257EA417>16 D<003C007E007E00FE01FE03FC03F007
-E00FC01F801E003C007800F000C0000F0F6FB92A>19 D<03F00003F00003F00003FE0000
-3F80001FC0000FE00007E00007E00007E0000FE0001FC000FF80FFFE00FFE000130F757D
-25>24 D<0000600000E00001C0000380000700000E00001E00003C0000780000780000F0
-0001E00001E00003C00003C00007C0000780000F80000F00000F00001F00001E00001E00
-003E00003E00003E00007C00007C00007C00007C00007C00007C0000F80000F80000F800
-00F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F80000F800
-00F80000F80000F800007C00007C00007C00007C00007C00007C00003E00003E00003E00
-001E00001E00001F00000F00000F00000F800007800007C00003C00003C00001E00001E0
-0000F000007800007800003C00001E00000E000007000003800001C00000E00000601352
-78BD20>40 D<C00000E000007000003800001C00000E00000F000007800003C00003C000
-01E00000F00000F000007800007800007C00003C00003E00001E00001E00001F00000F00
-000F00000F80000F80000F800007C00007C00007C00007C00007C00007C00003E00003E0
-0003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E00003E0
-0003E00003E00003E00003E00007C00007C00007C00007C00007C00007C0000F80000F80
-000F80000F00000F00001F00001E00001E00003E00003C00007C0000780000780000F000
-00F00001E00003C00003C0000780000F00000E00001C0000380000700000E00000C00000
-13527CBD20>I<1C007F00FF80FF80FF80FF80FF807F001C000909798817>46
-D<000FF00000007FFE000001FFFF800003E03FE0000F000FF0000E0007F8001C0003FC00
-380001FE00300001FE00700000FF00600000FF00FC0000FF00FF00007F80FF80007F80FF
-80007F80FF80007F80FF80007F80FF80007F807F00007F801C00007F800000007F800000
-00FF00000000FF00000000FF00000001FE00000001FC00000003FC00000003F800000007
-F000000007E00000000FE00000001FC00000003F800000003F000000007C00000000F800
-000001F000000003E000000007C00000000F800000000F000000001E000180003C000180
-007800018000F000038001E000030003C000030007800003000E000007000FFFFFFF001F
-FFFFFF003FFFFFFF007FFFFFFE00FFFFFFFE00FFFFFFFE00FFFFFFFE0021387CB72A>50
-D<0600000C000780003C0007F003F80007FFFFF80007FFFFF00007FFFFE00007FFFF8000
-07FFFF000007FFFC0000067FE00000060000000006000000000600000000060000000006
-000000000600000000060000000006000000000600000000060000000006000000000607
-F80000063FFE000006780F800007E007E000078003F000070001F800060001F800060000
-FC00000000FE00000000FE00000000FF000000007F000000007F000000007F800000007F
-800000007F800000007F803E00007F807F00007F80FF80007F80FF80007F80FF80007F80
-FF80007F80FF00007F00FE0000FF00E00000FF00600000FE00700000FE00300001FC0038
-0001F8001C0003F8001E0007F0000F800FE00007E03F800001FFFF0000007FFC0000001F
-E00000213A7CB72A>53 D<0000003800000000000038000000000000380000000000007C
-0000000000007C0000000000007C000000000000FE000000000000FE000000000000FE00
-0000000001FF000000000001FF000000000001FF0000000000037F8000000000037F8000
-000000077FC000000000063FC000000000063FC0000000000E3FE0000000000C1FE00000
-00000C1FE0000000001C1FF000000000180FF000000000180FF000000000380FF8000000
-003007F8000000003007F8000000007007FC000000006003FC000000006003FC00000000
-C003FE00000000C001FE00000000C001FE000000018001FF000000018000FF0000000180
-00FF000000030000FF8000000300007F8000000300007F8000000600007FC0000007FFFF
-FFC0000007FFFFFFC000000FFFFFFFE000000C00001FE000000C00001FE000001800000F
-F000001800000FF000001800000FF0000030000007F8000030000007F8000030000007F8
-000060000003FC000060000003FC0000E0000003FC0000E0000001FE0001E0000001FE00
-03F0000001FF000FFC000007FF80FFFF8000FFFFFEFFFF8000FFFFFEFFFF8000FFFFFE37
-3C7DBB3E>65 D<000001FF80018000000FFFE0038000007FFFF803800001FF807E078000
-03FC000F0F80000FF000039F80001FE00001DF80003F800000FF80007F0000007F8000FE
-0000003F8001FE0000003F8003FC0000001F8007F80000000F8007F80000000F800FF000
-000007800FF000000007801FE000000007801FE000000003803FE000000003803FC00000
-0003807FC000000001807FC000000001807FC000000001807F800000000180FF80000000
-0000FF800000000000FF800000000000FF800000000000FF800000000000FF8000000000
-00FF800000000000FF800000000000FF800000000000FF800000000000FF800000000000
-FF800000000000FF8000000000007F8000000000007FC000000001807FC000000001807F
-C000000001803FC000000001803FE000000001801FE000000003801FE000000003000FF0
-00000003000FF0000000070007F8000000070007F8000000060003FC0000000E0001FE00
-00001C0000FE0000001800007F0000003800003F8000007000001FE00000E000000FF000
-03C0000003FC000F80000001FF803F000000007FFFFC000000000FFFF00000000001FF80
-0000313D7BBA3C>67 D<FFFFFFFFFFFC00FFFFFFFFFFFC00FFFFFFFFFFFC0001FF80000F
-FC0000FF000001FC0000FF0000007E0000FF0000003E0000FF0000001E0000FF0000000E
-0000FF0000000E0000FF0000000E0000FF000000060000FF000000060000FF0000000600
-00FF000000070000FF000000030000FF0000C0030000FF0000C0030000FF0000C0030000
-FF0000C0000000FF0000C0000000FF0000C0000000FF0001C0000000FF0001C0000000FF
-0003C0000000FF000FC0000000FFFFFFC0000000FFFFFFC0000000FFFFFFC0000000FF00
-0FC0000000FF0003C0000000FF0001C0000000FF0001C0000000FF0000C0000000FF0000
-C0000000FF0000C0006000FF0000C0006000FF0000C0006000FF0000C000E000FF000000
-00C000FF00000000C000FF00000000C000FF00000000C000FF00000001C000FF00000001
-C000FF00000001C000FF000000038000FF000000038000FF000000078000FF0000000780
-00FF0000000F8000FF0000003F8000FF0000007F8001FF800007FF00FFFFFFFFFFFF00FF
-FFFFFFFFFF00FFFFFFFFFFFF0033397DB839>69 D<FFFFFFC0FFFFFFC0FFFFFFC000FFC0
-00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80
-00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80
-00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80
-00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80
-00007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F8000007F80
-00007F8000007F8000007F8000007F800000FFC000FFFFFFC0FFFFFFC0FFFFFFC01A397E
-B81E>73 D<FFFFFFE00000FFFFFFE00000FFFFFFE0000001FFC000000000FF0000000000
-FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000
-FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000
-FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000
-FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000
-FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000
-FF0000001800FF0000001800FF0000001800FF0000001800FF0000001800FF0000003800
-FF0000003000FF0000003000FF0000003000FF0000007000FF0000007000FF0000007000
-FF000000F000FF000000F000FF000001F000FF000003F000FF00000FF000FF00001FE001
-FF8000FFE0FFFFFFFFFFE0FFFFFFFFFFE0FFFFFFFFFFE02D397DB834>76
-D<000003FF00000000001FFFE000000000FE01FC00000001F8007E00000007E0001F8000
-000FC0000FC000003F800007F000007F000003F80000FE000001FC0001FC000000FE0001
-F80000007E0003F80000007F0007F00000003F8007F00000003F800FE00000001FC00FE0
-0000001FC01FE00000001FE01FC00000000FE03FC00000000FF03FC00000000FF03FC000
-00000FF07FC00000000FF87F8000000007F87F8000000007F87F8000000007F8FF800000
-0007FCFF8000000007FCFF8000000007FCFF8000000007FCFF8000000007FCFF80000000
-07FCFF8000000007FCFF8000000007FCFF8000000007FCFF8000000007FCFF8000000007
-FCFF8000000007FC7F8000000007F87FC00000000FF87FC00000000FF87FC00000000FF8
-3FC00000000FF03FC00000000FF01FE00000001FE01FE00000001FE01FE00000001FE00F
-F00000003FC007F00000003F8007F80000007F8003F80000007F0001FC000000FE0001FC
-000000FE0000FE000001FC00007F000003F800003F800007F000001FC0000FE0000007E0
-001F80000003F8007F00000000FE01FC000000001FFFE00000000003FF000000363D7BBA
-41>79 D<FFFFFFFFC000FFFFFFFFF800FFFFFFFFFE0001FF8001FF8000FF00003FC000FF
-00000FE000FF000007F000FF000003F800FF000003FC00FF000003FE00FF000001FE00FF
-000001FE00FF000001FF00FF000001FF00FF000001FF00FF000001FF00FF000001FF00FF
-000001FF00FF000001FF00FF000001FE00FF000001FE00FF000003FC00FF000003FC00FF
-000007F800FF000007F000FF00000FE000FF00003FC000FF0001FF0000FFFFFFFC0000FF
-FFFFF00000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF
-0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF
-0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF
-0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000001FF
-80000000FFFFFF000000FFFFFF000000FFFFFF00000030397DB839>I<3FFFFFFFFFFFE0
-3FFFFFFFFFFFE03FFFFFFFFFFFE03FC003FF001FE03E0001FE0003E07C0001FE0001F078
-0001FE0000F0700001FE000070700001FE000070700001FE000070600001FE0000306000
-01FE000030600001FE000030600001FE000030E00001FE000038C00001FE000018C00001
-FE000018C00001FE000018C00001FE000018000001FE000000000001FE000000000001FE
-000000000001FE000000000001FE000000000001FE000000000001FE000000000001FE00
-0000000001FE000000000001FE000000000001FE000000000001FE000000000001FE0000
-00000001FE000000000001FE000000000001FE000000000001FE000000000001FE000000
-000001FE000000000001FE000000000001FE000000000001FE000000000001FE00000000
-0001FE000000000001FE000000000001FE000000000001FE000000000001FE0000000000
-01FE000000000001FE000000000001FE000000000001FE000000000001FE000000000001
-FE000000000007FF800000001FFFFFFFE000001FFFFFFFE000001FFFFFFFE00035397DB8
-3C>84 D<001FE0000000FFFC000003E03F000007000F80000F8007E0001FC003F0001FE0
-03F0001FE001F8001FE001F8001FE000FC000FC000FC00078000FC00000000FC00000000
-FC00000000FC00000000FC0000007FFC000007FFFC00003FE0FC0000FE00FC0003F800FC
-000FF000FC001FC000FC003FC000FC007F8000FC007F0000FC007F0000FC0CFE0000FC0C
-FE0000FC0CFE0000FC0CFE0001FC0CFE0001FC0CFF0003FC0C7F00077C0C7F80063E183F
-C01E3E180FE0781FF003FFF00FE0007F8007C026277DA52A>97 D<03F0000000FFF00000
-00FFF0000000FFF00000000FF000000003F000000003F000000003F000000003F0000000
-03F000000003F000000003F000000003F000000003F000000003F000000003F000000003
-F000000003F000000003F000000003F000000003F000000003F01FE00003F07FF80003F1
-E03E0003F3801F8003F7000FC003FE0007E003FC0003F003F80001F803F00001F803F000
-00FC03F00000FC03F00000FE03F00000FE03F000007E03F000007F03F000007F03F00000
-7F03F000007F03F000007F03F000007F03F000007F03F000007F03F000007F03F000007F
-03F000007E03F00000FE03F00000FE03F00000FC03F00001FC03F80001F803F80003F003
-FC0003F003EE0007E003C6000FC003C7801F000381E07E000300FFF80000001FC000283B
-7EB92E>I<0003FC00001FFF80007E03E001F8007003F000F807E001FC0FC003FC0FC003
-FC1F8003FC3F8003FC3F0001F87F0000F07F0000007F0000007E000000FE000000FE0000
-00FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE0000007E0000
-007F0000007F0000003F0000063F8000061F80000E1FC0000C0FC0001C07E0003803F000
-7001F800E0007C07C0001FFF000007F8001F277DA525>I<0000000FC0000003FFC00000
-03FFC0000003FFC00000003FC00000000FC00000000FC00000000FC00000000FC0000000
-0FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000F
-C00000000FC00000000FC00000000FC00000000FC00003F80FC0001FFF0FC0007E078FC0
-00F801EFC003F0007FC007E0003FC00FC0001FC00FC0001FC01F80000FC03F80000FC03F
-00000FC07F00000FC07F00000FC07E00000FC0FE00000FC0FE00000FC0FE00000FC0FE00
-000FC0FE00000FC0FE00000FC0FE00000FC0FE00000FC0FE00000FC0FE00000FC07E0000
-0FC07F00000FC07F00000FC03F00000FC03F00000FC01F80001FC01F80001FC00FC0003F
-C007E0007FC003F000EFF001F801CFFF007C078FFF001FFE0FFF0007F80FC0283B7DB92E
->I<0007F800001FFF00007C0FC001F803E003F001F007E001F80FC000F81F80007C1F80
-007C3F00007E3F00003E7F00003E7F00003F7E00003FFE00003FFE00003FFE00003FFFFF
-FFFFFFFFFFFFFE000000FE000000FE000000FE000000FE0000007E0000007E0000007F00
-00007F0000003F0000033F8000031F8000070FC0000607C0000E07E0001C01F0003800F8
-0070007E03E0001FFF800003FC0020277EA525>I<00007E000003FF80000FC1E0001F87
-E0003F0FF0007E0FF0007E0FF000FC0FF000FC0FF001F803C001F8000001F8000001F800
-0001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F800
-0001F80000FFFFFC00FFFFFC00FFFFFC0001F8000001F8000001F8000001F8000001F800
-0001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F800
-0001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F800
-0001F8000001F8000001F8000001F8000001F8000001F8000003FC00007FFFF8007FFFF8
-007FFFF8001C3B7FBA19>I<00000003F0000FF00FF8003FFC3C3C00F81F707C01F00FE0
-7C03E007C07C07C003E0100FC003F0000FC003F0001F8001F8001F8001F8001F8001F800
-1F8001F8001F8001F8001F8001F8001F8001F8001F8001F8000FC003F0000FC003F00007
-C003E00003E007C00003F00F800003F81F0000073FFC0000060FF000000E000000000E00
-0000000E000000000E000000000F000000000F000000000FC000000007FFFFC00007FFFF
-F80003FFFFFE0001FFFFFF8003FFFFFFC00F80007FE01F00000FF03E000003F07C000001
-F07C000001F8F8000000F8F8000000F8F8000000F8F8000000F8F8000000F8FC000001F8
-7C000001F03E000003E03F000007E00F80000F8007E0003F0001FC01FC00007FFFF00000
-07FF000026387EA52A>I<03F000000000FFF000000000FFF000000000FFF0000000000F
-F00000000003F00000000003F00000000003F00000000003F00000000003F00000000003
-F00000000003F00000000003F00000000003F00000000003F00000000003F00000000003
-F00000000003F00000000003F00000000003F00000000003F00000000003F00FF0000003
-F03FFC000003F0F03F000003F1C01F800003F3800FC00003F7000FC00003FE000FC00003
-FC0007E00003FC0007E00003F80007E00003F80007E00003F80007E00003F00007E00003
-F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003
-F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003
-F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003
-F00007E00003F00007E00007F8000FF000FFFFC1FFFF80FFFFC1FFFF80FFFFC1FFFF8029
-3A7EB92E>I<0380000FE0001FF0001FF0001FF0001FF0001FF0000FE000038000000000
-00000000000000000000000000000000000000000000000000000003F000FFF000FFF000
-FFF00007F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F000
-03F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F000
-03F00003F00003F00003F00003F00003F00007F800FFFFC0FFFFC0FFFFC012387EB717>
-I<0001C00007F0000FF8000FF8000FF8000FF8000FF80007F00001C00000000000000000
-000000000000000000000000000000000000000000000001F800FFF800FFF800FFF80007
-F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001
-F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001
-F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001F80001
-F80001F80001F83C01F87E01F8FF01F0FF03F0FF03F0FF03E0FE07C07C07C03C0F000FFE
-0003F800154984B719>I<03F000FFF000FFF000FFF0000FF00003F00003F00003F00003
-F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003
-F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003
-F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003F00003
-F00003F00003F00003F00003F00003F00003F00003F00003F00003F00007F800FFFFC0FF
-FFC0FFFFC0123A7EB917>108 D<03F00FF0001FE000FFF03FFC007FF800FFF0F03F01E0
-7E00FFF1C01F83803F000FF3800FC7001F8003F7000FCE001F8003FE000FDC001F8003FC
-0007F8000FC003FC0007F8000FC003F80007F0000FC003F80007F0000FC003F80007F000
-0FC003F00007E0000FC003F00007E0000FC003F00007E0000FC003F00007E0000FC003F0
-0007E0000FC003F00007E0000FC003F00007E0000FC003F00007E0000FC003F00007E000
-0FC003F00007E0000FC003F00007E0000FC003F00007E0000FC003F00007E0000FC003F0
-0007E0000FC003F00007E0000FC003F00007E0000FC003F00007E0000FC003F00007E000
-0FC003F00007E0000FC003F00007E0000FC003F00007E0000FC007F8000FF0001FE0FFFF
-C1FFFF83FFFFFFFFC1FFFF83FFFFFFFFC1FFFF83FFFF40257EA445>I<03F00FF00000FF
-F03FFC0000FFF0F03F0000FFF1C01F80000FF3800FC00003F7000FC00003FE000FC00003
-FC0007E00003FC0007E00003F80007E00003F80007E00003F80007E00003F00007E00003
-F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003
-F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003
-F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003
-F00007E00003F00007E00007F8000FF000FFFFC1FFFF80FFFFC1FFFF80FFFFC1FFFF8029
-257EA42E>I<0003FE0000000FFF8000003E03E00000F800F80001F0007C0003E0003E00
-07C0001F000F80000F801F80000FC01F000007C03F000007E03F000007E07E000003F07E
-000003F07E000003F07E000003F0FE000003F8FE000003F8FE000003F8FE000003F8FE00
-0003F8FE000003F8FE000003F8FE000003F8FE000003F87E000003F07E000003F07F0000
-07F03F000007E03F000007E01F80000FC00F80000F800FC0001F8007E0003F0003F0007E
-0000F800F800007E03F000001FFFC0000003FE000025277EA52A>I<03F01FE000FFF07F
-F800FFF1E07E00FFF3801F8007F7000FC003FE0007E003FC0003F003F80003F803F00001
-F803F00001FC03F00000FC03F00000FE03F00000FE03F00000FE03F000007F03F000007F
-03F000007F03F000007F03F000007F03F000007F03F000007F03F000007F03F000007F03
-F000007F03F00000FE03F00000FE03F00000FE03F00001FC03F00001FC03F80003F803F8
-0003F003FC0007F003FE000FE003F6000FC003F7803F0003F1E07E0003F0FFF80003F01F
-C00003F000000003F000000003F000000003F000000003F000000003F000000003F00000
-0003F000000003F000000003F000000003F000000007F8000000FFFFC00000FFFFC00000
-FFFFC0000028357EA42E>I<0003F800C0001FFE01C0007E0781C000FC01C3C003F000E3
-C007F00077C00FE00037C00FC0003FC01FC0001FC03F80001FC03F80000FC07F00000FC0
-7F00000FC07F00000FC0FE00000FC0FE00000FC0FE00000FC0FE00000FC0FE00000FC0FE
-00000FC0FE00000FC0FE00000FC0FE00000FC0FE00000FC07F00000FC07F00000FC07F00
-000FC03F00000FC03F80001FC01F80001FC01FC0003FC00FC0003FC007E0007FC003F000
-EFC001F801CFC0007E078FC0001FFE0FC00007F80FC00000000FC00000000FC00000000F
-C00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC0
-0000000FC00000001FE0000003FFFF000003FFFF000003FFFF28357DA42C>I<07E01F00
-FFE07FC0FFE1E3E0FFE387F00FE707F003E607F003EE07F003EC03E003FC008003F80000
-03F8000003F8000003F8000003F0000003F0000003F0000003F0000003F0000003F00000
-03F0000003F0000003F0000003F0000003F0000003F0000003F0000003F0000003F00000
-03F0000003F0000003F0000003F0000003F0000007F80000FFFFF000FFFFF000FFFFF000
-1C257EA421>I<00FF030003FFE7000F80FF001E003F003C001F0078000F0070000700F0
-000700F0000700F0000300F8000300F8000300FC000300FF0000007FE000007FFF00003F
-FFE0001FFFF8000FFFFC0003FFFE0000FFFF000007FF8000007F8000001F80C0000FC0C0
-0007C0C00007C0E00003C0E00003C0E00003C0F00003C0F0000380F8000780FC000780FC
-000F00FF001E00F3C07C00E1FFF000C03F80001A277DA521>I<00180000001800000018
-0000001800000018000000380000003800000038000000780000007800000078000000F8
-000001F8000003F8000007F800001FFFFF00FFFFFF00FFFFFF0001F8000001F8000001F8
-000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8
-000001F8000001F8000001F8000001F8000001F8000001F8000001F800C001F800C001F8
-00C001F800C001F800C001F800C001F800C001F800C001F800C000FC01C000FC0180007C
-0380007E0300003F0700000FFE000001F8001A347FB220>I<03F00007E000FFF001FFE0
-00FFF001FFE000FFF001FFE0000FF0001FE00003F00007E00003F00007E00003F00007E0
-0003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E0
-0003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E0
-0003F00007E00003F00007E00003F00007E00003F00007E00003F00007E00003F00007E0
-0003F00007E00003F0000FE00003F0000FE00003F0000FE00003F0001FE00001F0001FE0
-0001F8003FE00000F80077F80000FC00E7FF80003F03C7FF80001FFF87FF800003FC07E0
-0029267EA42E>I<FFFF803FFEFFFF803FFEFFFF803FFE0FF8000FF007F00007E003F000
-03C003F800038001F800030001F800030000FC00060000FC00060000FE000E00007E000C
-00007E000C00003F001800003F001800003F803800001F803000001F803000000FC06000
-000FC06000000FE060000007E0C0000007E0C0000003F180000003F180000003F1800000
-01FB00000001FB00000001FF00000000FE00000000FE000000007C000000007C00000000
-7C00000000380000000038000027257EA32C>I<FFFF1FFFE03FFEFFFF1FFFE03FFEFFFF
-1FFFE03FFE0FF800FF000FF807F0007E0003E007F0007E0003C003F0003E00018003F000
-3E00018001F8003F00030001F8003F00030001F8003F00030000FC003F80060000FC006F
-80060000FC006F800600007E00EFC00C00007E00C7C00C00007E00C7C00C00003F01C7E0
-1800003F0183E01800003F8183F03800001F8383F03000001F8301F03000001FC301F870
-00000FC600F86000000FC600F860000007E600FCC0000007EC007CC0000007EC007CC000
-0003FC007F80000003F8003F80000003F8003F80000001F8003F00000001F0001F000000
-01F0001F00000000F0001E00000000E0000E0000000060000C000037257EA33C>I<FFFF
-807FFF00FFFF807FFF00FFFF807FFF0003FE003FF00001FE001F800000FE001F0000007E
-001C0000003F00180000001F80300000001FC0700000000FC0E000000007E0C000000007
-F18000000003FB8000000001FF0000000000FE0000000000FE00000000007F0000000000
-3F00000000007F80000000007FC000000000CFC000000001C7E00000000383F000000007
-03F80000000601F80000000C00FC0000001C007E00000038007F00000078003F000000F0
-001F800001F8001FC0000FF8003FF000FFFE00FFFF80FFFE00FFFF80FFFE00FFFF802924
-7FA32C>I<FFFF803FFEFFFF803FFEFFFF803FFE0FF8000FF007F00007C003F000038001
-F800038001F800030001FC00030000FC00060000FC000600007E000C00007E000C00007F
-000C00003F001800003F001800001F803000001F803000001FC07000000FC06000000FC0
-60000007E0C0000007E0C0000007F1C0000003F180000003F180000001FB00000001FB00
-000001FF00000000FE00000000FE000000007C000000007C000000007C00000000380000
-0000380000000030000000003000000000700000000060000000006000000000C0000000
-00C000007C01C00000FE01800000FE03800000FE03000000FE06000000FC0E000000701C
-00000038380000001FF00000000FC000000027357EA32C>I<01E0004007F800E00FFE01
-C01FFF87803C3FFF00700FFE00E003FC004000F0001B0879B62A>126
-D E /Fs 13 118 df<000F00003F80003FC0007FE000FFE001FFE003FFE007FFE007FFC0
-0FFF801FFE003FF8007FE000FF80007E000038000013106DBA30>19
-D<00000003E00000000000000007F00000000000000007F0000000000000000FF8000000
-000000000FF8000000000000000FF8000000000000001FFC000000000000001FFC000000
-000000003FFE000000000000003FFE000000000000003FFE000000000000007FFF000000
-000000007FFF00000000000000FFFF80000000000000FFFF80000000000000FFFF800000
-00000001FFFFC0000000000001F3FFC0000000000003F3FFE0000000000003E1FFE00000
-00000003E1FFE0000000000007E1FFF0000000000007C0FFF000000000000FC0FFF80000
-0000000F807FF800000000000F807FF800000000001F807FFC00000000001F003FFC0000
-0000003F003FFE00000000003E001FFE00000000003E001FFE00000000007E001FFF0000
-0000007C000FFF0000000000FC000FFF8000000000F80007FF8000000000F80007FF8000
-000001F80007FFC000000001F00003FFC000000003FFFFFFFFE000000003FFFFFFFFE000
-000003FFFFFFFFE000000007FFFFFFFFF000000007C00000FFF00000000FC00000FFF800
-00000F8000007FF80000000F8000007FF80000001F8000007FFC0000001F0000003FFC00
-00003F0000003FFE0000003E0000001FFE0000003E0000001FFE0000007E0000001FFF00
-00007C0000000FFF000000FE0000000FFF8000FFFFF80007FFFFFF80FFFFF80007FFFFFF
-80FFFFF80007FFFFFF80FFFFF80007FFFFFF80413A7DB948>65 D<0007FF000E00003FFF
-E01E0000FFFFF83E0003FFFFFE7E0007FC01FFFE000FF0001FFE001FE0000FFE003FC000
-03FE003F800001FE007F800000FE007F000000FE007F0000007E00FF0000007E00FF0000
-003E00FF0000003E00FF8000003E00FF8000001E00FFC000001E00FFE000001E00FFF000
-000000FFFC000000007FFFE00000007FFFFE0000007FFFFFF000003FFFFFFE00003FFFFF
-FF80001FFFFFFFC0000FFFFFFFF00007FFFFFFF80003FFFFFFFC0000FFFFFFFE00003FFF
-FFFE00000FFFFFFF000001FFFFFF0000000FFFFF800000007FFF800000000FFFC0000000
-03FFC000000001FFC000000000FFC0F00000007FC0F00000007FC0F00000007FC0F00000
-003FC0F00000003FC0F80000003FC0F80000003F80FC0000003F80FC0000007F80FE0000
-007F00FF0000007F00FF800000FE00FFE00001FC00FFF80003FC00FFFF801FF800FCFFFF
-FFE000F83FFFFFC000F007FFFE0000E0007FF000002A3B7BB935>83
-D<003FFE00000003FFFFE000000FFFFFF800001FF00FFE00003FF003FF00003FF801FF80
-003FF800FFC0003FF800FFC0003FF8007FE0003FF8007FE0001FF0007FE0000FE0007FE0
-000380007FE0000000007FE0000000007FE00000003FFFE000000FFFFFE000007FFFFFE0
-0001FFF87FE00007FF807FE0000FFE007FE0003FF8007FE0003FF0007FE0007FE0007FE0
-00FFE0007FE000FFC0007FE000FFC0007FE000FFC0007FE000FFC0007FE000FFC000FFE0
-00FFE001FFE0007FE001FFE0003FF007FFF8001FFC1FBFFFC00FFFFE1FFFC003FFF80FFF
-C0003FE003FFC02A257DA42E>97 D<00FF00000000FFFF00000000FFFF00000000FFFF00
-000000FFFF0000000007FF0000000003FF0000000003FF0000000003FF0000000003FF00
-00000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF00
-00000003FF0000000003FF0000000003FF0000000003FF0000000003FF0000000003FF01
-FF800003FF0FFFF00003FF3FFFFC0003FFFE03FF0003FFF000FF8003FFE0007FC003FF80
-003FE003FF00003FF003FF00001FF803FF00001FF803FF00001FFC03FF00000FFC03FF00
-000FFC03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00
-000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFE03FF00000FFC03FF00
-000FFC03FF00000FFC03FF00001FF803FF00001FF803FF00001FF003FF80003FF003FFC0
-007FE003FFE0007FC003FDF001FF8003F8FC07FE0003F03FFFF80003E00FFFE00003C003
-FF00002F3A7EB935>I<0001FFC000000FFFFC00007FFFFF0000FF80FF8003FE00FFC007
-FC01FFC00FF801FFC01FF801FFC01FF001FFC03FF001FFC03FF000FF807FE0007F007FE0
-001C007FE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE0000000FFE000
-0000FFE0000000FFE0000000FFE00000007FE00000007FE00000007FF00000003FF00000
-003FF00001E01FF80001E01FF80003E00FFC0007C007FE00078003FF001F8000FFC07E00
-007FFFFC00000FFFF0000001FF800023257DA42A>I<01F00007FC000FFE000FFE001FFF
-001FFF001FFF001FFF001FFF000FFE000FFE0007FC0001F0000000000000000000000000
-0000000000000000000000000000000000FF007FFF007FFF007FFF007FFF0007FF0003FF
-0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF
-0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF0003FF
-0003FF0003FF00FFFFF8FFFFF8FFFFF8FFFFF8153B7DBA1B>105
-D<00FE007FE0000FFC0000FFFE01FFFC003FFF8000FFFE07FFFF00FFFFE000FFFE1F81FF
-83F03FF000FFFE3C00FF87801FF00007FE7800FFCF001FF80003FEF000FFDE001FF80003
-FFE0007FFC000FFC0003FFC0007FF8000FFC0003FFC0007FF8000FFC0003FF80007FF000
-0FFC0003FF80007FF0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00
-007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC
-0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007F
-E0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003
-FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE000
-0FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00007FE0000FFC0003FF00
-007FE0000FFC00FFFFFC1FFFFF83FFFFF0FFFFFC1FFFFF83FFFFF0FFFFFC1FFFFF83FFFF
-F0FFFFFC1FFFFF83FFFFF04C257DA451>109 D<0001FFC00000000FFFF80000007FFFFF
-000000FF80FF800003FE003FE00007FC001FF0000FF8000FF8001FF00007FC001FF00007
-FC003FF00007FE003FE00003FE007FE00003FF007FE00003FF007FE00003FF00FFE00003
-FF80FFE00003FF80FFE00003FF80FFE00003FF80FFE00003FF80FFE00003FF80FFE00003
-FF80FFE00003FF80FFE00003FF807FE00003FF007FE00003FF007FE00003FF003FE00003
-FE003FF00007FE001FF00007FC001FF00007FC000FF8000FF80007FC001FF00003FE003F
-E00001FF80FFC000007FFFFF0000001FFFFC00000001FFC0000029257DA430>111
-D<00FE03F000FFFE0FFE00FFFE3FFF00FFFE7C7F80FFFEF8FFC007FEF0FFC003FFE0FFC0
-03FFC0FFC003FFC0FFC003FF807F8003FF803F0003FF800C0003FF80000003FF00000003
-FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF
-00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00000003FF00
-000003FF00000003FF00000003FF00000003FF000000FFFFFE0000FFFFFE0000FFFFFE00
-00FFFFFE000022257EA427>114 D<003FF03803FFFEF80FFFFFF81FC00FF83F0003F87E
-0001F87C0000F8FC0000F8FC000078FE000078FF000078FF800000FFFC0000FFFFE0007F
-FFFC007FFFFF803FFFFFC01FFFFFF00FFFFFF803FFFFF800FFFFFC001FFFFC00007FFE00
-0007FEF00001FEF00000FEF80000FEF800007EFC00007EFC00007CFE0000FCFF0000F8FF
-8001F8FFF007F0FFFFFFC0F8FFFF00E01FF8001F257DA426>I<000F0000000F0000000F
-0000000F0000000F0000001F0000001F0000001F0000001F0000003F0000003F0000007F
-000000FF000000FF000001FF000007FF00001FFFFFE0FFFFFFE0FFFFFFE0FFFFFFE003FF
-000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF
-000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF000003FF
-007803FF007803FF007803FF007803FF007803FF007803FF007803FF007803FF00F801FF
-80F001FF81F000FFC3E0003FFFC0001FFF800003FE001D357EB425>I<00FF00003FC0FF
-FF003FFFC0FFFF003FFFC0FFFF003FFFC0FFFF003FFFC007FF0001FFC003FF0000FFC003
-FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003
-FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003
-FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003FF0000FFC003
-FF0000FFC003FF0000FFC003FF0001FFC003FF0001FFC003FF0003FFC003FF0003FFC001
-FF0007FFC001FF800FFFE000FFC03EFFFF007FFFFCFFFF001FFFF0FFFF0003FF80FFFF30
-257DA435>I E /Ft 7 115 df<0000003FFE0000000003FFFFF00000000FFFFFFE000000
-3FFFFFFF800000FFFFFFFF800001FFFFFFFF800003FFE007FF00000FFF0000FF00001FFC
-00001F00003FF800000700007FE000000300007FC00000000000FF800000000001FF0000
-00000003FF000000000003FE000000000007FC000000000007FC00000000000FF8000000
-00000FF800000000001FF000000000001FF000000000003FE000000000003FE000000000
-003FE000000000007FC000000000007FC000000000007FC000000000007FC00000000000
-7FC00000000000FF800000000000FF800000000000FF800000000000FF800000000000FF
-800000000000FF800000000000FF800000000000FF800000000000FF800000000000FF80
-0000000000FF800000000000FF800000000000FF8000000000007FC000000000007FC000
-000000007FC000000000007FC000000000007FC000000000003FE000000000003FE00000
-0000003FE000000000001FF000000000001FF000000000000FF800000000000FF8000000
-000007FC000000000007FC000000000003FE000000000003FF000000000001FF00000000
-0000FF8000000080007FC000000180007FE000000380003FF800000F80001FFC00001FC0
-000FFF00007FC00003FFE003FFC00001FFFFFFFF800000FFFFFFFE0000003FFFFFFC0000
-000FFFFFF000000003FFFFC0000000003FFC000032497AC63E>67
-D<0000003FFC0000000001FFFFE00000000FFFFFF80000003FFFFFFF000000FFFFFFFFC0
-0001FFFFFFFFE00003FFE007FFE00007FF00007FE0001FFC00001FC0003FF8000007C000
-3FF0000003C0007FC0000001C000FF80000000C001FF800000000003FF000000000003FE
-000000000007FC000000000007FC00000000000FF800000000000FF800000000001FF000
-000000001FF000000000003FE000000000003FE000000000003FE000000000007FC00000
-0000007FC000000000007FC000000000007FC000000000007FC00000000000FF80000000
-0000FF800000000000FF800000000000FF800000000000FF800000000000FF8000000000
-00FF800000000000FF800000000000FF800000000000FF800000000000FF800001FFFFF0
-FF800001FFFFF0FF800001FFFFF07FC00001FFFFF07FC00001FFFFF07FC00001FFFFF07F
-C00000000FF07FC00000000FF03FE00000000FF03FE00000000FF03FE00000000FF01FF0
-0000000FF01FF00000000FF00FF80000000FF00FF80000000FF007FC0000000FF007FC00
-00000FF003FE0000000FF003FF0000000FF001FF8000000FF000FF8000000FF0007FC000
-000FF0003FF000000FF0003FF800000FF0001FFC00000FF00007FF00003FF00003FFE007
-FFF00001FFFFFFFFF00000FFFFFFFFE000003FFFFFFF0000000FFFFFFC00000001FFFFE0
-000000003FFC000034497AC641>71 D<FFFFFFFFFFFFFFF0FFFFFFFFFFFFFFF0FFFFFFFF
-FFFFFFF0FFFFFFFFFFFFFFF0FFFFFFFFFFFFFFF0FFFFFFFFFFFFFFF00000003FE0000000
-0000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003F
-E00000000000003FE00000000000003FE00000000000003FE00000000000003FE0000000
-0000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003F
-E00000000000003FE00000000000003FE00000000000003FE00000000000003FE0000000
-0000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003F
-E00000000000003FE00000000000003FE00000000000003FE00000000000003FE0000000
-0000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003F
-E00000000000003FE00000000000003FE00000000000003FE00000000000003FE0000000
-0000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003F
-E00000000000003FE00000000000003FE00000000000003FE00000000000003FE0000000
-0000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003F
-E00000000000003FE00000000000003FE00000000000003FE00000000000003FE0000000
-0000003FE00000000000003FE00000000000003FE00000000000003FE00000000000003F
-E00000000000003FE00000000000003FE00000000000003FE00000003C457DC443>84
-D<0007FE0000007FFFC00003FFFFE0000FFFFFF8001FFFFFFC001FFFFFFE001FF803FF00
-1F8001FF001E0000FF801800007F801000003FC00000003FC00000003FE00000001FE000
-00001FE00000001FE00000001FE00000001FE00000001FE00000001FE00000001FE00000
-7FFFE0000FFFFFE0003FFFFFE001FFFFFFE003FFFFFFE00FFFF01FE01FFE001FE03FF800
-1FE07FE0001FE07FC0001FE0FF80001FE0FF00001FE0FF00001FE0FF00001FE0FF00001F
-E0FF00003FE0FF80003FE07FC0007FE07FE001FFE07FF80FFFE03FFFFFFFE01FFFFFFFE0
-1FFFFFDFE00FFFFF1FE003FFF81FE000FF800000232F7CAD2F>97
-D<0001FE00000007FFC000001FFFF000007FFFF80000FFFFFC0001FFFFFE0003FF03FF00
-07FC00FF000FF8007F800FF0003F801FE0001FC01FE0000FC03FC0000FE03F800007E07F
-800007E07F800007E07F000007E07F000003F0FFFFFFFFF0FFFFFFFFF0FFFFFFFFF0FFFF
-FFFFF0FFFFFFFFF0FFFFFFFFF0FE00000000FE00000000FE00000000FF00000000FF0000
-00007F000000007F000000007F800000003F800000003FC00000003FC00000001FE00000
-001FF00000100FF800007007FC0001F003FE0007F003FF803FF001FFFFFFF000FFFFFFE0
-003FFFFF80001FFFFE000007FFF8000000FFC000242F7DAD2B>101
-D<00001FF00000FFFE0001FFFE0007FFFE000FFFFE001FFFFE003FF01E003FC002007F80
-00007F000000FE000000FE000001FE000001FE000001FE000001FE000001FE000001FE00
-0001FE000001FE000001FE000001FE000001FE000001FE000001FE000001FE0000FFFFFF
-80FFFFFF80FFFFFF80FFFFFF80FFFFFF80FFFFFF8001FE000001FE000001FE000001FE00
-0001FE000001FE000001FE000001FE000001FE000001FE000001FE000001FE000001FE00
-0001FE000001FE000001FE000001FE000001FE000001FE000001FE000001FE000001FE00
-0001FE000001FE000001FE000001FE000001FE000001FE000001FE000001FE000001FE00
-0001FE000001FE000001FE000001FE000001FE000001FE000001FE00001F467EC51E>I<
-00001FFE00FFFE03FFFE07FFFE1FFFFE3FFFFE7FFFFEFFF0FEFF80FFFE00FFFC00FFF800
-FFF000FFE000FFC000FFC000FF8000FF8000FF8000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000
-FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000FF0000182D79AC21>114
-D E /Fu 25 118 df<7FFFFFFF00FFFFFFFF80FFFFFFFF80FFFFFFFF80FFFFFFFF807FFF
-FFFF0021067B9B2C>45 D<1F003F807FC0FFE0FFE0FFE0FFE0FFE07FC03F801F000B0B70
-8A2C>I<00000007000000000F800000001F800000001F800000003F800000003F000000
-007F000000007E00000000FE00000000FC00000001FC00000001F800000003F800000003
-F000000003F000000007F000000007E00000000FE00000000FC00000001FC00000001F80
-0000003F800000003F000000007F000000007E00000000FE00000000FC00000000FC0000
-0001FC00000001F800000003F800000003F000000007F000000007E00000000FE0000000
-0FC00000001FC00000001F800000001F800000003F800000003F000000007F000000007E
-00000000FE00000000FC00000001FC00000001F800000003F800000003F000000007F000
-000007E000000007E00000000FE00000000FC00000001FC00000001F800000003F800000
-003F000000007F000000007E00000000FE00000000FC00000000FC00000000F800000000
-780000000021417BB92C>I<00070000000F8000000F8000001F8000001F8000003F8000
-007F800000FF800001FF800007FF80007FFF8000FFFF8000FFDF8000FF9F80007C1F8000
-001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000
-001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000
-001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000001F8000
-001F8000001F8000001F8000001F8000001F80007FFFFFE0FFFFFFF0FFFFFFF0FFFFFFF0
-7FFFFFE01C3477B32C>49 D<000FF80000007FFF800001FFFFE00007FFFFF0000FFFFFFC
-001FF80FFE003FE001FF003F80007F007F00003F807E00001F80FE00001FC0FE00000FC0
-FF00000FE0FF000007E0FF000007E0FF000007E07E000007E03C000007E000000007E000
-000007E00000000FE00000000FC00000001FC00000001F800000003F800000003F000000
-007F00000000FE00000001FC00000003FC00000007F80000000FF00000001FE00000003F
-C0000000FF80000001FE00000003FC00000007F80000000FF00000003FE00000007F8000
-0000FF00000001FE00000003FC0003C007F80007E01FE00007E03FC00007E07FFFFFFFE0
-FFFFFFFFE0FFFFFFFFE0FFFFFFFFE07FFFFFFFC023347CB32C>I<000007F00000000FF8
-0000001FF80000003FF80000003FF80000007EF80000007EF8000000FCF8000001F8F800
-0001F8F8000003F0F8000007E0F8000007E0F800000FC0F800001F80F800001F80F80000
-3F00F800007E00F800007E00F80000FC00F80001F800F80001F800F80003F000F80003E0
-00F80007E000F8000FC000F8000FC000F8001F8000F8003F0000F8003F0000F8007E0000
-F800FC0000F800FFFFFFFFFCFFFFFFFFFEFFFFFFFFFEFFFFFFFFFE7FFFFFFFFC000000F8
-00000000F800000000F800000000F800000000F800000000F800000000F800000000F800
-000000F800000000F80000007FFFF00000FFFFF80000FFFFF80000FFFFF800007FFFF027
-347EB32C>52 D<00003FC0000001FFF8000007FFFC00001FFFFE00003FFFFF00007FE07F
-0000FF003F8001FE007F8003F8007F8007F0007F8007E0007F800FE0003F001FC0001E00
-1F800000003F800000003F000000003F000000007F000000007E000000007E03FE00007E
-1FFF8000FC7FFFE000FDFFFFF000FFFFFFF800FFFE07FC00FFF001FE00FFC0007F00FF80
-003F80FF00001F80FF00001FC0FE00000FC0FE00000FE0FE000007E0FE000007E0FE0000
-07E07E000007E07E000007E07E000007E07E000007E03F000007E03F00000FE03F80000F
-C01F80001FC01FC0001F800FC0003F800FE0007F0007F801FE0003FE07FC0001FFFFF800
-00FFFFF000007FFFE000001FFF80000007FC000023357CB32C>54
-D<7800000000FFFFFFFFC0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FFFFFFFFC0FC00003F80
-FC00007F00FC0000FE00780000FC00000001FC00000003F800000007F000000007E00000
-000FE00000000FC00000001F800000003F800000003F000000007F000000007E00000000
-FE00000000FC00000001FC00000001F800000001F800000003F000000003F000000007F0
-00000007E000000007E000000007E00000000FC00000000FC00000000FC00000000FC000
-00001F800000001F800000001F800000001F800000001F800000003F800000003F000000
-003F000000003F000000003F000000003F000000003F000000003F000000003F00000000
-3F000000003F000000001E00000023357CB32C>I<0007FC0000003FFF800000FFFFE000
-03FFFFF80007FFFFFC000FFC07FE001FF001FF001FC0007F003F80003F803F00001F807F
-00001FC07E00000FC07E00000FC07E00000FC07E00000FC07E00000FC03F00001F803F00
-001F801F80003F001FC0007F000FF001FE0003FC07F80001FFFFF000007FFFC0000007FC
-0000007FFFC00001FFFFF00003FC07F8000FF001FE001FC0007F001F80003F003F00001F
-807E00000FC07E00000FC0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0
-FC000007E0FC000007E07E00000FC07E00000FC07F00001FC03F80003F801FC0007F001F
-F001FF000FFC07FE0007FFFFFC0003FFFFF80000FFFFE000003FFF80000007FC00002335
-7CB32C>I<0007FC0000003FFF000000FFFFC00001FFFFE00003FFFFF00007FC07F8000F
-F001FC001FE000FE003F80007E003F80007F007F00003F007E00001F80FE00001F80FC00
-001F80FC00000FC0FC00000FC0FC00000FC0FC00000FC0FC00000FE0FC00000FE0FC0000
-0FE0FE00000FE07E00000FE07F00001FE03F00001FE03F80003FE01FC0007FE00FF001FF
-E007FC0FFFE003FFFFFFE001FFFFF7E000FFFFC7E0003FFF0FE0000FF80FC00000000FC0
-0000000FC00000001FC00000001F800000003F800000003F000F00007F001F80007E003F
-C000FE003FC001FC003FC003F8003FC007F8003F801FF0001FE07FE0001FFFFFC0000FFF
-FF000007FFFE000001FFF80000007FC0000023357CB32C>I<1F003F807FC0FFE0FFE0FF
-E0FFE0FFE07FC03F801F0000000000000000000000000000000000000000000000000000
-0000001F003F807FC0FFE0FFE0FFE0FFE0FFE07FC03F801F000B2470A32C>I<00007F80
-000003FFE000000FFFF000003FFFF800007FFFFC0000FFC0FE0001FE007F0003F8003F00
-07F0001F8007E00FCF800FC03FFF801F807FFFC01F80FFFFC03F01FFFFC03E03F87FC03E
-07F03FE07E07E01FE07C0FC00FE07C0F8007E07C0F8007E0FC1F8007E0F81F0003E0F81F
-0003E0F81F0003E0F81F0003E0F81F0003E0F81F0003E0F81F0003E0F81F0003E0F81F00
-03E0FC1F8007E07C0F8007C07C0F8007C07C0FC00FC07E07E01F803E07F03F803E03F87F
-003F01FFFE001F80FFFC001F807FF8000FC03FF00007E00FC00007F00007C003F8000FE0
-01FE001FE000FFC0FFE0007FFFFFC0003FFFFF80000FFFFE000003FFF80000007FC00023
-337CB22C>64 D<7FFFFF0000FFFFFFC000FFFFFFF000FFFFFFF8007FFFFFFC0007E003FE
-0007E000FF0007E0007F8007E0003F8007E0001FC007E0000FE007E0000FE007E00007E0
-07E00007F007E00003F007E00003F807E00001F807E00001F807E00001F807E00001F807
-E00000FC07E00000FC07E00000FC07E00000FC07E00000FC07E00000FC07E00000FC07E0
-0000FC07E00000FC07E00000FC07E00000FC07E00000FC07E00001F807E00001F807E000
-01F807E00003F807E00003F007E00003F007E00007F007E00007E007E0000FE007E0001F
-C007E0003FC007E0007F8007E000FF0007E003FE007FFFFFFC00FFFFFFF800FFFFFFF000
-FFFFFFC0007FFFFF000026337EB22C>68 D<01FFF0000007FFFE00001FFFFF80001FFFFF
-E0003FFFFFF0003FC01FF8003FC007F8003FC001FC001F8000FC00060000FE000000007E
-000000007E000000007E000000FFFE00001FFFFE0000FFFFFE0003FFFFFE000FFFFFFE00
-1FFF807E003FF8007E007FC0007E007F00007E00FE00007E00FC00007E00FC00007E00FC
-00007E00FC00007E00FE00007E007F0000FE007F8003FE003FE01FFE001FFFFFFFFC0FFF
-FFFFFE07FFFFBFFE01FFFE1FFE003FF007FC27247CA32C>97 D<7FF0000000FFF8000000
-FFF8000000FFF80000007FF800000001F800000001F800000001F800000001F800000001
-F800000001F800000001F800000001F800000001F800000001F800000001F81FE00001F8
-FFF80001FBFFFE0001FFFFFF0001FFFFFF8001FFF07FC001FF801FE001FF0007F001FE00
-03F801FC0003F801FC0001FC01F80000FC01F80000FC01F80000FE01F800007E01F80000
-7E01F800007E01F800007E01F800007E01F800007E01F800007E01F800007E01F80000FE
-01FC0000FC01FC0000FC01FC0001F801FE0003F801FF0007F001FF000FF001FF801FE001
-FFE07FC001FFFFFF8001FFFFFF0001FBFFFE0001F8FFF80000F03FC00027337FB22C>I<
-0003FFE000001FFFF800007FFFFE0001FFFFFE0003FFFFFF0007FE00FF000FF000FF001F
-E000FF001FC0007E003F800018003F000000007F000000007E000000007E00000000FC00
-000000FC00000000FC00000000FC00000000FC00000000FC00000000FC00000000FC0000
-00007E000000007E000000007F000000003F00000F003F80001F801FC0001F801FE0003F
-800FF0007F0007FE03FF0003FFFFFE0001FFFFFC00007FFFF800001FFFE0000003FF0000
-21247AA32C>I<00000FFE0000001FFF0000001FFF0000001FFF0000000FFF000000003F
-000000003F000000003F000000003F000000003F000000003F000000003F000000003F00
-0000003F000000003F000007F83F00003FFE3F0000FFFFBF0001FFFFFF0003FFFFFF0007
-FC0FFF000FF003FF001FE001FF001FC000FF003F80007F003F00007F007E00003F007E00
-003F00FE00003F00FC00003F00FC00003F00FC00003F00FC00003F00FC00003F00FC0000
-3F00FC00003F00FC00003F00FE00003F007E00007F007E00007F007F0000FF003F8000FF
-003F8001FF001FC003FF000FF007FF0007FC1FFF0003FFFFFFFC01FFFFBFFE00FFFF3FFE
-003FFC3FFE000FF01FFC27337DB22C>I<0003FE0000001FFFC000007FFFF00001FFFFF8
-0003FFFFFC0007FE03FE000FF800FF001FE0003F801FC0003F803F80001FC03F00000FC0
-7F00000FC07E00000FE07E000007E0FC000007E0FFFFFFFFE0FFFFFFFFE0FFFFFFFFE0FF
-FFFFFFE0FFFFFFFFC0FC00000000FE000000007E000000007E000000007F000000003F00
-0003C03F800007E01FC00007E00FF0000FE007F8003FC007FF00FFC001FFFFFF8000FFFF
-FF00003FFFFC00000FFFF0000001FF800023247CA32C>I<00070000001FC000001FC000
-003FE000003FE000003FE000001FC000001FC00000070000000000000000000000000000
-000000000000000000000000000000007FFFC0007FFFE000FFFFE0007FFFE0007FFFE000
-0007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E000
-0007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E000
-0007E0000007E0000007E0000007E0000007E0000007E0000007E0000007E0007FFFFFFC
-FFFFFFFEFFFFFFFEFFFFFFFE7FFFFFFC1F3479B32C>105 D<7FFFE00000FFFFF00000FF
-FFF00000FFFFF000007FFFF000000003F000000003F000000003F000000003F000000003
-F000000003F000000003F000000003F000000003F000000003F000000003F000000003F0
-00000003F000000003F000000003F000000003F000000003F000000003F000000003F000
-000003F000000003F000000003F000000003F000000003F000000003F000000003F00000
-0003F000000003F000000003F000000003F000000003F000000003F000000003F0000000
-03F000000003F000000003F000000003F000000003F000000003F000000003F000000003
-F000007FFFFFFF80FFFFFFFFC0FFFFFFFFC0FFFFFFFFC07FFFFFFF8022337BB22C>108
-D<0007FC0000001FFF0000007FFFC00001FFFFF00003FFFFF80007FC07FC000FF001FE00
-1FE000FF001F80003F003F80003F803F00001F807E00000FC07E00000FC07E00000FC0FC
-000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FC000007E0FE00
-000FE07E00000FC07E00000FC07F00001FC03F00001F803F80003F801FC0007F001FE000
-FF000FF001FE0007FC07FC0003FFFFF80001FFFFF000007FFFC000001FFF00000007FC00
-0023247CA32C>111 D<7FF01FE000FFF8FFF800FFFBFFFE00FFFFFFFF007FFFFFFF8001
-FFF07FC001FF801FE001FF0007F001FE0003F801FC0003F801FC0001FC01F80000FC01F8
-0000FC01F80000FE01F800007E01F800007E01F800007E01F800007E01F800007E01F800
-007E01F800007E01F800007E01F80000FE01FC0000FC01FC0000FC01FC0001F801FE0003
-F801FF0007F001FF000FF001FF801FE001FFE07FC001FFFFFF8001FFFFFF0001FBFFFE00
-01F8FFF80001F83FC00001F800000001F800000001F800000001F800000001F800000001
-F800000001F800000001F800000001F800000001F800000001F800000001F800000001F8
-0000007FFFE00000FFFFF00000FFFFF00000FFFFF000007FFFE0000027367FA32C>I<7F
-FE003FC0FFFF01FFF0FFFF07FFF8FFFF1FFFFC7FFF3FFFFC003F7FE1FC003FFF01FC003F
-FC00F8003FF80070003FF00000003FE00000003FE00000003FC00000003F800000003F80
-0000003F800000003F000000003F000000003F000000003F000000003F000000003F0000
-00003F000000003F000000003F000000003F000000003F000000003F000000003F000000
-003F000000003F0000007FFFFFE000FFFFFFF000FFFFFFF000FFFFFFF0007FFFFFE00026
-247EA32C>114 D<001E000000003F000000003F000000003F000000003F000000003F00
-0000003F000000003F000000003F000000003F0000007FFFFFFF00FFFFFFFF80FFFFFFFF
-80FFFFFFFF807FFFFFFF00003F000000003F000000003F000000003F000000003F000000
-003F000000003F000000003F000000003F000000003F000000003F000000003F00000000
-3F000000003F000000003F000000003F000000003F000000003F0003C0003F0007E0003F
-0007E0003F0007E0003F0007E0003F0007E0003F800FE0001F801FC0001FE07FC0000FFF
-FF80000FFFFF000003FFFE000001FFF80000003FE000232E7EAD2C>116
-D<7FF003FF8000FFF807FFC000FFF807FFC000FFF807FFC0007FF803FFC00001F8000FC0
-0001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC0
-0001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC0
-0001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC00001F8000FC0
-0001F8000FC00001F8000FC00001F8001FC00001F8001FC00001F8003FC00001FC007FC0
-0000FE03FFC00000FFFFFFFF00007FFFFFFF80003FFFFFFF80001FFFCFFF800003FE07FF
-0029247FA32C>I E /Fv 34 125 df<001F00001F80003F80007F80007F8000FF0001FE
-0003FC0003F80007F0000FE0000F80001F00003E00003C0000780000E000004000001112
-6CC431>19 D<FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC0FFFFFFC01A067F9721>
-45 D<0000000FFE000060000000FFFFC000E0000003FFFFF000E000000FFC01FC01E000
-003FC0003E01E00000FF00000F83E00003FC000003C7E00007F8000001E7E0000FF00000
-00FFE0001FE00000007FE0003FC00000003FE0007F800000001FE000FF000000000FE001
-FE000000000FE001FC0000000007E003FC0000000007E007F80000000003E007F8000000
-0003E00FF00000000001E00FF00000000001E01FE00000000000E01FE00000000000E03F
-E00000000000E03FE00000000000E03FC00000000000607FC00000000000607FC0000000
-0000607FC00000000000607FC0000000000000FF80000000000000FF80000000000000FF
-80000000000000FF80000000000000FF80000000000000FF80000000000000FF80000000
-000000FF80000000000000FF80000000000000FF80000000000000FF80000000000000FF
-80000000000000FF80000000000000FF800000000000007FC00000000000007FC0000000
-0000007FC00000000000607FC00000000000603FC00000000000603FE00000000000603F
-E00000000000601FE00000000000E01FF00000000000E00FF00000000000C00FF0000000
-0000C007F80000000001C007F800000000018003FC00000000038001FC00000000038001
-FE00000000070000FF000000000600007F800000000E00003FC00000001C00001FE00000
-003800000FF000000078000007F8000000F0000003FC000001E0000000FF000007800000
-003FC0001F000000000FFC00FC0000000003FFFFF00000000000FFFFC000000000000FFE
-0000003B487BC546>67 D<FFFFFFFFFF00000000FFFFFFFFFFF0000000FFFFFFFFFFFC00
-000001FFC00007FF00000000FF8000007FC00000007F8000001FE00000007F80000007F0
-0000007F80000003FC0000007F80000001FE0000007F80000000FF0000007F800000007F
-0000007F800000003F8000007F800000001FC000007F800000000FE000007F800000000F
-E000007F8000000007F000007F8000000007F800007F8000000003F800007F8000000003
-FC00007F8000000003FC00007F8000000001FC00007F8000000001FE00007F8000000001
-FE00007F8000000001FE00007F8000000001FF00007F8000000000FF00007F8000000000
-FF00007F8000000000FF00007F8000000000FF80007F8000000000FF80007F8000000000
-FF80007F8000000000FF80007F8000000000FF80007F8000000000FF80007F8000000000
-FF80007F8000000000FF80007F8000000000FF80007F8000000000FF80007F8000000000
-FF80007F8000000000FF80007F8000000000FF80007F8000000000FF00007F8000000000
-FF00007F8000000000FF00007F8000000001FF00007F8000000001FE00007F8000000001
-FE00007F8000000001FE00007F8000000001FC00007F8000000003FC00007F8000000003
-F800007F8000000007F800007F8000000007F000007F800000000FF000007F800000000F
-E000007F800000001FC000007F800000003FC000007F800000003F8000007F800000007F
-0000007F80000000FE0000007F80000003FC0000007F80000007F80000007F8000001FE0
-000000FF8000007FC0000001FFC00007FF000000FFFFFFFFFFFC000000FFFFFFFFFFF000
-0000FFFFFFFFFF0000000041447CC34B>I<FFFFFFFFFFFFF0FFFFFFFFFFFFF0FFFFFFFF
-FFFFF001FFC000007FF0007F8000000FF8007F80000003F8007F80000001F8007F800000
-00F8007F8000000078007F8000000038007F8000000038007F800000001C007F80000000
-1C007F800000001C007F800000000C007F800000000C007F800000000C007F800000000C
-007F800000000E007F8000000006007F80000C0006007F80000C0006007F80000C000000
-7F80000C0000007F80000C0000007F80000C0000007F80000C0000007F80001C0000007F
-80001C0000007F80003C0000007F80007C0000007F8001FC0000007FFFFFFC0000007FFF
-FFFC0000007FFFFFFC0000007F8001FC0000007F80007C0000007F80003C0000007F8000
-1C0000007F80001C0000007F80000C0000007F80000C0000007F80000C0000007F80000C
-0000007F80000C0000007F80000C0000007F80000C0000007F8000000000007F80000000
-00007F8000000000007F8000000000007F8000000000007F8000000000007F8000000000
-007F8000000000007F8000000000007F8000000000007F8000000000007F800000000000
-7F8000000000007F8000000000007F8000000000007F8000000000007FC00000000001FF
-E000000000FFFFFFF8000000FFFFFFF8000000FFFFFFF800000037447CC340>70
-D<FFFFFFC003FFFFFFFFFFFFC003FFFFFFFFFFFFC003FFFFFF01FFE0000007FF80007F80
-000001FE00007F80000001FE00007F80000001FE00007F80000001FE00007F80000001FE
-00007F80000001FE00007F80000001FE00007F80000001FE00007F80000001FE00007F80
-000001FE00007F80000001FE00007F80000001FE00007F80000001FE00007F80000001FE
-00007F80000001FE00007F80000001FE00007F80000001FE00007F80000001FE00007F80
-000001FE00007F80000001FE00007F80000001FE00007F80000001FE00007F80000001FE
-00007F80000001FE00007F80000001FE00007F80000001FE00007F80000001FE00007FFF
-FFFFFFFE00007FFFFFFFFFFE00007FFFFFFFFFFE00007F80000001FE00007F80000001FE
-00007F80000001FE00007F80000001FE00007F80000001FE00007F80000001FE00007F80
-000001FE00007F80000001FE00007F80000001FE00007F80000001FE00007F80000001FE
-00007F80000001FE00007F80000001FE00007F80000001FE00007F80000001FE00007F80
-000001FE00007F80000001FE00007F80000001FE00007F80000001FE00007F80000001FE
-00007F80000001FE00007F80000001FE00007F80000001FE00007F80000001FE00007F80
-000001FE00007F80000001FE00007F80000001FE00007F80000001FE00007F80000001FE
-00007F80000001FE0001FFE0000007FF80FFFFFFC003FFFFFFFFFFFFC003FFFFFFFFFFFF
-C003FFFFFF40447CC349>72 D<FFFFFFF0FFFFFFF0FFFFFFF000FFF000007FE000003FC0
-00003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC0
-00003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC0
-00003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC0
-00003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC0
-00003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC0
-00003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC0
-00003FC000003FC000003FC000007FE00000FFF000FFFFFFF0FFFFFFF0FFFFFFF01C447D
-C323>I<FFFFFFF8000000FFFFFFF8000000FFFFFFF800000001FFE000000000007FC000
-000000007F8000000000007F8000000000007F8000000000007F8000000000007F800000
-0000007F8000000000007F8000000000007F8000000000007F8000000000007F80000000
-00007F8000000000007F8000000000007F8000000000007F8000000000007F8000000000
-007F8000000000007F8000000000007F8000000000007F8000000000007F800000000000
-7F8000000000007F8000000000007F8000000000007F8000000000007F8000000000007F
-8000000000007F8000000000007F8000000000007F8000000000007F8000000000007F80
-00000000007F8000000000007F8000000000007F8000000000007F8000000000007F8000
-000000007F8000000000007F8000000030007F8000000030007F8000000030007F800000
-0030007F8000000070007F8000000060007F8000000060007F8000000060007F80000000
-60007F8000000060007F80000000E0007F80000000E0007F80000000E0007F80000001C0
-007F80000001C0007F80000003C0007F80000007C0007F80000007C0007F8000000FC000
-7F8000003FC0007F8000007FC0007F800001FFC001FFC0001FFF80FFFFFFFFFFFF80FFFF
-FFFFFFFF80FFFFFFFFFFFF8034447CC33D>76 D<FFFFFFFFFC0000FFFFFFFFFFC000FFFF
-FFFFFFF80001FFC0000FFC00007F800001FF00007F8000007F80007F8000001FE0007F80
-00000FE0007F80000007F0007F80000007F8007F80000003FC007F80000003FC007F8000
-0003FE007F80000001FE007F80000001FE007F80000001FF007F80000001FF007F800000
-01FF007F80000001FF007F80000001FF007F80000001FF007F80000001FF007F80000001
-FE007F80000001FE007F80000003FE007F80000003FC007F80000003FC007F80000007F8
-007F80000007F0007F8000000FE0007F8000001FC0007F8000007F80007F800001FE0000
-7F80000FFC00007FFFFFFFF000007FFFFFFF8000007F8000000000007F8000000000007F
-8000000000007F8000000000007F8000000000007F8000000000007F8000000000007F80
-00000000007F8000000000007F8000000000007F8000000000007F8000000000007F8000
-000000007F8000000000007F8000000000007F8000000000007F8000000000007F800000
-0000007F8000000000007F8000000000007F8000000000007F8000000000007F80000000
-00007F8000000000007F8000000000007F8000000000007F8000000000007F8000000000
-01FFE000000000FFFFFFC0000000FFFFFFC0000000FFFFFFC000000038447CC342>80
-D<FFFFFFFFE000000000FFFFFFFFFF00000000FFFFFFFFFFC000000001FFC0003FF80000
-00007F800003FC000000007F800000FF000000007F8000007F800000007F8000003FC000
-00007F8000001FE00000007F8000000FF00000007F80000007F80000007F80000007F800
-00007F80000007FC0000007F80000003FC0000007F80000003FE0000007F80000003FE00
-00007F80000003FE0000007F80000003FE0000007F80000003FE0000007F80000003FE00
-00007F80000003FE0000007F80000003FC0000007F80000003FC0000007F80000007FC00
-00007F80000007F80000007F8000000FF00000007F8000000FF00000007F8000001FE000
-00007F8000003FC00000007F8000007F000000007F800001FE000000007F800007F80000
-00007F80003FE0000000007FFFFFFF00000000007FFFFFFC00000000007F80007F800000
-00007F80000FE0000000007F800007F0000000007F800003FC000000007F800001FE0000
-00007F800000FE000000007F800000FF000000007F8000007F800000007F8000007F8000
-00007F8000003FC00000007F8000003FC00000007F8000003FC00000007F8000003FC000
-00007F8000003FC00000007F8000003FC00000007F8000003FC00000007F8000003FE000
-00007F8000003FE00000007F8000003FE00000007F8000003FE00000007F8000003FE000
-00007F8000003FE00000007F8000003FE00000007F8000003FE00060007F8000003FF000
-60007F8000001FF00060007F8000001FF00060007F8000001FF000E0007F8000000FF800
-C001FFE0000007F801C0FFFFFFC00007F80180FFFFFFC00001FC0380FFFFFFC00000FE07
-000000000000003FFE0000000000000007F80043467CC348>82 D<FFFFFFC0000FFFFFFF
-FFFFC0000FFFFFFFFFFFC0000FFFFF01FFE0000000FFF0007F800000001F80007F800000
-000F00007F800000000F00007F800000000600007F800000000600007F80000000060000
-7F800000000600007F800000000600007F800000000600007F800000000600007F800000
-000600007F800000000600007F800000000600007F800000000600007F80000000060000
-7F800000000600007F800000000600007F800000000600007F800000000600007F800000
-000600007F800000000600007F800000000600007F800000000600007F80000000060000
-7F800000000600007F800000000600007F800000000600007F800000000600007F800000
-000600007F800000000600007F800000000600007F800000000600007F80000000060000
-7F800000000600007F800000000600007F800000000600007F800000000600007F800000
-000600007F800000000600007F800000000600007F800000000600007F80000000060000
-7F800000000600007F800000000600007F800000000600007F800000000600007F800000
-000E00003FC00000000C00003FC00000000C00003FC00000001C00001FC00000001C0000
-1FE00000001800000FE00000003800000FE000000030000007F000000070000007F00000
-00E0000003F8000001E0000001FC000001C0000000FE000007800000007F00000F000000
-003F80001E000000001FE0007C0000000007FC03F00000000001FFFFE000000000007FFF
-80000000000007FC00000040467CC349>85 D<FFFFFF0007FFFFF8000FFFFEFFFFFF0007
-FFFFF8000FFFFEFFFFFF0007FFFFF8000FFFFE03FFE000001FFF000000FFF001FF800000
-0FFC0000003FC001FF00000007F80000001F0000FF00000007F80000000F0000FF000000
-07F80000000E00007F80000003FC0000000E00007F80000003FC0000000C00007F800000
-03FC0000000C00003FC0000003FE0000001800003FC0000003FE0000001800003FC00000
-03FE0000001800003FE0000006FF0000003800001FE0000006FF0000003000001FE00000
-06FF0000003000001FF000000EFF8000007000000FF000000C7F8000006000000FF00000
-0C7F8000006000000FF800001C7FC0000060000007F80000183FC00000C0000007F80000
-183FC00000C0000007F80000183FE00000C0000003FC0000301FE0000180000003FC0000
-301FE0000180000003FC0000301FE0000180000001FE0000600FF0000300000001FE0000
-600FF0000300000001FE0000600FF0000300000000FF0000C007F8000600000000FF0000
-C007F8000600000000FF0000C007F8000600000000FF8001C007FC000E000000007F8001
-8003FC000C000000007F80018003FC000C000000007FC0038003FE000C000000003FC003
-0001FE0018000000003FC0030001FE0018000000003FE0030001FF0018000000001FE006
-0000FF0030000000001FE0060000FF0030000000001FE0060000FF0030000000000FF00C
-00007F8060000000000FF00C00007F8060000000000FF00C00007F80600000000007F818
-00003FC0C00000000007F81800003FC0C00000000007F81800003FC0C00000000007FC30
-00001FE1C00000000003FC3000001FE1800000000003FC3000001FE1800000000003FE70
-00001FF3800000000001FE6000000FF3000000000001FE6000000FF3000000000001FFE0
-00000FFB000000000000FFC0000007FE000000000000FFC0000007FE000000000000FFC0
-000007FE0000000000007F80000003FC0000000000007F80000003FC0000000000007F80
-000003FC0000000000003F00000001F80000000000003F00000001F80000000000003F00
-000001F80000000000001E00000000F00000000000001E00000000F00000000000001E00
-000000F00000000000001E00000000F00000000000000C00000000600000005F467EC364
->87 D<0007FC000000003FFF80000000F80FE0000003C003F00000070001F800000E0000
-FC00000FC0007E00001FE0007F00001FF0003F80001FF0003F80001FF0003F80001FF000
-1FC0001FF0001FC0000FE0001FC0000380001FC0000000001FC0000000001FC000000000
-1FC0000000001FC00000000FFFC0000001FFFFC000000FFE1FC000003FC01FC00000FF00
-1FC00003FC001FC00007F8001FC0000FF0001FC0001FE0001FC0003FC0001FC0007FC000
-1FC0007F80001FC0007F80001FC060FF00001FC060FF00001FC060FF00001FC060FF0000
-3FC060FF00003FC060FF00003FC060FF80007FC0607F8000EFC0607FC000C7E0C03FC001
-C7E0C01FE00783F1C007F81E03FF8001FFFC01FF00001FE0007C002B2E7CAC31>97
-D<01FC00000000FFFC00000000FFFC00000000FFFC0000000007FC0000000003FC000000
-0001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC000000
-0001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC000000
-0001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC000000
-0001FC0000000001FC03FC000001FC0FFF800001FC3C07E00001FC7001F80001FDE0007E
-0001FD80003F0001FF80001F8001FF00001FC001FE00000FE001FC000007E001FC000007
-F001FC000007F001FC000003F801FC000003F801FC000003FC01FC000003FC01FC000001
-FC01FC000001FE01FC000001FE01FC000001FE01FC000001FE01FC000001FE01FC000001
-FE01FC000001FE01FC000001FE01FC000001FE01FC000001FE01FC000001FE01FC000001
-FC01FC000003FC01FC000003FC01FC000003F801FC000003F801FC000007F001FC000007
-F001FE00000FE001FE00000FC001FF00001FC001FB00003F8001F380007E0001E1C000FC
-0001E0F001F80001C03C07E00001801FFF8000000003FC00002F467DC436>I<00007F80
-000003FFF000000FC07C00003F000F0000FC00038001F80001C003F8000FC007F0001FE0
-07E0003FE00FE0003FE01FC0003FE01FC0003FE03F80003FE03F80001FC07F800007007F
-800000007F800000007F00000000FF00000000FF00000000FF00000000FF00000000FF00
-000000FF00000000FF00000000FF00000000FF00000000FF00000000FF000000007F0000
-00007F800000007F800000003F800000003F800000303FC00000301FC00000700FE00000
-600FE00000E007F00000C003F80001C001F800038000FC000700003F001E00001FC07800
-0007FFF0000000FF8000242E7DAC2B>I<000000007F000000003FFF000000003FFF0000
-00003FFF0000000001FF0000000000FF00000000007F00000000007F00000000007F0000
-0000007F00000000007F00000000007F00000000007F00000000007F00000000007F0000
-0000007F00000000007F00000000007F00000000007F00000000007F00000000007F0000
-0000007F00000000007F00000000007F00000000007F0000007F807F000003FFF07F0000
-0FC07C7F00003F000E7F00007E00077F0000FC0003FF0003F80001FF0007F00000FF0007
-E00000FF000FE000007F001FC000007F001FC000007F003F8000007F003F8000007F007F
-8000007F007F8000007F007F0000007F00FF0000007F00FF0000007F00FF0000007F00FF
-0000007F00FF0000007F00FF0000007F00FF0000007F00FF0000007F00FF0000007F00FF
-0000007F00FF0000007F007F0000007F007F8000007F007F8000007F003F8000007F003F
-8000007F001FC000007F001FC000007F000FC00000FF000FE00000FF0007F00001FF0003
-F00003FF0001F800077F8000FC000E7FC0003F001C7FFE000FC0F87FFE0003FFE07FFE00
-007F007F002F467DC436>I<0001FE00000007FFC000001F03F000007E00FC0000FC007E
-0001F8003F0003F0003F0007E0001F800FE0001FC00FC0000FC01FC0000FC03F80000FE0
-3F800007E03F800007E07F800007F07F000007F07F000007F0FF000007F0FF000007F0FF
-000007F0FFFFFFFFF0FFFFFFFFF0FF00000000FF00000000FF00000000FF00000000FF00
-000000FF000000007F000000007F000000007F800000007F800000003F800000003F8000
-00301FC00000301FC00000700FC00000600FE00000E007F00000C003F00001C001F80003
-8000FC000700003E001E00001F80F8000003FFE0000000FF0000242E7DAC2B>I<00000F
-E00000007FF8000001F81E000003F03F00000FE07F80001FC0FF80001F80FF80003F80FF
-80007F00FF80007F00FF80007F007F0000FE001C0000FE00000000FE00000000FE000000
-00FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000
-FE00000000FE00000000FE00000000FE00000000FE000000FFFFFF8000FFFFFF8000FFFF
-FF800000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00
-000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE0000
-0000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE000000
-00FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000
-FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE00000000FE
-00000001FF8000007FFFFF00007FFFFF00007FFFFF000021467EC51E>I<000000000F80
-0001FC007FE0000FFF81F0F0003F07E381F000FC01FF03F001F800FE01F003F0007E01E0
-07F0007F000007E0003F00000FE0003F80000FC0001F80001FC0001FC0001FC0001FC000
-1FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC000
-1FC0001FC0000FC0001F80000FE0003F800007E0003F000007F0007F000003F0007E0000
-01F800FC000001FC01F8000003BF07E00000030FFF8000000701FC000000070000000000
-0700000000000F00000000000F00000000000F00000000000F800000000007C000000000
-07E00000000007FFFFF8000003FFFFFF000003FFFFFFE00001FFFFFFF800007FFFFFFC00
-01FFFFFFFE0007C0000FFF000F800000FF003F0000003F803E0000001F807C0000000FC0
-7C0000000FC0F800000007C0F800000007C0F800000007C0F800000007C0F800000007C0
-FC0000000FC07C0000000F807E0000001F803E0000001F001F0000003E000F8000007C00
-07E00001F80001F80007E000007F003F8000001FFFFE00000001FFE000002C427DAC31>
-I<01FC00000000FFFC00000000FFFC00000000FFFC0000000007FC0000000003FC000000
-0001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC000000
-0001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC000000
-0001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC000000
-0001FC0000000001FC01FE000001FC07FFC00001FC1E07F00001FC3801F80001FC7001FC
-0001FCE000FC0001FDC000FE0001FD8000FE0001FF80007F0001FF00007F0001FF00007F
-0001FE00007F0001FE00007F0001FE00007F0001FC00007F0001FC00007F0001FC00007F
-0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F
-0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F
-0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F
-0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0003FE0000FF
-80FFFFF83FFFFEFFFFF83FFFFEFFFFF83FFFFE2F457DC436>I<01E00007F80007F8000F
-FC000FFC000FFC000FFC0007F80007F80001E00000000000000000000000000000000000
-000000000000000000000000000000000000000000000001FC00FFFC00FFFC00FFFC0007
-FC0003FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001
-FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001
-FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0003
-FE00FFFFF8FFFFF8FFFFF815437DC21C>I<01FC00FFFC00FFFC00FFFC0007FC0003FC00
-01FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC00
-01FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC00
-01FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC00
-01FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC00
-01FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0001FC0003FE00
-FFFFF8FFFFF8FFFFF815457DC41C>108 D<01FC00FF00001FE00000FFFC07FFE000FFFC
-0000FFFC0F03F801E07F0000FFFC3C01FC07803F800007FC7000FE0E001FC00003FCE000
-7E1C000FC00001FDC0007F38000FE00001FD80007F30000FE00001FF80003FF00007F000
-01FF00003FE00007F00001FF00003FE00007F00001FE00003FC00007F00001FE00003FC0
-0007F00001FE00003FC00007F00001FC00003F800007F00001FC00003F800007F00001FC
-00003F800007F00001FC00003F800007F00001FC00003F800007F00001FC00003F800007
-F00001FC00003F800007F00001FC00003F800007F00001FC00003F800007F00001FC0000
-3F800007F00001FC00003F800007F00001FC00003F800007F00001FC00003F800007F000
-01FC00003F800007F00001FC00003F800007F00001FC00003F800007F00001FC00003F80
-0007F00001FC00003F800007F00001FC00003F800007F00001FC00003F800007F00001FC
-00003F800007F00001FC00003F800007F00001FC00003F800007F00001FC00003F800007
-F00001FC00003F800007F00001FC00003F800007F00003FE00007FC0000FF800FFFFF81F
-FFFF03FFFFE0FFFFF81FFFFF03FFFFE0FFFFF81FFFFF03FFFFE04B2C7DAB52>I<01FC01
-FE0000FFFC07FFC000FFFC1E07F000FFFC3801F80007FC7001FC0003FCE000FC0001FDC0
-00FE0001FD8000FE0001FF80007F0001FF00007F0001FF00007F0001FE00007F0001FE00
-007F0001FE00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00
-007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00
-007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00
-007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00
-007F0001FC00007F0001FC00007F0001FC00007F0003FE0000FF80FFFFF83FFFFEFFFFF8
-3FFFFEFFFFF83FFFFE2F2C7DAB36>I<00007F8000000003FFF00000000FC0FC0000003E
-001F0000007C000F800000F80007C00001F00003E00003E00001F00007C00000F8000FC0
-0000FC000FC00000FC001F8000007E003F8000007F003F8000007F003F0000003F007F00
-00003F807F0000003F807F0000003F807F0000003F80FF0000003FC0FF0000003FC0FF00
-00003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF0000003FC0FF00
-00003FC0FF0000003FC07F0000003F807F0000003F807F8000007F803F8000007F003F80
-00007F001F8000007E001FC00000FE000FC00000FC000FE00001FC0007E00001F80003F0
-0003F00001F80007E00000FC000FC000003E001F0000001FC0FE00000007FFF800000000
-7F8000002A2E7DAC31>I<01FC03FC0000FFFC0FFF8000FFFC3C07E000FFFC7001F80007
-FDE000FE0001FD80007F0001FF80003F8001FF00001FC001FE00001FE001FC00000FE001
-FC00000FF001FC000007F001FC000007F801FC000003F801FC000003FC01FC000003FC01
-FC000003FC01FC000001FE01FC000001FE01FC000001FE01FC000001FE01FC000001FE01
-FC000001FE01FC000001FE01FC000001FE01FC000001FE01FC000001FE01FC000001FE01
-FC000003FC01FC000003FC01FC000003FC01FC000007F801FC000007F801FC000007F001
-FC00000FF001FE00000FE001FE00001FC001FF00003FC001FF00003F8001FF80007E0001
-FDC000FC0001FCF003F80001FC3C0FE00001FC1FFF800001FC03FC000001FC0000000001
-FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001
-FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001FC0000000001
-FC0000000003FE00000000FFFFF8000000FFFFF8000000FFFFF80000002F3F7DAB36>I<
-00007F8003000003FFE00700000FE0780700003F801C0F00007E000E0F0000FC00071F00
-03F800039F0007F80001BF0007F00001FF000FE00000FF001FE00000FF001FC00000FF00
-3FC000007F003FC000007F007F8000007F007F8000007F007F8000007F00FF0000007F00
-FF0000007F00FF0000007F00FF0000007F00FF0000007F00FF0000007F00FF0000007F00
-FF0000007F00FF0000007F00FF0000007F00FF0000007F007F8000007F007F8000007F00
-7F8000007F003F8000007F003FC000007F001FC000007F001FE00000FF000FE00000FF00
-0FF00001FF0007F00001FF0003F80003FF0001FC00077F0000FE000E7F00003F001C7F00
-000FC0F87F000003FFE07F0000007F007F00000000007F00000000007F00000000007F00
-000000007F00000000007F00000000007F00000000007F00000000007F00000000007F00
-000000007F00000000007F00000000007F00000000007F00000000007F0000000000FF80
-0000003FFFFE0000003FFFFE0000003FFFFE2F3F7DAB33>I<03F803F0FFF81FFCFFF83C
-3EFFF8707F07F8E0FF03F9C0FF01F980FF01FB80FF01FB007E01FB003C01FF000001FE00
-0001FE000001FE000001FE000001FC000001FC000001FC000001FC000001FC000001FC00
-0001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00
-0001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC000001FC00
-0001FC000003FF0000FFFFFE00FFFFFE00FFFFFE00202C7DAB26>I<003FE01801FFFC38
-07E01F780F0003F81E0001F83C0000F87C00007878000078F8000038F8000038F8000018
-F8000018FC000018FC000018FE000018FF8000007FC000007FFC00003FFFE0001FFFFC00
-0FFFFF0007FFFFC003FFFFE000FFFFF0001FFFF80000FFF800000FFC000003FCC00001FE
-C00000FEC000007EE000007EE000003EE000003EF000003EF000003EF000003EF800003C
-FC00007CFC000078FE0000F8FF0001F0F38003E0F1F00F80E07FFE00C00FF0001F2E7DAC
-26>I<0006000000060000000600000006000000060000000E0000000E0000000E000000
-0E0000001E0000001E0000001E0000003E0000007E0000007E000000FE000001FE000007
-FE00001FFFFFF0FFFFFFF0FFFFFFF000FE000000FE000000FE000000FE000000FE000000
-FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000
-FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000000FE000C00
-FE000C00FE000C00FE000C00FE000C00FE000C00FE000C00FE000C00FE000C00FE000C00
-7E001C007F0018007F0018003F0038001F8030001FC0700007E0E00001FFC000007F001E
-3E7EBC26>I<01FC00007F00FFFC003FFF00FFFC003FFF00FFFC003FFF0007FC0001FF00
-03FC0000FF0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F00
-01FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F00
-01FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F00
-01FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F0001FC00007F00
-01FC00007F0001FC00007F0001FC00007F0001FC0000FF0001FC0000FF0001FC0000FF00
-01FC0001FF0001FC0001FF0000FC0001FF0000FE0003FF00007E00077F80007F000E7FC0
-003F001C7FFE000FC0787FFE0003FFF07FFE00007F807F002F2D7DAB36>I<FFFFF001FF
-FCFFFFF001FFFCFFFFF001FFFC07FF00007FE003FE00001F8001FE00001F0001FE00000E
-0000FE00000C0000FF00001C00007F00001800007F00001800007F80003800003F800030
-00003F80003000001FC0006000001FC0006000001FE000E000000FE000C000000FE000C0
-000007F00180000007F00180000007F80380000003F80300000003F80300000001FC0600
-000001FC0600000001FE0E00000000FE0C00000000FE0C000000007F18000000007F1800
-0000007FB8000000003FB0000000003FB0000000001FE0000000001FE0000000001FE000
-0000000FC0000000000FC000000000078000000000078000000000078000000000030000
-0000000300000000000600000000000600000000000600000000000C00000000000C0000
-000000180000000000180000003C00180000007E0030000000FF0030000000FF00600000
-00FF0060000000FF00C0000000FE01C00000007C03800000007007000000003C1E000000
-000FFC0000000003F0000000002E3F7EAA33>121 D<3FFFFFFFE03FFFFFFFE03FC0003F
-E03F00003FC03C00007F80380000FF00380000FF00300001FE00700003FC00700003FC00
-700007F80060000FF00060000FF00060001FE00060003FC00060003FC00000007F800000
-00FF00000001FF00000001FE00000003FC00000007FC00000007F80000000FF00000001F
-F00000001FE00060003FC00060007F800060007F80006000FF0000C001FE0000C001FE00
-00C003FC0000C007F80000C007F80001C00FF00001C01FE00003C01FE00003C03FC00007
-807F80001F80FF8000FF80FFFFFFFF80FFFFFFFF80232B7DAA2B>I<FFFFFFFFFFFFFFFF
-FFFFFFFF80FFFFFFFFFFFFFFFFFFFFFFFF806102809B62>124 D
-E /Fw 21 118 df<0F003FC07FE0FFF0FFF0FFF0FFF0FFF0FFF07FE03FC00F000C0C748B
-24>46 D<00000FFE00000000007FFFE000000003FFFFF80000000FFFFFFE0000001FE00F
-FF8000003E0001FFE00000FC00007FF00001F000003FF80003E000000FFC0003C0000007
-FE000780000003FF000F00000003FF800E00000001FF801E00000000FFC01C00000000FF
-C03C000000007FE038000000007FE078000000003FF070000000003FF070000000003FF0
-70000000003FF0FF800000001FF8FFE00000001FF8FFE00000001FF8FFF00000001FF8FF
-F00000001FF8FFF00000001FF8FFF00000001FF8FFF00000001FF8FFF00000001FF87FE0
-0000001FF83FC00000001FF806000000001FF000000000003FF000000000003FF0000000
-00003FF000000000003FE000000000007FE000000000007FE00000000000FFC000000000
-00FFC00000000000FF800000000001FF800000000001FF000000000003FE000000000007
-FE000000000007FC00000000000FF800000000000FF000000000001FF000000000003FE0
-00000000007FC000000000007F800000000000FF000000000001FE000000000003FC0000
-00000003F8000000000007F000000000000FE000000000001FC000000000003F80000000
-00007F0000000000007E000000000000FC000000000001F8000000000003F00000000000
-07E000000000000FC000000000001F8000000000003F0000000000003E0000000000007C
-000000380000F8000000380001F0000000380003E0000000380007C000000070000F8000
-000070001F0000000070001E0000000070003C0000000070007800000000F000F0000000
-00F001E000000000E003C000000001E0078000000003E00FFFFFFFFFFFE00FFFFFFFFFFF
-E01FFFFFFFFFFFE03FFFFFFFFFFFE07FFFFFFFFFFFE0FFFFFFFFFFFFC0FFFFFFFFFFFFC0
-FFFFFFFFFFFFC0FFFFFFFFFFFFC0355E7ADD42>50 D<0180000000030001E00000000F00
-01FC0000003F0001FF800003FE0001FFF8003FFC0001FFFFFFFFF80001FFFFFFFFF00001
-FFFFFFFFE00001FFFFFFFF800001FFFFFFFF000001FFFFFFFC000001DFFFFFF0000001C3
-FFFF80000001C03FF800000001C0000000000001C0000000000001C0000000000001C000
-0000000001C0000000000001C0000000000001C0000000000001C0000000000001C00000
-00000001C0000000000001C0000000000001C0000000000001C0000000000001C0000000
-000001C0000000000001C0000000000001C0000000000001C0000000000001C000000000
-0001C0000000000001C0000000000001C001FF80000001C01FFFF0000001C07FFFFC0000
-01C1FE00FF000001C3E0003F800001CF80001FE00001DF00000FF00001FC000007F80001
-F8000003FC0001F0000001FC0001F0000001FE0001E0000000FF0001C0000000FF000000
-0000007F8000000000007FC000000000007FC000000000003FC000000000003FE0000000
-00003FE000000000003FF000000000003FF000000000001FF000000000001FF000000000
-001FF000000000001FF800000000001FF800000000001FF800000000001FF80000000000
-1FF800000000001FF81F800000001FF87FC00000001FF87FE00000001FF8FFE00000001F
-F8FFF00000001FF8FFF00000001FF8FFF00000001FF0FFE00000001FF0FFE00000003FF0
-FFC00000003FF0FF800000003FE070000000003FE070000000003FE078000000007FC078
-000000007FC03C00000000FF803C00000000FF801E00000001FF001E00000001FF000F00
-000003FE000780000007FC0007C0000007F80003E000000FF00001F800003FE00000FC00
-007FC000007F0001FF8000003FF00FFE0000000FFFFFF800000003FFFFE000000000FFFF
-80000000000FF800000035607ADD42>53 D<FFFFFFFFE000000000FFFFFFFFE000000000
-FFFFFFFFE000000000FFFFFFFFE00000000000FFFF800000000000003FFC000000000000
-001FFC000000000000001FF8000000000000001FF8000000000000001FF8000000000000
-001FF8000000000000001FF8000000000000001FF8000000000000001FF8000000000000
-001FF8000000000000001FF8000000000000001FF8000000000000001FF8000000000000
-001FF8000000000000001FF8000000000000001FF8000000000000001FF8000000000000
-001FF8000000000000001FF8000000000000001FF8000000000000001FF8000000000000
-001FF8000000000000001FF8000000000000001FF8000000000000001FF8000000000000
-001FF8000000000000001FF8000000000000001FF8000000000000001FF8000000000000
-001FF8000000000000001FF8000000000000001FF8000000000000001FF8000000000000
-001FF8000000000000001FF8000000000000001FF8000000000000001FF8000000000000
-001FF8000000000000001FF8000000000000001FF8000000000000001FF8000000000000
-001FF8000000000000001FF8000000000000001FF8000000000000001FF8000000000000
-001FF8000000000000001FF8000000000000001FF8000000000000001FF8000000000000
-001FF8000000000000001FF8000000000000001FF8000000000000001FF8000000000000
-001FF8000000000000001FF8000000000000001FF8000000000000001FF800000000001C
-001FF800000000001C001FF800000000001C001FF800000000001C001FF800000000001C
-001FF800000000001C001FF800000000003C001FF8000000000038001FF8000000000038
-001FF8000000000038001FF8000000000038001FF8000000000038001FF8000000000038
-001FF8000000000078001FF8000000000078001FF8000000000078001FF8000000000078
-001FF80000000000F8001FF80000000000F8001FF80000000000F0001FF80000000001F0
-001FF80000000001F0001FF80000000003F0001FF80000000007F0001FF80000000007F0
-001FF8000000000FF0001FF8000000001FF0001FF8000000003FF0001FF8000000007FF0
-001FF800000001FFF0001FF800000007FFF0003FF80000003FFFE000FFFC000003FFFFE0
-FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0FFFFFFFFFFFFFFFFE0
-466279E153>76 D<FFFFFC000000000000001FFFFF80FFFFFC000000000000001FFFFF80
-FFFFFC000000000000001FFFFF80FFFFFE000000000000003FFFFF8000FFFE0000000000
-00003FFF8000003FFE000000000000003FFE0000001DFF0000000000000077FC0000001D
-FF0000000000000077FC0000001CFF80000000000000E7FC0000001CFF80000000000000
-E7FC0000001CFF80000000000000E7FC0000001C7FC0000000000001C7FC0000001C7FC0
-000000000001C7FC0000001C7FC0000000000001C7FC0000001C3FE000000000000387FC
-0000001C3FE000000000000387FC0000001C3FE000000000000387FC0000001C1FF00000
-0000000707FC0000001C1FF000000000000707FC0000001C0FF800000000000E07FC0000
-001C0FF800000000000E07FC0000001C0FF800000000000E07FC0000001C07FC00000000
-001C07FC0000001C07FC00000000001C07FC0000001C07FC00000000001C07FC0000001C
-03FE00000000003807FC0000001C03FE00000000003807FC0000001C03FE000000000038
-07FC0000001C01FF00000000007007FC0000001C01FF00000000007007FC0000001C00FF
-8000000000E007FC0000001C00FF8000000000E007FC0000001C00FF8000000000E007FC
-0000001C007FC000000001C007FC0000001C007FC000000001C007FC0000001C007FC000
-000001C007FC0000001C003FE0000000038007FC0000001C003FE0000000038007FC0000
-001C003FE0000000038007FC0000001C001FF0000000070007FC0000001C001FF0000000
-070007FC0000001C000FF80000000E0007FC0000001C000FF80000000E0007FC0000001C
-000FF80000000E0007FC0000001C0007FC0000001C0007FC0000001C0007FC0000001C00
-07FC0000001C0007FC0000001C0007FC0000001C0003FE000000380007FC0000001C0003
-FE000000380007FC0000001C0003FE000000380007FC0000001C0001FF000000700007FC
-0000001C0001FF000000700007FC0000001C0000FF800000E00007FC0000001C0000FF80
-0000E00007FC0000001C0000FF800000E00007FC0000001C00007FC00001C00007FC0000
-001C00007FC00001C00007FC0000001C00007FC00001C00007FC0000001C00003FE00003
-800007FC0000001C00003FE00003800007FC0000001C00003FE00003800007FC0000001C
-00001FF00007000007FC0000001C00001FF00007000007FC0000001C00000FF8000E0000
-07FC0000001C00000FF8000E000007FC0000001C00000FF8000E000007FC0000001C0000
-07FC001C000007FC0000001C000007FC001C000007FC0000001C000007FC001C000007FC
-0000001C000003FE0038000007FC0000001C000003FE0038000007FC0000001C000003FE
-0038000007FC0000001C000001FF0070000007FC0000001C000001FF0070000007FC0000
-001C000001FF0070000007FC0000001C000000FF80E0000007FC0000001C000000FF80E0
-000007FC0000001C0000007FC1C0000007FC0000001C0000007FC1C0000007FC0000001C
-0000007FC1C0000007FC0000001C0000003FE380000007FC0000001C0000003FE3800000
-07FC0000001C0000003FE380000007FC0000001C0000001FF700000007FC0000001C0000
-001FF700000007FC0000001C0000001FF700000007FC0000001C0000000FFE00000007FC
-0000001C0000000FFE00000007FC0000003E00000007FC00000007FC0000003E00000007
-FC00000007FC0000007F00000007FC00000007FC0000007F00000003F800000007FC0000
-01FFC0000003F80000000FFE000007FFF8000003F80000003FFF8000FFFFFF800001F000
-003FFFFFFF80FFFFFF800001F000003FFFFFFF80FFFFFF800001F000003FFFFFFF80FFFF
-FF800000E000003FFFFFFF80696278E17A>I<FFFFFFFFFFFFC0000000FFFFFFFFFFFFFE
-000000FFFFFFFFFFFFFFC00000FFFFFFFFFFFFFFF0000000FFFC000000FFFC0000003FF8
-0000000FFF0000001FF800000003FF8000001FF800000000FFC000001FF8000000003FF0
-00001FF8000000001FF800001FF8000000000FFC00001FF80000000007FC00001FF80000
-000003FE00001FF80000000003FF00001FF80000000001FF80001FF80000000001FF8000
-1FF80000000000FFC0001FF80000000000FFC0001FF80000000000FFC0001FF800000000
-00FFE0001FF800000000007FE0001FF800000000007FE0001FF800000000007FF0001FF8
-00000000007FF0001FF800000000007FF0001FF800000000007FF0001FF800000000007F
-F0001FF800000000007FF0001FF800000000007FF0001FF800000000007FF0001FF80000
-0000007FF0001FF800000000007FE0001FF800000000007FE0001FF80000000000FFE000
-1FF80000000000FFC0001FF80000000000FFC0001FF80000000000FFC0001FF800000000
-01FF80001FF80000000001FF00001FF80000000003FF00001FF80000000007FE00001FF8
-0000000007FC00001FF8000000000FF800001FF8000000001FF000001FF8000000007FE0
-00001FF800000000FFC000001FF800000003FF0000001FF80000001FFE0000001FF80000
-01FFF80000001FFFFFFFFFFFE00000001FFFFFFFFFFF000000001FFFFFFFFFF800000000
-1FF800000000000000001FF800000000000000001FF800000000000000001FF800000000
-000000001FF800000000000000001FF800000000000000001FF800000000000000001FF8
-00000000000000001FF800000000000000001FF800000000000000001FF8000000000000
-00001FF800000000000000001FF800000000000000001FF800000000000000001FF80000
-0000000000001FF800000000000000001FF800000000000000001FF80000000000000000
-1FF800000000000000001FF800000000000000001FF800000000000000001FF800000000
-000000001FF800000000000000001FF800000000000000001FF800000000000000001FF8
-00000000000000001FF800000000000000001FF800000000000000001FF8000000000000
-00001FF800000000000000001FF800000000000000001FF800000000000000001FF80000
-0000000000001FF800000000000000001FF800000000000000001FF80000000000000000
-1FF800000000000000001FF800000000000000001FF800000000000000001FF800000000
-000000003FFC0000000000000000FFFF00000000000000FFFFFFFF000000000000FFFFFF
-FF000000000000FFFFFFFF000000000000FFFFFFFF0000000000004C6279E15A>80
-D<FFFFFFFFFFFC000000000000FFFFFFFFFFFFE00000000000FFFFFFFFFFFFFC00000000
-00FFFFFFFFFFFFFF800000000000FFFC00000FFFE000000000003FF80000007FF8000000
-00001FF80000001FFC00000000001FF800000007FF00000000001FF800000001FF800000
-00001FF800000000FFC0000000001FF8000000003FE0000000001FF8000000001FF00000
-00001FF8000000001FF8000000001FF8000000000FFC000000001FF80000000007FE0000
-00001FF80000000007FE000000001FF80000000007FF000000001FF80000000003FF0000
-00001FF80000000003FF800000001FF80000000003FF800000001FF80000000001FF8000
-00001FF80000000001FFC00000001FF80000000001FFC00000001FF80000000001FFC000
-00001FF80000000001FFC00000001FF80000000001FFC00000001FF80000000001FFC000
-00001FF80000000001FFC00000001FF80000000001FFC00000001FF80000000001FFC000
-00001FF80000000001FF800000001FF80000000003FF800000001FF80000000003FF8000
-00001FF80000000003FF000000001FF80000000007FF000000001FF80000000007FE0000
-00001FF80000000007FC000000001FF8000000000FF8000000001FF8000000001FF80000
-00001FF8000000003FF0000000001FF8000000007FE0000000001FF800000000FF800000
-00001FF800000001FF00000000001FF800000007FE00000000001FF80000001FF8000000
-00001FF8000000FFE000000000001FF800000FFF8000000000001FFFFFFFFFFC00000000
-00001FFFFFFFFFE00000000000001FFFFFFFFFF00000000000001FF800001FFE00000000
-00001FF8000001FF8000000000001FF80000007FC000000000001FF80000003FF0000000
-00001FF80000001FF800000000001FF800000007FC00000000001FF800000003FE000000
-00001FF800000003FF00000000001FF800000001FF80000000001FF800000000FF800000
-00001FF800000000FFC0000000001FF8000000007FE0000000001FF8000000007FE00000
-00001FF8000000007FE0000000001FF8000000003FF0000000001FF8000000003FF00000
-00001FF8000000003FF0000000001FF8000000003FF0000000001FF8000000003FF00000
-00001FF8000000003FF0000000001FF8000000003FF0000000001FF8000000003FF00000
-00001FF8000000003FF0000000001FF8000000003FF0000000001FF8000000003FF80000
-00001FF8000000003FF8000000001FF8000000003FF8000000001FF8000000003FF80000
-00001FF8000000003FF8000000001FF8000000003FF8000000001FF8000000003FF80000
-00001FF8000000003FF8000000001FF8000000003FF8000000001FF8000000003FF80000
-00001FF8000000003FF80000E0001FF8000000003FFC0000E0001FF8000000001FFC0000
-E0001FF8000000001FFC0000E0001FF8000000001FFC0000E0001FF8000000000FFC0001
-E0001FF8000000000FFE0001C0001FF80000000007FE0003C0003FFC0000000007FF0003
-C000FFFF0000000003FF000780FFFFFFFF00000001FF800F00FFFFFFFF00000000FFC01F
-00FFFFFFFF000000003FF03E00FFFFFFFF000000000FFFFC00000000000000000003FFF0
-000000000000000000003FC0005B6479E162>82 D<00003FF0000000000003FFFE000000
-00000FFFFF80000000003FC03FE0000000007E0007F800000000F80003FC00000001E000
-01FE00000003C00000FF000000078000007F8000000F0000003FC000000F8000003FC000
-000FF000001FE000001FF800001FE000001FFC00000FF000001FFC00000FF000001FFC00
-000FF000001FFC000007F800001FFC000007F800001FFC000007F800000FF8000007F800
-0003E0000007F800000000000007F800000000000007F800000000000007F80000000000
-0007F800000000000007F800000000000007F80000000000007FF800000000007FFFF800
-0000000FFFFFF8000000007FF807F800000001FF8007F800000007FC0007F80000001FF0
-0007F80000007FC00007F8000000FF800007F8000003FE000007F8000007FC000007F800
-000FFC000007F800000FF8000007F800001FF0000007F800003FE0000007F800003FE000
-0007F800007FC0000007F800E07FC0000007F800E07FC0000007F800E0FFC0000007F800
-E0FF80000007F800E0FF80000007F800E0FF8000000FF800E0FF8000000FF800E0FF8000
-000FF800E0FF8000001FF800E0FFC000001BF800E07FC000003BF800E07FC0000073F800
-E07FE0000071FC01C03FF00000E1FC01C01FF00001C1FC01C00FFC000780FE038007FE00
-0F00FF070001FF807E007FFF00007FFFF8003FFE00001FFFE0001FF8000001FF000007E0
-003B417ABF42>97 D<000001FF80000000000FFFF8000000003FFFFE00000000FF007F80
-000003FC0007E0000007F00001F000001FE000007800003FC000003C00007F8000001E00
-00FF0000000F0001FE0000001F0001FC000000FF0003FC000001FF8007F8000003FF8007
-F8000003FF800FF0000003FF800FF0000003FF801FE0000003FF801FE0000003FF803FE0
-000001FF003FC00000007C003FC000000000007FC000000000007FC000000000007FC000
-000000007F800000000000FF800000000000FF800000000000FF800000000000FF800000
-000000FF800000000000FF800000000000FF800000000000FF800000000000FF80000000
-0000FF800000000000FF800000000000FF800000000000FF8000000000007F8000000000
-007FC000000000007FC000000000007FC000000000007FC000000000003FC00000000000
-3FE000000000003FE000000000001FE000000001C01FF000000001C00FF000000003C00F
-F8000000038007F8000000038003FC000000078003FE000000070001FE0000000F0000FF
-0000001E00007F8000003C00003FC000007800001FE00000F000000FF80001E0000003FC
-0007C0000000FF803F800000003FFFFE000000000FFFF80000000001FF80000032417CBF
-3A>99 D<000003FE00000000001FFFE000000000FFFFF800000001FE03FE00000007F000
-7F8000000FE0003FC000003FC0001FE000007F00000FF00000FF000007F80000FE000003
-F80001FC000003FC0003F8000001FC0007F8000001FE0007F0000000FE000FF0000000FF
-000FF00000007F001FE00000007F001FE00000007F803FE00000007F803FC00000003F80
-3FC00000003F807FC00000003FC07FC00000003FC07FC00000003FC07F800000003FC07F
-800000003FC0FF800000003FC0FFFFFFFFFFFFC0FFFFFFFFFFFFC0FFFFFFFFFFFFC0FF80
-0000000000FF800000000000FF800000000000FF800000000000FF800000000000FF8000
-00000000FF800000000000FF800000000000FF8000000000007F8000000000007FC00000
-0000007FC000000000007FC000000000003FC000000000003FC000000000003FE0000000
-00001FE000000000001FE000000001C00FF000000001C00FF000000003C007F800000003
-8007F8000000038003FC000000078001FC0000000F0001FE0000000E0000FF0000001E00
-007F8000003C00003FC000007800001FE00000F0000007F00003E0000003FC0007C00000
-00FF803F000000003FFFFC000000000FFFF00000000001FF80000032417CBF3A>101
-D<0000000FF0000000007FFC00000001FFFF00000007F81F8000000FE00FC000001FC03F
-C000003F807FE000007F007FE00000FF007FE00001FE007FE00001FC007FE00003FC003F
-C00003FC003FC00007F8000F000007F80000000007F8000000000FF0000000000FF00000
-00000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000
-00000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000
-00000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000
-00000FF0000000000FF0000000000FF0000000FFFFFFFFF000FFFFFFFFF000FFFFFFFFF0
-00FFFFFFFFF000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000
-00000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000
-00000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000
-00000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000
-00000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000
-00000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000
-00000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000
-00000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000000FF00000
-00000FF0000000000FF0000000000FF0000000000FF0000000000FF0000000001FF80000
-00003FFE0000003FFFFFFF00003FFFFFFF00003FFFFFFF00003FFFFFFF00002B657EE428
->I<0000000000003F80000003FC0001FFE000003FFFC007FFF00000FFFFF01FC1F80003
-FC03FC3E03F80007F000FE7803F8000FE0007FE003F8001FC0003FC003F8003F80001FC0
-01F0007F00000FE0000000FE000007F0000000FE000007F0000001FC000003F8000001FC
-000003F8000003FC000003FC000003FC000003FC000003F8000001FC000007F8000001FE
-000007F8000001FE000007F8000001FE000007F8000001FE000007F8000001FE000007F8
-000001FE000007F8000001FE000007F8000001FE000007F8000001FE000007F8000001FE
-000003F8000001FC000003FC000003FC000003FC000003FC000001FC000003F8000001FC
-000003F8000000FE000007F0000000FE000007F00000007F00000FE00000003F80001FC0
-0000001FC0003F800000003FE0007F0000000037F000FE0000000073FC03FC0000000060
-FFFFF000000000E03FFFC000000000E003FC0000000001C000000000000001C000000000
-000001C000000000000001C000000000000001C000000000000001E000000000000001E0
-00000000000001F000000000000001F000000000000001F800000000000000FC00000000
-000000FF00000000000000FFFFFFFE000000007FFFFFFFF00000003FFFFFFFFE0000001F
-FFFFFFFF8000000FFFFFFFFFE000000FFFFFFFFFF000003FFFFFFFFFFC0000FE000001FF
-FE0003F80000001FFE0007E000000003FF000FC000000000FF801F80000000007F803F80
-000000003FC03F00000000001FC07E00000000001FC07E00000000000FE0FE0000000000
-0FE0FC000000000007E0FC000000000007E0FC000000000007E0FC000000000007E0FC00
-0000000007E0FC000000000007E0FE00000000000FE07E00000000000FC07E0000000000
-0FC07F00000000001FC03F80000000003F801FC0000000007F000FC0000000007E0007F0
-00000001FC0003F800000003F80001FC00000007F000007F0000001FC000003FE00000FF
-8000000FFE000FFE00000001FFFFFFF0000000003FFFFF800000000001FFF00000003D5E
-7DBF42>I<0003C000000000000007FFC0000000000000FFFFC0000000000000FFFFC000
-0000000000FFFFC0000000000000FFFFC000000000000001FFC0000000000000007FC000
-0000000000007FC0000000000000003FC0000000000000003FC0000000000000003FC000
-0000000000003FC0000000000000003FC0000000000000003FC0000000000000003FC000
-0000000000003FC0000000000000003FC0000000000000003FC0000000000000003FC000
-0000000000003FC0000000000000003FC0000000000000003FC0000000000000003FC000
-0000000000003FC0000000000000003FC0000000000000003FC0000000000000003FC000
-0000000000003FC0000000000000003FC0000000000000003FC0000000000000003FC000
-0000000000003FC0000000000000003FC0000000000000003FC0000000000000003FC000
-0000000000003FC0000000000000003FC0007FE0000000003FC003FFFC000000003FC00F
-FFFF000000003FC03F00FFC00000003FC078001FE00000003FC0F0000FF00000003FC1C0
-0007F80000003FC3800007FC0000003FC7000003FC0000003FCE000003FE0000003FCE00
-0001FE0000003FDC000001FE0000003FD8000001FE0000003FF8000000FF0000003FF000
-0000FF0000003FF0000000FF0000003FF0000000FF0000003FE0000000FF0000003FE000
-0000FF0000003FE0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
-0000FF0000003FC0000000FF0000003FC0000000FF0000007FE0000001FF800000FFF000
-0003FFC000FFFFFFF003FFFFFFC0FFFFFFF003FFFFFFC0FFFFFFF003FFFFFFC0FFFFFFF0
-03FFFFFFC042647DE349>I<003C000000FF000001FF800003FFC00003FFC00003FFC000
-03FFC00003FFC00003FFC00001FF800000FF0000003C0000000000000000000000000000
-000000000000000000000000000000000000000000000000000000000000000000000000
-00000000000000000000000000000000000000000000000000000000000000000003C000
-07FFC0007FFFC0007FFFC0007FFFC0007FFFC00001FFC000007FC000007FC000003FC000
-003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000
-003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000
-003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000
-003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000
-003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000
-003FC000003FC000007FE00000FFF000FFFFFFE0FFFFFFE0FFFFFFE0FFFFFFE01B5F7DDE
-23>I<0003C00007FFC000FFFFC000FFFFC000FFFFC000FFFFC00001FFC000007FC00000
-7FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00000
-3FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00000
-3FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00000
-3FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00000
-3FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00000
-3FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00000
-3FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00000
-3FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00000
-3FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC000003FC00000
-3FC000003FC000003FC000003FC000003FC000007FE00000FFF000FFFFFFF0FFFFFFF0FF
-FFFFF0FFFFFFF01C647DE323>108 D<0003C000FFC0000007FE00000007FFC003FFF800
-001FFFC00000FFFFC00FFFFE00007FFFF00000FFFFC03F00FF8001F807FC0000FFFFC078
-003FC003C001FE0000FFFFC1E0001FE00F0000FF000001FFC3C0000FF01E00007F800000
-7FC3800007F81C00003FC000007FC7000007F83800003FC000003FCE000003FC7000001F
-E000003FCC000003FC6000001FE000003FDC000003FCE000001FE000003FD8000003FCC0
-00001FE000003FF8000001FFC000000FF000003FF0000001FF8000000FF000003FF00000
-01FF8000000FF000003FE0000001FF0000000FF000003FE0000001FF0000000FF000003F
-E0000001FF0000000FF000003FE0000001FF0000000FF000003FC0000001FE0000000FF0
-00003FC0000001FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE0000
-000FF000003FC0000001FE0000000FF000003FC0000001FE0000000FF000003FC0000001
-FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE0000000FF000003FC0
-000001FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE0000000FF000
-003FC0000001FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE000000
-0FF000003FC0000001FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE
-0000000FF000003FC0000001FE0000000FF000003FC0000001FE0000000FF000003FC000
-0001FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE0000000FF00000
-3FC0000001FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE0000000F
-F000003FC0000001FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE00
-00000FF000003FC0000001FE0000000FF000003FC0000001FE0000000FF000003FC00000
-01FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE0000000FF000003F
-C0000001FE0000000FF000003FC0000001FE0000000FF000003FC0000001FE0000000FF0
-00007FE0000003FF0000001FF80000FFF0000007FF8000003FFC00FFFFFFF007FFFFFF80
-3FFFFFFCFFFFFFF007FFFFFF803FFFFFFCFFFFFFF007FFFFFF803FFFFFFCFFFFFFF007FF
-FFFF803FFFFFFC663F7CBE6F>I<0003C0007FE000000007FFC003FFFC000000FFFFC00F
-FFFF000000FFFFC03F00FFC00000FFFFC078001FE00000FFFFC0F0000FF0000001FFC1C0
-0007F80000007FC3800007FC0000007FC7000003FC0000003FCE000003FE0000003FCE00
-0001FE0000003FDC000001FE0000003FD8000001FE0000003FF8000000FF0000003FF000
-0000FF0000003FF0000000FF0000003FF0000000FF0000003FE0000000FF0000003FE000
-0000FF0000003FE0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
-0000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC000
-0000FF0000003FC0000000FF0000003FC0000000FF0000007FE0000001FF800000FFF000
-0003FFC000FFFFFFF003FFFFFFC0FFFFFFF003FFFFFFC0FFFFFFF003FFFFFFC0FFFFFFF0
-03FFFFFFC0423F7DBE49>I<000000FF8000000000000FFFF800000000003FFFFE000000
-0000FF007F8000000003FC001FE000000007F00007F00000000FC00001F80000003F8000
-00FE0000007F0000007F0000007E0000003F000000FC0000001F800001F80000000FC000
-03F80000000FE00003F000000007E00007F000000007F0000FE000000003F8000FE00000
-0003F8001FE000000003FC001FC000000001FC001FC000000001FC003FC000000001FE00
-3FC000000001FE003FC000000001FE007F8000000000FF007F8000000000FF007F800000
-0000FF007F8000000000FF00FF8000000000FF80FF8000000000FF80FF8000000000FF80
-FF8000000000FF80FF8000000000FF80FF8000000000FF80FF8000000000FF80FF800000
-0000FF80FF8000000000FF80FF8000000000FF80FF8000000000FF80FF8000000000FF80
-7F8000000000FF007F8000000000FF007FC000000001FF007FC000000001FF003FC00000
-0001FE003FC000000001FE003FC000000001FE001FE000000003FC001FE000000003FC00
-1FE000000003FC000FF000000007F80007F000000007F00007F000000007F00003F80000
-000FE00001FC0000001FC00001FC0000001FC00000FE0000003F8000007F0000007F0000
-003F800000FE0000001FC00001FC0000000FF00007F800000003FC001FE000000000FF00
-7F80000000007FFFFF00000000000FFFF8000000000001FFC000000039417CBF42>I<00
-078003F80007FF800FFF00FFFF803FFFC0FFFF807C0FE0FFFF81F01FE0FFFF81E03FF001
-FF83803FF0007F87003FF0007F8F003FF0003F8E003FF0003F9C001FE0003F9C000FC000
-3F98000300003FB8000000003FB8000000003FB0000000003FF0000000003FF000000000
-3FE0000000003FE0000000003FE0000000003FE0000000003FE0000000003FC000000000
-3FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000000000
-3FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000000000
-3FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000000000
-3FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000000000
-3FC0000000003FC0000000003FC0000000003FC0000000003FC0000000003FC000000000
-3FC0000000003FC0000000003FC0000000007FE000000000FFF8000000FFFFFFFC0000FF
-FFFFFC0000FFFFFFFC0000FFFFFFFC00002C3F7CBE33>114 D<00003800000000003800
-000000003800000000003800000000003800000000003800000000003800000000007800
-00000000780000000000780000000000780000000000F80000000000F80000000000F800
-00000001F80000000001F80000000001F80000000003F80000000003F80000000007F800
-0000000FF8000000001FF8000000001FF8000000007FF800000000FFF800000003FFF800
-00000FFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF00FFFFFFFFFF000007F80000000007F800
-00000007F80000000007F80000000007F80000000007F80000000007F80000000007F800
-00000007F80000000007F80000000007F80000000007F80000000007F80000000007F800
-00000007F80000000007F80000000007F80000000007F80000000007F80000000007F800
-00000007F80000000007F80000000007F80000000007F80000000007F80000000007F800
-00000007F80000000007F80000000007F80000000007F80000000007F80000000007F800
-00000007F80000E00007F80000E00007F80000E00007F80000E00007F80000E00007F800
-00E00007F80000E00007F80000E00007F80000E00007F80000E00007F80000E00007F800
-00E00007F80000E00007F80000E00003FC0001C00003FC0001C00003FC0001C00003FC00
-03C00001FE0003800001FE0007800000FF00070000007F800F0000003FC01E0000001FF0
-7C0000000FFFF800000003FFE0000000007F80002B597FD733>116
-D<0003C00000000F000007FFC000001FFF0000FFFFC00003FFFF0000FFFFC00003FFFF00
-00FFFFC00003FFFF0000FFFFC00003FFFF000001FFC0000007FF0000007FC0000001FF00
-00007FC0000001FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF00
-00003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF00
-00003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF00
-00003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF00
-00003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF00
-00003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF00
-00003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF00
-00003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF00
-00003FC0000000FF0000003FC0000000FF0000003FC0000000FF0000003FC0000000FF00
-00003FC0000000FF0000003FC0000001FF0000003FC0000001FF0000003FC0000001FF00
-00003FC0000003FF0000003FC0000003FF0000003FC0000003FF0000003FC0000007FF00
-00001FC0000006FF0000001FE000000EFF0000001FE000001CFF0000000FE000001CFF00
-00000FF0000038FF80000007F0000070FF80000003F80001E0FFE0000001FE0003C0FFFF
-C00000FFC01F80FFFFC000003FFFFE00FFFFC000000FFFF800FFFFC0000000FFC000FF80
-0042407DBE49>I E end
-%%EndProlog
-%%BeginSetup
-%%Feature: *Resolution 600dpi
-TeXDict begin
-%%PaperSize: Letter
-
-%%EndSetup
-%%Page: 1 1
-1 0 bop 299 456 a Fw(Reference)44 b(Man)l(ual)h(of)e(the)g(Programming)
-g(Language)g(Lua)g(2.5)408 708 y Fv(Rob)s(erto)32 b(Ierusalimsc)m(h)m
-(y)98 b(Luiz)32 b(Henrique)i(de)f(Figueiredo)96 b(W)-8
-b(aldemar)31 b(Celes)1514 868 y Fu(lua@icad.puc-rio.)o(br)801
-1080 y Ft(T)-8 b(eC)945 1111 y(Graf)1152 1080 y Fv(|)32
-b(Departamen)m(to)g(de)h(Inform\023)-49 b(atica)31 b(|)h(PUC-Rio)1405
-1272 y Fu(Date:)42 b(1996/11/18)d(14:27:42)1767 1607
-y Fs(Abstract)227 1759 y Fr(Lua)e(is)f(an)h(extension)f(programming)f
-(language)g(designed)i(to)f(b)r(e)i(used)f(as)f(a)g(con\014guration)f
-(language)227 1859 y(for)28 b(an)n(y)f(program)f(that)i(needs)g(one.)38
-b(This)28 b(do)r(cumen)n(t)g(describ)r(es)f(v)n(ersion)g(2.5)g(of)h
-(the)g(Lua)g(programming)227 1958 y(language)21 b(and)i(the)g(API)g
-(that)g(allo)n(ws)e(in)n(teraction)h(b)r(et)n(w)n(een)h(Lua)f(programs)
-e(and)j(their)g(host)f(C)h(programs.)227 2058 y(The)28
-b(do)r(cumen)n(t)g(also)e(presen)n(ts)h(some)g(examples)g(of)g(using)h
-(the)g(main)f(features)g(of)h(the)g(system.)1845 2488
-y Fs(Sum)o(\023)-47 b(ario)227 2624 y Fr(Lua)21 b(\023)-39
-b(e)23 b(uma)g(linguagem)f(de)i(extens~)-42 b(ao)22 b(pro)5
-b(jetada)22 b(para)g(ser)h(usada)f(como)h(linguagem)f(de)i
-(con\014gura\030)-37 b(c~)-42 b(ao)21 b(em)227 2723 y(qualquer)26
-b(programa)d(que)k(precise)e(de)i(uma.)36 b(Este)26 b(do)r(cumen)n(to)g
-(descrev)n(e)f(a)h(v)n(ers~)-42 b(ao)25 b(2.5)g(da)h(linguagem)g(de)227
-2823 y(programa\030)-37 b(c~)-42 b(ao)22 b(Lua)j(e)h(a)f(In)n(terface)g
-(de)g(Programa\030)-37 b(c~)-42 b(ao)22 b(\(API\))k(que)f(p)r(ermite)h
-(a)f(in)n(tera\030)-37 b(c~)-42 b(ao)24 b(en)n(tre)h(programas)227
-2923 y(Lua)30 b(e)g(programas)d(C)j(hosp)r(edeiros.)43
-b(O)29 b(do)r(cumen)n(to)h(tam)n(b)n(\023)-39 b(em)29
-b(apresen)n(ta)f(alguns)i(exemplos)f(de)h(uso)f(das)227
-3022 y(principais)e(caracter)-9 b(\023)-32 b(\020sticas)24
-b(do)k(sistema.)0 3309 y Fq(1)135 b(In)l(tro)t(duction)0
-3512 y Fp(Lua)34 b(is)f(an)i(extension)f(programming)f(language)i
-(designed)e(to)i(supp)s(ort)d(general)j(pro)s(cedural)d(programming)0
-3625 y(features)i(with)f(data)h(description)e(facilities.)49
-b(It)34 b(is)f(in)m(tended)f(to)j(b)s(e)e(used)g(as)h(a)g
-(con\014guration)f(language)h(for)0 3737 y(an)m(y)42
-b(program)g(that)g(needs)f(one.)76 b(Lua)41 b(has)h(b)s(een)f(designed)
-f(and)h(implemen)m(ted)g(b)m(y)g(W.)i(Celes,)h(L.)e(H.)g(de)0
-3850 y(Figueiredo)29 b(and)h(R.)h(Ierusalimsc)m(h)m(y)-8
-b(.)141 3963 y(Lua)23 b(is)g(implemen)m(ted)e(as)j(a)g(library)-8
-b(,)23 b(written)f(in)g(C.)i(Being)f(an)g(extension)g(language,)j(Lua)d
-(has)g(no)g(notion)g(of)0 4076 y(a)g(\\main")g(program:)36
-b(it)23 b(only)e(w)m(orks)i Fo(emb)-5 b(e)g(dde)g(d)25
-b Fp(in)c(a)i(host)g(clien)m(t,)h(called)e(the)h Fo(emb)-5
-b(e)g(dding)24 b Fp(program.)38 b(This)21 b(host)0 4189
-y(program)30 b(can)g(in)m(v)m(ok)m(e)h(functions)e(to)i(execute)h(a)e
-(piece)g(of)g(co)s(de)h(in)e(Lua,)h(can)g(write)g(and)f(read)h(Lua)g(v)
--5 b(ariables,)0 4302 y(and)27 b(can)h(register)f(C)h(functions)e(to)i
-(b)s(e)f(called)g(b)m(y)h(Lua)f(co)s(de.)40 b(Through)26
-b(the)i(use)f(of)h(C)f(functions,)g(Lua)h(can)g(b)s(e)0
-4415 y(augmen)m(ted)d(to)f(cop)s(e)g(with)f(rather)g(di\013eren)m(t)h
-(domains,)g(th)m(us)f(creating)h(customized)g(programming)f(languages)0
-4528 y(sharing)29 b(a)i(syn)m(tactical)g(framew)m(ork.)141
-4641 y(Lua)22 b(is)f(free-distribution)d(soft)m(w)m(are,)25
-b(and)d(pro)m(vided)e(as)i(usual)e(with)h(no)h(guaran)m(tees.)39
-b(The)21 b(implemen)m(tation)0 4754 y(describ)s(ed)28
-b(in)h(this)h(man)m(ual)f(is)h(a)m(v)-5 b(ailable)29
-b(at)j(the)e(follo)m(wing)f(URL's:)143 4941 y Fn
-(http://www.inf.puc-rio.br)o(/~ro)o(ber)o(to/l)o(ua.h)o(tml)143
-5054 y(ftp://ftp.icad.puc-rio.br)o(/pub)o(/lu)o(a/lu)o(a.ta)o(r.g)o(z)
-1927 5589 y Fp(1)p eop
-%%Page: 2 2
-2 1 bop 0 91 a Fq(2)135 b(En)l(vironmen)l(t)46 b(and)e(Ch)l(unks)0
-294 y Fp(All)19 b(statemen)m(ts)k(in)c(Lua)h(are)h(executed)h(in)d(a)i
-Fo(glob)-5 b(al)25 b(envir)-5 b(onment)p Fp(.)39 b(This)19
-b(en)m(vironmen)m(t,)j(whic)m(h)e(k)m(eeps)h(all)f(global)0
-407 y(v)-5 b(ariables)26 b(and)h(functions,)g(is)g(initialized)d(at)29
-b(the)e(b)s(eginning)e(of)j(the)g(em)m(b)s(edding)e(program)h(and)g(p)s
-(ersists)f(un)m(til)0 520 y(its)k(end.)141 633 y(The)e(global)g(en)m
-(vironmen)m(t)g(can)h(b)s(e)f(manipulated)e(b)m(y)i(Lua)g(co)s(de)h(or)
-g(b)m(y)f(the)h(em)m(b)s(edding)d(program,)j(whic)m(h)0
-746 y(can)i(read)f(and)g(write)f(global)h(v)-5 b(ariables)29
-b(using)g(functions)g(in)g(the)h(library)e(that)j(implemen)m(ts)e(Lua.)
-141 859 y(Global)d(v)-5 b(ariables)26 b(do)h(not)h(need)e(declaration.)
-40 b(An)m(y)27 b(v)-5 b(ariable)26 b(is)g(assumed)g(to)i(b)s(e)f
-(global)f(unless)f(explicitly)0 972 y(declared)30 b(lo)s(cal)f(\(see)j
-(Section)e(4.4.5\).)43 b(Before)31 b(the)g(\014rst)e(assignmen)m(t,)i
-(the)f(v)-5 b(alue)30 b(of)h(a)g(global)e(v)-5 b(ariable)29
-b(is)h Fm(nil)p Fp(.)141 1085 y(The)g(unit)f(of)h(execution)h(of)g(Lua)
-f(is)f(called)h(a)g Fo(chunk)p Fp(.)41 b(The)30 b(syn)m(tax)2484
-1052 y Fl(1)2554 1085 y Fp(for)g(c)m(h)m(unks)g(is:)167
-1229 y Fo(chunk)100 b Fk(!)f(f)p Fo(statement)67 b Fk(j)33
-b Fo(function)7 b Fk(g)33 b Fp([)p Fo(r)-5 b(et)9 b Fp(])0
-1373 y(A)28 b(c)m(h)m(unk)g(ma)m(y)g(con)m(tain)h(statemen)m(ts)g(and)f
-(function)f(de\014nitions,)f(and)h(ma)m(y)i(b)s(e)e(in)g(a)h(\014le)f
-(or)h(in)f(a)h(string)f(inside)0 1486 y(the)g(host)f(program.)39
-b(A)27 b(c)m(h)m(unk)f(ma)m(y)h(optionally)d(ends)i(with)f(a)i(return)e
-(statemen)m(t)j(\(see)f(Section)g(4.4.3\).)41 b(When)0
-1599 y(a)c(c)m(h)m(unk)f(is)g(executed,)j(\014rst)d(all)f(its)h
-(functions)f(and)h(statemen)m(ts)i(are)f(compiled,)f(then)h(the)f
-(statemen)m(ts)j(are)0 1712 y(executed)c(in)e(sequen)m(tial)h(order.)53
-b(All)33 b(mo)s(di\014cations)f(a)j(c)m(h)m(unk)f(e\013ects)i(on)e(the)
-h(global)f(en)m(vironmen)m(t)g(p)s(ersist)0 1825 y(after)d(its)f(end.)
-40 b(Those)30 b(include)e(mo)s(di\014cations)h(to)i(global)e(v)-5
-b(ariables)29 b(and)h(de\014nitions)e(of)j(new)f(functions)3715
-1792 y Fl(2)3753 1825 y Fp(.)141 1938 y(Ch)m(unks)k(ma)m(y)i(b)s(e)f
-(pre-compiled;)h(see)g(program)f Fn(luac)f Fp(for)h(details.)55
-b(T)-8 b(ext)36 b(\014les)e(with)g(c)m(h)m(unks)h(and)g(their)0
-2051 y(binary)g(pre-compiled)f(forms)i(are)g(in)m(terc)m(hangeable.)59
-b(Lua)36 b(automatically)g(detects)i(the)e(\014le)g(t)m(yp)s(e)g(and)g
-(acts)0 2163 y(accordingly)-8 b(.)0 2450 y Fq(3)135 b(T)l(yp)t(es)0
-2653 y Fp(Lua)27 b(is)f(a)i(dynamically)d(t)m(yp)s(ed)i(language.)40
-b(V)-8 b(ariables)27 b(do)g(not)h(ha)m(v)m(e)g(t)m(yp)s(es;)h(only)d(v)
--5 b(alues)27 b(do.)39 b(All)26 b(v)-5 b(alues)27 b(carry)0
-2766 y(their)i(o)m(wn)i(t)m(yp)s(e.)41 b(Therefore,)30
-b(there)h(are)f(no)h(t)m(yp)s(e)f(de\014nitions)e(in)h(the)i(language.)
-141 2879 y(There)39 b(are)h(sev)m(en)f(basic)g(t)m(yp)s(es)g(in)f(Lua:)
-58 b Fo(nil)p Fp(,)42 b Fo(numb)-5 b(er)p Fp(,)42 b Fo(string)p
-Fp(,)h Fo(function)p Fp(,)e Fo(CF)-7 b(unction)p Fp(,)43
-b Fo(user)-5 b(data)p Fp(,)44 b(and)0 2992 y Fo(table)p
-Fp(.)d Fo(Nil)28 b Fp(is)h(the)g(t)m(yp)s(e)g(of)g(the)h(v)-5
-b(alue)28 b Fm(nil)p Fp(,)i(whose)f(main)f(prop)s(ert)m(y)g(is)g(to)i
-(b)s(e)e(di\013eren)m(t)h(from)f(an)m(y)i(other)f(v)-5
-b(alue.)0 3104 y Fo(Numb)g(er)30 b Fp(represen)m(ts)h(real)f
-(\(\015oating)g(p)s(oin)m(t\))g(n)m(um)m(b)s(ers,)f(while)g
-Fo(string)h Fp(has)g(the)h(usual)e(meaning.)141 3217
-y(F)-8 b(unctions)39 b(are)i(considered)d(\014rst-class)i(v)-5
-b(alues)39 b(in)f(Lua.)69 b(This)38 b(means)i(that)g(functions)f(can)h
-(b)s(e)f(stored)0 3330 y(in)33 b(v)-5 b(ariables,)34
-b(passed)g(as)h(argumen)m(ts)f(to)h(other)g(functions)e(and)g(returned)
-g(as)i(results.)51 b(When)34 b(a)h(function)e(is)0 3443
-y(de\014ned)28 b(in)h(Lua,)g(its)g(b)s(o)s(dy)f(is)h(compiled)f(and)h
-(stored)g(in)f(a)i(giv)m(en)g(v)-5 b(ariable.)39 b(Lua)29
-b(can)h(call)f(\(and)g(manipulate\))0 3556 y(functions)g(written)g(in)g
-(Lua)h(and)g(functions)f(written)h(in)f(C;)h(the)g(latter)h(ha)m(v)m(e)
-h(t)m(yp)s(e)e Fo(CF)-7 b(unction)7 b Fp(.)141 3669 y(The)35
-b(t)m(yp)s(e)g Fo(user)-5 b(data)37 b Fp(is)d(pro)m(vided)g(to)i(allo)m
-(w)e(arbitrary)g(C)h(p)s(oin)m(ters)e(to)j(b)s(e)f(stored)g(in)f(Lua)g
-(v)-5 b(ariables.)54 b(It)0 3782 y(corresp)s(onds)33
-b(to)j Fn(void*)d Fp(and)h(has)g(no)h(pre-de\014ned)e(op)s(erations)h
-(in)f(Lua,)j(b)s(esides)d(assignmen)m(t)h(and)g(equalit)m(y)0
-3895 y(test.)50 b(Ho)m(w)m(ev)m(er,)37 b(b)m(y)c(using)f(fallbac)m(ks,)
-h(the)h(programmer)f(ma)m(y)h(de\014ne)e(op)s(erations)h(for)g
-Fo(user)-5 b(data)35 b Fp(v)-5 b(alues;)34 b(see)0 4008
-y(Section)c(4.7.)141 4121 y(The)e(t)m(yp)s(e)g Fo(table)h
-Fp(implemen)m(ts)e(asso)s(ciativ)m(e)i(arra)m(ys,)g(that)g(is,)f(arra)m
-(ys)h(that)g(can)g(b)s(e)e(indexed)g(not)i(only)e(with)0
-4234 y(n)m(um)m(b)s(ers,)j(but)g(with)f(an)m(y)i(v)-5
-b(alue)31 b(\(except)h Fm(nil)p Fp(\).)42 b(Therefore,)31
-b(this)f(t)m(yp)s(e)h(ma)m(y)g(b)s(e)f(used)g(not)h(only)f(to)i
-(represen)m(t)0 4346 y(ordinary)c(arra)m(ys,)j(but)f(also)g(sym)m(b)s
-(ol)f(tables,)h(sets,)h(records,)f(etc.)42 b(T)-8 b(o)30
-b(represen)m(t)g(records,)g(Lua)g(uses)g(the)g(\014eld)0
-4459 y(name)38 b(as)h(an)f(index.)62 b(The)38 b(language)g(supp)s(orts)
-f(this)g(represen)m(tation)h(b)m(y)g(pro)m(viding)e Fn(a.name)h
-Fp(as)h(syn)m(tactic)0 4572 y(sugar)i(for)f Fn(a["name"])p
-Fp(.)67 b(T)-8 b(ables)40 b(ma)m(y)g(also)g(carry)g(metho)s(ds.)68
-b(Because)42 b(functions)c(are)j(\014rst)e(class)g(v)-5
-b(alues,)0 4685 y(table)33 b(\014elds)f(ma)m(y)i(con)m(tain)g
-(functions.)48 b(The)33 b(form)g Fn(t:f\(x\))e Fp(is)i(syn)m(tactic)h
-(sugar)f(for)h Fn(t.f\(t,x\))p Fp(,)e(whic)m(h)g(calls)0
-4798 y(the)f(metho)s(d)e Fn(f)h Fp(from)g(the)h(table)f
-Fn(t)g Fp(passing)f(itself)h(as)g(the)h(\014rst)e(parameter.)141
-4911 y(It)23 b(is)f(imp)s(ortan)m(t)h(to)g(notice)h(that)f(tables)g
-(are)h(ob)5 b(jects,)25 b(and)e(not)g(v)-5 b(alues.)38
-b(V)-8 b(ariables)22 b(cannot)i(con)m(tain)f(tables,)0
-5024 y(only)28 b(references)i(to)g(them.)41 b(Assignmen)m(t,)29
-b(parameter)h(passing)e(and)h(returns)f(alw)m(a)m(ys)i(manipulate)e
-(references)p 0 5103 1560 4 v 104 5157 a Fj(1)138 5189
-y Fi(As)e(usual,)g Fh(f)p Fg(a)6 b Fh(g)26 b Fi(means)g(0)g(or)g(more)f
-Fg(a)6 b Fi('s,)26 b([)p Fg(a)6 b Fi(])27 b(means)e(an)h(optional)g
-Fg(a)g Fi(and)f Fh(f)p Fg(a)6 b Fh(g)2439 5157 y Fj(+)2517
-5189 y Fi(means)25 b(one)h(or)g(more)f Fg(a)6 b Fi('s.)104
-5248 y Fj(2)138 5280 y Fi(Actually)-6 b(,)26 b(a)g(function)f
-(de\014nition)h(is)g(an)g(assignmen)n(t)f(to)h(a)g(global)h(v)l
-(ariable;)g(see)f(Section)g(3.)1927 5589 y Fp(2)p eop
-%%Page: 3 3
-3 2 bop 0 91 a Fp(to)35 b(tables,)g(and)e(do)h(not)h(imply)d(an)m(y)i
-(kind)e(of)j(cop)m(y)-8 b(.)53 b(Moreo)m(v)m(er,)37 b(tables)d(m)m(ust)
-g(b)s(e)f(explicitly)f(created)j(b)s(efore)0 204 y(used)30
-b(\(see)h(Section)f(4.5.7\).)0 489 y Fq(4)135 b(The)44
-b(Language)0 692 y Fp(This)29 b(section)h(describ)s(es)f(the)h(lexis,)g
-(the)g(syn)m(tax)h(and)f(the)g(seman)m(tics)h(of)g(Lua.)0
-934 y Ff(4.1)112 b(Lexical)37 b(Con)m(v)m(en)m(tions)0
-1105 y Fp(Lua)e(is)g(a)h(case)g(sensitiv)m(e)f(language.)56
-b(Iden)m(ti\014ers)34 b(can)i(b)s(e)f(an)m(y)h(string)e(of)i(letters,)h
-(digits,)f(and)f(underscores,)0 1218 y(not)c(b)s(eginning)c(with)i(a)i
-(digit.)40 b(The)29 b(follo)m(wing)g(w)m(ords)h(are)h(reserv)m(ed,)g
-(and)e(cannot)i(b)s(e)f(used)g(as)g(iden)m(ti\014ers:)286
-1397 y Fn(and)334 b(do)381 b(else)285 b(elseif)286 1510
-y(end)334 b(function)93 b(if)381 b(local)286 1623 y(nil)334
-b(not)f(or)381 b(repeat)286 1736 y(return)190 b(then)285
-b(until)237 b(while)141 1914 y Fp(The)30 b(follo)m(wing)f(strings)g
-(denote)i(other)g(tok)m(ens:)430 2093 y Fn(~=)94 b(<=)h(>=)g(<)143
-b(>)g(==)95 b(=)143 b(..)95 b(+)143 b(-)g(*)g(/)430 2206
-y(\045)f(\()h(\))g({)g(})g([)g(])g(;)g(,)g(.)141 2385
-y Fp(Literal)44 b(strings)f(can)h(b)s(e)g(delimited)e(b)m(y)i(matc)m
-(hing)h(single)e(or)h(double)f(quotes,)49 b(and)43 b(can)i(con)m(tain)g
-(the)0 2498 y(C-lik)m(e)35 b(escap)s(e)h(sequences)g
-Fn('\\n')p Fp(,)g Fn('\\t')e Fp(and)h Fn('\\r')p Fp(.)56
-b(Literal)34 b(strings)h(can)h(also)f(b)s(e)g(delimited)e(b)m(y)j(matc)
-m(hing)0 2610 y Fn([[)47 b(...)g(]])p Fp(.)38 b(Literals)21
-b(in)h(this)f(brac)m(k)m(eted)j(form)f(ma)m(y)g(run)e(for)i(sev)m(eral)
-g(lines,)f(ma)m(y)i(con)m(tain)f(nested)f Fn([[)48 b(...)f(]])0
-2723 y Fp(pairs,)29 b(and)h(do)g(not)h(in)m(terpret)f(escap)s(e)h
-(sequences.)141 2836 y(Commen)m(ts)f(start)g(an)m(ywhere)f(outside)g(a)
-h(string)e(with)h(a)h(double)e(h)m(yphen)g(\()p Fn(--)p
-Fp(\))h(and)g(run)f(un)m(til)g(the)i(end)f(of)0 2949
-y(the)i(line.)39 b(Moreo)m(v)m(er,)32 b(if)e(the)g(\014rst)g(line)f(of)
-h(a)h(c)m(h)m(unk)f(\014le)g(starts)g(with)f Fn(#)p Fp(,)i(this)e(line)
-g(is)g(skipp)s(ed)3289 2916 y Fl(3)3326 2949 y Fp(.)141
-3062 y(Numerical)35 b(constan)m(ts)j(ma)m(y)e(b)s(e)g(written)f(with)g
-(an)h(optional)g(decimal)f(part,)j(and)d(an)i(optional)e(decimal)0
-3175 y(exp)s(onen)m(t.)41 b(Examples)29 b(of)i(v)-5 b(alid)28
-b(n)m(umerical)h(constan)m(ts)j(are:)334 3354 y Fn(4)238
-b(4.0)g(0.4)g(4.57e-3)f(0.3e12)0 3595 y Ff(4.2)112 b(Co)s(ercion)0
-3767 y Fp(Lua)37 b(pro)m(vides)f(some)h(automatic)h(con)m(v)m(ersions.)
-60 b(An)m(y)37 b(arithmetic)g(op)s(eration)f(applied)f(to)j(a)f(string)
-f(tries)g(to)0 3880 y(con)m(v)m(ert)c(that)e(string)f(to)i(a)g(n)m(um)m
-(b)s(er,)e(follo)m(wing)f(the)j(usual)d(rules.)40 b(Con)m(v)m(ersely)-8
-b(,)30 b(whenev)m(er)g(a)h(n)m(um)m(b)s(er)e(is)g(used)0
-3993 y(when)g(a)i(string)e(is)h(exp)s(ected,)h(that)g(n)m(um)m(b)s(er)e
-(is)g(con)m(v)m(erted)j(to)f(a)g(string,)f(according)g(to)h(the)g
-(follo)m(wing)e(rule:)39 b(if)0 4106 y(the)26 b(n)m(um)m(b)s(er)e(is)h
-(an)g(in)m(teger,)i(it)e(is)g(written)g(without)f(exp)s(onen)m(t)i(or)f
-(decimal)g(p)s(oin)m(t;)h(otherwise,)h(it)e(is)f(formatted)0
-4219 y(follo)m(wing)29 b(the)h Fn(\045g)g Fp(con)m(v)m(ersion)h(sp)s
-(eci\014cation)e(of)i(the)f Fn(printf)f Fp(function)g(in)g(the)h
-(standard)g(C)g(library)-8 b(.)0 4460 y Ff(4.3)112 b(Adjustmen)m(t)0
-4632 y Fp(F)-8 b(unctions)28 b(in)f(Lua)h(can)g(return)f(man)m(y)i(v)-5
-b(alues.)39 b(Because)30 b(there)e(are)h(no)f(t)m(yp)s(e)g
-(declarations,)g(the)h(system)f(do)s(es)0 4745 y(not)36
-b(kno)m(w)f(ho)m(w)g(man)m(y)h(v)-5 b(alues)35 b(a)g(function)f(will)f
-(return,)j(or)f(ho)m(w)h(man)m(y)f(parameters)h(it)f(needs.)55
-b(Therefore,)0 4858 y(sometimes,)26 b(a)g(list)e(of)h(v)-5
-b(alues)24 b(m)m(ust)h(b)s(e)g Fo(adjuste)-5 b(d)9 b
-Fp(,)28 b(at)e(run)e(time,)i(to)g(a)f(giv)m(en)g(length.)39
-b(If)24 b(there)i(are)f(more)h(v)-5 b(alues)0 4971 y(than)33
-b(are)g(needed,)g(then)g(the)g(last)f(v)-5 b(alues)33
-b(are)g(thro)m(wn)f(a)m(w)m(a)m(y)-8 b(.)51 b(If)32 b(there)h(are)g
-(more)g(needs)g(than)f(v)-5 b(alues,)33 b(then)0 5084
-y(the)g(list)e(is)g(extended)h(with)f(as)i(man)m(y)g
-Fm(nil)p Fp('s)f(as)h(needed.)46 b(Adjustmen)m(t)32 b(o)s(ccurs)g(in)f
-(m)m(ultiple)f(assignmen)m(t)j(and)0 5197 y(function)c(calls.)p
-0 5254 1560 4 v 104 5308 a Fj(3)138 5340 y Fi(This)e(facilit)n(y)f
-(allo)n(ws)i(the)d(use)h(of)h(Lua)e(as)i(a)f(script)f(in)n(terpreter)h
-(in)f(Unix)g(systems.)1927 5589 y Fp(3)p eop
-%%Page: 4 4
-4 3 bop 0 91 a Ff(4.4)112 b(Statemen)m(ts)0 263 y Fp(Lua)35
-b(supp)s(orts)f(an)i(almost)f(con)m(v)m(en)m(tional)i(set)f(of)g
-(statemen)m(ts.)58 b(The)35 b(con)m(v)m(en)m(tional)i(commands)e
-(include)e(as-)0 376 y(signmen)m(t,)h(con)m(trol)h(structures)e(and)g
-(pro)s(cedure)g(calls.)50 b(Non-con)m(v)m(en)m(tional)35
-b(commands)f(include)e(table)h(con-)0 489 y(structors)d(\(Section)h
-(4.5.7\),)i(and)c(lo)s(cal)h(v)-5 b(ariable)29 b(declarations)h
-(\(Section)h(4.4.5\).)0 729 y Fm(4.4.1)105 b(Blo)s(c)m(ks)0
-901 y Fp(A)36 b(blo)s(c)m(k)g(is)f(a)h(list)f(of)h(statemen)m(ts,)k
-(whic)m(h)35 b(is)g(executed)i(sequen)m(tially)-8 b(.)57
-b(An)m(y)36 b(statemen)m(t)i(can)e(b)s(e)g(optionally)0
-1013 y(follo)m(w)m(ed)30 b(b)m(y)g(a)h(semicolon:)167
-1150 y Fo(blo)-5 b(ck)100 b Fk(!)g(f)p Fo(stat)34 b(sc)5
-b Fk(g)33 b Fp([)p Fo(r)-5 b(et)9 b Fp(])279 1263 y Fo(sc)99
-b Fk(!)h Fp([';'])0 1399 y(F)-8 b(or)38 b(syn)m(tactic)g(reasons,)h(a)e
-Fn(return)f Fp(statemen)m(t)i(can)g(only)e(b)s(e)g(written)g(as)i(the)f
-(last)g(statemen)m(t)i(of)e(a)g(blo)s(c)m(k.)0 1512 y(This)29
-b(restriction)g(also)h(a)m(v)m(oids)h(some)g(\\statemen)m(t)h(not)f
-(reac)m(hed")h(errors.)0 1752 y Fm(4.4.2)105 b(Assignmen)m(t)0
-1924 y Fp(The)34 b(language)g(allo)m(ws)f(m)m(ultiple)f(assignmen)m(t.)
-52 b(Therefore,)35 b(the)f(syn)m(tax)h(de\014nes)e(a)h(list)f(of)h(v)-5
-b(ariables)33 b(on)h(the)0 2037 y(left)i(side,)h(and)e(a)i(list)e(of)h
-(expressions)f(on)h(the)h(righ)m(t)e(side.)58 b(Both)36
-b(lists)f(ha)m(v)m(e)j(their)d(elemen)m(ts)h(separated)h(b)m(y)0
-2150 y(commas:)315 2268 y Fo(stat)100 b Fk(!)g Fo(varlist1)34
-b Fp('=')f Fo(explist1)167 2381 y(varlist1)101 b Fk(!)f
-Fo(var)33 b Fk(f)p Fp(',')h Fo(var)10 b Fk(g)0 2518 y
-Fp(This)27 b(statemen)m(t)k(\014rst)d(ev)-5 b(aluates)30
-b(all)e(v)-5 b(alues)28 b(on)h(the)g(righ)m(t)f(side)g(and)h(ev)m(en)m
-(tual)g(indices)e(on)i(the)g(left)g(side,)g(and)0 2631
-y(then)h(mak)m(es)h(the)g(assignmen)m(ts.)40 b(Therefore,)31
-b(it)f(can)g(b)s(e)g(used)g(to)h(exc)m(hange)h(t)m(w)m(o)f(v)-5
-b(alues,)30 b(as)h(in)143 2818 y Fn(x,)47 b(y)h(=)f(y,)g(x)0
-3006 y Fp(Before)f(the)f(assignmen)m(t,)k(the)c(list)e(of)i(v)-5
-b(alues)44 b(is)g Fo(adjuste)-5 b(d)47 b Fp(to)e(the)g(length)g(of)g
-(the)g(list)e(of)i(v)-5 b(ariables)44 b(\(see)0 3119
-y(Section)30 b(4.3\).)141 3232 y(A)h(single)e(name)h(can)h(denote)g(a)f
-(global)g(or)g(a)h(lo)s(cal)f(v)-5 b(ariable,)29 b(or)i(a)f(formal)g
-(parameter:)167 3376 y Fo(var)100 b Fk(!)g Fo(name)0
-3520 y Fp(Square)30 b(brac)m(k)m(ets)i(are)e(used)g(to)h(index)e(a)i
-(table:)167 3665 y Fo(var)100 b Fk(!)g Fo(var)33 b Fp('[')g
-Fo(exp1)h Fp(']')0 3809 y(If)i Fn(var)f Fp(results)g(in)f(a)j(table)f
-(v)-5 b(alue,)37 b(the)g(\014eld)d(indexed)h(b)m(y)h(the)g(expression)f
-(v)-5 b(alue)35 b(gets)j(the)e(assigned)f(v)-5 b(alue.)0
-3922 y(Otherwise,)41 b(the)e(fallbac)m(k)g Fo(settable)h
-Fp(is)e(called,)k(with)c(three)h(parameters:)59 b(the)40
-b(v)-5 b(alue)39 b(of)g Fn(var)p Fp(,)i(the)f(v)-5 b(alue)39
-b(of)0 4035 y(expression,)29 b(and)h(the)h(v)-5 b(alue)30
-b(b)s(eing)f(assigned)g(to)i(it;)f(see)h(Section)g(4.7.)141
-4148 y(The)f(syn)m(tax)h Fn(var.NAME)d Fp(is)h(just)h(syn)m(tactic)i
-(sugar)e(for)g Fn(var["NAME"])p Fp(.)167 4292 y Fo(var)100
-b Fk(!)g Fo(var)33 b Fp('.')43 b Fo(name)0 4563 y Fm(4.4.3)105
-b(Con)m(trol)35 b(Structures)0 4735 y Fp(The)30 b(condition)f
-(expression)h(of)h(a)g(con)m(trol)g(structure)f(can)h(return)e(an)m(y)i
-(v)-5 b(alue.)41 b(All)30 b(v)-5 b(alues)30 b(di\013eren)m(t)g(from)g
-Fm(nil)0 4848 y Fp(are)h(considered)e(true;)h Fm(nil)h
-Fp(is)e(considered)g(false.)41 b Fn(if)p Fp('s,)30 b
-Fn(while)p Fp('s)f(and)h Fn(repeat)p Fp('s)f(ha)m(v)m(e)i(the)g(usual)e
-(meaning.)223 4987 y Fo(stat)101 b Fk(!)e Fm(while)32
-b Fo(exp1)i Fm(do)f Fo(blo)-5 b(ck)33 b Fm(end)574 5099
-y Fk(j)65 b Fm(rep)s(eat)32 b Fo(blo)-5 b(ck)33 b Fm(un)m(til)f
-Fo(exp1)574 5212 y Fk(j)65 b Fm(if)32 b Fo(exp1)i Fm(then)e
-Fo(blo)-5 b(ck)33 b Fk(f)p Fo(elseif)20 b Fk(g)33 b Fp([)p
-Fm(else)f Fo(blo)-5 b(ck)10 b Fp(])34 b Fm(end)167 5325
-y Fo(elseif)100 b Fk(!)f Fm(elseif)33 b Fo(exp1)g Fm(then)g
-Fo(blo)-5 b(ck)1927 5589 y Fp(4)p eop
-%%Page: 5 5
-5 4 bop 141 204 a Fp(A)32 b Fn(return)e Fp(is)h(used)g(to)h(return)f(v)
--5 b(alues)31 b(from)g(a)h(function)f(or)g(a)h(c)m(h)m(unk.)45
-b(Because)33 b(they)f(ma)m(y)g(return)f(more)0 317 y(than)f(one)h(v)-5
-b(alue,)30 b(the)g(syn)m(tax)h(for)g(a)f(return)g(statemen)m(t)i(is:)
-167 461 y Fo(r)-5 b(et)101 b Fk(!)e Fm(return)32 b Fo(explist)i
-Fp([)p Fo(sc)5 b Fp(])0 846 y Fm(4.4.4)105 b(F)-9 b(unction)36
-b(Calls)f(as)f(Statemen)m(ts)0 1017 y Fp(Because)e(of)e(p)s(ossible)e
-(side-e\013ects,)k(function)d(calls)g(can)i(b)s(e)f(executed)h(as)f
-(statemen)m(ts:)167 1162 y Fo(stat)101 b Fk(!)e Fo(functionc)-5
-b(al)5 b(l)0 1306 y Fp(Ev)m(en)m(tual)31 b(returned)e(v)-5
-b(alues)29 b(are)i(thro)m(wn)f(a)m(w)m(a)m(y)-8 b(.)43
-b(F)-8 b(unction)30 b(calls)g(are)g(explained)f(in)g(Section)h(4.5.8.)0
-1546 y Fm(4.4.5)105 b(Lo)s(cal)36 b(Declarations)0 1718
-y Fp(Lo)s(cal)c(v)-5 b(ariables)31 b(can)h(b)s(e)g(declared)g(an)m
-(ywhere)g(inside)e(a)i(blo)s(c)m(k.)46 b(Their)30 b(scop)s(e)j(b)s
-(egins)d(after)j(the)f(declaration)0 1830 y(and)e(lasts)g(un)m(til)e
-(the)j(end)f(of)g(the)h(blo)s(c)m(k.)40 b(The)30 b(declaration)g(ma)m
-(y)h(include)d(an)i(initial)e(assignmen)m(t:)267 1967
-y Fo(stat)101 b Fk(!)e Fm(lo)s(cal)33 b Fo(de)-5 b(clist)34
-b Fp([)p Fo(init)9 b Fp(])167 2080 y Fo(de)-5 b(clist)101
-b Fk(!)e Fo(name)34 b Fk(f)p Fp(',')f Fo(name)7 b Fk(g)274
-2193 y Fo(init)100 b Fk(!)f Fp('=')33 b Fo(explist1)0
-2329 y Fp(If)h(presen)m(t,)h(an)f(initial)d(assignmen)m(t)j(has)g(the)g
-(same)h(seman)m(tics)f(of)g(a)h(m)m(ultiple)c(assignmen)m(t.)52
-b(Otherwise,)34 b(all)0 2442 y(v)-5 b(ariables)29 b(are)i(initialized)c
-(with)i Fm(nil)p Fp(.)0 2686 y Ff(4.5)112 b(Expressions)0
-2857 y Fm(4.5.1)105 b(Simple)35 b(Expressions)0 3029
-y Fp(Simple)28 b(expressions)h(are:)167 3165 y Fo(exp)100
-b Fk(!)g Fp('\(')33 b Fo(exp)g Fp('\)')167 3278 y Fo(exp)100
-b Fk(!)g Fm(nil)167 3391 y Fo(exp)g Fk(!)g Fp('n)m(um)m(b)s(er')167
-3504 y Fo(exp)g Fk(!)g Fp('literal')167 3617 y Fo(exp)g
-Fk(!)g Fo(var)0 3758 y Fp(Num)m(b)s(ers)44 b(\(n)m(umerical)g(constan)m
-(ts\))j(and)e(string)f(literals)f(are)j(explained)d(in)h(Section)h
-(4.1.)87 b(V)-8 b(ariables)45 b(are)0 3871 y(explained)29
-b(in)g(Section)h(4.4.2.)0 4111 y Fm(4.5.2)105 b(Arithmetic)34
-b(Op)s(erators)0 4283 y Fp(Lua)41 b(supp)s(orts)e(the)i(usual)f
-(arithmetic)g(op)s(erators.)73 b(These)41 b(op)s(erators)g(are)h(the)f
-(binary)e Fn(+)p Fp(,)44 b Fn(-)p Fp(,)f Fn(*)p Fp(,)h
-Fn(/)d Fp(and)f Fn(^)0 4396 y Fp(\(exp)s(onen)m(tiation\),)32
-b(and)g(the)g(unary)e Fn(-)p Fp(.)45 b(If)32 b(the)g(op)s(erands)e(are)
-i(n)m(um)m(b)s(ers,)f(or)h(strings)f(that)h(can)g(b)s(e)f(con)m(v)m
-(erted)0 4509 y(to)26 b(n)m(um)m(b)s(ers,)f(according)h(to)g(the)g
-(rules)e(giv)m(en)h(in)f(Section)h(4.2,)j(then)d(all)g(op)s(erations)f
-(but)h(exp)s(onen)m(tiation)g(ha)m(v)m(e)0 4622 y(the)33
-b(usual)e(meaning.)47 b(Otherwise,)33 b(the)g(fallbac)m(k)f(\\arith")h
-(is)f(called)g(\(see)h(Section)g(4.7\).)49 b(An)33 b(exp)s(onen)m
-(tiation)0 4735 y(alw)m(a)m(ys)39 b(calls)f(this)f(fallbac)m(k.)65
-b(The)38 b(standard)f(mathematical)i(library)d(rede\014nes)i(this)f
-(fallbac)m(k,)j(giving)e(the)0 4848 y(exp)s(ected)31
-b(meaning)e(to)j(exp)s(onen)m(tiation)d(\(see)j(Section)e(6.3\).)0
-5088 y Fm(4.5.3)105 b(Relational)35 b(Op)s(erators)0
-5259 y Fp(Lua)30 b(pro)m(vides)f(the)i(follo)m(wing)e(relational)g(op)s
-(erators:)1927 5589 y(5)p eop
-%%Page: 6 6
-6 5 bop 334 91 a Fn(<)143 b(>)g(<=)95 b(>=)g(~=)g(==)0
-279 y Fp(All)29 b(these)i(return)e Fm(nil)i Fp(as)f(false)g(and)g(a)h
-(v)-5 b(alue)30 b(di\013eren)m(t)f(from)h Fm(nil)h Fp(\(actually)f(the)
-h(n)m(um)m(b)s(er)e(1\))i(as)f(true.)141 392 y(Equalit)m(y)k(\014rst)f
-(compares)i(the)g(t)m(yp)s(es)f(of)h(its)e(op)s(erands.)52
-b(If)34 b(they)g(are)h(di\013eren)m(t,)g(then)f(the)h(result)e(is)h
-Fm(nil)p Fp(.)0 505 y(Otherwise,)25 b(their)g(v)-5 b(alues)24
-b(are)i(compared.)39 b(Num)m(b)s(ers)24 b(and)h(strings)f(are)i
-(compared)f(in)f(the)i(usual)e(w)m(a)m(y)-8 b(.)40 b(T)-8
-b(ables,)0 618 y(CF)g(unctions,)28 b(and)g(functions)e(are)j(compared)f
-(b)m(y)g(reference,)h(that)g(is,)f(t)m(w)m(o)i(tables)e(are)g
-(considered)f(equal)h(only)0 731 y(if)h(they)i(are)g(the)f(same)h
-(table.)41 b(The)29 b(op)s(erator)i Fn(~=)f Fp(is)f(exactly)i(the)g
-(negation)g(of)f(equalit)m(y)g(\()p Fn(==)p Fp(\).)141
-844 y(The)h(other)i(op)s(erators)f(w)m(ork)g(as)g(follo)m(ws.)44
-b(If)31 b(b)s(oth)h(argumen)m(ts)g(are)g(n)m(um)m(b)s(ers,)f(then)h
-(they)g(are)g(compared)0 956 y(as)c(suc)m(h.)39 b(Otherwise,)27
-b(if)f(b)s(oth)h(argumen)m(ts)g(can)h(b)s(e)f(con)m(v)m(erted)h(to)g
-(strings,)f(their)g(v)-5 b(alues)26 b(are)i(compared)f(using)0
-1069 y(lexicographical)i(order.)40 b(Otherwise,)29 b(the)i(\\order")g
-(fallbac)m(k)f(is)f(called)h(\(see)h(Section)f(4.7\).)0
-1309 y Fm(4.5.4)105 b(Logical)36 b(Op)s(erators)0 1481
-y Fp(Lik)m(e)g(con)m(trol)g(structures,)g(all)f(logical)g(op)s(erators)
-h(consider)f Fm(nil)h Fp(as)g(false)f(and)g(an)m(ything)g(else)h(as)g
-(true.)56 b(The)0 1594 y(logical)30 b(op)s(erators)g(are:)620
-1782 y Fn(and)143 b(or)f(not)0 1969 y Fp(The)31 b(op)s(erator)g
-Fn(and)f Fp(returns)g Fm(nil)i Fp(if)e(its)g(\014rst)h(argumen)m(t)g
-(is)f Fm(nil)p Fp(;)i(otherwise)f(it)g(returns)e(its)i(second)g
-(argumen)m(t.)0 2082 y(The)d(op)s(erator)h Fn(or)g Fp(returns)e(its)i
-(\014rst)f(argumen)m(t)h(if)f(it)g(is)g(di\013eren)m(t)g(from)h
-Fm(nil)p Fp(;)g(otherwise)g(it)f(returns)g(its)g(second)0
-2195 y(argumen)m(t.)40 b(Both)29 b Fn(and)e Fp(and)g
-Fn(or)g Fp(use)h(short-cut)g(ev)-5 b(aluation,)28 b(that)h(is,)e(the)h
-(second)g(op)s(erand)f(is)g(ev)-5 b(aluated)28 b(only)0
-2308 y(if)h(necessary)-8 b(.)0 2548 y Fm(4.5.5)105 b(Concatenation)0
-2720 y Fp(Lua)33 b(o\013ers)h(a)g(string)e(concatenation)j(op)s
-(erator,)g(denoted)f(b)m(y)f(\\)p Fn(..)p Fp(".)50 b(If)33
-b(op)s(erands)f(are)i(strings)f(or)g(n)m(um)m(b)s(ers,)0
-2833 y(then)j(they)g(are)h(con)m(v)m(erted)h(to)f(strings)e(according)h
-(to)h(the)f(rules)f(in)g(Section)h(4.2.)59 b(Otherwise,)37
-b(the)f(fallbac)m(k)0 2946 y(\\concat")d(is)c(called)h(\(see)h(Section)
-f(4.7\).)0 3186 y Fm(4.5.6)105 b(Precedence)0 3357 y
-Fp(Op)s(erator)30 b(precedence)h(follo)m(ws)e(the)i(table)f(b)s(elo)m
-(w,)g(from)g(the)g(lo)m(w)m(er)h(to)g(the)g(higher)e(priorit)m(y:)620
-3545 y Fn(and)143 b(or)620 3658 y(<)g(>)g(<=)95 b(>=)g(~=)g(==)620
-3771 y(..)620 3884 y(+)143 b(-)620 3997 y(*)g(/)620 4109
-y(not)95 b(-)48 b(\(unary\))620 4222 y(^)0 4410 y Fp(All)29
-b(binary)g(op)s(erators)h(are)h(left)f(asso)s(ciativ)m(e,)h(except)h
-(for)e Fn(^)g Fp(\(exp)s(onen)m(tiation\),)g(whic)m(h)g(is)f(righ)m(t)h
-(asso)s(ciativ)m(e.)0 4650 y Fm(4.5.7)105 b(T)-9 b(able)35
-b(Constructors)0 4822 y Fp(T)-8 b(able)30 b(constructors)g(are)g
-(expressions)f(that)i(create)g(tables;)f(ev)m(ery)h(time)f(a)g
-(constructor)g(is)g(ev)-5 b(aluated,)30 b(a)g(new)0 4935
-y(table)c(is)f(created.)41 b(Constructors)26 b(can)g(b)s(e)g(used)f(to)
-i(create)h(empt)m(y)f(tables,)g(or)f(to)h(create)h(a)f(table)f(and)g
-(initialize)0 5048 y(some)31 b(\014elds.)141 5160 y(The)f(general)g
-(syn)m(tax)h(for)f(constructors)h(is:)1927 5589 y(6)p
-eop
-%%Page: 7 7
-7 6 bop 167 79 a Fo(table)-5 b(c)g(onstructor)103 b Fk(!)c
-Fp(')p Fk(f)p Fp(')34 b Fo(\014eld)5 b(list)33 b Fp(')p
-Fk(g)p Fp(')506 192 y Fo(\014eld)5 b(list)101 b Fk(!)e
-Fo(l\014eld)5 b(list)66 b Fk(j)33 b Fo(\016eld)5 b(list)66
-b Fk(j)33 b Fo(l\014eld)5 b(list)33 b Fp(';')h Fo(\016eld)5
-b(list)483 305 y(l\014eld)g(list)101 b Fk(!)e Fp([)p
-Fo(l\014eld)5 b(list1)12 b Fp(])477 418 y Fo(\016eld)5
-b(list)101 b Fk(!)e Fp([)p Fo(\016eld)5 b(list1)12 b
-Fp(])141 604 y(The)30 b(form)g Fo(l\014eld)5 b(list1)32
-b Fp(is)d(used)h(to)h(initialize)c(lists.)167 748 y Fo(l\014eld)5
-b(list1)101 b Fk(!)f Fo(exp)33 b Fk(f)p Fp(',')h Fo(exp)6
-b Fk(g)33 b Fp([','])0 893 y(The)40 b(expressions)g(in)f(the)i(list)e
-(are)i(assigned)f(to)i(consecutiv)m(e)f(n)m(umerical)f(indexes,)i
-(starting)f(with)e(1.)72 b(F)-8 b(or)0 1006 y(example:)143
-1193 y Fn(a)48 b(=)f({"v1",)f("v2",)h(34})0 1381 y Fp(is)29
-b(roughly)g(equiv)-5 b(alen)m(t)30 b(to:)143 1568 y Fn(temp)47
-b(=)g({})143 1681 y(temp[1])f(=)h("v1")143 1794 y(temp[2])f(=)h("v2")
-143 1907 y(temp[3])f(=)h(34)143 2020 y(a)h(=)f(temp)141
-2208 y Fp(The)30 b(next)h(form)e(initializes)f(named)i(\014elds)f(in)g
-(a)i(table:)167 2326 y Fo(\016eld)5 b(list1)101 b Fk(!)f
-Fo(\016eld)33 b Fk(f)p Fp(',')h Fo(\016eld)9 b Fk(g)34
-b Fp([','])337 2439 y Fo(\016eld)100 b Fk(!)g Fo(name)33
-b Fp('=')g Fo(exp)0 2576 y Fp(F)-8 b(or)31 b(example:)143
-2763 y Fn(a)48 b(=)f({x)g(=)h(1,)f(y)g(=)h(3})0 2951
-y Fp(is)29 b(roughly)g(equiv)-5 b(alen)m(t)30 b(to:)143
-3139 y Fn(temp)47 b(=)g({})143 3252 y(temp.x)f(=)i(1)190
-b(--)48 b(or)f(temp["x"])e(=)i(1)143 3365 y(temp.y)f(=)i(3)190
-b(--)48 b(or)f(temp["y"])e(=)i(3)143 3477 y(a)h(=)f(temp)0
-3718 y Fm(4.5.8)105 b(F)-9 b(unction)36 b(Calls)0 3889
-y Fp(A)30 b(function)g(call)f(has)h(the)h(follo)m(wing)e(syn)m(tax:)167
-4033 y Fo(functionc)-5 b(al)5 b(l)101 b Fk(!)e Fo(var)34
-b(r)-5 b(e)g(alPar)g(ams)0 4178 y Fp(Here,)49 b Fn(var)44
-b Fp(can)h(b)s(e)f(an)m(y)h(v)-5 b(ariable)44 b(\(global,)k(lo)s(cal,)g
-(indexed,)f(etc\).)86 b(If)44 b(its)g(v)-5 b(alue)45
-b(has)f(t)m(yp)s(e)h Fo(function)52 b Fp(or)0 4291 y
-Fo(CF)-7 b(unction)7 b Fp(,)29 b(then)f(this)e(function)h(is)g(called.)
-39 b(Otherwise,)27 b(the)h(\\function")f(fallbac)m(k)h(is)f(called,)g
-(ha)m(ving)h(as)g(\014rst)0 4403 y(parameter)j(the)f(v)-5
-b(alue)30 b(of)h Fn(var)p Fp(,)f(and)f(then)h(the)h(original)d(call)i
-(parameters.)141 4516 y(The)g(form:)167 4661 y Fo(functionc)-5
-b(al)5 b(l)101 b Fk(!)e Fo(var)34 b Fp(':')42 b Fo(name)33
-b(r)-5 b(e)g(alPar)g(ams)0 4805 y Fp(can)31 b(b)s(e)e(used)h(to)h(call)
-f(\\metho)s(ds".)41 b(A)30 b(call)g Fn(var:name\(...\))d
-Fp(is)i(syn)m(tactic)i(sugar)g(for)95 4992 y Fn(var.name\(var,)45
-b(...\))1927 5589 y Fp(7)p eop
-%%Page: 8 8
-8 7 bop 0 91 a Fp(except)31 b(that)g Fn(var)f Fp(is)f(ev)-5
-b(aluated)31 b(only)e(once.)167 228 y Fo(r)-5 b(e)g(alPar)g(ams)103
-b Fk(!)d Fp('\(')33 b([)p Fo(explist1)12 b Fp(])35 b('\)')167
-341 y Fo(r)-5 b(e)g(alPar)g(ams)103 b Fk(!)d Fo(table)-5
-b(c)g(onstructor)312 453 y(explist1)101 b Fk(!)f Fo(exp1)33
-b Fk(f)p Fp(',')h Fo(exp1)12 b Fk(g)0 590 y Fp(All)35
-b(argumen)m(t)h(expressions)f(are)i(ev)-5 b(aluated)36
-b(b)s(efore)g(the)g(call;)j(then)d(the)g(list)f(of)h(argumen)m(ts)h(is)
-e(adjusted)g(to)0 703 y(the)40 b(length)g(of)h(the)f(list)f(of)h
-(parameters)h(\(see)g(Section)f(4.3\);)47 b(\014nally)-8
-b(,)41 b(this)f(list)e(is)i(assigned)f(to)i(the)g(formal)0
-816 y(parameters.)i(A)32 b(call)e(of)i(the)f(form)g Fn(f{...})e
-Fp(is)h(syn)m(tactic)i(sugar)f(for)g Fn(f\({...}\))p
-Fp(,)f(that)i(is,)e(the)i(parameter)f(list)0 929 y(is)e(a)i(single)e
-(new)h(table.)141 1042 y(Because)j(a)e(function)f(can)h(return)f(an)m
-(y)i(n)m(um)m(b)s(er)d(of)j(results)d(\(see)j(Section)f(4.4.3\),)j(the)
-d(n)m(um)m(b)s(er)f(of)h(results)0 1155 y(m)m(ust)c(b)s(e)g(adjusted)g
-(b)s(efore)g(used.)39 b(If)27 b(the)h(function)e(is)g(called)h(as)h(a)g
-(statemen)m(t)h(\(see)f(Section)g(4.4.4\),)i(its)d(return)0
-1268 y(list)37 b(is)g(adjusted)h(to)h(0.)65 b(If)38 b(the)g(function)f
-(is)h(called)f(in)g(a)i(place)f(that)h(needs)f(a)h(single)e(v)-5
-b(alue)38 b(\(syn)m(tactically)0 1380 y(denoted)d(b)m(y)f(the)h
-(non-terminal)e Fn(exp1)p Fp(\),)j(then)e(its)g(return)g(list)g(is)f
-(adjusted)h(to)i(1.)54 b(If)35 b(the)f(function)g(is)g(called)0
-1493 y(in)k(a)h(place)h(that)f(can)h(hold)e(man)m(y)h(v)-5
-b(alues)38 b(\(syn)m(tactically)i(denoted)f(b)m(y)g(the)h(non-terminal)
-d Fn(exp)p Fp(\),)k(then)e(no)0 1606 y(adjustmen)m(t)30
-b(is)g(made.)0 1850 y Ff(4.6)112 b(F)-9 b(unction)37
-b(De\014nitions)0 2021 y Fp(F)-8 b(unctions)31 b(in)g(Lua)g(can)h(b)s
-(e)g(de\014ned)e(an)m(ywhere)i(in)e(the)i(global)g(lev)m(el)f(of)h(a)g
-(c)m(h)m(unk.)45 b(The)31 b(syn)m(tax)i(for)e(function)0
-2134 y(de\014nition)d(is:)167 2278 y Fo(function)100
-b Fk(!)g Fm(function)33 b Fo(var)g Fp('\(')g([)p Fo(p)-5
-b(arlist1)12 b Fp(])36 b('\)')e Fo(blo)-5 b(ck)33 b Fm(end)141
-2536 y Fp(When)27 b(Lua)g(pre-compiles)f(a)i(c)m(h)m(unk,)g(all)e(its)h
-(function)f(b)s(o)s(dies)f(are)j(pre-compiled,)e(to)s(o.)41
-b(Then,)27 b(when)f(Lua)0 2649 y(\\executes")33 b(the)d(function)f
-(de\014nition,)f(its)i(b)s(o)s(dy)f(is)g(stored,)i(with)e(t)m(yp)s(e)i
-Fo(function)p Fp(,)g(in)m(to)f(the)g(v)-5 b(ariable)30
-b Fn(var)p Fp(.)141 2761 y(P)m(arameters)i(act)f(as)g(lo)s(cal)e(v)-5
-b(ariables,)30 b(initialized)d(with)i(the)i(argumen)m(t)f(v)-5
-b(alues.)167 2906 y Fo(p)g(arlist1)102 b Fk(!)e Fo(name)33
-b Fk(f)p Fp(',')h Fo(name)7 b Fk(g)141 3163 y Fp(Results)28
-b(are)i(returned)e(using)g(the)h Fn(return)f Fp(statemen)m(t)j(\(see)f
-(Section)f(4.4.3\).)43 b(If)28 b(con)m(trol)i(reac)m(hes)g(the)g(end)0
-3276 y(of)h(a)f(function)f(without)h(a)g(return)g(instruction,)e(then)i
-(the)h(function)e(returns)g(with)g(no)i(results.)141
-3389 y(There)e(is)g(a)h(sp)s(ecial)e(syn)m(tax)i(for)g(de\014ning)e
-(metho)s(ds,)h(that)h(is,)f(functions)f(that)j(ha)m(v)m(e)g(an)e(extra)
-h(parameter)0 3502 y Fo(self)p Fp(.)167 3646 y Fo(function)100
-b Fk(!)g Fm(function)33 b Fo(var)g Fp(':')43 b Fo(name)33
-b Fp('\(')g([)p Fo(p)-5 b(arlist1)12 b Fp(])36 b('\)')d
-Fo(blo)-5 b(ck)33 b Fm(end)0 3790 y Fp(Th)m(us,)d(a)g(declaration)g
-(lik)m(e)0 3978 y Fn(function)46 b(v:f)g(\(...\))95 4091
-y(...)0 4203 y(end)0 4391 y Fp(is)29 b(equiv)-5 b(alen)m(t)30
-b(to)0 4579 y Fn(function)46 b(v.f)g(\(self,)h(...\))95
-4692 y(...)0 4804 y(end)0 4992 y Fp(that)33 b(is,)f(the)h(function)e
-(gets)i(an)g(extra)g(formal)f(parameter)g(called)g Fn(self)p
-Fp(.)46 b(Notice)33 b(that)g(the)g(v)-5 b(ariable)31
-b Fn(v)h Fp(m)m(ust)0 5105 y(ha)m(v)m(e)g(b)s(een)d(previously)f
-(initialized)g(with)h(a)h(table)h(v)-5 b(alue.)1927 5589
-y(8)p eop
-%%Page: 9 9
-9 8 bop 0 91 a Ff(4.7)112 b(F)-9 b(allbac)m(ks)0 263
-y Fp(Lua)33 b(pro)m(vides)g(a)h(p)s(o)m(w)m(erful)e(mec)m(hanism)h(to)i
-(extend)f(its)f(seman)m(tics,)i(called)e Fo(fal)5 b(lb)-5
-b(acks)p Fp(.)51 b(A)34 b(fallbac)m(k)f(is)g(a)h(pro-)0
-376 y(grammer)c(de\014ned)f(function)h(that)h(is)e(called)g(whenev)m
-(er)i(Lua)f(do)s(es)g(not)g(kno)m(w)h(ho)m(w)f(to)h(pro)s(ceed.)141
-489 y(Lua)f(supp)s(orts)f(the)h(follo)m(wing)f(fallbac)m(ks,)h(iden)m
-(ti\014ed)f(b)m(y)h(the)g(giv)m(en)h(strings:)0 652 y
-Fm(\\arith":)45 b Fp(called)31 b(when)g(an)i(arithmetic)e(op)s(eration)
-h(is)f(applied)f(to)j(non)f(n)m(umerical)f(op)s(erands,)g(or)h(when)g
-(the)227 765 y(binary)f Fn(^)h Fp(op)s(eration)g(is)g(called.)47
-b(It)32 b(receiv)m(es)i(three)e(argumen)m(ts:)46 b(the)33
-b(t)m(w)m(o)h(op)s(erands)d(\(the)i(second)g(one)227
-878 y(is)40 b(nil)f(when)h(the)h(op)s(eration)g(is)f(unary)g(min)m
-(us\))f(and)h(one)i(of)f(the)g(follo)m(wing)e(strings)h(describing)f
-(the)227 991 y(o\013ended)30 b(op)s(erator:)323 1186
-y Fn(add)94 b(sub)h(mul)g(div)f(pow)h(unm)227 1381 y
-Fp(Its)31 b(return)f(v)-5 b(alue)30 b(is)g(the)h(\014nal)f(result)g(of)
-h(the)g(arithmetic)f(op)s(eration.)42 b(The)30 b(default)g(handler)f
-(issues)h(an)227 1494 y(error.)0 1672 y Fm(\\order":)45
-b Fp(called)29 b(when)e(an)i(order)g(comparison)f(is)g(applied)e(to)k
-(non)e(n)m(umerical)g(or)h(non)f(string)g(op)s(erands.)39
-b(It)227 1785 y(receiv)m(es)e(three)f(argumen)m(ts:)51
-b(the)36 b(t)m(w)m(o)h(op)s(erands)e(and)g(one)h(of)g(the)g(follo)m
-(wing)e(strings)g(describing)g(the)227 1898 y(o\013ended)c(op)s
-(erator:)323 2093 y Fn(lt)47 b(gt)g(le)g(ge)227 2289
-y Fp(Its)28 b(return)f(v)-5 b(alue)28 b(is)f(the)i(\014nal)d(result)h
-(of)i(the)f(comparison)f(op)s(eration.)40 b(The)28 b(default)f(handler)
-f(issues)h(an)227 2402 y(error.)0 2580 y Fm(\\concat":)46
-b Fp(called)40 b(when)g(a)i(concatenation)g(is)e(applied)f(to)j(non)f
-(string)f(op)s(erands.)71 b(It)41 b(receiv)m(es)h(the)g(t)m(w)m(o)227
-2693 y(op)s(erands)36 b(as)i(argumen)m(ts.)61 b(Its)37
-b(return)g(v)-5 b(alue)36 b(is)g(the)i(\014nal)e(result)g(of)h(the)h
-(concatenation)g(op)s(eration.)227 2805 y(The)30 b(default)g(handler)e
-(issues)h(an)i(error.)0 2983 y Fm(\\index":)45 b Fp(called)27
-b(when)g(Lua)g(tries)g(to)i(retriev)m(e)f(the)g(v)-5
-b(alue)27 b(of)h(an)f(index)g(not)h(presen)m(t)f(in)g(a)h(table.)39
-b(It)28 b(receiv)m(es)227 3096 y(as)41 b(argumen)m(ts)f(the)g(table)g
-(and)g(the)g(index.)68 b(Its)40 b(return)f(v)-5 b(alue)40
-b(is)f(the)h(\014nal)f(result)g(of)h(the)g(indexing)227
-3209 y(op)s(eration.)g(The)30 b(default)g(handler)e(returns)i(nil.)0
-3387 y Fm(\\getglobal":)45 b Fp(called)28 b(when)g(Lua)g(tries)g(to)h
-(retriev)m(e)g(the)f(v)-5 b(alue)28 b(of)h(a)g(global)f(v)-5
-b(ariable)27 b(whic)m(h)g(has)h(a)h(nil)d(v)-5 b(alue)227
-3500 y(\(or)39 b(whic)m(h)e(has)g(not)i(b)s(een)e(initialized\).)61
-b(It)38 b(receiv)m(es)h(as)g(argumen)m(t)f(the)h(name)f(of)g(the)g(v)-5
-b(ariable.)63 b(Its)227 3613 y(return)30 b(v)-5 b(alue)29
-b(is)h(the)g(\014nal)f(result)h(of)g(the)h(expression.)39
-b(The)30 b(default)g(handler)e(returns)h(nil.)0 3790
-y Fm(\\gettable":)44 b Fp(called)34 b(when)g(Lua)g(tries)g(to)h(index)f
-(a)h(non)f(table)g(v)-5 b(alue.)53 b(It)35 b(receiv)m(es)g(as)g
-(argumen)m(ts)g(the)g(non)227 3903 y(table)d(v)-5 b(alue)31
-b(and)f(the)i(index.)42 b(Its)32 b(return)e(v)-5 b(alue)31
-b(is)g(the)g(\014nal)f(result)h(of)g(the)h(indexing)d(op)s(eration.)43
-b(The)227 4016 y(default)30 b(handler)e(issues)h(an)i(error.)0
-4194 y Fm(\\settable":)44 b Fp(called)34 b(when)e(Lua)i(tries)f(to)i
-(assign)e(indexed)g(a)h(non)f(table)h(v)-5 b(alue.)51
-b(It)34 b(receiv)m(es)g(as)h(argumen)m(ts)227 4307 y(the)c(non)f(table)
-g(v)-5 b(alue,)30 b(the)h(index,)e(and)h(the)g(assigned)g(v)-5
-b(alue.)40 b(The)30 b(default)f(handler)g(issues)g(an)h(error.)0
-4485 y Fm(\\function":)46 b Fp(called)30 b(when)g(Lua)h(tries)g(to)h
-(call)e(a)i(non)e(function)g(v)-5 b(alue.)43 b(It)31
-b(receiv)m(es)h(as)g(argumen)m(ts)f(the)h(non)227 4598
-y(function)k(v)-5 b(alue)36 b(and)h(the)g(argumen)m(ts)g(giv)m(en)g(in)
-f(the)h(original)e(call.)60 b(Its)37 b(return)f(v)-5
-b(alues)36 b(are)h(the)g(\014nal)227 4711 y(results)29
-b(of)i(the)g(call)e(op)s(eration.)40 b(The)30 b(default)g(handler)e
-(issues)h(an)i(error.)0 4888 y Fm(\\gc":)46 b Fp(called)35
-b(during)g(garbage)i(collection.)59 b(It)37 b(receiv)m(es)g(as)f
-(argumen)m(t)h(the)g(table)f(b)s(eing)f(collected.)60
-b(After)227 5001 y(eac)m(h)42 b(run)d(of)i(the)g(collector)g(this)e
-(function)h(is)f(called)h(with)f(argumen)m(t)i(nil.)70
-b(Because)42 b(this)d(function)227 5114 y(op)s(erates)28
-b(during)e(garbage)i(collection,)g(it)f(m)m(ust)h(b)s(e)e(used)h(with)f
-(great)j(care,)g(and)e(programmers)g(should)227 5227
-y(a)m(v)m(oid)39 b(the)f(creation)g(of)g(new)g(ob)5 b(jects)38
-b(\(tables)h(or)e(strings\))h(in)e(this)h(function.)62
-b(The)38 b(default)f(handler)227 5340 y(do)s(es)30 b(nothing.)1927
-5589 y(9)p eop
-%%Page: 10 10
-10 9 bop 0 91 a Fm(\\error":)45 b Fp(called)32 b(when)g(an)g(error)g(o)
-s(ccurs.)47 b(It)33 b(receiv)m(es)g(as)g(argumen)m(t)g(a)g(string)f
-(describing)e(the)j(error.)46 b(The)227 204 y(default)30
-b(handler)e(prin)m(ts)h(the)i(message)g(on)g(the)f(standard)g(error)g
-(output.)141 392 y(The)f(function)f Fn(setfallback)e
-Fp(is)j(used)f(to)i(c)m(hange)h(a)f(fallbac)m(k)f(handler.)38
-b(Its)29 b(\014rst)g(argumen)m(t)h(is)e(the)i(name)0
-505 y(of)k(a)h(fallbac)m(k)e(condition,)h(and)f(the)h(second)g(argumen)
-m(t)h(is)e(the)h(new)f(function)g(to)i(b)s(e)e(called.)51
-b(It)34 b(returns)f(the)0 618 y(old)d(handler)e(function)h(for)h(the)h
-(giv)m(en)f(fallbac)m(k.)141 731 y(Section)g(8.6)i(sho)m(ws)e(an)g
-(example)g(of)h(the)f(use)g(of)h(fallbac)m(ks.)0 974
-y Ff(4.8)112 b(Error)37 b(Handling)0 1146 y Fp(Because)g(Lua)e(is)g(an)
-g(extension)h(language,)h(all)e(Lua)g(actions)h(start)g(from)f(C)g(co)s
-(de)h(calling)e(a)i(function)e(from)0 1259 y(the)48 b(Lua)f(library)-8
-b(.)90 b(Whenev)m(er)48 b(an)f(error)g(o)s(ccurs)g(during)e(Lua)j
-(compilation)e(or)h(execution,)52 b(an)47 b(\\error")0
-1371 y(fallbac)m(k)42 b(function)f(is)h(called,)i(and)e(then)g(the)h
-(corresp)s(onding)d(function)i(from)f(the)i(library)d(\()p
-Fn(lua_dofile)p Fp(,)0 1484 y Fn(lua_dostring)p Fp(,)27
-b Fn(lua_call)p Fp(,)i(or)h Fn(lua_callfunction)p Fp(\))c(is)k
-(terminated)g(returning)e(an)i(error)g(condition.)141
-1597 y(The)22 b(only)g(argumen)m(t)g(to)i(the)e(\\error")h(fallbac)m(k)
-f(function)f(is)g(a)i(string)f(describing)e(the)i(error.)38
-b(The)22 b(standard)0 1710 y(I/O)29 b(library)e(rede\014nes)h(this)g
-(fallbac)m(k,)h(using)e(the)i(debug)g(facilities)e(\(see)j(Section)f
-(7\),)h(in)e(order)g(to)i(prin)m(t)e(some)0 1823 y(extra)33
-b(information,)e(lik)m(e)g(the)i(call)e(stac)m(k.)48
-b(F)-8 b(or)33 b(more)f(information)e(ab)s(out)i(an)g(error,)h(the)f
-(Lua)g(program)g(can)0 1936 y(include)e(the)i(compilation)f(pragma)i
-Fn($debug)p Fp(.)90 b(This)31 b(pragma)h(m)m(ust)g(b)s(e)g(written)f
-(in)g(a)h(line)f(b)m(y)h(itself.)45 b(When)0 2049 y(an)32
-b(error)f(o)s(ccurs)h(in)e(a)i(program)g(compiled)e(with)h(this)g
-(option,)g(the)h(error)g(routine)f(is)g(able)g(to)i(prin)m(t)d(also)i
-(the)0 2162 y(lines)37 b(where)h(the)h(calls)f(\(and)g(the)h(error\))g
-(w)m(ere)g(made.)66 b(If)38 b(needed,)j(it)d(is)g(p)s(ossible)e(to)k(c)
-m(hange)g(the)e(\\error")0 2275 y(fallbac)m(k)30 b(handler)e(\(see)k
-(Section)e(4.7\).)141 2388 y(Lua)23 b(co)s(de)h(can)g(explicitly)d
-(generate)k(an)e(error)g(b)m(y)g(calling)f(the)i(built-in)c(function)j
-Fn(error)f Fp(\(see)i(Section)f(6.1\).)0 2674 y Fq(5)135
-b(The)44 b(Application)i(Program)f(In)l(terface)0 2877
-y Fp(This)24 b(section)j(describ)s(es)d(the)j(API)f(for)g(Lua,)h(that)g
-(is,)f(the)h(set)g(of)f(C)g(functions)f(a)m(v)-5 b(ailable)25
-b(to)i(the)g(host)f(program)0 2990 y(to)31 b(comm)m(unicate)g(with)e
-(the)i(library)-8 b(.)39 b(The)29 b(API)i(functions)d(can)j(b)s(e)f
-(classi\014ed)f(in)g(the)h(follo)m(wing)f(categories:)111
-3178 y(1.)46 b(executing)31 b(Lua)f(co)s(de;)111 3365
-y(2.)46 b(con)m(v)m(erting)31 b(v)-5 b(alues)30 b(b)s(et)m(w)m(een)h(C)
-f(and)g(Lua;)111 3553 y(3.)46 b(manipulating)28 b(\(reading)i(and)f
-(writing\))g(Lua)h(ob)5 b(jects;)111 3740 y(4.)46 b(calling)29
-b(Lua)h(functions;)111 3928 y(5.)46 b(C)30 b(functions)f(to)i(b)s(e)f
-(called)g(b)m(y)g(Lua;)111 4116 y(6.)46 b(references)31
-b(to)g(Lua)f(Ob)5 b(jects.)0 4303 y(All)29 b(API)h(functions)f(are)i
-(declared)f(in)f(the)h(header)h(\014le)e Fn(lua.h)p Fp(.)0
-4547 y Ff(5.1)112 b(Executing)37 b(Lua)h(Co)s(de)0 4718
-y Fp(A)23 b(host)h(program)f(can)h(execute)g(Lua)f(c)m(h)m(unks)g
-(written)g(in)f(a)h(\014le)g(or)g(in)f(a)i(string,)g(using)e(the)h
-(follo)m(wing)f(functions:)0 5019 y Fn(int)47 b(lua_dofile)140
-b(\(char)47 b(*filename\);)0 5132 y(int)g(lua_dostring)d(\(char)j
-(*string\);)1905 5589 y Fp(10)p eop
-%%Page: 11 11
-11 10 bop 0 91 a Fp(Both)29 b(functions)e(return)h(an)g(error)g(co)s
-(de:)40 b(0,)30 b(in)d(case)j(of)e(success;)i(non)e(zero,)i(in)d(case)j
-(of)e(errors.)40 b(More)29 b(sp)s(eci\014-)0 204 y(cally)-8
-b(,)30 b Fn(lua_dofile)d Fp(returns)i(2)h(if)f(for)h(an)m(y)g(reason)g
-(it)g(could)f(not)h(op)s(en)f(the)i(\014le.)39 b(The)30
-b(function)e Fn(lua_dofile)p Fp(,)0 317 y(if)h(called)g(with)g(argumen)
-m(t)i Fn(NULL)e Fp(\(0\),)i(executes)h(the)e Fn(stdin)f
-Fp(stream.)41 b(F)-8 b(unction)30 b Fn(lua_dofile)d Fp(is)i(also)h
-(able)g(to)0 430 y(execute)h(pre-compiled)d(c)m(h)m(unks.)40
-b(It)30 b(automatically)f(detects)i(whether)e(the)h(\014le)f(is)f(text)
-j(or)f(binary)-8 b(,)28 b(and)h(loads)0 543 y(it)h(accordingly)f(\(see)
-j(program)e Fn(luac)p Fp(\).)0 786 y Ff(5.2)112 b(Con)m(v)m(erting)37
-b(V)-9 b(alues)37 b(b)s(et)m(w)m(een)g(C)h(and)g(Lua)0
-958 y Fp(Because)25 b(Lua)e(has)g(no)h(static)g(t)m(yp)s(e)g(system,)h
-(all)e(v)-5 b(alues)22 b(passed)h(b)s(et)m(w)m(een)i(Lua)e(and)g(C)g
-(ha)m(v)m(e)i(t)m(yp)s(e)e Fn(lua_Object)p Fp(,)0 1071
-y(whic)m(h)e(w)m(orks)h(lik)m(e)f(an)h(abstract)g(t)m(yp)s(e)h(in)d(C)i
-(that)g(can)h(hold)d(an)m(y)i(Lua)g(v)-5 b(alue.)37 b(V)-8
-b(alues)22 b(of)g(t)m(yp)s(e)h Fn(lua_Object)c Fp(ha)m(v)m(e)0
-1184 y(no)30 b(meaning)g(outside)g(Lua;)g(for)g(instance,)g(the)h
-(comparisson)e(of)i(t)m(w)m(o)h Fn(lua_Object's)27 b
-Fp(is)i(of)i(no)f(signi\014cance.)141 1297 y(Because)j(Lua)f(has)f
-(automatic)i(memory)f(managemen)m(t)h(and)e(garbage)i(collection,)f(a)g
-Fn(lua_Object)d Fp(has)j(a)0 1410 y(limited)i(scop)s(e,)k(and)e(is)f
-(only)g(v)-5 b(alid)35 b(inside)f(the)i Fo(blo)-5 b(ck)47
-b Fp(where)36 b(it)g(w)m(as)g(created.)60 b(A)36 b(C)g(function)f
-(called)g(from)0 1523 y(Lua)30 b(is)f(a)h(blo)s(c)m(k,)g(and)f(its)h
-(parameters)g(are)g(v)-5 b(alid)29 b(only)g(un)m(til)f(its)h(end.)40
-b(A)30 b(go)s(o)s(d)g(programming)f(practice)h(is)f(to)0
-1635 y(con)m(v)m(ert)35 b(Lua)d(ob)5 b(jects)34 b(to)g(C)e(v)-5
-b(alues)33 b(as)g(so)s(on)g(as)g(they)g(are)h(a)m(v)-5
-b(ailable,)33 b(and)f(nev)m(er)i(to)g(store)f Fn(lua_Object)p
-Fp(s)d(in)0 1748 y(C)g(global)g(v)-5 b(ariables.)141
-1861 y(When)26 b(C)f(co)s(de)h(calls)f(Lua)h(rep)s(eatedly)-8
-b(,)27 b(as)f(in)f(a)h(lo)s(op,)g(ob)5 b(jects)27 b(returned)d(b)m(y)i
-(these)h(calls)e(accum)m(ulate,)j(and)0 1974 y(ma)m(y)j(create)h(a)f
-(memory)f(problem.)39 b(T)-8 b(o)31 b(a)m(v)m(oid)g(this,)e(nested)i
-(blo)s(c)m(ks)e(can)i(b)s(e)f(de\014ned)f(with)g(the)i(functions:)0
-2162 y Fn(void)524 b(lua_beginblock)d(\(void\);)0 2275
-y(void)j(lua_endblock)617 b(\(void\);)0 2462 y Fp(After)31
-b(the)f(end)g(of)g(the)h(blo)s(c)m(k,)f(all)f Fn(lua_Object)p
-Fp('s)f(created)k(inside)c(it)i(are)g(released.)141 2575
-y(T)-8 b(o)31 b(c)m(hec)m(k)h(the)e(t)m(yp)s(e)h(of)g(a)f
-Fn(lua_Object)p Fp(,)e(the)j(follo)m(wing)e(function)g(is)g(a)m(v)-5
-b(ailable:)0 2763 y Fn(int)572 b(lua_type)809 b(\(lua_Object)45
-b(object\);)0 2951 y Fp(plus)28 b(the)j(follo)m(wing)e(macros)i(and)e
-(functions:)0 3138 y Fn(int)572 b(lua_isnil)761 b(\(lua_Object)45
-b(object\);)0 3251 y(int)572 b(lua_isnumber)617 b(\(lua_Object)45
-b(object\);)0 3364 y(int)572 b(lua_isstring)617 b(\(lua_Object)45
-b(object\);)0 3477 y(int)572 b(lua_istable)665 b(\(lua_Object)45
-b(object\);)0 3590 y(int)572 b(lua_isfunction)521 b(\(lua_Object)45
-b(object\);)0 3703 y(int)572 b(lua_iscfunction)473 b(\(lua_Object)45
-b(object\);)0 3816 y(int)572 b(lua_isuserdata)521 b(\(lua_Object)45
-b(object\);)0 4003 y Fp(All)28 b(macros)h(return)g(1)g(if)f(the)i(ob)5
-b(ject)30 b(is)e(compatible)g(with)g(the)i(giv)m(en)f(t)m(yp)s(e,)h
-(and)e(0)i(otherwise.)40 b(The)28 b(function)0 4116 y
-Fn(lua_isnumber)c Fp(accepts)k(n)m(um)m(b)s(ers)e(and)h(n)m(umerical)e
-(strings,)i Fn(lua_isstring)d Fp(accepts)29 b(strings)d(and)g(n)m(um)m
-(b)s(ers)0 4229 y(\(see)33 b(Section)f(4.2\),)i(and)d
-Fn(lua_isfunction)d Fp(accepts)33 b(Lua)f(and)f(C)h(functions.)44
-b(The)31 b(function)g Fn(lua_type)f Fp(can)0 4342 y(b)s(e)g(used)f(to)i
-(distinguish)c(b)s(et)m(w)m(een)k(di\013eren)m(t)f(kinds)e(of)j(user)e
-(data.)141 4455 y(T)-8 b(o)31 b(translate)g(a)f(v)-5
-b(alue)30 b(from)g(t)m(yp)s(e)h Fn(lua_Object)c Fp(to)k(a)g(sp)s
-(eci\014c)e(C)h(t)m(yp)s(e,)h(the)f(programmer)g(can)h(use:)0
-4643 y Fn(double)428 b(lua_getnumber)569 b(\(lua_Object)45
-b(object\);)0 4755 y(char)476 b(*lua_getstring)569 b(\(lua_Object)45
-b(object\);)0 4868 y(lua_CFunction)92 b(lua_getcfunction)425
-b(\(lua_Object)45 b(object\);)0 4981 y(void)476 b(*lua_getuserdata)d
-(\(lua_Object)45 b(object\);)0 5169 y(lua_getnumber)26
-b Fp(con)m(v)m(erts)32 b(a)e Fn(lua_Object)d Fp(to)k(a)f(\015oat.)41
-b(This)29 b Fn(lua_Object)e Fp(m)m(ust)i(b)s(e)h(a)g(n)m(um)m(b)s(er)f
-(or)h(a)g(string)0 5282 y(con)m(v)m(ertible)g(to)h(n)m(um)m(b)s(er)f
-(\(see)h(Section)f(4.2\);)i(otherwise,)e(the)h(function)e(returns)g(0.)
-1905 5589 y(11)p eop
-%%Page: 12 12
-12 11 bop 141 91 a Fn(lua_getstring)21 b Fp(con)m(v)m(erts)27
-b(a)e Fn(lua_Object)d Fp(to)k(a)f(string)f(\()p Fn(char)47
-b(*)p Fp(\).)39 b(This)23 b Fn(lua_Object)f Fp(m)m(ust)i(b)s(e)h(a)g
-(string)0 204 y(or)32 b(a)g(n)m(um)m(b)s(er;)f(otherwise,)h(the)g
-(function)e(returns)h(0)h(\(the)g(n)m(ull)e(p)s(oin)m(ter\).)44
-b(This)30 b(function)g(do)s(es)h(not)h(create)i(a)0 317
-y(new)27 b(string,)g(but)g(returns)f(a)i(p)s(oin)m(ter)f(to)h(a)g
-(string)f(inside)e(the)j(Lua)f(en)m(vironmen)m(t.)39
-b(Because)29 b(Lua)e(has)h(garbage)0 430 y(collection,)i(there)h(is)e
-(no)i(guaran)m(tee)g(that)g(suc)m(h)f(p)s(oin)m(ter)g(will)e(b)s(e)h(v)
--5 b(alid)29 b(after)i(the)f(blo)s(c)m(k)g(ends.)141
-543 y Fn(lua_getcfunction)e Fp(con)m(v)m(erts)34 b(a)e
-Fn(lua_Object)e Fp(to)j(a)f(C)g(function.)45 b(This)31
-b Fn(lua_Object)e Fp(m)m(ust)j(ha)m(v)m(e)i(t)m(yp)s(e)0
-656 y Fo(CF)-7 b(unction)7 b Fp(;)39 b(otherwise,)e(the)f(function)e
-(returns)g(0)i(\(the)g(n)m(ull)e(p)s(oin)m(ter\).)56
-b(The)35 b(t)m(yp)s(e)h Fn(lua_CFunction)c Fp(is)i(ex-)0
-769 y(plained)28 b(in)h(Section)h(5.5.)141 882 y Fn(lua_getuserdata)20
-b Fp(con)m(v)m(erts)26 b(a)f Fn(lua_Object)d Fp(to)j
-Fn(void*)p Fp(.)38 b(This)22 b Fn(lua_Object)g Fp(m)m(ust)i(ha)m(v)m(e)
-i(t)m(yp)s(e)f Fo(user)-5 b(data)7 b Fp(;)0 995 y(otherwise,)30
-b(the)h(function)e(returns)g(0)i(\(the)f(n)m(ull)f(p)s(oin)m(ter\).)141
-1108 y(The)34 b(rev)m(erse)h(pro)s(cess,)g(that)f(is,)h(passing)e(a)i
-(sp)s(eci\014c)e(C)g(v)-5 b(alue)34 b(to)h(Lua,)g(is)e(done)h(b)m(y)g
-(using)f(the)h(follo)m(wing)0 1220 y(functions:)0 1403
-y Fn(void)524 b(lua_pushnumber)d(\(double)46 b(n\);)0
-1516 y(void)524 b(lua_pushstring)d(\(char)46 b(*s\);)0
-1629 y(void)524 b(lua_pushcfunction)377 b(\(lua_CFunction)44
-b(f\);)0 1742 y(void)524 b(lua_pushusertag)473 b(\(void)46
-b(*u,)h(int)g(tag\);)0 1925 y Fp(plus)28 b(the)j(macro:)0
-2108 y Fn(void)524 b(lua_pushuserdata)425 b(\(void)46
-b(*u\);)0 2291 y Fp(All)33 b(of)h(them)f(receiv)m(e)i(a)g(C)e(v)-5
-b(alue,)35 b(con)m(v)m(ert)g(it)e(to)i(a)f(corresp)s(onding)e
-Fn(lua_Object)p Fp(,)h(and)g(lea)m(v)m(e)i(the)f(result)f(on)0
-2404 y(the)c(top)g(of)f(the)h(Lua)g(stac)m(k,)h(where)e(it)g(can)h(b)s
-(e)f(assigned)g(to)i(a)f(Lua)f(v)-5 b(ariable,)28 b(passed)g(as)h
-(parameter)g(to)g(a)g(Lua)0 2517 y(function,)g(etc.)141
-2629 y(User)43 b(data)g(can)g(ha)m(v)m(e)h(di\013eren)m(t)e(tags,)47
-b(whose)42 b(seman)m(tics)h(are)g(de\014ned)f(b)m(y)g(the)h(host)g
-(program.)77 b(An)m(y)0 2742 y(p)s(ositiv)m(e)35 b(in)m(teger)h(can)g
-(b)s(e)g(used)f(to)h(tag)h(a)g(user)e(datum.)56 b(When)36
-b(a)g(user)f(datum)h(is)f(retriev)m(ed,)i(the)f(function)0
-2855 y Fn(lua_type)28 b Fp(can)j(b)s(e)f(used)f(to)i(get)h(its)d(tag.)
-141 2968 y(T)-8 b(o)31 b(complete)g(the)f(set,)i(the)e(v)-5
-b(alue)30 b Fm(nil)g Fp(or)h(a)g Fn(lua_Object)c Fp(can)k(also)f(b)s(e)
-g(pushed)e(on)m(to)k(the)f(stac)m(k,)h(with:)0 3151 y
-Fn(void)524 b(lua_pushnil)665 b(\(void\);)0 3264 y(void)524
-b(lua_pushobject)d(\(lua_Object)45 b(object\);)0 3507
-y Ff(5.3)112 b(Manipulating)37 b(Lua)h(Ob)6 b(jects)0
-3678 y Fp(T)-8 b(o)31 b(read)f(the)h(v)-5 b(alue)30 b(of)g(an)m(y)h
-(global)e(Lua)i(v)-5 b(ariable,)29 b(one)i(uses)f(the)g(function:)0
-3861 y Fn(lua_Object)236 b(lua_getglobal)569 b(\(char)46
-b(*varname\);)0 4044 y Fp(As)30 b(in)f(Lua,)i(if)e(the)i(v)-5
-b(alue)29 b(of)i(the)g(global)e(is)h Fm(nil)p Fp(,)g(then)g(the)h
-(\\getglobal")h(fallbac)m(k)e(is)f(called.)141 4157 y(T)-8
-b(o)31 b(store)g(a)g(v)-5 b(alue)30 b(previously)e(pushed)g(on)m(to)k
-(the)e(stac)m(k)i(in)d(a)i(global)f(v)-5 b(ariable,)29
-b(there)i(is)e(the)i(function:)0 4340 y Fn(void)524 b(lua_storeglobal)
-473 b(\(char)46 b(*varname\);)141 4523 y Fp(T)-8 b(ables)30
-b(can)h(also)f(b)s(e)g(manipulated)e(via)i(the)h(API.)f(The)g(function)
-0 4705 y Fn(lua_Object)236 b(lua_getsubscript)425 b(\(void\);)0
-4888 y Fp(exp)s(ects)31 b(on)f(the)g(stac)m(k)i(a)f(table)f(and)f(an)i
-(index,)e(and)g(returns)g(the)i(con)m(ten)m(ts)h(of)e(the)h(table)f(at)
-h(that)g(index.)39 b(As)0 5001 y(in)29 b(Lua,)h(if)f(the)h(\014rst)f
-(ob)5 b(ject)31 b(is)e(not)i(a)f(table,)g(or)g(the)g(index)f(is)g(not)h
-(presen)m(t)h(in)d(the)i(table,)h(the)f(corresp)s(onding)0
-5114 y(fallbac)m(k)g(is)f(called.)141 5227 y(T)-8 b(o)34
-b(store)f(a)h(v)-5 b(alue)32 b(in)g(an)h(index,)f(the)h(program)g(m)m
-(ust)g(push)e(on)m(to)j(the)f(stac)m(k)i(the)e(table,)h(the)f(index,)g
-(and)0 5340 y(the)e(v)-5 b(alue,)30 b(and)f(then)i(call)e(the)i
-(function:)1905 5589 y(12)p eop
-%%Page: 13 13
-13 12 bop 0 91 a Fn(void)47 b(lua_storesubscript)42 b(\(void\);)0
-264 y Fp(Again,)30 b(the)h(corresp)s(onding)d(fallbac)m(k)i(is)g
-(called)f(if)g(needed.)141 377 y(Finally)-8 b(,)29 b(the)i(function)0
-549 y Fn(lua_Object)236 b(lua_createtable)473 b(\(void\);)0
-721 y Fp(creates)32 b(and)e(returns)f(a)h(new)g(table.)141
-834 y Fo(Ple)-5 b(ase)40 b(Notic)-5 b(e:)61 b Fp(Most)39
-b(functions)d(from)h(the)h(Lua)g(library)d(receiv)m(e)k(parameters)f
-(through)g(Lua's)f(stac)m(k.)0 947 y(Because)e(other)f(functions)f
-(also)h(use)f(this)g(stac)m(k,)k(it)c(is)g(imp)s(ortan)m(t)g(that)i
-(these)f(parameters)g(b)s(e)f(pushed)g(just)0 1060 y(b)s(efore)d(the)g
-(corresp)s(onding)e(call,)i(without)f(in)m(termediate)h(calls)f(to)i
-(the)f(Lua)g(library)-8 b(.)38 b(F)-8 b(or)31 b(instance,)f(supp)s(ose)
-0 1173 y(the)h(user)e(w)m(an)m(ts)i(the)g(v)-5 b(alue)30
-b(of)g Fn(a[i])p Fp(.)40 b(A)30 b(simplistic)d(solution)i(w)m(ould)g(b)
-s(e:)95 1345 y Fn(/*)48 b(Warning:)d(WRONG)i(CODE)f(*/)95
-1458 y(lua_Object)f(result;)95 1571 y(lua_pushobject\(lua_getglob)o
-(al\(")o(a"\))o(\);)89 b(/*)48 b(push)e(table)h(*/)95
-1684 y(lua_pushobject\(lua_getglob)o(al\(")o(i"\))o(\);)89
-b(/*)48 b(push)e(index)h(*/)95 1797 y(result)g(=)g
-(lua_getsubscript\(\);)0 1969 y Fp(Ho)m(w)m(ev)m(er,)d(the)39
-b(call)f Fn(lua_getglobal\("i"\))d Fp(mo)s(di\014es)i(the)i(stac)m(k,)k
-(and)c(in)m(v)-5 b(alidates)38 b(the)h(previous)f(pushed)0
-2082 y(v)-5 b(alue.)40 b(A)31 b(correct)g(solution)e(could)h(b)s(e:)95
-2254 y Fn(lua_Object)45 b(result;)95 2367 y(lua_Object)g(index)i(=)g
-(lua_getglobal\("i"\);)95 2480 y(lua_pushobject\(lua_getglob)o(al\(")o
-(a"\))o(\);)89 b(/*)48 b(push)e(table)h(*/)95 2593 y
-(lua_pushobject\(index\);)710 b(/*)48 b(push)e(index)h(*/)95
-2706 y(result)g(=)g(lua_getsubscript\(\);)0 2878 y Fp(The)35
-b(functions)f Fn(lua_getnumber)p Fp(,)f Fn(lua_getstring)p
-Fp(,)g Fn(lua_getuserdata)p Fp(,)g(and)h Fn(lua_getcfunction)p
-Fp(,)f(plus)0 2991 y(the)e(family)d Fn(lua_is*)p Fp(,)h(are)i(safe)g
-(to)g(b)s(e)e(called)h(without)f(mo)s(difying)f(the)j(stac)m(k.)0
-3231 y Ff(5.4)112 b(Calling)36 b(Lua)i(F)-9 b(unctions)0
-3403 y Fp(F)h(unctions)36 b(de\014ned)g(in)f(Lua)i(b)m(y)f(a)h(c)m(h)m
-(unk)g(executed)h(with)d Fn(dofile)g Fp(or)i Fn(dostring)d
-Fp(can)j(b)s(e)g(called)e(from)i(the)0 3516 y(host)d(program.)50
-b(This)32 b(is)h(done)g(using)f(the)i(follo)m(wing)e(proto)s(col:)47
-b(\014rst,)34 b(the)g(argumen)m(ts)g(to)g(the)g(function)f(are)0
-3629 y(pushed)27 b(on)m(to)j(the)f(Lua)g(stac)m(k)h(\(see)g(Section)e
-(5.2\),)j(in)d(direct)g(order,)h(i.e.,)g(the)g(\014rst)f(argumen)m(t)i
-(is)d(pushed)g(\014rst.)0 3742 y(Again,)j(it)g(is)g(imp)s(ortan)m(t)f
-(to)i(emphasize)f(that,)h(during)e(this)g(phase,)h(no)g(other)h(Lua)f
-(function)f(can)i(b)s(e)f(called.)141 3855 y(Then,)g(the)g(function)f
-(is)h(called)f(using)0 4027 y Fn(int)572 b(lua_call)809
-b(\(char)46 b(*functionname\);)0 4199 y Fp(or)0 4372
-y Fn(int)572 b(lua_callfunction)425 b(\(lua_Object)45
-b(function\);)0 4544 y Fp(Both)32 b(functions)e(return)h(an)h(error)f
-(co)s(de:)43 b(0,)33 b(in)d(case)j(of)f(success;)g(non)f(zero,)i(in)e
-(case)h(of)g(errors.)44 b(Finally)-8 b(,)31 b(the)0 4657
-y(returned)e(v)-5 b(alues)30 b(\(a)h(Lua)f(function)f(ma)m(y)i(return)e
-(man)m(y)i(v)-5 b(alues\))30 b(can)h(b)s(e)e(retriev)m(ed)i(with)e(the)
-h(macro)0 4829 y Fn(lua_Object)236 b(lua_getresult)617
-b(\(int)46 b(number\);)0 5001 y Fp(where)33 b Fn(number)f
-Fp(is)h(the)g(order)h(of)f(the)h(result,)g(starting)f(with)f(1.)51
-b(When)33 b(called)g(with)g(a)h(n)m(um)m(b)s(er)e(larger)h(than)0
-5114 y(the)e(actual)f(n)m(um)m(b)s(er)f(of)i(results,)e(this)h
-(function)f(returns)g Fn(LUA_NOOBJECT)p Fp(.)141 5227
-y(Tw)m(o)37 b(sp)s(ecial)e(Lua)i(functions)e(ha)m(v)m(e)j(exclusiv)m(e)
-e(in)m(terfaces:)54 b Fn(error)35 b Fp(and)h Fn(setfallback)p
-Fp(.)57 b(A)37 b(C)f(function)0 5340 y(can)31 b(generate)h(a)e(Lua)g
-(error)g(calling)f(the)i(function)1905 5589 y(13)p eop
-%%Page: 14 14
-14 13 bop 0 91 a Fn(void)47 b(lua_error)e(\(char)h(*message\);)0
-279 y Fp(This)34 b(function)g(nev)m(er)j(returns.)55
-b(If)36 b(the)g(C)f(function)f(has)i(b)s(een)f(called)g(from)g(Lua,)i
-(the)f(corresp)s(onding)e(Lua)0 392 y(execution)f(terminates,)g(as)g
-(if)e(an)i(error)f(had)g(o)s(ccurred)g(inside)e(Lua)i(co)s(de.)48
-b(Otherwise,)32 b(the)g(whole)g(program)0 505 y(terminates.)141
-618 y(F)-8 b(allbac)m(ks)31 b(can)g(b)s(e)e(c)m(hanged)i(with:)0
-805 y Fn(lua_Object)45 b(lua_setfallback)f(\(char)i(*name,)g
-(lua_CFunction)e(fallback\);)0 993 y Fp(The)22 b(\014rst)g(parameter)h
-(is)f(the)h(fallbac)m(k)f(name,)i(and)e(the)h(second)g(a)g(CF)-8
-b(unction)22 b(to)h(b)s(e)f(used)g(as)h(the)g(new)f(fallbac)m(k.)0
-1106 y(This)28 b(function)g(returns)g(a)i Fn(lua_Object)p
-Fp(,)d(whic)m(h)h(is)h(the)g(old)g(fallbac)m(k)g(v)-5
-b(alue,)29 b(or)h Fm(nil)g Fp(on)f(fail)f(\(in)m(v)-5
-b(alid)27 b(fallbac)m(k)0 1219 y(name\).)41 b(This)29
-b(old)g(v)-5 b(alue)30 b(can)h(b)s(e)e(used)h(for)g(c)m(haining)f
-(fallbac)m(ks.)141 1332 y(An)h(example)g(of)h(C)f(co)s(de)g(calling)f
-(a)i(Lua)f(function)f(is)g(sho)m(wn)h(in)f(Section)h(8.10.)0
-1575 y Ff(5.5)112 b(C)38 b(F)-9 b(unctions)0 1747 y Fp(T)h(o)31
-b(register)f(a)h(C)f(function)f(to)i(Lua,)f(there)h(is)e(the)i(follo)m
-(wing)e(macro:)0 1934 y Fn(#define)46 b(lua_register\(n,f\))329
-b(\(lua_pushcfunction\(f\),)42 b(lua_storeglobal\(n\)\))0
-2047 y(/*)47 b(char)g(*n;)429 b(*/)0 2160 y(/*)47 b(lua_CFunction)d(f;)
-k(*/)0 2348 y Fp(whic)m(h)28 b(receiv)m(es)i(the)g(name)f(the)g
-(function)f(will)f(ha)m(v)m(e)k(in)d(Lua,)h(and)g(a)g(p)s(oin)m(ter)g
-(to)h(the)f(function.)39 b(This)28 b(p)s(oin)m(ter)0
-2461 y(m)m(ust)i(ha)m(v)m(e)i(t)m(yp)s(e)e Fn(lua_CFunction)p
-Fp(,)d(whic)m(h)i(is)h(de\014ned)f(as)0 2648 y Fn(typedef)46
-b(void)g(\(*lua_CFunction\))e(\(void\);)0 2836 y Fp(that)31
-b(is,)f(a)g(p)s(oin)m(ter)g(to)h(a)g(function)e(with)g(no)h(parameters)
-h(and)f(no)g(results.)141 2949 y(In)d(order)h(to)g(comm)m(unicate)g
-(prop)s(erly)e(with)h(Lua,)h(a)g(C)f(function)g(m)m(ust)h(follo)m(w)f
-(a)h(proto)s(col,)g(whic)m(h)f(de\014nes)0 3062 y(the)k(w)m(a)m(y)g
-(parameters)g(and)e(results)h(are)g(passed.)141 3175
-y(T)-8 b(o)31 b(access)h(its)d(argumen)m(ts,)i(a)g(C)f(function)f
-(calls:)0 3362 y Fn(lua_Object)236 b(lua_getparam)617
-b(\(int)47 b(number\);)0 3550 y Fp(where)30 b Fn(number)f
-Fp(starts)i(with)e(1)i(to)g(get)g(the)g(\014rst)f(argumen)m(t.)41
-b(When)31 b(called)e(with)g(a)i(n)m(um)m(b)s(er)e(larger)i(than)f(the)0
-3663 y(actual)25 b(n)m(um)m(b)s(er)f(of)h(argumen)m(ts,)h(this)e
-(function)f(returns)h Fn(LUA_NOOBJECT)p Fp(.)d(In)j(this)g(w)m(a)m(y)-8
-b(,)28 b(it)c(is)g(p)s(ossible)e(to)k(write)0 3776 y(functions)j(that)i
-(w)m(ork)f(with)f(a)i(v)-5 b(ariable)29 b(n)m(um)m(b)s(er)g(of)i
-(parameters.)141 3889 y(T)-8 b(o)26 b(return)e(v)-5 b(alues,)27
-b(a)e(C)g(function)g(just)f(pushes)h(them)g(on)m(to)i(the)e(stac)m(k,)j
-(in)d(direct)g(order)g(\(see)h(Section)f(5.2\).)0 4002
-y(Lik)m(e)30 b(a)h(Lua)f(function,)f(a)i(C)f(function)f(called)h(b)m(y)
-g(Lua)g(can)h(also)f(return)f(man)m(y)i(results.)141
-4115 y(Section)f(8.9)i(presen)m(ts)e(an)g(example)g(of)h(a)g(CF)-8
-b(unction.)0 4358 y Ff(5.6)112 b(References)38 b(to)f(Lua)i(Ob)6
-b(jects)0 4530 y Fp(As)23 b(noted)g(in)f(Section)h(5.5,)j
-Fn(lua_Object)p Fp(s)20 b(are)k(v)m(olatile.)38 b(If)22
-b(the)i(C)e(co)s(de)i(needs)e(to)i(k)m(eep)g(a)f Fn(lua_Object)e
-Fp(outside)0 4642 y(blo)s(c)m(k)33 b(b)s(oundaries,)e(it)i(m)m(ust)g
-(create)h(a)g Fo(r)-5 b(efer)g(enc)g(e)33 b Fp(to)h(the)f(ob)5
-b(ject.)50 b(The)33 b(routines)e(to)j(manipulate)e(references)0
-4755 y(are)f(the)f(follo)m(wing:)0 4943 y Fn(int)572
-b(lua_ref)46 b(\(int)g(lock\);)0 5056 y(lua_Object)236
-b(lua_getref)93 b(\(int)46 b(ref\);)0 5169 y(void)524
-b(lua_pushref)45 b(\(int)h(ref\);)0 5282 y(void)524 b(lua_unref)45
-b(\(int)i(ref\);)1905 5589 y Fp(14)p eop
-%%Page: 15 15
-15 14 bop 0 91 a Fp(The)29 b(function)e Fn(lua_ref)g
-Fp(creates)k(a)e(reference)h(to)g(the)f(ob)5 b(ject)30
-b(that)g(is)e(on)h(the)g(top)g(of)g(the)h(stac)m(k,)h(and)d(returns)0
-204 y(this)39 b(reference.)69 b(If)39 b Fn(lock)g Fp(is)g(true,)j(the)e
-(ob)5 b(ject)41 b(is)e Fo(lo)-5 b(cke)g(d)p Fp(:)61 b(that)40
-b(means)g(the)g(ob)5 b(ject)40 b(will)d(not)k(b)s(e)e(garbage)0
-317 y(collected.)54 b(Notice)35 b(that)h(an)e(unlo)s(c)m(k)m(ed)g
-(reference)h(ma)m(y)g(b)s(e)f(garbage)i(collected.)54
-b(Whenev)m(er)35 b(the)g(referenced)0 430 y(ob)5 b(ject)39
-b(is)d(needed,)k(a)e(call)f(to)i Fn(lua_getref)34 b Fp(returns)j(a)h
-(handle)e(to)j(it,)g(whereas)f Fn(lua_pushref)c Fp(pushes)j(the)0
-543 y(ob)5 b(ject)29 b(on)f(the)h(stac)m(k.)41 b(If)28
-b(the)g(ob)5 b(ject)29 b(has)f(b)s(een)g(collected,)h(then)f
-Fn(lua_getref)d Fp(returns)i Fn(LUA_NOOBJECT)p Fp(,)f(and)0
-656 y Fn(lua_pushobject)g Fp(issues)k(an)g(error.)141
-769 y(When)g(a)h(reference)g(is)e(no)i(longer)f(needed,)g(it)g(can)g(b)
-s(e)g(freed)g(with)f(a)i(call)f(to)h Fn(lua_unref)p Fp(.)0
-1055 y Fq(6)135 b(Prede\014ned)44 b(F)-11 b(unctions)44
-b(and)h(Libraries)0 1258 y Fp(The)33 b(set)g(of)g(prede\014ned)f
-(functions)f(in)h(Lua)h(is)f(small)g(but)g(p)s(o)m(w)m(erful.)47
-b(Most)34 b(of)g(them)f(pro)m(vide)f(features)h(that)0
-1371 y(allo)m(ws)28 b(some)i(degree)g(of)f(re\015exivit)m(y)g(in)e(the)
-j(language.)40 b(Some)30 b(of)f(these)h(features)f(cannot)h(b)s(e)e
-(sim)m(ulated)g(with)0 1484 y(the)k(rest)g(of)g(the)g(Language)h(nor)e
-(with)g(the)h(standard)f(Lua)g(API.)h(Others)f(are)i(just)e(con)m(v)m
-(enien)m(t)i(in)m(terfaces)f(to)0 1597 y(common)f(API)f(functions.)141
-1710 y(The)d(libraries,)e(on)i(the)g(other)h(hand,)f(pro)m(vide)f
-(useful)g(routines)g(that)h(are)h(implemen)m(ted)e(directly)g(through)0
-1823 y(the)f(standard)f(API.)i(Therefore,)g(they)f(are)g(not)h
-(necessary)f(to)h(the)f(language,)i(and)d(are)i(pro)m(vided)d(as)i
-(separated)0 1936 y(C)30 b(mo)s(dules.)39 b(Curren)m(tly)29
-b(there)h(are)h(three)f(standard)g(libraries:)136 2123
-y Fk(\017)46 b Fp(string)30 b(manipulation;)136 2311
-y Fk(\017)46 b Fp(mathematical)31 b(functions)e(\(sin,)g(cos,)j(etc\);)
-136 2499 y Fk(\017)46 b Fp(input)29 b(and)g(output)h(\(plus)f(some)i
-(system)g(facilities\).)0 2686 y(In)h(order)g(to)h(ha)m(v)m(e)h(access)
-f(to)g(these)g(libraries,)e(the)h(host)h(program)f(m)m(ust)g(call)g
-(the)h(functions)e Fn(strlib_open)p Fp(,)0 2799 y Fn(mathlib_open)p
-Fp(,)c(and)j Fn(iolib_open)p Fp(,)e(declared)i(in)f Fn(lualib.h)p
-Fp(.)0 3042 y Ff(6.1)112 b(Prede\014ned)38 b(F)-9 b(unctions)0
-3214 y Fk(\017)35 b Fn(dofile)46 b(\(filename\))0 3386
-y Fp(This)33 b(function)g(receiv)m(es)i(a)g(\014le)e(name,)j(op)s(ens)d
-(it,)j(and)d(executes)j(its)e(con)m(ten)m(ts)i(as)f(a)g(Lua)f(c)m(h)m
-(unk,)h(or)g(as)f(pre-)0 3499 y(compiled)d(c)m(h)m(unks.)46
-b(When)32 b(called)g(without)f(argumen)m(ts,)j(it)e(executes)h(the)g
-(con)m(ten)m(ts)h(of)f(the)f(standard)g(input)0 3612
-y(\()p Fn(stdin)p Fp(\).)60 b(If)37 b(there)g(is)f(an)m(y)h(error)g
-(executing)g(the)g(\014le,)h(it)f(returns)f Fm(nil)p
-Fp(.)60 b(Otherwise,)38 b(it)f(returns)e(the)j(v)-5 b(alues)0
-3724 y(returned)32 b(b)m(y)g(the)h(c)m(h)m(unk,)h(or)f(a)g(non)f
-Fm(nil)h Fp(v)-5 b(alue)32 b(if)g(the)h(c)m(h)m(unk)g(returns)e(no)i(v)
--5 b(alues.)47 b(It)33 b(issues)f(an)h(error)f(when)0
-3837 y(called)e(with)f(a)h(non)g(string)g(argumen)m(t.)0
-4077 y Fk(\017)35 b Fn(dostring)46 b(\(string\))0 4249
-y Fp(This)29 b(function)h(executes)j(a)e(giv)m(en)g(string)f(as)i(a)f
-(Lua)g(c)m(h)m(unk.)43 b(If)30 b(there)i(is)e(an)m(y)h(error)g
-(executing)h(the)f(string,)f(it)0 4362 y(returns)c Fm(nil)p
-Fp(.)40 b(Otherwise,)27 b(it)h(returns)e(the)i(v)-5 b(alues)27
-b(returned)f(b)m(y)i(the)g(c)m(h)m(unk,)g(or)g(a)g(non)f
-Fm(nil)h Fp(v)-5 b(alue)27 b(if)f(the)i(c)m(h)m(unk)0
-4475 y(returns)h(no)h(v)-5 b(alues.)0 4715 y Fk(\017)35
-b Fn(next)47 b(\(table,)f(index\))0 4887 y Fp(This)34
-b(function)g(allo)m(ws)h(a)h(program)f(to)h(tra)m(v)m(erse)h(all)d
-(\014elds)g(of)i(a)g(table.)56 b(Its)35 b(\014rst)g(argumen)m(t)h(is)e
-(a)i(table)g(and)0 5000 y(its)31 b(second)g(argumen)m(t)h(is)e(an)i
-(index)d(in)i(this)f(table.)43 b(It)32 b(returns)e(the)h(next)h(index)e
-(of)h(the)h(table)f(and)g(the)g(v)-5 b(alue)0 5112 y(asso)s(ciated)33
-b(with)d(the)j(index.)44 b(When)32 b(called)f(with)g
-Fm(nil)h Fp(as)h(its)e(second)h(argumen)m(t,)i(the)e(function)f
-(returns)g(the)0 5225 y(\014rst)g(index)g(of)h(the)g(table)g(\(and)g
-(its)f(asso)s(ciated)i(v)-5 b(alue\).)45 b(When)32 b(called)f(with)g
-(the)h(last)g(index,)f(or)h(with)f Fm(nil)h Fp(in)0 5338
-y(an)e(empt)m(y)h(table,)g(it)e(returns)h Fm(nil)p Fp(.)1905
-5589 y(15)p eop
-%%Page: 16 16
-16 15 bop 141 91 a Fp(In)32 b(Lua)f(there)i(is)e(no)h(declaration)g(of)
-g(\014elds;)g(seman)m(tically)-8 b(,)32 b(there)h(is)e(no)h
-(di\013erence)g(b)s(et)m(w)m(een)g(a)h(\014eld)e(not)0
-204 y(presen)m(t)i(in)e(a)i(table)f(or)g(a)h(\014eld)e(with)h(v)-5
-b(alue)32 b Fm(nil)p Fp(.)47 b(Therefore,)33 b(the)f(function)g(only)f
-(considers)g(\014elds)g(with)h(non)0 317 y(nil)c(v)-5
-b(alues.)40 b(The)30 b(order)g(the)h(indices)d(are)j(en)m(umerated)g
-(is)e(not)i(sp)s(eci\014ed,)e Fo(even)j(for)h(numeric)f(indic)-5
-b(es)p Fp(.)141 430 y(See)31 b(Section)f(8.2)h(for)g(an)f(example)g(of)
-g(the)h(use)f(of)h(this)e(function.)0 670 y Fk(\017)35
-b Fn(nextvar)46 b(\(name\))0 842 y Fp(This)40 b(function)g(is)h
-(similar)e(to)k(the)f(function)e Fn(next)p Fp(,)k(but)d(iterates)i(o)m
-(v)m(er)g(the)f(global)f(v)-5 b(ariables.)74 b(Its)41
-b(single)0 955 y(argumen)m(t)31 b(is)f(the)h(name)g(of)g(a)g(global)f
-(v)-5 b(ariable,)30 b(or)h Fm(nil)g Fp(to)g(get)h(a)f(\014rst)f(name.)
-42 b(Similarly)27 b(to)32 b Fn(next)p Fp(,)e(it)g(returns)0
-1068 y(the)k(name)g(of)g(another)g(v)-5 b(ariable)33
-b(and)g(its)h(v)-5 b(alue,)34 b(or)g Fm(nil)g Fp(if)f(there)h(are)g(no)
-g(more)g(v)-5 b(ariables.)50 b(See)34 b(Section)g(8.2)0
-1181 y(for)c(an)g(example)g(of)h(the)g(use)f(of)g(this)f(function.)0
-1421 y Fk(\017)35 b Fn(tostring)46 b(\(e\))0 1592 y Fp(This)29
-b(function)g(receiv)m(es)i(an)f(argumen)m(t)h(of)f(an)m(y)h(t)m(yp)s(e)
-g(and)e(con)m(v)m(erts)j(it)e(to)h(a)g(string)e(in)g(a)i(reasonable)f
-(format.)0 1832 y Fk(\017)35 b Fn(print)47 b(\(e1,)f(e2,)h(...\))0
-2004 y Fp(This)35 b(function)g(receiv)m(es)i(an)m(y)f(n)m(um)m(b)s(er)f
-(of)i(argumen)m(ts,)h(and)e(prin)m(ts)f(their)g(v)-5
-b(alues)36 b(in)f(a)h(reasonable)g(format.)0 2117 y(Eac)m(h)i(v)-5
-b(alue)37 b(is)f(prin)m(ted)g(in)h(a)g(new)g(line.)61
-b(This)35 b(function)h(is)h(not)g(in)m(tended)g(for)g(formatted)h
-(output,)h(but)e(as)0 2230 y(a)j(quic)m(k)e(w)m(a)m(y)j(to)f(sho)m(w)f
-(a)g(v)-5 b(alue,)42 b(for)d(instance)g(for)g(error)f(messages)j(or)e
-(debugging.)66 b(See)40 b(Section)f(6.4)h(for)0 2343
-y(functions)29 b(for)h(formatted)h(output.)0 2583 y Fk(\017)k
-Fn(tonumber)46 b(\(e\))0 2754 y Fp(This)19 b(function)g(receiv)m(es)j
-(one)f(argumen)m(t,)i(and)e(tries)f(to)h(con)m(v)m(ert)i(it)d(to)h(a)h
-(n)m(um)m(b)s(er.)36 b(If)20 b(the)h(argumen)m(t)g(is)f(already)h(a)0
-2867 y(n)m(um)m(b)s(er)g(or)h(a)g(string)f(con)m(v)m(ertible)h(to)h(a)f
-(n)m(um)m(b)s(er)f(\(see)i(Section)f(4.2\),)j(then)d(it)f(returns)g
-(that)i(n)m(um)m(b)s(er;)g(otherwise,)0 2980 y(it)30
-b(returns)f Fm(nil)p Fp(.)0 3220 y Fk(\017)35 b Fn(type)47
-b(\(v\))0 3392 y Fp(This)25 b(function)g(allo)m(ws)h(Lua)g(to)i(test)f
-(the)g(t)m(yp)s(e)g(of)f(a)h(v)-5 b(alue.)39 b(It)27
-b(receiv)m(es)g(one)g(argumen)m(t,)h(and)e(returns)g(its)g(t)m(yp)s(e,)
-0 3505 y(co)s(ded)38 b(as)h(a)g(string.)65 b(The)38 b(p)s(ossible)e
-(results)h(of)i(this)f(function)f(are)i Fn("nil")e Fp(\(a)j(string,)f
-(not)g(the)g(v)-5 b(alue)38 b Fm(nil)p Fp(\),)0 3618
-y Fn("number")p Fp(,)h Fn("string")p Fp(,)g Fn("table")p
-Fp(,)g Fn("function")d Fp(\(returned)i(b)s(oth)g(for)h(C)g(functions)e
-(and)h(Lua)h(functions\),)0 3731 y(and)30 b Fn("userdata")p
-Fp(.)141 3844 y(Besides)f(this)f(string,)g(the)i(function)d(returns)h
-(a)i(second)f(result,)f(whic)m(h)g(is)g(the)i Fo(tag)f
-Fp(of)g(the)h(v)-5 b(alue.)39 b(This)28 b(tag)0 3957
-y(can)g(b)s(e)e(used)h(to)h(distinguish)23 b(b)s(et)m(w)m(een)28
-b(user)f(data)h(with)d(di\013eren)m(t)i(tags,)i(and)e(b)s(et)m(w)m(een)
-h(C)f(functions)f(and)g(Lua)0 4069 y(functions.)0 4310
-y Fk(\017)35 b Fn(assert)46 b(\(v\))0 4481 y Fp(This)29
-b(function)g(issues)g(an)h Fo(\\assertion)k(faile)-5
-b(d!")41 b Fp(error)30 b(when)f(its)h(argumen)m(t)h(is)e
-Fm(nil)p Fp(.)0 4721 y Fk(\017)35 b Fn(error)47 b(\(message\))0
-4893 y Fp(This)41 b(function)h(issues)g(an)h(error)f(message)i(and)f
-(terminates)g(the)g(last)g(called)f(function)g(from)g(the)h(library)0
-5006 y(\()p Fn(lua_dofile)p Fp(,)28 b Fn(lua_dostring)p
-Fp(,)f(.)16 b(.)f(.)h(\).)41 b(It)30 b(nev)m(er)h(returns.)1905
-5589 y(16)p eop
-%%Page: 17 17
-17 16 bop 0 91 a Fk(\017)35 b Fn(setglobal)46 b(\(name,)g(value\))0
-263 y Fp(This)35 b(function)h(assigns)f(the)i(giv)m(en)g(v)-5
-b(alue)37 b(to)g(a)g(global)f(v)-5 b(ariable.)59 b(The)37
-b(string)e Fn(name)h Fp(do)s(es)g(not)h(need)g(to)h(b)s(e)0
-376 y(a)33 b(syn)m(tactically)g(v)-5 b(alid)31 b(v)-5
-b(ariable)32 b(name.)48 b(Therefore,)33 b(this)f(function)g(can)h(set)g
-(global)f(v)-5 b(ariables)32 b(with)f(strange)0 489 y(names)f(lik)m(e)g
-Fn(`m)47 b(v)h(1')29 b Fp(or)i Fn(34)p Fp(.)40 b(It)30
-b(returns)f(the)i(v)-5 b(alue)30 b(of)g(its)g(second)h(argumen)m(t.)0
-729 y Fk(\017)k Fn(getglobal)46 b(\(name\))0 901 y Fp(This)41
-b(function)g(retriev)m(es)i(the)g(v)-5 b(alue)42 b(of)g(a)h(global)f(v)
--5 b(ariable.)76 b(The)42 b(string)g Fn(name)f Fp(do)s(es)h(not)h(need)
-f(to)i(b)s(e)e(a)0 1013 y(syn)m(tactically)30 b(v)-5
-b(alid)29 b(v)-5 b(ariable)29 b(name.)0 1254 y Fk(\017)35
-b Fn(setfallback)45 b(\(fallbackname,)f(newfallback\))0
-1425 y Fp(This)23 b(function)h(sets)i(a)f(new)g(fallbac)m(k)g(function)
-f(to)h(the)h(giv)m(en)f(fallbac)m(k.)38 b(It)26 b(returns)e(the)h(old)f
-(fallbac)m(k)h(function.)0 1669 y Ff(6.2)112 b(String)37
-b(Manipulation)0 1840 y Fp(This)26 b(library)f(pro)m(vides)h(generic)i
-(functions)e(for)h(string)f(manipulation,)g(suc)m(h)h(as)h(\014nding)d
-(and)i(extracting)h(sub-)0 1953 y(strings)40 b(and)g(pattern)h(matc)m
-(hing.)72 b(When)41 b(indexing)d(a)j(string,)i(the)e(\014rst)f(c)m
-(haracter)j(has)d(p)s(osition)f(1.)73 b(See)0 2066 y(P)m(age)30
-b(19)f(for)g(an)f(explanation)f(ab)s(out)i(patterns,)g(and)e(Section)i
-(8.3)g(for)f(some)h(examples)f(on)h(string)e(manipula-)0
-2179 y(tion)j(in)f(Lua.)0 2419 y Fk(\017)35 b Fn(strfind)46
-b(\(str,)g(pattern)g([,)h(init)g([,)g(plain]]\))0 2591
-y Fp(This)35 b(function)g(lo)s(oks)h(for)g(the)h(\014rst)e
-Fo(match)j Fp(of)f Fn(pattern)d Fp(in)i Fn(str)p Fp(.)58
-b(If)36 b(it)g(\014nds)f(one,)j(it)e(returns)f(the)i(indexes)0
-2704 y(on)j Fn(str)f Fp(where)g(this)g(o)s(ccurence)i(starts)f(and)f
-(ends;)45 b(otherwise,)d(it)d(returns)g Fm(nil)p Fp(.)70
-b(If)39 b(the)h(pattern)g(sp)s(eci\014es)0 2817 y(captures,)32
-b(the)f(captured)h(strings)e(are)i(returned)e(as)h(extra)h(results.)43
-b(A)31 b(third)f(optional)h(n)m(umerical)e(argumen)m(t)0
-2929 y(sp)s(eci\014es)f(where)g(to)i(start)f(the)g(searc)m(h;)h(its)f
-(default)f(v)-5 b(alue)28 b(is)g(1.)41 b(A)29 b(v)-5
-b(alue)28 b(of)h(1)g(as)h(a)f(forth)f(optional)g(argumen)m(t)0
-3042 y(turns)h(o\013)i(the)f(pattern)h(matc)m(hing)f(facilities,)f(so)i
-(the)f(function)f(do)s(es)i(a)f(plain)f(\\\014nd)g(substring")g(op)s
-(eration.)0 3282 y Fk(\017)35 b Fn(strlen)46 b(\(s\))0
-3454 y Fp(Receiv)m(es)31 b(a)g(string)e(and)h(returns)f(its)h(length.)0
-3694 y Fk(\017)35 b Fn(strsub)46 b(\(s,)h(i)h([,)f(j]\))0
-3866 y Fp(Returns)32 b(another)g(string,)h(whic)m(h)e(is)g(a)i
-(substring)e(of)h Fn(s)p Fp(,)h(starting)f(at)i Fn(i)e
-Fp(and)g(runing)e(un)m(til)h Fn(j)p Fp(.)46 b(If)32 b
-Fn(j)h Fp(is)e(absen)m(t,)0 3979 y(it)d(is)g(assumed)f(to)j(b)s(e)e
-(equal)g(to)h(the)g(length)f(of)g Fn(s)p Fp(.)40 b(In)28
-b(particular,)f(the)i(call)f Fn(strsub\(s,1,j\))d Fp(returns)i(a)i
-(pre\014x)0 4092 y(of)i Fn(s)f Fp(with)f(length)g Fn(j)p
-Fp(,)i(whereas)f(the)g(call)g Fn(strsub\(s,i\))d Fp(returns)j(a)g
-(su\016x)g(of)g Fn(s)p Fp(,)h(starting)f(at)h Fn(i)p
-Fp(.)0 4332 y Fk(\017)k Fn(strlower)46 b(\(s\))0 4503
-y Fp(Receiv)m(es)26 b(a)g(string)f(and)g(returns)f(a)i(cop)m(y)g(of)f
-(that)h(string)f(with)f(all)g(upp)s(er)g(case)i(letters)g(c)m(hanged)g
-(to)g(lo)m(w)m(er)g(case.)0 4616 y(All)j(other)i(c)m(haracters)g(are)g
-(left)f(unc)m(hanged.)0 4856 y Fk(\017)35 b Fn(strupper)46
-b(\(s\))0 5028 y Fp(Receiv)m(es)26 b(a)g(string)f(and)g(returns)f(a)i
-(cop)m(y)g(of)f(that)h(string)f(with)f(all)g(lo)m(w)m(er)i(case)g
-(letters)g(c)m(hanged)g(to)g(upp)s(er)e(case.)0 5141
-y(All)29 b(other)i(c)m(haracters)g(are)g(left)f(unc)m(hanged.)1905
-5589 y(17)p eop
-%%Page: 18 18
-18 17 bop 0 91 a Fk(\017)35 b Fn(strrep)46 b(\(s,)h(n\))0
-263 y Fp(Returns)29 b(a)i(string)f(whic)m(h)f(is)g(the)i(concatenation)
-g(of)g Fn(n)f Fp(copies)g(of)h(the)f(string)g Fn(s)p
-Fp(.)0 503 y Fk(\017)35 b Fn(ascii)47 b(\(s)g([,)g(i]\))0
-675 y Fp(Returns)29 b(the)i(ascii)f(co)s(de)g(of)h(the)f(c)m(haracter)i
-Fn(s[i])p Fp(.)40 b(If)30 b Fn(i)g Fp(is)f(absen)m(t,)i(then)f(it)g(is)
-g(assumed)f(to)i(b)s(e)f(1.)0 915 y Fk(\017)35 b Fn(format)46
-b(\(formatstring,)e(e1,)j(e2,)g(...\))0 1086 y Fp(This)25
-b(function)h(returns)g(a)h(formated)g(v)m(ersion)g(of)g(its)f(v)-5
-b(ariable)26 b(n)m(um)m(b)s(er)g(of)h(argumen)m(ts)g(follo)m(wing)f
-(the)h(descrip-)0 1199 y(tion)i(giv)m(en)h(in)e(its)h(\014rst)g
-(argumen)m(t)h(\(whic)m(h)f(m)m(ust)g(b)s(e)g(a)h(string\).)40
-b(The)29 b(format)h(string)f(follo)m(ws)g(the)g(same)h(rules)0
-1312 y(as)h(the)f Fn(printf)f Fp(family)g(of)h(standard)g(C)g
-(functions.)40 b(The)30 b(only)f(di\013erences)h(are)h(that)g(the)f
-(options/mo)s(di\014ers)0 1425 y Fn(*)p Fp(,)42 b Fn(l)p
-Fp(,)f Fn(L)p Fp(,)e Fn(n)p Fp(,)j Fn(p)p Fp(,)f(and)e
-Fn(h)g Fp(are)h(not)g(supp)s(orted,)g(and)e(there)i(is)e(an)i(extra)g
-(option,)h Fn(q)p Fp(.)68 b(This)37 b(option)i(formats)h(a)0
-1538 y(string)27 b(in)f(a)i(form)g(suitable)e(to)i(b)s(e)g(safely)f
-(read)h(bac)m(k)g(b)m(y)g(the)g(Lua)f(in)m(terpreter;)h(that)h(is,)e
-(the)h(string)f(is)g(written)0 1651 y(b)s(et)m(w)m(een)34
-b(double)e(quotes,)j(and)e(all)g(double)f(quotes,)j(returns)d(and)h
-(bac)m(kslashes)h(in)e(the)i(string)f(are)h(correctly)0
-1764 y(escap)s(ed)c(when)g(written.)40 b(F)-8 b(or)31
-b(instance,)f(the)h(call)0 1952 y Fn(format\('\045q',)44
-b('a)k(string)e(with)g("quotes")g(and)h(\\n)g(new)g(line'\))0
-2139 y Fp(will)28 b(pro)s(duce)h(the)h(string:)0 2327
-y Fn("a)47 b(string)f(with)h(\\"quotes\\")e(and)i(\\)48
-2440 y(new)g(line")141 2627 y Fp(The)29 b(options)g Fn(c)p
-Fp(,)g Fn(d)p Fp(,)h Fn(E)p Fp(,)f Fn(e)p Fp(,)h Fn(f)p
-Fp(,)f Fn(g)g(i)p Fp(,)h Fn(o)p Fp(,)f Fn(u)p Fp(,)h
-Fn(X)p Fp(,)f(and)g Fn(x)g Fp(all)f(exp)s(ect)i(a)g(n)m(um)m(b)s(er)e
-(as)i(argumen)m(t,)g(whereas)f Fn(q)g Fp(and)g Fn(s)0
-2740 y Fp(exp)s(ect)i(a)g(string.)0 2980 y Fk(\017)k
-Fn(gsub)47 b(\(s,)g(pat,)f(repl)h([,)g(n]\))0 3152 y
-Fp(Returns)37 b(a)h(cop)m(y)h(of)f Fn(s)p Fp(,)i(where)e(all)f(o)s
-(ccurrences)h(of)g(the)g(pattern)g Fn(pat)f Fp(ha)m(v)m(e)j(b)s(een)d
-(replaced)g(b)m(y)h(a)h(replace-)0 3265 y(men)m(t)34
-b(string)e(sp)s(eci\014ed)g(b)m(y)i Fn(repl)p Fp(.)49
-b(This)31 b(function)i(also)g(returns,)g(as)h(a)g(second)g(v)-5
-b(alue,)34 b(the)f(total)i(n)m(um)m(b)s(er)d(of)0 3378
-y(substitutions)c(made.)141 3491 y(If)h Fn(repl)f Fp(is)g(a)h(string,)g
-(its)f(v)-5 b(alue)29 b(is)f(used)g(for)h(replacemen)m(t.)41
-b(An)m(y)29 b(sequence)h(in)e Fn(repl)g Fp(of)h(the)g(form)g
-Fn(\045n)f Fp(with)0 3604 y Fn(n)i Fp(b)s(et)m(w)m(een)h(1)g(and)f(9)g
-(stands)g(for)g(the)h(v)-5 b(alue)30 b(of)g(the)h(n-th)f(captured)g
-(substring.)141 3717 y(If)44 b Fn(repl)f Fp(is)g(a)i(function,)i(this)c
-(function)g(is)g(called)h(ev)m(ery)h(time)f(a)g(matc)m(h)h(o)s(ccurs,)j
-(with)43 b(all)g(captured)0 3829 y(substrings)f(as)i(parameters.)82
-b(If)43 b(the)h(v)-5 b(alue)44 b(returned)f(b)m(y)g(this)g(function)g
-(is)g(a)h(string,)j(it)c(is)g(used)h(as)g(the)0 3942
-y(replacemen)m(t)31 b(string;)e(otherwise,)h(the)h(replacemen)m(t)g
-(string)e(is)h(the)g(empt)m(y)h(string.)141 4055 y(An)h(optional)g
-(parameter)g Fn(n)g Fp(limits)e(the)j(maxim)m(um)e(n)m(um)m(b)s(er)g
-(of)i(substitutions)c(to)34 b(o)s(ccur.)46 b(F)-8 b(or)33
-b(instance,)0 4168 y(when)c Fn(n)h Fp(is)g(1)h(only)e(the)i(\014rst)e
-(o)s(ccurrence)i(of)f Fn(pat)g Fp(is)f(replaced.)141
-4281 y(As)24 b(an)f(example,)i(in)d(the)i(follo)m(wing)e(expression)g
-(eac)m(h)j(o)s(ccurrence)f(of)f(the)h(form)f Fn($name$)f
-Fp(calls)h(the)g(function)0 4394 y Fn(getenv)p Fp(,)32
-b(passing)f Fn(name)g Fp(as)i(argumen)m(t)g(\(b)s(ecause)g(only)f(this)
-f(part)i(of)f(the)h(pattern)g(is)e(captured\).)47 b(The)32
-b(v)-5 b(alue)0 4507 y(returned)29 b(b)m(y)h Fn(getenv)f
-Fp(will)f(replace)i(the)h(pattern.)41 b(Therefore,)30
-b(the)h(whole)e(expression:)95 4695 y Fn(gsub\("home)45
-b(=)j($HOME$,)e(user)g(=)i($USER$",)d("$\(\045w\045w*\)$",)g(getenv\))0
-4882 y Fp(ma)m(y)31 b(return)e(the)i(string:)0 5070 y
-Fn(home)47 b(=)g(/home/roberto,)d(user)j(=)g(roberto)1905
-5589 y Fp(18)p eop
-%%Page: 19 19
-19 18 bop 0 91 a Fm(P)m(atterns)0 263 y(Character)52
-b(Class:)90 b Fp(a)46 b Fo(char)-5 b(acter)49 b(class)d
-Fp(is)e(used)h(to)h(represen)m(t)g(a)g(set)g(of)f(c)m(haracters.)88
-b(The)44 b(follo)m(wing)0 376 y(com)m(binations)30 b(are)g(allo)m(w)m
-(ed)h(in)e(describing)f(a)i(c)m(haracter)i(class:)0 563
-y Fo(x)46 b Fp(\(where)30 b Fo(x)g Fp(is)g(an)m(y)g(c)m(haracter)i(not)
-f(in)e(the)i(list)e Fn(\(\)\045.[*?)p Fp(\))f(|)j(represen)m(ts)f(the)h
-(c)m(haracter)g Fo(x)g Fp(itself.)0 751 y Fn(.)45 b Fp(|)30
-b(represen)m(ts)h(all)e(c)m(haracters.)0 939 y Fn(\045a)45
-b Fp(|)30 b(represen)m(ts)g(all)g(letters.)0 1126 y Fn(\045A)45
-b Fp(|)30 b(represen)m(ts)g(all)g(non)f(letter)i(c)m(haracters.)0
-1314 y Fn(\045d)45 b Fp(|)30 b(represen)m(ts)g(all)g(digits.)0
-1502 y Fn(\045D)45 b Fp(|)30 b(represen)m(ts)g(all)g(non)f(digits.)0
-1689 y Fn(\045l)45 b Fp(|)30 b(represen)m(ts)g(all)g(lo)m(w)m(er)g
-(case)i(letters.)0 1877 y Fn(\045L)45 b Fp(|)30 b(represen)m(ts)g(all)g
-(non)f(lo)m(w)m(er)i(case)g(letter)g(c)m(haracters.)0
-2065 y Fn(\045s)45 b Fp(|)30 b(represen)m(ts)g(all)g(space)h(c)m
-(haracters.)0 2252 y Fn(\045S)45 b Fp(|)30 b(represen)m(ts)g(all)g(non)
-f(space)i(c)m(haracters.)0 2440 y Fn(\045u)45 b Fp(|)30
-b(represen)m(ts)g(all)g(upp)s(er)e(case)j(letters.)0
-2627 y Fn(\045U)45 b Fp(|)30 b(represen)m(ts)g(all)g(non)f(upp)s(er)g
-(case)i(letter)g(c)m(haracters.)0 2815 y Fn(\045w)45
-b Fp(|)30 b(represen)m(ts)g(all)g(alphan)m(umeric)e(c)m(haracters.)0
-3003 y Fn(\045W)45 b Fp(|)30 b(represen)m(ts)g(all)g(non)f(alphan)m
-(umeric)g(c)m(haracters.)0 3190 y Fn(\045)p Fo(x)45 b
-Fp(\(where)31 b Fo(x)f Fp(is)f(an)m(y)i(non)f(alphan)m(umeric)e(c)m
-(haracter\))33 b(|)d(represen)m(ts)g(the)h(c)m(haracter)h
-Fo(x)p Fp(.)0 3378 y Fn([char-set])43 b Fp(|)27 b(Represen)m(ts)g(the)g
-(class)g(whic)m(h)f(is)g(the)h(union)f(of)h(all)f(c)m(haracters)j(in)c
-(c)m(har-set.)41 b(T)-8 b(o)28 b(include)d(a)i Fn(])227
-3491 y Fp(in)21 b(c)m(har-set,)26 b(it)21 b(m)m(ust)i(b)s(e)e(the)i
-(\014rst)e(c)m(haracter.)40 b(A)22 b(range)h(of)f(c)m(haracters)i(ma)m
-(y)f(b)s(e)e(sp)s(eci\014ed)g(b)m(y)h(separating)227
-3604 y(the)35 b(end)f(c)m(haracters)i(of)f(the)g(range)g(with)e(a)i
-Fn(-)p Fp(;)i(e.g.,)g Fn(A-Z)d Fp(sp)s(eci\014es)f(the)i(upp)s(er)d
-(case)k(c)m(haracters.)55 b(If)34 b Fn(-)227 3717 y Fp(app)s(ears)43
-b(as)g(the)g(\014rst)g(or)g(last)g(c)m(haracter)h(of)f(c)m(har-set,)48
-b(then)43 b(it)g(represen)m(ts)g(itself.)77 b(All)42
-b(classes)h Fn(\045)p Fo(x)227 3830 y Fp(describ)s(ed)31
-b(ab)s(o)m(v)m(e)i(can)g(also)g(b)s(e)f(used)f(as)i(comp)s(onen)m(ts)g
-(in)e(a)i(c)m(har-set.)48 b(All)31 b(other)i(c)m(haracters)h(in)d(c)m
-(har-)227 3942 y(set)g(represen)m(t)g(themselv)m(es.)0
-4130 y Fn([^char-set])42 b Fp(|)31 b(represen)m(ts)f(the)h(complemen)m
-(t)f(of)h(c)m(har-set,)h(where)d(c)m(har-set)j(is)e(in)m(terpreted)f
-(as)i(ab)s(o)m(v)m(e.)0 4370 y Fm(P)m(attern)39 b(Item:)89
-b Fp(a)35 b Fo(p)-5 b(attern)38 b(item)c Fp(ma)m(y)h(b)s(e)e(a)i
-(single)e(c)m(haracter)j(class,)f(or)f(a)h(c)m(haracter)g(class)f
-(follo)m(w)m(ed)g(b)m(y)0 4483 y Fn(*)j Fp(or)g(b)m(y)h
-Fn(?)p Fp(.)61 b(A)37 b(single)f(c)m(haracter)j(class)f(matc)m(hes)g
-(an)m(y)g(single)e(c)m(haracter)j(in)d(the)h(class.)62
-b(A)37 b(c)m(haracter)i(class)0 4596 y(follo)m(w)m(ed)33
-b(b)m(y)g Fn(*)f Fp(matc)m(hes)j(0)e(or)g(more)h(rep)s(etitions)d(of)i
-(c)m(haracters)i(in)d(the)h(class.)49 b(A)33 b(c)m(haracter)h(class)f
-(follo)m(w)m(ed)0 4709 y(b)m(y)27 b Fn(?)g Fp(matc)m(hes)h(0)g(or)f
-(one)h(o)s(ccurrence)f(of)g(a)h(c)m(haracter)h(in)d(the)h(class.)40
-b(A)27 b(pattern)g(item)g(ma)m(y)h(also)f(has)g(the)g(form)0
-4822 y Fn(\045n)p Fp(,)j(for)g Fn(n)g Fp(b)s(et)m(w)m(een)h(1)g(and)f
-(9;)h(suc)m(h)f(item)g(matc)m(hes)h(a)g(sub-string)e(equal)h(to)h(the)f
-(n-th)g(captured)g(string.)1905 5589 y(19)p eop
-%%Page: 20 20
-20 19 bop 0 91 a Fm(P)m(attern:)91 b Fp(a)32 b Fo(p)-5
-b(attern)34 b Fp(is)d(a)i(sequence)f(of)g(pattern)h(items.)45
-b(An)m(y)32 b(rep)s(etition)f(item)h(\()p Fn(*)p Fp(\))g(inside)e(a)i
-(pattern)h(will)0 204 y(alw)m(a)m(ys)f(matc)m(h)g(the)g(longest)f(p)s
-(ossible)e(sequence.)44 b(A)32 b Fn(^)f Fp(at)h(the)f(b)s(eginning)e
-(of)j(a)f(pattern)h(anc)m(hors)f(the)h(matc)m(h)0 317
-y(at)i(the)f(b)s(eginning)d(of)j(the)g(sub)5 b(ject)32
-b(string.)48 b(A)33 b Fn($)f Fp(at)i(the)f(end)f(of)h(a)g(pattern)g
-(anc)m(hors)g(the)g(matc)m(h)h(at)g(the)f(end)0 430 y(of)e(the)f(sub)5
-b(ject)30 b(string.)141 543 y(A)35 b(pattern)g(ma)m(y)h(con)m(tain)g
-(sub-patterns)e(enclosed)h(in)e(paren)m(theses,)k(that)f(describ)s(e)d
-Fo(c)-5 b(aptur)g(es)p Fp(.)57 b(When)35 b(a)0 656 y(matc)m(h)g
-(succeeds,)h(the)f(sub-strings)d(of)j(the)g(sub)5 b(ject)34
-b(string)f(that)i(matc)m(h)h(captures)e(are)h Fo(c)-5
-b(aptur)g(e)g(d)37 b Fp(for)d(future)0 769 y(use.)40
-b(Captures)30 b(are)h(n)m(um)m(b)s(ered)e(according)h(to)h(their)f
-(left)g(paren)m(theses.)0 1012 y Ff(6.3)112 b(Mathematical)36
-b(F)-9 b(unctions)0 1184 y Fp(This)24 b(library)g(is)h(an)i(in)m
-(terface)f(to)h(some)g(functions)e(of)h(the)g(standard)g(C)g(math)g
-(library)-8 b(.)37 b(Moreo)m(v)m(er,)29 b(it)d(registers)0
-1297 y(a)31 b(fallbac)m(k)f(for)g(the)g(binary)f(op)s(erator)i
-Fn(^)f Fp(whic)m(h,)f(when)g(applied)g(to)i(n)m(um)m(b)s(ers)e
-Fn(x^y)p Fp(,)g(returns)g Fe(x)3321 1264 y Fd(y)3363
-1297 y Fp(.)141 1410 y(The)h(library)e(pro)m(vides)h(the)i(follo)m
-(wing)e(functions:)0 1597 y Fn(abs)47 b(acos)g(asin)f(atan)h(atan2)f
-(ceil)h(cos)g(floor)f(log)h(log10)0 1710 y(max)g(min)95
-b(mod)f(sin)h(sqrt)46 b(tan)h(random)f(randomseed)0 1898
-y Fp(Most)36 b(of)f(them)g(are)h(only)e(in)m(terfaces)i(to)g(the)f
-(homon)m(ymous)g(functions)e(in)h(the)i(C)e(library)-8
-b(,)35 b(except)h(that,)h(for)0 2011 y(the)31 b(trigonometric)f
-(functions,)f(all)g(angles)h(are)h(expressed)f(in)f(degrees,)i(not)g
-(radians.)141 2124 y(The)22 b(function)g Fn(max)f Fp(returns)h(the)h
-(maxim)m(um)e(v)-5 b(alue)22 b(of)h(its)f(n)m(umeric)f(argumen)m(ts.)39
-b(Similarly)-8 b(,)21 b Fn(min)h Fp(computes)0 2237 y(the)31
-b(minim)m(um.)37 b(Both)31 b(can)g(b)s(e)f(used)f(with)h(an)g
-(unlimited)d(n)m(um)m(b)s(er)i(of)h(argumen)m(ts.)141
-2349 y(The)e(functions)e Fn(random)h Fp(and)g Fn(randomseed)e
-Fp(are)k(in)m(terfaces)f(to)h(the)f(simple)e(random)h(generator)i
-(functions)0 2462 y Fn(rand)35 b Fp(and)h Fn(srand)p
-Fp(,)h(pro)m(vided)f(b)m(y)g(ANSI)g(C.)h(The)f(function)f
-Fn(random)g Fp(returns)h(pseudo-random)f(n)m(um)m(b)s(ers)g(in)0
-2575 y(the)c(range)f([0)p Fe(;)15 b Fp(1\).)0 2819 y
-Ff(6.4)112 b(I/O)38 b(F)-9 b(acilities)0 2990 y Fp(All)37
-b(I/O)i(op)s(erations)f(in)f(Lua)i(are)g(done)g(o)m(v)m(er)h(t)m(w)m(o)
-g Fo(curr)-5 b(ent)39 b Fp(\014les:)57 b(one)39 b(for)f(reading)g(and)g
-(one)h(for)g(writing.)0 3103 y(Initially)-8 b(,)28 b(the)j(curren)m(t)f
-(input)e(\014le)i(is)f Fn(stdin)p Fp(,)g(and)h(the)h(curren)m(t)f
-(output)g(\014le)f(is)h Fn(stdout)p Fp(.)141 3216 y(Unless)k(otherwise)
-f(stated,)k(all)c(I/O)h(functions)f(return)h Fm(nil)g
-Fp(on)g(failure)f(and)h(some)h(v)-5 b(alue)34 b(di\013eren)m(t)f(from)0
-3329 y Fm(nil)d Fp(on)h(success.)0 3569 y Fk(\017)k Fn(readfrom)46
-b(\(filename\))0 3741 y Fp(This)29 b(function)g(ma)m(y)j(b)s(e)e
-(called)g(in)f(three)i(w)m(a)m(ys.)42 b(When)31 b(called)f(with)f(a)i
-(\014le)f(name,)h(it)g(op)s(ens)e(the)i(named)g(\014le,)0
-3854 y(sets)25 b(it)e(as)i(the)f Fo(curr)-5 b(ent)25
-b Fp(input)d(\014le,)j(and)f(returns)f(a)h Fo(hand)5
-b(le)25 b Fp(to)g(the)g(\014le)e(\(this)g(handle)g(is)g(a)i(user)e
-(data)i(con)m(taining)0 3967 y(the)37 b(\014le)f(stream)h
-Fn(FILE)47 b(*)p Fp(\).)60 b(When)37 b(called)f(with)f(a)j(\014le)e
-(handle,)h(returned)f(b)m(y)g(a)i(previous)d(call,)j(it)e(restores)0
-4080 y(the)31 b(\014le)e(as)i(the)f(curren)m(t)g(input.)39
-b(When)30 b(called)g(without)f(parameters,)i(it)f(closes)h(the)f
-(curren)m(t)g(input)f(\014le,)h(and)0 4192 y(restores)h
-Fn(stdin)e Fp(as)h(the)h(curren)m(t)f(input)f(\014le.)141
-4305 y(If)h(this)f(function)g(fails,)h(it)f(returns)h
-Fm(nil)p Fp(,)g(plus)f(a)h(string)g(describing)e(the)i(error.)141
-4418 y Fo(System)i(dep)-5 b(endent:)41 b Fp(if)27 b Fn(filename)f
-Fp(starts)j(with)e(a)i Fn(|)p Fp(,)g(then)f(a)h(pip)s(ed)d(input)g(is)i
-(op)s(en,)g(via)g(function)f Fn(popen)p Fp(.)0 4658 y
-Fk(\017)35 b Fn(writeto)46 b(\(filename\))0 4830 y Fp(This)38
-b(function)g(ma)m(y)i(b)s(e)f(called)g(in)g(three)g(w)m(a)m(ys.)70
-b(When)39 b(called)g(with)f(a)j(\014le)d(name,)43 b(it)c(op)s(ens)g
-(the)g(named)0 4943 y(\014le,)c(sets)h(it)e(as)h(the)g
-Fo(curr)-5 b(ent)36 b Fp(output)e(\014le,)i(and)e(returns)f(a)j
-Fo(hand)5 b(le)36 b Fp(to)f(the)g(\014le)f(\(this)g(handle)g(is)g(a)h
-(user)f(data)0 5056 y(con)m(taining)24 b(the)g(\014le)f(stream)i
-Fn(FILE)46 b(*)p Fp(\).)39 b(Notice)25 b(that,)h(if)d(the)i(\014le)e
-(already)h(exists,)h(it)f(will)d(b)s(e)j Fo(c)-5 b(ompletely)28
-b(er)-5 b(ase)g(d)0 5169 y Fp(with)28 b(this)g(op)s(eration.)40
-b(When)28 b(called)h(with)f(a)h(\014le)f(handle,)g(returned)g(b)m(y)h
-(a)h(previous)d(call,)i(it)g(restores)h(the)f(\014le)1905
-5589 y(20)p eop
-%%Page: 21 21
-21 20 bop 0 91 a Fp(as)37 b(the)g(curren)m(t)g(output.)59
-b(When)37 b(called)f(without)g(parameters,)j(this)c(function)h(closes)h
-(the)g(curren)m(t)f(output)0 204 y(\014le,)30 b(and)f(restores)i
-Fn(stdout)e Fp(as)i(the)f(curren)m(t)g(output)g(\014le.)141
-317 y(If)g(this)f(function)g(fails,)h(it)f(returns)h
-Fm(nil)p Fp(,)g(plus)f(a)h(string)g(describing)e(the)i(error.)141
-430 y Fo(System)e(dep)-5 b(endent:)39 b Fp(if)24 b Fn(filename)e
-Fp(starts)k(with)d(a)i Fn(|)p Fp(,)h(then)e(a)h(pip)s(ed)e(output)h(is)
-g(op)s(en,)h(via)g(function)e Fn(popen)p Fp(.)0 670 y
-Fk(\017)35 b Fn(appendto)46 b(\(filename\))0 842 y Fp(This)34
-b(function)h(op)s(ens)g(a)h(\014le)f(named)h Fn(filename)d
-Fp(and)j(sets)g(it)f(as)h(the)h Fo(curr)-5 b(ent)36 b
-Fp(output)g(\014le.)56 b(It)36 b(returns)f(the)0 955
-y(\014le)30 b(handle,)g(or)h Fm(nil)g Fp(in)e(case)j(of)f(error.)42
-b(Unlik)m(e)30 b(the)h Fn(writeto)d Fp(op)s(eration,)j(this)f(function)
-f(do)s(es)i(not)g(erase)h(an)m(y)0 1068 y(previous)d(con)m(ten)m(t)j
-(of)f(the)f(\014le.)40 b(If)30 b(this)f(function)g(fails,)g(it)h
-(returns)f Fm(nil)p Fp(,)i(plus)e(a)h(string)g(describing)e(the)i
-(error.)141 1181 y(Notice)h(that)g(function)f Fn(writeto)e
-Fp(is)h(a)m(v)-5 b(ailable)30 b(to)h(close)g(a)g(\014le.)0
-1421 y Fk(\017)k Fn(remove)46 b(\(filename\))0 1592 y
-Fp(This)25 b(function)h(deletes)h(the)g(\014le)g(with)e(the)j(giv)m(en)
-f(name.)39 b(If)27 b(this)f(function)f(fails,)i(it)g(returns)e
-Fm(nil)p Fp(,)j(plus)e(a)h(string)0 1705 y(describing)h(the)j(error.)0
-1945 y Fk(\017)k Fn(rename)46 b(\(name1,)g(name2\))0
-2117 y Fp(This)41 b(function)h(renames)i(\014le)e Fn(name1)g
-Fp(to)i Fn(name2)p Fp(.)78 b(If)43 b(this)f(function)g(fails,)j(it)e
-(returns)f Fm(nil)p Fp(,)47 b(plus)41 b(a)j(string)0
-2230 y(describing)28 b(the)j(error.)0 2470 y Fk(\017)k
-Fn(tmpname)46 b(\(\))0 2642 y Fp(This)29 b(function)g(returns)g(a)i
-(string)e(with)g(a)i(\014le)e(name)i(that)g(can)f(safely)g(b)s(e)g
-(used)g(for)g(a)g(temp)s(orary)g(\014le.)0 2882 y Fk(\017)35
-b Fn(read)47 b(\([readpattern]\))0 3053 y Fp(This)25
-b(function)h(reads)h(the)g(curren)m(t)g(input)e(according)i(to)g(a)h
-(read)f(pattern,)h(that)f(sp)s(eci\014es)f(ho)m(w)h(m)m(uc)m(h)g(to)h
-(read;)0 3166 y(c)m(haracters)36 b(are)g(read)f(from)f(the)h(curren)m
-(t)g(input)e(\014le)h(un)m(til)f(the)j(read)e(pattern)i(fails)d(or)i
-(ends.)54 b(The)34 b(function)0 3279 y Fn(read)28 b Fp(returns)f(a)i
-(string)f(with)g(the)g(c)m(haracters)j(read,)e(or)g Fm(nil)g
-Fp(if)e(the)i(read)g(pattern)g(fails)e Fo(and)39 b Fp(the)29
-b(result)f(string)0 3392 y(w)m(ould)35 b(b)s(e)g(empt)m(y)-8
-b(.)58 b(When)35 b(called)g(without)g(parameters,)j(it)d(uses)h(a)g
-(default)f(pattern)h(that)g(reads)g(the)g(next)0 3505
-y(line)29 b(\(see)i(b)s(elo)m(w\).)141 3618 y(A)37 b
-Fo(r)-5 b(e)g(ad)40 b(p)-5 b(attern)38 b Fp(is)e(a)h(sequence)g(of)f
-(read)h(pattern)g(items.)58 b(An)37 b(item)f(ma)m(y)h(b)s(e)f(a)h
-(single)e(c)m(haracter)j(class)0 3731 y(or)33 b(a)h(c)m(haracter)g
-(class)f(follo)m(w)m(ed)g(b)m(y)g Fn(?)f Fp(or)i(b)m(y)e
-Fn(*)p Fp(.)49 b(A)33 b(single)f(c)m(haracter)j(class)d(reads)h(the)g
-(next)h(c)m(haracter)g(from)0 3844 y(the)k(input)d(if)i(it)g(b)s
-(elongs)f(to)j(the)e(class,)j(otherwise)d(it)g(fails.)61
-b(A)37 b(c)m(haracter)i(class)f(follo)m(w)m(ed)f(b)m(y)g
-Fn(?)g Fp(reads)h(the)0 3957 y(next)d(c)m(haracter)i(from)d(the)h
-(input)e(if)h(it)h(b)s(elongs)f(to)i(the)f(class;)i(it)e(nev)m(er)g
-(fails.)53 b(A)35 b(c)m(haracter)i(class)d(follo)m(w)m(ed)0
-4069 y(b)m(y)f Fn(*)f Fp(reads)g(un)m(til)f(a)i(c)m(haracter)i(that)e
-(do)s(es)f(not)h(b)s(elong)f(to)i(the)f(class,)g(or)g(end)f(of)g
-(\014le;)i(since)e(it)g(can)h(matc)m(h)h(a)0 4182 y(sequence)d(of)f
-(zero)h(c)m(haracteres,)i(it)d(nev)m(er)h(fails.)1691
-4149 y Fl(4)141 4295 y Fp(A)e(pattern)f(item)g(ma)m(y)h(con)m(tain)g
-(sub-patterns)e(enclosed)i(in)e(curly)g(brac)m(k)m(ets,)j(that)f
-(describ)s(e)e Fo(skips)p Fp(.)40 b(Char-)0 4408 y(acters)31
-b(matc)m(hing)g(a)g(skip)e(are)h(read,)h(but)e(are)i(not)g(included)c
-(in)j(the)g(resulting)f(string.)141 4521 y(F)-8 b(ollo)m(wing)30
-b(are)h(some)g(examples)e(of)i(read)f(patterns)h(and)e(their)h
-(meanings:)136 4709 y Fk(\017)46 b Fn(".")30 b Fp(returns)f(the)h(next)
-h(c)m(haracter,)h(or)f Fm(nil)f Fp(on)g(end)g(of)h(\014le.)136
-4896 y Fk(\017)46 b Fn(".*")29 b Fp(reads)i(the)f(whole)g(\014le.)p
-0 4958 1560 4 v 104 5012 a Fj(4)138 5043 y Fi(Notice)24
-b(that)e(this)h(b)r(eha)n(viour)g(is)h(di\013eren)n(t)e(from)h(regular)
-h(pattern)e(matc)n(hing,)h(where)h(a)f Fc(*)g Fi(expands)f(to)i(the)e
-(maxim)n(um)e(length)0 5135 y Fg(such)28 b(that)35 b
-Fi(the)25 b(rest)h(of)g(the)f(pattern)h(do)r(es)g(not)g(fail.)1905
-5589 y Fp(21)p eop
-%%Page: 22 22
-22 21 bop 136 91 a Fk(\017)46 b Fn("[^\\n]*{\\n}")30
-b Fp(returns)i(the)h(next)g(line)f(\(skipping)e(the)k(end)e(of)h
-(line\),)g(or)g Fm(nil)g Fp(on)g(end)g(of)g(\014le.)48
-b(This)31 b(is)227 204 y(the)g(default)e(pattern.)136
-392 y Fk(\017)46 b Fn("{\045s*}\045S\045S*")31 b Fp(returns)i(the)h
-(next)g(w)m(ord)g(\(maximal)f(sequence)h(of)h(non)e(white-space)h(c)m
-(haracters\),)j(or)227 505 y Fm(nil)31 b Fp(on)f(end)g(of)g(\014le.)136
-692 y Fk(\017)46 b Fn("{\045s*}[+-]?\045d\045d*")26 b
-Fp(returns)j(the)i(next)f(in)m(teger)h(or)f Fm(nil)h
-Fp(if)e(the)i(next)f(c)m(haracters)i(do)e(not)h(conform)f(to)227
-805 y(an)h(in)m(teger)f(format.)0 1045 y Fk(\017)35 b
-Fn(write)47 b(\(value1,)e(...\))0 1217 y Fp(This)30 b(function)h
-(writes)h(the)g(v)-5 b(alue)32 b(of)g(eac)m(h)h(of)g(its)e(argumen)m
-(ts)i(to)g(the)f(curren)m(t)g(output)g(\014le.)45 b(The)32
-b(argumen)m(ts)0 1330 y(m)m(ust)e(b)s(e)f(strings)g(or)i(n)m(um)m(b)s
-(ers.)39 b(If)29 b(this)g(function)g(fails,)g(it)h(returns)f
-Fm(nil)p Fp(,)h(plus)e(a)j(string)e(describing)f(the)i(error.)0
-1570 y Fk(\017)35 b Fn(date)47 b(\([format]\))0 1742
-y Fp(This)35 b(function)h(returns)g(a)i(string)e(con)m(taining)h(date)h
-(and)e(time)h(formatted)h(according)f(to)h(the)g(giv)m(en)f(string)0
-1855 y Fn(format)p Fp(,)f(follo)m(wing)f(the)h(same)h(rules)d(of)j(the)
-f(ANSI)g(C)g(function)e Fn(strftime)p Fp(.)56 b(When)36
-b(called)g(without)f(argu-)0 1968 y(men)m(ts,)c(it)f(returns)f(a)i
-(reasonable)f(date)h(and)f(time)g(represen)m(tation.)0
-2208 y Fk(\017)35 b Fn(exit)47 b(\([code]\))0 2379 y
-Fp(This)29 b(function)g(calls)g(the)i(C)f(function)f
-Fn(exit)p Fp(,)g(with)g(an)i(optional)e Fn(code)p Fp(,)h(to)h
-(terminate)f(the)h(program.)0 2619 y Fk(\017)k Fn(getenv)46
-b(\(varname\))0 2791 y Fp(Returns)29 b(the)i(v)-5 b(alue)30
-b(of)g(the)h(en)m(vironmen)m(t)f(v)-5 b(ariable)29 b
-Fn(varname)p Fp(,)g(or)h Fm(nil)h Fp(if)e(the)h(v)-5
-b(ariable)30 b(is)f(not)i(de\014ned.)0 3031 y Fk(\017)k
-Fn(execute)46 b(\(command\))0 3203 y Fp(This)38 b(function)h(is)g
-(equiv)-5 b(alen)m(t)39 b(to)h(the)h(C)e(function)g Fn(system)p
-Fp(.)67 b(It)40 b(passes)g Fn(command)e Fp(to)i(b)s(e)g(executed)g(b)m
-(y)g(an)0 3316 y(Op)s(erating)29 b(System)h(Shell.)39
-b(It)30 b(returns)f(an)i(error)f(co)s(de,)h(whic)m(h)e(is)g(implemen)m
-(tation-de\014ned.)0 3602 y Fq(7)135 b(The)44 b(Debugger)i(In)l
-(terface)0 3805 y Fp(Lua)31 b(has)f(no)h(built-in)d(debugger)j
-(facilities.)41 b(Instead,)31 b(it)f(o\013ers)i(a)f(sp)s(ecial)f(in)m
-(terface,)h(b)m(y)g(means)g(of)g(functions)0 3918 y(and)f
-Fo(ho)-5 b(oks)p Fp(,)34 b(whic)m(h)29 b(allo)m(ws)i(the)g
-(construction)g(of)g(di\013eren)m(t)f(kinds)f(of)j(debuggers,)f
-(pro\014lers,)e(and)i(other)g(to)s(ols)0 4031 y(that)37
-b(need)e(\\inside)g(information")f(from)i(the)g(in)m(terpreter.)57
-b(This)35 b(in)m(terface)h(is)f(declared)h(in)f(the)h(header)g(\014le)0
-4144 y Fn(luadebug.h)p Fp(.)0 4387 y Ff(7.1)112 b(Stac)m(k)38
-b(and)g(F)-9 b(unction)37 b(Information)0 4559 y Fp(The)30
-b(main)f(function)g(to)i(get)h(information)d(ab)s(out)h(the)g(in)m
-(terpreter)g(stac)m(k)i(is)0 4746 y Fn(lua_Function)44
-b(lua_stackedfunction)f(\(int)k(level\);)0 4934 y Fp(It)35
-b(returns)e(a)i(handle)e(\()p Fn(lua_Function)p Fp(\))f(to)k(the)e
-Fo(activation)k(r)-5 b(e)g(c)g(or)g(d)47 b Fp(of)35 b(the)f(function)g
-(executing)h(at)g(a)g(giv)m(en)0 5047 y(lev)m(el.)68
-b(Lev)m(el)40 b(0)g(is)f(the)h(curren)m(t)g(running)d(function,)k
-(while)c(lev)m(el)j Fe(n)26 b Fp(+)g(1)40 b(is)f(the)h(function)e(that)
-i(has)g(called)0 5160 y(lev)m(el)g Fe(n)p Fp(.)69 b(When)39
-b(called)h(with)e(a)j(lev)m(el)e(greater)i(than)f(the)g(stac)m(k)i
-(depth,)f Fn(lua_stackedfunction)35 b Fp(returns)0 5273
-y Fn(LUA_NOOBJECT)p Fp(.)1905 5589 y(22)p eop
-%%Page: 23 23
-23 22 bop 141 91 a Fp(The)43 b(t)m(yp)s(e)g Fn(lua_Function)c
-Fp(is)j(just)g(another)h(name)g(to)h Fn(lua_Object)p
-Fp(.)75 b(Although,)46 b(in)41 b(this)h(library)-8 b(,)45
-b(a)0 204 y Fn(lua_Function)23 b Fp(can)k(b)s(e)f(used)g(wherev)m(er)h
-(a)g Fn(lua_Object)d Fp(is)h(required,)h(a)h(parameter)g
-Fn(lua_Function)d Fp(accepts)0 317 y(only)29 b(a)i(handle)e(returned)g
-(b)m(y)i Fn(lua_stackedfunction)p Fp(.)141 430 y(Three)f(other)h
-(functions)e(pro)s(duce)g(extra)i(information)e(ab)s(out)h(a)g
-(function:)0 593 y Fn(void)47 b(lua_funcinfo)d(\(lua_Object)h(func,)h
-(char)h(**filename,)e(int)h(*linedefined\);)0 706 y(int)h
-(lua_currentline)d(\(lua_Function)g(func\);)0 819 y(char)j
-(*lua_getobjname)c(\(lua_Object)i(o,)i(char)g(**name\);)0
-982 y(lua_funcinfo)31 b Fp(giv)m(es)j(the)h(\014le)e(name)h(and)g(the)g
-(line)f(where)g(the)i(giv)m(en)f(function)f(has)h(b)s(een)f(de\014ned.)
-51 b(If)34 b(the)0 1095 y(\\function")40 b(is)f(in)g(fact)j(the)e(main)
-f(co)s(de)i(of)f(a)h(c)m(h)m(unk,)i(then)d Fn(linedefined)d
-Fp(is)j(0.)71 b(If)40 b(the)g(function)f(is)h(a)g(C)0
-1208 y(function,)29 b(then)h Fn(linedefined)e Fp(is)h(-1,)i(and)f
-Fn(filename)e Fp(is)i Fn("\(C\)")p Fp(.)141 1320 y(The)35
-b(function)e Fn(lua_currentline)e Fp(giv)m(es)k(the)h(curren)m(t)e
-(line)g(where)g(a)h(giv)m(en)g(function)f(is)g(executing.)55
-b(It)0 1433 y(only)30 b(w)m(orks)h(if)f(the)h(function)f(has)g(b)s(een)
-g(pre-compiled)g(with)f(debug)h(information)g(\(see)i(Section)e(4.8\).)
-44 b(When)0 1546 y(no)30 b(line)f(information)g(is)g(a)m(v)-5
-b(ailable,)30 b(it)g(returns)f(-1.)141 1659 y(F)-8 b(unction)32
-b Fn(lua_getobjname)d Fp(tries)j(to)h(\014nd)d(a)j(reasonable)f(name)h
-(for)f(a)h(giv)m(en)f(function.)46 b(Because)34 b(func-)0
-1772 y(tions)22 b(in)f(Lua)h(are)g(\014rst)g(class)g(v)-5
-b(alues,)23 b(they)g(do)f(not)g(ha)m(v)m(e)i(a)e(\014xed)g(name.)38
-b(Some)22 b(functions)f(ma)m(y)i(b)s(e)f(the)g(v)-5 b(alue)22
-b(of)0 1885 y(man)m(y)30 b(global)e(v)-5 b(ariables,)29
-b(while)e(others)j(ma)m(y)g(b)s(e)f(stored)h(only)e(in)g(a)i(table)g
-(\014eld.)39 b(F)-8 b(unction)29 b Fn(lua_getobjname)0
-1998 y Fp(\014rst)k(c)m(hec)m(ks)j(whether)d(the)h(giv)m(en)g(function)
-f(is)g(a)i(fallbac)m(k.)51 b(If)33 b(so,)j(it)d(returns)g(the)h(string)
-f Fn("fallback")p Fp(,)g(and)0 2111 y Fn(name)e Fp(is)f(set)i(to)h(p)s
-(oin)m(t)e(to)h(the)g(fallbac)m(k)f(name.)45 b(Otherwise,)31
-b(if)f(the)i(giv)m(en)g(function)e(is)h(the)h(v)-5 b(alue)31
-b(of)h(a)g(global)0 2224 y(v)-5 b(ariable,)22 b(then)f
-Fn(lua_getobjname)c Fp(returns)j(the)h(string)f Fn("global")p
-Fp(,)h(while)f Fn(name)g Fp(p)s(oin)m(ts)g(to)h(the)h(v)-5
-b(ariable)20 b(name.)0 2337 y(If)32 b(the)g(giv)m(en)h(function)e(is)g
-(neither)g(a)i(fallbac)m(k)f(nor)g(a)h(global)e(v)-5
-b(ariable,)32 b(then)g Fn(lua_getobjname)d Fp(returns)i(the)0
-2450 y(empt)m(y)g(string,)e(and)h Fn(name)f Fp(is)h(set)h(to)g
-Fn(NULL)p Fp(.)0 2688 y Ff(7.2)112 b(Manipulating)37
-b(Lo)s(cal)g(V)-9 b(ariables)0 2860 y Fp(The)32 b(follo)m(wing)f
-(functions)f(allo)m(w)i(the)h(manipulation)c(of)k(the)f(lo)s(cal)g(v)-5
-b(ariables)31 b(of)h(a)h(giv)m(en)f(activ)-5 b(ation)33
-b(record.)0 2973 y(They)d(only)f(w)m(ork)i(if)e(the)i(function)e(has)h
-(b)s(een)g(pre-compiled)e(with)h(debug)h(information)f(\(see)i(Section)
-f(4.8\).)0 3136 y Fn(lua_Object)45 b(lua_getlocal)f(\(lua_Function)h
-(func,)h(int)h(local_number,)d(char)j(**name\);)0 3249
-y(int)g(lua_setlocal)d(\(lua_Function)h(func,)h(int)h(local_number\);)0
-3412 y Fp(The)37 b(\014rst)f(one)h(returns)f(the)h(v)-5
-b(alue)37 b(of)g(a)h(lo)s(cal)e(v)-5 b(ariable,)38 b(and)e(sets)i
-Fn(name)e Fp(to)i(p)s(oin)m(t)e(to)h(the)h(v)-5 b(ariable)36
-b(name.)0 3525 y Fn(local_number)e Fp(is)i(an)h(index)f(for)h(lo)s(cal)
-f(v)-5 b(ariables.)60 b(The)37 b(\014rst)g(parameter)g(has)g(index)f
-(1,)k(and)c(so)i(on,)h(un)m(til)0 3638 y(the)45 b(last)f(activ)m(e)i
-(lo)s(cal)e(v)-5 b(ariable.)82 b(When)44 b(called)g(with)f(a)i
-Fn(local_number)d Fp(greater)j(than)g(the)g(n)m(um)m(b)s(er)e(of)0
-3750 y(activ)m(e)32 b(lo)s(cal)f(v)-5 b(ariables,)30
-b(or)h(if)e(the)j(activ)-5 b(ation)31 b(record)g(has)g(no)g(debug)f
-(information,)g Fn(lua_getlocal)d Fp(returns)0 3863 y
-Fn(LUA_NOOBJECT)p Fp(.)141 3976 y(The)22 b(function)f
-Fn(lua_setlocal)e Fp(sets)k(the)f(lo)s(cal)g(v)-5 b(ariable)21
-b Fn(local_number)e Fp(to)k(the)g(v)-5 b(alue)22 b(previously)e(pushed)
-0 4089 y(on)j(the)g(stac)m(k)i(\(see)f(Section)e(5.2\).)40
-b(If)23 b(the)g(function)f(succeeds,)j(then)d(it)h(returns)f(1.)38
-b(If)23 b Fn(local_number)d Fp(is)i(greater)0 4202 y(than)j(the)g(n)m
-(um)m(b)s(er)e(of)j(activ)m(e)g(lo)s(cal)e(v)-5 b(ariables,)25
-b(or)g(if)f(the)h(activ)-5 b(ation)25 b(record)g(has)g(no)f(debug)h
-(information,)f(then)0 4315 y(this)29 b(function)g(fails)g(and)h
-(returns)f(0.)0 4554 y Ff(7.3)112 b(Ho)s(oks)0 4725 y
-Fp(The)30 b(Lua)g(in)m(terpreter)g(o\013ers)g(t)m(w)m(o)i(ho)s(oks)e
-(for)g(debugging)g(purp)s(oses:)0 4888 y Fn(typedef)46
-b(void)g(\(*lua_CHFunction\))e(\(lua_Function)g(func,)i(char)h(*file,)f
-(int)h(line\);)0 5001 y(extern)f(lua_CHFunction)e(lua_callhook;)0
-5227 y(typedef)i(void)g(\(*lua_LHFunction\))e(\(int)i(line\);)0
-5340 y(extern)g(lua_LHFunction)e(lua_linehook;)1905 5589
-y Fp(23)p eop
-%%Page: 24 24
-24 23 bop 0 91 a Fp(The)44 b(\014rst)f(one)i(is)e(called)g(whenev)m(er)
-h(the)g(in)m(terpreter)g(en)m(ters)h(or)f(lea)m(v)m(es)h(a)g(function.)
-81 b(When)43 b(en)m(tering)i(a)0 204 y(function,)35 b(its)g(parameters)
-h(are)g(a)f(handle)f(to)i(the)g(function)e(activ)-5 b(ation)35
-b(record,)i(plus)c(the)j(\014le)e(and)h(the)h(line)0
-317 y(where)g(the)h(function)e(is)h(de\014ned)g(\(the)h(same)g
-(information)e(whic)m(h)g(is)h(pro)m(vided)f(b)m(y)i
-Fn(lua_funcinfo)p Fp(\);)g(when)0 430 y(lea)m(ving)30
-b(a)h(function,)e Fn(func)g Fp(is)h Fn(LUA_NOOBJECT)p
-Fp(,)d Fn(file)i Fp(is)h Fn("\(return\)")p Fp(,)e(and)h
-Fn(line)g Fp(is)h(0.)141 543 y(The)46 b(other)h(ho)s(ok)g(is)f(called)f
-(ev)m(ery)j(time)e(the)h(in)m(terpreter)f(c)m(hanges)i(the)f(line)e(of)
-i(co)s(de)g(it)f(is)g(execut-)0 656 y(ing.)63 b(Its)38
-b(only)f(parameter)h(is)f(the)h(line)f(n)m(um)m(b)s(er)f(\(the)j(same)f
-(information)e(whic)m(h)h(is)g(pro)m(vided)g(b)m(y)g(the)i(call)0
-769 y Fn(lua_currentline\(lua_stac)o(kedf)o(unct)o(ion)o(\(0\)\))o
-Fp(\).)34 b(This)25 b(second)h(ho)s(ok)h(is)e(only)h(called)g(if)f(the)
-i(activ)m(e)h(func-)0 882 y(tion)i(has)g(b)s(een)g(pre-compiled)e(with)
-h(debug)h(information)f(\(see)i(Section)f(4.8\).)141
-995 y(A)h(ho)s(ok)f(is)f(disabled)f(when)i(its)f(v)-5
-b(alue)30 b(is)g(NULL)g(\(0\),)i(whic)m(h)d(is)g(the)i(initial)c(v)-5
-b(alue)30 b(of)h(b)s(oth)e(ho)s(oks.)0 1281 y Fq(8)135
-b(Some)45 b(Examples)0 1484 y Fp(This)32 b(section)i(giv)m(es)g
-(examples)f(sho)m(wing)g(some)h(features)g(of)g(Lua.)51
-b(It)34 b(do)s(es)f(not)h(in)m(tend)f(to)h(co)m(v)m(er)i(the)e(whole)0
-1597 y(language,)d(but)f(only)f(to)i(illustrate)e(some)i(in)m
-(teresting)e(uses)h(of)h(the)f(system.)0 1840 y Ff(8.1)112
-b(Data)38 b(Structures)0 2012 y Fp(T)-8 b(ables)28 b(are)i(a)f(strong)g
-(unifying)d(data)k(constructor.)40 b(They)29 b(directly)e(implemen)m(t)
-h(a)h(m)m(ultitude)e(of)i(data)h(t)m(yp)s(es,)0 2125
-y(lik)m(e)g(ordinary)e(arra)m(ys,)j(records,)g(sets,)g(bags,)g(and)e
-(lists.)141 2238 y(Arra)m(ys)40 b(need)g(no)h(explanations.)69
-b(In)39 b(Lua,)k(it)d(is)f(con)m(v)m(en)m(tional)i(to)g(start)g
-(indices)d(from)i(1,)j(but)d(this)f(is)0 2351 y(only)28
-b(a)i(con)m(v)m(en)m(tion.)41 b(Arra)m(ys)29 b(can)h(b)s(e)e(indexed)g
-(b)m(y)h(0,)h(negativ)m(e)g(n)m(um)m(b)s(ers,)e(or)h(an)m(y)h(other)f
-(v)-5 b(alue)29 b(\(except)h Fm(nil)p Fp(\).)0 2464 y(Records)g(are)h
-(also)g(trivially)c(implemen)m(ted)i(b)m(y)h(the)h(syn)m(tactic)g
-(sugar)f Fn(a.x)p Fp(.)141 2576 y(The)j(b)s(est)g(w)m(a)m(y)i(to)f
-(implemen)m(t)e(a)i(set)g(is)e(to)j(store)f(its)f(elemen)m(ts)g(as)h
-(indices)e(of)h(a)h(table.)50 b(The)33 b(statemen)m(t)0
-2689 y Fn(s)47 b(=)h({})29 b Fp(creates)i(an)e(empt)m(y)h(set)g
-Fn(s)p Fp(.)40 b(The)29 b(statemen)m(t)i Fn(s[x])47 b(=)g(1)29
-b Fp(inserts)f(the)i(v)-5 b(alue)29 b(of)g Fn(x)g Fp(in)m(to)h(the)f
-(set)h Fn(s)p Fp(.)40 b(The)0 2802 y(expression)28 b
-Fn(s[x])g Fp(is)g(true)g(if)g(and)h(only)f(if)g Fn(x)g
-Fp(b)s(elongs)g(to)i Fn(s)p Fp(.)40 b(Finally)-8 b(,)28
-b(the)h(statemen)m(t)i Fn(s[x])46 b(=)i(nil)28 b Fp(remo)m(v)m(es)i
-Fn(x)0 2915 y Fp(from)g Fn(s)p Fp(.)141 3028 y(Bags)i(can)g(b)s(e)e
-(implemen)m(ted)g(similarly)e(to)k(sets,)g(but)e(using)g(the)h(v)-5
-b(alue)31 b(asso)s(ciated)h(to)f(an)g(elemen)m(t)h(as)g(its)0
-3141 y(coun)m(ter.)41 b(So,)31 b(to)g(insert)e(an)i(elemen)m(t,)g(the)f
-(follo)m(wing)f(co)s(de)i(is)e(enough:)0 3329 y Fn(if)47
-b(s[x])g(then)f(s[x])h(=)h(s[x]+1)e(else)g(s[x])h(=)g(1)h(end)0
-3516 y Fp(and)30 b(to)h(remo)m(v)m(e)h(an)e(elemen)m(t:)0
-3704 y Fn(if)47 b(s[x])g(then)f(s[x])h(=)h(s[x]-1)e(end)0
-3817 y(if)h(s[x])g(==)g(0)g(then)g(s[x])g(=)g(nil)g(end)141
-4004 y Fp(Lisp-lik)m(e)41 b(lists)g(also)h(ha)m(v)m(e)i(an)e(easy)i
-(implemen)m(tation.)75 b(The)42 b(\\cons")i(of)f(t)m(w)m(o)g(elemen)m
-(ts)g Fn(x)g Fp(and)e Fn(y)i Fp(can)0 4117 y(b)s(e)32
-b(created)i(with)e(the)h(co)s(de)g Fn(l)48 b(=)f({car=x,)f(cdr=y})p
-Fp(.)h(The)32 b(expression)g Fn(l.car)g Fp(extracts)i(the)f(header,)h
-(while)0 4230 y Fn(l.cdr)27 b Fp(extracts)j(the)f(tail.)39
-b(An)28 b(alternativ)m(e)h(w)m(a)m(y)h(is)e(to)h(create)h(the)f(list)e
-(directly)g(with)h Fn(l={x,y})p Fp(,)f(and)h(then)g(to)0
-4343 y(extract)k(the)e(header)h(with)e Fn(l[1])g Fp(and)h(the)g(tail)g
-(with)f Fn(l[2])p Fp(.)0 4587 y Ff(8.2)112 b(The)38 b(F)-9
-b(unctions)37 b Fb(next)h Ff(and)h Fb(nextvar)0 4758
-y Fp(This)34 b(example)i(sho)m(ws)g(ho)m(w)g(to)h(use)f(the)g(function)
-f Fn(next)g Fp(to)i(iterate)f(o)m(v)m(er)i(the)e(\014elds)f(of)h(a)g
-(table.)58 b(F)-8 b(unction)0 4871 y Fn(clone)29 b Fp(receiv)m(es)i(an)
-m(y)g(table)f(and)g(returns)f(a)i(clone)f(of)h(it.)0
-5059 y Fn(function)46 b(clone)g(\(t\))524 b(--)47 b(t)h(is)f(a)g(table)
-95 5172 y(local)g(new_t)f(=)i({})524 b(--)47 b(create)f(a)i(new)f
-(table)95 5285 y(local)g(i,)g(v)g(=)h(next\(t,)e(nil\))94
-b(--)47 b(i)h(is)f(an)g(index)f(of)i(t,)f(v)g(=)h(t[i])1905
-5589 y Fp(24)p eop
-%%Page: 25 25
-25 24 bop 95 91 a Fn(while)47 b(i)g(do)191 204 y(new_t[i])e(=)j(v)191
-317 y(i,)f(v)h(=)f(next\(t,)f(i\))381 b(--)47 b(get)g(next)g(index)95
-430 y(end)95 543 y(return)g(new_t)0 656 y(end)141 825
-y Fp(The)30 b(next)h(example)f(prin)m(ts)e(the)j(names)f(of)h(all)e
-(global)h(v)-5 b(ariables)29 b(in)g(the)h(system)h(with)e(non)h(nil)e
-(v)-5 b(alues:)0 995 y Fn(function)46 b(printGlobalVariables)c(\(\))95
-1108 y(local)47 b(i,)g(v)g(=)h(nextvar\(nil\))95 1221
-y(while)f(i)g(do)191 1334 y(print\(i\))191 1447 y(i,)g(v)h(=)f
-(nextvar\(i\))95 1560 y(end)0 1672 y(end)0 1913 y Ff(8.3)112
-b(String)37 b(Manipulation)0 2084 y Fp(The)30 b(\014rst)f(example)i(is)
-e(a)i(function)e(to)i(trim)e(extra)i(white-spaces)g(at)g(the)f(b)s
-(eginning)e(and)i(end)f(of)i(a)g(string.)0 2254 y Fn(function)46
-b(trim\(s\))95 2367 y(local)h(_,)g(i)g(=)h(strfind\(s,)d('^)i(*'\))95
-2480 y(local)g(f,)g(__)g(=)h(strfind\(s,)d(')i(*$'\))95
-2592 y(return)g(strsub\(s,)e(i+1,)h(f-1\))0 2705 y(end)141
-2875 y Fp(The)30 b(second)g(example)h(sho)m(ws)f(a)g(function)f(that)i
-(eliminates)e(all)g(spaces)i(of)g(a)g(string.)0 3044
-y Fn(function)46 b(remove_blanks)e(\(s\))95 3157 y(return)j(gsub\(s,)e
-("\045s\045s*",)h(""\))0 3270 y(end)0 3510 y Ff(8.4)112
-b(V)-9 b(ariable)36 b(n)m(um)m(b)s(er)i(of)f(argumen)m(ts)0
-3682 y Fp(Lua)24 b(do)s(es)g(not)g(pro)m(vide)f(an)m(y)i(explicit)d
-(mec)m(hanism)i(to)g(deal)g(with)f(v)-5 b(ariable)23
-b(n)m(um)m(b)s(er)g(of)h(argumen)m(ts)g(in)f(function)0
-3795 y(calls.)38 b(Ho)m(w)m(ev)m(er,)28 b(one)d(can)g(use)f(table)h
-(constructors)g(to)g(sim)m(ulate)f(this)f(mec)m(hanism.)39
-b(As)24 b(an)h(example,)g(supp)s(ose)0 3908 y(a)31 b(function)e(to)i
-(concatenate)i(all)c(its)h(argumen)m(ts.)41 b(It)30 b(could)g(b)s(e)g
-(written)f(lik)m(e)0 4077 y Fn(function)46 b(concat)g(\(o\))95
-4190 y(local)h(i)g(=)h(1)95 4303 y(local)f(s)g(=)h('')95
-4416 y(while)f(o[i])f(do)191 4529 y(s)h(=)h(s)f(..)g(o[i])191
-4642 y(i)g(=)h(i+1)95 4755 y(end)95 4868 y(return)f(s)0
-4981 y(end)0 5150 y Fp(T)-8 b(o)31 b(call)f(it,)g(one)g(uses)g(a)h
-(table)f(constructor)h(to)g(join)f(all)f(argumen)m(ts:)95
-5320 y Fn(x)48 b(=)f(concat{"hello)e(",)i("john",)f(")h(and)g(",)g
-("mary"})1905 5589 y Fp(25)p eop
-%%Page: 26 26
-26 25 bop 0 91 a Ff(8.5)112 b(P)m(ersistence)0 263 y
-Fp(Because)41 b(of)e(its)g(re\015exiv)m(e)g(facilities,)h(p)s
-(ersistence)e(in)g(Lua)h(can)g(b)s(e)g(ac)m(hiev)m(ed)h(within)d(the)i
-(language.)68 b(This)0 376 y(section)24 b(sho)m(ws)g(some)g(w)m(a)m(ys)
-g(to)h(store)f(and)g(retriev)m(e)g(v)-5 b(alues)23 b(in)g(Lua,)i(using)
-d(a)i(text)h(\014le)e(written)g(in)f(the)j(language)0
-489 y(itself)k(as)i(the)f(storage)i(media.)141 602 y(T)-8
-b(o)31 b(store)g(a)g(single)e(v)-5 b(alue)30 b(with)f(a)h(name,)h(the)g
-(follo)m(wing)e(co)s(de)h(is)g(enough:)0 770 y Fn(function)46
-b(store)g(\(name,)g(value\))95 883 y(write\(format\('\\n\045s)d(=',)k
-(name\)\))95 996 y(write_value\(value\))0 1109 y(end)0
-1298 y(function)f(write_value)e(\(value\))95 1411 y(local)j(t)g(=)h
-(type\(value\))286 1524 y(if)g(t)f(==)g('nil')190 b(then)46
-b(write\('nil'\))95 1637 y(elseif)h(t)g(==)g('number')f(then)g
-(write\(value\))95 1750 y(elseif)h(t)g(==)g('string')f(then)g
-(write\(value,)f('q'\))95 1863 y(end)0 1976 y(end)0 2165
-y Fp(In)30 b(order)g(to)h(restore)g(this)e(v)-5 b(alue,)30
-b(a)h Fn(lua_dofile)c Fp(su\016ces.)141 2278 y(Storing)k(tables)h(is)f
-(a)i(little)e(more)h(complex.)45 b(Assuming)31 b(that)h(the)h(table)f
-(is)f(a)h(tree,)i(and)d(that)i(all)e(indices)0 2391 y(are)f(iden)m
-(ti\014ers)e(\(that)j(is,)f(the)g(tables)f(are)i(b)s(eing)d(used)i(as)g
-(records\),)g(then)g(its)f(v)-5 b(alue)30 b(can)g(b)s(e)f(written)g
-(directly)0 2504 y(with)g(table)h(constructors.)41 b(First,)30
-b(the)h(function)e Fn(write_value)e Fp(is)j(c)m(hanged)h(to)0
-2672 y Fn(function)46 b(write_value)e(\(value\))95 2785
-y(local)j(t)g(=)h(type\(value\))286 2898 y(if)g(t)f(==)g('nil')190
-b(then)46 b(write\('nil'\))95 3011 y(elseif)h(t)g(==)g('number')f(then)
-g(write\(value\))95 3124 y(elseif)h(t)g(==)g('string')f(then)g
-(write\(value,)f('q'\))95 3237 y(elseif)i(t)g(==)g('table')94
-b(then)46 b(write_record\(value\))95 3350 y(end)0 3463
-y(end)0 3631 y Fp(The)30 b(function)f Fn(write_record)e
-Fp(is:)0 3799 y Fn(function)46 b(write_record\(t\))95
-3912 y(local)h(i,)g(v)g(=)h(next\(t,)e(nil\))95 4025
-y(write\('{'\))93 b(--)47 b(starts)f(constructor)95 4138
-y(while)h(i)g(do)191 4251 y(store\(i,)e(v\))191 4364
-y(write\(',)g('\))191 4477 y(i,)i(v)h(=)f(next\(t,)f(i\))95
-4590 y(end)95 4703 y(write\('}'\))93 b(--)47 b(closes)f(constructor)0
-4816 y(end)0 5055 y Ff(8.6)112 b(Inheritance)0 5227 y
-Fp(The)29 b(fallbac)m(k)f(for)h(absen)m(t)h(indices)e(can)h(b)s(e)g
-(used)f(to)i(implemen)m(t)e(man)m(y)h(kinds)f(of)h(inheritance)f(in)g
-(Lua.)40 b(As)29 b(an)0 5340 y(example,)h(the)h(follo)m(wing)e(co)s(de)
-h(implemen)m(ts)f(single)g(inheritance:)1905 5589 y(26)p
-eop
-%%Page: 27 27
-27 26 bop 0 91 a Fn(function)46 b(Index)g(\(t,f\))95
-204 y(if)i(f)f(==)g('parent')f(then)94 b(--)47 b(to)h(avoid)e(loop)191
-317 y(return)g(OldIndex\(t,f\))95 430 y(end)95 543 y(local)h(p)g(=)h
-(t.parent)95 656 y(if)g(type\(p\))d(==)j('table')d(then)191
-769 y(return)h(p[f])95 882 y(else)191 995 y(return)g(OldIndex\(t,f\))95
-1108 y(end)0 1220 y(end)0 1446 y(OldIndex)g(=)h(setfallback\("index",)
-42 b(Index\))0 1634 y Fp(Whenev)m(er)30 b(Lua)e(attempts)i(to)f(access)
-i(an)d(absen)m(t)i(\014eld)d(in)h(a)h(table,)g(it)g(calls)f(the)h
-(fallbac)m(k)f(function)g Fn(Index)p Fp(.)38 b(If)0 1747
-y(the)27 b(table)f(has)g(a)h(\014eld)e Fn(parent)f Fp(with)h(a)i(table)
-f(v)-5 b(alue,)27 b(then)f(Lua)g(attempts)i(to)f(access)h(the)e
-(desired)f(\014eld)g(in)g(this)0 1860 y(paren)m(t)30
-b(ob)5 b(ject.)41 b(This)28 b(pro)s(cess)h(is)g(rep)s(eated)h(\\up)m(w)
-m(ards")g(un)m(til)d(a)k(v)-5 b(alue)29 b(for)g(the)h(\014eld)e(is)h
-(found)f(or)i(the)g(ob)5 b(ject)0 1973 y(has)30 b(no)g(paren)m(t.)41
-b(In)30 b(the)h(latter)f(case,)i(the)f(previous)d(fallbac)m(k)i(is)g
-(called)f(to)i(supply)d(a)j(v)-5 b(alue)30 b(for)g(the)h(\014eld.)141
-2086 y(When)c(b)s(etter)h(p)s(erformance)f(is)f(needed,)i(the)g(same)g
-(fallbac)m(k)f(ma)m(y)h(b)s(e)f(implemen)m(ted)f(in)g(C,)h(as)h
-(illustrated)0 2198 y(in)h(Figure)h(1.)41 b(This)29 b(co)s(de)h(m)m
-(ust)g(b)s(e)g(registered)g(with:)95 2386 y Fn
-(lua_pushstring\("parent"\);)95 2499 y(lockedParentName)44
-b(=)j(lua_ref\(1\);)95 2612 y(lua_pushobject\(lua_setfall)o(back)o
-(\("i)o(ndex)o(",)42 b(Index\)\);)95 2725 y(lockedOldIndex)i(=)k
-(lua_ref\(1\);)0 2912 y Fp(Notice)31 b(ho)m(w)g(the)f(string)g
-Fn("parent")e Fp(is)h(k)m(ept)i(lo)s(c)m(k)m(ed)g(in)e(Lua)h(for)g
-(optimal)g(p)s(erformance.)0 3156 y Ff(8.7)112 b(Programming)36
-b(with)g(Classes)0 3327 y Fp(There)f(are)h(man)m(y)f(di\013eren)m(t)g
-(w)m(a)m(ys)i(to)f(do)f(ob)5 b(ject-orien)m(ted)37 b(programming)d(in)g
-(Lua.)56 b(This)33 b(section)j(presen)m(ts)0 3440 y(one)e(p)s(ossible)e
-(w)m(a)m(y)j(to)g(implemen)m(t)e(classes,)j(using)c(the)j(inheritance)d
-(mec)m(hanism)i(presen)m(ted)g(ab)s(o)m(v)m(e.)53 b Fo(Ple)-5
-b(ase)0 3553 y(notic)g(e:)42 b(the)32 b(fol)5 b(lowing)33
-b(examples)g(only)g(work)f(with)h(the)f(index)g(fal)5
-b(lb)-5 b(ack)33 b(r)-5 b(e)g(de\014ne)g(d)33 b(ac)-5
-b(c)g(or)g(ding)34 b(to)f(Se)-5 b(ction)32 b(8.6)p Fp(.)141
-3666 y(As)d(one)g(could)e(exp)s(ect,)j(a)f(go)s(o)s(d)f(w)m(a)m(y)i(to)
-f(represen)m(t)g(a)g(class)f(is)g(with)f(a)i(table.)40
-b(This)27 b(table)h(will)e(con)m(tain)j(all)0 3779 y(instance)h(metho)s
-(ds)g(of)g(the)h(class,)f(plus)f(optional)h(default)f(v)-5
-b(alues)30 b(for)g(instance)g(v)-5 b(ariables.)40 b(An)30
-b(instance)g(of)h(a)0 3892 y(class)f(has)g(its)g Fn(parent)f
-Fp(\014eld)g(p)s(oin)m(ting)f(to)j(the)g(class,)f(and)g(so)h(it)f
-(\\inherits")f(all)g(metho)s(ds.)141 4005 y(F)-8 b(or)28
-b(instance,)f(a)g(class)g Fn(Point)e Fp(can)i(b)s(e)f(describ)s(ed)f
-(as)i(in)f(Figure)g(2.)40 b(F)-8 b(unction)26 b Fn(create)f
-Fp(helps)h(the)h(creation)0 4118 y(of)e(new)f(p)s(oin)m(ts,)h(adding)e
-(the)i(paren)m(t)g(\014eld.)37 b(F)-8 b(unction)24 b
-Fn(move)g Fp(is)g(an)g(example)g(of)h(an)g(instance)f(metho)s(d.)38
-b(Finally)-8 b(,)0 4231 y(a)38 b(sub)s(class)d(can)j(b)s(e)e(created)i
-(as)g(a)g(new)e(table,)j(with)d(the)i Fn(parent)d Fp(\014eld)h(p)s(oin)
-m(ting)f(to)j(its)f(sup)s(erclass.)60 b(It)37 b(is)0
-4344 y(in)m(teresting)c(to)h(notice)f(ho)m(w)g(the)h(use)f(of)g
-Fn(self)f Fp(in)g(metho)s(d)h Fn(create)e Fp(allo)m(ws)i(this)f(metho)s
-(d)h(to)h(w)m(ork)f(prop)s(erly)0 4457 y(ev)m(en)e(when)e(inherited)f
-(b)m(y)i(a)h(sub)s(class.)39 b(As)30 b(usual,)f(a)i(sub)s(class)d(ma)m
-(y)j(o)m(v)m(erwrite)g(an)m(y)g(inherited)d(metho)s(d)h(with)0
-4569 y(its)h(o)m(wn)g(v)m(ersion.)0 4813 y Ff(8.8)112
-b(Mo)s(dules)0 4985 y Fp(Here)33 b(w)m(e)f(explain)f(one)i(p)s(ossible)
-c(w)m(a)m(y)34 b(to)f(sim)m(ulate)e(mo)s(dules)f(in)h(Lua.)46
-b(The)32 b(main)f(idea)h(is)f(to)i(use)f(a)h(table)f(to)0
-5097 y(store)f(the)g(mo)s(dule)d(functions.)141 5210
-y(A)j(mo)s(dule)d(should)h(b)s(e)g(written)h(as)h(a)f(separate)i(c)m(h)
-m(unk,)e(starting)g(with:)1905 5589 y(27)p eop
-%%Page: 28 28
-28 27 bop 0 301 3900 12 v 0 489 a Fn(#include)46 b("lua.h")0
-715 y(int)h(lockedParentName;)91 b(/*)47 b(lock)g(index)f(for)h(the)g
-(string)f("parent")f(*/)0 828 y(int)i(lockedOldIndex;)187
-b(/*)47 b(previous)e(fallback)h(function)g(*/)0 1054
-y(void)h(callOldFallback)c(\(lua_Object)i(table,)h(lua_Object)f
-(index\))0 1167 y({)95 1279 y(lua_Object)g(oldIndex)h(=)h
-(lua_getref\(lockedOldIndex\))o(;)95 1392 y(lua_pushobject\(table\);)95
-1505 y(lua_pushobject\(index\);)95 1618 y(lua_callfunction\(oldIndex\))
-o(;)95 1731 y(if)h(\(lua_getresult\(1\))43 b(!=)k(LUA_NOOBJECT\))191
-1844 y(lua_pushobject\(lua_getre)o(sult)o(\(1\))o(\);)89
-b(/*)48 b(return)e(result)g(*/)0 1957 y(})0 2183 y(void)h(Index)f
-(\(void\))0 2296 y({)95 2409 y(lua_Object)f(table)i(=)g
-(lua_getparam\(1\);)95 2521 y(lua_Object)e(index)i(=)g
-(lua_getparam\(2\);)95 2634 y(lua_Object)e(parent;)95
-2747 y(if)j(\(lua_isstring\(index\))42 b(&&)47 b
-(strcmp\(lua_getstring\(inde)o(x\),)41 b("parent"\))k(==)j(0\))95
-2860 y({)191 2973 y(callOldFallback\(table,)42 b(index\);)191
-3086 y(return;)95 3199 y(})95 3312 y(lua_pushobject\(table\);)95
-3425 y(lua_pushref\(lockedParentNa)o(me\);)95 3538 y(parent)47
-b(=)g(lua_getsubscript\(\);)95 3651 y(if)h(\(lua_istable\(parent\)\))95
-3763 y({)191 3876 y(lua_pushobject\(parent\);)191 3989
-y(lua_pushobject\(index\);)191 4102 y(/*)f(return)f(result)g(from)h
-(getsubscript)d(*/)191 4215 y(lua_pushobject\(lua_getsu)o(bscr)o(ipt)o
-(\(\)\);)95 4328 y(})95 4441 y(else)191 4554 y(callOldFallback\(table,)
-e(index\);)0 4667 y(})1414 4937 y Fp(Figure)30 b(1:)41
-b(Inheritance)29 b(in)g(C.)p 0 5050 V 1905 5589 a(28)p
-eop
-%%Page: 29 29
-29 28 bop 0 1092 3900 12 v 0 1279 a Fn(Point)46 b(=)i({x)f(=)g(0,)h(y)f
-(=)h(0})0 1505 y(function)e(Point:create)e(\(o\))95 1618
-y(o.parent)i(=)h(self)95 1731 y(return)g(o)0 1844 y(end)0
-2070 y(function)f(Point:move)f(\(p\))95 2183 y(self.x)i(=)g(self.x)f(+)
-i(p.x)95 2296 y(self.y)f(=)g(self.y)f(+)i(p.y)0 2409
-y(end)0 2634 y(...)0 2860 y(--)0 2973 y(--)f(creating)f(points)0
-3086 y(--)0 3199 y(p1)h(=)h(Point:create{x)c(=)j(10,)g(y)g(=)h(20})0
-3312 y(p2)f(=)h(Point:create{x)c(=)j(10})95 b(--)47 b(y)g(will)g(be)g
-(inherited)e(until)i(it)g(is)g(set)0 3538 y(--)0 3651
-y(--)g(example)f(of)h(a)h(method)e(invocation)0 3763
-y(--)0 3876 y(p1:move\(p2\))1451 4147 y Fp(Figure)30
-b(2:)41 b(A)30 b(Class)f Fn(Point)p Fp(.)p 0 4260 V 1905
-5589 a(29)p eop
-%%Page: 30 30
-30 29 bop 0 12 3900 12 v 0 199 a Fn(function)46 b(open)g(\(mod\))95
-312 y(local)h(n,)g(f)g(=)h(next\(mod,)d(nil\))95 425
-y(while)i(n)g(do)191 538 y(setglobal\(n,)d(f\))191 651
-y(n,)j(f)h(=)f(next\(mod,)e(n\))95 764 y(end)0 877 y(end)1372
-1148 y Fp(Figure)30 b(3:)41 b(Op)s(ening)28 b(a)j(mo)s(dule.)p
-0 1260 V 0 1518 a Fn(if)47 b(modulename)e(then)i(return)f(end)95
-b(--)47 b(avoid)f(loading)g(twice)g(the)h(same)g(module)0
-1631 y(modulename)e(=)i({})95 b(--)48 b(create)e(a)h(table)f(to)i
-(represent)d(the)i(module)0 1818 y Fp(After)31 b(that,)g(functions)e
-(can)h(b)s(e)g(directly)f(de\014ned)g(with)g(the)i(syn)m(tax)0
-2006 y Fn(function)46 b(modulename.foo)d(\(...\))95 2119
-y(...)0 2232 y(end)141 2419 y Fp(An)m(y)28 b(co)s(de)f(that)h(needs)f
-(this)g(mo)s(dule)f(has)h(only)f(to)j(execute)f Fn
-(dofile\("filename"\))p Fp(,)c(where)j Fn(filename)e
-Fp(is)0 2532 y(the)31 b(\014le)e(where)h(the)g(mo)s(dule)f(is)h
-(written.)39 b(After)31 b(this,)f(an)m(y)g(function)f(can)i(b)s(e)f
-(called)f(with)0 2720 y Fn(modulename.foo\(...\))141
-2908 y Fp(If)i(a)h(mo)s(dule)e(function)g(is)g(going)h(to)i(b)s(e)d
-(used)h(man)m(y)g(times,)h(the)f(program)h(can)f(giv)m(e)h(a)g(lo)s
-(cal)f(name)g(to)h(it.)0 3021 y(Because)g(functions)d(are)h(v)-5
-b(alues,)30 b(it)g(is)g(enough)g(to)h(write)0 3208 y
-Fn(localname)45 b(=)j(modulename.foo)0 3396 y Fp(Finally)-8
-b(,)30 b(a)i(mo)s(dule)e(ma)m(y)i(b)s(e)f Fo(op)-5 b(ene)g(d)p
-Fp(,)34 b(giving)d(direct)g(access)h(to)h(all)d(its)h(functions,)g(as)h
-(sho)m(wn)e(in)h(the)g(co)s(de)h(in)0 3509 y(Figure)e(3.)0
-3752 y Ff(8.9)112 b(A)37 b(CF)-9 b(unction)0 3924 y Fp(A)35
-b(CF)-8 b(unction)34 b(to)h(compute)g(the)f(maxim)m(um)g(of)g(a)h(v)-5
-b(ariable)34 b(n)m(um)m(b)s(er)f(of)i(argumen)m(ts)g(is)e(sho)m(wn)h
-(in)f(Figure)h(4.)0 4037 y(After)d(registered)f(with)0
-4224 y Fn(lua_register)44 b(\("max",)i(math_max\);)0
-4412 y Fp(this)29 b(function)g(is)h(a)m(v)-5 b(ailable)29
-b(in)h(Lua,)g(as)g(follo)m(ws:)0 4600 y Fn(i)47 b(=)h(max\(4,)e(5,)h
-(10,)g(-34\))94 b(--)48 b(i)f(receives)f(10)0 4843 y
-Ff(8.10)112 b(Calling)36 b(Lua)i(F)-9 b(unctions)0 5015
-y Fp(This)31 b(example)i(illustrates)e(ho)m(w)i(a)g(C)g(function)e(can)
-i(call)g(the)g(Lua)f(function)g Fn(remove_blanks)d Fp(presen)m(ted)k
-(in)0 5128 y(Section)d(8.3.)1905 5589 y(30)p eop
-%%Page: 31 31
-31 30 bop 0 1148 3900 12 v 0 1336 a Fn(void)47 b(math_max)e(\(void\))0
-1449 y({)48 1562 y(int)i(i=1;)142 b(/*)47 b(number)f(of)h(arguments)e
-(*/)48 1675 y(double)h(d,)h(dmax;)48 1788 y(lua_Object)e(o;)48
-1900 y(/*)i(the)g(function)e(must)i(get)g(at)g(least)f(one)h(argument)f
-(*/)48 2013 y(if)h(\(\(o)g(=)g(lua_getparam\(i++\)\))c(==)k
-(LUA_NOOBJECT\))143 2126 y(lua_error)e(\("too)i(few)g(arguments)e(to)i
-(function)f(`max'"\);)48 2239 y(/*)h(and)g(this)f(argument)g(must)h(be)
-g(a)g(number)f(*/)48 2352 y(if)h(\(!lua_isnumber\(o\)\))143
-2465 y(lua_error)e(\("incorrect)g(argument)h(to)h(function)e(`max'"\);)
-48 2578 y(dmax)h(=)i(lua_getnumber)c(\(o\);)48 2691 y(/*)j(loops)f
-(until)h(there)f(is)h(no)g(more)g(arguments)e(*/)48 2804
-y(while)h(\(\(o)h(=)g(lua_getparam\(i++\)\))c(!=)k(LUA_NOOBJECT\))48
-2917 y({)95 3030 y(if)h(\(!lua_isnumber\(o\)\))191 3142
-y(lua_error)d(\("incorrect)g(argument)g(to)j(function)d(`max'"\);)95
-3255 y(d)j(=)f(lua_getnumber)e(\(o\);)95 3368 y(if)j(\(d)f(>)g(dmax\))g
-(dmax)f(=)i(d;)48 3481 y(})48 3594 y(/*)f(push)g(the)f(result)h(to)g
-(be)g(returned)e(*/)48 3707 y(lua_pushnumber)f(\(dmax\);)0
-3820 y(})1328 4091 y Fp(Figure)30 b(4:)41 b(C)30 b(function)f
-Fn(math)p 2376 4091 29 4 v 33 w(max)p Fp(.)p 0 4204 3900
-12 v 1905 5589 a(31)p eop
-%%Page: 32 32
-32 31 bop 0 91 a Fn(void)47 b(remove_blanks)d(\(char)i(*s\))0
-204 y({)95 317 y(lua_pushstring\(s\);)91 b(/*)47 b(prepare)f(parameter)
-f(*/)95 430 y(lua_call\("remove_blanks"\);)89 b(/*)47
-b(call)g(Lua)g(function)e(*/)95 543 y(strcpy\(s,)h
-(lua_getstring\(lua_getre)o(sult)o(\(1\)\))o(\);)89 b(/*)47
-b(copy)g(result)f(back)h(to)g('s')g(*/)0 656 y(})0 942
-y Fq(9)135 b(Lua)44 b(Stand-alone)0 1145 y Fp(Although)39
-b(Lua)g(has)h(b)s(een)f(designed)g(as)h(an)f(extension)h(language,)i
-(the)e(language)h(can)f(also)f(b)s(e)h(used)f(as)h(a)0
-1258 y(stand-alone)33 b(in)m(terpreter.)47 b(An)32 b(implemen)m(tation)
-f(of)i(suc)m(h)f(an)h(in)m(terpreter,)g(called)f(simply)e
-Fn(lua)p Fp(,)j(is)e(pro)m(vided)0 1371 y(with)38 b(the)h(standard)f
-(distribution.)63 b(This)37 b(program)h(can)i(b)s(e)e(called)g(with)g
-(an)m(y)h(sequence)g(of)g(the)g(follo)m(wing)0 1484 y(argumen)m(ts:)0
-1672 y Fn(-v)45 b Fp(prin)m(ts)29 b(v)m(ersion)h(information.)0
-1859 y Fn(-)45 b Fp(runs)29 b(in)m(teractiv)m(ely)-8
-b(,)31 b(accepting)g(commands)f(from)g(standard)g(input)e(un)m(til)h
-(an)h Fn(EOF)p Fp(.)0 2047 y Fn(-e)47 b(stat)e Fp(executes)31
-b Fn(stat)e Fp(as)i(a)g(Lua)f(c)m(h)m(unk.)0 2234 y Fn(var=exp)44
-b Fp(executes)31 b Fn(var=exp)e Fp(as)h(a)h(Lua)f(c)m(h)m(unk.)0
-2422 y Fn(filename)43 b Fp(executes)32 b(\014le)d Fn(filename)f
-Fp(as)j(a)g(Lua)f(c)m(h)m(unk.)0 2610 y(All)f(argumen)m(ts)i(are)f
-(handle)f(in)g(order.)41 b(F)-8 b(or)31 b(instance,)f(an)g(in)m(v)m(o)s
-(cation)h(lik)m(e)0 2797 y Fn($)47 b(lua)g(-)h(a=1)f(prog.lua)0
-2985 y Fp(will)25 b(\014rst)j(in)m(teract)g(with)f(the)h(user)g(un)m
-(til)e(an)i Fn(EOF)p Fp(,)f(then)h(will)d(set)k Fn(a)f
-Fp(to)g(1,)i(and)d(\014nally)f(will)f(run)i(\014le)g
-Fn(prog.lua)p Fp(.)141 3098 y(Please)32 b(notice)g(that)g(the)g(in)m
-(teraction)g(with)e(the)i(shell)e(ma)m(y)i(lead)f(to)i(unin)m(tended)c
-(results.)44 b(F)-8 b(or)32 b(instance,)0 3211 y(a)f(call)e(lik)m(e)0
-3398 y Fn($)47 b(lua)g(a="name")f(prog.lua)0 3586 y Fp(will)32
-b Fo(not)j Fp(set)f Fn(a)g Fp(to)h(the)g(string)e Fn("name")p
-Fp(.)51 b(Instead,)35 b(the)g(quotes)g(will)c(b)s(e)j(handled)e(b)m(y)i
-(the)h(shell,)f(lua)f(will)f(get)0 3699 y(only)d Fn(a=name)g
-Fp(to)i(run,)e(and)h Fn(a)g Fp(will)e(\014nish)g(with)h
-Fm(nil)p Fp(.)41 b(Instead,)30 b(one)h(should)d(write)0
-3887 y Fn($)47 b(lua)g('a="name"')e(prog.lua)0 4173 y
-Fq(Ac)l(kno)l(wledgmen)l(ts)0 4376 y Fp(The)28 b(authors)g(w)m(ould)f
-(lik)m(e)h(to)h(thank)g(CENPES/PETR)m(OBR)2191 4353 y(\023)2180
-4376 y(AS)e(whic)m(h,)h(join)m(tly)f(with)g Fa(T)-8 b(eC)3231
-4404 y(Graf)3395 4376 y Fp(,)29 b(used)f(exten-)0 4489
-y(siv)m(ely)35 b(early)g(v)m(ersions)f(of)i(this)e(system)i(and)f(ga)m
-(v)m(e)j(v)-5 b(aluable)34 b(commen)m(ts.)57 b(The)35
-b(authors)g(w)m(ould)f(also)h(lik)m(e)g(to)0 4602 y(thank)30
-b(Carlos)g(Henrique)f(Levy)-8 b(,)31 b(who)f(found)f(the)i(name)f(of)g
-(the)h(game.)42 b(Lua)30 b(means)g Fo(mo)-5 b(on)32 b
-Fp(in)d(P)m(ortuguese.)0 4888 y Fq(Incompatibilities)47
-b(with)f(Previous)f(V)-11 b(ersions)0 5091 y Fp(Although)29
-b(great)i(care)g(has)f(b)s(een)f(tak)m(en)i(to)g(a)m(v)m(oid)g
-(incompatibilities)26 b(with)i(the)j(previous)d(public)f(v)m(ersions)j
-(of)0 5204 y(Lua,)g(some)h(di\013erences)f(had)g(to)h(b)s(e)e(in)m(tro)
-s(duced.)40 b(Here)30 b(is)g(a)h(list)e(of)h(all)f(these)i
-(incompatibilities.)1905 5589 y(32)p eop
-%%Page: 33 33
-33 32 bop 0 91 a Ff(Incompatibilities)33 b(with)j(v)m(ersion)h(2.4)0
-263 y Fp(The)28 b(whole)f(I/O)i(facilities)d(ha)m(v)m(e)k(b)s(een)d
-(rewritten.)39 b(W)-8 b(e)30 b(strongly)e(encourage)h(programmers)f(to)
-h(addapt)f(their)0 376 y(co)s(de)c(to)g(this)e(new)g(v)m(ersion.)38
-b(Ho)m(w)m(ev)m(er,)27 b(w)m(e)d(are)g(k)m(eeping)f(the)g(old)g(v)m
-(ersion)g(of)g(the)g(libraries)e(in)h(the)h(distribution,)0
-489 y(to)31 b(allo)m(w)f(a)h(smo)s(oth)f(transition.)39
-b(The)30 b(incompatibilities)c(b)s(et)m(w)m(een)31 b(the)g(new)f(and)g
-(the)g(old)g(libraries)d(are:)136 676 y Fk(\017)46 b
-Fp(The)35 b(format)g(facilit)m(y)e(of)i(function)f Fn(write)f
-Fp(has)i(b)s(een)f(sup)s(ersed)e(b)m(y)j(function)e Fn(format)p
-Fp(;)j(therefore)f(this)227 789 y(facilit)m(y)30 b(has)g(b)s(een)g
-(dropp)s(ed.)136 977 y Fk(\017)46 b Fp(F)-8 b(unction)32
-b Fn(read)f Fp(no)m(w)h(uses)f Fo(r)-5 b(e)g(ad)36 b(p)-5
-b(atterns)34 b Fp(to)f(sp)s(ecify)e(what)g(to)i(read;)g(this)e(is)g
-(incompatible)f(with)h(the)227 1090 y(old)f(format)g(options.)136
-1277 y Fk(\017)46 b Fp(F)-8 b(unction)25 b Fn(strfind)f
-Fp(no)m(w)i(accepts)g(patterns,)h(so)f(it)f(ma)m(y)h(ha)m(v)m(e)h(a)f
-(di\013eren)m(t)f(b)s(eha)m(vior)g(when)f(the)i(pattern)227
-1390 y(includes)i(sp)s(ecial)h(c)m(haracteres.)0 1634
-y Ff(Incompatibilities)k(with)j(v)m(ersion)h(2.2)136
-1805 y Fk(\017)46 b Fp(F)-8 b(unctions)40 b Fn(date)g
-Fp(and)g Fn(time)f Fp(\(from)h Fn(iolib)p Fp(\))g(ha)m(v)m(e)h(b)s(een)
-f(sup)s(erseded)f(b)m(y)h(the)h(new,)i(more)d(p)s(o)m(w)m(erful)227
-1918 y(v)m(ersion)30 b(of)h(function)e Fn(date)p Fp(.)136
-2106 y Fk(\017)46 b Fp(F)-8 b(unction)35 b Fn(append)e
-Fp(\(from)h Fn(iolib)p Fp(\))g(no)m(w)h(returns)e(1)i(whenev)m(er)g(it)
-f(succeeds,)j(whether)d(the)h(\014le)f(is)f(new)227 2219
-y(or)e(not.)136 2407 y Fk(\017)46 b Fp(F)-8 b(unction)29
-b Fn(int2str)e Fp(\(from)i Fn(strlib)p Fp(\))f(has)h(b)s(een)f(sup)s
-(erseded)f(b)m(y)i(new)g(function)e Fn(format)p Fp(,)h(with)g(param-)
-227 2519 y(eter)j Fn("\045c")p Fp(.)136 2707 y Fk(\017)46
-b Fp(The)30 b(API)g(lo)s(c)m(k)g(mec)m(hanism)f(has)h(b)s(een)g(sup)s
-(erseded)e(b)m(y)i(the)g(reference)h(mec)m(hanism.)40
-b(Ho)m(w)m(ev)m(er,)32 b Fn(lua.h)227 2820 y Fp(pro)m(vides)e
-(compatibilit)m(y)e(macros,)j(so)g(there)f(is)g(no)g(need)g(to)h(c)m
-(hange)h(programs.)136 3008 y Fk(\017)46 b Fp(The)30
-b(API)g(function)f Fn(lua_pushliteral)e Fp(no)m(w)j(is)f(just)h(a)h
-(macro)g(to)g Fn(lua_pushstring)p Fp(.)0 3251 y Ff(Incompatibilities)i
-(with)j(v)m(ersion)h(2.1)136 3423 y Fk(\017)46 b Fp(The)25
-b(function)e Fn(type)h Fp(no)m(w)h(returns)f(the)h(string)f
-Fn("function")e Fp(b)s(oth)j(for)f(C)h(and)f(Lua)h(functions.)38
-b(Because)227 3536 y(Lua)e(functions)e(and)h(C)g(functions)g(are)h
-(compatible,)g(this)f(b)s(eha)m(vior)g(is)g(usually)e(more)j(useful.)55
-b(When)227 3648 y(needed,)37 b(the)f(second)g(result)f(of)h(function)f
-Fn(type)g Fp(ma)m(y)h(b)s(e)f(used)g(to)i(distinguish)32
-b(b)s(et)m(w)m(een)k(Lua)g(and)f(C)227 3761 y(functions.)136
-3949 y Fk(\017)46 b Fp(A)31 b(function)d(de\014nition)g(only)h(assigns)
-h(the)g(function)f(v)-5 b(alue)29 b(to)i(the)g(giv)m(en)f(v)-5
-b(ariable)29 b(at)i(execution)f(time.)0 4192 y Ff(Incompatibilities)j
-(with)j(v)m(ersion)h(1.1)136 4364 y Fk(\017)46 b Fp(The)30
-b(equalit)m(y)g(test)h(op)s(erator)g(no)m(w)f(is)g(denoted)g(b)m(y)h
-Fn(==)p Fp(,)f(instead)f(of)i Fn(=)p Fp(.)136 4552 y
-Fk(\017)46 b Fp(The)25 b(syn)m(tax)h(for)f(table)g(construction)g(has)h
-(b)s(een)e(greatly)i(simpli\014ed.)35 b(The)25 b(old)g
-Fn(@\(size\))e Fp(has)i(b)s(een)g(sub-)227 4665 y(stituted)31
-b(b)m(y)g Fn({})p Fp(.)43 b(The)31 b(list)f(constructor)i(\(formerly)e
-Fn(@[...])p Fp(\))g(and)h(the)h(record)f(constructor)h(\(formerly)227
-4778 y Fn(@{...})p Fp(\))d(no)m(w)g(are)h(b)s(oth)f(co)s(ded)g(lik)m(e)
-g Fn({...})p Fp(.)39 b(When)30 b(the)f(construction)g(in)m(v)m(olv)m
-(es)h(a)g(function)e(call,)i(lik)m(e)227 4890 y(in)f
-Fn(@func{...})p Fp(,)e(the)j(new)f(syn)m(tax)i(do)s(es)e(not)h(use)g
-(the)g Fn(@)p Fp(.)40 b(More)30 b(imp)s(ortan)m(t,)g
-Fo(a)i(c)-5 b(onstruction)34 b(function)227 5003 y(must)f(now)h
-(explicitly)f(r)-5 b(eturn)34 b(the)f(c)-5 b(onstructe)g(d)34
-b(table)p Fp(.)136 5191 y Fk(\017)46 b Fp(The)30 b(function)f
-Fn(lua_call)f Fp(no)j(longer)f(has)g(the)g(parameter)h
-Fn(nparam)p Fp(.)1905 5589 y(33)p eop
-%%Page: 34 34
-34 33 bop 136 91 a Fk(\017)46 b Fp(The)d(function)f Fn(lua_pop)f
-Fp(is)h(no)h(longer)g(a)m(v)-5 b(ailable,)46 b(since)c(it)h(could)f
-(lead)h(to)h(strange)g(b)s(eha)m(vior.)78 b(In)227 204
-y(particular,)39 b(to)g(access)g(results)e(returned)g(from)h(a)h(Lua)f
-(function,)h(the)f(new)g(macro)h Fn(lua_getresult)227
-317 y Fp(should)29 b(b)s(e)g(used.)136 505 y Fk(\017)46
-b Fp(The)30 b(old)g(functions)f Fn(lua_storefield)d Fp(and)k
-Fn(lua_storeindexed)c Fp(ha)m(v)m(e)31 b(b)s(een)f(replaced)g(b)m(y)227
-730 y Fn(int)47 b(lua_storesubscript)c(\(void\);)227
-955 y Fp(with)29 b(the)i(parameters)g(explicitly)d(pushed)g(on)i(the)h
-(stac)m(k.)136 1142 y Fk(\017)46 b Fp(The)23 b(functionalit)m(y)f(of)i
-(the)g(function)e Fn(lua_errorfunction)d Fp(has)24 b(b)s(een)e
-(replaced)i(b)m(y)f(the)h Fo(fal)5 b(lb)-5 b(ack)24 b
-Fp(mec)m(h-)227 1255 y(anism)29 b(\(see)j(Section)e(4.8\).)136
-1443 y Fk(\017)46 b Fp(When)31 b(calling)e(a)j(function)d(from)i(the)g
-(Lua)g(library)-8 b(,)29 b(parameters)i(passed)g(through)f(the)h(stac)m
-(k)i(m)m(ust)e(b)s(e)227 1556 y(pushed)36 b(just)h(b)s(efore)h(the)g
-(corresp)s(onding)d(call,)40 b(with)c(no)i(in)m(termediate)f(calls)g
-(to)i(Lua.)62 b(Sp)s(ecial)36 b(care)227 1669 y(should)29
-b(b)s(e)g(tak)m(en)j(with)d(macros)i(lik)m(e)e Fn(lua_getindexed)e
-Fp(and)j Fn(lua_getfield)p Fp(.)1905 5589 y(34)p eop
-%%Page: 35 35
-35 34 bop 0 220 a Fq(Index)0 401 y Fp(..)41 b(6)0 514
-y(abs)30 b(20)0 627 y(acos)h(20)0 740 y(Adjustmen)m(t)f(3)0
-853 y(and)g(6)0 966 y(app)s(endto)g(21)0 1079 y(argumen)m(ts)h(8)0
-1192 y(arithmetic)f(fallbac)m(k)g(9)0 1305 y(arithmetic)g(op)s(erators)
-g(5)0 1418 y(arra)m(ys)h(2)0 1530 y(ascii)f(18)0 1643
-y(asin)f(20)0 1756 y(assert)i(16)0 1869 y(Assignmen)m(t)f(4)0
-1982 y(asso)s(ciativ)m(e)h(arra)m(ys)g(2)0 2095 y(atan)g(20)0
-2208 y(atan2)h(20)0 2321 y(basic)e(t)m(yp)s(es)g(2)0
-2434 y(blo)s(c)m(k)g(4)0 2547 y(C)g(p)s(oin)m(ters)f(2)0
-2660 y(captures)h(20)0 2772 y(ceil)g(20)0 2885 y(CF)-8
-b(unction)30 b(2)0 2998 y(c)m(haracter)i(class)e(19)0
-3111 y(c)m(h)m(unk)g(2)0 3224 y(clone)g(24)0 3337 y(closing)f(a)i
-(\014le)f(21)0 3450 y(Co)s(ercion)g(3)0 3563 y(Commen)m(ts)h(3)0
-3676 y(concatenation)h(fallbac)m(k)e(9)0 3789 y(concatenation)i(6)0
-3902 y(condition)d(expression)g(4)0 4014 y(constructors)i(6)0
-4127 y(cos)g(20)0 4240 y(Data)h(Structures)d(24)0 4353
-y(date)i(22)0 4466 y(debug)f(pragma)g(10)0 4579 y(do\014le)f(15)0
-4692 y(dostring)g(15)0 4805 y(error)h(fallbac)m(k)g(10)0
-4918 y(error)g(16)0 5031 y(execute)i(22)0 5144 y(exit)e(22)0
-5256 y(exp)s(onen)m(tiation)g(5)2095 401 y(Expressions)f(5)2095
-514 y(fallbac)m(ks)h(9)2095 627 y(\015o)s(or)g(20)2095
-740 y(format)h(18)2095 853 y(function)e(call)h(7)2095
-966 y(F)-8 b(unction)30 b(De\014nitions)f(8)2095 1079
-y(function)g(fallbac)m(k)h(9)2095 1192 y(function)f(2)2095
-1305 y(functions)g(in)g(C)h(30)2095 1418 y(geten)m(v)i(22)2095
-1530 y(getglobal)f(17)2095 1643 y(gettable)h(fallbac)m(k)e(9)2095
-1756 y(global)g(en)m(vironmen)m(t)g(2)2095 1869 y(Global)g(v)-5
-b(ariables)29 b(2)2095 1982 y(gsub)h(18)2095 2095 y(Iden)m(ti\014ers)f
-(3)2095 2208 y(if-then-else)h(4)2095 2321 y(index)f(fallbac)m(k)h(9)
-2095 2434 y(index)f(getglobal)i(9)2095 2547 y(inheritance)e(26)2095
-2660 y(Literal)h(strings)f(3)2095 2772 y(Lo)s(cal)i(v)-5
-b(ariables)29 b(5)2095 2885 y(log10)j(20)2095 2998 y(log)f(20)2095
-3111 y(logical)f(op)s(erators)h(6)2095 3224 y(Lua)f(Stand-alone)g(32)
-2095 3337 y(luac)g(11)2095 3450 y(luac)g(2)2095 3563
-y(lua)p 2222 3563 28 4 v 32 w(call)g(13)2095 3676 y(lua)p
-2222 3676 V 32 w(callfunction)f(13)2095 3789 y(lua)p
-2222 3789 V 32 w(CF)-8 b(unction)30 b(14)2095 3902 y(lua)p
-2222 3902 V 32 w(createtable)i(13)2095 4014 y(lua)p 2222
-4014 V 32 w(do\014le)e(10)2095 4127 y(lua)p 2222 4127
-V 32 w(dostring)g(10)2095 4240 y(lua)p 2222 4240 V 32
-w(error)g(13)2095 4353 y(lua)p 2222 4353 V 32 w(getcfunction)h(11)2095
-4466 y(lua)p 2222 4466 V 32 w(getglobal)g(12)2095 4579
-y(lua)p 2222 4579 V 32 w(getn)m(um)m(b)s(er)g(11)2095
-4692 y(lua)p 2222 4692 V 32 w(getparam)h(14)2095 4805
-y(lua)p 2222 4805 V 32 w(getref)g(14)2095 4918 y(lua)p
-2222 4918 V 32 w(getresult)f(13)2095 5031 y(lua)p 2222
-5031 V 32 w(getstring)g(11)2095 5144 y(lua)p 2222 5144
-V 32 w(getsubscript)f(12)2095 5256 y(lua)p 2222 5256
-V 32 w(getuserdata)i(11)1905 5589 y(35)p eop
-%%Page: 36 36
-36 35 bop 0 91 a Fp(lua)p 127 91 28 4 v 32 w(iscfunction)29
-b(11)0 204 y(lua)p 127 204 V 32 w(isfunction)f(11)0 317
-y(lua)p 127 317 V 32 w(isnil)f(11)0 430 y(lua)p 127 430
-V 32 w(isn)m(um)m(b)s(er)h(11)0 543 y(lua)p 127 543 V
-32 w(isstring)g(11)0 656 y(lua)p 127 656 V 32 w(istable)h(11)0
-769 y(lua)p 127 769 V 32 w(isuserdata)g(11)0 882 y(LUA)p
-198 882 V 33 w(NOOBJECT)g(14)0 995 y(lua)p 127 995 V
-32 w(Ob)5 b(ject)30 b(11)0 1108 y(lua)p 127 1108 V 32
-w(pushcfunction)e(12)0 1220 y(lua)p 127 1220 V 32 w(pushnil)f(12)0
-1333 y(lua)p 127 1333 V 32 w(pushn)m(um)m(b)s(er)g(12)0
-1446 y(lua)p 127 1446 V 32 w(pushob)5 b(ject)30 b(12)0
-1559 y(lua)p 127 1559 V 32 w(pushref)e(14)0 1672 y(lua)p
-127 1672 V 32 w(pushstring)g(12)0 1785 y(lua)p 127 1785
-V 32 w(push)m(userdata)h(12)0 1898 y(lua)p 127 1898 V
-32 w(push)m(usertag)h(12)0 2011 y(lua)p 127 2011 V 32
-w(ref)g(14)0 2124 y(lua)p 127 2124 V 32 w(register)g(14)0
-2237 y(lua)p 127 2237 V 32 w(setfallbac)m(k)g(14)0 2350
-y(lua)p 127 2350 V 32 w(storeglobal)g(12)0 2462 y(lua)p
-127 2462 V 32 w(storesubscript)f(12)0 2575 y(lua)p 127
-2575 V 32 w(t)m(yp)s(e)h(11)0 2688 y(lua)p 127 2688 V
-32 w(unref)f(14)0 2801 y(max)h(20)0 2914 y(metho)s(ds)g(8)0
-3027 y(min)f(20)0 3140 y(mo)s(d)h(20)0 3253 y(Mo)s(dules)f(27)0
-3366 y(m)m(ultiple)f(assignmen)m(t)i(4)0 3479 y(next)h(15)0
-3592 y(next)g(24)0 3704 y(nextv)-5 b(ar)31 b(16)0 3817
-y(nextv)-5 b(ar)31 b(24)0 3930 y(nil)d(2)0 4043 y(not)j(6)0
-4156 y(n)m(um)m(b)s(er)e(2)0 4269 y(Numerical)g(constan)m(ts)j(3)0
-4382 y(Op)s(erator)e(precedence)h(6)0 4495 y(or)f(6)0
-4608 y(order)g(fallbac)m(k)g(9)0 4721 y(pattern)g(item)h(19)0
-4834 y(pattern)f(20)0 4946 y(P)m(ersistence)h(26)0 5059
-y(pip)s(ed)d(input)g(20)0 5172 y(pip)s(ed)g(output)i(21)0
-5285 y(p)s(op)s(en)f(20)2095 91 y(p)s(op)s(en)g(21)2095
-204 y(pre-compilation)g(2)2095 317 y(prede\014ned)g(functions)g(15)2095
-430 y(prin)m(t)g(16)2095 543 y(Programming)h(with)f(Classes)g(27)2095
-656 y(random)h(20)2095 769 y(randomseed)g(20)2095 882
-y(read)h(pattern)f(21)2095 995 y(read)h(21)2095 1108
-y(readfrom)f(20)2095 1220 y(records)g(2)2095 1333 y(reference)h(14)2095
-1446 y(re\015exivit)m(y)f(15)2095 1559 y(relational)g(op)s(erators)g(5)
-2095 1672 y(remo)m(v)m(e)i(21)2095 1785 y(rename)f(21)2095
-1898 y(rep)s(eat-un)m(til)e(4)2095 2011 y(reserv)m(ed)i(w)m(ords)f(3)
-2095 2124 y(return)g(statemen)m(t)i(5)2095 2237 y(return)e(4)2095
-2350 y(self)g(8)2095 2462 y(setfallbac)m(k)h(10)2095
-2575 y(setfallbac)m(k)g(17)2095 2688 y(setglobal)g(17)2095
-2801 y(settable)g(fallbac)m(k)f(9)2095 2914 y(short-cut)h(ev)-5
-b(aluation)30 b(6)2095 3027 y(Simple)e(Expressions)h(5)2095
-3140 y(sin)g(20)2095 3253 y(skips)g(21)2095 3366 y(sqrt)h(20)2095
-3479 y(statemen)m(ts)i(4)2095 3592 y(str\014nd)d(17)2095
-3704 y(string)h(2)2095 3817 y(strlen)g(17)2095 3930 y(strlo)m(w)m(er)h
-(17)2095 4043 y(strrep)f(18)2095 4156 y(strsub)f(17)2095
-4269 y(strupp)s(er)f(17)2095 4382 y(table)j(2)2095 4495
-y(tag)h(16)2095 4608 y(tan)f(20)2095 4721 y(tmpname)f(21)2095
-4834 y(tok)m(ens)i(3)2095 4946 y(ton)m(um)m(b)s(er)e(16)2095
-5059 y(tostring)g(16)2095 5172 y(t)m(yp)s(e)h(16)2095
-5285 y(T)m(yp)s(es)f(2)1905 5589 y(36)p eop
-%%Page: 37 37
-37 36 bop 0 91 a Fp(userdata)30 b(2)0 204 y(V)-8 b(ariable)30
-b(n)m(um)m(b)s(er)f(of)h(argumen)m(ts)h(25)0 317 y(v)m(ersion)f(1.1)h
-(33)0 430 y(v)m(ersion)f(2.1)h(33)0 543 y(v)m(ersion)f(2.2)h(33)0
-656 y(v)m(ersion)f(2.4)h(33)0 769 y(while-do)e(4)0 882
-y(write)h(22)0 995 y(writeto)g(20)1905 5589 y(37)p eop
-%%Page: 38 38
-38 37 bop 0 91 a Fq(Con)l(ten)l(ts)0 295 y Fm(1)84 b(In)m(tro)s
-(duction)3136 b(1)0 499 y(2)84 b(En)m(vironmen)m(t)35
-b(and)f(Ch)m(unks)2540 b(2)0 703 y(3)84 b(T)m(yp)s(es)3437
-b(2)0 907 y(4)84 b(The)35 b(Language)3065 b(3)136 1020
-y Fp(4.1)94 b(Lexical)30 b(Con)m(v)m(en)m(tions)83 b(.)45
-b(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f
-(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)
-131 b(3)136 1132 y(4.2)94 b(Co)s(ercion)33 b(.)45 b(.)h(.)g(.)g(.)f(.)h
-(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
-g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g
-(.)f(.)131 b(3)136 1245 y(4.3)94 b(Adjustmen)m(t)58 b(.)46
-b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g
-(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
-g(.)f(.)h(.)g(.)f(.)131 b(3)136 1358 y(4.4)94 b(Statemen)m(ts)85
-b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)
-h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f
-(.)h(.)g(.)f(.)h(.)g(.)f(.)131 b(4)345 1471 y(4.4.1)106
-b(Blo)s(c)m(ks)47 b(.)f(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h
-(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)
-g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)131 b(4)345 1584
-y(4.4.2)106 b(Assignmen)m(t)57 b(.)46 b(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f
-(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)
-h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)131 b(4)345 1697
-y(4.4.3)106 b(Con)m(trol)30 b(Structures)59 b(.)46 b(.)f(.)h(.)g(.)f(.)
-h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h
-(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)131 b(4)345 1810
-y(4.4.4)106 b(F)-8 b(unction)30 b(Calls)f(as)i(Statemen)m(ts)64
-b(.)46 b(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)
-h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)131 b(5)345 1923
-y(4.4.5)106 b(Lo)s(cal)31 b(Declarations)60 b(.)46 b(.)f(.)h(.)g(.)f(.)
-h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h
-(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)131 b(5)136 2036
-y(4.5)94 b(Expressions)59 b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f
-(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)
-h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)131
-b(5)345 2149 y(4.5.1)106 b(Simple)28 b(Expressions)36
-b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)
-g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)131
-b(5)345 2262 y(4.5.2)106 b(Arithmetic)30 b(Op)s(erators)81
-b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)
-f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)131
-b(5)345 2374 y(4.5.3)106 b(Relational)30 b(Op)s(erators)38
-b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)
-g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)131
-b(5)345 2487 y(4.5.4)106 b(Logical)31 b(Op)s(erators)88
-b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)
-g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)131
-b(6)345 2600 y(4.5.5)106 b(Concatenation)84 b(.)46 b(.)g(.)g(.)f(.)h(.)
-g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g
-(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)131 b(6)345
-2713 y(4.5.6)106 b(Precedence)78 b(.)46 b(.)f(.)h(.)g(.)g(.)f(.)h(.)g
-(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)
-f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)131 b(6)345
-2826 y(4.5.7)106 b(T)-8 b(able)30 b(Constructors)39 b(.)46
-b(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g
-(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)131
-b(6)345 2939 y(4.5.8)106 b(F)-8 b(unction)30 b(Calls)80
-b(.)46 b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)
-f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f
-(.)131 b(7)136 3052 y(4.6)94 b(F)-8 b(unction)31 b(De\014nitions)69
-b(.)45 b(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
-g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g
-(.)f(.)131 b(8)136 3165 y(4.7)94 b(F)-8 b(allbac)m(ks)90
-b(.)46 b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)
-f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g
-(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)131 b(9)136 3278 y(4.8)94
-b(Error)30 b(Handling)60 b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g
-(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)
-f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(10)0
-3482 y Fm(5)f(The)35 b(Application)g(Program)g(In)m(terface)2041
-b(10)136 3594 y Fp(5.1)94 b(Executing)30 b(Lua)h(Co)s(de)63
-b(.)45 b(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
-g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g
-(.)f(.)85 b(10)136 3707 y(5.2)94 b(Con)m(v)m(erting)31
-b(V)-8 b(alues)30 b(b)s(et)m(w)m(een)h(C)f(and)g(Lua)54
-b(.)45 b(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)
-g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(11)136 3820
-y(5.3)94 b(Manipulating)29 b(Lua)h(Ob)5 b(jects)39 b(.)46
-b(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g
-(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
-b(12)136 3933 y(5.4)94 b(Calling)29 b(Lua)h(F)-8 b(unctions)67
-b(.)46 b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)
-f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f
-(.)85 b(13)136 4046 y(5.5)94 b(C)30 b(F)-8 b(unctions)44
-b(.)i(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h
-(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)
-h(.)g(.)f(.)h(.)g(.)f(.)85 b(14)136 4159 y(5.6)94 b(References)31
-b(to)h(Lua)e(Ob)5 b(jects)42 b(.)k(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g
-(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
-g(.)f(.)h(.)g(.)f(.)85 b(14)0 4363 y Fm(6)f(Prede\014ned)36
-b(F)-9 b(unctions)36 b(and)e(Libraries)2051 b(15)136
-4476 y Fp(6.1)94 b(Prede\014ned)29 b(F)-8 b(unctions)43
-b(.)i(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g
-(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)
-f(.)85 b(15)136 4589 y(6.2)94 b(String)29 b(Manipulation)72
-b(.)45 b(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
-g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g
-(.)f(.)85 b(17)136 4702 y(6.3)94 b(Mathematical)32 b(F)-8
-b(unctions)56 b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f
-(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)
-h(.)g(.)f(.)85 b(20)136 4814 y(6.4)94 b(I/O)31 b(F)-8
-b(acilities)66 b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h
-(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)
-g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(20)1905 5589
-y(38)p eop
-%%Page: 39 39
-39 38 bop 0 91 a Fm(7)84 b(The)35 b(Debugger)h(In)m(terface)2566
-b(22)136 204 y Fp(7.1)94 b(Stac)m(k)32 b(and)e(F)-8 b(unction)30
-b(Information)e(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h
-(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
-b(22)136 317 y(7.2)94 b(Manipulating)29 b(Lo)s(cal)h(V)-8
-b(ariables)58 b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f
-(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)
-85 b(23)136 430 y(7.3)94 b(Ho)s(oks)69 b(.)46 b(.)f(.)h(.)g(.)g(.)f(.)h
-(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
-g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g
-(.)f(.)85 b(23)0 634 y Fm(8)f(Some)35 b(Examples)2939
-b(24)136 747 y Fp(8.1)94 b(Data)32 b(Structures)f(.)45
-b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f
-(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)
-h(.)g(.)f(.)85 b(24)136 860 y(8.2)94 b(The)30 b(F)-8
-b(unctions)30 b Fn(next)f Fp(and)h Fn(nextvar)38 b Fp(.)45
-b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f
-(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(24)136
-973 y(8.3)94 b(String)29 b(Manipulation)72 b(.)45 b(.)h(.)g(.)g(.)f(.)h
-(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
-g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(25)136
-1086 y(8.4)94 b(V)-8 b(ariable)30 b(n)m(um)m(b)s(er)f(of)i(argumen)m
-(ts)c(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)
-g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
-b(25)136 1198 y(8.5)94 b(P)m(ersistence)87 b(.)46 b(.)g(.)f(.)h(.)g(.)f
-(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)
-h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
-b(26)136 1311 y(8.6)94 b(Inheritance)78 b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)
-h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h
-(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
-b(26)136 1424 y(8.7)94 b(Programming)30 b(with)f(Classes)e(.)46
-b(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g
-(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
-b(27)136 1537 y(8.8)94 b(Mo)s(dules)50 b(.)45 b(.)h(.)g(.)g(.)f(.)h(.)g
-(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)
-f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f
-(.)85 b(27)136 1650 y(8.9)94 b(A)31 b(CF)-8 b(unction)82
-b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)
-g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h
-(.)g(.)f(.)h(.)g(.)f(.)85 b(30)136 1763 y(8.10)49 b(Calling)29
-b(Lua)h(F)-8 b(unctions)67 b(.)46 b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f
-(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)
-f(.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(30)0 1967 y Fm(9)f(Lua)35
-b(Stand-alone)2913 b(32)1905 5589 y Fp(39)p eop
-%%Trailer
-end
-userdict /end-hook known{end-hook}if
-%%EOF