DELTA SVN‚‚€‚This is tolua-5.2.4 modified for Freeciv usage. Not entire tolua distribution directory hierarchy is included here, and some files needed for Freeciv usage have been added. Changes applied to included tolua source files are included in freeciv_tolua.patch ENDREP DELTA SVNŠŠ€Šdiff -Nurd tolua-5.2/src/bin/tolua.c tolua-5.2/src/bin/tolua.c --- tolua-5.2/src/bin/tolua.c 2016-01-06 01:19:24.984940138 +0200 +++ tolua-5.2/src/bin/tolua.c 2016-01-06 01:22:44.160507862 +0200 @@ -22,6 +22,9 @@ #include #include +#ifndef LUA_SOURCE +int tolua_tolua_open(lua_State *L); +#endif static void help (void) { @@ -106,7 +109,6 @@ #ifndef LUA_SOURCE { - int tolua_tolua_open (lua_State* L); tolua_tolua_open(L); } #else diff -Nurd tolua-5.2/src/lib/tolua_event.c tolua-5.2/src/lib/tolua_event.c --- tolua-5.2/src/lib/tolua_event.c 2016-01-06 01:19:24.980940147 +0200 +++ tolua-5.2/src/lib/tolua_event.c 2016-01-06 01:20:07.884846927 +0200 @@ -18,6 +18,8 @@ #include "tolua.h" +#include "tolua_event.h" + /* Store at peer * It stores, creating the corresponding table if needed, * the pair key/value in the corresponding peer table diff -Nurd tolua-5.2/src/lib/tolua_map.c tolua-5.2/src/lib/tolua_map.c --- tolua-5.2/src/lib/tolua_map.c 2016-01-06 01:19:24.980940147 +0200 +++ tolua-5.2/src/lib/tolua_map.c 2016-01-06 01:20:48.972757711 +0200 @@ -21,6 +21,7 @@ #include #include +int tolua_bnd_takeownership(lua_State *L); static char toluaname[128] = "tolua."; static const char* TOLUANAME (const char* n) ENDREP DELTA 21069 35503 9898 SVNΝΠ@8ƒlˆ'„qˆ(€J•€ …_£JŸ‚}©'‹|¬&€}0Έ?€GΗk΄„Ι if self.type == 'tolua_multret' then output(' int tolua_ret;') endif self.type == 'tolua_multret' then output(' tolua_ret = ') else output(' ',self.mod,ctype,self.ptr,'tolua_ret = ') endand self.type ~= 'tolua_multretif self.type == "tolua_multret" then output(' return '..nret..' + tolua_ret;') else output(' return '..nret..';') endif string.find(t.type,"tolua_own") then t.mod = "tolua_own" endlseif t.type == 'tolua_len' then t.lname = ".len"ENDREP DELTA 22462 70 64 SVN6X&ž"Version \ freeciv_tolua.patchENDREP DELTA 21069 0 1419 SVNŠ}ˆh ŒˆT‚) tolua-5.2.4ENDREP DELTA 21069 1432 5749 SVN¬g­%„^‚„_€₯x†o4tolua_multret; typedef int tolua_lenENDREP DELTA 26905 0 13029 SVNνmτN‡¨=€†'‚¨r±‹ͺx―·lΆ/* ** Function to return peer table associated to a given object */ static int tolua_bnd_getpeertable (lua_State* L) { lua_pushstring(L,"tolua_peer"); lua_rawget(L,LUA_REGISTRYINDEX); /* stack: k v peer */ lua_pushvalue(L,1); lua_rawget(L,-2); /* stack: k v peer peer[u] */ if (!lua_istable(L,-1)) { lua_pop(L,1); /* stack: k v peer */ lua_newtable(L); /* stack: k v peer table */ lua_pushvalue(L,1); lua_pushvalue(L,-2); /* stack: k v peer table u table */ lua_rawset(L,-4); /* stack: k v peer peer[u]=table */ } return 1; } static void tolua_push_globals_table (lua_State* L) { #if defined (LUA_VERSION_NUM) && LUA_VERSION_NUM >= 502 /* after lua 5.2 */#else lua_pushvalue(L,LUA_GLOBALSINDEX); #endiffunction(L,"getpeertable",tolua_bnd_getpeertablENDREP DELTA 21069 30669 4821 SVN₯G€-£!€I9€‡A‰€šW -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- Last update: Apr 2003 -- $Id: basic.lua,v 1.4 2009/11/24 16:45:13 fabraham Exp $ -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Basic C types and their corresponding Lua types -- All occurrences of "char*" will be replaced by "_cstring", -- and all occurrences of "void*" will be replaced by "_userdata" _basic = { ['void'] = '', ['char'] = 'number', ['tolua_index'] = 'number', ['tolua_len'] = 'number', ['tolua_byte'] = 'number', ['tolua_ubyte'] = 'number', ['tolua_multret'] = 'number', ['int'] = 'number', ['short'] = 'number', ['long'] = 'number', ['unsigned'] = 'number', ['float'] = 'number', ['double'] = 'number', ['_cstring'] = 'string', ['_userdata'] = 'userdata', ['char*'] = 'string', ['void*'] = 'userdata', ['bool'] = 'boolean', ['lua_State*'] = 'state', ['_lstate'] = 'state', ['lua_Object'] = 'value', ['lua_Function'] = 'function', } _basic_ctype = { number = "lua_Number", string = "const char*", userdata = "void*", boolean = "bool", value = "int", } -- List of user defined types -- Each type corresponds to a variable name that stores its tag value. _usertype = {} -- List of types that have to be collected _collect = {} -- List of auto renaming _renaming = {} function appendrenaming (s) local b,e,old,new = strfind(s,"%s*(.-)%s*@%s*(.-)%s*$") if not b then error("#Invalid renaming syntax; it should be of the form: pattern@pattern") end tinsert(_renaming,{old=old, new=new}) end function applyrenaming (s) for i=1,getn(_renaming) do local m,n = gsub(s,_renaming[i].old,_renaming[i].new) if n ~= 0 then return m end end return nil end -- Error handler function tolua_error (s,f) local out = _OUTPUT _OUTPUT = _STDERR if strsub(s,1,1) == '#' then write("\n** tolua: "..strsub(s,2)..".\n\n") if _curr_code then local _,_,s = strfind(_curr_code,"^%s*(.-\n)") -- extract first line if s==nil then s = _curr_code end s = gsub(s,"_userdata","void*") -- return with 'void*' s = gsub(s,"_cstring","char*") -- return with 'char*' s = gsub(s,"_lstate","lua_State*") -- return with 'lua_State*' write("Code being processed:\n"..s.."\n") end else print(debug.traceback("\n** tolua internal error: "..f..s..".\n\n")) return end _OUTPUT = out end function warning (msg) local out = _OUTPUT _OUTPUT = _STDERR write("\n** tolua warning: "..msg..".\n\n") _OUTPUT = out end -- register an user defined type: returns full type function regtype (t) local ft = findtype(t) if isbasic(t) then return t end if not ft then return appendusertype(t) end end -- return type name: returns full type function typevar(type) if type == '' or type == 'void' or type == "..." then return type else local ft = findtype(type) if ft then return ft end _usertype[type] = type return type end end -- check if basic type function isbasic (type) local t = gsub(type,'const ','') local m,t = applytypedef(t) local b = _basic[t] if b then return b,_basic_ctype[b] end return nil end -- split string using a token function split (s,t) local l = {n=0} local f = function (s) l.n = l.n + 1 l[l.n] = s return "" end local p = "%s*(.-)%s*"..t.."%s*" s = gsub(s,"^%s+","") s = gsub(s,"%s+$","") s = gsub(s,p,f) l.n = l.n + 1 l[l.n] = gsub(s,"(%s%s*)$","") return l end -- concatenate strings of a table function concat (t,f,l) local s = '' local i=f while i<=l do s = s..t[i] i = i+1 if i <= l then s = s..' ' end end return s end -- concatenate all parameters, following output rules function concatparam (line, ...) local arg = {...} local i=1 while i<=#arg do if _cont and not strfind(_cont,'[%(,"]') and strfind(arg[i],"^[%a_~]") then line = line .. ' ' end line = line .. arg[i] if arg[i] ~= '' then _cont = strsub(arg[i],-1,-1) end i = i+1 end if strfind(arg[#arg],"[%/%)%;%{%}]$") then _cont=nil line = line .. '\n' end return line end -- output line function output (...) local arg = {...} local i=1 while i<=#arg do if _cont and not strfind(_cont,'[%(,"]') and strfind(arg[i],"^[%a_~]") then write(' ') end write(arg[i]) if arg[i] ~= '' then _cont = strsub(arg[i],-1,-1) end i = i+1 end if strfind(arg[#arg],"[%/%)%;%{%}]$") then _cont=nil write('\n') end end ENDREP DELTA 21069 90611 262414 SVN† † Κ:†·c†}€O¦5€ˆm°1€‰IO»9€Ž=3ΛE€ŽiΥ!€…5[γq€‰]‚‚Θ9€„{τX€‹y €•˜T€a[§t€†=Q†›v€“7B…Δ>€†>BΩ€‹FΪ\€ƒ:Σ4€n‚‚Θ9„Όγy€‹114, 97,119,116,121,112,101, 32, 61, 32,116,121,112,1010,105,102, 32,110,111,116, 32, 102, 32,116,104,101,110, 32,112,114,105,110,116, 40,101,114, 114, 41, 59, 32,114,101,116,117,114,110, 32,101,110,100, 10, 108,111, 99, 97,108, 32, 97, 44, 98, 32, 61, 32,112, 99, 97, 108,108, 40,102, 41, 10,105,102, 32,110,111,116, 32, 97, 32, 116,104,101,110, 32,112,114,105,110,116, 40, 98, 41, 59, 32, 114,101,116,117,114,110, 32,110,105,108, 10,101,108,115,101, 32,114,101,116,117,114,110, 32, 98, 32,111,114, 32,116,114, 117,101, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99, 116,105,111,110, 32,100,111,115,116,114,105,110,103, 40,115, 41, 32,114,101,116,117,114,110, 32,100,111, 95, 40,108,111, 97,100, 40,115, 41, 41, 32,101,110,100, 10,108,111, 99, 97, 108, 32,116, 97, 98, 32, 61, 32,116, 97, 98,108,101, 10,102, 111,114,101, 97, 99,104, 32, 61, 32,102,117,110, 99,116,105, 111,110, 40,116, 44,102, 41, 10,102,111,114, 32,107, 44,118, 32,105,110, 32,112, 97,105,114,115, 40,116, 41, 32,100,111, 10,102, 40,107, 44,118, 41, 10,101,110,100, 10,101,110,100, 10,102,111,114,101, 97, 99,104,105, 32, 61, 32,102,117,110, 99,116,105,111,110, 40,116, 44,102, 41, 10,102,111,114, 32, 105, 44,118, 32,105,110, 32,105,112, 97,105,114,115, 40,116, 41, 32,100,111, 10,102, 40,105, 44,118, 41, 10,101,110,100, 10,101,110,100, 10,103,101,116,110, 32, 61, 32,102,117,110, 99,116,105,111,110, 40,116, 41, 10,114,101,116,117,114,110, 32, 35,116, 10,101,110,100, 10,116,105,110,115,101,114,116, 32, 61, 32,116, 97, 98, 46,105,110,115,101,114,116, 10,116, 114,101,109,111,118,101, 32, 61, 32,116, 97, 98, 46,114,101, 109,111,118,101, 10,115,111,114,116, 32, 61, 32,116, 97, 98, 46,115,111,114,116, 10,108,111, 99, 97,108, 32,100, 98,103, 32, 61, 32,100,101, 98,117,103, 10,103,101,116,105,110,102, 111, 32, 61, 32,100, 98,103, 46,103,101,116,105,110,102,111, 10,103,101,116,108,111, 99, 97,108, 32, 61, 32,100, 98,103, 46,103,101,116,108,111, 99, 97,108, 10,115,101,116, 99, 97, 108,108,104,111,111,107, 32, 61, 32,102,117,110, 99,116,105, 111,110, 32, 40, 41, 32,101,114,114,111,114, 34, 96,115,101, 116, 99, 97,108,108,104,111,111,107, 39, 32,105,115, 32,100, 101,112,114,101, 99, 97,116,101,100, 34, 32,101,110,100, 10, 115,101,116,108,105,110,101,104,111,111,107, 32, 61, 32,102, 117,110, 99,116,105,111,110, 32, 40, 41, 32,101,114,114,111, 114, 34, 96,115,101,116,108,105,110,101,104,111,111,107, 39, 32,105,115, 32,100,101,112,114,101, 99, 97,116,101,100, 34, 32,101,110,100, 10,115,101,116,108,111, 99, 97,108, 32, 61, 32,100, 98,103, 46,115,101,116,108,111, 99, 97,108, 10,108, 111, 99, 97,108, 32,109, 97,116,104, 32, 61, 32,109, 97,116, 104, 10, 97, 98,115, 32, 61, 32,109, 97,116,104, 46, 97, 98, 115, 10, 97, 99,111,115, 32, 61, 32,102,117,110, 99,116,105, 111,110, 32, 40,120, 41, 32,114,101,116,117,114,110, 32,109, 97,116,104, 46,100,101,103, 40,109, 97,116,104, 46, 97, 99, 111,115, 40,120, 41, 41, 32,101,110,100, 10, 97,115,105,110, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,120, 41, 32,114,101,116,117,114,110, 32,109, 97,116,104, 46,100,101, 103, 40,109, 97,116,104, 46, 97,115,105,110, 40,120, 41, 41, 32,101,110,100, 10, 97,116, 97,110, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,120, 41, 32,114,101,116,117,114, 110, 32,109, 97,116,104, 46,100,101,103, 40,109, 97,116,104, 46, 97,116, 97,110, 40,120, 41, 41, 32,101,110,100, 10, 97, 116, 97,110, 50, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,120, 44,121, 41, 32,114,101,116,117,114,110, 32,109, 97,116,104, 46,100,101,103, 40,109, 97,116,104, 46, 97,116, 97,110, 50, 40,120, 44,121, 41, 41, 32,101,110,1000, 99,111,115, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,120, 41, 32,114,101,116,117,114,110, 32,109, 97,116, 104, 46, 99,111,115, 40,109, 97,116,104, 46,114, 97,100, 40, 120, 41, 41, 32,101,110,100, 10,100,101,103, 32, 61, 32,109, 97,116,104, 46,100,101,103, 10,101,120,112, 32, 61, 32,109, 97,116,104, 46,101,120,112, 10,102,108,111,111,114, 32, 61, 32,109, 97,116,104, 46,102,108,111,111,114, 10,102,114,101, 120,112, 32, 61, 32,109, 97,116,104, 46,102,114,101,120,112, 10,108,100,101,120,112, 32, 61, 32,109, 97,116,104, 46,108, 100,101,120,112, 10,108,111,103, 32, 61, 32,109, 97,116,104, 46,108,111,103, 10,108,111,103, 49, 48, 32, 61, 32,109, 97, 116,104, 46,108,111,103, 49, 48, 10,109, 97,120, 32, 61, 32, 109, 97,116,104, 46,109, 97,120, 10,109,105,110, 32, 61, 32, 109, 97,116,104, 46,109,105,110, 10,109,111,100, 32, 61, 32, 109, 97,116,104, 46,109,111,100, 10, 80, 73, 32, 61, 32,109, 97,116,104, 46,112,105, 10,114, 97,100, 32, 61, 32,109, 97, 116,104, 46,114, 97,100, 10,114, 97,110,100,111,109, 32, 61, 32,109, 97,116,104, 46,114, 97,110,100,111,1090,115,105,110, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,120, 41, 32,114,101,116,117,114,110, 32,109, 97,116,104, 46,115,105, 110, 40,109, 97,116,104, 46,114, 97,100, 40,120, 41, 41, 32, 101,110,100, 10,115,113,114,116, 32, 61, 32,109, 97,116,104, 46,115,113,114,116, 10,116, 97,110, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,120, 41, 32,114,101,116,117,114, 110, 32,109, 97,116,104, 46,116, 97,110, 40,109, 97,116,104, 46,114, 97,100, 40,120, 41, 41, 32,101,110,100, 10,108,111, 99, 97,108, 32,115,116,114, 32, 61, 32,115,116,114,105,110, 103, 10,115,116,114, 98,121,116,101, 32, 61, 32,115,116,114, 46, 98,121,116,101, 10,115,116,114, 99,104, 97,114, 32, 61, 32,115,116,114, 46, 99,104, 97,114, 10,115,116,114,102,105, 110,100, 32, 61, 32,115,116,114, 46,102,105,110,100, 10,102, 111,114,109, 97,116, 32, 61, 32,115,116,114, 46,102,111,114, 109, 97,116, 10,103,115,117, 98, 32, 61, 32,115,116,114, 46, 103,115,117, 98, 10,115,116,114,108,101,110, 32, 61, 32,115, 116,114, 46,108,101,110, 10,115,116,114,108,111,119,101,114, 32, 61, 32,115,116,114, 46,108,111,119,101,114, 10,115,116, 114,114,101,112, 32, 61, 32,115,116,114, 46,114,101,1120,115,116,114,117,112,112,101,114, 32, 61, 32,115,116, 114, 46,117,112,112,101,114, 10, 99,108,111, 99,107, 32, 61, 32,111,115, 46, 99,108,111, 99,107, 10,100, 97,116,101, 32, 61, 32,111,115, 46,100, 97,116,101, 10,100,105,102,102,116, 105,109,101, 32, 61, 32,111,115, 46,100,105,102,102,116,105, 109,101, 10,101,120,101, 99,117,116,101, 32, 61, 32,111,115, 46,101,120,101, 99,117,116,101, 10,101,120,105,116, 32, 61, 32,111,115, 46,101,120,105,116, 10,103,101,116,101,110,118, 32, 61, 32,111,115, 46,103,101,116,101,110,118, 10,114,101, 109,111,118,101, 32, 61, 32,111,115, 46,114,101,109,111,118, 101, 10,114,101,110, 97,109,101, 32, 61, 32,111,115, 46,114, 101,110, 97,109,101, 10,115,101,116,108,111, 99, 97,108,101, 32, 61, 32,111,115, 46,115,101,116,108,111, 99, 97,108,101, 10,116,105,109,101, 32, 61, 32,111,115, 46,116,105,109,101, 10,116,109,112,110, 97,109,101, 32, 61, 32,111,115, 46,116, 109,112,110, 97,109,101, 10,103,101,116,103,108,111, 98, 97, 108, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,110, 41, 32,114,101,116,117,114,110, 32, 95, 71, 91,110, 93, 32, 101,110,100, 10,115,101,116,103,108,111, 98, 97,108, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,110, 44,118, 41, 32, 95, 71, 91,110, 93, 32, 61, 32,118, 32,101,110,100, 10, 108,111, 99, 97,108, 32,105,111, 44, 32,116, 97, 98, 32, 61, 32,105,111, 44, 32,116, 97, 98,108,101, 10, 95, 83, 84, 68, 73, 78, 32, 61, 32,105,111, 46,115,116,100,105,110, 10, 95, 83, 84, 68, 69, 82, 82, 32, 61, 32,105,111, 46,115,116,100, 101,114,114, 10, 95, 83, 84, 68, 79, 85, 84, 32, 61, 32,105, 111, 46,115,116,100,111,117,116, 10, 95, 73, 78, 80, 85, 84, 32, 61, 32,105,111, 46,115,116,100,105,110, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,105,111, 46,115,116,100,111,117, 1160, 99, 108,111,115,101,102,105,108,101, 32, 61, 32,105,111, 46, 99, 108,111,115,101, 10,111,112,101,110,102,105,108,101, 32, 61, 32,105,111, 46,111,112,101,110, 10,102,117,110, 99,116,105, 111,110, 32,102,108,117,115,104, 32, 40,102, 41, 10,105,102, 32,102, 32,116,104,101,110, 32,102, 58,102,108,117,115,104, 40, 41, 10,101,108,115,101, 32, 95, 79, 85, 84, 80, 85, 84, 58,102,108,117,115,104, 40, 41, 10,101,110,100, 10,101,110, 100, 10,102,117,110, 99,116,105,111,110, 32,114,101, 97,100, 102,114,111,109, 32, 40,110, 97,109,101, 41, 10,105,102, 32, 110, 97,109,101, 32, 61, 61, 32,110,105,108, 32,116,104,101, 110, 10,108,111, 99, 97,108, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 32, 61, 32,105,111, 46, 99,108,111,115,101, 40, 95, 73, 78, 80, 85, 84, 41, 10, 95, 73, 78, 80, 85, 84, 32, 61, 32,105,111, 46,115,116,100,105,110, 10,114,101,116, 117,114,110, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 10,101,108,115,101, 10,108,111, 99, 97,108, 32,102, 44, 32, 101,114,114, 44, 32, 99,111,100, 32, 61, 32,105,111, 46,111, 112,101,110, 40,110, 97,109,101, 44, 32, 34,114, 34, 41, 10, 95, 73, 78, 80, 85, 84, 32, 61, 32,102, 32,111,114, 32, 95, 73, 78, 80, 85, 84, 10,114,101,116,117,114,110, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 10,101,110,100, 10,101, 110,100, 10,102,117,110, 99,116,105,111,110, 32,119,114,105, 116,101,116,111, 32, 40,110, 97,109,101, 41, 10,105,102, 32, 110, 97,109,101, 32, 61, 61, 32,110,105,108, 32,116,104,101, 110, 10,108,111, 99, 97,108, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 32, 61, 32,105,111, 46, 99,108,111,115,101, 40, 95, 79, 85, 84, 80, 85, 84, 41, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,105,111, 46,115,116,100,111,117,116, 10, 114,101,116,117,114,110, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 10,101,108,115,1019, 34, 41, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,102, 32, 111,114, 32, 95, 79, 85, 84, 80, 85, 84, 10,114,101,116,117, 114,110, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 10, 101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32, 97,112,112,101,110,100,116,111, 32, 40,110, 97,109, 101, 41, 10,108,111, 99, 97,108, 32,102, 44, 32,101,114,114, 44, 32, 99,111,100, 32, 61, 32,105,111, 46,111,112,101,110, 40,110, 97,109,101, 44, 32, 34, 97, 34, 41, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,102, 32,111,114, 32, 95, 79, 85, 84, 80, 85, 84, 10,114,101,116,117,114,110, 32,102, 44, 32, 101,114,114, 44, 32, 99,111,100, 10,101,110,1000,108,111, 99, 97,108, 32,102, 32, 61, 32, 95, 73, 78, 80, 85, 84, 10,108,111, 99, 97,108, 32, 97,114,103, 32, 61, 32,123, 46, 46, 46,125, 10,105,102, 32,114, 97,119,116, 121,112,101, 40, 97,114,103, 91, 49, 93, 41, 32, 61, 61, 32, 39,117,115,101,114,100, 97,116, 97, 39, 32,116,104,101,110, 10,102, 32, 61, 32,116, 97, 98, 46,114,101,109,111,118,101, 40, 97,114,103, 44, 32, 49, 41, 10,101,110,100, 10,114,101, 116,117,114,110, 32,102, 58,114,101, 97,100, 40,116, 97, 98, 108,101, 46,117,110,112, 97, 99,107, 40, 97,114,103, 41, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32,119, 114,105,116,101, 32, 40, 46, 46, 46, 41, 10,108,111, 99, 97, 108, 32,102, 32, 61, 32, 95, 79, 85, 84, 80, 85, 84, 10,108, 111, 99, 97,108, 32, 97,114,103, 32, 61, 32,123, 46, 46, 46, 125, 10,105,102, 32,114, 97,119,116,121,112,101, 40, 97,114, 103, 91, 49, 93, 41, 32, 61, 61, 32, 39,117,115,101,114,100, 97,116, 97, 39, 32,116,104,101,110, 10,102, 32, 61, 32,116, 97, 98, 46,114,101,109,111,118,101, 40, 97,114,103, 44, 32, 49, 41, 10,101,110,100, 10,114,101,116,117,114,110, 32,102, 58,119,114,105,116,101, 40,116, 97, 98,108,101, 46,117,110, 112, 97, 99,107, 40, 97,114,103, 41, 415, 98, 97,115,105, 99, 32, 61, 32,123, 10, 91, 39,118, 111,105,100, 39, 93, 32, 61, 32, 39, 39, 44, 10, 91, 39, 99, 104, 97,114, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44, 10, 91, 39,116,111,108,117, 97, 95,105,110,100,101, 120, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44, 10, 91, 39,116,111,108,117, 97, 95,108,101,110, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44, 10, 91, 39,116, 111,108,117, 97, 95, 98,121,116,101, 39, 93, 32, 61, 32, 39, 110,117,109, 98,101,114, 39, 440, 91, 39,116,111,108,117, 97, 95, 109,117,108,116,114,101,116, 39, 93, 32, 61, 32, 39,110,117, 109, 98,101,114, 39, 44, 10, 91, 39,105,110,116, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44, 10, 91, 39,115, 104,111,114,116, 39, 93, 32, 61, 32, 39,110,117,109, 98,101, 114, 39, 44, 10, 91, 39,108,111,110,103, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44, 10, 91, 39,117,110,115, 105,103,110,101,100, 39, 93, 32, 61, 32, 39,110,117,109, 98, 101,114, 39, 44, 10, 91, 39,102,108,111, 97,116, 39, 93, 32, 61, 32, 39,110,117,109, 98,101,114, 39, 44, 10, 91, 39,100, 111,117, 98,108,101, 39, 93, 32, 61, 32, 39,110,117,109, 98, 101,114, 39, 44, 10, 91, 39, 95, 99,115,116,114,105,110,103, 39, 93, 32, 61, 32, 39,115,116,114,105,110,103, 39, 44, 10, 91, 39, 95,117,115,101,114,100, 97,116, 97, 39, 93, 32, 61, 32, 39,117,115,101,114,100, 97,116, 97, 39, 44, 10, 91, 39, 99,104, 97,114, 42, 39, 93, 32, 61, 32, 39,115,116,114,105, 110,103, 39, 44, 10, 91, 39,118,111,105,100, 42, 39, 93, 32, 61, 32, 39,117,115,101,114,100, 97,116, 97, 39, 44, 10, 91, 39, 98,111,111,108, 39, 93, 32, 61, 32, 39, 98,111,111,108, 101, 97,110, 39, 44, 10, 91, 39,108,117, 97, 95, 83,116, 97, 116,101, 42, 39, 93, 32, 61, 32, 39,115,116, 97,116,101, 39, 44, 10, 91, 39, 95,108,115,116, 97,116,101, 39, 93, 32, 61, 32, 39,115,116, 97,116,101, 39, 44, 10, 91, 39,108,117, 97, 95, 79, 98,106,101, 99,116, 39, 93, 32, 61, 32, 39,118, 97, 108,117,101, 39, 440, 91, 39, 76, 85, 65, 95, 86, 65, 76, 85, 69, 39, 93, 32, 61, 32, 39,118, 97,108,117,101, 39, 44, 10,125, 10, 95, 98, 97,115,105, 99, 95, 99,116,121,112, 101, 32, 61, 32,123, 10,110,117,109, 98,101,114, 32, 61, 32, 34,108,117, 97, 95, 78,117,109, 98,101,114, 34, 44, 10,115, 116,114,105,110,103, 32, 61, 32, 34, 99,111,110,115,116, 32, 99,104, 97,114, 42, 34, 44, 10,117,115,101,114,100, 97,116, 97, 32, 61, 32, 34,118,111,105,100, 42, 34, 44, 10, 98,111, 111,108,101, 97,110, 32, 61, 32, 34, 98,111,111,108, 34, 44, 10,118, 97,108,117,101, 32, 61, 32, 34,105,110,116, 34, 44, 10,125, 10, 95,117,115,101,114,116,121,112,101, 32, 61, 32, 123,125, 10, 95, 99,111,108,108,101, 99,116, 32, 61, 32,123, 125, 10, 95,114,101,110, 97,109,105,110,103, 32, 61, 32,123, 125, 10,102,117,110, 99,116,105,111,110, 32, 97,112,112,101, 110,100,114,101,110, 97,109,105,110,103, 32, 40,115, 41, 10, 108,111, 99, 97,108, 32, 98, 44,101, 44,111,108,100, 44,110, 101,119, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 34, 37,115, 42, 40, 46, 45, 41, 37,115, 42, 64, 37,115, 42, 40, 46, 45, 41, 37,115, 42, 36, 34, 41, 10,105,102, 32,110, 111,116, 32, 98, 32,116,104,101,110, 10,101,114,114,111,114, 40, 34, 35, 73,110,118, 97,108,105,100, 32,114,101,110, 97, 109,105,110,103, 32,115,121,110,116, 97,120, 59, 32,105,116, 32,115,104,111,117,108,100, 32, 98,101, 32,111,102, 32,116, 104,101, 32,102,111,114,109, 58, 32,112, 97,116,116,101,114, 110, 64,112, 97,116,116,101,114,110, 34, 41, 10,101,110,100, 10,116,105,110,115,101,114,116, 40, 95,114,101,110, 97,109, 105,110,103, 44,123,111,108,100, 61,111,108,100, 44, 32,110, 101,119, 61,110,101,119,125, 41, 10,101,110,100, 10,102,117, 110, 99,116,105,111,110, 32, 97,112,112,108,121,114,101,110, 97,109,105,110,103, 32, 40,115, 41, 10,102,111,114, 32,105, 61, 49, 44,103,101,116,110, 40, 95,114,101,110, 97,109,105, 110,103, 41, 32,100,111, 10,108,111, 99, 97,108, 32,109, 44, 110, 32, 61, 32,103,115,117, 98, 40,115, 44, 95,114,101,110, 97,109,105,110,103, 91,105, 93, 46,111,108,100, 44, 95,114, 101,110, 97,109,105,110,103, 91,105, 93, 46,110,101,119, 41, 10,105,102, 32,110, 32,126, 61, 32, 48, 32,116,104,101,110, 10,114,101,116,117,114,110, 32,109, 10,101,110,100, 10,101, 110,100, 10,114,101,116,117,114,110, 32,110,105,108, 10,101, 110,100, 10,102,117,110, 99,116,105,111,110, 32,116,111,108, 117, 97, 95,101,114,114,111,114, 32, 40,115, 44,102, 41, 10, 108,111, 99, 97,108, 32,111,117,116, 32, 61, 32, 95, 79, 85, 84, 80, 85, 84, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32, 95, 83, 84, 68, 69, 82, 820,119,114,105,116,101, 40, 34, 92, 110, 42, 42, 32,116,111,108,117, 97, 58, 32, 34, 46, 46,115, 116,114,115,117, 98, 40,115, 44, 50, 41, 46, 46, 34, 46, 92, 110, 92,110, 34, 41, 10,105,102, 32, 95, 99,117,114,114, 95, 99,111,100,101, 32,116,104,101,110, 10,108,111, 99, 97,108, 32, 95, 44, 95, 44,115, 32, 61, 32,115,116,114,102,105,110, 100, 40, 95, 99,117,114,114, 95, 99,111,100,101, 44, 34, 94, 37,115, 42, 40, 46, 45, 92,110, 41, 34, 41, 10,105,102, 32, 115, 61, 61,110,105,108, 32,116,104,101,110, 32,115, 32, 61, 32, 95, 99,117,114,114, 95, 99,111,100,101, 32,101,110,100, 10,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 95,117, 115,101,114,100, 97,116, 97, 34, 44, 34,118,111,105,100, 42, 34, 41, 10,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 95, 99,115,116,114,105,110,103, 34, 44, 34, 99,104, 97,114, 42, 34, 41, 10,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 95,108,115,116, 97,116,101, 34, 44, 34,108,117, 97, 95, 83,116, 97,116,101, 42, 34, 41, 10,119,114,105,116,101, 40, 34, 67,111,100,101, 32, 98,101,105,110,103, 32,112,114,111, 99,101,115,115,101,100, 58, 92,110, 34, 46, 46,115, 46, 46, 34, 92,110, 34, 41, 10,101,110,100, 10,101,108,115,101, 10, 112,114,105,110,116, 40,100,101, 98,117,103, 46,116,114, 97, 99,101, 98, 97, 99,107, 40, 34, 92,110, 42, 42, 32,116,111, 108,117, 97, 32,105,110,116,101,114,110, 97,108, 32,101,114, 114,111,114, 58, 32, 34, 46, 46,102, 46, 46,115, 46, 46, 34, 46, 92,110, 92,110, 34, 41, 41, 10,114,101,116,117,114,110, 10,101,110,100, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32, 111,117,116, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32,119, 97,114,110,105,110,103, 32, 40,109,115,103, 410, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32, 95, 83, 84, 68, 69, 82, 82, 10,119,114,105,116,101, 40, 34, 92,110, 42, 42, 32,116,111,108,117, 97, 32,119, 97,114, 110,105,110,103, 58, 32, 34, 46, 46,109,115,103, 46, 46, 34, 46, 92,110, 92,110, 34, 41, 10, 95, 79, 85, 84, 80, 85, 84, 32, 61, 32,111,117,116, 10,101,110,100, 10,102,117,110, 99, 116,105,111,110, 32,114,101,103,116,121,112,101, 32, 40,116, 41, 10,108,111, 99, 97,108, 32,102,116, 32, 61, 32,102,105, 110,100,116,121,112,101, 40,116, 41, 10,105,102, 32,105,115, 98, 97,115,105, 99, 40,116, 41, 32,116,104,101,110, 10,114, 101,116,117,114,110, 32,116, 10,101,110,100, 10,105,102, 32, 110,111,116, 32,102,116, 32,116,104,101,110, 10,114,101,116, 117,114,110, 32, 97,112,112,101,110,100,117,115,101,114,116, 121,112,101, 40,116116,121,112,101,118, 97, 114, 40,116,121,112,101, 41, 10,105,102, 32,116,121,112,101, 32, 61, 61, 32, 39, 39, 32,111,114, 32,116,121,112,101, 32, 61, 61, 32, 39,118,111,105,100, 39, 32,111,114, 32,116,121, 112,101, 32, 61, 61, 32, 34, 46, 46, 46, 34, 32,116,104,101, 110, 10,114,101,116,117,114,110, 32,116,121,112,101, 10,101, 108,115,101, 10,108,111, 99, 97,108, 32,102,116, 32, 61, 32, 102,105,110,100,116,121,112,101, 40,116,121,112,101, 41, 10, 105,102, 32,102,116, 32,116,104,101,110, 10,114,101,116,117, 114,110, 32,102,116, 10,101,110,100, 10, 95,117,115,101,114, 116,121,112,101, 91,116,121,112,101, 93, 32, 61, 32,116,121, 112,101, 10,114,101,116,117,114,110, 32,116,121,112,101, 10, 101,110,100, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32,105,115, 98, 97,115,105, 99, 32, 40,116,121,112,101, 41, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,103,115,117, 98, 40,116,121,112,101, 44, 39, 99,111,110,115,116, 32, 39, 44, 39, 39, 41, 10,108,111, 99, 97,108, 32,109, 44,116, 32, 61, 32, 97,112,112,108,121,116,121,112,101,100,101,102, 40, 116, 41, 10,108,111, 99, 97,108, 32, 98, 32, 61, 32, 95, 98, 97,115,105, 99, 91,116, 93, 10,105,102, 32, 98, 32,116,104, 101,110, 10,114,101,116,117,114,110, 32, 98, 44, 95, 98, 97, 115,105, 99, 95, 99,116,121,112,101, 91, 98, 93, 10,101,110, 100, 10,114,101,116,117,114,110, 32,110,105,108, 10,101,110, 100, 10,102,117,110, 99,116,105,111,110, 32,115,112,108,105, 116, 32, 40,115, 44,116, 41, 10,108,111, 99, 97,108, 32,108, 32, 61, 32,123,110, 61, 48,125, 10,108,111, 99, 97,108, 32, 102, 32, 61, 32,102,117,110, 99,116,105,111,110, 32, 40,115, 41, 10,108, 46,110, 32, 61, 32,108, 46,110, 32, 43, 32, 49, 10,108, 91,108, 46,110, 93, 32, 61, 32,115, 10,114,101,116, 117,114,110, 32, 34, 34, 10,101,110,100, 10,108,111, 99, 97, 108, 32,112, 32, 61, 32, 34, 37,115, 42, 40, 46, 45, 41, 37, 115, 42, 34, 46, 46,116, 46, 46, 34, 37,115, 42, 34, 10,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 94, 37,115, 43, 34, 44, 34, 34, 41, 10,115, 32, 61, 32,103,115,117, 98, 40, 115, 44, 34, 37,115, 43, 36, 34, 44, 34, 34, 41, 10,115, 32, 61, 32,103,115,117, 98, 40,115, 44,112, 44,102, 41, 10,108, 46,110, 32, 61, 32,108, 46,110, 32, 43, 32, 49, 10,108, 91, 108, 46,110, 93, 32, 61, 32,103,115,117, 98, 40,115, 44, 34, 40, 37,115, 37,115, 42, 41, 36, 34, 44, 34, 34, 41, 10,114, 101,116,117,114,110, 32,10811,110, 99, 97,116, 32, 40,116, 44,102, 44,108, 41, 10,108,111, 99, 97,108, 32,115, 32, 61, 32, 39, 39, 10,108,111, 99, 97,108, 32,105, 61,102, 10,119, 104,105,108,101, 32,105, 60, 61,108, 32,100,111, 10,115, 32, 61, 32,115, 46, 46,116, 91,105, 93, 10,105, 32, 61, 32,105, 43, 49, 10,105,102, 32,105, 32, 60, 61, 32,108, 32,116,104, 101,110, 32,115, 32, 61, 32,115, 46, 46, 39, 32, 39, 32,101, 110,100, 10,101,110,100, 10,114,101,116,117,114,110, 32,115, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 99, 111,110, 99, 97,116,112, 97,114, 97,109, 32, 40,108,105,110, 101, 44, 32, 46, 46, 46, 41, 10,108,111, 99, 97,108, 32, 97, 114,103, 32, 61, 32,123, 46, 46, 46,125, 10,108,111, 99, 97, 108, 32,105, 61, 49, 10,119,104,105,108,101, 32,105, 60, 61, 35, 97,114,103, 32,100,11110,115,116,114,102,105,110,100, 40, 97,114,103, 91,105, 93, 44, 34, 94, 91, 37, 97, 95,126, 93, 34, 41, 32,116,104,101,110, 10,108,105,110,101, 32, 61, 32,108,105,110,101, 32, 46, 46, 32, 39, 32, 39, 10,101,110, 100, 10,108,105,110,101, 32, 61, 32,108,105,110,101, 32, 46, 46, 32, 97,114,103, 91,105, 93, 10,105,102, 32, 97,114,103, 91,105, 93, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10, 95, 99,111,110,116, 32, 61, 32,115,116,114,115,117, 98, 40, 97,114,103, 91,105, 93, 44, 45, 49, 44, 45, 49, 41, 10,101, 110,100, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10, 105,102, 32,115,116,114,102,105,110,100, 40, 97,114,103, 91, 35, 97,114,103, 93, 44, 34, 91, 37, 47, 37, 41, 37, 59, 37, 123, 37,125, 93, 36, 34, 41, 32,116,104,101,110, 10, 95, 99, 111,110,116, 61,110,105,108, 32,108,105,110,101, 32, 61, 32, 108,105,110,101, 32, 46, 46, 32, 39, 92,110, 39, 10,101,110, 100, 10,114,101,116,117,114,110, 32,108,105,110,101, 10,101, 110,100, 10,102,117,110, 99,116,105,111,110, 32,111,117,116, 112,117,116, 32, 40, 46, 46, 46, 41, 10,108,111, 99, 97,108, 32, 97,114,103, 32, 61, 32,123, 46, 46, 46,125, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,105, 60, 61, 35, 97,114,103, 32,100,111, 10,105,102, 32, 95, 99, 111,110,116, 32, 97,110,100, 32,110,111,116, 32,115,116,114, 102,105,110,100, 40, 95, 99,111,110,116, 44, 39, 91, 37, 40, 44, 34, 93, 39, 41, 32, 97,110,10010,119,114,105,116, 101, 40, 39, 32, 39, 41, 10,101,110,100, 10,119,114,105,116, 101, 40, 97,114,103, 91,105, 93, 41, 10,105,102, 32, 97,114, 103, 91,105, 93, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10, 95, 99,111,110,116, 32, 61, 32,115,116,114,115,117, 98, 40, 97,114,103, 91,105, 93, 44, 45, 49, 44, 45, 49, 41, 10, 101,110,100, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,10010, 95, 99,111,110,116, 61,110,105,108, 32,119,114,105,116,101, 40, 39, 92,110, 39, 41, 10,101,110,10061, 32, 39, 92,110, 36, 35,105, 110, 99,108,117,100,101, 32, 34, 39, 46, 46,102,110, 46, 46, 39, 34, 92,110, 39, 10,115, 61, 32, 34, 92,110, 34, 32, 46, 46, 32,115, 32, 46, 46, 32, 34, 92,110, 34, 10,108,111, 99, 97,108, 32, 95, 44,101, 44, 99, 44,116, 32, 61, 32,115,116, 114,102,105,110,100, 40,115, 44, 32, 34, 92,110, 40, 91, 94, 92,110, 93, 45, 41, 91, 84,116, 93, 91, 79,111, 93, 91, 76, 108, 93, 91, 85,117, 93, 91, 65, 97, 93, 95, 40, 91, 94, 37, 115, 93, 42, 41, 91, 94, 92,110, 93, 42, 92,110, 34, 41, 10, 119,104,105,108,101, 32,101, 32,100,111, 10,116, 32, 61, 32, 115,116,114,108,111,119,101,114, 40,116, 41, 10,105,102, 32, 116, 32, 61, 61, 32, 34, 98,101,103,105,110, 34, 32,116,104, 101,110, 10, 95, 44,101, 44, 99, 32, 61, 32,115,116,114,102, 105,110,100, 40,115, 44, 34, 40, 46, 45, 41, 92,110, 91, 94, 92,110, 93, 42, 91, 84,116, 93, 91, 79,111, 93, 91, 76,108, 93, 91, 85,117, 93, 91, 65, 97, 93, 95, 91, 69,101, 93, 91, 78,110, 93, 91, 68,100, 93, 91, 94, 92,110, 93, 42, 92,110, 34, 44,101, 41, 10,105,102, 32,110,111,116, 32,101, 32,116, 104,101,110, 10,116,111,108,117, 97, 95,101,114,114,111,114, 40, 34, 85,110, 98, 97,108, 97,110, 99,101,100, 32, 39,116, 111,108,117, 97, 95, 98,101,103,105,110, 39, 32,100,105,114, 101, 99,116,105,118,101, 32,105,110, 32,104,101, 97,100,101, 114, 32,102,105,108,101, 34, 41, 10,101,110,100, † † † Š†”l‹€‚~’€ˆ25, 10, 99, 108, 97,115,115, 70,117,110, 99,116,105,111,110, 46, 95, 95, 105,110,100,101,120, 32, 61, 32, 99,108, 97,115,115, 70,117, 110, 99,116,105,111,110, 10,115,101,116,109,101,116, 97,116, 97, 98,108,101, 40, 99,108, 97,115,115, 70,117,110, 9908, 97, 115,115, 70,117,110, 99,116,105,111,110, 58,100,101, 99,108, 116,121,112,101, 32, 40, 41, 10,115,101,108,102, 46,116,121, 112,101, 32, 61, 32,116,121,112,101,118, 97,114, 40,115,101, 108,102, 46,116,121,112,101, 41, 10,105,102, 32,115,116,114, 102,105,110,100, 40,115,101,108,102, 46,109,111,100, 44, 39, 99,111,110,115,116, 39, 41, 32,116,104,101,110, 10,115,101, 108,102, 46,116,121,112,101, 32, 61, 32, 39, 99,111,110,115, 116, 32, 39, 46, 46,115,101,108,102, 46,116,121,112,101, 10, 115,101,108,102, 46,109,111,100, 32, 61, 32,103,115,117, 98, 40,115,101,108,102, 46,109,111,100, 44, 39, 99,111,110,115, 116, 37,115, 42, 39, 44, 39, 39, 41, 10,101,110,100, 10,108, 111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32, 115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32,100,111, 10,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 58,100, 101, 99,108,116,121,112,101, 40, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,101,110,100, 10,102,117,110, 99, 116,1ŒΐƒΑcƒΐ;BωK‹}‹€mFΪ~€‹v]œz€ o‚-¬F€‹O1›€†Oμ€ƒzGΪ~€’yFς>€‚Q‚KΕ€J©>€œ2M‚Λ@€„#‹j€‰3ςz€€/‚‚c‚†u€]a‚†u€_a‚†u€_c‚†u€]a‚†u€_]‚σd€©†7ψW€‡_ƒ†g€…-ƒ3€”‚ƒΈ;›Bƒ¦!5,101,108,102, 46,116,121,112,101, 32, 61, 61, 32, 39,116, 111,108,117, 97, 95,109,117,108,116,114,101,11605,110, 116, 32,116,111,108,117, 97, 95,114,101,116, 59, 39, 41, 10, 101,110,100, 10,105,102, 32,111,118,101,114,108,111, 97,100, 32, 60, 32, 48, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 35,105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,101, 110,100, 10,111,117,116,112,117,116, 40, 39, 32,116,111,108, 117, 97, 95, 69,114,114,111,114, 32,116,111,108,117, 97, 95, 101,114,114, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,105,102, 32, 40, 92,110, 39, 41, 10,108,111, 99, 97,108, 32,110, 97,114,103, 10,105,102, 32, 99,108, 97,115,115, 32, 116,104,101,110, 32,110, 97,114,103, 61, 50, 32,101,108,115, 101, 32,110, 97,114,103, 61, 49, 32,101,110,100, 10,105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,102,117,110, 99, 32, 61, 32, 39,116,111,108,117, 97, 95,105,115,117,115,101,114,116,121,112,101, 39, 10,108, 111, 99, 97,108, 32,116,121,112,101, 32, 61, 32,115,101,108, 102, 46,112, 97,114,101,110,116, 46,116,121,112,101, 10,105, 102, 32,115,101,108,102, 46, 99,111,110,115,116, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10,116,121,112,101, 32, 61, 32,115,101,108,102, 46, 99,111,110,115,116, 32, 46, 46, 32, 34, 32, 34, 32, 46, 46, 32,116,121,112,101, 10,101,110,100, 10,105,102, 32,115,101,108,102, 46,110, 97,109,101, 61, 61, 39,110,101,119, 39, 32,111,114, 32,115,116, 97,116,105, 99, 126, 61,110,105,108, 32,116,104,101,110, 10 97, 98,108,101, 39, 10,116,121,112,101, 32, 61, 32, 115,101,108,102, 46,112, 97,114,101,110,116, 46,116,121,112, 101, 10,101,110,100, 10,111,117,116,112,117,116, 40, 39, 32, 33, 39, 46, 46,102,117,110, 99, 46, 46, 39, 40,116,111,108, 117, 97, 95, 83, 44, 49, 44, 34, 39, 46, 46,116,121,112,101, 46, 46, 39, 34, 44, 48, 44, 38,116,111,108,117, 97, 95,101, 114,114, 41, 32,124,124, 32, 92,110, 39, 41, 10,101,110,100, 10,108,111, 99, 97,108, 32,118, 97,114, 97,114,103, 32, 61, 32,102, 97,108,115,101, 10,105,102, 32,115,101,108,102, 46, 97,114,103,115, 91, 49, 93, 46,116,121,112,101, 32,126, 61, 32, 39,118,111,105,100, 39, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115, 101,108,102, 46, 97,114,103,115, 91,105, 93, 32, 97,110,100, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 46,116, 121,112,101, 32,126, 61, 32, 34, 46, 46, 46, 34, 32,100,111, 10,108,111, 99, 97,108, 32, 98,116,121,112,101, 32, 61, 32, 105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46, 97,114, 103,115, 91,105, 93, 46,116,121,112,101, 41, 10,105,102, 32, 98,116,121,112,101, 32,126, 61, 32, 39,115,116, 97,116,101, 39, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 32, 33, 39, 46, 46,115,101,108,102, 46, 97,114,103,115, 91, 105, 93, 58,111,117,116, 99,104,101, 99,107,116,121,112,101, 40,110, 97,114,103, 44,102, 97,108,115,101, 41, 46, 46, 39, 32,124,124, 32, 92,110, 39, 41, 10,101,110,100, 10,105,102, 32, 98,116,121,112,101, 32,126, 61, 32, 39,115,116, 97,116, 101, 39, 32,116,104,101,110, 10,110, 97,114,103, 32, 61, 32, 110, 97,114,103, 43, 49, 10,101,110,100, 10,105, 32, 61, 32, 105, 43, 49, 10,101,110,100, 10,105,102, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32,116,104,101,110, 10,118, 97,114, 97,114,103, 32, 61, 32,116,114,117,101, 10,101,110, 100, 10,101,110,100, 10,105,102, 32,110,111,116, 32,118, 97, 114, 97,114,103, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 32, 33,116,111,108,117, 97, 95,105,115,110,111, 111, 98,106, 40,116,111,108,117, 97, 95, 83, 44, 39, 46, 46, 110, 97,114,103, 46, 46, 39, 44, 38,116,111,108,117, 97, 95, 101,114,114, 41, 92,110, 39, 41, 10,101,108,115,101, 10,111, 117,116,112,117,116, 40, 39, 32, 48, 92,110, 39, 41, 10,101, 110,100, 10,111,117,116,112,117,116, 40, 39, 32, 41, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,103,111,116,111, 32, 116,111,108,117, 97, 95,108,101,114,114,111,114, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,101,108,115,101, 92, 110, 39, 41, 10,105,102, 32,111,118,101,114,108,111, 97,100, 32, 60, 32, 48, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,101, 110,100, 10,111,117,116,112,117,116, 40, 39, 32,123, 39, 41, 10,108,111, 99, 97,108, 32,110, 97,114,103, 10,105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 32,110, 97,114,103, 61, 50, 32,101,108,115,101, 32,110, 97,114,103, 61, 49, 32, 101,110,100, 10,105,102, 32, 99,108, 97,115,115, 32, 97,110, 100, 32,115,101,108,102, 46,110, 97,109,101,126, 61, 39,110, 101,119, 39, 32, 97,110,100, 32,115,116, 97,116,105, 99, 61, 61,110,105,108, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 32, 39, 44,115,101,108,102, 46, 99,111,110,115, 116, 44,115,101,108,102, 46,112, 97,114,101,110,116, 46,116, 121,112,101, 44, 39, 42, 39, 44, 39,115,101,108,102, 32, 61, 32, 39, 41, 10,111,117,116,112,117,116, 40, 39, 40, 39, 44, 115,101,108,102, 46, 99,111,110,115,116, 44,115,101,108,102, 46,112, 97,114,101,110,116, 46,116,121,112,101, 44, 39, 42, 41, 32, 39, 41, 10,111,117,116,112,117,116, 40, 39,116,111, 108,117, 97, 95,116,111,117,115,101,114,116,121,112,101, 40, 116,111,108,117, 97, 95, 83, 44, 49, 44, 48, 41, 59, 39, 41, 10,101,108,115,101,105,102, 32,115,116, 97,116,105, 99, 32, 116,104,101,110, 10, 95, 44, 95, 44,115,101,108,102, 46,109, 111,100, 32, 61, 32,115,116,114,102,105,110,100, 40,115,101, 108,102, 46,109,111,100, 44, 39, 94, 37,115, 42,115,116, 97, 116,105, 99, 37,115, 37,115, 42, 40, 46, 42, 41, 39, 41 97,110,100, 32,115,101, 108,102, 46, 97,114,103,115, 91,105, 93, 46,116,121,112,101, 32,126, 61, 32, 34, 46, 46, 46, 34, 32,100,111, 10,115,101, 108,102, 46, 97,114,103,115, 91,105, 93, 58,100,101, 99,108, 97,114,101, 40,110, 97,114,103, 41, 10,105,102, 32,105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 46,116,121,112,101, 41, 32,126, 61, 32, 34,115, 116, 97,116,101, 34, 32,116,104,101,110, 10,110, 97,114,103, 32, 61, 32,110, 97,114,103, 43, 49, 10,101,110,100, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,101,110,100, 10, 105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,101, 108,102, 46,110, 97,109,101,126, 61, 39,110,101,119, 39, 32, 97,110,100, 32,115,116, 97,116,105, 99, 61, 61,110,105,108, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 35, 105,102,110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,111,117,116,112,117, 116, 40, 39, 32,105,102, 32, 40, 33,115,101,108,102, 41, 32, 116,111,108,117, 97, 95,101,114,114,111,114, 40,116,111,108, 117, 97, 95, 83, 44, 34,105,110,118, 97,108,105,100, 32, 92, 39,115,101,108,102, 92, 39, 32,105,110, 32,102,117,110, 99, 116,105,111,110, 32, 92, 39, 39, 46, 46,115,101,108,102, 46, 110, 97,109,101, 46, 46, 39, 92, 39, 34, 44, 78, 85, 76, 76, 41, 59, 39, 41, 59, 10,111,117,116,112,117,116, 40, 39, 35, 101,110,100,105,102, 92,110, 39, 41, 10,101,110,100115,101,108,102, 46, 97, 114,103,115, 91, 49, 93, 46,116,121,112,101, 32,126, 61, 32, 39,118,111,105,100, 39, 32,116,104,101,110, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115,101, 108,102, 46, 97,114,103,115, 91,105, 93, 32, 97,110,100, 32, 115,101,108,102, 46, 97,114,103,115, 91,105, 93, 46,116,121, 112,101, 32,126, 61, 32, 34, 46, 46, 46, 34, 32,100,111, 10, 105,102, 32,105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 46,116,121,112,101, 41, 32, 126, 61, 32, 34,115,116, 97,116,101, 34, 32,116,104,101,110, 10,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 58,103, 101,116, 97,114,114, 97,121, 40,110, 97,114,103, 41, 10,110, 97,114,103, 32, 61, 32,110, 97,114,103, 43, 49, 10,101,110, 100, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,10000,101, 108,101,116,101, 39, 32,116,104,101,110, 10,111,117,116,112, 117,116, 40, 39, 32,116,111,108,117, 97, 95,114,101,108,101, 97,115,101, 40,116,111,108,117, 97, 95, 83, 44,115,101,108, 102, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32, 100,101,108,101,116,101, 32,115,101,108,102, 59, 39, 41, 10, 101,108,115,101,105,102, 32, 99,108, 97,115,115, 32, 97,110, 100, 32,115,101,108,102, 46,110, 97,109,101, 32, 61, 61, 32, 39,111,112,101,114, 97,116,111,114, 38, 91, 935,101, 108,102, 45, 62,111,112,101,114, 97,116,111,114, 91, 93, 40, 39, 44,115,101,108,102, 46, 97,114,103,115, 91, 49, 93, 46, 110, 97,109,101, 44, 39, 45, 49, 41, 32, 61, 32, 39, 44,115, 101,108,102, 46, 97,114,103,115, 91, 50, 93, 46,110, 97,109, 101, 44, 39, 59, 39, 41, 10,101,108,115,101, 10,111,117,116, 112,117,116, 40, 39, 32,123, 39, 41, 10,105,102, 32,115,101, 108,102, 46,116,121,112,101, 32,126, 61, 32, 39, 39, 32, 97, 110,100, 32,115,101,108,102, 46,116,121,112,101, 32,126, 61, 32, 39,118,111,105,100, 39, 32,116,104,101,110, 10,108,111, 99, 97,108, 32, 99,116,121,112,101, 32, 61, 32,115,101,108, 102, 46,116,121,112,101, 10,105,102, 32, 99,116,121,112,101, 32, 61, 61, 32, 39,118, 97,108,117,101, 39, 32,111,114, 32, 99,116,121,112,101, 32, 61, 61, 32, 39,102,117,110, 99,116, 105,111,110, 39, 32,116,104,101,110, 10, 99,116,121,112,101, 32, 61, 32, 39,105,110,116, 39, 10,101,110,100, 10,105,102, 32,115,101,108,102, 46,116,121,112,101, 32, 61, 61, 32, 39, 116,111,108,117, 97, 95,109,117,108,116,114,101,116, 39, 32, 116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 32,116, 111,108,117, 97, 95,114,101,116, 32, 61, 32, 39, 41, 10,101, 108,115,101, 10,111,117,116,112,117,116, 40, 39, 32, 39, 44, 115,101,108,102, 46,109,111,100, 44, 99,116,121,112,101, 44, 115,101,108,102, 46,112,116,114, 44, 39,116,111,108,117, 97, 95,114,101,116, 32, 61, 32, 39, 41, 10,101,110,100, 10,105, 102, 32,105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46, 116,121,112,101, 41, 32,111,114, 32,115,101,108,102, 46,112, 116,114, 32,126, 61, 32, 39, 39, 32,116,104,101,110, 10,111, 117,116,112,117,116, 40, 39, 40, 39, 44,115,101,108,102, 46, 109,111,100, 44, 99,116,121,112,101, 44,115,101,108,102, 46, 112,116,114, 44, 39, 41, 32, 39, 41, 10,101,110,100, 10,101, 108,115,101, 10,111,117,116,112,117,116, 40, 39, 32, 39, 41, 10,101,110,100, 10,105,102, 32, 99,108, 97,115,115, 32, 97, 110,100, 32,115,101,108,102, 46,110, 97,109,101, 61, 61, 39, 110,101,119, 39, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39,110,101,119, 39, 44,115,101,108,102, 46,116,121, 112,101, 44, 39, 40, 39, 41, 10,101,108,115,101,105,102, 32, 99,108, 97,115,115, 32, 97,110,100, 32,115,116, 97,116,105, 99, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 99, 108, 97,115,115, 46, 46, 39, 58, 58, 39, 46, 4608,115, 101,105,102, 32, 99,108, 97,115,115, 32,116,104,101,110, 10, 111,117,116,112,117,116, 40, 39,115,101,108,102, 45, 62, 39, 46, 46,115,101,108,102, 46,110, 97,109,101, 44, 39, 40, 39, 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40,115, 101,108,102, 46,110, 97,109,101, 44, 39, 40, 39, 41, 10,101, 110,1012, 97,115,115,112, 97,114, 40, 41, 10,105, 32, 61, 32,105, 43, 49, 10,105,102, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32, 97,110,100, 3232, 126, 61, 32, 34, 46, 46, 46, 34, 32,116,104,101,110, 10,111, 117,116,112,117,116, 40, 39, 44, 39, 41, 10,101,110,100, 10, 101,110,100, 10,105,102, 32, 99,108, 97,115,115, 32, 97,110, 100, 32,115,101,108,102, 46,110, 97,109,101, 32, 61, 61, 32, 39,111,112,101,114, 97,116,111,114, 91, 93, 39, 32,116,104, 101,110, 10,111,117,116,112,117,116, 40, 39, 45, 49, 41, 59, 39, 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40, 39, 41, 59, 39, 41, 10,101,110,100, 10,105,102, 32,115,101, 108,102, 46,116,121,112,101, 32,126, 61, 32, 39, 39, 32, 97, 110,100, 32,115,101,108,102, 46,116,121,112,101, 32,126, 61, 32, 39,118,111,105,100, 39, 32, 97,110,100, 32,115,101,108, 102, 46,116,121,112,101, 32,126, 61, 32, 39,116,111,108,117, 97, 95,109,117,108,116,114,101,116, 39, 32,116,104,101,110, 10,110,114,101,116, 32, 61, 32,110,114,101,116, 32, 43, 32, 49, 10,108,111, 99, 97,108, 32,116, 44, 99,116, 32, 61, 32, 105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46,116,121, 112,101, 41, 10,105,102, 32,116, 32,116,104,101,110, 10,105, 102, 32,116, 61, 61, 39,102,117,110, 99,116,105,111,110, 39, 32,116,104,101,110, 32,116, 61, 39,118, 97,108,117,101, 39, 32,101,110,100, 10,105,102, 32,115,101,108,102, 46,116,121, 112,101, 32, 61, 61, 32, 39,116,111,108,117, 97, 95,105,110, 100,101,120, 39, 32,116,104,101,110, 10,111,117,116,112,117, 116, 40, 39, 32,105,102, 32, 40,116,111,108,117, 97, 95,114, 101,116, 32, 60, 32, 48, 41, 32,108,117, 97, 95,112,117,115, 104,110,105,108, 40,116,111,108,117, 97, 95, 83, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,101,108,115,101, 32,116,111,108,117, 97, 95,112,117,115,104, 39, 46, 46,116, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 40, 39, 44, 99,116, 44, 39, 41,116,111,108,117, 97, 95,114,101,116, 43, 49, 41, 59, 39, 41, 10,101,108,115,101, 10,111,117,116,112, 117,116, 40, 39, 32,116,111,108,117, 97, 95,112,117,115,104, 39, 46, 46,116, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 44, 40, 39, 44, 99,116, 44, 39, 41,116,111,108,117, 97, 95, 114,101,116, 41, 59, 39, 41, 10,101,110,100, 10,101,108,115, 101, 10,116, 32, 61, 32,115,101,108,102, 46,116,121,112,101, 10,105,102, 32,115,101,108,102, 46,112,116,114, 32, 61, 61, 32, 39, 39, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 32,123, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,105,102,100,101,102, 32, 95, 95, 99,112,108,117,115,112, 108,117,115, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,118,111,105,100, 42, 32,116,111,108,117, 97, 95,111, 98,106, 32, 61, 32,110,101,119, 39, 44,116, 44, 39, 40,116, 111,108,117, 97, 95,114,101,116, 41, 59, 39, 41, 10,111,117, 116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,112,117, 115,104,117,115,101,114,116,121,112,101, 40,116,111,108,117, 97, 95, 83, 44,116,111,108,117, 97, 95, 99,108,111,110,101, 40,116,111,108,117, 97, 95, 83, 44,116,111,108,117, 97, 95, 111, 98,106, 44, 39, 46, 46, 32, 40, 95, 99,111,108,108,101, 99,116, 91,116, 93, 32,111,114, 32, 39, 78, 85, 76, 76, 39, 41, 32, 46, 46, 39, 41, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,108, 115,101, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,118,111,105,100, 42, 32,116,111,108,117, 97, 95,111, 98, 106, 32, 61, 32,116,111,108,117, 97, 95, 99,111,112,121, 40, 116,111,108,117, 97, 95, 83, 44, 40,118,111,105,100, 42, 41, 38,116,111,108,117, 97, 95,114,101,116, 44,115,105,122,101, 111,102, 40, 39, 44,116, 44, 39, 41, 41, 59112, 117,115,104,117,115,101,114,116,121,112,101, 40,116,111,108, 117, 97, 95, 83, 44,116,111,108,117, 97, 95, 99,108,111,110, 101, 40,116,111,108,117, 97, 95, 83, 44,116,111,108,117, 97, 95,111, 98,106, 44, 78, 85, 76, 76, 41, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,111,117,116, 112,117,116, 40, 39, 32,125, 39, 41, 10,101,108,115,101,105, 102, 32,115,101,108,102, 46,112,116,114, 32, 61, 61, 32, 39, 38, 39, 32,116,104,101,110 40, 118,111,105,100, 42, 41, 38,116,111,108,117, 97, 95,114,101, 116, 44, 34, 39, 44,116, 44, 39, 34, 41, 59, 39, 41, 10,101, 108,115,101, 10,111,117,116,112,117,116, 40, 39, 32,116,111, 108,117, 97, 95,112,117,115,104,117,115,101,114,116,121,112, 101, 40,116,111,108,117, 97, 95, 83, 44, 40,118,111,105,100, 42, 41,116,111,108,117, 97, 95,114,101,116, 44, 34, 39, 44, 116, 44, 39, 34, 41, 59, 39, 41, 10,105,102, 32,115,101,108, 102, 46,109,111,100, 32, 61, 61, 32, 39,116,111,108,117, 97, 95,111,119,110, 39, 32,116,104,101,110, 10,111,117,116,112, 117,116, 40, 39, 32,108,117, 97, 95,112,117,115,104, 99,102, 117,110, 99,116,105,111,110, 40,116,111,108,117, 97, 95, 83, 44, 32,116,111,108,117, 97, 95, 98,110,100, 95,116, 97,107, 101,111,119,110,101,114,115,104,105,112, 41, 59, 39, 41, 10, 111,117,116,112,117,116, 40, 39, 32,108,117, 97, 95,112,117, 115,104,118, 97,108,117,101, 40,116,111,108,117, 97, 95, 83, 44, 32, 45, 50, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,108,117, 97, 95, 99, 97,108,108, 40,116,111,108, 117, 97, 95, 83, 44, 32, 49, 44, 32, 48, 41, 59, 39, 41, 10, 101,110,100, 10,101,110,100, 10,101,110,100100,111, 10,110,114,101,116, 32, 61, 32,110,114,101,116, 32, 43, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 58, 114,101,116,118, 97,108,117,101, 40, 41, 10,105, 32, 61, 32, 105, 43, 49, 10,101,110,100, 10,111,117,116,112,117,116, 40, 39, 32,125, 39, 41, 10,105,102, 32, 99,108, 97,115,115, 32, 116,104,101,110, 32,110, 97,114,103, 61, 50, 32,101,108,115, 101, 32,110, 97,114,103, 61, 49, 32,101,110,100, 10,105,102, 32,115,101,108,102, 46, 97,114,103,115, 91, 49, 93, 46,116, 121,112,101, 32,126, 61, 32, 39,118,111,105,100, 39, 32,116, 104,101,110, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119, 104,105,108,101, 32,115,101,108,102, 46, 97,114,103,115, 91, 105, 93, 32,100,111, 10,105,102, 32,105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 46, 116,121,112,101, 41, 32,126, 61, 32, 34,115,116, 97,116,101, 34, 32,116,104,101,110, 10,115,101,108,102, 46, 97,114,103, 115, 91,105, 93, 58,115,101,116, 97,114,114, 97,121, 40,110, 97,114,103, 41, 10,110, 97,114,103, 32, 61, 32,110, 97,114, 103, 43, 49, 10,101,110,100, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,101,110,100, 10,105,102, 32,115,101,108, 102, 46, 97,114,103,115, 91, 49, 93, 46,116,121,112,101, 32, 126, 61, 32, 39,118,111,105,100, 39, 32,116,104,101,110, 10, 108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 32,100, 111, 10,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 58, 102,114,101,101, 97,114,114, 97,121, 40, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,101,110,100, 10,101,110, 100, 10,111,117,116,112,117,116, 40, 39, 32,125, 39, 41, 10, 105,102, 32,115,101,108,102, 46,116,121,112,101, 32, 61, 61, 32, 34,116,111,108,117, 97, 95,109,117,108,116,114,101,116, 34, 32,116,104,101,110, 10,111,117,116,112,117,116, 40, 39, 32,114,101,116,117,114,110, 32, 39, 46, 46,110,114,101,116, 46, 46, 39, 32, 43, 32,116,111,108,117, 97, 95,114,101,116, 59, 39, 41, 10,101,108,115,101, 10,111,117,116,112,117,116, 40, 39, 32,114,101,116,117,114,110, 32, 39, 46, 46,110,114, 101,116, 46, 46, 39, 59, 39, 41, 10,101,110,100, 10,105,102, 32,111,118,101,114,108,111, 97,100, 32, 60, 32, 48, 32,116, 104,101,110, 10,111,117,116,112,117,116, 40, 39, 35,105,102, 110,100,101,102, 32, 84, 79, 76, 85, 65, 95, 82, 69, 76, 69, 65, 83, 69, 92,110, 39, 41, 10,111,117,116,112,117,116, 40, 39,116,111,108,117, 97, 95,108,101,114,114,111,114, 58, 92, 110, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,116,111, 108,117, 97, 95,101,114,114,111,114, 40,116,111,108,117, 97, 95, 83, 44, 34, 35,102,101,114,114,111,114, 32,105,110, 32, 102,117,110, 99,116,105,111,110, 32, 92, 39, 39, 46, 46,115, 101,108,102, 46,108,110, 97,109,101, 46, 46, 39, 92, 39, 46, 34, 44, 38,116,111,108,117, 97, 95,101,114,114, 41, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 32,114,101,116,117, 114,110, 32, 48, 59, 39, 41, 10,111,117,116,112,117,116, 40, 39, 35,101,110,100,105,102, 92,110, 39, 41, 10,101,108,115, 101, 10,111,117,116,112,117,116, 40, 39,116,111,108,117, 97, 95,108,101,114,114,111,114, 58, 92,110, 39, 41, 10,111,117, 116,112,117,116, 40, 39, 32,114,101,116,117,114,110, 32, 39, 46, 46,115,116,114,115,117, 98, 40,115,101,108,102, 46, 99, 110, 97,109,101, 44, 49, 44, 45, 51, 41, 46, 46,102,111,114, 109, 97,116, 40, 34, 37, 48, 50,100, 34, 44,111,118,101,114, 108,111, 97,100, 41, 46, 46, 39, 40,116,111,108,117, 97, 95, 83, 41, 59, 39, 41, 10,101,110,100, 10,111,117,116,112,117, 116, 40, 39,125, 39, 41, 10,111,117,116,112,117,116, 40, 39, 92,110, 39, 41, 10,101,110,100, 10,102,117,110, 99,116,105, 111,110, 32, 99,108, 97,115,115, 70,117,110, 99,116,105,111, 110, 58,114,101,103,105,115,116,101,114, 32, 40, 41, 10,111, 117,116,112,117,116, 40, 39, 32,116,111,108,117, 97, 95,102, 117,110, 99,116,105,111,110, 40,116,111,108,117, 97, 95, 83, 44, 34, 39, 46, 46,115,101,108,102, 46,108,110, 97,109,101, 46, 46, 39, 34, 44, 39, 46, 46,115,101,108,102, 46, 99,110, 97,109,101, 46, 46, 39, 41, 59, 39, 41, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 70, 117,110, 99,116,105,111,110, 58,112,114,105,110,116, 32, 40, 105,100,101,110,116, 44, 99,108,111,115,101, 41, 10,112,114, 105,110,116, 40,105,100,101,110,116, 46, 46, 34, 70,117,110, 99,116,105,111,110,123, 34, 41, 10,112,114,105,110,116, 40, 105,100,101,110,116, 46, 46, 34, 32,109,111,100, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,109,111,100112,116,114, 32, 61, 32, 39, 34, 46, 46,115,101, 108,102, 46,112,116,114, 46, 46, 34, 39, 44, 34, 41, 10,112, 114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 32,110, 97,109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46, 110, 97,109,1018,110, 97, 109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,108, 110, 97,109,101 99,111,110, 115,116, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46, 99, 111,110,115,116 99,110, 97, 109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46, 99, 110, 97,109,1018,110, 97, 109,101, 32, 61, 32, 39, 34, 46, 46,115,101,108,102, 46,108, 110, 97,109,101 97,114,103, 115, 32, 61, 32,123, 34, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115,101,108,102, 46, 97, 114,103,115, 91,105, 93, 32,100,111, 10,115,101,108,102, 46, 97,114,103,115 32,125, 34, 41, 10,112,114,105,110,116, 40,105,100,101,110,116, 46, 46, 34, 125, 34, 46, 46, 99,108,111,115,101, 41, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32, 99,108, 97,115,115, 70, 117,110, 99,116,105,111,110, 58,114,101,113,117,105,114,101, 99,111,108,108,101, 99,116,105,111,110, 32, 40,116, 41, 10, 108,111, 99, 97,108, 32,114, 32, 61, 32,102, 97,108,115,101, 10,105,102, 32,115,101,108,102, 46,116,121,112,101, 32,126, 61, 32, 39, 39, 32, 97,110,100, 32,110,111,116, 32,105,115, 98, 97,115,105, 99, 40,115,101,108,102, 46,116,121,112,101, 41, 32, 97,110,100, 32,115,101,108,102, 46,112,116,114, 61, 61, 39, 39, 32,116,104,101,110, 10,108,111, 99, 97,108, 32, 116,121,112,101, 32, 61, 32,103,115,117, 98, 40,115,101,108, 102, 46,116,121,112,101, 44, 34, 37,115, 42, 99,111,110,115, 116, 37,115, 42, 34, 44, 34, 34, 41, 10,116, 91,116,121,112, 101, 93, 32, 61, 32, 34,116,111,108,117, 97, 95, 99,111,108, 108,101, 99,116, 95, 34, 32, 46, 46, 32,103,115,117, 98, 40, 116,121,112,101, 44, 34, 58, 58, 34, 44, 34, 95, 34, 41, 10, 114, 32, 61, 32,116,114,117,101, 10,101,110,100, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,119,104,105,108,101, 32,115, 101,108,102, 46, 97,114,103,115, 91,105, 93, 32,100,111, 10, 114, 32, 61, 32,115,101,108,102, 46, 97,114,103,115, 91,105, 93, 58,114,101,113,117,105,114,101, 99,111,108,108,101, 99, 116,105,111,110, 40,116, 41, 32,111,114, 32,114, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,114,101,116,117,114, 110, 32,114, 10,101,110,100, 10,102,117,110, 99,116,105,111, 110, 32, 99,108, 97,115,115, 70,117,110, 99,116,105,111,110, 58,111,118,101,114,108,111, 97,100, 32, 40, 41, 10,114,101, 116,117,114,110, 32,115,101,108,102, 46,112, 97,114,101,110, 116, 58,111,118,101,114,108,111, 97,100, 40,115,101,108,102, 46,108,110, 97,109,101, 41, 10,101,110,100, 10,102,117,110, 99,116,105,111,110, 32, 95, 70,117,110, 99,116,105,111,110, 32, 40,116, 41, 10,115,101,116,109,101,116, 97,116, 97, 98, 108,101, 40,116, 44, 99,108, 97,115,115, 70,117,110, 99,116, 105,111,110, 41, 10,105,102, 32,116, 46, 99,111,110,115,116, 32,126, 61, 32, 39, 99,111,110,115,116, 39, 32, 97,110,100, 32,116, 46, 99,111,110,115,116, 32,126, 61, 32, 39, 39, 32, 116,104,101,110, 10,101,114,114,111,114, 40, 34, 35,105,110, 118, 97,108,105,100, 32, 39, 99,111,110,115,116, 39, 32,115, 112,101, 99,105,102,105, 99, 97,116,105,111,110, 34, 41, 10, 101,110,100, 10, 97,112,112,101,110,100, 40,116, 41, 10,105, 102, 32,116, 58,105,110, 99,108, 97,115,115, 40, 41, 32,116, 104,101,110, 10,105,102, 32,116, 46,110, 97,109,101, 32, 61, 61, 32,116, 46,112, 97,114,101,110,116, 46,110, 97,109,101, 32,116,104,101,110, 10,116, 46,110, 97,109,101, 32, 61, 32, 39,110,101,119, 39, 10,116, 46,108,110, 97,109,101, 32, 61, 32, 39,110,101,119, 39, 10,105,102, 32,115,116,114,105,110, 103, 46,102,105,110,100, 40,116, 46,116,121,112,101, 44, 34, 116,111,108,117, 97, 95,111,119,110, 34, 41, 32,116,104,101, 110, 10,116, 46,109,111,100, 32, 61, 32, 34,116,111,108,117, 97, 95,111,119,110, 34, 10,101,110,100, 10,116, 46,116,121, 112,101, 32, 61, 32,116, 46,112, 97,114,101,110,116, 46,110, 97,109,101, 10,116, 46,112,116,114, 32, 61, 32, 39, 42, 39, 10,101,108,115,101,105,102, 32,116, 46,110, 97,109,101, 32, 61, 61, 32, 39,126, 39, 46, 46,116, 46,112, 97,114,101,110, 116, 46,110, 97,109,101, 32,116,104,101,110, 10,116, 46,110, 97,109,101, 32, 61, 32, 39,100,101,108,101,116,101, 39, 10, 116, 46,108,110, 97,109,101, 32, 61, 32, 39,100,101,108,101, 116,101, 39, 10,116, 46,112, 97,114,101,110,116, 46, 95,100, 101,108,101,116,101, 32, 61, 32,116,114,117,101, 10,101,108, 115,101,105,102, 32,116, 46,116,121,112,101, 32, 61, 61, 32, 39,116,111,108,117, 97, 95,108,101,110, 39, 32,116,104,101, 110, 10,116, 46,108,110, 97,109,101, 32, 61, 32, 34, 46,108, 101,110, 34, 10,101,110,100, 10,101,110,100, 10,116, 46, 99, 110, 97,109,101, 32, 61, 32,116, 58, 99,102,117,110, 99,110, 97,109,101, 40, 34,116,111,108,117, 97, 34, 41, 46, 46,116, 58,111,118,101,114,108,111, 97,100, 40,116, 41, 10,114,101, 116,117,114,110, 32,116, 10,101,110,100, 10,102,117,110, 99, 116,105,111,110, 32, 70,117,110, 99,116,105,111,110, 32, 40, 100, 44, 97, 44, 99, 41, 10,108,111, 99, 97,108, 32,116, 32, 61, 32,115,112,108,105,116, 40,115,116,114,115,117, 98, 40, 97, 44, 50, 44, 45, 50, 41, 44, 39, 44, 39, 41, 10,108,111, 99, 97,108, 32,105, 61, 49, 10,108,111, 99, 97,108, 32,108, 32, 61, 32,123,110, 61, 48,125, 10,119,104,105,108,101, 32, 116, 91,105, 93, 32,100,111, 10,108, 46,110, 32, 61, 32,108, 46,110, 43, 49, 10,108, 91,108, 46,110, 93, 32, 61, 32, 68, 101, 99,108, 97,114, 97,116,105,111,110, 40,116, 91,105, 93, 44, 39,118, 97,114, 39, 41, 10,105, 32, 61, 32,105, 43, 49, 10,101,110,100, 10,108,111, 99, 97,108, 32,102, 32, 61, 32, 68,101, 99,108, 97,114, 97,116,105,111,110, 40,100, 44, 39, 102,117,110, 99, 39, 41, 10,102, 46, 97,114,103,115, 32, 61, 32,108, 10,102, 46, 99,111,110,115,116, 32, 61, 32, 99, 10, 114,101,116,117,114,110, 32, 95, 70,117,110, 99,116,105,111, 0, 83, 84, 82, 50, 32, 61, 32, 34, 92, 48, 48, 50, 34, 10, 83, 84, 82, 51, 32, 61, 32, 34, 92, 48, 48, 51, 34, 10, 83, 84, 82, 52, 32, 61, 32, 34, 92, 48, 48, 52, 34, 10, 82, 69, 77, 32, 61, 32, 34, 92, 48, 48, 53, 34, 10, 65, 78, 89, 32, 61, 32, 34, 40, 91, 92, 48, 48, 49, 45, 92, 48, 48, 53, 93, 41, 34, 10, 69, 83, 67, 49, 32, 61, 32, 34, 92, 48, 48, 54, 34, 10, 69, 83, 67, 50, 32, 61, 32, 34, 92, 48, 48, 55, 34, 10, 77, 65, 83, 75, 32, 61, 32,123, 10,123, 69, 83, 67, 49, 44, 32, 34, 92, 92, 39, 34, 44, 32, 34, 92, 92, 39, 34,125, 44, 10,123, 69, 83, 67, 50, 44, 32, 39, 92, 92, 34, 39, 44, 32, 39, 92, 92, 34, 39,125, 44, 10,123, 83, 84, 82, 49, 44, 32, 34, 39, 34, 44, 32, 34, 39, 34,125, 44, 10,123, 83, 84, 82, 50, 44, 32, 39, 34, 39, 44, 32, 39, 34, 39,125, 44, 10,123, 83, 84, 82, 51, 44, 32, 34, 37, 91, 37, 91, 34, 44, 32, 34, 91, 91, 34,125, 440,123, 82, 69, 77, 32, 44, 32, 34, 37, 45, 37, 45, 34, 44, 32, 34, 45, 45, 34,125, 44, 10,125, 10,102,117,110, 99,116,105,111,110, 32,109, 97,115,107, 32, 40,115, 41, 10,102,111,114, 32,105, 32, 61, 32, 49, 44,103,101,116,110, 40, 77, 65, 83, 75, 41, 32,100,111, 10,115, 32, 61, 32,103,115,117, 98, 40,115, 44, 77, 65, 83, 75, 91,105, 93, 91, 50, 93, 44, 77, 65, 83, 75, 91,105, 93, 91, 49, 93, 41, 10,101,110,100, 10,114,101,116, 117,114,110, 32,115, 10,101,110,100, 10,102,117,110, 99,116, 105,111,110, 32,117,110,109, 97,115,107, 32, 40,115, 41, 10, 102,111,114, 32,105, 32, 61, 32, 49, 44,103,101,116,110, 40, 77, 65, 83, 75, 41, 32,100,1110,101,110, 100, 10,114,101,116,117,114,110, 32,115, 10,101,110,100, 10, 102,117,110, 99,116,105,111,110, 32, 99,108,101, 97,110, 32, 40,115, 41, 10,108,111, 99, 97,108, 32, 99,111,100,101, 32, 61, 32, 34,114,101,116,117,114,110, 32,102,117,110, 99,116, 105,111,110, 32, 40, 41, 32, 34, 32, 46, 46, 32,115, 32, 46, 46, 32, 34, 32,101,110,100, 34, 10,105,102, 32,110,111,116, 32,100,111,115,116,114,105,110,103, 40, 99,111,100,101, 41, 32,116,104,101,110, 10,114,101,116,117,114,110, 32,110,105, 108, 10,101,110,100, 10,108,111, 99, 97,108, 32, 83, 32, 61, 32, 34, 34, 10,115, 32, 61, 32,109, 97,115,107, 40,115, 41, 10,119,104,105,108,101, 32, 49, 32,100,111, 10,108,111, 99, 97,108, 32, 98, 44,101, 44,100, 32, 61, 32,115,116,114,102, 105,110,100, 40,115, 44, 65, 78, 89, 41, 10,105,102, 32, 98, 32,116,104,101,110, 10, 83, 32, 61, 32, 83, 46, 46,115,116, 114,115,117, 98, 40,115, 44, 49, 44, 98, 45, 49, 41, 10,115, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44, 98, 43, 49, 41, 10,105,102, 32,100, 61, 61, 83, 84, 82, 49, 32,111,114, 32,100, 61, 61, 83, 84, 82, 50, 32,116,104,101,110, 10,101, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44,100, 41, 10, 83, 32, 61, 32, 83, 32, 46, 46,100, 46, 46,115,116,114, 115,117, 98, 40,115, 44, 49, 44,101, 41, 10,115, 32, 61, 32, 115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101, 108,115,101,105,102, 32,100, 61, 61, 83, 84, 82, 51, 32,116, 104,101,110, 10,101, 32, 61, 32,115,116,114,102,105,110,100, 40,115, 44, 83, 84, 82, 52, 41, 10, 83, 32, 61, 32, 83, 46, 46,100, 46, 46,115,116,114,115,117, 98, 40,115, 44, 49, 44, 101, 41, 10,115, 32, 61, 32,115,116,114,115,117, 98, 40,115, 44,101, 43, 49, 41, 10,101,108,115,101,105,102, 32,100, 61, 61, 82, 69, 77, 32,116,104,101,110, 10,115, 32, 61, 32,103, 115,117, 98, 40,115, 44, 34, 91, 94, 92,110, 93, 42, 40, 92, 110, 63, 41, 34, 44, 34, 37, 49, 34, 44, 49, 41, 10,101,110, 100, 10,101,108,115,101, 10, 83, 32, 61, 32, 83, 46, 46,115, 10, 98,114,101, 97,107, 10,101,110,100, 10,101,110,100, 10, 83, 32, 61, 32,103,115,117, 98, 40, 83, 44, 34, 91, 32, 92, 116, 93, 43, 34, 44, 34, 32, 34, 41, 10, 83, 32, 61, 32,103, 115,117, 98, 40, 83, 44, 34, 91, 32, 92,116, 93, 42, 92,110, 91, 32, 92,116, 93, 42, 34, 44, 34, 92,110, 34, 41, 10, 83, 32, 61, 32,103,115,117, 98, 40, 83, 44, 34, 92,110, 43, 34, 44, 34, 92,110, 34, 41, 10, 83, 32, 61, 32,117,110,109, 97, 115,107, 40, 83, 41, 10,114,101,116,117,114,110, 32, 83, 10, ENDREP DELTA 21069 367436 1430 SVN‹Š=ЀРSTR1 = "\001" STR2 = "\002" STR3 = "\003" STR4 = "\004" REM = "\005" ANY = "([\001-\005])" ESC1 = "\006" ESC2 = "\007" MASK = { -- the substitution order is important {ESC1, "\\'", "\\'"}, {ESC2, '\\"', '\\"'}, {STR1, "'", "'"}, {STR2, '"', '"'}, {STR3, "%[%[", "[["}, {STR4, "%]%]", "]]"}, {REM , "%-%-", "--"}, } function mask (s) for i = 1,getn(MASK) do s = gsub(s,MASK[i][2],MASK[i][1]) end return s end function unmask (s) for i = 1,getn(MASK) do s = gsub(s,MASK[i][1],MASK[i][3]) end return s end function clean (s) -- check for compilation error local code = "return function () " .. s .. " end" if not dostring(code) then return nil end local S = "" -- saved string s = mask(s) -- remove blanks and comments while 1 do local b,e,d = strfind(s,ANY) if b then S = S..strsub(s,1,b-1) s = strsub(s,b+1) if d==STR1 or d==STR2 then e = strfind(s,d) S = S ..d..strsub(s,1,e) s = strsub(s,e+1) elseif d==STR3 then e = strfind(s,STR4) S = S..d..strsub(s,1,e) s = strsub(s,e+1) elseif d==REM then s = gsub(s,"[^\n]*(\n?)","%1",1) end else S = S..s break end end -- eliminate unecessary spaces S = gsub(S,"[ \t]+"," ") S = gsub(S,"[ \t]*\n[ \t]*","\n") S = gsub(S,"\n+","\n") S = unmask(S) return S end ENDREP DELTA 21069 380341 4385 SVN’ J5›oC€C€‚UC€‚C€mC€…ZC€aC€eC€kC€‰w -- Real globals -- _ALERT -- _ERRORMESSAGE -- _VERSION -- _G -- assert -- error -- metatable -- next -- print -- require -- tonumber -- tostring -- type -- collectgarbage -- gcinfo -- globals -- call -> protect(f, err) -- rawget -- rawset -- getargs = Main.getargs ?? rawtype = type function do_ (f, err) if not f then print(err); return end local a,b = pcall(f) if not a then print(b); return nil else return b or true end end function dostring(s) return do_(load(s)) end -- Table library local tab = table foreach = function(t,f) for k,v in pairs(t) do f(k,v) end end foreachi = function(t,f) for i,v in ipairs(t) do f(i,v) end end getn = function(t) return #t end tinsert = tab.insert tremove = tab.remove sort = tab.sort -- Debug library local dbg = debug getinfo = dbg.getinfo getlocal = dbg.getlocal setcallhook = function () error"`setcallhook' is deprecated" end setlinehook = function () error"`setlinehook' is deprecated" end setlocal = dbg.setlocal -- math library local math = math abs = math.abs acos = function (x) return math.deg(math.acos(x)) end asin = function (x) return math.deg(math.asin(x)) end atan = function (x) return math.deg(math.atan(x)) end atan2 = function (x,y) return math.deg(math.atan2(x,y)) end ceil = math.ceil cos = function (x) return math.cos(math.rad(x)) end deg = math.deg exp = math.exp floor = math.floor frexp = math.frexp ldexp = math.ldexp log = math.log log10 = math.log10 max = math.max min = math.min mod = math.mod PI = math.pi --??? pow = math.pow rad = math.rad random = math.random randomseed = math.randomseed sin = function (x) return math.sin(math.rad(x)) end sqrt = math.sqrt tan = function (x) return math.tan(math.rad(x)) end -- string library local str = string strbyte = str.byte strchar = str.char strfind = str.find format = str.format gsub = str.gsub strlen = str.len strlower = str.lower strrep = str.rep strsub = str.sub strupper = str.upper -- os library clock = os.clock date = os.date difftime = os.difftime execute = os.execute --? exit = os.exit getenv = os.getenv remove = os.remove rename = os.rename setlocale = os.setlocale time = os.time tmpname = os.tmpname -- compatibility only getglobal = function (n) return _G[n] end setglobal = function (n,v) _G[n] = v end local io, tab = io, table -- IO library (files) _STDIN = io.stdin _STDERR = io.stderr _STDOUT = io.stdout _INPUT = io.stdin _OUTPUT = io.stdout seek = io.stdin.seek -- sick ;-) tmpfile = io.tmpfile closefile = io.close openfile = io.open function flush (f) if f then f:flush() else _OUTPUT:flush() end end function readfrom (name) if name == nil then local f, err, cod = io.close(_INPUT) _INPUT = io.stdin return f, err, cod else local f, err, cod = io.open(name, "r") _INPUT = f or _INPUT return f, err, cod end end function writeto (name) if name == nil then local f, err, cod = io.close(_OUTPUT) _OUTPUT = io.stdout return f, err, cod else local f, err, cod = io.open(name, "w") _OUTPUT = f or _OUTPUT return f, err, cod end end function appendto (name) local f, err, cod = io.open(name, "a") _OUTPUT = f or _OUTPUT return f, err, cod end function read (...) local f = _INPUT local arg = {...} if rawtype(arg[1]) == 'userdata' then f = tab.remove(arg, 1) end return f:read(table.unpack(arg)) end function write (...) local f = _OUTPUT local arg = {...} if rawtype(arg[1]) == 'userdata' then f = tab.remove(arg, 1) end return f:write(table.unpack(arg)) end ENDREP DELTA 26905 13060 11291 SVNΪ\γg:$†e‚w†c‘F‰i…›E=‘A€(‹F»—‚Ό1΄RΎn€n“RΖH₯tΩhsettable(L,-4);gettable(L,-2); if (lua_isnumber(L,2)) /* check if key is a numeric value */ { /* try operator[] */ lua_pushvalue(L,1); /* stack: obj key v obj */ while (lua_getmetatable(L,-1)) { /* stack: obj key v obj mt */ lua_remove(L,-2); /* stack: obj key v mt */ lua_pushstring(L,".seti"); lua_rawget(L,-2); /* stack: obj key v mt func */ if (lua_isfunction(L,-1)) { lua_pushvalue(L,1); lua_pushvalue(L,2); lua_pushvalue(L,3); lua_call(L,3,0); return 0; } lua_settop(L,4); /* stack: obj key v mt */ } tolua_error(L,"Attempt to set indexed value on an invalid operand",NULL); } else { /* Try accessing a C/C++ variable to be set */ lua_pushvalue(L,1); /* stack: obj key v obj */ while (lua_getmetatable(L,-1)) { /* stack: obj key v obj mt */ lua_remove(L,-2); /* stack: obj key v mt */ lua_pushstring(L,".set"); lua_rawget(L,-2); /* stack: t k v mt tset */ if (lua_istable(L,-1)) { lua_pushvalue(L,2); lua_rawget(L,-2); /* stack: t k v mt tset func */ if (lua_iscfunction(L,-1)) { lua_pushvalue(L,1); lua_pushvalue(L,3); lua_call(L,2,0); return 0; } } lua_settop(L,4); /* stack: t k v mt */ } } /* then, store as a new field */ lua_settop(L,3); /* stack: t k vlen_event (lua_State* L/* stack: op1 op2 mt */ lua_pushstring(L,".len");/* stack: obj key mt func */ if (lua_isfunction(L,-1)) { lua_pushvalue(L,1); lua_call(L,1,1); return 1; } lua_settop(L,3); } } tolua_error(L,"Attempt to perform operation on an invalid operand",NULL); return 0len"); lua_pushcfunction(L,class_lenENDREP DELTA 26905 24383 2823 SVN——„j*„k…‚l” = ""ENDREP id: c6r.5qi.r31411/74798 type: file pred: c6r.5ck.r22462/765 count: 2 text: 31411 2200 44 88 8a23ea53e96dd5af8ad3c578d329c17f cpath: /branches/S2_6/dependencies/tolua-5.2/Makefile.am copyroot: 27474 /branches/S2_6 id: c6t.5qi.r31411/75013 type: file pred: c6t.5ck.r21069/417489 count: 1 text: 31411 2269 31 1128 309d55abd51d64aab5bf6e5d06a5a40d cpath: /branches/S2_6/dependencies/tolua-5.2/README copyroot: 27474 /branches/S2_6 id: 28qb.5qi.r31411/75228 type: file count: 0 text: 31411 0 271 257 df7ec3851c90f32210ac163514ef795c cpath: /branches/S2_6/dependencies/tolua-5.2/Version copyroot: 27474 /branches/S2_6 id: 28qd.5qi.r31411/75414 type: file count: 0 text: 31411 284 1313 1299 561098f3c0eb8a6b8c87f497a058459b cpath: /branches/S2_6/dependencies/tolua-5.2/freeciv_tolua.patch copyroot: 27474 /branches/S2_6 id: c6v.5qi.r31411/75616 type: file pred: c6v.5ck.r26905/198033 count: 2 text: 31411 2326 64 5785 19540bdee5491e7ebf1160e51b6a7d30 props: 26905 197986 34 0 25e6c2f7558b7484000d4d090dea5b92 cpath: /branches/S2_6/dependencies/tolua-5.2/include/tolua.h copyroot: 27474 /branches/S2_6 PLAIN K 7 tolua.h V 25 file c6v.5qi.r31411/75616 END ENDREP id: c6u.5qi.r31411/75958 type: dir pred: c6u.5ck.r26905/198363 count: 2 text: 31411 75898 47 0 d9636f2783903e8c8b882db3ea2ac301 cpath: /branches/S2_6/dependencies/tolua-5.2/include copyroot: 27474 /branches/S2_6 id: c77.5qi.r31411/76171 type: file pred: c77.5ck.r21069/411736 count: 1 text: 31411 3385 4513 4653 db2e7ddc3989411a6833a6e0c62a69d4 cpath: /branches/S2_6/dependencies/tolua-5.2/src/bin/lua/basic.lua copyroot: 27474 /branches/S2_6 id: c79.5qi.r31411/76403 type: file pred: c79.5ck.r21069/411926 count: 1 text: 31411 67531 1327 1341 525f9d36966e2bca1c00f01b8caa93a1 cpath: /branches/S2_6/dependencies/tolua-5.2/src/bin/lua/clean.lua copyroot: 27474 /branches/S2_6 id: c7b.5qi.r31411/76636 type: file pred: c7b.5ck.r21069/412314 count: 1 text: 31411 68889 3632 4170 62ec8c74173b25a0d44218b63b7bf15f cpath: /branches/S2_6/dependencies/tolua-5.2/src/bin/lua/compat.lua copyroot: 27474 /branches/S2_6 id: c7i.5qi.r31411/76870 type: file pred: c7i.5ck.r21069/413093 count: 1 text: 31411 1610 560 10304 5eb1578bb9177c8b6b247f20e056e540 cpath: /branches/S2_6/dependencies/tolua-5.2/src/bin/lua/function.lua copyroot: 27474 /branches/S2_6 PLAIN K 7 all.lua V 26 file c74.5ck.r21069/410977 K 9 array.lua V 26 file c76.5ck.r21069/411546 K 9 basic.lua V 25 file c77.5qi.r31411/76171 K 9 class.lua V 26 file c78.5ck.r21069/410787 K 9 clean.lua V 25 file c79.5qi.r31411/76403 K 8 code.lua V 26 file c7a.5ck.r21069/411357 K 10 compat.lua V 25 file c7b.5qi.r31411/76636 K 13 container.lua V 26 file c7c.5ck.r21069/412117 K 15 declaration.lua V 26 file c7d.5ck.r21069/412700 K 10 define.lua V 26 file c7e.5ck.r21069/413478 K 8 doit.lua V 26 file c7f.5ck.r21069/410406 K 13 enumerate.lua V 26 file c7g.5ck.r21069/412898 K 11 feature.lua V 26 file c7h.5ck.r21069/413670 K 12 function.lua V 25 file c7i.5qi.r31411/76870 K 10 module.lua V 26 file c7j.5ck.r21069/413286 K 13 namespace.lua V 26 file c7k.5ck.r21069/414249 K 12 operator.lua V 26 file c7l.5ck.r21069/413862 K 11 package.lua V 26 file c7m.5ck.r21069/414056 K 11 typedef.lua V 26 file c7n.5ck.r21069/410595 K 12 variable.lua V 26 file c7o.5ck.r21069/412506 K 12 verbatim.lua V 26 file c7p.5ck.r21069/411163 END ENDREP id: c73.5qi.r31411/78133 type: dir pred: c73.5ck.r21069/415475 count: 1 text: 31411 77105 1015 0 15e2293da53032d7540f4109ae722c1a cpath: /branches/S2_6/dependencies/tolua-5.2/src/bin/lua copyroot: 27474 /branches/S2_6 id: c7q.5qi.r31411/78352 type: file pred: c7q.5ck.r26905/196823 count: 3 text: 31411 74737 31 2949 9e5fc6cb39a64f9a4bdf89f6b5628094 props: 26905 196776 34 0 25e6c2f7558b7484000d4d090dea5b92 cpath: /branches/S2_6/dependencies/tolua-5.2/src/bin/tolua.c copyroot: 27474 /branches/S2_6 id: c7s.5qi.r31411/78635 type: file pred: c7s.5ck.r26905/196498 count: 2 text: 31411 7928 59571 262203 6667396b53a0c17c47dfbca7f76eb3a2 props: 26905 196451 34 0 25e6c2f7558b7484000d4d090dea5b92 cpath: /branches/S2_6/dependencies/tolua-5.2/src/bin/toluabind.c copyroot: 27474 /branches/S2_6 PLAIN K 11 Makefile.am V 25 file c71.5ck.r21872/14900 K 3 lua V 24 dir c73.5qi.r31411/78133 K 7 tolua.c V 25 file c7q.5qi.r31411/78352 K 9 tolua.pkg V 26 file c7r.5ck.r21069/415847 K 11 toluabind.c V 25 file c7s.5qi.r31411/78635 END ENDREP id: c70.5qi.r31411/79166 type: dir pred: c70.5ck.r26905/197334 count: 6 text: 31411 78926 227 0 c5079a7d31a586bfc0072ec476858cc8 props: 23744 2372 59 0 ff39922563c36f2419392ed34080d08b cpath: /branches/S2_6/dependencies/tolua-5.2/src/bin copyroot: 27474 /branches/S2_6 id: c7w.5qi.r31411/79436 type: file pred: c7w.5ck.r26905/195238 count: 3 text: 31411 72552 2154 12775 da16f1fb5c4075655ddc69463f9ea565 props: 26905 195191 34 0 25e6c2f7558b7484000d4d090dea5b92 cpath: /branches/S2_6/dependencies/tolua-5.2/src/lib/tolua_event.c copyroot: 27474 /branches/S2_6 id: c7z.5qi.r31411/79728 type: file pred: c7z.5ck.r26905/194601 count: 3 text: 31411 2419 939 14926 1af0f6cdcbd7e46380af9d9f1aa4e433 props: 26905 194554 34 0 25e6c2f7558b7484000d4d090dea5b92 cpath: /branches/S2_6/dependencies/tolua-5.2/src/lib/tolua_map.c copyroot: 27474 /branches/S2_6 PLAIN K 11 Makefile.am V 25 file c7u.5ck.r21572/10693 K 13 tolua_event.c V 25 file c7w.5qi.r31411/79436 K 13 tolua_event.h V 26 file c7x.5ck.r26905/193957 K 10 tolua_is.c V 26 file c7y.5ck.r26905/194279 K 11 tolua_map.c V 25 file c7z.5qi.r31411/79728 K 12 tolua_push.c V 26 file c80.5ck.r26905/194917 K 10 tolua_to.c V 26 file c81.5ck.r26905/195560 END ENDREP id: c7t.5qi.r31411/80376 type: dir pred: c7t.5ck.r26905/196195 count: 5 text: 31411 80016 347 0 be233dfd2915fffddd9aefb26a3043c0 props: 23744 2052 53 0 1aad128f6d028f535e9ce7233326568e cpath: /branches/S2_6/dependencies/tolua-5.2/src/lib copyroot: 27474 /branches/S2_6 PLAIN K 11 Makefile.am V 26 file c6y.5ck.r21069/416819 K 3 bin V 24 dir c70.5qi.r31411/79166 K 3 lib V 24 dir c7t.5qi.r31411/80376 END ENDREP id: c6x.5qi.r31411/80788 type: dir pred: c6x.5ck.r26905/197734 count: 6 text: 31411 80646 129 0 22b9d9754eacec435db31aa110d430aa props: 23744 2838 47 0 bf36bdb5202732a1b9a911cc1234183c cpath: /branches/S2_6/dependencies/tolua-5.2/src copyroot: 27474 /branches/S2_6 PLAIN K 11 Makefile.am V 25 file c6r.5qi.r31411/74798 K 6 README V 25 file c6t.5qi.r31411/75013 K 7 Version V 26 file 28qb.5qi.r31411/75228 K 19 freeciv_tolua.patch V 26 file 28qd.5qi.r31411/75414 K 7 include V 24 dir c6u.5qi.r31411/75958 K 3 src V 24 dir c6x.5qi.r31411/80788 END ENDREP id: c6p.5qi.r31411/81342 type: dir pred: c6p.5ck.r26905/198751 count: 7 text: 31411 81054 275 0 f3fa5236d5aa03820de4f44cd8491a6b props: 23744 3333 47 0 bf36bdb5202732a1b9a911cc1234183c cpath: /branches/S2_6/dependencies/tolua-5.2 copyroot: 27474 /branches/S2_6 PLAIN K 11 Makefile.am V 23 file 31m.5qi.r27699/592 K 7 cvercmp V 22 dir acu.5qi.r31316/795 K 7 lua-5.3 V 25 dir 19ql.5qi.r30960/62504 K 6 luasql V 23 dir 6k8.5r3.r27651/1907 K 2 m4 V 23 dir 4ef.5ck.r25384/7703 K 9 tolua-5.2 V 24 dir c6p.5qi.r31411/81342 END ENDREP id: 2yu.5qi.r31411/81870 type: dir pred: 2yu.5qi.r31316/1313 count: 126 text: 31411 81604 253 0 6ed629f1c92f9eff584f6c72ea535e86 props: 14844 2808 53 0 a527b216afb99426b763a1e313c531be cpath: /branches/S2_6/dependencies copyroot: 27474 /branches/S2_6 PLAIN K 9 ABOUT-NLS V 24 file fu.5ck.r27270/69307 K 7 AUTHORS V 24 file 5u.5ck.r22143/14016 K 7 COPYING V 22 file 1h.5qi.r29455/952 K 9 ChangeLog V 26 file 6l.5qi.r31298/7507168 K 7 INSTALL V 21 file 6.5qi.r29706/131 K 11 Makefile.am V 23 file 59.5qi.r30174/7026 K 4 NEWS V 24 file 6m.5ck.r25634/30702 K 6 README V 20 file 7.0.r4421/96382 K 2 ai V 21 dir 8.5qi.r31323/2907 K 10 autogen.sh V 22 file 12o.5qi.r31343/77 K 9 bootstrap V 23 dir 2p5.5qi.r31374/4550 K 6 client V 21 dir d.5qi.r31382/8112 K 6 common V 22 dir p.5qi.r31371/15230 K 12 configure.ac V 23 file 149.5qi.r31406/726 K 4 data V 22 dir w.5qi.r31409/59570 K 12 dependencies V 24 dir 2yu.5qi.r31411/81870 K 3 doc V 22 dir k7.5qi.r31352/2101 K 10 fc_version V 25 file 2lo.5qj.r31371/15472 K 11 gen_headers V 25 dir 1hsw.5qi.r30615/24964 K 2 m4 V 23 dir 12p.5qi.r31062/2530 K 7 scripts V 23 dir 2yo.5qi.r28717/5437 K 6 server V 22 dir z.5qi.r31409/64046 K 5 tests V 22 dir 2g9.5ck.r27023/734 K 5 tools V 23 dir 4pj.5qp.r31401/2465 K 12 translations V 23 dir t0a.5qi.r31404/6509 K 7 utility V 23 dir 1c.5qi.r31367/38240 K 3 vms V 25 dir u9.5ck.r21528/1396085 K 5 win32 V 23 dir 2eu.5qi.r31374/7024 END ENDREP id: 3.5qi.r31411/83292 type: dir pred: 3.5qi.r31409/65460 count: 20239 text: 31411 82122 1157 0 e1c41f4b26668eaf3fd1c4d168def93b props: 28037 14463 292 0 9e1d5de0253c723466868990c52c129f cpath: /branches/S2_6 copyroot: 27474 /branches/S2_6 PLAIN K 5 S1_14 V 21 dir 3.21.r18109/18803 K 4 S2_0 V 21 dir 3.10x.r21862/4178 K 4 S2_1 V 22 dir 3.59e.r20026/11014 K 4 S2_2 V 21 dir 3.5cy.r21861/5036 K 4 S2_3 V 21 dir 3.5f2.r29458/5135 K 4 S2_4 V 22 dir 3.5ii.r30401/87429 K 4 S2_5 V 21 dir 3.5kv.r31381/9497 K 4 S2_6 V 22 dir 3.5qi.r31411/83292 K 11 freeciv-web V 22 dir 3.5bl.r13594/14918 END ENDREP id: 1.0.r31411/83887 type: dir pred: 1.0.r31409/66054 count: 10558 text: 31411 83533 341 0 e9e0524322750c2b6c974b7f99ba121b cpath: /branches copyroot: 0 / PLAIN K 8 branches V 20 dir 1.0.r31411/83887 K 4 tags V 19 dir 2.0.r29519/6475 K 5 trunk V 22 dir 3.5ck.r31410/82984 K 7 website V 20 dir 3ge.0.r30613/922 END ENDREP id: 0.0.r31411/84209 type: dir pred: 0.0.r31410/83375 count: 31411 text: 31411 84043 153 0 be028b393b209e2f565b1337e3d22fcd cpath: / copyroot: 0 / c6r.5qi.t31410-1 modify true false /branches/S2_6/dependencies/tolua-5.2/Makefile.am c6t.5qi.t31410-1 modify true false /branches/S2_6/dependencies/tolua-5.2/README _4.5qi.t31410-1 add true false /branches/S2_6/dependencies/tolua-5.2/Version _6.5qi.t31410-1 add true false /branches/S2_6/dependencies/tolua-5.2/freeciv_tolua.patch c6v.5qi.t31410-1 modify true false /branches/S2_6/dependencies/tolua-5.2/include/tolua.h c77.5qi.t31410-1 modify true false /branches/S2_6/dependencies/tolua-5.2/src/bin/lua/basic.lua c79.5qi.t31410-1 modify true false /branches/S2_6/dependencies/tolua-5.2/src/bin/lua/clean.lua c7b.5qi.t31410-1 modify true false /branches/S2_6/dependencies/tolua-5.2/src/bin/lua/compat.lua c7i.5qi.t31410-1 modify true false /branches/S2_6/dependencies/tolua-5.2/src/bin/lua/function.lua c7q.5qi.t31410-1 modify true false /branches/S2_6/dependencies/tolua-5.2/src/bin/tolua.c c7s.5qi.t31410-1 modify true false /branches/S2_6/dependencies/tolua-5.2/src/bin/toluabind.c c7w.5qi.t31410-1 modify true false /branches/S2_6/dependencies/tolua-5.2/src/lib/tolua_event.c c7z.5qi.t31410-1 modify true false /branches/S2_6/dependencies/tolua-5.2/src/lib/tolua_map.c 84209 84357