diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/Makefile | 23 | ||||
-rw-r--r-- | doc/idx.html | 241 | ||||
-rw-r--r-- | doc/index.html | 85 | ||||
-rw-r--r-- | doc/luac.html | 88 | ||||
-rw-r--r-- | doc/luac.man | 75 | ||||
-rw-r--r-- | doc/luac.ps | 246 | ||||
-rw-r--r-- | doc/luac.txt | 66 | ||||
-rw-r--r-- | doc/manual.html | 2545 | ||||
-rw-r--r-- | doc/refman.ps | 7807 |
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 "-" 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 & 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. Celes, +R. Ierusalimschy and +L. H. 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 <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 <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 <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 <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 <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 <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 <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 <A HREF="#tableconstructor">4.6.7</A>). +<P> +Tags are mainly used to select tag methods when +some events occur (see Section <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 <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 <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> + ~= <= >= < > == = .. + - * / + % ( ) { } [ ] ; , . ... +</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 <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 <A HREF="#pragma">4.9</A>). +<DT><B><TT>nodebug</TT></B><DD> - turn off some debugging facilities (see Section <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 <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 <A HREF="#tableconstructor">4.6.7</A>), +and local variable declarations (see Section <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 <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 <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 <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 <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 <A HREF="#lexical">4.1</A>. +Variables are explained in Section <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 <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 <A HREF="#coercion">4.3</A>, +then all operations except exponentiation have the usual meaning. +Otherwise, an appropriate tag method is called (see Section <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 <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> + < > <= >= ~= == +</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 <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 <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 <A HREF="#coercion">4.3</A>. +Otherwise, the ``concat'' tag method is called (see Section <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 + < > <= >= ~= == + .. + + - + * / + 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 <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 <A HREF="#funcstat">4.5.4</A>), +then its return list is adjusted to 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 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 <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 <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 <A HREF="#TypesSec">3</A>). +The function <A NAME="settagmethod"><TT>settagmethod</TT></A> changes the tag method +associated with a given pair <EM><tag, event></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 <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 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><</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 < op2 -- numeric comparison + elseif type(op1) == "string" and type(op2) == "string" then + return op1 < 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>></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><=</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>>=</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 <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 <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 > 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 <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 <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 <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 <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 <A HREF="#coercion">4.3</A>); otherwise, the function returns 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 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 <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 <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 <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 <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 <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 <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}) --> a = 0.0871557 = sin(5) +a = call(max, {1,4,5; n=2}) --> a = 4 (only 1 and 4 are arguments) +t = {x=1} +a = call(next, {t,nil;n=2}, "pack") --> 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 <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 <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 <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 <A HREF="#TypesSec">3</A>). +<CODE>tag</CODE> must be a value created with <CODE>newtag</CODE> +(see Section <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 <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 <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 <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><tag, event></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><tag, event></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 1, +not 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) + --> x="hello hello world" +<P> + x = gsub("home = $HOME, user = $USER", "$(%w%w*)", getenv) + --> x="home = /home/roberto, user = roberto" (for instance) +<P> + x = gsub("4+5 = $return 4+5$", "$(.-)%$", dostring) + --> 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) + --> x="lua - 3.0" +<P> + t = {"apple", "orange", "lime"} + x = gsub("x and x and x", "x", rawgettable, t) + --> x="apple and orange and lime" +<P> + t = {} + dummy, t.n = gsub("first second word", "(%w%w*)", rawsettable, t) + --> 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 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 <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 <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 <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 <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<"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 <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 |