bin/lpkg0000755000175000017500000001655110774736520012440 0ustar matthewmatthew#!/usr/bin/env lua --[[ (C) Copyright 2008 Matthew Wild This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. --]] require "lpkg.pkgdb" require "lpkg.pkgutil" require "lpkg.lpkgman" lpkg = { config = {} }; -- Actions -- function lpkg:list() local db = lpkgman.db; print("Status","Name","Version", "Installed-Version"); for _, pkg in db:entries() do -- Installed version info print((pkg.installed and "i") or "u", pkg.name or "unknown", (pkg.version and table.concat(pkg.version, ".")) or "unknown", (pkg.installed_version and table.concat(pkg.installed_version, ".")) or "unknown"); end end function lpkg:update() require "lpkg.pkgfeeds" pkgfeeds:refresh(arg[1]); showMessage("info", "Feed(s) updated"); end lpkg.refresh = lpkg.update; function lpkg:upgrade(args) local db = lpkgman.db; local num_upgraded = 0; for _, pkg in db:entries() do if pkg.installed and pkg.installed_version and pkg.installed_version < pkg.version then showMessage("info", "Removing old version of "..pkg.name.."..."); lpkgman:uninstall(pkg.name, true) showMessage("info", "Installing new version of "..pkg.name.."..."); lpkgman:install(pkg.name); num_upgraded = num_upgraded + 1; end end showMessage("info", "Upgrade complete, "..num_upgraded.." package(s) upgraded"); end function lpkg:install(arg) local db = lpkgman.db; local name = arg[1]; if not name then error("No package specified for installation", 0); end local pkg = db:getpackage(name); if not pkg then error("No such package '"..name.."'", 0); end if pkg.installed and not lpkg.config.reinstall then error(string.format("Package '%s' is already installed", name), 2); end local res, askeddeps = nil, false; while type(res) ~= "boolean" do res = lpkgman:install(name, function (option) print("Option: ", option.name, "("..tostring(option.default)..")"); print(option.hint or ""); io.write("Value: "); return io.read("*l") end, ((askeddeps or lpkg.config.assumeyes) and "yes") or "ask"); if type(res) == "table" then print("The installation of "..name.." requires installing "..#res.." other packages first: "); for _, dep in ipairs(res) do io.write(dep, ", "); end io.write("\nInstall these and continue? [Y/n] "); local choice = io.read("*l"); if #choice < 1 or choice:match("[yY]$") then askeddeps = true; else error("Installation cancelled", 0); break; end end end if res == true then showMessage("info", "Package '"..name.."' installed successfully"); else showMessage("warn", "Operation failed to complete successfully"); end end function lpkg:remove(args) local db = lpkgman.db; local name = args[1] or error("Please supply the name of the package you would like to remove", 0); local pkg = db:getpackage(args[1]); if not pkg then error("No package '"..name.."' found", 0); end if not pkg.installed then error(name.." is not currently installed", 0); end lpkgman:uninstall(name); showMessage("info", "Operation completed successfully"); end function lpkg:show(args) local db = lpkgman.db; local name = args[1] or error("Please supply the name of a package to show", 0); local pkg = db:getpackage(name); if not pkg then error("No package '"..name.."' found", 0); end print("Name: ", name); print("Installed: ", pkg.installed and "Yes" or "No"); if pkg.installed then print("Installed version: ", table.concat(pkg.installed_version or { "Unknown" }, ".")); end print("Latest version: ", table.concat(pkg.version or { "Unknown" }, ".")); end -- Feed management function lpkg:addfeed(args) local url = args[1] or error("Please supply a feed URL", 0); require "lpkg.pkgfeeds" pkgfeeds:add(url); showMessage("info", "Feed added successfully"); end function lpkg:showfeeds() require "lpkg.pkgfeeds" print("ID", "URL"); for id, url in ipairs(pkgfeeds:list()) do print(id, url); end end lpkg.listfeeds = lpkg.showfeeds; function lpkg:removefeed(args) require "lpkg.pkgfeeds" if not pkgfeeds:remove(tonumber(args[1]) or args[1] or error("Please supply a feed URL or id to remove")) then error("Error while removing feed. Does that feed exist?", 0); end showMessage("info", "Feed removed successfully"); end -- Service package control -- function lpkg:control(args) local name = args[1] or error("Please supply the name of the package to control", 0); local command = args[2] or error("Please supply a command to send to "..name, 0); require "lpkg.pkgutil" if pkgutil.control(name, command) then showMessage("info", "Command sent successfully"); else showMessage("warn", "Command failed to send successfully"); end end -------------------- function lpkg:usage() print "Lua Package Manager v1.1" print "(C) 2007 Matthew Wild" print "" print "Available actions:" print "" print "-- Package management" print "\tinstall\t-\tInstall a package" print "\tremove\t-\tRemove an installed package" print "\tshow\t-\tShow info about any known package" print "\tlist\t-\tLists available packages" print "" print "-- Feed management" print "\trefresh\t-\tUpdate information about packages from their feeds" print "\taddfeed\t-\tAdd a feed" print "\tshowfeeds\t-\tShows all feeds lpkg is using" print "\tremovefeed\t-\tRemove a feed" print "" print "-- Service control" print "\tcontrol \tSends to , common commands are 'start' and 'stop'" print "" end -- Initialisation -- if not pcall(require,"config") then error("Unable to load 'config' module", 0); end --[[ if not pcall(require, "lfs") then lfs = {}; function lfs.exists(path) return os.execute(string.format("test -e %q", path)) == 0; end end ]] if not (arg and arg[1]) then lpkg:usage(); end -- Handle message -- local errorprefix = { info = "(II)", warn = "(WW)", error = "(EE)", verbose = "(++)" } function showMessage(type, message) print((errorprefix[type] or "(??)").." "..message); end -- Command line parsing parsecl = {} parsecl.flags = { s = function () lpkg.config.simulate = true; end; y = function () lpkg.config.assumeyes = true; end; f = function () lpkg.config.reinstall = true; end; } function parsearg(currarg) if currarg:match("^%-") then for flag in currarg:gmatch("%a") do if parsecl.flags[flag] then parsecl.flags[flag](); end end else if not parsecl.action then parsecl.action = currarg; else return false; end end end local maxarg = 0; for _, currarg in ipairs(arg) do if parsearg(currarg) == false then break; else maxarg = maxarg + 1; end end for i = 0, maxarg-1 do table.remove(arg, 1); end if lpkg[parsecl.action] then local success, msg = pcall(lpkg[parsecl.action], lpkg, arg); if not success then showMessage("error", "Fatal error: "..msg); return 1; else return 0; end else showMessage("warn", "Unknown action '"..tostring(parsecl.action).."'"); end lib/0000755000175000017500000000000010746414043011533 5ustar matthewmatthewlib/lua/0000755000175000017500000000000010746420136012314 5ustar matthewmatthewlib/lua/simplecurl.lua0000644000175000017500000000133510774604057015207 0ustar matthewmatthewrequire "curl" simplecurl = {}; function simplecurl.download(url, filename, useragent, progress) local c = curl.easy_init(); local destfile = io.open(filename, "w+"); if not destfile then error("Unable to open "..filename.." for writing", 2); end c:setopt(curl.OPT_URL, url); c:setopt(curl.OPT_CONNECTTIMEOUT, 3); c:setopt(curl.OPT_NOSIGNAL, 1); c:setopt(curl.OPT_LOW_SPEED_LIMIT, 100); c:setopt(curl.OPT_LOW_SPEED_TIME, 15); c:setopt(curl.OPT_USERAGENT, useragent or "curl (Neuros OSD)"); c:setopt(curl.OPT_WRITEFUNCTION, function (s, len) destfile:write(s); if progress then pcall(progress, len) end return len, nil; end); local code, msg = c:perform(); destfile:close(); return code, msg; end module "simplecurl" lib/lua/lpkg/0000755000175000017500000000000010746414125013252 5ustar matthewmatthewlib/lua/lpkg/pkgdb.lua0000644000175000017500000000764210774737032015063 0ustar matthewmatthew--[[ (C) Copyright 2008 Matthew Wild This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. --]] pkgdb = { }; function pkgdb:load(filename, write_access) local db = { packages = {}, filename = filename, writeable = write_access }; local chunk, msg = loadfile(filename); if not chunk then error("pkgdb: Syntax error in package list '"..filename.."': "..msg, 0); end setfenv(chunk, { pkg = function (t) setmetatable(t.version or {}, self.mt_version); setmetatable(t.installed_version or {}, self.mt_version); table.insert(db.packages, t); if t.name then db.packages[t.name] = t; end end }); local success, ret = pcall(chunk); if not success then error("pkgdb: Error parsing package list '"..filename.."': "..ret, 0); end if write_access then -- This code will auto-save the db db._u = newproxy(true); getmetatable(db._u).__gc = function () db:save(); end getmetatable(db._u).module = db; end return setmetatable(db, { __index = self }); end function pkgdb:save(filename) if not self.writeable then error("pkgdb: Attempt to save a database not opened for write-access", 2); end local f = io.open(filename or self.filename, "w+"); if not f then error("Unable to open "..(filename or self.filename).." for saving database", 0); end local serialize; serialize = function (val) if type(val) == "string" then f:write(string.format("%q", val)); elseif type(val) == "boolean" or type(val) == "number" then f:write(tostring(val)); elseif type(val) == "table" then f:write("{ "); -- Below code will take (marginally) more time, but will produce more compact tables when possible for k, v in ipairs(val) do serialize(v); f:write(", "); end for k, v in pairs(val) do if type(k) ~= "number" or k > #val then -- Skip vars handled by above loop f:write("["); serialize(k) f:write("] = "); serialize(v); f:write(", "); end end f:write(" }"); else f:write("nil"); end end for _, p in self:entries() do f:write("pkg"); serialize(p); f:write("\n"); end f:close(); end function pkgdb:getpackage(name) if not self.packages[name] then return nil; end local p = {}; for k, v in pairs(self.packages[name]) do p[k] = v; end setmetatable(p.version or {}, self.mt_version); setmetatable(p.installed_version or {}, self.mt_version); return p; end function pkgdb:setpackage(name, record, merge) if not self.writeable then error("pkgdb: Attempt to modify a database not opened for write-access", 2); end if (not merge) or (not self.packages[name]) then self.packages[name] = {}; table.insert(self.packages, self.packages[name]); end for k, v in pairs(record) do self.packages[name][k] = v; end end function pkgdb:entries() return ipairs(self.packages); end function pkgdb:numericversion(v) return v[1] + v[2]*10 + v[3]*100 + v[4]*1000; end pkgdb.mt_version = {} function pkgdb.mt_version.__lt(a, b) return a[1] < b[1] or a[2] < b[2] or a[3] < b[3] or a[4] < b[4] or false; end function pkgdb.mt_version.__eq(a, b) return (a[1] == b[1] and a[2] == b[2] and a[3] == b[3] and a[4] == b[4]) or false; end lib/lua/lpkg/pkgfeeds.lua0000644000175000017500000000710510774737212015556 0ustar matthewmatthew--[[ (C) Copyright 2008 Matthew Wild This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. --]] require "config" pkgfeeds = {}; -- pkgdb with write_access, merge in function pkgfeeds:add(url) local feeds = config:get("lpkg.feeds") or {}; table.insert(feeds, url); config:set("lpkg.feeds", feeds); end function pkgfeeds:remove(url) local feeds = config:get("lpkg.feeds"); if feeds then for id, feed in ipairs(feeds) do if id == url or feed == url then table.remove(feeds, id); config:set("lpkg.feeds", feeds); return true; end end return false; end end function pkgfeeds:list() local feeds = config:get("lpkg.feeds") or {}; local feedlist = {}; for _, feed in ipairs(feeds) do table.insert(feedlist, feed); end return feedlist; end function pkgfeeds:refreshall() for _, feed in ipairs(self:list()) do self:refresh(feed); end end function pkgfeeds:refresh(url) local feed = ""; if not url then return self:refreshall(); end if url:match("^http://") then require "simplecurl" local destfile = os.tmpname()..".lpf"; io.write(string.format("(II) Downloading %s... ", url)); local code, msg = simplecurl.download(url, destfile, "lpkg (Neuros OSD)"); if code == 0 then io.write("done.\n"); local feedfile = io.open(destfile); feed = feedfile:read("*a"); feedfile:close(); host = "http://"..url:match("http://([^/]+)"); else io.write("\n"); error(string.format("Feed download failed with error %d:%s", code, msg), 0); end os.remove(destfile); elseif url:match("^ftp://") then local destfile = os.tmpname()..".lpf"; local host, remotepath = url:match("^ftp://([^%/]+)(.+)$"); if not host and path then error("Unable to parse URL: "..url); end os.execute("ftpget %q %q %q", host, destfile, remotepath); local feedfile = io.open(destfile) or error("Error downloading feed: "..url); feed = feedfile:read("*a"); feedfile:close(); elseif url:match("^file://") or url:match("^/") then local f = io.open((url:match("^file://(.+)$")) or url); if not f then error("Unable to open feed: "..url, 2); end feed = f:read("*a"); else showMessage("warn", "Unsupported protocol for fetching feed '"..url.."' - not updating"); return false; end require "lpkg.lpkgman" local db = lpkgman.db or error("Unable to access package database", 0); local chunk, msg = loadstring(feed); if not chunk then error("Syntax error in feed '"..url.."': "..msg, 0); end setfenv(chunk, setmetatable({ pkg = function (t) print("Updating package "..t.name); t.source = host or "file://"; db:setpackage(t.name, t, true); end }, { __index = nil})); local success, ret = pcall(chunk); if not success then error("Error parsing feed file '"..url.."': "..ret, 0); end db:save(); return setmetatable({ url = url, packages = packages }, self); end lib/lua/lpkg/lpkgman.lua0000600000175000017500000000753510774736764015431 0ustar matthewmatthew--[[ (C) Copyright 2008 Matthew Wild This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. --]] require "config" require "lpkg.pkgdb" lpkgman = {}; lpkgman.pkgroot = (config:get("lpkg.paths.root") or os.getenv("PKGROOT") or "/usr/local"); lpkgman.pkgdbfile = lpkgman.pkgroot .. "/var/lpkg/packages.db"; lpkgman.db = pkgdb:load(lpkgman.pkgdbfile, true) or error("Unable to load package database"); function lpkgman:install(name, confighandler, depcheck) local pkg = self.db:getpackage(name); if not pkg then error("No such package '"..name.."'", 0); end if depcheck ~= "none" then local deps = self:_depends(name, {}); local d = {}; for dep in pairs(deps) do local deppkg = self.db:getpackage(dep); if not deppkg then error(name.." depends on '"..dep.."' but that package can't be found", 0); elseif not deppkg.installed then table.insert(d, dep); end end if depcheck == "ask" then if #d > 0 then return d; end end for _, dep in pairs(d) do showMessage("info", "Installing dependency '"..dep.."'..."); self:install(dep, confighandler, "none"); end end for _, conflicting in ipairs(pkg.conflicts or {}) do local pkg = self.db:getpackage(conflicting); if pkg.installed then error("Unable to install "..name.." because it conflicts with "..conflicting.." which is already installed", 0); end end if pkg.path then showMessage("info", name..": Downloading..."); local filename = pkgutil.download(name, string.format("%s%s", pkg.source, pkg.path)); showMessage("info", name..": Unpacking...") pkgutil.unpack(filename); showMessage("info", name..": Configuring...") pkgutil.configure(name, confighandler); self.db:setpackage(name, { installed = true, installed_version = pkg.version, files = pkgutil.getfiles(filename) }, true); else showMessage("info", name.." is a metapackage, it installed no files"); end return true; end function lpkgman:_depends(name, deps) local pkg = self.db:getpackage(name); if not pkg then return; end if pkg.depends and #pkg.depends > 0 then deps = deps or {}; for _, dep in ipairs(pkg.depends) do if not deps[dep] then deps[dep] = true; self:_depends(dep, deps); end end end return deps; end function lpkgman:uninstall(name, checkdeps) local pkg = self.db:getpackage(name); if not pkg then error("lpkgman: No such package '"..name.."'", 0); end if not checkdeps then showMessage("info", "Checking dependencies..."); for _, pkg in self.db:entries() do if pkg.installed and pkg.depends then for _, dep in pairs(pkg.depends) do if dep == name then error("The package '"..pkg.name.."' depends on "..name, 0); end end end end end showMessage("info", "Stopping package..."); pkgutil.control(name, "stop"); if pkg.files then showMessage("info", "Removing package files..."); pkgutil.remove(name, pkg.files, function (n, f) showMessage("verbose", "Removing "..f.."..."); return true; end); else showMessage("warn", "Package '"..name.."' does not have a file list. No files shall be removed."); end self.db:setpackage(name, { installed = false, files = false}, true); return true; end lib/lua/lpkg/pkgutil.lua0000644000175000017500000001063610774737254015456 0ustar matthewmatthew--[[ (C) Copyright 2008 Matthew Wild This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. --]] require "config" pkgutil = {}; pkgutil.pkgroot = config:get("lpkg.paths.root") or os.getenv("PKGROOT") or "/usr/local"; function pkgutil.download(name, url, forcenew) if not config:get("lpkg.paths.cache") then error("No cache directory set in lpkg.paths.cache", 0); end local cachedpath = config:get("lpkg.paths.cache").."/"..name..".lpkg"; if not url then require "lfs" -- Check file is in cache, or error if not lfs.exists(cachedpath) then error(string.format("Package '%s' is not in the cache, and no URL given", name), 0); end elseif url:match("^http://") then require "simplecurl" local success, message = simplecurl.download(url, cachedpath, "lpkg 1.1 (Neuros OSD; "..tostring(_VERSION)..")", function () io.write(".") end); print ""; if not success then error(string.format("Error downloading package '%s' from %s: %s", name, url, message), 0); end elseif url:match("^ftp://") then local host, remotepath = url:match("^ftp://([^%/]+)(.+)$"); if not host and path then error("Unable to parse URL: "..url); end os.execute("ftpget %q %q %q", host, cachedpath, remotepath); end return cachedpath; end function pkgutil.unpack(filename) -- local total_files, unpacked_files = #pkgutil.getfilelist(filename), 0; local oper = io.popen(string.format("tar xvf %q -C %q", filename, pkgutil.pkgroot)); local line = oper:read("*l"); -- unpacked_files = unpacked_files + 1; while line do -- io.write("\r"..unpacked_files.."/"..total_files); -- io.flush(); line = oper:read("*l"); -- unpacked_files = unpacked_files + 1 end end function pkgutil.getfiles(filename) local files = {}; local oper = io.popen(string.format("tar tf %q", filename)); local f = oper:read("*l"); while f do table.insert(files, f); f = oper:read("*l"); end oper:close(); return files; end function pkgutil.configure(name, handler) local configfile, msg = loadfile(pkgutil.pkgroot .. "/etc/config/"..name); if not configfile then showMessage("info", "No configuration file for "..name..", skipping configuration"); return; end setfenv(configfile, setmetatable({ package = name, handleoption = handler}, { __index = _G })); -- Read-only access to Lua standard functions local success, msg = pcall(configfile); if not success then error("Error configuring package '"..name.."' - "..msg, 0); end end function pkgutil.remove(name, files, callback) local dirs = {}; local root_dir = (pkgutil.pkgroot or error("pkgutil: Package root directory not set, this is a bug")) .. "/"; local success, msg; for _, file in ipairs(files) do if not file:match("/$") then if callback and callback(_, root_dir..file) then -- Delete file success, msg = os.remove(root_dir..file); if not success then showMessage("warn", "Remove failed: "..msg); end end else -- A directory... remove it later table.insert(dirs, file); end end table.sort(dirs, function (a, b) return #a < #b; end); for _, dir in ipairs(dirs) do if callback and callback(_, root_dir..dir) then -- Remove dir success, msg = os.remove(root_dir..dir); if not success then showMessage("warn", "Remove failed: "..msg); end end end end function pkgutil.control(name, command) local controlscript = pkgutil.pkgroot .. "/etc/control/"..name; local oper = io.popen(controlscript.." "..command); local output = {}; local line = oper:read("*l"); while line do -- print(line) table.insert(output, line); line = oper:read("*l"); end return output[#output] and output[#output]:match("OK$"), output; end lib/lua/config.lua0000644000175000017500000000410410746473672014300 0ustar matthewmatthewconfig = { registry = {} }; -- Muahaha!! This is a nice trick... config._u = newproxy(true); getmetatable(config._u).__gc = function () if config.changed then config:save(); end end getmetatable(config._u).module = config; -- ...please leave it alone :) function config:load(fn) self.fn = fn; local success, ret = pcall(loadfile, fn); if not success then error("Parse error loading configuration file: "..ret, 0); end if not ret then return; end local t = {}; setfenv(ret, t); local success, ret = pcall(ret); if not success then error("config: Error loading configuration file: "..ret, 0); end self.registry = t.registry or self.registry or {}; end function config:get(name) return self.registry[name]; end function config:set(name, value) self.registry[name] = value; self.changed = true; end function config:save(fn) -- There are concurrency issues with this. Would be rare, and would need multiple users saving at the same time. -- Awaiting a nicer API for getting/setting prefs self.fn = self.fn or fn; if not self.fn then error("config: No file selected to save configuration data", 0); end local f = io.open(self.fn, "w+"); local serialize; serialize = function (val) if type(val) == "string" then f:write(string.format("%q", val)); elseif type(val) == "boolean" or type(val) == "number" then f:write(tostring(val)); elseif type(val) == "table" then f:write("{ "); -- Below code will take (marginally) more time, but will produce more compact tables when possible for k, v in ipairs(val) do serialize(v); f:write(", "); end for k, v in pairs(val) do if type(k) ~= "number" or k > #val then -- Skip vars handled by above loop f:write("["); serialize(k) f:write("] = "); serialize(v); f:write(",\n\t"); end end f:write(" }"); else f:write("nil"); end end -- serialize() f:write("registry = "); serialize(self.registry); f:flush(); f:close(); end config:load("/mnt/OSD/registry.lua.dat"); module "config" lib/lua/curl.so0000755000175000017500000066737410746420137013657 0ustar matthewmatthewELFa(04dk4 (p`p`p`pp\0`}x9[P=wCsSI:I\-pi.P'To)uMkO0y*@q[1 m>e&7b^nRf! UJ$`agY |H9 %zN~3|tpLd'.3A~5{:_ UV_rG bvmj@oc24"hWu}<l(<Wwn &*,$4C=!N%Y^]H6+i(#M\/AvxfSc7zQ`KaE)2>D"; eOdJhq8?B-ltLk#R{ ByFs/FQ?G6ZX1]+XVKgr,j5ZE0D8 T;0 T ` l` pxxt4  (D D DT XK4 |L c\ ,f  > B  ` XB$8 Ĥ M  B@G d 8 lp  X 2@z  (C L   F( $ 7G0 z XK T 0qpH Ndn` H < d,  ?` B L ]4 tI0 (^B  44 6dV0  ALA<   G$R4 TE$ # C |, n B l  ( vh  d  S^  j  8 m` T X L C,q @ C ? 7D `4x C T <yw C Rd  x A0C 4 T( 2   N Q v|H    tA nH0 4t  48 Jd <,M  L` - B , l y z ,  #p t8} P< Q@  `  j 8C r84 } w`$  4t'  ", hT0 [ B D s c h@   ЊX I 7@ +-4 =t D p P HC8  pL $ whKX NX n BI <VI Y F, \R@ ? pO(, | 4< g   /LL ;@ 0#b \   0L jXJ  ( < D (  {` L p  g DH = 5,h     H  C  $: $ 0  dB4  C )$]| 7$Of_ 4I N BP< ,L 4 T [G( ?HGX  P Fa]4 m 9L ]h f`K Tg@ i L$ 4E iK 1  (]$ T( -|p  pk PR  8  6@ 60 R@ p8 p & |Tt R x@   T | E c 4   M @C +  D\0 p _  =  xG VR0 H " <[ Fx3DG Jp  gH hDR    ,L 1 Y  d$ | < G0 _DYNAMIC__gmon_start___fini__cxa_finalize_Jv_RegisterClassesluaL_checkudataluaL_argerrorlua_typelua_typenamelua_tonumberlua_gettoplua_pushnilcurl_slist_free_alllua_tolstringlua_settopcurl_slist_appendlua_nextcurl_easy_performL_checknarglua_pushnumberlua_pushstringlua_pushlightuserdatalua_rawgetlua_pushlstringlua_calllua_objlenmemcpyL_tablesizeluaL_checklstringluaL_checkintegercurl_formaddcurl_easy_setoptcurl_formfreeluaL_checknumberlua_pushvaluelua_rawsetcurl_easy_initlua_newuserdatalua_getfieldlua_setmetatablecurl_easy_cleanupcurl_escapecurl_freecurl_unescapecurl_versioncurl_version_infolua_createtablelua_settableluacurl_openluaL_newmetatablelua_pushcclosureluaL_registerL_openconstluacurl_open_and_initcurl_global_initluaopen_curllua_tobooleanstderrluaL_errorL_openTconstL_checkludatalua_touserdatamemsetCurl_cmallocstrlenCurl_cstrdupcurl_strequalCurl_ccallocCurl_cfree__xstat64curl_mvsnprintfCurl_formcleanCurl_FormInit__xpg_basenamefopen64freadfcloseCurl_FormReaderCurl_formpostheaderCurl_FormBoundarysrandCurl_getFormDatastdincurl_formgetCurl_readCurl_multi_canPipeline__errno_locationCurl_ssl_recvfwriteCurl_debugcurl_msnprintfCurl_failfCurl_client_writememcmpCurl_writeCurl_strerrorCurl_ssl_sendCurl_sendfcurl_mvaprintfCurl_infofCurl_ssl_versioncurl_easy_escapeCurl_crealloccurl_easy_unescape__ctype_b_loc__strtol_internalstrcatcurl_mvfprintffputccurl_mvprintfstdoutcurl_mvsprintfcurl_mfprintfcurl_mprintfcurl_msprintfcurl_maprintfstrcasecmpcurl_strnequalstrncasecmpCurl_strcasestrCurl_strlcatCurl_ssl_initcurl_global_init_memcurl_global_cleanupCurl_global_host_cache_dtorCurl_ssl_cleanupCurl_openCurl_setoptCurl_mk_conncCurl_performCurl_global_host_cache_getCurl_mk_dnscacheCurl_hash_destroyCurl_closeCurl_easy_addmultiCurl_easy_initHandleDatacurl_easy_getinfoCurl_getinfocurl_easy_duphandleCurl_dupsetCurl_freesetCurl_cookie_initCurl_rm_connccurl_easy_resetCurl_safefreeCurl_hash_initCurl_llist_allocCurl_llist_destroyCurl_hash_allocCurl_hash_addCurl_llist_insert_nextCurl_hash_deleteCurl_llist_removeCurl_hash_pickCurl_hash_cleanCurl_hash_clean_with_criteriumCurl_hash_strCurl_str_key_comparecurl_multi_initCurl_multi_handlePipeBreakCurl_resolv_getsockCurl_single_getsockCurl_doing_getsockCurl_protocol_getsockcurl_multi_fdsetcurl_multi_cleanupCurl_disconnectcurl_multi_info_readcurl_multi_setoptcurlx_tvnowCurl_splaycurl_multi_timeoutCurl_expireCurl_splayremovebyaddrCurl_splayinsertcurlx_tvdiffCurl_removeHandleFromPipelineCurl_pretransferCurl_pgrsTimeCurl_connectCurl_addHandleToPipelineCurl_is_connectedCurl_http_connectCurl_is_resolvedCurl_async_resolvedCurl_protocol_connectingCurl_posttransferCurl_doneCurl_pgrsUpdateCurl_do_moreCurl_readwrite_initCurl_pre_readwriteCurl_isHandleAtHeadCurl_readwriteCurl_retry_requestCurl_doCurl_protocol_doingCurl_followCurl_protocol_connectcurl_multi_remove_handleCurl_multi_rmeasycurl_multi_performCurl_splaygetbestcurl_multi_socket_allcurl_multi_socket_actioncurl_multi_socketcurl_multi_add_handleCurl_ch_connccurl_multi_assigncurl_easy_strerrorcurl_multi_strerrorcurl_share_strerrorstrerror_rstrncpystrrchrCurl_wait_for_resolvCurl_ssl_config_matchesCurl_clone_ssl_configCurl_free_ssl_configCurl_ssl_connectCurl_ssl_connect_nonblockingCurl_ssl_close_allCurl_ssl_closeCurl_ssl_shutdownCurl_ssl_set_engineCurl_ssl_set_engine_defaultCurl_ssl_engines_listCurl_ssl_initsessionsCurl_ssl_check_cxnCurl_ssl_data_pendinggettimeofdaycurlx_tvdiff_secsCurl_tvlongCurl_global_host_cache_initCurl_num_addressesCurl_printable_addressCurl_inet_ntopCurl_hostcache_pruneCurl_share_lockCurl_share_unlockCurl_cache_addrCurl_resolv__sigsetjmpCurl_ipvalidCurl_getaddrinfoCurl_freeaddrinfocurl_jmpenvCurl_resolv_unlockCurl_pgrsResetTimesCurl_pgrsStartNowCurl_pgrsSetDownloadCounterCurl_pgrsSetUploadCounterCurl_pgrsSetDownloadSizeCurl_pgrsSetUploadSizefflushCurl_pgrsDoneCurl_cookie_getliststrncmpCurl_cookie_freelistCurl_cookie_clearallCurl_cookie_clearsessCurl_cookie_cleanupCurl_cookie_outputCurl_cookie_listCurl_cookie_addstrchrsscanf__rawmemchr__strtok_rstrcmp__strtoll_internalcurl_getdatefgetsCurl_cookie_loadfilesCurl_handler_httpCurl_httpCurl_http_doneCurl_base64_encodeCurl_http_should_failCurl_http_auth_actCurl_readrewindCurl_output_digestCurl_http_input_authCurl_input_digestCurl_compareheaderCurl_proxyCONNECTCurl_socket_readyCurl_httpchunk_initCurl_httpchunk_readCurl_reset_reqprotostrstrgmtime_rCurl_setup_transferCurl_monthCurl_wkday__ctype_toupper_locCurl_handler_ftpCurl_handler_telnetCurl_handler_dictCurl_handler_fileCurl_handler_tftpsiglongjmpCurl_digest_cleanupCurl_connecthostCurl_store_ip_addrCurl_SOCKS4Curl_SOCKS5memmove__strtoul_internalsigactionalarmcurl_getenv__ctype_tolower_locCurl_file_connectCurl_parsenetrcstrcpyCurl_pollgeteuidgetpwuidCurl_initinfoCurl_fillreadbufferfseekCurl_speedinitCurl_speedcheckCurl_nonblockfcntlgetsockoptgetprotobynamesetsockoptbindgetsocknameinet_addrinet_ptonCurl_if2ipCurl_llist_initCurl_llist_countcurl_share_initcurl_share_setoptcurl_share_cleanupCurl_digest_cleanup_oneCurl_md5itinet_ntoamktimesendtorecvfromfdopen__fxstat64lseek64Curl_base64_decodeCurl_handler_ftp_proxyacceptCurl_GetFTPResponseCurl_ftpsendfCurl_nbftpsendfgetnameinfolistenioctllibc.so.6__data_start_edata__bss_start__bss_start___end__bss_end____end__GLIBC_2.1.3GLIBC_2.2GLIBC_2.3GLIBC_2.1GLIBC_2.0si ii ii ii ii LPTX\`dhlptx|ĠȠ̠РԠؠܠ  $(,048<@DHLPTX\`dhlptx|ġȡ̡Сԡءܡ  HL|0488ĪȪTX\  $(,048<@DHDHLPTX\`dhlptx|tx|$(,tx|  $(Hlptx|@D|dhlp dhlD XHLPTX\`dhlptx|  $(,048<@DHLPTX\`dhlptx|  $(,048<@DHLPTX\`dhlptx|  $(,048<@DHLPTX\`dhlptx| hlptx| $(,04(,048<@DHLPTP        X    @DHLPTX\`dhx$|$$ %%%%% %$%(%,%0%4%8%<%@%D%H%L%040:4:8:<:@:D:H:L:P:T:X:\:`:d:h:l:p:t:x:|:::::::::::::::::::::::::::::::::;;; ;;;;; ;$;(;,;0;4;8;<;@;D;H;L;P;T;X;\;`;d;h;l;p;=========================>>> >>>>> >$>(>,>0>4>8><>@>D>H>L>P>T>X>\>`>d>h>l>p>t>x>|>>>>>>>>>>>>>>>>>>>>>(?,?0?4?8?W$YWWtWW4C Cl C\CC C4C9CICTlCXnCțCCLC|CCCChCC<__`_ _p__|__,_\__ _ _ _` _d_____(____|_ _0_ 4_9_I_L_(M_Z_\_\_]_]___`_dl_Ln_o_(|_|_}_H_Ȋ_ _____X_h_ا_8_l_8_\__P_t____8_J_\K_8N_O_S_TY_ __0_0__p_\___\\Pn\d\Tl h |x'< T_\  PP  22 JJqhqql Gk@MkGDML`+@q+4++ Hq8Ĝ|22B-] -](-22G2O2l:p{tX \ ` dhlptx| !"#$%&'()*,-/023456789:;<=?@ ACDEF H$I(J,L0M4N8P<Q@RDSHTLVPWTXXY\Z`[d\h^l_p`taxb|defgijlmnopqrstuvwxyz{|}~  $(,048<@DHLPTX\`dhlptx|  $(,048<@DHLPTX\`dhlptx|    !"#$&'()*+ ,-./0 1$2(3,4054687<8@9D;H<L=P>T?X@\A`BdDhElGpItJxK|LMNPRSTUVXYZ[]`abcdefghijlmnopqrsvwx yz|} $(,048<@DHLP-뷙-RƏ5ʌƏ5ʌ Ə5ʌƏ5ʌƏ5ʌƏ5ʌƏ5ʌƏ5ʌƏ5ʌƏ5ʌƏ5ʌƏ5ʌƏ5ʌƏ5ʌƏ5ʌƏ5ʌƏ5ʌƏ5ʌƏ5ʌƏ5ʌ|Ə5ʌtƏ5ʌlƏ5ʌdƏ5ʌ\Ə5ʌTƏ5ʌLƏ5ʌDƏ5ʌ<Ə5ʌ4Ə5ʌ,Ə5ʌ$Ə5ʌƏ5ʌƏ5ʌ Ə5ʌƏ5ʌƏ5ʌƏ5ʌƏ5ʌƏ5ʌƏ5ʌƏ5ʌƏ5ʌƏ5ʌƏ5ʌƏ5ʌƏ5ʌƏ5ʌƏ5ʌƏ5ʌƏ5ʌƏ5ʌ|Ə5ʌtƏ5ʌlƏ5ʌdƏ5ʌ\Ə5ʌTƏ5ʌLƏ5ʌDƏ5ʌ<Ə5ʌ4Ə5ʌ,Ə5ʌ$Ə5ʌƏ5ʌƏ5ʌ Ə5ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌ|Ə4ʌtƏ4ʌlƏ4ʌdƏ4ʌ\Ə4ʌTƏ4ʌLƏ4ʌDƏ4ʌ<Ə4ʌ4Ə4ʌ,Ə4ʌ$Ə4ʌƏ4ʌƏ4ʌ Ə4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌ|Ə4ʌtƏ4ʌlƏ4ʌdƏ4ʌ\Ə4ʌTƏ4ʌLƏ4ʌDƏ4ʌ<Ə4ʌ4Ə4ʌ,Ə4ʌ$Ə4ʌƏ4ʌƏ4ʌ Ə4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌ|Ə4ʌtƏ4ʌlƏ4ʌdƏ4ʌ\Ə4ʌTƏ4ʌLƏ4ʌDƏ4ʌ<Ə4ʌ4Ə4ʌ,Ə4ʌ$Ə4ʌƏ4ʌƏ4ʌ Ə4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌ|Ə4ʌtƏ4ʌlƏ4ʌdƏ4ʌ\Ə4ʌTƏ4ʌLƏ4ʌDƏ4ʌ<Ə4ʌ4Ə4ʌ,Ə4ʌ$Ə4ʌƏ4ʌƏ4ʌ Ə4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌ|Ə4ʌtƏ4ʌlƏ4ʌdƏ4ʌ\Ə4ʌTƏ4ʌLƏ4ʌDƏ4ʌ<Ə4ʌ4Ə4ʌ,Ə4ʌ$Ə4ʌƏ4ʌƏ4ʌ Ə4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌ|Ə4ʌtƏ4ʌlƏ4ʌdƏ4ʌ\Ə4ʌTƏ4ʌLƏ4ʌDƏ4ʌ<Ə4ʌ4Ə4ʌ,Ə4ʌ$Ə4ʌƏ4ʌƏ4ʌ Ə4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌ|Ə4ʌtƏ4ʌlƏ4ʌdƏ4ʌ\Ə4ʌTƏ4ʌLƏ4ʌDƏ4ʌ<Ə4ʌ4Ə4ʌ,Ə4ʌ$Ə4ʌƏ4ʌƏ4ʌ Ə4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌƏ4ʌ|Ə4ʌtƏ4ʌlƏ4ʌdƏ4ʌ\Ə4ʌTƏ4ʌLƏ4ʌDƏ4ʌ<Ə4ʌ4Ə4ʌ,Ə4ʌ$D- 00S C(0D-造P 0 R0l0Qd0 T00 R @000 R 000B  -D-000  R00S0B$- -LM 8 00 0S 00 K   -LM 4 00 0S y0 K   -L M  0' 0P0 P0YZ@ V8V 0S(V0S0S00S~8@Tp (ЍO Ѝ 0Y@S 0Q PT 5  `P` 0Y@S;P H5 p3 0[P PI PS P)Y00@S( $0:(0SY00@(010Y@S9 0 P 4 `P40Y  @S4 ,0Y@S 4P, 000,|u nSfP 3P 00P 3P | 0P0 P0[` A  $   0040 , 02 @P X Z R 0R0 0  0 0  ,0(PJ $0$0$@08` S V y @0S, 0S) 0S P P%  !$0S#  R 0S& %10#W00S .P] P00 0S  L 0S0L @@1 0R0 9 X @P0Uc *Y 0P P00P | 1 0TP P  P00= uptO-p@aP`Mℰ@P U P0`ЍPP  L0 P0S@@@[ YpP  P,0@ 0@. -p@-`PMM@ʍ@D 0 ( 0`Ѝڍp@Ѝ@-p@T,`PU@PQ0  00p@-@PpP$P`(0P (0 PP,PV@pp@-<@PP` @$0`p@-@p`hP0PP 0 TVP 0 0 0A-P\p ` 0S`$ 0@f0nS tP 0R0n`  0S _0` `PP\ 0000  @-)0`P T 000wl 4~'P@0(0c @(T O-@PQ PM00 B "2@ PP U`40T$PPq2P像2/  $ 0PP$PP iPP#PP$P {#0PP~$P `e ,\@ t#0TP\3U+0S 8#PP" @TZ 0#PPU@T"|PP(0 0 0PP!  2ߍ PK t2@T d2 TP, ~ 0PU$`VC $P(03 ,0S@a !7TP AU  !,0 0P  PP `!PP> L^@r f,\@\U$0S !0@PUZU 0PPy/ @ l 20t 7,0S@0{ , P@d7L.G-p MM: 0P:PU ``F0S @ T PU <Ѝڍ T  T* @t :P p@-0`@PP l0@P V00 @ 0SPp`p0`Pp@-p0`@PPU@pO-@`$P/ P+ 0pSYp, R/ 0CVP1P!UD19@ V1#1 RD01S'  pP U#Y/0000SpYp0(2S )R S  Q0S S @  D10D1pP @ DQHQ 0NpP@-@`pTQUM Ѝ\ $0 00 A-P`pMHP\ `\0A St0@x  0P 0Ѝ((000 0<8(-@-B^P@!kH`M 0 P \ 0 `2SЍ@ Ѝ=`>0pV `0 ((t0p=00O-@`p! \MS,  H\1   V 1SDЍ00V  1DV [` 2ASVX !萉 0S   SPP 0KP0`!#:[ P!;0  P U03`h050 S `F !;0P@  !`쐉 00@0 0`VP*, OP 0 S0C00\H@-@\ a^  0qW 9P u07PpP0S SP @, Pu07Pt -O-` M4000p1P% 0 0( @P0U@Pc  0?P  `2S 0`0U@Pc 0 ЍOЍ-0@-PPM M ` @A@D \$0 Ѝۍ0@ Ѝ?o0  Y0@-HPH _0`@SCRP 000O-RM;  1pP2 X - P`AT*00D S [* 0P! p0 `0HSP 0@ZTa0DS`0HS@P 00Ѝ 0 p  O-R@ME 1P( pHW` `0GS@`p%PP^00 P0G%S@` [00` Ѝ0  pHP0 0P-00@-@P100C@0 0 P $Q00000 S*0  0 p@-0@ `\ P  0S *`000p|0P 000`000p80P 00P0 0p0000O-`MM1 `/`/0S %S`0%S` {P@@[8<`0 CZRZE0C@D3S񟗝@d@@@@@@@@@@@@@@@@@@@@@@@@@0|T@0@@@@ @@@@@`ZR_,,D,,,,,,,|L,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,<,,,,,,,,,,,,,,,4[HPPEh0! \0 S00`0 S@T0@00` [ 0dO `1P@d/0S %S d/0 d/`0S %S  pߍۍ`0@00 d/%P P@H0 0C₱p 00!/ 0 0 c 0N0@!/ 0! 0C SO8hp\\X P0uPPe44 R@B  @Dp0 S`4@U @  p@ U`p 40S@C  @Dp0 S`p "  pu ` 0 0d/X  `0@B c @ d/  pY d/`?P< = ČL4 A?@C= p ` , 0N0@!  P 00!_Pz= =X@|+0,,  `, @U,0L+|@p l00p  e0E00009M= 1@P  p P`z@  0Os0(@_ 0NX0p0   0pA00 pS`  p 0`M 00@S@PG  p @U`<P$ )9   @P $ 0s000( . ( $pǏ0 |0(@D0 (@ {P@( b $@T000SPa0a_ S7SPcC0A0S(0C(0$@ TXPE^p8p53 U@E  @Dp0C S`P Pp0@X`U0  U@E 0 @Dp0# S`P(.@ R*0 U@E   @Dp0 S`ʒ 08 0*SY  0<0ꀀ0P000[80pHP0PE1  80< 0  @Cp01  B@    <0C !@ 0 0 @@@00IpHP0PE1  pHP0PE1  pHP0PE1pHP0PE1  pHP0PE1pHP0PE1  pHP0PE1pHP0PE1  pHP0PE1  pHP0PE1wpHP0PE1  mpHP0PE1  dpHP0PE1おZpHP0PE1APPE>0S`:  p@Sʪ   F40`0`f00  g0G00<  $ N+ 00$0I; :  $ 0$ ;0  p 0 `Ax  p `-  p @@t00TPpp"  p p`= = pu= pt= pm+  p @ZX  p `U00PC 0U@A  @Dp0y S`P@(  pn P`0U@E   @Dp0\ S`  pR @`{ P   R< <tl.d(000APE(`-@ Q 00 0p P@${d @_ $ r`0 0  -0 $M, 0 Ѝt-(-M 0 Ѝ Ѝ-000-M  0uЍЍ-<-M 0 d0 Ѝ Ѝt@- @0M @@@ @Pp Q0SP Ѝ0S $00-@-@M 0 @@@ @!p Q 0SX Ѝ@Ѝ0S $00@-@ M 0@ R 0R00@C@ ЍT --M 0 ЍЍ-p3-;p3n@-@R:0S @ R P000^ 0S @` RR BPa00@- @00S0 d d0d `0` \0\ X0X T0  GP 80@A-RQ`p@P  US X X0 R ;P808 `40p, P(0@0@-< 0S@C0T(P@00@0-@0 RMP yPЍ-P+0-M  N0Ѝ Ѝ@-@P+0S 0S PP @ u2S 0S S 0 0S00NPPQ @- @40 0--M00-Ѝ Ѝ0@-P (1@P0 1P  <$4 P P 0SP PTQ LQPP @0 4S44 N4S T3L P$T3L #1P P 0P 0 3P \0P 03K8 <$0 0 P PA-@Pp1P.P/ 2#00 {?0`2!+0,  D1<0T $2?0L! 10" B1i? q吁4q8aT R|"2deP p@-8`P@0S ` pA-RQpP QS 00 pP@ W@`x|@1S `W0V!p#*@pVH@0A-QP`p@PM@ЍSR @00@P PP 0@G-`p @@T P 0P@T@ PP @P  : @ %P000  40 @A-Pp` @@T 0 0P@T 0A-`p @1PU @ 0PPU0@-@0S@00P0 0PU00G-`P0 qPUU 0 @P P 0U0C0Y@-@P00P@- #@" * n 2\#rQ- 0 \P0SQ0D  BD -00S-r0@-0x:>@P000PU 0PP PUXP PP0` 000XoPm00\0"R0 0@-!;0@P ^ 0C P@ P tllll@p@R 00@@R 00G-PpM :> 0R Ѝ@T`% ` P  P> 2! !!0P3 1 21| V `^@ T40`G-P :> 0R @P@X` 0S`0T0Q0S@ 00 ` 0`0ThPU !{`䐟p`@TP 0 R @TP` p@T ` 0S`P`dyPU@0P-0:> 0R@^ P 0S PP 0N@000C0@O-0 $M0 00000 R   Bp0cW0 1$0!X PPPP@T 0U T  HL0    PpW4P6 @` W  0Q   R 1Q0 0 0s X  P!  L0   HXP 0 0P  4`V@ !4p$Ѝ4 0X`00 0g@PL0@P  0P 0-PM :> 0R Ѝ Ѝ'<0 P  P- P  00L N0S PU 0@T K YP 0@T;Pt@ @0S P @  0S 0 R0S PR  @ThP~ g P? g0 l3S P1 0<7!;50 50C0 @RT P  '0SA Pk @T6 P 08 <  P 04AT<LP 0 41gR-l3Sʍ iO0UEd3S8    04  0@5!TB PU  p0Sb 0<W 0 0p P] pWR 5PyRU HP@ PUB{ 05AT8P 051l 6P@ 0S 0S PVh3S*i0 d3S`3S* PAh3Sn P7 3S R  Pp@3@P  sP@T4 0S@h3@P* 0 0x @00 @@0    0 P RIP0P 4 BPP 00!+5 Q y !;00S 4P@Q00_ 8V7`3SK  ?TA"<Pu 0 <y 0p o 00 P]PVOl0'WP> 00SO-`P :> 0R<$0#Q @T pQpWD00CD0!;50 R QQ50C0  qP0S0C00 0S 0Sx `0P:Q5 !R 0U00 !;0`2Ph00hhpPWԱ `0P !R 0R` QZI XY pPd4 R! 00 R00P0S 0P P0R<00C<0 0\4 8!< 0p0,0  R00PP{P z!;0YhP8G-PP M :> 0R  Ѝ`@  0S 0S% @P!;T0!k` p@ !;0@@ PT 0STD0Z0S00@E-`PM ,@rW X Pp @<$0 0R{<$0!QjpWg81`PhP X@  R 0X@p1Wh@@P `9 0S1 S4 P`04 0S> 00đ0` 0` 0b9<0`0 P<0d R P ZP h000P0 0 \D00D0.`04@-q@ M  XP0@ Ѝ0PP񟗪t;|;;;<;;;;;<;<;;;<;;;<;;<< <<<$<<,<4<<<<D<L<T<\<d<l<<t<|<<<<<<<<<<<<<<<<<<<<= ===$=,=4=<=D=L=T=\=d=l=t=|====  |xtplhd`\XTPLHD@<840,($  <Tx8pHXl,L`t,T|lp|DL\t  ( H\ XP ?????>>>@<840,($ pt   H   P???|?t?($ !HD!,!!0@-0@,]_Mt1 P 0 @ @ P 0e S@ŖP0e S00܍0 ^\!0000PQ-  P0@-@P 0R 0 0R 0RP P P P P00@-@P \ 0  0P% P 0P P h0P  P D0P P 0P 00@-@ @ 0S00 0S0000X@-QM3 00 @ 0 00cS!\ 00cS00 R'   00cS\ 00cS  @ 00 00Ѝ0S  00 000@-@RP Q > 0U 0cS0  0 P0 00 P0 @ 00 0 0Qp@-`P@0 @ 0`S Q @@p0S @ 0`S00Q 00@@pQP0@-@P0 p T0P 0  00 R0000S 0Q 00@-@M   Ѝ@-@bdc AfAcb@င.A@-8@\0, M(0$00ЍM@-@0S 00P0 0P0@-@0 ^@~ p! 00bS0S@-@$2s M 0S 0S p$”0 $ 00S3 ЍHHA-PpM`P0! @0  @P0 倀pPP >0 0 L 00Ѝ,0000@-$M 00tP0 0tPpyPPi ?@0S I0 0S 1 @T% $2s! 0S  $2P0QP 0S   x!G0S 0 0 0S, 0S   0 0R0  0 0$Ѝ00S@ P 0S  P  05@P 0S  0 0S L 0SHHx!0@- P@\ 0\0C000@.@-@0  0M@-@Q pM& d2`P2cbDcU]<<0Ud0E p Ѝd`@ F0 D Ѝ@d 0 Ѝ@!!!!G-YMHYY/ /O$aO$1`p pff@cd&OA0 !G_ ЍW 0OO$ !JFBZ0 !P'=0Y,'8>0Y@ < [eD!@0 )a;?0P$4c8C9CP5P*ffOd(J0  Py 0OO$ !?1BO  j0 | cqX* 7 eP @0 T E0( PK!!"!!!"!@-(03Cp3tCx3|C3C@-A@0MQ hQQQQ`QQDQ 4/ 䁄0Ѝ + :. ܁("( #3:. ⁄:.  :. ~ށ@-0@M4 #3Ѝ48#<@#R$(#T3@0T3 T3@0T3QR,0#T3 0T3 T3 0T3QO--M dDD@0#3 b0c!1AoAT7 @0D3HC0A8<70Q0/b ?b0DHXRA cR 0 1@0s_`phdWq4SxdV dW0@-@P C2D00@-@PxPtPP PPP(P$P0p@-@`P0@Ue050P0pG-@Tp`PU `: PU 0T//T,0S X P 0S' P @T   P00@P ``SS P 0SV P@`TP0@-0P@T0@-@P_0 00@-pPU` 0S@` UPP@( ` 00C 0TPp@-PPpP8`4`P @ TpG- QM Z 0.Sㄐ ||@,pP`Qd 00L\T@ZD W 4PP `@4ЍP/4#,#0:$#<#A-PP@ 0SApP 0` 0zPU p@P  PUXD`P,u.\#$X##A-PP 0S `V Php .PU `WpV g@PPO-@PBMMHs ;0P U"0#S PP PPDPU U# R  0S` U00sN P ;0SP  =P U00U0S vPU 0S @ P P P@ 0S S S ;}PP0S PPpW^ @YT0S  R0S 0@TV @T- PP BP P Q 9P P Q 0P -PU-0S80P0XXPP PP$P(P    0SP@0S 0T  (  ` `pJTU 00 0 $Ѝۍ 7 S S00S,$ppGp 0P4PK0S` 8P $7P E S S0SPP> p.W@.P @T3.W`[  ;P 0.S\6P 0 0@nP0,0 0R S SBB@ P00  0Q S S S@PHNP 5P( 0"S0 ( 4A. @T] :>P(W0.S@ppp3`U D0\ S@pT` WVTgP Pp`p` pP, 0p`Pp`p`Pp`p` 0S| 0S" @`  0SU \00A. $@z U @ ``P@0 S @a0S@@V0p 0s03V0S> <gPS0SA0S P 00.L/PK L0aPH!P  L0 @0W LPp`p` N0E[ 0P@0P Bi}Pp00` <0  $$$$$$$$$$$$,#4#`$$,$0:E-R@PMM pTp XP;0S;p`V. N $1@P# N YP  P0 0Q Q QQ0W"00Ѝh0`\;p`D0PP T000.%p %0@-@SU0 E#1rPUS0p@-@`ATP  P@Tpp@-p^G_ `BN@0|0M 06P PT@P@H0WD <0SЍD%L% %0  0000 00000 10000Q2S 0 p R 0S 1S >e0RRR R0S !;0R0SA-`P dR; !K@0S30S >0Rc 0S KR^p0S e?0R\ 0S KRWWg 2Pz 1SS@P  @Q2S@0S0S @ ^ p3 0p0 V Q0QN 0 !;0 RM 0C0 RH 000 p @P ! :pP00! 3P!;0  !R9 RB RG P0KS!{p@T0S 1SS 0P00@P0q  Q R T1S P0@0q o0Sj0 LScpqMpz}Q:%T%G-Pp!k!K\`@ 0S R0 R'\0 0!;40 R*0SK S7 0 0P0 0 00SXK X^ 0 00S \ 0S  R 0S!;80P \PS2S0 0 0S 0R 0 |0 00s03 0 0yP   PP  0S0Q 0 R00 | 00s03 0 0NP4<PP w&%%%%%G-e?0QPP@l!{l!{`p`pT= O@P 0000eY 000 P Y!;0  P (P 000 P U @@;!;0P&00  @T%X&0&%G-@ 0P`H0S H0S00W 0   +@p0S0 V  0S @  @`H 4<80 p`L P1@`Dp H -(0  P00O-P M0 0p` @90 pP`2S[%0Z000Y7p 5PAA Ѝ00k P[    k 0P 0@ 0$@  Y @1I#) 0k)`Y 0H0PaL b@0D@<0p 48`p0Q%  MP e?p0Q d AP  0,0@ P\ `p  @8@\ P $P D  0$P  . 4Hp$P h` p0P p < cX IPP@,0 @*PP 2S e?p 0R <( P0V`PC" H8!;0 R,44 RR,0<,@ @ ,0OPQ,0ʿP b<8 X0Xp^ X h0 , 00, @\0,0dOPQ,0@<8 4Pt1 \ 00 d k0\ S@0 dP \0p6 h\ Y,0 4< ^0SP  @@P00QPO < ,0 PL 00"R\  x[P P 4? ! \P 0PP!;0 R `@TT0000$3S 5P! 0$12S +P˜d d"P 0P -||-X (hPPD00l xn?0 ("Sj 0S(= Ƞ,Ƞ$=$ T (((1S 0SC 0S@`@\`T S P4( `i<pPf 4 @e \ 40 d i  3S0 3Ps  PPOP P IP`@T P 0L0P;L` 00BS0\0S;+Q 8 bPh 4+[0YS6< 2S 0S4*@ L@P@:(aT"@V`UPR 0S&D3S $qW 0S|8\ `@T06t&Q X :0SJP \<Q@\DTV!;40 R@`P@e TI 1HL 0P`TW@T0Sc?T 0 R0S!1wRtzPE0SZ 0S5W UPxP  RE 0SB0 S@":A DR020;;S4K2Si0a0%+4A L0sPP# @ Htm!;40 R@T`$0@TPU ,@f4P,B  ,!000(13V($h  d0.`PrE0@T 00 3\0,\)ß\&#\ #hPR0SP p`0Sz hPPh PP $,0h PEPP`LL@ @P 0 PP @ľPPP {,00T@Q10 MY ` @\ VhhL"PP !0h@PP`@TP hd nP=$H hP40C80\QP 9S@L Q 0S hPP1,0h PPP X$d1  D00 :T @TH hXP0 5PH-'p)%)((&.))**D*`*h*0+4+8+x++`))**))&&*L***$*`+0'l)h)d+p+|)+++x*d(&,+**, y,,,t,4,L,,+0S^Mov 0SlP gP 01S WhPP!;0  r 3W00o h PP0Sh0 @0PU~,0h PPL@ 0SL @a@P^covwL(@NP 卽"PXp`~S|c/ : Pr P2$+ hh0 PP} 3Xc/L0 N0 PPYP01L 02@ L1L0H@P吾h )PP 걾0A Vb!;0  bwI0P ݽ`pBV^*0\X!hd 8PPM @00@`ht PPMO0S p` ML  0 0LhPP h0 PP 0LS04`L1PAH`LhL PPhPPP!4Pμ"Ph0 PPh P hPP hPPL0,0h PPP (夼L呻nL@ @0 P @嗼PPP]-㥻P-00@-@PPU@00@-P@0S <0 T 0P0p@-/OP⿽| 6`PP@p`Vp0@-P@ Q 3S P孻P U 0S 0P 0@u,"mU P -Pp@-Q``t@ PP vaP@` pQ `0PO-(p1,@P$   L10H!0![Cn{ S,P`p 4Ⱥ000 00 Q(200(2~ 20S0a201\_pPG f`0  820d1}0 0S0 1v0  @1q Ѝ@01g0  X1b Ѝ@ Ѝ@00!R01M0  2H0  2C`P<3S2 9@P]  LP  0``<900!41S3*0!2R/001) 0!嵳 0pE-pM Pė\` 0S@ Ѝ ѲZėė\@ 0S 0!R (0S \@X0pȳ4 !0@-@Pc<$0 Q  0S !;0 R0C0   0pv0S8 0S5 0SQ7!;80!;D03S1 3S* +᭴< 00S  , 00C0㮳Y0u2S ,Pp@-P`4 R0S@ @R 1S0t(0,@4 PapR@4p@ $0 ea.H.@-0S,@tp ` <0M@OЍ.-1 0S  0P- 1S $0S 0P- 1S  R 00000P- 1S  R 0000p@-0`@0MP0S 0S1 R"   01P00Ѝpb`2S0 S 1P0000u0S0 0p@-P`k? 0@ 0S0 l.0S  0 0p80$0Pp.O-P`M 00,00G Y !;r0 H )p᠐0tS,@l0\0!!p@n  0孳P# p0S0>0SQ 1Sp!;H0 rp ̱ `2S<f00@ Ѝ08042P 2S S, S 2S S囱PၱP00x (\ 0"(Pw\ \ x08\ #8P{.P-|-.E-p@P`V` 00<P 41S4a8ٱP 51S051P 0  4Q 0401 0S`  `ʳb2S R81S(  ,04 Rp0, `0H奲d0v03P0S`00<1S61.-10S   0@-P@P 0U 0 P0O-pMMM P 0 l_`P@`  "0Q,0 `p00 0S0 S0 0S 0@ 8H14151D1@\3"0S0 R 08 PW20J" d20e"嘠地  ܯP @1S X8L81S< P 倱PL@@9^P PT 0\@ 0 0|P 00 \0rP"\@@፯P ?㈯X HP@ D@ Ჰ  /00 ?R 0S5BT tP  @T 000P0L\ FP@T< 1_@̯TW P _00Ѝۍ0S0D F0LH0 @@0"0QH@@D @]@1 0 08P 00P@U @ 0 4T  Q P@415y05x5:8@ 0S^ 06!R!;50   P@@ Rh O b P3 /R0/S /R /Į@P 0 /S@ၰ D -!0SA @P_A,0t00X,A4y00xV \P@@@㔮P, HPPE-0@g P!ڄ 0ᝮ P  0ᓮ P 000吩@P 90[S :]@P  0/t 0l@d0d0S6 3P00  0S00 @"@#00> 09#9S \@@,P \2@S\@ 00 :R  -0@3S@2S\@M. P]Q \:㖰PQ !;T0 R A4Uy00x00SP  - =̰\2 S y00 0S \G | |0S 0S 2"—/N@ {1"‡ B奮P c2S !;40 R ė0S(, <ė0 Su0 @T$ N,0  s,Q ( R 0s 0SQ(0S0 00+;R ė 0᛭@Pk ?Pq5\@_0S0S  R0S 0S 0SrQ 0RllGP t t0R5PP  (dZ061P(0  3 0R0 |彭廭|0 |0 |0S0 宭嬭0 0 0S+ T|TT000|0唭咭吭厭8ů<¯@冭 4l0S@, p0`0`P`@P00L!L!P Y2S 1s 001S1S tRUG @T  0PST%@1S1S3 t"R0ZXP 8@1 0辬@X BZ 8徭@aT .@T#  l P( 000# 306T"-?㋬iP, ,qP) ,X :  ⩭/00L\ 0HP8\ 㜯P  ֮000j@ ,  έPU \@:HPPd 0Uc :sP,Zx./|2H2/2\/X00:D *00000011////4/p/////ǬP TUP` 快T@PU7 Pė 0 @P@驫@H@@D な  5 @0tP 1S PP>̭ȭP WPėd lt M>mPU TUp eT@í> @7P \\2P x0x 8S0 9 !;0 R||P Pėv1s<1S0096_P0@T; 0S001T8{T0 ◪P0, $OėET4(llڪP t t0R E-`p@10MS@P`` 7PP Ѝ0 R 0@@ წ7PPP` 0@XPP0@S@ PP@#PP 1P20@- M 0ᰩPP@ ⥪@P R00bЍ0"R'R \R   R R R\00  R O-0 @0M堐哬P8 :TP`pC @:L`Pp PP:DpP P:>PPT- 0S* V& 0S# W 0S PP 0 <"pPK@T8 -Ѝ{PPq@adA <P< 6P6/P  R0  :R R d!@P 0 @ @@P@  Px  Pr P :P` @:㺨`P PP:᳨PPT 0Sd`@V 0S PP 0 D P¨u`333P/\T33$4(4`433444-0P0S 00@-@`\M R RP RP RP R  0@庪Ѝ0P'TT  0@孪C\t 1 lЍ0@袪`0\  0H嘪 8Ѝ0@蒪,666766968666@-@P`9 MpP`P 0 Ѝ֨  ,77E-P`p`\QW@ 'Q~ A0S^2!K0@S6(8Hd2<Q" <W0@SSTZ \0'Zu JRD2!<&'T DRr2!pGWE0#S 'S9 S W@ @W00 XE,B,02w<08#8S 1!0<ީ0ک$֩ ѩ0SʩW@R ©@W  R`0 !p峩審 媩 ᥩ}0!$埩87,747<7H79X7`7p7777+77777/7V\7O-j,@0pP0 M0bb-0M, <0`#V0 'V& Vt FߍۍK(@ͨPL0! ` @P]  9שP` 0>0Lh!@Gb=(0PU  0@' ⁞PU @ᐨΠ ` V 0 j 0PU 0j@  0 9㈩P 0  0>K@[Z8 ᤧT  ឧ777877@-@ 0b=("0 0O-`0 sM`j8 0; BΌPP$ 0Pj-b@04 ,,@`P0 `hh(PAT2 b(4pM  7;'0  h@T ( 0P`P  P 7  (b='0`@T㔘 0 !1!11m/Cp- P 1p1E@1S"TP@ 0 @sߍΦP 8PT  0夘@,B, ϥ1PӦP4pbM(@t(|0٨hl=rύ?0 >ȱ[@Ӯp@b,̈`j]4P$ !`0S5Lx< $ ݨ@p $@Mq_`0S41  0 5a PЧ10Cs11q R00 R00 q/0[(0S^ Q[0 KP@`pQ P(U@8 Q0 !0S S# S`  Q0 !<S  S Sl  R0 R j 0, R0304 7Q1݅0„j=00  B 1 00!0BS~x0X s 0<S S S;0 R+  z0 V00 0<S S S0 B 00S Sp S8S  ~K0, '00 00S SG S1S3 -R00. j,0 S 407&P 句1P0t j=,0  0000 0000 q/0j, R03040 704SF Sq0 0 4S8 S0* 0S SY0  <* 0S SI<4St0Sp4S 0S0( @00 0P* 0S  S0  <j͠,b , R0304 7P0 0„j=00  B x4S So* 0S Se4S S:00 0T  M yF848(6<888847`8D8O-`QSIM0 -P0 0U 0 P~ 0  PE t @P 0S 0S9U U U0LPP DP  PP0S Z 4  [  0*R0S1P? 1宥 R'0SH1 Iߍ4 P00PPP ?  0٢P   0彣P  a0S  K댣P Y 00 0 p999:90:99p@-![P@|!2΄`0$Ppt ` 0PT X\ `d hl 8< `$0 `$```p-Pp@- M & 0R0 Rp R^ +00 Ѝp@ ЍR Q@$00P` @T$00P` 60\I &6 0\ f 0C0\ 0C0\ 60\q- 4 P( 0 S ( |P,000C 0\U ,60\d 0C0\ 0C0\< 0 00 `$0V0 @P<0 00 PU@$00`60\< Y0C0\ :0C0\y$1 0v60\ 40C0\ l0C 0\f6 a<0 00 Z6600S? M,2 0H<  *60\L 7!;L0 00 60\9 26 60\\ 0C 0\_ 60\!;0 00 6 1 07> <0 00 = w600<0 00 i600<0 00 ? 3 S0 0 !;0 00 < 0 00 ;00 0 0  0PP A-@0`S A  MP1LPp* Ѝ0S0SpP0 P Z@d fP  `T0p0 :,p@-`4RU @ᜢ  PPU P pp,:0@- P01S  01S X1S |!@ `T P A0 L40P (审A0p4:T:x:D1 0a D1A- `P @Mt 0p40+) pt0B>00B040\  p$p <00 pp@00C0L 8p% ២  0S  R@0'ᶡ0S0S1s000 1s !;0 R000Ѝ0H R00004 Bx0 |Q0000@-R@ڼ 10@@  1 S0  0B0 A-@P3S!kpPP4`Hp3! S PPP$Q!;T0  f:-T3L3S +0S  ?S0 S S0R S0S0@-  %P2@0+0?S 0S SRP @0S000O-pM(!r $R<倠/Ѝ$!;40  $V2SO 09P 3P P ``/QD ?FP00/ѡP00/:0P``.S < V R@P /㹡P@ U n@ @P3P- 23S203@Pp ?0PT0  0/S0.SG D2  ]0/S V 0S /00P 0Q0   ူԟPT`0 $Q@b 0P, H0p  0d\ H00P L0 1SV P,o0SPo@0S 4UL0P-T@0 S, `` X@ PP\ dP0@Pa$0`jS``T@:0 Ę@0T@1L ;`lPH 0 $DL0 XL喟L  0L P0L0\0H R T`PP0S `P0 S   S Sg H00SH0 0SwBT8  .PP `P @T ` @P 3T@D000 \0f P@[:P  F0`PT2`"S@@R P0GP, P0H 00 Ę, H T@ LP0S, \Tv @0Ss``VTڌ R"8@T00 0S 0SS00P(0S d0S1S Q @T `2 S 0S z  `` $0 0O0@[ʪ 0 0S0 0S 0`cV`````0 `` 0/  0S`0SD R8@T 0SP ,P0UD0A8\0  00I ᰞPE Dt@ T T/ T `LL'EP  `PT2`"S@@RF P0 庝`P> P`0S@T@ D `K0PS@PH0  ZA ,P 0S0<O0 <R8<V 0S@000S  |PU *, P`P ` 0⛛@0P T  T  0@`P0s 0S 0St0 SDp0S`%崜Ph ڝ`Pr0S x }P00 ÀŜ ť8*P,x1S R0S P (@00 , 0bp@<X t0@(P~  `" @Pt@ p!;0Q"00tR p R>0R< e?0R @0S 1SRt0 Sr p0S S S`P`P  \PQ00  @T `"'P3` +PT `P@@!0S `"Pt@ 8`PD0S P0 $刜D0SYT `0RX0t 1@t@00 ᬚ`P`!Pt@ P `PQ0 8谚!P@ z @00 ,P嫛 R1SQ RT(0,@0  R0S LLx|` T`0 P7r0 $@T  Ờ {`` $ D R 0S R80S ;&=t((<d(;<=8<H<((<=&<<d?>>T<H=T=-h=>x<??<(P(=*,@=%=p=<>D?%;x==|>=h>45  0S @0S 0PPP0P0 S `0S 0H R T ͚PT`,``` Rڽ1S K2Sr !KD@0SG `0S`  `P`0ST0 R0 0 0 !Rc?0@1AZeQ`PX pt@i0SL岚?,\` МPp` ʜP] 2SZ `0@TP 㼜P`P 㴜P `P\!;D0  `  0X ƛP,t`2SX Q 0b00X0 O $ ᡛp  $P0ϚP,UD 0S 000 @0 @P `剛  $P0$0S:0 $@0T@1LT4 `bP 0``L0$DT@ L偛`L0P H 0QL0P RT@Q PT@ @PD G0S  0@`P T `0g,,0SP0Sq B  0SPH UF`2SUT@,P p ř, X0^G{@00(P岙,,0S 0   :`uz U !;00@P 0Sn0 R0ፙ,  ` 㧛P p>0Q ` 㜛Pp pe?0Q  K?AcS;<` ㍛P5 R2S2 `P @T `@\0@CV0Vw 70SP,PG*` fPQ `0@TP~0 hl0S `PO0S`PdHv0S 0S h, @P40Sz !0,0X 0妙4r"&QfT@ D v000  @DV0 0PD0 0P単Dx|6  FP`P>S00  @Td@,@ O-0 `M 4  匙PP:P 3@S@TP2U00SG 00字0 3  0xPP 0S PP FPP P |3U'0u03P0SPЍ  rPP(3p ḙPP 2U00SUyBT ᛗPP@00p P 1s8 0S0S50S2 g0a l3S^Z  i0C d3S@< 00/㺙p?  PP  0p0 0  1sחPPPp1PP  UlPGQo  ?PPbPE`3S*/zpݖ0S00h3S* !;H0 RKP BԘ.0Д .⬖v2S6\1S ` PH%<1B8T#X@a PU1P0S@n tT"PtH!;L0 ផ xopߍ@v2@2倕P =nP`_ 0"N "$" 2(","!"VP08#X0 $%$%8SAB4`F  0BP 0 -@2aP "(("4<",x#01㮖P0S@!ᵖp@u T 4S 00 3  @D啖ᣕp  ?⪕P D2S rB D#0S! d唔aD L ҕ'貖p6!;L0  zḓpG ⹕Z,^@#. 㯓pt2 D2S1 0@X0 < ᾓ QHD sQB ᶔ.0H H!;H"L0  0勔P  { /,V Pw  ?"P DQm ᣔ~T \ Dfh /@: 7|@$@@dATAAtB@@A@A@AA 0SZ' P' Y= Y < $ٔ P1 =!; L0 \@ tP 0{˒00 P0 0 !;L0 h媔 lP \@  !;L0ḓ ᒔAAB$O-`P$M 0垓Q  TH 0R P``0 R R RIJ>NH:. TZ P$ЍQ@:. TJ ^$& 4SQ H0  c0sU@0P0 p` @ ܑXJZP0 0`ܒI>`V, P0000 ǒ,BXB@B00 00@- 0@@Pp@-x0P `@P R`  0 0 p000S@0@-@QP 0S 0T 00S  8  00C 0000S0 000@-@PP0 0SD00 0S  0S L0-P 0 0     000-@-@0SM Ѝ@ Ѝ 0 0C S LXLLLL0 !0Q0 C Q( 01 0 A QM8MMM0 0 00 0 00  0SȑP P Ó00P 00P 0 ốP0@-@P0\  0 PU 0S 0P[P㌓ 0S  00@-0@^ 01 \ 0 00-0\ 01 0S  000@-@P0PPPx0PP`0PPH0PP00PP0PP P P0p@-`@P0P 兓U@pDO-M ![!Kp儠|P@P `㊐`3 WpZR  0S0 0 00S 0`  彐@P mpỏ<!,3`P  0S 裐@P~ ᢏ ᔐ@P PᏏ+@^}  0l@Pz@TQ uL`q@Tj 0 !P @ `UrP 00 0`V'  R DP `` R h7P ``$@1@P (圑@Ѝ![!Kp|XP@G<}@ ⼐ 0 ᦒ 0?P 00@0d @D P0Pl `|CD%CCL%C DDDtC(D0@-!KPX|@0@O-P@!!X|TMd (PЍ  0 P` p  'H 0ṑP 0 0ᲑPM徏P" 4P4 ሐ@ᅐ0 @"R000,S0@T 00  @T喏P p呏P0 00T剏P 43Pؑ00  @T R0S0ScP 2PzUP d2P hYo  Q  d R P 0S Y  6P~ 1P *@P0 0p#P( @i00 @T' P   0P00YE @0[; S  0S [  00 T 1 R 0Pa   ) 0 Q  g@0S0 \ PI 000[ @ 4 M@%DDDDDDDDEEEE DC@-@R 0#40 "( 0#< T0O- 0\M` p 0 0 48<0@[00 AUAnAA0 0@@@@DIDND @DdJ0$ 0 ÌɌ͌DŽ 00  (0  %B#*B.B Bb%,0 00*A?AQA 0000@GDHL*@dJ4000*ÌɌaΌDŽ 8p 000 $F(, b%0 0<0i&@ 00 0@ND]CDHDdJD000)LOLDŽ  00H0 $(B-B Bb%L0 00k " 00P0@GDKDOD@DdJPT`000ČyȌČDŽ  00X0 .R#m'b% P000"0 040@AEL@@K00H0ŌyɌi͌lɄ 000 Y%B*B.B Bb& 0000/A D0 00@GQM@K00X06ÌȌ̌lɄ, 000 :# 'BC.B Bb& 000 0 00@EDJDND @DK00(0LLLLlɄ< 000 E$Z(S-- b& 00P0 $0 00@1FDKD@DK000Ì LL'LlɄ 00L0 $)2- b&00,0$0AkAAa<0"0,0@DqHL@JH0!0"0mČȌǎ"lȄ 0$0!0 'B+B/B$ 0,0$0)Da,0"0,0@C!HDMD@DJ0!0"0%LKLJLlȄD 0$0!0 $%BC,B B$P0,0$0)AA:Aa0"0,0@UED{IDKD@DJ(0!0"05ÌȌ͌lȄ4 0$0!0 %* , $0,0$05 9aL0"0,0@DID&LD@DJX0!0"0L]LLlȄ$ 0$0!0 1#+'V,e $000,0=)a 000"p@CHDi@DdK000!`Č%nj͌'Ȅ0000$0 ?#( *9 %0L00,0f)AA=Aa 0(00"0@D3IN@dK0D00!0L.LLȄ0 00$0 $!'], %0<00,0WAAAa 0X00"0@FDKDNDdK0400!0ČɌόȄ0P00$0 N$*. %0,00,0A2A_AAa 0H00"0@DHD7MD @DdK0$00!0+Č LLLȄ000$ Q%B9(B-B0/ B%  00@@峍\ЍE-p!`0R1?000@@l0W> 320 011* lE ?0W 0P@0@W@@ P 0@-0 @``M00Xp P 0 7  01?07S8 c x cH    X I`Ѝ#EgܺvT2 E- 82S 0 䁍p0 0@-@P` Mpnp 82S S P0 0 @00000oP iP V  0<PЍ0V0 @ ( 0\ 0 JV`Ep@-`P܊@ᩋP*p@V꣊00pO-PpXM 0 P a00 XЍ  080<0@0D0H0L0P0T00/0 0aX  0c1#\ ` 8q R 1S q v X` Rq v X`v X` @ P:0SV@T v VTTVX X 1 Ō@TPv 0S200@@ 0kR: Č }0 ePR  0S*0U+S+S-S Mv> 0VFVv }yl0FS0 0YdddB`A@BdA@ R00c0%{d >0[`|0 L0vK0 ALP T0X\`ldh囉p,K !Q`  0`0PP @ Z"z @ec@{q @H ԉP e0s0 `Qʈ\ GHFxG\Gp@-`PM ,@0 pr0S  0 謇 `R ЍpP ]0 0O-qp00P(M^ R@@@0@x 0`0`   y (0! B0 0B`pU@@ ᡇp0S UȈ 0 T@`T(ЍP x0 0C8"0y ( 1 S S$(B(8iO-pP`PM Q 0s  U, ≈ 00@ Np Ѝ0s VЍO<꾇0S U f 0 @`T@@U@@E-P 0M gZ0-?0 S`HP@ p0@@$0P00T@@2T2@@P0 0$00g@Ѝ-?0 SNZo p0$0@ @ p`0$0@`I!YO.0Yύ@@崅P`d!8 (Pp 0! cU( 0SP0PE"0@ PPE@ ׃z @Zύ  0P L弃]ߍqI:W>~Wp 孃  ۃh1T[ύ  0pAP 嗃l1S0S 匃`Z0FS(H 0 !!@! ]00@ o 0!Ġ !@ !̌ 0 `\垄 + 0 !!@! [0@ @ 0 !!@! \04@ ,nKKKK LTMMXLtLLO-@-M`Q Up 1S Tp -ލQI:U>^UPP T 00 $  %0&' 嵄%0ύ0$ #P 0т%0"0Sង p徂P巂 専8Ⴤ0$ PIP x埂2S$0S P唂%0SMO'  0%$&偃p| P PP ZM O@ C? M/0 ͍@@0P!8 ((*)0+ ߂Z. 8#Ġ #̌L-$ 0,啃P C>S/ S&:52 Sύ$ PP )$ #2 S$0S; xSJ ` TZg00 0@$00$00 0%] -΍0$C Rύ$ 03P. %PU -0,!Ġ*+@ !̌( )0\ PˁT 8ā㖃0S 巁2 ^ύ$ 0PNP 夁Q00 M0  2S%0S `$ 劁$N@N\NNNNNN OKhQOQ0 08 40O- }M0000 B. 4 08 `@b Q^*0X0Y0SX PU  \ h3  XO  RH040PH04PU0 S@``2S; 8 0C~P/T9 P`U8` @Rv T4d 4 Qap2P 8 ` Q@48`:Y !;0 Ѝ48 03~8000  000  000  0 SV a00 R 400  ^8 4 ^  O9a  ~P04C] Rڼ ~z8000  000  000  sP (}48u  0}y}{hULUO-P },M ⠰`m} 0U00000S;ATKAT9 Y} {@`T9 TO0R0Y0S -p7 P~|P *,Ѝ  (0P( R 0S 0000S $@} {@`TD|} {@`X| |8UUR ̀ 00L R (p@-@ ]0aMVaV | s{`Ѝp $@|T i{`|T a{`0@-P@0SX00P8 00|@ @P 0P0-A-`M M @B΍@D 0$$č{g} 00(|P4U@Pc  0p}pP  `2S 4`|4U@Pc ЍۍA ЍO-  m$M [ (0@  ?QCꨥQ(0  0(0* ,P3  0z@P,@ PR|PO|* RePk D2Sh U,@  D, |0Sfz 0 5 Q Y2S\ cO0t 0T 1Sr P 0 0 00SAT 0 S s}PP   {PP0S@TP$Ѝ0S<`0$@ $0  { 0SPP$@h U 0S RR .{P11, }z w' 0W: !;00@Q6  0S5 0 4{P0,01n 0S0 0zPx 0S|0 RwX" zPqugmUhjXR0S `z0(0 @zPtQWOSS TSHTS`T-G-P AMM`C΍`F 04$ čAN z{@00$J{pp 0@{P`2S 4W@cP 0P H lvz ЍۍG Ѝ4P{4W@cPzT0X@{P@L@U0@-@0 Q4  0m{PP !;0P0V0@-  @[{PP  0V0@- <@0S L{PP 00@0VO- `@00M 0 Q4 U!Q" 0L2Bp@TPU1PI) P1LpT) 0 Ty`ЍTL"01R,  {`P BU z`P 7 T U0S @00Sc/ S R0S!1Rdz 0 P`  Py 0 0 Rx*PVHVV$VO-(5`  MMp@k{B0T9呞7 4zP3P PE+ zP& N 0qzPC Q7 @yT2 PQP {p4yPUy Ry@QN@$P  zPB xy :y@fߍۍy .y@\y uzPN@7 N@$  zP5Q ]zP! xpy yAx@@Q @D; 0 lx P x@0  9]zP xFy< xx@[xP x3y xx@,x0S0S00Zc 0A~ps3pG@\?Z ZT z3 !8( 4"(<R L R!(("4<"L0S> ,c΂ 0S .S0Q $4@ @z0 y@P 10S !00x΍@|y@P "<pw0㤀0 @]VhVVVVV`V]V@-0AcSP@;x@Q {yTE T T T@ @ @@D2S `Q/ V,1,!0 $wpP-V>  1@`V 0S /vP 0`P' x0P/S /ly00@2M 0Ql x@PVD`<`1@VW9@W8W@- }I@A@P`T 00S xPP 0@  @`HW@-0S@ = 0S K2SI0A0 S  0 0@@0@- ̀@ I2S1S0@0 S xPP 0PWp@-@ TP ̀ =: T!7Q<000<0<0R <P0  0RRPQ T8 T= T! )Q.0S@' R<# Yx`P3 p Qx`Pp T! ! 0S >x`P}0S p@p@o`p 0<0dXWV@- @ 0 \O2S } R0S `0PrP3!x`P΍VD.0wPP 0S RT X1R8# 2S S_0"\0Fx@@5w wPf<00<0bWOlt 0vP t0\8#X Yύ >\w\SvX <0S00 SB w!ˠ0H0  0vP 3g10`"R4 2S) S; S u0S 0S9 P07r`P9v5=C 0 {Sr Mr r`P ]r Q% Z절0 @0< <41!,r`PA<@0 D !<0q` k P$ZYY\\\@\[YYYZTZ|Z\8Z4,ZRY\XW(\_$[YYT\@[t\[<>>ZtZ@THY \[Y\[[\_|Y@- @ ]`p\0S PL0Sr0s S P 0wp qp  U]0@-P M2S#P !+ 0P000 P h0  ,P @0 , 0( YqP]O-` P 0SMS @0 @pЍY"R40S@00@6 P3 0n@T pWF 0n 0RN p 7 0?0 [G P @00@0@젅0 0 K P@ 0@00@M2S 0S K P 0S P q q00 -W@T@ pW0z@0@젅A-pP @0M`  0SW000(0ЍW@P p n00@0 @ yo@A-@p P`0P0hfoL0SP qp0WoPW\00s030U]0@-@P0S00@G-0` XM0uopP 9=R$0p00 ) o 4ST0X@" pP00XЍ0S @P Pp@x08#8\ qpPP npP pO-0M0+o @P[D2 }S P(@BY S 0@$ 0P nPk/m`Pp 00cS90S05V6  ec 0P@mAPAT P 0SP00 03P6  0mP n@ЍV0PU 0S00Q 0S00Y2S 0S ,0 S) G 0pm`P1@2@  P P0S@@ /o`P \2P@T  e0Fm0 R 00  n@Pn,P @bnTj 1@0 0 Zo o [o snP(P 0S0 0 P 0@P0 $R ^P@T0Sc ЍOL@])Z o@ m@Nn0P/SU PU0@> 0SW lm@5)PI @. oP (n0)00: ],]T]E-@Pp $M@$Ѝo`vP Dn0S @P PP PPPPP n  0@PKop  0   l@l044A-`P@pH3S1S Pt2alnP H3/SD3S*P$4*lPR1P !+m{l _ Q6:P"# 00QQ1121:QQ1101: P@  !P@ !!P!@ #!!P@ !!P#2!Q!! # 3 Q!! "Q!! "Q 0-@-@AQ B aB Q' 00`BS&(   QQ11"1:QQ11 1:S0C !S0C !!S!1C "!S1C !S""!\`B<`B3Q!! # 3 Q!! "Q!! "Q \3`B-s@-@A Q,:P QQ11 2:QQ11 2: RP@ P@ !P!@ P@ P! R0 r P@ P@ P@ -:Q2 aB`B QP& QQ11 2:QQ11 2: RP@ P@ !P!@ P@ P! R0 r P@ P@ P@ \`B-@-p(%@-% x"Hh`H"(&H0 @-POA--J(ꀁ-$pO-Q㴥P@ M0P@SUp`rT~TA V*V0 06@%00 sP@f)& P0 0b7C;3br&pP") p'8HRp@pE%:@b~P  8#8T00E:x p@diP +8HRp@pE*RpE@@bUP  8#8R00E*R0E ȃ\L\ p ЍT*T0 06P#00 s 0b;3br&  X%X+8HR0H@0*RH@@b  p 8#8R00G*R0G@ȃ\"*\ࠓࠃ00<H"00 s"\ V!@rP   pV3# 01 0!#\3#010!<!00 s n627B;"~( ^ph&h pB!8HR@G?:@b  p0@8#8R00G(: b .Ƞ%8 8"H 8R:P00U#2P9 N6T3# 01 0!@l`V*R0GRG@T0ERpE@PO-P@T0 U p`M rTT* V"*V0 06$00 s @f)& 0 0b7C;3br&p%P) p'8HRp@pE:@bP 8#8T00E:xp@dP +8HRp@pE*RpE@@bPx  8#8R00E*R0Eȃ\\X*\ࠓࠃ00<8#00 sX\ V!ЍT*T0 06"00 s 0b;3br&  4X%X+8HR 0H@ 0*RH @@b  p 8#8R00G*R0G ȃ\3#010!<!00 s n627B;"~( ^ph&h\ p!8HR@GE:@b J p8#8R00G.: b .Ƞ%8 8"H 8R: 00R#2Pc N`V3# 01 0!`V*T3# 01 0!XR0GRG@T0ERpE@O-P@00 U `p M aT|T V*V0 06$00 0s@f)0&( 0c 0c7C;3 &r) X'8H0U@:@e H8#8U:@e 9+8HU@*U@@e ) 8#8U*UeT\ Ѝ\d*\ࠓࠃ00<H#00 sd\ V![ ppTG*T0 06"00 0s0 0c;3aq& 0UX%X +8HX@*X@@h C  8#88U0*U0e0 V3# 01 0!H'`V*<T3# 01 0!\3#010!<!00 s i62;27By( Ypx'x!8HR0L@0;:@b`|8#8T00F$: @d8#%Ƞ ( Ȍ"!Ȭ T:00[0#02S0[ 39 12)0 40^T0FRL@UU@- p1p11S1@- @p1p11@=AAD-440  0s B@04s4--jOPT_FILEOPT_URLOPT_PORTOPT_PROXYOPT_USERPWDOPT_PROXYUSERPWDOPT_RANGEOPT_INFILEOPT_ERRORBUFFEROPT_WRITEFUNCTIONOPT_READFUNCTIONOPT_TIMEOUTOPT_INFILESIZEOPT_POSTFIELDSOPT_REFEREROPT_FTPPORTOPT_USERAGENTOPT_LOW_SPEED_LIMITOPT_LOW_SPEED_TIMEOPT_RESUME_FROMOPT_COOKIEOPT_HTTPHEADEROPT_HTTPPOSTOPT_SSLCERTOPT_KEYPASSWDOPT_CRLFOPT_QUOTEOPT_WRITEHEADEROPT_COOKIEFILEOPT_SSLVERSIONOPT_TIMECONDITIONOPT_TIMEVALUEOPT_CUSTOMREQUESTOPT_STDERROPT_POSTQUOTEOPT_WRITEINFOOPT_VERBOSEOPT_HEADEROPT_NOPROGRESSOPT_NOBODYOPT_FAILONERROROPT_UPLOADOPT_POSTOPT_DIRLISTONLYOPT_APPENDOPT_NETRCOPT_FOLLOWLOCATIONOPT_TRANSFERTEXTOPT_PUTOPT_PROGRESSFUNCTIONOPT_PROGRESSDATAOPT_AUTOREFEREROPT_PROXYPORTOPT_POSTFIELDSIZEOPT_HTTPPROXYTUNNELOPT_INTERFACEOPT_KRBLEVELOPT_SSL_VERIFYPEEROPT_CAINFOOPT_MAXREDIRSOPT_FILETIMEOPT_TELNETOPTIONSOPT_MAXCONNECTSOPT_CLOSEPOLICYOPT_FRESH_CONNECTOPT_FORBID_REUSEOPT_RANDOM_FILEOPT_EGDSOCKETOPT_CONNECTTIMEOUTOPT_HEADERFUNCTIONOPT_HTTPGETOPT_SSL_VERIFYHOSTOPT_COOKIEJAROPT_SSL_CIPHER_LISTOPT_HTTP_VERSIONOPT_FTP_USE_EPSVOPT_SSLCERTTYPEOPT_SSLKEYOPT_SSLKEYTYPEOPT_SSLENGINEOPT_SSLENGINE_DEFAULTOPT_DNS_USE_GLOBAL_CACHEOPT_DNS_CACHE_TIMEOUTOPT_PREQUOTEOPT_DEBUGFUNCTIONOPT_DEBUGDATAOPT_COOKIESESSIONOPT_CAPATHOPT_BUFFERSIZEOPT_NOSIGNALOPT_SHAREOPT_PROXYTYPEOPT_ENCODINGOPT_PRIVATEOPT_HTTP200ALIASESOPT_UNRESTRICTED_AUTHOPT_FTP_USE_EPRTOPT_HTTPAUTHOPT_SSL_CTX_FUNCTIONOPT_SSL_CTX_DATAOPT_FTP_CREATE_MISSING_DIRSOPT_PROXYAUTHOPT_FTP_RESPONSE_TIMEOUTOPT_IPRESOLVEOPT_MAXFILESIZEOPT_INFILESIZE_LARGEOPT_RESUME_FROM_LARGEOPT_MAXFILESIZE_LARGEOPT_NETRC_FILEOPT_USE_SSLOPT_POSTFIELDSIZE_LARGEOPT_TCP_NODELAYOPT_FTPSSLAUTHOPT_IOCTLFUNCTIONOPT_IOCTLDATAOPT_FTP_ACCOUNTOPT_COOKIELISTOPT_IGNORE_CONTENT_LENGTHOPT_FTP_SKIP_PASV_IPOPT_FTP_FILEMETHODOPT_LOCALPORTOPT_LOCALPORTRANGEOPT_CONNECT_ONLYOPT_CONV_FROM_NETWORK_FUNCTIONOPT_CONV_TO_NETWORK_FUNCTIONOPT_CONV_FROM_UTF8_FUNCTIONOPT_MAX_SEND_SPEED_LARGEOPT_MAX_RECV_SPEED_LARGEOPT_FTP_ALTERNATIVE_TO_USEROPT_SOCKOPTFUNCTIONOPT_SOCKOPTDATAOPT_SSL_SESSIONID_CACHEOPT_SSH_AUTH_TYPESOPT_SSH_PUBLIC_KEYFILEOPT_SSH_PRIVATE_KEYFILEOPT_FTP_SSL_CCCOPT_TIMEOUT_MSOPT_CONNECTTIMEOUT_MSOPT_HTTP_TRANSFER_DECODINGOPT_HTTP_CONTENT_DECODINGOPT_NEW_FILE_PERMSOPT_NEW_DIRECTORY_PERMSOPT_POST301OPT_SSH_HOST_PUBLIC_KEY_MD5OPT_OPENSOCKETFUNCTIONOPT_OPENSOCKETDATAOPT_COPYPOSTFIELDS`'l't''''''+N,N '( '4!'@"'Pdx&'''(')'*','-'/' !,"<4'P5'\7'l8'|)*+,-./02345(60XNHI'\:l;|<=N'O'@Q'DEV'G(H8JLK`\'p]'NoNPQb'c'TUf'$g'0h'@i'PZh[\m'~No'`q'bct'e,v'<w'Hx'\itjkN}'nop qr,uDu\ut'wuyN''' (@TdxNNNuu '<NP'`x'',@Xd'N''NETRC_IGNOREDNETRC_OPTIONALNETRC_REQUIRED`pAUTH_NONEAUTH_BASICAUTH_DIGESTAUTH_GSSNEGOTIATEAUTH_NTLMAUTH_ANYAUTH_ANYSAFEHTTP_VERSION_NONEHTTP_VERSION_1_0HTTP_VERSION_1_1PdxFTPSSL_NONEFTPSSL_TRYFTPSSL_CONTROLFTPSSL_ALLCLOSEPOLICY_LEAST_RECENTLY_USEDCLOSEPOLICY_OLDEST(IPRESOLVE_WHATEVERIPRESOLVE_V4IPRESOLVE_V6ThxPROXY_HTTPPROXY_SOCKS5FORM_COPYNAMEFORM_PTRNAMEFORM_NAMELENGTHFORM_COPYCONTENTSFORM_PTRCONTENTSFORM_CONTENTSLENGTHFORM_FILECONTENTFORM_ARRAYFORM_OBSOLETEFORM_FILEFORM_BUFFERFORM_BUFFERPTRFORM_BUFFERLENGTHFORM_CONTENTTYPEFORM_CONTENTHEADERFORM_FILENAMEFORM_ENDFORM_OBSOLETE2  4H\h x    curleasy.typecurleasy expectedUnsupported string in bagExpecting a %s value, got %sExpecting a %s value, got something elseExpecting a %s value, got nothingexpecting a tablethis table must be a string listthis table is a list, keys must be unusedperform wants 1 argument (self)we expect the callback to have a curl handler on the stackwe expect the callback to return 2 argumentshead_cb must return: (number,errror_message or nil) but the first one is not a numberread_cb must return: (number,errror_message or nil) but the first one is not a numberread_rc must return a size <= than the number that received in inputread_cb must return a string as the second value, not a %sread_cb must return a size and a string, and the size must be the string sizeexpecting a table, got %sCURLformoptionincomplete FORM, value missednot implemented, use CURLFORM_CONTENTTYPE insteadYou can't use CURLFORM_ARRAYinvalid CURLFORM_You must end a form with CURLFORM_ENDthe FormInfo allocation failsone option is given twice for one Forma null pointer was given for a charan unknown option was usedsome FormInfo is not complete (or error)an illegal option is used in an array (internal)Unknown errorInvalid form '%s'CURLoptionsetopt wants 3 argument (self,opt,val)not used, lua returns the error string as the second arg if something failsFIX: Not implementedNot implementedExpecting a function%sThis option must not be used,use Lua's lexical scoping closure insteadCURL_NETRC_OPTIONCURLAUTH_*CURL_HTTP_VERSION_*CURLFTPSSL_*CURLCLOSEPOLICY_*CURL_IPRESOLVE_*CURLPROXY_*not implementedinvalid CURLOPT_setopt: '%s'curl_easy_init() returned NULLunable to call CURLOPT_ERRORBUFFER (%d)escape wants 1 argument (string)unescape wants 1 argument (string)version wants no argumentsversion_info wants no argumentsversionversion_numhostssl_versionssl_version_numfeatureslibz_versionprotocolsneasy_initescapeunescapeversion_infol0setoptperform<__gc__indexcurl%slua stack image: L: %sstack(%2d) : %s: "%s" %5.3f truefalse %s nil ?? %sstack( 0) : --bottom-- expecting a table, not a %sStack has %d values: '%s'Argument %d is %s, expected is lightuserdata.gifimage/gif.jpgimage/jpeg.jpeg.txttext/plain.htmltext/htmlapplication/octet-streamrb----------------------------Content-Type: multipart/form-data%s; boundary=%s --%s Content-Disposition: form-data; name=" Content-Type: multipart/mixed, boundary=%s --%s Content-Disposition: attachment; filename="%s"; filename="%s" Content-Type: %s %s --%s-- --%s-- $08D8LT`habcdef0123456789* < > { } fromDataHeaderto[%s %s %s]Failed writing bodyFailed writing headerSend failure: %s arm-unknown-linux-gnutftpftptelnetdicthttplibcurl/7.17.1D%%%02X0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz(nil)(nil)%+ #%ld.%ldInternal error clearing splay node = %d Expire cleared Internal error removing splay node = %d Pipe broke: handle 0x%x, url = %s Delayed kill of easy handle %p Error in the SSH layerUnknown errorNo errorUnsupported protocolFailed initializationURL using bad/illegal format or missing URLCouldn't resolve proxy nameCouldn't resolve host nameCouldn't connect to serverFTP: weird server replyAccess denied to remote resourceFTP: unknown PASS replyFTP: unknown PASV replyFTP: unknown 227 response formatFTP: can't figure out the host in the PASV responseFTP: couldn't set file typeTransferred a partial fileFTP: couldn't retrieve (RETR failed) the specified fileQuote command returned errorHTTP response code said errorFailed writing received data to disk/applicationUpload failed (at start/before it took off)Failed to open/read local data from file/applicationOut of memoryTimeout was reachedFTP: command PORT failedFTP: command REST failedRequested range was not delivered by the serverInternal problem setting up the POSTSSL connect errorCouldn't resume downloadCouldn't read a file:// fileLDAP: cannot bindLDAP: search failedA required function in the library was not foundOperation was aborted by an application callbackA libcurl function was given a bad argumentFailed binding local connection endNumber of redirects hit maximum amountUser specified an unknown telnet optionMalformed telnet optionSSL peer certificate or SSH md5 fingerprint was not OKServer returned nothing (no headers, no data)SSL crypto engine not foundCan not set SSL crypto engine as defaultFailed to initialise SSL crypto engineFailed sending data to the peerFailure when receiving data from the peerProblem with the local SSL certificateCouldn't use specified SSL cipherPeer certificate cannot be authenticated with known CA certificatesProblem with the SSL CA cert (path? access rights?)Unrecognized HTTP Content-EncodingInvalid LDAP URLMaximum file size exceededRequested SSL level failedFailed to shut down the SSL connectionSend failed since rewinding of the data stream failedLogin deniedTFTP: File Not FoundTFTP: Access ViolationDisk full or allocation exceededTFTP: Illegal operationTFTP: Unknown transfer IDRemote file already existsTFTP: No such userConversion failedCaller must register CURLOPT_CONV_ callback optionsRemote file not foundUnknown optionPlease call curl_multi_perform() soonInvalid multi handleInvalid easy handleInternal errorInvalid socket argumentCURLSHcode unknownUnknown share optionShare currently in useInvalid share handleUnknown error %d%s:%dname lookup timed out--:--:--%2ld:%02ld:%02ld%3ldd %02ldh%7ldd%5lld%4lldk%2d.%0dM%4lldM%2d.%0dG%4dG%4dT%4dPCallback aborted** Resuming transfer from byte position %lld %% Total %% Received %% Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed %3d %s %3d %s %3d %s %s %s %s %s %s %sunknownTRUEFALSE%s%s %s %s %s %lld %s %sw# Netscape HTTP Cookie File # http://curlm.haxx.se/rfc/cookie_spec.html # This file was generated by libcurl! Edit at your own risk. # # Fatal libcurl error %s %1023[^;=]=%4999[^; ]pathdomainskipped cookie with illegal dotcount domain: %s skipped cookie with bad tailmatch domain: %s versionmax-ageexpires%4999[^; ]secure ReplacedAdded%s cookie %s="%s" for domain %s, path %s, expire %d noneSet-Cookie:%sAuthorization: Basic %s HTTP%s:%sProxy-NTLM send, close instead of sending %lld bytes The requested URL returned error: %dProxy-authorization:BasicDigestProxy auth using %s with user '%s' Authorization:Server auth using %s with user '%s' Ignoring duplicate digest auth header. Authentication problem. Ignoring this. Host:Content-Type:Establish HTTP proxy tunnel to %s:%d CONNECTHost: %s Proxy-Connection:Proxy-Connection: Keep-Alive User-Agent:CONNECT %s:%d HTTP/1.0 %s%s%s%sFailed sending CONNECT to proxyProxy CONNECT aborted due to timeoutProxy CONNECT aborted due to select/poll errorProxy CONNECT abortedchunk reading DONE Read %d bytes of chunk, continue Ignore %lld bytes of response-body %d bytes of chunk left WWW-Authenticate:Proxy-authenticate:Content-Length:Connection:closeTransfer-Encoding:chunkedCONNECT responded chunked HTTP/1.%d %dReceived HTTP code %d from proxy after CONNECTProxy replied OK to CONNECT request Empty reply from serverExpect:Expect: 100-continue HEADGETPUTReferer:Referer: %s Accept-Encoding:Accept-Encoding: %s Transfer-Encoding: chunked [Host: %s%s%s Host: %s%s%s:%d ftp://ftps://;type=;type=%cfailed creating formpost dataPragma:Pragma: no-cache Accept:Accept: */* Could only read %lld bytes from the inputFile already completely uploadedRange: bytes=%s Content-Range:Content-Range: bytes %s%lld/%lld Content-Range: bytes %s/%lld 1.01.1%s %s%s HTTP/%s %s%s%s%s%s%s%s%s%s%s%s; Cookie: %s%s=%s%s, %02d %s %4d %02d:%02d:%02d GMTIf-Modified-Since: %s If-Unmodified-Since: %s Last-Modified: %s Content-Length: 0 Failed sending POST requestInternal HTTP POST error!Content-Length: %lld Could not get Content-Type header line!Failed sending PUT requestContent-Type: application/x-www-form-urlencoded %x 0 Failed sending HTTP POST requestFailed sending HTTP request<%PAbout to connect() to %s%s port %d (#%d) unknown proxytype option givenWARNING: failed to save cookies in %s Closing connection #%ld identityALLSESSFLUSHConnection (#%d) was killed to make room (holds %d) This connection did not fit in the connection cache Connected to %s (%s) port %d (#%d) %lld-User-Agent: %s proxy Connection #%ld to host %s left intact %15[^:]:%[^ ]%15[^ :]://%[^ /]%[^ ]%[^ /]%[^ ] malformedFTP.DICT.DICTLDAP.LDAP%255[^:]:%255[^ ]memory shortageno_proxyNO_PROXY*, http_proxyall_proxyALL_PROXY%s://%sProtocol %s not supported or disabled in libcurl%255[^:]:%255[^@]FILE%255[^:@]:%255[^@][%*39[0-9a-fA-F:.]%c%s://%s:%d%sPort number too large: %luCouldn't find host %s in the .netrc file, using defaults anonymousftp@example.comConnection #%ld isn't open enough, can't reuse Connection #%ld has its pipeline full, can't reuse Connection #%ld has different SSL parameters, can't reuse Connection #%d seems to be dead! Re-using existing connection! (#%ld) with host %s Couldn't resolve host '%s'Couldn't resolve proxy '%s'Previous alarm fired off!Re-used connection seems dead, get a new one -/MATCH:/M:/FIND:lookup word is missingdefaultCLIENT libcurl 7.17.1 MATCH %s %s %s QUIT Failed sending DICT request/DEFINE:/D:/LOOKUP:CLIENT libcurl 7.17.1 DEFINE %s %s QUIT CLIENT libcurl 7.17.1 %s QUIT D/D @TELNETBINARYECHORCPSUPPRESS GO AHEADNAMESTATUSTIMING MARKRCTENAOLNAOPNAOCRDNAOHTSNAOHTDNAOFFDNAOVTSNAOVTDNAOLFDEXTEND ASCIILOGOUTBYTE MACRODE TERMINALSUPDUPSUPDUP OUTPUTSEND LOCATIONTERM TYPEEND OF RECORDTACACS UIDOUTPUT MARKINGTTYLOC3270 REGIMEX3 PADNAWSTERM SPEEDLFLOWLINEMODEXDISPLOCOLD-ENVIRONAUTHENTICATIONENCRYPTNEW-ENVIRONEOFSUSPABORTEORSENOPDMARKBRKIPAOAYTECELGASBWILLWONTDODONTIAC%s IAC %s %s IAC %d EXOPL%s %s %s %s %s %d %s %d %d Sending data failed (%d)SENTRCVD%s IAC SB (terminated by %s %d , not IAC SE!) (Empty suboption?)%s (unsupported)%d (unknown) IS SEND INFO/REPLY NAME "%s" = %.2x%c%c%c%c%s%c%c%c%c%c%c%127[^,],%127s%c%s%c%sUSER,%s%127[^= ]%*[ =]%255sTTYPENEW_ENVUnknown telnet option %sSyntax error in telnet option: %sIn SUBOPTION processing, RCVDTime-out4x4 44444445 555$5,545<5D5L5T5d5l5x555555555556666(646@6P6X6d6h6p6x6|6666666666666666HOME%s%s%s.netrc machineloginpasswordoperation aborted by callback HTTP/the ioctl callback returned %d ioctl callback returned error %d necessary data rewind wasn't possible No URL set! Maximum (%d) redirects followed%15[^?&/:]://%cIssue another request to this URL: '%s' Violate RFC 2616/10.3.2 and switch from POST to GET Disables POST, goes with %s Connection died, retrying a fresh connect select/poll returned errorFailed to alloc memory for big header!no chunk, no close, no size. Assume close to signal end Keep sending data to get tossed away! HTTP/%d.%d %3d HTTP %3dHTTP 1.0, assume close after body Negative content-length: %lld, closing after transfer keep-aliveHTTP/1.0 proxy connection set to keep alive! HTTP/1.1 proxy connection set close! HTTP/1.0 connection set to keep alive! Trailer:Trailers:Content-Encoding:deflategzipx-gzipcompressx-compressLast-Modified:Location:Ignoring the response-body HTTP server doesn't seem to support byte ranges. Cannot resume.The requested document is not new enough The requested document is not old enough Failed writing dataReceived problem %d in the chunky parserLeftovers after chunking. Rewinding %d bytes Rewinding stream by : %d bytes on url %s (size = %lld, maxdownload = %lld, bytecount = %lld, nread = %d) Failed to alloc scratch buffer!Operation timed out after %ld milliseconds with %lld out of %lld bytes receivedOperation timed out after %ld milliseconds with %lld bytes receivedtransfer closed with %lld bytes remaining to readtransfer closed with outstanding read data remainingunspecified error %d Trying %s... tcpCould not set TCP_NODELAY: %s TCP_NODELAY set Couldn't bind to '%s'Bind local address to %s SO_BINDTODEVICE %s failed couldn't find my own IP address (%s)getsockname() failedLocal port: %d Bind to local port %d failed, trying next bind failure: %sFailed to connect to %s: %sconnected Timeout Connection time-out after %ld msConnection failed Failed connect to %s:%d; %sConnection time-outconnect() timed out!couldn't connect to host%06ld%s:%s:%sauth-int%s:%s:%08x:%s:%s:%s%sAuthorization: Digest username="%s", realm="%s", nonce="%s", uri="%s", cnonce="%s", nc=%08x, qop="%s", response="%s"auth%sAuthorization: Digest username="%s", realm="%s", nonce="%s", uri="%s", response="%s"%s, opaque="%s"%s, algorithm="%s"%02x%31[^=]="%127[^"]"%31[^=]=%127[^ ,]noncestaletruerealmopaqueqop,algorithmMD5-sessMD5getaddrinfo(3) failed for %s:%d %lxJanFebMarAprMayJunJulAugSepOctNovDecMonTueWedThuFriSatSunMondayTuesdayWednesdayThursdayFridaySaturdaySundayUTCWETBSTWATASTADTESTEDTCSTCDTMSTMDTPSTPDTYSTYDTHSTHDTCATAHSTNTIDLWCETMETMEWTMESTCESTMESZFWTFSTEETWASTWADTCCTJSTEASTEADTGSTNZTNZSTNZDTIDLE%31[A-Za-z]%02d:%02d:%02dEEEEEEEEEEEEEEEEEEEEEEEEFF[FF F$F<(F,F0F,4F8Fh /mnt/OSD/registry.lua.dat export PKGROOT=$PWD export PATH=$PATH:$PWD/bin export LUA_PATH=$PWD'/lib/lua/?.lua' export LUA_CPATH=$PWD'/lib/lua/?.so' echo "Done"