summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES.txt12
-rw-r--r--backend/dnssd.c11
-rw-r--r--backend/usb-darwin.c95
-rw-r--r--cgi-bin/admin.c26
-rw-r--r--conf/cupsd.conf.in1
-rw-r--r--config-scripts/cups-3264.m46
-rw-r--r--config-scripts/cups-common.m414
-rw-r--r--config-scripts/cups-compiler.m428
-rw-r--r--config-scripts/cups-defaults.m442
-rw-r--r--config-scripts/cups-dnssd.m44
-rw-r--r--config-scripts/cups-gssapi.m44
-rw-r--r--config-scripts/cups-image.m410
-rw-r--r--config-scripts/cups-launchd.m44
-rw-r--r--config-scripts/cups-ldap.m44
-rw-r--r--config-scripts/cups-libtool.m411
-rw-r--r--config-scripts/cups-pam.m46
-rw-r--r--config-scripts/cups-pap.m46
-rw-r--r--config-scripts/cups-pdf.m453
-rw-r--r--config-scripts/cups-sharedlibs.m44
-rw-r--r--config-scripts/cups-slp.m44
-rw-r--r--config-scripts/cups-ssl.m412
-rw-r--r--config-scripts/cups-threads.m44
-rw-r--r--cups/dest.c2
-rw-r--r--cups/http-support.c2
-rw-r--r--cups/testi18n.c128
-rw-r--r--cups/transcode.c6
-rw-r--r--data/jis-x0213.txt4515
-rw-r--r--locale/cups_es.po6
-rw-r--r--scheduler/auth.c7
-rw-r--r--scheduler/client.c14
-rw-r--r--scheduler/cupsfilter.c6
-rw-r--r--scheduler/ipp.c2
-rw-r--r--scheduler/log.c2
-rw-r--r--scheduler/main.c13
-rw-r--r--scheduler/printers.c73
-rw-r--r--scheduler/process.c33
-rw-r--r--systemv/lpstat.c4
37 files changed, 4916 insertions, 258 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index da915692f..79389b100 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,9 +1,19 @@
-CHANGES.txt - 2009-02-03
+CHANGES.txt - 2009-02-10
------------------------
CHANGES IN CUPS V1.4b3
- Documentation fixes (STR #3044, STR #3057)
+ - Clicking on "Select Another Make/Manufacturer" in the web interface
+ incorrectly added the printer (STR #3095)
+ - The scheduler no longer uses programs with insecure file
+ permissions.
+ - httpAssembleURI*() did not escape backslashes in hostnames.
+ - The dnssd backend did not unquote "full names" before creating the
+ device URI.
+ - The scheduler now supports JobRetryInterval values less than 10
+ seconds.
+ - Updated the Spanish localization (STR #3090)
- The scheduler did not redo Bonjour/DNS-SD registrations when updating
them failed.
- The "authenticated" policy incorrectly required authentication for
diff --git a/backend/dnssd.c b/backend/dnssd.c
index ec32bba48..97c0d6071 100644
--- a/backend/dnssd.c
+++ b/backend/dnssd.c
@@ -3,7 +3,7 @@
*
* DNS-SD discovery backend for the Common UNIX Printing System (CUPS).
*
- * Copyright 2008 by Apple Inc.
+ * Copyright 2008-2009 by Apple Inc.
*
* These coded instructions, statements, and computer programs are the
* property of Apple Inc. and are protected by Federal copyright
@@ -122,6 +122,7 @@ main(int argc, /* I - Number of command-line args */
struct timeval timeout; /* Timeout for select() */
cups_array_t *devices; /* Device array */
cups_device_t *device; /* Current device */
+ char uriName[1024]; /* Unquoted fullName for URI */
/*
@@ -297,8 +298,10 @@ main(int argc, /* I - Number of command-line args */
else if (strcasecmp(best->name, device->name) ||
strcasecmp(best->domain, device->domain))
{
+ unquote(uriName, best->fullName, sizeof(uriName));
+
httpAssembleURI(HTTP_URI_CODING_ALL, device_uri, sizeof(device_uri),
- schemes[best->type], NULL, best->fullName, 0,
+ schemes[best->type], NULL, uriName, 0,
best->cups_shared ? "/cups" : "/");
cupsBackendReport("network", device_uri, best->make_and_model,
@@ -319,8 +322,10 @@ main(int argc, /* I - Number of command-line args */
if (best)
{
+ unquote(uriName, best->fullName, sizeof(uriName));
+
httpAssembleURI(HTTP_URI_CODING_ALL, device_uri, sizeof(device_uri),
- schemes[best->type], NULL, best->fullName, 0,
+ schemes[best->type], NULL, uriName, 0,
best->cups_shared ? "/cups" : "/");
cupsBackendReport("network", device_uri, best->make_and_model,
diff --git a/backend/usb-darwin.c b/backend/usb-darwin.c
index 23b7baecd..fe2dabdd3 100644
--- a/backend/usb-darwin.c
+++ b/backend/usb-darwin.c
@@ -1,7 +1,7 @@
/*
* "$Id: usb-darwin.c 7953 2008-09-17 01:43:19Z mike $"
*
-* Copyright 2005-2008 Apple Inc. All rights reserved.
+* Copyright 2005-2009 Apple Inc. All rights reserved.
*
* IMPORTANT: This Apple software is supplied to you by Apple Computer,
* Inc. ("Apple") in consideration of your agreement to the following
@@ -1241,56 +1241,83 @@ static kern_return_t load_classdriver(CFStringRef driverPath,
printer_interface_t intf,
classdriver_t ***printerDriver)
{
- kern_return_t kr = kUSBPrinterClassDeviceNotOpen;
- classdriver_t **driver = NULL;
- CFStringRef bundle = (driverPath == NULL ? kUSBGenericTOPrinterClassDriver : driverPath);
+ kern_return_t kr = kUSBPrinterClassDeviceNotOpen;
+ classdriver_t **driver = NULL;
+ CFStringRef bundle = driverPath ? driverPath : kUSBGenericTOPrinterClassDriver;
+ char bundlestr[1024]; /* Bundle path */
+ struct stat bundleinfo; /* File information for bundle */
+ CFURLRef url; /* URL for driver */
+ CFPlugInRef plugin = NULL; /* Plug-in address */
- if (bundle != NULL)
+
+ CFStringGetCString(bundle, bundlestr, sizeof(bundlestr), kCFStringEncodingUTF8);
+
+ /*
+ * Validate permissions for the class driver...
+ */
+
+ if (stat(bundlestr, &bundleinfo))
{
- CFURLRef url = CFURLCreateWithFileSystemPath(NULL, bundle, kCFURLPOSIXPathStyle, true);
- CFPlugInRef plugin = (url != NULL ? CFPlugInCreate(NULL, url) : NULL);
+ fprintf(stderr, "Unable to load class driver \"%s\": %s", bundlestr,
+ strerror(errno));
+ return (kr);
+ }
+ else if (bundleinfo.st_mode & S_IWOTH)
+ {
+ fprintf(stderr, "Unable to load class driver \"%s\": insecure file "
+ "permissions (0%o)", bundlestr, bundleinfo.st_mode);
+ return (kr);
+ }
+
+ /*
+ * Try loading the class driver...
+ */
- if (url != NULL)
- CFRelease(url);
+ url = CFURLCreateWithFileSystemPath(NULL, bundle, kCFURLPOSIXPathStyle, true);
- if (plugin != NULL)
+ if (url)
+ {
+ plugin = CFPlugInCreate(NULL, url);
+ CFRelease(url);
+ }
+ else
+ plugin = NULL;
+
+ if (plugin)
+ {
+ CFArrayRef factories = CFPlugInFindFactoriesForPlugInTypeInPlugIn(kUSBPrinterClassTypeID, plugin);
+ if (factories != NULL && CFArrayGetCount(factories) > 0)
{
- CFArrayRef factories = CFPlugInFindFactoriesForPlugInTypeInPlugIn(kUSBPrinterClassTypeID, plugin);
- if (factories != NULL && CFArrayGetCount(factories) > 0)
+ CFUUIDRef factoryID = CFArrayGetValueAtIndex(factories, 0);
+ IUnknownVTbl **iunknown = CFPlugInInstanceCreate(NULL, factoryID, kUSBPrinterClassTypeID);
+ if (iunknown != NULL)
{
- CFUUIDRef factoryID = CFArrayGetValueAtIndex(factories, 0);
- IUnknownVTbl **iunknown = CFPlugInInstanceCreate(NULL, factoryID, kUSBPrinterClassTypeID);
- if (iunknown != NULL)
+ kr = (*iunknown)->QueryInterface(iunknown, CFUUIDGetUUIDBytes(kUSBPrinterClassInterfaceID), (LPVOID *)&driver);
+ if (kr == kIOReturnSuccess && driver != NULL)
{
- kr = (*iunknown)->QueryInterface(iunknown, CFUUIDGetUUIDBytes(kUSBPrinterClassInterfaceID), (LPVOID *)&driver);
- if (kr == kIOReturnSuccess && driver != NULL)
- {
- classdriver_t **genericDriver = NULL;
- if (driverPath != NULL && CFStringCompare(driverPath, kUSBGenericTOPrinterClassDriver, 0) != kCFCompareEqualTo)
- kr = load_classdriver(NULL, intf, &genericDriver);
+ classdriver_t **genericDriver = NULL;
+ if (driverPath != NULL && CFStringCompare(driverPath, kUSBGenericTOPrinterClassDriver, 0) != kCFCompareEqualTo)
+ kr = load_classdriver(NULL, intf, &genericDriver);
- if (kr == kIOReturnSuccess)
- {
- (*driver)->interface = intf;
- (*driver)->Initialize(driver, genericDriver);
+ if (kr == kIOReturnSuccess)
+ {
+ (*driver)->interface = intf;
+ (*driver)->Initialize(driver, genericDriver);
- (*driver)->plugin = plugin;
- (*driver)->interface = intf;
- *printerDriver = driver;
- }
+ (*driver)->plugin = plugin;
+ (*driver)->interface = intf;
+ *printerDriver = driver;
}
- (*iunknown)->Release(iunknown);
}
- CFRelease(factories);
+ (*iunknown)->Release(iunknown);
}
+ CFRelease(factories);
}
}
- char bundlestr[1024];
- CFStringGetCString(bundle, bundlestr, sizeof(bundlestr), kCFStringEncodingUTF8);
fprintf(stderr, "DEBUG: load_classdriver(%s) (kr:0x%08x)\n", bundlestr, (int)kr);
- return kr;
+ return (kr);
}
diff --git a/cgi-bin/admin.c b/cgi-bin/admin.c
index b0b3ae23e..9c3e67a8a 100644
--- a/cgi-bin/admin.c
+++ b/cgi-bin/admin.c
@@ -1057,9 +1057,10 @@ do_am_printer(http_t *http, /* I - HTTP connection */
return;
}
- else if (!file && !cgiGetVariable("PPD_NAME"))
+ else if (!file &&
+ (!cgiGetVariable("PPD_NAME") || cgiGetVariable("SELECT_MAKE")))
{
- if (modify)
+ if (modify && !cgiGetVariable("SELECT_MAKE"))
{
/*
* Get the PPD file...
@@ -1136,7 +1137,7 @@ do_am_printer(http_t *http, /* I - HTTP connection */
if ((var = cgiGetVariable("CURRENT_MAKE")) == NULL)
var = cgiGetVariable("PPD_MAKE");
- if (var)
+ if (var && !cgiGetVariable("SELECT_MAKE"))
{
const char *make_model; /* Make and model */
@@ -1144,8 +1145,7 @@ do_am_printer(http_t *http, /* I - HTTP connection */
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_TEXT,
"ppd-make", NULL, var);
- if ((make_model = cgiGetVariable("CURRENT_MAKE_AND_MODEL")) != NULL &&
- !cgiGetVariable("SELECT_MAKE"))
+ if ((make_model = cgiGetVariable("CURRENT_MAKE_AND_MODEL")) != NULL)
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_TEXT,
"ppd-make-and-model", NULL, make_model);
}
@@ -1457,14 +1457,18 @@ do_config_server(http_t *http) /* I - HTTP connection */
*share_printers,/* SHARE_PRINTERS value */
*user_cancel_any,
/* USER_CANCEL_ANY value */
- *browse_web_if, /* BrowseWebIF value */
- *preserve_job_history,
+ *browse_web_if = NULL,
+ /* BrowseWebIF value */
+ *preserve_job_history = NULL,
/* PreserveJobHistory value */
- *preserve_job_files,
+ *preserve_job_files = NULL,
/* PreserveJobFiles value */
- *max_clients, /* MaxClients value */
- *max_jobs, /* MaxJobs value */
- *max_log_size; /* MaxLogSize value */
+ *max_clients = NULL,
+ /* MaxClients value */
+ *max_jobs = NULL,
+ /* MaxJobs value */
+ *max_log_size = NULL;
+ /* MaxLogSize value */
char local_protocols[255],
/* BrowseLocalProtocols */
remote_protocols[255];
diff --git a/conf/cupsd.conf.in b/conf/cupsd.conf.in
index 2db713576..63ea89e76 100644
--- a/conf/cupsd.conf.in
+++ b/conf/cupsd.conf.in
@@ -34,7 +34,6 @@ DefaultAuthType Basic
# Restrict access to the admin pages...
<Location /admin>
-@ENCRYPTION_REQUIRED@
Order allow,deny
</Location>
diff --git a/config-scripts/cups-3264.m4 b/config-scripts/cups-3264.m4
index 46d85f38b..43c466487 100644
--- a/config-scripts/cups-3264.m4
+++ b/config-scripts/cups-3264.m4
@@ -3,7 +3,7 @@ dnl "$Id$"
dnl
dnl 32/64-bit library support stuff for the Common UNIX Printing System (CUPS).
dnl
-dnl Copyright 2007 by Apple Inc.
+dnl Copyright 2007-2009 by Apple Inc.
dnl Copyright 1997-2006 by Easy Software Products, all rights reserved.
dnl
dnl These coded instructions, statements, and computer programs are the
@@ -14,7 +14,7 @@ dnl file is missing or damaged, see the license at "http://www.cups.org/".
dnl
dnl Setup support for separate 32/64-bit library generation...
-AC_ARG_ENABLE(32bit, [ --enable-32bit generate 32-bit libraries on 32/64-bit systems, default=no])
+AC_ARG_ENABLE(32bit, [ --enable-32bit generate 32-bit libraries on 32/64-bit systems])
INSTALL32=""
LIB32CUPS=""
@@ -28,7 +28,7 @@ AC_SUBST(LIB32CUPSIMAGE)
AC_SUBST(LIB32DIR)
AC_SUBST(UNINSTALL32)
-AC_ARG_ENABLE(64bit, [ --enable-64bit generate 64-bit libraries on 32/64-bit systems, default=no])
+AC_ARG_ENABLE(64bit, [ --enable-64bit generate 64-bit libraries on 32/64-bit systems])
INSTALL64=""
LIB64CUPS=""
diff --git a/config-scripts/cups-common.m4 b/config-scripts/cups-common.m4
index 8fcc1fb85..ed68d9c3c 100644
--- a/config-scripts/cups-common.m4
+++ b/config-scripts/cups-common.m4
@@ -78,7 +78,7 @@ fi
dnl Static library option...
INSTALLSTATIC=""
-AC_ARG_ENABLE(static, [ --enable-static install static libraries, default=no])
+AC_ARG_ENABLE(static, [ --enable-static install static libraries])
if test x$enable_static = xyes; then
echo Installing static libraries...
@@ -92,7 +92,7 @@ AC_SEARCH_LIBS(crypt, crypt)
AC_SEARCH_LIBS(getspent, sec gen)
LIBMALLOC=""
-AC_ARG_ENABLE(mallinfo, [ --enable-mallinfo turn on malloc debug information, default=no])
+AC_ARG_ENABLE(mallinfo, [ --enable-mallinfo build with malloc debug logging])
if test x$enable_mallinfo = xyes; then
SAVELIBS="$LIBS"
@@ -105,7 +105,7 @@ fi
AC_SUBST(LIBMALLOC)
dnl Check for libpaper support...
-AC_ARG_ENABLE(libpaper, [ --enable-libpaper turn on libpaper support, default=no])
+AC_ARG_ENABLE(libpaper, [ --enable-libpaper build with libpaper support])
if test x$enable_libpaper = xyes; then
AC_CHECK_LIB(paper,systempapername,
@@ -180,7 +180,7 @@ dnl See if we have the removefile(3) function for securely removing files
AC_CHECK_FUNCS(removefile)
dnl See if we have libusb...
-AC_ARG_ENABLE(libusb, [ --enable-libusb use libusb for USB printing, default=auto])
+AC_ARG_ENABLE(libusb, [ --enable-libusb use libusb for USB printing])
LIBUSB=""
AC_SUBST(LIBUSB)
@@ -201,7 +201,7 @@ if test $check_libusb = yes; then
fi
dnl See if we have libwrap for TCP wrappers support...
-AC_ARG_ENABLE(tcp_wrappers, [ --enable-tcp-wrappers use libwrap for TCP wrappers support, default=no])
+AC_ARG_ENABLE(tcp_wrappers, [ --enable-tcp-wrappers use libwrap for TCP wrappers support])
LIBWRAP=""
AC_SUBST(LIBWRAP)
@@ -234,7 +234,7 @@ AC_SUBST(CUPSDLIBS)
dnl See if we have POSIX ACL support...
SAVELIBS="$LIBS"
LIBS=""
-AC_ARG_ENABLE(acl, [ --enable-acl enable POSIX ACL support, default=auto])
+AC_ARG_ENABLE(acl, [ --enable-acl build with POSIX ACL support])
if test "x$enable_acl" != xno; then
AC_SEARCH_LIBS(acl_init, acl, AC_DEFINE(HAVE_ACL_INIT))
CUPSDLIBS="$CUPSDLIBS $LIBS"
@@ -248,7 +248,7 @@ else
DBUSDIR=""
fi
-AC_ARG_ENABLE(dbus, [ --enable-dbus enable DBUS support, default=auto])
+AC_ARG_ENABLE(dbus, [ --enable-dbus build with DBUS support])
AC_ARG_WITH(dbusdir, [ --with-dbusdir set DBUS configuration directory ],
DBUSDIR="$withval")
diff --git a/config-scripts/cups-compiler.m4 b/config-scripts/cups-compiler.m4
index c33d9a5e2..b51d7cc5c 100644
--- a/config-scripts/cups-compiler.m4
+++ b/config-scripts/cups-compiler.m4
@@ -20,11 +20,11 @@ OPTIM=""
AC_SUBST(INSTALL_STRIP)
AC_SUBST(OPTIM)
-AC_ARG_WITH(optim, [ --with-optim="flags" set optimization flags ])
-AC_ARG_ENABLE(debug, [ --enable-debug turn on debugging, default=no])
-AC_ARG_ENABLE(debug_guards, [ --enable-debug-guards turn on debug guards, default=no])
-AC_ARG_ENABLE(debug_printfs, [ --enable-debug-printfs turn on debug printfs, default=no])
-AC_ARG_ENABLE(unit_tests, [ --enable-unit-tests turn on unit tests, default=no])
+AC_ARG_WITH(optim, [ --with-optim set optimization flags ])
+AC_ARG_ENABLE(debug, [ --enable-debug build with debugging symbols])
+AC_ARG_ENABLE(debug_guards, [ --enable-debug-guards build with memory allocation guards])
+AC_ARG_ENABLE(debug_printfs, [ --enable-debug-printfs build with CUPS_DEBUG_LOG support])
+AC_ARG_ENABLE(unit_tests, [ --enable-unit-tests build and run unit tests])
dnl For debugging, keep symbols, otherwise strip them...
if test x$enable_debug = xyes; then
@@ -53,10 +53,8 @@ fi
AC_SUBST(UNITTESTS)
dnl Setup general architecture flags...
-AC_ARG_WITH(archflags, [ --with-archflags="flags"
- set default architecture flags ])
-AC_ARG_WITH(ldarchflags, [ --with-ldarchflags="flags"
- set default program architecture flags ])
+AC_ARG_WITH(archflags, [ --with-archflags set default architecture flags ])
+AC_ARG_WITH(ldarchflags, [ --with-ldarchflags set program architecture flags ])
if test -z "$with_archflags"; then
ARCHFLAGS=""
@@ -79,18 +77,16 @@ AC_SUBST(ARCHFLAGS)
AC_SUBST(LDARCHFLAGS)
dnl Setup support for separate 32/64-bit library generation...
-AC_ARG_WITH(arch32flags, [ --with-arch32flags="flags"
- specifies 32-bit architecture flags])
+AC_ARG_WITH(arch32flags, [ --with-arch32flags set 32-bit architecture flags])
ARCH32FLAGS=""
AC_SUBST(ARCH32FLAGS)
-AC_ARG_WITH(arch64flags, [ --with-arch64flags="flags"
- specifies 64-bit architecture flags])
+AC_ARG_WITH(arch64flags, [ --with-arch64flags set 64-bit architecture flags])
ARCH64FLAGS=""
AC_SUBST(ARCH64FLAGS)
dnl Read-only data/program support on Linux...
-AC_ARG_ENABLE(relro, [ --enable-relro use GCC relro option, default=no])
+AC_ARG_ENABLE(relro, [ --enable-relro build with the GCC relro option])
dnl Update compiler options...
CXXLIBS="${CXXLIBS:=}"
@@ -103,7 +99,7 @@ RELROFLAGS=""
AC_SUBST(RELROFLAGS)
LIBCUPSORDER="libcups.order"
-AC_ARG_WITH(libcupsorder, [ --with-libcupsorder libcups secorder file, default=libcups.order],
+AC_ARG_WITH(libcupsorder, [ --with-libcupsorder set libcups secorder file, default=libcups.order],
if test -f "$withval"; then
LIBCUPSORDER="$withval"
fi)
@@ -111,7 +107,7 @@ AC_SUBST(LIBCUPSORDER)
LIBCUPSIMAGEORDER="libcupsimage.order"
AC_ARG_WITH(libcupsimageorder, [ --with-libcupsimagesorder
- libcupsimage secorder file, default=libcupsimage.order],
+ set libcupsimage secorder file, default=libcupsimage.order],
if test -f "$withval"; then
LIBCUPSIMAGEORDER="$withval"
fi)
diff --git a/config-scripts/cups-defaults.m4 b/config-scripts/cups-defaults.m4
index a0c365ad3..53359e2a9 100644
--- a/config-scripts/cups-defaults.m4
+++ b/config-scripts/cups-defaults.m4
@@ -4,7 +4,7 @@ dnl
dnl Default cupsd configuration settings for the Common UNIX Printing System
dnl (CUPS).
dnl
-dnl Copyright 2007-2008 by Apple Inc.
+dnl Copyright 2007-2009 by Apple Inc.
dnl Copyright 2006-2007 by Easy Software Products, all rights reserved.
dnl
dnl These coded instructions, statements, and computer programs are the
@@ -66,7 +66,7 @@ AC_SUBST(CUPS_ACCESS_LOG_LEVEL)
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_ACCESS_LOG_LEVEL, "$CUPS_ACCESS_LOG_LEVEL")
dnl Default Browsing
-AC_ARG_ENABLE(browsing, [ --enable-browsing enable Browsing by default, default=yes])
+AC_ARG_ENABLE(browsing, [ --disable-browsing disable Browsing by default])
if test "x$enable_browsing" = xno; then
CUPS_BROWSING="No"
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSING, 0)
@@ -123,8 +123,8 @@ AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSE_REMOTE_PROTOCOLS,
"$CUPS_BROWSE_REMOTE_PROTOCOLS")
dnl Default BrowseShortNames
-AC_ARG_ENABLE(browse_short, [ --enable-browse-short-names
- enable BrowseShortNames by default, default=yes])
+AC_ARG_ENABLE(browse_short, [ --disable-browse-short-names
+ disable BrowseShortNames by default])
if test "x$enable_browse_short" = xno; then
CUPS_BROWSE_SHORT_NAMES="No"
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_BROWSE_SHORT_NAMES, 0)
@@ -135,7 +135,8 @@ fi
AC_SUBST(CUPS_BROWSE_SHORT_NAMES)
dnl Default DefaultShared
-AC_ARG_ENABLE(default_shared, [ --enable-default-shared enable DefaultShared by default, default=yes])
+AC_ARG_ENABLE(default_shared, [ --disable-default-shared
+ disable DefaultShared by default])
if test "x$enable_default_shared" = xno; then
CUPS_DEFAULT_SHARED="No"
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_DEFAULT_SHARED, 0)
@@ -146,8 +147,8 @@ fi
AC_SUBST(CUPS_DEFAULT_SHARED)
dnl Default ImplicitClasses
-AC_ARG_ENABLE(implicit, [ --enable-implicit-classes
- enable ImplicitClasses by default, default=yes])
+AC_ARG_ENABLE(implicit, [ --disable-implicit-classes
+ disable ImplicitClasses by default])
if test "x$enable_implicit" = xno; then
CUPS_IMPLICIT_CLASSES="No"
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_IMPLICIT_CLASSES, 0)
@@ -159,7 +160,7 @@ AC_SUBST(CUPS_IMPLICIT_CLASSES)
dnl Default UseNetworkDefault
AC_ARG_ENABLE(use_network_default, [ --enable-use-network-default
- enable UseNetworkDefault by default, default=auto])
+ set UseNetworkDefault to Yes by default])
if test "x$enable_use_network_default" != xno; then
AC_MSG_CHECKING(whether to use network default printers)
if test "x$enable_use_network_default" = xyes -o $uname != Darwin; then
@@ -362,28 +363,17 @@ fi
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_SMB_CONFIG_FILE, "$CUPS_DEFAULT_SMB_CONFIG_FILE")
dnl Default MaxCopies value...
-AC_ARG_WITH(max-copies, [ --with-max-copies set default max copies value, default=auto ],
+AC_ARG_WITH(max-copies, [ --with-max-copies set default max copies value, default=9999 ],
CUPS_MAX_COPIES="$withval",
- if test "x$uname" = xDarwin; then
- CUPS_MAX_COPIES="9999"
- else
- CUPS_MAX_COPIES="100"
- fi)
+ CUPS_MAX_COPIES="9999")
AC_SUBST(CUPS_MAX_COPIES)
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_MAX_COPIES, $CUPS_MAX_COPIES)
dnl Default raw printing state
-AC_ARG_ENABLE(raw_printing, [ --enable-raw-printing enable raw printing by default, default=auto])
+AC_ARG_ENABLE(raw_printing, [ --disable-raw-printing do not allow raw printing by default])
if test "x$enable_raw_printing" != xno; then
- AC_MSG_CHECKING(whether to enable raw printing)
- if test "x$enable_raw_printing" = xyes -o $uname = Darwin; then
- DEFAULT_RAW_PRINTING=""
- AC_MSG_RESULT(yes)
- else
- DEFAULT_RAW_PRINTING="#"
- AC_MSG_RESULT(no)
- fi
+ DEFAULT_RAW_PRINTING=""
else
DEFAULT_RAW_PRINTING="#"
fi
@@ -410,7 +400,7 @@ AC_SUBST(CUPS_SNMP_ADDRESS)
AC_SUBST(CUPS_SNMP_COMMUNITY)
dnl New default port definition for IPP...
-AC_ARG_WITH(ipp-port, [ --with-ipp-port set default port number for IPP ],
+AC_ARG_WITH(ipp-port, [ --with-ipp-port set port number for IPP, default=631 ],
DEFAULT_IPP_PORT="$withval",
DEFAULT_IPP_PORT="631")
@@ -418,8 +408,8 @@ AC_SUBST(DEFAULT_IPP_PORT)
AC_DEFINE_UNQUOTED(CUPS_DEFAULT_IPP_PORT,$DEFAULT_IPP_PORT)
dnl Filters
-AC_ARG_ENABLE(bannertops, [ --enable-bannertops build with default banner filter, default=auto ])
-AC_ARG_ENABLE(texttops, [ --enable-texttops build with default text filter, default=auto ])
+AC_ARG_ENABLE(bannertops, [ --enable-bannertops always build the banner filter ])
+AC_ARG_ENABLE(texttops, [ --enable-texttops always build the text filter ])
if test "x$enable_bannertops" = xno; then
BANNERTOPS=""
diff --git a/config-scripts/cups-dnssd.m4 b/config-scripts/cups-dnssd.m4
index d35eb316c..fcc4e0040 100644
--- a/config-scripts/cups-dnssd.m4
+++ b/config-scripts/cups-dnssd.m4
@@ -7,7 +7,7 @@ dnl http://www.dns-sd.org
dnl http://www.multicastdns.org/
dnl http://developer.apple.com/networking/bonjour/
dnl
-dnl Copyright 2007-2008 by Apple Inc.
+dnl Copyright 2007-2009 by Apple Inc.
dnl
dnl These coded instructions, statements, and computer programs are the
dnl property of Apple Inc. and are protected by Federal copyright
@@ -16,7 +16,7 @@ dnl which should have been included with this file. If this file is
dnl file is missing or damaged, see the license at "http://www.cups.org/".
dnl
-AC_ARG_ENABLE(dnssd, [ --enable-dnssd turn on DNS Service Discovery support, default=yes])
+AC_ARG_ENABLE(dnssd, [ --disable-dnssd disable DNS Service Discovery support])
AC_ARG_WITH(dnssd-libs, [ --with-dnssd-libs set directory for DNS Service Discovery library],
LDFLAGS="-L$withval $LDFLAGS"
DSOFLAGS="-L$withval $DSOFLAGS",)
diff --git a/config-scripts/cups-gssapi.m4 b/config-scripts/cups-gssapi.m4
index 968a5fe36..0a3458b03 100644
--- a/config-scripts/cups-gssapi.m4
+++ b/config-scripts/cups-gssapi.m4
@@ -3,7 +3,7 @@ dnl "$Id$"
dnl
dnl GSSAPI/Kerberos library detection.
dnl
-dnl Copyright 2007 by Apple Inc.
+dnl Copyright 2007-2009 by Apple Inc.
dnl Copyright 2006-2007 by Easy Software Products.
dnl
dnl This file contains Kerberos support code, copyright 2006 by
@@ -16,7 +16,7 @@ dnl which should have been included with this file. If this file is
dnl file is missing or damaged, see the license at "http://www.cups.org/".
dnl
-AC_ARG_ENABLE(gssapi, [ --enable-gssapi turn on GSSAPI support, default=yes])
+AC_ARG_ENABLE(gssapi, [ --disable-gssapi disable GSSAPI support])
LIBGSSAPI=""
diff --git a/config-scripts/cups-image.m4 b/config-scripts/cups-image.m4
index 58ed255ff..f25d58732 100644
--- a/config-scripts/cups-image.m4
+++ b/config-scripts/cups-image.m4
@@ -3,7 +3,7 @@ dnl "$Id: cups-image.m4 6649 2007-07-11 21:46:42Z mike $"
dnl
dnl Image library/filter stuff for the Common UNIX Printing System (CUPS).
dnl
-dnl Copyright 2007 by Apple Inc.
+dnl Copyright 2007-2009 by Apple Inc.
dnl Copyright 1997-2006 by Easy Software Products, all rights reserved.
dnl
dnl These coded instructions, statements, and computer programs are the
@@ -14,7 +14,7 @@ dnl file is missing or damaged, see the license at "http://www.cups.org/".
dnl
dnl See if we want the image filters included at all...
-AC_ARG_ENABLE(image, [ --enable-image turn on image filters, default=auto])
+AC_ARG_ENABLE(image, [ --enable-image always build the image filters])
IMGFILTERS=""
if test "x$enable_image" != xno; then
@@ -30,9 +30,9 @@ fi
AC_SUBST(IMGFILTERS)
dnl Check for image libraries...
-AC_ARG_ENABLE(jpeg, [ --enable-jpeg turn on JPEG support, default=yes])
-AC_ARG_ENABLE(png, [ --enable-png turn on PNG support, default=yes])
-AC_ARG_ENABLE(tiff, [ --enable-tiff turn on TIFF support, default=yes])
+AC_ARG_ENABLE(jpeg, [ --disable-jpeg disable JPEG support])
+AC_ARG_ENABLE(png, [ --disable-png disable PNG support])
+AC_ARG_ENABLE(tiff, [ --disable-tiff disable TIFF support])
LIBJPEG=""
LIBPNG=""
diff --git a/config-scripts/cups-launchd.m4 b/config-scripts/cups-launchd.m4
index 02d89843b..a6a893235 100644
--- a/config-scripts/cups-launchd.m4
+++ b/config-scripts/cups-launchd.m4
@@ -3,7 +3,7 @@ dnl "$Id: cups-launchd.m4 6649 2007-07-11 21:46:42Z mike $"
dnl
dnl launchd stuff for the Common UNIX Printing System (CUPS).
dnl
-dnl Copyright 2007 by Apple Inc.
+dnl Copyright 2007-2009 by Apple Inc.
dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
dnl
dnl These coded instructions, statements, and computer programs are the
@@ -14,7 +14,7 @@ dnl file is missing or damaged, see the license at "http://www.cups.org/".
dnl
-AC_ARG_ENABLE(launchd, [ --enable-launchd turn on launchd support, default=yes])
+AC_ARG_ENABLE(launchd, [ --disable-launchd disable launchd support])
DEFAULT_LAUNCHD_CONF=""
LAUNCHDLIBS=""
diff --git a/config-scripts/cups-ldap.m4 b/config-scripts/cups-ldap.m4
index 742a4bcce..678faed07 100644
--- a/config-scripts/cups-ldap.m4
+++ b/config-scripts/cups-ldap.m4
@@ -3,7 +3,7 @@ dnl "$Id: cups-ldap.m4 7800 2008-07-25 21:01:34Z mike $"
dnl
dnl LDAP configuration stuff for the Common UNIX Printing System (CUPS).
dnl
-dnl Copyright 2007-2008 by Apple Inc.
+dnl Copyright 2007-2009 by Apple Inc.
dnl Copyright 2003-2006 by Easy Software Products, all rights reserved.
dnl
dnl These coded instructions, statements, and computer programs are the
@@ -13,7 +13,7 @@ dnl which should have been included with this file. If this file is
dnl file is missing or damaged, see the license at "http://www.cups.org/".
dnl
-AC_ARG_ENABLE(ldap, [ --enable-ldap turn on LDAP support, default=yes])
+AC_ARG_ENABLE(ldap, [ --disable-ldap disable LDAP support])
AC_ARG_WITH(ldap-libs, [ --with-ldap-libs set directory for LDAP library],
LDFLAGS="-L$withval $LDFLAGS"
DSOFLAGS="-L$withval $DSOFLAGS",)
diff --git a/config-scripts/cups-libtool.m4 b/config-scripts/cups-libtool.m4
index c88f41426..614548f37 100644
--- a/config-scripts/cups-libtool.m4
+++ b/config-scripts/cups-libtool.m4
@@ -3,7 +3,7 @@ dnl "$Id: cups-libtool.m4 6649 2007-07-11 21:46:42Z mike $"
dnl
dnl Libtool stuff for the Common UNIX Printing System (CUPS).
dnl
-dnl Copyright 2007 by Apple Inc.
+dnl Copyright 2007-2009 by Apple Inc.
dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
dnl
dnl These coded instructions, statements, and computer programs are the
@@ -13,14 +13,13 @@ dnl which should have been included with this file. If this file is
dnl file is missing or damaged, see the license at "http://www.cups.org/".
dnl
-AC_ARG_ENABLE(libtool_unsupported, [ --enable-libtool-unsupported=LIBTOOL_PATH
- turn on building with libtool (UNSUPPORTED!), default=no],
+AC_ARG_ENABLE(libtool_unsupported, [ --enable-libtool-unsupported
+ build with libtool (UNSUPPORTED!)],
[if test x$enable_libtool_unsupported != xno; then
LIBTOOL="$enable_libtool_unsupported"
enable_shared=no
- echo "WARNING: libtool is not supported or endorsed by Easy Software Products."
- echo " WE DO NOT PROVIDE TECHNICAL SUPPORT FOR LIBTOOL PROBLEMS."
- echo " (even if you have a support contract)"
+ echo "WARNING: libtool is not supported or endorsed by Apple Inc."
+ echo " WE DO NOT PROVIDE SUPPORT FOR LIBTOOL PROBLEMS."
else
LIBTOOL=""
fi])
diff --git a/config-scripts/cups-pam.m4 b/config-scripts/cups-pam.m4
index ef2e9c3ec..1b554a411 100644
--- a/config-scripts/cups-pam.m4
+++ b/config-scripts/cups-pam.m4
@@ -3,7 +3,7 @@ dnl "$Id: cups-pam.m4 7960 2008-09-17 19:42:02Z mike $"
dnl
dnl PAM stuff for the Common UNIX Printing System (CUPS).
dnl
-dnl Copyright 2007-2008 by Apple Inc.
+dnl Copyright 2007-2009 by Apple Inc.
dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
dnl
dnl These coded instructions, statements, and computer programs are the
@@ -13,8 +13,8 @@ dnl which should have been included with this file. If this file is
dnl file is missing or damaged, see the license at "http://www.cups.org/".
dnl
-AC_ARG_ENABLE(pam, [ --enable-pam turn on PAM support, default=yes])
-AC_ARG_WITH(pam_module, [ --with-pam-module specify the PAM module to use, default=auto])
+AC_ARG_ENABLE(pam, [ --disable-pam disable PAM support])
+AC_ARG_WITH(pam_module, [ --with-pam-module specify the PAM module to use])
dnl Don't use PAM with AIX...
if test $uname = AIX; then
diff --git a/config-scripts/cups-pap.m4 b/config-scripts/cups-pap.m4
index 56d1b852f..e3509011a 100644
--- a/config-scripts/cups-pap.m4
+++ b/config-scripts/cups-pap.m4
@@ -3,7 +3,7 @@ dnl "$Id: cups-pam.m4 5466 2006-04-26 19:52:27Z mike $"
dnl
dnl PAP (AppleTalk) stuff for the Common UNIX Printing System (CUPS).
dnl
-dnl Copyright 2007-2008 by Apple Inc.
+dnl Copyright 2007-2009 by Apple Inc.
dnl Copyright 2006 by Easy Software Products, all rights reserved.
dnl
dnl These coded instructions, statements, and computer programs are the
@@ -15,12 +15,12 @@ dnl
# Currently the PAP backend is only supported on MacOS X with the AppleTalk
# SDK installed...
-AC_ARG_ENABLE(pap, [ --enable-pap build with AppleTalk support, default=auto])
+AC_ARG_ENABLE(pap, [ --enable-pap build with AppleTalk support])
PAP=""
AC_SUBST(PAP)
-if test x$enable_pap != xno -a $uname = Darwin; then
+if test x$enable_pap = xyes -a $uname = Darwin; then
AC_CHECK_HEADER(netat/appletalk.h,[
PAP="pap"
AC_CHECK_HEADER(AppleTalk/at_proto.h)])
diff --git a/config-scripts/cups-pdf.m4 b/config-scripts/cups-pdf.m4
index eaa004f59..51d46cfb7 100644
--- a/config-scripts/cups-pdf.m4
+++ b/config-scripts/cups-pdf.m4
@@ -13,37 +13,54 @@ dnl which should have been included with this file. If this file is
dnl file is missing or damaged, see the license at "http://www.cups.org/".
dnl
-AC_ARG_ENABLE(pdftops, [ --enable-pdftops build pdftops filter, default=auto ])
+AC_ARG_WITH(pdftops, [ --with-pdftops set pdftops filter (gs,pdftops,none), default=pdftops ])
PDFTOPS=""
+CUPS_PDFTOPS=""
+CUPS_GHOSTSCRIPT=""
-if test "x$enable_pdftops" != xno; then
- AC_PATH_PROG(CUPS_PDFTOPS, pdftops)
- if test "x$CUPS_PDFTOPS" != x; then
- AC_DEFINE(HAVE_PDFTOPS)
+case "x$with_pdftops" in
+ x) # Default/auto
+ if test $uname != Darwin; then
+ AC_PATH_PROG(CUPS_PDFTOPS, pdftops)
+ if test "x$CUPS_PDFTOPS" != x; then
+ AC_DEFINE(HAVE_PDFTOPS)
+ PDFTOPS="pdftops"
+ else
+ AC_PATH_PROG(CUPS_GHOSTSCRIPT, gs)
+ if test "x$CUPS_GHOSTSCRIPT" != x; then
+ AC_DEFINE(HAVE_GHOSTSCRIPT)
+ PDFTOPS="pdftops"
+ fi
+ fi
fi
- AC_DEFINE_UNQUOTED(CUPS_PDFTOPS, "$CUPS_PDFTOPS")
+ ;;
+ xgs)
AC_PATH_PROG(CUPS_GHOSTSCRIPT, gs)
if test "x$CUPS_GHOSTSCRIPT" != x; then
AC_DEFINE(HAVE_GHOSTSCRIPT)
+ PDFTOPS="pdftops"
+ else
+ AC_MSG_ERROR(Unable to find gs program!)
+ exit 1
fi
- AC_DEFINE_UNQUOTED(CUPS_GHOSTSCRIPT, "$CUPS_GHOSTSCRIPT")
+ ;;
- if test "x$CUPS_PDFTOPS" != x -o "x$CUPS_GHOSTSCRIPT" != x; then
- AC_MSG_CHECKING(whether to build pdftops filter)
- if test x$enable_pdftops = xyes -o $uname != Darwin; then
- PDFTOPS="pdftops"
- AC_MSG_RESULT(yes)
- else
- AC_MSG_RESULT(no)
- fi
- elif test x$enable_pdftops = xyes; then
- AC_MSG_ERROR(Unable to find pdftops or gs programs!)
+ xpdftops)
+ AC_PATH_PROG(CUPS_PDFTOPS, pdftops)
+ if test "x$CUPS_PDFTOPS" != x; then
+ AC_DEFINE(HAVE_PDFTOPS)
+ PDFTOPS="pdftops"
+ else
+ AC_MSG_ERROR(Unable to find pdftops program!)
exit 1
fi
-fi
+ ;;
+esac
+AC_DEFINE_UNQUOTED(CUPS_PDFTOPS, "$CUPS_PDFTOPS")
+AC_DEFINE_UNQUOTED(CUPS_GHOSTSCRIPT, "$CUPS_GHOSTSCRIPT")
AC_SUBST(PDFTOPS)
dnl
diff --git a/config-scripts/cups-sharedlibs.m4 b/config-scripts/cups-sharedlibs.m4
index e4ca18dc0..09c55f897 100644
--- a/config-scripts/cups-sharedlibs.m4
+++ b/config-scripts/cups-sharedlibs.m4
@@ -3,7 +3,7 @@ dnl "$Id: cups-sharedlibs.m4 7630 2008-06-09 22:31:44Z mike $"
dnl
dnl Shared library support for the Common UNIX Printing System (CUPS).
dnl
-dnl Copyright 2007-2008 by Apple Inc.
+dnl Copyright 2007-2009 by Apple Inc.
dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
dnl
dnl These coded instructions, statements, and computer programs are the
@@ -16,7 +16,7 @@ dnl
PICFLAG=1
DSOFLAGS="${DSOFLAGS:=}"
-AC_ARG_ENABLE(shared, [ --enable-shared turn on shared libraries, default=yes])
+AC_ARG_ENABLE(shared, [ --disable-shared do not create shared libraries])
if test x$enable_shared != xno; then
case "$uname" in
diff --git a/config-scripts/cups-slp.m4 b/config-scripts/cups-slp.m4
index 89f87468c..36a00b7f1 100644
--- a/config-scripts/cups-slp.m4
+++ b/config-scripts/cups-slp.m4
@@ -3,7 +3,7 @@ dnl "$Id: cups-slp.m4 7241 2008-01-22 22:34:52Z mike $"
dnl
dnl OpenSLP configuration stuff for the Common UNIX Printing System (CUPS).
dnl
-dnl Copyright 2007-2008 by Apple Inc.
+dnl Copyright 2007-2009 by Apple Inc.
dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
dnl
dnl These coded instructions, statements, and computer programs are the
@@ -13,7 +13,7 @@ dnl which should have been included with this file. If this file is
dnl file is missing or damaged, see the license at "http://www.cups.org/".
dnl
-AC_ARG_ENABLE(slp, [ --enable-slp turn on SLP support, default=yes])
+AC_ARG_ENABLE(slp, [ --disable-slp disable SLP support])
AC_ARG_WITH(openslp-libs, [ --with-openslp-libs set directory for OpenSLP library],
LDFLAGS="-L$withval $LDFLAGS"
DSOFLAGS="-L$withval $DSOFLAGS",)
diff --git a/config-scripts/cups-ssl.m4 b/config-scripts/cups-ssl.m4
index f5335562c..a3b4ccf9d 100644
--- a/config-scripts/cups-ssl.m4
+++ b/config-scripts/cups-ssl.m4
@@ -3,7 +3,7 @@ dnl "$Id: cups-ssl.m4 7241 2008-01-22 22:34:52Z mike $"
dnl
dnl OpenSSL/GNUTLS stuff for the Common UNIX Printing System (CUPS).
dnl
-dnl Copyright 2007-2008 by Apple Inc.
+dnl Copyright 2007-2009 by Apple Inc.
dnl Copyright 1997-2007 by Easy Software Products, all rights reserved.
dnl
dnl These coded instructions, statements, and computer programs are the
@@ -13,7 +13,7 @@ dnl which should have been included with this file. If this file is
dnl file is missing or damaged, see the license at "http://www.cups.org/".
dnl
-AC_ARG_ENABLE(ssl, [ --enable-ssl turn on SSL/TLS support, default=yes])
+AC_ARG_ENABLE(ssl, [ --disable-ssl disable SSL/TLS support])
AC_ARG_ENABLE(cdsassl, [ --enable-cdsassl use CDSA for SSL/TLS support, default=first])
AC_ARG_ENABLE(gnutls, [ --enable-gnutls use GNU TLS for SSL/TLS support, default=second])
AC_ARG_ENABLE(openssl, [ --enable-openssl use OpenSSL for SSL/TLS support, default=third])
@@ -26,7 +26,6 @@ AC_ARG_WITH(openssl-includes, [ --with-openssl-includes set directory for OpenS
SSLFLAGS=""
SSLLIBS=""
-ENCRYPTION_REQUIRED=""
if test x$enable_ssl != xno; then
dnl Look for CDSA...
@@ -34,10 +33,6 @@ if test x$enable_ssl != xno; then
if test $uname = Darwin; then
AC_CHECK_HEADER(Security/SecureTransport.h, [
SSLLIBS="-framework CoreFoundation -framework Security"
- # MacOS X doesn't (yet) come with pre-installed encryption
- # certificates for CUPS, so don't enable encryption on
- # /admin just yet...
- #ENCRYPTION_REQUIRED=" Encryption Required"
AC_DEFINE(HAVE_SSL)
AC_DEFINE(HAVE_CDSASSL)
@@ -68,7 +63,6 @@ if test x$enable_ssl != xno; then
if test "x$LIBGNUTLSCONFIG" != x; then
SSLLIBS=`$LIBGNUTLSCONFIG --libs`
SSLFLAGS=`$LIBGNUTLSCONFIG --cflags`
- ENCRYPTION_REQUIRED=" Encryption Required"
AC_DEFINE(HAVE_SSL)
AC_DEFINE(HAVE_GNUTLS)
fi
@@ -95,7 +89,6 @@ if test x$enable_ssl != xno; then
AC_CHECK_LIB(ssl,SSL_new,
[SSLFLAGS="-DOPENSSL_DISABLE_OLD_DES_SUPPORT"
SSLLIBS="-lssl $libcrypto"
- ENCRYPTION_REQUIRED=" Encryption Required"
AC_DEFINE(HAVE_SSL)
AC_DEFINE(HAVE_LIBSSL)],,
$libcrypto)
@@ -116,7 +109,6 @@ fi
AC_SUBST(SSLFLAGS)
AC_SUBST(SSLLIBS)
-AC_SUBST(ENCRYPTION_REQUIRED)
EXPORT_SSLLIBS="$SSLLIBS"
AC_SUBST(EXPORT_SSLLIBS)
diff --git a/config-scripts/cups-threads.m4 b/config-scripts/cups-threads.m4
index 2dfa8beff..aa07c8950 100644
--- a/config-scripts/cups-threads.m4
+++ b/config-scripts/cups-threads.m4
@@ -3,7 +3,7 @@ dnl "$Id: cups-threads.m4 6649 2007-07-11 21:46:42Z mike $"
dnl
dnl Threading stuff for the Common UNIX Printing System (CUPS).
dnl
-dnl Copyright 2007 by Apple Inc.
+dnl Copyright 2007-2009 by Apple Inc.
dnl Copyright 1997-2005 by Easy Software Products, all rights reserved.
dnl
dnl These coded instructions, statements, and computer programs are the
@@ -13,7 +13,7 @@ dnl which should have been included with this file. If this file is
dnl file is missing or damaged, see the license at "http://www.cups.org/".
dnl
-AC_ARG_ENABLE(threads, [ --enable-threads enable multi-threading support])
+AC_ARG_ENABLE(threads, [ --disable-threads disable multi-threading support])
have_pthread=no
PTHREAD_FLAGS=""
diff --git a/cups/dest.c b/cups/dest.c
index 4ee574e52..9417bddc1 100644
--- a/cups/dest.c
+++ b/cups/dest.c
@@ -130,7 +130,7 @@ cupsAddDest(const char *name, /* I - Destination name */
{
int i; /* Looping var */
cups_dest_t *dest; /* Destination pointer */
- cups_dest_t *parent; /* Parent destination */
+ cups_dest_t *parent = NULL; /* Parent destination */
cups_option_t *doption, /* Current destination option */
*poption; /* Current parent option */
diff --git a/cups/http-support.c b/cups/http-support.c
index 7bcdd4fca..a8b6b2e41 100644
--- a/cups/http-support.c
+++ b/cups/http-support.c
@@ -292,7 +292,7 @@ httpAssembleURI(
* Otherwise, just copy the host string...
*/
- ptr = http_copy_encode(ptr, host, end, ":/?#[]@", NULL,
+ ptr = http_copy_encode(ptr, host, end, ":/?#[]@\\", NULL,
encoding & HTTP_URI_CODING_HOSTNAME);
if (!ptr)
diff --git a/cups/testi18n.c b/cups/testi18n.c
index 0ea419d3a..139dd2ff5 100644
--- a/cups/testi18n.c
+++ b/cups/testi18n.c
@@ -3,7 +3,7 @@
*
* Internationalization test for Common UNIX Printing System (CUPS).
*
- * Copyright 2007-2008 by Apple Inc.
+ * Copyright 2007-2009 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -35,6 +35,82 @@
/*
+ * Local globals...
+ */
+
+static const char * const lang_encodings[] =
+ { /* Encoding strings */
+ "us-ascii", "iso-8859-1",
+ "iso-8859-2", "iso-8859-3",
+ "iso-8859-4", "iso-8859-5",
+ "iso-8859-6", "iso-8859-7",
+ "iso-8859-8", "iso-8859-9",
+ "iso-8859-10", "utf-8",
+ "iso-8859-13", "iso-8859-14",
+ "iso-8859-15", "windows-874",
+ "windows-1250", "windows-1251",
+ "windows-1252", "windows-1253",
+ "windows-1254", "windows-1255",
+ "windows-1256", "windows-1257",
+ "windows-1258", "koi8-r",
+ "koi8-u", "iso-8859-11",
+ "iso-8859-16", "mac-roman",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "windows-932", "windows-936",
+ "windows-949", "windows-950",
+ "windows-1361", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "unknown", "unknown",
+ "euc-cn", "euc-jp",
+ "euc-kr", "euc-tw",
+ "jis-x0213"
+ };
+
+
+/*
* Local functions...
*/
@@ -77,6 +153,54 @@ main(int argc, /* I - Argument Count */
cups_utf32_t utf32dest[1024]; /* UTF-32 destination string */
+ if (argc > 1)
+ {
+ int i; /* Looping var */
+ cups_encoding_t encoding; /* Source encoding */
+
+
+ if (argc != 3)
+ {
+ puts("Usage: ./testi18n [filename charset]");
+ return (1);
+ }
+
+ if ((fp = fopen(argv[1], "rb")) == NULL)
+ {
+ perror(argv[1]);
+ return (1);
+ }
+
+ for (i = 0, encoding = CUPS_AUTO_ENCODING;
+ i < (int)(sizeof(lang_encodings) / sizeof(lang_encodings[0]));
+ i ++)
+ if (!strcasecmp(lang_encodings[i], argv[2]))
+ {
+ encoding = (cups_encoding_t)i;
+ break;
+ }
+
+ if (encoding == CUPS_AUTO_ENCODING)
+ {
+ fprintf(stderr, "%s: Unknown character set!\n", argv[2]);
+ return (1);
+ }
+
+ while (fgets(line, sizeof(line), fp))
+ {
+ if (cupsCharsetToUTF8(utf8dest, line, sizeof(utf8dest), encoding) < 0)
+ {
+ fprintf(stderr, "%s: Unable to convert line: %s", argv[1], line);
+ return (1);
+ }
+
+ fputs((char *)utf8dest, stdout);
+ }
+
+ fclose(fp);
+ return (0);
+ }
+
/*
* Make sure we have a symbolic link from the data directory to a
* "charmaps" directory, and then point the library at it...
@@ -93,7 +217,7 @@ main(int argc, /* I - Argument Count */
errors = 0;
- if ((fp = fopen("utf8demo.txt", "r")) == NULL)
+ if ((fp = fopen("utf8demo.txt", "rb")) == NULL)
{
perror("utf8demo.txt");
return (1);
diff --git a/cups/transcode.c b/cups/transcode.c
index de9526916..b0382e14a 100644
--- a/cups/transcode.c
+++ b/cups/transcode.c
@@ -1506,7 +1506,7 @@ get_sbcs_charmap(
goto sbcs_error;
unichar = strtol(s, NULL, 16);
- if (unichar < 0 || unichar > 0xffff)
+ if (unichar < 0 || unichar > 0x10ffff)
goto sbcs_error;
/*
@@ -1682,7 +1682,7 @@ get_vbcs_charmap(
goto vbcs_error;
unichar = strtol(s, NULL, 16);
- if (unichar < 0 || unichar > 0xffff)
+ if (unichar < 0 || unichar > 0x10ffff)
goto vbcs_error;
i ++;
@@ -1704,7 +1704,7 @@ get_vbcs_charmap(
leadchar = (cups_sbcs_t)(legchar >> 16);
vmap->lead3char[leadchar] = leadchar;
}
- else if (legchar > 0xff)
+ else
{
leadchar = (cups_sbcs_t)(legchar >> 8);
vmap->lead2char[leadchar] = leadchar;
diff --git a/data/jis-x0213.txt b/data/jis-x0213.txt
index 9e11395ce..826c9b6d4 100644
--- a/data/jis-x0213.txt
+++ b/data/jis-x0213.txt
@@ -1,4 +1,36 @@
# JIS-X0213 aka Shift JIS character mapping table
+0x00 0x0000
+0x01 0x0001
+0x02 0x0002
+0x03 0x0003
+0x04 0x0004
+0x05 0x0005
+0x06 0x0006
+0x07 0x0007
+0x08 0x0008
+0x09 0x0009
+0x0a 0x000a
+0x0b 0x000b
+0x0c 0x000c
+0x0d 0x000d
+0x0e 0x000e
+0x0f 0x000f
+0x10 0x0010
+0x11 0x0011
+0x12 0x0012
+0x13 0x0013
+0x14 0x0014
+0x15 0x0015
+0x16 0x0016
+0x17 0x0017
+0x18 0x0018
+0x19 0x0019
+0x1a 0x001a
+0x1b 0x001b
+0x1c 0x001c
+0x1d 0x001d
+0x1e 0x001e
+0x1f 0x001f
0x20 0x0020
0x21 0x0021
0x22 0x0022
@@ -94,6 +126,70 @@
0x7c 0x007c
0x7d 0x007d
0x7e 0x203e
+0x7f 0x007f
+0xa1 0xff61
+0xa2 0xff62
+0xa3 0xff63
+0xa4 0xff64
+0xa5 0xff65
+0xa6 0xff66
+0xa7 0xff67
+0xa8 0xff68
+0xa9 0xff69
+0xaa 0xff6a
+0xab 0xff6b
+0xac 0xff6c
+0xad 0xff6d
+0xae 0xff6e
+0xaf 0xff6f
+0xb0 0xff70
+0xb1 0xff71
+0xb2 0xff72
+0xb3 0xff73
+0xb4 0xff74
+0xb5 0xff75
+0xb6 0xff76
+0xb7 0xff77
+0xb8 0xff78
+0xb9 0xff79
+0xba 0xff7a
+0xbb 0xff7b
+0xbc 0xff7c
+0xbd 0xff7d
+0xbe 0xff7e
+0xbf 0xff7f
+0xc0 0xff80
+0xc1 0xff81
+0xc2 0xff82
+0xc3 0xff83
+0xc4 0xff84
+0xc5 0xff85
+0xc6 0xff86
+0xc7 0xff87
+0xc8 0xff88
+0xc9 0xff89
+0xca 0xff8a
+0xcb 0xff8b
+0xcc 0xff8c
+0xcd 0xff8d
+0xce 0xff8e
+0xcf 0xff8f
+0xd0 0xff90
+0xd1 0xff91
+0xd2 0xff92
+0xd3 0xff93
+0xd4 0xff94
+0xd5 0xff95
+0xd6 0xff96
+0xd7 0xff97
+0xd8 0xff98
+0xd9 0xff99
+0xda 0xff9a
+0xdb 0xff9b
+0xdc 0xff9c
+0xdd 0xff9d
+0xde 0xff9e
+0xdf 0xff9f
0x8140 0x3000
0x8141 0x3001
0x8142 0x3002
@@ -122,7 +218,7 @@
0x8159 0x3006
0x815a 0x3007
0x815b 0x30fc
-0x815c 0x2015
+0x815c 0x2014
0x815d 0x2010
0x815e 0xff0f
0x815f 0x005c
@@ -202,6 +298,17 @@
0x81aa 0x2191
0x81ab 0x2193
0x81ac 0x3013
+0x81ad 0xff07
+0x81ae 0xff02
+0x81af 0xff0d
+0x81b0 0x007e
+0x81b1 0x3033
+0x81b2 0x3034
+0x81b3 0x3035
+0x81b4 0x303b
+0x81b5 0x303c
+0x81b6 0x30ff
+0x81b7 0x309f
0x81b8 0x2208
0x81b9 0x220b
0x81ba 0x2286
@@ -210,6 +317,14 @@
0x81bd 0x2283
0x81be 0x222a
0x81bf 0x2229
+0x81c0 0x2284
+0x81c1 0x2285
+0x81c2 0x228a
+0x81c3 0x228b
+0x81c4 0x2209
+0x81c5 0x2205
+0x81c6 0x2305
+0x81c7 0x2306
0x81c8 0x2227
0x81c9 0x2228
0x81ca 0x00ac
@@ -217,6 +332,17 @@
0x81cc 0x21d4
0x81cd 0x2200
0x81ce 0x2203
+0x81cf 0x2295
+0x81d0 0x2296
+0x81d1 0x2297
+0x81d2 0x2225
+0x81d3 0x2226
+0x81d4 0xff5f
+0x81d5 0xff60
+0x81d6 0x3018
+0x81d7 0x3019
+0x81d8 0x3016
+0x81d9 0x3017
0x81da 0x2220
0x81db 0x22a5
0x81dc 0x2312
@@ -232,6 +358,13 @@
0x81e6 0x2235
0x81e7 0x222b
0x81e8 0x222c
+0x81e9 0x2262
+0x81ea 0x2243
+0x81eb 0x2245
+0x81ec 0x2248
+0x81ed 0x2276
+0x81ee 0x2277
+0x81ef 0x2194
0x81f0 0x212b
0x81f1 0x2030
0x81f2 0x266f
@@ -240,7 +373,26 @@
0x81f5 0x2020
0x81f6 0x2021
0x81f7 0x00b6
+0x81f8 0x266e
+0x81f9 0x266b
+0x81fa 0x266c
+0x81fb 0x2669
0x81fc 0x25ef
+0x8240 0x25b7
+0x8241 0x25b6
+0x8242 0x25c1
+0x8243 0x25c0
+0x8244 0x2197
+0x8245 0x2198
+0x8246 0x2196
+0x8247 0x2199
+0x8248 0x21c4
+0x8249 0x21e8
+0x824a 0x21e6
+0x824b 0x21e7
+0x824c 0x21e9
+0x824d 0x2934
+0x824e 0x2935
0x824f 0xff10
0x8250 0xff11
0x8251 0xff12
@@ -251,6 +403,13 @@
0x8256 0xff17
0x8257 0xff18
0x8258 0xff19
+0x8259 0x29bf
+0x825a 0x25c9
+0x825b 0x303d
+0x825c 0xfe46
+0x825d 0xfe45
+0x825e 0x25e6
+0x825f 0x2022
0x8260 0xff21
0x8261 0xff22
0x8262 0xff23
@@ -277,6 +436,12 @@
0x8277 0xff38
0x8278 0xff39
0x8279 0xff3a
+0x827a 0x2213
+0x827b 0x2135
+0x827c 0x210f
+0x827d 0x33cb
+0x827e 0x2113
+0x8280 0x2127
0x8281 0xff41
0x8282 0xff42
0x8283 0xff43
@@ -303,6 +468,10 @@
0x8298 0xff58
0x8299 0xff59
0x829a 0xff5a
+0x829b 0x30a0
+0x829c 0x2013
+0x829d 0x29fa
+0x829e 0x29fb
0x829f 0x3041
0x82a0 0x3042
0x82a1 0x3043
@@ -386,6 +555,14 @@
0x82ef 0x3091
0x82f0 0x3092
0x82f1 0x3093
+0x82f2 0x3094
+0x82f3 0x3095
+0x82f4 0x3096
+0x82f5 0x304b
+0x82f6 0x304d
+0x82f7 0x304f
+0x82f8 0x3051
+0x82f9 0x3053
0x8340 0x30a1
0x8341 0x30a2
0x8342 0x30a3
@@ -472,6 +649,14 @@
0x8394 0x30f4
0x8395 0x30f5
0x8396 0x30f6
+0x8397 0x30ab
+0x8398 0x30ad
+0x8399 0x30af
+0x839a 0x30b1
+0x839b 0x30b3
+0x839c 0x30bb
+0x839d 0x30c4
+0x839e 0x30c8
0x839f 0x0391
0x83a0 0x0392
0x83a1 0x0393
@@ -496,6 +681,14 @@
0x83b4 0x03a7
0x83b5 0x03a8
0x83b6 0x03a9
+0x83b7 0x2664
+0x83b8 0x2660
+0x83b9 0x2662
+0x83ba 0x2666
+0x83bb 0x2661
+0x83bc 0x2665
+0x83bd 0x2667
+0x83be 0x2663
0x83bf 0x03b1
0x83c0 0x03b2
0x83c1 0x03b3
@@ -520,6 +713,44 @@
0x83d4 0x03c7
0x83d5 0x03c8
0x83d6 0x03c9
+0x83d7 0x03c2
+0x83d8 0x24f5
+0x83d9 0x24f6
+0x83da 0x24f7
+0x83db 0x24f8
+0x83dc 0x24f9
+0x83dd 0x24fa
+0x83de 0x24fb
+0x83df 0x24fc
+0x83e0 0x24fd
+0x83e1 0x24fe
+0x83e2 0x2616
+0x83e3 0x2617
+0x83e4 0x3020
+0x83e5 0x260e
+0x83e6 0x2600
+0x83e7 0x2601
+0x83e8 0x2602
+0x83e9 0x2603
+0x83ea 0x2668
+0x83eb 0x25b1
+0x83ec 0x31f0
+0x83ed 0x31f1
+0x83ee 0x31f2
+0x83ef 0x31f3
+0x83f0 0x31f4
+0x83f1 0x31f5
+0x83f2 0x31f6
+0x83f3 0x31f7
+0x83f4 0x31f8
+0x83f5 0x31f9
+0x83f6 0x31f7
+0x83f7 0x31fa
+0x83f8 0x31fb
+0x83f9 0x31fc
+0x83fa 0x31fd
+0x83fb 0x31fe
+0x83fc 0x31ff
0x8440 0x0410
0x8441 0x0411
0x8442 0x0412
@@ -553,6 +784,21 @@
0x845e 0x042d
0x845f 0x042e
0x8460 0x042f
+0x8461 0x23be
+0x8462 0x23bf
+0x8463 0x23c0
+0x8464 0x23c1
+0x8465 0x23c2
+0x8466 0x23c3
+0x8467 0x23c4
+0x8468 0x23c5
+0x8469 0x23c6
+0x846a 0x23c7
+0x846b 0x23c8
+0x846c 0x23c9
+0x846d 0x23ca
+0x846e 0x23cb
+0x846f 0x23cc
0x8470 0x0430
0x8471 0x0431
0x8472 0x0432
@@ -586,6 +832,19 @@
0x848f 0x044d
0x8490 0x044e
0x8491 0x044f
+0x8492 0x30f7
+0x8493 0x30f8
+0x8494 0x30f9
+0x8495 0x30fa
+0x8496 0x22da
+0x8497 0x22db
+0x8498 0x2153
+0x8499 0x2154
+0x849a 0x2155
+0x849b 0x2713
+0x849c 0x2318
+0x849d 0x2423
+0x849e 0x23ce
0x849f 0x2500
0x84a0 0x2502
0x84a1 0x250c
@@ -618,6 +877,690 @@
0x84bc 0x2525
0x84bd 0x2538
0x84be 0x2542
+0x84bf 0x3251
+0x84c0 0x3252
+0x84c1 0x3253
+0x84c2 0x3254
+0x84c3 0x3255
+0x84c4 0x3256
+0x84c5 0x3257
+0x84c6 0x3258
+0x84c7 0x3259
+0x84c8 0x325a
+0x84c9 0x325b
+0x84ca 0x325c
+0x84cb 0x325d
+0x84cc 0x325e
+0x84cd 0x325f
+0x84ce 0x32b1
+0x84cf 0x32b2
+0x84d0 0x32b3
+0x84d1 0x32b4
+0x84d2 0x32b5
+0x84d3 0x32b6
+0x84d4 0x32b7
+0x84d5 0x32b8
+0x84d6 0x32b9
+0x84d7 0x32ba
+0x84d8 0x32bb
+0x84d9 0x32bc
+0x84da 0x32bd
+0x84db 0x32be
+0x84dc 0x32bf
+0x84e5 0x25d0
+0x84e6 0x25d1
+0x84e7 0x25d2
+0x84e8 0x25d3
+0x84e9 0x203c
+0x84ea 0x2047
+0x84eb 0x2048
+0x84ec 0x2049
+0x84ed 0x01cd
+0x84ee 0x01ce
+0x84ef 0x01d0
+0x84f0 0x1e3e
+0x84f1 0x1e3f
+0x84f2 0x01f8
+0x84f3 0x01f9
+0x84f4 0x01d1
+0x84f5 0x01d2
+0x84f6 0x01d4
+0x84f7 0x01d6
+0x84f8 0x01d8
+0x84f9 0x01da
+0x84fa 0x01dc
+0x8540 0x20ac
+0x8541 0x00a0
+0x8542 0x00a1
+0x8543 0x00a4
+0x8544 0x00a6
+0x8545 0x00a9
+0x8546 0x00aa
+0x8547 0x00ab
+0x8548 0x00ad
+0x8549 0x00ae
+0x854a 0x00af
+0x854b 0x00b2
+0x854c 0x00b3
+0x854d 0x00b7
+0x854e 0x00b8
+0x854f 0x00b9
+0x8550 0x00ba
+0x8551 0x00bb
+0x8552 0x00bc
+0x8553 0x00bd
+0x8554 0x00be
+0x8555 0x00bf
+0x8556 0x00c0
+0x8557 0x00c1
+0x8558 0x00c2
+0x8559 0x00c3
+0x855a 0x00c4
+0x855b 0x00c5
+0x855c 0x00c6
+0x855d 0x00c7
+0x855e 0x00c8
+0x855f 0x00c9
+0x8560 0x00ca
+0x8561 0x00cb
+0x8562 0x00cc
+0x8563 0x00cd
+0x8564 0x00ce
+0x8565 0x00cf
+0x8566 0x00d0
+0x8567 0x00d1
+0x8568 0x00d2
+0x8569 0x00d3
+0x856a 0x00d4
+0x856b 0x00d5
+0x856c 0x00d6
+0x856d 0x00d8
+0x856e 0x00d9
+0x856f 0x00da
+0x8570 0x00db
+0x8571 0x00dc
+0x8572 0x00dd
+0x8573 0x00de
+0x8574 0x00df
+0x8575 0x00e0
+0x8576 0x00e1
+0x8577 0x00e2
+0x8578 0x00e3
+0x8579 0x00e4
+0x857a 0x00e5
+0x857b 0x00e6
+0x857c 0x00e7
+0x857d 0x00e8
+0x857e 0x00e9
+0x8580 0x00ea
+0x8581 0x00eb
+0x8582 0x00ec
+0x8583 0x00ed
+0x8584 0x00ee
+0x8585 0x00ef
+0x8586 0x00f0
+0x8587 0x00f1
+0x8588 0x00f2
+0x8589 0x00f3
+0x858a 0x00f4
+0x858b 0x00f5
+0x858c 0x00f6
+0x858d 0x00f8
+0x858e 0x00f9
+0x858f 0x00fa
+0x8590 0x00fb
+0x8591 0x00fc
+0x8592 0x00fd
+0x8593 0x00fe
+0x8594 0x00ff
+0x8595 0x0100
+0x8596 0x012a
+0x8597 0x016a
+0x8598 0x0112
+0x8599 0x014c
+0x859a 0x0101
+0x859b 0x012b
+0x859c 0x016b
+0x859d 0x0113
+0x859e 0x014d
+0x859f 0x0104
+0x85a0 0x02d8
+0x85a1 0x0141
+0x85a2 0x013d
+0x85a3 0x015a
+0x85a4 0x0160
+0x85a5 0x015e
+0x85a6 0x0164
+0x85a7 0x0179
+0x85a8 0x017d
+0x85a9 0x017b
+0x85aa 0x0105
+0x85ab 0x02db
+0x85ac 0x0142
+0x85ad 0x013e
+0x85ae 0x015b
+0x85af 0x02c7
+0x85b0 0x0161
+0x85b1 0x015f
+0x85b2 0x0165
+0x85b3 0x017a
+0x85b4 0x02dd
+0x85b5 0x017e
+0x85b6 0x017c
+0x85b7 0x0154
+0x85b8 0x0102
+0x85b9 0x0139
+0x85ba 0x0106
+0x85bb 0x010c
+0x85bc 0x0118
+0x85bd 0x011a
+0x85be 0x010e
+0x85bf 0x0143
+0x85c0 0x0147
+0x85c1 0x0150
+0x85c2 0x0158
+0x85c3 0x016e
+0x85c4 0x0170
+0x85c5 0x0162
+0x85c6 0x0155
+0x85c7 0x0103
+0x85c8 0x013a
+0x85c9 0x0107
+0x85ca 0x010d
+0x85cb 0x0119
+0x85cc 0x011b
+0x85cd 0x010f
+0x85ce 0x0111
+0x85cf 0x0144
+0x85d0 0x0148
+0x85d1 0x0151
+0x85d2 0x0159
+0x85d3 0x016f
+0x85d4 0x0171
+0x85d5 0x0163
+0x85d6 0x02d9
+0x85d7 0x0108
+0x85d8 0x011c
+0x85d9 0x0124
+0x85da 0x0134
+0x85db 0x015c
+0x85dc 0x016c
+0x85dd 0x0109
+0x85de 0x011d
+0x85df 0x0125
+0x85e0 0x0135
+0x85e1 0x015d
+0x85e2 0x016d
+0x85e3 0x0271
+0x85e4 0x028b
+0x85e5 0x027e
+0x85e6 0x0283
+0x85e7 0x0292
+0x85e8 0x026c
+0x85e9 0x026e
+0x85ea 0x0279
+0x85eb 0x0288
+0x85ec 0x0256
+0x85ed 0x0273
+0x85ee 0x027d
+0x85ef 0x0282
+0x85f0 0x0290
+0x85f1 0x027b
+0x85f2 0x026d
+0x85f3 0x025f
+0x85f4 0x0272
+0x85f5 0x029d
+0x85f6 0x028e
+0x85f7 0x0261
+0x85f8 0x014b
+0x85f9 0x0270
+0x85fa 0x0281
+0x85fb 0x0127
+0x85fc 0x0295
+0x8640 0x0294
+0x8641 0x0266
+0x8642 0x0298
+0x8643 0x01c2
+0x8644 0x0253
+0x8645 0x0257
+0x8646 0x0284
+0x8647 0x0260
+0x8648 0x0193
+0x8649 0x0153
+0x864a 0x0152
+0x864b 0x0268
+0x864c 0x0289
+0x864d 0x0258
+0x864e 0x0275
+0x864f 0x0259
+0x8650 0x025c
+0x8651 0x025e
+0x8652 0x0250
+0x8653 0x026f
+0x8654 0x028a
+0x8655 0x0264
+0x8656 0x028c
+0x8657 0x0254
+0x8658 0x0251
+0x8659 0x0252
+0x865a 0x028d
+0x865b 0x0265
+0x865c 0x02a2
+0x865d 0x02a1
+0x865e 0x0255
+0x865f 0x0291
+0x8660 0x027a
+0x8661 0x0267
+0x8662 0x025a
+0x8663 0x00e6
+0x8664 0x01fd
+0x8665 0x1f70
+0x8666 0x1f71
+0x8667 0x0254
+0x8668 0x0254
+0x8669 0x028c
+0x866a 0x028c
+0x866b 0x0259
+0x866c 0x0259
+0x866d 0x025a
+0x866e 0x025a
+0x866f 0x1f72
+0x8670 0x1f73
+0x8671 0x0361
+0x8672 0x02c8
+0x8673 0x02cc
+0x8674 0x02d0
+0x8675 0x02d1
+0x8676 0x0306
+0x8677 0x203f
+0x8678 0x030b
+0x8679 0x0301
+0x867a 0x0304
+0x867b 0x0300
+0x867c 0x030f
+0x867d 0x030c
+0x867e 0x0302
+0x8680 0x02e5
+0x8681 0x02e6
+0x8682 0x02e7
+0x8683 0x02e8
+0x8684 0x02e9
+0x8685 0x02e9
+0x8686 0x02e5
+0x8687 0x0325
+0x8688 0x032c
+0x8689 0x0339
+0x868a 0x031c
+0x868b 0x031f
+0x868c 0x0320
+0x868d 0x0308
+0x868e 0x033d
+0x868f 0x0329
+0x8690 0x032f
+0x8691 0x02de
+0x8692 0x0324
+0x8693 0x0330
+0x8694 0x033c
+0x8695 0x0334
+0x8696 0x031d
+0x8697 0x031e
+0x8698 0x0318
+0x8699 0x0319
+0x869a 0x032a
+0x869b 0x033a
+0x869c 0x033b
+0x869d 0x0303
+0x869e 0x031a
+0x869f 0x2776
+0x86a0 0x2777
+0x86a1 0x2778
+0x86a2 0x2779
+0x86a3 0x277a
+0x86a4 0x277b
+0x86a5 0x277c
+0x86a6 0x277d
+0x86a7 0x277e
+0x86a8 0x277f
+0x86a9 0x24eb
+0x86aa 0x24ec
+0x86ab 0x24ed
+0x86ac 0x24ee
+0x86ad 0x24ef
+0x86ae 0x24f0
+0x86af 0x24f1
+0x86b0 0x24f2
+0x86b1 0x24f3
+0x86b2 0x24f4
+0x86b3 0x2170
+0x86b4 0x2171
+0x86b5 0x2172
+0x86b6 0x2173
+0x86b7 0x2174
+0x86b8 0x2175
+0x86b9 0x2176
+0x86ba 0x2177
+0x86bb 0x2178
+0x86bc 0x2179
+0x86bd 0x217a
+0x86be 0x217b
+0x86bf 0x24d0
+0x86c0 0x24d1
+0x86c1 0x24d2
+0x86c2 0x24d3
+0x86c3 0x24d4
+0x86c4 0x24d5
+0x86c5 0x24d6
+0x86c6 0x24d7
+0x86c7 0x24d8
+0x86c8 0x24d9
+0x86c9 0x24da
+0x86ca 0x24db
+0x86cb 0x24dc
+0x86cc 0x24dd
+0x86cd 0x24de
+0x86ce 0x24df
+0x86cf 0x24e0
+0x86d0 0x24e1
+0x86d1 0x24e2
+0x86d2 0x24e3
+0x86d3 0x24e4
+0x86d4 0x24e5
+0x86d5 0x24e6
+0x86d6 0x24e7
+0x86d7 0x24e8
+0x86d8 0x24e9
+0x86d9 0x32d0
+0x86da 0x32d1
+0x86db 0x32d2
+0x86dc 0x32d3
+0x86dd 0x32d4
+0x86de 0x32d5
+0x86df 0x32d6
+0x86e0 0x32d7
+0x86e1 0x32d8
+0x86e2 0x32d9
+0x86e3 0x32da
+0x86e4 0x32db
+0x86e5 0x32dc
+0x86e6 0x32dd
+0x86e7 0x32de
+0x86e8 0x32df
+0x86e9 0x32e0
+0x86ea 0x32e1
+0x86eb 0x32e2
+0x86ec 0x32e3
+0x86ed 0x32fa
+0x86ee 0x32e9
+0x86ef 0x32e5
+0x86f0 0x32ed
+0x86f1 0x32ec
+0x86fb 0x2051
+0x86fc 0x2042
+0x8740 0x2460
+0x8741 0x2461
+0x8742 0x2462
+0x8743 0x2463
+0x8744 0x2464
+0x8745 0x2465
+0x8746 0x2466
+0x8747 0x2467
+0x8748 0x2468
+0x8749 0x2469
+0x874a 0x246a
+0x874b 0x246b
+0x874c 0x246c
+0x874d 0x246d
+0x874e 0x246e
+0x874f 0x246f
+0x8750 0x2470
+0x8751 0x2471
+0x8752 0x2472
+0x8753 0x2473
+0x8754 0x2160
+0x8755 0x2161
+0x8756 0x2162
+0x8757 0x2163
+0x8758 0x2164
+0x8759 0x2165
+0x875a 0x2166
+0x875b 0x2167
+0x875c 0x2168
+0x875d 0x2169
+0x875e 0x216a
+0x875f 0x3349
+0x8760 0x3314
+0x8761 0x3322
+0x8762 0x334d
+0x8763 0x3318
+0x8764 0x3327
+0x8765 0x3303
+0x8766 0x3336
+0x8767 0x3351
+0x8768 0x3357
+0x8769 0x330d
+0x876a 0x3326
+0x876b 0x3323
+0x876c 0x332b
+0x876d 0x334a
+0x876e 0x333b
+0x876f 0x339c
+0x8770 0x339d
+0x8771 0x339e
+0x8772 0x338e
+0x8773 0x338f
+0x8774 0x33c4
+0x8775 0x33a1
+0x8776 0x216b
+0x877e 0x337b
+0x8780 0x301d
+0x8781 0x301f
+0x8782 0x2116
+0x8783 0x33cd
+0x8784 0x2121
+0x8785 0x32a4
+0x8786 0x32a5
+0x8787 0x32a6
+0x8788 0x32a7
+0x8789 0x32a8
+0x878a 0x3231
+0x878b 0x3232
+0x878c 0x3239
+0x878d 0x337e
+0x878e 0x337d
+0x878f 0x337c
+0x8793 0x222e
+0x8798 0x221f
+0x8799 0x22bf
+0x879d 0x2756
+0x879e 0x261e
+0x879f 0x4ff1
+0x87a0 0x2000b
+0x87a1 0x3402
+0x87a2 0x4e28
+0x87a3 0x4e2f
+0x87a4 0x4e30
+0x87a5 0x4e8d
+0x87a6 0x4ee1
+0x87a7 0x4efd
+0x87a8 0x4eff
+0x87a9 0x4f03
+0x87aa 0x4f0b
+0x87ab 0x4f60
+0x87ac 0x4f48
+0x87ad 0x4f49
+0x87ae 0x4f56
+0x87af 0x4f5f
+0x87b0 0x4f6a
+0x87b1 0x4f6c
+0x87b2 0x4f7e
+0x87b3 0x4f8a
+0x87b4 0x4f94
+0x87b5 0x4f97
+0x87b6 0xfa30
+0x87b7 0x4fc9
+0x87b8 0x4fe0
+0x87b9 0x5001
+0x87ba 0x5002
+0x87bb 0x500e
+0x87bc 0x5018
+0x87bd 0x5027
+0x87be 0x502e
+0x87bf 0x5040
+0x87c0 0x503b
+0x87c1 0x5041
+0x87c2 0x5094
+0x87c3 0x50cc
+0x87c4 0x50f2
+0x87c5 0x50d0
+0x87c6 0x50e6
+0x87c7 0xfa31
+0x87c8 0x5106
+0x87c9 0x5103
+0x87ca 0x510b
+0x87cb 0x511e
+0x87cc 0x5135
+0x87cd 0x514a
+0x87ce 0xfa32
+0x87cf 0x5155
+0x87d0 0x5157
+0x87d1 0x34b5
+0x87d2 0x519d
+0x87d3 0x51c3
+0x87d4 0x51ca
+0x87d5 0x51de
+0x87d6 0x51e2
+0x87d7 0x51ee
+0x87d8 0x5201
+0x87d9 0x34db
+0x87da 0x5213
+0x87db 0x5215
+0x87dc 0x5249
+0x87dd 0x5257
+0x87de 0x5261
+0x87df 0x5293
+0x87e0 0x52c8
+0x87e1 0xfa33
+0x87e2 0x52cc
+0x87e3 0x52d0
+0x87e4 0x52d6
+0x87e5 0x52db
+0x87e6 0xfa34
+0x87e7 0x52f0
+0x87e8 0x52fb
+0x87e9 0x5300
+0x87ea 0x5307
+0x87eb 0x531c
+0x87ec 0xfa35
+0x87ed 0x5361
+0x87ee 0x5363
+0x87ef 0x537d
+0x87f0 0x5393
+0x87f1 0x539d
+0x87f2 0x53b2
+0x87f3 0x5412
+0x87f4 0x5427
+0x87f5 0x544d
+0x87f6 0x549c
+0x87f7 0x546b
+0x87f8 0x5474
+0x87f9 0x547f
+0x87fa 0x5488
+0x87fb 0x5496
+0x87fc 0x54a1
+0x8840 0x54a9
+0x8841 0x54c6
+0x8842 0x54ff
+0x8843 0x550e
+0x8844 0x552b
+0x8845 0x5535
+0x8846 0x5550
+0x8847 0x555e
+0x8848 0x5581
+0x8849 0x5586
+0x884a 0x558e
+0x884b 0xfa36
+0x884c 0x55ad
+0x884d 0x55ce
+0x884e 0xfa37
+0x884f 0x5608
+0x8850 0x560e
+0x8851 0x563b
+0x8852 0x5649
+0x8853 0x5676
+0x8854 0x5666
+0x8855 0xfa38
+0x8856 0x566f
+0x8857 0x5671
+0x8858 0x5672
+0x8859 0x5699
+0x885a 0x569e
+0x885b 0x56a9
+0x885c 0x56ac
+0x885d 0x56b3
+0x885e 0x56c9
+0x885f 0x56ca
+0x8860 0x570a
+0x8861 0x2123d
+0x8862 0x5721
+0x8863 0x572f
+0x8864 0x5733
+0x8865 0x5734
+0x8866 0x5770
+0x8867 0x5777
+0x8868 0x577c
+0x8869 0x579c
+0x886a 0xfa0f
+0x886b 0x2131b
+0x886c 0x57b8
+0x886d 0x57c7
+0x886e 0x57c8
+0x886f 0x57cf
+0x8870 0x57e4
+0x8871 0x57ed
+0x8872 0x57f5
+0x8873 0x57f6
+0x8874 0x57ff
+0x8875 0x5809
+0x8876 0xfa10
+0x8877 0x5861
+0x8878 0x5864
+0x8879 0xfa39
+0x887a 0x587c
+0x887b 0x5889
+0x887c 0x589e
+0x887d 0xfa3a
+0x887e 0x58a9
+0x8880 0x2146e
+0x8881 0x58d2
+0x8882 0x58ce
+0x8883 0x58d4
+0x8884 0x58da
+0x8885 0x58e0
+0x8886 0x58e9
+0x8887 0x590c
+0x8888 0x8641
+0x8889 0x595d
+0x888a 0x596d
+0x888b 0x598b
+0x888c 0x5992
+0x888d 0x59a4
+0x888e 0x59c3
+0x888f 0x59d2
+0x8890 0x59dd
+0x8891 0x5a13
+0x8892 0x5a23
+0x8893 0x5a67
+0x8894 0x5a6d
+0x8895 0x5a77
+0x8896 0x5a7e
+0x8897 0x5a84
+0x8898 0x5a9e
+0x8899 0x5aa7
+0x889a 0x5ac4
+0x889b 0x218bd
+0x889c 0x5b19
+0x889d 0x5b25
+0x889e 0x525d
0x889f 0x4e9c
0x88a0 0x5516
0x88a1 0x5a03
@@ -3583,6 +4526,49 @@
0x9870 0x6e7e
0x9871 0x7897
0x9872 0x8155
+0x9873 0x20b9f
+0x9874 0x5b41
+0x9875 0x5b56
+0x9876 0x5b7d
+0x9877 0x5b93
+0x9878 0x5bd8
+0x9879 0x5bec
+0x987a 0x5c12
+0x987b 0x5c1e
+0x987c 0x5c23
+0x987d 0x5c2b
+0x987e 0x378d
+0x9880 0x5c62
+0x9881 0xfa3b
+0x9882 0xfa3c
+0x9883 0x216b4
+0x9884 0x5c7a
+0x9885 0x5c8f
+0x9886 0x5c9f
+0x9887 0x5ca3
+0x9888 0x5caa
+0x9889 0x5cba
+0x988a 0x5ccb
+0x988b 0x5cd0
+0x988c 0x5cd2
+0x988d 0x5cf4
+0x988e 0x21e34
+0x988f 0x37e2
+0x9890 0x5d0d
+0x9891 0x5d27
+0x9892 0xfa11
+0x9893 0x5d46
+0x9894 0x5d47
+0x9895 0x5d53
+0x9896 0x5d4a
+0x9897 0x5d6d
+0x9898 0x5d81
+0x9899 0x5da0
+0x989a 0x5da4
+0x989b 0x5da7
+0x989c 0x5db8
+0x989d 0x5dcb
+0x989e 0x541e
0x989f 0x5f0c
0x98a0 0x4e10
0x98a1 0x4e15
@@ -4993,69 +5979,6 @@
0x9ffa 0x6eef
0x9ffb 0x6f32
0x9ffc 0x6ecc
-0xa1 0xff61
-0xa2 0xff62
-0xa3 0xff63
-0xa4 0xff64
-0xa5 0xff65
-0xa6 0xff66
-0xa7 0xff67
-0xa8 0xff68
-0xa9 0xff69
-0xaa 0xff6a
-0xab 0xff6b
-0xac 0xff6c
-0xad 0xff6d
-0xae 0xff6e
-0xaf 0xff6f
-0xb0 0xff70
-0xb1 0xff71
-0xb2 0xff72
-0xb3 0xff73
-0xb4 0xff74
-0xb5 0xff75
-0xb6 0xff76
-0xb7 0xff77
-0xb8 0xff78
-0xb9 0xff79
-0xba 0xff7a
-0xbb 0xff7b
-0xbc 0xff7c
-0xbd 0xff7d
-0xbe 0xff7e
-0xbf 0xff7f
-0xc0 0xff80
-0xc1 0xff81
-0xc2 0xff82
-0xc3 0xff83
-0xc4 0xff84
-0xc5 0xff85
-0xc6 0xff86
-0xc7 0xff87
-0xc8 0xff88
-0xc9 0xff89
-0xca 0xff8a
-0xcb 0xff8b
-0xcc 0xff8c
-0xcd 0xff8d
-0xce 0xff8e
-0xcf 0xff8f
-0xd0 0xff90
-0xd1 0xff91
-0xd2 0xff92
-0xd3 0xff93
-0xd4 0xff94
-0xd5 0xff95
-0xd6 0xff96
-0xd7 0xff97
-0xd8 0xff98
-0xd9 0xff99
-0xda 0xff9a
-0xdb 0xff9b
-0xdc 0xff9c
-0xdd 0xff9d
-0xde 0xff9e
-0xdf 0xff9f
0xe040 0x6f3e
0xe041 0x6f13
0xe042 0x6ef7
@@ -7036,3 +7959,3467 @@
0xeaa2 0x7464
0xeaa3 0x51dc
0xeaa4 0x7199
+0xeaa5 0x5653
+0xeaa6 0x5de2
+0xeaa7 0x5e14
+0xeaa8 0x5e18
+0xeaa9 0x5e58
+0xeaaa 0x5e5e
+0xeaab 0x5ebe
+0xeaac 0xf928
+0xeaad 0x5ecb
+0xeaae 0x5ef9
+0xeaaf 0x5f00
+0xeab0 0x5f02
+0xeab1 0x5f07
+0xeab2 0x5f1d
+0xeab3 0x5f23
+0xeab4 0x5f34
+0xeab5 0x5f36
+0xeab6 0x5f3d
+0xeab7 0x5f40
+0xeab8 0x5f45
+0xeab9 0x5f54
+0xeaba 0x5f58
+0xeabb 0x5f64
+0xeabc 0x5f67
+0xeabd 0x5f7d
+0xeabe 0x5f89
+0xeabf 0x5f9c
+0xeac0 0x5fa7
+0xeac1 0x5faf
+0xeac2 0x5fb5
+0xeac3 0x5fb7
+0xeac4 0x5fc9
+0xeac5 0x5fde
+0xeac6 0x5fe1
+0xeac7 0x5fe9
+0xeac8 0x600d
+0xeac9 0x6014
+0xeaca 0x6018
+0xeacb 0x6033
+0xeacc 0x6035
+0xeacd 0x6047
+0xeace 0xfa3d
+0xeacf 0x609d
+0xead0 0x609e
+0xead1 0x60cb
+0xead2 0x60d4
+0xead3 0x60d5
+0xead4 0x60dd
+0xead5 0x60f8
+0xead6 0x611c
+0xead7 0x612b
+0xead8 0x6130
+0xead9 0x6137
+0xeada 0xfa3e
+0xeadb 0x618d
+0xeadc 0xfa3f
+0xeadd 0x61bc
+0xeade 0x61b9
+0xeadf 0xfa40
+0xeae0 0x6222
+0xeae1 0x623e
+0xeae2 0x6243
+0xeae3 0x6256
+0xeae4 0x625a
+0xeae5 0x626f
+0xeae6 0x6285
+0xeae7 0x62c4
+0xeae8 0x62d6
+0xeae9 0x62fc
+0xeaea 0x630a
+0xeaeb 0x6318
+0xeaec 0x6339
+0xeaed 0x6343
+0xeaee 0x6365
+0xeaef 0x637c
+0xeaf0 0x63e5
+0xeaf1 0x63ed
+0xeaf2 0x63f5
+0xeaf3 0x6410
+0xeaf4 0x6414
+0xeaf5 0x6422
+0xeaf6 0x6479
+0xeaf7 0x6451
+0xeaf8 0x6460
+0xeaf9 0x646d
+0xeafa 0x64ce
+0xeafb 0x64be
+0xeafc 0x64bf
+0xeb40 0x64c4
+0xeb41 0x64ca
+0xeb42 0x64d0
+0xeb43 0x64f7
+0xeb44 0x64fb
+0xeb45 0x6522
+0xeb46 0x6529
+0xeb47 0xfa41
+0xeb48 0x6567
+0xeb49 0x659d
+0xeb4a 0xfa42
+0xeb4b 0x6600
+0xeb4c 0x6609
+0xeb4d 0x6615
+0xeb4e 0x661e
+0xeb4f 0x663a
+0xeb50 0x6622
+0xeb51 0x6624
+0xeb52 0x662b
+0xeb53 0x6630
+0xeb54 0x6631
+0xeb55 0x6633
+0xeb56 0x66fb
+0xeb57 0x6648
+0xeb58 0x664c
+0xeb59 0x231c4
+0xeb5a 0x6659
+0xeb5b 0x665a
+0xeb5c 0x6661
+0xeb5d 0x6665
+0xeb5e 0x6673
+0xeb5f 0x6677
+0xeb60 0x6678
+0xeb61 0x668d
+0xeb62 0xfa43
+0xeb63 0x66a0
+0xeb64 0x66b2
+0xeb65 0x66bb
+0xeb66 0x66c6
+0xeb67 0x66c8
+0xeb68 0x3b22
+0xeb69 0x66db
+0xeb6a 0x66e8
+0xeb6b 0x66fa
+0xeb6c 0x6713
+0xeb6d 0xf929
+0xeb6e 0x6733
+0xeb6f 0x6766
+0xeb70 0x6747
+0xeb71 0x6748
+0xeb72 0x677b
+0xeb73 0x6781
+0xeb74 0x6793
+0xeb75 0x6798
+0xeb76 0x679b
+0xeb77 0x67bb
+0xeb78 0x67f9
+0xeb79 0x67c0
+0xeb7a 0x67d7
+0xeb7b 0x67fc
+0xeb7c 0x6801
+0xeb7d 0x6852
+0xeb7e 0x681d
+0xeb80 0x682c
+0xeb81 0x6831
+0xeb82 0x685b
+0xeb83 0x6872
+0xeb84 0x6875
+0xeb85 0xfa44
+0xeb86 0x68a3
+0xeb87 0x68a5
+0xeb88 0x68b2
+0xeb89 0x68c8
+0xeb8a 0x68d0
+0xeb8b 0x68e8
+0xeb8c 0x68ed
+0xeb8d 0x68f0
+0xeb8e 0x68f1
+0xeb8f 0x68fc
+0xeb90 0x690a
+0xeb91 0x6949
+0xeb92 0x235c4
+0xeb93 0x6935
+0xeb94 0x6942
+0xeb95 0x6957
+0xeb96 0x6963
+0xeb97 0x6964
+0xeb98 0x6968
+0xeb99 0x6980
+0xeb9a 0xfa14
+0xeb9b 0x69a5
+0xeb9c 0x69ad
+0xeb9d 0x69cf
+0xeb9e 0x3bb6
+0xeb9f 0x3bc3
+0xeba0 0x69e2
+0xeba1 0x69e9
+0xeba2 0x69ea
+0xeba3 0x69f5
+0xeba4 0x69f6
+0xeba5 0x6a0f
+0xeba6 0x6a15
+0xeba7 0x2373f
+0xeba8 0x6a3b
+0xeba9 0x6a3e
+0xebaa 0x6a45
+0xebab 0x6a50
+0xebac 0x6a56
+0xebad 0x6a5b
+0xebae 0x6a6b
+0xebaf 0x6a73
+0xebb0 0x23763
+0xebb1 0x6a89
+0xebb2 0x6a94
+0xebb3 0x6a9d
+0xebb4 0x6a9e
+0xebb5 0x6aa5
+0xebb6 0x6ae4
+0xebb7 0x6ae7
+0xebb8 0x3c0f
+0xebb9 0xf91d
+0xebba 0x6b1b
+0xebbb 0x6b1e
+0xebbc 0x6b2c
+0xebbd 0x6b35
+0xebbe 0x6b46
+0xebbf 0x6b56
+0xebc0 0x6b60
+0xebc1 0x6b65
+0xebc2 0x6b67
+0xebc3 0x6b77
+0xebc4 0x6b82
+0xebc5 0x6ba9
+0xebc6 0x6bad
+0xebc7 0xf970
+0xebc8 0x6bcf
+0xebc9 0x6bd6
+0xebca 0x6bd7
+0xebcb 0x6bff
+0xebcc 0x6c05
+0xebcd 0x6c10
+0xebce 0x6c33
+0xebcf 0x6c59
+0xebd0 0x6c5c
+0xebd1 0x6caa
+0xebd2 0x6c74
+0xebd3 0x6c76
+0xebd4 0x6c85
+0xebd5 0x6c86
+0xebd6 0x6c98
+0xebd7 0x6c9c
+0xebd8 0x6cfb
+0xebd9 0x6cc6
+0xebda 0x6cd4
+0xebdb 0x6ce0
+0xebdc 0x6ceb
+0xebdd 0x6cee
+0xebde 0x23cfe
+0xebdf 0x6d04
+0xebe0 0x6d0e
+0xebe1 0x6d2e
+0xebe2 0x6d31
+0xebe3 0x6d39
+0xebe4 0x6d3f
+0xebe5 0x6d58
+0xebe6 0x6d65
+0xebe7 0xfa45
+0xebe8 0x6d82
+0xebe9 0x6d87
+0xebea 0x6d89
+0xebeb 0x6d94
+0xebec 0x6daa
+0xebed 0x6dac
+0xebee 0x6dbf
+0xebef 0x6dc4
+0xebf0 0x6dd6
+0xebf1 0x6dda
+0xebf2 0x6ddb
+0xebf3 0x6ddd
+0xebf4 0x6dfc
+0xebf5 0xfa46
+0xebf6 0x6e34
+0xebf7 0x6e44
+0xebf8 0x6e5c
+0xebf9 0x6e5e
+0xebfa 0x6eab
+0xebfb 0x6eb1
+0xebfc 0x6ec1
+0xec40 0x6ec7
+0xec41 0x6ece
+0xec42 0x6f10
+0xec43 0x6f1a
+0xec44 0xfa47
+0xec45 0x6f2a
+0xec46 0x6f2f
+0xec47 0x6f33
+0xec48 0x6f51
+0xec49 0x6f59
+0xec4a 0x6f5e
+0xec4b 0x6f61
+0xec4c 0x6f62
+0xec4d 0x6f7e
+0xec4e 0x6f88
+0xec4f 0x6f8c
+0xec50 0x6f8d
+0xec51 0x6f94
+0xec52 0x6fa0
+0xec53 0x6fa7
+0xec54 0x6fb6
+0xec55 0x6fbc
+0xec56 0x6fc7
+0xec57 0x6fca
+0xec58 0x6ff9
+0xec59 0x6ff0
+0xec5a 0x6ff5
+0xec5b 0x7005
+0xec5c 0x7006
+0xec5d 0x7028
+0xec5e 0x704a
+0xec5f 0x705d
+0xec60 0x705e
+0xec61 0x704e
+0xec62 0x7064
+0xec63 0x7075
+0xec64 0x7085
+0xec65 0x70a4
+0xec66 0x70ab
+0xec67 0x70b7
+0xec68 0x70d4
+0xec69 0x70d8
+0xec6a 0x70e4
+0xec6b 0x710f
+0xec6c 0x712b
+0xec6d 0x711e
+0xec6e 0x7120
+0xec6f 0x712e
+0xec70 0x7130
+0xec71 0x7146
+0xec72 0x7147
+0xec73 0x7151
+0xec74 0xfa48
+0xec75 0x7152
+0xec76 0x715c
+0xec77 0x7160
+0xec78 0x7168
+0xec79 0xfa15
+0xec7a 0x7185
+0xec7b 0x7187
+0xec7c 0x7192
+0xec7d 0x71c1
+0xec7e 0x71ba
+0xec80 0x71c4
+0xec81 0x71fe
+0xec82 0x7200
+0xec83 0x7215
+0xec84 0x7255
+0xec85 0x7256
+0xec86 0x3e3f
+0xec87 0x728d
+0xec88 0x729b
+0xec89 0x72be
+0xec8a 0x72c0
+0xec8b 0x72fb
+0xec8c 0x247f1
+0xec8d 0x7327
+0xec8e 0x7328
+0xec8f 0xfa16
+0xec90 0x7350
+0xec91 0x7366
+0xec92 0x737c
+0xec93 0x7395
+0xec94 0x739f
+0xec95 0x73a0
+0xec96 0x73a2
+0xec97 0x73a6
+0xec98 0x73ab
+0xec99 0x73c9
+0xec9a 0x73cf
+0xec9b 0x73d6
+0xec9c 0x73d9
+0xec9d 0x73e3
+0xec9e 0x73e9
+0xec9f 0x7407
+0xeca0 0x740a
+0xeca1 0x741a
+0xeca2 0x741b
+0xeca3 0xfa4a
+0xeca4 0x7426
+0xeca5 0x7428
+0xeca6 0x742a
+0xeca7 0x742b
+0xeca8 0x742c
+0xeca9 0x742e
+0xecaa 0x742f
+0xecab 0x7430
+0xecac 0x7444
+0xecad 0x7446
+0xecae 0x7447
+0xecaf 0x744b
+0xecb0 0x7457
+0xecb1 0x7462
+0xecb2 0x746b
+0xecb3 0x746d
+0xecb4 0x7486
+0xecb5 0x7487
+0xecb6 0x7489
+0xecb7 0x7498
+0xecb8 0x749c
+0xecb9 0x749f
+0xecba 0x74a3
+0xecbb 0x7490
+0xecbc 0x74a6
+0xecbd 0x74a8
+0xecbe 0x74a9
+0xecbf 0x74b5
+0xecc0 0x74bf
+0xecc1 0x74c8
+0xecc2 0x74c9
+0xecc3 0x74da
+0xecc4 0x74ff
+0xecc5 0x7501
+0xecc6 0x7517
+0xecc7 0x752f
+0xecc8 0x756f
+0xecc9 0x7579
+0xecca 0x7592
+0xeccb 0x3f72
+0xeccc 0x75ce
+0xeccd 0x75e4
+0xecce 0x7600
+0xeccf 0x7602
+0xecd0 0x7608
+0xecd1 0x7615
+0xecd2 0x7616
+0xecd3 0x7619
+0xecd4 0x761e
+0xecd5 0x762d
+0xecd6 0x7635
+0xecd7 0x7643
+0xecd8 0x764b
+0xecd9 0x7664
+0xecda 0x7665
+0xecdb 0x766d
+0xecdc 0x766f
+0xecdd 0x7671
+0xecde 0x7681
+0xecdf 0x769b
+0xece0 0x769d
+0xece1 0x769e
+0xece2 0x76a6
+0xece3 0x76aa
+0xece4 0x76b6
+0xece5 0x76c5
+0xece6 0x76cc
+0xece7 0x76ce
+0xece8 0x76d4
+0xece9 0x76e6
+0xecea 0x76f1
+0xeceb 0x76fc
+0xecec 0x770a
+0xeced 0x7719
+0xecee 0x7734
+0xecef 0x7736
+0xecf0 0x7746
+0xecf1 0x774d
+0xecf2 0x774e
+0xecf3 0x775c
+0xecf4 0x775f
+0xecf5 0x7762
+0xecf6 0x777a
+0xecf7 0x7780
+0xecf8 0x7794
+0xecf9 0x77aa
+0xecfa 0x77e0
+0xecfb 0x782d
+0xecfc 0x2548e
+0xed40 0x7843
+0xed41 0x784e
+0xed42 0x784f
+0xed43 0x7851
+0xed44 0x7868
+0xed45 0x786e
+0xed46 0xfa4b
+0xed47 0x78b0
+0xed48 0x2550e
+0xed49 0x78ad
+0xed4a 0x78e4
+0xed4b 0x78f2
+0xed4c 0x7900
+0xed4d 0x78f7
+0xed4e 0x791c
+0xed4f 0x792e
+0xed50 0x7931
+0xed51 0x7934
+0xed52 0xfa4c
+0xed53 0xfa4d
+0xed54 0x7945
+0xed55 0x7946
+0xed56 0xfa4e
+0xed57 0xfa4f
+0xed58 0xfa50
+0xed59 0x795c
+0xed5a 0xfa51
+0xed5b 0xfa19
+0xed5c 0xfa1a
+0xed5d 0x7979
+0xed5e 0xfa52
+0xed5f 0xfa53
+0xed60 0xfa1b
+0xed61 0x7998
+0xed62 0x79b1
+0xed63 0x79b8
+0xed64 0x79c8
+0xed65 0x79ca
+0xed66 0x25771
+0xed67 0x79d4
+0xed68 0x79de
+0xed69 0x79eb
+0xed6a 0x79ed
+0xed6b 0x7a03
+0xed6c 0xfa54
+0xed6d 0x7a39
+0xed6e 0x7a5d
+0xed6f 0x7a6d
+0xed70 0xfa55
+0xed71 0x7a85
+0xed72 0x7aa0
+0xed73 0x259c4
+0xed74 0x7ab3
+0xed75 0x7abb
+0xed76 0x7ace
+0xed77 0x7aeb
+0xed78 0x7afd
+0xed79 0x7b12
+0xed7a 0x7b2d
+0xed7b 0x7b3b
+0xed7c 0x7b47
+0xed7d 0x7b4e
+0xed7e 0x7b60
+0xed80 0x7b6d
+0xed81 0x7b6f
+0xed82 0x7b72
+0xed83 0x7b9e
+0xed84 0xfa56
+0xed85 0x7bd7
+0xed86 0x7bd9
+0xed87 0x7c01
+0xed88 0x7c31
+0xed89 0x7c1e
+0xed8a 0x7c20
+0xed8b 0x7c33
+0xed8c 0x7c36
+0xed8d 0x4264
+0xed8e 0x25da1
+0xed8f 0x7c59
+0xed90 0x7c6d
+0xed91 0x7c79
+0xed92 0x7c8f
+0xed93 0x7c94
+0xed94 0x7ca0
+0xed95 0x7cbc
+0xed96 0x7cd5
+0xed97 0x7cd9
+0xed98 0x7cdd
+0xed99 0x7d07
+0xed9a 0x7d08
+0xed9b 0x7d13
+0xed9c 0x7d1d
+0xed9d 0x7d23
+0xed9e 0x7d31
+0xed9f 0x7d41
+0xeda0 0x7d48
+0xeda1 0x7d53
+0xeda2 0x7d5c
+0xeda3 0x7d7a
+0xeda4 0x7d83
+0xeda5 0x7d8b
+0xeda6 0x7da0
+0xeda7 0x7da6
+0xeda8 0x7dc2
+0xeda9 0x7dcc
+0xedaa 0x7dd6
+0xedab 0x7de3
+0xedac 0xfa57
+0xedad 0x7e28
+0xedae 0x7e08
+0xedaf 0x7e11
+0xedb0 0x7e15
+0xedb1 0xfa59
+0xedb2 0x7e47
+0xedb3 0x7e52
+0xedb4 0x7e61
+0xedb5 0x7e8a
+0xedb6 0x7e8d
+0xedb7 0x7f47
+0xedb8 0xfa5a
+0xedb9 0x7f91
+0xedba 0x7f97
+0xedbb 0x7fbf
+0xedbc 0x7fce
+0xedbd 0x7fdb
+0xedbe 0x7fdf
+0xedbf 0x7fec
+0xedc0 0x7fee
+0xedc1 0x7ffa
+0xedc2 0xfa5b
+0xedc3 0x8014
+0xedc4 0x8026
+0xedc5 0x8035
+0xedc6 0x8037
+0xedc7 0x803c
+0xedc8 0x80ca
+0xedc9 0x80d7
+0xedca 0x80e0
+0xedcb 0x80f3
+0xedcc 0x8118
+0xedcd 0x814a
+0xedce 0x8160
+0xedcf 0x8167
+0xedd0 0x8168
+0xedd1 0x816d
+0xedd2 0x81bb
+0xedd3 0x81ca
+0xedd4 0x81cf
+0xedd5 0x81d7
+0xedd6 0xfa5c
+0xedd7 0x4453
+0xedd8 0x445b
+0xedd9 0x8260
+0xedda 0x8274
+0xeddb 0x26aff
+0xeddc 0x828e
+0xeddd 0x82a1
+0xedde 0x82a3
+0xeddf 0x82a4
+0xede0 0x82a9
+0xede1 0x82ae
+0xede2 0x82b7
+0xede3 0x82be
+0xede4 0x82bf
+0xede5 0x82c6
+0xede6 0x82d5
+0xede7 0x82fd
+0xede8 0x82fe
+0xede9 0x8300
+0xedea 0x8301
+0xedeb 0x8362
+0xedec 0x8322
+0xeded 0x832d
+0xedee 0x833a
+0xedef 0x8343
+0xedf0 0x8347
+0xedf1 0x8351
+0xedf2 0x8355
+0xedf3 0x837d
+0xedf4 0x8386
+0xedf5 0x8392
+0xedf6 0x8398
+0xedf7 0x83a7
+0xedf8 0x83a9
+0xedf9 0x83bf
+0xedfa 0x83c0
+0xedfb 0x83c7
+0xedfc 0x83cf
+0xee40 0x83d1
+0xee41 0x83e1
+0xee42 0x83ea
+0xee43 0x8401
+0xee44 0x8406
+0xee45 0x840a
+0xee46 0xfa5f
+0xee47 0x8448
+0xee48 0x845f
+0xee49 0x8470
+0xee4a 0x8473
+0xee4b 0x8485
+0xee4c 0x849e
+0xee4d 0x84af
+0xee4e 0x84b4
+0xee4f 0x84ba
+0xee50 0x84c0
+0xee51 0x84c2
+0xee52 0x26e40
+0xee53 0x8532
+0xee54 0x851e
+0xee55 0x8523
+0xee56 0x852f
+0xee57 0x8559
+0xee58 0x8564
+0xee59 0xfa1f
+0xee5a 0x85ad
+0xee5b 0x857a
+0xee5c 0x858c
+0xee5d 0x858f
+0xee5e 0x85a2
+0xee5f 0x85b0
+0xee60 0x85cb
+0xee61 0x85ce
+0xee62 0x85ed
+0xee63 0x8612
+0xee64 0x85ff
+0xee65 0x8604
+0xee66 0x8605
+0xee67 0x8610
+0xee68 0x270f4
+0xee69 0x8618
+0xee6a 0x8629
+0xee6b 0x8638
+0xee6c 0x8657
+0xee6d 0x865b
+0xee6e 0xf936
+0xee6f 0x8662
+0xee70 0x459d
+0xee71 0x866c
+0xee72 0x8675
+0xee73 0x8698
+0xee74 0x86b8
+0xee75 0x86fa
+0xee76 0x86fc
+0xee77 0x86fd
+0xee78 0x870b
+0xee79 0x8771
+0xee7a 0x8787
+0xee7b 0x8788
+0xee7c 0x87ac
+0xee7d 0x87ad
+0xee7e 0x87b5
+0xee80 0x45ea
+0xee81 0x87d6
+0xee82 0x87ec
+0xee83 0x8806
+0xee84 0x880a
+0xee85 0x8810
+0xee86 0x8814
+0xee87 0x881f
+0xee88 0x8898
+0xee89 0x88aa
+0xee8a 0x88ca
+0xee8b 0x88ce
+0xee8c 0x27684
+0xee8d 0x88f5
+0xee8e 0x891c
+0xee8f 0xfa60
+0xee90 0x8918
+0xee91 0x8919
+0xee92 0x891a
+0xee93 0x8927
+0xee94 0x8930
+0xee95 0x8932
+0xee96 0x8939
+0xee97 0x8940
+0xee98 0x8994
+0xee99 0xfa61
+0xee9a 0x89d4
+0xee9b 0x89e5
+0xee9c 0x89f6
+0xee9d 0x8a12
+0xee9e 0x8a15
+0xee9f 0x8a22
+0xeea0 0x8a37
+0xeea1 0x8a47
+0xeea2 0x8a4e
+0xeea3 0x8a5d
+0xeea4 0x8a61
+0xeea5 0x8a75
+0xeea6 0x8a79
+0xeea7 0x8aa7
+0xeea8 0x8ad0
+0xeea9 0x8adf
+0xeeaa 0x8af4
+0xeeab 0x8af6
+0xeeac 0xfa22
+0xeead 0xfa62
+0xeeae 0xfa63
+0xeeaf 0x8b46
+0xeeb0 0x8b54
+0xeeb1 0x8b59
+0xeeb2 0x8b69
+0xeeb3 0x8b9d
+0xeeb4 0x8c49
+0xeeb5 0x8c68
+0xeeb6 0xfa64
+0xeeb7 0x8ce1
+0xeeb8 0x8cf4
+0xeeb9 0x8cf8
+0xeeba 0x8cfe
+0xeebb 0xfa65
+0xeebc 0x8d12
+0xeebd 0x8d1b
+0xeebe 0x8daf
+0xeebf 0x8dce
+0xeec0 0x8dd1
+0xeec1 0x8dd7
+0xeec2 0x8e20
+0xeec3 0x8e23
+0xeec4 0x8e3d
+0xeec5 0x8e70
+0xeec6 0x8e7b
+0xeec7 0x28277
+0xeec8 0x8ec0
+0xeec9 0x4844
+0xeeca 0x8efa
+0xeecb 0x8f1e
+0xeecc 0x8f2d
+0xeecd 0x8f36
+0xeece 0x8f54
+0xeecf 0x283cd
+0xeed0 0x8fa6
+0xeed1 0x8fb5
+0xeed2 0x8fe4
+0xeed3 0x8fe8
+0xeed4 0x8fee
+0xeed5 0x9008
+0xeed6 0x902d
+0xeed7 0xfa67
+0xeed8 0x9088
+0xeed9 0x9095
+0xeeda 0x9097
+0xeedb 0x9099
+0xeedc 0x909b
+0xeedd 0x90a2
+0xeede 0x90b3
+0xeedf 0x90be
+0xeee0 0x90c4
+0xeee1 0x90c5
+0xeee2 0x90c7
+0xeee3 0x90d7
+0xeee4 0x90dd
+0xeee5 0x90de
+0xeee6 0x90ef
+0xeee7 0x90f4
+0xeee8 0xfa26
+0xeee9 0x9114
+0xeeea 0x9115
+0xeeeb 0x9116
+0xeeec 0x9122
+0xeeed 0x9123
+0xeeee 0x9127
+0xeeef 0x912f
+0xeef0 0x9131
+0xeef1 0x9134
+0xeef2 0x913d
+0xeef3 0x9148
+0xeef4 0x915b
+0xeef5 0x9183
+0xeef6 0x919e
+0xeef7 0x91ac
+0xeef8 0x91b1
+0xeef9 0x91bc
+0xeefa 0x91d7
+0xeefb 0x91fb
+0xeefc 0x91e4
+0xef40 0x91e5
+0xef41 0x91ed
+0xef42 0x91f1
+0xef43 0x9207
+0xef44 0x9210
+0xef45 0x9238
+0xef46 0x9239
+0xef47 0x923a
+0xef48 0x923c
+0xef49 0x9240
+0xef4a 0x9243
+0xef4b 0x924f
+0xef4c 0x9278
+0xef4d 0x9288
+0xef4e 0x92c2
+0xef4f 0x92cb
+0xef50 0x92cc
+0xef51 0x92d3
+0xef52 0x92e0
+0xef53 0x92ff
+0xef54 0x9304
+0xef55 0x931f
+0xef56 0x9321
+0xef57 0x9325
+0xef58 0x9348
+0xef59 0x9349
+0xef5a 0x934a
+0xef5b 0x9364
+0xef5c 0x9365
+0xef5d 0x936a
+0xef5e 0x9370
+0xef5f 0x939b
+0xef60 0x93a3
+0xef61 0x93ba
+0xef62 0x93c6
+0xef63 0x93de
+0xef64 0x93df
+0xef65 0x9404
+0xef66 0x93fd
+0xef67 0x9433
+0xef68 0x944a
+0xef69 0x9463
+0xef6a 0x946b
+0xef6b 0x9471
+0xef6c 0x9472
+0xef6d 0x958e
+0xef6e 0x959f
+0xef6f 0x95a6
+0xef70 0x95a9
+0xef71 0x95ac
+0xef72 0x95b6
+0xef73 0x95bd
+0xef74 0x95cb
+0xef75 0x95d0
+0xef76 0x95d3
+0xef77 0x49b0
+0xef78 0x95da
+0xef79 0x95de
+0xef7a 0x9658
+0xef7b 0x9684
+0xef7c 0xf9dc
+0xef7d 0x969d
+0xef7e 0x96a4
+0xef80 0x96a5
+0xef81 0x96d2
+0xef82 0x96de
+0xef83 0xfa68
+0xef84 0x96e9
+0xef85 0x96ef
+0xef86 0x9733
+0xef87 0x973b
+0xef88 0x974d
+0xef89 0x974e
+0xef8a 0x974f
+0xef8b 0x975a
+0xef8c 0x976e
+0xef8d 0x9773
+0xef8e 0x9795
+0xef8f 0x97ae
+0xef90 0x97ba
+0xef91 0x97c1
+0xef92 0x97c9
+0xef93 0x97de
+0xef94 0x97db
+0xef95 0x97f4
+0xef96 0xfa69
+0xef97 0x980a
+0xef98 0x981e
+0xef99 0x982b
+0xef9a 0x9830
+0xef9b 0xfa6a
+0xef9c 0x9852
+0xef9d 0x9853
+0xef9e 0x9856
+0xef9f 0x9857
+0xefa0 0x9859
+0xefa1 0x985a
+0xefa2 0xf9d0
+0xefa3 0x9865
+0xefa4 0x986c
+0xefa5 0x98ba
+0xefa6 0x98c8
+0xefa7 0x98e7
+0xefa8 0x9958
+0xefa9 0x999e
+0xefaa 0x9a02
+0xefab 0x9a03
+0xefac 0x9a24
+0xefad 0x9a2d
+0xefae 0x9a2e
+0xefaf 0x9a38
+0xefb0 0x9a4a
+0xefb1 0x9a4e
+0xefb2 0x9a52
+0xefb3 0x9ab6
+0xefb4 0x9ac1
+0xefb5 0x9ac3
+0xefb6 0x9ace
+0xefb7 0x9ad6
+0xefb8 0x9af9
+0xefb9 0x9b02
+0xefba 0x9b08
+0xefbb 0x9b20
+0xefbc 0x4c17
+0xefbd 0x9b2d
+0xefbe 0x9b5e
+0xefbf 0x9b79
+0xefc0 0x9b66
+0xefc1 0x9b72
+0xefc2 0x9b75
+0xefc3 0x9b84
+0xefc4 0x9b8a
+0xefc5 0x9b8f
+0xefc6 0x9b9e
+0xefc7 0x9ba7
+0xefc8 0x9bc1
+0xefc9 0x9bce
+0xefca 0x9be5
+0xefcb 0x9bf8
+0xefcc 0x9bfd
+0xefcd 0x9c00
+0xefce 0x9c23
+0xefcf 0x9c41
+0xefd0 0x9c4f
+0xefd1 0x9c50
+0xefd2 0x9c53
+0xefd3 0x9c63
+0xefd4 0x9c65
+0xefd5 0x9c77
+0xefd6 0x9d1d
+0xefd7 0x9d1e
+0xefd8 0x9d43
+0xefd9 0x9d47
+0xefda 0x9d52
+0xefdb 0x9d63
+0xefdc 0x9d70
+0xefdd 0x9d7c
+0xefde 0x9d8a
+0xefdf 0x9d96
+0xefe0 0x9dc0
+0xefe1 0x9dac
+0xefe2 0x9dbc
+0xefe3 0x9dd7
+0xefe4 0x2a190
+0xefe5 0x9de7
+0xefe6 0x9e07
+0xefe7 0x9e15
+0xefe8 0x9e7c
+0xefe9 0x9e9e
+0xefea 0x9ea4
+0xefeb 0x9eac
+0xefec 0x9eaf
+0xefed 0x9eb4
+0xefee 0x9eb5
+0xefef 0x9ec3
+0xeff0 0x9ed1
+0xeff1 0x9f10
+0xeff2 0x9f39
+0xeff3 0x9f57
+0xeff4 0x9f90
+0xeff5 0x9f94
+0xeff6 0x9f97
+0xeff7 0x9fa2
+0xeff8 0x59f8
+0xeff9 0x5c5b
+0xeffa 0x5e77
+0xeffb 0x7626
+0xeffc 0x7e6b
+0xf040 0x20089
+0xf041 0x4e02
+0xf042 0x4e0f
+0xf043 0x4e12
+0xf044 0x4e29
+0xf045 0x4e2b
+0xf046 0x4e2e
+0xf047 0x4e40
+0xf048 0x4e47
+0xf049 0x4e48
+0xf04a 0x200a2
+0xf04b 0x4e51
+0xf04c 0x3406
+0xf04d 0x200a4
+0xf04e 0x4e5a
+0xf04f 0x4e69
+0xf050 0x4e9d
+0xf051 0x342c
+0xf052 0x342e
+0xf053 0x4eb9
+0xf054 0x4ebb
+0xf055 0x201a2
+0xf056 0x4ebc
+0xf057 0x4ec3
+0xf058 0x4ec8
+0xf059 0x4ed0
+0xf05a 0x4eeb
+0xf05b 0x4eda
+0xf05c 0x4ef1
+0xf05d 0x4ef5
+0xf05e 0x4f00
+0xf05f 0x4f16
+0xf060 0x4f64
+0xf061 0x4f37
+0xf062 0x4f3e
+0xf063 0x4f54
+0xf064 0x4f58
+0xf065 0x20213
+0xf066 0x4f77
+0xf067 0x4f78
+0xf068 0x4f7a
+0xf069 0x4f7d
+0xf06a 0x4f82
+0xf06b 0x4f85
+0xf06c 0x4f92
+0xf06d 0x4f9a
+0xf06e 0x4fe6
+0xf06f 0x4fb2
+0xf070 0x4fbe
+0xf071 0x4fc5
+0xf072 0x4fcb
+0xf073 0x4fcf
+0xf074 0x4fd2
+0xf075 0x346a
+0xf076 0x4ff2
+0xf077 0x5000
+0xf078 0x5010
+0xf079 0x5013
+0xf07a 0x501c
+0xf07b 0x501e
+0xf07c 0x5022
+0xf07d 0x3468
+0xf07e 0x5042
+0xf080 0x5046
+0xf081 0x504e
+0xf082 0x5053
+0xf083 0x5057
+0xf084 0x5063
+0xf085 0x5066
+0xf086 0x506a
+0xf087 0x5070
+0xf088 0x50a3
+0xf089 0x5088
+0xf08a 0x5092
+0xf08b 0x5093
+0xf08c 0x5095
+0xf08d 0x5096
+0xf08e 0x509c
+0xf08f 0x50aa
+0xf090 0x2032b
+0xf091 0x50b1
+0xf092 0x50ba
+0xf093 0x50bb
+0xf094 0x50c4
+0xf095 0x50c7
+0xf096 0x50f3
+0xf097 0x20381
+0xf098 0x50ce
+0xf099 0x20371
+0xf09a 0x50d4
+0xf09b 0x50d9
+0xf09c 0x50e1
+0xf09d 0x50e9
+0xf09e 0x3492
+0xf140 0x5108
+0xf141 0x203f9
+0xf142 0x5117
+0xf143 0x511b
+0xf144 0x2044a
+0xf145 0x5160
+0xf146 0x20509
+0xf147 0x5173
+0xf148 0x5183
+0xf149 0x518b
+0xf14a 0x34bc
+0xf14b 0x5198
+0xf14c 0x51a3
+0xf14d 0x51ad
+0xf14e 0x34c7
+0xf14f 0x51bc
+0xf150 0x205d6
+0xf151 0x20628
+0xf152 0x51f3
+0xf153 0x51f4
+0xf154 0x5202
+0xf155 0x5212
+0xf156 0x5216
+0xf157 0x2074f
+0xf158 0x5255
+0xf159 0x525c
+0xf15a 0x526c
+0xf15b 0x5277
+0xf15c 0x5284
+0xf15d 0x5282
+0xf15e 0x20807
+0xf15f 0x5298
+0xf160 0x2083a
+0xf161 0x52a4
+0xf162 0x52a6
+0xf163 0x52af
+0xf164 0x52ba
+0xf165 0x52bb
+0xf166 0x52ca
+0xf167 0x351f
+0xf168 0x52d1
+0xf169 0x208b9
+0xf16a 0x52f7
+0xf16b 0x530a
+0xf16c 0x530b
+0xf16d 0x5324
+0xf16e 0x5335
+0xf16f 0x533e
+0xf170 0x5342
+0xf171 0x2097c
+0xf172 0x2099d
+0xf173 0x5367
+0xf174 0x536c
+0xf175 0x537a
+0xf176 0x53a4
+0xf177 0x53b4
+0xf178 0x20ad3
+0xf179 0x53b7
+0xf17a 0x53c0
+0xf17b 0x20b1d
+0xf17c 0x355d
+0xf17d 0x355e
+0xf17e 0x53d5
+0xf180 0x53da
+0xf181 0x3563
+0xf182 0x53f4
+0xf183 0x53f5
+0xf184 0x5455
+0xf185 0x5424
+0xf186 0x5428
+0xf187 0x356e
+0xf188 0x5443
+0xf189 0x5462
+0xf18a 0x5466
+0xf18b 0x546c
+0xf18c 0x548a
+0xf18d 0x548d
+0xf18e 0x5495
+0xf18f 0x54a0
+0xf190 0x54a6
+0xf191 0x54ad
+0xf192 0x54ae
+0xf193 0x54b7
+0xf194 0x54ba
+0xf195 0x54bf
+0xf196 0x54c3
+0xf197 0x20d45
+0xf198 0x54ec
+0xf199 0x54ef
+0xf19a 0x54f1
+0xf19b 0x54f3
+0xf19c 0x5500
+0xf19d 0x5501
+0xf19e 0x5509
+0xf19f 0x553c
+0xf1a0 0x5541
+0xf1a1 0x35a6
+0xf1a2 0x5547
+0xf1a3 0x554a
+0xf1a4 0x35a8
+0xf1a5 0x5560
+0xf1a6 0x5561
+0xf1a7 0x5564
+0xf1a8 0x20de1
+0xf1a9 0x557d
+0xf1aa 0x5582
+0xf1ab 0x5588
+0xf1ac 0x5591
+0xf1ad 0x35c5
+0xf1ae 0x55d2
+0xf1af 0x20e95
+0xf1b0 0x20e6d
+0xf1b1 0x55bf
+0xf1b2 0x55c9
+0xf1b3 0x55cc
+0xf1b4 0x55d1
+0xf1b5 0x55dd
+0xf1b6 0x35da
+0xf1b7 0x55e2
+0xf1b8 0x20e64
+0xf1b9 0x55e9
+0xf1ba 0x5628
+0xf1bb 0x20f5f
+0xf1bc 0x5607
+0xf1bd 0x5610
+0xf1be 0x5630
+0xf1bf 0x5637
+0xf1c0 0x35f4
+0xf1c1 0x563d
+0xf1c2 0x563f
+0xf1c3 0x5640
+0xf1c4 0x5647
+0xf1c5 0x565e
+0xf1c6 0x5660
+0xf1c7 0x566d
+0xf1c8 0x3605
+0xf1c9 0x5688
+0xf1ca 0x568c
+0xf1cb 0x5695
+0xf1cc 0x569a
+0xf1cd 0x569d
+0xf1ce 0x56a8
+0xf1cf 0x56ad
+0xf1d0 0x56b2
+0xf1d1 0x56c5
+0xf1d2 0x56cd
+0xf1d3 0x56df
+0xf1d4 0x56e8
+0xf1d5 0x56f6
+0xf1d6 0x56f7
+0xf1d7 0x21201
+0xf1d8 0x5715
+0xf1d9 0x5723
+0xf1da 0x21255
+0xf1db 0x5729
+0xf1dc 0x2127b
+0xf1dd 0x5745
+0xf1de 0x5746
+0xf1df 0x574c
+0xf1e0 0x574d
+0xf1e1 0x21274
+0xf1e2 0x5768
+0xf1e3 0x576f
+0xf1e4 0x5773
+0xf1e5 0x5774
+0xf1e6 0x5775
+0xf1e7 0x577b
+0xf1e8 0x212e4
+0xf1e9 0x212d7
+0xf1ea 0x57ac
+0xf1eb 0x579a
+0xf1ec 0x579d
+0xf1ed 0x579e
+0xf1ee 0x57a8
+0xf1ef 0x57d7
+0xf1f0 0x212fd
+0xf1f1 0x57cc
+0xf1f2 0x21336
+0xf1f3 0x21344
+0xf1f4 0x57de
+0xf1f5 0x57e6
+0xf1f6 0x57f0
+0xf1f7 0x364a
+0xf1f8 0x57f8
+0xf1f9 0x57fb
+0xf1fa 0x57fd
+0xf1fb 0x5804
+0xf1fc 0x581e
+0xf240 0x5820
+0xf241 0x5827
+0xf242 0x5832
+0xf243 0x5839
+0xf244 0x213c4
+0xf245 0x5849
+0xf246 0x584c
+0xf247 0x5867
+0xf248 0x588a
+0xf249 0x588b
+0xf24a 0x588d
+0xf24b 0x588f
+0xf24c 0x5890
+0xf24d 0x5894
+0xf24e 0x589d
+0xf24f 0x58aa
+0xf250 0x58b1
+0xf251 0x2146d
+0xf252 0x58c3
+0xf253 0x58cd
+0xf254 0x58e2
+0xf255 0x58f3
+0xf256 0x58f4
+0xf257 0x5905
+0xf258 0x5906
+0xf259 0x590b
+0xf25a 0x590d
+0xf25b 0x5914
+0xf25c 0x5924
+0xf25d 0x215d7
+0xf25e 0x3691
+0xf25f 0x593d
+0xf260 0x3699
+0xf261 0x5946
+0xf262 0x3696
+0xf263 0x26c29
+0xf264 0x595b
+0xf265 0x595f
+0xf266 0x21647
+0xf267 0x5975
+0xf268 0x5976
+0xf269 0x597c
+0xf26a 0x599f
+0xf26b 0x59ae
+0xf26c 0x59bc
+0xf26d 0x59c8
+0xf26e 0x59cd
+0xf26f 0x59de
+0xf270 0x59e3
+0xf271 0x59e4
+0xf272 0x59e7
+0xf273 0x59ee
+0xf274 0x21706
+0xf275 0x21742
+0xf276 0x36cf
+0xf277 0x5a0c
+0xf278 0x5a0d
+0xf279 0x5a17
+0xf27a 0x5a27
+0xf27b 0x5a2d
+0xf27c 0x5a55
+0xf27d 0x5a65
+0xf27e 0x5a7a
+0xf280 0x5a8b
+0xf281 0x5a9c
+0xf282 0x5a9f
+0xf283 0x5aa0
+0xf284 0x5aa2
+0xf285 0x5ab1
+0xf286 0x5ab3
+0xf287 0x5ab5
+0xf288 0x5aba
+0xf289 0x5abf
+0xf28a 0x5ada
+0xf28b 0x5adc
+0xf28c 0x5ae0
+0xf28d 0x5ae5
+0xf28e 0x5af0
+0xf28f 0x5aee
+0xf290 0x5af5
+0xf291 0x5b00
+0xf292 0x5b08
+0xf293 0x5b17
+0xf294 0x5b34
+0xf295 0x5b2d
+0xf296 0x5b4c
+0xf297 0x5b52
+0xf298 0x5b68
+0xf299 0x5b6f
+0xf29a 0x5b7c
+0xf29b 0x5b7f
+0xf29c 0x5b81
+0xf29d 0x5b84
+0xf29e 0x219c3
+0xf09f 0x5b96
+0xf0a0 0x5bac
+0xf0a1 0x3761
+0xf0a2 0x5bc0
+0xf0a3 0x3762
+0xf0a4 0x5bce
+0xf0a5 0x5bd6
+0xf0a6 0x376c
+0xf0a7 0x376b
+0xf0a8 0x5bf1
+0xf0a9 0x5bfd
+0xf0aa 0x3775
+0xf0ab 0x5c03
+0xf0ac 0x5c29
+0xf0ad 0x5c30
+0xf0ae 0x21c56
+0xf0af 0x5c5f
+0xf0b0 0x5c63
+0xf0b1 0x5c67
+0xf0b2 0x5c68
+0xf0b3 0x5c69
+0xf0b4 0x5c70
+0xf0b5 0x21d2d
+0xf0b6 0x21d45
+0xf0b7 0x5c7c
+0xf0b8 0x21d78
+0xf0b9 0x21d62
+0xf0ba 0x5c88
+0xf0bb 0x5c8a
+0xf0bc 0x37c1
+0xf0bd 0x21da1
+0xf0be 0x21d9c
+0xf0bf 0x5ca0
+0xf0c0 0x5ca2
+0xf0c1 0x5ca6
+0xf0c2 0x5ca7
+0xf0c3 0x21d92
+0xf0c4 0x5cad
+0xf0c5 0x5cb5
+0xf0c6 0x21db7
+0xf0c7 0x5cc9
+0xf0c8 0x21de0
+0xf0c9 0x21e33
+0xf0ca 0x5d06
+0xf0cb 0x5d10
+0xf0cc 0x5d2b
+0xf0cd 0x5d1d
+0xf0ce 0x5d20
+0xf0cf 0x5d24
+0xf0d0 0x5d26
+0xf0d1 0x5d31
+0xf0d2 0x5d39
+0xf0d3 0x5d42
+0xf0d4 0x37e8
+0xf0d5 0x5d61
+0xf0d6 0x5d6a
+0xf0d7 0x37f4
+0xf0d8 0x5d70
+0xf0d9 0x21f1e
+0xf0da 0x37fd
+0xf0db 0x5d88
+0xf0dc 0x3800
+0xf0dd 0x5d92
+0xf0de 0x5d94
+0xf0df 0x5d97
+0xf0e0 0x5d99
+0xf0e1 0x5db0
+0xf0e2 0x5db2
+0xf0e3 0x5db4
+0xf0e4 0x21f76
+0xf0e5 0x5db9
+0xf0e6 0x5dd1
+0xf0e7 0x5dd7
+0xf0e8 0x5dd8
+0xf0e9 0x5de0
+0xf0ea 0x21ffa
+0xf0eb 0x5de4
+0xf0ec 0x5de9
+0xf0ed 0x382f
+0xf0ee 0x5e00
+0xf0ef 0x3836
+0xf0f0 0x5e12
+0xf0f1 0x5e15
+0xf0f2 0x3840
+0xf0f3 0x5e1f
+0xf0f4 0x5e2e
+0xf0f5 0x5e3e
+0xf0f6 0x5e49
+0xf0f7 0x385c
+0xf0f8 0x5e56
+0xf0f9 0x3861
+0xf0fa 0x5e6b
+0xf0fb 0x5e6c
+0xf0fc 0x5e6d
+0xf29f 0x5e6e
+0xf2a0 0x2217b
+0xf2a1 0x5ea5
+0xf2a2 0x5eaa
+0xf2a3 0x5eac
+0xf2a4 0x5eb9
+0xf2a5 0x5ebf
+0xf2a6 0x5ec6
+0xf2a7 0x5ed2
+0xf2a8 0x5ed9
+0xf2a9 0x2231e
+0xf2aa 0x5efd
+0xf2ab 0x5f08
+0xf2ac 0x5f0e
+0xf2ad 0x5f1c
+0xf2ae 0x223ad
+0xf2af 0x5f1e
+0xf2b0 0x5f47
+0xf2b1 0x5f63
+0xf2b2 0x5f72
+0xf2b3 0x5f7e
+0xf2b4 0x5f8f
+0xf2b5 0x5fa2
+0xf2b6 0x5fa4
+0xf2b7 0x5fb8
+0xf2b8 0x5fc4
+0xf2b9 0x38fa
+0xf2ba 0x5fc7
+0xf2bb 0x5fcb
+0xf2bc 0x5fd2
+0xf2bd 0x5fd3
+0xf2be 0x5fd4
+0xf2bf 0x5fe2
+0xf2c0 0x5fee
+0xf2c1 0x5fef
+0xf2c2 0x5ff3
+0xf2c3 0x5ffc
+0xf2c4 0x3917
+0xf2c5 0x6017
+0xf2c6 0x6022
+0xf2c7 0x6024
+0xf2c8 0x391a
+0xf2c9 0x604c
+0xf2ca 0x607f
+0xf2cb 0x608a
+0xf2cc 0x6095
+0xf2cd 0x60a8
+0xf2ce 0x226f3
+0xf2cf 0x60b0
+0xf2d0 0x60b1
+0xf2d1 0x60be
+0xf2d2 0x60c8
+0xf2d3 0x60d9
+0xf2d4 0x60db
+0xf2d5 0x60ee
+0xf2d6 0x60f2
+0xf2d7 0x60f5
+0xf2d8 0x6110
+0xf2d9 0x6112
+0xf2da 0x6113
+0xf2db 0x6119
+0xf2dc 0x611e
+0xf2dd 0x613a
+0xf2de 0x396f
+0xf2df 0x6141
+0xf2e0 0x6146
+0xf2e1 0x6160
+0xf2e2 0x617c
+0xf2e3 0x2285b
+0xf2e4 0x6192
+0xf2e5 0x6193
+0xf2e6 0x6197
+0xf2e7 0x6198
+0xf2e8 0x61a5
+0xf2e9 0x61a8
+0xf2ea 0x61ad
+0xf2eb 0x228ab
+0xf2ec 0x61d5
+0xf2ed 0x61dd
+0xf2ee 0x61df
+0xf2ef 0x61f5
+0xf2f0 0x2298f
+0xf2f1 0x6215
+0xf2f2 0x6223
+0xf2f3 0x6229
+0xf2f4 0x6246
+0xf2f5 0x624c
+0xf2f6 0x6251
+0xf2f7 0x6252
+0xf2f8 0x6261
+0xf2f9 0x6264
+0xf2fa 0x627b
+0xf2fb 0x626d
+0xf2fc 0x6273
+0xf340 0x6299
+0xf341 0x62a6
+0xf342 0x62d5
+0xf343 0x22ab8
+0xf344 0x62fd
+0xf345 0x6303
+0xf346 0x630d
+0xf347 0x6310
+0xf348 0x22b4f
+0xf349 0x22b50
+0xf34a 0x6332
+0xf34b 0x6335
+0xf34c 0x633b
+0xf34d 0x633c
+0xf34e 0x6341
+0xf34f 0x6344
+0xf350 0x634e
+0xf351 0x22b46
+0xf352 0x6359
+0xf353 0x22c1d
+0xf354 0x22ba6
+0xf355 0x636c
+0xf356 0x6384
+0xf357 0x6399
+0xf358 0x22c24
+0xf359 0x6394
+0xf35a 0x63bd
+0xf35b 0x63f7
+0xf35c 0x63d4
+0xf35d 0x63d5
+0xf35e 0x63dc
+0xf35f 0x63e0
+0xf360 0x63eb
+0xf361 0x63ec
+0xf362 0x63f2
+0xf363 0x6409
+0xf364 0x641e
+0xf365 0x6425
+0xf366 0x6429
+0xf367 0x642f
+0xf368 0x645a
+0xf369 0x645b
+0xf36a 0x645d
+0xf36b 0x6473
+0xf36c 0x647d
+0xf36d 0x6487
+0xf36e 0x6491
+0xf36f 0x649d
+0xf370 0x649f
+0xf371 0x64cb
+0xf372 0x64cc
+0xf373 0x64d5
+0xf374 0x64d7
+0xf375 0x22de1
+0xf376 0x64e4
+0xf377 0x64e5
+0xf378 0x64ff
+0xf379 0x6504
+0xf37a 0x3a6e
+0xf37b 0x650f
+0xf37c 0x6514
+0xf37d 0x6516
+0xf37e 0x3a73
+0xf380 0x651e
+0xf381 0x6532
+0xf382 0x6544
+0xf383 0x6554
+0xf384 0x656b
+0xf385 0x657a
+0xf386 0x6581
+0xf387 0x6584
+0xf388 0x6585
+0xf389 0x658a
+0xf38a 0x65b2
+0xf38b 0x65b5
+0xf38c 0x65b8
+0xf38d 0x65bf
+0xf38e 0x65c2
+0xf38f 0x65c9
+0xf390 0x65d4
+0xf391 0x3ad6
+0xf392 0x65f2
+0xf393 0x65f9
+0xf394 0x65fc
+0xf395 0x6604
+0xf396 0x6608
+0xf397 0x6621
+0xf398 0x662a
+0xf399 0x6645
+0xf39a 0x6651
+0xf39b 0x664e
+0xf39c 0x3aea
+0xf39d 0x231c3
+0xf39e 0x6657
+0xf39f 0x665b
+0xf3a0 0x6663
+0xf3a1 0x231f5
+0xf3a2 0x231b6
+0xf3a3 0x666a
+0xf3a4 0x666b
+0xf3a5 0x666c
+0xf3a6 0x666d
+0xf3a7 0x667b
+0xf3a8 0x6680
+0xf3a9 0x6690
+0xf3aa 0x6692
+0xf3ab 0x6699
+0xf3ac 0x3b0e
+0xf3ad 0x66ad
+0xf3ae 0x66b1
+0xf3af 0x66b5
+0xf3b0 0x3b1a
+0xf3b1 0x66bf
+0xf3b2 0x3b1c
+0xf3b3 0x66ec
+0xf3b4 0x3ad7
+0xf3b5 0x6701
+0xf3b6 0x6705
+0xf3b7 0x6712
+0xf3b8 0x23372
+0xf3b9 0x6719
+0xf3ba 0x233d3
+0xf3bb 0x233d2
+0xf3bc 0x674c
+0xf3bd 0x674d
+0xf3be 0x6754
+0xf3bf 0x675d
+0xf3c0 0x233d0
+0xf3c1 0x233e4
+0xf3c2 0x233d5
+0xf3c3 0x6774
+0xf3c4 0x6776
+0xf3c5 0x233da
+0xf3c6 0x6792
+0xf3c7 0x233df
+0xf3c8 0x8363
+0xf3c9 0x6810
+0xf3ca 0x67b0
+0xf3cb 0x67b2
+0xf3cc 0x67c3
+0xf3cd 0x67c8
+0xf3ce 0x67d2
+0xf3cf 0x67d9
+0xf3d0 0x67db
+0xf3d1 0x67f0
+0xf3d2 0x67f7
+0xf3d3 0x2344a
+0xf3d4 0x23451
+0xf3d5 0x2344b
+0xf3d6 0x6818
+0xf3d7 0x681f
+0xf3d8 0x682d
+0xf3d9 0x23465
+0xf3da 0x6833
+0xf3db 0x683b
+0xf3dc 0x683e
+0xf3dd 0x6844
+0xf3de 0x6845
+0xf3df 0x6849
+0xf3e0 0x684c
+0xf3e1 0x6855
+0xf3e2 0x6857
+0xf3e3 0x3b77
+0xf3e4 0x686b
+0xf3e5 0x686e
+0xf3e6 0x687a
+0xf3e7 0x687c
+0xf3e8 0x6882
+0xf3e9 0x6890
+0xf3ea 0x6896
+0xf3eb 0x3b6d
+0xf3ec 0x6898
+0xf3ed 0x6899
+0xf3ee 0x689a
+0xf3ef 0x689c
+0xf3f0 0x68aa
+0xf3f1 0x68ab
+0xf3f2 0x68b4
+0xf3f3 0x68bb
+0xf3f4 0x68fb
+0xf3f5 0x234e4
+0xf3f6 0x2355a
+0xf3f7 0xfa13
+0xf3f8 0x68c3
+0xf3f9 0x68c5
+0xf3fa 0x68cc
+0xf3fb 0x68cf
+0xf3fc 0x68d6
+0xf440 0x68d9
+0xf441 0x68e4
+0xf442 0x68e5
+0xf443 0x68ec
+0xf444 0x68f7
+0xf445 0x6903
+0xf446 0x6907
+0xf447 0x3b87
+0xf448 0x3b88
+0xf449 0x23594
+0xf44a 0x693b
+0xf44b 0x3b8d
+0xf44c 0x6946
+0xf44d 0x6969
+0xf44e 0x696c
+0xf44f 0x6972
+0xf450 0x697a
+0xf451 0x697f
+0xf452 0x6992
+0xf453 0x3ba4
+0xf454 0x6996
+0xf455 0x6998
+0xf456 0x69a6
+0xf457 0x69b0
+0xf458 0x69b7
+0xf459 0x69ba
+0xf45a 0x69bc
+0xf45b 0x69c0
+0xf45c 0x69d1
+0xf45d 0x69d6
+0xf45e 0x23639
+0xf45f 0x23647
+0xf460 0x6a30
+0xf461 0x23638
+0xf462 0x2363a
+0xf463 0x69e3
+0xf464 0x69ee
+0xf465 0x69ef
+0xf466 0x69f3
+0xf467 0x3bcd
+0xf468 0x69f4
+0xf469 0x69fe
+0xf46a 0x6a11
+0xf46b 0x6a1a
+0xf46c 0x6a1d
+0xf46d 0x2371c
+0xf46e 0x6a32
+0xf46f 0x6a33
+0xf470 0x6a34
+0xf471 0x6a3f
+0xf472 0x6a46
+0xf473 0x6a49
+0xf474 0x6a7a
+0xf475 0x6a4e
+0xf476 0x6a52
+0xf477 0x6a64
+0xf478 0x2370c
+0xf479 0x6a7e
+0xf47a 0x6a83
+0xf47b 0x6a8b
+0xf47c 0x3bf0
+0xf47d 0x6a91
+0xf47e 0x6a9f
+0xf480 0x6aa1
+0xf481 0x23764
+0xf482 0x6aab
+0xf483 0x6abd
+0xf484 0x6ac6
+0xf485 0x6ad4
+0xf486 0x6ad0
+0xf487 0x6adc
+0xf488 0x6add
+0xf489 0x237ff
+0xf48a 0x237e7
+0xf48b 0x6aec
+0xf48c 0x6af1
+0xf48d 0x6af2
+0xf48e 0x6af3
+0xf48f 0x6afd
+0xf490 0x23824
+0xf491 0x6b0b
+0xf492 0x6b0f
+0xf493 0x6b10
+0xf494 0x6b11
+0xf495 0x2383d
+0xf496 0x6b17
+0xf497 0x3c26
+0xf498 0x6b2f
+0xf499 0x6b4a
+0xf49a 0x6b58
+0xf49b 0x6b6c
+0xf49c 0x6b75
+0xf49d 0x6b7a
+0xf49e 0x6b81
+0xf49f 0x6b9b
+0xf4a0 0x6bae
+0xf4a1 0x23a98
+0xf4a2 0x6bbd
+0xf4a3 0x6bbe
+0xf4a4 0x6bc7
+0xf4a5 0x6bc8
+0xf4a6 0x6bc9
+0xf4a7 0x6bda
+0xf4a8 0x6be6
+0xf4a9 0x6be7
+0xf4aa 0x6bee
+0xf4ab 0x6bf1
+0xf4ac 0x6c02
+0xf4ad 0x6c0a
+0xf4ae 0x6c0e
+0xf4af 0x6c35
+0xf4b0 0x6c36
+0xf4b1 0x6c3a
+0xf4b2 0x23c7f
+0xf4b3 0x6c3f
+0xf4b4 0x6c4d
+0xf4b5 0x6c5b
+0xf4b6 0x6c6d
+0xf4b7 0x6c84
+0xf4b8 0x6c89
+0xf4b9 0x3cc3
+0xf4ba 0x6c94
+0xf4bb 0x6c95
+0xf4bc 0x6c97
+0xf4bd 0x6cad
+0xf4be 0x6cc2
+0xf4bf 0x6cd0
+0xf4c0 0x3cd2
+0xf4c1 0x6cd6
+0xf4c2 0x6cda
+0xf4c3 0x6cdc
+0xf4c4 0x6ce9
+0xf4c5 0x6cec
+0xf4c6 0x6ced
+0xf4c7 0x23d00
+0xf4c8 0x6d00
+0xf4c9 0x6d0a
+0xf4ca 0x6d24
+0xf4cb 0x6d26
+0xf4cc 0x6d27
+0xf4cd 0x6c67
+0xf4ce 0x6d2f
+0xf4cf 0x6d3c
+0xf4d0 0x6d5b
+0xf4d1 0x6d5e
+0xf4d2 0x6d60
+0xf4d3 0x6d70
+0xf4d4 0x6d80
+0xf4d5 0x6d81
+0xf4d6 0x6d8a
+0xf4d7 0x6d8d
+0xf4d8 0x6d91
+0xf4d9 0x6d98
+0xf4da 0x23d40
+0xf4db 0x6e17
+0xf4dc 0x23dfa
+0xf4dd 0x23df9
+0xf4de 0x23dd3
+0xf4df 0x6dab
+0xf4e0 0x6dae
+0xf4e1 0x6db4
+0xf4e2 0x6dc2
+0xf4e3 0x6d34
+0xf4e4 0x6dc8
+0xf4e5 0x6dce
+0xf4e6 0x6dcf
+0xf4e7 0x6dd0
+0xf4e8 0x6ddf
+0xf4e9 0x6de9
+0xf4ea 0x6df6
+0xf4eb 0x6e36
+0xf4ec 0x6e1e
+0xf4ed 0x6e22
+0xf4ee 0x6e27
+0xf4ef 0x3d11
+0xf4f0 0x6e32
+0xf4f1 0x6e3c
+0xf4f2 0x6e48
+0xf4f3 0x6e49
+0xf4f4 0x6e4b
+0xf4f5 0x6e4c
+0xf4f6 0x6e4f
+0xf4f7 0x6e51
+0xf4f8 0x6e53
+0xf4f9 0x6e54
+0xf4fa 0x6e57
+0xf4fb 0x6e63
+0xf4fc 0x3d1e
+0xf540 0x6e93
+0xf541 0x6ea7
+0xf542 0x6eb4
+0xf543 0x6ebf
+0xf544 0x6ec3
+0xf545 0x6eca
+0xf546 0x6ed9
+0xf547 0x6f35
+0xf548 0x6eeb
+0xf549 0x6ef9
+0xf54a 0x6efb
+0xf54b 0x6f0a
+0xf54c 0x6f0c
+0xf54d 0x6f18
+0xf54e 0x6f25
+0xf54f 0x6f36
+0xf550 0x6f3c
+0xf551 0x23f7e
+0xf552 0x6f52
+0xf553 0x6f57
+0xf554 0x6f5a
+0xf555 0x6f60
+0xf556 0x6f68
+0xf557 0x6f98
+0xf558 0x6f7d
+0xf559 0x6f90
+0xf55a 0x6f96
+0xf55b 0x6fbe
+0xf55c 0x6f9f
+0xf55d 0x6fa5
+0xf55e 0x6faf
+0xf55f 0x3d64
+0xf560 0x6fb5
+0xf561 0x6fc8
+0xf562 0x6fc9
+0xf563 0x6fda
+0xf564 0x6fde
+0xf565 0x6fe9
+0xf566 0x24096
+0xf567 0x6ffc
+0xf568 0x7000
+0xf569 0x7007
+0xf56a 0x700a
+0xf56b 0x7023
+0xf56c 0x24103
+0xf56d 0x7039
+0xf56e 0x703a
+0xf56f 0x703c
+0xf570 0x7043
+0xf571 0x7047
+0xf572 0x704b
+0xf573 0x3d9a
+0xf574 0x7054
+0xf575 0x7065
+0xf576 0x7069
+0xf577 0x706c
+0xf578 0x706e
+0xf579 0x7076
+0xf57a 0x707e
+0xf57b 0x7081
+0xf57c 0x7086
+0xf57d 0x7095
+0xf57e 0x7097
+0xf580 0x70bb
+0xf581 0x241c6
+0xf582 0x709f
+0xf583 0x70b1
+0xf584 0x241fe
+0xf585 0x70ec
+0xf586 0x70ca
+0xf587 0x70d1
+0xf588 0x70d3
+0xf589 0x70dc
+0xf58a 0x7103
+0xf58b 0x7104
+0xf58c 0x7106
+0xf58d 0x7107
+0xf58e 0x7108
+0xf58f 0x710c
+0xf590 0x3dc0
+0xf591 0x712f
+0xf592 0x7131
+0xf593 0x7150
+0xf594 0x714a
+0xf595 0x7153
+0xf596 0x715e
+0xf597 0x3dd4
+0xf598 0x7196
+0xf599 0x7180
+0xf59a 0x719b
+0xf59b 0x71a0
+0xf59c 0x71a2
+0xf59d 0x71ae
+0xf59e 0x71af
+0xf59f 0x71b3
+0xf5a0 0x243bc
+0xf5a1 0x71cb
+0xf5a2 0x71d3
+0xf5a3 0x71d9
+0xf5a4 0x71dc
+0xf5a5 0x7207
+0xf5a6 0x3e05
+0xf5a7 0xfa49
+0xf5a8 0x722b
+0xf5a9 0x7234
+0xf5aa 0x7238
+0xf5ab 0x7239
+0xf5ac 0x4e2c
+0xf5ad 0x7242
+0xf5ae 0x7253
+0xf5af 0x7257
+0xf5b0 0x7263
+0xf5b1 0x24629
+0xf5b2 0x726e
+0xf5b3 0x726f
+0xf5b4 0x7278
+0xf5b5 0x727f
+0xf5b6 0x728e
+0xf5b7 0x246a5
+0xf5b8 0x72ad
+0xf5b9 0x72ae
+0xf5ba 0x72b0
+0xf5bb 0x72b1
+0xf5bc 0x72c1
+0xf5bd 0x3e60
+0xf5be 0x72cc
+0xf5bf 0x3e66
+0xf5c0 0x3e68
+0xf5c1 0x72f3
+0xf5c2 0x72fa
+0xf5c3 0x7307
+0xf5c4 0x7312
+0xf5c5 0x7318
+0xf5c6 0x7319
+0xf5c7 0x3e83
+0xf5c8 0x7339
+0xf5c9 0x732c
+0xf5ca 0x7331
+0xf5cb 0x7333
+0xf5cc 0x733d
+0xf5cd 0x7352
+0xf5ce 0x3e94
+0xf5cf 0x736b
+0xf5d0 0x736c
+0xf5d1 0x24896
+0xf5d2 0x736e
+0xf5d3 0x736f
+0xf5d4 0x7371
+0xf5d5 0x7377
+0xf5d6 0x7381
+0xf5d7 0x7385
+0xf5d8 0x738a
+0xf5d9 0x7394
+0xf5da 0x7398
+0xf5db 0x739c
+0xf5dc 0x739e
+0xf5dd 0x73a5
+0xf5de 0x73a8
+0xf5df 0x73b5
+0xf5e0 0x73b7
+0xf5e1 0x73b9
+0xf5e2 0x73bc
+0xf5e3 0x73bf
+0xf5e4 0x73c5
+0xf5e5 0x73cb
+0xf5e6 0x73e1
+0xf5e7 0x73e7
+0xf5e8 0x73f9
+0xf5e9 0x7413
+0xf5ea 0x73fa
+0xf5eb 0x7401
+0xf5ec 0x7424
+0xf5ed 0x7431
+0xf5ee 0x7439
+0xf5ef 0x7453
+0xf5f0 0x7440
+0xf5f1 0x7443
+0xf5f2 0x744d
+0xf5f3 0x7452
+0xf5f4 0x745d
+0xf5f5 0x7471
+0xf5f6 0x7481
+0xf5f7 0x7485
+0xf5f8 0x7488
+0xf5f9 0x24a4d
+0xf5fa 0x7492
+0xf5fb 0x7497
+0xf5fc 0x7499
+0xf640 0x74a0
+0xf641 0x74a1
+0xf642 0x74a5
+0xf643 0x74aa
+0xf644 0x74ab
+0xf645 0x74b9
+0xf646 0x74bb
+0xf647 0x74ba
+0xf648 0x74d6
+0xf649 0x74d8
+0xf64a 0x74de
+0xf64b 0x74ef
+0xf64c 0x74eb
+0xf64d 0x24b56
+0xf64e 0x74fa
+0xf64f 0x24b6f
+0xf650 0x7520
+0xf651 0x7524
+0xf652 0x752a
+0xf653 0x3f57
+0xf654 0x24c16
+0xf655 0x753d
+0xf656 0x753e
+0xf657 0x7540
+0xf658 0x7548
+0xf659 0x754e
+0xf65a 0x7550
+0xf65b 0x7552
+0xf65c 0x756c
+0xf65d 0x7572
+0xf65e 0x7571
+0xf65f 0x757a
+0xf660 0x757d
+0xf661 0x757e
+0xf662 0x7581
+0xf663 0x24d14
+0xf664 0x758c
+0xf665 0x3f75
+0xf666 0x75a2
+0xf667 0x3f77
+0xf668 0x75b0
+0xf669 0x75b7
+0xf66a 0x75bf
+0xf66b 0x75c0
+0xf66c 0x75c6
+0xf66d 0x75cf
+0xf66e 0x75d3
+0xf66f 0x75dd
+0xf670 0x75df
+0xf671 0x75e0
+0xf672 0x75e7
+0xf673 0x75ec
+0xf674 0x75ee
+0xf675 0x75f1
+0xf676 0x75f9
+0xf677 0x7603
+0xf678 0x7618
+0xf679 0x7607
+0xf67a 0x760f
+0xf67b 0x3fae
+0xf67c 0x24e0e
+0xf67d 0x7613
+0xf67e 0x761b
+0xf680 0x761c
+0xf681 0x24e37
+0xf682 0x7625
+0xf683 0x7628
+0xf684 0x763c
+0xf685 0x7633
+0xf686 0x24e6a
+0xf687 0x3fc9
+0xf688 0x7641
+0xf689 0x24e8b
+0xf68a 0x7649
+0xf68b 0x7655
+0xf68c 0x3fd7
+0xf68d 0x766e
+0xf68e 0x7695
+0xf68f 0x769c
+0xf690 0x76a1
+0xf691 0x76a0
+0xf692 0x76a7
+0xf693 0x76a8
+0xf694 0x76af
+0xf695 0x2504a
+0xf696 0x76c9
+0xf697 0x25055
+0xf698 0x76e8
+0xf699 0x76ec
+0xf69a 0x25122
+0xf69b 0x7717
+0xf69c 0x771a
+0xf69d 0x772d
+0xf69e 0x7735
+0xf69f 0x251a9
+0xf6a0 0x4039
+0xf6a1 0x251e5
+0xf6a2 0x251cd
+0xf6a3 0x7758
+0xf6a4 0x7760
+0xf6a5 0x776a
+0xf6a6 0x2521e
+0xf6a7 0x7772
+0xf6a8 0x777c
+0xf6a9 0x777d
+0xf6aa 0x2524c
+0xf6ab 0x4058
+0xf6ac 0x779a
+0xf6ad 0x779f
+0xf6ae 0x77a2
+0xf6af 0x77a4
+0xf6b0 0x77a9
+0xf6b1 0x77de
+0xf6b2 0x77df
+0xf6b3 0x77e4
+0xf6b4 0x77e6
+0xf6b5 0x77ea
+0xf6b6 0x77ec
+0xf6b7 0x4093
+0xf6b8 0x77f0
+0xf6b9 0x77f4
+0xf6ba 0x77fb
+0xf6bb 0x2542e
+0xf6bc 0x7805
+0xf6bd 0x7806
+0xf6be 0x7809
+0xf6bf 0x780d
+0xf6c0 0x7819
+0xf6c1 0x7821
+0xf6c2 0x782c
+0xf6c3 0x7847
+0xf6c4 0x7864
+0xf6c5 0x786a
+0xf6c6 0x254d9
+0xf6c7 0x788a
+0xf6c8 0x7894
+0xf6c9 0x78a4
+0xf6ca 0x789d
+0xf6cb 0x789e
+0xf6cc 0x789f
+0xf6cd 0x78bb
+0xf6ce 0x78c8
+0xf6cf 0x78cc
+0xf6d0 0x78ce
+0xf6d1 0x78d5
+0xf6d2 0x78e0
+0xf6d3 0x78e1
+0xf6d4 0x78e6
+0xf6d5 0x78f9
+0xf6d6 0x78fa
+0xf6d7 0x78fb
+0xf6d8 0x78fe
+0xf6d9 0x255a7
+0xf6da 0x7910
+0xf6db 0x791b
+0xf6dc 0x7930
+0xf6dd 0x7925
+0xf6de 0x793b
+0xf6df 0x794a
+0xf6e0 0x7958
+0xf6e1 0x795b
+0xf6e2 0x4105
+0xf6e3 0x7967
+0xf6e4 0x7972
+0xf6e5 0x7994
+0xf6e6 0x7995
+0xf6e7 0x7996
+0xf6e8 0x799b
+0xf6e9 0x79a1
+0xf6ea 0x79a9
+0xf6eb 0x79b4
+0xf6ec 0x79bb
+0xf6ed 0x79c2
+0xf6ee 0x79c7
+0xf6ef 0x79cc
+0xf6f0 0x79cd
+0xf6f1 0x79d6
+0xf6f2 0x4148
+0xf6f3 0x257a9
+0xf6f4 0x257b4
+0xf6f5 0x414f
+0xf6f6 0x7a0a
+0xf6f7 0x7a11
+0xf6f8 0x7a15
+0xf6f9 0x7a1b
+0xf6fa 0x7a1e
+0xf6fb 0x4163
+0xf6fc 0x7a2d
+0xf740 0x7a38
+0xf741 0x7a47
+0xf742 0x7a4c
+0xf743 0x7a56
+0xf744 0x7a59
+0xf745 0x7a5c
+0xf746 0x7a5f
+0xf747 0x7a60
+0xf748 0x7a67
+0xf749 0x7a6a
+0xf74a 0x7a75
+0xf74b 0x7a78
+0xf74c 0x7a82
+0xf74d 0x7a8a
+0xf74e 0x7a90
+0xf74f 0x7aa3
+0xf750 0x7aac
+0xf751 0x259d4
+0xf752 0x41b4
+0xf753 0x7ab9
+0xf754 0x7abc
+0xf755 0x7abe
+0xf756 0x41bf
+0xf757 0x7acc
+0xf758 0x7ad1
+0xf759 0x7ae7
+0xf75a 0x7ae8
+0xf75b 0x7af4
+0xf75c 0x25ae4
+0xf75d 0x25ae3
+0xf75e 0x7b07
+0xf75f 0x25af1
+0xf760 0x7b3d
+0xf761 0x7b27
+0xf762 0x7b2a
+0xf763 0x7b2e
+0xf764 0x7b2f
+0xf765 0x7b31
+0xf766 0x41e6
+0xf767 0x41f3
+0xf768 0x7b7f
+0xf769 0x7b41
+0xf76a 0x41ee
+0xf76b 0x7b55
+0xf76c 0x7b79
+0xf76d 0x7b64
+0xf76e 0x7b66
+0xf76f 0x7b69
+0xf770 0x7b73
+0xf771 0x25bb2
+0xf772 0x4207
+0xf773 0x7b90
+0xf774 0x7b91
+0xf775 0x7b9b
+0xf776 0x420e
+0xf777 0x7baf
+0xf778 0x7bb5
+0xf779 0x7bbc
+0xf77a 0x7bc5
+0xf77b 0x7bca
+0xf77c 0x25c4b
+0xf77d 0x25c64
+0xf77e 0x7bd4
+0xf780 0x7bd6
+0xf781 0x7bda
+0xf782 0x7bea
+0xf783 0x7bf0
+0xf784 0x7c03
+0xf785 0x7c0b
+0xf786 0x7c0e
+0xf787 0x7c0f
+0xf788 0x7c26
+0xf789 0x7c45
+0xf78a 0x7c4a
+0xf78b 0x7c51
+0xf78c 0x7c57
+0xf78d 0x7c5e
+0xf78e 0x7c61
+0xf78f 0x7c69
+0xf790 0x7c6e
+0xf791 0x7c6f
+0xf792 0x7c70
+0xf793 0x25e2e
+0xf794 0x25e56
+0xf795 0x25e65
+0xf796 0x7ca6
+0xf797 0x25e62
+0xf798 0x7cb6
+0xf799 0x7cb7
+0xf79a 0x7cbf
+0xf79b 0x25ed8
+0xf79c 0x7cc4
+0xf79d 0x25ec2
+0xf79e 0x7cc8
+0xf79f 0x7ccd
+0xf7a0 0x25ee8
+0xf7a1 0x7cd7
+0xf7a2 0x25f23
+0xf7a3 0x7ce6
+0xf7a4 0x7ceb
+0xf7a5 0x25f5c
+0xf7a6 0x7cf5
+0xf7a7 0x7d03
+0xf7a8 0x7d09
+0xf7a9 0x42c6
+0xf7aa 0x7d12
+0xf7ab 0x7d1e
+0xf7ac 0x25fe0
+0xf7ad 0x25fd4
+0xf7ae 0x7d3d
+0xf7af 0x7d3e
+0xf7b0 0x7d40
+0xf7b1 0x7d47
+0xf7b2 0x2600c
+0xf7b3 0x25ffb
+0xf7b4 0x42d6
+0xf7b5 0x7d59
+0xf7b6 0x7d5a
+0xf7b7 0x7d6a
+0xf7b8 0x7d70
+0xf7b9 0x42dd
+0xf7ba 0x7d7f
+0xf7bb 0x26017
+0xf7bc 0x7d86
+0xf7bd 0x7d88
+0xf7be 0x7d8c
+0xf7bf 0x7d97
+0xf7c0 0x26060
+0xf7c1 0x7d9d
+0xf7c2 0x7da7
+0xf7c3 0x7daa
+0xf7c4 0x7db6
+0xf7c5 0x7db7
+0xf7c6 0x7dc0
+0xf7c7 0x7dd7
+0xf7c8 0x7dd9
+0xf7c9 0x7de6
+0xf7ca 0x7df1
+0xf7cb 0x7df9
+0xf7cc 0x4302
+0xf7cd 0x260ed
+0xf7ce 0xfa58
+0xf7cf 0x7e10
+0xf7d0 0x7e17
+0xf7d1 0x7e1d
+0xf7d2 0x7e20
+0xf7d3 0x7e27
+0xf7d4 0x7e2c
+0xf7d5 0x7e45
+0xf7d6 0x7e73
+0xf7d7 0x7e75
+0xf7d8 0x7e7e
+0xf7d9 0x7e86
+0xf7da 0x7e87
+0xf7db 0x432b
+0xf7dc 0x7e91
+0xf7dd 0x7e98
+0xf7de 0x7e9a
+0xf7df 0x4343
+0xf7e0 0x7f3c
+0xf7e1 0x7f3b
+0xf7e2 0x7f3e
+0xf7e3 0x7f43
+0xf7e4 0x7f44
+0xf7e5 0x7f4f
+0xf7e6 0x34c1
+0xf7e7 0x26270
+0xf7e8 0x7f52
+0xf7e9 0x26286
+0xf7ea 0x7f61
+0xf7eb 0x7f63
+0xf7ec 0x7f64
+0xf7ed 0x7f6d
+0xf7ee 0x7f7d
+0xf7ef 0x7f7e
+0xf7f0 0x2634c
+0xf7f1 0x7f90
+0xf7f2 0x517b
+0xf7f3 0x23d0e
+0xf7f4 0x7f96
+0xf7f5 0x7f9c
+0xf7f6 0x7fad
+0xf7f7 0x26402
+0xf7f8 0x7fc3
+0xf7f9 0x7fcf
+0xf7fa 0x7fe3
+0xf7fb 0x7fe5
+0xf7fc 0x7fef
+0xf840 0x7ff2
+0xf841 0x8002
+0xf842 0x800a
+0xf843 0x8008
+0xf844 0x800e
+0xf845 0x8011
+0xf846 0x8016
+0xf847 0x8024
+0xf848 0x802c
+0xf849 0x8030
+0xf84a 0x8043
+0xf84b 0x8066
+0xf84c 0x8071
+0xf84d 0x8075
+0xf84e 0x807b
+0xf84f 0x8099
+0xf850 0x809c
+0xf851 0x80a4
+0xf852 0x80a7
+0xf853 0x80b8
+0xf854 0x2667e
+0xf855 0x80c5
+0xf856 0x80d5
+0xf857 0x80d8
+0xf858 0x80e6
+0xf859 0x266b0
+0xf85a 0x810d
+0xf85b 0x80f5
+0xf85c 0x80fb
+0xf85d 0x43ee
+0xf85e 0x8135
+0xf85f 0x8116
+0xf860 0x811e
+0xf861 0x43f0
+0xf862 0x8124
+0xf863 0x8127
+0xf864 0x812c
+0xf865 0x2671d
+0xf866 0x813d
+0xf867 0x4408
+0xf868 0x8169
+0xf869 0x4417
+0xf86a 0x8181
+0xf86b 0x441c
+0xf86c 0x8184
+0xf86d 0x8185
+0xf86e 0x4422
+0xf86f 0x8198
+0xf870 0x81b2
+0xf871 0x81c1
+0xf872 0x81c3
+0xf873 0x81d6
+0xf874 0x81db
+0xf875 0x268dd
+0xf876 0x81e4
+0xf877 0x268ea
+0xf878 0x81ec
+0xf879 0x26951
+0xf87a 0x81fd
+0xf87b 0x81ff
+0xf87c 0x2696f
+0xf87d 0x8204
+0xf87e 0x269dd
+0xf880 0x8219
+0xf881 0x8221
+0xf882 0x8222
+0xf883 0x26a1e
+0xf884 0x8232
+0xf885 0x8234
+0xf886 0x823c
+0xf887 0x8246
+0xf888 0x8249
+0xf889 0x8245
+0xf88a 0x26a58
+0xf88b 0x824b
+0xf88c 0x4476
+0xf88d 0x824f
+0xf88e 0x447a
+0xf88f 0x8257
+0xf890 0x26a8c
+0xf891 0x825c
+0xf892 0x8263
+0xf893 0x26ab7
+0xf894 0xfa5d
+0xf895 0xfa5e
+0xf896 0x8279
+0xf897 0x4491
+0xf898 0x827d
+0xf899 0x827f
+0xf89a 0x8283
+0xf89b 0x828a
+0xf89c 0x8293
+0xf89d 0x82a7
+0xf89e 0x82a8
+0xf89f 0x82b2
+0xf8a0 0x82b4
+0xf8a1 0x82ba
+0xf8a2 0x82bc
+0xf8a3 0x82e2
+0xf8a4 0x82e8
+0xf8a5 0x82f7
+0xf8a6 0x8307
+0xf8a7 0x8308
+0xf8a8 0x830c
+0xf8a9 0x8354
+0xf8aa 0x831b
+0xf8ab 0x831d
+0xf8ac 0x8330
+0xf8ad 0x833c
+0xf8ae 0x8344
+0xf8af 0x8357
+0xf8b0 0x44be
+0xf8b1 0x837f
+0xf8b2 0x44d4
+0xf8b3 0x44b3
+0xf8b4 0x838d
+0xf8b5 0x8394
+0xf8b6 0x8395
+0xf8b7 0x839b
+0xf8b8 0x839d
+0xf8b9 0x83c9
+0xf8ba 0x83d0
+0xf8bb 0x83d4
+0xf8bc 0x83dd
+0xf8bd 0x83e5
+0xf8be 0x83f9
+0xf8bf 0x840f
+0xf8c0 0x8411
+0xf8c1 0x8415
+0xf8c2 0x26c73
+0xf8c3 0x8417
+0xf8c4 0x8439
+0xf8c5 0x844a
+0xf8c6 0x844f
+0xf8c7 0x8451
+0xf8c8 0x8452
+0xf8c9 0x8459
+0xf8ca 0x845a
+0xf8cb 0x845c
+0xf8cc 0x26cdd
+0xf8cd 0x8465
+0xf8ce 0x8476
+0xf8cf 0x8478
+0xf8d0 0x847c
+0xf8d1 0x8481
+0xf8d2 0x450d
+0xf8d3 0x84dc
+0xf8d4 0x8497
+0xf8d5 0x84a6
+0xf8d6 0x84be
+0xf8d7 0x4508
+0xf8d8 0x84ce
+0xf8d9 0x84cf
+0xf8da 0x84d3
+0xf8db 0x26e65
+0xf8dc 0x84e7
+0xf8dd 0x84ea
+0xf8de 0x84ef
+0xf8df 0x84f0
+0xf8e0 0x84f1
+0xf8e1 0x84fa
+0xf8e2 0x84fd
+0xf8e3 0x850c
+0xf8e4 0x851b
+0xf8e5 0x8524
+0xf8e6 0x8525
+0xf8e7 0x852b
+0xf8e8 0x8534
+0xf8e9 0x854f
+0xf8ea 0x856f
+0xf8eb 0x4525
+0xf8ec 0x4543
+0xf8ed 0x853e
+0xf8ee 0x8551
+0xf8ef 0x8553
+0xf8f0 0x855e
+0xf8f1 0x8561
+0xf8f2 0x8562
+0xf8f3 0x26f94
+0xf8f4 0x857b
+0xf8f5 0x857d
+0xf8f6 0x857f
+0xf8f7 0x8581
+0xf8f8 0x8586
+0xf8f9 0x8593
+0xf8fa 0x859d
+0xf8fb 0x859f
+0xf8fc 0x26ff8
+0xf940 0x26ff6
+0xf941 0x26ff7
+0xf942 0x85b7
+0xf943 0x85bc
+0xf944 0x85c7
+0xf945 0x85ca
+0xf946 0x85d8
+0xf947 0x85d9
+0xf948 0x85df
+0xf949 0x85e1
+0xf94a 0x85e6
+0xf94b 0x85f6
+0xf94c 0x8600
+0xf94d 0x8611
+0xf94e 0x861e
+0xf94f 0x8621
+0xf950 0x8624
+0xf951 0x8627
+0xf952 0x2710d
+0xf953 0x8639
+0xf954 0x863c
+0xf955 0x27139
+0xf956 0x8640
+0xf957 0xfa20
+0xf958 0x8653
+0xf959 0x8656
+0xf95a 0x866f
+0xf95b 0x8677
+0xf95c 0x867a
+0xf95d 0x8687
+0xf95e 0x8689
+0xf95f 0x868d
+0xf960 0x8691
+0xf961 0x869c
+0xf962 0x869d
+0xf963 0x86a8
+0xf964 0xfa21
+0xf965 0x86b1
+0xf966 0x86b3
+0xf967 0x86c1
+0xf968 0x86c3
+0xf969 0x86d1
+0xf96a 0x86d5
+0xf96b 0x86d7
+0xf96c 0x86e3
+0xf96d 0x86e6
+0xf96e 0x45b8
+0xf96f 0x8705
+0xf970 0x8707
+0xf971 0x870e
+0xf972 0x8710
+0xf973 0x8713
+0xf974 0x8719
+0xf975 0x871f
+0xf976 0x8721
+0xf977 0x8723
+0xf978 0x8731
+0xf979 0x873a
+0xf97a 0x873e
+0xf97b 0x8740
+0xf97c 0x8743
+0xf97d 0x8751
+0xf97e 0x8758
+0xf980 0x8764
+0xf981 0x8765
+0xf982 0x8772
+0xf983 0x877c
+0xf984 0x273db
+0xf985 0x273da
+0xf986 0x87a7
+0xf987 0x8789
+0xf988 0x878b
+0xf989 0x8793
+0xf98a 0x87a0
+0xf98b 0x273fe
+0xf98c 0x45e5
+0xf98d 0x87be
+0xf98e 0x27410
+0xf98f 0x87c1
+0xf990 0x87ce
+0xf991 0x87f5
+0xf992 0x87df
+0xf993 0x27449
+0xf994 0x87e3
+0xf995 0x87e5
+0xf996 0x87e6
+0xf997 0x87ea
+0xf998 0x87eb
+0xf999 0x87ed
+0xf99a 0x8801
+0xf99b 0x8803
+0xf99c 0x880b
+0xf99d 0x8813
+0xf99e 0x8828
+0xf99f 0x882e
+0xf9a0 0x8832
+0xf9a1 0x883c
+0xf9a2 0x460f
+0xf9a3 0x884a
+0xf9a4 0x8858
+0xf9a5 0x885f
+0xf9a6 0x8864
+0xf9a7 0x27615
+0xf9a8 0x27614
+0xf9a9 0x8869
+0xf9aa 0x27631
+0xf9ab 0x886f
+0xf9ac 0x88a0
+0xf9ad 0x88bc
+0xf9ae 0x88bd
+0xf9af 0x88be
+0xf9b0 0x88c0
+0xf9b1 0x88d2
+0xf9b2 0x27693
+0xf9b3 0x88d1
+0xf9b4 0x88d3
+0xf9b5 0x88db
+0xf9b6 0x88f0
+0xf9b7 0x88f1
+0xf9b8 0x4641
+0xf9b9 0x8901
+0xf9ba 0x2770e
+0xf9bb 0x8937
+0xf9bc 0x27723
+0xf9bd 0x8942
+0xf9be 0x8945
+0xf9bf 0x8949
+0xf9c0 0x27752
+0xf9c1 0x4665
+0xf9c2 0x8962
+0xf9c3 0x8980
+0xf9c4 0x8989
+0xf9c5 0x8990
+0xf9c6 0x899f
+0xf9c7 0x89b0
+0xf9c8 0x89b7
+0xf9c9 0x89d6
+0xf9ca 0x89d8
+0xf9cb 0x89eb
+0xf9cc 0x46a1
+0xf9cd 0x89f1
+0xf9ce 0x89f3
+0xf9cf 0x89fd
+0xf9d0 0x89ff
+0xf9d1 0x46af
+0xf9d2 0x8a11
+0xf9d3 0x8a14
+0xf9d4 0x27985
+0xf9d5 0x8a21
+0xf9d6 0x8a35
+0xf9d7 0x8a3e
+0xf9d8 0x8a45
+0xf9d9 0x8a4d
+0xf9da 0x8a58
+0xf9db 0x8aae
+0xf9dc 0x8a90
+0xf9dd 0x8ab7
+0xf9de 0x8abe
+0xf9df 0x8ad7
+0xf9e0 0x8afc
+0xf9e1 0x27a84
+0xf9e2 0x8b0a
+0xf9e3 0x8b05
+0xf9e4 0x8b0d
+0xf9e5 0x8b1c
+0xf9e6 0x8b1f
+0xf9e7 0x8b2d
+0xf9e8 0x8b43
+0xf9e9 0x470c
+0xf9ea 0x8b51
+0xf9eb 0x8b5e
+0xf9ec 0x8b76
+0xf9ed 0x8b7f
+0xf9ee 0x8b81
+0xf9ef 0x8b8b
+0xf9f0 0x8b94
+0xf9f1 0x8b95
+0xf9f2 0x8b9c
+0xf9f3 0x8b9e
+0xf9f4 0x8c39
+0xf9f5 0x27bb3
+0xf9f6 0x8c3d
+0xf9f7 0x27bbe
+0xf9f8 0x27bc7
+0xf9f9 0x8c45
+0xf9fa 0x8c47
+0xf9fb 0x8c4f
+0xf9fc 0x8c54
+0xfa40 0x8c57
+0xfa41 0x8c69
+0xfa42 0x8c6d
+0xfa43 0x8c73
+0xfa44 0x27cb8
+0xfa45 0x8c93
+0xfa46 0x8c92
+0xfa47 0x8c99
+0xfa48 0x4764
+0xfa49 0x8c9b
+0xfa4a 0x8ca4
+0xfa4b 0x8cd6
+0xfa4c 0x8cd5
+0xfa4d 0x8cd9
+0xfa4e 0x27da0
+0xfa4f 0x8cf0
+0xfa50 0x8cf1
+0xfa51 0x27e10
+0xfa52 0x8d09
+0xfa53 0x8d0e
+0xfa54 0x8d6c
+0xfa55 0x8d84
+0xfa56 0x8d95
+0xfa57 0x8da6
+0xfa58 0x27fb7
+0xfa59 0x8dc6
+0xfa5a 0x8dc8
+0xfa5b 0x8dd9
+0xfa5c 0x8dec
+0xfa5d 0x8e0c
+0xfa5e 0x47fd
+0xfa5f 0x8dfd
+0xfa60 0x8e06
+0xfa61 0x2808a
+0xfa62 0x8e14
+0xfa63 0x8e16
+0xfa64 0x8e21
+0xfa65 0x8e22
+0xfa66 0x8e27
+0xfa67 0x280bb
+0xfa68 0x4816
+0xfa69 0x8e36
+0xfa6a 0x8e39
+0xfa6b 0x8e4b
+0xfa6c 0x8e54
+0xfa6d 0x8e62
+0xfa6e 0x8e6c
+0xfa6f 0x8e6d
+0xfa70 0x8e6f
+0xfa71 0x8e98
+0xfa72 0x8e9e
+0xfa73 0x8eae
+0xfa74 0x8eb3
+0xfa75 0x8eb5
+0xfa76 0x8eb6
+0xfa77 0x8ebb
+0xfa78 0x28282
+0xfa79 0x8ed1
+0xfa7a 0x8ed4
+0xfa7b 0x484e
+0xfa7c 0x8ef9
+0xfa7d 0x282f3
+0xfa7e 0x8f00
+0xfa80 0x8f08
+0xfa81 0x8f17
+0xfa82 0x8f2b
+0xfa83 0x8f40
+0xfa84 0x8f4a
+0xfa85 0x8f58
+0xfa86 0x2840c
+0xfa87 0x8fa4
+0xfa88 0x8fb4
+0xfa89 0xfa66
+0xfa8a 0x8fb6
+0xfa8b 0x28455
+0xfa8c 0x8fc1
+0xfa8d 0x8fc6
+0xfa8e 0xfa24
+0xfa8f 0x8fca
+0xfa90 0x8fcd
+0xfa91 0x8fd3
+0xfa92 0x8fd5
+0xfa93 0x8fe0
+0xfa94 0x8ff1
+0xfa95 0x8ff5
+0xfa96 0x8ffb
+0xfa97 0x9002
+0xfa98 0x900c
+0xfa99 0x9037
+0xfa9a 0x2856b
+0xfa9b 0x9043
+0xfa9c 0x9044
+0xfa9d 0x905d
+0xfa9e 0x285c8
+0xfa9f 0x285c9
+0xfaa0 0x9085
+0xfaa1 0x908c
+0xfaa2 0x9090
+0xfaa3 0x961d
+0xfaa4 0x90a1
+0xfaa5 0x48b5
+0xfaa6 0x90b0
+0xfaa7 0x90b6
+0xfaa8 0x90c3
+0xfaa9 0x90c8
+0xfaaa 0x286d7
+0xfaab 0x90dc
+0xfaac 0x90df
+0xfaad 0x286fa
+0xfaae 0x90f6
+0xfaaf 0x90f2
+0xfab0 0x9100
+0xfab1 0x90eb
+0xfab2 0x90fe
+0xfab3 0x90ff
+0xfab4 0x9104
+0xfab5 0x9106
+0xfab6 0x9118
+0xfab7 0x911c
+0xfab8 0x911e
+0xfab9 0x9137
+0xfaba 0x9139
+0xfabb 0x913a
+0xfabc 0x9146
+0xfabd 0x9147
+0xfabe 0x9157
+0xfabf 0x9159
+0xfac0 0x9161
+0xfac1 0x9164
+0xfac2 0x9174
+0xfac3 0x9179
+0xfac4 0x9185
+0xfac5 0x918e
+0xfac6 0x91a8
+0xfac7 0x91ae
+0xfac8 0x91b3
+0xfac9 0x91b6
+0xfaca 0x91c3
+0xfacb 0x91c4
+0xfacc 0x91da
+0xfacd 0x28949
+0xface 0x28946
+0xfacf 0x91ec
+0xfad0 0x91ee
+0xfad1 0x9201
+0xfad2 0x920a
+0xfad3 0x9216
+0xfad4 0x9217
+0xfad5 0x2896b
+0xfad6 0x9233
+0xfad7 0x9242
+0xfad8 0x9247
+0xfad9 0x924a
+0xfada 0x924e
+0xfadb 0x9251
+0xfadc 0x9256
+0xfadd 0x9259
+0xfade 0x9260
+0xfadf 0x9261
+0xfae0 0x9265
+0xfae1 0x9267
+0xfae2 0x9268
+0xfae3 0x28987
+0xfae4 0x28988
+0xfae5 0x927c
+0xfae6 0x927d
+0xfae7 0x927f
+0xfae8 0x9289
+0xfae9 0x928d
+0xfaea 0x9297
+0xfaeb 0x9299
+0xfaec 0x929f
+0xfaed 0x92a7
+0xfaee 0x92ab
+0xfaef 0x289ba
+0xfaf0 0x289bb
+0xfaf1 0x92b2
+0xfaf2 0x92bf
+0xfaf3 0x92c0
+0xfaf4 0x92c6
+0xfaf5 0x92ce
+0xfaf6 0x92d0
+0xfaf7 0x92d7
+0xfaf8 0x92d9
+0xfaf9 0x92e5
+0xfafa 0x92e7
+0xfafb 0x9311
+0xfafc 0x28a1e
+0xfb40 0x28a29
+0xfb41 0x92f7
+0xfb42 0x92f9
+0xfb43 0x92fb
+0xfb44 0x9302
+0xfb45 0x930d
+0xfb46 0x9315
+0xfb47 0x931d
+0xfb48 0x931e
+0xfb49 0x9327
+0xfb4a 0x9329
+0xfb4b 0x28a71
+0xfb4c 0x28a43
+0xfb4d 0x9347
+0xfb4e 0x9351
+0xfb4f 0x9357
+0xfb50 0x935a
+0xfb51 0x936b
+0xfb52 0x9371
+0xfb53 0x9373
+0xfb54 0x93a1
+0xfb55 0x28a99
+0xfb56 0x28acd
+0xfb57 0x9388
+0xfb58 0x938b
+0xfb59 0x938f
+0xfb5a 0x939e
+0xfb5b 0x93f5
+0xfb5c 0x28ae4
+0xfb5d 0x28add
+0xfb5e 0x93f1
+0xfb5f 0x93c1
+0xfb60 0x93c7
+0xfb61 0x93dc
+0xfb62 0x93e2
+0xfb63 0x93e7
+0xfb64 0x9409
+0xfb65 0x940f
+0xfb66 0x9416
+0xfb67 0x9417
+0xfb68 0x93fb
+0xfb69 0x9432
+0xfb6a 0x9434
+0xfb6b 0x943b
+0xfb6c 0x9445
+0xfb6d 0x28bc1
+0xfb6e 0x28bef
+0xfb6f 0x946d
+0xfb70 0x946f
+0xfb71 0x9578
+0xfb72 0x9579
+0xfb73 0x9586
+0xfb74 0x958c
+0xfb75 0x958d
+0xfb76 0x28d10
+0xfb77 0x95ab
+0xfb78 0x95b4
+0xfb79 0x28d71
+0xfb7a 0x95c8
+0xfb7b 0x28dfb
+0xfb7c 0x28e1f
+0xfb7d 0x962c
+0xfb7e 0x9633
+0xfb80 0x9634
+0xfb81 0x28e36
+0xfb82 0x963c
+0xfb83 0x9641
+0xfb84 0x9661
+0xfb85 0x28e89
+0xfb86 0x9682
+0xfb87 0x28eeb
+0xfb88 0x969a
+0xfb89 0x28f32
+0xfb8a 0x49e7
+0xfb8b 0x96a9
+0xfb8c 0x96af
+0xfb8d 0x96b3
+0xfb8e 0x96ba
+0xfb8f 0x96bd
+0xfb90 0x49fa
+0xfb91 0x28ff8
+0xfb92 0x96d8
+0xfb93 0x96da
+0xfb94 0x96dd
+0xfb95 0x4a04
+0xfb96 0x9714
+0xfb97 0x9723
+0xfb98 0x4a29
+0xfb99 0x9736
+0xfb9a 0x9741
+0xfb9b 0x9747
+0xfb9c 0x9755
+0xfb9d 0x9757
+0xfb9e 0x975b
+0xfb9f 0x976a
+0xfba0 0x292a0
+0xfba1 0x292b1
+0xfba2 0x9796
+0xfba3 0x979a
+0xfba4 0x979e
+0xfba5 0x97a2
+0xfba6 0x97b1
+0xfba7 0x97b2
+0xfba8 0x97be
+0xfba9 0x97cc
+0xfbaa 0x97d1
+0xfbab 0x97d4
+0xfbac 0x97d8
+0xfbad 0x97d9
+0xfbae 0x97e1
+0xfbaf 0x97f1
+0xfbb0 0x9804
+0xfbb1 0x980d
+0xfbb2 0x980e
+0xfbb3 0x9814
+0xfbb4 0x9816
+0xfbb5 0x4abc
+0xfbb6 0x29490
+0xfbb7 0x9823
+0xfbb8 0x9832
+0xfbb9 0x9833
+0xfbba 0x9825
+0xfbbb 0x9847
+0xfbbc 0x9866
+0xfbbd 0x98ab
+0xfbbe 0x98ad
+0xfbbf 0x98b0
+0xfbc0 0x295cf
+0xfbc1 0x98b7
+0xfbc2 0x98b8
+0xfbc3 0x98bb
+0xfbc4 0x98bc
+0xfbc5 0x98bf
+0xfbc6 0x98c2
+0xfbc7 0x98c7
+0xfbc8 0x98cb
+0xfbc9 0x98e0
+0xfbca 0x2967f
+0xfbcb 0x98e1
+0xfbcc 0x98e3
+0xfbcd 0x98e5
+0xfbce 0x98ea
+0xfbcf 0x98f0
+0xfbd0 0x98f1
+0xfbd1 0x98f3
+0xfbd2 0x9908
+0xfbd3 0x4b3b
+0xfbd4 0x296f0
+0xfbd5 0x9916
+0xfbd6 0x9917
+0xfbd7 0x29719
+0xfbd8 0x991a
+0xfbd9 0x991b
+0xfbda 0x991c
+0xfbdb 0x29750
+0xfbdc 0x9931
+0xfbdd 0x9932
+0xfbde 0x9933
+0xfbdf 0x993a
+0xfbe0 0x993b
+0xfbe1 0x993c
+0xfbe2 0x9940
+0xfbe3 0x9941
+0xfbe4 0x9946
+0xfbe5 0x994d
+0xfbe6 0x994e
+0xfbe7 0x995c
+0xfbe8 0x995f
+0xfbe9 0x9960
+0xfbea 0x99a3
+0xfbeb 0x99a6
+0xfbec 0x99b9
+0xfbed 0x99bd
+0xfbee 0x99bf
+0xfbef 0x99c3
+0xfbf0 0x99c9
+0xfbf1 0x99d4
+0xfbf2 0x99d9
+0xfbf3 0x99de
+0xfbf4 0x298c6
+0xfbf5 0x99f0
+0xfbf6 0x99f9
+0xfbf7 0x99fc
+0xfbf8 0x9a0a
+0xfbf9 0x9a11
+0xfbfa 0x9a16
+0xfbfb 0x9a1a
+0xfbfc 0x9a20
+0xfc40 0x9a31
+0xfc41 0x9a36
+0xfc42 0x9a44
+0xfc43 0x9a4c
+0xfc44 0x9a58
+0xfc45 0x4bc2
+0xfc46 0x9aaf
+0xfc47 0x4bca
+0xfc48 0x9ab7
+0xfc49 0x4bd2
+0xfc4a 0x9ab9
+0xfc4b 0x29a72
+0xfc4c 0x9ac6
+0xfc4d 0x9ad0
+0xfc4e 0x9ad2
+0xfc4f 0x9ad5
+0xfc50 0x4be8
+0xfc51 0x9adc
+0xfc52 0x9ae0
+0xfc53 0x9ae5
+0xfc54 0x9ae9
+0xfc55 0x9b03
+0xfc56 0x9b0c
+0xfc57 0x9b10
+0xfc58 0x9b12
+0xfc59 0x9b16
+0xfc5a 0x9b1c
+0xfc5b 0x9b2b
+0xfc5c 0x9b33
+0xfc5d 0x9b3d
+0xfc5e 0x4c20
+0xfc5f 0x9b4b
+0xfc60 0x9b63
+0xfc61 0x9b65
+0xfc62 0x9b6b
+0xfc63 0x9b6c
+0xfc64 0x9b73
+0xfc65 0x9b76
+0xfc66 0x9b77
+0xfc67 0x9ba6
+0xfc68 0x9bac
+0xfc69 0x9bb1
+0xfc6a 0x29ddb
+0xfc6b 0x29e3d
+0xfc6c 0x9bb2
+0xfc6d 0x9bb8
+0xfc6e 0x9bbe
+0xfc6f 0x9bc7
+0xfc70 0x9bf3
+0xfc71 0x9bd8
+0xfc72 0x9bdd
+0xfc73 0x9be7
+0xfc74 0x9bea
+0xfc75 0x9beb
+0xfc76 0x9bef
+0xfc77 0x9bee
+0xfc78 0x29e15
+0xfc79 0x9bfa
+0xfc7a 0x29e8a
+0xfc7b 0x9bf7
+0xfc7c 0x29e49
+0xfc7d 0x9c16
+0xfc7e 0x9c18
+0xfc80 0x9c19
+0xfc81 0x9c1a
+0xfc82 0x9c1d
+0xfc83 0x9c22
+0xfc84 0x9c27
+0xfc85 0x9c29
+0xfc86 0x9c2a
+0xfc87 0x29ec4
+0xfc88 0x9c31
+0xfc89 0x9c36
+0xfc8a 0x9c37
+0xfc8b 0x9c45
+0xfc8c 0x9c5c
+0xfc8d 0x29ee9
+0xfc8e 0x9c49
+0xfc8f 0x9c4a
+0xfc90 0x29edb
+0xfc91 0x9c54
+0xfc92 0x9c58
+0xfc93 0x9c5b
+0xfc94 0x9c5d
+0xfc95 0x9c5f
+0xfc96 0x9c69
+0xfc97 0x9c6a
+0xfc98 0x9c6b
+0xfc99 0x9c6d
+0xfc9a 0x9c6e
+0xfc9b 0x9c70
+0xfc9c 0x9c72
+0xfc9d 0x9c75
+0xfc9e 0x9c7a
+0xfc9f 0x9ce6
+0xfca0 0x9cf2
+0xfca1 0x9d0b
+0xfca2 0x9d02
+0xfca3 0x29fce
+0xfca4 0x9d11
+0xfca5 0x9d17
+0xfca6 0x9d18
+0xfca7 0x2a02f
+0xfca8 0x4cc4
+0xfca9 0x2a01a
+0xfcaa 0x9d32
+0xfcab 0x4cd1
+0xfcac 0x9d42
+0xfcad 0x9d4a
+0xfcae 0x9d5f
+0xfcaf 0x9d62
+0xfcb0 0x2a0f9
+0xfcb1 0x9d69
+0xfcb2 0x9d6b
+0xfcb3 0x2a082
+0xfcb4 0x9d73
+0xfcb5 0x9d76
+0xfcb6 0x9d77
+0xfcb7 0x9d7e
+0xfcb8 0x9d84
+0xfcb9 0x9d8d
+0xfcba 0x9d99
+0xfcbb 0x9da1
+0xfcbc 0x9dbf
+0xfcbd 0x9db5
+0xfcbe 0x9db9
+0xfcbf 0x9dbd
+0xfcc0 0x9dc3
+0xfcc1 0x9dc7
+0xfcc2 0x9dc9
+0xfcc3 0x9dd6
+0xfcc4 0x9dda
+0xfcc5 0x9ddf
+0xfcc6 0x9de0
+0xfcc7 0x9de3
+0xfcc8 0x9df4
+0xfcc9 0x4d07
+0xfcca 0x9e0a
+0xfccb 0x9e02
+0xfccc 0x9e0d
+0xfccd 0x9e19
+0xfcce 0x9e1c
+0xfccf 0x9e1d
+0xfcd0 0x9e7b
+0xfcd1 0x22218
+0xfcd2 0x9e80
+0xfcd3 0x9e85
+0xfcd4 0x9e9b
+0xfcd5 0x9ea8
+0xfcd6 0x2a38c
+0xfcd7 0x9ebd
+0xfcd8 0x2a437
+0xfcd9 0x9edf
+0xfcda 0x9ee7
+0xfcdb 0x9eee
+0xfcdc 0x9eff
+0xfcdd 0x9f02
+0xfcde 0x4d77
+0xfcdf 0x9f03
+0xfce0 0x9f17
+0xfce1 0x9f19
+0xfce2 0x9f2f
+0xfce3 0x9f37
+0xfce4 0x9f3a
+0xfce5 0x9f3d
+0xfce6 0x9f41
+0xfce7 0x9f45
+0xfce8 0x9f46
+0xfce9 0x9f53
+0xfcea 0x9f55
+0xfceb 0x9f58
+0xfcec 0x2a5f1
+0xfced 0x9f5d
+0xfcee 0x2a602
+0xfcef 0x9f69
+0xfcf0 0x2a61a
+0xfcf1 0x9f6d
+0xfcf2 0x9f70
+0xfcf3 0x9f75
+0xfcf4 0x2a6b2
diff --git a/locale/cups_es.po b/locale/cups_es.po
index 91afa2d61..4340ecfa4 100644
--- a/locale/cups_es.po
+++ b/locale/cups_es.po
@@ -2991,7 +2991,7 @@ msgstr "INFO: Impresora ocupada; reintento en 5 segundos...\n"
#, c-format
msgid "INFO: Printer does not support IPP/%d.%d, trying IPP/1.0...\n"
-msgstr ""
+msgstr "INFO: La impresora no es compatible con IPP/%d.%d, probando IPP/1.0...\n"
msgid "INFO: Printer is busy; will retry in 5 seconds...\n"
msgstr "INFO: La impresora está ocupada; reintento en 5 segundos...\n"
@@ -5622,7 +5622,3 @@ msgstr "sin título"
msgid "variable-bindings uses indefinite length"
msgstr "variable-bindings usa una longitud indefinida"
-
-#~ msgid "INFO: Printer does not support IPP/1.1, trying IPP/1.0...\n"
-#~ msgstr ""
-#~ "INFO: La impresora no es compatible con IPP/1.1; probando IPP/1.0...\n"
diff --git a/scheduler/auth.c b/scheduler/auth.c
index b3b93d34f..cc2f9a412 100644
--- a/scheduler/auth.c
+++ b/scheduler/auth.c
@@ -3,7 +3,7 @@
*
* Authorization routines for the Common UNIX Printing System (CUPS).
*
- * Copyright 2007-2008 by Apple Inc.
+ * Copyright 2007-2009 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
* This file contains Kerberos support code, copyright 2006 by
@@ -456,9 +456,8 @@ cupsdAuthorize(cupsd_client_t *con) /* I - Client connection */
strlcpy(username, "_AUTHREF_", sizeof(username));
- if ((status = AuthorizationCopyInfo(con->authref,
- kAuthorizationEnvironmentUsername,
- &authinfo)) == 0)
+ if (!AuthorizationCopyInfo(con->authref, kAuthorizationEnvironmentUsername,
+ &authinfo))
{
if (authinfo->count == 1 && authinfo->items[0].value &&
authinfo->items[0].valueLength >= 2)
diff --git a/scheduler/client.c b/scheduler/client.c
index 0f088bd18..1e2f55d8d 100644
--- a/scheduler/client.c
+++ b/scheduler/client.c
@@ -1245,6 +1245,9 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
* Protect against malicious users!
*/
+ cupsdLogMessage(CUPSD_LOG_ERROR,
+ "Request for non-absolute resource \"%s\"!", con->uri);
+
if (!cupsdSendError(con, HTTP_FORBIDDEN, CUPSD_AUTH_NONE))
{
cupsdCloseClient(con);
@@ -1449,10 +1452,13 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
strlen(con->uri) == 11)))
{
/*
- * GET can only be done to configuration files under
+ * GET can only be done to configuration files directly under
* /admin/conf...
*/
+ cupsdLogMessage(CUPSD_LOG_ERROR,
+ "Request for subdirectory \"%s\"!", con->uri);
+
if (!cupsdSendError(con, HTTP_FORBIDDEN, CUPSD_AUTH_NONE))
{
cupsdCloseClient(con);
@@ -1697,6 +1703,9 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
* /admin/conf...
*/
+ cupsdLogMessage(CUPSD_LOG_ERROR,
+ "Request for subdirectory \"%s\"!", con->uri);
+
if (!cupsdSendError(con, HTTP_FORBIDDEN, CUPSD_AUTH_NONE))
{
cupsdCloseClient(con);
@@ -1851,6 +1860,9 @@ cupsdReadClient(cupsd_client_t *con) /* I - Client to read from */
* /admin/conf...
*/
+ cupsdLogMessage(CUPSD_LOG_ERROR,
+ "Request for subdirectory \"%s\"!", con->uri);
+
if (!cupsdSendError(con, HTTP_FORBIDDEN, CUPSD_AUTH_NONE))
{
cupsdCloseClient(con);
diff --git a/scheduler/cupsfilter.c b/scheduler/cupsfilter.c
index a4bea217b..9685857c0 100644
--- a/scheduler/cupsfilter.c
+++ b/scheduler/cupsfilter.c
@@ -3,7 +3,7 @@
*
* CUPS filtering program for the Common UNIX Printing System (CUPS).
*
- * Copyright 2007-2008 by Apple Inc.
+ * Copyright 2007-2009 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products, all rights reserved.
*
* These coded instructions, statements, and computer programs are the
@@ -575,6 +575,8 @@ add_printer_filters(
ppd_attr_t *ppdattr; /* Current prefilter */
+ *prefilter_type = NULL;
+
if ((ppd = ppdOpenFile(ppdfile)) == NULL)
{
ppd_status_t status; /* PPD load status */
@@ -608,8 +610,6 @@ add_printer_filters(
if (ppdattr->value)
add_printer_filter(command, mime, *prefilter_type, ppdattr->value);
}
- else
- *prefilter_type = NULL;
return (printer_type);
}
diff --git a/scheduler/ipp.c b/scheduler/ipp.c
index 9286a4f5e..783920c6e 100644
--- a/scheduler/ipp.c
+++ b/scheduler/ipp.c
@@ -10698,7 +10698,7 @@ set_printer_attrs(cupsd_client_t *con, /* I - Client connection */
cups_ptype_t dtype; /* Destination type (printer/class) */
cupsd_printer_t *printer; /* Printer/class */
ipp_attribute_t *attr; /* Printer attribute */
- int changed; /* Was anything changed? */
+ int changed = 0; /* Was anything changed? */
cupsdLogMessage(CUPSD_LOG_DEBUG2, "set_printer_attrs(%p[%d], %s)", con,
diff --git a/scheduler/log.c b/scheduler/log.c
index 7bb52cc61..df4788581 100644
--- a/scheduler/log.c
+++ b/scheduler/log.c
@@ -123,7 +123,7 @@ cupsdGetDateTime(struct timeval *t, /* I - Time value or NULL for current */
else
snprintf(s, sizeof(s), "[%02d/%s/%04d:%02d:%02d:%02d.%06d %+03ld%02ld]",
date->tm_mday, months[date->tm_mon], 1900 + date->tm_year,
- date->tm_hour, date->tm_min, date->tm_sec, t->tv_usec,
+ date->tm_hour, date->tm_min, date->tm_sec, (int)t->tv_usec,
#ifdef HAVE_TM_GMTOFF
date->tm_gmtoff / 3600, (date->tm_gmtoff / 60) % 60);
#else
diff --git a/scheduler/main.c b/scheduler/main.c
index ed6c680d2..b7e61a17f 100644
--- a/scheduler/main.c
+++ b/scheduler/main.c
@@ -1912,7 +1912,7 @@ select_timeout(int fds) /* I - Number of descriptors returned */
}
/*
- * Check for any active jobs...
+ * Write out changes to configuration and state files...
*/
if (DirtyCleanTime && timeout > DirtyCleanTime)
@@ -1925,15 +1925,20 @@ select_timeout(int fds) /* I - Number of descriptors returned */
* Check for any active jobs...
*/
- if (timeout > (now + 10) && ActiveJobs)
+ if (cupsArrayCount(ActiveJobs) > 0)
{
for (job = (cupsd_job_t *)cupsArrayFirst(ActiveJobs);
job;
job = (cupsd_job_t *)cupsArrayNext(ActiveJobs))
- if (job->state_value <= IPP_JOB_PROCESSING)
+ if (job->state_value == IPP_JOB_HELD && job->hold_until < timeout)
+ {
+ timeout = job->hold_until;
+ why = "release held jobs";
+ }
+ else if (job->state_value == IPP_JOB_PENDING && timeout > (now + 10))
{
timeout = now + 10;
- why = "process active jobs";
+ why = "start pending jobs";
break;
}
}
diff --git a/scheduler/printers.c b/scheduler/printers.c
index 33ff540b8..b6d7bce61 100644
--- a/scheduler/printers.c
+++ b/scheduler/printers.c
@@ -3556,7 +3556,9 @@ add_printer_filter(
program[1024]; /* Program/filter name */
int cost; /* Cost of filter */
mime_type_t *temptype; /* MIME type looping var */
- char filename[1024]; /* Full filter filename */
+ char filename[1024], /* Full filter filename */
+ *dirsep; /* Pointer to directory separator */
+ struct stat fileinfo; /* File information */
/*
@@ -3585,14 +3587,79 @@ add_printer_filter(
else
snprintf(filename, sizeof(filename), "%s/filter/%s", ServerBin, program);
- if (access(filename, X_OK))
+ if (stat(filename, &fileinfo))
{
snprintf(p->state_message, sizeof(p->state_message),
"Filter \"%s\" for printer \"%s\" not available: %s",
- program, p->name, strerror(errno));
+ filename, p->name, strerror(errno));
cupsdSetPrinterReasons(p, "+cups-missing-filter-error");
cupsdLogMessage(CUPSD_LOG_ERROR, "%s", p->state_message);
+ return;
+ }
+
+ /*
+ * When running as root, do additional security checks...
+ */
+
+ if (!RunUser)
+ {
+ /*
+ * Only use filters that are owned by root and do not have world write
+ * permissions.
+ */
+
+ if (fileinfo.st_uid || (fileinfo.st_mode & S_IWOTH) != 0)
+ {
+ if (fileinfo.st_uid)
+ snprintf(p->state_message, sizeof(p->state_message),
+ "Filter \"%s\" for printer \"%s\" not owned by root",
+ filename, p->name);
+ else
+ snprintf(p->state_message, sizeof(p->state_message),
+ "Filter \"%s\" for printer \"%s\" has insecure permissions "
+ "(0%o)", filename, p->name, fileinfo.st_mode);
+
+ cupsdSetPrinterReasons(p, "+cups-insecure-filter-error");
+
+ cupsdLogMessage(CUPSD_LOG_ERROR, "%s", p->state_message);
+ return;
+ }
+
+ /*
+ * Similarly, check that the parent directory is also owned by root and
+ * does not have world write permissions.
+ */
+
+ if ((dirsep = strrchr(filename, '/')) != NULL)
+ *dirsep = '\0';
+
+ if (stat(filename, &fileinfo))
+ {
+ snprintf(p->state_message, sizeof(p->state_message),
+ "Filter directory \"%s\" for printer \"%s\" not accessible: %s",
+ filename, p->name, strerror(errno));
+ cupsdSetPrinterReasons(p, "+cups-missing-filter-error");
+
+ cupsdLogMessage(CUPSD_LOG_ERROR, "%s", p->state_message);
+ return;
+ }
+ else if (fileinfo.st_uid || (fileinfo.st_mode & S_IWOTH) != 0)
+ {
+ if (fileinfo.st_uid)
+ snprintf(p->state_message, sizeof(p->state_message),
+ "Filter directory \"%s\" for printer \"%s\" not owned by "
+ "root", filename, p->name);
+ else
+ snprintf(p->state_message, sizeof(p->state_message),
+ "Filter directory \"%s\" for printer \"%s\" has insecure "
+ "permissions (0%o)", filename, p->name, fileinfo.st_mode);
+
+ cupsdSetPrinterReasons(p, "+cups-insecure-filter-error");
+
+ cupsdLogMessage(CUPSD_LOG_ERROR, "%s", p->state_message);
+ return;
+ }
}
}
diff --git a/scheduler/process.c b/scheduler/process.c
index 15ce14d5d..d4cedbe31 100644
--- a/scheduler/process.c
+++ b/scheduler/process.c
@@ -3,7 +3,7 @@
*
* Process management routines for the Common UNIX Printing System (CUPS).
*
- * Copyright 2007-2008 by Apple Inc.
+ * Copyright 2007-2009 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
* These coded instructions, statements, and computer programs are the
@@ -216,6 +216,8 @@ cupsdStartProcess(
void *profile, /* I - Security profile to use */
int *pid) /* O - Process ID */
{
+ int user; /* Command UID */
+ struct stat commandinfo; /* Command file information */
cupsd_proc_t *proc; /* New process record */
#if defined(HAVE_SIGACTION) && !defined(HAVE_SIGSET)
struct sigaction action; /* POSIX signal handler */
@@ -231,13 +233,40 @@ cupsdStartProcess(
"cupsdStartProcess(\"%s\", %p, %p, %d, %d, %d)",
command, argv, envp, infd, outfd, errfd);
- if (access(command, X_OK))
+ if (RunUser)
+ user = RunUser;
+ else if (root)
+ user = 0;
+ else
+ user = User;
+
+ if (stat(command, &commandinfo))
{
cupsdLogMessage(CUPSD_LOG_ERROR, "Unable to execute %s: %s", command,
strerror(errno));
*pid = 0;
return (0);
}
+ else if (commandinfo.st_mode & S_IWOTH)
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR,
+ "Unable to execute %s: insecure file permissions (0%o)",
+ command, commandinfo.st_mode);
+ *pid = 0;
+ errno = EPERM;
+ return (0);
+ }
+ else if ((commandinfo.st_uid != user || !(commandinfo.st_mode & S_IXUSR)) &&
+ (commandinfo.st_gid != Group || !(commandinfo.st_mode & S_IXGRP)) &&
+ !(commandinfo.st_mode & S_IXOTH))
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR,
+ "Unable to execute %s: no execute permissions (0%o)",
+ command, commandinfo.st_mode);
+ *pid = 0;
+ errno = EPERM;
+ return (0);
+ }
#if defined(__APPLE__)
if (envp)
diff --git a/systemv/lpstat.c b/systemv/lpstat.c
index ed613869e..ab16b8fdc 100644
--- a/systemv/lpstat.c
+++ b/systemv/lpstat.c
@@ -1540,8 +1540,8 @@ show_printers(const char *printers, /* I - Destinations */
};
- DEBUG_printf(("show_printers(printer=\"%s\", num_dests=%d, dests=%p, "
- "long_status=%d)\n", printer, num_dests, dests, long_status));
+ DEBUG_printf(("show_printers(printers=\"%s\", num_dests=%d, dests=%p, "
+ "long_status=%d)\n", printers, num_dests, dests, long_status));
if ((root = getenv("CUPS_SERVERROOT")) == NULL)
root = CUPS_SERVERROOT;