From 54bc8644844aaea2209c495f57b240cd371810c6 Mon Sep 17 00:00:00 2001 From: Marco Antognini Date: Sat, 19 Jan 2013 16:20:01 +0100 Subject: [PATCH] Add freetype.framework and edit CMake accordingly. (Close #241) Freetype version 2.4.11, build for OS X 10.5 and above as universal binary (i386 + x86_64) --- CMakeLists.txt | 1 + .../osx/freetype2/freetype/config/ftconfig.h | 545 +++ .../osx/freetype2/freetype/config/ftheader.h | 806 ++++ .../osx/freetype2/freetype/config/ftmodule.h | 20 + .../osx/freetype2/freetype/config/ftoption.h | 827 ++++ .../osx/freetype2/freetype/config/ftstdlib.h | 174 + .../osx/freetype2/freetype/freetype.h | 3990 +++++++++++++++++ .../osx/freetype2/freetype/ftadvanc.h | 179 + .../osx/freetype2/freetype/ftautoh.h | 349 ++ .../osx/freetype2/freetype/ftbbox.h | 102 + .../osx/freetype2/freetype/ftbdf.h | 209 + .../osx/freetype2}/freetype/ftbitmap.h | 0 .../osx/freetype2/freetype/ftbzip2.h | 102 + .../osx/freetype2/freetype/ftcache.h | 1140 +++++ .../osx/freetype2/freetype/ftchapters.h | 118 + .../osx/freetype2/freetype/ftcid.h | 166 + .../osx/freetype2/freetype/fterrdef.h | 247 + .../osx/freetype2/freetype/fterrors.h | 207 + .../osx/freetype2/freetype/ftgasp.h | 128 + .../osx/freetype2/freetype/ftglyph.h | 620 +++ .../osx/freetype2/freetype/ftgxval.h | 358 ++ .../osx/freetype2/freetype/ftgzip.h | 102 + .../osx/freetype2}/freetype/ftimage.h | 0 .../osx/freetype2/freetype/ftincrem.h | 353 ++ .../osx/freetype2/freetype/ftlcdfil.h | 213 + .../osx/freetype2/freetype/ftlist.h | 277 ++ .../osx/freetype2/freetype/ftlzw.h | 99 + .../osx/freetype2/freetype/ftmac.h | 274 ++ .../libfreetype/osx/freetype2/freetype/ftmm.h | 378 ++ .../osx/freetype2/freetype/ftmodapi.h | 634 +++ .../osx/freetype2/freetype/ftmoderr.h | 156 + .../osx/freetype2/freetype/ftotval.h | 203 + .../osx/freetype2/freetype/ftoutln.h | 558 +++ .../osx/freetype2/freetype/ftpfr.h | 172 + .../osx/freetype2/freetype/ftrender.h | 238 + .../osx/freetype2/freetype/ftsizes.h | 159 + .../osx/freetype2/freetype/ftsnames.h | 200 + .../osx/freetype2/freetype/ftstroke.h | 751 ++++ .../osx/freetype2/freetype/ftsynth.h | 81 + .../osx/freetype2}/freetype/ftsystem.h | 0 .../osx/freetype2/freetype/fttrigon.h | 350 ++ .../osx/freetype2/freetype/fttypes.h | 588 +++ .../osx/freetype2/freetype/ftwinfnt.h | 274 ++ .../osx/freetype2/freetype/ftxf86.h | 83 + .../osx/freetype2/freetype/t1tables.h | 662 +++ .../osx/freetype2/freetype/ttnameid.h | 1237 +++++ .../osx/freetype2/freetype/tttables.h | 777 ++++ .../osx/freetype2/freetype/tttags.h | 107 + .../osx/freetype2/freetype/ttunpat.h | 59 + extlibs/headers/libfreetype/osx/ft2build.h | 61 + .../windows}/freetype/config/ftconfig.h | 0 .../windows}/freetype/config/ftheader.h | 0 .../windows}/freetype/config/ftmodule.h | 0 .../windows}/freetype/config/ftoption.h | 0 .../windows}/freetype/config/ftstdlib.h | 0 .../windows}/freetype/freetype.h | 0 .../libfreetype/windows/freetype/ftbitmap.h | 227 + .../windows}/freetype/fterrdef.h | 0 .../windows}/freetype/fterrors.h | 0 .../windows}/freetype/ftglyph.h | 0 .../libfreetype/windows/freetype/ftimage.h | 1313 ++++++ .../windows}/freetype/ftmoderr.h | 0 .../windows}/freetype/ftoutln.h | 0 .../libfreetype/windows/freetype/ftsystem.h | 347 ++ .../windows}/freetype/fttypes.h | 0 .../windows}/freetype/internal/internal.h | 0 .../{ => libfreetype/windows}/ft2build.h | 0 .../Frameworks/freetype.framework/Resources | 1 + .../Versions/A/Resources/Info.plist | 20 + .../freetype.framework/Versions/A/freetype | Bin 0 -> 1668068 bytes .../freetype.framework/Versions/Current | 1 + .../Frameworks/freetype.framework/freetype | 1 + src/SFML/Graphics/CMakeLists.txt | 18 +- 73 files changed, 21254 insertions(+), 8 deletions(-) create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/config/ftconfig.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/config/ftheader.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/config/ftmodule.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/config/ftoption.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/config/ftstdlib.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/freetype.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftadvanc.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftautoh.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftbbox.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftbdf.h rename extlibs/headers/{ => libfreetype/osx/freetype2}/freetype/ftbitmap.h (100%) create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftbzip2.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftcache.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftchapters.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftcid.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/fterrdef.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/fterrors.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftgasp.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftglyph.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftgxval.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftgzip.h rename extlibs/headers/{ => libfreetype/osx/freetype2}/freetype/ftimage.h (100%) create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftincrem.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftlcdfil.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftlist.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftlzw.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftmac.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftmm.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftmodapi.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftmoderr.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftotval.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftoutln.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftpfr.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftrender.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftsizes.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftsnames.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftstroke.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftsynth.h rename extlibs/headers/{ => libfreetype/osx/freetype2}/freetype/ftsystem.h (100%) create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/fttrigon.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/fttypes.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftwinfnt.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ftxf86.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/t1tables.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ttnameid.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/tttables.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/tttags.h create mode 100644 extlibs/headers/libfreetype/osx/freetype2/freetype/ttunpat.h create mode 100644 extlibs/headers/libfreetype/osx/ft2build.h rename extlibs/headers/{ => libfreetype/windows}/freetype/config/ftconfig.h (100%) rename extlibs/headers/{ => libfreetype/windows}/freetype/config/ftheader.h (100%) rename extlibs/headers/{ => libfreetype/windows}/freetype/config/ftmodule.h (100%) rename extlibs/headers/{ => libfreetype/windows}/freetype/config/ftoption.h (100%) rename extlibs/headers/{ => libfreetype/windows}/freetype/config/ftstdlib.h (100%) rename extlibs/headers/{ => libfreetype/windows}/freetype/freetype.h (100%) create mode 100644 extlibs/headers/libfreetype/windows/freetype/ftbitmap.h rename extlibs/headers/{ => libfreetype/windows}/freetype/fterrdef.h (100%) rename extlibs/headers/{ => libfreetype/windows}/freetype/fterrors.h (100%) rename extlibs/headers/{ => libfreetype/windows}/freetype/ftglyph.h (100%) create mode 100644 extlibs/headers/libfreetype/windows/freetype/ftimage.h rename extlibs/headers/{ => libfreetype/windows}/freetype/ftmoderr.h (100%) rename extlibs/headers/{ => libfreetype/windows}/freetype/ftoutln.h (100%) create mode 100644 extlibs/headers/libfreetype/windows/freetype/ftsystem.h rename extlibs/headers/{ => libfreetype/windows}/freetype/fttypes.h (100%) rename extlibs/headers/{ => libfreetype/windows}/freetype/internal/internal.h (100%) rename extlibs/headers/{ => libfreetype/windows}/ft2build.h (100%) create mode 120000 extlibs/libs-osx/Frameworks/freetype.framework/Resources create mode 100644 extlibs/libs-osx/Frameworks/freetype.framework/Versions/A/Resources/Info.plist create mode 100755 extlibs/libs-osx/Frameworks/freetype.framework/Versions/A/freetype create mode 120000 extlibs/libs-osx/Frameworks/freetype.framework/Versions/Current create mode 120000 extlibs/libs-osx/Frameworks/freetype.framework/freetype diff --git a/CMakeLists.txt b/CMakeLists.txt index 615bc3b7..0ee21828 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -196,6 +196,7 @@ if(WINDOWS) endif() elseif(MACOSX) install(DIRECTORY extlibs/libs-osx/Frameworks/sndfile.framework DESTINATION ${CMAKE_INSTALL_FRAMEWORK_PREFIX}) + install(DIRECTORY extlibs/libs-osx/Frameworks/freetype.framework DESTINATION ${CMAKE_INSTALL_FRAMEWORK_PREFIX}) if(SFML_INSTALL_XCODE4_TEMPLATES) install(DIRECTORY tools/xcode/templates/SFML DESTINATION /Library/Developer/Xcode/Templates) diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/config/ftconfig.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/config/ftconfig.h new file mode 100644 index 00000000..69aba71f --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/config/ftconfig.h @@ -0,0 +1,545 @@ +/* ftconfig.h. Generated from ftconfig.in by configure. */ +/***************************************************************************/ +/* */ +/* ftconfig.in */ +/* */ +/* UNIX-specific configuration file (specification only). */ +/* */ +/* Copyright 1996-2004, 2006-2009, 2011 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + + /*************************************************************************/ + /* */ + /* This header file contains a number of macro definitions that are used */ + /* by the rest of the engine. Most of the macros here are automatically */ + /* determined at compile time, and you should not need to change it to */ + /* port FreeType, except to compile the library with a non-ANSI */ + /* compiler. */ + /* */ + /* Note however that if some specific modifications are needed, we */ + /* advise you to place a modified copy in your build directory. */ + /* */ + /* The build directory is usually `freetype/builds/', and */ + /* contains system-specific files that are always included first when */ + /* building the library. */ + /* */ + /*************************************************************************/ + + +#ifndef __FTCONFIG_H__ +#define __FTCONFIG_H__ + +#include +#include FT_CONFIG_OPTIONS_H +#include FT_CONFIG_STANDARD_LIBRARY_H + + +FT_BEGIN_HEADER + + + /*************************************************************************/ + /* */ + /* PLATFORM-SPECIFIC CONFIGURATION MACROS */ + /* */ + /* These macros can be toggled to suit a specific system. The current */ + /* ones are defaults used to compile FreeType in an ANSI C environment */ + /* (16bit compilers are also supported). Copy this file to your own */ + /* `freetype/builds/' directory, and edit it to port the engine. */ + /* */ + /*************************************************************************/ + + +#define HAVE_UNISTD_H 1 +#define HAVE_FCNTL_H 1 +#define HAVE_STDINT_H 1 + + + /* There are systems (like the Texas Instruments 'C54x) where a `char' */ + /* has 16 bits. ANSI C says that sizeof(char) is always 1. Since an */ + /* `int' has 16 bits also for this system, sizeof(int) gives 1 which */ + /* is probably unexpected. */ + /* */ + /* `CHAR_BIT' (defined in limits.h) gives the number of bits in a */ + /* `char' type. */ + +#ifndef FT_CHAR_BIT +#define FT_CHAR_BIT CHAR_BIT +#endif + + +/* #undef FT_USE_AUTOCONF_SIZEOF_TYPES */ +#ifdef FT_USE_AUTOCONF_SIZEOF_TYPES + +#define SIZEOF_INT 4 +#define SIZEOF_LONG 4 +#define FT_SIZEOF_INT SIZEOF_INT +#define FT_SIZEOF_LONG SIZEOF_LONG + +#else /* !FT_USE_AUTOCONF_SIZEOF_TYPES */ + + /* Following cpp computation of the bit length of int and long */ + /* is copied from default include/freetype/config/ftconfig.h. */ + /* If any improvement is required for this file, it should be */ + /* applied to the original header file for the builders that */ + /* does not use configure script. */ + + /* The size of an `int' type. */ +#if FT_UINT_MAX == 0xFFFFUL +#define FT_SIZEOF_INT (16 / FT_CHAR_BIT) +#elif FT_UINT_MAX == 0xFFFFFFFFUL +#define FT_SIZEOF_INT (32 / FT_CHAR_BIT) +#elif FT_UINT_MAX > 0xFFFFFFFFUL && FT_UINT_MAX == 0xFFFFFFFFFFFFFFFFUL +#define FT_SIZEOF_INT (64 / FT_CHAR_BIT) +#else +#error "Unsupported size of `int' type!" +#endif + + /* The size of a `long' type. A five-byte `long' (as used e.g. on the */ + /* DM642) is recognized but avoided. */ +#if FT_ULONG_MAX == 0xFFFFFFFFUL +#define FT_SIZEOF_LONG (32 / FT_CHAR_BIT) +#elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFUL +#define FT_SIZEOF_LONG (32 / FT_CHAR_BIT) +#elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFFFFFFFUL +#define FT_SIZEOF_LONG (64 / FT_CHAR_BIT) +#else +#error "Unsupported size of `long' type!" +#endif + +#endif /* !FT_USE_AUTOCONF_SIZEOF_TYPES */ + + + /* FT_UNUSED is a macro used to indicate that a given parameter is not */ + /* used -- this is only used to get rid of unpleasant compiler warnings */ +#ifndef FT_UNUSED +#define FT_UNUSED( arg ) ( (arg) = (arg) ) +#endif + + + /*************************************************************************/ + /* */ + /* AUTOMATIC CONFIGURATION MACROS */ + /* */ + /* These macros are computed from the ones defined above. Don't touch */ + /* their definition, unless you know precisely what you are doing. No */ + /* porter should need to mess with them. */ + /* */ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* Mac support */ + /* */ + /* This is the only necessary change, so it is defined here instead */ + /* providing a new configuration file. */ + /* */ +#if defined( __APPLE__ ) || ( defined( __MWERKS__ ) && defined( macintosh ) ) + /* no Carbon frameworks for 64bit 10.4.x */ + /* AvailabilityMacros.h is available since Mac OS X 10.2, */ + /* so guess the system version by maximum errno before inclusion */ +#include +#ifdef ECANCELED /* defined since 10.2 */ +#include "AvailabilityMacros.h" +#endif +#if defined( __LP64__ ) && \ + ( MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_4 ) +#undef FT_MACINTOSH +#endif + +#elif defined( __SC__ ) || defined( __MRC__ ) + /* Classic MacOS compilers */ +#include "ConditionalMacros.h" +#if TARGET_OS_MAC +#define FT_MACINTOSH 1 +#endif + +#endif + + + /* Fix compiler warning with sgi compiler */ +#if defined( __sgi ) && !defined( __GNUC__ ) +#if defined( _COMPILER_VERSION ) && ( _COMPILER_VERSION >= 730 ) +#pragma set woff 3505 +#endif +#endif + + + /*************************************************************************/ + /* */ + /* IntN types */ + /* */ + /* Used to guarantee the size of some specific integers. */ + /* */ + typedef signed short FT_Int16; + typedef unsigned short FT_UInt16; + +#if FT_SIZEOF_INT == 4 + + typedef signed int FT_Int32; + typedef unsigned int FT_UInt32; + +#elif FT_SIZEOF_LONG == 4 + + typedef signed long FT_Int32; + typedef unsigned long FT_UInt32; + +#else +#error "no 32bit type found -- please check your configuration files" +#endif + + + /* look up an integer type that is at least 32 bits */ +#if FT_SIZEOF_INT >= 4 + + typedef int FT_Fast; + typedef unsigned int FT_UFast; + +#elif FT_SIZEOF_LONG >= 4 + + typedef long FT_Fast; + typedef unsigned long FT_UFast; + +#endif + + + /* determine whether we have a 64-bit int type for platforms without */ + /* Autoconf */ +#if FT_SIZEOF_LONG == 8 + + /* FT_LONG64 must be defined if a 64-bit type is available */ +#define FT_LONG64 +#define FT_INT64 long + +#elif defined( _MSC_VER ) && _MSC_VER >= 900 /* Visual C++ (and Intel C++) */ + + /* this compiler provides the __int64 type */ +#define FT_LONG64 +#define FT_INT64 __int64 + +#elif defined( __BORLANDC__ ) /* Borland C++ */ + + /* XXXX: We should probably check the value of __BORLANDC__ in order */ + /* to test the compiler version. */ + + /* this compiler provides the __int64 type */ +#define FT_LONG64 +#define FT_INT64 __int64 + +#elif defined( __WATCOMC__ ) /* Watcom C++ */ + + /* Watcom doesn't provide 64-bit data types */ + +#elif defined( __MWERKS__ ) /* Metrowerks CodeWarrior */ + +#define FT_LONG64 +#define FT_INT64 long long int + +#elif defined( __GNUC__ ) + + /* GCC provides the `long long' type */ +#define FT_LONG64 +#define FT_INT64 long long int + +#endif /* FT_SIZEOF_LONG == 8 */ + + + /*************************************************************************/ + /* */ + /* A 64-bit data type will create compilation problems if you compile */ + /* in strict ANSI mode. To avoid them, we disable its use if __STDC__ */ + /* is defined. You can however ignore this rule by defining the */ + /* FT_CONFIG_OPTION_FORCE_INT64 configuration macro. */ + /* */ +#if defined( FT_LONG64 ) && !defined( FT_CONFIG_OPTION_FORCE_INT64 ) + +#ifdef __STDC__ + + /* Undefine the 64-bit macros in strict ANSI compilation mode. */ + /* Since `#undef' doesn't survive in configuration header files */ + /* we use the postprocessing facility of AC_CONFIG_HEADERS to */ + /* replace the leading `/' with `#'. */ +#undef FT_LONG64 +#undef FT_INT64 + +#endif /* __STDC__ */ + +#endif /* FT_LONG64 && !FT_CONFIG_OPTION_FORCE_INT64 */ + + +#define FT_BEGIN_STMNT do { +#define FT_END_STMNT } while ( 0 ) +#define FT_DUMMY_STMNT FT_BEGIN_STMNT FT_END_STMNT + + +#ifndef FT_CONFIG_OPTION_NO_ASSEMBLER + /* Provide assembler fragments for performance-critical functions. */ + /* These must be defined `static __inline__' with GCC. */ + +#if defined( __CC_ARM ) || defined( __ARMCC__ ) /* RVCT */ +#define FT_MULFIX_ASSEMBLER FT_MulFix_arm + + /* documentation is in freetype.h */ + + static __inline FT_Int32 + FT_MulFix_arm( FT_Int32 a, + FT_Int32 b ) + { + register FT_Int32 t, t2; + + + __asm + { + smull t2, t, b, a /* (lo=t2,hi=t) = a*b */ + mov a, t, asr #31 /* a = (hi >> 31) */ + add a, a, #0x8000 /* a += 0x8000 */ + adds t2, t2, a /* t2 += a */ + adc t, t, #0 /* t += carry */ + mov a, t2, lsr #16 /* a = t2 >> 16 */ + orr a, a, t, lsl #16 /* a |= t << 16 */ + } + return a; + } + +#endif /* __CC_ARM || __ARMCC__ */ + + +#ifdef __GNUC__ + +#if defined( __arm__ ) && !defined( __thumb__ ) && \ + !( defined( __CC_ARM ) || defined( __ARMCC__ ) ) +#define FT_MULFIX_ASSEMBLER FT_MulFix_arm + + /* documentation is in freetype.h */ + + static __inline__ FT_Int32 + FT_MulFix_arm( FT_Int32 a, + FT_Int32 b ) + { + register FT_Int32 t, t2; + + + __asm__ __volatile__ ( + "smull %1, %2, %4, %3\n\t" /* (lo=%1,hi=%2) = a*b */ + "mov %0, %2, asr #31\n\t" /* %0 = (hi >> 31) */ + "add %0, %0, #0x8000\n\t" /* %0 += 0x8000 */ + "adds %1, %1, %0\n\t" /* %1 += %0 */ + "adc %2, %2, #0\n\t" /* %2 += carry */ + "mov %0, %1, lsr #16\n\t" /* %0 = %1 >> 16 */ + "orr %0, %0, %2, lsl #16\n\t" /* %0 |= %2 << 16 */ + : "=r"(a), "=&r"(t2), "=&r"(t) + : "r"(a), "r"(b) ); + return a; + } + +#endif /* __arm__ && !__thumb__ && !( __CC_ARM || __ARMCC__ ) */ + +#if defined( __i386__ ) +#define FT_MULFIX_ASSEMBLER FT_MulFix_i386 + + /* documentation is in freetype.h */ + + static __inline__ FT_Int32 + FT_MulFix_i386( FT_Int32 a, + FT_Int32 b ) + { + register FT_Int32 result; + + + __asm__ __volatile__ ( + "imul %%edx\n" + "movl %%edx, %%ecx\n" + "sarl $31, %%ecx\n" + "addl $0x8000, %%ecx\n" + "addl %%ecx, %%eax\n" + "adcl $0, %%edx\n" + "shrl $16, %%eax\n" + "shll $16, %%edx\n" + "addl %%edx, %%eax\n" + : "=a"(result), "=d"(b) + : "a"(a), "d"(b) + : "%ecx", "cc" ); + return result; + } + +#endif /* i386 */ + +#endif /* __GNUC__ */ + + +#ifdef _MSC_VER /* Visual C++ */ + +#ifdef _M_IX86 + +#define FT_MULFIX_ASSEMBLER FT_MulFix_i386 + + /* documentation is in freetype.h */ + + static __inline FT_Int32 + FT_MulFix_i386( FT_Int32 a, + FT_Int32 b ) + { + register FT_Int32 result; + + __asm + { + mov eax, a + mov edx, b + imul edx + mov ecx, edx + sar ecx, 31 + add ecx, 8000h + add eax, ecx + adc edx, 0 + shr eax, 16 + shl edx, 16 + add eax, edx + mov result, eax + } + return result; + } + +#endif /* _M_IX86 */ + +#endif /* _MSC_VER */ + +#endif /* !FT_CONFIG_OPTION_NO_ASSEMBLER */ + + +#ifdef FT_CONFIG_OPTION_INLINE_MULFIX +#ifdef FT_MULFIX_ASSEMBLER +#define FT_MULFIX_INLINED FT_MULFIX_ASSEMBLER +#endif +#endif + + +#ifdef FT_MAKE_OPTION_SINGLE_OBJECT + +#define FT_LOCAL( x ) static x +#define FT_LOCAL_DEF( x ) static x + +#else + +#ifdef __cplusplus +#define FT_LOCAL( x ) extern "C" x +#define FT_LOCAL_DEF( x ) extern "C" x +#else +#define FT_LOCAL( x ) extern x +#define FT_LOCAL_DEF( x ) x +#endif + +#endif /* FT_MAKE_OPTION_SINGLE_OBJECT */ + + +#ifndef FT_BASE + +#ifdef __cplusplus +#define FT_BASE( x ) extern "C" x +#else +#define FT_BASE( x ) extern x +#endif + +#endif /* !FT_BASE */ + + +#ifndef FT_BASE_DEF + +#ifdef __cplusplus +#define FT_BASE_DEF( x ) x +#else +#define FT_BASE_DEF( x ) x +#endif + +#endif /* !FT_BASE_DEF */ + + +#ifndef FT_EXPORT + +#ifdef __cplusplus +#define FT_EXPORT( x ) extern "C" x +#else +#define FT_EXPORT( x ) extern x +#endif + +#endif /* !FT_EXPORT */ + + +#ifndef FT_EXPORT_DEF + +#ifdef __cplusplus +#define FT_EXPORT_DEF( x ) extern "C" x +#else +#define FT_EXPORT_DEF( x ) extern x +#endif + +#endif /* !FT_EXPORT_DEF */ + + +#ifndef FT_EXPORT_VAR + +#ifdef __cplusplus +#define FT_EXPORT_VAR( x ) extern "C" x +#else +#define FT_EXPORT_VAR( x ) extern x +#endif + +#endif /* !FT_EXPORT_VAR */ + + /* The following macros are needed to compile the library with a */ + /* C++ compiler and with 16bit compilers. */ + /* */ + + /* This is special. Within C++, you must specify `extern "C"' for */ + /* functions which are used via function pointers, and you also */ + /* must do that for structures which contain function pointers to */ + /* assure C linkage -- it's not possible to have (local) anonymous */ + /* functions which are accessed by (global) function pointers. */ + /* */ + /* */ + /* FT_CALLBACK_DEF is used to _define_ a callback function. */ + /* */ + /* FT_CALLBACK_TABLE is used to _declare_ a constant variable that */ + /* contains pointers to callback functions. */ + /* */ + /* FT_CALLBACK_TABLE_DEF is used to _define_ a constant variable */ + /* that contains pointers to callback functions. */ + /* */ + /* */ + /* Some 16bit compilers have to redefine these macros to insert */ + /* the infamous `_cdecl' or `__fastcall' declarations. */ + /* */ +#ifndef FT_CALLBACK_DEF +#ifdef __cplusplus +#define FT_CALLBACK_DEF( x ) extern "C" x +#else +#define FT_CALLBACK_DEF( x ) static x +#endif +#endif /* FT_CALLBACK_DEF */ + +#ifndef FT_CALLBACK_TABLE +#ifdef __cplusplus +#define FT_CALLBACK_TABLE extern "C" +#define FT_CALLBACK_TABLE_DEF extern "C" +#else +#define FT_CALLBACK_TABLE extern +#define FT_CALLBACK_TABLE_DEF /* nothing */ +#endif +#endif /* FT_CALLBACK_TABLE */ + + +FT_END_HEADER + + +#endif /* __FTCONFIG_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/config/ftheader.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/config/ftheader.h new file mode 100644 index 00000000..33d6b405 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/config/ftheader.h @@ -0,0 +1,806 @@ +/***************************************************************************/ +/* */ +/* ftheader.h */ +/* */ +/* Build macros of the FreeType 2 library. */ +/* */ +/* Copyright 1996-2008, 2010, 2012 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + +#ifndef __FT_HEADER_H__ +#define __FT_HEADER_H__ + + + /*@***********************************************************************/ + /* */ + /* */ + /* FT_BEGIN_HEADER */ + /* */ + /* */ + /* This macro is used in association with @FT_END_HEADER in header */ + /* files to ensure that the declarations within are properly */ + /* encapsulated in an `extern "C" { .. }' block when included from a */ + /* C++ compiler. */ + /* */ +#ifdef __cplusplus +#define FT_BEGIN_HEADER extern "C" { +#else +#define FT_BEGIN_HEADER /* nothing */ +#endif + + + /*@***********************************************************************/ + /* */ + /* */ + /* FT_END_HEADER */ + /* */ + /* */ + /* This macro is used in association with @FT_BEGIN_HEADER in header */ + /* files to ensure that the declarations within are properly */ + /* encapsulated in an `extern "C" { .. }' block when included from a */ + /* C++ compiler. */ + /* */ +#ifdef __cplusplus +#define FT_END_HEADER } +#else +#define FT_END_HEADER /* nothing */ +#endif + + + /*************************************************************************/ + /* */ + /* Aliases for the FreeType 2 public and configuration files. */ + /* */ + /*************************************************************************/ + + /*************************************************************************/ + /* */ + /*
*/ + /* header_file_macros */ + /* */ + /* */ + /* Header File Macros */ + /* */ + /* <Abstract> */ + /* Macro definitions used to #include specific header files. */ + /* */ + /* <Description> */ + /* The following macros are defined to the name of specific */ + /* FreeType~2 header files. They can be used directly in #include */ + /* statements as in: */ + /* */ + /* { */ + /* #include FT_FREETYPE_H */ + /* #include FT_MULTIPLE_MASTERS_H */ + /* #include FT_GLYPH_H */ + /* } */ + /* */ + /* There are several reasons why we are now using macros to name */ + /* public header files. The first one is that such macros are not */ + /* limited to the infamous 8.3~naming rule required by DOS (and */ + /* `FT_MULTIPLE_MASTERS_H' is a lot more meaningful than `ftmm.h'). */ + /* */ + /* The second reason is that it allows for more flexibility in the */ + /* way FreeType~2 is installed on a given system. */ + /* */ + /*************************************************************************/ + + + /* configuration files */ + + /************************************************************************* + * + * @macro: + * FT_CONFIG_CONFIG_H + * + * @description: + * A macro used in #include statements to name the file containing + * FreeType~2 configuration data. + * + */ +#ifndef FT_CONFIG_CONFIG_H +#define FT_CONFIG_CONFIG_H <freetype/config/ftconfig.h> +#endif + + + /************************************************************************* + * + * @macro: + * FT_CONFIG_STANDARD_LIBRARY_H + * + * @description: + * A macro used in #include statements to name the file containing + * FreeType~2 interface to the standard C library functions. + * + */ +#ifndef FT_CONFIG_STANDARD_LIBRARY_H +#define FT_CONFIG_STANDARD_LIBRARY_H <freetype/config/ftstdlib.h> +#endif + + + /************************************************************************* + * + * @macro: + * FT_CONFIG_OPTIONS_H + * + * @description: + * A macro used in #include statements to name the file containing + * FreeType~2 project-specific configuration options. + * + */ +#ifndef FT_CONFIG_OPTIONS_H +#define FT_CONFIG_OPTIONS_H <freetype/config/ftoption.h> +#endif + + + /************************************************************************* + * + * @macro: + * FT_CONFIG_MODULES_H + * + * @description: + * A macro used in #include statements to name the file containing the + * list of FreeType~2 modules that are statically linked to new library + * instances in @FT_Init_FreeType. + * + */ +#ifndef FT_CONFIG_MODULES_H +#define FT_CONFIG_MODULES_H <freetype/config/ftmodule.h> +#endif + + /* */ + + /* public headers */ + + /************************************************************************* + * + * @macro: + * FT_FREETYPE_H + * + * @description: + * A macro used in #include statements to name the file containing the + * base FreeType~2 API. + * + */ +#define FT_FREETYPE_H <freetype/freetype.h> + + + /************************************************************************* + * + * @macro: + * FT_ERRORS_H + * + * @description: + * A macro used in #include statements to name the file containing the + * list of FreeType~2 error codes (and messages). + * + * It is included by @FT_FREETYPE_H. + * + */ +#define FT_ERRORS_H <freetype/fterrors.h> + + + /************************************************************************* + * + * @macro: + * FT_MODULE_ERRORS_H + * + * @description: + * A macro used in #include statements to name the file containing the + * list of FreeType~2 module error offsets (and messages). + * + */ +#define FT_MODULE_ERRORS_H <freetype/ftmoderr.h> + + + /************************************************************************* + * + * @macro: + * FT_SYSTEM_H + * + * @description: + * A macro used in #include statements to name the file containing the + * FreeType~2 interface to low-level operations (i.e., memory management + * and stream i/o). + * + * It is included by @FT_FREETYPE_H. + * + */ +#define FT_SYSTEM_H <freetype/ftsystem.h> + + + /************************************************************************* + * + * @macro: + * FT_IMAGE_H + * + * @description: + * A macro used in #include statements to name the file containing type + * definitions related to glyph images (i.e., bitmaps, outlines, + * scan-converter parameters). + * + * It is included by @FT_FREETYPE_H. + * + */ +#define FT_IMAGE_H <freetype/ftimage.h> + + + /************************************************************************* + * + * @macro: + * FT_TYPES_H + * + * @description: + * A macro used in #include statements to name the file containing the + * basic data types defined by FreeType~2. + * + * It is included by @FT_FREETYPE_H. + * + */ +#define FT_TYPES_H <freetype/fttypes.h> + + + /************************************************************************* + * + * @macro: + * FT_LIST_H + * + * @description: + * A macro used in #include statements to name the file containing the + * list management API of FreeType~2. + * + * (Most applications will never need to include this file.) + * + */ +#define FT_LIST_H <freetype/ftlist.h> + + + /************************************************************************* + * + * @macro: + * FT_OUTLINE_H + * + * @description: + * A macro used in #include statements to name the file containing the + * scalable outline management API of FreeType~2. + * + */ +#define FT_OUTLINE_H <freetype/ftoutln.h> + + + /************************************************************************* + * + * @macro: + * FT_SIZES_H + * + * @description: + * A macro used in #include statements to name the file containing the + * API which manages multiple @FT_Size objects per face. + * + */ +#define FT_SIZES_H <freetype/ftsizes.h> + + + /************************************************************************* + * + * @macro: + * FT_MODULE_H + * + * @description: + * A macro used in #include statements to name the file containing the + * module management API of FreeType~2. + * + */ +#define FT_MODULE_H <freetype/ftmodapi.h> + + + /************************************************************************* + * + * @macro: + * FT_RENDER_H + * + * @description: + * A macro used in #include statements to name the file containing the + * renderer module management API of FreeType~2. + * + */ +#define FT_RENDER_H <freetype/ftrender.h> + + + /************************************************************************* + * + * @macro: + * FT_AUTOHINTER_H + * + * @description: + * A macro used in #include statements to name the file containing + * structures and macros related to the auto-hinting module. + * + */ +#define FT_AUTOHINTER_H <freetype/ftautoh.h> + + + /************************************************************************* + * + * @macro: + * FT_TYPE1_TABLES_H + * + * @description: + * A macro used in #include statements to name the file containing the + * types and API specific to the Type~1 format. + * + */ +#define FT_TYPE1_TABLES_H <freetype/t1tables.h> + + + /************************************************************************* + * + * @macro: + * FT_TRUETYPE_IDS_H + * + * @description: + * A macro used in #include statements to name the file containing the + * enumeration values which identify name strings, languages, encodings, + * etc. This file really contains a _large_ set of constant macro + * definitions, taken from the TrueType and OpenType specifications. + * + */ +#define FT_TRUETYPE_IDS_H <freetype/ttnameid.h> + + + /************************************************************************* + * + * @macro: + * FT_TRUETYPE_TABLES_H + * + * @description: + * A macro used in #include statements to name the file containing the + * types and API specific to the TrueType (as well as OpenType) format. + * + */ +#define FT_TRUETYPE_TABLES_H <freetype/tttables.h> + + + /************************************************************************* + * + * @macro: + * FT_TRUETYPE_TAGS_H + * + * @description: + * A macro used in #include statements to name the file containing the + * definitions of TrueType four-byte `tags' which identify blocks in + * SFNT-based font formats (i.e., TrueType and OpenType). + * + */ +#define FT_TRUETYPE_TAGS_H <freetype/tttags.h> + + + /************************************************************************* + * + * @macro: + * FT_BDF_H + * + * @description: + * A macro used in #include statements to name the file containing the + * definitions of an API which accesses BDF-specific strings from a + * face. + * + */ +#define FT_BDF_H <freetype/ftbdf.h> + + + /************************************************************************* + * + * @macro: + * FT_CID_H + * + * @description: + * A macro used in #include statements to name the file containing the + * definitions of an API which access CID font information from a + * face. + * + */ +#define FT_CID_H <freetype/ftcid.h> + + + /************************************************************************* + * + * @macro: + * FT_GZIP_H + * + * @description: + * A macro used in #include statements to name the file containing the + * definitions of an API which supports gzip-compressed files. + * + */ +#define FT_GZIP_H <freetype/ftgzip.h> + + + /************************************************************************* + * + * @macro: + * FT_LZW_H + * + * @description: + * A macro used in #include statements to name the file containing the + * definitions of an API which supports LZW-compressed files. + * + */ +#define FT_LZW_H <freetype/ftlzw.h> + + + /************************************************************************* + * + * @macro: + * FT_BZIP2_H + * + * @description: + * A macro used in #include statements to name the file containing the + * definitions of an API which supports bzip2-compressed files. + * + */ +#define FT_BZIP2_H <freetype/ftbzip2.h> + + + /************************************************************************* + * + * @macro: + * FT_WINFONTS_H + * + * @description: + * A macro used in #include statements to name the file containing the + * definitions of an API which supports Windows FNT files. + * + */ +#define FT_WINFONTS_H <freetype/ftwinfnt.h> + + + /************************************************************************* + * + * @macro: + * FT_GLYPH_H + * + * @description: + * A macro used in #include statements to name the file containing the + * API of the optional glyph management component. + * + */ +#define FT_GLYPH_H <freetype/ftglyph.h> + + + /************************************************************************* + * + * @macro: + * FT_BITMAP_H + * + * @description: + * A macro used in #include statements to name the file containing the + * API of the optional bitmap conversion component. + * + */ +#define FT_BITMAP_H <freetype/ftbitmap.h> + + + /************************************************************************* + * + * @macro: + * FT_BBOX_H + * + * @description: + * A macro used in #include statements to name the file containing the + * API of the optional exact bounding box computation routines. + * + */ +#define FT_BBOX_H <freetype/ftbbox.h> + + + /************************************************************************* + * + * @macro: + * FT_CACHE_H + * + * @description: + * A macro used in #include statements to name the file containing the + * API of the optional FreeType~2 cache sub-system. + * + */ +#define FT_CACHE_H <freetype/ftcache.h> + + + /************************************************************************* + * + * @macro: + * FT_CACHE_IMAGE_H + * + * @description: + * A macro used in #include statements to name the file containing the + * `glyph image' API of the FreeType~2 cache sub-system. + * + * It is used to define a cache for @FT_Glyph elements. You can also + * use the API defined in @FT_CACHE_SMALL_BITMAPS_H if you only need to + * store small glyph bitmaps, as it will use less memory. + * + * This macro is deprecated. Simply include @FT_CACHE_H to have all + * glyph image-related cache declarations. + * + */ +#define FT_CACHE_IMAGE_H FT_CACHE_H + + + /************************************************************************* + * + * @macro: + * FT_CACHE_SMALL_BITMAPS_H + * + * @description: + * A macro used in #include statements to name the file containing the + * `small bitmaps' API of the FreeType~2 cache sub-system. + * + * It is used to define a cache for small glyph bitmaps in a relatively + * memory-efficient way. You can also use the API defined in + * @FT_CACHE_IMAGE_H if you want to cache arbitrary glyph images, + * including scalable outlines. + * + * This macro is deprecated. Simply include @FT_CACHE_H to have all + * small bitmaps-related cache declarations. + * + */ +#define FT_CACHE_SMALL_BITMAPS_H FT_CACHE_H + + + /************************************************************************* + * + * @macro: + * FT_CACHE_CHARMAP_H + * + * @description: + * A macro used in #include statements to name the file containing the + * `charmap' API of the FreeType~2 cache sub-system. + * + * This macro is deprecated. Simply include @FT_CACHE_H to have all + * charmap-based cache declarations. + * + */ +#define FT_CACHE_CHARMAP_H FT_CACHE_H + + + /************************************************************************* + * + * @macro: + * FT_MAC_H + * + * @description: + * A macro used in #include statements to name the file containing the + * Macintosh-specific FreeType~2 API. The latter is used to access + * fonts embedded in resource forks. + * + * This header file must be explicitly included by client applications + * compiled on the Mac (note that the base API still works though). + * + */ +#define FT_MAC_H <freetype/ftmac.h> + + + /************************************************************************* + * + * @macro: + * FT_MULTIPLE_MASTERS_H + * + * @description: + * A macro used in #include statements to name the file containing the + * optional multiple-masters management API of FreeType~2. + * + */ +#define FT_MULTIPLE_MASTERS_H <freetype/ftmm.h> + + + /************************************************************************* + * + * @macro: + * FT_SFNT_NAMES_H + * + * @description: + * A macro used in #include statements to name the file containing the + * optional FreeType~2 API which accesses embedded `name' strings in + * SFNT-based font formats (i.e., TrueType and OpenType). + * + */ +#define FT_SFNT_NAMES_H <freetype/ftsnames.h> + + + /************************************************************************* + * + * @macro: + * FT_OPENTYPE_VALIDATE_H + * + * @description: + * A macro used in #include statements to name the file containing the + * optional FreeType~2 API which validates OpenType tables (BASE, GDEF, + * GPOS, GSUB, JSTF). + * + */ +#define FT_OPENTYPE_VALIDATE_H <freetype/ftotval.h> + + + /************************************************************************* + * + * @macro: + * FT_GX_VALIDATE_H + * + * @description: + * A macro used in #include statements to name the file containing the + * optional FreeType~2 API which validates TrueTypeGX/AAT tables (feat, + * mort, morx, bsln, just, kern, opbd, trak, prop). + * + */ +#define FT_GX_VALIDATE_H <freetype/ftgxval.h> + + + /************************************************************************* + * + * @macro: + * FT_PFR_H + * + * @description: + * A macro used in #include statements to name the file containing the + * FreeType~2 API which accesses PFR-specific data. + * + */ +#define FT_PFR_H <freetype/ftpfr.h> + + + /************************************************************************* + * + * @macro: + * FT_STROKER_H + * + * @description: + * A macro used in #include statements to name the file containing the + * FreeType~2 API which provides functions to stroke outline paths. + */ +#define FT_STROKER_H <freetype/ftstroke.h> + + + /************************************************************************* + * + * @macro: + * FT_SYNTHESIS_H + * + * @description: + * A macro used in #include statements to name the file containing the + * FreeType~2 API which performs artificial obliquing and emboldening. + */ +#define FT_SYNTHESIS_H <freetype/ftsynth.h> + + + /************************************************************************* + * + * @macro: + * FT_XFREE86_H + * + * @description: + * A macro used in #include statements to name the file containing the + * FreeType~2 API which provides functions specific to the XFree86 and + * X.Org X11 servers. + */ +#define FT_XFREE86_H <freetype/ftxf86.h> + + + /************************************************************************* + * + * @macro: + * FT_TRIGONOMETRY_H + * + * @description: + * A macro used in #include statements to name the file containing the + * FreeType~2 API which performs trigonometric computations (e.g., + * cosines and arc tangents). + */ +#define FT_TRIGONOMETRY_H <freetype/fttrigon.h> + + + /************************************************************************* + * + * @macro: + * FT_LCD_FILTER_H + * + * @description: + * A macro used in #include statements to name the file containing the + * FreeType~2 API which performs color filtering for subpixel rendering. + */ +#define FT_LCD_FILTER_H <freetype/ftlcdfil.h> + + + /************************************************************************* + * + * @macro: + * FT_UNPATENTED_HINTING_H + * + * @description: + * A macro used in #include statements to name the file containing the + * FreeType~2 API which performs color filtering for subpixel rendering. + */ +#define FT_UNPATENTED_HINTING_H <freetype/ttunpat.h> + + + /************************************************************************* + * + * @macro: + * FT_INCREMENTAL_H + * + * @description: + * A macro used in #include statements to name the file containing the + * FreeType~2 API which performs color filtering for subpixel rendering. + */ +#define FT_INCREMENTAL_H <freetype/ftincrem.h> + + + /************************************************************************* + * + * @macro: + * FT_GASP_H + * + * @description: + * A macro used in #include statements to name the file containing the + * FreeType~2 API which returns entries from the TrueType GASP table. + */ +#define FT_GASP_H <freetype/ftgasp.h> + + + /************************************************************************* + * + * @macro: + * FT_ADVANCES_H + * + * @description: + * A macro used in #include statements to name the file containing the + * FreeType~2 API which returns individual and ranged glyph advances. + */ +#define FT_ADVANCES_H <freetype/ftadvanc.h> + + + /* */ + +#define FT_ERROR_DEFINITIONS_H <freetype/fterrdef.h> + + + /* The internals of the cache sub-system are no longer exposed. We */ + /* default to FT_CACHE_H at the moment just in case, but we know of */ + /* no rogue client that uses them. */ + /* */ +#define FT_CACHE_MANAGER_H <freetype/ftcache.h> +#define FT_CACHE_INTERNAL_MRU_H <freetype/ftcache.h> +#define FT_CACHE_INTERNAL_MANAGER_H <freetype/ftcache.h> +#define FT_CACHE_INTERNAL_CACHE_H <freetype/ftcache.h> +#define FT_CACHE_INTERNAL_GLYPH_H <freetype/ftcache.h> +#define FT_CACHE_INTERNAL_IMAGE_H <freetype/ftcache.h> +#define FT_CACHE_INTERNAL_SBITS_H <freetype/ftcache.h> + + +#define FT_INCREMENTAL_H <freetype/ftincrem.h> + +#define FT_TRUETYPE_UNPATENTED_H <freetype/ttunpat.h> + + + /* + * Include internal headers definitions from <freetype/internal/...> + * only when building the library. + */ +#ifdef FT2_BUILD_LIBRARY +#define FT_INTERNAL_INTERNAL_H <freetype/internal/internal.h> +#include FT_INTERNAL_INTERNAL_H +#endif /* FT2_BUILD_LIBRARY */ + + +#endif /* __FT2_BUILD_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/config/ftmodule.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/config/ftmodule.h new file mode 100644 index 00000000..b7299779 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/config/ftmodule.h @@ -0,0 +1,20 @@ +/* This is a generated file. */ +FT_USE_MODULE( FT_Driver_ClassRec, tt_driver_class ) +FT_USE_MODULE( FT_Driver_ClassRec, t1_driver_class ) +FT_USE_MODULE( FT_Driver_ClassRec, cff_driver_class ) +FT_USE_MODULE( FT_Driver_ClassRec, t1cid_driver_class ) +FT_USE_MODULE( FT_Driver_ClassRec, pfr_driver_class ) +FT_USE_MODULE( FT_Driver_ClassRec, t42_driver_class ) +FT_USE_MODULE( FT_Driver_ClassRec, winfnt_driver_class ) +FT_USE_MODULE( FT_Driver_ClassRec, pcf_driver_class ) +FT_USE_MODULE( FT_Driver_ClassRec, bdf_driver_class ) +FT_USE_MODULE( FT_Module_Class, sfnt_module_class ) +FT_USE_MODULE( FT_Module_Class, autofit_module_class ) +FT_USE_MODULE( FT_Module_Class, pshinter_module_class ) +FT_USE_MODULE( FT_Renderer_Class, ft_raster1_renderer_class ) +FT_USE_MODULE( FT_Renderer_Class, ft_smooth_renderer_class ) +FT_USE_MODULE( FT_Renderer_Class, ft_smooth_lcd_renderer_class ) +FT_USE_MODULE( FT_Renderer_Class, ft_smooth_lcdv_renderer_class ) +FT_USE_MODULE( FT_Module_Class, psaux_module_class ) +FT_USE_MODULE( FT_Module_Class, psnames_module_class ) +/* EOF */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/config/ftoption.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/config/ftoption.h new file mode 100644 index 00000000..a73fff45 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/config/ftoption.h @@ -0,0 +1,827 @@ +/***************************************************************************/ +/* */ +/* ftoption.h */ +/* */ +/* User-selectable configuration macros (specification only). */ +/* */ +/* Copyright 1996-2012 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __FTOPTION_H__ +#define __FTOPTION_H__ + + +#include <ft2build.h> + + +FT_BEGIN_HEADER + + /*************************************************************************/ + /* */ + /* USER-SELECTABLE CONFIGURATION MACROS */ + /* */ + /* This file contains the default configuration macro definitions for */ + /* a standard build of the FreeType library. There are three ways to */ + /* use this file to build project-specific versions of the library: */ + /* */ + /* - You can modify this file by hand, but this is not recommended in */ + /* cases where you would like to build several versions of the */ + /* library from a single source directory. */ + /* */ + /* - You can put a copy of this file in your build directory, more */ + /* precisely in `$BUILD/freetype/config/ftoption.h', where `$BUILD' */ + /* is the name of a directory that is included _before_ the FreeType */ + /* include path during compilation. */ + /* */ + /* The default FreeType Makefiles and Jamfiles use the build */ + /* directory `builds/<system>' by default, but you can easily change */ + /* that for your own projects. */ + /* */ + /* - Copy the file <ft2build.h> to `$BUILD/ft2build.h' and modify it */ + /* slightly to pre-define the macro FT_CONFIG_OPTIONS_H used to */ + /* locate this file during the build. For example, */ + /* */ + /* #define FT_CONFIG_OPTIONS_H <myftoptions.h> */ + /* #include <freetype/config/ftheader.h> */ + /* */ + /* will use `$BUILD/myftoptions.h' instead of this file for macro */ + /* definitions. */ + /* */ + /* Note also that you can similarly pre-define the macro */ + /* FT_CONFIG_MODULES_H used to locate the file listing of the modules */ + /* that are statically linked to the library at compile time. By */ + /* default, this file is <freetype/config/ftmodule.h>. */ + /* */ + /* We highly recommend using the third method whenever possible. */ + /* */ + /*************************************************************************/ + + + /*************************************************************************/ + /*************************************************************************/ + /**** ****/ + /**** G E N E R A L F R E E T Y P E 2 C O N F I G U R A T I O N ****/ + /**** ****/ + /*************************************************************************/ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* Uncomment the line below if you want to activate sub-pixel rendering */ + /* (a.k.a. LCD rendering, or ClearType) in this build of the library. */ + /* */ + /* Note that this feature is covered by several Microsoft patents */ + /* and should not be activated in any default build of the library. */ + /* */ + /* This macro has no impact on the FreeType API, only on its */ + /* _implementation_. For example, using FT_RENDER_MODE_LCD when calling */ + /* FT_Render_Glyph still generates a bitmap that is 3 times wider than */ + /* the original size in case this macro isn't defined; however, each */ + /* triplet of subpixels has R=G=B. */ + /* */ + /* This is done to allow FreeType clients to run unmodified, forcing */ + /* them to display normal gray-level anti-aliased glyphs. */ + /* */ +/* #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING */ + + + /*************************************************************************/ + /* */ + /* Many compilers provide a non-ANSI 64-bit data type that can be used */ + /* by FreeType to speed up some computations. However, this will create */ + /* some problems when compiling the library in strict ANSI mode. */ + /* */ + /* For this reason, the use of 64-bit integers is normally disabled when */ + /* the __STDC__ macro is defined. You can however disable this by */ + /* defining the macro FT_CONFIG_OPTION_FORCE_INT64 here. */ + /* */ + /* For most compilers, this will only create compilation warnings when */ + /* building the library. */ + /* */ + /* ObNote: The compiler-specific 64-bit integers are detected in the */ + /* file `ftconfig.h' either statically or through the */ + /* `configure' script on supported platforms. */ + /* */ +#undef FT_CONFIG_OPTION_FORCE_INT64 + + + /*************************************************************************/ + /* */ + /* If this macro is defined, do not try to use an assembler version of */ + /* performance-critical functions (e.g. FT_MulFix). You should only do */ + /* that to verify that the assembler function works properly, or to */ + /* execute benchmark tests of the various implementations. */ +/* #define FT_CONFIG_OPTION_NO_ASSEMBLER */ + + + /*************************************************************************/ + /* */ + /* If this macro is defined, try to use an inlined assembler version of */ + /* the `FT_MulFix' function, which is a `hotspot' when loading and */ + /* hinting glyphs, and which should be executed as fast as possible. */ + /* */ + /* Note that if your compiler or CPU is not supported, this will default */ + /* to the standard and portable implementation found in `ftcalc.c'. */ + /* */ +#define FT_CONFIG_OPTION_INLINE_MULFIX + + + /*************************************************************************/ + /* */ + /* LZW-compressed file support. */ + /* */ + /* FreeType now handles font files that have been compressed with the */ + /* `compress' program. This is mostly used to parse many of the PCF */ + /* files that come with various X11 distributions. The implementation */ + /* uses NetBSD's `zopen' to partially uncompress the file on the fly */ + /* (see src/lzw/ftgzip.c). */ + /* */ + /* Define this macro if you want to enable this `feature'. */ + /* */ +#define FT_CONFIG_OPTION_USE_LZW + + + /*************************************************************************/ + /* */ + /* Gzip-compressed file support. */ + /* */ + /* FreeType now handles font files that have been compressed with the */ + /* `gzip' program. This is mostly used to parse many of the PCF files */ + /* that come with XFree86. The implementation uses `zlib' to */ + /* partially uncompress the file on the fly (see src/gzip/ftgzip.c). */ + /* */ + /* Define this macro if you want to enable this `feature'. See also */ + /* the macro FT_CONFIG_OPTION_SYSTEM_ZLIB below. */ + /* */ +#define FT_CONFIG_OPTION_USE_ZLIB + + + /*************************************************************************/ + /* */ + /* ZLib library selection */ + /* */ + /* This macro is only used when FT_CONFIG_OPTION_USE_ZLIB is defined. */ + /* It allows FreeType's `ftgzip' component to link to the system's */ + /* installation of the ZLib library. This is useful on systems like */ + /* Unix or VMS where it generally is already available. */ + /* */ + /* If you let it undefined, the component will use its own copy */ + /* of the zlib sources instead. These have been modified to be */ + /* included directly within the component and *not* export external */ + /* function names. This allows you to link any program with FreeType */ + /* _and_ ZLib without linking conflicts. */ + /* */ + /* Do not #undef this macro here since the build system might define */ + /* it for certain configurations only. */ + /* */ +/* #define FT_CONFIG_OPTION_SYSTEM_ZLIB */ + + + /*************************************************************************/ + /* */ + /* Bzip2-compressed file support. */ + /* */ + /* FreeType now handles font files that have been compressed with the */ + /* `bzip2' program. This is mostly used to parse many of the PCF */ + /* files that come with XFree86. The implementation uses `libbz2' to */ + /* partially uncompress the file on the fly (see src/bzip2/ftbzip2.c). */ + /* Contrary to gzip, bzip2 currently is not included and need to use */ + /* the system available bzip2 implementation. */ + /* */ + /* Define this macro if you want to enable this `feature'. */ + /* */ +/* #define FT_CONFIG_OPTION_USE_BZIP2 */ + + + /*************************************************************************/ + /* */ + /* Define to disable the use of file stream functions and types, FILE, */ + /* fopen() etc. Enables the use of smaller system libraries on embedded */ + /* systems that have multiple system libraries, some with or without */ + /* file stream support, in the cases where file stream support is not */ + /* necessary such as memory loading of font files. */ + /* */ +/* #define FT_CONFIG_OPTION_DISABLE_STREAM_SUPPORT */ + + + /*************************************************************************/ + /* */ + /* DLL export compilation */ + /* */ + /* When compiling FreeType as a DLL, some systems/compilers need a */ + /* special keyword in front OR after the return type of function */ + /* declarations. */ + /* */ + /* Two macros are used within the FreeType source code to define */ + /* exported library functions: FT_EXPORT and FT_EXPORT_DEF. */ + /* */ + /* FT_EXPORT( return_type ) */ + /* */ + /* is used in a function declaration, as in */ + /* */ + /* FT_EXPORT( FT_Error ) */ + /* FT_Init_FreeType( FT_Library* alibrary ); */ + /* */ + /* */ + /* FT_EXPORT_DEF( return_type ) */ + /* */ + /* is used in a function definition, as in */ + /* */ + /* FT_EXPORT_DEF( FT_Error ) */ + /* FT_Init_FreeType( FT_Library* alibrary ) */ + /* { */ + /* ... some code ... */ + /* return FT_Err_Ok; */ + /* } */ + /* */ + /* You can provide your own implementation of FT_EXPORT and */ + /* FT_EXPORT_DEF here if you want. If you leave them undefined, they */ + /* will be later automatically defined as `extern return_type' to */ + /* allow normal compilation. */ + /* */ + /* Do not #undef these macros here since the build system might define */ + /* them for certain configurations only. */ + /* */ +/* #define FT_EXPORT(x) extern x */ +/* #define FT_EXPORT_DEF(x) x */ + + + /*************************************************************************/ + /* */ + /* Glyph Postscript Names handling */ + /* */ + /* By default, FreeType 2 is compiled with the `psnames' module. This */ + /* module is in charge of converting a glyph name string into a */ + /* Unicode value, or return a Macintosh standard glyph name for the */ + /* use with the TrueType `post' table. */ + /* */ + /* Undefine this macro if you do not want `psnames' compiled in your */ + /* build of FreeType. This has the following effects: */ + /* */ + /* - The TrueType driver will provide its own set of glyph names, */ + /* if you build it to support postscript names in the TrueType */ + /* `post' table. */ + /* */ + /* - The Type 1 driver will not be able to synthesize a Unicode */ + /* charmap out of the glyphs found in the fonts. */ + /* */ + /* You would normally undefine this configuration macro when building */ + /* a version of FreeType that doesn't contain a Type 1 or CFF driver. */ + /* */ +#define FT_CONFIG_OPTION_POSTSCRIPT_NAMES + + + /*************************************************************************/ + /* */ + /* Postscript Names to Unicode Values support */ + /* */ + /* By default, FreeType 2 is built with the `PSNames' module compiled */ + /* in. Among other things, the module is used to convert a glyph name */ + /* into a Unicode value. This is especially useful in order to */ + /* synthesize on the fly a Unicode charmap from the CFF/Type 1 driver */ + /* through a big table named the `Adobe Glyph List' (AGL). */ + /* */ + /* Undefine this macro if you do not want the Adobe Glyph List */ + /* compiled in your `PSNames' module. The Type 1 driver will not be */ + /* able to synthesize a Unicode charmap out of the glyphs found in the */ + /* fonts. */ + /* */ +#define FT_CONFIG_OPTION_ADOBE_GLYPH_LIST + + + /*************************************************************************/ + /* */ + /* Support for Mac fonts */ + /* */ + /* Define this macro if you want support for outline fonts in Mac */ + /* format (mac dfont, mac resource, macbinary containing a mac */ + /* resource) on non-Mac platforms. */ + /* */ + /* Note that the `FOND' resource isn't checked. */ + /* */ +#define FT_CONFIG_OPTION_MAC_FONTS + + + /*************************************************************************/ + /* */ + /* Guessing methods to access embedded resource forks */ + /* */ + /* Enable extra Mac fonts support on non-Mac platforms (e.g. */ + /* GNU/Linux). */ + /* */ + /* Resource forks which include fonts data are stored sometimes in */ + /* locations which users or developers don't expected. In some cases, */ + /* resource forks start with some offset from the head of a file. In */ + /* other cases, the actual resource fork is stored in file different */ + /* from what the user specifies. If this option is activated, */ + /* FreeType tries to guess whether such offsets or different file */ + /* names must be used. */ + /* */ + /* Note that normal, direct access of resource forks is controlled via */ + /* the FT_CONFIG_OPTION_MAC_FONTS option. */ + /* */ +#ifdef FT_CONFIG_OPTION_MAC_FONTS +#define FT_CONFIG_OPTION_GUESSING_EMBEDDED_RFORK +#endif + + + /*************************************************************************/ + /* */ + /* Allow the use of FT_Incremental_Interface to load typefaces that */ + /* contain no glyph data, but supply it via a callback function. */ + /* This is required by clients supporting document formats which */ + /* supply font data incrementally as the document is parsed, such */ + /* as the Ghostscript interpreter for the PostScript language. */ + /* */ +#define FT_CONFIG_OPTION_INCREMENTAL + + + /*************************************************************************/ + /* */ + /* The size in bytes of the render pool used by the scan-line converter */ + /* to do all of its work. */ + /* */ + /* This must be greater than 4KByte if you use FreeType to rasterize */ + /* glyphs; otherwise, you may set it to zero to avoid unnecessary */ + /* allocation of the render pool. */ + /* */ +#define FT_RENDER_POOL_SIZE 16384L + + + /*************************************************************************/ + /* */ + /* FT_MAX_MODULES */ + /* */ + /* The maximum number of modules that can be registered in a single */ + /* FreeType library object. 32 is the default. */ + /* */ +#define FT_MAX_MODULES 32 + + + /*************************************************************************/ + /* */ + /* Debug level */ + /* */ + /* FreeType can be compiled in debug or trace mode. In debug mode, */ + /* errors are reported through the `ftdebug' component. In trace */ + /* mode, additional messages are sent to the standard output during */ + /* execution. */ + /* */ + /* Define FT_DEBUG_LEVEL_ERROR to build the library in debug mode. */ + /* Define FT_DEBUG_LEVEL_TRACE to build it in trace mode. */ + /* */ + /* Don't define any of these macros to compile in `release' mode! */ + /* */ + /* Do not #undef these macros here since the build system might define */ + /* them for certain configurations only. */ + /* */ +/* #define FT_DEBUG_LEVEL_ERROR */ +/* #define FT_DEBUG_LEVEL_TRACE */ + + + /*************************************************************************/ + /* */ + /* Autofitter debugging */ + /* */ + /* If FT_DEBUG_AUTOFIT is defined, FreeType provides some means to */ + /* control the autofitter behaviour for debugging purposes with global */ + /* boolean variables (consequently, you should *never* enable this */ + /* while compiling in `release' mode): */ + /* */ + /* _af_debug_disable_horz_hints */ + /* _af_debug_disable_vert_hints */ + /* _af_debug_disable_blue_hints */ + /* */ + /* Additionally, the following functions provide dumps of various */ + /* internal autofit structures to stdout (using `printf'): */ + /* */ + /* af_glyph_hints_dump_points */ + /* af_glyph_hints_dump_segments */ + /* af_glyph_hints_dump_edges */ + /* */ + /* As an argument, they use another global variable: */ + /* */ + /* _af_debug_hints */ + /* */ + /* Please have a look at the `ftgrid' demo program to see how those */ + /* variables and macros should be used. */ + /* */ + /* Do not #undef these macros here since the build system might define */ + /* them for certain configurations only. */ + /* */ +/* #define FT_DEBUG_AUTOFIT */ + + + /*************************************************************************/ + /* */ + /* Memory Debugging */ + /* */ + /* FreeType now comes with an integrated memory debugger that is */ + /* capable of detecting simple errors like memory leaks or double */ + /* deletes. To compile it within your build of the library, you */ + /* should define FT_DEBUG_MEMORY here. */ + /* */ + /* Note that the memory debugger is only activated at runtime when */ + /* when the _environment_ variable `FT2_DEBUG_MEMORY' is defined also! */ + /* */ + /* Do not #undef this macro here since the build system might define */ + /* it for certain configurations only. */ + /* */ +/* #define FT_DEBUG_MEMORY */ + + + /*************************************************************************/ + /* */ + /* Module errors */ + /* */ + /* If this macro is set (which is _not_ the default), the higher byte */ + /* of an error code gives the module in which the error has occurred, */ + /* while the lower byte is the real error code. */ + /* */ + /* Setting this macro makes sense for debugging purposes only, since */ + /* it would break source compatibility of certain programs that use */ + /* FreeType 2. */ + /* */ + /* More details can be found in the files ftmoderr.h and fterrors.h. */ + /* */ +#undef FT_CONFIG_OPTION_USE_MODULE_ERRORS + + + /*************************************************************************/ + /* */ + /* Position Independent Code */ + /* */ + /* If this macro is set (which is _not_ the default), FreeType2 will */ + /* avoid creating constants that require address fixups. Instead the */ + /* constants will be moved into a struct and additional intialization */ + /* code will be used. */ + /* */ + /* Setting this macro is needed for systems that prohibit address */ + /* fixups, such as BREW. */ + /* */ +/* #define FT_CONFIG_OPTION_PIC */ + + + /*************************************************************************/ + /*************************************************************************/ + /**** ****/ + /**** S F N T D R I V E R C O N F I G U R A T I O N ****/ + /**** ****/ + /*************************************************************************/ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* Define TT_CONFIG_OPTION_EMBEDDED_BITMAPS if you want to support */ + /* embedded bitmaps in all formats using the SFNT module (namely */ + /* TrueType & OpenType). */ + /* */ +#define TT_CONFIG_OPTION_EMBEDDED_BITMAPS + + + /*************************************************************************/ + /* */ + /* Define TT_CONFIG_OPTION_POSTSCRIPT_NAMES if you want to be able to */ + /* load and enumerate the glyph Postscript names in a TrueType or */ + /* OpenType file. */ + /* */ + /* Note that when you do not compile the `PSNames' module by undefining */ + /* the above FT_CONFIG_OPTION_POSTSCRIPT_NAMES, the `sfnt' module will */ + /* contain additional code used to read the PS Names table from a font. */ + /* */ + /* (By default, the module uses `PSNames' to extract glyph names.) */ + /* */ +#define TT_CONFIG_OPTION_POSTSCRIPT_NAMES + + + /*************************************************************************/ + /* */ + /* Define TT_CONFIG_OPTION_SFNT_NAMES if your applications need to */ + /* access the internal name table in a SFNT-based format like TrueType */ + /* or OpenType. The name table contains various strings used to */ + /* describe the font, like family name, copyright, version, etc. It */ + /* does not contain any glyph name though. */ + /* */ + /* Accessing SFNT names is done through the functions declared in */ + /* `freetype/ftsnames.h'. */ + /* */ +#define TT_CONFIG_OPTION_SFNT_NAMES + + + /*************************************************************************/ + /* */ + /* TrueType CMap support */ + /* */ + /* Here you can fine-tune which TrueType CMap table format shall be */ + /* supported. */ +#define TT_CONFIG_CMAP_FORMAT_0 +#define TT_CONFIG_CMAP_FORMAT_2 +#define TT_CONFIG_CMAP_FORMAT_4 +#define TT_CONFIG_CMAP_FORMAT_6 +#define TT_CONFIG_CMAP_FORMAT_8 +#define TT_CONFIG_CMAP_FORMAT_10 +#define TT_CONFIG_CMAP_FORMAT_12 +#define TT_CONFIG_CMAP_FORMAT_13 +#define TT_CONFIG_CMAP_FORMAT_14 + + + /*************************************************************************/ + /*************************************************************************/ + /**** ****/ + /**** T R U E T Y P E D R I V E R C O N F I G U R A T I O N ****/ + /**** ****/ + /*************************************************************************/ + /*************************************************************************/ + + /*************************************************************************/ + /* */ + /* Define TT_CONFIG_OPTION_BYTECODE_INTERPRETER if you want to compile */ + /* a bytecode interpreter in the TrueType driver. */ + /* */ + /* By undefining this, you will only compile the code necessary to load */ + /* TrueType glyphs without hinting. */ + /* */ + /* Do not #undef this macro here, since the build system might */ + /* define it for certain configurations only. */ + /* */ +#define TT_CONFIG_OPTION_BYTECODE_INTERPRETER + + + /*************************************************************************/ + /* */ + /* Define TT_CONFIG_OPTION_SUBPIXEL_HINTING if you want to compile */ + /* EXPERIMENTAL subpixel hinting support into the TrueType driver. This */ + /* replaces the native TrueType hinting mechanism when anything but */ + /* FT_RENDER_MODE_MONO is requested. */ + /* */ + /* Enabling this causes the TrueType driver to ignore instructions under */ + /* certain conditions. This is done in accordance with the guide here, */ + /* with some minor differences: */ + /* */ + /* http://www.microsoft.com/typography/cleartype/truetypecleartype.aspx */ + /* */ + /* By undefining this, you only compile the code necessary to hint */ + /* TrueType glyphs with native TT hinting. */ + /* */ + /* This option requires TT_CONFIG_OPTION_BYTECODE_INTERPRETER to be */ + /* defined. */ + /* */ +/* #define TT_CONFIG_OPTION_SUBPIXEL_HINTING */ + + + /*************************************************************************/ + /* */ + /* If you define TT_CONFIG_OPTION_UNPATENTED_HINTING, a special version */ + /* of the TrueType bytecode interpreter is used that doesn't implement */ + /* any of the patented opcodes and algorithms. The patents related to */ + /* TrueType hinting have expired worldwide since May 2010; this option */ + /* is now deprecated. */ + /* */ + /* Note that the TT_CONFIG_OPTION_UNPATENTED_HINTING macro is *ignored* */ + /* if you define TT_CONFIG_OPTION_BYTECODE_INTERPRETER; in other words, */ + /* either define TT_CONFIG_OPTION_BYTECODE_INTERPRETER or */ + /* TT_CONFIG_OPTION_UNPATENTED_HINTING but not both at the same time. */ + /* */ + /* This macro is only useful for a small number of font files (mostly */ + /* for Asian scripts) that require bytecode interpretation to properly */ + /* load glyphs. For all other fonts, this produces unpleasant results, */ + /* thus the unpatented interpreter is never used to load glyphs from */ + /* TrueType fonts unless one of the following two options is used. */ + /* */ + /* - The unpatented interpreter is explicitly activated by the user */ + /* through the FT_PARAM_TAG_UNPATENTED_HINTING parameter tag */ + /* when opening the FT_Face. */ + /* */ + /* - FreeType detects that the FT_Face corresponds to one of the */ + /* `trick' fonts (e.g., `Mingliu') it knows about. The font engine */ + /* contains a hard-coded list of font names and other matching */ + /* parameters (see function `tt_face_init' in file */ + /* `src/truetype/ttobjs.c'). */ + /* */ + /* Here a sample code snippet for using FT_PARAM_TAG_UNPATENTED_HINTING. */ + /* */ + /* { */ + /* FT_Parameter parameter; */ + /* FT_Open_Args open_args; */ + /* */ + /* */ + /* parameter.tag = FT_PARAM_TAG_UNPATENTED_HINTING; */ + /* */ + /* open_args.flags = FT_OPEN_PATHNAME | FT_OPEN_PARAMS; */ + /* open_args.pathname = my_font_pathname; */ + /* open_args.num_params = 1; */ + /* open_args.params = ¶meter; */ + /* */ + /* error = FT_Open_Face( library, &open_args, index, &face ); */ + /* ... */ + /* } */ + /* */ +/* #define TT_CONFIG_OPTION_UNPATENTED_HINTING */ + + + /*************************************************************************/ + /* */ + /* Define TT_CONFIG_OPTION_INTERPRETER_SWITCH to compile the TrueType */ + /* bytecode interpreter with a huge switch statement, rather than a call */ + /* table. This results in smaller and faster code for a number of */ + /* architectures. */ + /* */ + /* Note however that on some compiler/processor combinations, undefining */ + /* this macro will generate faster, though larger, code. */ + /* */ +#define TT_CONFIG_OPTION_INTERPRETER_SWITCH + + + /*************************************************************************/ + /* */ + /* Define TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED to compile the */ + /* TrueType glyph loader to use Apple's definition of how to handle */ + /* component offsets in composite glyphs. */ + /* */ + /* Apple and MS disagree on the default behavior of component offsets */ + /* in composites. Apple says that they should be scaled by the scaling */ + /* factors in the transformation matrix (roughly, it's more complex) */ + /* while MS says they should not. OpenType defines two bits in the */ + /* composite flags array which can be used to disambiguate, but old */ + /* fonts will not have them. */ + /* */ + /* http://www.microsoft.com/typography/otspec/glyf.htm */ + /* http://fonts.apple.com/TTRefMan/RM06/Chap6glyf.html */ + /* */ +#undef TT_CONFIG_OPTION_COMPONENT_OFFSET_SCALED + + + /*************************************************************************/ + /* */ + /* Define TT_CONFIG_OPTION_GX_VAR_SUPPORT if you want to include */ + /* support for Apple's distortable font technology (fvar, gvar, cvar, */ + /* and avar tables). This has many similarities to Type 1 Multiple */ + /* Masters support. */ + /* */ +#define TT_CONFIG_OPTION_GX_VAR_SUPPORT + + + /*************************************************************************/ + /* */ + /* Define TT_CONFIG_OPTION_BDF if you want to include support for */ + /* an embedded `BDF ' table within SFNT-based bitmap formats. */ + /* */ +#define TT_CONFIG_OPTION_BDF + + + /*************************************************************************/ + /*************************************************************************/ + /**** ****/ + /**** T Y P E 1 D R I V E R C O N F I G U R A T I O N ****/ + /**** ****/ + /*************************************************************************/ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* T1_MAX_DICT_DEPTH is the maximum depth of nest dictionaries and */ + /* arrays in the Type 1 stream (see t1load.c). A minimum of 4 is */ + /* required. */ + /* */ +#define T1_MAX_DICT_DEPTH 5 + + + /*************************************************************************/ + /* */ + /* T1_MAX_SUBRS_CALLS details the maximum number of nested sub-routine */ + /* calls during glyph loading. */ + /* */ +#define T1_MAX_SUBRS_CALLS 16 + + + /*************************************************************************/ + /* */ + /* T1_MAX_CHARSTRING_OPERANDS is the charstring stack's capacity. A */ + /* minimum of 16 is required. */ + /* */ + /* The Chinese font MingTiEG-Medium (CNS 11643 character set) needs 256. */ + /* */ +#define T1_MAX_CHARSTRINGS_OPERANDS 256 + + + /*************************************************************************/ + /* */ + /* Define this configuration macro if you want to prevent the */ + /* compilation of `t1afm', which is in charge of reading Type 1 AFM */ + /* files into an existing face. Note that if set, the T1 driver will be */ + /* unable to produce kerning distances. */ + /* */ +#undef T1_CONFIG_OPTION_NO_AFM + + + /*************************************************************************/ + /* */ + /* Define this configuration macro if you want to prevent the */ + /* compilation of the Multiple Masters font support in the Type 1 */ + /* driver. */ + /* */ +#undef T1_CONFIG_OPTION_NO_MM_SUPPORT + + + /*************************************************************************/ + /*************************************************************************/ + /**** ****/ + /**** A U T O F I T M O D U L E C O N F I G U R A T I O N ****/ + /**** ****/ + /*************************************************************************/ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* Compile autofit module with CJK (Chinese, Japanese, Korean) script */ + /* support. */ + /* */ +#define AF_CONFIG_OPTION_CJK + + /*************************************************************************/ + /* */ + /* Compile autofit module with Indic script support. */ + /* */ +#define AF_CONFIG_OPTION_INDIC + + /*************************************************************************/ + /* */ + /* Compile autofit module with warp hinting. The idea of the warping */ + /* code is to slightly scale and shift a glyph within a single dimension */ + /* so that as much of its segments are aligned (more or less) on the */ + /* grid. To find out the optimal scaling and shifting value, various */ + /* parameter combinations are tried and scored. */ + /* */ + /* This experimental option is only active if the render mode is */ + /* FT_RENDER_MODE_LIGHT. */ + /* */ +/* #define AF_CONFIG_OPTION_USE_WARPER */ + + /* */ + + + /* + * Define this variable if you want to keep the layout of internal + * structures that was used prior to FreeType 2.2. This also compiles in + * a few obsolete functions to avoid linking problems on typical Unix + * distributions. + * + * For embedded systems or building a new distribution from scratch, it + * is recommended to disable the macro since it reduces the library's code + * size and activates a few memory-saving optimizations as well. + */ +#define FT_CONFIG_OPTION_OLD_INTERNALS + + + /* + * To detect legacy cache-lookup call from a rogue client (<= 2.1.7), + * we restrict the number of charmaps in a font. The current API of + * FTC_CMapCache_Lookup() takes cmap_index & charcode, but old API + * takes charcode only. To determine the passed value is for cmap_index + * or charcode, the possible cmap_index is restricted not to exceed + * the minimum possible charcode by a rogue client. It is also very + * unlikely that a rogue client is interested in Unicode values 0 to 15. + * + * NOTE: The original threshold was 4 deduced from popular number of + * cmap subtables in UCS-4 TrueType fonts, but now it is not + * irregular for OpenType fonts to have more than 4 subtables, + * because variation selector subtables are available for Apple + * and Microsoft platforms. + */ + +#ifdef FT_CONFIG_OPTION_OLD_INTERNALS +#define FT_MAX_CHARMAP_CACHEABLE 15 +#endif + + + /* + * This macro is defined if either unpatented or native TrueType + * hinting is requested by the definitions above. + */ +#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER +#define TT_USE_BYTECODE_INTERPRETER +#undef TT_CONFIG_OPTION_UNPATENTED_HINTING +#elif defined TT_CONFIG_OPTION_UNPATENTED_HINTING +#define TT_USE_BYTECODE_INTERPRETER +#endif + +FT_END_HEADER + + +#endif /* __FTOPTION_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/config/ftstdlib.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/config/ftstdlib.h new file mode 100644 index 00000000..b940efc4 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/config/ftstdlib.h @@ -0,0 +1,174 @@ +/***************************************************************************/ +/* */ +/* ftstdlib.h */ +/* */ +/* ANSI-specific library and header configuration file (specification */ +/* only). */ +/* */ +/* Copyright 2002-2007, 2009, 2011-2012 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + + /*************************************************************************/ + /* */ + /* This file is used to group all #includes to the ANSI C library that */ + /* FreeType normally requires. It also defines macros to rename the */ + /* standard functions within the FreeType source code. */ + /* */ + /* Load a file which defines __FTSTDLIB_H__ before this one to override */ + /* it. */ + /* */ + /*************************************************************************/ + + +#ifndef __FTSTDLIB_H__ +#define __FTSTDLIB_H__ + + +#include <stddef.h> + +#define ft_ptrdiff_t ptrdiff_t + + + /**********************************************************************/ + /* */ + /* integer limits */ + /* */ + /* UINT_MAX and ULONG_MAX are used to automatically compute the size */ + /* of `int' and `long' in bytes at compile-time. So far, this works */ + /* for all platforms the library has been tested on. */ + /* */ + /* Note that on the extremely rare platforms that do not provide */ + /* integer types that are _exactly_ 16 and 32 bits wide (e.g. some */ + /* old Crays where `int' is 36 bits), we do not make any guarantee */ + /* about the correct behaviour of FT2 with all fonts. */ + /* */ + /* In these case, `ftconfig.h' will refuse to compile anyway with a */ + /* message like `couldn't find 32-bit type' or something similar. */ + /* */ + /**********************************************************************/ + + +#include <limits.h> + +#define FT_CHAR_BIT CHAR_BIT +#define FT_USHORT_MAX USHRT_MAX +#define FT_INT_MAX INT_MAX +#define FT_INT_MIN INT_MIN +#define FT_UINT_MAX UINT_MAX +#define FT_ULONG_MAX ULONG_MAX + + + /**********************************************************************/ + /* */ + /* character and string processing */ + /* */ + /**********************************************************************/ + + +#include <string.h> + +#define ft_memchr memchr +#define ft_memcmp memcmp +#define ft_memcpy memcpy +#define ft_memmove memmove +#define ft_memset memset +#define ft_strcat strcat +#define ft_strcmp strcmp +#define ft_strcpy strcpy +#define ft_strlen strlen +#define ft_strncmp strncmp +#define ft_strncpy strncpy +#define ft_strrchr strrchr +#define ft_strstr strstr + + + /**********************************************************************/ + /* */ + /* file handling */ + /* */ + /**********************************************************************/ + + +#include <stdio.h> + +#define FT_FILE FILE +#define ft_fclose fclose +#define ft_fopen fopen +#define ft_fread fread +#define ft_fseek fseek +#define ft_ftell ftell +#define ft_sprintf sprintf + + + /**********************************************************************/ + /* */ + /* sorting */ + /* */ + /**********************************************************************/ + + +#include <stdlib.h> + +#define ft_qsort qsort + + + /**********************************************************************/ + /* */ + /* memory allocation */ + /* */ + /**********************************************************************/ + + +#define ft_scalloc calloc +#define ft_sfree free +#define ft_smalloc malloc +#define ft_srealloc realloc + + + /**********************************************************************/ + /* */ + /* miscellaneous */ + /* */ + /**********************************************************************/ + + +#define ft_atol atol +#define ft_labs labs + + + /**********************************************************************/ + /* */ + /* execution control */ + /* */ + /**********************************************************************/ + + +#include <setjmp.h> + +#define ft_jmp_buf jmp_buf /* note: this cannot be a typedef since */ + /* jmp_buf is defined as a macro */ + /* on certain platforms */ + +#define ft_longjmp longjmp +#define ft_setjmp( b ) setjmp( *(ft_jmp_buf*) &(b) ) /* same thing here */ + + + /* the following is only used for debugging purposes, i.e., if */ + /* FT_DEBUG_LEVEL_ERROR or FT_DEBUG_LEVEL_TRACE are defined */ + +#include <stdarg.h> + + +#endif /* __FTSTDLIB_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/freetype.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/freetype.h new file mode 100644 index 00000000..8df4828f --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/freetype.h @@ -0,0 +1,3990 @@ +/***************************************************************************/ +/* */ +/* freetype.h */ +/* */ +/* FreeType high-level API and common types (specification only). */ +/* */ +/* Copyright 1996-2012 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __FREETYPE_H__ +#define __FREETYPE_H__ + + +#ifndef FT_FREETYPE_H +#error "`ft2build.h' hasn't been included yet!" +#error "Please always use macros to include FreeType header files." +#error "Example:" +#error " #include <ft2build.h>" +#error " #include FT_FREETYPE_H" +#endif + + +#include <ft2build.h> +#include FT_CONFIG_CONFIG_H +#include FT_ERRORS_H +#include FT_TYPES_H + + +FT_BEGIN_HEADER + + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* user_allocation */ + /* */ + /* <Title> */ + /* User allocation */ + /* */ + /* <Abstract> */ + /* How client applications should allocate FreeType data structures. */ + /* */ + /* <Description> */ + /* FreeType assumes that structures allocated by the user and passed */ + /* as arguments are zeroed out except for the actual data. In other */ + /* words, it is recommended to use `calloc' (or variants of it) */ + /* instead of `malloc' for allocation. */ + /* */ + /*************************************************************************/ + + + + /*************************************************************************/ + /*************************************************************************/ + /* */ + /* B A S I C T Y P E S */ + /* */ + /*************************************************************************/ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* base_interface */ + /* */ + /* <Title> */ + /* Base Interface */ + /* */ + /* <Abstract> */ + /* The FreeType~2 base font interface. */ + /* */ + /* <Description> */ + /* This section describes the public high-level API of FreeType~2. */ + /* */ + /* <Order> */ + /* FT_Library */ + /* FT_Face */ + /* FT_Size */ + /* FT_GlyphSlot */ + /* FT_CharMap */ + /* FT_Encoding */ + /* */ + /* FT_FaceRec */ + /* */ + /* FT_FACE_FLAG_SCALABLE */ + /* FT_FACE_FLAG_FIXED_SIZES */ + /* FT_FACE_FLAG_FIXED_WIDTH */ + /* FT_FACE_FLAG_HORIZONTAL */ + /* FT_FACE_FLAG_VERTICAL */ + /* FT_FACE_FLAG_SFNT */ + /* FT_FACE_FLAG_KERNING */ + /* FT_FACE_FLAG_MULTIPLE_MASTERS */ + /* FT_FACE_FLAG_GLYPH_NAMES */ + /* FT_FACE_FLAG_EXTERNAL_STREAM */ + /* FT_FACE_FLAG_FAST_GLYPHS */ + /* FT_FACE_FLAG_HINTER */ + /* */ + /* FT_STYLE_FLAG_BOLD */ + /* FT_STYLE_FLAG_ITALIC */ + /* */ + /* FT_SizeRec */ + /* FT_Size_Metrics */ + /* */ + /* FT_GlyphSlotRec */ + /* FT_Glyph_Metrics */ + /* FT_SubGlyph */ + /* */ + /* FT_Bitmap_Size */ + /* */ + /* FT_Init_FreeType */ + /* FT_Done_FreeType */ + /* */ + /* FT_New_Face */ + /* FT_Done_Face */ + /* FT_New_Memory_Face */ + /* FT_Open_Face */ + /* FT_Open_Args */ + /* FT_Parameter */ + /* FT_Attach_File */ + /* FT_Attach_Stream */ + /* */ + /* FT_Set_Char_Size */ + /* FT_Set_Pixel_Sizes */ + /* FT_Request_Size */ + /* FT_Select_Size */ + /* FT_Size_Request_Type */ + /* FT_Size_Request */ + /* FT_Set_Transform */ + /* FT_Load_Glyph */ + /* FT_Get_Char_Index */ + /* FT_Get_Name_Index */ + /* FT_Load_Char */ + /* */ + /* FT_OPEN_MEMORY */ + /* FT_OPEN_STREAM */ + /* FT_OPEN_PATHNAME */ + /* FT_OPEN_DRIVER */ + /* FT_OPEN_PARAMS */ + /* */ + /* FT_LOAD_DEFAULT */ + /* FT_LOAD_RENDER */ + /* FT_LOAD_MONOCHROME */ + /* FT_LOAD_LINEAR_DESIGN */ + /* FT_LOAD_NO_SCALE */ + /* FT_LOAD_NO_HINTING */ + /* FT_LOAD_NO_BITMAP */ + /* FT_LOAD_CROP_BITMAP */ + /* */ + /* FT_LOAD_VERTICAL_LAYOUT */ + /* FT_LOAD_IGNORE_TRANSFORM */ + /* FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH */ + /* FT_LOAD_FORCE_AUTOHINT */ + /* FT_LOAD_NO_RECURSE */ + /* FT_LOAD_PEDANTIC */ + /* */ + /* FT_LOAD_TARGET_NORMAL */ + /* FT_LOAD_TARGET_LIGHT */ + /* FT_LOAD_TARGET_MONO */ + /* FT_LOAD_TARGET_LCD */ + /* FT_LOAD_TARGET_LCD_V */ + /* */ + /* FT_Render_Glyph */ + /* FT_Render_Mode */ + /* FT_Get_Kerning */ + /* FT_Kerning_Mode */ + /* FT_Get_Track_Kerning */ + /* FT_Get_Glyph_Name */ + /* FT_Get_Postscript_Name */ + /* */ + /* FT_CharMapRec */ + /* FT_Select_Charmap */ + /* FT_Set_Charmap */ + /* FT_Get_Charmap_Index */ + /* */ + /* FT_FSTYPE_INSTALLABLE_EMBEDDING */ + /* FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING */ + /* FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING */ + /* FT_FSTYPE_EDITABLE_EMBEDDING */ + /* FT_FSTYPE_NO_SUBSETTING */ + /* FT_FSTYPE_BITMAP_EMBEDDING_ONLY */ + /* */ + /* FT_Get_FSType_Flags */ + /* */ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_Glyph_Metrics */ + /* */ + /* <Description> */ + /* A structure used to model the metrics of a single glyph. The */ + /* values are expressed in 26.6 fractional pixel format; if the flag */ + /* @FT_LOAD_NO_SCALE has been used while loading the glyph, values */ + /* are expressed in font units instead. */ + /* */ + /* <Fields> */ + /* width :: */ + /* The glyph's width. */ + /* */ + /* height :: */ + /* The glyph's height. */ + /* */ + /* horiBearingX :: */ + /* Left side bearing for horizontal layout. */ + /* */ + /* horiBearingY :: */ + /* Top side bearing for horizontal layout. */ + /* */ + /* horiAdvance :: */ + /* Advance width for horizontal layout. */ + /* */ + /* vertBearingX :: */ + /* Left side bearing for vertical layout. */ + /* */ + /* vertBearingY :: */ + /* Top side bearing for vertical layout. Larger positive values */ + /* mean further below the vertical glyph origin. */ + /* */ + /* vertAdvance :: */ + /* Advance height for vertical layout. Positive values mean the */ + /* glyph has a positive advance downward. */ + /* */ + /* <Note> */ + /* If not disabled with @FT_LOAD_NO_HINTING, the values represent */ + /* dimensions of the hinted glyph (in case hinting is applicable). */ + /* */ + /* Stroking a glyph with an outside border does not increase */ + /* `horiAdvance' or `vertAdvance'; you have to manually adjust these */ + /* values to account for the added width and height. */ + /* */ + typedef struct FT_Glyph_Metrics_ + { + FT_Pos width; + FT_Pos height; + + FT_Pos horiBearingX; + FT_Pos horiBearingY; + FT_Pos horiAdvance; + + FT_Pos vertBearingX; + FT_Pos vertBearingY; + FT_Pos vertAdvance; + + } FT_Glyph_Metrics; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_Bitmap_Size */ + /* */ + /* <Description> */ + /* This structure models the metrics of a bitmap strike (i.e., a set */ + /* of glyphs for a given point size and resolution) in a bitmap font. */ + /* It is used for the `available_sizes' field of @FT_Face. */ + /* */ + /* <Fields> */ + /* height :: The vertical distance, in pixels, between two */ + /* consecutive baselines. It is always positive. */ + /* */ + /* width :: The average width, in pixels, of all glyphs in the */ + /* strike. */ + /* */ + /* size :: The nominal size of the strike in 26.6 fractional */ + /* points. This field is not very useful. */ + /* */ + /* x_ppem :: The horizontal ppem (nominal width) in 26.6 fractional */ + /* pixels. */ + /* */ + /* y_ppem :: The vertical ppem (nominal height) in 26.6 fractional */ + /* pixels. */ + /* */ + /* <Note> */ + /* Windows FNT: */ + /* The nominal size given in a FNT font is not reliable. Thus when */ + /* the driver finds it incorrect, it sets `size' to some calculated */ + /* values and sets `x_ppem' and `y_ppem' to the pixel width and */ + /* height given in the font, respectively. */ + /* */ + /* TrueType embedded bitmaps: */ + /* `size', `width', and `height' values are not contained in the */ + /* bitmap strike itself. They are computed from the global font */ + /* parameters. */ + /* */ + typedef struct FT_Bitmap_Size_ + { + FT_Short height; + FT_Short width; + + FT_Pos size; + + FT_Pos x_ppem; + FT_Pos y_ppem; + + } FT_Bitmap_Size; + + + /*************************************************************************/ + /*************************************************************************/ + /* */ + /* O B J E C T C L A S S E S */ + /* */ + /*************************************************************************/ + /*************************************************************************/ + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_Library */ + /* */ + /* <Description> */ + /* A handle to a FreeType library instance. Each `library' is */ + /* completely independent from the others; it is the `root' of a set */ + /* of objects like fonts, faces, sizes, etc. */ + /* */ + /* It also embeds a memory manager (see @FT_Memory), as well as a */ + /* scan-line converter object (see @FT_Raster). */ + /* */ + /* For multi-threading applications each thread should have its own */ + /* FT_Library object. */ + /* */ + /* <Note> */ + /* Library objects are normally created by @FT_Init_FreeType, and */ + /* destroyed with @FT_Done_FreeType. */ + /* */ + typedef struct FT_LibraryRec_ *FT_Library; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_Module */ + /* */ + /* <Description> */ + /* A handle to a given FreeType module object. Each module can be a */ + /* font driver, a renderer, or anything else that provides services */ + /* to the formers. */ + /* */ + typedef struct FT_ModuleRec_* FT_Module; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_Driver */ + /* */ + /* <Description> */ + /* A handle to a given FreeType font driver object. Each font driver */ + /* is a special module capable of creating faces from font files. */ + /* */ + typedef struct FT_DriverRec_* FT_Driver; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_Renderer */ + /* */ + /* <Description> */ + /* A handle to a given FreeType renderer. A renderer is a special */ + /* module in charge of converting a glyph image to a bitmap, when */ + /* necessary. Each renderer supports a given glyph image format, and */ + /* one or more target surface depths. */ + /* */ + typedef struct FT_RendererRec_* FT_Renderer; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_Face */ + /* */ + /* <Description> */ + /* A handle to a given typographic face object. A face object models */ + /* a given typeface, in a given style. */ + /* */ + /* <Note> */ + /* Each face object also owns a single @FT_GlyphSlot object, as well */ + /* as one or more @FT_Size objects. */ + /* */ + /* Use @FT_New_Face or @FT_Open_Face to create a new face object from */ + /* a given filepathname or a custom input stream. */ + /* */ + /* Use @FT_Done_Face to destroy it (along with its slot and sizes). */ + /* */ + /* <Also> */ + /* See @FT_FaceRec for the publicly accessible fields of a given face */ + /* object. */ + /* */ + typedef struct FT_FaceRec_* FT_Face; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_Size */ + /* */ + /* <Description> */ + /* A handle to an object used to model a face scaled to a given */ + /* character size. */ + /* */ + /* <Note> */ + /* Each @FT_Face has an _active_ @FT_Size object that is used by */ + /* functions like @FT_Load_Glyph to determine the scaling */ + /* transformation which is used to load and hint glyphs and metrics. */ + /* */ + /* You can use @FT_Set_Char_Size, @FT_Set_Pixel_Sizes, */ + /* @FT_Request_Size or even @FT_Select_Size to change the content */ + /* (i.e., the scaling values) of the active @FT_Size. */ + /* */ + /* You can use @FT_New_Size to create additional size objects for a */ + /* given @FT_Face, but they won't be used by other functions until */ + /* you activate it through @FT_Activate_Size. Only one size can be */ + /* activated at any given time per face. */ + /* */ + /* <Also> */ + /* See @FT_SizeRec for the publicly accessible fields of a given size */ + /* object. */ + /* */ + typedef struct FT_SizeRec_* FT_Size; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_GlyphSlot */ + /* */ + /* <Description> */ + /* A handle to a given `glyph slot'. A slot is a container where it */ + /* is possible to load any of the glyphs contained in its parent */ + /* face. */ + /* */ + /* In other words, each time you call @FT_Load_Glyph or */ + /* @FT_Load_Char, the slot's content is erased by the new glyph data, */ + /* i.e., the glyph's metrics, its image (bitmap or outline), and */ + /* other control information. */ + /* */ + /* <Also> */ + /* See @FT_GlyphSlotRec for the publicly accessible glyph fields. */ + /* */ + typedef struct FT_GlyphSlotRec_* FT_GlyphSlot; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_CharMap */ + /* */ + /* <Description> */ + /* A handle to a given character map. A charmap is used to translate */ + /* character codes in a given encoding into glyph indexes for its */ + /* parent's face. Some font formats may provide several charmaps per */ + /* font. */ + /* */ + /* Each face object owns zero or more charmaps, but only one of them */ + /* can be `active' and used by @FT_Get_Char_Index or @FT_Load_Char. */ + /* */ + /* The list of available charmaps in a face is available through the */ + /* `face->num_charmaps' and `face->charmaps' fields of @FT_FaceRec. */ + /* */ + /* The currently active charmap is available as `face->charmap'. */ + /* You should call @FT_Set_Charmap to change it. */ + /* */ + /* <Note> */ + /* When a new face is created (either through @FT_New_Face or */ + /* @FT_Open_Face), the library looks for a Unicode charmap within */ + /* the list and automatically activates it. */ + /* */ + /* <Also> */ + /* See @FT_CharMapRec for the publicly accessible fields of a given */ + /* character map. */ + /* */ + typedef struct FT_CharMapRec_* FT_CharMap; + + + /*************************************************************************/ + /* */ + /* <Macro> */ + /* FT_ENC_TAG */ + /* */ + /* <Description> */ + /* This macro converts four-letter tags into an unsigned long. It is */ + /* used to define `encoding' identifiers (see @FT_Encoding). */ + /* */ + /* <Note> */ + /* Since many 16-bit compilers don't like 32-bit enumerations, you */ + /* should redefine this macro in case of problems to something like */ + /* this: */ + /* */ + /* { */ + /* #define FT_ENC_TAG( value, a, b, c, d ) value */ + /* } */ + /* */ + /* to get a simple enumeration without assigning special numbers. */ + /* */ + +#ifndef FT_ENC_TAG +#define FT_ENC_TAG( value, a, b, c, d ) \ + value = ( ( (FT_UInt32)(a) << 24 ) | \ + ( (FT_UInt32)(b) << 16 ) | \ + ( (FT_UInt32)(c) << 8 ) | \ + (FT_UInt32)(d) ) + +#endif /* FT_ENC_TAG */ + + + /*************************************************************************/ + /* */ + /* <Enum> */ + /* FT_Encoding */ + /* */ + /* <Description> */ + /* An enumeration used to specify character sets supported by */ + /* charmaps. Used in the @FT_Select_Charmap API function. */ + /* */ + /* <Note> */ + /* Despite the name, this enumeration lists specific character */ + /* repertories (i.e., charsets), and not text encoding methods (e.g., */ + /* UTF-8, UTF-16, etc.). */ + /* */ + /* Other encodings might be defined in the future. */ + /* */ + /* <Values> */ + /* FT_ENCODING_NONE :: */ + /* The encoding value~0 is reserved. */ + /* */ + /* FT_ENCODING_UNICODE :: */ + /* Corresponds to the Unicode character set. This value covers */ + /* all versions of the Unicode repertoire, including ASCII and */ + /* Latin-1. Most fonts include a Unicode charmap, but not all */ + /* of them. */ + /* */ + /* For example, if you want to access Unicode value U+1F028 (and */ + /* the font contains it), use value 0x1F028 as the input value for */ + /* @FT_Get_Char_Index. */ + /* */ + /* FT_ENCODING_MS_SYMBOL :: */ + /* Corresponds to the Microsoft Symbol encoding, used to encode */ + /* mathematical symbols in the 32..255 character code range. For */ + /* more information, see `http://www.ceviz.net/symbol.htm'. */ + /* */ + /* FT_ENCODING_SJIS :: */ + /* Corresponds to Japanese SJIS encoding. More info at */ + /* at `http://langsupport.japanreference.com/encoding.shtml'. */ + /* See note on multi-byte encodings below. */ + /* */ + /* FT_ENCODING_GB2312 :: */ + /* Corresponds to an encoding system for Simplified Chinese as used */ + /* used in mainland China. */ + /* */ + /* FT_ENCODING_BIG5 :: */ + /* Corresponds to an encoding system for Traditional Chinese as */ + /* used in Taiwan and Hong Kong. */ + /* */ + /* FT_ENCODING_WANSUNG :: */ + /* Corresponds to the Korean encoding system known as Wansung. */ + /* For more information see */ + /* `http://www.microsoft.com/typography/unicode/949.txt'. */ + /* */ + /* FT_ENCODING_JOHAB :: */ + /* The Korean standard character set (KS~C 5601-1992), which */ + /* corresponds to MS Windows code page 1361. This character set */ + /* includes all possible Hangeul character combinations. */ + /* */ + /* FT_ENCODING_ADOBE_LATIN_1 :: */ + /* Corresponds to a Latin-1 encoding as defined in a Type~1 */ + /* PostScript font. It is limited to 256 character codes. */ + /* */ + /* FT_ENCODING_ADOBE_STANDARD :: */ + /* Corresponds to the Adobe Standard encoding, as found in Type~1, */ + /* CFF, and OpenType/CFF fonts. It is limited to 256 character */ + /* codes. */ + /* */ + /* FT_ENCODING_ADOBE_EXPERT :: */ + /* Corresponds to the Adobe Expert encoding, as found in Type~1, */ + /* CFF, and OpenType/CFF fonts. It is limited to 256 character */ + /* codes. */ + /* */ + /* FT_ENCODING_ADOBE_CUSTOM :: */ + /* Corresponds to a custom encoding, as found in Type~1, CFF, and */ + /* OpenType/CFF fonts. It is limited to 256 character codes. */ + /* */ + /* FT_ENCODING_APPLE_ROMAN :: */ + /* Corresponds to the 8-bit Apple roman encoding. Many TrueType */ + /* and OpenType fonts contain a charmap for this encoding, since */ + /* older versions of Mac OS are able to use it. */ + /* */ + /* FT_ENCODING_OLD_LATIN_2 :: */ + /* This value is deprecated and was never used nor reported by */ + /* FreeType. Don't use or test for it. */ + /* */ + /* FT_ENCODING_MS_SJIS :: */ + /* Same as FT_ENCODING_SJIS. Deprecated. */ + /* */ + /* FT_ENCODING_MS_GB2312 :: */ + /* Same as FT_ENCODING_GB2312. Deprecated. */ + /* */ + /* FT_ENCODING_MS_BIG5 :: */ + /* Same as FT_ENCODING_BIG5. Deprecated. */ + /* */ + /* FT_ENCODING_MS_WANSUNG :: */ + /* Same as FT_ENCODING_WANSUNG. Deprecated. */ + /* */ + /* FT_ENCODING_MS_JOHAB :: */ + /* Same as FT_ENCODING_JOHAB. Deprecated. */ + /* */ + /* <Note> */ + /* By default, FreeType automatically synthesizes a Unicode charmap */ + /* for PostScript fonts, using their glyph names dictionaries. */ + /* However, it also reports the encodings defined explicitly in the */ + /* font file, for the cases when they are needed, with the Adobe */ + /* values as well. */ + /* */ + /* FT_ENCODING_NONE is set by the BDF and PCF drivers if the charmap */ + /* is neither Unicode nor ISO-8859-1 (otherwise it is set to */ + /* FT_ENCODING_UNICODE). Use @FT_Get_BDF_Charset_ID to find out */ + /* which encoding is really present. If, for example, the */ + /* `cs_registry' field is `KOI8' and the `cs_encoding' field is `R', */ + /* the font is encoded in KOI8-R. */ + /* */ + /* FT_ENCODING_NONE is always set (with a single exception) by the */ + /* winfonts driver. Use @FT_Get_WinFNT_Header and examine the */ + /* `charset' field of the @FT_WinFNT_HeaderRec structure to find out */ + /* which encoding is really present. For example, */ + /* @FT_WinFNT_ID_CP1251 (204) means Windows code page 1251 (for */ + /* Russian). */ + /* */ + /* FT_ENCODING_NONE is set if `platform_id' is @TT_PLATFORM_MACINTOSH */ + /* and `encoding_id' is not @TT_MAC_ID_ROMAN (otherwise it is set to */ + /* FT_ENCODING_APPLE_ROMAN). */ + /* */ + /* If `platform_id' is @TT_PLATFORM_MACINTOSH, use the function */ + /* @FT_Get_CMap_Language_ID to query the Mac language ID which may */ + /* be needed to be able to distinguish Apple encoding variants. See */ + /* */ + /* http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/README.TXT */ + /* */ + /* to get an idea how to do that. Basically, if the language ID */ + /* is~0, don't use it, otherwise subtract 1 from the language ID. */ + /* Then examine `encoding_id'. If, for example, `encoding_id' is */ + /* @TT_MAC_ID_ROMAN and the language ID (minus~1) is */ + /* `TT_MAC_LANGID_GREEK', it is the Greek encoding, not Roman. */ + /* @TT_MAC_ID_ARABIC with `TT_MAC_LANGID_FARSI' means the Farsi */ + /* variant the Arabic encoding. */ + /* */ + typedef enum FT_Encoding_ + { + FT_ENC_TAG( FT_ENCODING_NONE, 0, 0, 0, 0 ), + + FT_ENC_TAG( FT_ENCODING_MS_SYMBOL, 's', 'y', 'm', 'b' ), + FT_ENC_TAG( FT_ENCODING_UNICODE, 'u', 'n', 'i', 'c' ), + + FT_ENC_TAG( FT_ENCODING_SJIS, 's', 'j', 'i', 's' ), + FT_ENC_TAG( FT_ENCODING_GB2312, 'g', 'b', ' ', ' ' ), + FT_ENC_TAG( FT_ENCODING_BIG5, 'b', 'i', 'g', '5' ), + FT_ENC_TAG( FT_ENCODING_WANSUNG, 'w', 'a', 'n', 's' ), + FT_ENC_TAG( FT_ENCODING_JOHAB, 'j', 'o', 'h', 'a' ), + + /* for backwards compatibility */ + FT_ENCODING_MS_SJIS = FT_ENCODING_SJIS, + FT_ENCODING_MS_GB2312 = FT_ENCODING_GB2312, + FT_ENCODING_MS_BIG5 = FT_ENCODING_BIG5, + FT_ENCODING_MS_WANSUNG = FT_ENCODING_WANSUNG, + FT_ENCODING_MS_JOHAB = FT_ENCODING_JOHAB, + + FT_ENC_TAG( FT_ENCODING_ADOBE_STANDARD, 'A', 'D', 'O', 'B' ), + FT_ENC_TAG( FT_ENCODING_ADOBE_EXPERT, 'A', 'D', 'B', 'E' ), + FT_ENC_TAG( FT_ENCODING_ADOBE_CUSTOM, 'A', 'D', 'B', 'C' ), + FT_ENC_TAG( FT_ENCODING_ADOBE_LATIN_1, 'l', 'a', 't', '1' ), + + FT_ENC_TAG( FT_ENCODING_OLD_LATIN_2, 'l', 'a', 't', '2' ), + + FT_ENC_TAG( FT_ENCODING_APPLE_ROMAN, 'a', 'r', 'm', 'n' ) + + } FT_Encoding; + + + /*************************************************************************/ + /* */ + /* <Enum> */ + /* ft_encoding_xxx */ + /* */ + /* <Description> */ + /* These constants are deprecated; use the corresponding @FT_Encoding */ + /* values instead. */ + /* */ +#define ft_encoding_none FT_ENCODING_NONE +#define ft_encoding_unicode FT_ENCODING_UNICODE +#define ft_encoding_symbol FT_ENCODING_MS_SYMBOL +#define ft_encoding_latin_1 FT_ENCODING_ADOBE_LATIN_1 +#define ft_encoding_latin_2 FT_ENCODING_OLD_LATIN_2 +#define ft_encoding_sjis FT_ENCODING_SJIS +#define ft_encoding_gb2312 FT_ENCODING_GB2312 +#define ft_encoding_big5 FT_ENCODING_BIG5 +#define ft_encoding_wansung FT_ENCODING_WANSUNG +#define ft_encoding_johab FT_ENCODING_JOHAB + +#define ft_encoding_adobe_standard FT_ENCODING_ADOBE_STANDARD +#define ft_encoding_adobe_expert FT_ENCODING_ADOBE_EXPERT +#define ft_encoding_adobe_custom FT_ENCODING_ADOBE_CUSTOM +#define ft_encoding_apple_roman FT_ENCODING_APPLE_ROMAN + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_CharMapRec */ + /* */ + /* <Description> */ + /* The base charmap structure. */ + /* */ + /* <Fields> */ + /* face :: A handle to the parent face object. */ + /* */ + /* encoding :: An @FT_Encoding tag identifying the charmap. Use */ + /* this with @FT_Select_Charmap. */ + /* */ + /* platform_id :: An ID number describing the platform for the */ + /* following encoding ID. This comes directly from */ + /* the TrueType specification and should be emulated */ + /* for other formats. */ + /* */ + /* encoding_id :: A platform specific encoding number. This also */ + /* comes from the TrueType specification and should be */ + /* emulated similarly. */ + /* */ + typedef struct FT_CharMapRec_ + { + FT_Face face; + FT_Encoding encoding; + FT_UShort platform_id; + FT_UShort encoding_id; + + } FT_CharMapRec; + + + /*************************************************************************/ + /*************************************************************************/ + /* */ + /* B A S E O B J E C T C L A S S E S */ + /* */ + /*************************************************************************/ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_Face_Internal */ + /* */ + /* <Description> */ + /* An opaque handle to an `FT_Face_InternalRec' structure, used to */ + /* model private data of a given @FT_Face object. */ + /* */ + /* This structure might change between releases of FreeType~2 and is */ + /* not generally available to client applications. */ + /* */ + typedef struct FT_Face_InternalRec_* FT_Face_Internal; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_FaceRec */ + /* */ + /* <Description> */ + /* FreeType root face class structure. A face object models a */ + /* typeface in a font file. */ + /* */ + /* <Fields> */ + /* num_faces :: The number of faces in the font file. Some */ + /* font formats can have multiple faces in */ + /* a font file. */ + /* */ + /* face_index :: The index of the face in the font file. It */ + /* is set to~0 if there is only one face in */ + /* the font file. */ + /* */ + /* face_flags :: A set of bit flags that give important */ + /* information about the face; see */ + /* @FT_FACE_FLAG_XXX for the details. */ + /* */ + /* style_flags :: A set of bit flags indicating the style of */ + /* the face; see @FT_STYLE_FLAG_XXX for the */ + /* details. */ + /* */ + /* num_glyphs :: The number of glyphs in the face. If the */ + /* face is scalable and has sbits (see */ + /* `num_fixed_sizes'), it is set to the number */ + /* of outline glyphs. */ + /* */ + /* For CID-keyed fonts, this value gives the */ + /* highest CID used in the font. */ + /* */ + /* family_name :: The face's family name. This is an ASCII */ + /* string, usually in English, which describes */ + /* the typeface's family (like `Times New */ + /* Roman', `Bodoni', `Garamond', etc). This */ + /* is a least common denominator used to list */ + /* fonts. Some formats (TrueType & OpenType) */ + /* provide localized and Unicode versions of */ + /* this string. Applications should use the */ + /* format specific interface to access them. */ + /* Can be NULL (e.g., in fonts embedded in a */ + /* PDF file). */ + /* */ + /* style_name :: The face's style name. This is an ASCII */ + /* string, usually in English, which describes */ + /* the typeface's style (like `Italic', */ + /* `Bold', `Condensed', etc). Not all font */ + /* formats provide a style name, so this field */ + /* is optional, and can be set to NULL. As */ + /* for `family_name', some formats provide */ + /* localized and Unicode versions of this */ + /* string. Applications should use the format */ + /* specific interface to access them. */ + /* */ + /* num_fixed_sizes :: The number of bitmap strikes in the face. */ + /* Even if the face is scalable, there might */ + /* still be bitmap strikes, which are called */ + /* `sbits' in that case. */ + /* */ + /* available_sizes :: An array of @FT_Bitmap_Size for all bitmap */ + /* strikes in the face. It is set to NULL if */ + /* there is no bitmap strike. */ + /* */ + /* num_charmaps :: The number of charmaps in the face. */ + /* */ + /* charmaps :: An array of the charmaps of the face. */ + /* */ + /* generic :: A field reserved for client uses. See the */ + /* @FT_Generic type description. */ + /* */ + /* bbox :: The font bounding box. Coordinates are */ + /* expressed in font units (see */ + /* `units_per_EM'). The box is large enough */ + /* to contain any glyph from the font. Thus, */ + /* `bbox.yMax' can be seen as the `maximum */ + /* ascender', and `bbox.yMin' as the `minimum */ + /* descender'. Only relevant for scalable */ + /* formats. */ + /* */ + /* Note that the bounding box might be off by */ + /* (at least) one pixel for hinted fonts. See */ + /* @FT_Size_Metrics for further discussion. */ + /* */ + /* units_per_EM :: The number of font units per EM square for */ + /* this face. This is typically 2048 for */ + /* TrueType fonts, and 1000 for Type~1 fonts. */ + /* Only relevant for scalable formats. */ + /* */ + /* ascender :: The typographic ascender of the face, */ + /* expressed in font units. For font formats */ + /* not having this information, it is set to */ + /* `bbox.yMax'. Only relevant for scalable */ + /* formats. */ + /* */ + /* descender :: The typographic descender of the face, */ + /* expressed in font units. For font formats */ + /* not having this information, it is set to */ + /* `bbox.yMin'. Note that this field is */ + /* usually negative. Only relevant for */ + /* scalable formats. */ + /* */ + /* height :: The height is the vertical distance */ + /* between two consecutive baselines, */ + /* expressed in font units. It is always */ + /* positive. Only relevant for scalable */ + /* formats. */ + /* */ + /* max_advance_width :: The maximum advance width, in font units, */ + /* for all glyphs in this face. This can be */ + /* used to make word wrapping computations */ + /* faster. Only relevant for scalable */ + /* formats. */ + /* */ + /* max_advance_height :: The maximum advance height, in font units, */ + /* for all glyphs in this face. This is only */ + /* relevant for vertical layouts, and is set */ + /* to `height' for fonts that do not provide */ + /* vertical metrics. Only relevant for */ + /* scalable formats. */ + /* */ + /* underline_position :: The position, in font units, of the */ + /* underline line for this face. It is the */ + /* center of the underlining stem. Only */ + /* relevant for scalable formats. */ + /* */ + /* underline_thickness :: The thickness, in font units, of the */ + /* underline for this face. Only relevant for */ + /* scalable formats. */ + /* */ + /* glyph :: The face's associated glyph slot(s). */ + /* */ + /* size :: The current active size for this face. */ + /* */ + /* charmap :: The current active charmap for this face. */ + /* */ + /* <Note> */ + /* Fields may be changed after a call to @FT_Attach_File or */ + /* @FT_Attach_Stream. */ + /* */ + typedef struct FT_FaceRec_ + { + FT_Long num_faces; + FT_Long face_index; + + FT_Long face_flags; + FT_Long style_flags; + + FT_Long num_glyphs; + + FT_String* family_name; + FT_String* style_name; + + FT_Int num_fixed_sizes; + FT_Bitmap_Size* available_sizes; + + FT_Int num_charmaps; + FT_CharMap* charmaps; + + FT_Generic generic; + + /*# The following member variables (down to `underline_thickness') */ + /*# are only relevant to scalable outlines; cf. @FT_Bitmap_Size */ + /*# for bitmap fonts. */ + FT_BBox bbox; + + FT_UShort units_per_EM; + FT_Short ascender; + FT_Short descender; + FT_Short height; + + FT_Short max_advance_width; + FT_Short max_advance_height; + + FT_Short underline_position; + FT_Short underline_thickness; + + FT_GlyphSlot glyph; + FT_Size size; + FT_CharMap charmap; + + /*@private begin */ + + FT_Driver driver; + FT_Memory memory; + FT_Stream stream; + + FT_ListRec sizes_list; + + FT_Generic autohint; /* face-specific auto-hinter data */ + void* extensions; /* unused */ + + FT_Face_Internal internal; + + /*@private end */ + + } FT_FaceRec; + + + /*************************************************************************/ + /* */ + /* <Enum> */ + /* FT_FACE_FLAG_XXX */ + /* */ + /* <Description> */ + /* A list of bit flags used in the `face_flags' field of the */ + /* @FT_FaceRec structure. They inform client applications of */ + /* properties of the corresponding face. */ + /* */ + /* <Values> */ + /* FT_FACE_FLAG_SCALABLE :: */ + /* Indicates that the face contains outline glyphs. This doesn't */ + /* prevent bitmap strikes, i.e., a face can have both this and */ + /* and @FT_FACE_FLAG_FIXED_SIZES set. */ + /* */ + /* FT_FACE_FLAG_FIXED_SIZES :: */ + /* Indicates that the face contains bitmap strikes. See also the */ + /* `num_fixed_sizes' and `available_sizes' fields of @FT_FaceRec. */ + /* */ + /* FT_FACE_FLAG_FIXED_WIDTH :: */ + /* Indicates that the face contains fixed-width characters (like */ + /* Courier, Lucido, MonoType, etc.). */ + /* */ + /* FT_FACE_FLAG_SFNT :: */ + /* Indicates that the face uses the `sfnt' storage scheme. For */ + /* now, this means TrueType and OpenType. */ + /* */ + /* FT_FACE_FLAG_HORIZONTAL :: */ + /* Indicates that the face contains horizontal glyph metrics. This */ + /* should be set for all common formats. */ + /* */ + /* FT_FACE_FLAG_VERTICAL :: */ + /* Indicates that the face contains vertical glyph metrics. This */ + /* is only available in some formats, not all of them. */ + /* */ + /* FT_FACE_FLAG_KERNING :: */ + /* Indicates that the face contains kerning information. If set, */ + /* the kerning distance can be retrieved through the function */ + /* @FT_Get_Kerning. Otherwise the function always return the */ + /* vector (0,0). Note that FreeType doesn't handle kerning data */ + /* from the `GPOS' table (as present in some OpenType fonts). */ + /* */ + /* FT_FACE_FLAG_FAST_GLYPHS :: */ + /* THIS FLAG IS DEPRECATED. DO NOT USE OR TEST IT. */ + /* */ + /* FT_FACE_FLAG_MULTIPLE_MASTERS :: */ + /* Indicates that the font contains multiple masters and is capable */ + /* of interpolating between them. See the multiple-masters */ + /* specific API for details. */ + /* */ + /* FT_FACE_FLAG_GLYPH_NAMES :: */ + /* Indicates that the font contains glyph names that can be */ + /* retrieved through @FT_Get_Glyph_Name. Note that some TrueType */ + /* fonts contain broken glyph name tables. Use the function */ + /* @FT_Has_PS_Glyph_Names when needed. */ + /* */ + /* FT_FACE_FLAG_EXTERNAL_STREAM :: */ + /* Used internally by FreeType to indicate that a face's stream was */ + /* provided by the client application and should not be destroyed */ + /* when @FT_Done_Face is called. Don't read or test this flag. */ + /* */ + /* FT_FACE_FLAG_HINTER :: */ + /* Set if the font driver has a hinting machine of its own. For */ + /* example, with TrueType fonts, it makes sense to use data from */ + /* the SFNT `gasp' table only if the native TrueType hinting engine */ + /* (with the bytecode interpreter) is available and active. */ + /* */ + /* FT_FACE_FLAG_CID_KEYED :: */ + /* Set if the font is CID-keyed. In that case, the font is not */ + /* accessed by glyph indices but by CID values. For subsetted */ + /* CID-keyed fonts this has the consequence that not all index */ + /* values are a valid argument to FT_Load_Glyph. Only the CID */ + /* values for which corresponding glyphs in the subsetted font */ + /* exist make FT_Load_Glyph return successfully; in all other cases */ + /* you get an `FT_Err_Invalid_Argument' error. */ + /* */ + /* Note that CID-keyed fonts which are in an SFNT wrapper don't */ + /* have this flag set since the glyphs are accessed in the normal */ + /* way (using contiguous indices); the `CID-ness' isn't visible to */ + /* the application. */ + /* */ + /* FT_FACE_FLAG_TRICKY :: */ + /* Set if the font is `tricky', this is, it always needs the */ + /* font format's native hinting engine to get a reasonable result. */ + /* A typical example is the Chinese font `mingli.ttf' which uses */ + /* TrueType bytecode instructions to move and scale all of its */ + /* subglyphs. */ + /* */ + /* It is not possible to autohint such fonts using */ + /* @FT_LOAD_FORCE_AUTOHINT; it will also ignore */ + /* @FT_LOAD_NO_HINTING. You have to set both @FT_LOAD_NO_HINTING */ + /* and @FT_LOAD_NO_AUTOHINT to really disable hinting; however, you */ + /* probably never want this except for demonstration purposes. */ + /* */ + /* Currently, there are about a dozen TrueType fonts in the list of */ + /* tricky fonts; they are hard-coded in file `ttobjs.c'. */ + /* */ +#define FT_FACE_FLAG_SCALABLE ( 1L << 0 ) +#define FT_FACE_FLAG_FIXED_SIZES ( 1L << 1 ) +#define FT_FACE_FLAG_FIXED_WIDTH ( 1L << 2 ) +#define FT_FACE_FLAG_SFNT ( 1L << 3 ) +#define FT_FACE_FLAG_HORIZONTAL ( 1L << 4 ) +#define FT_FACE_FLAG_VERTICAL ( 1L << 5 ) +#define FT_FACE_FLAG_KERNING ( 1L << 6 ) +#define FT_FACE_FLAG_FAST_GLYPHS ( 1L << 7 ) +#define FT_FACE_FLAG_MULTIPLE_MASTERS ( 1L << 8 ) +#define FT_FACE_FLAG_GLYPH_NAMES ( 1L << 9 ) +#define FT_FACE_FLAG_EXTERNAL_STREAM ( 1L << 10 ) +#define FT_FACE_FLAG_HINTER ( 1L << 11 ) +#define FT_FACE_FLAG_CID_KEYED ( 1L << 12 ) +#define FT_FACE_FLAG_TRICKY ( 1L << 13 ) + + + /************************************************************************* + * + * @macro: + * FT_HAS_HORIZONTAL( face ) + * + * @description: + * A macro that returns true whenever a face object contains + * horizontal metrics (this is true for all font formats though). + * + * @also: + * @FT_HAS_VERTICAL can be used to check for vertical metrics. + * + */ +#define FT_HAS_HORIZONTAL( face ) \ + ( face->face_flags & FT_FACE_FLAG_HORIZONTAL ) + + + /************************************************************************* + * + * @macro: + * FT_HAS_VERTICAL( face ) + * + * @description: + * A macro that returns true whenever a face object contains real + * vertical metrics (and not only synthesized ones). + * + */ +#define FT_HAS_VERTICAL( face ) \ + ( face->face_flags & FT_FACE_FLAG_VERTICAL ) + + + /************************************************************************* + * + * @macro: + * FT_HAS_KERNING( face ) + * + * @description: + * A macro that returns true whenever a face object contains kerning + * data that can be accessed with @FT_Get_Kerning. + * + */ +#define FT_HAS_KERNING( face ) \ + ( face->face_flags & FT_FACE_FLAG_KERNING ) + + + /************************************************************************* + * + * @macro: + * FT_IS_SCALABLE( face ) + * + * @description: + * A macro that returns true whenever a face object contains a scalable + * font face (true for TrueType, Type~1, Type~42, CID, OpenType/CFF, + * and PFR font formats. + * + */ +#define FT_IS_SCALABLE( face ) \ + ( face->face_flags & FT_FACE_FLAG_SCALABLE ) + + + /************************************************************************* + * + * @macro: + * FT_IS_SFNT( face ) + * + * @description: + * A macro that returns true whenever a face object contains a font + * whose format is based on the SFNT storage scheme. This usually + * means: TrueType fonts, OpenType fonts, as well as SFNT-based embedded + * bitmap fonts. + * + * If this macro is true, all functions defined in @FT_SFNT_NAMES_H and + * @FT_TRUETYPE_TABLES_H are available. + * + */ +#define FT_IS_SFNT( face ) \ + ( face->face_flags & FT_FACE_FLAG_SFNT ) + + + /************************************************************************* + * + * @macro: + * FT_IS_FIXED_WIDTH( face ) + * + * @description: + * A macro that returns true whenever a face object contains a font face + * that contains fixed-width (or `monospace', `fixed-pitch', etc.) + * glyphs. + * + */ +#define FT_IS_FIXED_WIDTH( face ) \ + ( face->face_flags & FT_FACE_FLAG_FIXED_WIDTH ) + + + /************************************************************************* + * + * @macro: + * FT_HAS_FIXED_SIZES( face ) + * + * @description: + * A macro that returns true whenever a face object contains some + * embedded bitmaps. See the `available_sizes' field of the + * @FT_FaceRec structure. + * + */ +#define FT_HAS_FIXED_SIZES( face ) \ + ( face->face_flags & FT_FACE_FLAG_FIXED_SIZES ) + + + /************************************************************************* + * + * @macro: + * FT_HAS_FAST_GLYPHS( face ) + * + * @description: + * Deprecated. + * + */ +#define FT_HAS_FAST_GLYPHS( face ) 0 + + + /************************************************************************* + * + * @macro: + * FT_HAS_GLYPH_NAMES( face ) + * + * @description: + * A macro that returns true whenever a face object contains some glyph + * names that can be accessed through @FT_Get_Glyph_Name. + * + */ +#define FT_HAS_GLYPH_NAMES( face ) \ + ( face->face_flags & FT_FACE_FLAG_GLYPH_NAMES ) + + + /************************************************************************* + * + * @macro: + * FT_HAS_MULTIPLE_MASTERS( face ) + * + * @description: + * A macro that returns true whenever a face object contains some + * multiple masters. The functions provided by @FT_MULTIPLE_MASTERS_H + * are then available to choose the exact design you want. + * + */ +#define FT_HAS_MULTIPLE_MASTERS( face ) \ + ( face->face_flags & FT_FACE_FLAG_MULTIPLE_MASTERS ) + + + /************************************************************************* + * + * @macro: + * FT_IS_CID_KEYED( face ) + * + * @description: + * A macro that returns true whenever a face object contains a CID-keyed + * font. See the discussion of @FT_FACE_FLAG_CID_KEYED for more + * details. + * + * If this macro is true, all functions defined in @FT_CID_H are + * available. + * + */ +#define FT_IS_CID_KEYED( face ) \ + ( face->face_flags & FT_FACE_FLAG_CID_KEYED ) + + + /************************************************************************* + * + * @macro: + * FT_IS_TRICKY( face ) + * + * @description: + * A macro that returns true whenever a face represents a `tricky' font. + * See the discussion of @FT_FACE_FLAG_TRICKY for more details. + * + */ +#define FT_IS_TRICKY( face ) \ + ( face->face_flags & FT_FACE_FLAG_TRICKY ) + + + /*************************************************************************/ + /* */ + /* <Const> */ + /* FT_STYLE_FLAG_XXX */ + /* */ + /* <Description> */ + /* A list of bit-flags used to indicate the style of a given face. */ + /* These are used in the `style_flags' field of @FT_FaceRec. */ + /* */ + /* <Values> */ + /* FT_STYLE_FLAG_ITALIC :: */ + /* Indicates that a given face style is italic or oblique. */ + /* */ + /* FT_STYLE_FLAG_BOLD :: */ + /* Indicates that a given face is bold. */ + /* */ + /* <Note> */ + /* The style information as provided by FreeType is very basic. More */ + /* details are beyond the scope and should be done on a higher level */ + /* (for example, by analyzing various fields of the `OS/2' table in */ + /* SFNT based fonts). */ + /* */ +#define FT_STYLE_FLAG_ITALIC ( 1 << 0 ) +#define FT_STYLE_FLAG_BOLD ( 1 << 1 ) + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_Size_Internal */ + /* */ + /* <Description> */ + /* An opaque handle to an `FT_Size_InternalRec' structure, used to */ + /* model private data of a given @FT_Size object. */ + /* */ + typedef struct FT_Size_InternalRec_* FT_Size_Internal; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_Size_Metrics */ + /* */ + /* <Description> */ + /* The size metrics structure gives the metrics of a size object. */ + /* */ + /* <Fields> */ + /* x_ppem :: The width of the scaled EM square in pixels, hence */ + /* the term `ppem' (pixels per EM). It is also */ + /* referred to as `nominal width'. */ + /* */ + /* y_ppem :: The height of the scaled EM square in pixels, */ + /* hence the term `ppem' (pixels per EM). It is also */ + /* referred to as `nominal height'. */ + /* */ + /* x_scale :: A 16.16 fractional scaling value used to convert */ + /* horizontal metrics from font units to 26.6 */ + /* fractional pixels. Only relevant for scalable */ + /* font formats. */ + /* */ + /* y_scale :: A 16.16 fractional scaling value used to convert */ + /* vertical metrics from font units to 26.6 */ + /* fractional pixels. Only relevant for scalable */ + /* font formats. */ + /* */ + /* ascender :: The ascender in 26.6 fractional pixels. See */ + /* @FT_FaceRec for the details. */ + /* */ + /* descender :: The descender in 26.6 fractional pixels. See */ + /* @FT_FaceRec for the details. */ + /* */ + /* height :: The height in 26.6 fractional pixels. See */ + /* @FT_FaceRec for the details. */ + /* */ + /* max_advance :: The maximum advance width in 26.6 fractional */ + /* pixels. See @FT_FaceRec for the details. */ + /* */ + /* <Note> */ + /* The scaling values, if relevant, are determined first during a */ + /* size changing operation. The remaining fields are then set by the */ + /* driver. For scalable formats, they are usually set to scaled */ + /* values of the corresponding fields in @FT_FaceRec. */ + /* */ + /* Note that due to glyph hinting, these values might not be exact */ + /* for certain fonts. Thus they must be treated as unreliable */ + /* with an error margin of at least one pixel! */ + /* */ + /* Indeed, the only way to get the exact metrics is to render _all_ */ + /* glyphs. As this would be a definite performance hit, it is up to */ + /* client applications to perform such computations. */ + /* */ + /* The FT_Size_Metrics structure is valid for bitmap fonts also. */ + /* */ + typedef struct FT_Size_Metrics_ + { + FT_UShort x_ppem; /* horizontal pixels per EM */ + FT_UShort y_ppem; /* vertical pixels per EM */ + + FT_Fixed x_scale; /* scaling values used to convert font */ + FT_Fixed y_scale; /* units to 26.6 fractional pixels */ + + FT_Pos ascender; /* ascender in 26.6 frac. pixels */ + FT_Pos descender; /* descender in 26.6 frac. pixels */ + FT_Pos height; /* text height in 26.6 frac. pixels */ + FT_Pos max_advance; /* max horizontal advance, in 26.6 pixels */ + + } FT_Size_Metrics; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_SizeRec */ + /* */ + /* <Description> */ + /* FreeType root size class structure. A size object models a face */ + /* object at a given size. */ + /* */ + /* <Fields> */ + /* face :: Handle to the parent face object. */ + /* */ + /* generic :: A typeless pointer, which is unused by the FreeType */ + /* library or any of its drivers. It can be used by */ + /* client applications to link their own data to each size */ + /* object. */ + /* */ + /* metrics :: Metrics for this size object. This field is read-only. */ + /* */ + typedef struct FT_SizeRec_ + { + FT_Face face; /* parent face object */ + FT_Generic generic; /* generic pointer for client uses */ + FT_Size_Metrics metrics; /* size metrics */ + FT_Size_Internal internal; + + } FT_SizeRec; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_SubGlyph */ + /* */ + /* <Description> */ + /* The subglyph structure is an internal object used to describe */ + /* subglyphs (for example, in the case of composites). */ + /* */ + /* <Note> */ + /* The subglyph implementation is not part of the high-level API, */ + /* hence the forward structure declaration. */ + /* */ + /* You can however retrieve subglyph information with */ + /* @FT_Get_SubGlyph_Info. */ + /* */ + typedef struct FT_SubGlyphRec_* FT_SubGlyph; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_Slot_Internal */ + /* */ + /* <Description> */ + /* An opaque handle to an `FT_Slot_InternalRec' structure, used to */ + /* model private data of a given @FT_GlyphSlot object. */ + /* */ + typedef struct FT_Slot_InternalRec_* FT_Slot_Internal; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_GlyphSlotRec */ + /* */ + /* <Description> */ + /* FreeType root glyph slot class structure. A glyph slot is a */ + /* container where individual glyphs can be loaded, be they in */ + /* outline or bitmap format. */ + /* */ + /* <Fields> */ + /* library :: A handle to the FreeType library instance */ + /* this slot belongs to. */ + /* */ + /* face :: A handle to the parent face object. */ + /* */ + /* next :: In some cases (like some font tools), several */ + /* glyph slots per face object can be a good */ + /* thing. As this is rare, the glyph slots are */ + /* listed through a direct, single-linked list */ + /* using its `next' field. */ + /* */ + /* generic :: A typeless pointer which is unused by the */ + /* FreeType library or any of its drivers. It */ + /* can be used by client applications to link */ + /* their own data to each glyph slot object. */ + /* */ + /* metrics :: The metrics of the last loaded glyph in the */ + /* slot. The returned values depend on the last */ + /* load flags (see the @FT_Load_Glyph API */ + /* function) and can be expressed either in 26.6 */ + /* fractional pixels or font units. */ + /* */ + /* Note that even when the glyph image is */ + /* transformed, the metrics are not. */ + /* */ + /* linearHoriAdvance :: The advance width of the unhinted glyph. */ + /* Its value is expressed in 16.16 fractional */ + /* pixels, unless @FT_LOAD_LINEAR_DESIGN is set */ + /* when loading the glyph. This field can be */ + /* important to perform correct WYSIWYG layout. */ + /* Only relevant for outline glyphs. */ + /* */ + /* linearVertAdvance :: The advance height of the unhinted glyph. */ + /* Its value is expressed in 16.16 fractional */ + /* pixels, unless @FT_LOAD_LINEAR_DESIGN is set */ + /* when loading the glyph. This field can be */ + /* important to perform correct WYSIWYG layout. */ + /* Only relevant for outline glyphs. */ + /* */ + /* advance :: This shorthand is, depending on */ + /* @FT_LOAD_IGNORE_TRANSFORM, the transformed */ + /* advance width for the glyph (in 26.6 */ + /* fractional pixel format). As specified with */ + /* @FT_LOAD_VERTICAL_LAYOUT, it uses either the */ + /* `horiAdvance' or the `vertAdvance' value of */ + /* `metrics' field. */ + /* */ + /* format :: This field indicates the format of the image */ + /* contained in the glyph slot. Typically */ + /* @FT_GLYPH_FORMAT_BITMAP, */ + /* @FT_GLYPH_FORMAT_OUTLINE, or */ + /* @FT_GLYPH_FORMAT_COMPOSITE, but others are */ + /* possible. */ + /* */ + /* bitmap :: This field is used as a bitmap descriptor */ + /* when the slot format is */ + /* @FT_GLYPH_FORMAT_BITMAP. Note that the */ + /* address and content of the bitmap buffer can */ + /* change between calls of @FT_Load_Glyph and a */ + /* few other functions. */ + /* */ + /* bitmap_left :: This is the bitmap's left bearing expressed */ + /* in integer pixels. Of course, this is only */ + /* valid if the format is */ + /* @FT_GLYPH_FORMAT_BITMAP. */ + /* */ + /* bitmap_top :: This is the bitmap's top bearing expressed in */ + /* integer pixels. Remember that this is the */ + /* distance from the baseline to the top-most */ + /* glyph scanline, upwards y~coordinates being */ + /* *positive*. */ + /* */ + /* outline :: The outline descriptor for the current glyph */ + /* image if its format is */ + /* @FT_GLYPH_FORMAT_OUTLINE. Once a glyph is */ + /* loaded, `outline' can be transformed, */ + /* distorted, embolded, etc. However, it must */ + /* not be freed. */ + /* */ + /* num_subglyphs :: The number of subglyphs in a composite glyph. */ + /* This field is only valid for the composite */ + /* glyph format that should normally only be */ + /* loaded with the @FT_LOAD_NO_RECURSE flag. */ + /* For now this is internal to FreeType. */ + /* */ + /* subglyphs :: An array of subglyph descriptors for */ + /* composite glyphs. There are `num_subglyphs' */ + /* elements in there. Currently internal to */ + /* FreeType. */ + /* */ + /* control_data :: Certain font drivers can also return the */ + /* control data for a given glyph image (e.g. */ + /* TrueType bytecode, Type~1 charstrings, etc.). */ + /* This field is a pointer to such data. */ + /* */ + /* control_len :: This is the length in bytes of the control */ + /* data. */ + /* */ + /* other :: Really wicked formats can use this pointer to */ + /* present their own glyph image to client */ + /* applications. Note that the application */ + /* needs to know about the image format. */ + /* */ + /* lsb_delta :: The difference between hinted and unhinted */ + /* left side bearing while autohinting is */ + /* active. Zero otherwise. */ + /* */ + /* rsb_delta :: The difference between hinted and unhinted */ + /* right side bearing while autohinting is */ + /* active. Zero otherwise. */ + /* */ + /* <Note> */ + /* If @FT_Load_Glyph is called with default flags (see */ + /* @FT_LOAD_DEFAULT) the glyph image is loaded in the glyph slot in */ + /* its native format (e.g., an outline glyph for TrueType and Type~1 */ + /* formats). */ + /* */ + /* This image can later be converted into a bitmap by calling */ + /* @FT_Render_Glyph. This function finds the current renderer for */ + /* the native image's format, then invokes it. */ + /* */ + /* The renderer is in charge of transforming the native image through */ + /* the slot's face transformation fields, then converting it into a */ + /* bitmap that is returned in `slot->bitmap'. */ + /* */ + /* Note that `slot->bitmap_left' and `slot->bitmap_top' are also used */ + /* to specify the position of the bitmap relative to the current pen */ + /* position (e.g., coordinates (0,0) on the baseline). Of course, */ + /* `slot->format' is also changed to @FT_GLYPH_FORMAT_BITMAP. */ + /* */ + /* <Note> */ + /* Here a small pseudo code fragment which shows how to use */ + /* `lsb_delta' and `rsb_delta': */ + /* */ + /* { */ + /* FT_Pos origin_x = 0; */ + /* FT_Pos prev_rsb_delta = 0; */ + /* */ + /* */ + /* for all glyphs do */ + /* <compute kern between current and previous glyph and add it to */ + /* `origin_x'> */ + /* */ + /* <load glyph with `FT_Load_Glyph'> */ + /* */ + /* if ( prev_rsb_delta - face->glyph->lsb_delta >= 32 ) */ + /* origin_x -= 64; */ + /* else if ( prev_rsb_delta - face->glyph->lsb_delta < -32 ) */ + /* origin_x += 64; */ + /* */ + /* prev_rsb_delta = face->glyph->rsb_delta; */ + /* */ + /* <save glyph image, or render glyph, or ...> */ + /* */ + /* origin_x += face->glyph->advance.x; */ + /* endfor */ + /* } */ + /* */ + typedef struct FT_GlyphSlotRec_ + { + FT_Library library; + FT_Face face; + FT_GlyphSlot next; + FT_UInt reserved; /* retained for binary compatibility */ + FT_Generic generic; + + FT_Glyph_Metrics metrics; + FT_Fixed linearHoriAdvance; + FT_Fixed linearVertAdvance; + FT_Vector advance; + + FT_Glyph_Format format; + + FT_Bitmap bitmap; + FT_Int bitmap_left; + FT_Int bitmap_top; + + FT_Outline outline; + + FT_UInt num_subglyphs; + FT_SubGlyph subglyphs; + + void* control_data; + long control_len; + + FT_Pos lsb_delta; + FT_Pos rsb_delta; + + void* other; + + FT_Slot_Internal internal; + + } FT_GlyphSlotRec; + + + /*************************************************************************/ + /*************************************************************************/ + /* */ + /* F U N C T I O N S */ + /* */ + /*************************************************************************/ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Init_FreeType */ + /* */ + /* <Description> */ + /* Initialize a new FreeType library object. The set of modules */ + /* that are registered by this function is determined at build time. */ + /* */ + /* <Output> */ + /* alibrary :: A handle to a new library object. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* In case you want to provide your own memory allocating routines, */ + /* use @FT_New_Library instead, followed by a call to */ + /* @FT_Add_Default_Modules (or a series of calls to @FT_Add_Module). */ + /* */ + /* For multi-threading applications each thread should have its own */ + /* FT_Library object. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Init_FreeType( FT_Library *alibrary ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Done_FreeType */ + /* */ + /* <Description> */ + /* Destroy a given FreeType library object and all of its children, */ + /* including resources, drivers, faces, sizes, etc. */ + /* */ + /* <Input> */ + /* library :: A handle to the target library object. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Done_FreeType( FT_Library library ); + + + /*************************************************************************/ + /* */ + /* <Enum> */ + /* FT_OPEN_XXX */ + /* */ + /* <Description> */ + /* A list of bit-field constants used within the `flags' field of the */ + /* @FT_Open_Args structure. */ + /* */ + /* <Values> */ + /* FT_OPEN_MEMORY :: This is a memory-based stream. */ + /* */ + /* FT_OPEN_STREAM :: Copy the stream from the `stream' field. */ + /* */ + /* FT_OPEN_PATHNAME :: Create a new input stream from a C~path */ + /* name. */ + /* */ + /* FT_OPEN_DRIVER :: Use the `driver' field. */ + /* */ + /* FT_OPEN_PARAMS :: Use the `num_params' and `params' fields. */ + /* */ + /* ft_open_memory :: Deprecated; use @FT_OPEN_MEMORY instead. */ + /* */ + /* ft_open_stream :: Deprecated; use @FT_OPEN_STREAM instead. */ + /* */ + /* ft_open_pathname :: Deprecated; use @FT_OPEN_PATHNAME instead. */ + /* */ + /* ft_open_driver :: Deprecated; use @FT_OPEN_DRIVER instead. */ + /* */ + /* ft_open_params :: Deprecated; use @FT_OPEN_PARAMS instead. */ + /* */ + /* <Note> */ + /* The `FT_OPEN_MEMORY', `FT_OPEN_STREAM', and `FT_OPEN_PATHNAME' */ + /* flags are mutually exclusive. */ + /* */ +#define FT_OPEN_MEMORY 0x1 +#define FT_OPEN_STREAM 0x2 +#define FT_OPEN_PATHNAME 0x4 +#define FT_OPEN_DRIVER 0x8 +#define FT_OPEN_PARAMS 0x10 + +#define ft_open_memory FT_OPEN_MEMORY /* deprecated */ +#define ft_open_stream FT_OPEN_STREAM /* deprecated */ +#define ft_open_pathname FT_OPEN_PATHNAME /* deprecated */ +#define ft_open_driver FT_OPEN_DRIVER /* deprecated */ +#define ft_open_params FT_OPEN_PARAMS /* deprecated */ + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_Parameter */ + /* */ + /* <Description> */ + /* A simple structure used to pass more or less generic parameters to */ + /* @FT_Open_Face. */ + /* */ + /* <Fields> */ + /* tag :: A four-byte identification tag. */ + /* */ + /* data :: A pointer to the parameter data. */ + /* */ + /* <Note> */ + /* The ID and function of parameters are driver-specific. See the */ + /* various FT_PARAM_TAG_XXX flags for more information. */ + /* */ + typedef struct FT_Parameter_ + { + FT_ULong tag; + FT_Pointer data; + + } FT_Parameter; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_Open_Args */ + /* */ + /* <Description> */ + /* A structure used to indicate how to open a new font file or */ + /* stream. A pointer to such a structure can be used as a parameter */ + /* for the functions @FT_Open_Face and @FT_Attach_Stream. */ + /* */ + /* <Fields> */ + /* flags :: A set of bit flags indicating how to use the */ + /* structure. */ + /* */ + /* memory_base :: The first byte of the file in memory. */ + /* */ + /* memory_size :: The size in bytes of the file in memory. */ + /* */ + /* pathname :: A pointer to an 8-bit file pathname. */ + /* */ + /* stream :: A handle to a source stream object. */ + /* */ + /* driver :: This field is exclusively used by @FT_Open_Face; */ + /* it simply specifies the font driver to use to open */ + /* the face. If set to~0, FreeType tries to load the */ + /* face with each one of the drivers in its list. */ + /* */ + /* num_params :: The number of extra parameters. */ + /* */ + /* params :: Extra parameters passed to the font driver when */ + /* opening a new face. */ + /* */ + /* <Note> */ + /* The stream type is determined by the contents of `flags' which */ + /* are tested in the following order by @FT_Open_Face: */ + /* */ + /* If the `FT_OPEN_MEMORY' bit is set, assume that this is a */ + /* memory file of `memory_size' bytes, located at `memory_address'. */ + /* The data are are not copied, and the client is responsible for */ + /* releasing and destroying them _after_ the corresponding call to */ + /* @FT_Done_Face. */ + /* */ + /* Otherwise, if the `FT_OPEN_STREAM' bit is set, assume that a */ + /* custom input stream `stream' is used. */ + /* */ + /* Otherwise, if the `FT_OPEN_PATHNAME' bit is set, assume that this */ + /* is a normal file and use `pathname' to open it. */ + /* */ + /* If the `FT_OPEN_DRIVER' bit is set, @FT_Open_Face only tries to */ + /* open the file with the driver whose handler is in `driver'. */ + /* */ + /* If the `FT_OPEN_PARAMS' bit is set, the parameters given by */ + /* `num_params' and `params' is used. They are ignored otherwise. */ + /* */ + /* Ideally, both the `pathname' and `params' fields should be tagged */ + /* as `const'; this is missing for API backwards compatibility. In */ + /* other words, applications should treat them as read-only. */ + /* */ + typedef struct FT_Open_Args_ + { + FT_UInt flags; + const FT_Byte* memory_base; + FT_Long memory_size; + FT_String* pathname; + FT_Stream stream; + FT_Module driver; + FT_Int num_params; + FT_Parameter* params; + + } FT_Open_Args; + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_New_Face */ + /* */ + /* <Description> */ + /* This function calls @FT_Open_Face to open a font by its pathname. */ + /* */ + /* <InOut> */ + /* library :: A handle to the library resource. */ + /* */ + /* <Input> */ + /* pathname :: A path to the font file. */ + /* */ + /* face_index :: The index of the face within the font. The first */ + /* face has index~0. */ + /* */ + /* <Output> */ + /* aface :: A handle to a new face object. If `face_index' is */ + /* greater than or equal to zero, it must be non-NULL. */ + /* See @FT_Open_Face for more details. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + FT_EXPORT( FT_Error ) + FT_New_Face( FT_Library library, + const char* filepathname, + FT_Long face_index, + FT_Face *aface ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_New_Memory_Face */ + /* */ + /* <Description> */ + /* This function calls @FT_Open_Face to open a font which has been */ + /* loaded into memory. */ + /* */ + /* <InOut> */ + /* library :: A handle to the library resource. */ + /* */ + /* <Input> */ + /* file_base :: A pointer to the beginning of the font data. */ + /* */ + /* file_size :: The size of the memory chunk used by the font data. */ + /* */ + /* face_index :: The index of the face within the font. The first */ + /* face has index~0. */ + /* */ + /* <Output> */ + /* aface :: A handle to a new face object. If `face_index' is */ + /* greater than or equal to zero, it must be non-NULL. */ + /* See @FT_Open_Face for more details. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* You must not deallocate the memory before calling @FT_Done_Face. */ + /* */ + FT_EXPORT( FT_Error ) + FT_New_Memory_Face( FT_Library library, + const FT_Byte* file_base, + FT_Long file_size, + FT_Long face_index, + FT_Face *aface ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Open_Face */ + /* */ + /* <Description> */ + /* Create a face object from a given resource described by */ + /* @FT_Open_Args. */ + /* */ + /* <InOut> */ + /* library :: A handle to the library resource. */ + /* */ + /* <Input> */ + /* args :: A pointer to an `FT_Open_Args' structure which must */ + /* be filled by the caller. */ + /* */ + /* face_index :: The index of the face within the font. The first */ + /* face has index~0. */ + /* */ + /* <Output> */ + /* aface :: A handle to a new face object. If `face_index' is */ + /* greater than or equal to zero, it must be non-NULL. */ + /* See note below. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* Unlike FreeType 1.x, this function automatically creates a glyph */ + /* slot for the face object which can be accessed directly through */ + /* `face->glyph'. */ + /* */ + /* FT_Open_Face can be used to quickly check whether the font */ + /* format of a given font resource is supported by FreeType. If the */ + /* `face_index' field is negative, the function's return value is~0 */ + /* if the font format is recognized, or non-zero otherwise; */ + /* the function returns a more or less empty face handle in `*aface' */ + /* (if `aface' isn't NULL). The only useful field in this special */ + /* case is `face->num_faces' which gives the number of faces within */ + /* the font file. After examination, the returned @FT_Face structure */ + /* should be deallocated with a call to @FT_Done_Face. */ + /* */ + /* Each new face object created with this function also owns a */ + /* default @FT_Size object, accessible as `face->size'. */ + /* */ + /* One @FT_Library instance can have multiple face objects, this is, */ + /* @FT_Open_Face and its siblings can be called multiple times using */ + /* the same `library' argument. */ + /* */ + /* See the discussion of reference counters in the description of */ + /* @FT_Reference_Face. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Open_Face( FT_Library library, + const FT_Open_Args* args, + FT_Long face_index, + FT_Face *aface ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Attach_File */ + /* */ + /* <Description> */ + /* This function calls @FT_Attach_Stream to attach a file. */ + /* */ + /* <InOut> */ + /* face :: The target face object. */ + /* */ + /* <Input> */ + /* filepathname :: The pathname. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Attach_File( FT_Face face, + const char* filepathname ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Attach_Stream */ + /* */ + /* <Description> */ + /* `Attach' data to a face object. Normally, this is used to read */ + /* additional information for the face object. For example, you can */ + /* attach an AFM file that comes with a Type~1 font to get the */ + /* kerning values and other metrics. */ + /* */ + /* <InOut> */ + /* face :: The target face object. */ + /* */ + /* <Input> */ + /* parameters :: A pointer to @FT_Open_Args which must be filled by */ + /* the caller. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* The meaning of the `attach' (i.e., what really happens when the */ + /* new file is read) is not fixed by FreeType itself. It really */ + /* depends on the font format (and thus the font driver). */ + /* */ + /* Client applications are expected to know what they are doing */ + /* when invoking this function. Most drivers simply do not implement */ + /* file attachments. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Attach_Stream( FT_Face face, + FT_Open_Args* parameters ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Reference_Face */ + /* */ + /* <Description> */ + /* A counter gets initialized to~1 at the time an @FT_Face structure */ + /* is created. This function increments the counter. @FT_Done_Face */ + /* then only destroys a face if the counter is~1, otherwise it simply */ + /* decrements the counter. */ + /* */ + /* This function helps in managing life-cycles of structures which */ + /* reference @FT_Face objects. */ + /* */ + /* <Input> */ + /* face :: A handle to a target face object. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Since> */ + /* 2.4.2 */ + /* */ + FT_EXPORT( FT_Error ) + FT_Reference_Face( FT_Face face ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Done_Face */ + /* */ + /* <Description> */ + /* Discard a given face object, as well as all of its child slots and */ + /* sizes. */ + /* */ + /* <Input> */ + /* face :: A handle to a target face object. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* See the discussion of reference counters in the description of */ + /* @FT_Reference_Face. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Done_Face( FT_Face face ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Select_Size */ + /* */ + /* <Description> */ + /* Select a bitmap strike. */ + /* */ + /* <InOut> */ + /* face :: A handle to a target face object. */ + /* */ + /* <Input> */ + /* strike_index :: The index of the bitmap strike in the */ + /* `available_sizes' field of @FT_FaceRec structure. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Select_Size( FT_Face face, + FT_Int strike_index ); + + + /*************************************************************************/ + /* */ + /* <Enum> */ + /* FT_Size_Request_Type */ + /* */ + /* <Description> */ + /* An enumeration type that lists the supported size request types. */ + /* */ + /* <Values> */ + /* FT_SIZE_REQUEST_TYPE_NOMINAL :: */ + /* The nominal size. The `units_per_EM' field of @FT_FaceRec is */ + /* used to determine both scaling values. */ + /* */ + /* FT_SIZE_REQUEST_TYPE_REAL_DIM :: */ + /* The real dimension. The sum of the the `ascender' and (minus */ + /* of) the `descender' fields of @FT_FaceRec are used to determine */ + /* both scaling values. */ + /* */ + /* FT_SIZE_REQUEST_TYPE_BBOX :: */ + /* The font bounding box. The width and height of the `bbox' field */ + /* of @FT_FaceRec are used to determine the horizontal and vertical */ + /* scaling value, respectively. */ + /* */ + /* FT_SIZE_REQUEST_TYPE_CELL :: */ + /* The `max_advance_width' field of @FT_FaceRec is used to */ + /* determine the horizontal scaling value; the vertical scaling */ + /* value is determined the same way as */ + /* @FT_SIZE_REQUEST_TYPE_REAL_DIM does. Finally, both scaling */ + /* values are set to the smaller one. This type is useful if you */ + /* want to specify the font size for, say, a window of a given */ + /* dimension and 80x24 cells. */ + /* */ + /* FT_SIZE_REQUEST_TYPE_SCALES :: */ + /* Specify the scaling values directly. */ + /* */ + /* <Note> */ + /* The above descriptions only apply to scalable formats. For bitmap */ + /* formats, the behaviour is up to the driver. */ + /* */ + /* See the note section of @FT_Size_Metrics if you wonder how size */ + /* requesting relates to scaling values. */ + /* */ + typedef enum FT_Size_Request_Type_ + { + FT_SIZE_REQUEST_TYPE_NOMINAL, + FT_SIZE_REQUEST_TYPE_REAL_DIM, + FT_SIZE_REQUEST_TYPE_BBOX, + FT_SIZE_REQUEST_TYPE_CELL, + FT_SIZE_REQUEST_TYPE_SCALES, + + FT_SIZE_REQUEST_TYPE_MAX + + } FT_Size_Request_Type; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_Size_RequestRec */ + /* */ + /* <Description> */ + /* A structure used to model a size request. */ + /* */ + /* <Fields> */ + /* type :: See @FT_Size_Request_Type. */ + /* */ + /* width :: The desired width. */ + /* */ + /* height :: The desired height. */ + /* */ + /* horiResolution :: The horizontal resolution. If set to zero, */ + /* `width' is treated as a 26.6 fractional pixel */ + /* value. */ + /* */ + /* vertResolution :: The vertical resolution. If set to zero, */ + /* `height' is treated as a 26.6 fractional pixel */ + /* value. */ + /* */ + /* <Note> */ + /* If `width' is zero, then the horizontal scaling value is set equal */ + /* to the vertical scaling value, and vice versa. */ + /* */ + typedef struct FT_Size_RequestRec_ + { + FT_Size_Request_Type type; + FT_Long width; + FT_Long height; + FT_UInt horiResolution; + FT_UInt vertResolution; + + } FT_Size_RequestRec; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_Size_Request */ + /* */ + /* <Description> */ + /* A handle to a size request structure. */ + /* */ + typedef struct FT_Size_RequestRec_ *FT_Size_Request; + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Request_Size */ + /* */ + /* <Description> */ + /* Resize the scale of the active @FT_Size object in a face. */ + /* */ + /* <InOut> */ + /* face :: A handle to a target face object. */ + /* */ + /* <Input> */ + /* req :: A pointer to a @FT_Size_RequestRec. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* Although drivers may select the bitmap strike matching the */ + /* request, you should not rely on this if you intend to select a */ + /* particular bitmap strike. Use @FT_Select_Size instead in that */ + /* case. */ + /* */ + /* The relation between the requested size and the resulting glyph */ + /* size is dependent entirely on how the size is defined in the */ + /* source face. The font designer chooses the final size of each */ + /* glyph relative to this size. For more information refer to */ + /* `http://www.freetype.org/freetype2/docs/glyphs/glyphs-2.html' */ + /* */ + FT_EXPORT( FT_Error ) + FT_Request_Size( FT_Face face, + FT_Size_Request req ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Set_Char_Size */ + /* */ + /* <Description> */ + /* This function calls @FT_Request_Size to request the nominal size */ + /* (in points). */ + /* */ + /* <InOut> */ + /* face :: A handle to a target face object. */ + /* */ + /* <Input> */ + /* char_width :: The nominal width, in 26.6 fractional points. */ + /* */ + /* char_height :: The nominal height, in 26.6 fractional points. */ + /* */ + /* horz_resolution :: The horizontal resolution in dpi. */ + /* */ + /* vert_resolution :: The vertical resolution in dpi. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* If either the character width or height is zero, it is set equal */ + /* to the other value. */ + /* */ + /* If either the horizontal or vertical resolution is zero, it is set */ + /* equal to the other value. */ + /* */ + /* A character width or height smaller than 1pt is set to 1pt; if */ + /* both resolution values are zero, they are set to 72dpi. */ + /* */ + /* Don't use this function if you are using the FreeType cache API. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Set_Char_Size( FT_Face face, + FT_F26Dot6 char_width, + FT_F26Dot6 char_height, + FT_UInt horz_resolution, + FT_UInt vert_resolution ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Set_Pixel_Sizes */ + /* */ + /* <Description> */ + /* This function calls @FT_Request_Size to request the nominal size */ + /* (in pixels). */ + /* */ + /* <InOut> */ + /* face :: A handle to the target face object. */ + /* */ + /* <Input> */ + /* pixel_width :: The nominal width, in pixels. */ + /* */ + /* pixel_height :: The nominal height, in pixels. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* You should not rely on the resulting glyphs matching, or being */ + /* constrained, to this pixel size. Refer to @FT_Request_Size to */ + /* understand how requested sizes relate to actual sizes. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Set_Pixel_Sizes( FT_Face face, + FT_UInt pixel_width, + FT_UInt pixel_height ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Load_Glyph */ + /* */ + /* <Description> */ + /* A function used to load a single glyph into the glyph slot of a */ + /* face object. */ + /* */ + /* <InOut> */ + /* face :: A handle to the target face object where the glyph */ + /* is loaded. */ + /* */ + /* <Input> */ + /* glyph_index :: The index of the glyph in the font file. For */ + /* CID-keyed fonts (either in PS or in CFF format) */ + /* this argument specifies the CID value. */ + /* */ + /* load_flags :: A flag indicating what to load for this glyph. The */ + /* @FT_LOAD_XXX constants can be used to control the */ + /* glyph loading process (e.g., whether the outline */ + /* should be scaled, whether to load bitmaps or not, */ + /* whether to hint the outline, etc). */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* The loaded glyph may be transformed. See @FT_Set_Transform for */ + /* the details. */ + /* */ + /* For subsetted CID-keyed fonts, `FT_Err_Invalid_Argument' is */ + /* returned for invalid CID values (this is, for CID values which */ + /* don't have a corresponding glyph in the font). See the discussion */ + /* of the @FT_FACE_FLAG_CID_KEYED flag for more details. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Load_Glyph( FT_Face face, + FT_UInt glyph_index, + FT_Int32 load_flags ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Load_Char */ + /* */ + /* <Description> */ + /* A function used to load a single glyph into the glyph slot of a */ + /* face object, according to its character code. */ + /* */ + /* <InOut> */ + /* face :: A handle to a target face object where the glyph */ + /* is loaded. */ + /* */ + /* <Input> */ + /* char_code :: The glyph's character code, according to the */ + /* current charmap used in the face. */ + /* */ + /* load_flags :: A flag indicating what to load for this glyph. The */ + /* @FT_LOAD_XXX constants can be used to control the */ + /* glyph loading process (e.g., whether the outline */ + /* should be scaled, whether to load bitmaps or not, */ + /* whether to hint the outline, etc). */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* This function simply calls @FT_Get_Char_Index and @FT_Load_Glyph. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Load_Char( FT_Face face, + FT_ULong char_code, + FT_Int32 load_flags ); + + + /************************************************************************* + * + * @enum: + * FT_LOAD_XXX + * + * @description: + * A list of bit-field constants used with @FT_Load_Glyph to indicate + * what kind of operations to perform during glyph loading. + * + * @values: + * FT_LOAD_DEFAULT :: + * Corresponding to~0, this value is used as the default glyph load + * operation. In this case, the following happens: + * + * 1. FreeType looks for a bitmap for the glyph corresponding to the + * face's current size. If one is found, the function returns. + * The bitmap data can be accessed from the glyph slot (see note + * below). + * + * 2. If no embedded bitmap is searched or found, FreeType looks for a + * scalable outline. If one is found, it is loaded from the font + * file, scaled to device pixels, then `hinted' to the pixel grid + * in order to optimize it. The outline data can be accessed from + * the glyph slot (see note below). + * + * Note that by default, the glyph loader doesn't render outlines into + * bitmaps. The following flags are used to modify this default + * behaviour to more specific and useful cases. + * + * FT_LOAD_NO_SCALE :: + * Don't scale the loaded outline glyph but keep it in font units. + * + * This flag implies @FT_LOAD_NO_HINTING and @FT_LOAD_NO_BITMAP, and + * unsets @FT_LOAD_RENDER. + * + * If the font is `tricky' (see @FT_FACE_FLAG_TRICKY for more), using + * FT_LOAD_NO_SCALE usually yields meaningless outlines because the + * subglyphs must be scaled and positioned with hinting instructions. + * This can be solved by loading the font without FT_LOAD_NO_SCALE and + * setting the character size to `font->units_per_EM'. + * + * FT_LOAD_NO_HINTING :: + * Disable hinting. This generally generates `blurrier' bitmap glyphs + * when the glyph are rendered in any of the anti-aliased modes. See + * also the note below. + * + * This flag is implied by @FT_LOAD_NO_SCALE. + * + * FT_LOAD_RENDER :: + * Call @FT_Render_Glyph after the glyph is loaded. By default, the + * glyph is rendered in @FT_RENDER_MODE_NORMAL mode. This can be + * overridden by @FT_LOAD_TARGET_XXX or @FT_LOAD_MONOCHROME. + * + * This flag is unset by @FT_LOAD_NO_SCALE. + * + * FT_LOAD_NO_BITMAP :: + * Ignore bitmap strikes when loading. Bitmap-only fonts ignore this + * flag. + * + * @FT_LOAD_NO_SCALE always sets this flag. + * + * FT_LOAD_VERTICAL_LAYOUT :: + * Load the glyph for vertical text layout. In particular, the + * `advance' value in the @FT_GlyphSlotRec structure is set to the + * `vertAdvance' value of the `metrics' field. + * + * In case @FT_HAS_VERTICAL doesn't return true, you shouldn't use + * this flag currently. Reason is that in this case vertical metrics + * get synthesized, and those values are not always consistent across + * various font formats. + * + * FT_LOAD_FORCE_AUTOHINT :: + * Indicates that the auto-hinter is preferred over the font's native + * hinter. See also the note below. + * + * FT_LOAD_CROP_BITMAP :: + * Indicates that the font driver should crop the loaded bitmap glyph + * (i.e., remove all space around its black bits). Not all drivers + * implement this. + * + * FT_LOAD_PEDANTIC :: + * Indicates that the font driver should perform pedantic verifications + * during glyph loading. This is mostly used to detect broken glyphs + * in fonts. By default, FreeType tries to handle broken fonts also. + * + * In particular, errors from the TrueType bytecode engine are not + * passed to the application if this flag is not set; this might + * result in partially hinted or distorted glyphs in case a glyph's + * bytecode is buggy. + * + * FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH :: + * Ignored. Deprecated. + * + * FT_LOAD_NO_RECURSE :: + * This flag is only used internally. It merely indicates that the + * font driver should not load composite glyphs recursively. Instead, + * it should set the `num_subglyph' and `subglyphs' values of the + * glyph slot accordingly, and set `glyph->format' to + * @FT_GLYPH_FORMAT_COMPOSITE. + * + * The description of sub-glyphs is not available to client + * applications for now. + * + * This flag implies @FT_LOAD_NO_SCALE and @FT_LOAD_IGNORE_TRANSFORM. + * + * FT_LOAD_IGNORE_TRANSFORM :: + * Indicates that the transform matrix set by @FT_Set_Transform should + * be ignored. + * + * FT_LOAD_MONOCHROME :: + * This flag is used with @FT_LOAD_RENDER to indicate that you want to + * render an outline glyph to a 1-bit monochrome bitmap glyph, with + * 8~pixels packed into each byte of the bitmap data. + * + * Note that this has no effect on the hinting algorithm used. You + * should rather use @FT_LOAD_TARGET_MONO so that the + * monochrome-optimized hinting algorithm is used. + * + * FT_LOAD_LINEAR_DESIGN :: + * Indicates that the `linearHoriAdvance' and `linearVertAdvance' + * fields of @FT_GlyphSlotRec should be kept in font units. See + * @FT_GlyphSlotRec for details. + * + * FT_LOAD_NO_AUTOHINT :: + * Disable auto-hinter. See also the note below. + * + * @note: + * By default, hinting is enabled and the font's native hinter (see + * @FT_FACE_FLAG_HINTER) is preferred over the auto-hinter. You can + * disable hinting by setting @FT_LOAD_NO_HINTING or change the + * precedence by setting @FT_LOAD_FORCE_AUTOHINT. You can also set + * @FT_LOAD_NO_AUTOHINT in case you don't want the auto-hinter to be + * used at all. + * + * See the description of @FT_FACE_FLAG_TRICKY for a special exception + * (affecting only a handful of Asian fonts). + * + * Besides deciding which hinter to use, you can also decide which + * hinting algorithm to use. See @FT_LOAD_TARGET_XXX for details. + * + * Note that the auto-hinter needs a valid Unicode cmap (either a native + * one or synthesized by FreeType) for producing correct results. If a + * font provides an incorrect mapping (for example, assigning the + * character code U+005A, LATIN CAPITAL LETTER Z, to a glyph depicting a + * mathematical integral sign), the auto-hinter might produce useless + * results. + * + */ +#define FT_LOAD_DEFAULT 0x0 +#define FT_LOAD_NO_SCALE ( 1L << 0 ) +#define FT_LOAD_NO_HINTING ( 1L << 1 ) +#define FT_LOAD_RENDER ( 1L << 2 ) +#define FT_LOAD_NO_BITMAP ( 1L << 3 ) +#define FT_LOAD_VERTICAL_LAYOUT ( 1L << 4 ) +#define FT_LOAD_FORCE_AUTOHINT ( 1L << 5 ) +#define FT_LOAD_CROP_BITMAP ( 1L << 6 ) +#define FT_LOAD_PEDANTIC ( 1L << 7 ) +#define FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH ( 1L << 9 ) +#define FT_LOAD_NO_RECURSE ( 1L << 10 ) +#define FT_LOAD_IGNORE_TRANSFORM ( 1L << 11 ) +#define FT_LOAD_MONOCHROME ( 1L << 12 ) +#define FT_LOAD_LINEAR_DESIGN ( 1L << 13 ) +#define FT_LOAD_NO_AUTOHINT ( 1L << 15 ) + + /* */ + + /* used internally only by certain font drivers! */ +#define FT_LOAD_ADVANCE_ONLY ( 1L << 8 ) +#define FT_LOAD_SBITS_ONLY ( 1L << 14 ) + + + /************************************************************************** + * + * @enum: + * FT_LOAD_TARGET_XXX + * + * @description: + * A list of values that are used to select a specific hinting algorithm + * to use by the hinter. You should OR one of these values to your + * `load_flags' when calling @FT_Load_Glyph. + * + * Note that font's native hinters may ignore the hinting algorithm you + * have specified (e.g., the TrueType bytecode interpreter). You can set + * @FT_LOAD_FORCE_AUTOHINT to ensure that the auto-hinter is used. + * + * Also note that @FT_LOAD_TARGET_LIGHT is an exception, in that it + * always implies @FT_LOAD_FORCE_AUTOHINT. + * + * @values: + * FT_LOAD_TARGET_NORMAL :: + * This corresponds to the default hinting algorithm, optimized for + * standard gray-level rendering. For monochrome output, use + * @FT_LOAD_TARGET_MONO instead. + * + * FT_LOAD_TARGET_LIGHT :: + * A lighter hinting algorithm for non-monochrome modes. Many + * generated glyphs are more fuzzy but better resemble its original + * shape. A bit like rendering on Mac OS~X. + * + * As a special exception, this target implies @FT_LOAD_FORCE_AUTOHINT. + * + * FT_LOAD_TARGET_MONO :: + * Strong hinting algorithm that should only be used for monochrome + * output. The result is probably unpleasant if the glyph is rendered + * in non-monochrome modes. + * + * FT_LOAD_TARGET_LCD :: + * A variant of @FT_LOAD_TARGET_NORMAL optimized for horizontally + * decimated LCD displays. + * + * FT_LOAD_TARGET_LCD_V :: + * A variant of @FT_LOAD_TARGET_NORMAL optimized for vertically + * decimated LCD displays. + * + * @note: + * You should use only _one_ of the FT_LOAD_TARGET_XXX values in your + * `load_flags'. They can't be ORed. + * + * If @FT_LOAD_RENDER is also set, the glyph is rendered in the + * corresponding mode (i.e., the mode which matches the used algorithm + * best). An exeption is FT_LOAD_TARGET_MONO since it implies + * @FT_LOAD_MONOCHROME. + * + * You can use a hinting algorithm that doesn't correspond to the same + * rendering mode. As an example, it is possible to use the `light' + * hinting algorithm and have the results rendered in horizontal LCD + * pixel mode, with code like + * + * { + * FT_Load_Glyph( face, glyph_index, + * load_flags | FT_LOAD_TARGET_LIGHT ); + * + * FT_Render_Glyph( face->glyph, FT_RENDER_MODE_LCD ); + * } + * + */ +#define FT_LOAD_TARGET_( x ) ( (FT_Int32)( (x) & 15 ) << 16 ) + +#define FT_LOAD_TARGET_NORMAL FT_LOAD_TARGET_( FT_RENDER_MODE_NORMAL ) +#define FT_LOAD_TARGET_LIGHT FT_LOAD_TARGET_( FT_RENDER_MODE_LIGHT ) +#define FT_LOAD_TARGET_MONO FT_LOAD_TARGET_( FT_RENDER_MODE_MONO ) +#define FT_LOAD_TARGET_LCD FT_LOAD_TARGET_( FT_RENDER_MODE_LCD ) +#define FT_LOAD_TARGET_LCD_V FT_LOAD_TARGET_( FT_RENDER_MODE_LCD_V ) + + + /************************************************************************** + * + * @macro: + * FT_LOAD_TARGET_MODE + * + * @description: + * Return the @FT_Render_Mode corresponding to a given + * @FT_LOAD_TARGET_XXX value. + * + */ +#define FT_LOAD_TARGET_MODE( x ) ( (FT_Render_Mode)( ( (x) >> 16 ) & 15 ) ) + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Set_Transform */ + /* */ + /* <Description> */ + /* A function used to set the transformation that is applied to glyph */ + /* images when they are loaded into a glyph slot through */ + /* @FT_Load_Glyph. */ + /* */ + /* <InOut> */ + /* face :: A handle to the source face object. */ + /* */ + /* <Input> */ + /* matrix :: A pointer to the transformation's 2x2 matrix. Use~0 for */ + /* the identity matrix. */ + /* delta :: A pointer to the translation vector. Use~0 for the null */ + /* vector. */ + /* */ + /* <Note> */ + /* The transformation is only applied to scalable image formats after */ + /* the glyph has been loaded. It means that hinting is unaltered by */ + /* the transformation and is performed on the character size given in */ + /* the last call to @FT_Set_Char_Size or @FT_Set_Pixel_Sizes. */ + /* */ + /* Note that this also transforms the `face.glyph.advance' field, but */ + /* *not* the values in `face.glyph.metrics'. */ + /* */ + FT_EXPORT( void ) + FT_Set_Transform( FT_Face face, + FT_Matrix* matrix, + FT_Vector* delta ); + + + /*************************************************************************/ + /* */ + /* <Enum> */ + /* FT_Render_Mode */ + /* */ + /* <Description> */ + /* An enumeration type that lists the render modes supported by */ + /* FreeType~2. Each mode corresponds to a specific type of scanline */ + /* conversion performed on the outline. */ + /* */ + /* For bitmap fonts and embedded bitmaps the `bitmap->pixel_mode' */ + /* field in the @FT_GlyphSlotRec structure gives the format of the */ + /* returned bitmap. */ + /* */ + /* All modes except @FT_RENDER_MODE_MONO use 256 levels of opacity. */ + /* */ + /* <Values> */ + /* FT_RENDER_MODE_NORMAL :: */ + /* This is the default render mode; it corresponds to 8-bit */ + /* anti-aliased bitmaps. */ + /* */ + /* FT_RENDER_MODE_LIGHT :: */ + /* This is equivalent to @FT_RENDER_MODE_NORMAL. It is only */ + /* defined as a separate value because render modes are also used */ + /* indirectly to define hinting algorithm selectors. See */ + /* @FT_LOAD_TARGET_XXX for details. */ + /* */ + /* FT_RENDER_MODE_MONO :: */ + /* This mode corresponds to 1-bit bitmaps (with 2~levels of */ + /* opacity). */ + /* */ + /* FT_RENDER_MODE_LCD :: */ + /* This mode corresponds to horizontal RGB and BGR sub-pixel */ + /* displays like LCD screens. It produces 8-bit bitmaps that are */ + /* 3~times the width of the original glyph outline in pixels, and */ + /* which use the @FT_PIXEL_MODE_LCD mode. */ + /* */ + /* FT_RENDER_MODE_LCD_V :: */ + /* This mode corresponds to vertical RGB and BGR sub-pixel displays */ + /* (like PDA screens, rotated LCD displays, etc.). It produces */ + /* 8-bit bitmaps that are 3~times the height of the original */ + /* glyph outline in pixels and use the @FT_PIXEL_MODE_LCD_V mode. */ + /* */ + /* <Note> */ + /* The LCD-optimized glyph bitmaps produced by FT_Render_Glyph can be */ + /* filtered to reduce color-fringes by using @FT_Library_SetLcdFilter */ + /* (not active in the default builds). It is up to the caller to */ + /* either call @FT_Library_SetLcdFilter (if available) or do the */ + /* filtering itself. */ + /* */ + /* The selected render mode only affects vector glyphs of a font. */ + /* Embedded bitmaps often have a different pixel mode like */ + /* @FT_PIXEL_MODE_MONO. You can use @FT_Bitmap_Convert to transform */ + /* them into 8-bit pixmaps. */ + /* */ + typedef enum FT_Render_Mode_ + { + FT_RENDER_MODE_NORMAL = 0, + FT_RENDER_MODE_LIGHT, + FT_RENDER_MODE_MONO, + FT_RENDER_MODE_LCD, + FT_RENDER_MODE_LCD_V, + + FT_RENDER_MODE_MAX + + } FT_Render_Mode; + + + /*************************************************************************/ + /* */ + /* <Enum> */ + /* ft_render_mode_xxx */ + /* */ + /* <Description> */ + /* These constants are deprecated. Use the corresponding */ + /* @FT_Render_Mode values instead. */ + /* */ + /* <Values> */ + /* ft_render_mode_normal :: see @FT_RENDER_MODE_NORMAL */ + /* ft_render_mode_mono :: see @FT_RENDER_MODE_MONO */ + /* */ +#define ft_render_mode_normal FT_RENDER_MODE_NORMAL +#define ft_render_mode_mono FT_RENDER_MODE_MONO + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Render_Glyph */ + /* */ + /* <Description> */ + /* Convert a given glyph image to a bitmap. It does so by inspecting */ + /* the glyph image format, finding the relevant renderer, and */ + /* invoking it. */ + /* */ + /* <InOut> */ + /* slot :: A handle to the glyph slot containing the image to */ + /* convert. */ + /* */ + /* <Input> */ + /* render_mode :: This is the render mode used to render the glyph */ + /* image into a bitmap. See @FT_Render_Mode for a */ + /* list of possible values. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Render_Glyph( FT_GlyphSlot slot, + FT_Render_Mode render_mode ); + + + /*************************************************************************/ + /* */ + /* <Enum> */ + /* FT_Kerning_Mode */ + /* */ + /* <Description> */ + /* An enumeration used to specify which kerning values to return in */ + /* @FT_Get_Kerning. */ + /* */ + /* <Values> */ + /* FT_KERNING_DEFAULT :: Return scaled and grid-fitted kerning */ + /* distances (value is~0). */ + /* */ + /* FT_KERNING_UNFITTED :: Return scaled but un-grid-fitted kerning */ + /* distances. */ + /* */ + /* FT_KERNING_UNSCALED :: Return the kerning vector in original font */ + /* units. */ + /* */ + typedef enum FT_Kerning_Mode_ + { + FT_KERNING_DEFAULT = 0, + FT_KERNING_UNFITTED, + FT_KERNING_UNSCALED + + } FT_Kerning_Mode; + + + /*************************************************************************/ + /* */ + /* <Const> */ + /* ft_kerning_default */ + /* */ + /* <Description> */ + /* This constant is deprecated. Please use @FT_KERNING_DEFAULT */ + /* instead. */ + /* */ +#define ft_kerning_default FT_KERNING_DEFAULT + + + /*************************************************************************/ + /* */ + /* <Const> */ + /* ft_kerning_unfitted */ + /* */ + /* <Description> */ + /* This constant is deprecated. Please use @FT_KERNING_UNFITTED */ + /* instead. */ + /* */ +#define ft_kerning_unfitted FT_KERNING_UNFITTED + + + /*************************************************************************/ + /* */ + /* <Const> */ + /* ft_kerning_unscaled */ + /* */ + /* <Description> */ + /* This constant is deprecated. Please use @FT_KERNING_UNSCALED */ + /* instead. */ + /* */ +#define ft_kerning_unscaled FT_KERNING_UNSCALED + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Get_Kerning */ + /* */ + /* <Description> */ + /* Return the kerning vector between two glyphs of a same face. */ + /* */ + /* <Input> */ + /* face :: A handle to a source face object. */ + /* */ + /* left_glyph :: The index of the left glyph in the kern pair. */ + /* */ + /* right_glyph :: The index of the right glyph in the kern pair. */ + /* */ + /* kern_mode :: See @FT_Kerning_Mode for more information. */ + /* Determines the scale and dimension of the returned */ + /* kerning vector. */ + /* */ + /* <Output> */ + /* akerning :: The kerning vector. This is either in font units */ + /* or in pixels (26.6 format) for scalable formats, */ + /* and in pixels for fixed-sizes formats. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* Only horizontal layouts (left-to-right & right-to-left) are */ + /* supported by this method. Other layouts, or more sophisticated */ + /* kernings, are out of the scope of this API function -- they can be */ + /* implemented through format-specific interfaces. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Get_Kerning( FT_Face face, + FT_UInt left_glyph, + FT_UInt right_glyph, + FT_UInt kern_mode, + FT_Vector *akerning ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Get_Track_Kerning */ + /* */ + /* <Description> */ + /* Return the track kerning for a given face object at a given size. */ + /* */ + /* <Input> */ + /* face :: A handle to a source face object. */ + /* */ + /* point_size :: The point size in 16.16 fractional points. */ + /* */ + /* degree :: The degree of tightness. Increasingly negative */ + /* values represent tighter track kerning, while */ + /* increasingly positive values represent looser track */ + /* kerning. Value zero means no track kerning. */ + /* */ + /* <Output> */ + /* akerning :: The kerning in 16.16 fractional points, to be */ + /* uniformly applied between all glyphs. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* Currently, only the Type~1 font driver supports track kerning, */ + /* using data from AFM files (if attached with @FT_Attach_File or */ + /* @FT_Attach_Stream). */ + /* */ + /* Only very few AFM files come with track kerning data; please refer */ + /* to the Adobe's AFM specification for more details. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Get_Track_Kerning( FT_Face face, + FT_Fixed point_size, + FT_Int degree, + FT_Fixed* akerning ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Get_Glyph_Name */ + /* */ + /* <Description> */ + /* Retrieve the ASCII name of a given glyph in a face. This only */ + /* works for those faces where @FT_HAS_GLYPH_NAMES(face) returns~1. */ + /* */ + /* <Input> */ + /* face :: A handle to a source face object. */ + /* */ + /* glyph_index :: The glyph index. */ + /* */ + /* buffer_max :: The maximum number of bytes available in the */ + /* buffer. */ + /* */ + /* <Output> */ + /* buffer :: A pointer to a target buffer where the name is */ + /* copied to. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* An error is returned if the face doesn't provide glyph names or if */ + /* the glyph index is invalid. In all cases of failure, the first */ + /* byte of `buffer' is set to~0 to indicate an empty name. */ + /* */ + /* The glyph name is truncated to fit within the buffer if it is too */ + /* long. The returned string is always zero-terminated. */ + /* */ + /* Be aware that FreeType reorders glyph indices internally so that */ + /* glyph index~0 always corresponds to the `missing glyph' (called */ + /* `.notdef'). */ + /* */ + /* This function is not compiled within the library if the config */ + /* macro `FT_CONFIG_OPTION_NO_GLYPH_NAMES' is defined in */ + /* `include/freetype/config/ftoptions.h'. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Get_Glyph_Name( FT_Face face, + FT_UInt glyph_index, + FT_Pointer buffer, + FT_UInt buffer_max ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Get_Postscript_Name */ + /* */ + /* <Description> */ + /* Retrieve the ASCII PostScript name of a given face, if available. */ + /* This only works with PostScript and TrueType fonts. */ + /* */ + /* <Input> */ + /* face :: A handle to the source face object. */ + /* */ + /* <Return> */ + /* A pointer to the face's PostScript name. NULL if unavailable. */ + /* */ + /* <Note> */ + /* The returned pointer is owned by the face and is destroyed with */ + /* it. */ + /* */ + FT_EXPORT( const char* ) + FT_Get_Postscript_Name( FT_Face face ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Select_Charmap */ + /* */ + /* <Description> */ + /* Select a given charmap by its encoding tag (as listed in */ + /* `freetype.h'). */ + /* */ + /* <InOut> */ + /* face :: A handle to the source face object. */ + /* */ + /* <Input> */ + /* encoding :: A handle to the selected encoding. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* This function returns an error if no charmap in the face */ + /* corresponds to the encoding queried here. */ + /* */ + /* Because many fonts contain more than a single cmap for Unicode */ + /* encoding, this function has some special code to select the one */ + /* which covers Unicode best (`best' in the sense that a UCS-4 cmap */ + /* is preferred to a UCS-2 cmap). It is thus preferable to */ + /* @FT_Set_Charmap in this case. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Select_Charmap( FT_Face face, + FT_Encoding encoding ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Set_Charmap */ + /* */ + /* <Description> */ + /* Select a given charmap for character code to glyph index mapping. */ + /* */ + /* <InOut> */ + /* face :: A handle to the source face object. */ + /* */ + /* <Input> */ + /* charmap :: A handle to the selected charmap. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* This function returns an error if the charmap is not part of */ + /* the face (i.e., if it is not listed in the `face->charmaps' */ + /* table). */ + /* */ + /* It also fails if a type~14 charmap is selected. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Set_Charmap( FT_Face face, + FT_CharMap charmap ); + + + /************************************************************************* + * + * @function: + * FT_Get_Charmap_Index + * + * @description: + * Retrieve index of a given charmap. + * + * @input: + * charmap :: + * A handle to a charmap. + * + * @return: + * The index into the array of character maps within the face to which + * `charmap' belongs. If an error occurs, -1 is returned. + * + */ + FT_EXPORT( FT_Int ) + FT_Get_Charmap_Index( FT_CharMap charmap ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Get_Char_Index */ + /* */ + /* <Description> */ + /* Return the glyph index of a given character code. This function */ + /* uses a charmap object to do the mapping. */ + /* */ + /* <Input> */ + /* face :: A handle to the source face object. */ + /* */ + /* charcode :: The character code. */ + /* */ + /* <Return> */ + /* The glyph index. 0~means `undefined character code'. */ + /* */ + /* <Note> */ + /* If you use FreeType to manipulate the contents of font files */ + /* directly, be aware that the glyph index returned by this function */ + /* doesn't always correspond to the internal indices used within the */ + /* file. This is done to ensure that value~0 always corresponds to */ + /* the `missing glyph'. If the first glyph is not named `.notdef', */ + /* then for Type~1 and Type~42 fonts, `.notdef' will be moved into */ + /* the glyph ID~0 position, and whatever was there will be moved to */ + /* the position `.notdef' had. For Type~1 fonts, if there is no */ + /* `.notdef' glyph at all, then one will be created at index~0 and */ + /* whatever was there will be moved to the last index -- Type~42 */ + /* fonts are considered invalid under this condition. */ + /* */ + FT_EXPORT( FT_UInt ) + FT_Get_Char_Index( FT_Face face, + FT_ULong charcode ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Get_First_Char */ + /* */ + /* <Description> */ + /* This function is used to return the first character code in the */ + /* current charmap of a given face. It also returns the */ + /* corresponding glyph index. */ + /* */ + /* <Input> */ + /* face :: A handle to the source face object. */ + /* */ + /* <Output> */ + /* agindex :: Glyph index of first character code. 0~if charmap is */ + /* empty. */ + /* */ + /* <Return> */ + /* The charmap's first character code. */ + /* */ + /* <Note> */ + /* You should use this function with @FT_Get_Next_Char to be able to */ + /* parse all character codes available in a given charmap. The code */ + /* should look like this: */ + /* */ + /* { */ + /* FT_ULong charcode; */ + /* FT_UInt gindex; */ + /* */ + /* */ + /* charcode = FT_Get_First_Char( face, &gindex ); */ + /* while ( gindex != 0 ) */ + /* { */ + /* ... do something with (charcode,gindex) pair ... */ + /* */ + /* charcode = FT_Get_Next_Char( face, charcode, &gindex ); */ + /* } */ + /* } */ + /* */ + /* Note that `*agindex' is set to~0 if the charmap is empty. The */ + /* result itself can be~0 in two cases: if the charmap is empty or */ + /* if the value~0 is the first valid character code. */ + /* */ + FT_EXPORT( FT_ULong ) + FT_Get_First_Char( FT_Face face, + FT_UInt *agindex ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Get_Next_Char */ + /* */ + /* <Description> */ + /* This function is used to return the next character code in the */ + /* current charmap of a given face following the value `char_code', */ + /* as well as the corresponding glyph index. */ + /* */ + /* <Input> */ + /* face :: A handle to the source face object. */ + /* char_code :: The starting character code. */ + /* */ + /* <Output> */ + /* agindex :: Glyph index of next character code. 0~if charmap */ + /* is empty. */ + /* */ + /* <Return> */ + /* The charmap's next character code. */ + /* */ + /* <Note> */ + /* You should use this function with @FT_Get_First_Char to walk */ + /* over all character codes available in a given charmap. See the */ + /* note for this function for a simple code example. */ + /* */ + /* Note that `*agindex' is set to~0 when there are no more codes in */ + /* the charmap. */ + /* */ + FT_EXPORT( FT_ULong ) + FT_Get_Next_Char( FT_Face face, + FT_ULong char_code, + FT_UInt *agindex ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Get_Name_Index */ + /* */ + /* <Description> */ + /* Return the glyph index of a given glyph name. This function uses */ + /* driver specific objects to do the translation. */ + /* */ + /* <Input> */ + /* face :: A handle to the source face object. */ + /* */ + /* glyph_name :: The glyph name. */ + /* */ + /* <Return> */ + /* The glyph index. 0~means `undefined character code'. */ + /* */ + FT_EXPORT( FT_UInt ) + FT_Get_Name_Index( FT_Face face, + FT_String* glyph_name ); + + + /************************************************************************* + * + * @macro: + * FT_SUBGLYPH_FLAG_XXX + * + * @description: + * A list of constants used to describe subglyphs. Please refer to the + * TrueType specification for the meaning of the various flags. + * + * @values: + * FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS :: + * FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES :: + * FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID :: + * FT_SUBGLYPH_FLAG_SCALE :: + * FT_SUBGLYPH_FLAG_XY_SCALE :: + * FT_SUBGLYPH_FLAG_2X2 :: + * FT_SUBGLYPH_FLAG_USE_MY_METRICS :: + * + */ +#define FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS 1 +#define FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES 2 +#define FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID 4 +#define FT_SUBGLYPH_FLAG_SCALE 8 +#define FT_SUBGLYPH_FLAG_XY_SCALE 0x40 +#define FT_SUBGLYPH_FLAG_2X2 0x80 +#define FT_SUBGLYPH_FLAG_USE_MY_METRICS 0x200 + + + /************************************************************************* + * + * @func: + * FT_Get_SubGlyph_Info + * + * @description: + * Retrieve a description of a given subglyph. Only use it if + * `glyph->format' is @FT_GLYPH_FORMAT_COMPOSITE; an error is + * returned otherwise. + * + * @input: + * glyph :: + * The source glyph slot. + * + * sub_index :: + * The index of the subglyph. Must be less than + * `glyph->num_subglyphs'. + * + * @output: + * p_index :: + * The glyph index of the subglyph. + * + * p_flags :: + * The subglyph flags, see @FT_SUBGLYPH_FLAG_XXX. + * + * p_arg1 :: + * The subglyph's first argument (if any). + * + * p_arg2 :: + * The subglyph's second argument (if any). + * + * p_transform :: + * The subglyph transformation (if any). + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The values of `*p_arg1', `*p_arg2', and `*p_transform' must be + * interpreted depending on the flags returned in `*p_flags'. See the + * TrueType specification for details. + * + */ + FT_EXPORT( FT_Error ) + FT_Get_SubGlyph_Info( FT_GlyphSlot glyph, + FT_UInt sub_index, + FT_Int *p_index, + FT_UInt *p_flags, + FT_Int *p_arg1, + FT_Int *p_arg2, + FT_Matrix *p_transform ); + + + /*************************************************************************/ + /* */ + /* <Enum> */ + /* FT_FSTYPE_XXX */ + /* */ + /* <Description> */ + /* A list of bit flags used in the `fsType' field of the OS/2 table */ + /* in a TrueType or OpenType font and the `FSType' entry in a */ + /* PostScript font. These bit flags are returned by */ + /* @FT_Get_FSType_Flags; they inform client applications of embedding */ + /* and subsetting restrictions associated with a font. */ + /* */ + /* See http://www.adobe.com/devnet/acrobat/pdfs/FontPolicies.pdf for */ + /* more details. */ + /* */ + /* <Values> */ + /* FT_FSTYPE_INSTALLABLE_EMBEDDING :: */ + /* Fonts with no fsType bit set may be embedded and permanently */ + /* installed on the remote system by an application. */ + /* */ + /* FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING :: */ + /* Fonts that have only this bit set must not be modified, embedded */ + /* or exchanged in any manner without first obtaining permission of */ + /* the font software copyright owner. */ + /* */ + /* FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING :: */ + /* If this bit is set, the font may be embedded and temporarily */ + /* loaded on the remote system. Documents containing Preview & */ + /* Print fonts must be opened `read-only'; no edits can be applied */ + /* to the document. */ + /* */ + /* FT_FSTYPE_EDITABLE_EMBEDDING :: */ + /* If this bit is set, the font may be embedded but must only be */ + /* installed temporarily on other systems. In contrast to Preview */ + /* & Print fonts, documents containing editable fonts may be opened */ + /* for reading, editing is permitted, and changes may be saved. */ + /* */ + /* FT_FSTYPE_NO_SUBSETTING :: */ + /* If this bit is set, the font may not be subsetted prior to */ + /* embedding. */ + /* */ + /* FT_FSTYPE_BITMAP_EMBEDDING_ONLY :: */ + /* If this bit is set, only bitmaps contained in the font may be */ + /* embedded; no outline data may be embedded. If there are no */ + /* bitmaps available in the font, then the font is unembeddable. */ + /* */ + /* <Note> */ + /* While the fsType flags can indicate that a font may be embedded, a */ + /* license with the font vendor may be separately required to use the */ + /* font in this way. */ + /* */ +#define FT_FSTYPE_INSTALLABLE_EMBEDDING 0x0000 +#define FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING 0x0002 +#define FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING 0x0004 +#define FT_FSTYPE_EDITABLE_EMBEDDING 0x0008 +#define FT_FSTYPE_NO_SUBSETTING 0x0100 +#define FT_FSTYPE_BITMAP_EMBEDDING_ONLY 0x0200 + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Get_FSType_Flags */ + /* */ + /* <Description> */ + /* Return the fsType flags for a font. */ + /* */ + /* <Input> */ + /* face :: A handle to the source face object. */ + /* */ + /* <Return> */ + /* The fsType flags, @FT_FSTYPE_XXX. */ + /* */ + /* <Note> */ + /* Use this function rather than directly reading the `fs_type' field */ + /* in the @PS_FontInfoRec structure which is only guaranteed to */ + /* return the correct results for Type~1 fonts. */ + /* */ + /* <Since> */ + /* 2.3.8 */ + /* */ + FT_EXPORT( FT_UShort ) + FT_Get_FSType_Flags( FT_Face face ); + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* glyph_variants */ + /* */ + /* <Title> */ + /* Glyph Variants */ + /* */ + /* <Abstract> */ + /* The FreeType~2 interface to Unicode Ideographic Variation */ + /* Sequences (IVS), using the SFNT cmap format~14. */ + /* */ + /* <Description> */ + /* Many CJK characters have variant forms. They are a sort of grey */ + /* area somewhere between being totally irrelevant and semantically */ + /* distinct; for this reason, the Unicode consortium decided to */ + /* introduce Ideographic Variation Sequences (IVS), consisting of a */ + /* Unicode base character and one of 240 variant selectors */ + /* (U+E0100-U+E01EF), instead of further extending the already huge */ + /* code range for CJK characters. */ + /* */ + /* An IVS is registered and unique; for further details please refer */ + /* to Unicode Technical Standard #37, the Ideographic Variation */ + /* Database: */ + /* */ + /* http://www.unicode.org/reports/tr37/ */ + /* */ + /* To date (November 2012), the character with the most variants is */ + /* U+9089, having 31 such IVS. */ + /* */ + /* Adobe and MS decided to support IVS with a new cmap subtable */ + /* (format~14). It is an odd subtable because it is not a mapping of */ + /* input code points to glyphs, but contains lists of all variants */ + /* supported by the font. */ + /* */ + /* A variant may be either `default' or `non-default'. A default */ + /* variant is the one you will get for that code point if you look it */ + /* up in the standard Unicode cmap. A non-default variant is a */ + /* different glyph. */ + /* */ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Face_GetCharVariantIndex */ + /* */ + /* <Description> */ + /* Return the glyph index of a given character code as modified by */ + /* the variation selector. */ + /* */ + /* <Input> */ + /* face :: */ + /* A handle to the source face object. */ + /* */ + /* charcode :: */ + /* The character code point in Unicode. */ + /* */ + /* variantSelector :: */ + /* The Unicode code point of the variation selector. */ + /* */ + /* <Return> */ + /* The glyph index. 0~means either `undefined character code', or */ + /* `undefined selector code', or `no variation selector cmap */ + /* subtable', or `current CharMap is not Unicode'. */ + /* */ + /* <Note> */ + /* If you use FreeType to manipulate the contents of font files */ + /* directly, be aware that the glyph index returned by this function */ + /* doesn't always correspond to the internal indices used within */ + /* the file. This is done to ensure that value~0 always corresponds */ + /* to the `missing glyph'. */ + /* */ + /* This function is only meaningful if */ + /* a) the font has a variation selector cmap sub table, */ + /* and */ + /* b) the current charmap has a Unicode encoding. */ + /* */ + /* <Since> */ + /* 2.3.6 */ + /* */ + FT_EXPORT( FT_UInt ) + FT_Face_GetCharVariantIndex( FT_Face face, + FT_ULong charcode, + FT_ULong variantSelector ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Face_GetCharVariantIsDefault */ + /* */ + /* <Description> */ + /* Check whether this variant of this Unicode character is the one to */ + /* be found in the `cmap'. */ + /* */ + /* <Input> */ + /* face :: */ + /* A handle to the source face object. */ + /* */ + /* charcode :: */ + /* The character codepoint in Unicode. */ + /* */ + /* variantSelector :: */ + /* The Unicode codepoint of the variation selector. */ + /* */ + /* <Return> */ + /* 1~if found in the standard (Unicode) cmap, 0~if found in the */ + /* variation selector cmap, or -1 if it is not a variant. */ + /* */ + /* <Note> */ + /* This function is only meaningful if the font has a variation */ + /* selector cmap subtable. */ + /* */ + /* <Since> */ + /* 2.3.6 */ + /* */ + FT_EXPORT( FT_Int ) + FT_Face_GetCharVariantIsDefault( FT_Face face, + FT_ULong charcode, + FT_ULong variantSelector ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Face_GetVariantSelectors */ + /* */ + /* <Description> */ + /* Return a zero-terminated list of Unicode variant selectors found */ + /* in the font. */ + /* */ + /* <Input> */ + /* face :: */ + /* A handle to the source face object. */ + /* */ + /* <Return> */ + /* A pointer to an array of selector code points, or NULL if there is */ + /* no valid variant selector cmap subtable. */ + /* */ + /* <Note> */ + /* The last item in the array is~0; the array is owned by the */ + /* @FT_Face object but can be overwritten or released on the next */ + /* call to a FreeType function. */ + /* */ + /* <Since> */ + /* 2.3.6 */ + /* */ + FT_EXPORT( FT_UInt32* ) + FT_Face_GetVariantSelectors( FT_Face face ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Face_GetVariantsOfChar */ + /* */ + /* <Description> */ + /* Return a zero-terminated list of Unicode variant selectors found */ + /* for the specified character code. */ + /* */ + /* <Input> */ + /* face :: */ + /* A handle to the source face object. */ + /* */ + /* charcode :: */ + /* The character codepoint in Unicode. */ + /* */ + /* <Return> */ + /* A pointer to an array of variant selector code points which are */ + /* active for the given character, or NULL if the corresponding list */ + /* is empty. */ + /* */ + /* <Note> */ + /* The last item in the array is~0; the array is owned by the */ + /* @FT_Face object but can be overwritten or released on the next */ + /* call to a FreeType function. */ + /* */ + /* <Since> */ + /* 2.3.6 */ + /* */ + FT_EXPORT( FT_UInt32* ) + FT_Face_GetVariantsOfChar( FT_Face face, + FT_ULong charcode ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Face_GetCharsOfVariant */ + /* */ + /* <Description> */ + /* Return a zero-terminated list of Unicode character codes found for */ + /* the specified variant selector. */ + /* */ + /* <Input> */ + /* face :: */ + /* A handle to the source face object. */ + /* */ + /* variantSelector :: */ + /* The variant selector code point in Unicode. */ + /* */ + /* <Return> */ + /* A list of all the code points which are specified by this selector */ + /* (both default and non-default codes are returned) or NULL if there */ + /* is no valid cmap or the variant selector is invalid. */ + /* */ + /* <Note> */ + /* The last item in the array is~0; the array is owned by the */ + /* @FT_Face object but can be overwritten or released on the next */ + /* call to a FreeType function. */ + /* */ + /* <Since> */ + /* 2.3.6 */ + /* */ + FT_EXPORT( FT_UInt32* ) + FT_Face_GetCharsOfVariant( FT_Face face, + FT_ULong variantSelector ); + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* computations */ + /* */ + /* <Title> */ + /* Computations */ + /* */ + /* <Abstract> */ + /* Crunching fixed numbers and vectors. */ + /* */ + /* <Description> */ + /* This section contains various functions used to perform */ + /* computations on 16.16 fixed-float numbers or 2d vectors. */ + /* */ + /* <Order> */ + /* FT_MulDiv */ + /* FT_MulFix */ + /* FT_DivFix */ + /* FT_RoundFix */ + /* FT_CeilFix */ + /* FT_FloorFix */ + /* FT_Vector_Transform */ + /* FT_Matrix_Multiply */ + /* FT_Matrix_Invert */ + /* */ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_MulDiv */ + /* */ + /* <Description> */ + /* A very simple function used to perform the computation `(a*b)/c' */ + /* with maximum accuracy (it uses a 64-bit intermediate integer */ + /* whenever necessary). */ + /* */ + /* This function isn't necessarily as fast as some processor specific */ + /* operations, but is at least completely portable. */ + /* */ + /* <Input> */ + /* a :: The first multiplier. */ + /* b :: The second multiplier. */ + /* c :: The divisor. */ + /* */ + /* <Return> */ + /* The result of `(a*b)/c'. This function never traps when trying to */ + /* divide by zero; it simply returns `MaxInt' or `MinInt' depending */ + /* on the signs of `a' and `b'. */ + /* */ + FT_EXPORT( FT_Long ) + FT_MulDiv( FT_Long a, + FT_Long b, + FT_Long c ); + + + /* */ + + /* The following #if 0 ... #endif is for the documentation formatter, */ + /* hiding the internal `FT_MULFIX_INLINED' macro. */ + +#if 0 + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_MulFix */ + /* */ + /* <Description> */ + /* A very simple function used to perform the computation */ + /* `(a*b)/0x10000' with maximum accuracy. Most of the time this is */ + /* used to multiply a given value by a 16.16 fixed float factor. */ + /* */ + /* <Input> */ + /* a :: The first multiplier. */ + /* b :: The second multiplier. Use a 16.16 factor here whenever */ + /* possible (see note below). */ + /* */ + /* <Return> */ + /* The result of `(a*b)/0x10000'. */ + /* */ + /* <Note> */ + /* This function has been optimized for the case where the absolute */ + /* value of `a' is less than 2048, and `b' is a 16.16 scaling factor. */ + /* As this happens mainly when scaling from notional units to */ + /* fractional pixels in FreeType, it resulted in noticeable speed */ + /* improvements between versions 2.x and 1.x. */ + /* */ + /* As a conclusion, always try to place a 16.16 factor as the */ + /* _second_ argument of this function; this can make a great */ + /* difference. */ + /* */ + FT_EXPORT( FT_Long ) + FT_MulFix( FT_Long a, + FT_Long b ); + + /* */ +#endif + +#ifdef FT_MULFIX_INLINED +#define FT_MulFix( a, b ) FT_MULFIX_INLINED( a, b ) +#else + FT_EXPORT( FT_Long ) + FT_MulFix( FT_Long a, + FT_Long b ); +#endif + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_DivFix */ + /* */ + /* <Description> */ + /* A very simple function used to perform the computation */ + /* `(a*0x10000)/b' with maximum accuracy. Most of the time, this is */ + /* used to divide a given value by a 16.16 fixed float factor. */ + /* */ + /* <Input> */ + /* a :: The first multiplier. */ + /* b :: The second multiplier. Use a 16.16 factor here whenever */ + /* possible (see note below). */ + /* */ + /* <Return> */ + /* The result of `(a*0x10000)/b'. */ + /* */ + /* <Note> */ + /* The optimization for FT_DivFix() is simple: If (a~<<~16) fits in */ + /* 32~bits, then the division is computed directly. Otherwise, we */ + /* use a specialized version of @FT_MulDiv. */ + /* */ + FT_EXPORT( FT_Long ) + FT_DivFix( FT_Long a, + FT_Long b ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_RoundFix */ + /* */ + /* <Description> */ + /* A very simple function used to round a 16.16 fixed number. */ + /* */ + /* <Input> */ + /* a :: The number to be rounded. */ + /* */ + /* <Return> */ + /* The result of `(a + 0x8000) & -0x10000'. */ + /* */ + FT_EXPORT( FT_Fixed ) + FT_RoundFix( FT_Fixed a ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_CeilFix */ + /* */ + /* <Description> */ + /* A very simple function used to compute the ceiling function of a */ + /* 16.16 fixed number. */ + /* */ + /* <Input> */ + /* a :: The number for which the ceiling function is to be computed. */ + /* */ + /* <Return> */ + /* The result of `(a + 0x10000 - 1) & -0x10000'. */ + /* */ + FT_EXPORT( FT_Fixed ) + FT_CeilFix( FT_Fixed a ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_FloorFix */ + /* */ + /* <Description> */ + /* A very simple function used to compute the floor function of a */ + /* 16.16 fixed number. */ + /* */ + /* <Input> */ + /* a :: The number for which the floor function is to be computed. */ + /* */ + /* <Return> */ + /* The result of `a & -0x10000'. */ + /* */ + FT_EXPORT( FT_Fixed ) + FT_FloorFix( FT_Fixed a ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Vector_Transform */ + /* */ + /* <Description> */ + /* Transform a single vector through a 2x2 matrix. */ + /* */ + /* <InOut> */ + /* vector :: The target vector to transform. */ + /* */ + /* <Input> */ + /* matrix :: A pointer to the source 2x2 matrix. */ + /* */ + /* <Note> */ + /* The result is undefined if either `vector' or `matrix' is invalid. */ + /* */ + FT_EXPORT( void ) + FT_Vector_Transform( FT_Vector* vec, + const FT_Matrix* matrix ); + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* version */ + /* */ + /* <Title> */ + /* FreeType Version */ + /* */ + /* <Abstract> */ + /* Functions and macros related to FreeType versions. */ + /* */ + /* <Description> */ + /* Note that those functions and macros are of limited use because */ + /* even a new release of FreeType with only documentation changes */ + /* increases the version number. */ + /* */ + /*************************************************************************/ + + + /************************************************************************* + * + * @enum: + * FREETYPE_XXX + * + * @description: + * These three macros identify the FreeType source code version. + * Use @FT_Library_Version to access them at runtime. + * + * @values: + * FREETYPE_MAJOR :: The major version number. + * FREETYPE_MINOR :: The minor version number. + * FREETYPE_PATCH :: The patch level. + * + * @note: + * The version number of FreeType if built as a dynamic link library + * with the `libtool' package is _not_ controlled by these three + * macros. + * + */ +#define FREETYPE_MAJOR 2 +#define FREETYPE_MINOR 4 +#define FREETYPE_PATCH 11 + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Library_Version */ + /* */ + /* <Description> */ + /* Return the version of the FreeType library being used. This is */ + /* useful when dynamically linking to the library, since one cannot */ + /* use the macros @FREETYPE_MAJOR, @FREETYPE_MINOR, and */ + /* @FREETYPE_PATCH. */ + /* */ + /* <Input> */ + /* library :: A source library handle. */ + /* */ + /* <Output> */ + /* amajor :: The major version number. */ + /* */ + /* aminor :: The minor version number. */ + /* */ + /* apatch :: The patch version number. */ + /* */ + /* <Note> */ + /* The reason why this function takes a `library' argument is because */ + /* certain programs implement library initialization in a custom way */ + /* that doesn't use @FT_Init_FreeType. */ + /* */ + /* In such cases, the library version might not be available before */ + /* the library object has been created. */ + /* */ + FT_EXPORT( void ) + FT_Library_Version( FT_Library library, + FT_Int *amajor, + FT_Int *aminor, + FT_Int *apatch ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Face_CheckTrueTypePatents */ + /* */ + /* <Description> */ + /* Parse all bytecode instructions of a TrueType font file to check */ + /* whether any of the patented opcodes are used. This is only useful */ + /* if you want to be able to use the unpatented hinter with */ + /* fonts that do *not* use these opcodes. */ + /* */ + /* Note that this function parses *all* glyph instructions in the */ + /* font file, which may be slow. */ + /* */ + /* <Input> */ + /* face :: A face handle. */ + /* */ + /* <Return> */ + /* 1~if this is a TrueType font that uses one of the patented */ + /* opcodes, 0~otherwise. */ + /* */ + /* <Note> */ + /* Since May 2010, TrueType hinting is no longer patented. */ + /* */ + /* <Since> */ + /* 2.3.5 */ + /* */ + FT_EXPORT( FT_Bool ) + FT_Face_CheckTrueTypePatents( FT_Face face ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Face_SetUnpatentedHinting */ + /* */ + /* <Description> */ + /* Enable or disable the unpatented hinter for a given face. */ + /* Only enable it if you have determined that the face doesn't */ + /* use any patented opcodes (see @FT_Face_CheckTrueTypePatents). */ + /* */ + /* <Input> */ + /* face :: A face handle. */ + /* */ + /* value :: New boolean setting. */ + /* */ + /* <Return> */ + /* The old setting value. This will always be false if this is not */ + /* an SFNT font, or if the unpatented hinter is not compiled in this */ + /* instance of the library. */ + /* */ + /* <Note> */ + /* Since May 2010, TrueType hinting is no longer patented. */ + /* */ + /* <Since> */ + /* 2.3.5 */ + /* */ + FT_EXPORT( FT_Bool ) + FT_Face_SetUnpatentedHinting( FT_Face face, + FT_Bool value ); + + /* */ + + +FT_END_HEADER + +#endif /* __FREETYPE_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftadvanc.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftadvanc.h new file mode 100644 index 00000000..b2451bec --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftadvanc.h @@ -0,0 +1,179 @@ +/***************************************************************************/ +/* */ +/* ftadvanc.h */ +/* */ +/* Quick computation of advance widths (specification only). */ +/* */ +/* Copyright 2008 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __FTADVANC_H__ +#define __FTADVANC_H__ + + +#include <ft2build.h> +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * quick_advance + * + * @title: + * Quick retrieval of advance values + * + * @abstract: + * Retrieve horizontal and vertical advance values without processing + * glyph outlines, if possible. + * + * @description: + * This section contains functions to quickly extract advance values + * without handling glyph outlines, if possible. + */ + + + /*************************************************************************/ + /* */ + /* <Const> */ + /* FT_ADVANCE_FLAG_FAST_ONLY */ + /* */ + /* <Description> */ + /* A bit-flag to be OR-ed with the `flags' parameter of the */ + /* @FT_Get_Advance and @FT_Get_Advances functions. */ + /* */ + /* If set, it indicates that you want these functions to fail if the */ + /* corresponding hinting mode or font driver doesn't allow for very */ + /* quick advance computation. */ + /* */ + /* Typically, glyphs which are either unscaled, unhinted, bitmapped, */ + /* or light-hinted can have their advance width computed very */ + /* quickly. */ + /* */ + /* Normal and bytecode hinted modes, which require loading, scaling, */ + /* and hinting of the glyph outline, are extremely slow by */ + /* comparison. */ + /* */ +#define FT_ADVANCE_FLAG_FAST_ONLY 0x20000000UL + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Get_Advance */ + /* */ + /* <Description> */ + /* Retrieve the advance value of a given glyph outline in an */ + /* @FT_Face. By default, the unhinted advance is returned in font */ + /* units. */ + /* */ + /* <Input> */ + /* face :: The source @FT_Face handle. */ + /* */ + /* gindex :: The glyph index. */ + /* */ + /* load_flags :: A set of bit flags similar to those used when */ + /* calling @FT_Load_Glyph, used to determine what kind */ + /* of advances you need. */ + /* <Output> */ + /* padvance :: The advance value, in either font units or 16.16 */ + /* format. */ + /* */ + /* If @FT_LOAD_VERTICAL_LAYOUT is set, this is the */ + /* vertical advance corresponding to a vertical layout. */ + /* Otherwise, it is the horizontal advance in a */ + /* horizontal layout. */ + /* */ + /* <Return> */ + /* FreeType error code. 0 means success. */ + /* */ + /* <Note> */ + /* This function may fail if you use @FT_ADVANCE_FLAG_FAST_ONLY and */ + /* if the corresponding font backend doesn't have a quick way to */ + /* retrieve the advances. */ + /* */ + /* A scaled advance is returned in 16.16 format but isn't transformed */ + /* by the affine transformation specified by @FT_Set_Transform. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Get_Advance( FT_Face face, + FT_UInt gindex, + FT_Int32 load_flags, + FT_Fixed *padvance ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Get_Advances */ + /* */ + /* <Description> */ + /* Retrieve the advance values of several glyph outlines in an */ + /* @FT_Face. By default, the unhinted advances are returned in font */ + /* units. */ + /* */ + /* <Input> */ + /* face :: The source @FT_Face handle. */ + /* */ + /* start :: The first glyph index. */ + /* */ + /* count :: The number of advance values you want to retrieve. */ + /* */ + /* load_flags :: A set of bit flags similar to those used when */ + /* calling @FT_Load_Glyph. */ + /* */ + /* <Output> */ + /* padvance :: The advances, in either font units or 16.16 format. */ + /* This array must contain at least `count' elements. */ + /* */ + /* If @FT_LOAD_VERTICAL_LAYOUT is set, these are the */ + /* vertical advances corresponding to a vertical layout. */ + /* Otherwise, they are the horizontal advances in a */ + /* horizontal layout. */ + /* */ + /* <Return> */ + /* FreeType error code. 0 means success. */ + /* */ + /* <Note> */ + /* This function may fail if you use @FT_ADVANCE_FLAG_FAST_ONLY and */ + /* if the corresponding font backend doesn't have a quick way to */ + /* retrieve the advances. */ + /* */ + /* Scaled advances are returned in 16.16 format but aren't */ + /* transformed by the affine transformation specified by */ + /* @FT_Set_Transform. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Get_Advances( FT_Face face, + FT_UInt start, + FT_UInt count, + FT_Int32 load_flags, + FT_Fixed *padvances ); + +/* */ + + +FT_END_HEADER + +#endif /* __FTADVANC_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftautoh.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftautoh.h new file mode 100644 index 00000000..b427c4dd --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftautoh.h @@ -0,0 +1,349 @@ +/***************************************************************************/ +/* */ +/* ftautoh.h */ +/* */ +/* FreeType API for controlling the auto-hinter (specification only). */ +/* */ +/* Copyright 2012 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __FTAUTOH_H__ +#define __FTAUTOH_H__ + +#include <ft2build.h> +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /************************************************************************** + * + * @section: + * auto_hinter + * + * @title: + * The auto-hinter + * + * @abstract: + * Controlling the auto-hinting module. + * + * @description: + * While FreeType's auto-hinter doesn't expose API functions by itself, + * it is possible to control its behaviour with @FT_Property_Set and + * @FT_Property_Get. The following lists the available properties + * together with the necessary macros and structures. + * + * Note that the auto-hinter's module name is `autofitter' for + * historical reasons. + * + */ + + + /************************************************************************** + * + * @property: + * glyph-to-script-map + * + * @description: + * The auto-hinter provides various script modules to hint glyphs. + * Examples of supported scripts are Latin or CJK. Before a glyph is + * auto-hinted, the Unicode character map of the font gets examined, and + * the script is then determined based on Unicode character ranges, see + * below. + * + * OpenType fonts, however, often provide much more glyphs than + * character codes (small caps, superscripts, ligatures, swashes, etc.), + * to be controlled by so-called `features'. Handling OpenType features + * can be quite complicated and thus needs a separate library on top of + * FreeType. + * + * The mapping between glyph indices and scripts (in the auto-hinter + * sense, see the @FT_AUTOHINTER_SCRIPT_XXX values) is stored as an + * array with `num_glyphs' elements, as found in the font's @FT_Face + * structure. The `glyph-to-script-map' property returns a pointer to + * this array which can be modified as needed. Note that the + * modification should happen before the first glyph gets processed by + * the auto-hinter so that the global analysis of the font shapes + * actually uses the modified mapping. + * + * The following example code demonstrates how to access it (omitting + * the error handling). + * + * { + * FT_Library library; + * FT_Face face; + * FT_Prop_GlyphToScriptMap prop; + * + * + * FT_Init_FreeType( &library ); + * FT_New_Face( library, "foo.ttf", 0, &face ); + * + * prop.face = face; + * + * FT_Property_Get( library, "autofitter", + * "glyph-to-script-map", &prop ); + * + * // adjust `prop.map' as needed right here + * + * FT_Load_Glyph( face, ..., FT_LOAD_FORCE_AUTOHINT ); + * } + * + */ + + + /************************************************************************** + * + * @enum: + * FT_AUTOHINTER_SCRIPT_XXX + * + * @description: + * A list of constants used for the @glyph-to-script-map property to + * specify the script submodule the auto-hinter should use for hinting a + * particular glyph. + * + * @values: + * FT_AUTOHINTER_SCRIPT_NONE :: + * Don't auto-hint this glyph. + * + * FT_AUTOHINTER_SCRIPT_LATIN :: + * Apply the latin auto-hinter. For the auto-hinter, `latin' is a + * very broad term, including Cyrillic and Greek also since characters + * from those scripts share the same design constraints. + * + * By default, characters from the following Unicode ranges are + * assigned to this submodule. + * + * { + * U+0020 - U+007F // Basic Latin (no control characters) + * U+00A0 - U+00FF // Latin-1 Supplement (no control characters) + * U+0100 - U+017F // Latin Extended-A + * U+0180 - U+024F // Latin Extended-B + * U+0250 - U+02AF // IPA Extensions + * U+02B0 - U+02FF // Spacing Modifier Letters + * U+0300 - U+036F // Combining Diacritical Marks + * U+0370 - U+03FF // Greek and Coptic + * U+0400 - U+04FF // Cyrillic + * U+0500 - U+052F // Cyrillic Supplement + * U+1D00 - U+1D7F // Phonetic Extensions + * U+1D80 - U+1DBF // Phonetic Extensions Supplement + * U+1DC0 - U+1DFF // Combining Diacritical Marks Supplement + * U+1E00 - U+1EFF // Latin Extended Additional + * U+1F00 - U+1FFF // Greek Extended + * U+2000 - U+206F // General Punctuation + * U+2070 - U+209F // Superscripts and Subscripts + * U+20A0 - U+20CF // Currency Symbols + * U+2150 - U+218F // Number Forms + * U+2460 - U+24FF // Enclosed Alphanumerics + * U+2C60 - U+2C7F // Latin Extended-C + * U+2DE0 - U+2DFF // Cyrillic Extended-A + * U+2E00 - U+2E7F // Supplemental Punctuation + * U+A640 - U+A69F // Cyrillic Extended-B + * U+A720 - U+A7FF // Latin Extended-D + * U+FB00 - U+FB06 // Alphab. Present. Forms (Latin Ligatures) + * U+1D400 - U+1D7FF // Mathematical Alphanumeric Symbols + * U+1F100 - U+1F1FF // Enclosed Alphanumeric Supplement + * } + * + * FT_AUTOHINTER_SCRIPT_CJK :: + * Apply the CJK auto-hinter, covering Chinese, Japanese, Korean, old + * Vietnamese, and some other scripts. + * + * By default, characters from the following Unicode ranges are + * assigned to this submodule. + * + * { + * U+1100 - U+11FF // Hangul Jamo + * U+2E80 - U+2EFF // CJK Radicals Supplement + * U+2F00 - U+2FDF // Kangxi Radicals + * U+2FF0 - U+2FFF // Ideographic Description Characters + * U+3000 - U+303F // CJK Symbols and Punctuation + * U+3040 - U+309F // Hiragana + * U+30A0 - U+30FF // Katakana + * U+3100 - U+312F // Bopomofo + * U+3130 - U+318F // Hangul Compatibility Jamo + * U+3190 - U+319F // Kanbun + * U+31A0 - U+31BF // Bopomofo Extended + * U+31C0 - U+31EF // CJK Strokes + * U+31F0 - U+31FF // Katakana Phonetic Extensions + * U+3200 - U+32FF // Enclosed CJK Letters and Months + * U+3300 - U+33FF // CJK Compatibility + * U+3400 - U+4DBF // CJK Unified Ideographs Extension A + * U+4DC0 - U+4DFF // Yijing Hexagram Symbols + * U+4E00 - U+9FFF // CJK Unified Ideographs + * U+A960 - U+A97F // Hangul Jamo Extended-A + * U+AC00 - U+D7AF // Hangul Syllables + * U+D7B0 - U+D7FF // Hangul Jamo Extended-B + * U+F900 - U+FAFF // CJK Compatibility Ideographs + * U+FE10 - U+FE1F // Vertical forms + * U+FE30 - U+FE4F // CJK Compatibility Forms + * U+FF00 - U+FFEF // Halfwidth and Fullwidth Forms + * U+1B000 - U+1B0FF // Kana Supplement + * U+1D300 - U+1D35F // Tai Xuan Hing Symbols + * U+1F200 - U+1F2FF // Enclosed Ideographic Supplement + * U+20000 - U+2A6DF // CJK Unified Ideographs Extension B + * U+2A700 - U+2B73F // CJK Unified Ideographs Extension C + * U+2B740 - U+2B81F // CJK Unified Ideographs Extension D + * U+2F800 - U+2FA1F // CJK Compatibility Ideographs Supplement + * } + * + * FT_AUTOHINTER_SCRIPT_INDIC :: + * Apply the indic auto-hinter, covering all major scripts from the + * Indian sub-continent and some other related scripts like Thai, Lao, + * or Tibetan. + * + * By default, characters from the following Unicode ranges are + * assigned to this submodule. + * + * { + * U+0900 - U+0DFF // Indic Range + * U+0F00 - U+0FFF // Tibetan + * U+1900 - U+194F // Limbu + * U+1B80 - U+1BBF // Sundanese + * U+1C80 - U+1CDF // Meetei Mayak + * U+A800 - U+A82F // Syloti Nagri + * U+11800 - U+118DF // Sharada + * } + * + * Note that currently Indic support is rudimentary only, missing blue + * zone support. + * + */ +#define FT_AUTOHINTER_SCRIPT_NONE 0 +#define FT_AUTOHINTER_SCRIPT_LATIN 1 +#define FT_AUTOHINTER_SCRIPT_CJK 2 +#define FT_AUTOHINTER_SCRIPT_INDIC 3 + + + /************************************************************************** + * + * @struct: + * FT_Prop_GlyphToScriptMap + * + * @description: + * The data exchange structure for the @glyph-to-script-map property. + * + */ + typedef struct FT_Prop_GlyphToScriptMap_ + { + FT_Face face; + FT_Byte* map; + + } FT_Prop_GlyphToScriptMap; + + + /************************************************************************** + * + * @property: + * fallback-script + * + * @description: + * If no auto-hinter script module can be assigned to a glyph, a + * fallback script gets assigned to it (see also the + * @glyph-to-script-map property). By default, this is + * @FT_AUTOHINTER_SCRIPT_CJK. Using the `fallback-script' property, + * this fallback value can be changed. + * + * { + * FT_Library library; + * FT_UInt fallback_script = FT_AUTOHINTER_SCRIPT_NONE; + * + * + * FT_Init_FreeType( &library ); + * + * FT_Property_Set( library, "autofitter", + * "fallback-script", &fallback_script ); + * } + * + * @note: + * This property can be used with @FT_Property_Get also. + * + * It's important to use the right timing for changing this value: The + * creation of the glyph-to-script map which eventually uses the + * fallback script value gets triggered either by setting or reading a + * face-specific property like @glyph-to-script-map, or by auto-hinting + * any glyph from that face. In particular, if you have already created + * an @FT_Face structure but not loaded any glyph (using the + * auto-hinter), a change of the fallback glyph will affect this face. + * + */ + + + /************************************************************************** + * + * @property: + * increase-x-height + * + * @description: + * For ppem values in the range 6~<= ppem <= `increase-x-height', round + * up the font's x~height much more often than normally. If the value + * is set to~0, which is the default, this feature is switched off. Use + * this property to improve the legibility of small font sizes if + * necessary. + * + * { + * FT_Library library; + * FT_Face face; + * FT_Prop_IncreaseXHeight prop; + * + * + * FT_Init_FreeType( &library ); + * FT_New_Face( library, "foo.ttf", 0, &face ); + * FT_Set_Char_Size( face, 10 * 64, 0, 72, 0 ); + * + * prop.face = face; + * prop.limit = 14; + * + * FT_Property_Set( library, "autofitter", + * "increase-x-height", &prop ); + * } + * + * @note: + * This property can be used with @FT_Property_Get also. + * + * Set this value right after calling @FT_Set_Char_Size, but before + * loading any glyph (using the auto-hinter). + * + */ + + + /************************************************************************** + * + * @struct: + * FT_Prop_IncreaseXHeight + * + * @description: + * The data exchange structure for the @increase-x-height property. + * + */ + typedef struct FT_Prop_IncreaseXHeight_ + { + FT_Face face; + FT_UInt limit; + + } FT_Prop_IncreaseXHeight; + + + /* */ + +FT_END_HEADER + +#endif /* __FTAUTOH_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftbbox.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftbbox.h new file mode 100644 index 00000000..97669195 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftbbox.h @@ -0,0 +1,102 @@ +/***************************************************************************/ +/* */ +/* ftbbox.h */ +/* */ +/* FreeType exact bbox computation (specification). */ +/* */ +/* Copyright 1996-2001, 2003, 2007, 2011 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + + /*************************************************************************/ + /* */ + /* This component has a _single_ role: to compute exact outline bounding */ + /* boxes. */ + /* */ + /* It is separated from the rest of the engine for various technical */ + /* reasons. It may well be integrated in `ftoutln' later. */ + /* */ + /*************************************************************************/ + + +#ifndef __FTBBOX_H__ +#define __FTBBOX_H__ + + +#include <ft2build.h> +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* outline_processing */ + /* */ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Outline_Get_BBox */ + /* */ + /* <Description> */ + /* Compute the exact bounding box of an outline. This is slower */ + /* than computing the control box. However, it uses an advanced */ + /* algorithm which returns _very_ quickly when the two boxes */ + /* coincide. Otherwise, the outline Bézier arcs are traversed to */ + /* extract their extrema. */ + /* */ + /* <Input> */ + /* outline :: A pointer to the source outline. */ + /* */ + /* <Output> */ + /* abbox :: The outline's exact bounding box. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* If the font is tricky and the glyph has been loaded with */ + /* @FT_LOAD_NO_SCALE, the resulting BBox is meaningless. To get */ + /* reasonable values for the BBox it is necessary to load the glyph */ + /* at a large ppem value (so that the hinting instructions can */ + /* properly shift and scale the subglyphs), then extracting the BBox */ + /* which can be eventually converted back to font units. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Outline_Get_BBox( FT_Outline* outline, + FT_BBox *abbox ); + + + /* */ + + +FT_END_HEADER + +#endif /* __FTBBOX_H__ */ + + +/* END */ + + +/* Local Variables: */ +/* coding: utf-8 */ +/* End: */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftbdf.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftbdf.h new file mode 100644 index 00000000..4f8baf84 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftbdf.h @@ -0,0 +1,209 @@ +/***************************************************************************/ +/* */ +/* ftbdf.h */ +/* */ +/* FreeType API for accessing BDF-specific strings (specification). */ +/* */ +/* Copyright 2002, 2003, 2004, 2006, 2009 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __FTBDF_H__ +#define __FTBDF_H__ + +#include <ft2build.h> +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* bdf_fonts */ + /* */ + /* <Title> */ + /* BDF and PCF Files */ + /* */ + /* <Abstract> */ + /* BDF and PCF specific API. */ + /* */ + /* <Description> */ + /* This section contains the declaration of functions specific to BDF */ + /* and PCF fonts. */ + /* */ + /*************************************************************************/ + + + /********************************************************************** + * + * @enum: + * FT_PropertyType + * + * @description: + * A list of BDF property types. + * + * @values: + * BDF_PROPERTY_TYPE_NONE :: + * Value~0 is used to indicate a missing property. + * + * BDF_PROPERTY_TYPE_ATOM :: + * Property is a string atom. + * + * BDF_PROPERTY_TYPE_INTEGER :: + * Property is a 32-bit signed integer. + * + * BDF_PROPERTY_TYPE_CARDINAL :: + * Property is a 32-bit unsigned integer. + */ + typedef enum BDF_PropertyType_ + { + BDF_PROPERTY_TYPE_NONE = 0, + BDF_PROPERTY_TYPE_ATOM = 1, + BDF_PROPERTY_TYPE_INTEGER = 2, + BDF_PROPERTY_TYPE_CARDINAL = 3 + + } BDF_PropertyType; + + + /********************************************************************** + * + * @type: + * BDF_Property + * + * @description: + * A handle to a @BDF_PropertyRec structure to model a given + * BDF/PCF property. + */ + typedef struct BDF_PropertyRec_* BDF_Property; + + + /********************************************************************** + * + * @struct: + * BDF_PropertyRec + * + * @description: + * This structure models a given BDF/PCF property. + * + * @fields: + * type :: + * The property type. + * + * u.atom :: + * The atom string, if type is @BDF_PROPERTY_TYPE_ATOM. + * + * u.integer :: + * A signed integer, if type is @BDF_PROPERTY_TYPE_INTEGER. + * + * u.cardinal :: + * An unsigned integer, if type is @BDF_PROPERTY_TYPE_CARDINAL. + */ + typedef struct BDF_PropertyRec_ + { + BDF_PropertyType type; + union { + const char* atom; + FT_Int32 integer; + FT_UInt32 cardinal; + + } u; + + } BDF_PropertyRec; + + + /********************************************************************** + * + * @function: + * FT_Get_BDF_Charset_ID + * + * @description: + * Retrieve a BDF font character set identity, according to + * the BDF specification. + * + * @input: + * face :: + * A handle to the input face. + * + * @output: + * acharset_encoding :: + * Charset encoding, as a C~string, owned by the face. + * + * acharset_registry :: + * Charset registry, as a C~string, owned by the face. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This function only works with BDF faces, returning an error otherwise. + */ + FT_EXPORT( FT_Error ) + FT_Get_BDF_Charset_ID( FT_Face face, + const char* *acharset_encoding, + const char* *acharset_registry ); + + + /********************************************************************** + * + * @function: + * FT_Get_BDF_Property + * + * @description: + * Retrieve a BDF property from a BDF or PCF font file. + * + * @input: + * face :: A handle to the input face. + * + * name :: The property name. + * + * @output: + * aproperty :: The property. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This function works with BDF _and_ PCF fonts. It returns an error + * otherwise. It also returns an error if the property is not in the + * font. + * + * A `property' is a either key-value pair within the STARTPROPERTIES + * ... ENDPROPERTIES block of a BDF font or a key-value pair from the + * `info->props' array within a `FontRec' structure of a PCF font. + * + * Integer properties are always stored as `signed' within PCF fonts; + * consequently, @BDF_PROPERTY_TYPE_CARDINAL is a possible return value + * for BDF fonts only. + * + * In case of error, `aproperty->type' is always set to + * @BDF_PROPERTY_TYPE_NONE. + */ + FT_EXPORT( FT_Error ) + FT_Get_BDF_Property( FT_Face face, + const char* prop_name, + BDF_PropertyRec *aproperty ); + + /* */ + +FT_END_HEADER + +#endif /* __FTBDF_H__ */ + + +/* END */ diff --git a/extlibs/headers/freetype/ftbitmap.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftbitmap.h similarity index 100% rename from extlibs/headers/freetype/ftbitmap.h rename to extlibs/headers/libfreetype/osx/freetype2/freetype/ftbitmap.h diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftbzip2.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftbzip2.h new file mode 100644 index 00000000..1bf81b15 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftbzip2.h @@ -0,0 +1,102 @@ +/***************************************************************************/ +/* */ +/* ftbzip2.h */ +/* */ +/* Bzip2-compressed stream support. */ +/* */ +/* Copyright 2010 by */ +/* Joel Klinghed. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __FTBZIP2_H__ +#define __FTBZIP2_H__ + +#include <ft2build.h> +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + /*************************************************************************/ + /* */ + /* <Section> */ + /* bzip2 */ + /* */ + /* <Title> */ + /* BZIP2 Streams */ + /* */ + /* <Abstract> */ + /* Using bzip2-compressed font files. */ + /* */ + /* <Description> */ + /* This section contains the declaration of Bzip2-specific functions. */ + /* */ + /*************************************************************************/ + + + /************************************************************************ + * + * @function: + * FT_Stream_OpenBzip2 + * + * @description: + * Open a new stream to parse bzip2-compressed font files. This is + * mainly used to support the compressed `*.pcf.bz2' fonts that come + * with XFree86. + * + * @input: + * stream :: + * The target embedding stream. + * + * source :: + * The source stream. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The source stream must be opened _before_ calling this function. + * + * Calling the internal function `FT_Stream_Close' on the new stream will + * *not* call `FT_Stream_Close' on the source stream. None of the stream + * objects will be released to the heap. + * + * The stream implementation is very basic and resets the decompression + * process each time seeking backwards is needed within the stream. + * + * In certain builds of the library, bzip2 compression recognition is + * automatically handled when calling @FT_New_Face or @FT_Open_Face. + * This means that if no font driver is capable of handling the raw + * compressed file, the library will try to open a bzip2 compressed stream + * from it and re-open the face with it. + * + * This function may return `FT_Err_Unimplemented_Feature' if your build + * of FreeType was not compiled with bzip2 support. + */ + FT_EXPORT( FT_Error ) + FT_Stream_OpenBzip2( FT_Stream stream, + FT_Stream source ); + + /* */ + + +FT_END_HEADER + +#endif /* __FTBZIP2_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftcache.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftcache.h new file mode 100644 index 00000000..6af53062 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftcache.h @@ -0,0 +1,1140 @@ +/***************************************************************************/ +/* */ +/* ftcache.h */ +/* */ +/* FreeType Cache subsystem (specification). */ +/* */ +/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __FTCACHE_H__ +#define __FTCACHE_H__ + + +#include <ft2build.h> +#include FT_GLYPH_H + + +FT_BEGIN_HEADER + + + /************************************************************************* + * + * <Section> + * cache_subsystem + * + * <Title> + * Cache Sub-System + * + * <Abstract> + * How to cache face, size, and glyph data with FreeType~2. + * + * <Description> + * This section describes the FreeType~2 cache sub-system, which is used + * to limit the number of concurrently opened @FT_Face and @FT_Size + * objects, as well as caching information like character maps and glyph + * images while limiting their maximum memory usage. + * + * Note that all types and functions begin with the `FTC_' prefix. + * + * The cache is highly portable and thus doesn't know anything about the + * fonts installed on your system, or how to access them. This implies + * the following scheme: + * + * First, available or installed font faces are uniquely identified by + * @FTC_FaceID values, provided to the cache by the client. Note that + * the cache only stores and compares these values, and doesn't try to + * interpret them in any way. + * + * Second, the cache calls, only when needed, a client-provided function + * to convert an @FTC_FaceID into a new @FT_Face object. The latter is + * then completely managed by the cache, including its termination + * through @FT_Done_Face. To monitor termination of face objects, the + * finalizer callback in the `generic' field of the @FT_Face object can + * be used, which might also be used to store the @FTC_FaceID of the + * face. + * + * Clients are free to map face IDs to anything else. The most simple + * usage is to associate them to a (pathname,face_index) pair that is + * used to call @FT_New_Face. However, more complex schemes are also + * possible. + * + * Note that for the cache to work correctly, the face ID values must be + * *persistent*, which means that the contents they point to should not + * change at runtime, or that their value should not become invalid. + * + * If this is unavoidable (e.g., when a font is uninstalled at runtime), + * you should call @FTC_Manager_RemoveFaceID as soon as possible, to let + * the cache get rid of any references to the old @FTC_FaceID it may + * keep internally. Failure to do so will lead to incorrect behaviour + * or even crashes. + * + * To use the cache, start with calling @FTC_Manager_New to create a new + * @FTC_Manager object, which models a single cache instance. You can + * then look up @FT_Face and @FT_Size objects with + * @FTC_Manager_LookupFace and @FTC_Manager_LookupSize, respectively. + * + * If you want to use the charmap caching, call @FTC_CMapCache_New, then + * later use @FTC_CMapCache_Lookup to perform the equivalent of + * @FT_Get_Char_Index, only much faster. + * + * If you want to use the @FT_Glyph caching, call @FTC_ImageCache, then + * later use @FTC_ImageCache_Lookup to retrieve the corresponding + * @FT_Glyph objects from the cache. + * + * If you need lots of small bitmaps, it is much more memory efficient + * to call @FTC_SBitCache_New followed by @FTC_SBitCache_Lookup. This + * returns @FTC_SBitRec structures, which are used to store small + * bitmaps directly. (A small bitmap is one whose metrics and + * dimensions all fit into 8-bit integers). + * + * We hope to also provide a kerning cache in the near future. + * + * + * <Order> + * FTC_Manager + * FTC_FaceID + * FTC_Face_Requester + * + * FTC_Manager_New + * FTC_Manager_Reset + * FTC_Manager_Done + * FTC_Manager_LookupFace + * FTC_Manager_LookupSize + * FTC_Manager_RemoveFaceID + * + * FTC_Node + * FTC_Node_Unref + * + * FTC_ImageCache + * FTC_ImageCache_New + * FTC_ImageCache_Lookup + * + * FTC_SBit + * FTC_SBitCache + * FTC_SBitCache_New + * FTC_SBitCache_Lookup + * + * FTC_CMapCache + * FTC_CMapCache_New + * FTC_CMapCache_Lookup + * + *************************************************************************/ + + + /*************************************************************************/ + /*************************************************************************/ + /*************************************************************************/ + /***** *****/ + /***** BASIC TYPE DEFINITIONS *****/ + /***** *****/ + /*************************************************************************/ + /*************************************************************************/ + /*************************************************************************/ + + + /************************************************************************* + * + * @type: FTC_FaceID + * + * @description: + * An opaque pointer type that is used to identity face objects. The + * contents of such objects is application-dependent. + * + * These pointers are typically used to point to a user-defined + * structure containing a font file path, and face index. + * + * @note: + * Never use NULL as a valid @FTC_FaceID. + * + * Face IDs are passed by the client to the cache manager, which calls, + * when needed, the @FTC_Face_Requester to translate them into new + * @FT_Face objects. + * + * If the content of a given face ID changes at runtime, or if the value + * becomes invalid (e.g., when uninstalling a font), you should + * immediately call @FTC_Manager_RemoveFaceID before any other cache + * function. + * + * Failure to do so will result in incorrect behaviour or even + * memory leaks and crashes. + */ + typedef FT_Pointer FTC_FaceID; + + + /************************************************************************ + * + * @functype: + * FTC_Face_Requester + * + * @description: + * A callback function provided by client applications. It is used by + * the cache manager to translate a given @FTC_FaceID into a new valid + * @FT_Face object, on demand. + * + * <Input> + * face_id :: + * The face ID to resolve. + * + * library :: + * A handle to a FreeType library object. + * + * req_data :: + * Application-provided request data (see note below). + * + * <Output> + * aface :: + * A new @FT_Face handle. + * + * <Return> + * FreeType error code. 0~means success. + * + * <Note> + * The third parameter `req_data' is the same as the one passed by the + * client when @FTC_Manager_New is called. + * + * The face requester should not perform funny things on the returned + * face object, like creating a new @FT_Size for it, or setting a + * transformation through @FT_Set_Transform! + */ + typedef FT_Error + (*FTC_Face_Requester)( FTC_FaceID face_id, + FT_Library library, + FT_Pointer request_data, + FT_Face* aface ); + + /* */ + +#ifdef FT_CONFIG_OPTION_OLD_INTERNALS + + /* these macros are incompatible with LLP64, should not be used */ + +#define FT_POINTER_TO_ULONG( p ) ( (FT_ULong)(FT_Pointer)(p) ) + +#define FTC_FACE_ID_HASH( i ) \ + ((FT_UInt32)(( FT_POINTER_TO_ULONG( i ) >> 3 ) ^ \ + ( FT_POINTER_TO_ULONG( i ) << 7 ) ) ) + +#endif /* FT_CONFIG_OPTION_OLD_INTERNALS */ + + /*************************************************************************/ + /*************************************************************************/ + /*************************************************************************/ + /***** *****/ + /***** CACHE MANAGER OBJECT *****/ + /***** *****/ + /*************************************************************************/ + /*************************************************************************/ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FTC_Manager */ + /* */ + /* <Description> */ + /* This object corresponds to one instance of the cache-subsystem. */ + /* It is used to cache one or more @FT_Face objects, along with */ + /* corresponding @FT_Size objects. */ + /* */ + /* The manager intentionally limits the total number of opened */ + /* @FT_Face and @FT_Size objects to control memory usage. See the */ + /* `max_faces' and `max_sizes' parameters of @FTC_Manager_New. */ + /* */ + /* The manager is also used to cache `nodes' of various types while */ + /* limiting their total memory usage. */ + /* */ + /* All limitations are enforced by keeping lists of managed objects */ + /* in most-recently-used order, and flushing old nodes to make room */ + /* for new ones. */ + /* */ + typedef struct FTC_ManagerRec_* FTC_Manager; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FTC_Node */ + /* */ + /* <Description> */ + /* An opaque handle to a cache node object. Each cache node is */ + /* reference-counted. A node with a count of~0 might be flushed */ + /* out of a full cache whenever a lookup request is performed. */ + /* */ + /* If you look up nodes, you have the ability to `acquire' them, */ + /* i.e., to increment their reference count. This will prevent the */ + /* node from being flushed out of the cache until you explicitly */ + /* `release' it (see @FTC_Node_Unref). */ + /* */ + /* See also @FTC_SBitCache_Lookup and @FTC_ImageCache_Lookup. */ + /* */ + typedef struct FTC_NodeRec_* FTC_Node; + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FTC_Manager_New */ + /* */ + /* <Description> */ + /* Create a new cache manager. */ + /* */ + /* <Input> */ + /* library :: The parent FreeType library handle to use. */ + /* */ + /* max_faces :: Maximum number of opened @FT_Face objects managed by */ + /* this cache instance. Use~0 for defaults. */ + /* */ + /* max_sizes :: Maximum number of opened @FT_Size objects managed by */ + /* this cache instance. Use~0 for defaults. */ + /* */ + /* max_bytes :: Maximum number of bytes to use for cached data nodes. */ + /* Use~0 for defaults. Note that this value does not */ + /* account for managed @FT_Face and @FT_Size objects. */ + /* */ + /* requester :: An application-provided callback used to translate */ + /* face IDs into real @FT_Face objects. */ + /* */ + /* req_data :: A generic pointer that is passed to the requester */ + /* each time it is called (see @FTC_Face_Requester). */ + /* */ + /* <Output> */ + /* amanager :: A handle to a new manager object. 0~in case of */ + /* failure. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + FT_EXPORT( FT_Error ) + FTC_Manager_New( FT_Library library, + FT_UInt max_faces, + FT_UInt max_sizes, + FT_ULong max_bytes, + FTC_Face_Requester requester, + FT_Pointer req_data, + FTC_Manager *amanager ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FTC_Manager_Reset */ + /* */ + /* <Description> */ + /* Empty a given cache manager. This simply gets rid of all the */ + /* currently cached @FT_Face and @FT_Size objects within the manager. */ + /* */ + /* <InOut> */ + /* manager :: A handle to the manager. */ + /* */ + FT_EXPORT( void ) + FTC_Manager_Reset( FTC_Manager manager ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FTC_Manager_Done */ + /* */ + /* <Description> */ + /* Destroy a given manager after emptying it. */ + /* */ + /* <Input> */ + /* manager :: A handle to the target cache manager object. */ + /* */ + FT_EXPORT( void ) + FTC_Manager_Done( FTC_Manager manager ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FTC_Manager_LookupFace */ + /* */ + /* <Description> */ + /* Retrieve the @FT_Face object that corresponds to a given face ID */ + /* through a cache manager. */ + /* */ + /* <Input> */ + /* manager :: A handle to the cache manager. */ + /* */ + /* face_id :: The ID of the face object. */ + /* */ + /* <Output> */ + /* aface :: A handle to the face object. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* The returned @FT_Face object is always owned by the manager. You */ + /* should never try to discard it yourself. */ + /* */ + /* The @FT_Face object doesn't necessarily have a current size object */ + /* (i.e., face->size can be 0). If you need a specific `font size', */ + /* use @FTC_Manager_LookupSize instead. */ + /* */ + /* Never change the face's transformation matrix (i.e., never call */ + /* the @FT_Set_Transform function) on a returned face! If you need */ + /* to transform glyphs, do it yourself after glyph loading. */ + /* */ + /* When you perform a lookup, out-of-memory errors are detected */ + /* _within_ the lookup and force incremental flushes of the cache */ + /* until enough memory is released for the lookup to succeed. */ + /* */ + /* If a lookup fails with `FT_Err_Out_Of_Memory' the cache has */ + /* already been completely flushed, and still no memory was available */ + /* for the operation. */ + /* */ + FT_EXPORT( FT_Error ) + FTC_Manager_LookupFace( FTC_Manager manager, + FTC_FaceID face_id, + FT_Face *aface ); + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FTC_ScalerRec */ + /* */ + /* <Description> */ + /* A structure used to describe a given character size in either */ + /* pixels or points to the cache manager. See */ + /* @FTC_Manager_LookupSize. */ + /* */ + /* <Fields> */ + /* face_id :: The source face ID. */ + /* */ + /* width :: The character width. */ + /* */ + /* height :: The character height. */ + /* */ + /* pixel :: A Boolean. If 1, the `width' and `height' fields are */ + /* interpreted as integer pixel character sizes. */ + /* Otherwise, they are expressed as 1/64th of points. */ + /* */ + /* x_res :: Only used when `pixel' is value~0 to indicate the */ + /* horizontal resolution in dpi. */ + /* */ + /* y_res :: Only used when `pixel' is value~0 to indicate the */ + /* vertical resolution in dpi. */ + /* */ + /* <Note> */ + /* This type is mainly used to retrieve @FT_Size objects through the */ + /* cache manager. */ + /* */ + typedef struct FTC_ScalerRec_ + { + FTC_FaceID face_id; + FT_UInt width; + FT_UInt height; + FT_Int pixel; + FT_UInt x_res; + FT_UInt y_res; + + } FTC_ScalerRec; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FTC_Scaler */ + /* */ + /* <Description> */ + /* A handle to an @FTC_ScalerRec structure. */ + /* */ + typedef struct FTC_ScalerRec_* FTC_Scaler; + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FTC_Manager_LookupSize */ + /* */ + /* <Description> */ + /* Retrieve the @FT_Size object that corresponds to a given */ + /* @FTC_ScalerRec pointer through a cache manager. */ + /* */ + /* <Input> */ + /* manager :: A handle to the cache manager. */ + /* */ + /* scaler :: A scaler handle. */ + /* */ + /* <Output> */ + /* asize :: A handle to the size object. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* The returned @FT_Size object is always owned by the manager. You */ + /* should never try to discard it by yourself. */ + /* */ + /* You can access the parent @FT_Face object simply as `size->face' */ + /* if you need it. Note that this object is also owned by the */ + /* manager. */ + /* */ + /* <Note> */ + /* When you perform a lookup, out-of-memory errors are detected */ + /* _within_ the lookup and force incremental flushes of the cache */ + /* until enough memory is released for the lookup to succeed. */ + /* */ + /* If a lookup fails with `FT_Err_Out_Of_Memory' the cache has */ + /* already been completely flushed, and still no memory is available */ + /* for the operation. */ + /* */ + FT_EXPORT( FT_Error ) + FTC_Manager_LookupSize( FTC_Manager manager, + FTC_Scaler scaler, + FT_Size *asize ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FTC_Node_Unref */ + /* */ + /* <Description> */ + /* Decrement a cache node's internal reference count. When the count */ + /* reaches 0, it is not destroyed but becomes eligible for subsequent */ + /* cache flushes. */ + /* */ + /* <Input> */ + /* node :: The cache node handle. */ + /* */ + /* manager :: The cache manager handle. */ + /* */ + FT_EXPORT( void ) + FTC_Node_Unref( FTC_Node node, + FTC_Manager manager ); + + + /************************************************************************* + * + * @function: + * FTC_Manager_RemoveFaceID + * + * @description: + * A special function used to indicate to the cache manager that + * a given @FTC_FaceID is no longer valid, either because its + * content changed, or because it was deallocated or uninstalled. + * + * @input: + * manager :: + * The cache manager handle. + * + * face_id :: + * The @FTC_FaceID to be removed. + * + * @note: + * This function flushes all nodes from the cache corresponding to this + * `face_id', with the exception of nodes with a non-null reference + * count. + * + * Such nodes are however modified internally so as to never appear + * in later lookups with the same `face_id' value, and to be immediately + * destroyed when released by all their users. + * + */ + FT_EXPORT( void ) + FTC_Manager_RemoveFaceID( FTC_Manager manager, + FTC_FaceID face_id ); + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* cache_subsystem */ + /* */ + /*************************************************************************/ + + /************************************************************************* + * + * @type: + * FTC_CMapCache + * + * @description: + * An opaque handle used to model a charmap cache. This cache is to + * hold character codes -> glyph indices mappings. + * + */ + typedef struct FTC_CMapCacheRec_* FTC_CMapCache; + + + /************************************************************************* + * + * @function: + * FTC_CMapCache_New + * + * @description: + * Create a new charmap cache. + * + * @input: + * manager :: + * A handle to the cache manager. + * + * @output: + * acache :: + * A new cache handle. NULL in case of error. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * Like all other caches, this one will be destroyed with the cache + * manager. + * + */ + FT_EXPORT( FT_Error ) + FTC_CMapCache_New( FTC_Manager manager, + FTC_CMapCache *acache ); + + + /************************************************************************ + * + * @function: + * FTC_CMapCache_Lookup + * + * @description: + * Translate a character code into a glyph index, using the charmap + * cache. + * + * @input: + * cache :: + * A charmap cache handle. + * + * face_id :: + * The source face ID. + * + * cmap_index :: + * The index of the charmap in the source face. Any negative value + * means to use the cache @FT_Face's default charmap. + * + * char_code :: + * The character code (in the corresponding charmap). + * + * @return: + * Glyph index. 0~means `no glyph'. + * + */ + FT_EXPORT( FT_UInt ) + FTC_CMapCache_Lookup( FTC_CMapCache cache, + FTC_FaceID face_id, + FT_Int cmap_index, + FT_UInt32 char_code ); + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* cache_subsystem */ + /* */ + /*************************************************************************/ + + + /*************************************************************************/ + /*************************************************************************/ + /*************************************************************************/ + /***** *****/ + /***** IMAGE CACHE OBJECT *****/ + /***** *****/ + /*************************************************************************/ + /*************************************************************************/ + /*************************************************************************/ + + + /************************************************************************* + * + * @struct: + * FTC_ImageTypeRec + * + * @description: + * A structure used to model the type of images in a glyph cache. + * + * @fields: + * face_id :: + * The face ID. + * + * width :: + * The width in pixels. + * + * height :: + * The height in pixels. + * + * flags :: + * The load flags, as in @FT_Load_Glyph. + * + */ + typedef struct FTC_ImageTypeRec_ + { + FTC_FaceID face_id; + FT_Int width; + FT_Int height; + FT_Int32 flags; + + } FTC_ImageTypeRec; + + + /************************************************************************* + * + * @type: + * FTC_ImageType + * + * @description: + * A handle to an @FTC_ImageTypeRec structure. + * + */ + typedef struct FTC_ImageTypeRec_* FTC_ImageType; + + + /* */ + + +#define FTC_IMAGE_TYPE_COMPARE( d1, d2 ) \ + ( (d1)->face_id == (d2)->face_id && \ + (d1)->width == (d2)->width && \ + (d1)->flags == (d2)->flags ) + +#ifdef FT_CONFIG_OPTION_OLD_INTERNALS + + /* this macro is incompatible with LLP64, should not be used */ + +#define FTC_IMAGE_TYPE_HASH( d ) \ + (FT_UFast)( FTC_FACE_ID_HASH( (d)->face_id ) ^ \ + ( (d)->width << 8 ) ^ (d)->height ^ \ + ( (d)->flags << 4 ) ) + +#endif /* FT_CONFIG_OPTION_OLD_INTERNALS */ + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FTC_ImageCache */ + /* */ + /* <Description> */ + /* A handle to an glyph image cache object. They are designed to */ + /* hold many distinct glyph images while not exceeding a certain */ + /* memory threshold. */ + /* */ + typedef struct FTC_ImageCacheRec_* FTC_ImageCache; + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FTC_ImageCache_New */ + /* */ + /* <Description> */ + /* Create a new glyph image cache. */ + /* */ + /* <Input> */ + /* manager :: The parent manager for the image cache. */ + /* */ + /* <Output> */ + /* acache :: A handle to the new glyph image cache object. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + FT_EXPORT( FT_Error ) + FTC_ImageCache_New( FTC_Manager manager, + FTC_ImageCache *acache ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FTC_ImageCache_Lookup */ + /* */ + /* <Description> */ + /* Retrieve a given glyph image from a glyph image cache. */ + /* */ + /* <Input> */ + /* cache :: A handle to the source glyph image cache. */ + /* */ + /* type :: A pointer to a glyph image type descriptor. */ + /* */ + /* gindex :: The glyph index to retrieve. */ + /* */ + /* <Output> */ + /* aglyph :: The corresponding @FT_Glyph object. 0~in case of */ + /* failure. */ + /* */ + /* anode :: Used to return the address of of the corresponding cache */ + /* node after incrementing its reference count (see note */ + /* below). */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* The returned glyph is owned and managed by the glyph image cache. */ + /* Never try to transform or discard it manually! You can however */ + /* create a copy with @FT_Glyph_Copy and modify the new one. */ + /* */ + /* If `anode' is _not_ NULL, it receives the address of the cache */ + /* node containing the glyph image, after increasing its reference */ + /* count. This ensures that the node (as well as the @FT_Glyph) will */ + /* always be kept in the cache until you call @FTC_Node_Unref to */ + /* `release' it. */ + /* */ + /* If `anode' is NULL, the cache node is left unchanged, which means */ + /* that the @FT_Glyph could be flushed out of the cache on the next */ + /* call to one of the caching sub-system APIs. Don't assume that it */ + /* is persistent! */ + /* */ + FT_EXPORT( FT_Error ) + FTC_ImageCache_Lookup( FTC_ImageCache cache, + FTC_ImageType type, + FT_UInt gindex, + FT_Glyph *aglyph, + FTC_Node *anode ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FTC_ImageCache_LookupScaler */ + /* */ + /* <Description> */ + /* A variant of @FTC_ImageCache_Lookup that uses an @FTC_ScalerRec */ + /* to specify the face ID and its size. */ + /* */ + /* <Input> */ + /* cache :: A handle to the source glyph image cache. */ + /* */ + /* scaler :: A pointer to a scaler descriptor. */ + /* */ + /* load_flags :: The corresponding load flags. */ + /* */ + /* gindex :: The glyph index to retrieve. */ + /* */ + /* <Output> */ + /* aglyph :: The corresponding @FT_Glyph object. 0~in case of */ + /* failure. */ + /* */ + /* anode :: Used to return the address of of the corresponding */ + /* cache node after incrementing its reference count */ + /* (see note below). */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* The returned glyph is owned and managed by the glyph image cache. */ + /* Never try to transform or discard it manually! You can however */ + /* create a copy with @FT_Glyph_Copy and modify the new one. */ + /* */ + /* If `anode' is _not_ NULL, it receives the address of the cache */ + /* node containing the glyph image, after increasing its reference */ + /* count. This ensures that the node (as well as the @FT_Glyph) will */ + /* always be kept in the cache until you call @FTC_Node_Unref to */ + /* `release' it. */ + /* */ + /* If `anode' is NULL, the cache node is left unchanged, which means */ + /* that the @FT_Glyph could be flushed out of the cache on the next */ + /* call to one of the caching sub-system APIs. Don't assume that it */ + /* is persistent! */ + /* */ + /* Calls to @FT_Set_Char_Size and friends have no effect on cached */ + /* glyphs; you should always use the FreeType cache API instead. */ + /* */ + FT_EXPORT( FT_Error ) + FTC_ImageCache_LookupScaler( FTC_ImageCache cache, + FTC_Scaler scaler, + FT_ULong load_flags, + FT_UInt gindex, + FT_Glyph *aglyph, + FTC_Node *anode ); + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FTC_SBit */ + /* */ + /* <Description> */ + /* A handle to a small bitmap descriptor. See the @FTC_SBitRec */ + /* structure for details. */ + /* */ + typedef struct FTC_SBitRec_* FTC_SBit; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FTC_SBitRec */ + /* */ + /* <Description> */ + /* A very compact structure used to describe a small glyph bitmap. */ + /* */ + /* <Fields> */ + /* width :: The bitmap width in pixels. */ + /* */ + /* height :: The bitmap height in pixels. */ + /* */ + /* left :: The horizontal distance from the pen position to the */ + /* left bitmap border (a.k.a. `left side bearing', or */ + /* `lsb'). */ + /* */ + /* top :: The vertical distance from the pen position (on the */ + /* baseline) to the upper bitmap border (a.k.a. `top */ + /* side bearing'). The distance is positive for upwards */ + /* y~coordinates. */ + /* */ + /* format :: The format of the glyph bitmap (monochrome or gray). */ + /* */ + /* max_grays :: Maximum gray level value (in the range 1 to~255). */ + /* */ + /* pitch :: The number of bytes per bitmap line. May be positive */ + /* or negative. */ + /* */ + /* xadvance :: The horizontal advance width in pixels. */ + /* */ + /* yadvance :: The vertical advance height in pixels. */ + /* */ + /* buffer :: A pointer to the bitmap pixels. */ + /* */ + typedef struct FTC_SBitRec_ + { + FT_Byte width; + FT_Byte height; + FT_Char left; + FT_Char top; + + FT_Byte format; + FT_Byte max_grays; + FT_Short pitch; + FT_Char xadvance; + FT_Char yadvance; + + FT_Byte* buffer; + + } FTC_SBitRec; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FTC_SBitCache */ + /* */ + /* <Description> */ + /* A handle to a small bitmap cache. These are special cache objects */ + /* used to store small glyph bitmaps (and anti-aliased pixmaps) in a */ + /* much more efficient way than the traditional glyph image cache */ + /* implemented by @FTC_ImageCache. */ + /* */ + typedef struct FTC_SBitCacheRec_* FTC_SBitCache; + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FTC_SBitCache_New */ + /* */ + /* <Description> */ + /* Create a new cache to store small glyph bitmaps. */ + /* */ + /* <Input> */ + /* manager :: A handle to the source cache manager. */ + /* */ + /* <Output> */ + /* acache :: A handle to the new sbit cache. NULL in case of error. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + FT_EXPORT( FT_Error ) + FTC_SBitCache_New( FTC_Manager manager, + FTC_SBitCache *acache ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FTC_SBitCache_Lookup */ + /* */ + /* <Description> */ + /* Look up a given small glyph bitmap in a given sbit cache and */ + /* `lock' it to prevent its flushing from the cache until needed. */ + /* */ + /* <Input> */ + /* cache :: A handle to the source sbit cache. */ + /* */ + /* type :: A pointer to the glyph image type descriptor. */ + /* */ + /* gindex :: The glyph index. */ + /* */ + /* <Output> */ + /* sbit :: A handle to a small bitmap descriptor. */ + /* */ + /* anode :: Used to return the address of of the corresponding cache */ + /* node after incrementing its reference count (see note */ + /* below). */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* The small bitmap descriptor and its bit buffer are owned by the */ + /* cache and should never be freed by the application. They might */ + /* as well disappear from memory on the next cache lookup, so don't */ + /* treat them as persistent data. */ + /* */ + /* The descriptor's `buffer' field is set to~0 to indicate a missing */ + /* glyph bitmap. */ + /* */ + /* If `anode' is _not_ NULL, it receives the address of the cache */ + /* node containing the bitmap, after increasing its reference count. */ + /* This ensures that the node (as well as the image) will always be */ + /* kept in the cache until you call @FTC_Node_Unref to `release' it. */ + /* */ + /* If `anode' is NULL, the cache node is left unchanged, which means */ + /* that the bitmap could be flushed out of the cache on the next */ + /* call to one of the caching sub-system APIs. Don't assume that it */ + /* is persistent! */ + /* */ + FT_EXPORT( FT_Error ) + FTC_SBitCache_Lookup( FTC_SBitCache cache, + FTC_ImageType type, + FT_UInt gindex, + FTC_SBit *sbit, + FTC_Node *anode ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FTC_SBitCache_LookupScaler */ + /* */ + /* <Description> */ + /* A variant of @FTC_SBitCache_Lookup that uses an @FTC_ScalerRec */ + /* to specify the face ID and its size. */ + /* */ + /* <Input> */ + /* cache :: A handle to the source sbit cache. */ + /* */ + /* scaler :: A pointer to the scaler descriptor. */ + /* */ + /* load_flags :: The corresponding load flags. */ + /* */ + /* gindex :: The glyph index. */ + /* */ + /* <Output> */ + /* sbit :: A handle to a small bitmap descriptor. */ + /* */ + /* anode :: Used to return the address of of the corresponding */ + /* cache node after incrementing its reference count */ + /* (see note below). */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* The small bitmap descriptor and its bit buffer are owned by the */ + /* cache and should never be freed by the application. They might */ + /* as well disappear from memory on the next cache lookup, so don't */ + /* treat them as persistent data. */ + /* */ + /* The descriptor's `buffer' field is set to~0 to indicate a missing */ + /* glyph bitmap. */ + /* */ + /* If `anode' is _not_ NULL, it receives the address of the cache */ + /* node containing the bitmap, after increasing its reference count. */ + /* This ensures that the node (as well as the image) will always be */ + /* kept in the cache until you call @FTC_Node_Unref to `release' it. */ + /* */ + /* If `anode' is NULL, the cache node is left unchanged, which means */ + /* that the bitmap could be flushed out of the cache on the next */ + /* call to one of the caching sub-system APIs. Don't assume that it */ + /* is persistent! */ + /* */ + FT_EXPORT( FT_Error ) + FTC_SBitCache_LookupScaler( FTC_SBitCache cache, + FTC_Scaler scaler, + FT_ULong load_flags, + FT_UInt gindex, + FTC_SBit *sbit, + FTC_Node *anode ); + + + /* */ + +#ifdef FT_CONFIG_OPTION_OLD_INTERNALS + + /*@***********************************************************************/ + /* */ + /* <Struct> */ + /* FTC_FontRec */ + /* */ + /* <Description> */ + /* A simple structure used to describe a given `font' to the cache */ + /* manager. Note that a `font' is the combination of a given face */ + /* with a given character size. */ + /* */ + /* <Fields> */ + /* face_id :: The ID of the face to use. */ + /* */ + /* pix_width :: The character width in integer pixels. */ + /* */ + /* pix_height :: The character height in integer pixels. */ + /* */ + typedef struct FTC_FontRec_ + { + FTC_FaceID face_id; + FT_UShort pix_width; + FT_UShort pix_height; + + } FTC_FontRec; + + + /* */ + + +#define FTC_FONT_COMPARE( f1, f2 ) \ + ( (f1)->face_id == (f2)->face_id && \ + (f1)->pix_width == (f2)->pix_width && \ + (f1)->pix_height == (f2)->pix_height ) + + /* this macro is incompatible with LLP64, should not be used */ +#define FTC_FONT_HASH( f ) \ + (FT_UInt32)( FTC_FACE_ID_HASH((f)->face_id) ^ \ + ((f)->pix_width << 8) ^ \ + ((f)->pix_height) ) + + typedef FTC_FontRec* FTC_Font; + + + FT_EXPORT( FT_Error ) + FTC_Manager_Lookup_Face( FTC_Manager manager, + FTC_FaceID face_id, + FT_Face *aface ); + + FT_EXPORT( FT_Error ) + FTC_Manager_Lookup_Size( FTC_Manager manager, + FTC_Font font, + FT_Face *aface, + FT_Size *asize ); + +#endif /* FT_CONFIG_OPTION_OLD_INTERNALS */ + + + /* */ + +FT_END_HEADER + +#endif /* __FTCACHE_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftchapters.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftchapters.h new file mode 100644 index 00000000..984eef37 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftchapters.h @@ -0,0 +1,118 @@ +/***************************************************************************/ +/* */ +/* This file defines the structure of the FreeType reference. */ +/* It is used by the python script which generates the HTML files. */ +/* */ +/***************************************************************************/ + + +/***************************************************************************/ +/* */ +/* <Chapter> */ +/* general_remarks */ +/* */ +/* <Title> */ +/* General Remarks */ +/* */ +/* <Sections> */ +/* user_allocation */ +/* */ +/***************************************************************************/ + + +/***************************************************************************/ +/* */ +/* <Chapter> */ +/* core_api */ +/* */ +/* <Title> */ +/* Core API */ +/* */ +/* <Sections> */ +/* version */ +/* basic_types */ +/* base_interface */ +/* glyph_variants */ +/* glyph_management */ +/* mac_specific */ +/* sizes_management */ +/* header_file_macros */ +/* */ +/***************************************************************************/ + + +/***************************************************************************/ +/* */ +/* <Chapter> */ +/* format_specific */ +/* */ +/* <Title> */ +/* Format-Specific API */ +/* */ +/* <Sections> */ +/* multiple_masters */ +/* truetype_tables */ +/* type1_tables */ +/* sfnt_names */ +/* bdf_fonts */ +/* cid_fonts */ +/* pfr_fonts */ +/* winfnt_fonts */ +/* font_formats */ +/* gasp_table */ +/* */ +/***************************************************************************/ + + +/***************************************************************************/ +/* */ +/* <Chapter> */ +/* auto_hinter */ +/* */ +/* <Title> */ +/* The Auto-Hinter */ +/* */ +/* <Sections> */ +/* auto_hinter */ +/* */ +/***************************************************************************/ + + +/***************************************************************************/ +/* */ +/* <Chapter> */ +/* cache_subsystem */ +/* */ +/* <Title> */ +/* Cache Sub-System */ +/* */ +/* <Sections> */ +/* cache_subsystem */ +/* */ +/***************************************************************************/ + + +/***************************************************************************/ +/* */ +/* <Chapter> */ +/* support_api */ +/* */ +/* <Title> */ +/* Support API */ +/* */ +/* <Sections> */ +/* computations */ +/* list_processing */ +/* outline_processing */ +/* quick_advance */ +/* bitmap_handling */ +/* raster */ +/* glyph_stroker */ +/* system_interface */ +/* module_management */ +/* gzip */ +/* lzw */ +/* bzip2 */ +/* lcd_filtering */ +/* */ +/***************************************************************************/ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftcid.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftcid.h new file mode 100644 index 00000000..203a30ca --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftcid.h @@ -0,0 +1,166 @@ +/***************************************************************************/ +/* */ +/* ftcid.h */ +/* */ +/* FreeType API for accessing CID font information (specification). */ +/* */ +/* Copyright 2007, 2009 by Dereg Clegg, Michael Toftdal. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __FTCID_H__ +#define __FTCID_H__ + +#include <ft2build.h> +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* cid_fonts */ + /* */ + /* <Title> */ + /* CID Fonts */ + /* */ + /* <Abstract> */ + /* CID-keyed font specific API. */ + /* */ + /* <Description> */ + /* This section contains the declaration of CID-keyed font specific */ + /* functions. */ + /* */ + /*************************************************************************/ + + + /********************************************************************** + * + * @function: + * FT_Get_CID_Registry_Ordering_Supplement + * + * @description: + * Retrieve the Registry/Ordering/Supplement triple (also known as the + * "R/O/S") from a CID-keyed font. + * + * @input: + * face :: + * A handle to the input face. + * + * @output: + * registry :: + * The registry, as a C~string, owned by the face. + * + * ordering :: + * The ordering, as a C~string, owned by the face. + * + * supplement :: + * The supplement. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This function only works with CID faces, returning an error + * otherwise. + * + * @since: + * 2.3.6 + */ + FT_EXPORT( FT_Error ) + FT_Get_CID_Registry_Ordering_Supplement( FT_Face face, + const char* *registry, + const char* *ordering, + FT_Int *supplement); + + + /********************************************************************** + * + * @function: + * FT_Get_CID_Is_Internally_CID_Keyed + * + * @description: + * Retrieve the type of the input face, CID keyed or not. In + * constrast to the @FT_IS_CID_KEYED macro this function returns + * successfully also for CID-keyed fonts in an SNFT wrapper. + * + * @input: + * face :: + * A handle to the input face. + * + * @output: + * is_cid :: + * The type of the face as an @FT_Bool. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This function only works with CID faces and OpenType fonts, + * returning an error otherwise. + * + * @since: + * 2.3.9 + */ + FT_EXPORT( FT_Error ) + FT_Get_CID_Is_Internally_CID_Keyed( FT_Face face, + FT_Bool *is_cid ); + + + /********************************************************************** + * + * @function: + * FT_Get_CID_From_Glyph_Index + * + * @description: + * Retrieve the CID of the input glyph index. + * + * @input: + * face :: + * A handle to the input face. + * + * glyph_index :: + * The input glyph index. + * + * @output: + * cid :: + * The CID as an @FT_UInt. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This function only works with CID faces and OpenType fonts, + * returning an error otherwise. + * + * @since: + * 2.3.9 + */ + FT_EXPORT( FT_Error ) + FT_Get_CID_From_Glyph_Index( FT_Face face, + FT_UInt glyph_index, + FT_UInt *cid ); + + /* */ + +FT_END_HEADER + +#endif /* __FTCID_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/fterrdef.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/fterrdef.h new file mode 100644 index 00000000..bb06d79e --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/fterrdef.h @@ -0,0 +1,247 @@ +/***************************************************************************/ +/* */ +/* fterrdef.h */ +/* */ +/* FreeType error codes (specification). */ +/* */ +/* Copyright 2002, 2004, 2006, 2007, 2010-2012 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + + /*******************************************************************/ + /*******************************************************************/ + /***** *****/ + /***** LIST OF ERROR CODES/MESSAGES *****/ + /***** *****/ + /*******************************************************************/ + /*******************************************************************/ + + + /* You need to define both FT_ERRORDEF_ and FT_NOERRORDEF_ before */ + /* including this file. */ + + + /* generic errors */ + + FT_NOERRORDEF_( Ok, 0x00, \ + "no error" ) + + FT_ERRORDEF_( Cannot_Open_Resource, 0x01, \ + "cannot open resource" ) + FT_ERRORDEF_( Unknown_File_Format, 0x02, \ + "unknown file format" ) + FT_ERRORDEF_( Invalid_File_Format, 0x03, \ + "broken file" ) + FT_ERRORDEF_( Invalid_Version, 0x04, \ + "invalid FreeType version" ) + FT_ERRORDEF_( Lower_Module_Version, 0x05, \ + "module version is too low" ) + FT_ERRORDEF_( Invalid_Argument, 0x06, \ + "invalid argument" ) + FT_ERRORDEF_( Unimplemented_Feature, 0x07, \ + "unimplemented feature" ) + FT_ERRORDEF_( Invalid_Table, 0x08, \ + "broken table" ) + FT_ERRORDEF_( Invalid_Offset, 0x09, \ + "broken offset within table" ) + FT_ERRORDEF_( Array_Too_Large, 0x0A, \ + "array allocation size too large" ) + FT_ERRORDEF_( Missing_Module, 0x0B, \ + "missing module" ) + FT_ERRORDEF_( Missing_Property, 0x0C, \ + "missing property" ) + + /* glyph/character errors */ + + FT_ERRORDEF_( Invalid_Glyph_Index, 0x10, \ + "invalid glyph index" ) + FT_ERRORDEF_( Invalid_Character_Code, 0x11, \ + "invalid character code" ) + FT_ERRORDEF_( Invalid_Glyph_Format, 0x12, \ + "unsupported glyph image format" ) + FT_ERRORDEF_( Cannot_Render_Glyph, 0x13, \ + "cannot render this glyph format" ) + FT_ERRORDEF_( Invalid_Outline, 0x14, \ + "invalid outline" ) + FT_ERRORDEF_( Invalid_Composite, 0x15, \ + "invalid composite glyph" ) + FT_ERRORDEF_( Too_Many_Hints, 0x16, \ + "too many hints" ) + FT_ERRORDEF_( Invalid_Pixel_Size, 0x17, \ + "invalid pixel size" ) + + /* handle errors */ + + FT_ERRORDEF_( Invalid_Handle, 0x20, \ + "invalid object handle" ) + FT_ERRORDEF_( Invalid_Library_Handle, 0x21, \ + "invalid library handle" ) + FT_ERRORDEF_( Invalid_Driver_Handle, 0x22, \ + "invalid module handle" ) + FT_ERRORDEF_( Invalid_Face_Handle, 0x23, \ + "invalid face handle" ) + FT_ERRORDEF_( Invalid_Size_Handle, 0x24, \ + "invalid size handle" ) + FT_ERRORDEF_( Invalid_Slot_Handle, 0x25, \ + "invalid glyph slot handle" ) + FT_ERRORDEF_( Invalid_CharMap_Handle, 0x26, \ + "invalid charmap handle" ) + FT_ERRORDEF_( Invalid_Cache_Handle, 0x27, \ + "invalid cache manager handle" ) + FT_ERRORDEF_( Invalid_Stream_Handle, 0x28, \ + "invalid stream handle" ) + + /* driver errors */ + + FT_ERRORDEF_( Too_Many_Drivers, 0x30, \ + "too many modules" ) + FT_ERRORDEF_( Too_Many_Extensions, 0x31, \ + "too many extensions" ) + + /* memory errors */ + + FT_ERRORDEF_( Out_Of_Memory, 0x40, \ + "out of memory" ) + FT_ERRORDEF_( Unlisted_Object, 0x41, \ + "unlisted object" ) + + /* stream errors */ + + FT_ERRORDEF_( Cannot_Open_Stream, 0x51, \ + "cannot open stream" ) + FT_ERRORDEF_( Invalid_Stream_Seek, 0x52, \ + "invalid stream seek" ) + FT_ERRORDEF_( Invalid_Stream_Skip, 0x53, \ + "invalid stream skip" ) + FT_ERRORDEF_( Invalid_Stream_Read, 0x54, \ + "invalid stream read" ) + FT_ERRORDEF_( Invalid_Stream_Operation, 0x55, \ + "invalid stream operation" ) + FT_ERRORDEF_( Invalid_Frame_Operation, 0x56, \ + "invalid frame operation" ) + FT_ERRORDEF_( Nested_Frame_Access, 0x57, \ + "nested frame access" ) + FT_ERRORDEF_( Invalid_Frame_Read, 0x58, \ + "invalid frame read" ) + + /* raster errors */ + + FT_ERRORDEF_( Raster_Uninitialized, 0x60, \ + "raster uninitialized" ) + FT_ERRORDEF_( Raster_Corrupted, 0x61, \ + "raster corrupted" ) + FT_ERRORDEF_( Raster_Overflow, 0x62, \ + "raster overflow" ) + FT_ERRORDEF_( Raster_Negative_Height, 0x63, \ + "negative height while rastering" ) + + /* cache errors */ + + FT_ERRORDEF_( Too_Many_Caches, 0x70, \ + "too many registered caches" ) + + /* TrueType and SFNT errors */ + + FT_ERRORDEF_( Invalid_Opcode, 0x80, \ + "invalid opcode" ) + FT_ERRORDEF_( Too_Few_Arguments, 0x81, \ + "too few arguments" ) + FT_ERRORDEF_( Stack_Overflow, 0x82, \ + "stack overflow" ) + FT_ERRORDEF_( Code_Overflow, 0x83, \ + "code overflow" ) + FT_ERRORDEF_( Bad_Argument, 0x84, \ + "bad argument" ) + FT_ERRORDEF_( Divide_By_Zero, 0x85, \ + "division by zero" ) + FT_ERRORDEF_( Invalid_Reference, 0x86, \ + "invalid reference" ) + FT_ERRORDEF_( Debug_OpCode, 0x87, \ + "found debug opcode" ) + FT_ERRORDEF_( ENDF_In_Exec_Stream, 0x88, \ + "found ENDF opcode in execution stream" ) + FT_ERRORDEF_( Nested_DEFS, 0x89, \ + "nested DEFS" ) + FT_ERRORDEF_( Invalid_CodeRange, 0x8A, \ + "invalid code range" ) + FT_ERRORDEF_( Execution_Too_Long, 0x8B, \ + "execution context too long" ) + FT_ERRORDEF_( Too_Many_Function_Defs, 0x8C, \ + "too many function definitions" ) + FT_ERRORDEF_( Too_Many_Instruction_Defs, 0x8D, \ + "too many instruction definitions" ) + FT_ERRORDEF_( Table_Missing, 0x8E, \ + "SFNT font table missing" ) + FT_ERRORDEF_( Horiz_Header_Missing, 0x8F, \ + "horizontal header (hhea) table missing" ) + FT_ERRORDEF_( Locations_Missing, 0x90, \ + "locations (loca) table missing" ) + FT_ERRORDEF_( Name_Table_Missing, 0x91, \ + "name table missing" ) + FT_ERRORDEF_( CMap_Table_Missing, 0x92, \ + "character map (cmap) table missing" ) + FT_ERRORDEF_( Hmtx_Table_Missing, 0x93, \ + "horizontal metrics (hmtx) table missing" ) + FT_ERRORDEF_( Post_Table_Missing, 0x94, \ + "PostScript (post) table missing" ) + FT_ERRORDEF_( Invalid_Horiz_Metrics, 0x95, \ + "invalid horizontal metrics" ) + FT_ERRORDEF_( Invalid_CharMap_Format, 0x96, \ + "invalid character map (cmap) format" ) + FT_ERRORDEF_( Invalid_PPem, 0x97, \ + "invalid ppem value" ) + FT_ERRORDEF_( Invalid_Vert_Metrics, 0x98, \ + "invalid vertical metrics" ) + FT_ERRORDEF_( Could_Not_Find_Context, 0x99, \ + "could not find context" ) + FT_ERRORDEF_( Invalid_Post_Table_Format, 0x9A, \ + "invalid PostScript (post) table format" ) + FT_ERRORDEF_( Invalid_Post_Table, 0x9B, \ + "invalid PostScript (post) table" ) + + /* CFF, CID, and Type 1 errors */ + + FT_ERRORDEF_( Syntax_Error, 0xA0, \ + "opcode syntax error" ) + FT_ERRORDEF_( Stack_Underflow, 0xA1, \ + "argument stack underflow" ) + FT_ERRORDEF_( Ignore, 0xA2, \ + "ignore" ) + FT_ERRORDEF_( No_Unicode_Glyph_Name, 0xA3, \ + "no Unicode glyph name found" ) + + /* BDF errors */ + + FT_ERRORDEF_( Missing_Startfont_Field, 0xB0, \ + "`STARTFONT' field missing" ) + FT_ERRORDEF_( Missing_Font_Field, 0xB1, \ + "`FONT' field missing" ) + FT_ERRORDEF_( Missing_Size_Field, 0xB2, \ + "`SIZE' field missing" ) + FT_ERRORDEF_( Missing_Fontboundingbox_Field, 0xB3, \ + "`FONTBOUNDINGBOX' field missing" ) + FT_ERRORDEF_( Missing_Chars_Field, 0xB4, \ + "`CHARS' field missing" ) + FT_ERRORDEF_( Missing_Startchar_Field, 0xB5, \ + "`STARTCHAR' field missing" ) + FT_ERRORDEF_( Missing_Encoding_Field, 0xB6, \ + "`ENCODING' field missing" ) + FT_ERRORDEF_( Missing_Bbx_Field, 0xB7, \ + "`BBX' field missing" ) + FT_ERRORDEF_( Bbx_Too_Big, 0xB8, \ + "`BBX' too big" ) + FT_ERRORDEF_( Corrupted_Font_Header, 0xB9, \ + "Font header corrupted or missing fields" ) + FT_ERRORDEF_( Corrupted_Font_Glyphs, 0xBA, \ + "Font glyphs corrupted or missing fields" ) + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/fterrors.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/fterrors.h new file mode 100644 index 00000000..a54699f8 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/fterrors.h @@ -0,0 +1,207 @@ +/***************************************************************************/ +/* */ +/* fterrors.h */ +/* */ +/* FreeType error code handling (specification). */ +/* */ +/* Copyright 1996-2001, 2002, 2004, 2007 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + + /*************************************************************************/ + /* */ + /* This special header file is used to define the handling of FT2 */ + /* enumeration constants. It can also be used to generate error message */ + /* strings with a small macro trick explained below. */ + /* */ + /* I - Error Formats */ + /* ----------------- */ + /* */ + /* The configuration macro FT_CONFIG_OPTION_USE_MODULE_ERRORS can be */ + /* defined in ftoption.h in order to make the higher byte indicate */ + /* the module where the error has happened (this is not compatible */ + /* with standard builds of FreeType 2). You can then use the macro */ + /* FT_ERROR_BASE macro to extract the generic error code from an */ + /* FT_Error value. */ + /* */ + /* */ + /* II - Error Message strings */ + /* -------------------------- */ + /* */ + /* The error definitions below are made through special macros that */ + /* allow client applications to build a table of error message strings */ + /* if they need it. The strings are not included in a normal build of */ + /* FreeType 2 to save space (most client applications do not use */ + /* them). */ + /* */ + /* To do so, you have to define the following macros before including */ + /* this file: */ + /* */ + /* FT_ERROR_START_LIST :: */ + /* This macro is called before anything else to define the start of */ + /* the error list. It is followed by several FT_ERROR_DEF calls */ + /* (see below). */ + /* */ + /* FT_ERROR_DEF( e, v, s ) :: */ + /* This macro is called to define one single error. */ + /* `e' is the error code identifier (e.g. FT_Err_Invalid_Argument). */ + /* `v' is the error numerical value. */ + /* `s' is the corresponding error string. */ + /* */ + /* FT_ERROR_END_LIST :: */ + /* This macro ends the list. */ + /* */ + /* Additionally, you have to undefine __FTERRORS_H__ before #including */ + /* this file. */ + /* */ + /* Here is a simple example: */ + /* */ + /* { */ + /* #undef __FTERRORS_H__ */ + /* #define FT_ERRORDEF( e, v, s ) { e, s }, */ + /* #define FT_ERROR_START_LIST { */ + /* #define FT_ERROR_END_LIST { 0, 0 } }; */ + /* */ + /* const struct */ + /* { */ + /* int err_code; */ + /* const char* err_msg; */ + /* } ft_errors[] = */ + /* */ + /* #include FT_ERRORS_H */ + /* } */ + /* */ + /*************************************************************************/ + + +#ifndef __FTERRORS_H__ +#define __FTERRORS_H__ + + + /* include module base error codes */ +#include FT_MODULE_ERRORS_H + + + /*******************************************************************/ + /*******************************************************************/ + /***** *****/ + /***** SETUP MACROS *****/ + /***** *****/ + /*******************************************************************/ + /*******************************************************************/ + + +#undef FT_NEED_EXTERN_C + +#undef FT_ERR_XCAT +#undef FT_ERR_CAT + +#define FT_ERR_XCAT( x, y ) x ## y +#define FT_ERR_CAT( x, y ) FT_ERR_XCAT( x, y ) + + + /* FT_ERR_PREFIX is used as a prefix for error identifiers. */ + /* By default, we use `FT_Err_'. */ + /* */ +#ifndef FT_ERR_PREFIX +#define FT_ERR_PREFIX FT_Err_ +#endif + + + /* FT_ERR_BASE is used as the base for module-specific errors. */ + /* */ +#ifdef FT_CONFIG_OPTION_USE_MODULE_ERRORS + +#ifndef FT_ERR_BASE +#define FT_ERR_BASE FT_Mod_Err_Base +#endif + +#else + +#undef FT_ERR_BASE +#define FT_ERR_BASE 0 + +#endif /* FT_CONFIG_OPTION_USE_MODULE_ERRORS */ + + + /* If FT_ERRORDEF is not defined, we need to define a simple */ + /* enumeration type. */ + /* */ +#ifndef FT_ERRORDEF + +#define FT_ERRORDEF( e, v, s ) e = v, +#define FT_ERROR_START_LIST enum { +#define FT_ERROR_END_LIST FT_ERR_CAT( FT_ERR_PREFIX, Max ) }; + +#ifdef __cplusplus +#define FT_NEED_EXTERN_C + extern "C" { +#endif + +#endif /* !FT_ERRORDEF */ + + + /* this macro is used to define an error */ +#define FT_ERRORDEF_( e, v, s ) \ + FT_ERRORDEF( FT_ERR_CAT( FT_ERR_PREFIX, e ), v + FT_ERR_BASE, s ) + + /* this is only used for <module>_Err_Ok, which must be 0! */ +#define FT_NOERRORDEF_( e, v, s ) \ + FT_ERRORDEF( FT_ERR_CAT( FT_ERR_PREFIX, e ), v, s ) + + +#ifdef FT_ERROR_START_LIST + FT_ERROR_START_LIST +#endif + + + /* now include the error codes */ +#include FT_ERROR_DEFINITIONS_H + + +#ifdef FT_ERROR_END_LIST + FT_ERROR_END_LIST +#endif + + + /*******************************************************************/ + /*******************************************************************/ + /***** *****/ + /***** SIMPLE CLEANUP *****/ + /***** *****/ + /*******************************************************************/ + /*******************************************************************/ + +#ifdef FT_NEED_EXTERN_C + } +#endif + +#undef FT_ERROR_START_LIST +#undef FT_ERROR_END_LIST + +#undef FT_ERRORDEF +#undef FT_ERRORDEF_ +#undef FT_NOERRORDEF_ + +#undef FT_NEED_EXTERN_C +#undef FT_ERR_BASE + + /* FT_KEEP_ERR_PREFIX is needed for ftvalid.h */ +#ifndef FT_KEEP_ERR_PREFIX +#undef FT_ERR_PREFIX +#else +#undef FT_KEEP_ERR_PREFIX +#endif + +#endif /* __FTERRORS_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftgasp.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftgasp.h new file mode 100644 index 00000000..453d4fa4 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftgasp.h @@ -0,0 +1,128 @@ +/***************************************************************************/ +/* */ +/* ftgasp.h */ +/* */ +/* Access of TrueType's `gasp' table (specification). */ +/* */ +/* Copyright 2007, 2008, 2011 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef _FT_GASP_H_ +#define _FT_GASP_H_ + +#include <ft2build.h> +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + + /*************************************************************************** + * + * @section: + * gasp_table + * + * @title: + * Gasp Table + * + * @abstract: + * Retrieving TrueType `gasp' table entries. + * + * @description: + * The function @FT_Get_Gasp can be used to query a TrueType or OpenType + * font for specific entries in its `gasp' table, if any. This is + * mainly useful when implementing native TrueType hinting with the + * bytecode interpreter to duplicate the Windows text rendering results. + */ + + /************************************************************************* + * + * @enum: + * FT_GASP_XXX + * + * @description: + * A list of values and/or bit-flags returned by the @FT_Get_Gasp + * function. + * + * @values: + * FT_GASP_NO_TABLE :: + * This special value means that there is no GASP table in this face. + * It is up to the client to decide what to do. + * + * FT_GASP_DO_GRIDFIT :: + * Grid-fitting and hinting should be performed at the specified ppem. + * This *really* means TrueType bytecode interpretation. If this bit + * is not set, no hinting gets applied. + * + * FT_GASP_DO_GRAY :: + * Anti-aliased rendering should be performed at the specified ppem. + * If not set, do monochrome rendering. + * + * FT_GASP_SYMMETRIC_SMOOTHING :: + * If set, smoothing along multiple axes must be used with ClearType. + * + * FT_GASP_SYMMETRIC_GRIDFIT :: + * Grid-fitting must be used with ClearType's symmetric smoothing. + * + * @note: + * The bit-flags `FT_GASP_DO_GRIDFIT' and `FT_GASP_DO_GRAY' are to be + * used for standard font rasterization only. Independently of that, + * `FT_GASP_SYMMETRIC_SMOOTHING' and `FT_GASP_SYMMETRIC_GRIDFIT' are to + * be used if ClearType is enabled (and `FT_GASP_DO_GRIDFIT' and + * `FT_GASP_DO_GRAY' are consequently ignored). + * + * `ClearType' is Microsoft's implementation of LCD rendering, partly + * protected by patents. + * + * @since: + * 2.3.0 + */ +#define FT_GASP_NO_TABLE -1 +#define FT_GASP_DO_GRIDFIT 0x01 +#define FT_GASP_DO_GRAY 0x02 +#define FT_GASP_SYMMETRIC_SMOOTHING 0x08 +#define FT_GASP_SYMMETRIC_GRIDFIT 0x10 + + + /************************************************************************* + * + * @func: + * FT_Get_Gasp + * + * @description: + * Read the `gasp' table from a TrueType or OpenType font file and + * return the entry corresponding to a given character pixel size. + * + * @input: + * face :: The source face handle. + * ppem :: The vertical character pixel size. + * + * @return: + * Bit flags (see @FT_GASP_XXX), or @FT_GASP_NO_TABLE if there is no + * `gasp' table in the face. + * + * @since: + * 2.3.0 + */ + FT_EXPORT( FT_Int ) + FT_Get_Gasp( FT_Face face, + FT_UInt ppem ); + +/* */ + +#endif /* _FT_GASP_H_ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftglyph.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftglyph.h new file mode 100644 index 00000000..3de69f7a --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftglyph.h @@ -0,0 +1,620 @@ +/***************************************************************************/ +/* */ +/* ftglyph.h */ +/* */ +/* FreeType convenience functions to handle glyphs (specification). */ +/* */ +/* Copyright 1996-2003, 2006, 2008, 2009, 2011 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + + /*************************************************************************/ + /* */ + /* This file contains the definition of several convenience functions */ + /* that can be used by client applications to easily retrieve glyph */ + /* bitmaps and outlines from a given face. */ + /* */ + /* These functions should be optional if you are writing a font server */ + /* or text layout engine on top of FreeType. However, they are pretty */ + /* handy for many other simple uses of the library. */ + /* */ + /*************************************************************************/ + + +#ifndef __FTGLYPH_H__ +#define __FTGLYPH_H__ + + +#include <ft2build.h> +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* glyph_management */ + /* */ + /* <Title> */ + /* Glyph Management */ + /* */ + /* <Abstract> */ + /* Generic interface to manage individual glyph data. */ + /* */ + /* <Description> */ + /* This section contains definitions used to manage glyph data */ + /* through generic FT_Glyph objects. Each of them can contain a */ + /* bitmap, a vector outline, or even images in other formats. */ + /* */ + /*************************************************************************/ + + + /* forward declaration to a private type */ + typedef struct FT_Glyph_Class_ FT_Glyph_Class; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_Glyph */ + /* */ + /* <Description> */ + /* Handle to an object used to model generic glyph images. It is a */ + /* pointer to the @FT_GlyphRec structure and can contain a glyph */ + /* bitmap or pointer. */ + /* */ + /* <Note> */ + /* Glyph objects are not owned by the library. You must thus release */ + /* them manually (through @FT_Done_Glyph) _before_ calling */ + /* @FT_Done_FreeType. */ + /* */ + typedef struct FT_GlyphRec_* FT_Glyph; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_GlyphRec */ + /* */ + /* <Description> */ + /* The root glyph structure contains a given glyph image plus its */ + /* advance width in 16.16 fixed float format. */ + /* */ + /* <Fields> */ + /* library :: A handle to the FreeType library object. */ + /* */ + /* clazz :: A pointer to the glyph's class. Private. */ + /* */ + /* format :: The format of the glyph's image. */ + /* */ + /* advance :: A 16.16 vector that gives the glyph's advance width. */ + /* */ + typedef struct FT_GlyphRec_ + { + FT_Library library; + const FT_Glyph_Class* clazz; + FT_Glyph_Format format; + FT_Vector advance; + + } FT_GlyphRec; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_BitmapGlyph */ + /* */ + /* <Description> */ + /* A handle to an object used to model a bitmap glyph image. This is */ + /* a sub-class of @FT_Glyph, and a pointer to @FT_BitmapGlyphRec. */ + /* */ + typedef struct FT_BitmapGlyphRec_* FT_BitmapGlyph; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_BitmapGlyphRec */ + /* */ + /* <Description> */ + /* A structure used for bitmap glyph images. This really is a */ + /* `sub-class' of @FT_GlyphRec. */ + /* */ + /* <Fields> */ + /* root :: The root @FT_Glyph fields. */ + /* */ + /* left :: The left-side bearing, i.e., the horizontal distance */ + /* from the current pen position to the left border of the */ + /* glyph bitmap. */ + /* */ + /* top :: The top-side bearing, i.e., the vertical distance from */ + /* the current pen position to the top border of the glyph */ + /* bitmap. This distance is positive for upwards~y! */ + /* */ + /* bitmap :: A descriptor for the bitmap. */ + /* */ + /* <Note> */ + /* You can typecast an @FT_Glyph to @FT_BitmapGlyph if you have */ + /* `glyph->format == FT_GLYPH_FORMAT_BITMAP'. This lets you access */ + /* the bitmap's contents easily. */ + /* */ + /* The corresponding pixel buffer is always owned by @FT_BitmapGlyph */ + /* and is thus created and destroyed with it. */ + /* */ + typedef struct FT_BitmapGlyphRec_ + { + FT_GlyphRec root; + FT_Int left; + FT_Int top; + FT_Bitmap bitmap; + + } FT_BitmapGlyphRec; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_OutlineGlyph */ + /* */ + /* <Description> */ + /* A handle to an object used to model an outline glyph image. This */ + /* is a sub-class of @FT_Glyph, and a pointer to @FT_OutlineGlyphRec. */ + /* */ + typedef struct FT_OutlineGlyphRec_* FT_OutlineGlyph; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_OutlineGlyphRec */ + /* */ + /* <Description> */ + /* A structure used for outline (vectorial) glyph images. This */ + /* really is a `sub-class' of @FT_GlyphRec. */ + /* */ + /* <Fields> */ + /* root :: The root @FT_Glyph fields. */ + /* */ + /* outline :: A descriptor for the outline. */ + /* */ + /* <Note> */ + /* You can typecast an @FT_Glyph to @FT_OutlineGlyph if you have */ + /* `glyph->format == FT_GLYPH_FORMAT_OUTLINE'. This lets you access */ + /* the outline's content easily. */ + /* */ + /* As the outline is extracted from a glyph slot, its coordinates are */ + /* expressed normally in 26.6 pixels, unless the flag */ + /* @FT_LOAD_NO_SCALE was used in @FT_Load_Glyph() or @FT_Load_Char(). */ + /* */ + /* The outline's tables are always owned by the object and are */ + /* destroyed with it. */ + /* */ + typedef struct FT_OutlineGlyphRec_ + { + FT_GlyphRec root; + FT_Outline outline; + + } FT_OutlineGlyphRec; + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Get_Glyph */ + /* */ + /* <Description> */ + /* A function used to extract a glyph image from a slot. Note that */ + /* the created @FT_Glyph object must be released with @FT_Done_Glyph. */ + /* */ + /* <Input> */ + /* slot :: A handle to the source glyph slot. */ + /* */ + /* <Output> */ + /* aglyph :: A handle to the glyph object. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Get_Glyph( FT_GlyphSlot slot, + FT_Glyph *aglyph ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Glyph_Copy */ + /* */ + /* <Description> */ + /* A function used to copy a glyph image. Note that the created */ + /* @FT_Glyph object must be released with @FT_Done_Glyph. */ + /* */ + /* <Input> */ + /* source :: A handle to the source glyph object. */ + /* */ + /* <Output> */ + /* target :: A handle to the target glyph object. 0~in case of */ + /* error. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Glyph_Copy( FT_Glyph source, + FT_Glyph *target ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Glyph_Transform */ + /* */ + /* <Description> */ + /* Transform a glyph image if its format is scalable. */ + /* */ + /* <InOut> */ + /* glyph :: A handle to the target glyph object. */ + /* */ + /* <Input> */ + /* matrix :: A pointer to a 2x2 matrix to apply. */ + /* */ + /* delta :: A pointer to a 2d vector to apply. Coordinates are */ + /* expressed in 1/64th of a pixel. */ + /* */ + /* <Return> */ + /* FreeType error code (if not 0, the glyph format is not scalable). */ + /* */ + /* <Note> */ + /* The 2x2 transformation matrix is also applied to the glyph's */ + /* advance vector. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Glyph_Transform( FT_Glyph glyph, + FT_Matrix* matrix, + FT_Vector* delta ); + + + /*************************************************************************/ + /* */ + /* <Enum> */ + /* FT_Glyph_BBox_Mode */ + /* */ + /* <Description> */ + /* The mode how the values of @FT_Glyph_Get_CBox are returned. */ + /* */ + /* <Values> */ + /* FT_GLYPH_BBOX_UNSCALED :: */ + /* Return unscaled font units. */ + /* */ + /* FT_GLYPH_BBOX_SUBPIXELS :: */ + /* Return unfitted 26.6 coordinates. */ + /* */ + /* FT_GLYPH_BBOX_GRIDFIT :: */ + /* Return grid-fitted 26.6 coordinates. */ + /* */ + /* FT_GLYPH_BBOX_TRUNCATE :: */ + /* Return coordinates in integer pixels. */ + /* */ + /* FT_GLYPH_BBOX_PIXELS :: */ + /* Return grid-fitted pixel coordinates. */ + /* */ + typedef enum FT_Glyph_BBox_Mode_ + { + FT_GLYPH_BBOX_UNSCALED = 0, + FT_GLYPH_BBOX_SUBPIXELS = 0, + FT_GLYPH_BBOX_GRIDFIT = 1, + FT_GLYPH_BBOX_TRUNCATE = 2, + FT_GLYPH_BBOX_PIXELS = 3 + + } FT_Glyph_BBox_Mode; + + + /*************************************************************************/ + /* */ + /* <Enum> */ + /* ft_glyph_bbox_xxx */ + /* */ + /* <Description> */ + /* These constants are deprecated. Use the corresponding */ + /* @FT_Glyph_BBox_Mode values instead. */ + /* */ + /* <Values> */ + /* ft_glyph_bbox_unscaled :: See @FT_GLYPH_BBOX_UNSCALED. */ + /* ft_glyph_bbox_subpixels :: See @FT_GLYPH_BBOX_SUBPIXELS. */ + /* ft_glyph_bbox_gridfit :: See @FT_GLYPH_BBOX_GRIDFIT. */ + /* ft_glyph_bbox_truncate :: See @FT_GLYPH_BBOX_TRUNCATE. */ + /* ft_glyph_bbox_pixels :: See @FT_GLYPH_BBOX_PIXELS. */ + /* */ +#define ft_glyph_bbox_unscaled FT_GLYPH_BBOX_UNSCALED +#define ft_glyph_bbox_subpixels FT_GLYPH_BBOX_SUBPIXELS +#define ft_glyph_bbox_gridfit FT_GLYPH_BBOX_GRIDFIT +#define ft_glyph_bbox_truncate FT_GLYPH_BBOX_TRUNCATE +#define ft_glyph_bbox_pixels FT_GLYPH_BBOX_PIXELS + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Glyph_Get_CBox */ + /* */ + /* <Description> */ + /* Return a glyph's `control box'. The control box encloses all the */ + /* outline's points, including Bézier control points. Though it */ + /* coincides with the exact bounding box for most glyphs, it can be */ + /* slightly larger in some situations (like when rotating an outline */ + /* which contains Bézier outside arcs). */ + /* */ + /* Computing the control box is very fast, while getting the bounding */ + /* box can take much more time as it needs to walk over all segments */ + /* and arcs in the outline. To get the latter, you can use the */ + /* `ftbbox' component which is dedicated to this single task. */ + /* */ + /* <Input> */ + /* glyph :: A handle to the source glyph object. */ + /* */ + /* mode :: The mode which indicates how to interpret the returned */ + /* bounding box values. */ + /* */ + /* <Output> */ + /* acbox :: The glyph coordinate bounding box. Coordinates are */ + /* expressed in 1/64th of pixels if it is grid-fitted. */ + /* */ + /* <Note> */ + /* Coordinates are relative to the glyph origin, using the y~upwards */ + /* convention. */ + /* */ + /* If the glyph has been loaded with @FT_LOAD_NO_SCALE, `bbox_mode' */ + /* must be set to @FT_GLYPH_BBOX_UNSCALED to get unscaled font */ + /* units in 26.6 pixel format. The value @FT_GLYPH_BBOX_SUBPIXELS */ + /* is another name for this constant. */ + /* */ + /* If the font is tricky and the glyph has been loaded with */ + /* @FT_LOAD_NO_SCALE, the resulting CBox is meaningless. To get */ + /* reasonable values for the CBox it is necessary to load the glyph */ + /* at a large ppem value (so that the hinting instructions can */ + /* properly shift and scale the subglyphs), then extracting the CBox */ + /* which can be eventually converted back to font units. */ + /* */ + /* Note that the maximum coordinates are exclusive, which means that */ + /* one can compute the width and height of the glyph image (be it in */ + /* integer or 26.6 pixels) as: */ + /* */ + /* { */ + /* width = bbox.xMax - bbox.xMin; */ + /* height = bbox.yMax - bbox.yMin; */ + /* } */ + /* */ + /* Note also that for 26.6 coordinates, if `bbox_mode' is set to */ + /* @FT_GLYPH_BBOX_GRIDFIT, the coordinates will also be grid-fitted, */ + /* which corresponds to: */ + /* */ + /* { */ + /* bbox.xMin = FLOOR(bbox.xMin); */ + /* bbox.yMin = FLOOR(bbox.yMin); */ + /* bbox.xMax = CEILING(bbox.xMax); */ + /* bbox.yMax = CEILING(bbox.yMax); */ + /* } */ + /* */ + /* To get the bbox in pixel coordinates, set `bbox_mode' to */ + /* @FT_GLYPH_BBOX_TRUNCATE. */ + /* */ + /* To get the bbox in grid-fitted pixel coordinates, set `bbox_mode' */ + /* to @FT_GLYPH_BBOX_PIXELS. */ + /* */ + FT_EXPORT( void ) + FT_Glyph_Get_CBox( FT_Glyph glyph, + FT_UInt bbox_mode, + FT_BBox *acbox ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Glyph_To_Bitmap */ + /* */ + /* <Description> */ + /* Convert a given glyph object to a bitmap glyph object. */ + /* */ + /* <InOut> */ + /* the_glyph :: A pointer to a handle to the target glyph. */ + /* */ + /* <Input> */ + /* render_mode :: An enumeration that describes how the data is */ + /* rendered. */ + /* */ + /* origin :: A pointer to a vector used to translate the glyph */ + /* image before rendering. Can be~0 (if no */ + /* translation). The origin is expressed in */ + /* 26.6 pixels. */ + /* */ + /* destroy :: A boolean that indicates that the original glyph */ + /* image should be destroyed by this function. It is */ + /* never destroyed in case of error. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* This function does nothing if the glyph format isn't scalable. */ + /* */ + /* The glyph image is translated with the `origin' vector before */ + /* rendering. */ + /* */ + /* The first parameter is a pointer to an @FT_Glyph handle, that will */ + /* be _replaced_ by this function (with newly allocated data). */ + /* Typically, you would use (omitting error handling): */ + /* */ + /* */ + /* { */ + /* FT_Glyph glyph; */ + /* FT_BitmapGlyph glyph_bitmap; */ + /* */ + /* */ + /* // load glyph */ + /* error = FT_Load_Char( face, glyph_index, FT_LOAD_DEFAUT ); */ + /* */ + /* // extract glyph image */ + /* error = FT_Get_Glyph( face->glyph, &glyph ); */ + /* */ + /* // convert to a bitmap (default render mode + destroying old) */ + /* if ( glyph->format != FT_GLYPH_FORMAT_BITMAP ) */ + /* { */ + /* error = FT_Glyph_To_Bitmap( &glyph, FT_RENDER_MODE_NORMAL, */ + /* 0, 1 ); */ + /* if ( error ) // `glyph' unchanged */ + /* ... */ + /* } */ + /* */ + /* // access bitmap content by typecasting */ + /* glyph_bitmap = (FT_BitmapGlyph)glyph; */ + /* */ + /* // do funny stuff with it, like blitting/drawing */ + /* ... */ + /* */ + /* // discard glyph image (bitmap or not) */ + /* FT_Done_Glyph( glyph ); */ + /* } */ + /* */ + /* */ + /* Here another example, again without error handling: */ + /* */ + /* */ + /* { */ + /* FT_Glyph glyphs[MAX_GLYPHS] */ + /* */ + /* */ + /* ... */ + /* */ + /* for ( idx = 0; i < MAX_GLYPHS; i++ ) */ + /* error = FT_Load_Glyph( face, idx, FT_LOAD_DEFAULT ) || */ + /* FT_Get_Glyph ( face->glyph, &glyph[idx] ); */ + /* */ + /* ... */ + /* */ + /* for ( idx = 0; i < MAX_GLYPHS; i++ ) */ + /* { */ + /* FT_Glyph bitmap = glyphs[idx]; */ + /* */ + /* */ + /* ... */ + /* */ + /* // after this call, `bitmap' no longer points into */ + /* // the `glyphs' array (and the old value isn't destroyed) */ + /* FT_Glyph_To_Bitmap( &bitmap, FT_RENDER_MODE_MONO, 0, 0 ); */ + /* */ + /* ... */ + /* */ + /* FT_Done_Glyph( bitmap ); */ + /* } */ + /* */ + /* ... */ + /* */ + /* for ( idx = 0; i < MAX_GLYPHS; i++ ) */ + /* FT_Done_Glyph( glyphs[idx] ); */ + /* } */ + /* */ + FT_EXPORT( FT_Error ) + FT_Glyph_To_Bitmap( FT_Glyph* the_glyph, + FT_Render_Mode render_mode, + FT_Vector* origin, + FT_Bool destroy ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Done_Glyph */ + /* */ + /* <Description> */ + /* Destroy a given glyph. */ + /* */ + /* <Input> */ + /* glyph :: A handle to the target glyph object. */ + /* */ + FT_EXPORT( void ) + FT_Done_Glyph( FT_Glyph glyph ); + + /* */ + + + /* other helpful functions */ + + /*************************************************************************/ + /* */ + /* <Section> */ + /* computations */ + /* */ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Matrix_Multiply */ + /* */ + /* <Description> */ + /* Perform the matrix operation `b = a*b'. */ + /* */ + /* <Input> */ + /* a :: A pointer to matrix `a'. */ + /* */ + /* <InOut> */ + /* b :: A pointer to matrix `b'. */ + /* */ + /* <Note> */ + /* The result is undefined if either `a' or `b' is zero. */ + /* */ + FT_EXPORT( void ) + FT_Matrix_Multiply( const FT_Matrix* a, + FT_Matrix* b ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Matrix_Invert */ + /* */ + /* <Description> */ + /* Invert a 2x2 matrix. Return an error if it can't be inverted. */ + /* */ + /* <InOut> */ + /* matrix :: A pointer to the target matrix. Remains untouched in */ + /* case of error. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Matrix_Invert( FT_Matrix* matrix ); + + + /* */ + + +FT_END_HEADER + +#endif /* __FTGLYPH_H__ */ + + +/* END */ + + +/* Local Variables: */ +/* coding: utf-8 */ +/* End: */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftgxval.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftgxval.h new file mode 100644 index 00000000..497015c1 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftgxval.h @@ -0,0 +1,358 @@ +/***************************************************************************/ +/* */ +/* ftgxval.h */ +/* */ +/* FreeType API for validating TrueTypeGX/AAT tables (specification). */ +/* */ +/* Copyright 2004, 2005, 2006 by */ +/* Masatake YAMATO, Redhat K.K, */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + +/***************************************************************************/ +/* */ +/* gxvalid is derived from both gxlayout module and otvalid module. */ +/* Development of gxlayout is supported by the Information-technology */ +/* Promotion Agency(IPA), Japan. */ +/* */ +/***************************************************************************/ + + +#ifndef __FTGXVAL_H__ +#define __FTGXVAL_H__ + +#include <ft2build.h> +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* gx_validation */ + /* */ + /* <Title> */ + /* TrueTypeGX/AAT Validation */ + /* */ + /* <Abstract> */ + /* An API to validate TrueTypeGX/AAT tables. */ + /* */ + /* <Description> */ + /* This section contains the declaration of functions to validate */ + /* some TrueTypeGX tables (feat, mort, morx, bsln, just, kern, opbd, */ + /* trak, prop, lcar). */ + /* */ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* */ + /* Warning: Use FT_VALIDATE_XXX to validate a table. */ + /* Following definitions are for gxvalid developers. */ + /* */ + /* */ + /*************************************************************************/ + +#define FT_VALIDATE_feat_INDEX 0 +#define FT_VALIDATE_mort_INDEX 1 +#define FT_VALIDATE_morx_INDEX 2 +#define FT_VALIDATE_bsln_INDEX 3 +#define FT_VALIDATE_just_INDEX 4 +#define FT_VALIDATE_kern_INDEX 5 +#define FT_VALIDATE_opbd_INDEX 6 +#define FT_VALIDATE_trak_INDEX 7 +#define FT_VALIDATE_prop_INDEX 8 +#define FT_VALIDATE_lcar_INDEX 9 +#define FT_VALIDATE_GX_LAST_INDEX FT_VALIDATE_lcar_INDEX + + + /************************************************************************* + * + * @macro: + * FT_VALIDATE_GX_LENGTH + * + * @description: + * The number of tables checked in this module. Use it as a parameter + * for the `table-length' argument of function @FT_TrueTypeGX_Validate. + */ +#define FT_VALIDATE_GX_LENGTH (FT_VALIDATE_GX_LAST_INDEX + 1) + + /* */ + + /* Up to 0x1000 is used by otvalid. + Ox2xxx is reserved for feature OT extension. */ +#define FT_VALIDATE_GX_START 0x4000 +#define FT_VALIDATE_GX_BITFIELD( tag ) \ + ( FT_VALIDATE_GX_START << FT_VALIDATE_##tag##_INDEX ) + + + /********************************************************************** + * + * @enum: + * FT_VALIDATE_GXXXX + * + * @description: + * A list of bit-field constants used with @FT_TrueTypeGX_Validate to + * indicate which TrueTypeGX/AAT Type tables should be validated. + * + * @values: + * FT_VALIDATE_feat :: + * Validate `feat' table. + * + * FT_VALIDATE_mort :: + * Validate `mort' table. + * + * FT_VALIDATE_morx :: + * Validate `morx' table. + * + * FT_VALIDATE_bsln :: + * Validate `bsln' table. + * + * FT_VALIDATE_just :: + * Validate `just' table. + * + * FT_VALIDATE_kern :: + * Validate `kern' table. + * + * FT_VALIDATE_opbd :: + * Validate `opbd' table. + * + * FT_VALIDATE_trak :: + * Validate `trak' table. + * + * FT_VALIDATE_prop :: + * Validate `prop' table. + * + * FT_VALIDATE_lcar :: + * Validate `lcar' table. + * + * FT_VALIDATE_GX :: + * Validate all TrueTypeGX tables (feat, mort, morx, bsln, just, kern, + * opbd, trak, prop and lcar). + * + */ + +#define FT_VALIDATE_feat FT_VALIDATE_GX_BITFIELD( feat ) +#define FT_VALIDATE_mort FT_VALIDATE_GX_BITFIELD( mort ) +#define FT_VALIDATE_morx FT_VALIDATE_GX_BITFIELD( morx ) +#define FT_VALIDATE_bsln FT_VALIDATE_GX_BITFIELD( bsln ) +#define FT_VALIDATE_just FT_VALIDATE_GX_BITFIELD( just ) +#define FT_VALIDATE_kern FT_VALIDATE_GX_BITFIELD( kern ) +#define FT_VALIDATE_opbd FT_VALIDATE_GX_BITFIELD( opbd ) +#define FT_VALIDATE_trak FT_VALIDATE_GX_BITFIELD( trak ) +#define FT_VALIDATE_prop FT_VALIDATE_GX_BITFIELD( prop ) +#define FT_VALIDATE_lcar FT_VALIDATE_GX_BITFIELD( lcar ) + +#define FT_VALIDATE_GX ( FT_VALIDATE_feat | \ + FT_VALIDATE_mort | \ + FT_VALIDATE_morx | \ + FT_VALIDATE_bsln | \ + FT_VALIDATE_just | \ + FT_VALIDATE_kern | \ + FT_VALIDATE_opbd | \ + FT_VALIDATE_trak | \ + FT_VALIDATE_prop | \ + FT_VALIDATE_lcar ) + + + /* */ + + /********************************************************************** + * + * @function: + * FT_TrueTypeGX_Validate + * + * @description: + * Validate various TrueTypeGX tables to assure that all offsets and + * indices are valid. The idea is that a higher-level library which + * actually does the text layout can access those tables without + * error checking (which can be quite time consuming). + * + * @input: + * face :: + * A handle to the input face. + * + * validation_flags :: + * A bit field which specifies the tables to be validated. See + * @FT_VALIDATE_GXXXX for possible values. + * + * table_length :: + * The size of the `tables' array. Normally, @FT_VALIDATE_GX_LENGTH + * should be passed. + * + * @output: + * tables :: + * The array where all validated sfnt tables are stored. + * The array itself must be allocated by a client. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This function only works with TrueTypeGX fonts, returning an error + * otherwise. + * + * After use, the application should deallocate the buffers pointed to by + * each `tables' element, by calling @FT_TrueTypeGX_Free. A NULL value + * indicates that the table either doesn't exist in the font, the + * application hasn't asked for validation, or the validator doesn't have + * the ability to validate the sfnt table. + */ + FT_EXPORT( FT_Error ) + FT_TrueTypeGX_Validate( FT_Face face, + FT_UInt validation_flags, + FT_Bytes tables[FT_VALIDATE_GX_LENGTH], + FT_UInt table_length ); + + + /* */ + + /********************************************************************** + * + * @function: + * FT_TrueTypeGX_Free + * + * @description: + * Free the buffer allocated by TrueTypeGX validator. + * + * @input: + * face :: + * A handle to the input face. + * + * table :: + * The pointer to the buffer allocated by + * @FT_TrueTypeGX_Validate. + * + * @note: + * This function must be used to free the buffer allocated by + * @FT_TrueTypeGX_Validate only. + */ + FT_EXPORT( void ) + FT_TrueTypeGX_Free( FT_Face face, + FT_Bytes table ); + + + /* */ + + /********************************************************************** + * + * @enum: + * FT_VALIDATE_CKERNXXX + * + * @description: + * A list of bit-field constants used with @FT_ClassicKern_Validate + * to indicate the classic kern dialect or dialects. If the selected + * type doesn't fit, @FT_ClassicKern_Validate regards the table as + * invalid. + * + * @values: + * FT_VALIDATE_MS :: + * Handle the `kern' table as a classic Microsoft kern table. + * + * FT_VALIDATE_APPLE :: + * Handle the `kern' table as a classic Apple kern table. + * + * FT_VALIDATE_CKERN :: + * Handle the `kern' as either classic Apple or Microsoft kern table. + */ +#define FT_VALIDATE_MS ( FT_VALIDATE_GX_START << 0 ) +#define FT_VALIDATE_APPLE ( FT_VALIDATE_GX_START << 1 ) + +#define FT_VALIDATE_CKERN ( FT_VALIDATE_MS | FT_VALIDATE_APPLE ) + + + /* */ + + /********************************************************************** + * + * @function: + * FT_ClassicKern_Validate + * + * @description: + * Validate classic (16-bit format) kern table to assure that the offsets + * and indices are valid. The idea is that a higher-level library which + * actually does the text layout can access those tables without error + * checking (which can be quite time consuming). + * + * The `kern' table validator in @FT_TrueTypeGX_Validate deals with both + * the new 32-bit format and the classic 16-bit format, while + * FT_ClassicKern_Validate only supports the classic 16-bit format. + * + * @input: + * face :: + * A handle to the input face. + * + * validation_flags :: + * A bit field which specifies the dialect to be validated. See + * @FT_VALIDATE_CKERNXXX for possible values. + * + * @output: + * ckern_table :: + * A pointer to the kern table. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * After use, the application should deallocate the buffers pointed to by + * `ckern_table', by calling @FT_ClassicKern_Free. A NULL value + * indicates that the table doesn't exist in the font. + */ + FT_EXPORT( FT_Error ) + FT_ClassicKern_Validate( FT_Face face, + FT_UInt validation_flags, + FT_Bytes *ckern_table ); + + + /* */ + + /********************************************************************** + * + * @function: + * FT_ClassicKern_Free + * + * @description: + * Free the buffer allocated by classic Kern validator. + * + * @input: + * face :: + * A handle to the input face. + * + * table :: + * The pointer to the buffer that is allocated by + * @FT_ClassicKern_Validate. + * + * @note: + * This function must be used to free the buffer allocated by + * @FT_ClassicKern_Validate only. + */ + FT_EXPORT( void ) + FT_ClassicKern_Free( FT_Face face, + FT_Bytes table ); + + + /* */ + + +FT_END_HEADER + +#endif /* __FTGXVAL_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftgzip.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftgzip.h new file mode 100644 index 00000000..acbc4f03 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftgzip.h @@ -0,0 +1,102 @@ +/***************************************************************************/ +/* */ +/* ftgzip.h */ +/* */ +/* Gzip-compressed stream support. */ +/* */ +/* Copyright 2002, 2003, 2004, 2006 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __FTGZIP_H__ +#define __FTGZIP_H__ + +#include <ft2build.h> +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + /*************************************************************************/ + /* */ + /* <Section> */ + /* gzip */ + /* */ + /* <Title> */ + /* GZIP Streams */ + /* */ + /* <Abstract> */ + /* Using gzip-compressed font files. */ + /* */ + /* <Description> */ + /* This section contains the declaration of Gzip-specific functions. */ + /* */ + /*************************************************************************/ + + + /************************************************************************ + * + * @function: + * FT_Stream_OpenGzip + * + * @description: + * Open a new stream to parse gzip-compressed font files. This is + * mainly used to support the compressed `*.pcf.gz' fonts that come + * with XFree86. + * + * @input: + * stream :: + * The target embedding stream. + * + * source :: + * The source stream. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The source stream must be opened _before_ calling this function. + * + * Calling the internal function `FT_Stream_Close' on the new stream will + * *not* call `FT_Stream_Close' on the source stream. None of the stream + * objects will be released to the heap. + * + * The stream implementation is very basic and resets the decompression + * process each time seeking backwards is needed within the stream. + * + * In certain builds of the library, gzip compression recognition is + * automatically handled when calling @FT_New_Face or @FT_Open_Face. + * This means that if no font driver is capable of handling the raw + * compressed file, the library will try to open a gzipped stream from + * it and re-open the face with it. + * + * This function may return `FT_Err_Unimplemented_Feature' if your build + * of FreeType was not compiled with zlib support. + */ + FT_EXPORT( FT_Error ) + FT_Stream_OpenGzip( FT_Stream stream, + FT_Stream source ); + + /* */ + + +FT_END_HEADER + +#endif /* __FTGZIP_H__ */ + + +/* END */ diff --git a/extlibs/headers/freetype/ftimage.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftimage.h similarity index 100% rename from extlibs/headers/freetype/ftimage.h rename to extlibs/headers/libfreetype/osx/freetype2/freetype/ftimage.h diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftincrem.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftincrem.h new file mode 100644 index 00000000..aaf689ff --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftincrem.h @@ -0,0 +1,353 @@ +/***************************************************************************/ +/* */ +/* ftincrem.h */ +/* */ +/* FreeType incremental loading (specification). */ +/* */ +/* Copyright 2002, 2003, 2006, 2007, 2008, 2010 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __FTINCREM_H__ +#define __FTINCREM_H__ + +#include <ft2build.h> +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + /*************************************************************************** + * + * @section: + * incremental + * + * @title: + * Incremental Loading + * + * @abstract: + * Custom Glyph Loading. + * + * @description: + * This section contains various functions used to perform so-called + * `incremental' glyph loading. This is a mode where all glyphs loaded + * from a given @FT_Face are provided by the client application, + * + * Apart from that, all other tables are loaded normally from the font + * file. This mode is useful when FreeType is used within another + * engine, e.g., a PostScript Imaging Processor. + * + * To enable this mode, you must use @FT_Open_Face, passing an + * @FT_Parameter with the @FT_PARAM_TAG_INCREMENTAL tag and an + * @FT_Incremental_Interface value. See the comments for + * @FT_Incremental_InterfaceRec for an example. + * + */ + + + /*************************************************************************** + * + * @type: + * FT_Incremental + * + * @description: + * An opaque type describing a user-provided object used to implement + * `incremental' glyph loading within FreeType. This is used to support + * embedded fonts in certain environments (e.g., PostScript interpreters), + * where the glyph data isn't in the font file, or must be overridden by + * different values. + * + * @note: + * It is up to client applications to create and implement @FT_Incremental + * objects, as long as they provide implementations for the methods + * @FT_Incremental_GetGlyphDataFunc, @FT_Incremental_FreeGlyphDataFunc + * and @FT_Incremental_GetGlyphMetricsFunc. + * + * See the description of @FT_Incremental_InterfaceRec to understand how + * to use incremental objects with FreeType. + * + */ + typedef struct FT_IncrementalRec_* FT_Incremental; + + + /*************************************************************************** + * + * @struct: + * FT_Incremental_MetricsRec + * + * @description: + * A small structure used to contain the basic glyph metrics returned + * by the @FT_Incremental_GetGlyphMetricsFunc method. + * + * @fields: + * bearing_x :: + * Left bearing, in font units. + * + * bearing_y :: + * Top bearing, in font units. + * + * advance :: + * Horizontal component of glyph advance, in font units. + * + * advance_v :: + * Vertical component of glyph advance, in font units. + * + * @note: + * These correspond to horizontal or vertical metrics depending on the + * value of the `vertical' argument to the function + * @FT_Incremental_GetGlyphMetricsFunc. + * + */ + typedef struct FT_Incremental_MetricsRec_ + { + FT_Long bearing_x; + FT_Long bearing_y; + FT_Long advance; + FT_Long advance_v; /* since 2.3.12 */ + + } FT_Incremental_MetricsRec; + + + /*************************************************************************** + * + * @struct: + * FT_Incremental_Metrics + * + * @description: + * A handle to an @FT_Incremental_MetricsRec structure. + * + */ + typedef struct FT_Incremental_MetricsRec_* FT_Incremental_Metrics; + + + /*************************************************************************** + * + * @type: + * FT_Incremental_GetGlyphDataFunc + * + * @description: + * A function called by FreeType to access a given glyph's data bytes + * during @FT_Load_Glyph or @FT_Load_Char if incremental loading is + * enabled. + * + * Note that the format of the glyph's data bytes depends on the font + * file format. For TrueType, it must correspond to the raw bytes within + * the `glyf' table. For PostScript formats, it must correspond to the + * *unencrypted* charstring bytes, without any `lenIV' header. It is + * undefined for any other format. + * + * @input: + * incremental :: + * Handle to an opaque @FT_Incremental handle provided by the client + * application. + * + * glyph_index :: + * Index of relevant glyph. + * + * @output: + * adata :: + * A structure describing the returned glyph data bytes (which will be + * accessed as a read-only byte block). + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * If this function returns successfully the method + * @FT_Incremental_FreeGlyphDataFunc will be called later to release + * the data bytes. + * + * Nested calls to @FT_Incremental_GetGlyphDataFunc can happen for + * compound glyphs. + * + */ + typedef FT_Error + (*FT_Incremental_GetGlyphDataFunc)( FT_Incremental incremental, + FT_UInt glyph_index, + FT_Data* adata ); + + + /*************************************************************************** + * + * @type: + * FT_Incremental_FreeGlyphDataFunc + * + * @description: + * A function used to release the glyph data bytes returned by a + * successful call to @FT_Incremental_GetGlyphDataFunc. + * + * @input: + * incremental :: + * A handle to an opaque @FT_Incremental handle provided by the client + * application. + * + * data :: + * A structure describing the glyph data bytes (which will be accessed + * as a read-only byte block). + * + */ + typedef void + (*FT_Incremental_FreeGlyphDataFunc)( FT_Incremental incremental, + FT_Data* data ); + + + /*************************************************************************** + * + * @type: + * FT_Incremental_GetGlyphMetricsFunc + * + * @description: + * A function used to retrieve the basic metrics of a given glyph index + * before accessing its data. This is necessary because, in certain + * formats like TrueType, the metrics are stored in a different place from + * the glyph images proper. + * + * @input: + * incremental :: + * A handle to an opaque @FT_Incremental handle provided by the client + * application. + * + * glyph_index :: + * Index of relevant glyph. + * + * vertical :: + * If true, return vertical metrics. + * + * ametrics :: + * This parameter is used for both input and output. + * The original glyph metrics, if any, in font units. If metrics are + * not available all the values must be set to zero. + * + * @output: + * ametrics :: + * The replacement glyph metrics in font units. + * + */ + typedef FT_Error + (*FT_Incremental_GetGlyphMetricsFunc) + ( FT_Incremental incremental, + FT_UInt glyph_index, + FT_Bool vertical, + FT_Incremental_MetricsRec *ametrics ); + + + /************************************************************************** + * + * @struct: + * FT_Incremental_FuncsRec + * + * @description: + * A table of functions for accessing fonts that load data + * incrementally. Used in @FT_Incremental_InterfaceRec. + * + * @fields: + * get_glyph_data :: + * The function to get glyph data. Must not be null. + * + * free_glyph_data :: + * The function to release glyph data. Must not be null. + * + * get_glyph_metrics :: + * The function to get glyph metrics. May be null if the font does + * not provide overriding glyph metrics. + * + */ + typedef struct FT_Incremental_FuncsRec_ + { + FT_Incremental_GetGlyphDataFunc get_glyph_data; + FT_Incremental_FreeGlyphDataFunc free_glyph_data; + FT_Incremental_GetGlyphMetricsFunc get_glyph_metrics; + + } FT_Incremental_FuncsRec; + + + /*************************************************************************** + * + * @struct: + * FT_Incremental_InterfaceRec + * + * @description: + * A structure to be used with @FT_Open_Face to indicate that the user + * wants to support incremental glyph loading. You should use it with + * @FT_PARAM_TAG_INCREMENTAL as in the following example: + * + * { + * FT_Incremental_InterfaceRec inc_int; + * FT_Parameter parameter; + * FT_Open_Args open_args; + * + * + * // set up incremental descriptor + * inc_int.funcs = my_funcs; + * inc_int.object = my_object; + * + * // set up optional parameter + * parameter.tag = FT_PARAM_TAG_INCREMENTAL; + * parameter.data = &inc_int; + * + * // set up FT_Open_Args structure + * open_args.flags = FT_OPEN_PATHNAME | FT_OPEN_PARAMS; + * open_args.pathname = my_font_pathname; + * open_args.num_params = 1; + * open_args.params = ¶meter; // we use one optional argument + * + * // open the font + * error = FT_Open_Face( library, &open_args, index, &face ); + * ... + * } + * + */ + typedef struct FT_Incremental_InterfaceRec_ + { + const FT_Incremental_FuncsRec* funcs; + FT_Incremental object; + + } FT_Incremental_InterfaceRec; + + + /*************************************************************************** + * + * @type: + * FT_Incremental_Interface + * + * @description: + * A pointer to an @FT_Incremental_InterfaceRec structure. + * + */ + typedef FT_Incremental_InterfaceRec* FT_Incremental_Interface; + + + /*************************************************************************** + * + * @constant: + * FT_PARAM_TAG_INCREMENTAL + * + * @description: + * A constant used as the tag of @FT_Parameter structures to indicate + * an incremental loading object to be used by FreeType. + * + */ +#define FT_PARAM_TAG_INCREMENTAL FT_MAKE_TAG( 'i', 'n', 'c', 'r' ) + + /* */ + +FT_END_HEADER + +#endif /* __FTINCREM_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftlcdfil.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftlcdfil.h new file mode 100644 index 00000000..0b55ebee --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftlcdfil.h @@ -0,0 +1,213 @@ +/***************************************************************************/ +/* */ +/* ftlcdfil.h */ +/* */ +/* FreeType API for color filtering of subpixel bitmap glyphs */ +/* (specification). */ +/* */ +/* Copyright 2006, 2007, 2008, 2010 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __FT_LCD_FILTER_H__ +#define __FT_LCD_FILTER_H__ + +#include <ft2build.h> +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + /*************************************************************************** + * + * @section: + * lcd_filtering + * + * @title: + * LCD Filtering + * + * @abstract: + * Reduce color fringes of LCD-optimized bitmaps. + * + * @description: + * The @FT_Library_SetLcdFilter API can be used to specify a low-pass + * filter which is then applied to LCD-optimized bitmaps generated + * through @FT_Render_Glyph. This is useful to reduce color fringes + * which would occur with unfiltered rendering. + * + * Note that no filter is active by default, and that this function is + * *not* implemented in default builds of the library. You need to + * #define FT_CONFIG_OPTION_SUBPIXEL_RENDERING in your `ftoption.h' file + * in order to activate it. + */ + + + /**************************************************************************** + * + * @enum: + * FT_LcdFilter + * + * @description: + * A list of values to identify various types of LCD filters. + * + * @values: + * FT_LCD_FILTER_NONE :: + * Do not perform filtering. When used with subpixel rendering, this + * results in sometimes severe color fringes. + * + * FT_LCD_FILTER_DEFAULT :: + * The default filter reduces color fringes considerably, at the cost + * of a slight blurriness in the output. + * + * FT_LCD_FILTER_LIGHT :: + * The light filter is a variant that produces less blurriness at the + * cost of slightly more color fringes than the default one. It might + * be better, depending on taste, your monitor, or your personal vision. + * + * FT_LCD_FILTER_LEGACY :: + * This filter corresponds to the original libXft color filter. It + * provides high contrast output but can exhibit really bad color + * fringes if glyphs are not extremely well hinted to the pixel grid. + * In other words, it only works well if the TrueType bytecode + * interpreter is enabled *and* high-quality hinted fonts are used. + * + * This filter is only provided for comparison purposes, and might be + * disabled or stay unsupported in the future. + * + * @since: + * 2.3.0 + */ + typedef enum FT_LcdFilter_ + { + FT_LCD_FILTER_NONE = 0, + FT_LCD_FILTER_DEFAULT = 1, + FT_LCD_FILTER_LIGHT = 2, + FT_LCD_FILTER_LEGACY = 16, + + FT_LCD_FILTER_MAX /* do not remove */ + + } FT_LcdFilter; + + + /************************************************************************** + * + * @func: + * FT_Library_SetLcdFilter + * + * @description: + * This function is used to apply color filtering to LCD decimated + * bitmaps, like the ones used when calling @FT_Render_Glyph with + * @FT_RENDER_MODE_LCD or @FT_RENDER_MODE_LCD_V. + * + * @input: + * library :: + * A handle to the target library instance. + * + * filter :: + * The filter type. + * + * You can use @FT_LCD_FILTER_NONE here to disable this feature, or + * @FT_LCD_FILTER_DEFAULT to use a default filter that should work + * well on most LCD screens. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This feature is always disabled by default. Clients must make an + * explicit call to this function with a `filter' value other than + * @FT_LCD_FILTER_NONE in order to enable it. + * + * Due to *PATENTS* covering subpixel rendering, this function doesn't + * do anything except returning `FT_Err_Unimplemented_Feature' if the + * configuration macro FT_CONFIG_OPTION_SUBPIXEL_RENDERING is not + * defined in your build of the library, which should correspond to all + * default builds of FreeType. + * + * The filter affects glyph bitmaps rendered through @FT_Render_Glyph, + * @FT_Outline_Get_Bitmap, @FT_Load_Glyph, and @FT_Load_Char. + * + * It does _not_ affect the output of @FT_Outline_Render and + * @FT_Outline_Get_Bitmap. + * + * If this feature is activated, the dimensions of LCD glyph bitmaps are + * either larger or taller than the dimensions of the corresponding + * outline with regards to the pixel grid. For example, for + * @FT_RENDER_MODE_LCD, the filter adds up to 3~pixels to the left, and + * up to 3~pixels to the right. + * + * The bitmap offset values are adjusted correctly, so clients shouldn't + * need to modify their layout and glyph positioning code when enabling + * the filter. + * + * @since: + * 2.3.0 + */ + FT_EXPORT( FT_Error ) + FT_Library_SetLcdFilter( FT_Library library, + FT_LcdFilter filter ); + + + /************************************************************************** + * + * @func: + * FT_Library_SetLcdFilterWeights + * + * @description: + * Use this function to override the filter weights selected by + * @FT_Library_SetLcdFilter. By default, FreeType uses the quintuple + * (0x00, 0x55, 0x56, 0x55, 0x00) for FT_LCD_FILTER_LIGHT, and (0x10, + * 0x40, 0x70, 0x40, 0x10) for FT_LCD_FILTER_DEFAULT and + * FT_LCD_FILTER_LEGACY. + * + * @input: + * library :: + * A handle to the target library instance. + * + * weights :: + * A pointer to an array; the function copies the first five bytes and + * uses them to specify the filter weights. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * Due to *PATENTS* covering subpixel rendering, this function doesn't + * do anything except returning `FT_Err_Unimplemented_Feature' if the + * configuration macro FT_CONFIG_OPTION_SUBPIXEL_RENDERING is not + * defined in your build of the library, which should correspond to all + * default builds of FreeType. + * + * This function must be called after @FT_Library_SetLcdFilter to have + * any effect. + * + * @since: + * 2.4.0 + */ + FT_EXPORT( FT_Error ) + FT_Library_SetLcdFilterWeights( FT_Library library, + unsigned char *weights ); + + /* */ + + +FT_END_HEADER + +#endif /* __FT_LCD_FILTER_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftlist.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftlist.h new file mode 100644 index 00000000..bb6f7f11 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftlist.h @@ -0,0 +1,277 @@ +/***************************************************************************/ +/* */ +/* ftlist.h */ +/* */ +/* Generic list support for FreeType (specification). */ +/* */ +/* Copyright 1996-2001, 2003, 2007, 2010 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + + /*************************************************************************/ + /* */ + /* This file implements functions relative to list processing. Its */ + /* data structures are defined in `freetype.h'. */ + /* */ + /*************************************************************************/ + + +#ifndef __FTLIST_H__ +#define __FTLIST_H__ + + +#include <ft2build.h> +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* list_processing */ + /* */ + /* <Title> */ + /* List Processing */ + /* */ + /* <Abstract> */ + /* Simple management of lists. */ + /* */ + /* <Description> */ + /* This section contains various definitions related to list */ + /* processing using doubly-linked nodes. */ + /* */ + /* <Order> */ + /* FT_List */ + /* FT_ListNode */ + /* FT_ListRec */ + /* FT_ListNodeRec */ + /* */ + /* FT_List_Add */ + /* FT_List_Insert */ + /* FT_List_Find */ + /* FT_List_Remove */ + /* FT_List_Up */ + /* FT_List_Iterate */ + /* FT_List_Iterator */ + /* FT_List_Finalize */ + /* FT_List_Destructor */ + /* */ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_List_Find */ + /* */ + /* <Description> */ + /* Find the list node for a given listed object. */ + /* */ + /* <Input> */ + /* list :: A pointer to the parent list. */ + /* data :: The address of the listed object. */ + /* */ + /* <Return> */ + /* List node. NULL if it wasn't found. */ + /* */ + FT_EXPORT( FT_ListNode ) + FT_List_Find( FT_List list, + void* data ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_List_Add */ + /* */ + /* <Description> */ + /* Append an element to the end of a list. */ + /* */ + /* <InOut> */ + /* list :: A pointer to the parent list. */ + /* node :: The node to append. */ + /* */ + FT_EXPORT( void ) + FT_List_Add( FT_List list, + FT_ListNode node ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_List_Insert */ + /* */ + /* <Description> */ + /* Insert an element at the head of a list. */ + /* */ + /* <InOut> */ + /* list :: A pointer to parent list. */ + /* node :: The node to insert. */ + /* */ + FT_EXPORT( void ) + FT_List_Insert( FT_List list, + FT_ListNode node ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_List_Remove */ + /* */ + /* <Description> */ + /* Remove a node from a list. This function doesn't check whether */ + /* the node is in the list! */ + /* */ + /* <Input> */ + /* node :: The node to remove. */ + /* */ + /* <InOut> */ + /* list :: A pointer to the parent list. */ + /* */ + FT_EXPORT( void ) + FT_List_Remove( FT_List list, + FT_ListNode node ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_List_Up */ + /* */ + /* <Description> */ + /* Move a node to the head/top of a list. Used to maintain LRU */ + /* lists. */ + /* */ + /* <InOut> */ + /* list :: A pointer to the parent list. */ + /* node :: The node to move. */ + /* */ + FT_EXPORT( void ) + FT_List_Up( FT_List list, + FT_ListNode node ); + + + /*************************************************************************/ + /* */ + /* <FuncType> */ + /* FT_List_Iterator */ + /* */ + /* <Description> */ + /* An FT_List iterator function which is called during a list parse */ + /* by @FT_List_Iterate. */ + /* */ + /* <Input> */ + /* node :: The current iteration list node. */ + /* */ + /* user :: A typeless pointer passed to @FT_List_Iterate. */ + /* Can be used to point to the iteration's state. */ + /* */ + typedef FT_Error + (*FT_List_Iterator)( FT_ListNode node, + void* user ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_List_Iterate */ + /* */ + /* <Description> */ + /* Parse a list and calls a given iterator function on each element. */ + /* Note that parsing is stopped as soon as one of the iterator calls */ + /* returns a non-zero value. */ + /* */ + /* <Input> */ + /* list :: A handle to the list. */ + /* iterator :: An iterator function, called on each node of the list. */ + /* user :: A user-supplied field which is passed as the second */ + /* argument to the iterator. */ + /* */ + /* <Return> */ + /* The result (a FreeType error code) of the last iterator call. */ + /* */ + FT_EXPORT( FT_Error ) + FT_List_Iterate( FT_List list, + FT_List_Iterator iterator, + void* user ); + + + /*************************************************************************/ + /* */ + /* <FuncType> */ + /* FT_List_Destructor */ + /* */ + /* <Description> */ + /* An @FT_List iterator function which is called during a list */ + /* finalization by @FT_List_Finalize to destroy all elements in a */ + /* given list. */ + /* */ + /* <Input> */ + /* system :: The current system object. */ + /* */ + /* data :: The current object to destroy. */ + /* */ + /* user :: A typeless pointer passed to @FT_List_Iterate. It can */ + /* be used to point to the iteration's state. */ + /* */ + typedef void + (*FT_List_Destructor)( FT_Memory memory, + void* data, + void* user ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_List_Finalize */ + /* */ + /* <Description> */ + /* Destroy all elements in the list as well as the list itself. */ + /* */ + /* <Input> */ + /* list :: A handle to the list. */ + /* */ + /* destroy :: A list destructor that will be applied to each element */ + /* of the list. */ + /* */ + /* memory :: The current memory object which handles deallocation. */ + /* */ + /* user :: A user-supplied field which is passed as the last */ + /* argument to the destructor. */ + /* */ + /* <Note> */ + /* This function expects that all nodes added by @FT_List_Add or */ + /* @FT_List_Insert have been dynamically allocated. */ + /* */ + FT_EXPORT( void ) + FT_List_Finalize( FT_List list, + FT_List_Destructor destroy, + FT_Memory memory, + void* user ); + + + /* */ + + +FT_END_HEADER + +#endif /* __FTLIST_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftlzw.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftlzw.h new file mode 100644 index 00000000..00d40169 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftlzw.h @@ -0,0 +1,99 @@ +/***************************************************************************/ +/* */ +/* ftlzw.h */ +/* */ +/* LZW-compressed stream support. */ +/* */ +/* Copyright 2004, 2006 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __FTLZW_H__ +#define __FTLZW_H__ + +#include <ft2build.h> +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + /*************************************************************************/ + /* */ + /* <Section> */ + /* lzw */ + /* */ + /* <Title> */ + /* LZW Streams */ + /* */ + /* <Abstract> */ + /* Using LZW-compressed font files. */ + /* */ + /* <Description> */ + /* This section contains the declaration of LZW-specific functions. */ + /* */ + /*************************************************************************/ + + /************************************************************************ + * + * @function: + * FT_Stream_OpenLZW + * + * @description: + * Open a new stream to parse LZW-compressed font files. This is + * mainly used to support the compressed `*.pcf.Z' fonts that come + * with XFree86. + * + * @input: + * stream :: The target embedding stream. + * + * source :: The source stream. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The source stream must be opened _before_ calling this function. + * + * Calling the internal function `FT_Stream_Close' on the new stream will + * *not* call `FT_Stream_Close' on the source stream. None of the stream + * objects will be released to the heap. + * + * The stream implementation is very basic and resets the decompression + * process each time seeking backwards is needed within the stream + * + * In certain builds of the library, LZW compression recognition is + * automatically handled when calling @FT_New_Face or @FT_Open_Face. + * This means that if no font driver is capable of handling the raw + * compressed file, the library will try to open a LZW stream from it + * and re-open the face with it. + * + * This function may return `FT_Err_Unimplemented_Feature' if your build + * of FreeType was not compiled with LZW support. + */ + FT_EXPORT( FT_Error ) + FT_Stream_OpenLZW( FT_Stream stream, + FT_Stream source ); + + /* */ + + +FT_END_HEADER + +#endif /* __FTLZW_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftmac.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftmac.h new file mode 100644 index 00000000..ab5bab51 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftmac.h @@ -0,0 +1,274 @@ +/***************************************************************************/ +/* */ +/* ftmac.h */ +/* */ +/* Additional Mac-specific API. */ +/* */ +/* Copyright 1996-2001, 2004, 2006, 2007 by */ +/* Just van Rossum, David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +/***************************************************************************/ +/* */ +/* NOTE: Include this file after <freetype/freetype.h> and after any */ +/* Mac-specific headers (because this header uses Mac types such as */ +/* Handle, FSSpec, FSRef, etc.) */ +/* */ +/***************************************************************************/ + + +#ifndef __FTMAC_H__ +#define __FTMAC_H__ + + +#include <ft2build.h> + + +FT_BEGIN_HEADER + + +/* gcc-3.4.1 and later can warn about functions tagged as deprecated */ +#ifndef FT_DEPRECATED_ATTRIBUTE +#if defined(__GNUC__) && \ + ((__GNUC__ >= 4) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 1))) +#define FT_DEPRECATED_ATTRIBUTE __attribute__((deprecated)) +#else +#define FT_DEPRECATED_ATTRIBUTE +#endif +#endif + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* mac_specific */ + /* */ + /* <Title> */ + /* Mac Specific Interface */ + /* */ + /* <Abstract> */ + /* Only available on the Macintosh. */ + /* */ + /* <Description> */ + /* The following definitions are only available if FreeType is */ + /* compiled on a Macintosh. */ + /* */ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_New_Face_From_FOND */ + /* */ + /* <Description> */ + /* Create a new face object from a FOND resource. */ + /* */ + /* <InOut> */ + /* library :: A handle to the library resource. */ + /* */ + /* <Input> */ + /* fond :: A FOND resource. */ + /* */ + /* face_index :: Only supported for the -1 `sanity check' special */ + /* case. */ + /* */ + /* <Output> */ + /* aface :: A handle to a new face object. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Notes> */ + /* This function can be used to create @FT_Face objects from fonts */ + /* that are installed in the system as follows. */ + /* */ + /* { */ + /* fond = GetResource( 'FOND', fontName ); */ + /* error = FT_New_Face_From_FOND( library, fond, 0, &face ); */ + /* } */ + /* */ + FT_EXPORT( FT_Error ) + FT_New_Face_From_FOND( FT_Library library, + Handle fond, + FT_Long face_index, + FT_Face *aface ) + FT_DEPRECATED_ATTRIBUTE; + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_GetFile_From_Mac_Name */ + /* */ + /* <Description> */ + /* Return an FSSpec for the disk file containing the named font. */ + /* */ + /* <Input> */ + /* fontName :: Mac OS name of the font (e.g., Times New Roman */ + /* Bold). */ + /* */ + /* <Output> */ + /* pathSpec :: FSSpec to the file. For passing to */ + /* @FT_New_Face_From_FSSpec. */ + /* */ + /* face_index :: Index of the face. For passing to */ + /* @FT_New_Face_From_FSSpec. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + FT_EXPORT( FT_Error ) + FT_GetFile_From_Mac_Name( const char* fontName, + FSSpec* pathSpec, + FT_Long* face_index ) + FT_DEPRECATED_ATTRIBUTE; + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_GetFile_From_Mac_ATS_Name */ + /* */ + /* <Description> */ + /* Return an FSSpec for the disk file containing the named font. */ + /* */ + /* <Input> */ + /* fontName :: Mac OS name of the font in ATS framework. */ + /* */ + /* <Output> */ + /* pathSpec :: FSSpec to the file. For passing to */ + /* @FT_New_Face_From_FSSpec. */ + /* */ + /* face_index :: Index of the face. For passing to */ + /* @FT_New_Face_From_FSSpec. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + FT_EXPORT( FT_Error ) + FT_GetFile_From_Mac_ATS_Name( const char* fontName, + FSSpec* pathSpec, + FT_Long* face_index ) + FT_DEPRECATED_ATTRIBUTE; + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_GetFilePath_From_Mac_ATS_Name */ + /* */ + /* <Description> */ + /* Return a pathname of the disk file and face index for given font */ + /* name which is handled by ATS framework. */ + /* */ + /* <Input> */ + /* fontName :: Mac OS name of the font in ATS framework. */ + /* */ + /* <Output> */ + /* path :: Buffer to store pathname of the file. For passing */ + /* to @FT_New_Face. The client must allocate this */ + /* buffer before calling this function. */ + /* */ + /* maxPathSize :: Lengths of the buffer `path' that client allocated. */ + /* */ + /* face_index :: Index of the face. For passing to @FT_New_Face. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + FT_EXPORT( FT_Error ) + FT_GetFilePath_From_Mac_ATS_Name( const char* fontName, + UInt8* path, + UInt32 maxPathSize, + FT_Long* face_index ) + FT_DEPRECATED_ATTRIBUTE; + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_New_Face_From_FSSpec */ + /* */ + /* <Description> */ + /* Create a new face object from a given resource and typeface index */ + /* using an FSSpec to the font file. */ + /* */ + /* <InOut> */ + /* library :: A handle to the library resource. */ + /* */ + /* <Input> */ + /* spec :: FSSpec to the font file. */ + /* */ + /* face_index :: The index of the face within the resource. The */ + /* first face has index~0. */ + /* <Output> */ + /* aface :: A handle to a new face object. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* @FT_New_Face_From_FSSpec is identical to @FT_New_Face except */ + /* it accepts an FSSpec instead of a path. */ + /* */ + FT_EXPORT( FT_Error ) + FT_New_Face_From_FSSpec( FT_Library library, + const FSSpec *spec, + FT_Long face_index, + FT_Face *aface ) + FT_DEPRECATED_ATTRIBUTE; + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_New_Face_From_FSRef */ + /* */ + /* <Description> */ + /* Create a new face object from a given resource and typeface index */ + /* using an FSRef to the font file. */ + /* */ + /* <InOut> */ + /* library :: A handle to the library resource. */ + /* */ + /* <Input> */ + /* spec :: FSRef to the font file. */ + /* */ + /* face_index :: The index of the face within the resource. The */ + /* first face has index~0. */ + /* <Output> */ + /* aface :: A handle to a new face object. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* @FT_New_Face_From_FSRef is identical to @FT_New_Face except */ + /* it accepts an FSRef instead of a path. */ + /* */ + FT_EXPORT( FT_Error ) + FT_New_Face_From_FSRef( FT_Library library, + const FSRef *ref, + FT_Long face_index, + FT_Face *aface ) + FT_DEPRECATED_ATTRIBUTE; + + /* */ + + +FT_END_HEADER + + +#endif /* __FTMAC_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftmm.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftmm.h new file mode 100644 index 00000000..3aefb9e4 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftmm.h @@ -0,0 +1,378 @@ +/***************************************************************************/ +/* */ +/* ftmm.h */ +/* */ +/* FreeType Multiple Master font interface (specification). */ +/* */ +/* Copyright 1996-2001, 2003, 2004, 2006, 2009 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __FTMM_H__ +#define __FTMM_H__ + + +#include <ft2build.h> +#include FT_TYPE1_TABLES_H + + +FT_BEGIN_HEADER + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* multiple_masters */ + /* */ + /* <Title> */ + /* Multiple Masters */ + /* */ + /* <Abstract> */ + /* How to manage Multiple Masters fonts. */ + /* */ + /* <Description> */ + /* The following types and functions are used to manage Multiple */ + /* Master fonts, i.e., the selection of specific design instances by */ + /* setting design axis coordinates. */ + /* */ + /* George Williams has extended this interface to make it work with */ + /* both Type~1 Multiple Masters fonts and GX distortable (var) */ + /* fonts. Some of these routines only work with MM fonts, others */ + /* will work with both types. They are similar enough that a */ + /* consistent interface makes sense. */ + /* */ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_MM_Axis */ + /* */ + /* <Description> */ + /* A simple structure used to model a given axis in design space for */ + /* Multiple Masters fonts. */ + /* */ + /* This structure can't be used for GX var fonts. */ + /* */ + /* <Fields> */ + /* name :: The axis's name. */ + /* */ + /* minimum :: The axis's minimum design coordinate. */ + /* */ + /* maximum :: The axis's maximum design coordinate. */ + /* */ + typedef struct FT_MM_Axis_ + { + FT_String* name; + FT_Long minimum; + FT_Long maximum; + + } FT_MM_Axis; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_Multi_Master */ + /* */ + /* <Description> */ + /* A structure used to model the axes and space of a Multiple Masters */ + /* font. */ + /* */ + /* This structure can't be used for GX var fonts. */ + /* */ + /* <Fields> */ + /* num_axis :: Number of axes. Cannot exceed~4. */ + /* */ + /* num_designs :: Number of designs; should be normally 2^num_axis */ + /* even though the Type~1 specification strangely */ + /* allows for intermediate designs to be present. This */ + /* number cannot exceed~16. */ + /* */ + /* axis :: A table of axis descriptors. */ + /* */ + typedef struct FT_Multi_Master_ + { + FT_UInt num_axis; + FT_UInt num_designs; + FT_MM_Axis axis[T1_MAX_MM_AXIS]; + + } FT_Multi_Master; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_Var_Axis */ + /* */ + /* <Description> */ + /* A simple structure used to model a given axis in design space for */ + /* Multiple Masters and GX var fonts. */ + /* */ + /* <Fields> */ + /* name :: The axis's name. */ + /* Not always meaningful for GX. */ + /* */ + /* minimum :: The axis's minimum design coordinate. */ + /* */ + /* def :: The axis's default design coordinate. */ + /* FreeType computes meaningful default values for MM; it */ + /* is then an integer value, not in 16.16 format. */ + /* */ + /* maximum :: The axis's maximum design coordinate. */ + /* */ + /* tag :: The axis's tag (the GX equivalent to `name'). */ + /* FreeType provides default values for MM if possible. */ + /* */ + /* strid :: The entry in `name' table (another GX version of */ + /* `name'). */ + /* Not meaningful for MM. */ + /* */ + typedef struct FT_Var_Axis_ + { + FT_String* name; + + FT_Fixed minimum; + FT_Fixed def; + FT_Fixed maximum; + + FT_ULong tag; + FT_UInt strid; + + } FT_Var_Axis; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_Var_Named_Style */ + /* */ + /* <Description> */ + /* A simple structure used to model a named style in a GX var font. */ + /* */ + /* This structure can't be used for MM fonts. */ + /* */ + /* <Fields> */ + /* coords :: The design coordinates for this style. */ + /* This is an array with one entry for each axis. */ + /* */ + /* strid :: The entry in `name' table identifying this style. */ + /* */ + typedef struct FT_Var_Named_Style_ + { + FT_Fixed* coords; + FT_UInt strid; + + } FT_Var_Named_Style; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_MM_Var */ + /* */ + /* <Description> */ + /* A structure used to model the axes and space of a Multiple Masters */ + /* or GX var distortable font. */ + /* */ + /* Some fields are specific to one format and not to the other. */ + /* */ + /* <Fields> */ + /* num_axis :: The number of axes. The maximum value is~4 for */ + /* MM; no limit in GX. */ + /* */ + /* num_designs :: The number of designs; should be normally */ + /* 2^num_axis for MM fonts. Not meaningful for GX */ + /* (where every glyph could have a different */ + /* number of designs). */ + /* */ + /* num_namedstyles :: The number of named styles; only meaningful for */ + /* GX which allows certain design coordinates to */ + /* have a string ID (in the `name' table) */ + /* associated with them. The font can tell the */ + /* user that, for example, Weight=1.5 is `Bold'. */ + /* */ + /* axis :: A table of axis descriptors. */ + /* GX fonts contain slightly more data than MM. */ + /* */ + /* namedstyles :: A table of named styles. */ + /* Only meaningful with GX. */ + /* */ + typedef struct FT_MM_Var_ + { + FT_UInt num_axis; + FT_UInt num_designs; + FT_UInt num_namedstyles; + FT_Var_Axis* axis; + FT_Var_Named_Style* namedstyle; + + } FT_MM_Var; + + + /* */ + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Get_Multi_Master */ + /* */ + /* <Description> */ + /* Retrieve the Multiple Master descriptor of a given font. */ + /* */ + /* This function can't be used with GX fonts. */ + /* */ + /* <Input> */ + /* face :: A handle to the source face. */ + /* */ + /* <Output> */ + /* amaster :: The Multiple Masters descriptor. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Get_Multi_Master( FT_Face face, + FT_Multi_Master *amaster ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Get_MM_Var */ + /* */ + /* <Description> */ + /* Retrieve the Multiple Master/GX var descriptor of a given font. */ + /* */ + /* <Input> */ + /* face :: A handle to the source face. */ + /* */ + /* <Output> */ + /* amaster :: The Multiple Masters/GX var descriptor. */ + /* Allocates a data structure, which the user must free */ + /* (a single call to FT_FREE will do it). */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Get_MM_Var( FT_Face face, + FT_MM_Var* *amaster ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Set_MM_Design_Coordinates */ + /* */ + /* <Description> */ + /* For Multiple Masters fonts, choose an interpolated font design */ + /* through design coordinates. */ + /* */ + /* This function can't be used with GX fonts. */ + /* */ + /* <InOut> */ + /* face :: A handle to the source face. */ + /* */ + /* <Input> */ + /* num_coords :: The number of design coordinates (must be equal to */ + /* the number of axes in the font). */ + /* */ + /* coords :: An array of design coordinates. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Set_MM_Design_Coordinates( FT_Face face, + FT_UInt num_coords, + FT_Long* coords ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Set_Var_Design_Coordinates */ + /* */ + /* <Description> */ + /* For Multiple Master or GX Var fonts, choose an interpolated font */ + /* design through design coordinates. */ + /* */ + /* <InOut> */ + /* face :: A handle to the source face. */ + /* */ + /* <Input> */ + /* num_coords :: The number of design coordinates (must be equal to */ + /* the number of axes in the font). */ + /* */ + /* coords :: An array of design coordinates. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Set_Var_Design_Coordinates( FT_Face face, + FT_UInt num_coords, + FT_Fixed* coords ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Set_MM_Blend_Coordinates */ + /* */ + /* <Description> */ + /* For Multiple Masters and GX var fonts, choose an interpolated font */ + /* design through normalized blend coordinates. */ + /* */ + /* <InOut> */ + /* face :: A handle to the source face. */ + /* */ + /* <Input> */ + /* num_coords :: The number of design coordinates (must be equal to */ + /* the number of axes in the font). */ + /* */ + /* coords :: The design coordinates array (each element must be */ + /* between 0 and 1.0). */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Set_MM_Blend_Coordinates( FT_Face face, + FT_UInt num_coords, + FT_Fixed* coords ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Set_Var_Blend_Coordinates */ + /* */ + /* <Description> */ + /* This is another name of @FT_Set_MM_Blend_Coordinates. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Set_Var_Blend_Coordinates( FT_Face face, + FT_UInt num_coords, + FT_Fixed* coords ); + + + /* */ + + +FT_END_HEADER + +#endif /* __FTMM_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftmodapi.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftmodapi.h new file mode 100644 index 00000000..aedfc54d --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftmodapi.h @@ -0,0 +1,634 @@ +/***************************************************************************/ +/* */ +/* ftmodapi.h */ +/* */ +/* FreeType modules public interface (specification). */ +/* */ +/* Copyright 1996-2003, 2006, 2008-2010, 2012 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __FTMODAPI_H__ +#define __FTMODAPI_H__ + + +#include <ft2build.h> +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* module_management */ + /* */ + /* <Title> */ + /* Module Management */ + /* */ + /* <Abstract> */ + /* How to add, upgrade, remove, and control modules from FreeType. */ + /* */ + /* <Description> */ + /* The definitions below are used to manage modules within FreeType. */ + /* Modules can be added, upgraded, and removed at runtime. */ + /* Additionally, some module properties can be controlled also. */ + /* */ + /* Here is a list of possible values of the `module_name' field in */ + /* the @FT_Module_Class structure. */ + /* */ + /* { */ + /* autofitter */ + /* bdf */ + /* cff */ + /* gxvalid */ + /* otvalid */ + /* pcf */ + /* pfr */ + /* psaux */ + /* pshinter */ + /* psnames */ + /* raster1, raster5 */ + /* sfnt */ + /* smooth, smooth-lcd, smooth-lcdv */ + /* truetype */ + /* type1 */ + /* type42 */ + /* t1cid */ + /* winfonts */ + /* } */ + /* */ + /* Note that the FreeType Cache sub-system is not a FreeType module. */ + /* */ + /*************************************************************************/ + + + /* module bit flags */ +#define FT_MODULE_FONT_DRIVER 1 /* this module is a font driver */ +#define FT_MODULE_RENDERER 2 /* this module is a renderer */ +#define FT_MODULE_HINTER 4 /* this module is a glyph hinter */ +#define FT_MODULE_STYLER 8 /* this module is a styler */ + +#define FT_MODULE_DRIVER_SCALABLE 0x100 /* the driver supports */ + /* scalable fonts */ +#define FT_MODULE_DRIVER_NO_OUTLINES 0x200 /* the driver does not */ + /* support vector outlines */ +#define FT_MODULE_DRIVER_HAS_HINTER 0x400 /* the driver provides its */ + /* own hinter */ + + + /* deprecated values */ +#define ft_module_font_driver FT_MODULE_FONT_DRIVER +#define ft_module_renderer FT_MODULE_RENDERER +#define ft_module_hinter FT_MODULE_HINTER +#define ft_module_styler FT_MODULE_STYLER + +#define ft_module_driver_scalable FT_MODULE_DRIVER_SCALABLE +#define ft_module_driver_no_outlines FT_MODULE_DRIVER_NO_OUTLINES +#define ft_module_driver_has_hinter FT_MODULE_DRIVER_HAS_HINTER + + + typedef FT_Pointer FT_Module_Interface; + + + /*************************************************************************/ + /* */ + /* <FuncType> */ + /* FT_Module_Constructor */ + /* */ + /* <Description> */ + /* A function used to initialize (not create) a new module object. */ + /* */ + /* <Input> */ + /* module :: The module to initialize. */ + /* */ + typedef FT_Error + (*FT_Module_Constructor)( FT_Module module ); + + + /*************************************************************************/ + /* */ + /* <FuncType> */ + /* FT_Module_Destructor */ + /* */ + /* <Description> */ + /* A function used to finalize (not destroy) a given module object. */ + /* */ + /* <Input> */ + /* module :: The module to finalize. */ + /* */ + typedef void + (*FT_Module_Destructor)( FT_Module module ); + + + /*************************************************************************/ + /* */ + /* <FuncType> */ + /* FT_Module_Requester */ + /* */ + /* <Description> */ + /* A function used to query a given module for a specific interface. */ + /* */ + /* <Input> */ + /* module :: The module to be searched. */ + /* */ + /* name :: The name of the interface in the module. */ + /* */ + typedef FT_Module_Interface + (*FT_Module_Requester)( FT_Module module, + const char* name ); + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_Module_Class */ + /* */ + /* <Description> */ + /* The module class descriptor. */ + /* */ + /* <Fields> */ + /* module_flags :: Bit flags describing the module. */ + /* */ + /* module_size :: The size of one module object/instance in */ + /* bytes. */ + /* */ + /* module_name :: The name of the module. */ + /* */ + /* module_version :: The version, as a 16.16 fixed number */ + /* (major.minor). */ + /* */ + /* module_requires :: The version of FreeType this module requires, */ + /* as a 16.16 fixed number (major.minor). Starts */ + /* at version 2.0, i.e., 0x20000. */ + /* */ + /* module_init :: The initializing function. */ + /* */ + /* module_done :: The finalizing function. */ + /* */ + /* get_interface :: The interface requesting function. */ + /* */ + typedef struct FT_Module_Class_ + { + FT_ULong module_flags; + FT_Long module_size; + const FT_String* module_name; + FT_Fixed module_version; + FT_Fixed module_requires; + + const void* module_interface; + + FT_Module_Constructor module_init; + FT_Module_Destructor module_done; + FT_Module_Requester get_interface; + + } FT_Module_Class; + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Add_Module */ + /* */ + /* <Description> */ + /* Add a new module to a given library instance. */ + /* */ + /* <InOut> */ + /* library :: A handle to the library object. */ + /* */ + /* <Input> */ + /* clazz :: A pointer to class descriptor for the module. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* An error will be returned if a module already exists by that name, */ + /* or if the module requires a version of FreeType that is too great. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Add_Module( FT_Library library, + const FT_Module_Class* clazz ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Get_Module */ + /* */ + /* <Description> */ + /* Find a module by its name. */ + /* */ + /* <Input> */ + /* library :: A handle to the library object. */ + /* */ + /* module_name :: The module's name (as an ASCII string). */ + /* */ + /* <Return> */ + /* A module handle. 0~if none was found. */ + /* */ + /* <Note> */ + /* FreeType's internal modules aren't documented very well, and you */ + /* should look up the source code for details. */ + /* */ + FT_EXPORT( FT_Module ) + FT_Get_Module( FT_Library library, + const char* module_name ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Remove_Module */ + /* */ + /* <Description> */ + /* Remove a given module from a library instance. */ + /* */ + /* <InOut> */ + /* library :: A handle to a library object. */ + /* */ + /* <Input> */ + /* module :: A handle to a module object. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* The module object is destroyed by the function in case of success. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Remove_Module( FT_Library library, + FT_Module module ); + + + /********************************************************************** + * + * @function: + * FT_Property_Set + * + * @description: + * Set a property for a given module. + * + * @input: + * library :: + * A handle to the library the module is part of. + * + * module_name :: + * The module name. + * + * property_name :: + * The property name. Properties are described in the `Synopsis' + * subsection of the module's documentation. + * + * Note that only a few modules have properties. + * + * value :: + * A generic pointer to a variable or structure which gives the new + * value of the property. The exact definition of `value' is + * dependent on the property; see the `Synopsis' subsection of the + * module's documentation. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * If `module_name' isn't a valid module name, or `property_name' + * doesn't specify a valid property, or if `value' doesn't represent a + * valid value for the given property, an error is returned. + * + * The following example sets property `bar' (a simple integer) in + * module `foo' to value~1. + * + * { + * FT_UInt bar; + * + * + * bar = 1; + * FT_Property_Set( library, "foo", "bar", &bar ); + * } + * + * It is not possible to set properties of the FreeType Cache + * sub-system with FT_Property_Set; use @FTC_Property_Set instead. + * + * @since: + * 2.4.11 + * + */ + FT_Error + FT_Property_Set( FT_Library library, + const FT_String* module_name, + const FT_String* property_name, + const void* value ); + + + /********************************************************************** + * + * @function: + * FT_Property_Get + * + * @description: + * Get a module's property value. + * + * @input: + * library :: + * A handle to the library the module is part of. + * + * module_name :: + * The module name. + * + * property_name :: + * The property name. Properties are described in the `Synopsis' + * subsection of the module's documentation. + * + * @inout: + * value :: + * A generic pointer to a variable or structure which gives the + * value of the property. The exact definition of `value' is + * dependent on the property; see the `Synopsis' subsection of the + * module's documentation. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * If `module_name' isn't a valid module name, or `property_name' + * doesn't specify a valid property, or if `value' doesn't represent a + * valid value for the given property, an error is returned. + * + * The following example gets property `baz' (a range) in module `foo'. + * + * { + * typedef range_ + * { + * FT_Int32 min; + * FT_Int32 max; + * + * } range; + * + * range baz; + * + * + * FT_Property_Get( library, "foo", "baz", &baz ); + * } + * + * It is not possible to retrieve properties of the FreeType Cache + * sub-system with FT_Property_Get; use @FTC_Property_Get instead. + * + * @since: + * 2.4.11 + * + */ + FT_Error + FT_Property_Get( FT_Library library, + const FT_String* module_name, + const FT_String* property_name, + void* value ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Reference_Library */ + /* */ + /* <Description> */ + /* A counter gets initialized to~1 at the time an @FT_Library */ + /* structure is created. This function increments the counter. */ + /* @FT_Done_Library then only destroys a library if the counter is~1, */ + /* otherwise it simply decrements the counter. */ + /* */ + /* This function helps in managing life-cycles of structures which */ + /* reference @FT_Library objects. */ + /* */ + /* <Input> */ + /* library :: A handle to a target library object. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Since> */ + /* 2.4.2 */ + /* */ + FT_EXPORT( FT_Error ) + FT_Reference_Library( FT_Library library ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_New_Library */ + /* */ + /* <Description> */ + /* This function is used to create a new FreeType library instance */ + /* from a given memory object. It is thus possible to use libraries */ + /* with distinct memory allocators within the same program. */ + /* */ + /* Normally, you would call this function (followed by a call to */ + /* @FT_Add_Default_Modules or a series of calls to @FT_Add_Module) */ + /* instead of @FT_Init_FreeType to initialize the FreeType library. */ + /* */ + /* Don't use @FT_Done_FreeType but @FT_Done_Library to destroy a */ + /* library instance. */ + /* */ + /* <Input> */ + /* memory :: A handle to the original memory object. */ + /* */ + /* <Output> */ + /* alibrary :: A pointer to handle of a new library object. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* See the discussion of reference counters in the description of */ + /* @FT_Reference_Library. */ + /* */ + FT_EXPORT( FT_Error ) + FT_New_Library( FT_Memory memory, + FT_Library *alibrary ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Done_Library */ + /* */ + /* <Description> */ + /* Discard a given library object. This closes all drivers and */ + /* discards all resource objects. */ + /* */ + /* <Input> */ + /* library :: A handle to the target library. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* See the discussion of reference counters in the description of */ + /* @FT_Reference_Library. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Done_Library( FT_Library library ); + +/* */ + + typedef void + (*FT_DebugHook_Func)( void* arg ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Set_Debug_Hook */ + /* */ + /* <Description> */ + /* Set a debug hook function for debugging the interpreter of a font */ + /* format. */ + /* */ + /* <InOut> */ + /* library :: A handle to the library object. */ + /* */ + /* <Input> */ + /* hook_index :: The index of the debug hook. You should use the */ + /* values defined in `ftobjs.h', e.g., */ + /* `FT_DEBUG_HOOK_TRUETYPE'. */ + /* */ + /* debug_hook :: The function used to debug the interpreter. */ + /* */ + /* <Note> */ + /* Currently, four debug hook slots are available, but only two (for */ + /* the TrueType and the Type~1 interpreter) are defined. */ + /* */ + /* Since the internal headers of FreeType are no longer installed, */ + /* the symbol `FT_DEBUG_HOOK_TRUETYPE' isn't available publicly. */ + /* This is a bug and will be fixed in a forthcoming release. */ + /* */ + FT_EXPORT( void ) + FT_Set_Debug_Hook( FT_Library library, + FT_UInt hook_index, + FT_DebugHook_Func debug_hook ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Add_Default_Modules */ + /* */ + /* <Description> */ + /* Add the set of default drivers to a given library object. */ + /* This is only useful when you create a library object with */ + /* @FT_New_Library (usually to plug a custom memory manager). */ + /* */ + /* <InOut> */ + /* library :: A handle to a new library object. */ + /* */ + FT_EXPORT( void ) + FT_Add_Default_Modules( FT_Library library ); + + + + /************************************************************************** + * + * @section: + * truetype_engine + * + * @title: + * The TrueType Engine + * + * @abstract: + * TrueType bytecode support. + * + * @description: + * This section contains a function used to query the level of TrueType + * bytecode support compiled in this version of the library. + * + */ + + + /************************************************************************** + * + * @enum: + * FT_TrueTypeEngineType + * + * @description: + * A list of values describing which kind of TrueType bytecode + * engine is implemented in a given FT_Library instance. It is used + * by the @FT_Get_TrueType_Engine_Type function. + * + * @values: + * FT_TRUETYPE_ENGINE_TYPE_NONE :: + * The library doesn't implement any kind of bytecode interpreter. + * + * FT_TRUETYPE_ENGINE_TYPE_UNPATENTED :: + * The library implements a bytecode interpreter that doesn't + * support the patented operations of the TrueType virtual machine. + * + * Its main use is to load certain Asian fonts which position and + * scale glyph components with bytecode instructions. It produces + * bad output for most other fonts. + * + * FT_TRUETYPE_ENGINE_TYPE_PATENTED :: + * The library implements a bytecode interpreter that covers + * the full instruction set of the TrueType virtual machine (this + * was governed by patents until May 2010, hence the name). + * + * @since: + * 2.2 + * + */ + typedef enum FT_TrueTypeEngineType_ + { + FT_TRUETYPE_ENGINE_TYPE_NONE = 0, + FT_TRUETYPE_ENGINE_TYPE_UNPATENTED, + FT_TRUETYPE_ENGINE_TYPE_PATENTED + + } FT_TrueTypeEngineType; + + + /************************************************************************** + * + * @func: + * FT_Get_TrueType_Engine_Type + * + * @description: + * Return an @FT_TrueTypeEngineType value to indicate which level of + * the TrueType virtual machine a given library instance supports. + * + * @input: + * library :: + * A library instance. + * + * @return: + * A value indicating which level is supported. + * + * @since: + * 2.2 + * + */ + FT_EXPORT( FT_TrueTypeEngineType ) + FT_Get_TrueType_Engine_Type( FT_Library library ); + + + /* */ + + +FT_END_HEADER + +#endif /* __FTMODAPI_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftmoderr.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftmoderr.h new file mode 100644 index 00000000..1bf3b384 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftmoderr.h @@ -0,0 +1,156 @@ +/***************************************************************************/ +/* */ +/* ftmoderr.h */ +/* */ +/* FreeType module error offsets (specification). */ +/* */ +/* Copyright 2001, 2002, 2003, 2004, 2005, 2010 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + + /*************************************************************************/ + /* */ + /* This file is used to define the FreeType module error offsets. */ + /* */ + /* The lower byte gives the error code, the higher byte gives the */ + /* module. The base module has error offset 0. For example, the error */ + /* `FT_Err_Invalid_File_Format' has value 0x003, the error */ + /* `TT_Err_Invalid_File_Format' has value 0x1103, the error */ + /* `T1_Err_Invalid_File_Format' has value 0x1203, etc. */ + /* */ + /* Undefine the macro FT_CONFIG_OPTION_USE_MODULE_ERRORS in ftoption.h */ + /* to make the higher byte always zero (disabling the module error */ + /* mechanism). */ + /* */ + /* It can also be used to create a module error message table easily */ + /* with something like */ + /* */ + /* { */ + /* #undef __FTMODERR_H__ */ + /* #define FT_MODERRDEF( e, v, s ) { FT_Mod_Err_ ## e, s }, */ + /* #define FT_MODERR_START_LIST { */ + /* #define FT_MODERR_END_LIST { 0, 0 } }; */ + /* */ + /* const struct */ + /* { */ + /* int mod_err_offset; */ + /* const char* mod_err_msg */ + /* } ft_mod_errors[] = */ + /* */ + /* #include FT_MODULE_ERRORS_H */ + /* } */ + /* */ + /* To use such a table, all errors must be ANDed with 0xFF00 to remove */ + /* the error code. */ + /* */ + /*************************************************************************/ + + +#ifndef __FTMODERR_H__ +#define __FTMODERR_H__ + + + /*******************************************************************/ + /*******************************************************************/ + /***** *****/ + /***** SETUP MACROS *****/ + /***** *****/ + /*******************************************************************/ + /*******************************************************************/ + + +#undef FT_NEED_EXTERN_C + +#ifndef FT_MODERRDEF + +#ifdef FT_CONFIG_OPTION_USE_MODULE_ERRORS +#define FT_MODERRDEF( e, v, s ) FT_Mod_Err_ ## e = v, +#else +#define FT_MODERRDEF( e, v, s ) FT_Mod_Err_ ## e = 0, +#endif + +#define FT_MODERR_START_LIST enum { +#define FT_MODERR_END_LIST FT_Mod_Err_Max }; + +#ifdef __cplusplus +#define FT_NEED_EXTERN_C + extern "C" { +#endif + +#endif /* !FT_MODERRDEF */ + + + /*******************************************************************/ + /*******************************************************************/ + /***** *****/ + /***** LIST MODULE ERROR BASES *****/ + /***** *****/ + /*******************************************************************/ + /*******************************************************************/ + + +#ifdef FT_MODERR_START_LIST + FT_MODERR_START_LIST +#endif + + + FT_MODERRDEF( Base, 0x000, "base module" ) + FT_MODERRDEF( Autofit, 0x100, "autofitter module" ) + FT_MODERRDEF( BDF, 0x200, "BDF module" ) + FT_MODERRDEF( Bzip2, 0x300, "Bzip2 module" ) + FT_MODERRDEF( Cache, 0x400, "cache module" ) + FT_MODERRDEF( CFF, 0x500, "CFF module" ) + FT_MODERRDEF( CID, 0x600, "CID module" ) + FT_MODERRDEF( Gzip, 0x700, "Gzip module" ) + FT_MODERRDEF( LZW, 0x800, "LZW module" ) + FT_MODERRDEF( OTvalid, 0x900, "OpenType validation module" ) + FT_MODERRDEF( PCF, 0xA00, "PCF module" ) + FT_MODERRDEF( PFR, 0xB00, "PFR module" ) + FT_MODERRDEF( PSaux, 0xC00, "PS auxiliary module" ) + FT_MODERRDEF( PShinter, 0xD00, "PS hinter module" ) + FT_MODERRDEF( PSnames, 0xE00, "PS names module" ) + FT_MODERRDEF( Raster, 0xF00, "raster module" ) + FT_MODERRDEF( SFNT, 0x1000, "SFNT module" ) + FT_MODERRDEF( Smooth, 0x1100, "smooth raster module" ) + FT_MODERRDEF( TrueType, 0x1200, "TrueType module" ) + FT_MODERRDEF( Type1, 0x1300, "Type 1 module" ) + FT_MODERRDEF( Type42, 0x1400, "Type 42 module" ) + FT_MODERRDEF( Winfonts, 0x1500, "Windows FON/FNT module" ) + + +#ifdef FT_MODERR_END_LIST + FT_MODERR_END_LIST +#endif + + + /*******************************************************************/ + /*******************************************************************/ + /***** *****/ + /***** CLEANUP *****/ + /***** *****/ + /*******************************************************************/ + /*******************************************************************/ + + +#ifdef FT_NEED_EXTERN_C + } +#endif + +#undef FT_MODERR_START_LIST +#undef FT_MODERR_END_LIST +#undef FT_MODERRDEF +#undef FT_NEED_EXTERN_C + + +#endif /* __FTMODERR_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftotval.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftotval.h new file mode 100644 index 00000000..027f2e88 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftotval.h @@ -0,0 +1,203 @@ +/***************************************************************************/ +/* */ +/* ftotval.h */ +/* */ +/* FreeType API for validating OpenType tables (specification). */ +/* */ +/* Copyright 2004, 2005, 2006, 2007 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +/***************************************************************************/ +/* */ +/* */ +/* Warning: This module might be moved to a different library in the */ +/* future to avoid a tight dependency between FreeType and the */ +/* OpenType specification. */ +/* */ +/* */ +/***************************************************************************/ + + +#ifndef __FTOTVAL_H__ +#define __FTOTVAL_H__ + +#include <ft2build.h> +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* ot_validation */ + /* */ + /* <Title> */ + /* OpenType Validation */ + /* */ + /* <Abstract> */ + /* An API to validate OpenType tables. */ + /* */ + /* <Description> */ + /* This section contains the declaration of functions to validate */ + /* some OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH). */ + /* */ + /*************************************************************************/ + + + /********************************************************************** + * + * @enum: + * FT_VALIDATE_OTXXX + * + * @description: + * A list of bit-field constants used with @FT_OpenType_Validate to + * indicate which OpenType tables should be validated. + * + * @values: + * FT_VALIDATE_BASE :: + * Validate BASE table. + * + * FT_VALIDATE_GDEF :: + * Validate GDEF table. + * + * FT_VALIDATE_GPOS :: + * Validate GPOS table. + * + * FT_VALIDATE_GSUB :: + * Validate GSUB table. + * + * FT_VALIDATE_JSTF :: + * Validate JSTF table. + * + * FT_VALIDATE_MATH :: + * Validate MATH table. + * + * FT_VALIDATE_OT :: + * Validate all OpenType tables (BASE, GDEF, GPOS, GSUB, JSTF, MATH). + * + */ +#define FT_VALIDATE_BASE 0x0100 +#define FT_VALIDATE_GDEF 0x0200 +#define FT_VALIDATE_GPOS 0x0400 +#define FT_VALIDATE_GSUB 0x0800 +#define FT_VALIDATE_JSTF 0x1000 +#define FT_VALIDATE_MATH 0x2000 + +#define FT_VALIDATE_OT FT_VALIDATE_BASE | \ + FT_VALIDATE_GDEF | \ + FT_VALIDATE_GPOS | \ + FT_VALIDATE_GSUB | \ + FT_VALIDATE_JSTF | \ + FT_VALIDATE_MATH + + /* */ + + /********************************************************************** + * + * @function: + * FT_OpenType_Validate + * + * @description: + * Validate various OpenType tables to assure that all offsets and + * indices are valid. The idea is that a higher-level library which + * actually does the text layout can access those tables without + * error checking (which can be quite time consuming). + * + * @input: + * face :: + * A handle to the input face. + * + * validation_flags :: + * A bit field which specifies the tables to be validated. See + * @FT_VALIDATE_OTXXX for possible values. + * + * @output: + * BASE_table :: + * A pointer to the BASE table. + * + * GDEF_table :: + * A pointer to the GDEF table. + * + * GPOS_table :: + * A pointer to the GPOS table. + * + * GSUB_table :: + * A pointer to the GSUB table. + * + * JSTF_table :: + * A pointer to the JSTF table. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This function only works with OpenType fonts, returning an error + * otherwise. + * + * After use, the application should deallocate the five tables with + * @FT_OpenType_Free. A NULL value indicates that the table either + * doesn't exist in the font, or the application hasn't asked for + * validation. + */ + FT_EXPORT( FT_Error ) + FT_OpenType_Validate( FT_Face face, + FT_UInt validation_flags, + FT_Bytes *BASE_table, + FT_Bytes *GDEF_table, + FT_Bytes *GPOS_table, + FT_Bytes *GSUB_table, + FT_Bytes *JSTF_table ); + + /* */ + + /********************************************************************** + * + * @function: + * FT_OpenType_Free + * + * @description: + * Free the buffer allocated by OpenType validator. + * + * @input: + * face :: + * A handle to the input face. + * + * table :: + * The pointer to the buffer that is allocated by + * @FT_OpenType_Validate. + * + * @note: + * This function must be used to free the buffer allocated by + * @FT_OpenType_Validate only. + */ + FT_EXPORT( void ) + FT_OpenType_Free( FT_Face face, + FT_Bytes table ); + + + /* */ + + +FT_END_HEADER + +#endif /* __FTOTVAL_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftoutln.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftoutln.h new file mode 100644 index 00000000..e733f391 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftoutln.h @@ -0,0 +1,558 @@ +/***************************************************************************/ +/* */ +/* ftoutln.h */ +/* */ +/* Support for the FT_Outline type used to store glyph shapes of */ +/* most scalable font formats (specification). */ +/* */ +/* Copyright 1996-2003, 2005-2012 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __FTOUTLN_H__ +#define __FTOUTLN_H__ + + +#include <ft2build.h> +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* outline_processing */ + /* */ + /* <Title> */ + /* Outline Processing */ + /* */ + /* <Abstract> */ + /* Functions to create, transform, and render vectorial glyph images. */ + /* */ + /* <Description> */ + /* This section contains routines used to create and destroy scalable */ + /* glyph images known as `outlines'. These can also be measured, */ + /* transformed, and converted into bitmaps and pixmaps. */ + /* */ + /* <Order> */ + /* FT_Outline */ + /* FT_OUTLINE_FLAGS */ + /* FT_Outline_New */ + /* FT_Outline_Done */ + /* FT_Outline_Copy */ + /* FT_Outline_Translate */ + /* FT_Outline_Transform */ + /* FT_Outline_Embolden */ + /* FT_Outline_EmboldenXY */ + /* FT_Outline_Reverse */ + /* FT_Outline_Check */ + /* */ + /* FT_Outline_Get_CBox */ + /* FT_Outline_Get_BBox */ + /* */ + /* FT_Outline_Get_Bitmap */ + /* FT_Outline_Render */ + /* */ + /* FT_Outline_Decompose */ + /* FT_Outline_Funcs */ + /* FT_Outline_MoveTo_Func */ + /* FT_Outline_LineTo_Func */ + /* FT_Outline_ConicTo_Func */ + /* FT_Outline_CubicTo_Func */ + /* */ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Outline_Decompose */ + /* */ + /* <Description> */ + /* Walk over an outline's structure to decompose it into individual */ + /* segments and Bézier arcs. This function also emits `move to' */ + /* operations to indicate the start of new contours in the outline. */ + /* */ + /* <Input> */ + /* outline :: A pointer to the source target. */ + /* */ + /* func_interface :: A table of `emitters', i.e., function pointers */ + /* called during decomposition to indicate path */ + /* operations. */ + /* */ + /* <InOut> */ + /* user :: A typeless pointer which is passed to each */ + /* emitter during the decomposition. It can be */ + /* used to store the state during the */ + /* decomposition. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Outline_Decompose( FT_Outline* outline, + const FT_Outline_Funcs* func_interface, + void* user ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Outline_New */ + /* */ + /* <Description> */ + /* Create a new outline of a given size. */ + /* */ + /* <Input> */ + /* library :: A handle to the library object from where the */ + /* outline is allocated. Note however that the new */ + /* outline will *not* necessarily be *freed*, when */ + /* destroying the library, by @FT_Done_FreeType. */ + /* */ + /* numPoints :: The maximum number of points within the outline. */ + /* */ + /* numContours :: The maximum number of contours within the outline. */ + /* */ + /* <Output> */ + /* anoutline :: A handle to the new outline. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* The reason why this function takes a `library' parameter is simply */ + /* to use the library's memory allocator. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Outline_New( FT_Library library, + FT_UInt numPoints, + FT_Int numContours, + FT_Outline *anoutline ); + + + FT_EXPORT( FT_Error ) + FT_Outline_New_Internal( FT_Memory memory, + FT_UInt numPoints, + FT_Int numContours, + FT_Outline *anoutline ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Outline_Done */ + /* */ + /* <Description> */ + /* Destroy an outline created with @FT_Outline_New. */ + /* */ + /* <Input> */ + /* library :: A handle of the library object used to allocate the */ + /* outline. */ + /* */ + /* outline :: A pointer to the outline object to be discarded. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* If the outline's `owner' field is not set, only the outline */ + /* descriptor will be released. */ + /* */ + /* The reason why this function takes an `library' parameter is */ + /* simply to use ft_mem_free(). */ + /* */ + FT_EXPORT( FT_Error ) + FT_Outline_Done( FT_Library library, + FT_Outline* outline ); + + + FT_EXPORT( FT_Error ) + FT_Outline_Done_Internal( FT_Memory memory, + FT_Outline* outline ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Outline_Check */ + /* */ + /* <Description> */ + /* Check the contents of an outline descriptor. */ + /* */ + /* <Input> */ + /* outline :: A handle to a source outline. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Outline_Check( FT_Outline* outline ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Outline_Get_CBox */ + /* */ + /* <Description> */ + /* Return an outline's `control box'. The control box encloses all */ + /* the outline's points, including Bézier control points. Though it */ + /* coincides with the exact bounding box for most glyphs, it can be */ + /* slightly larger in some situations (like when rotating an outline */ + /* which contains Bézier outside arcs). */ + /* */ + /* Computing the control box is very fast, while getting the bounding */ + /* box can take much more time as it needs to walk over all segments */ + /* and arcs in the outline. To get the latter, you can use the */ + /* `ftbbox' component which is dedicated to this single task. */ + /* */ + /* <Input> */ + /* outline :: A pointer to the source outline descriptor. */ + /* */ + /* <Output> */ + /* acbox :: The outline's control box. */ + /* */ + /* <Note> */ + /* See @FT_Glyph_Get_CBox for a discussion of tricky fonts. */ + /* */ + FT_EXPORT( void ) + FT_Outline_Get_CBox( const FT_Outline* outline, + FT_BBox *acbox ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Outline_Translate */ + /* */ + /* <Description> */ + /* Apply a simple translation to the points of an outline. */ + /* */ + /* <InOut> */ + /* outline :: A pointer to the target outline descriptor. */ + /* */ + /* <Input> */ + /* xOffset :: The horizontal offset. */ + /* */ + /* yOffset :: The vertical offset. */ + /* */ + FT_EXPORT( void ) + FT_Outline_Translate( const FT_Outline* outline, + FT_Pos xOffset, + FT_Pos yOffset ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Outline_Copy */ + /* */ + /* <Description> */ + /* Copy an outline into another one. Both objects must have the */ + /* same sizes (number of points & number of contours) when this */ + /* function is called. */ + /* */ + /* <Input> */ + /* source :: A handle to the source outline. */ + /* */ + /* <Output> */ + /* target :: A handle to the target outline. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Outline_Copy( const FT_Outline* source, + FT_Outline *target ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Outline_Transform */ + /* */ + /* <Description> */ + /* Apply a simple 2x2 matrix to all of an outline's points. Useful */ + /* for applying rotations, slanting, flipping, etc. */ + /* */ + /* <InOut> */ + /* outline :: A pointer to the target outline descriptor. */ + /* */ + /* <Input> */ + /* matrix :: A pointer to the transformation matrix. */ + /* */ + /* <Note> */ + /* You can use @FT_Outline_Translate if you need to translate the */ + /* outline's points. */ + /* */ + FT_EXPORT( void ) + FT_Outline_Transform( const FT_Outline* outline, + const FT_Matrix* matrix ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Outline_Embolden */ + /* */ + /* <Description> */ + /* Embolden an outline. The new outline will be at most 4~times */ + /* `strength' pixels wider and higher. You may think of the left and */ + /* bottom borders as unchanged. */ + /* */ + /* Negative `strength' values to reduce the outline thickness are */ + /* possible also. */ + /* */ + /* <InOut> */ + /* outline :: A handle to the target outline. */ + /* */ + /* <Input> */ + /* strength :: How strong the glyph is emboldened. Expressed in */ + /* 26.6 pixel format. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* The used algorithm to increase or decrease the thickness of the */ + /* glyph doesn't change the number of points; this means that certain */ + /* situations like acute angles or intersections are sometimes */ + /* handled incorrectly. */ + /* */ + /* If you need `better' metrics values you should call */ + /* @FT_Outline_Get_CBox or @FT_Outline_Get_BBox. */ + /* */ + /* Example call: */ + /* */ + /* { */ + /* FT_Load_Glyph( face, index, FT_LOAD_DEFAULT ); */ + /* if ( face->slot->format == FT_GLYPH_FORMAT_OUTLINE ) */ + /* FT_Outline_Embolden( &face->slot->outline, strength ); */ + /* } */ + /* */ + FT_EXPORT( FT_Error ) + FT_Outline_Embolden( FT_Outline* outline, + FT_Pos strength ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Outline_EmboldenXY */ + /* */ + /* <Description> */ + /* Embolden an outline. The new outline will be `xstrength' pixels */ + /* wider and `ystrength' pixels higher. Otherwise, it is similar to */ + /* @FT_Outline_Embolden, which uses the same strength in both */ + /* directions. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Outline_EmboldenXY( FT_Outline* outline, + FT_Pos xstrength, + FT_Pos ystrength ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Outline_Reverse */ + /* */ + /* <Description> */ + /* Reverse the drawing direction of an outline. This is used to */ + /* ensure consistent fill conventions for mirrored glyphs. */ + /* */ + /* <InOut> */ + /* outline :: A pointer to the target outline descriptor. */ + /* */ + /* <Note> */ + /* This function toggles the bit flag @FT_OUTLINE_REVERSE_FILL in */ + /* the outline's `flags' field. */ + /* */ + /* It shouldn't be used by a normal client application, unless it */ + /* knows what it is doing. */ + /* */ + FT_EXPORT( void ) + FT_Outline_Reverse( FT_Outline* outline ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Outline_Get_Bitmap */ + /* */ + /* <Description> */ + /* Render an outline within a bitmap. The outline's image is simply */ + /* OR-ed to the target bitmap. */ + /* */ + /* <Input> */ + /* library :: A handle to a FreeType library object. */ + /* */ + /* outline :: A pointer to the source outline descriptor. */ + /* */ + /* <InOut> */ + /* abitmap :: A pointer to the target bitmap descriptor. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* This function does NOT CREATE the bitmap, it only renders an */ + /* outline image within the one you pass to it! Consequently, the */ + /* various fields in `abitmap' should be set accordingly. */ + /* */ + /* It will use the raster corresponding to the default glyph format. */ + /* */ + /* The value of the `num_grays' field in `abitmap' is ignored. If */ + /* you select the gray-level rasterizer, and you want less than 256 */ + /* gray levels, you have to use @FT_Outline_Render directly. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Outline_Get_Bitmap( FT_Library library, + FT_Outline* outline, + const FT_Bitmap *abitmap ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Outline_Render */ + /* */ + /* <Description> */ + /* Render an outline within a bitmap using the current scan-convert. */ + /* This function uses an @FT_Raster_Params structure as an argument, */ + /* allowing advanced features like direct composition, translucency, */ + /* etc. */ + /* */ + /* <Input> */ + /* library :: A handle to a FreeType library object. */ + /* */ + /* outline :: A pointer to the source outline descriptor. */ + /* */ + /* <InOut> */ + /* params :: A pointer to an @FT_Raster_Params structure used to */ + /* describe the rendering operation. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* You should know what you are doing and how @FT_Raster_Params works */ + /* to use this function. */ + /* */ + /* The field `params.source' will be set to `outline' before the scan */ + /* converter is called, which means that the value you give to it is */ + /* actually ignored. */ + /* */ + /* The gray-level rasterizer always uses 256 gray levels. If you */ + /* want less gray levels, you have to provide your own span callback. */ + /* See the @FT_RASTER_FLAG_DIRECT value of the `flags' field in the */ + /* @FT_Raster_Params structure for more details. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Outline_Render( FT_Library library, + FT_Outline* outline, + FT_Raster_Params* params ); + + + /************************************************************************** + * + * @enum: + * FT_Orientation + * + * @description: + * A list of values used to describe an outline's contour orientation. + * + * The TrueType and PostScript specifications use different conventions + * to determine whether outline contours should be filled or unfilled. + * + * @values: + * FT_ORIENTATION_TRUETYPE :: + * According to the TrueType specification, clockwise contours must + * be filled, and counter-clockwise ones must be unfilled. + * + * FT_ORIENTATION_POSTSCRIPT :: + * According to the PostScript specification, counter-clockwise contours + * must be filled, and clockwise ones must be unfilled. + * + * FT_ORIENTATION_FILL_RIGHT :: + * This is identical to @FT_ORIENTATION_TRUETYPE, but is used to + * remember that in TrueType, everything that is to the right of + * the drawing direction of a contour must be filled. + * + * FT_ORIENTATION_FILL_LEFT :: + * This is identical to @FT_ORIENTATION_POSTSCRIPT, but is used to + * remember that in PostScript, everything that is to the left of + * the drawing direction of a contour must be filled. + * + * FT_ORIENTATION_NONE :: + * The orientation cannot be determined. That is, different parts of + * the glyph have different orientation. + * + */ + typedef enum FT_Orientation_ + { + FT_ORIENTATION_TRUETYPE = 0, + FT_ORIENTATION_POSTSCRIPT = 1, + FT_ORIENTATION_FILL_RIGHT = FT_ORIENTATION_TRUETYPE, + FT_ORIENTATION_FILL_LEFT = FT_ORIENTATION_POSTSCRIPT, + FT_ORIENTATION_NONE + + } FT_Orientation; + + + /************************************************************************** + * + * @function: + * FT_Outline_Get_Orientation + * + * @description: + * This function analyzes a glyph outline and tries to compute its + * fill orientation (see @FT_Orientation). This is done by computing + * the direction of each global horizontal and/or vertical extrema + * within the outline. + * + * Note that this will return @FT_ORIENTATION_TRUETYPE for empty + * outlines. + * + * @input: + * outline :: + * A handle to the source outline. + * + * @return: + * The orientation. + * + */ + FT_EXPORT( FT_Orientation ) + FT_Outline_Get_Orientation( FT_Outline* outline ); + + + /* */ + + +FT_END_HEADER + +#endif /* __FTOUTLN_H__ */ + + +/* END */ + + +/* Local Variables: */ +/* coding: utf-8 */ +/* End: */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftpfr.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftpfr.h new file mode 100644 index 00000000..0b7b7d42 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftpfr.h @@ -0,0 +1,172 @@ +/***************************************************************************/ +/* */ +/* ftpfr.h */ +/* */ +/* FreeType API for accessing PFR-specific data (specification only). */ +/* */ +/* Copyright 2002, 2003, 2004, 2006, 2008, 2009 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __FTPFR_H__ +#define __FTPFR_H__ + +#include <ft2build.h> +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* pfr_fonts */ + /* */ + /* <Title> */ + /* PFR Fonts */ + /* */ + /* <Abstract> */ + /* PFR/TrueDoc specific API. */ + /* */ + /* <Description> */ + /* This section contains the declaration of PFR-specific functions. */ + /* */ + /*************************************************************************/ + + + /********************************************************************** + * + * @function: + * FT_Get_PFR_Metrics + * + * @description: + * Return the outline and metrics resolutions of a given PFR face. + * + * @input: + * face :: Handle to the input face. It can be a non-PFR face. + * + * @output: + * aoutline_resolution :: + * Outline resolution. This is equivalent to `face->units_per_EM' + * for non-PFR fonts. Optional (parameter can be NULL). + * + * ametrics_resolution :: + * Metrics resolution. This is equivalent to `outline_resolution' + * for non-PFR fonts. Optional (parameter can be NULL). + * + * ametrics_x_scale :: + * A 16.16 fixed-point number used to scale distance expressed + * in metrics units to device sub-pixels. This is equivalent to + * `face->size->x_scale', but for metrics only. Optional (parameter + * can be NULL). + * + * ametrics_y_scale :: + * Same as `ametrics_x_scale' but for the vertical direction. + * optional (parameter can be NULL). + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * If the input face is not a PFR, this function will return an error. + * However, in all cases, it will return valid values. + */ + FT_EXPORT( FT_Error ) + FT_Get_PFR_Metrics( FT_Face face, + FT_UInt *aoutline_resolution, + FT_UInt *ametrics_resolution, + FT_Fixed *ametrics_x_scale, + FT_Fixed *ametrics_y_scale ); + + + /********************************************************************** + * + * @function: + * FT_Get_PFR_Kerning + * + * @description: + * Return the kerning pair corresponding to two glyphs in a PFR face. + * The distance is expressed in metrics units, unlike the result of + * @FT_Get_Kerning. + * + * @input: + * face :: A handle to the input face. + * + * left :: Index of the left glyph. + * + * right :: Index of the right glyph. + * + * @output: + * avector :: A kerning vector. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This function always return distances in original PFR metrics + * units. This is unlike @FT_Get_Kerning with the @FT_KERNING_UNSCALED + * mode, which always returns distances converted to outline units. + * + * You can use the value of the `x_scale' and `y_scale' parameters + * returned by @FT_Get_PFR_Metrics to scale these to device sub-pixels. + */ + FT_EXPORT( FT_Error ) + FT_Get_PFR_Kerning( FT_Face face, + FT_UInt left, + FT_UInt right, + FT_Vector *avector ); + + + /********************************************************************** + * + * @function: + * FT_Get_PFR_Advance + * + * @description: + * Return a given glyph advance, expressed in original metrics units, + * from a PFR font. + * + * @input: + * face :: A handle to the input face. + * + * gindex :: The glyph index. + * + * @output: + * aadvance :: The glyph advance in metrics units. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * You can use the `x_scale' or `y_scale' results of @FT_Get_PFR_Metrics + * to convert the advance to device sub-pixels (i.e., 1/64th of pixels). + */ + FT_EXPORT( FT_Error ) + FT_Get_PFR_Advance( FT_Face face, + FT_UInt gindex, + FT_Pos *aadvance ); + + /* */ + + +FT_END_HEADER + +#endif /* __FTPFR_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftrender.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftrender.h new file mode 100644 index 00000000..dd0229b8 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftrender.h @@ -0,0 +1,238 @@ +/***************************************************************************/ +/* */ +/* ftrender.h */ +/* */ +/* FreeType renderer modules public interface (specification). */ +/* */ +/* Copyright 1996-2001, 2005, 2006, 2010 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __FTRENDER_H__ +#define __FTRENDER_H__ + + +#include <ft2build.h> +#include FT_MODULE_H +#include FT_GLYPH_H + + +FT_BEGIN_HEADER + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* module_management */ + /* */ + /*************************************************************************/ + + + /* create a new glyph object */ + typedef FT_Error + (*FT_Glyph_InitFunc)( FT_Glyph glyph, + FT_GlyphSlot slot ); + + /* destroys a given glyph object */ + typedef void + (*FT_Glyph_DoneFunc)( FT_Glyph glyph ); + + typedef void + (*FT_Glyph_TransformFunc)( FT_Glyph glyph, + const FT_Matrix* matrix, + const FT_Vector* delta ); + + typedef void + (*FT_Glyph_GetBBoxFunc)( FT_Glyph glyph, + FT_BBox* abbox ); + + typedef FT_Error + (*FT_Glyph_CopyFunc)( FT_Glyph source, + FT_Glyph target ); + + typedef FT_Error + (*FT_Glyph_PrepareFunc)( FT_Glyph glyph, + FT_GlyphSlot slot ); + +/* deprecated */ +#define FT_Glyph_Init_Func FT_Glyph_InitFunc +#define FT_Glyph_Done_Func FT_Glyph_DoneFunc +#define FT_Glyph_Transform_Func FT_Glyph_TransformFunc +#define FT_Glyph_BBox_Func FT_Glyph_GetBBoxFunc +#define FT_Glyph_Copy_Func FT_Glyph_CopyFunc +#define FT_Glyph_Prepare_Func FT_Glyph_PrepareFunc + + + struct FT_Glyph_Class_ + { + FT_Long glyph_size; + FT_Glyph_Format glyph_format; + FT_Glyph_InitFunc glyph_init; + FT_Glyph_DoneFunc glyph_done; + FT_Glyph_CopyFunc glyph_copy; + FT_Glyph_TransformFunc glyph_transform; + FT_Glyph_GetBBoxFunc glyph_bbox; + FT_Glyph_PrepareFunc glyph_prepare; + }; + + + typedef FT_Error + (*FT_Renderer_RenderFunc)( FT_Renderer renderer, + FT_GlyphSlot slot, + FT_UInt mode, + const FT_Vector* origin ); + + typedef FT_Error + (*FT_Renderer_TransformFunc)( FT_Renderer renderer, + FT_GlyphSlot slot, + const FT_Matrix* matrix, + const FT_Vector* delta ); + + + typedef void + (*FT_Renderer_GetCBoxFunc)( FT_Renderer renderer, + FT_GlyphSlot slot, + FT_BBox* cbox ); + + + typedef FT_Error + (*FT_Renderer_SetModeFunc)( FT_Renderer renderer, + FT_ULong mode_tag, + FT_Pointer mode_ptr ); + +/* deprecated identifiers */ +#define FTRenderer_render FT_Renderer_RenderFunc +#define FTRenderer_transform FT_Renderer_TransformFunc +#define FTRenderer_getCBox FT_Renderer_GetCBoxFunc +#define FTRenderer_setMode FT_Renderer_SetModeFunc + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_Renderer_Class */ + /* */ + /* <Description> */ + /* The renderer module class descriptor. */ + /* */ + /* <Fields> */ + /* root :: The root @FT_Module_Class fields. */ + /* */ + /* glyph_format :: The glyph image format this renderer handles. */ + /* */ + /* render_glyph :: A method used to render the image that is in a */ + /* given glyph slot into a bitmap. */ + /* */ + /* transform_glyph :: A method used to transform the image that is in */ + /* a given glyph slot. */ + /* */ + /* get_glyph_cbox :: A method used to access the glyph's cbox. */ + /* */ + /* set_mode :: A method used to pass additional parameters. */ + /* */ + /* raster_class :: For @FT_GLYPH_FORMAT_OUTLINE renderers only. */ + /* This is a pointer to its raster's class. */ + /* */ + typedef struct FT_Renderer_Class_ + { + FT_Module_Class root; + + FT_Glyph_Format glyph_format; + + FT_Renderer_RenderFunc render_glyph; + FT_Renderer_TransformFunc transform_glyph; + FT_Renderer_GetCBoxFunc get_glyph_cbox; + FT_Renderer_SetModeFunc set_mode; + + FT_Raster_Funcs* raster_class; + + } FT_Renderer_Class; + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Get_Renderer */ + /* */ + /* <Description> */ + /* Retrieve the current renderer for a given glyph format. */ + /* */ + /* <Input> */ + /* library :: A handle to the library object. */ + /* */ + /* format :: The glyph format. */ + /* */ + /* <Return> */ + /* A renderer handle. 0~if none found. */ + /* */ + /* <Note> */ + /* An error will be returned if a module already exists by that name, */ + /* or if the module requires a version of FreeType that is too great. */ + /* */ + /* To add a new renderer, simply use @FT_Add_Module. To retrieve a */ + /* renderer by its name, use @FT_Get_Module. */ + /* */ + FT_EXPORT( FT_Renderer ) + FT_Get_Renderer( FT_Library library, + FT_Glyph_Format format ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Set_Renderer */ + /* */ + /* <Description> */ + /* Set the current renderer to use, and set additional mode. */ + /* */ + /* <InOut> */ + /* library :: A handle to the library object. */ + /* */ + /* <Input> */ + /* renderer :: A handle to the renderer object. */ + /* */ + /* num_params :: The number of additional parameters. */ + /* */ + /* parameters :: Additional parameters. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* In case of success, the renderer will be used to convert glyph */ + /* images in the renderer's known format into bitmaps. */ + /* */ + /* This doesn't change the current renderer for other formats. */ + /* */ + /* Currently, only the B/W renderer, if compiled with */ + /* FT_RASTER_OPTION_ANTI_ALIASING (providing a 5-levels */ + /* anti-aliasing mode; this option must be set directly in */ + /* `ftraster.c' and is undefined by default) accepts a single tag */ + /* `pal5' to set its gray palette as a character string with */ + /* 5~elements. Consequently, the third and fourth argument are zero */ + /* normally. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Set_Renderer( FT_Library library, + FT_Renderer renderer, + FT_UInt num_params, + FT_Parameter* parameters ); + + + /* */ + + +FT_END_HEADER + +#endif /* __FTRENDER_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftsizes.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftsizes.h new file mode 100644 index 00000000..3e548cc3 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftsizes.h @@ -0,0 +1,159 @@ +/***************************************************************************/ +/* */ +/* ftsizes.h */ +/* */ +/* FreeType size objects management (specification). */ +/* */ +/* Copyright 1996-2001, 2003, 2004, 2006, 2009 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + + /*************************************************************************/ + /* */ + /* Typical application would normally not need to use these functions. */ + /* However, they have been placed in a public API for the rare cases */ + /* where they are needed. */ + /* */ + /*************************************************************************/ + + +#ifndef __FTSIZES_H__ +#define __FTSIZES_H__ + + +#include <ft2build.h> +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* sizes_management */ + /* */ + /* <Title> */ + /* Size Management */ + /* */ + /* <Abstract> */ + /* Managing multiple sizes per face. */ + /* */ + /* <Description> */ + /* When creating a new face object (e.g., with @FT_New_Face), an */ + /* @FT_Size object is automatically created and used to store all */ + /* pixel-size dependent information, available in the `face->size' */ + /* field. */ + /* */ + /* It is however possible to create more sizes for a given face, */ + /* mostly in order to manage several character pixel sizes of the */ + /* same font family and style. See @FT_New_Size and @FT_Done_Size. */ + /* */ + /* Note that @FT_Set_Pixel_Sizes and @FT_Set_Char_Size only */ + /* modify the contents of the current `active' size; you thus need */ + /* to use @FT_Activate_Size to change it. */ + /* */ + /* 99% of applications won't need the functions provided here, */ + /* especially if they use the caching sub-system, so be cautious */ + /* when using these. */ + /* */ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_New_Size */ + /* */ + /* <Description> */ + /* Create a new size object from a given face object. */ + /* */ + /* <Input> */ + /* face :: A handle to a parent face object. */ + /* */ + /* <Output> */ + /* asize :: A handle to a new size object. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* You need to call @FT_Activate_Size in order to select the new size */ + /* for upcoming calls to @FT_Set_Pixel_Sizes, @FT_Set_Char_Size, */ + /* @FT_Load_Glyph, @FT_Load_Char, etc. */ + /* */ + FT_EXPORT( FT_Error ) + FT_New_Size( FT_Face face, + FT_Size* size ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Done_Size */ + /* */ + /* <Description> */ + /* Discard a given size object. Note that @FT_Done_Face */ + /* automatically discards all size objects allocated with */ + /* @FT_New_Size. */ + /* */ + /* <Input> */ + /* size :: A handle to a target size object. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Done_Size( FT_Size size ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Activate_Size */ + /* */ + /* <Description> */ + /* Even though it is possible to create several size objects for a */ + /* given face (see @FT_New_Size for details), functions like */ + /* @FT_Load_Glyph or @FT_Load_Char only use the one which has been */ + /* activated last to determine the `current character pixel size'. */ + /* */ + /* This function can be used to `activate' a previously created size */ + /* object. */ + /* */ + /* <Input> */ + /* size :: A handle to a target size object. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* If `face' is the size's parent face object, this function changes */ + /* the value of `face->size' to the input size handle. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Activate_Size( FT_Size size ); + + /* */ + + +FT_END_HEADER + +#endif /* __FTSIZES_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftsnames.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftsnames.h new file mode 100644 index 00000000..485e4e16 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftsnames.h @@ -0,0 +1,200 @@ +/***************************************************************************/ +/* */ +/* ftsnames.h */ +/* */ +/* Simple interface to access SFNT name tables (which are used */ +/* to hold font names, copyright info, notices, etc.) (specification). */ +/* */ +/* This is _not_ used to retrieve glyph names! */ +/* */ +/* Copyright 1996-2001, 2002, 2003, 2006, 2009, 2010 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __FT_SFNT_NAMES_H__ +#define __FT_SFNT_NAMES_H__ + + +#include <ft2build.h> +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* sfnt_names */ + /* */ + /* <Title> */ + /* SFNT Names */ + /* */ + /* <Abstract> */ + /* Access the names embedded in TrueType and OpenType files. */ + /* */ + /* <Description> */ + /* The TrueType and OpenType specifications allow the inclusion of */ + /* a special `names table' in font files. This table contains */ + /* textual (and internationalized) information regarding the font, */ + /* like family name, copyright, version, etc. */ + /* */ + /* The definitions below are used to access them if available. */ + /* */ + /* Note that this has nothing to do with glyph names! */ + /* */ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_SfntName */ + /* */ + /* <Description> */ + /* A structure used to model an SFNT `name' table entry. */ + /* */ + /* <Fields> */ + /* platform_id :: The platform ID for `string'. */ + /* */ + /* encoding_id :: The encoding ID for `string'. */ + /* */ + /* language_id :: The language ID for `string'. */ + /* */ + /* name_id :: An identifier for `string'. */ + /* */ + /* string :: The `name' string. Note that its format differs */ + /* depending on the (platform,encoding) pair. It can */ + /* be a Pascal String, a UTF-16 one, etc. */ + /* */ + /* Generally speaking, the string is not */ + /* zero-terminated. Please refer to the TrueType */ + /* specification for details. */ + /* */ + /* string_len :: The length of `string' in bytes. */ + /* */ + /* <Note> */ + /* Possible values for `platform_id', `encoding_id', `language_id', */ + /* and `name_id' are given in the file `ttnameid.h'. For details */ + /* please refer to the TrueType or OpenType specification. */ + /* */ + /* See also @TT_PLATFORM_XXX, @TT_APPLE_ID_XXX, @TT_MAC_ID_XXX, */ + /* @TT_ISO_ID_XXX, and @TT_MS_ID_XXX. */ + /* */ + typedef struct FT_SfntName_ + { + FT_UShort platform_id; + FT_UShort encoding_id; + FT_UShort language_id; + FT_UShort name_id; + + FT_Byte* string; /* this string is *not* null-terminated! */ + FT_UInt string_len; /* in bytes */ + + } FT_SfntName; + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Get_Sfnt_Name_Count */ + /* */ + /* <Description> */ + /* Retrieve the number of name strings in the SFNT `name' table. */ + /* */ + /* <Input> */ + /* face :: A handle to the source face. */ + /* */ + /* <Return> */ + /* The number of strings in the `name' table. */ + /* */ + FT_EXPORT( FT_UInt ) + FT_Get_Sfnt_Name_Count( FT_Face face ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Get_Sfnt_Name */ + /* */ + /* <Description> */ + /* Retrieve a string of the SFNT `name' table for a given index. */ + /* */ + /* <Input> */ + /* face :: A handle to the source face. */ + /* */ + /* idx :: The index of the `name' string. */ + /* */ + /* <Output> */ + /* aname :: The indexed @FT_SfntName structure. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* The `string' array returned in the `aname' structure is not */ + /* null-terminated. The application should deallocate it if it is no */ + /* longer in use. */ + /* */ + /* Use @FT_Get_Sfnt_Name_Count to get the total number of available */ + /* `name' table entries, then do a loop until you get the right */ + /* platform, encoding, and name ID. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Get_Sfnt_Name( FT_Face face, + FT_UInt idx, + FT_SfntName *aname ); + + + /*************************************************************************** + * + * @constant: + * FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY + * + * @description: + * A constant used as the tag of @FT_Parameter structures to make + * FT_Open_Face() ignore preferred family subfamily names in `name' + * table since OpenType version 1.4. For backwards compatibility with + * legacy systems which has 4-face-per-family restriction. + * + */ +#define FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY FT_MAKE_TAG( 'i', 'g', 'p', 'f' ) + + + /*************************************************************************** + * + * @constant: + * FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY + * + * @description: + * A constant used as the tag of @FT_Parameter structures to make + * FT_Open_Face() ignore preferred subfamily names in `name' table since + * OpenType version 1.4. For backwards compatibility with legacy + * systems which has 4-face-per-family restriction. + * + */ +#define FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY FT_MAKE_TAG( 'i', 'g', 'p', 's' ) + + /* */ + + +FT_END_HEADER + +#endif /* __FT_SFNT_NAMES_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftstroke.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftstroke.h new file mode 100644 index 00000000..c3eb85a6 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftstroke.h @@ -0,0 +1,751 @@ +/***************************************************************************/ +/* */ +/* ftstroke.h */ +/* */ +/* FreeType path stroker (specification). */ +/* */ +/* Copyright 2002-2006, 2008, 2009, 2011-2012 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __FT_STROKE_H__ +#define __FT_STROKE_H__ + +#include <ft2build.h> +#include FT_OUTLINE_H +#include FT_GLYPH_H + + +FT_BEGIN_HEADER + + + /************************************************************************ + * + * @section: + * glyph_stroker + * + * @title: + * Glyph Stroker + * + * @abstract: + * Generating bordered and stroked glyphs. + * + * @description: + * This component generates stroked outlines of a given vectorial + * glyph. It also allows you to retrieve the `outside' and/or the + * `inside' borders of the stroke. + * + * This can be useful to generate `bordered' glyph, i.e., glyphs + * displayed with a coloured (and anti-aliased) border around their + * shape. + */ + + + /************************************************************** + * + * @type: + * FT_Stroker + * + * @description: + * Opaque handler to a path stroker object. + */ + typedef struct FT_StrokerRec_* FT_Stroker; + + + /************************************************************** + * + * @enum: + * FT_Stroker_LineJoin + * + * @description: + * These values determine how two joining lines are rendered + * in a stroker. + * + * @values: + * FT_STROKER_LINEJOIN_ROUND :: + * Used to render rounded line joins. Circular arcs are used + * to join two lines smoothly. + * + * FT_STROKER_LINEJOIN_BEVEL :: + * Used to render beveled line joins. The outer corner of + * the joined lines is filled by enclosing the triangular + * region of the corner with a straight line between the + * outer corners of each stroke. + * + * FT_STROKER_LINEJOIN_MITER_FIXED :: + * Used to render mitered line joins, with fixed bevels if the + * miter limit is exceeded. The outer edges of the strokes + * for the two segments are extended until they meet at an + * angle. If the segments meet at too sharp an angle (such + * that the miter would extend from the intersection of the + * segments a distance greater than the product of the miter + * limit value and the border radius), then a bevel join (see + * above) is used instead. This prevents long spikes being + * created. FT_STROKER_LINEJOIN_MITER_FIXED generates a miter + * line join as used in PostScript and PDF. + * + * FT_STROKER_LINEJOIN_MITER_VARIABLE :: + * FT_STROKER_LINEJOIN_MITER :: + * Used to render mitered line joins, with variable bevels if + * the miter limit is exceeded. The intersection of the + * strokes is clipped at a line perpendicular to the bisector + * of the angle between the strokes, at the distance from the + * intersection of the segments equal to the product of the + * miter limit value and the border radius. This prevents + * long spikes being created. + * FT_STROKER_LINEJOIN_MITER_VARIABLE generates a mitered line + * join as used in XPS. FT_STROKER_LINEJOIN_MITER is an alias + * for FT_STROKER_LINEJOIN_MITER_VARIABLE, retained for + * backwards compatibility. + */ + typedef enum FT_Stroker_LineJoin_ + { + FT_STROKER_LINEJOIN_ROUND = 0, + FT_STROKER_LINEJOIN_BEVEL = 1, + FT_STROKER_LINEJOIN_MITER_VARIABLE = 2, + FT_STROKER_LINEJOIN_MITER = FT_STROKER_LINEJOIN_MITER_VARIABLE, + FT_STROKER_LINEJOIN_MITER_FIXED = 3 + + } FT_Stroker_LineJoin; + + + /************************************************************** + * + * @enum: + * FT_Stroker_LineCap + * + * @description: + * These values determine how the end of opened sub-paths are + * rendered in a stroke. + * + * @values: + * FT_STROKER_LINECAP_BUTT :: + * The end of lines is rendered as a full stop on the last + * point itself. + * + * FT_STROKER_LINECAP_ROUND :: + * The end of lines is rendered as a half-circle around the + * last point. + * + * FT_STROKER_LINECAP_SQUARE :: + * The end of lines is rendered as a square around the + * last point. + */ + typedef enum FT_Stroker_LineCap_ + { + FT_STROKER_LINECAP_BUTT = 0, + FT_STROKER_LINECAP_ROUND, + FT_STROKER_LINECAP_SQUARE + + } FT_Stroker_LineCap; + + + /************************************************************** + * + * @enum: + * FT_StrokerBorder + * + * @description: + * These values are used to select a given stroke border + * in @FT_Stroker_GetBorderCounts and @FT_Stroker_ExportBorder. + * + * @values: + * FT_STROKER_BORDER_LEFT :: + * Select the left border, relative to the drawing direction. + * + * FT_STROKER_BORDER_RIGHT :: + * Select the right border, relative to the drawing direction. + * + * @note: + * Applications are generally interested in the `inside' and `outside' + * borders. However, there is no direct mapping between these and the + * `left' and `right' ones, since this really depends on the glyph's + * drawing orientation, which varies between font formats. + * + * You can however use @FT_Outline_GetInsideBorder and + * @FT_Outline_GetOutsideBorder to get these. + */ + typedef enum FT_StrokerBorder_ + { + FT_STROKER_BORDER_LEFT = 0, + FT_STROKER_BORDER_RIGHT + + } FT_StrokerBorder; + + + /************************************************************** + * + * @function: + * FT_Outline_GetInsideBorder + * + * @description: + * Retrieve the @FT_StrokerBorder value corresponding to the + * `inside' borders of a given outline. + * + * @input: + * outline :: + * The source outline handle. + * + * @return: + * The border index. @FT_STROKER_BORDER_RIGHT for empty or invalid + * outlines. + */ + FT_EXPORT( FT_StrokerBorder ) + FT_Outline_GetInsideBorder( FT_Outline* outline ); + + + /************************************************************** + * + * @function: + * FT_Outline_GetOutsideBorder + * + * @description: + * Retrieve the @FT_StrokerBorder value corresponding to the + * `outside' borders of a given outline. + * + * @input: + * outline :: + * The source outline handle. + * + * @return: + * The border index. @FT_STROKER_BORDER_LEFT for empty or invalid + * outlines. + */ + FT_EXPORT( FT_StrokerBorder ) + FT_Outline_GetOutsideBorder( FT_Outline* outline ); + + + /************************************************************** + * + * @function: + * FT_Stroker_New + * + * @description: + * Create a new stroker object. + * + * @input: + * library :: + * FreeType library handle. + * + * @output: + * astroker :: + * A new stroker object handle. NULL in case of error. + * + * @return: + * FreeType error code. 0~means success. + */ + FT_EXPORT( FT_Error ) + FT_Stroker_New( FT_Library library, + FT_Stroker *astroker ); + + + /************************************************************** + * + * @function: + * FT_Stroker_Set + * + * @description: + * Reset a stroker object's attributes. + * + * @input: + * stroker :: + * The target stroker handle. + * + * radius :: + * The border radius. + * + * line_cap :: + * The line cap style. + * + * line_join :: + * The line join style. + * + * miter_limit :: + * The miter limit for the FT_STROKER_LINEJOIN_MITER_FIXED and + * FT_STROKER_LINEJOIN_MITER_VARIABLE line join styles, + * expressed as 16.16 fixed point value. + * + * @note: + * The radius is expressed in the same units as the outline + * coordinates. + */ + FT_EXPORT( void ) + FT_Stroker_Set( FT_Stroker stroker, + FT_Fixed radius, + FT_Stroker_LineCap line_cap, + FT_Stroker_LineJoin line_join, + FT_Fixed miter_limit ); + + + /************************************************************** + * + * @function: + * FT_Stroker_Rewind + * + * @description: + * Reset a stroker object without changing its attributes. + * You should call this function before beginning a new + * series of calls to @FT_Stroker_BeginSubPath or + * @FT_Stroker_EndSubPath. + * + * @input: + * stroker :: + * The target stroker handle. + */ + FT_EXPORT( void ) + FT_Stroker_Rewind( FT_Stroker stroker ); + + + /************************************************************** + * + * @function: + * FT_Stroker_ParseOutline + * + * @description: + * A convenience function used to parse a whole outline with + * the stroker. The resulting outline(s) can be retrieved + * later by functions like @FT_Stroker_GetCounts and @FT_Stroker_Export. + * + * @input: + * stroker :: + * The target stroker handle. + * + * outline :: + * The source outline. + * + * opened :: + * A boolean. If~1, the outline is treated as an open path instead + * of a closed one. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * If `opened' is~0 (the default), the outline is treated as a closed + * path, and the stroker generates two distinct `border' outlines. + * + * If `opened' is~1, the outline is processed as an open path, and the + * stroker generates a single `stroke' outline. + * + * This function calls @FT_Stroker_Rewind automatically. + */ + FT_EXPORT( FT_Error ) + FT_Stroker_ParseOutline( FT_Stroker stroker, + FT_Outline* outline, + FT_Bool opened ); + + + /************************************************************** + * + * @function: + * FT_Stroker_BeginSubPath + * + * @description: + * Start a new sub-path in the stroker. + * + * @input: + * stroker :: + * The target stroker handle. + * + * to :: + * A pointer to the start vector. + * + * open :: + * A boolean. If~1, the sub-path is treated as an open one. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This function is useful when you need to stroke a path that is + * not stored as an @FT_Outline object. + */ + FT_EXPORT( FT_Error ) + FT_Stroker_BeginSubPath( FT_Stroker stroker, + FT_Vector* to, + FT_Bool open ); + + + /************************************************************** + * + * @function: + * FT_Stroker_EndSubPath + * + * @description: + * Close the current sub-path in the stroker. + * + * @input: + * stroker :: + * The target stroker handle. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * You should call this function after @FT_Stroker_BeginSubPath. + * If the subpath was not `opened', this function `draws' a + * single line segment to the start position when needed. + */ + FT_EXPORT( FT_Error ) + FT_Stroker_EndSubPath( FT_Stroker stroker ); + + + /************************************************************** + * + * @function: + * FT_Stroker_LineTo + * + * @description: + * `Draw' a single line segment in the stroker's current sub-path, + * from the last position. + * + * @input: + * stroker :: + * The target stroker handle. + * + * to :: + * A pointer to the destination point. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * You should call this function between @FT_Stroker_BeginSubPath and + * @FT_Stroker_EndSubPath. + */ + FT_EXPORT( FT_Error ) + FT_Stroker_LineTo( FT_Stroker stroker, + FT_Vector* to ); + + + /************************************************************** + * + * @function: + * FT_Stroker_ConicTo + * + * @description: + * `Draw' a single quadratic Bézier in the stroker's current sub-path, + * from the last position. + * + * @input: + * stroker :: + * The target stroker handle. + * + * control :: + * A pointer to a Bézier control point. + * + * to :: + * A pointer to the destination point. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * You should call this function between @FT_Stroker_BeginSubPath and + * @FT_Stroker_EndSubPath. + */ + FT_EXPORT( FT_Error ) + FT_Stroker_ConicTo( FT_Stroker stroker, + FT_Vector* control, + FT_Vector* to ); + + + /************************************************************** + * + * @function: + * FT_Stroker_CubicTo + * + * @description: + * `Draw' a single cubic Bézier in the stroker's current sub-path, + * from the last position. + * + * @input: + * stroker :: + * The target stroker handle. + * + * control1 :: + * A pointer to the first Bézier control point. + * + * control2 :: + * A pointer to second Bézier control point. + * + * to :: + * A pointer to the destination point. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * You should call this function between @FT_Stroker_BeginSubPath and + * @FT_Stroker_EndSubPath. + */ + FT_EXPORT( FT_Error ) + FT_Stroker_CubicTo( FT_Stroker stroker, + FT_Vector* control1, + FT_Vector* control2, + FT_Vector* to ); + + + /************************************************************** + * + * @function: + * FT_Stroker_GetBorderCounts + * + * @description: + * Call this function once you have finished parsing your paths + * with the stroker. It returns the number of points and + * contours necessary to export one of the `border' or `stroke' + * outlines generated by the stroker. + * + * @input: + * stroker :: + * The target stroker handle. + * + * border :: + * The border index. + * + * @output: + * anum_points :: + * The number of points. + * + * anum_contours :: + * The number of contours. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * When an outline, or a sub-path, is `closed', the stroker generates + * two independent `border' outlines, named `left' and `right'. + * + * When the outline, or a sub-path, is `opened', the stroker merges + * the `border' outlines with caps. The `left' border receives all + * points, while the `right' border becomes empty. + * + * Use the function @FT_Stroker_GetCounts instead if you want to + * retrieve the counts associated to both borders. + */ + FT_EXPORT( FT_Error ) + FT_Stroker_GetBorderCounts( FT_Stroker stroker, + FT_StrokerBorder border, + FT_UInt *anum_points, + FT_UInt *anum_contours ); + + + /************************************************************** + * + * @function: + * FT_Stroker_ExportBorder + * + * @description: + * Call this function after @FT_Stroker_GetBorderCounts to + * export the corresponding border to your own @FT_Outline + * structure. + * + * Note that this function appends the border points and + * contours to your outline, but does not try to resize its + * arrays. + * + * @input: + * stroker :: + * The target stroker handle. + * + * border :: + * The border index. + * + * outline :: + * The target outline handle. + * + * @note: + * Always call this function after @FT_Stroker_GetBorderCounts to + * get sure that there is enough room in your @FT_Outline object to + * receive all new data. + * + * When an outline, or a sub-path, is `closed', the stroker generates + * two independent `border' outlines, named `left' and `right' + * + * When the outline, or a sub-path, is `opened', the stroker merges + * the `border' outlines with caps. The `left' border receives all + * points, while the `right' border becomes empty. + * + * Use the function @FT_Stroker_Export instead if you want to + * retrieve all borders at once. + */ + FT_EXPORT( void ) + FT_Stroker_ExportBorder( FT_Stroker stroker, + FT_StrokerBorder border, + FT_Outline* outline ); + + + /************************************************************** + * + * @function: + * FT_Stroker_GetCounts + * + * @description: + * Call this function once you have finished parsing your paths + * with the stroker. It returns the number of points and + * contours necessary to export all points/borders from the stroked + * outline/path. + * + * @input: + * stroker :: + * The target stroker handle. + * + * @output: + * anum_points :: + * The number of points. + * + * anum_contours :: + * The number of contours. + * + * @return: + * FreeType error code. 0~means success. + */ + FT_EXPORT( FT_Error ) + FT_Stroker_GetCounts( FT_Stroker stroker, + FT_UInt *anum_points, + FT_UInt *anum_contours ); + + + /************************************************************** + * + * @function: + * FT_Stroker_Export + * + * @description: + * Call this function after @FT_Stroker_GetBorderCounts to + * export all borders to your own @FT_Outline structure. + * + * Note that this function appends the border points and + * contours to your outline, but does not try to resize its + * arrays. + * + * @input: + * stroker :: + * The target stroker handle. + * + * outline :: + * The target outline handle. + */ + FT_EXPORT( void ) + FT_Stroker_Export( FT_Stroker stroker, + FT_Outline* outline ); + + + /************************************************************** + * + * @function: + * FT_Stroker_Done + * + * @description: + * Destroy a stroker object. + * + * @input: + * stroker :: + * A stroker handle. Can be NULL. + */ + FT_EXPORT( void ) + FT_Stroker_Done( FT_Stroker stroker ); + + + /************************************************************** + * + * @function: + * FT_Glyph_Stroke + * + * @description: + * Stroke a given outline glyph object with a given stroker. + * + * @inout: + * pglyph :: + * Source glyph handle on input, new glyph handle on output. + * + * @input: + * stroker :: + * A stroker handle. + * + * destroy :: + * A Boolean. If~1, the source glyph object is destroyed + * on success. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The source glyph is untouched in case of error. + * + * Adding stroke may yield a significantly wider and taller glyph + * depending on how large of a radius was used to stroke the glyph. You + * may need to manually adjust horizontal and vertical advance amounts + * to account for this added size. + */ + FT_EXPORT( FT_Error ) + FT_Glyph_Stroke( FT_Glyph *pglyph, + FT_Stroker stroker, + FT_Bool destroy ); + + + /************************************************************** + * + * @function: + * FT_Glyph_StrokeBorder + * + * @description: + * Stroke a given outline glyph object with a given stroker, but + * only return either its inside or outside border. + * + * @inout: + * pglyph :: + * Source glyph handle on input, new glyph handle on output. + * + * @input: + * stroker :: + * A stroker handle. + * + * inside :: + * A Boolean. If~1, return the inside border, otherwise + * the outside border. + * + * destroy :: + * A Boolean. If~1, the source glyph object is destroyed + * on success. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The source glyph is untouched in case of error. + * + * Adding stroke may yield a significantly wider and taller glyph + * depending on how large of a radius was used to stroke the glyph. You + * may need to manually adjust horizontal and vertical advance amounts + * to account for this added size. + */ + FT_EXPORT( FT_Error ) + FT_Glyph_StrokeBorder( FT_Glyph *pglyph, + FT_Stroker stroker, + FT_Bool inside, + FT_Bool destroy ); + + /* */ + +FT_END_HEADER + +#endif /* __FT_STROKE_H__ */ + + +/* END */ + + +/* Local Variables: */ +/* coding: utf-8 */ +/* End: */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftsynth.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftsynth.h new file mode 100644 index 00000000..2074503c --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftsynth.h @@ -0,0 +1,81 @@ +/***************************************************************************/ +/* */ +/* ftsynth.h */ +/* */ +/* FreeType synthesizing code for emboldening and slanting */ +/* (specification). */ +/* */ +/* Copyright 2000-2001, 2003, 2006, 2008, 2012 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + + /*************************************************************************/ + /*************************************************************************/ + /*************************************************************************/ + /*************************************************************************/ + /*************************************************************************/ + /********* *********/ + /********* WARNING, THIS IS ALPHA CODE! THIS API *********/ + /********* IS DUE TO CHANGE UNTIL STRICTLY NOTIFIED BY THE *********/ + /********* FREETYPE DEVELOPMENT TEAM *********/ + /********* *********/ + /*************************************************************************/ + /*************************************************************************/ + /*************************************************************************/ + /*************************************************************************/ + /*************************************************************************/ + + + /* Main reason for not lifting the functions in this module to a */ + /* `standard' API is that the used parameters for emboldening and */ + /* slanting are not configurable. Consider the functions as a */ + /* code resource which should be copied into the application and */ + /* adapted to the particular needs. */ + + +#ifndef __FTSYNTH_H__ +#define __FTSYNTH_H__ + + +#include <ft2build.h> +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + /* Embolden a glyph by a `reasonable' value (which is highly a matter of */ + /* taste). This function is actually a convenience function, providing */ + /* a wrapper for @FT_Outline_Embolden and @FT_Bitmap_Embolden. */ + /* */ + /* For emboldened outlines the height, width, and advance metrics are */ + /* increased by the strength of the emboldening. You can also call */ + /* @FT_Outline_Get_CBox to get precise values. */ + FT_EXPORT( void ) + FT_GlyphSlot_Embolden( FT_GlyphSlot slot ); + + /* Slant an outline glyph to the right by about 12 degrees. */ + FT_EXPORT( void ) + FT_GlyphSlot_Oblique( FT_GlyphSlot slot ); + + /* */ + +FT_END_HEADER + +#endif /* __FTSYNTH_H__ */ + + +/* END */ diff --git a/extlibs/headers/freetype/ftsystem.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftsystem.h similarity index 100% rename from extlibs/headers/freetype/ftsystem.h rename to extlibs/headers/libfreetype/osx/freetype2/freetype/ftsystem.h diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/fttrigon.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/fttrigon.h new file mode 100644 index 00000000..6b77d2ee --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/fttrigon.h @@ -0,0 +1,350 @@ +/***************************************************************************/ +/* */ +/* fttrigon.h */ +/* */ +/* FreeType trigonometric functions (specification). */ +/* */ +/* Copyright 2001, 2003, 2005, 2007 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __FTTRIGON_H__ +#define __FTTRIGON_H__ + +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* computations */ + /* */ + /*************************************************************************/ + + + /************************************************************************* + * + * @type: + * FT_Angle + * + * @description: + * This type is used to model angle values in FreeType. Note that the + * angle is a 16.16 fixed float value expressed in degrees. + * + */ + typedef FT_Fixed FT_Angle; + + + /************************************************************************* + * + * @macro: + * FT_ANGLE_PI + * + * @description: + * The angle pi expressed in @FT_Angle units. + * + */ +#define FT_ANGLE_PI ( 180L << 16 ) + + + /************************************************************************* + * + * @macro: + * FT_ANGLE_2PI + * + * @description: + * The angle 2*pi expressed in @FT_Angle units. + * + */ +#define FT_ANGLE_2PI ( FT_ANGLE_PI * 2 ) + + + /************************************************************************* + * + * @macro: + * FT_ANGLE_PI2 + * + * @description: + * The angle pi/2 expressed in @FT_Angle units. + * + */ +#define FT_ANGLE_PI2 ( FT_ANGLE_PI / 2 ) + + + /************************************************************************* + * + * @macro: + * FT_ANGLE_PI4 + * + * @description: + * The angle pi/4 expressed in @FT_Angle units. + * + */ +#define FT_ANGLE_PI4 ( FT_ANGLE_PI / 4 ) + + + /************************************************************************* + * + * @function: + * FT_Sin + * + * @description: + * Return the sinus of a given angle in fixed point format. + * + * @input: + * angle :: + * The input angle. + * + * @return: + * The sinus value. + * + * @note: + * If you need both the sinus and cosinus for a given angle, use the + * function @FT_Vector_Unit. + * + */ + FT_EXPORT( FT_Fixed ) + FT_Sin( FT_Angle angle ); + + + /************************************************************************* + * + * @function: + * FT_Cos + * + * @description: + * Return the cosinus of a given angle in fixed point format. + * + * @input: + * angle :: + * The input angle. + * + * @return: + * The cosinus value. + * + * @note: + * If you need both the sinus and cosinus for a given angle, use the + * function @FT_Vector_Unit. + * + */ + FT_EXPORT( FT_Fixed ) + FT_Cos( FT_Angle angle ); + + + /************************************************************************* + * + * @function: + * FT_Tan + * + * @description: + * Return the tangent of a given angle in fixed point format. + * + * @input: + * angle :: + * The input angle. + * + * @return: + * The tangent value. + * + */ + FT_EXPORT( FT_Fixed ) + FT_Tan( FT_Angle angle ); + + + /************************************************************************* + * + * @function: + * FT_Atan2 + * + * @description: + * Return the arc-tangent corresponding to a given vector (x,y) in + * the 2d plane. + * + * @input: + * x :: + * The horizontal vector coordinate. + * + * y :: + * The vertical vector coordinate. + * + * @return: + * The arc-tangent value (i.e. angle). + * + */ + FT_EXPORT( FT_Angle ) + FT_Atan2( FT_Fixed x, + FT_Fixed y ); + + + /************************************************************************* + * + * @function: + * FT_Angle_Diff + * + * @description: + * Return the difference between two angles. The result is always + * constrained to the ]-PI..PI] interval. + * + * @input: + * angle1 :: + * First angle. + * + * angle2 :: + * Second angle. + * + * @return: + * Constrained value of `value2-value1'. + * + */ + FT_EXPORT( FT_Angle ) + FT_Angle_Diff( FT_Angle angle1, + FT_Angle angle2 ); + + + /************************************************************************* + * + * @function: + * FT_Vector_Unit + * + * @description: + * Return the unit vector corresponding to a given angle. After the + * call, the value of `vec.x' will be `sin(angle)', and the value of + * `vec.y' will be `cos(angle)'. + * + * This function is useful to retrieve both the sinus and cosinus of a + * given angle quickly. + * + * @output: + * vec :: + * The address of target vector. + * + * @input: + * angle :: + * The address of angle. + * + */ + FT_EXPORT( void ) + FT_Vector_Unit( FT_Vector* vec, + FT_Angle angle ); + + + /************************************************************************* + * + * @function: + * FT_Vector_Rotate + * + * @description: + * Rotate a vector by a given angle. + * + * @inout: + * vec :: + * The address of target vector. + * + * @input: + * angle :: + * The address of angle. + * + */ + FT_EXPORT( void ) + FT_Vector_Rotate( FT_Vector* vec, + FT_Angle angle ); + + + /************************************************************************* + * + * @function: + * FT_Vector_Length + * + * @description: + * Return the length of a given vector. + * + * @input: + * vec :: + * The address of target vector. + * + * @return: + * The vector length, expressed in the same units that the original + * vector coordinates. + * + */ + FT_EXPORT( FT_Fixed ) + FT_Vector_Length( FT_Vector* vec ); + + + /************************************************************************* + * + * @function: + * FT_Vector_Polarize + * + * @description: + * Compute both the length and angle of a given vector. + * + * @input: + * vec :: + * The address of source vector. + * + * @output: + * length :: + * The vector length. + * + * angle :: + * The vector angle. + * + */ + FT_EXPORT( void ) + FT_Vector_Polarize( FT_Vector* vec, + FT_Fixed *length, + FT_Angle *angle ); + + + /************************************************************************* + * + * @function: + * FT_Vector_From_Polar + * + * @description: + * Compute vector coordinates from a length and angle. + * + * @output: + * vec :: + * The address of source vector. + * + * @input: + * length :: + * The vector length. + * + * angle :: + * The vector angle. + * + */ + FT_EXPORT( void ) + FT_Vector_From_Polar( FT_Vector* vec, + FT_Fixed length, + FT_Angle angle ); + + /* */ + + +FT_END_HEADER + +#endif /* __FTTRIGON_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/fttypes.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/fttypes.h new file mode 100644 index 00000000..32555274 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/fttypes.h @@ -0,0 +1,588 @@ +/***************************************************************************/ +/* */ +/* fttypes.h */ +/* */ +/* FreeType simple types definitions (specification only). */ +/* */ +/* Copyright 1996-2002, 2004, 2006-2009, 2012 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __FTTYPES_H__ +#define __FTTYPES_H__ + + +#include <ft2build.h> +#include FT_CONFIG_CONFIG_H +#include FT_SYSTEM_H +#include FT_IMAGE_H + +#include <stddef.h> + + +FT_BEGIN_HEADER + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* basic_types */ + /* */ + /* <Title> */ + /* Basic Data Types */ + /* */ + /* <Abstract> */ + /* The basic data types defined by the library. */ + /* */ + /* <Description> */ + /* This section contains the basic data types defined by FreeType~2, */ + /* ranging from simple scalar types to bitmap descriptors. More */ + /* font-specific structures are defined in a different section. */ + /* */ + /* <Order> */ + /* FT_Byte */ + /* FT_Bytes */ + /* FT_Char */ + /* FT_Int */ + /* FT_UInt */ + /* FT_Int16 */ + /* FT_UInt16 */ + /* FT_Int32 */ + /* FT_UInt32 */ + /* FT_Short */ + /* FT_UShort */ + /* FT_Long */ + /* FT_ULong */ + /* FT_Bool */ + /* FT_Offset */ + /* FT_PtrDist */ + /* FT_String */ + /* FT_Tag */ + /* FT_Error */ + /* FT_Fixed */ + /* FT_Pointer */ + /* FT_Pos */ + /* FT_Vector */ + /* FT_BBox */ + /* FT_Matrix */ + /* FT_FWord */ + /* FT_UFWord */ + /* FT_F2Dot14 */ + /* FT_UnitVector */ + /* FT_F26Dot6 */ + /* */ + /* */ + /* FT_Generic */ + /* FT_Generic_Finalizer */ + /* */ + /* FT_Bitmap */ + /* FT_Pixel_Mode */ + /* FT_Palette_Mode */ + /* FT_Glyph_Format */ + /* FT_IMAGE_TAG */ + /* */ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_Bool */ + /* */ + /* <Description> */ + /* A typedef of unsigned char, used for simple booleans. As usual, */ + /* values 1 and~0 represent true and false, respectively. */ + /* */ + typedef unsigned char FT_Bool; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_FWord */ + /* */ + /* <Description> */ + /* A signed 16-bit integer used to store a distance in original font */ + /* units. */ + /* */ + typedef signed short FT_FWord; /* distance in FUnits */ + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_UFWord */ + /* */ + /* <Description> */ + /* An unsigned 16-bit integer used to store a distance in original */ + /* font units. */ + /* */ + typedef unsigned short FT_UFWord; /* unsigned distance */ + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_Char */ + /* */ + /* <Description> */ + /* A simple typedef for the _signed_ char type. */ + /* */ + typedef signed char FT_Char; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_Byte */ + /* */ + /* <Description> */ + /* A simple typedef for the _unsigned_ char type. */ + /* */ + typedef unsigned char FT_Byte; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_Bytes */ + /* */ + /* <Description> */ + /* A typedef for constant memory areas. */ + /* */ + typedef const FT_Byte* FT_Bytes; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_Tag */ + /* */ + /* <Description> */ + /* A typedef for 32-bit tags (as used in the SFNT format). */ + /* */ + typedef FT_UInt32 FT_Tag; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_String */ + /* */ + /* <Description> */ + /* A simple typedef for the char type, usually used for strings. */ + /* */ + typedef char FT_String; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_Short */ + /* */ + /* <Description> */ + /* A typedef for signed short. */ + /* */ + typedef signed short FT_Short; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_UShort */ + /* */ + /* <Description> */ + /* A typedef for unsigned short. */ + /* */ + typedef unsigned short FT_UShort; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_Int */ + /* */ + /* <Description> */ + /* A typedef for the int type. */ + /* */ + typedef signed int FT_Int; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_UInt */ + /* */ + /* <Description> */ + /* A typedef for the unsigned int type. */ + /* */ + typedef unsigned int FT_UInt; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_Long */ + /* */ + /* <Description> */ + /* A typedef for signed long. */ + /* */ + typedef signed long FT_Long; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_ULong */ + /* */ + /* <Description> */ + /* A typedef for unsigned long. */ + /* */ + typedef unsigned long FT_ULong; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_F2Dot14 */ + /* */ + /* <Description> */ + /* A signed 2.14 fixed float type used for unit vectors. */ + /* */ + typedef signed short FT_F2Dot14; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_F26Dot6 */ + /* */ + /* <Description> */ + /* A signed 26.6 fixed float type used for vectorial pixel */ + /* coordinates. */ + /* */ + typedef signed long FT_F26Dot6; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_Fixed */ + /* */ + /* <Description> */ + /* This type is used to store 16.16 fixed float values, like scaling */ + /* values or matrix coefficients. */ + /* */ + typedef signed long FT_Fixed; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_Error */ + /* */ + /* <Description> */ + /* The FreeType error code type. A value of~0 is always interpreted */ + /* as a successful operation. */ + /* */ + typedef int FT_Error; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_Pointer */ + /* */ + /* <Description> */ + /* A simple typedef for a typeless pointer. */ + /* */ + typedef void* FT_Pointer; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_Offset */ + /* */ + /* <Description> */ + /* This is equivalent to the ANSI~C `size_t' type, i.e., the largest */ + /* _unsigned_ integer type used to express a file size or position, */ + /* or a memory block size. */ + /* */ + typedef size_t FT_Offset; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_PtrDist */ + /* */ + /* <Description> */ + /* This is equivalent to the ANSI~C `ptrdiff_t' type, i.e., the */ + /* largest _signed_ integer type used to express the distance */ + /* between two pointers. */ + /* */ + typedef ft_ptrdiff_t FT_PtrDist; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_UnitVector */ + /* */ + /* <Description> */ + /* A simple structure used to store a 2D vector unit vector. Uses */ + /* FT_F2Dot14 types. */ + /* */ + /* <Fields> */ + /* x :: Horizontal coordinate. */ + /* */ + /* y :: Vertical coordinate. */ + /* */ + typedef struct FT_UnitVector_ + { + FT_F2Dot14 x; + FT_F2Dot14 y; + + } FT_UnitVector; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_Matrix */ + /* */ + /* <Description> */ + /* A simple structure used to store a 2x2 matrix. Coefficients are */ + /* in 16.16 fixed float format. The computation performed is: */ + /* */ + /* { */ + /* x' = x*xx + y*xy */ + /* y' = x*yx + y*yy */ + /* } */ + /* */ + /* <Fields> */ + /* xx :: Matrix coefficient. */ + /* */ + /* xy :: Matrix coefficient. */ + /* */ + /* yx :: Matrix coefficient. */ + /* */ + /* yy :: Matrix coefficient. */ + /* */ + typedef struct FT_Matrix_ + { + FT_Fixed xx, xy; + FT_Fixed yx, yy; + + } FT_Matrix; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_Data */ + /* */ + /* <Description> */ + /* Read-only binary data represented as a pointer and a length. */ + /* */ + /* <Fields> */ + /* pointer :: The data. */ + /* */ + /* length :: The length of the data in bytes. */ + /* */ + typedef struct FT_Data_ + { + const FT_Byte* pointer; + FT_Int length; + + } FT_Data; + + + /*************************************************************************/ + /* */ + /* <FuncType> */ + /* FT_Generic_Finalizer */ + /* */ + /* <Description> */ + /* Describe a function used to destroy the `client' data of any */ + /* FreeType object. See the description of the @FT_Generic type for */ + /* details of usage. */ + /* */ + /* <Input> */ + /* The address of the FreeType object which is under finalization. */ + /* Its client data is accessed through its `generic' field. */ + /* */ + typedef void (*FT_Generic_Finalizer)(void* object); + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_Generic */ + /* */ + /* <Description> */ + /* Client applications often need to associate their own data to a */ + /* variety of FreeType core objects. For example, a text layout API */ + /* might want to associate a glyph cache to a given size object. */ + /* */ + /* Some FreeType object contains a `generic' field, of type */ + /* FT_Generic, which usage is left to client applications and font */ + /* servers. */ + /* */ + /* It can be used to store a pointer to client-specific data, as well */ + /* as the address of a `finalizer' function, which will be called by */ + /* FreeType when the object is destroyed (for example, the previous */ + /* client example would put the address of the glyph cache destructor */ + /* in the `finalizer' field). */ + /* */ + /* <Fields> */ + /* data :: A typeless pointer to any client-specified data. This */ + /* field is completely ignored by the FreeType library. */ + /* */ + /* finalizer :: A pointer to a `generic finalizer' function, which */ + /* will be called when the object is destroyed. If this */ + /* field is set to NULL, no code will be called. */ + /* */ + typedef struct FT_Generic_ + { + void* data; + FT_Generic_Finalizer finalizer; + + } FT_Generic; + + + /*************************************************************************/ + /* */ + /* <Macro> */ + /* FT_MAKE_TAG */ + /* */ + /* <Description> */ + /* This macro converts four-letter tags which are used to label */ + /* TrueType tables into an unsigned long to be used within FreeType. */ + /* */ + /* <Note> */ + /* The produced values *must* be 32-bit integers. Don't redefine */ + /* this macro. */ + /* */ +#define FT_MAKE_TAG( _x1, _x2, _x3, _x4 ) \ + (FT_Tag) \ + ( ( (FT_ULong)_x1 << 24 ) | \ + ( (FT_ULong)_x2 << 16 ) | \ + ( (FT_ULong)_x3 << 8 ) | \ + (FT_ULong)_x4 ) + + + /*************************************************************************/ + /*************************************************************************/ + /* */ + /* L I S T M A N A G E M E N T */ + /* */ + /*************************************************************************/ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* list_processing */ + /* */ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_ListNode */ + /* */ + /* <Description> */ + /* Many elements and objects in FreeType are listed through an */ + /* @FT_List record (see @FT_ListRec). As its name suggests, an */ + /* FT_ListNode is a handle to a single list element. */ + /* */ + typedef struct FT_ListNodeRec_* FT_ListNode; + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_List */ + /* */ + /* <Description> */ + /* A handle to a list record (see @FT_ListRec). */ + /* */ + typedef struct FT_ListRec_* FT_List; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_ListNodeRec */ + /* */ + /* <Description> */ + /* A structure used to hold a single list element. */ + /* */ + /* <Fields> */ + /* prev :: The previous element in the list. NULL if first. */ + /* */ + /* next :: The next element in the list. NULL if last. */ + /* */ + /* data :: A typeless pointer to the listed object. */ + /* */ + typedef struct FT_ListNodeRec_ + { + FT_ListNode prev; + FT_ListNode next; + void* data; + + } FT_ListNodeRec; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_ListRec */ + /* */ + /* <Description> */ + /* A structure used to hold a simple doubly-linked list. These are */ + /* used in many parts of FreeType. */ + /* */ + /* <Fields> */ + /* head :: The head (first element) of doubly-linked list. */ + /* */ + /* tail :: The tail (last element) of doubly-linked list. */ + /* */ + typedef struct FT_ListRec_ + { + FT_ListNode head; + FT_ListNode tail; + + } FT_ListRec; + + + /* */ + +#define FT_IS_EMPTY( list ) ( (list).head == 0 ) + + /* return base error code (without module-specific prefix) */ +#define FT_ERROR_BASE( x ) ( (x) & 0xFF ) + + /* return module error code */ +#define FT_ERROR_MODULE( x ) ( (x) & 0xFF00U ) + +#define FT_BOOL( x ) ( (FT_Bool)( x ) ) + +FT_END_HEADER + +#endif /* __FTTYPES_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftwinfnt.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftwinfnt.h new file mode 100644 index 00000000..ea333535 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftwinfnt.h @@ -0,0 +1,274 @@ +/***************************************************************************/ +/* */ +/* ftwinfnt.h */ +/* */ +/* FreeType API for accessing Windows fnt-specific data. */ +/* */ +/* Copyright 2003, 2004, 2008 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __FTWINFNT_H__ +#define __FTWINFNT_H__ + +#include <ft2build.h> +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* winfnt_fonts */ + /* */ + /* <Title> */ + /* Window FNT Files */ + /* */ + /* <Abstract> */ + /* Windows FNT specific API. */ + /* */ + /* <Description> */ + /* This section contains the declaration of Windows FNT specific */ + /* functions. */ + /* */ + /*************************************************************************/ + + + /************************************************************************* + * + * @enum: + * FT_WinFNT_ID_XXX + * + * @description: + * A list of valid values for the `charset' byte in + * @FT_WinFNT_HeaderRec. Exact mapping tables for the various cpXXXX + * encodings (except for cp1361) can be found at ftp://ftp.unicode.org + * in the MAPPINGS/VENDORS/MICSFT/WINDOWS subdirectory. cp1361 is + * roughly a superset of MAPPINGS/OBSOLETE/EASTASIA/KSC/JOHAB.TXT. + * + * @values: + * FT_WinFNT_ID_DEFAULT :: + * This is used for font enumeration and font creation as a + * `don't care' value. Valid font files don't contain this value. + * When querying for information about the character set of the font + * that is currently selected into a specified device context, this + * return value (of the related Windows API) simply denotes failure. + * + * FT_WinFNT_ID_SYMBOL :: + * There is no known mapping table available. + * + * FT_WinFNT_ID_MAC :: + * Mac Roman encoding. + * + * FT_WinFNT_ID_OEM :: + * From Michael Pöttgen <michael@poettgen.de>: + * + * The `Windows Font Mapping' article says that FT_WinFNT_ID_OEM + * is used for the charset of vector fonts, like `modern.fon', + * `roman.fon', and `script.fon' on Windows. + * + * The `CreateFont' documentation says: The FT_WinFNT_ID_OEM value + * specifies a character set that is operating-system dependent. + * + * The `IFIMETRICS' documentation from the `Windows Driver + * Development Kit' says: This font supports an OEM-specific + * character set. The OEM character set is system dependent. + * + * In general OEM, as opposed to ANSI (i.e., cp1252), denotes the + * second default codepage that most international versions of + * Windows have. It is one of the OEM codepages from + * + * http://www.microsoft.com/globaldev/reference/cphome.mspx, + * + * and is used for the `DOS boxes', to support legacy applications. + * A German Windows version for example usually uses ANSI codepage + * 1252 and OEM codepage 850. + * + * FT_WinFNT_ID_CP874 :: + * A superset of Thai TIS 620 and ISO 8859-11. + * + * FT_WinFNT_ID_CP932 :: + * A superset of Japanese Shift-JIS (with minor deviations). + * + * FT_WinFNT_ID_CP936 :: + * A superset of simplified Chinese GB 2312-1980 (with different + * ordering and minor deviations). + * + * FT_WinFNT_ID_CP949 :: + * A superset of Korean Hangul KS~C 5601-1987 (with different + * ordering and minor deviations). + * + * FT_WinFNT_ID_CP950 :: + * A superset of traditional Chinese Big~5 ETen (with different + * ordering and minor deviations). + * + * FT_WinFNT_ID_CP1250 :: + * A superset of East European ISO 8859-2 (with slightly different + * ordering). + * + * FT_WinFNT_ID_CP1251 :: + * A superset of Russian ISO 8859-5 (with different ordering). + * + * FT_WinFNT_ID_CP1252 :: + * ANSI encoding. A superset of ISO 8859-1. + * + * FT_WinFNT_ID_CP1253 :: + * A superset of Greek ISO 8859-7 (with minor modifications). + * + * FT_WinFNT_ID_CP1254 :: + * A superset of Turkish ISO 8859-9. + * + * FT_WinFNT_ID_CP1255 :: + * A superset of Hebrew ISO 8859-8 (with some modifications). + * + * FT_WinFNT_ID_CP1256 :: + * A superset of Arabic ISO 8859-6 (with different ordering). + * + * FT_WinFNT_ID_CP1257 :: + * A superset of Baltic ISO 8859-13 (with some deviations). + * + * FT_WinFNT_ID_CP1258 :: + * For Vietnamese. This encoding doesn't cover all necessary + * characters. + * + * FT_WinFNT_ID_CP1361 :: + * Korean (Johab). + */ + +#define FT_WinFNT_ID_CP1252 0 +#define FT_WinFNT_ID_DEFAULT 1 +#define FT_WinFNT_ID_SYMBOL 2 +#define FT_WinFNT_ID_MAC 77 +#define FT_WinFNT_ID_CP932 128 +#define FT_WinFNT_ID_CP949 129 +#define FT_WinFNT_ID_CP1361 130 +#define FT_WinFNT_ID_CP936 134 +#define FT_WinFNT_ID_CP950 136 +#define FT_WinFNT_ID_CP1253 161 +#define FT_WinFNT_ID_CP1254 162 +#define FT_WinFNT_ID_CP1258 163 +#define FT_WinFNT_ID_CP1255 177 +#define FT_WinFNT_ID_CP1256 178 +#define FT_WinFNT_ID_CP1257 186 +#define FT_WinFNT_ID_CP1251 204 +#define FT_WinFNT_ID_CP874 222 +#define FT_WinFNT_ID_CP1250 238 +#define FT_WinFNT_ID_OEM 255 + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_WinFNT_HeaderRec */ + /* */ + /* <Description> */ + /* Windows FNT Header info. */ + /* */ + typedef struct FT_WinFNT_HeaderRec_ + { + FT_UShort version; + FT_ULong file_size; + FT_Byte copyright[60]; + FT_UShort file_type; + FT_UShort nominal_point_size; + FT_UShort vertical_resolution; + FT_UShort horizontal_resolution; + FT_UShort ascent; + FT_UShort internal_leading; + FT_UShort external_leading; + FT_Byte italic; + FT_Byte underline; + FT_Byte strike_out; + FT_UShort weight; + FT_Byte charset; + FT_UShort pixel_width; + FT_UShort pixel_height; + FT_Byte pitch_and_family; + FT_UShort avg_width; + FT_UShort max_width; + FT_Byte first_char; + FT_Byte last_char; + FT_Byte default_char; + FT_Byte break_char; + FT_UShort bytes_per_row; + FT_ULong device_offset; + FT_ULong face_name_offset; + FT_ULong bits_pointer; + FT_ULong bits_offset; + FT_Byte reserved; + FT_ULong flags; + FT_UShort A_space; + FT_UShort B_space; + FT_UShort C_space; + FT_UShort color_table_offset; + FT_ULong reserved1[4]; + + } FT_WinFNT_HeaderRec; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_WinFNT_Header */ + /* */ + /* <Description> */ + /* A handle to an @FT_WinFNT_HeaderRec structure. */ + /* */ + typedef struct FT_WinFNT_HeaderRec_* FT_WinFNT_Header; + + + /********************************************************************** + * + * @function: + * FT_Get_WinFNT_Header + * + * @description: + * Retrieve a Windows FNT font info header. + * + * @input: + * face :: A handle to the input face. + * + * @output: + * aheader :: The WinFNT header. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * This function only works with Windows FNT faces, returning an error + * otherwise. + */ + FT_EXPORT( FT_Error ) + FT_Get_WinFNT_Header( FT_Face face, + FT_WinFNT_HeaderRec *aheader ); + + + /* */ + +FT_END_HEADER + +#endif /* __FTWINFNT_H__ */ + + +/* END */ + + +/* Local Variables: */ +/* coding: utf-8 */ +/* End: */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ftxf86.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftxf86.h new file mode 100644 index 00000000..8c68afdc --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ftxf86.h @@ -0,0 +1,83 @@ +/***************************************************************************/ +/* */ +/* ftxf86.h */ +/* */ +/* Support functions for X11. */ +/* */ +/* Copyright 2002, 2003, 2004, 2006, 2007 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __FTXF86_H__ +#define __FTXF86_H__ + +#include <ft2build.h> +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* font_formats */ + /* */ + /* <Title> */ + /* Font Formats */ + /* */ + /* <Abstract> */ + /* Getting the font format. */ + /* */ + /* <Description> */ + /* The single function in this section can be used to get the font */ + /* format. Note that this information is not needed normally; */ + /* however, there are special cases (like in PDF devices) where it is */ + /* important to differentiate, in spite of FreeType's uniform API. */ + /* */ + /* This function is in the X11/xf86 namespace for historical reasons */ + /* and in no way depends on that windowing system. */ + /* */ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Get_X11_Font_Format */ + /* */ + /* <Description> */ + /* Return a string describing the format of a given face, using values */ + /* which can be used as an X11 FONT_PROPERTY. Possible values are */ + /* `TrueType', `Type~1', `BDF', `PCF', `Type~42', `CID~Type~1', `CFF', */ + /* `PFR', and `Windows~FNT'. */ + /* */ + /* <Input> */ + /* face :: */ + /* Input face handle. */ + /* */ + /* <Return> */ + /* Font format string. NULL in case of error. */ + /* */ + FT_EXPORT( const char* ) + FT_Get_X11_Font_Format( FT_Face face ); + + /* */ + +FT_END_HEADER + +#endif /* __FTXF86_H__ */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/t1tables.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/t1tables.h new file mode 100644 index 00000000..a14255e5 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/t1tables.h @@ -0,0 +1,662 @@ +/***************************************************************************/ +/* */ +/* t1tables.h */ +/* */ +/* Basic Type 1/Type 2 tables definitions and interface (specification */ +/* only). */ +/* */ +/* Copyright 1996-2004, 2006, 2008, 2009, 2011 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __T1TABLES_H__ +#define __T1TABLES_H__ + + +#include <ft2build.h> +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* type1_tables */ + /* */ + /* <Title> */ + /* Type 1 Tables */ + /* */ + /* <Abstract> */ + /* Type~1 (PostScript) specific font tables. */ + /* */ + /* <Description> */ + /* This section contains the definition of Type 1-specific tables, */ + /* including structures related to other PostScript font formats. */ + /* */ + /*************************************************************************/ + + + /* Note that we separate font data in PS_FontInfoRec and PS_PrivateRec */ + /* structures in order to support Multiple Master fonts. */ + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* PS_FontInfoRec */ + /* */ + /* <Description> */ + /* A structure used to model a Type~1 or Type~2 FontInfo dictionary. */ + /* Note that for Multiple Master fonts, each instance has its own */ + /* FontInfo dictionary. */ + /* */ + typedef struct PS_FontInfoRec_ + { + FT_String* version; + FT_String* notice; + FT_String* full_name; + FT_String* family_name; + FT_String* weight; + FT_Long italic_angle; + FT_Bool is_fixed_pitch; + FT_Short underline_position; + FT_UShort underline_thickness; + + } PS_FontInfoRec; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* PS_FontInfo */ + /* */ + /* <Description> */ + /* A handle to a @PS_FontInfoRec structure. */ + /* */ + typedef struct PS_FontInfoRec_* PS_FontInfo; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* T1_FontInfo */ + /* */ + /* <Description> */ + /* This type is equivalent to @PS_FontInfoRec. It is deprecated but */ + /* kept to maintain source compatibility between various versions of */ + /* FreeType. */ + /* */ + typedef PS_FontInfoRec T1_FontInfo; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* PS_PrivateRec */ + /* */ + /* <Description> */ + /* A structure used to model a Type~1 or Type~2 private dictionary. */ + /* Note that for Multiple Master fonts, each instance has its own */ + /* Private dictionary. */ + /* */ + typedef struct PS_PrivateRec_ + { + FT_Int unique_id; + FT_Int lenIV; + + FT_Byte num_blue_values; + FT_Byte num_other_blues; + FT_Byte num_family_blues; + FT_Byte num_family_other_blues; + + FT_Short blue_values[14]; + FT_Short other_blues[10]; + + FT_Short family_blues [14]; + FT_Short family_other_blues[10]; + + FT_Fixed blue_scale; + FT_Int blue_shift; + FT_Int blue_fuzz; + + FT_UShort standard_width[1]; + FT_UShort standard_height[1]; + + FT_Byte num_snap_widths; + FT_Byte num_snap_heights; + FT_Bool force_bold; + FT_Bool round_stem_up; + + FT_Short snap_widths [13]; /* including std width */ + FT_Short snap_heights[13]; /* including std height */ + + FT_Fixed expansion_factor; + + FT_Long language_group; + FT_Long password; + + FT_Short min_feature[2]; + + } PS_PrivateRec; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* PS_Private */ + /* */ + /* <Description> */ + /* A handle to a @PS_PrivateRec structure. */ + /* */ + typedef struct PS_PrivateRec_* PS_Private; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* T1_Private */ + /* */ + /* <Description> */ + /* This type is equivalent to @PS_PrivateRec. It is deprecated but */ + /* kept to maintain source compatibility between various versions of */ + /* FreeType. */ + /* */ + typedef PS_PrivateRec T1_Private; + + + /*************************************************************************/ + /* */ + /* <Enum> */ + /* T1_Blend_Flags */ + /* */ + /* <Description> */ + /* A set of flags used to indicate which fields are present in a */ + /* given blend dictionary (font info or private). Used to support */ + /* Multiple Masters fonts. */ + /* */ + typedef enum T1_Blend_Flags_ + { + /*# required fields in a FontInfo blend dictionary */ + T1_BLEND_UNDERLINE_POSITION = 0, + T1_BLEND_UNDERLINE_THICKNESS, + T1_BLEND_ITALIC_ANGLE, + + /*# required fields in a Private blend dictionary */ + T1_BLEND_BLUE_VALUES, + T1_BLEND_OTHER_BLUES, + T1_BLEND_STANDARD_WIDTH, + T1_BLEND_STANDARD_HEIGHT, + T1_BLEND_STEM_SNAP_WIDTHS, + T1_BLEND_STEM_SNAP_HEIGHTS, + T1_BLEND_BLUE_SCALE, + T1_BLEND_BLUE_SHIFT, + T1_BLEND_FAMILY_BLUES, + T1_BLEND_FAMILY_OTHER_BLUES, + T1_BLEND_FORCE_BOLD, + + /*# never remove */ + T1_BLEND_MAX + + } T1_Blend_Flags; + + /* */ + + + /*# backwards compatible definitions */ +#define t1_blend_underline_position T1_BLEND_UNDERLINE_POSITION +#define t1_blend_underline_thickness T1_BLEND_UNDERLINE_THICKNESS +#define t1_blend_italic_angle T1_BLEND_ITALIC_ANGLE +#define t1_blend_blue_values T1_BLEND_BLUE_VALUES +#define t1_blend_other_blues T1_BLEND_OTHER_BLUES +#define t1_blend_standard_widths T1_BLEND_STANDARD_WIDTH +#define t1_blend_standard_height T1_BLEND_STANDARD_HEIGHT +#define t1_blend_stem_snap_widths T1_BLEND_STEM_SNAP_WIDTHS +#define t1_blend_stem_snap_heights T1_BLEND_STEM_SNAP_HEIGHTS +#define t1_blend_blue_scale T1_BLEND_BLUE_SCALE +#define t1_blend_blue_shift T1_BLEND_BLUE_SHIFT +#define t1_blend_family_blues T1_BLEND_FAMILY_BLUES +#define t1_blend_family_other_blues T1_BLEND_FAMILY_OTHER_BLUES +#define t1_blend_force_bold T1_BLEND_FORCE_BOLD +#define t1_blend_max T1_BLEND_MAX + + + /* maximum number of Multiple Masters designs, as defined in the spec */ +#define T1_MAX_MM_DESIGNS 16 + + /* maximum number of Multiple Masters axes, as defined in the spec */ +#define T1_MAX_MM_AXIS 4 + + /* maximum number of elements in a design map */ +#define T1_MAX_MM_MAP_POINTS 20 + + + /* this structure is used to store the BlendDesignMap entry for an axis */ + typedef struct PS_DesignMap_ + { + FT_Byte num_points; + FT_Long* design_points; + FT_Fixed* blend_points; + + } PS_DesignMapRec, *PS_DesignMap; + + /* backwards-compatible definition */ + typedef PS_DesignMapRec T1_DesignMap; + + + typedef struct PS_BlendRec_ + { + FT_UInt num_designs; + FT_UInt num_axis; + + FT_String* axis_names[T1_MAX_MM_AXIS]; + FT_Fixed* design_pos[T1_MAX_MM_DESIGNS]; + PS_DesignMapRec design_map[T1_MAX_MM_AXIS]; + + FT_Fixed* weight_vector; + FT_Fixed* default_weight_vector; + + PS_FontInfo font_infos[T1_MAX_MM_DESIGNS + 1]; + PS_Private privates [T1_MAX_MM_DESIGNS + 1]; + + FT_ULong blend_bitflags; + + FT_BBox* bboxes [T1_MAX_MM_DESIGNS + 1]; + + /* since 2.3.0 */ + + /* undocumented, optional: the default design instance; */ + /* corresponds to default_weight_vector -- */ + /* num_default_design_vector == 0 means it is not present */ + /* in the font and associated metrics files */ + FT_UInt default_design_vector[T1_MAX_MM_DESIGNS]; + FT_UInt num_default_design_vector; + + } PS_BlendRec, *PS_Blend; + + + /* backwards-compatible definition */ + typedef PS_BlendRec T1_Blend; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* CID_FaceDictRec */ + /* */ + /* <Description> */ + /* A structure used to represent data in a CID top-level dictionary. */ + /* */ + typedef struct CID_FaceDictRec_ + { + PS_PrivateRec private_dict; + + FT_UInt len_buildchar; + FT_Fixed forcebold_threshold; + FT_Pos stroke_width; + FT_Fixed expansion_factor; + + FT_Byte paint_type; + FT_Byte font_type; + FT_Matrix font_matrix; + FT_Vector font_offset; + + FT_UInt num_subrs; + FT_ULong subrmap_offset; + FT_Int sd_bytes; + + } CID_FaceDictRec; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* CID_FaceDict */ + /* */ + /* <Description> */ + /* A handle to a @CID_FaceDictRec structure. */ + /* */ + typedef struct CID_FaceDictRec_* CID_FaceDict; + + /* */ + + + /* backwards-compatible definition */ + typedef CID_FaceDictRec CID_FontDict; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* CID_FaceInfoRec */ + /* */ + /* <Description> */ + /* A structure used to represent CID Face information. */ + /* */ + typedef struct CID_FaceInfoRec_ + { + FT_String* cid_font_name; + FT_Fixed cid_version; + FT_Int cid_font_type; + + FT_String* registry; + FT_String* ordering; + FT_Int supplement; + + PS_FontInfoRec font_info; + FT_BBox font_bbox; + FT_ULong uid_base; + + FT_Int num_xuid; + FT_ULong xuid[16]; + + FT_ULong cidmap_offset; + FT_Int fd_bytes; + FT_Int gd_bytes; + FT_ULong cid_count; + + FT_Int num_dicts; + CID_FaceDict font_dicts; + + FT_ULong data_offset; + + } CID_FaceInfoRec; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* CID_FaceInfo */ + /* */ + /* <Description> */ + /* A handle to a @CID_FaceInfoRec structure. */ + /* */ + typedef struct CID_FaceInfoRec_* CID_FaceInfo; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* CID_Info */ + /* */ + /* <Description> */ + /* This type is equivalent to @CID_FaceInfoRec. It is deprecated but */ + /* kept to maintain source compatibility between various versions of */ + /* FreeType. */ + /* */ + typedef CID_FaceInfoRec CID_Info; + + + /************************************************************************ + * + * @function: + * FT_Has_PS_Glyph_Names + * + * @description: + * Return true if a given face provides reliable PostScript glyph + * names. This is similar to using the @FT_HAS_GLYPH_NAMES macro, + * except that certain fonts (mostly TrueType) contain incorrect + * glyph name tables. + * + * When this function returns true, the caller is sure that the glyph + * names returned by @FT_Get_Glyph_Name are reliable. + * + * @input: + * face :: + * face handle + * + * @return: + * Boolean. True if glyph names are reliable. + * + */ + FT_EXPORT( FT_Int ) + FT_Has_PS_Glyph_Names( FT_Face face ); + + + /************************************************************************ + * + * @function: + * FT_Get_PS_Font_Info + * + * @description: + * Retrieve the @PS_FontInfoRec structure corresponding to a given + * PostScript font. + * + * @input: + * face :: + * PostScript face handle. + * + * @output: + * afont_info :: + * Output font info structure pointer. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The string pointers within the font info structure are owned by + * the face and don't need to be freed by the caller. + * + * If the font's format is not PostScript-based, this function will + * return the `FT_Err_Invalid_Argument' error code. + * + */ + FT_EXPORT( FT_Error ) + FT_Get_PS_Font_Info( FT_Face face, + PS_FontInfo afont_info ); + + + /************************************************************************ + * + * @function: + * FT_Get_PS_Font_Private + * + * @description: + * Retrieve the @PS_PrivateRec structure corresponding to a given + * PostScript font. + * + * @input: + * face :: + * PostScript face handle. + * + * @output: + * afont_private :: + * Output private dictionary structure pointer. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * The string pointers within the @PS_PrivateRec structure are owned by + * the face and don't need to be freed by the caller. + * + * If the font's format is not PostScript-based, this function returns + * the `FT_Err_Invalid_Argument' error code. + * + */ + FT_EXPORT( FT_Error ) + FT_Get_PS_Font_Private( FT_Face face, + PS_Private afont_private ); + + + /*************************************************************************/ + /* */ + /* <Enum> */ + /* T1_EncodingType */ + /* */ + /* <Description> */ + /* An enumeration describing the `Encoding' entry in a Type 1 */ + /* dictionary. */ + /* */ + typedef enum T1_EncodingType_ + { + T1_ENCODING_TYPE_NONE = 0, + T1_ENCODING_TYPE_ARRAY, + T1_ENCODING_TYPE_STANDARD, + T1_ENCODING_TYPE_ISOLATIN1, + T1_ENCODING_TYPE_EXPERT + + } T1_EncodingType; + + + /*************************************************************************/ + /* */ + /* <Enum> */ + /* PS_Dict_Keys */ + /* */ + /* <Description> */ + /* An enumeration used in calls to @FT_Get_PS_Font_Value to identify */ + /* the Type~1 dictionary entry to retrieve. */ + /* */ + typedef enum PS_Dict_Keys_ + { + /* conventionally in the font dictionary */ + PS_DICT_FONT_TYPE, /* FT_Byte */ + PS_DICT_FONT_MATRIX, /* FT_Fixed */ + PS_DICT_FONT_BBOX, /* FT_Fixed */ + PS_DICT_PAINT_TYPE, /* FT_Byte */ + PS_DICT_FONT_NAME, /* FT_String* */ + PS_DICT_UNIQUE_ID, /* FT_Int */ + PS_DICT_NUM_CHAR_STRINGS, /* FT_Int */ + PS_DICT_CHAR_STRING_KEY, /* FT_String* */ + PS_DICT_CHAR_STRING, /* FT_String* */ + PS_DICT_ENCODING_TYPE, /* T1_EncodingType */ + PS_DICT_ENCODING_ENTRY, /* FT_String* */ + + /* conventionally in the font Private dictionary */ + PS_DICT_NUM_SUBRS, /* FT_Int */ + PS_DICT_SUBR, /* FT_String* */ + PS_DICT_STD_HW, /* FT_UShort */ + PS_DICT_STD_VW, /* FT_UShort */ + PS_DICT_NUM_BLUE_VALUES, /* FT_Byte */ + PS_DICT_BLUE_VALUE, /* FT_Short */ + PS_DICT_BLUE_FUZZ, /* FT_Int */ + PS_DICT_NUM_OTHER_BLUES, /* FT_Byte */ + PS_DICT_OTHER_BLUE, /* FT_Short */ + PS_DICT_NUM_FAMILY_BLUES, /* FT_Byte */ + PS_DICT_FAMILY_BLUE, /* FT_Short */ + PS_DICT_NUM_FAMILY_OTHER_BLUES, /* FT_Byte */ + PS_DICT_FAMILY_OTHER_BLUE, /* FT_Short */ + PS_DICT_BLUE_SCALE, /* FT_Fixed */ + PS_DICT_BLUE_SHIFT, /* FT_Int */ + PS_DICT_NUM_STEM_SNAP_H, /* FT_Byte */ + PS_DICT_STEM_SNAP_H, /* FT_Short */ + PS_DICT_NUM_STEM_SNAP_V, /* FT_Byte */ + PS_DICT_STEM_SNAP_V, /* FT_Short */ + PS_DICT_FORCE_BOLD, /* FT_Bool */ + PS_DICT_RND_STEM_UP, /* FT_Bool */ + PS_DICT_MIN_FEATURE, /* FT_Short */ + PS_DICT_LEN_IV, /* FT_Int */ + PS_DICT_PASSWORD, /* FT_Long */ + PS_DICT_LANGUAGE_GROUP, /* FT_Long */ + + /* conventionally in the font FontInfo dictionary */ + PS_DICT_VERSION, /* FT_String* */ + PS_DICT_NOTICE, /* FT_String* */ + PS_DICT_FULL_NAME, /* FT_String* */ + PS_DICT_FAMILY_NAME, /* FT_String* */ + PS_DICT_WEIGHT, /* FT_String* */ + PS_DICT_IS_FIXED_PITCH, /* FT_Bool */ + PS_DICT_UNDERLINE_POSITION, /* FT_Short */ + PS_DICT_UNDERLINE_THICKNESS, /* FT_UShort */ + PS_DICT_FS_TYPE, /* FT_UShort */ + PS_DICT_ITALIC_ANGLE, /* FT_Long */ + + PS_DICT_MAX = PS_DICT_ITALIC_ANGLE + + } PS_Dict_Keys; + + + /************************************************************************ + * + * @function: + * FT_Get_PS_Font_Value + * + * @description: + * Retrieve the value for the supplied key from a PostScript font. + * + * @input: + * face :: + * PostScript face handle. + * + * key :: + * An enumeration value representing the dictionary key to retrieve. + * + * idx :: + * For array values, this specifies the index to be returned. + * + * value :: + * A pointer to memory into which to write the value. + * + * valen_len :: + * The size, in bytes, of the memory supplied for the value. + * + * @output: + * value :: + * The value matching the above key, if it exists. + * + * @return: + * The amount of memory (in bytes) required to hold the requested + * value (if it exists, -1 otherwise). + * + * @note: + * The values returned are not pointers into the internal structures of + * the face, but are `fresh' copies, so that the memory containing them + * belongs to the calling application. This also enforces the + * `read-only' nature of these values, i.e., this function cannot be + * used to manipulate the face. + * + * `value' is a void pointer because the values returned can be of + * various types. + * + * If either `value' is NULL or `value_len' is too small, just the + * required memory size for the requested entry is returned. + * + * The `idx' parameter is used, not only to retrieve elements of, for + * example, the FontMatrix or FontBBox, but also to retrieve name keys + * from the CharStrings dictionary, and the charstrings themselves. It + * is ignored for atomic values. + * + * PS_DICT_BLUE_SCALE returns a value that is scaled up by 1000. To + * get the value as in the font stream, you need to divide by + * 65536000.0 (to remove the FT_Fixed scale, and the x1000 scale). + * + * IMPORTANT: Only key/value pairs read by the FreeType interpreter can + * be retrieved. So, for example, PostScript procedures such as NP, + * ND, and RD are not available. Arbitrary keys are, obviously, not be + * available either. + * + * If the font's format is not PostScript-based, this function returns + * the `FT_Err_Invalid_Argument' error code. + * + */ + FT_EXPORT( FT_Long ) + FT_Get_PS_Font_Value( FT_Face face, + PS_Dict_Keys key, + FT_UInt idx, + void *value, + FT_Long value_len ); + + /* */ + +FT_END_HEADER + +#endif /* __T1TABLES_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ttnameid.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ttnameid.h new file mode 100644 index 00000000..173f88c9 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ttnameid.h @@ -0,0 +1,1237 @@ +/***************************************************************************/ +/* */ +/* ttnameid.h */ +/* */ +/* TrueType name ID definitions (specification only). */ +/* */ +/* Copyright 1996-2004, 2006-2008, 2012 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __TTNAMEID_H__ +#define __TTNAMEID_H__ + + +#include <ft2build.h> + + +FT_BEGIN_HEADER + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* truetype_tables */ + /* */ + + + /*************************************************************************/ + /* */ + /* Possible values for the `platform' identifier code in the name */ + /* records of the TTF `name' table. */ + /* */ + /*************************************************************************/ + + + /*********************************************************************** + * + * @enum: + * TT_PLATFORM_XXX + * + * @description: + * A list of valid values for the `platform_id' identifier code in + * @FT_CharMapRec and @FT_SfntName structures. + * + * @values: + * TT_PLATFORM_APPLE_UNICODE :: + * Used by Apple to indicate a Unicode character map and/or name entry. + * See @TT_APPLE_ID_XXX for corresponding `encoding_id' values. Note + * that name entries in this format are coded as big-endian UCS-2 + * character codes _only_. + * + * TT_PLATFORM_MACINTOSH :: + * Used by Apple to indicate a MacOS-specific charmap and/or name entry. + * See @TT_MAC_ID_XXX for corresponding `encoding_id' values. Note that + * most TrueType fonts contain an Apple roman charmap to be usable on + * MacOS systems (even if they contain a Microsoft charmap as well). + * + * TT_PLATFORM_ISO :: + * This value was used to specify ISO/IEC 10646 charmaps. It is however + * now deprecated. See @TT_ISO_ID_XXX for a list of corresponding + * `encoding_id' values. + * + * TT_PLATFORM_MICROSOFT :: + * Used by Microsoft to indicate Windows-specific charmaps. See + * @TT_MS_ID_XXX for a list of corresponding `encoding_id' values. + * Note that most fonts contain a Unicode charmap using + * (TT_PLATFORM_MICROSOFT, @TT_MS_ID_UNICODE_CS). + * + * TT_PLATFORM_CUSTOM :: + * Used to indicate application-specific charmaps. + * + * TT_PLATFORM_ADOBE :: + * This value isn't part of any font format specification, but is used + * by FreeType to report Adobe-specific charmaps in an @FT_CharMapRec + * structure. See @TT_ADOBE_ID_XXX. + */ + +#define TT_PLATFORM_APPLE_UNICODE 0 +#define TT_PLATFORM_MACINTOSH 1 +#define TT_PLATFORM_ISO 2 /* deprecated */ +#define TT_PLATFORM_MICROSOFT 3 +#define TT_PLATFORM_CUSTOM 4 +#define TT_PLATFORM_ADOBE 7 /* artificial */ + + + /*********************************************************************** + * + * @enum: + * TT_APPLE_ID_XXX + * + * @description: + * A list of valid values for the `encoding_id' for + * @TT_PLATFORM_APPLE_UNICODE charmaps and name entries. + * + * @values: + * TT_APPLE_ID_DEFAULT :: + * Unicode version 1.0. + * + * TT_APPLE_ID_UNICODE_1_1 :: + * Unicode 1.1; specifies Hangul characters starting at U+34xx. + * + * TT_APPLE_ID_ISO_10646 :: + * Deprecated (identical to preceding). + * + * TT_APPLE_ID_UNICODE_2_0 :: + * Unicode 2.0 and beyond (UTF-16 BMP only). + * + * TT_APPLE_ID_UNICODE_32 :: + * Unicode 3.1 and beyond, using UTF-32. + * + * TT_APPLE_ID_VARIANT_SELECTOR :: + * From Adobe, not Apple. Not a normal cmap. Specifies variations + * on a real cmap. + */ + +#define TT_APPLE_ID_DEFAULT 0 /* Unicode 1.0 */ +#define TT_APPLE_ID_UNICODE_1_1 1 /* specify Hangul at U+34xx */ +#define TT_APPLE_ID_ISO_10646 2 /* deprecated */ +#define TT_APPLE_ID_UNICODE_2_0 3 /* or later */ +#define TT_APPLE_ID_UNICODE_32 4 /* 2.0 or later, full repertoire */ +#define TT_APPLE_ID_VARIANT_SELECTOR 5 /* variation selector data */ + + + /*********************************************************************** + * + * @enum: + * TT_MAC_ID_XXX + * + * @description: + * A list of valid values for the `encoding_id' for + * @TT_PLATFORM_MACINTOSH charmaps and name entries. + * + * @values: + * TT_MAC_ID_ROMAN :: + * TT_MAC_ID_JAPANESE :: + * TT_MAC_ID_TRADITIONAL_CHINESE :: + * TT_MAC_ID_KOREAN :: + * TT_MAC_ID_ARABIC :: + * TT_MAC_ID_HEBREW :: + * TT_MAC_ID_GREEK :: + * TT_MAC_ID_RUSSIAN :: + * TT_MAC_ID_RSYMBOL :: + * TT_MAC_ID_DEVANAGARI :: + * TT_MAC_ID_GURMUKHI :: + * TT_MAC_ID_GUJARATI :: + * TT_MAC_ID_ORIYA :: + * TT_MAC_ID_BENGALI :: + * TT_MAC_ID_TAMIL :: + * TT_MAC_ID_TELUGU :: + * TT_MAC_ID_KANNADA :: + * TT_MAC_ID_MALAYALAM :: + * TT_MAC_ID_SINHALESE :: + * TT_MAC_ID_BURMESE :: + * TT_MAC_ID_KHMER :: + * TT_MAC_ID_THAI :: + * TT_MAC_ID_LAOTIAN :: + * TT_MAC_ID_GEORGIAN :: + * TT_MAC_ID_ARMENIAN :: + * TT_MAC_ID_MALDIVIAN :: + * TT_MAC_ID_SIMPLIFIED_CHINESE :: + * TT_MAC_ID_TIBETAN :: + * TT_MAC_ID_MONGOLIAN :: + * TT_MAC_ID_GEEZ :: + * TT_MAC_ID_SLAVIC :: + * TT_MAC_ID_VIETNAMESE :: + * TT_MAC_ID_SINDHI :: + * TT_MAC_ID_UNINTERP :: + */ + +#define TT_MAC_ID_ROMAN 0 +#define TT_MAC_ID_JAPANESE 1 +#define TT_MAC_ID_TRADITIONAL_CHINESE 2 +#define TT_MAC_ID_KOREAN 3 +#define TT_MAC_ID_ARABIC 4 +#define TT_MAC_ID_HEBREW 5 +#define TT_MAC_ID_GREEK 6 +#define TT_MAC_ID_RUSSIAN 7 +#define TT_MAC_ID_RSYMBOL 8 +#define TT_MAC_ID_DEVANAGARI 9 +#define TT_MAC_ID_GURMUKHI 10 +#define TT_MAC_ID_GUJARATI 11 +#define TT_MAC_ID_ORIYA 12 +#define TT_MAC_ID_BENGALI 13 +#define TT_MAC_ID_TAMIL 14 +#define TT_MAC_ID_TELUGU 15 +#define TT_MAC_ID_KANNADA 16 +#define TT_MAC_ID_MALAYALAM 17 +#define TT_MAC_ID_SINHALESE 18 +#define TT_MAC_ID_BURMESE 19 +#define TT_MAC_ID_KHMER 20 +#define TT_MAC_ID_THAI 21 +#define TT_MAC_ID_LAOTIAN 22 +#define TT_MAC_ID_GEORGIAN 23 +#define TT_MAC_ID_ARMENIAN 24 +#define TT_MAC_ID_MALDIVIAN 25 +#define TT_MAC_ID_SIMPLIFIED_CHINESE 25 +#define TT_MAC_ID_TIBETAN 26 +#define TT_MAC_ID_MONGOLIAN 27 +#define TT_MAC_ID_GEEZ 28 +#define TT_MAC_ID_SLAVIC 29 +#define TT_MAC_ID_VIETNAMESE 30 +#define TT_MAC_ID_SINDHI 31 +#define TT_MAC_ID_UNINTERP 32 + + + /*********************************************************************** + * + * @enum: + * TT_ISO_ID_XXX + * + * @description: + * A list of valid values for the `encoding_id' for + * @TT_PLATFORM_ISO charmaps and name entries. + * + * Their use is now deprecated. + * + * @values: + * TT_ISO_ID_7BIT_ASCII :: + * ASCII. + * TT_ISO_ID_10646 :: + * ISO/10646. + * TT_ISO_ID_8859_1 :: + * Also known as Latin-1. + */ + +#define TT_ISO_ID_7BIT_ASCII 0 +#define TT_ISO_ID_10646 1 +#define TT_ISO_ID_8859_1 2 + + + /*********************************************************************** + * + * @enum: + * TT_MS_ID_XXX + * + * @description: + * A list of valid values for the `encoding_id' for + * @TT_PLATFORM_MICROSOFT charmaps and name entries. + * + * @values: + * TT_MS_ID_SYMBOL_CS :: + * Corresponds to Microsoft symbol encoding. See + * @FT_ENCODING_MS_SYMBOL. + * + * TT_MS_ID_UNICODE_CS :: + * Corresponds to a Microsoft WGL4 charmap, matching Unicode. See + * @FT_ENCODING_UNICODE. + * + * TT_MS_ID_SJIS :: + * Corresponds to SJIS Japanese encoding. See @FT_ENCODING_SJIS. + * + * TT_MS_ID_GB2312 :: + * Corresponds to Simplified Chinese as used in Mainland China. See + * @FT_ENCODING_GB2312. + * + * TT_MS_ID_BIG_5 :: + * Corresponds to Traditional Chinese as used in Taiwan and Hong Kong. + * See @FT_ENCODING_BIG5. + * + * TT_MS_ID_WANSUNG :: + * Corresponds to Korean Wansung encoding. See @FT_ENCODING_WANSUNG. + * + * TT_MS_ID_JOHAB :: + * Corresponds to Johab encoding. See @FT_ENCODING_JOHAB. + * + * TT_MS_ID_UCS_4 :: + * Corresponds to UCS-4 or UTF-32 charmaps. This has been added to + * the OpenType specification version 1.4 (mid-2001.) + */ + +#define TT_MS_ID_SYMBOL_CS 0 +#define TT_MS_ID_UNICODE_CS 1 +#define TT_MS_ID_SJIS 2 +#define TT_MS_ID_GB2312 3 +#define TT_MS_ID_BIG_5 4 +#define TT_MS_ID_WANSUNG 5 +#define TT_MS_ID_JOHAB 6 +#define TT_MS_ID_UCS_4 10 + + + /*********************************************************************** + * + * @enum: + * TT_ADOBE_ID_XXX + * + * @description: + * A list of valid values for the `encoding_id' for + * @TT_PLATFORM_ADOBE charmaps. This is a FreeType-specific extension! + * + * @values: + * TT_ADOBE_ID_STANDARD :: + * Adobe standard encoding. + * TT_ADOBE_ID_EXPERT :: + * Adobe expert encoding. + * TT_ADOBE_ID_CUSTOM :: + * Adobe custom encoding. + * TT_ADOBE_ID_LATIN_1 :: + * Adobe Latin~1 encoding. + */ + +#define TT_ADOBE_ID_STANDARD 0 +#define TT_ADOBE_ID_EXPERT 1 +#define TT_ADOBE_ID_CUSTOM 2 +#define TT_ADOBE_ID_LATIN_1 3 + + + /*************************************************************************/ + /* */ + /* Possible values of the language identifier field in the name records */ + /* of the TTF `name' table if the `platform' identifier code is */ + /* TT_PLATFORM_MACINTOSH. These values are also used as return values */ + /* for function @FT_Get_CMap_Language_ID. */ + /* */ + /* The canonical source for the Apple assigned Language ID's is at */ + /* */ + /* https://developer.apple.com/fonts/TTRefMan/RM06/Chap6name.html */ + /* */ +#define TT_MAC_LANGID_ENGLISH 0 +#define TT_MAC_LANGID_FRENCH 1 +#define TT_MAC_LANGID_GERMAN 2 +#define TT_MAC_LANGID_ITALIAN 3 +#define TT_MAC_LANGID_DUTCH 4 +#define TT_MAC_LANGID_SWEDISH 5 +#define TT_MAC_LANGID_SPANISH 6 +#define TT_MAC_LANGID_DANISH 7 +#define TT_MAC_LANGID_PORTUGUESE 8 +#define TT_MAC_LANGID_NORWEGIAN 9 +#define TT_MAC_LANGID_HEBREW 10 +#define TT_MAC_LANGID_JAPANESE 11 +#define TT_MAC_LANGID_ARABIC 12 +#define TT_MAC_LANGID_FINNISH 13 +#define TT_MAC_LANGID_GREEK 14 +#define TT_MAC_LANGID_ICELANDIC 15 +#define TT_MAC_LANGID_MALTESE 16 +#define TT_MAC_LANGID_TURKISH 17 +#define TT_MAC_LANGID_CROATIAN 18 +#define TT_MAC_LANGID_CHINESE_TRADITIONAL 19 +#define TT_MAC_LANGID_URDU 20 +#define TT_MAC_LANGID_HINDI 21 +#define TT_MAC_LANGID_THAI 22 +#define TT_MAC_LANGID_KOREAN 23 +#define TT_MAC_LANGID_LITHUANIAN 24 +#define TT_MAC_LANGID_POLISH 25 +#define TT_MAC_LANGID_HUNGARIAN 26 +#define TT_MAC_LANGID_ESTONIAN 27 +#define TT_MAC_LANGID_LETTISH 28 +#define TT_MAC_LANGID_SAAMISK 29 +#define TT_MAC_LANGID_FAEROESE 30 +#define TT_MAC_LANGID_FARSI 31 +#define TT_MAC_LANGID_RUSSIAN 32 +#define TT_MAC_LANGID_CHINESE_SIMPLIFIED 33 +#define TT_MAC_LANGID_FLEMISH 34 +#define TT_MAC_LANGID_IRISH 35 +#define TT_MAC_LANGID_ALBANIAN 36 +#define TT_MAC_LANGID_ROMANIAN 37 +#define TT_MAC_LANGID_CZECH 38 +#define TT_MAC_LANGID_SLOVAK 39 +#define TT_MAC_LANGID_SLOVENIAN 40 +#define TT_MAC_LANGID_YIDDISH 41 +#define TT_MAC_LANGID_SERBIAN 42 +#define TT_MAC_LANGID_MACEDONIAN 43 +#define TT_MAC_LANGID_BULGARIAN 44 +#define TT_MAC_LANGID_UKRAINIAN 45 +#define TT_MAC_LANGID_BYELORUSSIAN 46 +#define TT_MAC_LANGID_UZBEK 47 +#define TT_MAC_LANGID_KAZAKH 48 +#define TT_MAC_LANGID_AZERBAIJANI 49 +#define TT_MAC_LANGID_AZERBAIJANI_CYRILLIC_SCRIPT 49 +#define TT_MAC_LANGID_AZERBAIJANI_ARABIC_SCRIPT 50 +#define TT_MAC_LANGID_ARMENIAN 51 +#define TT_MAC_LANGID_GEORGIAN 52 +#define TT_MAC_LANGID_MOLDAVIAN 53 +#define TT_MAC_LANGID_KIRGHIZ 54 +#define TT_MAC_LANGID_TAJIKI 55 +#define TT_MAC_LANGID_TURKMEN 56 +#define TT_MAC_LANGID_MONGOLIAN 57 +#define TT_MAC_LANGID_MONGOLIAN_MONGOLIAN_SCRIPT 57 +#define TT_MAC_LANGID_MONGOLIAN_CYRILLIC_SCRIPT 58 +#define TT_MAC_LANGID_PASHTO 59 +#define TT_MAC_LANGID_KURDISH 60 +#define TT_MAC_LANGID_KASHMIRI 61 +#define TT_MAC_LANGID_SINDHI 62 +#define TT_MAC_LANGID_TIBETAN 63 +#define TT_MAC_LANGID_NEPALI 64 +#define TT_MAC_LANGID_SANSKRIT 65 +#define TT_MAC_LANGID_MARATHI 66 +#define TT_MAC_LANGID_BENGALI 67 +#define TT_MAC_LANGID_ASSAMESE 68 +#define TT_MAC_LANGID_GUJARATI 69 +#define TT_MAC_LANGID_PUNJABI 70 +#define TT_MAC_LANGID_ORIYA 71 +#define TT_MAC_LANGID_MALAYALAM 72 +#define TT_MAC_LANGID_KANNADA 73 +#define TT_MAC_LANGID_TAMIL 74 +#define TT_MAC_LANGID_TELUGU 75 +#define TT_MAC_LANGID_SINHALESE 76 +#define TT_MAC_LANGID_BURMESE 77 +#define TT_MAC_LANGID_KHMER 78 +#define TT_MAC_LANGID_LAO 79 +#define TT_MAC_LANGID_VIETNAMESE 80 +#define TT_MAC_LANGID_INDONESIAN 81 +#define TT_MAC_LANGID_TAGALOG 82 +#define TT_MAC_LANGID_MALAY_ROMAN_SCRIPT 83 +#define TT_MAC_LANGID_MALAY_ARABIC_SCRIPT 84 +#define TT_MAC_LANGID_AMHARIC 85 +#define TT_MAC_LANGID_TIGRINYA 86 +#define TT_MAC_LANGID_GALLA 87 +#define TT_MAC_LANGID_SOMALI 88 +#define TT_MAC_LANGID_SWAHILI 89 +#define TT_MAC_LANGID_RUANDA 90 +#define TT_MAC_LANGID_RUNDI 91 +#define TT_MAC_LANGID_CHEWA 92 +#define TT_MAC_LANGID_MALAGASY 93 +#define TT_MAC_LANGID_ESPERANTO 94 +#define TT_MAC_LANGID_WELSH 128 +#define TT_MAC_LANGID_BASQUE 129 +#define TT_MAC_LANGID_CATALAN 130 +#define TT_MAC_LANGID_LATIN 131 +#define TT_MAC_LANGID_QUECHUA 132 +#define TT_MAC_LANGID_GUARANI 133 +#define TT_MAC_LANGID_AYMARA 134 +#define TT_MAC_LANGID_TATAR 135 +#define TT_MAC_LANGID_UIGHUR 136 +#define TT_MAC_LANGID_DZONGKHA 137 +#define TT_MAC_LANGID_JAVANESE 138 +#define TT_MAC_LANGID_SUNDANESE 139 + + +#if 0 /* these seem to be errors that have been dropped */ + +#define TT_MAC_LANGID_SCOTTISH_GAELIC 140 +#define TT_MAC_LANGID_IRISH_GAELIC 141 + +#endif + + + /* The following codes are new as of 2000-03-10 */ +#define TT_MAC_LANGID_GALICIAN 140 +#define TT_MAC_LANGID_AFRIKAANS 141 +#define TT_MAC_LANGID_BRETON 142 +#define TT_MAC_LANGID_INUKTITUT 143 +#define TT_MAC_LANGID_SCOTTISH_GAELIC 144 +#define TT_MAC_LANGID_MANX_GAELIC 145 +#define TT_MAC_LANGID_IRISH_GAELIC 146 +#define TT_MAC_LANGID_TONGAN 147 +#define TT_MAC_LANGID_GREEK_POLYTONIC 148 +#define TT_MAC_LANGID_GREELANDIC 149 +#define TT_MAC_LANGID_AZERBAIJANI_ROMAN_SCRIPT 150 + + + /*************************************************************************/ + /* */ + /* Possible values of the language identifier field in the name records */ + /* of the TTF `name' table if the `platform' identifier code is */ + /* TT_PLATFORM_MICROSOFT. */ + /* */ + /* The canonical source for the MS assigned LCIDs is */ + /* */ + /* http://www.microsoft.com/globaldev/reference/lcid-all.mspx */ + /* */ + +#define TT_MS_LANGID_ARABIC_GENERAL 0x0001 +#define TT_MS_LANGID_ARABIC_SAUDI_ARABIA 0x0401 +#define TT_MS_LANGID_ARABIC_IRAQ 0x0801 +#define TT_MS_LANGID_ARABIC_EGYPT 0x0c01 +#define TT_MS_LANGID_ARABIC_LIBYA 0x1001 +#define TT_MS_LANGID_ARABIC_ALGERIA 0x1401 +#define TT_MS_LANGID_ARABIC_MOROCCO 0x1801 +#define TT_MS_LANGID_ARABIC_TUNISIA 0x1c01 +#define TT_MS_LANGID_ARABIC_OMAN 0x2001 +#define TT_MS_LANGID_ARABIC_YEMEN 0x2401 +#define TT_MS_LANGID_ARABIC_SYRIA 0x2801 +#define TT_MS_LANGID_ARABIC_JORDAN 0x2c01 +#define TT_MS_LANGID_ARABIC_LEBANON 0x3001 +#define TT_MS_LANGID_ARABIC_KUWAIT 0x3401 +#define TT_MS_LANGID_ARABIC_UAE 0x3801 +#define TT_MS_LANGID_ARABIC_BAHRAIN 0x3c01 +#define TT_MS_LANGID_ARABIC_QATAR 0x4001 +#define TT_MS_LANGID_BULGARIAN_BULGARIA 0x0402 +#define TT_MS_LANGID_CATALAN_SPAIN 0x0403 +#define TT_MS_LANGID_CHINESE_GENERAL 0x0004 +#define TT_MS_LANGID_CHINESE_TAIWAN 0x0404 +#define TT_MS_LANGID_CHINESE_PRC 0x0804 +#define TT_MS_LANGID_CHINESE_HONG_KONG 0x0c04 +#define TT_MS_LANGID_CHINESE_SINGAPORE 0x1004 + +#if 1 /* this looks like the correct value */ +#define TT_MS_LANGID_CHINESE_MACAU 0x1404 +#else /* but beware, Microsoft may change its mind... + the most recent Word reference has the following: */ +#define TT_MS_LANGID_CHINESE_MACAU TT_MS_LANGID_CHINESE_HONG_KONG +#endif + +#if 0 /* used only with .NET `cultures'; commented out */ +#define TT_MS_LANGID_CHINESE_TRADITIONAL 0x7C04 +#endif + +#define TT_MS_LANGID_CZECH_CZECH_REPUBLIC 0x0405 +#define TT_MS_LANGID_DANISH_DENMARK 0x0406 +#define TT_MS_LANGID_GERMAN_GERMANY 0x0407 +#define TT_MS_LANGID_GERMAN_SWITZERLAND 0x0807 +#define TT_MS_LANGID_GERMAN_AUSTRIA 0x0c07 +#define TT_MS_LANGID_GERMAN_LUXEMBOURG 0x1007 +#define TT_MS_LANGID_GERMAN_LIECHTENSTEI 0x1407 +#define TT_MS_LANGID_GREEK_GREECE 0x0408 + + /* don't ask what this one means... It is commented out currently. */ +#if 0 +#define TT_MS_LANGID_GREEK_GREECE2 0x2008 +#endif + +#define TT_MS_LANGID_ENGLISH_GENERAL 0x0009 +#define TT_MS_LANGID_ENGLISH_UNITED_STATES 0x0409 +#define TT_MS_LANGID_ENGLISH_UNITED_KINGDOM 0x0809 +#define TT_MS_LANGID_ENGLISH_AUSTRALIA 0x0c09 +#define TT_MS_LANGID_ENGLISH_CANADA 0x1009 +#define TT_MS_LANGID_ENGLISH_NEW_ZEALAND 0x1409 +#define TT_MS_LANGID_ENGLISH_IRELAND 0x1809 +#define TT_MS_LANGID_ENGLISH_SOUTH_AFRICA 0x1c09 +#define TT_MS_LANGID_ENGLISH_JAMAICA 0x2009 +#define TT_MS_LANGID_ENGLISH_CARIBBEAN 0x2409 +#define TT_MS_LANGID_ENGLISH_BELIZE 0x2809 +#define TT_MS_LANGID_ENGLISH_TRINIDAD 0x2c09 +#define TT_MS_LANGID_ENGLISH_ZIMBABWE 0x3009 +#define TT_MS_LANGID_ENGLISH_PHILIPPINES 0x3409 +#define TT_MS_LANGID_ENGLISH_INDONESIA 0x3809 +#define TT_MS_LANGID_ENGLISH_HONG_KONG 0x3c09 +#define TT_MS_LANGID_ENGLISH_INDIA 0x4009 +#define TT_MS_LANGID_ENGLISH_MALAYSIA 0x4409 +#define TT_MS_LANGID_ENGLISH_SINGAPORE 0x4809 +#define TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT 0x040a +#define TT_MS_LANGID_SPANISH_MEXICO 0x080a +#define TT_MS_LANGID_SPANISH_SPAIN_INTERNATIONAL_SORT 0x0c0a +#define TT_MS_LANGID_SPANISH_GUATEMALA 0x100a +#define TT_MS_LANGID_SPANISH_COSTA_RICA 0x140a +#define TT_MS_LANGID_SPANISH_PANAMA 0x180a +#define TT_MS_LANGID_SPANISH_DOMINICAN_REPUBLIC 0x1c0a +#define TT_MS_LANGID_SPANISH_VENEZUELA 0x200a +#define TT_MS_LANGID_SPANISH_COLOMBIA 0x240a +#define TT_MS_LANGID_SPANISH_PERU 0x280a +#define TT_MS_LANGID_SPANISH_ARGENTINA 0x2c0a +#define TT_MS_LANGID_SPANISH_ECUADOR 0x300a +#define TT_MS_LANGID_SPANISH_CHILE 0x340a +#define TT_MS_LANGID_SPANISH_URUGUAY 0x380a +#define TT_MS_LANGID_SPANISH_PARAGUAY 0x3c0a +#define TT_MS_LANGID_SPANISH_BOLIVIA 0x400a +#define TT_MS_LANGID_SPANISH_EL_SALVADOR 0x440a +#define TT_MS_LANGID_SPANISH_HONDURAS 0x480a +#define TT_MS_LANGID_SPANISH_NICARAGUA 0x4c0a +#define TT_MS_LANGID_SPANISH_PUERTO_RICO 0x500a +#define TT_MS_LANGID_SPANISH_UNITED_STATES 0x540a + /* The following ID blatantly violate MS specs by using a */ + /* sublanguage > 0x1F. */ +#define TT_MS_LANGID_SPANISH_LATIN_AMERICA 0xE40aU +#define TT_MS_LANGID_FINNISH_FINLAND 0x040b +#define TT_MS_LANGID_FRENCH_FRANCE 0x040c +#define TT_MS_LANGID_FRENCH_BELGIUM 0x080c +#define TT_MS_LANGID_FRENCH_CANADA 0x0c0c +#define TT_MS_LANGID_FRENCH_SWITZERLAND 0x100c +#define TT_MS_LANGID_FRENCH_LUXEMBOURG 0x140c +#define TT_MS_LANGID_FRENCH_MONACO 0x180c +#define TT_MS_LANGID_FRENCH_WEST_INDIES 0x1c0c +#define TT_MS_LANGID_FRENCH_REUNION 0x200c +#define TT_MS_LANGID_FRENCH_CONGO 0x240c + /* which was formerly: */ +#define TT_MS_LANGID_FRENCH_ZAIRE TT_MS_LANGID_FRENCH_CONGO +#define TT_MS_LANGID_FRENCH_SENEGAL 0x280c +#define TT_MS_LANGID_FRENCH_CAMEROON 0x2c0c +#define TT_MS_LANGID_FRENCH_COTE_D_IVOIRE 0x300c +#define TT_MS_LANGID_FRENCH_MALI 0x340c +#define TT_MS_LANGID_FRENCH_MOROCCO 0x380c +#define TT_MS_LANGID_FRENCH_HAITI 0x3c0c + /* and another violation of the spec (see 0xE40aU) */ +#define TT_MS_LANGID_FRENCH_NORTH_AFRICA 0xE40cU +#define TT_MS_LANGID_HEBREW_ISRAEL 0x040d +#define TT_MS_LANGID_HUNGARIAN_HUNGARY 0x040e +#define TT_MS_LANGID_ICELANDIC_ICELAND 0x040f +#define TT_MS_LANGID_ITALIAN_ITALY 0x0410 +#define TT_MS_LANGID_ITALIAN_SWITZERLAND 0x0810 +#define TT_MS_LANGID_JAPANESE_JAPAN 0x0411 +#define TT_MS_LANGID_KOREAN_EXTENDED_WANSUNG_KOREA 0x0412 +#define TT_MS_LANGID_KOREAN_JOHAB_KOREA 0x0812 +#define TT_MS_LANGID_DUTCH_NETHERLANDS 0x0413 +#define TT_MS_LANGID_DUTCH_BELGIUM 0x0813 +#define TT_MS_LANGID_NORWEGIAN_NORWAY_BOKMAL 0x0414 +#define TT_MS_LANGID_NORWEGIAN_NORWAY_NYNORSK 0x0814 +#define TT_MS_LANGID_POLISH_POLAND 0x0415 +#define TT_MS_LANGID_PORTUGUESE_BRAZIL 0x0416 +#define TT_MS_LANGID_PORTUGUESE_PORTUGAL 0x0816 +#define TT_MS_LANGID_RHAETO_ROMANIC_SWITZERLAND 0x0417 +#define TT_MS_LANGID_ROMANIAN_ROMANIA 0x0418 +#define TT_MS_LANGID_MOLDAVIAN_MOLDAVIA 0x0818 +#define TT_MS_LANGID_RUSSIAN_RUSSIA 0x0419 +#define TT_MS_LANGID_RUSSIAN_MOLDAVIA 0x0819 +#define TT_MS_LANGID_CROATIAN_CROATIA 0x041a +#define TT_MS_LANGID_SERBIAN_SERBIA_LATIN 0x081a +#define TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC 0x0c1a + +#if 0 /* this used to be this value, but it looks like we were wrong */ +#define TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA 0x101a +#else /* current sources say */ +#define TT_MS_LANGID_CROATIAN_BOSNIA_HERZEGOVINA 0x101a +#define TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA 0x141a + /* and XPsp2 Platform SDK added (2004-07-26) */ + /* Names are shortened to be significant within 40 chars. */ +#define TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_LATIN 0x181a +#define TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_CYRILLIC 0x181a +#endif + +#define TT_MS_LANGID_SLOVAK_SLOVAKIA 0x041b +#define TT_MS_LANGID_ALBANIAN_ALBANIA 0x041c +#define TT_MS_LANGID_SWEDISH_SWEDEN 0x041d +#define TT_MS_LANGID_SWEDISH_FINLAND 0x081d +#define TT_MS_LANGID_THAI_THAILAND 0x041e +#define TT_MS_LANGID_TURKISH_TURKEY 0x041f +#define TT_MS_LANGID_URDU_PAKISTAN 0x0420 +#define TT_MS_LANGID_URDU_INDIA 0x0820 +#define TT_MS_LANGID_INDONESIAN_INDONESIA 0x0421 +#define TT_MS_LANGID_UKRAINIAN_UKRAINE 0x0422 +#define TT_MS_LANGID_BELARUSIAN_BELARUS 0x0423 +#define TT_MS_LANGID_SLOVENE_SLOVENIA 0x0424 +#define TT_MS_LANGID_ESTONIAN_ESTONIA 0x0425 +#define TT_MS_LANGID_LATVIAN_LATVIA 0x0426 +#define TT_MS_LANGID_LITHUANIAN_LITHUANIA 0x0427 +#define TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA 0x0827 +#define TT_MS_LANGID_TAJIK_TAJIKISTAN 0x0428 +#define TT_MS_LANGID_FARSI_IRAN 0x0429 +#define TT_MS_LANGID_VIETNAMESE_VIET_NAM 0x042a +#define TT_MS_LANGID_ARMENIAN_ARMENIA 0x042b +#define TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN 0x042c +#define TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC 0x082c +#define TT_MS_LANGID_BASQUE_SPAIN 0x042d +#define TT_MS_LANGID_SORBIAN_GERMANY 0x042e +#define TT_MS_LANGID_MACEDONIAN_MACEDONIA 0x042f +#define TT_MS_LANGID_SUTU_SOUTH_AFRICA 0x0430 +#define TT_MS_LANGID_TSONGA_SOUTH_AFRICA 0x0431 +#define TT_MS_LANGID_TSWANA_SOUTH_AFRICA 0x0432 +#define TT_MS_LANGID_VENDA_SOUTH_AFRICA 0x0433 +#define TT_MS_LANGID_XHOSA_SOUTH_AFRICA 0x0434 +#define TT_MS_LANGID_ZULU_SOUTH_AFRICA 0x0435 +#define TT_MS_LANGID_AFRIKAANS_SOUTH_AFRICA 0x0436 +#define TT_MS_LANGID_GEORGIAN_GEORGIA 0x0437 +#define TT_MS_LANGID_FAEROESE_FAEROE_ISLANDS 0x0438 +#define TT_MS_LANGID_HINDI_INDIA 0x0439 +#define TT_MS_LANGID_MALTESE_MALTA 0x043a + /* Added by XPsp2 Platform SDK (2004-07-26) */ +#define TT_MS_LANGID_SAMI_NORTHERN_NORWAY 0x043b +#define TT_MS_LANGID_SAMI_NORTHERN_SWEDEN 0x083b +#define TT_MS_LANGID_SAMI_NORTHERN_FINLAND 0x0C3b +#define TT_MS_LANGID_SAMI_LULE_NORWAY 0x103b +#define TT_MS_LANGID_SAMI_LULE_SWEDEN 0x143b +#define TT_MS_LANGID_SAMI_SOUTHERN_NORWAY 0x183b +#define TT_MS_LANGID_SAMI_SOUTHERN_SWEDEN 0x1C3b +#define TT_MS_LANGID_SAMI_SKOLT_FINLAND 0x203b +#define TT_MS_LANGID_SAMI_INARI_FINLAND 0x243b + /* ... and we also keep our old identifier... */ +#define TT_MS_LANGID_SAAMI_LAPONIA 0x043b + +#if 0 /* this seems to be a previous inversion */ +#define TT_MS_LANGID_IRISH_GAELIC_IRELAND 0x043c +#define TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM 0x083c +#else +#define TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM 0x083c +#define TT_MS_LANGID_IRISH_GAELIC_IRELAND 0x043c +#endif + +#define TT_MS_LANGID_YIDDISH_GERMANY 0x043d +#define TT_MS_LANGID_MALAY_MALAYSIA 0x043e +#define TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM 0x083e +#define TT_MS_LANGID_KAZAK_KAZAKSTAN 0x043f +#define TT_MS_LANGID_KIRGHIZ_KIRGHIZSTAN /* Cyrillic*/ 0x0440 + /* alias declared in Windows 2000 */ +#define TT_MS_LANGID_KIRGHIZ_KIRGHIZ_REPUBLIC \ + TT_MS_LANGID_KIRGHIZ_KIRGHIZSTAN + +#define TT_MS_LANGID_SWAHILI_KENYA 0x0441 +#define TT_MS_LANGID_TURKMEN_TURKMENISTAN 0x0442 +#define TT_MS_LANGID_UZBEK_UZBEKISTAN_LATIN 0x0443 +#define TT_MS_LANGID_UZBEK_UZBEKISTAN_CYRILLIC 0x0843 +#define TT_MS_LANGID_TATAR_TATARSTAN 0x0444 +#define TT_MS_LANGID_BENGALI_INDIA 0x0445 +#define TT_MS_LANGID_BENGALI_BANGLADESH 0x0845 +#define TT_MS_LANGID_PUNJABI_INDIA 0x0446 +#define TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN 0x0846 +#define TT_MS_LANGID_GUJARATI_INDIA 0x0447 +#define TT_MS_LANGID_ORIYA_INDIA 0x0448 +#define TT_MS_LANGID_TAMIL_INDIA 0x0449 +#define TT_MS_LANGID_TELUGU_INDIA 0x044a +#define TT_MS_LANGID_KANNADA_INDIA 0x044b +#define TT_MS_LANGID_MALAYALAM_INDIA 0x044c +#define TT_MS_LANGID_ASSAMESE_INDIA 0x044d +#define TT_MS_LANGID_MARATHI_INDIA 0x044e +#define TT_MS_LANGID_SANSKRIT_INDIA 0x044f +#define TT_MS_LANGID_MONGOLIAN_MONGOLIA /* Cyrillic */ 0x0450 +#define TT_MS_LANGID_MONGOLIAN_MONGOLIA_MONGOLIAN 0x0850 +#define TT_MS_LANGID_TIBETAN_CHINA 0x0451 + /* Don't use the next constant! It has */ + /* (1) the wrong spelling (Dzonghka) */ + /* (2) Microsoft doesn't officially define it -- */ + /* at least it is not in the List of Local */ + /* ID Values. */ + /* (3) Dzongkha is not the same language as */ + /* Tibetan, so merging it is wrong anyway. */ + /* */ + /* TT_MS_LANGID_TIBETAN_BHUTAN is correct, BTW. */ +#define TT_MS_LANGID_DZONGHKA_BHUTAN 0x0851 + +#if 0 + /* the following used to be defined */ +#define TT_MS_LANGID_TIBETAN_BHUTAN 0x0451 + /* ... but it was changed; */ +#else + /* So we will continue to #define it, but with the correct value */ +#define TT_MS_LANGID_TIBETAN_BHUTAN TT_MS_LANGID_DZONGHKA_BHUTAN +#endif + +#define TT_MS_LANGID_WELSH_WALES 0x0452 +#define TT_MS_LANGID_KHMER_CAMBODIA 0x0453 +#define TT_MS_LANGID_LAO_LAOS 0x0454 +#define TT_MS_LANGID_BURMESE_MYANMAR 0x0455 +#define TT_MS_LANGID_GALICIAN_SPAIN 0x0456 +#define TT_MS_LANGID_KONKANI_INDIA 0x0457 +#define TT_MS_LANGID_MANIPURI_INDIA /* Bengali */ 0x0458 +#define TT_MS_LANGID_SINDHI_INDIA /* Arabic */ 0x0459 +#define TT_MS_LANGID_SINDHI_PAKISTAN 0x0859 + /* Missing a LCID for Sindhi in Devanagari script */ +#define TT_MS_LANGID_SYRIAC_SYRIA 0x045a +#define TT_MS_LANGID_SINHALESE_SRI_LANKA 0x045b +#define TT_MS_LANGID_CHEROKEE_UNITED_STATES 0x045c +#define TT_MS_LANGID_INUKTITUT_CANADA 0x045d +#define TT_MS_LANGID_AMHARIC_ETHIOPIA 0x045e +#define TT_MS_LANGID_TAMAZIGHT_MOROCCO /* Arabic */ 0x045f +#define TT_MS_LANGID_TAMAZIGHT_MOROCCO_LATIN 0x085f + /* Missing a LCID for Tifinagh script */ +#define TT_MS_LANGID_KASHMIRI_PAKISTAN /* Arabic */ 0x0460 + /* Spelled this way by XPsp2 Platform SDK (2004-07-26) */ + /* script is yet unclear... might be Arabic, Nagari or Sharada */ +#define TT_MS_LANGID_KASHMIRI_SASIA 0x0860 + /* ... and aliased (by MS) for compatibility reasons. */ +#define TT_MS_LANGID_KASHMIRI_INDIA TT_MS_LANGID_KASHMIRI_SASIA +#define TT_MS_LANGID_NEPALI_NEPAL 0x0461 +#define TT_MS_LANGID_NEPALI_INDIA 0x0861 +#define TT_MS_LANGID_FRISIAN_NETHERLANDS 0x0462 +#define TT_MS_LANGID_PASHTO_AFGHANISTAN 0x0463 +#define TT_MS_LANGID_FILIPINO_PHILIPPINES 0x0464 +#define TT_MS_LANGID_DHIVEHI_MALDIVES 0x0465 + /* alias declared in Windows 2000 */ +#define TT_MS_LANGID_DIVEHI_MALDIVES TT_MS_LANGID_DHIVEHI_MALDIVES +#define TT_MS_LANGID_EDO_NIGERIA 0x0466 +#define TT_MS_LANGID_FULFULDE_NIGERIA 0x0467 +#define TT_MS_LANGID_HAUSA_NIGERIA 0x0468 +#define TT_MS_LANGID_IBIBIO_NIGERIA 0x0469 +#define TT_MS_LANGID_YORUBA_NIGERIA 0x046a +#define TT_MS_LANGID_QUECHUA_BOLIVIA 0x046b +#define TT_MS_LANGID_QUECHUA_ECUADOR 0x086b +#define TT_MS_LANGID_QUECHUA_PERU 0x0c6b +#define TT_MS_LANGID_SEPEDI_SOUTH_AFRICA 0x046c + /* Also spelled by XPsp2 Platform SDK (2004-07-26) */ +#define TT_MS_LANGID_SOTHO_SOUTHERN_SOUTH_AFRICA \ + TT_MS_LANGID_SEPEDI_SOUTH_AFRICA + /* language codes 0x046d, 0x046e and 0x046f are (still) unknown. */ +#define TT_MS_LANGID_IGBO_NIGERIA 0x0470 +#define TT_MS_LANGID_KANURI_NIGERIA 0x0471 +#define TT_MS_LANGID_OROMO_ETHIOPIA 0x0472 +#define TT_MS_LANGID_TIGRIGNA_ETHIOPIA 0x0473 +#define TT_MS_LANGID_TIGRIGNA_ERYTHREA 0x0873 + /* also spelled in the `Passport SDK' list as: */ +#define TT_MS_LANGID_TIGRIGNA_ERYTREA TT_MS_LANGID_TIGRIGNA_ERYTHREA +#define TT_MS_LANGID_GUARANI_PARAGUAY 0x0474 +#define TT_MS_LANGID_HAWAIIAN_UNITED_STATES 0x0475 +#define TT_MS_LANGID_LATIN 0x0476 +#define TT_MS_LANGID_SOMALI_SOMALIA 0x0477 + /* Note: Yi does not have a (proper) ISO 639-2 code, since it is mostly */ + /* not written (but OTOH the peculiar writing system is worth */ + /* studying). */ +#define TT_MS_LANGID_YI_CHINA 0x0478 +#define TT_MS_LANGID_PAPIAMENTU_NETHERLANDS_ANTILLES 0x0479 + /* language codes from 0x047a to 0x047f are (still) unknown. */ +#define TT_MS_LANGID_UIGHUR_CHINA 0x0480 +#define TT_MS_LANGID_MAORI_NEW_ZEALAND 0x0481 + +#if 0 /* not deemed useful for fonts */ +#define TT_MS_LANGID_HUMAN_INTERFACE_DEVICE 0x04ff +#endif + + + /*************************************************************************/ + /* */ + /* Possible values of the `name' identifier field in the name records of */ + /* the TTF `name' table. These values are platform independent. */ + /* */ +#define TT_NAME_ID_COPYRIGHT 0 +#define TT_NAME_ID_FONT_FAMILY 1 +#define TT_NAME_ID_FONT_SUBFAMILY 2 +#define TT_NAME_ID_UNIQUE_ID 3 +#define TT_NAME_ID_FULL_NAME 4 +#define TT_NAME_ID_VERSION_STRING 5 +#define TT_NAME_ID_PS_NAME 6 +#define TT_NAME_ID_TRADEMARK 7 + + /* the following values are from the OpenType spec */ +#define TT_NAME_ID_MANUFACTURER 8 +#define TT_NAME_ID_DESIGNER 9 +#define TT_NAME_ID_DESCRIPTION 10 +#define TT_NAME_ID_VENDOR_URL 11 +#define TT_NAME_ID_DESIGNER_URL 12 +#define TT_NAME_ID_LICENSE 13 +#define TT_NAME_ID_LICENSE_URL 14 + /* number 15 is reserved */ +#define TT_NAME_ID_PREFERRED_FAMILY 16 +#define TT_NAME_ID_PREFERRED_SUBFAMILY 17 +#define TT_NAME_ID_MAC_FULL_NAME 18 + + /* The following code is new as of 2000-01-21 */ +#define TT_NAME_ID_SAMPLE_TEXT 19 + + /* This is new in OpenType 1.3 */ +#define TT_NAME_ID_CID_FINDFONT_NAME 20 + + /* This is new in OpenType 1.5 */ +#define TT_NAME_ID_WWS_FAMILY 21 +#define TT_NAME_ID_WWS_SUBFAMILY 22 + + + /*************************************************************************/ + /* */ + /* Bit mask values for the Unicode Ranges from the TTF `OS2 ' table. */ + /* */ + /* Updated 08-Nov-2008. */ + /* */ + + /* Bit 0 Basic Latin */ +#define TT_UCR_BASIC_LATIN (1L << 0) /* U+0020-U+007E */ + /* Bit 1 C1 Controls and Latin-1 Supplement */ +#define TT_UCR_LATIN1_SUPPLEMENT (1L << 1) /* U+0080-U+00FF */ + /* Bit 2 Latin Extended-A */ +#define TT_UCR_LATIN_EXTENDED_A (1L << 2) /* U+0100-U+017F */ + /* Bit 3 Latin Extended-B */ +#define TT_UCR_LATIN_EXTENDED_B (1L << 3) /* U+0180-U+024F */ + /* Bit 4 IPA Extensions */ + /* Phonetic Extensions */ + /* Phonetic Extensions Supplement */ +#define TT_UCR_IPA_EXTENSIONS (1L << 4) /* U+0250-U+02AF */ + /* U+1D00-U+1D7F */ + /* U+1D80-U+1DBF */ + /* Bit 5 Spacing Modifier Letters */ + /* Modifier Tone Letters */ +#define TT_UCR_SPACING_MODIFIER (1L << 5) /* U+02B0-U+02FF */ + /* U+A700-U+A71F */ + /* Bit 6 Combining Diacritical Marks */ + /* Combining Diacritical Marks Supplement */ +#define TT_UCR_COMBINING_DIACRITICS (1L << 6) /* U+0300-U+036F */ + /* U+1DC0-U+1DFF */ + /* Bit 7 Greek and Coptic */ +#define TT_UCR_GREEK (1L << 7) /* U+0370-U+03FF */ + /* Bit 8 Coptic */ +#define TT_UCR_COPTIC (1L << 8) /* U+2C80-U+2CFF */ + /* Bit 9 Cyrillic */ + /* Cyrillic Supplement */ + /* Cyrillic Extended-A */ + /* Cyrillic Extended-B */ +#define TT_UCR_CYRILLIC (1L << 9) /* U+0400-U+04FF */ + /* U+0500-U+052F */ + /* U+2DE0-U+2DFF */ + /* U+A640-U+A69F */ + /* Bit 10 Armenian */ +#define TT_UCR_ARMENIAN (1L << 10) /* U+0530-U+058F */ + /* Bit 11 Hebrew */ +#define TT_UCR_HEBREW (1L << 11) /* U+0590-U+05FF */ + /* Bit 12 Vai */ +#define TT_UCR_VAI (1L << 12) /* U+A500-U+A63F */ + /* Bit 13 Arabic */ + /* Arabic Supplement */ +#define TT_UCR_ARABIC (1L << 13) /* U+0600-U+06FF */ + /* U+0750-U+077F */ + /* Bit 14 NKo */ +#define TT_UCR_NKO (1L << 14) /* U+07C0-U+07FF */ + /* Bit 15 Devanagari */ +#define TT_UCR_DEVANAGARI (1L << 15) /* U+0900-U+097F */ + /* Bit 16 Bengali */ +#define TT_UCR_BENGALI (1L << 16) /* U+0980-U+09FF */ + /* Bit 17 Gurmukhi */ +#define TT_UCR_GURMUKHI (1L << 17) /* U+0A00-U+0A7F */ + /* Bit 18 Gujarati */ +#define TT_UCR_GUJARATI (1L << 18) /* U+0A80-U+0AFF */ + /* Bit 19 Oriya */ +#define TT_UCR_ORIYA (1L << 19) /* U+0B00-U+0B7F */ + /* Bit 20 Tamil */ +#define TT_UCR_TAMIL (1L << 20) /* U+0B80-U+0BFF */ + /* Bit 21 Telugu */ +#define TT_UCR_TELUGU (1L << 21) /* U+0C00-U+0C7F */ + /* Bit 22 Kannada */ +#define TT_UCR_KANNADA (1L << 22) /* U+0C80-U+0CFF */ + /* Bit 23 Malayalam */ +#define TT_UCR_MALAYALAM (1L << 23) /* U+0D00-U+0D7F */ + /* Bit 24 Thai */ +#define TT_UCR_THAI (1L << 24) /* U+0E00-U+0E7F */ + /* Bit 25 Lao */ +#define TT_UCR_LAO (1L << 25) /* U+0E80-U+0EFF */ + /* Bit 26 Georgian */ + /* Georgian Supplement */ +#define TT_UCR_GEORGIAN (1L << 26) /* U+10A0-U+10FF */ + /* U+2D00-U+2D2F */ + /* Bit 27 Balinese */ +#define TT_UCR_BALINESE (1L << 27) /* U+1B00-U+1B7F */ + /* Bit 28 Hangul Jamo */ +#define TT_UCR_HANGUL_JAMO (1L << 28) /* U+1100-U+11FF */ + /* Bit 29 Latin Extended Additional */ + /* Latin Extended-C */ + /* Latin Extended-D */ +#define TT_UCR_LATIN_EXTENDED_ADDITIONAL (1L << 29) /* U+1E00-U+1EFF */ + /* U+2C60-U+2C7F */ + /* U+A720-U+A7FF */ + /* Bit 30 Greek Extended */ +#define TT_UCR_GREEK_EXTENDED (1L << 30) /* U+1F00-U+1FFF */ + /* Bit 31 General Punctuation */ + /* Supplemental Punctuation */ +#define TT_UCR_GENERAL_PUNCTUATION (1L << 31) /* U+2000-U+206F */ + /* U+2E00-U+2E7F */ + /* Bit 32 Superscripts And Subscripts */ +#define TT_UCR_SUPERSCRIPTS_SUBSCRIPTS (1L << 0) /* U+2070-U+209F */ + /* Bit 33 Currency Symbols */ +#define TT_UCR_CURRENCY_SYMBOLS (1L << 1) /* U+20A0-U+20CF */ + /* Bit 34 Combining Diacritical Marks For Symbols */ +#define TT_UCR_COMBINING_DIACRITICS_SYMB (1L << 2) /* U+20D0-U+20FF */ + /* Bit 35 Letterlike Symbols */ +#define TT_UCR_LETTERLIKE_SYMBOLS (1L << 3) /* U+2100-U+214F */ + /* Bit 36 Number Forms */ +#define TT_UCR_NUMBER_FORMS (1L << 4) /* U+2150-U+218F */ + /* Bit 37 Arrows */ + /* Supplemental Arrows-A */ + /* Supplemental Arrows-B */ + /* Miscellaneous Symbols and Arrows */ +#define TT_UCR_ARROWS (1L << 5) /* U+2190-U+21FF */ + /* U+27F0-U+27FF */ + /* U+2900-U+297F */ + /* U+2B00-U+2BFF */ + /* Bit 38 Mathematical Operators */ + /* Supplemental Mathematical Operators */ + /* Miscellaneous Mathematical Symbols-A */ + /* Miscellaneous Mathematical Symbols-B */ +#define TT_UCR_MATHEMATICAL_OPERATORS (1L << 6) /* U+2200-U+22FF */ + /* U+2A00-U+2AFF */ + /* U+27C0-U+27EF */ + /* U+2980-U+29FF */ + /* Bit 39 Miscellaneous Technical */ +#define TT_UCR_MISCELLANEOUS_TECHNICAL (1L << 7) /* U+2300-U+23FF */ + /* Bit 40 Control Pictures */ +#define TT_UCR_CONTROL_PICTURES (1L << 8) /* U+2400-U+243F */ + /* Bit 41 Optical Character Recognition */ +#define TT_UCR_OCR (1L << 9) /* U+2440-U+245F */ + /* Bit 42 Enclosed Alphanumerics */ +#define TT_UCR_ENCLOSED_ALPHANUMERICS (1L << 10) /* U+2460-U+24FF */ + /* Bit 43 Box Drawing */ +#define TT_UCR_BOX_DRAWING (1L << 11) /* U+2500-U+257F */ + /* Bit 44 Block Elements */ +#define TT_UCR_BLOCK_ELEMENTS (1L << 12) /* U+2580-U+259F */ + /* Bit 45 Geometric Shapes */ +#define TT_UCR_GEOMETRIC_SHAPES (1L << 13) /* U+25A0-U+25FF */ + /* Bit 46 Miscellaneous Symbols */ +#define TT_UCR_MISCELLANEOUS_SYMBOLS (1L << 14) /* U+2600-U+26FF */ + /* Bit 47 Dingbats */ +#define TT_UCR_DINGBATS (1L << 15) /* U+2700-U+27BF */ + /* Bit 48 CJK Symbols and Punctuation */ +#define TT_UCR_CJK_SYMBOLS (1L << 16) /* U+3000-U+303F */ + /* Bit 49 Hiragana */ +#define TT_UCR_HIRAGANA (1L << 17) /* U+3040-U+309F */ + /* Bit 50 Katakana */ + /* Katakana Phonetic Extensions */ +#define TT_UCR_KATAKANA (1L << 18) /* U+30A0-U+30FF */ + /* U+31F0-U+31FF */ + /* Bit 51 Bopomofo */ + /* Bopomofo Extended */ +#define TT_UCR_BOPOMOFO (1L << 19) /* U+3100-U+312F */ + /* U+31A0-U+31BF */ + /* Bit 52 Hangul Compatibility Jamo */ +#define TT_UCR_HANGUL_COMPATIBILITY_JAMO (1L << 20) /* U+3130-U+318F */ + /* Bit 53 Phags-Pa */ +#define TT_UCR_CJK_MISC (1L << 21) /* U+A840-U+A87F */ +#define TT_UCR_KANBUN TT_UCR_CJK_MISC /* deprecated */ +#define TT_UCR_PHAGSPA + /* Bit 54 Enclosed CJK Letters and Months */ +#define TT_UCR_ENCLOSED_CJK_LETTERS_MONTHS (1L << 22) /* U+3200-U+32FF */ + /* Bit 55 CJK Compatibility */ +#define TT_UCR_CJK_COMPATIBILITY (1L << 23) /* U+3300-U+33FF */ + /* Bit 56 Hangul Syllables */ +#define TT_UCR_HANGUL (1L << 24) /* U+AC00-U+D7A3 */ + /* Bit 57 High Surrogates */ + /* High Private Use Surrogates */ + /* Low Surrogates */ + /* */ + /* According to OpenType specs v.1.3+, */ + /* setting bit 57 implies that there is */ + /* at least one codepoint beyond the */ + /* Basic Multilingual Plane that is */ + /* supported by this font. So it really */ + /* means >= U+10000 */ +#define TT_UCR_SURROGATES (1L << 25) /* U+D800-U+DB7F */ + /* U+DB80-U+DBFF */ + /* U+DC00-U+DFFF */ +#define TT_UCR_NON_PLANE_0 TT_UCR_SURROGATES + /* Bit 58 Phoenician */ +#define TT_UCR_PHOENICIAN (1L << 26) /*U+10900-U+1091F*/ + /* Bit 59 CJK Unified Ideographs */ + /* CJK Radicals Supplement */ + /* Kangxi Radicals */ + /* Ideographic Description Characters */ + /* CJK Unified Ideographs Extension A */ + /* CJK Unified Ideographs Extension B */ + /* Kanbun */ +#define TT_UCR_CJK_UNIFIED_IDEOGRAPHS (1L << 27) /* U+4E00-U+9FFF */ + /* U+2E80-U+2EFF */ + /* U+2F00-U+2FDF */ + /* U+2FF0-U+2FFF */ + /* U+3400-U+4DB5 */ + /*U+20000-U+2A6DF*/ + /* U+3190-U+319F */ + /* Bit 60 Private Use */ +#define TT_UCR_PRIVATE_USE (1L << 28) /* U+E000-U+F8FF */ + /* Bit 61 CJK Strokes */ + /* CJK Compatibility Ideographs */ + /* CJK Compatibility Ideographs Supplement */ +#define TT_UCR_CJK_COMPATIBILITY_IDEOGRAPHS (1L << 29) /* U+31C0-U+31EF */ + /* U+F900-U+FAFF */ + /*U+2F800-U+2FA1F*/ + /* Bit 62 Alphabetic Presentation Forms */ +#define TT_UCR_ALPHABETIC_PRESENTATION_FORMS (1L << 30) /* U+FB00-U+FB4F */ + /* Bit 63 Arabic Presentation Forms-A */ +#define TT_UCR_ARABIC_PRESENTATIONS_A (1L << 31) /* U+FB50-U+FDFF */ + /* Bit 64 Combining Half Marks */ +#define TT_UCR_COMBINING_HALF_MARKS (1L << 0) /* U+FE20-U+FE2F */ + /* Bit 65 Vertical forms */ + /* CJK Compatibility Forms */ +#define TT_UCR_CJK_COMPATIBILITY_FORMS (1L << 1) /* U+FE10-U+FE1F */ + /* U+FE30-U+FE4F */ + /* Bit 66 Small Form Variants */ +#define TT_UCR_SMALL_FORM_VARIANTS (1L << 2) /* U+FE50-U+FE6F */ + /* Bit 67 Arabic Presentation Forms-B */ +#define TT_UCR_ARABIC_PRESENTATIONS_B (1L << 3) /* U+FE70-U+FEFE */ + /* Bit 68 Halfwidth and Fullwidth Forms */ +#define TT_UCR_HALFWIDTH_FULLWIDTH_FORMS (1L << 4) /* U+FF00-U+FFEF */ + /* Bit 69 Specials */ +#define TT_UCR_SPECIALS (1L << 5) /* U+FFF0-U+FFFD */ + /* Bit 70 Tibetan */ +#define TT_UCR_TIBETAN (1L << 6) /* U+0F00-U+0FFF */ + /* Bit 71 Syriac */ +#define TT_UCR_SYRIAC (1L << 7) /* U+0700-U+074F */ + /* Bit 72 Thaana */ +#define TT_UCR_THAANA (1L << 8) /* U+0780-U+07BF */ + /* Bit 73 Sinhala */ +#define TT_UCR_SINHALA (1L << 9) /* U+0D80-U+0DFF */ + /* Bit 74 Myanmar */ +#define TT_UCR_MYANMAR (1L << 10) /* U+1000-U+109F */ + /* Bit 75 Ethiopic */ + /* Ethiopic Supplement */ + /* Ethiopic Extended */ +#define TT_UCR_ETHIOPIC (1L << 11) /* U+1200-U+137F */ + /* U+1380-U+139F */ + /* U+2D80-U+2DDF */ + /* Bit 76 Cherokee */ +#define TT_UCR_CHEROKEE (1L << 12) /* U+13A0-U+13FF */ + /* Bit 77 Unified Canadian Aboriginal Syllabics */ +#define TT_UCR_CANADIAN_ABORIGINAL_SYLLABICS (1L << 13) /* U+1400-U+167F */ + /* Bit 78 Ogham */ +#define TT_UCR_OGHAM (1L << 14) /* U+1680-U+169F */ + /* Bit 79 Runic */ +#define TT_UCR_RUNIC (1L << 15) /* U+16A0-U+16FF */ + /* Bit 80 Khmer */ + /* Khmer Symbols */ +#define TT_UCR_KHMER (1L << 16) /* U+1780-U+17FF */ + /* U+19E0-U+19FF */ + /* Bit 81 Mongolian */ +#define TT_UCR_MONGOLIAN (1L << 17) /* U+1800-U+18AF */ + /* Bit 82 Braille Patterns */ +#define TT_UCR_BRAILLE (1L << 18) /* U+2800-U+28FF */ + /* Bit 83 Yi Syllables */ + /* Yi Radicals */ +#define TT_UCR_YI (1L << 19) /* U+A000-U+A48F */ + /* U+A490-U+A4CF */ + /* Bit 84 Tagalog */ + /* Hanunoo */ + /* Buhid */ + /* Tagbanwa */ +#define TT_UCR_PHILIPPINE (1L << 20) /* U+1700-U+171F */ + /* U+1720-U+173F */ + /* U+1740-U+175F */ + /* U+1760-U+177F */ + /* Bit 85 Old Italic */ +#define TT_UCR_OLD_ITALIC (1L << 21) /*U+10300-U+1032F*/ + /* Bit 86 Gothic */ +#define TT_UCR_GOTHIC (1L << 22) /*U+10330-U+1034F*/ + /* Bit 87 Deseret */ +#define TT_UCR_DESERET (1L << 23) /*U+10400-U+1044F*/ + /* Bit 88 Byzantine Musical Symbols */ + /* Musical Symbols */ + /* Ancient Greek Musical Notation */ +#define TT_UCR_MUSICAL_SYMBOLS (1L << 24) /*U+1D000-U+1D0FF*/ + /*U+1D100-U+1D1FF*/ + /*U+1D200-U+1D24F*/ + /* Bit 89 Mathematical Alphanumeric Symbols */ +#define TT_UCR_MATH_ALPHANUMERIC_SYMBOLS (1L << 25) /*U+1D400-U+1D7FF*/ + /* Bit 90 Private Use (plane 15) */ + /* Private Use (plane 16) */ +#define TT_UCR_PRIVATE_USE_SUPPLEMENTARY (1L << 26) /*U+F0000-U+FFFFD*/ + /*U+100000-U+10FFFD*/ + /* Bit 91 Variation Selectors */ + /* Variation Selectors Supplement */ +#define TT_UCR_VARIATION_SELECTORS (1L << 27) /* U+FE00-U+FE0F */ + /*U+E0100-U+E01EF*/ + /* Bit 92 Tags */ +#define TT_UCR_TAGS (1L << 28) /*U+E0000-U+E007F*/ + /* Bit 93 Limbu */ +#define TT_UCR_LIMBU (1L << 29) /* U+1900-U+194F */ + /* Bit 94 Tai Le */ +#define TT_UCR_TAI_LE (1L << 30) /* U+1950-U+197F */ + /* Bit 95 New Tai Lue */ +#define TT_UCR_NEW_TAI_LUE (1L << 31) /* U+1980-U+19DF */ + /* Bit 96 Buginese */ +#define TT_UCR_BUGINESE (1L << 0) /* U+1A00-U+1A1F */ + /* Bit 97 Glagolitic */ +#define TT_UCR_GLAGOLITIC (1L << 1) /* U+2C00-U+2C5F */ + /* Bit 98 Tifinagh */ +#define TT_UCR_TIFINAGH (1L << 2) /* U+2D30-U+2D7F */ + /* Bit 99 Yijing Hexagram Symbols */ +#define TT_UCR_YIJING (1L << 3) /* U+4DC0-U+4DFF */ + /* Bit 100 Syloti Nagri */ +#define TT_UCR_SYLOTI_NAGRI (1L << 4) /* U+A800-U+A82F */ + /* Bit 101 Linear B Syllabary */ + /* Linear B Ideograms */ + /* Aegean Numbers */ +#define TT_UCR_LINEAR_B (1L << 5) /*U+10000-U+1007F*/ + /*U+10080-U+100FF*/ + /*U+10100-U+1013F*/ + /* Bit 102 Ancient Greek Numbers */ +#define TT_UCR_ANCIENT_GREEK_NUMBERS (1L << 6) /*U+10140-U+1018F*/ + /* Bit 103 Ugaritic */ +#define TT_UCR_UGARITIC (1L << 7) /*U+10380-U+1039F*/ + /* Bit 104 Old Persian */ +#define TT_UCR_OLD_PERSIAN (1L << 8) /*U+103A0-U+103DF*/ + /* Bit 105 Shavian */ +#define TT_UCR_SHAVIAN (1L << 9) /*U+10450-U+1047F*/ + /* Bit 106 Osmanya */ +#define TT_UCR_OSMANYA (1L << 10) /*U+10480-U+104AF*/ + /* Bit 107 Cypriot Syllabary */ +#define TT_UCR_CYPRIOT_SYLLABARY (1L << 11) /*U+10800-U+1083F*/ + /* Bit 108 Kharoshthi */ +#define TT_UCR_KHAROSHTHI (1L << 12) /*U+10A00-U+10A5F*/ + /* Bit 109 Tai Xuan Jing Symbols */ +#define TT_UCR_TAI_XUAN_JING (1L << 13) /*U+1D300-U+1D35F*/ + /* Bit 110 Cuneiform */ + /* Cuneiform Numbers and Punctuation */ +#define TT_UCR_CUNEIFORM (1L << 14) /*U+12000-U+123FF*/ + /*U+12400-U+1247F*/ + /* Bit 111 Counting Rod Numerals */ +#define TT_UCR_COUNTING_ROD_NUMERALS (1L << 15) /*U+1D360-U+1D37F*/ + /* Bit 112 Sundanese */ +#define TT_UCR_SUNDANESE (1L << 16) /* U+1B80-U+1BBF */ + /* Bit 113 Lepcha */ +#define TT_UCR_LEPCHA (1L << 17) /* U+1C00-U+1C4F */ + /* Bit 114 Ol Chiki */ +#define TT_UCR_OL_CHIKI (1L << 18) /* U+1C50-U+1C7F */ + /* Bit 115 Saurashtra */ +#define TT_UCR_SAURASHTRA (1L << 19) /* U+A880-U+A8DF */ + /* Bit 116 Kayah Li */ +#define TT_UCR_KAYAH_LI (1L << 20) /* U+A900-U+A92F */ + /* Bit 117 Rejang */ +#define TT_UCR_REJANG (1L << 21) /* U+A930-U+A95F */ + /* Bit 118 Cham */ +#define TT_UCR_CHAM (1L << 22) /* U+AA00-U+AA5F */ + /* Bit 119 Ancient Symbols */ +#define TT_UCR_ANCIENT_SYMBOLS (1L << 23) /*U+10190-U+101CF*/ + /* Bit 120 Phaistos Disc */ +#define TT_UCR_PHAISTOS_DISC (1L << 24) /*U+101D0-U+101FF*/ + /* Bit 121 Carian */ + /* Lycian */ + /* Lydian */ +#define TT_UCR_OLD_ANATOLIAN (1L << 25) /*U+102A0-U+102DF*/ + /*U+10280-U+1029F*/ + /*U+10920-U+1093F*/ + /* Bit 122 Domino Tiles */ + /* Mahjong Tiles */ +#define TT_UCR_GAME_TILES (1L << 26) /*U+1F030-U+1F09F*/ + /*U+1F000-U+1F02F*/ + /* Bit 123-127 Reserved for process-internal usage */ + + + /*************************************************************************/ + /* */ + /* Some compilers have a very limited length of identifiers. */ + /* */ +#if defined( __TURBOC__ ) && __TURBOC__ < 0x0410 || defined( __PACIFIC__ ) +#define HAVE_LIMIT_ON_IDENTS +#endif + + +#ifndef HAVE_LIMIT_ON_IDENTS + + + /*************************************************************************/ + /* */ + /* Here some alias #defines in order to be clearer. */ + /* */ + /* These are not always #defined to stay within the 31~character limit */ + /* which some compilers have. */ + /* */ + /* Credits go to Dave Hoo <dhoo@flash.net> for pointing out that modern */ + /* Borland compilers (read: from BC++ 3.1 on) can increase this limit. */ + /* If you get a warning with such a compiler, use the -i40 switch. */ + /* */ +#define TT_UCR_ARABIC_PRESENTATION_FORMS_A \ + TT_UCR_ARABIC_PRESENTATIONS_A +#define TT_UCR_ARABIC_PRESENTATION_FORMS_B \ + TT_UCR_ARABIC_PRESENTATIONS_B + +#define TT_UCR_COMBINING_DIACRITICAL_MARKS \ + TT_UCR_COMBINING_DIACRITICS +#define TT_UCR_COMBINING_DIACRITICAL_MARKS_SYMB \ + TT_UCR_COMBINING_DIACRITICS_SYMB + + +#endif /* !HAVE_LIMIT_ON_IDENTS */ + + +FT_END_HEADER + +#endif /* __TTNAMEID_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/tttables.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/tttables.h new file mode 100644 index 00000000..fe07117b --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/tttables.h @@ -0,0 +1,777 @@ +/***************************************************************************/ +/* */ +/* tttables.h */ +/* */ +/* Basic SFNT/TrueType tables definitions and interface */ +/* (specification only). */ +/* */ +/* Copyright 1996-2005, 2008-2012 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __TTTABLES_H__ +#define __TTTABLES_H__ + + +#include <ft2build.h> +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + /*************************************************************************/ + /* */ + /* <Section> */ + /* truetype_tables */ + /* */ + /* <Title> */ + /* TrueType Tables */ + /* */ + /* <Abstract> */ + /* TrueType specific table types and functions. */ + /* */ + /* <Description> */ + /* This section contains the definition of TrueType-specific tables */ + /* as well as some routines used to access and process them. */ + /* */ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* TT_Header */ + /* */ + /* <Description> */ + /* A structure used to model a TrueType font header table. All */ + /* fields follow the TrueType specification. */ + /* */ + typedef struct TT_Header_ + { + FT_Fixed Table_Version; + FT_Fixed Font_Revision; + + FT_Long CheckSum_Adjust; + FT_Long Magic_Number; + + FT_UShort Flags; + FT_UShort Units_Per_EM; + + FT_Long Created [2]; + FT_Long Modified[2]; + + FT_Short xMin; + FT_Short yMin; + FT_Short xMax; + FT_Short yMax; + + FT_UShort Mac_Style; + FT_UShort Lowest_Rec_PPEM; + + FT_Short Font_Direction; + FT_Short Index_To_Loc_Format; + FT_Short Glyph_Data_Format; + + } TT_Header; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* TT_HoriHeader */ + /* */ + /* <Description> */ + /* A structure used to model a TrueType horizontal header, the `hhea' */ + /* table, as well as the corresponding horizontal metrics table, */ + /* i.e., the `hmtx' table. */ + /* */ + /* <Fields> */ + /* Version :: The table version. */ + /* */ + /* Ascender :: The font's ascender, i.e., the distance */ + /* from the baseline to the top-most of all */ + /* glyph points found in the font. */ + /* */ + /* This value is invalid in many fonts, as */ + /* it is usually set by the font designer, */ + /* and often reflects only a portion of the */ + /* glyphs found in the font (maybe ASCII). */ + /* */ + /* You should use the `sTypoAscender' field */ + /* of the OS/2 table instead if you want */ + /* the correct one. */ + /* */ + /* Descender :: The font's descender, i.e., the distance */ + /* from the baseline to the bottom-most of */ + /* all glyph points found in the font. It */ + /* is negative. */ + /* */ + /* This value is invalid in many fonts, as */ + /* it is usually set by the font designer, */ + /* and often reflects only a portion of the */ + /* glyphs found in the font (maybe ASCII). */ + /* */ + /* You should use the `sTypoDescender' */ + /* field of the OS/2 table instead if you */ + /* want the correct one. */ + /* */ + /* Line_Gap :: The font's line gap, i.e., the distance */ + /* to add to the ascender and descender to */ + /* get the BTB, i.e., the */ + /* baseline-to-baseline distance for the */ + /* font. */ + /* */ + /* advance_Width_Max :: This field is the maximum of all advance */ + /* widths found in the font. It can be */ + /* used to compute the maximum width of an */ + /* arbitrary string of text. */ + /* */ + /* min_Left_Side_Bearing :: The minimum left side bearing of all */ + /* glyphs within the font. */ + /* */ + /* min_Right_Side_Bearing :: The minimum right side bearing of all */ + /* glyphs within the font. */ + /* */ + /* xMax_Extent :: The maximum horizontal extent (i.e., the */ + /* `width' of a glyph's bounding box) for */ + /* all glyphs in the font. */ + /* */ + /* caret_Slope_Rise :: The rise coefficient of the cursor's */ + /* slope of the cursor (slope=rise/run). */ + /* */ + /* caret_Slope_Run :: The run coefficient of the cursor's */ + /* slope. */ + /* */ + /* Reserved :: 8~reserved bytes. */ + /* */ + /* metric_Data_Format :: Always~0. */ + /* */ + /* number_Of_HMetrics :: Number of HMetrics entries in the `hmtx' */ + /* table -- this value can be smaller than */ + /* the total number of glyphs in the font. */ + /* */ + /* long_metrics :: A pointer into the `hmtx' table. */ + /* */ + /* short_metrics :: A pointer into the `hmtx' table. */ + /* */ + /* <Note> */ + /* IMPORTANT: The TT_HoriHeader and TT_VertHeader structures should */ + /* be identical except for the names of their fields which */ + /* are different. */ + /* */ + /* This ensures that a single function in the `ttload' */ + /* module is able to read both the horizontal and vertical */ + /* headers. */ + /* */ + typedef struct TT_HoriHeader_ + { + FT_Fixed Version; + FT_Short Ascender; + FT_Short Descender; + FT_Short Line_Gap; + + FT_UShort advance_Width_Max; /* advance width maximum */ + + FT_Short min_Left_Side_Bearing; /* minimum left-sb */ + FT_Short min_Right_Side_Bearing; /* minimum right-sb */ + FT_Short xMax_Extent; /* xmax extents */ + FT_Short caret_Slope_Rise; + FT_Short caret_Slope_Run; + FT_Short caret_Offset; + + FT_Short Reserved[4]; + + FT_Short metric_Data_Format; + FT_UShort number_Of_HMetrics; + + /* The following fields are not defined by the TrueType specification */ + /* but they are used to connect the metrics header to the relevant */ + /* `HMTX' table. */ + + void* long_metrics; + void* short_metrics; + + } TT_HoriHeader; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* TT_VertHeader */ + /* */ + /* <Description> */ + /* A structure used to model a TrueType vertical header, the `vhea' */ + /* table, as well as the corresponding vertical metrics table, i.e., */ + /* the `vmtx' table. */ + /* */ + /* <Fields> */ + /* Version :: The table version. */ + /* */ + /* Ascender :: The font's ascender, i.e., the distance */ + /* from the baseline to the top-most of */ + /* all glyph points found in the font. */ + /* */ + /* This value is invalid in many fonts, as */ + /* it is usually set by the font designer, */ + /* and often reflects only a portion of */ + /* the glyphs found in the font (maybe */ + /* ASCII). */ + /* */ + /* You should use the `sTypoAscender' */ + /* field of the OS/2 table instead if you */ + /* want the correct one. */ + /* */ + /* Descender :: The font's descender, i.e., the */ + /* distance from the baseline to the */ + /* bottom-most of all glyph points found */ + /* in the font. It is negative. */ + /* */ + /* This value is invalid in many fonts, as */ + /* it is usually set by the font designer, */ + /* and often reflects only a portion of */ + /* the glyphs found in the font (maybe */ + /* ASCII). */ + /* */ + /* You should use the `sTypoDescender' */ + /* field of the OS/2 table instead if you */ + /* want the correct one. */ + /* */ + /* Line_Gap :: The font's line gap, i.e., the distance */ + /* to add to the ascender and descender to */ + /* get the BTB, i.e., the */ + /* baseline-to-baseline distance for the */ + /* font. */ + /* */ + /* advance_Height_Max :: This field is the maximum of all */ + /* advance heights found in the font. It */ + /* can be used to compute the maximum */ + /* height of an arbitrary string of text. */ + /* */ + /* min_Top_Side_Bearing :: The minimum top side bearing of all */ + /* glyphs within the font. */ + /* */ + /* min_Bottom_Side_Bearing :: The minimum bottom side bearing of all */ + /* glyphs within the font. */ + /* */ + /* yMax_Extent :: The maximum vertical extent (i.e., the */ + /* `height' of a glyph's bounding box) for */ + /* all glyphs in the font. */ + /* */ + /* caret_Slope_Rise :: The rise coefficient of the cursor's */ + /* slope of the cursor (slope=rise/run). */ + /* */ + /* caret_Slope_Run :: The run coefficient of the cursor's */ + /* slope. */ + /* */ + /* caret_Offset :: The cursor's offset for slanted fonts. */ + /* This value is `reserved' in vmtx */ + /* version 1.0. */ + /* */ + /* Reserved :: 8~reserved bytes. */ + /* */ + /* metric_Data_Format :: Always~0. */ + /* */ + /* number_Of_HMetrics :: Number of VMetrics entries in the */ + /* `vmtx' table -- this value can be */ + /* smaller than the total number of glyphs */ + /* in the font. */ + /* */ + /* long_metrics :: A pointer into the `vmtx' table. */ + /* */ + /* short_metrics :: A pointer into the `vmtx' table. */ + /* */ + /* <Note> */ + /* IMPORTANT: The TT_HoriHeader and TT_VertHeader structures should */ + /* be identical except for the names of their fields which */ + /* are different. */ + /* */ + /* This ensures that a single function in the `ttload' */ + /* module is able to read both the horizontal and vertical */ + /* headers. */ + /* */ + typedef struct TT_VertHeader_ + { + FT_Fixed Version; + FT_Short Ascender; + FT_Short Descender; + FT_Short Line_Gap; + + FT_UShort advance_Height_Max; /* advance height maximum */ + + FT_Short min_Top_Side_Bearing; /* minimum left-sb or top-sb */ + FT_Short min_Bottom_Side_Bearing; /* minimum right-sb or bottom-sb */ + FT_Short yMax_Extent; /* xmax or ymax extents */ + FT_Short caret_Slope_Rise; + FT_Short caret_Slope_Run; + FT_Short caret_Offset; + + FT_Short Reserved[4]; + + FT_Short metric_Data_Format; + FT_UShort number_Of_VMetrics; + + /* The following fields are not defined by the TrueType specification */ + /* but they're used to connect the metrics header to the relevant */ + /* `HMTX' or `VMTX' table. */ + + void* long_metrics; + void* short_metrics; + + } TT_VertHeader; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* TT_OS2 */ + /* */ + /* <Description> */ + /* A structure used to model a TrueType OS/2 table. This is the long */ + /* table version. All fields comply to the TrueType specification. */ + /* */ + /* Note that we now support old Mac fonts which do not include an */ + /* OS/2 table. In this case, the `version' field is always set to */ + /* 0xFFFF. */ + /* */ + typedef struct TT_OS2_ + { + FT_UShort version; /* 0x0001 - more or 0xFFFF */ + FT_Short xAvgCharWidth; + FT_UShort usWeightClass; + FT_UShort usWidthClass; + FT_Short fsType; + FT_Short ySubscriptXSize; + FT_Short ySubscriptYSize; + FT_Short ySubscriptXOffset; + FT_Short ySubscriptYOffset; + FT_Short ySuperscriptXSize; + FT_Short ySuperscriptYSize; + FT_Short ySuperscriptXOffset; + FT_Short ySuperscriptYOffset; + FT_Short yStrikeoutSize; + FT_Short yStrikeoutPosition; + FT_Short sFamilyClass; + + FT_Byte panose[10]; + + FT_ULong ulUnicodeRange1; /* Bits 0-31 */ + FT_ULong ulUnicodeRange2; /* Bits 32-63 */ + FT_ULong ulUnicodeRange3; /* Bits 64-95 */ + FT_ULong ulUnicodeRange4; /* Bits 96-127 */ + + FT_Char achVendID[4]; + + FT_UShort fsSelection; + FT_UShort usFirstCharIndex; + FT_UShort usLastCharIndex; + FT_Short sTypoAscender; + FT_Short sTypoDescender; + FT_Short sTypoLineGap; + FT_UShort usWinAscent; + FT_UShort usWinDescent; + + /* only version 1 tables: */ + + FT_ULong ulCodePageRange1; /* Bits 0-31 */ + FT_ULong ulCodePageRange2; /* Bits 32-63 */ + + /* only version 2 tables: */ + + FT_Short sxHeight; + FT_Short sCapHeight; + FT_UShort usDefaultChar; + FT_UShort usBreakChar; + FT_UShort usMaxContext; + + } TT_OS2; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* TT_Postscript */ + /* */ + /* <Description> */ + /* A structure used to model a TrueType PostScript table. All fields */ + /* comply to the TrueType specification. This structure does not */ + /* reference the PostScript glyph names, which can be nevertheless */ + /* accessed with the `ttpost' module. */ + /* */ + typedef struct TT_Postscript_ + { + FT_Fixed FormatType; + FT_Fixed italicAngle; + FT_Short underlinePosition; + FT_Short underlineThickness; + FT_ULong isFixedPitch; + FT_ULong minMemType42; + FT_ULong maxMemType42; + FT_ULong minMemType1; + FT_ULong maxMemType1; + + /* Glyph names follow in the file, but we don't */ + /* load them by default. See the ttpost.c file. */ + + } TT_Postscript; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* TT_PCLT */ + /* */ + /* <Description> */ + /* A structure used to model a TrueType PCLT table. All fields */ + /* comply to the TrueType specification. */ + /* */ + typedef struct TT_PCLT_ + { + FT_Fixed Version; + FT_ULong FontNumber; + FT_UShort Pitch; + FT_UShort xHeight; + FT_UShort Style; + FT_UShort TypeFamily; + FT_UShort CapHeight; + FT_UShort SymbolSet; + FT_Char TypeFace[16]; + FT_Char CharacterComplement[8]; + FT_Char FileName[6]; + FT_Char StrokeWeight; + FT_Char WidthType; + FT_Byte SerifStyle; + FT_Byte Reserved; + + } TT_PCLT; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* TT_MaxProfile */ + /* */ + /* <Description> */ + /* The maximum profile is a table containing many max values which */ + /* can be used to pre-allocate arrays. This ensures that no memory */ + /* allocation occurs during a glyph load. */ + /* */ + /* <Fields> */ + /* version :: The version number. */ + /* */ + /* numGlyphs :: The number of glyphs in this TrueType */ + /* font. */ + /* */ + /* maxPoints :: The maximum number of points in a */ + /* non-composite TrueType glyph. See also */ + /* the structure element */ + /* `maxCompositePoints'. */ + /* */ + /* maxContours :: The maximum number of contours in a */ + /* non-composite TrueType glyph. See also */ + /* the structure element */ + /* `maxCompositeContours'. */ + /* */ + /* maxCompositePoints :: The maximum number of points in a */ + /* composite TrueType glyph. See also the */ + /* structure element `maxPoints'. */ + /* */ + /* maxCompositeContours :: The maximum number of contours in a */ + /* composite TrueType glyph. See also the */ + /* structure element `maxContours'. */ + /* */ + /* maxZones :: The maximum number of zones used for */ + /* glyph hinting. */ + /* */ + /* maxTwilightPoints :: The maximum number of points in the */ + /* twilight zone used for glyph hinting. */ + /* */ + /* maxStorage :: The maximum number of elements in the */ + /* storage area used for glyph hinting. */ + /* */ + /* maxFunctionDefs :: The maximum number of function */ + /* definitions in the TrueType bytecode for */ + /* this font. */ + /* */ + /* maxInstructionDefs :: The maximum number of instruction */ + /* definitions in the TrueType bytecode for */ + /* this font. */ + /* */ + /* maxStackElements :: The maximum number of stack elements used */ + /* during bytecode interpretation. */ + /* */ + /* maxSizeOfInstructions :: The maximum number of TrueType opcodes */ + /* used for glyph hinting. */ + /* */ + /* maxComponentElements :: The maximum number of simple (i.e., non- */ + /* composite) glyphs in a composite glyph. */ + /* */ + /* maxComponentDepth :: The maximum nesting depth of composite */ + /* glyphs. */ + /* */ + /* <Note> */ + /* This structure is only used during font loading. */ + /* */ + typedef struct TT_MaxProfile_ + { + FT_Fixed version; + FT_UShort numGlyphs; + FT_UShort maxPoints; + FT_UShort maxContours; + FT_UShort maxCompositePoints; + FT_UShort maxCompositeContours; + FT_UShort maxZones; + FT_UShort maxTwilightPoints; + FT_UShort maxStorage; + FT_UShort maxFunctionDefs; + FT_UShort maxInstructionDefs; + FT_UShort maxStackElements; + FT_UShort maxSizeOfInstructions; + FT_UShort maxComponentElements; + FT_UShort maxComponentDepth; + + } TT_MaxProfile; + + + /*************************************************************************/ + /* */ + /* <Enum> */ + /* FT_Sfnt_Tag */ + /* */ + /* <Description> */ + /* An enumeration used to specify the index of an SFNT table. */ + /* Used in the @FT_Get_Sfnt_Table API function. */ + /* */ + typedef enum FT_Sfnt_Tag_ + { + ft_sfnt_head = 0, /* TT_Header */ + ft_sfnt_maxp = 1, /* TT_MaxProfile */ + ft_sfnt_os2 = 2, /* TT_OS2 */ + ft_sfnt_hhea = 3, /* TT_HoriHeader */ + ft_sfnt_vhea = 4, /* TT_VertHeader */ + ft_sfnt_post = 5, /* TT_Postscript */ + ft_sfnt_pclt = 6, /* TT_PCLT */ + + sfnt_max /* internal end mark */ + + } FT_Sfnt_Tag; + + /* */ + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Get_Sfnt_Table */ + /* */ + /* <Description> */ + /* Return a pointer to a given SFNT table within a face. */ + /* */ + /* <Input> */ + /* face :: A handle to the source. */ + /* */ + /* tag :: The index of the SFNT table. */ + /* */ + /* <Return> */ + /* A type-less pointer to the table. This will be~0 in case of */ + /* error, or if the corresponding table was not found *OR* loaded */ + /* from the file. */ + /* */ + /* Use a typecast according to `tag' to access the structure */ + /* elements. */ + /* */ + /* <Note> */ + /* The table is owned by the face object and disappears with it. */ + /* */ + /* This function is only useful to access SFNT tables that are loaded */ + /* by the sfnt, truetype, and opentype drivers. See @FT_Sfnt_Tag for */ + /* a list. */ + /* */ + /* Here an example how to access the `vhea' table: */ + /* */ + /* { */ + /* TT_VertHeader* vert_header; */ + /* */ + /* */ + /* vert_header = */ + /* (TT_VertHeader*)FT_Get_Sfnt_Table( face, ft_sfnt_vhea ); */ + /* } */ + /* */ + FT_EXPORT( void* ) + FT_Get_Sfnt_Table( FT_Face face, + FT_Sfnt_Tag tag ); + + + /************************************************************************** + * + * @function: + * FT_Load_Sfnt_Table + * + * @description: + * Load any font table into client memory. + * + * @input: + * face :: + * A handle to the source face. + * + * tag :: + * The four-byte tag of the table to load. Use the value~0 if you want + * to access the whole font file. Otherwise, you can use one of the + * definitions found in the @FT_TRUETYPE_TAGS_H file, or forge a new + * one with @FT_MAKE_TAG. + * + * offset :: + * The starting offset in the table (or file if tag == 0). + * + * @output: + * buffer :: + * The target buffer address. The client must ensure that the memory + * array is big enough to hold the data. + * + * @inout: + * length :: + * If the `length' parameter is NULL, then try to load the whole table. + * Return an error code if it fails. + * + * Else, if `*length' is~0, exit immediately while returning the + * table's (or file) full size in it. + * + * Else the number of bytes to read from the table or file, from the + * starting offset. + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * If you need to determine the table's length you should first call this + * function with `*length' set to~0, as in the following example: + * + * { + * FT_ULong length = 0; + * + * + * error = FT_Load_Sfnt_Table( face, tag, 0, NULL, &length ); + * if ( error ) { ... table does not exist ... } + * + * buffer = malloc( length ); + * if ( buffer == NULL ) { ... not enough memory ... } + * + * error = FT_Load_Sfnt_Table( face, tag, 0, buffer, &length ); + * if ( error ) { ... could not load table ... } + * } + */ + FT_EXPORT( FT_Error ) + FT_Load_Sfnt_Table( FT_Face face, + FT_ULong tag, + FT_Long offset, + FT_Byte* buffer, + FT_ULong* length ); + + + /************************************************************************** + * + * @function: + * FT_Sfnt_Table_Info + * + * @description: + * Return information on an SFNT table. + * + * @input: + * face :: + * A handle to the source face. + * + * table_index :: + * The index of an SFNT table. The function returns + * FT_Err_Table_Missing for an invalid value. + * + * @inout: + * tag :: + * The name tag of the SFNT table. If the value is NULL, `table_index' + * is ignored, and `length' returns the number of SFNT tables in the + * font. + * + * @output: + * length :: + * The length of the SFNT table (or the number of SFNT tables, depending + * on `tag'). + * + * @return: + * FreeType error code. 0~means success. + * + * @note: + * While parsing fonts, FreeType handles SFNT tables with length zero as + * missing. + * + */ + FT_EXPORT( FT_Error ) + FT_Sfnt_Table_Info( FT_Face face, + FT_UInt table_index, + FT_ULong *tag, + FT_ULong *length ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Get_CMap_Language_ID */ + /* */ + /* <Description> */ + /* Return TrueType/sfnt specific cmap language ID. Definitions of */ + /* language ID values are in `freetype/ttnameid.h'. */ + /* */ + /* <Input> */ + /* charmap :: */ + /* The target charmap. */ + /* */ + /* <Return> */ + /* The language ID of `charmap'. If `charmap' doesn't belong to a */ + /* TrueType/sfnt face, just return~0 as the default value. */ + /* */ + /* For a format~14 cmap (to access Unicode IVS), the return value is */ + /* 0xFFFFFFFF. */ + /* */ + FT_EXPORT( FT_ULong ) + FT_Get_CMap_Language_ID( FT_CharMap charmap ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Get_CMap_Format */ + /* */ + /* <Description> */ + /* Return TrueType/sfnt specific cmap format. */ + /* */ + /* <Input> */ + /* charmap :: */ + /* The target charmap. */ + /* */ + /* <Return> */ + /* The format of `charmap'. If `charmap' doesn't belong to a */ + /* TrueType/sfnt face, return -1. */ + /* */ + FT_EXPORT( FT_Long ) + FT_Get_CMap_Format( FT_CharMap charmap ); + + /* */ + + +FT_END_HEADER + +#endif /* __TTTABLES_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/tttags.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/tttags.h new file mode 100644 index 00000000..307ce4b6 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/tttags.h @@ -0,0 +1,107 @@ +/***************************************************************************/ +/* */ +/* tttags.h */ +/* */ +/* Tags for TrueType and OpenType tables (specification only). */ +/* */ +/* Copyright 1996-2001, 2004, 2005, 2007, 2008 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __TTAGS_H__ +#define __TTAGS_H__ + + +#include <ft2build.h> +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + +#define TTAG_avar FT_MAKE_TAG( 'a', 'v', 'a', 'r' ) +#define TTAG_BASE FT_MAKE_TAG( 'B', 'A', 'S', 'E' ) +#define TTAG_bdat FT_MAKE_TAG( 'b', 'd', 'a', 't' ) +#define TTAG_BDF FT_MAKE_TAG( 'B', 'D', 'F', ' ' ) +#define TTAG_bhed FT_MAKE_TAG( 'b', 'h', 'e', 'd' ) +#define TTAG_bloc FT_MAKE_TAG( 'b', 'l', 'o', 'c' ) +#define TTAG_bsln FT_MAKE_TAG( 'b', 's', 'l', 'n' ) +#define TTAG_CFF FT_MAKE_TAG( 'C', 'F', 'F', ' ' ) +#define TTAG_CID FT_MAKE_TAG( 'C', 'I', 'D', ' ' ) +#define TTAG_cmap FT_MAKE_TAG( 'c', 'm', 'a', 'p' ) +#define TTAG_cvar FT_MAKE_TAG( 'c', 'v', 'a', 'r' ) +#define TTAG_cvt FT_MAKE_TAG( 'c', 'v', 't', ' ' ) +#define TTAG_DSIG FT_MAKE_TAG( 'D', 'S', 'I', 'G' ) +#define TTAG_EBDT FT_MAKE_TAG( 'E', 'B', 'D', 'T' ) +#define TTAG_EBLC FT_MAKE_TAG( 'E', 'B', 'L', 'C' ) +#define TTAG_EBSC FT_MAKE_TAG( 'E', 'B', 'S', 'C' ) +#define TTAG_feat FT_MAKE_TAG( 'f', 'e', 'a', 't' ) +#define TTAG_FOND FT_MAKE_TAG( 'F', 'O', 'N', 'D' ) +#define TTAG_fpgm FT_MAKE_TAG( 'f', 'p', 'g', 'm' ) +#define TTAG_fvar FT_MAKE_TAG( 'f', 'v', 'a', 'r' ) +#define TTAG_gasp FT_MAKE_TAG( 'g', 'a', 's', 'p' ) +#define TTAG_GDEF FT_MAKE_TAG( 'G', 'D', 'E', 'F' ) +#define TTAG_glyf FT_MAKE_TAG( 'g', 'l', 'y', 'f' ) +#define TTAG_GPOS FT_MAKE_TAG( 'G', 'P', 'O', 'S' ) +#define TTAG_GSUB FT_MAKE_TAG( 'G', 'S', 'U', 'B' ) +#define TTAG_gvar FT_MAKE_TAG( 'g', 'v', 'a', 'r' ) +#define TTAG_hdmx FT_MAKE_TAG( 'h', 'd', 'm', 'x' ) +#define TTAG_head FT_MAKE_TAG( 'h', 'e', 'a', 'd' ) +#define TTAG_hhea FT_MAKE_TAG( 'h', 'h', 'e', 'a' ) +#define TTAG_hmtx FT_MAKE_TAG( 'h', 'm', 't', 'x' ) +#define TTAG_JSTF FT_MAKE_TAG( 'J', 'S', 'T', 'F' ) +#define TTAG_just FT_MAKE_TAG( 'j', 'u', 's', 't' ) +#define TTAG_kern FT_MAKE_TAG( 'k', 'e', 'r', 'n' ) +#define TTAG_lcar FT_MAKE_TAG( 'l', 'c', 'a', 'r' ) +#define TTAG_loca FT_MAKE_TAG( 'l', 'o', 'c', 'a' ) +#define TTAG_LTSH FT_MAKE_TAG( 'L', 'T', 'S', 'H' ) +#define TTAG_LWFN FT_MAKE_TAG( 'L', 'W', 'F', 'N' ) +#define TTAG_MATH FT_MAKE_TAG( 'M', 'A', 'T', 'H' ) +#define TTAG_maxp FT_MAKE_TAG( 'm', 'a', 'x', 'p' ) +#define TTAG_META FT_MAKE_TAG( 'M', 'E', 'T', 'A' ) +#define TTAG_MMFX FT_MAKE_TAG( 'M', 'M', 'F', 'X' ) +#define TTAG_MMSD FT_MAKE_TAG( 'M', 'M', 'S', 'D' ) +#define TTAG_mort FT_MAKE_TAG( 'm', 'o', 'r', 't' ) +#define TTAG_morx FT_MAKE_TAG( 'm', 'o', 'r', 'x' ) +#define TTAG_name FT_MAKE_TAG( 'n', 'a', 'm', 'e' ) +#define TTAG_opbd FT_MAKE_TAG( 'o', 'p', 'b', 'd' ) +#define TTAG_OS2 FT_MAKE_TAG( 'O', 'S', '/', '2' ) +#define TTAG_OTTO FT_MAKE_TAG( 'O', 'T', 'T', 'O' ) +#define TTAG_PCLT FT_MAKE_TAG( 'P', 'C', 'L', 'T' ) +#define TTAG_POST FT_MAKE_TAG( 'P', 'O', 'S', 'T' ) +#define TTAG_post FT_MAKE_TAG( 'p', 'o', 's', 't' ) +#define TTAG_prep FT_MAKE_TAG( 'p', 'r', 'e', 'p' ) +#define TTAG_prop FT_MAKE_TAG( 'p', 'r', 'o', 'p' ) +#define TTAG_sfnt FT_MAKE_TAG( 's', 'f', 'n', 't' ) +#define TTAG_SING FT_MAKE_TAG( 'S', 'I', 'N', 'G' ) +#define TTAG_trak FT_MAKE_TAG( 't', 'r', 'a', 'k' ) +#define TTAG_true FT_MAKE_TAG( 't', 'r', 'u', 'e' ) +#define TTAG_ttc FT_MAKE_TAG( 't', 't', 'c', ' ' ) +#define TTAG_ttcf FT_MAKE_TAG( 't', 't', 'c', 'f' ) +#define TTAG_TYP1 FT_MAKE_TAG( 'T', 'Y', 'P', '1' ) +#define TTAG_typ1 FT_MAKE_TAG( 't', 'y', 'p', '1' ) +#define TTAG_VDMX FT_MAKE_TAG( 'V', 'D', 'M', 'X' ) +#define TTAG_vhea FT_MAKE_TAG( 'v', 'h', 'e', 'a' ) +#define TTAG_vmtx FT_MAKE_TAG( 'v', 'm', 't', 'x' ) + + +FT_END_HEADER + +#endif /* __TTAGS_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/freetype2/freetype/ttunpat.h b/extlibs/headers/libfreetype/osx/freetype2/freetype/ttunpat.h new file mode 100644 index 00000000..a0162759 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/freetype2/freetype/ttunpat.h @@ -0,0 +1,59 @@ +/***************************************************************************/ +/* */ +/* ttunpat.h */ +/* */ +/* Definitions for the unpatented TrueType hinting system */ +/* */ +/* Copyright 2003, 2006 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* Written by Graham Asher <graham.asher@btinternet.com> */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __TTUNPAT_H__ +#define __TTUNPAT_H__ + + +#include <ft2build.h> +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /*************************************************************************** + * + * @constant: + * FT_PARAM_TAG_UNPATENTED_HINTING + * + * @description: + * A constant used as the tag of an @FT_Parameter structure to indicate + * that unpatented methods only should be used by the TrueType bytecode + * interpreter for a typeface opened by @FT_Open_Face. + * + */ +#define FT_PARAM_TAG_UNPATENTED_HINTING FT_MAKE_TAG( 'u', 'n', 'p', 'a' ) + + /* */ + +FT_END_HEADER + + +#endif /* __TTUNPAT_H__ */ + + +/* END */ diff --git a/extlibs/headers/libfreetype/osx/ft2build.h b/extlibs/headers/libfreetype/osx/ft2build.h new file mode 100644 index 00000000..6a3b8d90 --- /dev/null +++ b/extlibs/headers/libfreetype/osx/ft2build.h @@ -0,0 +1,61 @@ +/***************************************************************************/ +/* */ +/* ft2build.h */ +/* */ +/* Build macros of the FreeType 2 library. */ +/* */ +/* Copyright 1996-2001, 2003, 2006 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + + /*************************************************************************/ + /* */ + /* This is a Unix-specific version of <ft2build.h> that should be used */ + /* exclusively *after* installation of the library. */ + /* */ + /* It assumes that `/usr/local/include/freetype2' (or whatever is */ + /* returned by the `freetype-config --cflags' or `pkg-config --cflags' */ + /* command) is in your compilation include path. */ + /* */ + /* We don't need to do anything special in this release. However, for */ + /* a future FreeType 2 release, the following installation changes will */ + /* be performed: */ + /* */ + /* - The contents of `freetype-2.x/include/freetype' will be installed */ + /* to `/usr/local/include/freetype2' instead of */ + /* `/usr/local/include/freetype2/freetype'. */ + /* */ + /* - This file will #include <freetype2/config/ftheader.h>, instead */ + /* of <freetype/config/ftheader.h>. */ + /* */ + /* - The contents of `ftheader.h' will be processed with `sed' to */ + /* replace all `<freetype/xxx>' with `<freetype2/xxx>'. */ + /* */ + /* - Adding `/usr/local/include/freetype2' to your compilation include */ + /* path will not be necessary anymore. */ + /* */ + /* These changes will be transparent to client applications which use */ + /* freetype-config (or pkg-config). No modifications will be necessary */ + /* to compile with the new scheme. */ + /* */ + /*************************************************************************/ + + +#ifndef __FT2_BUILD_UNIX_H__ +#define __FT2_BUILD_UNIX_H__ + + /* `<prefix>/include/freetype2' must be in your current inclusion path */ +#include <freetype/config/ftheader.h> + +#endif /* __FT2_BUILD_UNIX_H__ */ + + +/* END */ diff --git a/extlibs/headers/freetype/config/ftconfig.h b/extlibs/headers/libfreetype/windows/freetype/config/ftconfig.h similarity index 100% rename from extlibs/headers/freetype/config/ftconfig.h rename to extlibs/headers/libfreetype/windows/freetype/config/ftconfig.h diff --git a/extlibs/headers/freetype/config/ftheader.h b/extlibs/headers/libfreetype/windows/freetype/config/ftheader.h similarity index 100% rename from extlibs/headers/freetype/config/ftheader.h rename to extlibs/headers/libfreetype/windows/freetype/config/ftheader.h diff --git a/extlibs/headers/freetype/config/ftmodule.h b/extlibs/headers/libfreetype/windows/freetype/config/ftmodule.h similarity index 100% rename from extlibs/headers/freetype/config/ftmodule.h rename to extlibs/headers/libfreetype/windows/freetype/config/ftmodule.h diff --git a/extlibs/headers/freetype/config/ftoption.h b/extlibs/headers/libfreetype/windows/freetype/config/ftoption.h similarity index 100% rename from extlibs/headers/freetype/config/ftoption.h rename to extlibs/headers/libfreetype/windows/freetype/config/ftoption.h diff --git a/extlibs/headers/freetype/config/ftstdlib.h b/extlibs/headers/libfreetype/windows/freetype/config/ftstdlib.h similarity index 100% rename from extlibs/headers/freetype/config/ftstdlib.h rename to extlibs/headers/libfreetype/windows/freetype/config/ftstdlib.h diff --git a/extlibs/headers/freetype/freetype.h b/extlibs/headers/libfreetype/windows/freetype/freetype.h similarity index 100% rename from extlibs/headers/freetype/freetype.h rename to extlibs/headers/libfreetype/windows/freetype/freetype.h diff --git a/extlibs/headers/libfreetype/windows/freetype/ftbitmap.h b/extlibs/headers/libfreetype/windows/freetype/ftbitmap.h new file mode 100644 index 00000000..92742369 --- /dev/null +++ b/extlibs/headers/libfreetype/windows/freetype/ftbitmap.h @@ -0,0 +1,227 @@ +/***************************************************************************/ +/* */ +/* ftbitmap.h */ +/* */ +/* FreeType utility functions for bitmaps (specification). */ +/* */ +/* Copyright 2004, 2005, 2006, 2008 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __FTBITMAP_H__ +#define __FTBITMAP_H__ + + +#include <ft2build.h> +#include FT_FREETYPE_H + +#ifdef FREETYPE_H +#error "freetype.h of FreeType 1 has been loaded!" +#error "Please fix the directory search order for header files" +#error "so that freetype.h of FreeType 2 is found first." +#endif + + +FT_BEGIN_HEADER + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* bitmap_handling */ + /* */ + /* <Title> */ + /* Bitmap Handling */ + /* */ + /* <Abstract> */ + /* Handling FT_Bitmap objects. */ + /* */ + /* <Description> */ + /* This section contains functions for converting FT_Bitmap objects. */ + /* */ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Bitmap_New */ + /* */ + /* <Description> */ + /* Initialize a pointer to an @FT_Bitmap structure. */ + /* */ + /* <InOut> */ + /* abitmap :: A pointer to the bitmap structure. */ + /* */ + FT_EXPORT( void ) + FT_Bitmap_New( FT_Bitmap *abitmap ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Bitmap_Copy */ + /* */ + /* <Description> */ + /* Copy a bitmap into another one. */ + /* */ + /* <Input> */ + /* library :: A handle to a library object. */ + /* */ + /* source :: A handle to the source bitmap. */ + /* */ + /* <Output> */ + /* target :: A handle to the target bitmap. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Bitmap_Copy( FT_Library library, + const FT_Bitmap *source, + FT_Bitmap *target); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Bitmap_Embolden */ + /* */ + /* <Description> */ + /* Embolden a bitmap. The new bitmap will be about `xStrength' */ + /* pixels wider and `yStrength' pixels higher. The left and bottom */ + /* borders are kept unchanged. */ + /* */ + /* <Input> */ + /* library :: A handle to a library object. */ + /* */ + /* xStrength :: How strong the glyph is emboldened horizontally. */ + /* Expressed in 26.6 pixel format. */ + /* */ + /* yStrength :: How strong the glyph is emboldened vertically. */ + /* Expressed in 26.6 pixel format. */ + /* */ + /* <InOut> */ + /* bitmap :: A handle to the target bitmap. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* The current implementation restricts `xStrength' to be less than */ + /* or equal to~8 if bitmap is of pixel_mode @FT_PIXEL_MODE_MONO. */ + /* */ + /* If you want to embolden the bitmap owned by a @FT_GlyphSlotRec, */ + /* you should call @FT_GlyphSlot_Own_Bitmap on the slot first. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Bitmap_Embolden( FT_Library library, + FT_Bitmap* bitmap, + FT_Pos xStrength, + FT_Pos yStrength ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Bitmap_Convert */ + /* */ + /* <Description> */ + /* Convert a bitmap object with depth 1bpp, 2bpp, 4bpp, or 8bpp to a */ + /* bitmap object with depth 8bpp, making the number of used bytes per */ + /* line (a.k.a. the `pitch') a multiple of `alignment'. */ + /* */ + /* <Input> */ + /* library :: A handle to a library object. */ + /* */ + /* source :: The source bitmap. */ + /* */ + /* alignment :: The pitch of the bitmap is a multiple of this */ + /* parameter. Common values are 1, 2, or 4. */ + /* */ + /* <Output> */ + /* target :: The target bitmap. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* It is possible to call @FT_Bitmap_Convert multiple times without */ + /* calling @FT_Bitmap_Done (the memory is simply reallocated). */ + /* */ + /* Use @FT_Bitmap_Done to finally remove the bitmap object. */ + /* */ + /* The `library' argument is taken to have access to FreeType's */ + /* memory handling functions. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Bitmap_Convert( FT_Library library, + const FT_Bitmap *source, + FT_Bitmap *target, + FT_Int alignment ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_GlyphSlot_Own_Bitmap */ + /* */ + /* <Description> */ + /* Make sure that a glyph slot owns `slot->bitmap'. */ + /* */ + /* <Input> */ + /* slot :: The glyph slot. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* This function is to be used in combination with */ + /* @FT_Bitmap_Embolden. */ + /* */ + FT_EXPORT( FT_Error ) + FT_GlyphSlot_Own_Bitmap( FT_GlyphSlot slot ); + + + /*************************************************************************/ + /* */ + /* <Function> */ + /* FT_Bitmap_Done */ + /* */ + /* <Description> */ + /* Destroy a bitmap object created with @FT_Bitmap_New. */ + /* */ + /* <Input> */ + /* library :: A handle to a library object. */ + /* */ + /* bitmap :: The bitmap object to be freed. */ + /* */ + /* <Return> */ + /* FreeType error code. 0~means success. */ + /* */ + /* <Note> */ + /* The `library' argument is taken to have access to FreeType's */ + /* memory handling functions. */ + /* */ + FT_EXPORT( FT_Error ) + FT_Bitmap_Done( FT_Library library, + FT_Bitmap *bitmap ); + + + /* */ + + +FT_END_HEADER + +#endif /* __FTBITMAP_H__ */ + + +/* END */ diff --git a/extlibs/headers/freetype/fterrdef.h b/extlibs/headers/libfreetype/windows/freetype/fterrdef.h similarity index 100% rename from extlibs/headers/freetype/fterrdef.h rename to extlibs/headers/libfreetype/windows/freetype/fterrdef.h diff --git a/extlibs/headers/freetype/fterrors.h b/extlibs/headers/libfreetype/windows/freetype/fterrors.h similarity index 100% rename from extlibs/headers/freetype/fterrors.h rename to extlibs/headers/libfreetype/windows/freetype/fterrors.h diff --git a/extlibs/headers/freetype/ftglyph.h b/extlibs/headers/libfreetype/windows/freetype/ftglyph.h similarity index 100% rename from extlibs/headers/freetype/ftglyph.h rename to extlibs/headers/libfreetype/windows/freetype/ftglyph.h diff --git a/extlibs/headers/libfreetype/windows/freetype/ftimage.h b/extlibs/headers/libfreetype/windows/freetype/ftimage.h new file mode 100644 index 00000000..04b5e04f --- /dev/null +++ b/extlibs/headers/libfreetype/windows/freetype/ftimage.h @@ -0,0 +1,1313 @@ +/***************************************************************************/ +/* */ +/* ftimage.h */ +/* */ +/* FreeType glyph image formats and default raster interface */ +/* (specification). */ +/* */ +/* Copyright 1996-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, */ +/* 2010 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + /*************************************************************************/ + /* */ + /* Note: A `raster' is simply a scan-line converter, used to render */ + /* FT_Outlines into FT_Bitmaps. */ + /* */ + /*************************************************************************/ + + +#ifndef __FTIMAGE_H__ +#define __FTIMAGE_H__ + + + /* _STANDALONE_ is from ftgrays.c */ +#ifndef _STANDALONE_ +#include <ft2build.h> +#endif + + +FT_BEGIN_HEADER + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* basic_types */ + /* */ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_Pos */ + /* */ + /* <Description> */ + /* The type FT_Pos is used to store vectorial coordinates. Depending */ + /* on the context, these can represent distances in integer font */ + /* units, or 16.16, or 26.6 fixed float pixel coordinates. */ + /* */ + typedef signed long FT_Pos; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_Vector */ + /* */ + /* <Description> */ + /* A simple structure used to store a 2D vector; coordinates are of */ + /* the FT_Pos type. */ + /* */ + /* <Fields> */ + /* x :: The horizontal coordinate. */ + /* y :: The vertical coordinate. */ + /* */ + typedef struct FT_Vector_ + { + FT_Pos x; + FT_Pos y; + + } FT_Vector; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_BBox */ + /* */ + /* <Description> */ + /* A structure used to hold an outline's bounding box, i.e., the */ + /* coordinates of its extrema in the horizontal and vertical */ + /* directions. */ + /* */ + /* <Fields> */ + /* xMin :: The horizontal minimum (left-most). */ + /* */ + /* yMin :: The vertical minimum (bottom-most). */ + /* */ + /* xMax :: The horizontal maximum (right-most). */ + /* */ + /* yMax :: The vertical maximum (top-most). */ + /* */ + /* <Note> */ + /* The bounding box is specified with the coordinates of the lower */ + /* left and the upper right corner. In PostScript, those values are */ + /* often called (llx,lly) and (urx,ury), respectively. */ + /* */ + /* If `yMin' is negative, this value gives the glyph's descender. */ + /* Otherwise, the glyph doesn't descend below the baseline. */ + /* Similarly, if `ymax' is positive, this value gives the glyph's */ + /* ascender. */ + /* */ + /* `xMin' gives the horizontal distance from the glyph's origin to */ + /* the left edge of the glyph's bounding box. If `xMin' is negative, */ + /* the glyph extends to the left of the origin. */ + /* */ + typedef struct FT_BBox_ + { + FT_Pos xMin, yMin; + FT_Pos xMax, yMax; + + } FT_BBox; + + + /*************************************************************************/ + /* */ + /* <Enum> */ + /* FT_Pixel_Mode */ + /* */ + /* <Description> */ + /* An enumeration type used to describe the format of pixels in a */ + /* given bitmap. Note that additional formats may be added in the */ + /* future. */ + /* */ + /* <Values> */ + /* FT_PIXEL_MODE_NONE :: */ + /* Value~0 is reserved. */ + /* */ + /* FT_PIXEL_MODE_MONO :: */ + /* A monochrome bitmap, using 1~bit per pixel. Note that pixels */ + /* are stored in most-significant order (MSB), which means that */ + /* the left-most pixel in a byte has value 128. */ + /* */ + /* FT_PIXEL_MODE_GRAY :: */ + /* An 8-bit bitmap, generally used to represent anti-aliased glyph */ + /* images. Each pixel is stored in one byte. Note that the number */ + /* of `gray' levels is stored in the `num_grays' field of the */ + /* @FT_Bitmap structure (it generally is 256). */ + /* */ + /* FT_PIXEL_MODE_GRAY2 :: */ + /* A 2-bit per pixel bitmap, used to represent embedded */ + /* anti-aliased bitmaps in font files according to the OpenType */ + /* specification. We haven't found a single font using this */ + /* format, however. */ + /* */ + /* FT_PIXEL_MODE_GRAY4 :: */ + /* A 4-bit per pixel bitmap, representing embedded anti-aliased */ + /* bitmaps in font files according to the OpenType specification. */ + /* We haven't found a single font using this format, however. */ + /* */ + /* FT_PIXEL_MODE_LCD :: */ + /* An 8-bit bitmap, representing RGB or BGR decimated glyph images */ + /* used for display on LCD displays; the bitmap is three times */ + /* wider than the original glyph image. See also */ + /* @FT_RENDER_MODE_LCD. */ + /* */ + /* FT_PIXEL_MODE_LCD_V :: */ + /* An 8-bit bitmap, representing RGB or BGR decimated glyph images */ + /* used for display on rotated LCD displays; the bitmap is three */ + /* times taller than the original glyph image. See also */ + /* @FT_RENDER_MODE_LCD_V. */ + /* */ + typedef enum FT_Pixel_Mode_ + { + FT_PIXEL_MODE_NONE = 0, + FT_PIXEL_MODE_MONO, + FT_PIXEL_MODE_GRAY, + FT_PIXEL_MODE_GRAY2, + FT_PIXEL_MODE_GRAY4, + FT_PIXEL_MODE_LCD, + FT_PIXEL_MODE_LCD_V, + + FT_PIXEL_MODE_MAX /* do not remove */ + + } FT_Pixel_Mode; + + + /*************************************************************************/ + /* */ + /* <Enum> */ + /* ft_pixel_mode_xxx */ + /* */ + /* <Description> */ + /* A list of deprecated constants. Use the corresponding */ + /* @FT_Pixel_Mode values instead. */ + /* */ + /* <Values> */ + /* ft_pixel_mode_none :: See @FT_PIXEL_MODE_NONE. */ + /* ft_pixel_mode_mono :: See @FT_PIXEL_MODE_MONO. */ + /* ft_pixel_mode_grays :: See @FT_PIXEL_MODE_GRAY. */ + /* ft_pixel_mode_pal2 :: See @FT_PIXEL_MODE_GRAY2. */ + /* ft_pixel_mode_pal4 :: See @FT_PIXEL_MODE_GRAY4. */ + /* */ +#define ft_pixel_mode_none FT_PIXEL_MODE_NONE +#define ft_pixel_mode_mono FT_PIXEL_MODE_MONO +#define ft_pixel_mode_grays FT_PIXEL_MODE_GRAY +#define ft_pixel_mode_pal2 FT_PIXEL_MODE_GRAY2 +#define ft_pixel_mode_pal4 FT_PIXEL_MODE_GRAY4 + + /* */ + +#if 0 + + /*************************************************************************/ + /* */ + /* <Enum> */ + /* FT_Palette_Mode */ + /* */ + /* <Description> */ + /* THIS TYPE IS DEPRECATED. DO NOT USE IT! */ + /* */ + /* An enumeration type to describe the format of a bitmap palette, */ + /* used with ft_pixel_mode_pal4 and ft_pixel_mode_pal8. */ + /* */ + /* <Values> */ + /* ft_palette_mode_rgb :: The palette is an array of 3-byte RGB */ + /* records. */ + /* */ + /* ft_palette_mode_rgba :: The palette is an array of 4-byte RGBA */ + /* records. */ + /* */ + /* <Note> */ + /* As ft_pixel_mode_pal2, pal4 and pal8 are currently unused by */ + /* FreeType, these types are not handled by the library itself. */ + /* */ + typedef enum FT_Palette_Mode_ + { + ft_palette_mode_rgb = 0, + ft_palette_mode_rgba, + + ft_palette_mode_max /* do not remove */ + + } FT_Palette_Mode; + + /* */ + +#endif + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_Bitmap */ + /* */ + /* <Description> */ + /* A structure used to describe a bitmap or pixmap to the raster. */ + /* Note that we now manage pixmaps of various depths through the */ + /* `pixel_mode' field. */ + /* */ + /* <Fields> */ + /* rows :: The number of bitmap rows. */ + /* */ + /* width :: The number of pixels in bitmap row. */ + /* */ + /* pitch :: The pitch's absolute value is the number of bytes */ + /* taken by one bitmap row, including padding. */ + /* However, the pitch is positive when the bitmap has */ + /* a `down' flow, and negative when it has an `up' */ + /* flow. In all cases, the pitch is an offset to add */ + /* to a bitmap pointer in order to go down one row. */ + /* */ + /* Note that `padding' means the alignment of a */ + /* bitmap to a byte border, and FreeType functions */ + /* normally align to the smallest possible integer */ + /* value. */ + /* */ + /* For the B/W rasterizer, `pitch' is always an even */ + /* number. */ + /* */ + /* To change the pitch of a bitmap (say, to make it a */ + /* multiple of 4), use @FT_Bitmap_Convert. */ + /* Alternatively, you might use callback functions to */ + /* directly render to the application's surface; see */ + /* the file `example2.cpp' in the tutorial for a */ + /* demonstration. */ + /* */ + /* buffer :: A typeless pointer to the bitmap buffer. This */ + /* value should be aligned on 32-bit boundaries in */ + /* most cases. */ + /* */ + /* num_grays :: This field is only used with */ + /* @FT_PIXEL_MODE_GRAY; it gives the number of gray */ + /* levels used in the bitmap. */ + /* */ + /* pixel_mode :: The pixel mode, i.e., how pixel bits are stored. */ + /* See @FT_Pixel_Mode for possible values. */ + /* */ + /* palette_mode :: This field is intended for paletted pixel modes; */ + /* it indicates how the palette is stored. Not */ + /* used currently. */ + /* */ + /* palette :: A typeless pointer to the bitmap palette; this */ + /* field is intended for paletted pixel modes. Not */ + /* used currently. */ + /* */ + /* <Note> */ + /* For now, the only pixel modes supported by FreeType are mono and */ + /* grays. However, drivers might be added in the future to support */ + /* more `colorful' options. */ + /* */ + typedef struct FT_Bitmap_ + { + int rows; + int width; + int pitch; + unsigned char* buffer; + short num_grays; + char pixel_mode; + char palette_mode; + void* palette; + + } FT_Bitmap; + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* outline_processing */ + /* */ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_Outline */ + /* */ + /* <Description> */ + /* This structure is used to describe an outline to the scan-line */ + /* converter. */ + /* */ + /* <Fields> */ + /* n_contours :: The number of contours in the outline. */ + /* */ + /* n_points :: The number of points in the outline. */ + /* */ + /* points :: A pointer to an array of `n_points' @FT_Vector */ + /* elements, giving the outline's point coordinates. */ + /* */ + /* tags :: A pointer to an array of `n_points' chars, giving */ + /* each outline point's type. */ + /* */ + /* If bit~0 is unset, the point is `off' the curve, */ + /* i.e., a Bézier control point, while it is `on' if */ + /* set. */ + /* */ + /* Bit~1 is meaningful for `off' points only. If set, */ + /* it indicates a third-order Bézier arc control point; */ + /* and a second-order control point if unset. */ + /* */ + /* If bit~2 is set, bits 5-7 contain the drop-out mode */ + /* (as defined in the OpenType specification; the value */ + /* is the same as the argument to the SCANMODE */ + /* instruction). */ + /* */ + /* Bits 3 and~4 are reserved for internal purposes. */ + /* */ + /* contours :: An array of `n_contours' shorts, giving the end */ + /* point of each contour within the outline. For */ + /* example, the first contour is defined by the points */ + /* `0' to `contours[0]', the second one is defined by */ + /* the points `contours[0]+1' to `contours[1]', etc. */ + /* */ + /* flags :: A set of bit flags used to characterize the outline */ + /* and give hints to the scan-converter and hinter on */ + /* how to convert/grid-fit it. See @FT_OUTLINE_FLAGS. */ + /* */ + /* <Note> */ + /* The B/W rasterizer only checks bit~2 in the `tags' array for the */ + /* first point of each contour. The drop-out mode as given with */ + /* @FT_OUTLINE_IGNORE_DROPOUTS, @FT_OUTLINE_SMART_DROPOUTS, and */ + /* @FT_OUTLINE_INCLUDE_STUBS in `flags' is then overridden. */ + /* */ + typedef struct FT_Outline_ + { + short n_contours; /* number of contours in glyph */ + short n_points; /* number of points in the glyph */ + + FT_Vector* points; /* the outline's points */ + char* tags; /* the points flags */ + short* contours; /* the contour end points */ + + int flags; /* outline masks */ + + } FT_Outline; + + /* Following limits must be consistent with */ + /* FT_Outline.{n_contours,n_points} */ +#define FT_OUTLINE_CONTOURS_MAX SHRT_MAX +#define FT_OUTLINE_POINTS_MAX SHRT_MAX + + + /*************************************************************************/ + /* */ + /* <Enum> */ + /* FT_OUTLINE_FLAGS */ + /* */ + /* <Description> */ + /* A list of bit-field constants use for the flags in an outline's */ + /* `flags' field. */ + /* */ + /* <Values> */ + /* FT_OUTLINE_NONE :: */ + /* Value~0 is reserved. */ + /* */ + /* FT_OUTLINE_OWNER :: */ + /* If set, this flag indicates that the outline's field arrays */ + /* (i.e., `points', `flags', and `contours') are `owned' by the */ + /* outline object, and should thus be freed when it is destroyed. */ + /* */ + /* FT_OUTLINE_EVEN_ODD_FILL :: */ + /* By default, outlines are filled using the non-zero winding rule. */ + /* If set to 1, the outline will be filled using the even-odd fill */ + /* rule (only works with the smooth rasterizer). */ + /* */ + /* FT_OUTLINE_REVERSE_FILL :: */ + /* By default, outside contours of an outline are oriented in */ + /* clock-wise direction, as defined in the TrueType specification. */ + /* This flag is set if the outline uses the opposite direction */ + /* (typically for Type~1 fonts). This flag is ignored by the scan */ + /* converter. */ + /* */ + /* FT_OUTLINE_IGNORE_DROPOUTS :: */ + /* By default, the scan converter will try to detect drop-outs in */ + /* an outline and correct the glyph bitmap to ensure consistent */ + /* shape continuity. If set, this flag hints the scan-line */ + /* converter to ignore such cases. See below for more information. */ + /* */ + /* FT_OUTLINE_SMART_DROPOUTS :: */ + /* Select smart dropout control. If unset, use simple dropout */ + /* control. Ignored if @FT_OUTLINE_IGNORE_DROPOUTS is set. See */ + /* below for more information. */ + /* */ + /* FT_OUTLINE_INCLUDE_STUBS :: */ + /* If set, turn pixels on for `stubs', otherwise exclude them. */ + /* Ignored if @FT_OUTLINE_IGNORE_DROPOUTS is set. See below for */ + /* more information. */ + /* */ + /* FT_OUTLINE_HIGH_PRECISION :: */ + /* This flag indicates that the scan-line converter should try to */ + /* convert this outline to bitmaps with the highest possible */ + /* quality. It is typically set for small character sizes. Note */ + /* that this is only a hint that might be completely ignored by a */ + /* given scan-converter. */ + /* */ + /* FT_OUTLINE_SINGLE_PASS :: */ + /* This flag is set to force a given scan-converter to only use a */ + /* single pass over the outline to render a bitmap glyph image. */ + /* Normally, it is set for very large character sizes. It is only */ + /* a hint that might be completely ignored by a given */ + /* scan-converter. */ + /* */ + /* <Note> */ + /* The flags @FT_OUTLINE_IGNORE_DROPOUTS, @FT_OUTLINE_SMART_DROPOUTS, */ + /* and @FT_OUTLINE_INCLUDE_STUBS are ignored by the smooth */ + /* rasterizer. */ + /* */ + /* There exists a second mechanism to pass the drop-out mode to the */ + /* B/W rasterizer; see the `tags' field in @FT_Outline. */ + /* */ + /* Please refer to the description of the `SCANTYPE' instruction in */ + /* the OpenType specification (in file `ttinst1.doc') how simple */ + /* drop-outs, smart drop-outs, and stubs are defined. */ + /* */ +#define FT_OUTLINE_NONE 0x0 +#define FT_OUTLINE_OWNER 0x1 +#define FT_OUTLINE_EVEN_ODD_FILL 0x2 +#define FT_OUTLINE_REVERSE_FILL 0x4 +#define FT_OUTLINE_IGNORE_DROPOUTS 0x8 +#define FT_OUTLINE_SMART_DROPOUTS 0x10 +#define FT_OUTLINE_INCLUDE_STUBS 0x20 + +#define FT_OUTLINE_HIGH_PRECISION 0x100 +#define FT_OUTLINE_SINGLE_PASS 0x200 + + + /************************************************************************* + * + * @enum: + * ft_outline_flags + * + * @description: + * These constants are deprecated. Please use the corresponding + * @FT_OUTLINE_FLAGS values. + * + * @values: + * ft_outline_none :: See @FT_OUTLINE_NONE. + * ft_outline_owner :: See @FT_OUTLINE_OWNER. + * ft_outline_even_odd_fill :: See @FT_OUTLINE_EVEN_ODD_FILL. + * ft_outline_reverse_fill :: See @FT_OUTLINE_REVERSE_FILL. + * ft_outline_ignore_dropouts :: See @FT_OUTLINE_IGNORE_DROPOUTS. + * ft_outline_high_precision :: See @FT_OUTLINE_HIGH_PRECISION. + * ft_outline_single_pass :: See @FT_OUTLINE_SINGLE_PASS. + */ +#define ft_outline_none FT_OUTLINE_NONE +#define ft_outline_owner FT_OUTLINE_OWNER +#define ft_outline_even_odd_fill FT_OUTLINE_EVEN_ODD_FILL +#define ft_outline_reverse_fill FT_OUTLINE_REVERSE_FILL +#define ft_outline_ignore_dropouts FT_OUTLINE_IGNORE_DROPOUTS +#define ft_outline_high_precision FT_OUTLINE_HIGH_PRECISION +#define ft_outline_single_pass FT_OUTLINE_SINGLE_PASS + + /* */ + +#define FT_CURVE_TAG( flag ) ( flag & 3 ) + +#define FT_CURVE_TAG_ON 1 +#define FT_CURVE_TAG_CONIC 0 +#define FT_CURVE_TAG_CUBIC 2 + +#define FT_CURVE_TAG_HAS_SCANMODE 4 + +#define FT_CURVE_TAG_TOUCH_X 8 /* reserved for the TrueType hinter */ +#define FT_CURVE_TAG_TOUCH_Y 16 /* reserved for the TrueType hinter */ + +#define FT_CURVE_TAG_TOUCH_BOTH ( FT_CURVE_TAG_TOUCH_X | \ + FT_CURVE_TAG_TOUCH_Y ) + +#define FT_Curve_Tag_On FT_CURVE_TAG_ON +#define FT_Curve_Tag_Conic FT_CURVE_TAG_CONIC +#define FT_Curve_Tag_Cubic FT_CURVE_TAG_CUBIC +#define FT_Curve_Tag_Touch_X FT_CURVE_TAG_TOUCH_X +#define FT_Curve_Tag_Touch_Y FT_CURVE_TAG_TOUCH_Y + + + /*************************************************************************/ + /* */ + /* <FuncType> */ + /* FT_Outline_MoveToFunc */ + /* */ + /* <Description> */ + /* A function pointer type used to describe the signature of a `move */ + /* to' function during outline walking/decomposition. */ + /* */ + /* A `move to' is emitted to start a new contour in an outline. */ + /* */ + /* <Input> */ + /* to :: A pointer to the target point of the `move to'. */ + /* */ + /* user :: A typeless pointer which is passed from the caller of the */ + /* decomposition function. */ + /* */ + /* <Return> */ + /* Error code. 0~means success. */ + /* */ + typedef int + (*FT_Outline_MoveToFunc)( const FT_Vector* to, + void* user ); + +#define FT_Outline_MoveTo_Func FT_Outline_MoveToFunc + + + /*************************************************************************/ + /* */ + /* <FuncType> */ + /* FT_Outline_LineToFunc */ + /* */ + /* <Description> */ + /* A function pointer type used to describe the signature of a `line */ + /* to' function during outline walking/decomposition. */ + /* */ + /* A `line to' is emitted to indicate a segment in the outline. */ + /* */ + /* <Input> */ + /* to :: A pointer to the target point of the `line to'. */ + /* */ + /* user :: A typeless pointer which is passed from the caller of the */ + /* decomposition function. */ + /* */ + /* <Return> */ + /* Error code. 0~means success. */ + /* */ + typedef int + (*FT_Outline_LineToFunc)( const FT_Vector* to, + void* user ); + +#define FT_Outline_LineTo_Func FT_Outline_LineToFunc + + + /*************************************************************************/ + /* */ + /* <FuncType> */ + /* FT_Outline_ConicToFunc */ + /* */ + /* <Description> */ + /* A function pointer type used to describe the signature of a `conic */ + /* to' function during outline walking or decomposition. */ + /* */ + /* A `conic to' is emitted to indicate a second-order Bézier arc in */ + /* the outline. */ + /* */ + /* <Input> */ + /* control :: An intermediate control point between the last position */ + /* and the new target in `to'. */ + /* */ + /* to :: A pointer to the target end point of the conic arc. */ + /* */ + /* user :: A typeless pointer which is passed from the caller of */ + /* the decomposition function. */ + /* */ + /* <Return> */ + /* Error code. 0~means success. */ + /* */ + typedef int + (*FT_Outline_ConicToFunc)( const FT_Vector* control, + const FT_Vector* to, + void* user ); + +#define FT_Outline_ConicTo_Func FT_Outline_ConicToFunc + + + /*************************************************************************/ + /* */ + /* <FuncType> */ + /* FT_Outline_CubicToFunc */ + /* */ + /* <Description> */ + /* A function pointer type used to describe the signature of a `cubic */ + /* to' function during outline walking or decomposition. */ + /* */ + /* A `cubic to' is emitted to indicate a third-order Bézier arc. */ + /* */ + /* <Input> */ + /* control1 :: A pointer to the first Bézier control point. */ + /* */ + /* control2 :: A pointer to the second Bézier control point. */ + /* */ + /* to :: A pointer to the target end point. */ + /* */ + /* user :: A typeless pointer which is passed from the caller of */ + /* the decomposition function. */ + /* */ + /* <Return> */ + /* Error code. 0~means success. */ + /* */ + typedef int + (*FT_Outline_CubicToFunc)( const FT_Vector* control1, + const FT_Vector* control2, + const FT_Vector* to, + void* user ); + +#define FT_Outline_CubicTo_Func FT_Outline_CubicToFunc + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_Outline_Funcs */ + /* */ + /* <Description> */ + /* A structure to hold various function pointers used during outline */ + /* decomposition in order to emit segments, conic, and cubic Béziers. */ + /* */ + /* <Fields> */ + /* move_to :: The `move to' emitter. */ + /* */ + /* line_to :: The segment emitter. */ + /* */ + /* conic_to :: The second-order Bézier arc emitter. */ + /* */ + /* cubic_to :: The third-order Bézier arc emitter. */ + /* */ + /* shift :: The shift that is applied to coordinates before they */ + /* are sent to the emitter. */ + /* */ + /* delta :: The delta that is applied to coordinates before they */ + /* are sent to the emitter, but after the shift. */ + /* */ + /* <Note> */ + /* The point coordinates sent to the emitters are the transformed */ + /* version of the original coordinates (this is important for high */ + /* accuracy during scan-conversion). The transformation is simple: */ + /* */ + /* { */ + /* x' = (x << shift) - delta */ + /* y' = (x << shift) - delta */ + /* } */ + /* */ + /* Set the values of `shift' and `delta' to~0 to get the original */ + /* point coordinates. */ + /* */ + typedef struct FT_Outline_Funcs_ + { + FT_Outline_MoveToFunc move_to; + FT_Outline_LineToFunc line_to; + FT_Outline_ConicToFunc conic_to; + FT_Outline_CubicToFunc cubic_to; + + int shift; + FT_Pos delta; + + } FT_Outline_Funcs; + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* basic_types */ + /* */ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* <Macro> */ + /* FT_IMAGE_TAG */ + /* */ + /* <Description> */ + /* This macro converts four-letter tags to an unsigned long type. */ + /* */ + /* <Note> */ + /* Since many 16-bit compilers don't like 32-bit enumerations, you */ + /* should redefine this macro in case of problems to something like */ + /* this: */ + /* */ + /* { */ + /* #define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 ) value */ + /* } */ + /* */ + /* to get a simple enumeration without assigning special numbers. */ + /* */ +#ifndef FT_IMAGE_TAG +#define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 ) \ + value = ( ( (unsigned long)_x1 << 24 ) | \ + ( (unsigned long)_x2 << 16 ) | \ + ( (unsigned long)_x3 << 8 ) | \ + (unsigned long)_x4 ) +#endif /* FT_IMAGE_TAG */ + + + /*************************************************************************/ + /* */ + /* <Enum> */ + /* FT_Glyph_Format */ + /* */ + /* <Description> */ + /* An enumeration type used to describe the format of a given glyph */ + /* image. Note that this version of FreeType only supports two image */ + /* formats, even though future font drivers will be able to register */ + /* their own format. */ + /* */ + /* <Values> */ + /* FT_GLYPH_FORMAT_NONE :: */ + /* The value~0 is reserved. */ + /* */ + /* FT_GLYPH_FORMAT_COMPOSITE :: */ + /* The glyph image is a composite of several other images. This */ + /* format is _only_ used with @FT_LOAD_NO_RECURSE, and is used to */ + /* report compound glyphs (like accented characters). */ + /* */ + /* FT_GLYPH_FORMAT_BITMAP :: */ + /* The glyph image is a bitmap, and can be described as an */ + /* @FT_Bitmap. You generally need to access the `bitmap' field of */ + /* the @FT_GlyphSlotRec structure to read it. */ + /* */ + /* FT_GLYPH_FORMAT_OUTLINE :: */ + /* The glyph image is a vectorial outline made of line segments */ + /* and Bézier arcs; it can be described as an @FT_Outline; you */ + /* generally want to access the `outline' field of the */ + /* @FT_GlyphSlotRec structure to read it. */ + /* */ + /* FT_GLYPH_FORMAT_PLOTTER :: */ + /* The glyph image is a vectorial path with no inside and outside */ + /* contours. Some Type~1 fonts, like those in the Hershey family, */ + /* contain glyphs in this format. These are described as */ + /* @FT_Outline, but FreeType isn't currently capable of rendering */ + /* them correctly. */ + /* */ + typedef enum FT_Glyph_Format_ + { + FT_IMAGE_TAG( FT_GLYPH_FORMAT_NONE, 0, 0, 0, 0 ), + + FT_IMAGE_TAG( FT_GLYPH_FORMAT_COMPOSITE, 'c', 'o', 'm', 'p' ), + FT_IMAGE_TAG( FT_GLYPH_FORMAT_BITMAP, 'b', 'i', 't', 's' ), + FT_IMAGE_TAG( FT_GLYPH_FORMAT_OUTLINE, 'o', 'u', 't', 'l' ), + FT_IMAGE_TAG( FT_GLYPH_FORMAT_PLOTTER, 'p', 'l', 'o', 't' ) + + } FT_Glyph_Format; + + + /*************************************************************************/ + /* */ + /* <Enum> */ + /* ft_glyph_format_xxx */ + /* */ + /* <Description> */ + /* A list of deprecated constants. Use the corresponding */ + /* @FT_Glyph_Format values instead. */ + /* */ + /* <Values> */ + /* ft_glyph_format_none :: See @FT_GLYPH_FORMAT_NONE. */ + /* ft_glyph_format_composite :: See @FT_GLYPH_FORMAT_COMPOSITE. */ + /* ft_glyph_format_bitmap :: See @FT_GLYPH_FORMAT_BITMAP. */ + /* ft_glyph_format_outline :: See @FT_GLYPH_FORMAT_OUTLINE. */ + /* ft_glyph_format_plotter :: See @FT_GLYPH_FORMAT_PLOTTER. */ + /* */ +#define ft_glyph_format_none FT_GLYPH_FORMAT_NONE +#define ft_glyph_format_composite FT_GLYPH_FORMAT_COMPOSITE +#define ft_glyph_format_bitmap FT_GLYPH_FORMAT_BITMAP +#define ft_glyph_format_outline FT_GLYPH_FORMAT_OUTLINE +#define ft_glyph_format_plotter FT_GLYPH_FORMAT_PLOTTER + + + /*************************************************************************/ + /*************************************************************************/ + /*************************************************************************/ + /***** *****/ + /***** R A S T E R D E F I N I T I O N S *****/ + /***** *****/ + /*************************************************************************/ + /*************************************************************************/ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* A raster is a scan converter, in charge of rendering an outline into */ + /* a a bitmap. This section contains the public API for rasters. */ + /* */ + /* Note that in FreeType 2, all rasters are now encapsulated within */ + /* specific modules called `renderers'. See `freetype/ftrender.h' for */ + /* more details on renderers. */ + /* */ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* raster */ + /* */ + /* <Title> */ + /* Scanline Converter */ + /* */ + /* <Abstract> */ + /* How vectorial outlines are converted into bitmaps and pixmaps. */ + /* */ + /* <Description> */ + /* This section contains technical definitions. */ + /* */ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* <Type> */ + /* FT_Raster */ + /* */ + /* <Description> */ + /* A handle (pointer) to a raster object. Each object can be used */ + /* independently to convert an outline into a bitmap or pixmap. */ + /* */ + typedef struct FT_RasterRec_* FT_Raster; + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_Span */ + /* */ + /* <Description> */ + /* A structure used to model a single span of gray (or black) pixels */ + /* when rendering a monochrome or anti-aliased bitmap. */ + /* */ + /* <Fields> */ + /* x :: The span's horizontal start position. */ + /* */ + /* len :: The span's length in pixels. */ + /* */ + /* coverage :: The span color/coverage, ranging from 0 (background) */ + /* to 255 (foreground). Only used for anti-aliased */ + /* rendering. */ + /* */ + /* <Note> */ + /* This structure is used by the span drawing callback type named */ + /* @FT_SpanFunc which takes the y~coordinate of the span as a */ + /* a parameter. */ + /* */ + /* The coverage value is always between 0 and 255. If you want less */ + /* gray values, the callback function has to reduce them. */ + /* */ + typedef struct FT_Span_ + { + short x; + unsigned short len; + unsigned char coverage; + + } FT_Span; + + + /*************************************************************************/ + /* */ + /* <FuncType> */ + /* FT_SpanFunc */ + /* */ + /* <Description> */ + /* A function used as a call-back by the anti-aliased renderer in */ + /* order to let client applications draw themselves the gray pixel */ + /* spans on each scan line. */ + /* */ + /* <Input> */ + /* y :: The scanline's y~coordinate. */ + /* */ + /* count :: The number of spans to draw on this scanline. */ + /* */ + /* spans :: A table of `count' spans to draw on the scanline. */ + /* */ + /* user :: User-supplied data that is passed to the callback. */ + /* */ + /* <Note> */ + /* This callback allows client applications to directly render the */ + /* gray spans of the anti-aliased bitmap to any kind of surfaces. */ + /* */ + /* This can be used to write anti-aliased outlines directly to a */ + /* given background bitmap, and even perform translucency. */ + /* */ + /* Note that the `count' field cannot be greater than a fixed value */ + /* defined by the `FT_MAX_GRAY_SPANS' configuration macro in */ + /* `ftoption.h'. By default, this value is set to~32, which means */ + /* that if there are more than 32~spans on a given scanline, the */ + /* callback is called several times with the same `y' parameter in */ + /* order to draw all callbacks. */ + /* */ + /* Otherwise, the callback is only called once per scan-line, and */ + /* only for those scanlines that do have `gray' pixels on them. */ + /* */ + typedef void + (*FT_SpanFunc)( int y, + int count, + const FT_Span* spans, + void* user ); + +#define FT_Raster_Span_Func FT_SpanFunc + + + /*************************************************************************/ + /* */ + /* <FuncType> */ + /* FT_Raster_BitTest_Func */ + /* */ + /* <Description> */ + /* THIS TYPE IS DEPRECATED. DO NOT USE IT. */ + /* */ + /* A function used as a call-back by the monochrome scan-converter */ + /* to test whether a given target pixel is already set to the drawing */ + /* `color'. These tests are crucial to implement drop-out control */ + /* per-se the TrueType spec. */ + /* */ + /* <Input> */ + /* y :: The pixel's y~coordinate. */ + /* */ + /* x :: The pixel's x~coordinate. */ + /* */ + /* user :: User-supplied data that is passed to the callback. */ + /* */ + /* <Return> */ + /* 1~if the pixel is `set', 0~otherwise. */ + /* */ + typedef int + (*FT_Raster_BitTest_Func)( int y, + int x, + void* user ); + + + /*************************************************************************/ + /* */ + /* <FuncType> */ + /* FT_Raster_BitSet_Func */ + /* */ + /* <Description> */ + /* THIS TYPE IS DEPRECATED. DO NOT USE IT. */ + /* */ + /* A function used as a call-back by the monochrome scan-converter */ + /* to set an individual target pixel. This is crucial to implement */ + /* drop-out control according to the TrueType specification. */ + /* */ + /* <Input> */ + /* y :: The pixel's y~coordinate. */ + /* */ + /* x :: The pixel's x~coordinate. */ + /* */ + /* user :: User-supplied data that is passed to the callback. */ + /* */ + /* <Return> */ + /* 1~if the pixel is `set', 0~otherwise. */ + /* */ + typedef void + (*FT_Raster_BitSet_Func)( int y, + int x, + void* user ); + + + /*************************************************************************/ + /* */ + /* <Enum> */ + /* FT_RASTER_FLAG_XXX */ + /* */ + /* <Description> */ + /* A list of bit flag constants as used in the `flags' field of a */ + /* @FT_Raster_Params structure. */ + /* */ + /* <Values> */ + /* FT_RASTER_FLAG_DEFAULT :: This value is 0. */ + /* */ + /* FT_RASTER_FLAG_AA :: This flag is set to indicate that an */ + /* anti-aliased glyph image should be */ + /* generated. Otherwise, it will be */ + /* monochrome (1-bit). */ + /* */ + /* FT_RASTER_FLAG_DIRECT :: This flag is set to indicate direct */ + /* rendering. In this mode, client */ + /* applications must provide their own span */ + /* callback. This lets them directly */ + /* draw or compose over an existing bitmap. */ + /* If this bit is not set, the target */ + /* pixmap's buffer _must_ be zeroed before */ + /* rendering. */ + /* */ + /* Note that for now, direct rendering is */ + /* only possible with anti-aliased glyphs. */ + /* */ + /* FT_RASTER_FLAG_CLIP :: This flag is only used in direct */ + /* rendering mode. If set, the output will */ + /* be clipped to a box specified in the */ + /* `clip_box' field of the */ + /* @FT_Raster_Params structure. */ + /* */ + /* Note that by default, the glyph bitmap */ + /* is clipped to the target pixmap, except */ + /* in direct rendering mode where all spans */ + /* are generated if no clipping box is set. */ + /* */ +#define FT_RASTER_FLAG_DEFAULT 0x0 +#define FT_RASTER_FLAG_AA 0x1 +#define FT_RASTER_FLAG_DIRECT 0x2 +#define FT_RASTER_FLAG_CLIP 0x4 + + /* deprecated */ +#define ft_raster_flag_default FT_RASTER_FLAG_DEFAULT +#define ft_raster_flag_aa FT_RASTER_FLAG_AA +#define ft_raster_flag_direct FT_RASTER_FLAG_DIRECT +#define ft_raster_flag_clip FT_RASTER_FLAG_CLIP + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_Raster_Params */ + /* */ + /* <Description> */ + /* A structure to hold the arguments used by a raster's render */ + /* function. */ + /* */ + /* <Fields> */ + /* target :: The target bitmap. */ + /* */ + /* source :: A pointer to the source glyph image (e.g., an */ + /* @FT_Outline). */ + /* */ + /* flags :: The rendering flags. */ + /* */ + /* gray_spans :: The gray span drawing callback. */ + /* */ + /* black_spans :: The black span drawing callback. UNIMPLEMENTED! */ + /* */ + /* bit_test :: The bit test callback. UNIMPLEMENTED! */ + /* */ + /* bit_set :: The bit set callback. UNIMPLEMENTED! */ + /* */ + /* user :: User-supplied data that is passed to each drawing */ + /* callback. */ + /* */ + /* clip_box :: An optional clipping box. It is only used in */ + /* direct rendering mode. Note that coordinates here */ + /* should be expressed in _integer_ pixels (and not in */ + /* 26.6 fixed-point units). */ + /* */ + /* <Note> */ + /* An anti-aliased glyph bitmap is drawn if the @FT_RASTER_FLAG_AA */ + /* bit flag is set in the `flags' field, otherwise a monochrome */ + /* bitmap is generated. */ + /* */ + /* If the @FT_RASTER_FLAG_DIRECT bit flag is set in `flags', the */ + /* raster will call the `gray_spans' callback to draw gray pixel */ + /* spans, in the case of an aa glyph bitmap, it will call */ + /* `black_spans', and `bit_test' and `bit_set' in the case of a */ + /* monochrome bitmap. This allows direct composition over a */ + /* pre-existing bitmap through user-provided callbacks to perform the */ + /* span drawing/composition. */ + /* */ + /* Note that the `bit_test' and `bit_set' callbacks are required when */ + /* rendering a monochrome bitmap, as they are crucial to implement */ + /* correct drop-out control as defined in the TrueType specification. */ + /* */ + typedef struct FT_Raster_Params_ + { + const FT_Bitmap* target; + const void* source; + int flags; + FT_SpanFunc gray_spans; + FT_SpanFunc black_spans; /* doesn't work! */ + FT_Raster_BitTest_Func bit_test; /* doesn't work! */ + FT_Raster_BitSet_Func bit_set; /* doesn't work! */ + void* user; + FT_BBox clip_box; + + } FT_Raster_Params; + + + /*************************************************************************/ + /* */ + /* <FuncType> */ + /* FT_Raster_NewFunc */ + /* */ + /* <Description> */ + /* A function used to create a new raster object. */ + /* */ + /* <Input> */ + /* memory :: A handle to the memory allocator. */ + /* */ + /* <Output> */ + /* raster :: A handle to the new raster object. */ + /* */ + /* <Return> */ + /* Error code. 0~means success. */ + /* */ + /* <Note> */ + /* The `memory' parameter is a typeless pointer in order to avoid */ + /* un-wanted dependencies on the rest of the FreeType code. In */ + /* practice, it is an @FT_Memory object, i.e., a handle to the */ + /* standard FreeType memory allocator. However, this field can be */ + /* completely ignored by a given raster implementation. */ + /* */ + typedef int + (*FT_Raster_NewFunc)( void* memory, + FT_Raster* raster ); + +#define FT_Raster_New_Func FT_Raster_NewFunc + + + /*************************************************************************/ + /* */ + /* <FuncType> */ + /* FT_Raster_DoneFunc */ + /* */ + /* <Description> */ + /* A function used to destroy a given raster object. */ + /* */ + /* <Input> */ + /* raster :: A handle to the raster object. */ + /* */ + typedef void + (*FT_Raster_DoneFunc)( FT_Raster raster ); + +#define FT_Raster_Done_Func FT_Raster_DoneFunc + + + /*************************************************************************/ + /* */ + /* <FuncType> */ + /* FT_Raster_ResetFunc */ + /* */ + /* <Description> */ + /* FreeType provides an area of memory called the `render pool', */ + /* available to all registered rasters. This pool can be freely used */ + /* during a given scan-conversion but is shared by all rasters. Its */ + /* content is thus transient. */ + /* */ + /* This function is called each time the render pool changes, or just */ + /* after a new raster object is created. */ + /* */ + /* <Input> */ + /* raster :: A handle to the new raster object. */ + /* */ + /* pool_base :: The address in memory of the render pool. */ + /* */ + /* pool_size :: The size in bytes of the render pool. */ + /* */ + /* <Note> */ + /* Rasters can ignore the render pool and rely on dynamic memory */ + /* allocation if they want to (a handle to the memory allocator is */ + /* passed to the raster constructor). However, this is not */ + /* recommended for efficiency purposes. */ + /* */ + typedef void + (*FT_Raster_ResetFunc)( FT_Raster raster, + unsigned char* pool_base, + unsigned long pool_size ); + +#define FT_Raster_Reset_Func FT_Raster_ResetFunc + + + /*************************************************************************/ + /* */ + /* <FuncType> */ + /* FT_Raster_SetModeFunc */ + /* */ + /* <Description> */ + /* This function is a generic facility to change modes or attributes */ + /* in a given raster. This can be used for debugging purposes, or */ + /* simply to allow implementation-specific `features' in a given */ + /* raster module. */ + /* */ + /* <Input> */ + /* raster :: A handle to the new raster object. */ + /* */ + /* mode :: A 4-byte tag used to name the mode or property. */ + /* */ + /* args :: A pointer to the new mode/property to use. */ + /* */ + typedef int + (*FT_Raster_SetModeFunc)( FT_Raster raster, + unsigned long mode, + void* args ); + +#define FT_Raster_Set_Mode_Func FT_Raster_SetModeFunc + + + /*************************************************************************/ + /* */ + /* <FuncType> */ + /* FT_Raster_RenderFunc */ + /* */ + /* <Description> */ + /* Invoke a given raster to scan-convert a given glyph image into a */ + /* target bitmap. */ + /* */ + /* <Input> */ + /* raster :: A handle to the raster object. */ + /* */ + /* params :: A pointer to an @FT_Raster_Params structure used to */ + /* store the rendering parameters. */ + /* */ + /* <Return> */ + /* Error code. 0~means success. */ + /* */ + /* <Note> */ + /* The exact format of the source image depends on the raster's glyph */ + /* format defined in its @FT_Raster_Funcs structure. It can be an */ + /* @FT_Outline or anything else in order to support a large array of */ + /* glyph formats. */ + /* */ + /* Note also that the render function can fail and return a */ + /* `FT_Err_Unimplemented_Feature' error code if the raster used does */ + /* not support direct composition. */ + /* */ + /* XXX: For now, the standard raster doesn't support direct */ + /* composition but this should change for the final release (see */ + /* the files `demos/src/ftgrays.c' and `demos/src/ftgrays2.c' */ + /* for examples of distinct implementations which support direct */ + /* composition). */ + /* */ + typedef int + (*FT_Raster_RenderFunc)( FT_Raster raster, + const FT_Raster_Params* params ); + +#define FT_Raster_Render_Func FT_Raster_RenderFunc + + + /*************************************************************************/ + /* */ + /* <Struct> */ + /* FT_Raster_Funcs */ + /* */ + /* <Description> */ + /* A structure used to describe a given raster class to the library. */ + /* */ + /* <Fields> */ + /* glyph_format :: The supported glyph format for this raster. */ + /* */ + /* raster_new :: The raster constructor. */ + /* */ + /* raster_reset :: Used to reset the render pool within the raster. */ + /* */ + /* raster_render :: A function to render a glyph into a given bitmap. */ + /* */ + /* raster_done :: The raster destructor. */ + /* */ + typedef struct FT_Raster_Funcs_ + { + FT_Glyph_Format glyph_format; + FT_Raster_NewFunc raster_new; + FT_Raster_ResetFunc raster_reset; + FT_Raster_SetModeFunc raster_set_mode; + FT_Raster_RenderFunc raster_render; + FT_Raster_DoneFunc raster_done; + + } FT_Raster_Funcs; + + + /* */ + + +FT_END_HEADER + +#endif /* __FTIMAGE_H__ */ + + +/* END */ + + +/* Local Variables: */ +/* coding: utf-8 */ +/* End: */ diff --git a/extlibs/headers/freetype/ftmoderr.h b/extlibs/headers/libfreetype/windows/freetype/ftmoderr.h similarity index 100% rename from extlibs/headers/freetype/ftmoderr.h rename to extlibs/headers/libfreetype/windows/freetype/ftmoderr.h diff --git a/extlibs/headers/freetype/ftoutln.h b/extlibs/headers/libfreetype/windows/freetype/ftoutln.h similarity index 100% rename from extlibs/headers/freetype/ftoutln.h rename to extlibs/headers/libfreetype/windows/freetype/ftoutln.h diff --git a/extlibs/headers/libfreetype/windows/freetype/ftsystem.h b/extlibs/headers/libfreetype/windows/freetype/ftsystem.h new file mode 100644 index 00000000..e07460c5 --- /dev/null +++ b/extlibs/headers/libfreetype/windows/freetype/ftsystem.h @@ -0,0 +1,347 @@ +/***************************************************************************/ +/* */ +/* ftsystem.h */ +/* */ +/* FreeType low-level system interface definition (specification). */ +/* */ +/* Copyright 1996-2001, 2002, 2005, 2010 by */ +/* David Turner, Robert Wilhelm, and Werner Lemberg. */ +/* */ +/* This file is part of the FreeType project, and may only be used, */ +/* modified, and distributed under the terms of the FreeType project */ +/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ +/* this file you indicate that you have read the license and */ +/* understand and accept it fully. */ +/* */ +/***************************************************************************/ + + +#ifndef __FTSYSTEM_H__ +#define __FTSYSTEM_H__ + + +#include <ft2build.h> + + +FT_BEGIN_HEADER + + + /*************************************************************************/ + /* */ + /* <Section> */ + /* system_interface */ + /* */ + /* <Title> */ + /* System Interface */ + /* */ + /* <Abstract> */ + /* How FreeType manages memory and i/o. */ + /* */ + /* <Description> */ + /* This section contains various definitions related to memory */ + /* management and i/o access. You need to understand this */ + /* information if you want to use a custom memory manager or you own */ + /* i/o streams. */ + /* */ + /*************************************************************************/ + + + /*************************************************************************/ + /* */ + /* M E M O R Y M A N A G E M E N T */ + /* */ + /*************************************************************************/ + + + /************************************************************************* + * + * @type: + * FT_Memory + * + * @description: + * A handle to a given memory manager object, defined with an + * @FT_MemoryRec structure. + * + */ + typedef struct FT_MemoryRec_* FT_Memory; + + + /************************************************************************* + * + * @functype: + * FT_Alloc_Func + * + * @description: + * A function used to allocate `size' bytes from `memory'. + * + * @input: + * memory :: + * A handle to the source memory manager. + * + * size :: + * The size in bytes to allocate. + * + * @return: + * Address of new memory block. 0~in case of failure. + * + */ + typedef void* + (*FT_Alloc_Func)( FT_Memory memory, + long size ); + + + /************************************************************************* + * + * @functype: + * FT_Free_Func + * + * @description: + * A function used to release a given block of memory. + * + * @input: + * memory :: + * A handle to the source memory manager. + * + * block :: + * The address of the target memory block. + * + */ + typedef void + (*FT_Free_Func)( FT_Memory memory, + void* block ); + + + /************************************************************************* + * + * @functype: + * FT_Realloc_Func + * + * @description: + * A function used to re-allocate a given block of memory. + * + * @input: + * memory :: + * A handle to the source memory manager. + * + * cur_size :: + * The block's current size in bytes. + * + * new_size :: + * The block's requested new size. + * + * block :: + * The block's current address. + * + * @return: + * New block address. 0~in case of memory shortage. + * + * @note: + * In case of error, the old block must still be available. + * + */ + typedef void* + (*FT_Realloc_Func)( FT_Memory memory, + long cur_size, + long new_size, + void* block ); + + + /************************************************************************* + * + * @struct: + * FT_MemoryRec + * + * @description: + * A structure used to describe a given memory manager to FreeType~2. + * + * @fields: + * user :: + * A generic typeless pointer for user data. + * + * alloc :: + * A pointer type to an allocation function. + * + * free :: + * A pointer type to an memory freeing function. + * + * realloc :: + * A pointer type to a reallocation function. + * + */ + struct FT_MemoryRec_ + { + void* user; + FT_Alloc_Func alloc; + FT_Free_Func free; + FT_Realloc_Func realloc; + }; + + + /*************************************************************************/ + /* */ + /* I / O M A N A G E M E N T */ + /* */ + /*************************************************************************/ + + + /************************************************************************* + * + * @type: + * FT_Stream + * + * @description: + * A handle to an input stream. + * + */ + typedef struct FT_StreamRec_* FT_Stream; + + + /************************************************************************* + * + * @struct: + * FT_StreamDesc + * + * @description: + * A union type used to store either a long or a pointer. This is used + * to store a file descriptor or a `FILE*' in an input stream. + * + */ + typedef union FT_StreamDesc_ + { + long value; + void* pointer; + + } FT_StreamDesc; + + + /************************************************************************* + * + * @functype: + * FT_Stream_IoFunc + * + * @description: + * A function used to seek and read data from a given input stream. + * + * @input: + * stream :: + * A handle to the source stream. + * + * offset :: + * The offset of read in stream (always from start). + * + * buffer :: + * The address of the read buffer. + * + * count :: + * The number of bytes to read from the stream. + * + * @return: + * The number of bytes effectively read by the stream. + * + * @note: + * This function might be called to perform a seek or skip operation + * with a `count' of~0. A non-zero return value then indicates an + * error. + * + */ + typedef unsigned long + (*FT_Stream_IoFunc)( FT_Stream stream, + unsigned long offset, + unsigned char* buffer, + unsigned long count ); + + + /************************************************************************* + * + * @functype: + * FT_Stream_CloseFunc + * + * @description: + * A function used to close a given input stream. + * + * @input: + * stream :: + * A handle to the target stream. + * + */ + typedef void + (*FT_Stream_CloseFunc)( FT_Stream stream ); + + + /************************************************************************* + * + * @struct: + * FT_StreamRec + * + * @description: + * A structure used to describe an input stream. + * + * @input: + * base :: + * For memory-based streams, this is the address of the first stream + * byte in memory. This field should always be set to NULL for + * disk-based streams. + * + * size :: + * The stream size in bytes. + * + * pos :: + * The current position within the stream. + * + * descriptor :: + * This field is a union that can hold an integer or a pointer. It is + * used by stream implementations to store file descriptors or `FILE*' + * pointers. + * + * pathname :: + * This field is completely ignored by FreeType. However, it is often + * useful during debugging to use it to store the stream's filename + * (where available). + * + * read :: + * The stream's input function. + * + * close :: + * The stream's close function. + * + * memory :: + * The memory manager to use to preload frames. This is set + * internally by FreeType and shouldn't be touched by stream + * implementations. + * + * cursor :: + * This field is set and used internally by FreeType when parsing + * frames. + * + * limit :: + * This field is set and used internally by FreeType when parsing + * frames. + * + */ + typedef struct FT_StreamRec_ + { + unsigned char* base; + unsigned long size; + unsigned long pos; + + FT_StreamDesc descriptor; + FT_StreamDesc pathname; + FT_Stream_IoFunc read; + FT_Stream_CloseFunc close; + + FT_Memory memory; + unsigned char* cursor; + unsigned char* limit; + + } FT_StreamRec; + + + /* */ + + +FT_END_HEADER + +#endif /* __FTSYSTEM_H__ */ + + +/* END */ diff --git a/extlibs/headers/freetype/fttypes.h b/extlibs/headers/libfreetype/windows/freetype/fttypes.h similarity index 100% rename from extlibs/headers/freetype/fttypes.h rename to extlibs/headers/libfreetype/windows/freetype/fttypes.h diff --git a/extlibs/headers/freetype/internal/internal.h b/extlibs/headers/libfreetype/windows/freetype/internal/internal.h similarity index 100% rename from extlibs/headers/freetype/internal/internal.h rename to extlibs/headers/libfreetype/windows/freetype/internal/internal.h diff --git a/extlibs/headers/ft2build.h b/extlibs/headers/libfreetype/windows/ft2build.h similarity index 100% rename from extlibs/headers/ft2build.h rename to extlibs/headers/libfreetype/windows/ft2build.h diff --git a/extlibs/libs-osx/Frameworks/freetype.framework/Resources b/extlibs/libs-osx/Frameworks/freetype.framework/Resources new file mode 120000 index 00000000..953ee36f --- /dev/null +++ b/extlibs/libs-osx/Frameworks/freetype.framework/Resources @@ -0,0 +1 @@ +Versions/Current/Resources \ No newline at end of file diff --git a/extlibs/libs-osx/Frameworks/freetype.framework/Versions/A/Resources/Info.plist b/extlibs/libs-osx/Frameworks/freetype.framework/Versions/A/Resources/Info.plist new file mode 100644 index 00000000..f7f42180 --- /dev/null +++ b/extlibs/libs-osx/Frameworks/freetype.framework/Versions/A/Resources/Info.plist @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>English</string> + <key>CFBundleExecutable</key> + <string>freetype</string> + <key>CFBundleIdentifier</key> + <string>org.sfml-dev.freetype</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundlePackageType</key> + <string>FMWK</string> + <key>CFBundleSignature</key> + <string>????</string> + <key>CFBundleVersion</key> + <string>1.0</string> +</dict> +</plist> diff --git a/extlibs/libs-osx/Frameworks/freetype.framework/Versions/A/freetype b/extlibs/libs-osx/Frameworks/freetype.framework/Versions/A/freetype new file mode 100755 index 0000000000000000000000000000000000000000..5a62814ac97a729d8d5408fcd9200cc75b5fe3b1 GIT binary patch literal 1668068 zcmeFa4}6_vefNJ-4w7QzM9o|``$%w=6-7j44kkRN*rP2Y4zSUx)Ruo01|p+5AU<tL zcM|Ez%~4SJi5t#tc3XAb?6AY?>P#>rDa$lq<}%5%9WcZDc=EXD;tbl+-~02uuIoPc zNz&4}{hrr;uNP=@?myR`@AbXD|F7?L-H$x;<-f{gGE4Y(68}!fWLh(slb_zrbxTut z_I#e5a@CZc@$b3+p2NU%7<di?&tc#>3_OQ{=P>Xb2A;#fa~OCI1J7aLISf39f&ZUj z;Ojs6KhJo_Kl40bKZSpDCuTBz!~yXCGi^i$Hf~&(U%zhN!1gV55BODms@Sg{Zrs>? z%?G=6<^G#r|0X)Q^tR@VezT#FezTdLaJzBimfPNc<p*xqxTU*rB@gGf@z5R3nHiqz zS8#^^noo3XXe_ir<&D=~bHh#7+-&!a<JiBmIrEQH)~^B}$$!2L-EZ7@)t2s?ue<Sm z{^fi)?&)vN?0!Kequ+EJ>1*2fz>Qn#2$|nT$9>J2p`UBY=vR1L?7xj03pd_+-Hlgo zyza)$AE3beHnM-VG;=x6^?S7cHg3G;+KroUzT*AYxDxZ**hJmCz=wVb1TFfXa6QJK zjT=|5TDK}yMD)<Xz5h+qluB*fc=c^JT&*kj-(vNf^@{pw-1*}6vvK2%(1Rn3o4Rja z07El%6`;~@x((67O5f1NjW=9ztTx)HyNj~=O}C-(yeetq>MOdh@HhO-AIpB~imvsW zZlhj9b>`DVBR&VHyZUvRjDC+!6IX88l4^859NF(I%@|H8lZHcc82;1sx%}I>@#3{_ z`}O?lwSmuPn9o+;^1FL!lks-C9weXH#J^?ybI)JM)eAEn*L?7rs|wv$TzSJa8*jRz z``Xu>b=GU%B9goH12<p4<u#jczUG?l+itq%EF(ibd(Atpxp~WV@W*RbC2wg-@T%>t zzj$)y6p(+@O($p0DP=Ox=h-Fv(|@;v82#G}0RPM+pWz-a`gg?#PR_hN{f2Qpk4btd z&(zO`Lx0x&t?}3Wu>9sdj~CD0{E8JkBkGA@I~jsH+34yVZdF#WooJ(O%Dkqq<>uGi zaNU*qcjbp(ch+mqI{Pdr{kkhDBU(J0e@UGs!c=3O4^bmsKHUdWm{B#Bf8SMCZQOFK zIwyQ~K_73wZA<qx??3Cp(9!9X(AdsyJvnnR!xP?gFI+$O-*Xsv4g=3&;5iIDhk@rX z@EivIt1(cVZocHwSgo#)cK+HQEX|ZIUeOZm{P6GFRr9;ne{J(!{&mmwJUmjltKq+{ z(mxlcmqq!OsI$4$dAO9Hi}L(E9OdUq*%k47a4SpsnJ7O~%Fjmm+2YW$4PV=wJ9RZy zqWz`*JBrgQqI_G_*&21VM1|&3VXo9QTk53Bw3<<qvsQg3>YOgMtSGHsk&V|{%TrN) zs+5nTd|Vt_@!kzzyX#rt`N9XAGX_KM)LuhnDBo-_AC5Y*QRm@kZA<9p5h^gE;SO7A zw=1mFj6Jgk+=$LPYI`liS=p``1Nyy3jvP6T)*A7%V|owu{Umg@L|x6LuEV9yIRGs_ zohkKgrO`smaDHYb#j2NK4GU{el$wTD8K`j!V=!D!7w0nDR8n?tb)}V@b|stjhzhc$ z<NtN520dNw+{qk55ZQPKPpF)`bBJ=~{LbRQ*-<md>N}LXZ?JD5_vwM1eg6wMc9uWH z-|kcT-QA$O@9)#oorArHa(%_d29^$%%H6!o_5No41v8K-t;!mvngK}IwwakOJz2V_ zwRB;2_(B=+nc)lD+)s<(9=_0xLf4r%t3g1KO{xs=N4ih*SDEgg*Hu}FE8l$?e@mAv ztA2(`uAlUbE&q3BEY(UT*E^`L@<u+ceAL-{#)!yfY1Gx*^k~#IU1~G5G3U+k@7yBn z_eA*~5P17b?3ek9pD6$zaAmt+P`f<J_ePyPO(P|KbqNV(&l@RxItAw+I5?RXG1g<M zt$_)+RV~c8U9|FSxWgeOKO;QUR$H<3m?jR33auH~P0b9eq+N6*)ZJm2hgdGPSDt}) z4DI1|!`B+=Jy!Mg^dYweevhxBUC;4zneMY;;Lycv)HzeW`$s<&(wX7e^4-4zIHgM% z0@r<Z-E0gG+r#`wlEW#fv4CHjg)I01v9NAM_Q;r(t&1qi3)s~ud4tFs&d&+rR0qwz zl(i2mULMf@aDLX6MFt6^;!q26Cj95%apQL)u-tRvrx2d`*;+fpa1-QZ*2dd~9f`Bz zK-Qs06p$%=%gdyWjJ3DY^&fxw889OuD8?-;1rmilY8UW8v+a5FU3VDHk+GEOeu1Ca zZ&J6$jaUhKSqJqbQaB7`<%X|0_>=Lfg_pTXlG^Gc{^U+!YDSmaX>=hz5a|IOlE29F zbB-?0r;C-Q^E2H@p(&xY+Q%PJZ^wE+#;Fw=<8Nuul~%!XihCV(w3YIenvr_P`lzFo zyW#w#8mYZbnC_g6vOA;BipR?^%-6xo_!mH0)Hxe<O_s8ENBPO(KvO9{$pw^n-pI{E z9+H$MIR{OWJGF<(nvZufppM1?&6c`mO6VeKo>{@oa4Nq<@#+)&5ilLC*7~h_A*QH~ zgcqBlj+Ut7at8u+bG^T9uNdwLYKq}b56-m~E4kuaQ{g&;6X0i}!gRDP_H?enAultf z?iDSitt(oOjFs{eQGP-VoNma7C59Y@B!$<lXo=rrG*zj+(Mq4x4X;fIudlLNGt`O- z@gf!JsWpC?y3ALie5I710%66Wj`wby&tGpB!Y+>T%c9P<sH-(9v_#vQOWS5jh3QgP zT<Sz&GjRhn1*Sx^!rr)HZx>_YnN9AfQF$zxIAWKh=Z$P>i@52WX4+1+E1un=+J@pQ zt#%w*R0q|!g%%UEk45=0isX7fYyeEv(LPm2`}--x1UhU)+oqxo6_0uF&<w^~N|!sV z4@CI^^$5>mo>Zc)I4Vqe{2`H=HAC@J5^MSK>VS1g`IEYzPdz>QQywMQn0f_w?KCI; z7#Fiw%T{IT1;m{|{nT)NhzFS(bb$;QY62TTIpxh2br_#PJgJlqa9yNna*XssL+!e# zWA$L=Way=q3lBQn1Ll=Bqppck+s-IIWQ;PzMbsIC@v?(B%8z^69lH3v8{ZSmxjMfT zr_n-QelnD;FG7x31fRhP4YRdh<jI#ZJw&<&cRZno2Q;QLm}%LF!CrL2wl#E+*o%v{ zf8<Ce)7ZYA{Fk&ZA==oqL3>=FJ9~7w!^d!bS~Z=#>7Z2`DbqM5B9Ad*oy@>SfRtk4 z0~yRidoMNcXl&|WYA{~n84$`l$cunEhqL8k$zJv4^vT &uE+9If=>R|rGa-r>O* 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�ar(qiOrIF~zfYeSLgiK<02+qZC%h-W^qSvApD_JF zlb8PR^D6oS%7X6-{lRqwgwQyM221D<15STHvvB$Y4?_w4VL*a*yXg-Dk^VsLDhXOk zOjW5r@a^f)AKLyu&>zUL_;l$H_dT8Z!%4qy{b6a0pJJrVKs^3Tm8>cBK<r7>^F}?M z<{qUI`U4~zT9q}18jXz8->VY$&-i?jX!hmgbfz2mgfUTEs(u?EyXr5LO-5&j&|H;8 zgtwO0W-@o(IH_%v06;+&mXU>gC*;s+AYa{*!p)Z`*NHMkgYX({9e=Spb$KKWPMJ=u z7f_kk3|$sTjHgbG-t8|OL7yUE6!82`{v4oO25SJ<Yzy0*JIQ#HEfxA*EZ74}SKgQ3 z$$4`u>H-i%!iR0=vJd(hbH;?c@E@f!jl<XRXypa#;y+o)Cd1%pyqg6kJ|06*WzPNX zv13+qj%C_dZulpe?p5rvW5a3Ul{=<q?UTMV=3J(gAD6k0&L)=EQ(Lxw<W&=e23yeI zu<3!rY+uF}b~xby;aAK9!mr=~L16X?y6|^PGDRS^TdOL^9d7;yt;v9j7hTd?dS)?P z&(UJc+1Ejh&?VUD)n2Rg3F;o?3<C%F4<BxreSrVDbZI5}0AeL{e)9$Yk?Pi1U((zi zl7MqL4s~`Q)%l(PIpn^-eMXMW1Du_RLGC~Ta{P)xj$Z+CJ<&0s9)p}BuCkjBoWcFZ zvz&4p8L2-!RQ$F<`+z~t^&CNN&c60CLL*~WA@Y>_;RH|l9*&Y!hvOrk7pV5yVV+rV z{JQ&SAlzrG&#AK--G1!Ua$;F$spUJZ&VH-2-wypKgmmYNP`;{o2b&Ravw7E+*m2Dx z@Ke*>XW*o>TY&pHM^;?lujI$BzS2L4mskj4%tluearrYle~qu-R7+Y|=!Ba|rD0ZW zsp|RRvL$~g;Wpz}%x%W6;5H*RYeIuH^}K)_F#0}JbV<@C;3H0L%>!vey+aCd#UR9a z207|sS5t&k>`2EDm|p>b;f>>-9A(bgQc`!u{L1oUp-&e|obZJ?SyJ;EXb>Nd^Zicf zwty+|XYKH6P+I?st3pP5Fd;wTZ2!&E1|Jv3QVE|$1Uvn%@Tq{sssJ7N^a2=83t+TN z7r-}uPG>3(oOe|P4xX)~KCz-gem`CCDG_vB37ls<eZaw6?Z6cW4p@W&m4L$bxu6i; zR{)ro%z1x;+`c47itZKGf#b-Cm513#r}(7N4{HQ}7oEiTJKKv8M~DyLSByOT)}z8V zAcc@~V=1Ojf^_*6BVB$4(iKgKcdijIn$S$lZ5!o0AIE0UXJCb*TCab}tW1h!l;e%d zYn9b<qVz{DPC~k~Yhz4115q2jW-Ls|De1XHq?{^y*=&9YK1JGe?7k5XNacCA>nPgI zW-2&euDR-2sKdn{86eqs1(5m}10;vnV}RsW43Pd{y8wyucP!OeJv$T6H01QhZ7y(x zXzxOX7<_>gZZv7!2%Fe;PonbqMEPs{5~w^=vwILGHB;lZQ+71Wk>onB-><HqN2h%f zAZ`G08xbdlY3e3Ga*KLvM<z$%CEO3^M`*&QbTwU>4V?GJi~?P8ufV%yYQ%UqI|MP9 z^2_mV(2?ZOnc7>dTAfvk_&27z^h^R>^Pt~gt<Gj5N?_)iT!;^5XD;~D*H^_4x7s#K z1{KZHRzn#93Kg?l%bjVOB@}3I^;@h2(qrt87oTOS7xc&^9X&<@3i63fl3y_abu0vo zP&=0DQr<No$k5@P$-szQ{(v(Kd``baF~$^I8H%A>%Bb{Ib>c4_SUBd$!i*{4iIswu zU@wVim{ivf%$YXs6cst?1i8r=TCT6IFD;4eai=FRkQkAoSHy^vUolwoE5Ldx3XD5s zYjjBWXdN=q14euOn!)gu!5<QtC<xE!1t>gX!<>e#Ig8gawE6uW=%)(*G5iu07hVJL z8B!1cLEAI1z1aBYxswZyve*tUL!MEizJKIQOad<z@fx5zUb>dvY{IVF2r1{>G9J_L zWW<=h1S(S<Ku|rb@0h)yT(r=MfW`E`&02ZgK}YeqSKg>K#*gNN=dnRhE?%ST1OzYp zF9*ShV_qGB&zt7rU%w3$;Y&DZjDJy$03e{J)pM-Dwynj#0BAnqU#JmrT8QzlEmiT$ zcGXZ6B1+t2H^UYrjN)6-mn<@LFu>_!4E5$I-=O4Uk#B}5j0iGTcw~8#{DE4HOzMPA zD>)uyssPCj5(4H)liZWV+pK~$5>+t$qq4$#O@){&US<^z*&*1d{Ya{r@?s~Rk7atp znD3(U3y{0EbAQl4eUR5NP#;WiDSpMc6u$zOf+s5`ybO=3)4RdCnk;sk!)PE;p(+4B z@8R(lSHa>8j1;&cCIRWUb0-_km4)2tR%6syH7tm^A>Z8GB33fzY=#5_=MNdMx)8uY zf3dUS6m2<_jM|!0$?CHTkP^{=2c!o@r+JV@q&u|x!c!f$+Ls>wUn9$o*FE~COG%6z zBP#4Ma_q@A_fQ>=1`NK}UiI?e_6~0BrIn{;&ZQ4nC;|SOtDG%~defI#(jDUpxIci- z0sJ5q_@Mg*!OGtWK*fRyTHg@N45O&BLnToEZQ8E}Lh5Th%yknV`_{e1?;GR-9RHPH zgDz>zZ@DPN&Zlb$ez*Q-BgM`SnJg1XBi22UWZmZW(ZEf=e)EpW0iG<rVzY%s&L{#c zqm*MAbZI@i>oF!5Jec9eCQLt;OGl*Mg~u&ivng4jt24Vc(!Z|D0F!G?6Si}s3KB0~ zYe$IqaHNn^OU4WqQjGK?Xy{W`w`o3gErTL#V50bwpza>AD|bfVDC5aAKZbN=3()5- zaZ?LgbaVg=y*Z}m&8btvj_p)U=eagQQf~{m9R(6aSUk}y>@{GwSbjLvkas`SvA37> zZ46`$*tzb<S93*UOJ6Y$kVVKfjs;o-8oVRbbq^l~yWY;q@IaBFTu#1_%!Ao<LH84| zL6f+8B6mJt3!mOCpJgoFeFo0crB4KYNu-?k<iZ*;cY=2gW}D7*jgn2uU!#IGZGC3D zbPcu&Vj9Bi4(2wE<i56918{p%wlT#00fk?a<4NUG*)Dy~<}~EY`XwcDjr5t=g3U5N z%A~qZQ3?I3Q0J871mpo;@`&B=3xso}uW-kJP#$C5{Dmv#urG<agLz;Eti(y<1(A0W zNbL@mT!sILbmf<Z2Em%?DDc&9fG3iz=hER)qz`R<@8tmwiOV$>nuNmwKdyYC;(r-2 z%q*(aHwll#%{8BRdE)Mkek%+^;3B;`Ym6bNrlGJHh4;>t3G>JlVN^D1)>-2=yda~E z0Mp-fP<(;)HWnop6V7Nkj>lj=Yb14J%F(f5=x@~_61rSIb{y8*tHA{if}n65pSr=_ zV0F-hucrq^#VeIFsw^r3scoN9a<{H`23`TmP$G4sQuoiVH|SGyGf2`E2N0mr%O5!Y ztfA{(ETYhxJHPbBFMg3+PEQrdL!t|v`umHg_0KHK)#5myff2S}<fcKl8WLi6x(y22 z#Td)eK}=1XCzC;Kh+w7UE(q?@yY1cY+~oeS$FQw2*7$x)O?AL^AwdiAe!~C7MLX=L zW;&?m5}9UW7D|!Y`7qQ8kCA2GUGI^T>y5h`!t-#Zdx<?4l0xiKx!PPj<I>3f&gyc( z8FY0|89{d}Ouy7^dbf)J^bchQ+tp$8Lp?@6)TRFE7+5Nse_bM<z?Rwej*m}7=L2=r zc%U$B6P}Iia7D69FeZz_{15TM8VO#c;vu6B@KfYvC_!OF7|pPyfKKiXXpB3JJm5Uw zolh}vZ9c_Fgmh4IXZdV<kR8+^ZP$UHpely~MM7ito2l7Cwd7ymP`A;I-?*>BTRgeX zr`tXo9i+ru>4yU=sLT;5xi_AaZWAfpR!K@Uz-igKuD(>)HAcWQwlzI1+JXl$Rzsv{ ztoJiVbagk?KII$wjLjOo6rEgQ&cgZ2<?ObV+XwmD%IP6Sllu~apI<T4iC@8V+H2c? zy+rVki*X-9-6s;FNZ7DY+NOg=3F}Z++dXcN?|^Qw@Z`n-f$h!<5P-#-tuz()ls;k* zgu)%RM4AcM64Olh6&s+(B*Ex*%Vweho<>9E0a7F}z*1ujkM<bp?;)?E$>fhPB;|`8 z=*Zg^W*tlrDXKKg1?3*1n*z(5^uFbDwar=uCy!`H5*(BP@L*f&h7#5x^^^2(O02)n zYF$#^nkp-%qT{5{8yXDP`(;QWqujGf06LLdi=Sm$*U&zhdGnIYx%HWo2hUZwW6j{X zQaAad%Q0&Tr6w;+x%J*$-1=DhXz&}8+60ycfzr(p5@hGaGMN`Qe(?9SZGeTp*GqWj z&!Itnn%if*yVgw|j;%#>o|sP>@W$`2t)pNC7}miCEBVv<01g}r?Ae+(Sokk+(CQ(9 z!(=#1fsF(tW^$Xx(8Uy}qgjVEGU$c%JR4llO_mgXaE_ocsYx>%?LQhgF88)>iJrrb z=7cSwn}=;5Fn9ji-1%#BpKx<W1;J&Xx49#>s3Ulp`nL7Ua@Duw-P|XWE_B?n=x^v- zZMNc@Q{Pa?QiHqmyEW7Di_E4evr{f*#r+Wd!l9Ibspy5n?$40>GvNO8>CgSm-$b{< z_}KzTxY2=YwjUFY_7oTK0`?3Tk8jPk{Gt^c?HadL)H}OKGS&G|c%fUS?AG}GsT;p; zFZb*Av!3ityE@_ex%xji{CI1&`7v9OzT#hpdj3A?`smw`v|#nH&~o^n7=0L)Y)9!i z+=dHF1!`&Q^usjXF|$}#(_1AQ2HPb2w!f<PxLRh=vM=?yp{)x`%V$?g-P*T&L3i^v zqb|7UviUK8`#07Qr~j6ijFNG%8E^oH#{`EPC(N`*aCmLz+T+n`_=Q)6i2*joS#vFS zzsP5Q?FqY@zsZ?~*Na%&1!uIi%O6-GHX#A1xrSlyZ95gFh`zS{Irv0!-P7{9aqB~U z;ul^6YZw+AwMfp|&?5C}Sz6UwAq9{jG{#CIZek^U51OsCvIVy4z4rWbw@6Twes(=< zKk4uTlrblXhAtX|fOB|u=0RFJ*C-ZlG_$tBctcJ4jdYyV{^S8~B^5sQd{LihgI;yf zV!4;m>;|qrJ`lgZ^2*a<rIqBA)*2X3Xl?EPkV-T<81C@|!JA-xfwN(O_cER=caD|! zM&TY%)VNRHBKF~!a>syfvSL5$ZXod>|LN}`{xkb(sUy!2P^c}?TzmT03jr0ZWO7j_ z1tla_i`GGbLx>=JV{FmkK$tmeNatGgL&r<pW1Y6N!GlRV8l^@Yx45U$(5s@q!7tV& z2c#?Uj8Aa=E>dcGaEC^uf9yxMdv-r=ihh`G**seK-tz=!ATyH#xPI5E?F<k636@IZ zpJ1-Vlbr2yb`8l0+BkHUKfCpkwzjrada^s#3Ea$|{oeG}HpTwr&;H{pu4xn6=c%#K zIX!8irg)#B;`Cs<#;GP$M1NCV8{8*@sphn4G<U}b1Zoyh_j2iG)2C2|-A-qGaJpku zyW;Jdq7Y0Qi6BHx@y+os2B_Np;v)1wmC$M3;;Lkcf^MpFI1i(lTb$f{mW%(~v71sR z9?GzK++O+NxcIJsxi=bSBVZE1?NLwe!o3pScWPRzF7UN^q_E&c>Wm8)M>4g$Ol%`) z5Zk^B(>1OiWEthz*xUHumbDldyX9XX*bEwMm@7XDZndM>*7E@DmtQk`K6P&GOR(l> zNJc=y2oTqA;SETTn>}-p0&v#^3|*Stv?QBu$X-{Uy|^xO@l@uz$qYUl;42^8WY+uO zP>*>dTi(CVECExvQxZRtymHNby0nc_eYsoe#y|(~6jw&!15f-4R2cSNeb#gA8O*Nu zOj}QgO4gSl?XU=QGPA>OTNE|E%O#by7XRye<rY6;Ee;q-4rIEQT5Xs{6fbg(`TE7) zJ@#SejCs{tJ44rn!(M8_0B*E>J=(^YQa_bQHOL3IxP@$Ow?Z?VAF1%cXA84K+kjqe zODh@98m*Y35fApLEJ|ER)aj(IYZGJ1tgm$~fi+Gq>lj$`j(2kBn(WWF;6UADD6!OC zQI}2EXRoWvTsNIbPeoVM-QWB`&HW@_76Wa!wb3C;R(~?wRPrhi1!!h#ht6)j;<ERp zkEhB4p-p&umEP9U2*c_#HK~sW1J1SoV(qqT7)`50yes9Pa(Az_Uh{#=3YVan>;2O5 z`^Iz6eO=)V?!9z5o#C)(j8XnF(9!PZhwg8FkUY5$t*J>PKsXz)QET>M_h?bxwo&Pw zVloi<?v;lJcQrpqz2#Q8an8bBEnpmjLXo(GZcViT4@Zpi{IPwb-!rS#=lzN~-mjkH z{i<s3F-L}Nu&J&u8RFCM@<hR)5X&*=XPLf26Ep5`#G+@*KufP>MozP1`P&6vTc$P` zRrv)Zrt8V<@&azvwkt}-(?%#?Q`!P_U1RUCO4>;>S&=^J{^p0GV(RH*>LAvz+MIt+ zeige8ELJO3VIfS3!{SfohDBvj0<ov=Z(qS{&{*iwc5;|ls%vfNa%BRhv98+csSj)< ztz;Fl1YTaXp+5Lub5=&FaWG7EJqm(((Ap%=pR>|)%auMuCHfz1*G<m)$Eu!JttxO^ zU+ujRUFk7RIh-<ekGs^DxW;%|>Ypg4IqE8eROhsHrK&xy>gh^nBwFkI9-nqKKLDkj z$;djC5l0M8a;bq&Ch#96G$=ycRM+=UaOgoYW;nvEYP9UCeL7ifFV%K64@Et}?m|z0 z5UPA2S>?*m)6#NJv1$UM4e(Er)&7)f#n&>9${GD(s8E}%usHN%GkVq0;Bo&?67YBk zu|iMTqru~2$!fQ{Y8`#C8J!vicuBJCme7R(f&m^GjHf4Szcf+XEm*A62#o(Vm6+Gh zEV5$CJHMMyntR2|7o-<!+i(c=r`H~q+Jo)ugX{1kNdi>P<4hatJqg_t4T7?Kl7CY~ z>zcsVq}RKQp55Ve8g2}Q<r^#)ZgQ{VQt4l>a@+ZTMkD_H)^~4fEqu+t#|ntOzpU^n z{~m>!VKEeI5;uEqW__JEG2IkDOwAYxwY}5*j>v~8X=G~1K|)8%V+7{zTZscI@v*Ty zEu25SB~5_thFN|Yta)X{b(QtG;-eCv`>$>d+yung077BQ6LL%(ps5;VreJ3cDR%%x z$9(NQSe7Rm^WbR%Hs%9C`PmIk;2F%UMO%q>>#2<>J8;&}^<Sg;Z2P6Qmiw}}GQ~Z1 zI3mMuo>c<gy>6r?i0v|DO=>G;S~JaiZ~=VQHfI}LslcAn^|(g%P-d|Cvr?1yao;jK zd@&{z#OEx3QjVP}+=7|4jZPM%y3PS*!a)t^2xSIn5Bo2FpaHi)*R`1M#^-MXJjP%5 z=hE#00ZNGWFk`YJ)%6o*%k3-uGskChs>!Xp%wkXKn|(Me+JRl_EB!oix$}cNo-pU& zk8`yR_>n&Qw@>{tR9TA;qPe|4@7u_%1?bH?W54Swegpsgxh9r&KM!`|BeiptjhngD zas7%-8SNBEG52M*#&s?+ei}5iQuzfe5F4TH7doGcQpbPPo$b%G*=dOe00xt?GOOI` z+#h?j+PxZzy;|d5$yN^)o7^icJ`J^I)~<6e%(Z1N&UG*TJu0!D@qmx#s(g0C`d0bu z8BZopiB`q6s2RLFR!F#$>T;V~da>TUaI36Y1cXX;eo;LbMSWe!CrEgt>-E2NucGSc zyX(deP6gbHxdwNanurFcBv@+bU{udHbdQSN$$w|`YXX_|)!Os(Qv**#P&tnlBbMmL z{c5#FB!N8Pn*8ha!ya**W!B^DQ5!mL=OFm+dfG(u-^%=C$Ky5aH8uUkRIdKy)`x$| zJDk~P{G>HA)S7wi`L3pwH*m`Z=ByOwE7~!zhmpPGo#vl${+MXL%y_^JhDL|7O_#d8 zvtXZ0W3f^|dKIzqZF)pi(<3e#DDLoxewiVrZ#b?a12=p=Bz|_=tC<Q}LU?SM5cRSX z6En?GR0>~v8GJxHa(b_S>__BlQH|U6wtR}UBh=7){X-4ZLU9Fqww=H!UM^A`i_=tK zKedG)pX|F**hMJZE?-rw_0vP^dar+IDBCW96Dw2`3hBKs6fOHkt8sp^#<#*Qq~7}) z+4haeLjM>F>Af%H6lOPy6<V$`AU+a`>%A`yAYN?0Sd#Lxttl@Xi;bQb?T)_Mw-MA( zKBHblpPv;zd)<`Jjj_)&__~;_KTvE>%ltqftK?{heOY_&3k{k*tRLpBt8#v#ppTp5 z{zJO&_@(v=*-%a0sQ4|}=D5|zajP!|aOPHLEQ|K=4MHgPSeZlqa`=2v@A)1r7!gZ{ z{3Y@gM?3PR?R<ke1AkI<)1gKBC9h@KU4b(+UwVVSNrBQ2#5Y^f{s$H`NF>WaYvTIj z2QGlv9gKJc^7@%)c#JQf-0@JT$?jM2<!k(RE&sia|1RRcef)PX|Cv9cV-k_V0xq%5 zkSfjyyjL0m(nKCKIr_%YFl&mt_#aLQy~FP?&6Gt?&W%kLp35rUO>ry{zrnaH+|mU` z{<o`zmMIg~&SQj?2U|$IZ>p11rP_yjxv{uye4J(&3H#uAV9+tJ%(1T~zu$+51ATFL z*So!*4Dm16A~<XC`fFQ{SV}unqkx*i>XiaA4qA)keKrj;!tAC=uQyqlwiUu*`kOF! zT|p2U&}kljt}$`m9EQk1%lE0969>*F-iBvPdji)*dt)C7?+#1l(`Pyf>5PyRhk!-J zfNy+7e88vKfFoku*SApklV<V2H}isP56|{h3xJQ4CtsZH1&_tAyZ9uG0k#J74$kac zh)!u%T-^Vn@nYJvv4W<?VJG)zQgw>X#SrbWO!}P@K^f_GJR<w}^n2Y8+YoEpY(FH+ zk5ghRmC`=e0%fq)kJ{F=7uTkb2Shd%Ua9PYc-fkASwX;+Wx?15VE$TsFjl)!hOv`u zM}6$AwkTjbMzqs)*%e04joCEaj#Ht$>th=#iJf9LuB6o0<P^&?n)=3uy4;2ZS$0dG z%$!@7d1Gzn)I#qIysv*)p$DhZzcudmf`*KS2k@rZ%J<m=*fZp@uW(nbY7cu4>~g*X z47YU@mHC^xSeZ5?{+JxSeyib{<^Rp%<TXfDwoM!!2Ak^rE8F%N3;n&G;`X^gpNkGC zLvVC_#HH8aP~266g}*`%O$*kXw(a@;speW(g5I%3*A49s7|@y6h(!RP3*eK)*kOk9 z>ZCC@2GBvZ`-kA)xcI*h7hOspSPqLJ9xX6wF%HHSgS>*a1=ovV<^jQmnh%c6Husnf zB<ltpFSn^DPQxql*&D;?q5o9ZKNvuwO}YIvXxnM~10<S`Q~4em)p&tCd||&f(VR2c z_`;dCI=)O>3vEPj?G2!&*#<@vnk~Li0H&M)7!@zJR{zR3zgD_ChYk<8oo(1wKGSW& zvXbXppi_+h#P_c%Ss-FDx4Um(VNEV=3+`<qd_RR38W$X8={4Jn1oD=V+$|4VVM8Wg zxG-bvCzL!xTP4sTyKQ;>B_TKt>1na=aj8|7oNZL%gQgu9GFqJMuq};h{Ikk_pi~oL zEVVKCZ}kMTdffihd$m0=g^C-3EeXeR3WEDT@(y?`J%T(iop#!)(+EvDpZf$JBSt*o zMvUU&_AgC82GLniLJ8_Jo3vSJm5HS|1kj@9*!pr!(4Gcp2d-Q^TEi^);A_H{U7ct; zRnO1YM*2B@b_~?olsg%(i`QoVa<2L2w9!7If?6VWZ&{$0F)vR8lW3V7TmW0V9%xrc z!FQZ2!7~v9i|tBP#+Uql=V$rGe{b+N*p$(!3jA&VZGE=6G25~%yJ_jJi~ata?du~p z{T5vJ#s8T>&(Nv=113-KAM$ksRDjLcCY1Q#b<oXJw&qUQU5yOMk<?cZ38Oy3A>Tj4 z?GEGYNv6K?piI(Hg$OFt1jF2C`mjx>;bJWU+9<5g1V218zx;&m=DT+_-~H9P75&{U zcfo2pW==@m{39(t&jp4<u>oFgXLHFVG=zKKg%i8xj0ZChKay|FZhEkF@d&o)gE27* zYp1G0J|1i(psu_5PCCJ%1==AUcD3A@`uYRAHr<{2`gbz8n;s^X<&j_2jc{V5d!Z8% zyEakeJG<U{SL*B2nV&rJMEApW%&o6`?E+=?ac#Iaa1p<i<$B8#r=_tB*ysmh(_n5j zsocv=o*%RUGB<m9bH7b^03J-(?Xk?17Vc7n{3E|=|LNhzk#2eJG}=wQHXUZH>HI28 zXTh#!X4vQYUGAseLRp~02cWZG(AodU6An7BmGkLAQ%(*7dz<LN?52S;?#*l(*wy@> zfcT_}rH6t!&T7~cU5#PK2R=4M{0nzz+BRe&e+K+;dD38V@eQcO1<5F}`R0kjchD)| z0GYM*Wow`S=PnVa#hE||kaO`9xjPPwv$spNHXl52*NKvv1y?EcapHskf#djr5iT$5 z&5l2Bj9u`l!E`tOOjdzBj)<A*Slq-K({%E1AT4*-d0tCEIIds1tNCX@2u}%Ob99~& z24}J%Y_nVzn*609i_&&zYZ#TBM;E`BZ1(?f_deipUFDs>?8u2s1*3ooE_EAI40Wg} zE*rpM!y;3QDr^K!h}mp6Stz7gf?dc4DG99|%N`BU=z4<LI=e145L%bIt+#c-w4!T3 z4r-(XZ&88@YOC&}1OYRVTGXI|5)9eT_j}I0b4QYsbj$AZdwzZr&AsQIzwdd^d)~k2 zu-wk=xbRnNW3}tkYJc0+&f`Up?p+W6P<xk%sfV&p^##FZ=3Ux-B}3bK%I5ryrthPh zwD{V?YHWSmK-YJAANSS7WLzgoeML+3^2aN;Yqa|5Py!Vu@fIr{5E1D)Q(kiyyRsRx zNpH`b7kA5V0AaCU4?d}Aj=15aTl6*ZI%uTtk`I=}pX3VsW7zZIvai6y?EcCXPZl2s zilf{;Te$NZo+>UCr$5Nxmjb^igOlIBY%8K+_{)r*B($LXtj25X{Rp5_NE%JG-wX4t zuU;m~KuhuB95d|zSXc2yNAiJ=FM|^ZThq;y_mK>mIFA!j44*t%_rFq>bE=|OzMzgN zFghUL3*DJ9rqnb$i(_s1fhHCl4cWe<T06%1+cfh_p4d2F13SKq2^WsI+;ys(J=3%B z>&zR=$L=7Sl^L*vnP-slJ+hN*`GFPpLg|wpBJe)QgXdH1m|awEITCAHK}q>Sz{h1> z`+);5r)J*SkgPE?mZs`^?RqgKHa}l#B$NsRk^(ySF@;z4m9eaJ6Phb>H?Df|sR!T4 zm*1r={Ys<yxBUN%@GCv=8mc2SgT-7J*(YO#{t5rf_B`3Kkn||lg>E(f!j*66kj9^9 zi#qIfPd=EDrtY8BIC@=5jE<I?O1<lSyWT0*J}o7CK}yX^&jLjvcvmiHmO(iIR|U0e zR$ITX)GYts0Ew9Yx4qoK3QzMPzp)7Y_O`QHdcljU2fjbtnJM?Fs?q*8Tn$SLXF<_u zH3z$XZe-oDCLrs+cLSkFic4Ltg}Iw7_X~0!zcQH0qT66WOzs@o9LWxCRA2W*!*G6# z8fwD=IMf;LamT63r?y3JA<=*NI0bn%gTQY)H#izL3<}(!0=W&NY!NCJ=;<*+vqIQi zmdSiwL*~w0KaMWy$159hBBf?>D4p4y@n40~X0r^QhreXFIjA6X1C`NQi-CoQlcm=) z@Nuj(abqUWg46T=sR2%32dm{%)U<PmtXZya8)Y)kd@jw^Fs~b*YF_s|SMz$tCOoO= z3Z>g)CG8N};hDEbg!&8v@qRIUW0|`q)r0CMa%pc;G@-YQi4|}ljt=V@to{(})md-w zq2ZYEA<OPV;<tu2IyiiYR(pOkHuJH^1+N@n)QOsWJ1JqqVm9{ge5V0Irvnn@m(GLV zYsm5OEJyWQG?R|zP0evQ59JfjkBP7I0ETS{^NgMa<myYE1iqH@KC%_6v&NSnW1)1J z@ghV=jY|C@tN|rP4fk2cC5a)j#5iXOPb4lAXnPqz@NeCi$!kg7h7uOuymh`_ja~Ds zJ+b%HC9Qm+@9(If_PhKMnrnh-Yu;MZokJUy6I7Biw)?F*w;t7@HWn={q2zv{3f^Pw z>(mc_hM~wlzbpN`K7RHDYcO^gyXB8Vo4FD{?-KJP?b;^Qr4jw=!H{7j&;(Szh5cQI z9J*{%pL(0$zEEAlilg*UmY0->7l+YaTfPQfP>aR#wTL{J8YF)xpy;iR3~jC6d6zIJ zKM~S{n`?1>umj80=a#7zEj5&ORw|0xNBH9@iCy1$|7Nk*0Ge|rHkp~9$4Kngm#42= z5o`F|=7=4mqM7D__6u_<Z1Ci{h!g-kaK&>Ae|o=22#+r)e4a<yi^0;Zbe73R1IR|# zCVMGqYv`Uv%j~2)w8PG<@0L60=9D2@UZu~xz>{q>GdO=4d*GSEogoB@^!AsTmEyjO z!u}gfO%PB)HZ~^&Q+A7pY;1K>kQe%NCv|O;b4m-FmA<o(rbX_|RX*W<gBs*rjR6?3 z=Bv~so{y51cDxR0jL3js=N%P;cm@XXD^wO4#7Qvw#-!`3>VI=TFe|T!HzM){0y~*p zK@`LezCRSjWOB^BKXr`z4>V_PdhEuexijr<4=x$*1zO~0D~`Q>#?lsMFa*@AuS?*n znmHOX*QFgZku8i^w%ZQRfVeClymwO_-e$ggVF66GZ$&HZzt0g6v+3%oh6hRn9T{Ac zWrE?&vT1x3=*{uJeg$6rzldK7{=i8Gi~p&df#ZaF?TKc*L(?0V0CCW_ZufgYdo<og z`!gQT8RWdAhtsSwlL=f^YjvLjEW|Tdor_&yN;?xn53KG_!(*pooJt?!2|DBngO&TO zc=hNmYyW1@IrG0?tiMbxKV8_Kt~eijC_cU#Y)0TI+<6}$8a!Vp$Qywx&mF`PlD>SP z_IrG0Z?ANrh&WUE)bL-zg)pL&Z8;AXEHeTXO6O6}0E6qA>qm-zP`_Jwc*qYc2Rgpu zhw}!+bn~eh;N920iU#;OKm1(KRQp_LlPqp?&7w9xWM)yQp><V~$t0TC7@kF<l`;dS zFROZFU>oRc>*uh$&I|jy9v<j?ZhzM!1D((7@A~>c=bC;lEa`lHf7dq#Ixp()`sP6U z3;H|0MVAJ;ruth3x*qQDTrtq~NPp+bfv&Ijcb+%UHQnFYJka%x{?1hcUEl2QJb$3; zTm79E=-f#2or)-g0TS^G<Ta>l7vZ1e!Bn9cRH2BZD7e64-z_tzU#Y%0_{3C9R?le* zNO19-lnK~p&>BzKu&{{-FRdvf6yeslP!YZ0Z)V3~k+IS29yEGt%c)G8Mbl<jxNCoe zdhEm;PTiuTReX8u-_64VptOYI>0qXLTXXq2)t~v@l}z0H04OuNQFK>UjQN3f6mao< z>v>LqPNxX~h%xf627G^eXw6hwV4$PL8ulQysgYvY3ov+-VF2={Fc=pMCJciunfPi6 zl_TW^gDSozK}X2>ddtG&xInbfbO$Q=MZ;+5RYQNXxgtw|(6l&<G0`|~!oiK`KnP|^ z`$<oDgx=lqzdW&FrWcpK#ot8OJ<cKP$;PJoJ4UdVY3H6n4<~C8L1e^u4OK4~=o*PC zKi-{FteFgV6o&Z%fgnd`SlrC~7ge}xq`##Ozk0v=Lff#eniH)}W^rXRZ}a`ys(Hia z?zdHbTd^s;G2eirSxEFDyuIL6{HpMHP%TX7;OWQDi{Nh@^GR$v#i<K8*Pxf-ePyA) z<I~zgfZ;&br`OA!bL-;H;&pe+-(`*DI=ftl-Um~qP(0m0Lj#~H=iH_b3e0lSeeKU( zQ5+T@n(;s0A9mq_#x}J+*|9FccE6`BxxSU1_*3Rg=gQa5miJW4J=5qPKSlB*WezV? zB)ZUPHwr&u%caHx(Z#dOq2Iw_5SdCc$Zi6VLQtnyvp#c+&mFK-XUtMvEs~tpV1!6R zK!**GQPw4*`F$P#gDAm{N7$cHNaGt<xKqvrgGV*6uH&NUI|tuTe_5%M;ZU7{W5>Fo z8pnzYD-{dH?}{E)z-V#k0<`Bk+2BQfJC7q3^!7Zzt#}Yx<(O&K5_30<sm&c3q9ZF5 zAjCkYL)ZNE6whguLn4u563un(F<{B8r>!&EMuez9rU!LT3Yl3b4m2RB#gm?igkuu+ z%q7>KvQuTXe0kW4uG`Qe#V}kg!gL#q{F<cWC_ihf`@bcGl=iUtGqV=E!scs9cDy*e z%bH&JUFLh=>?!(|@`Rg`9UBwumwVPH*RLyg9K`pd+;sr=kMfRwJV44leMF>`_w+g_ zWv<*a%OO5!SfJ45>)D)oy+`-Coqo4@z$3(9O>Hbr==GJhBvgTzjTEU2^22Wk8mt{h zMV9^zh-)<!z!=N16V>xMsxg=EBIgqX3#Fir9ZT^KA4k^nn2)@XO_e1(H_-lb;HEjr z3xWgaZMzdYf{K?s2roH9g^`y$r4^E3_h6kHK~&4umYKJa#wRFz_#|wJpI{XAiFU&$ zP$zx?vGfI+qAxKK#2*%F)OJ|ka!UKdDS6@w&B3&j8du*d{qdyCx=~>Ja90DcE_8-j z7y<Ykmc;6ENv9AN?tGNG2fxXmq~Zh?#wCMxJ<Hy28I((Q_PwybU;X(LmFY-pWStIN z0pQRNpMtwf_Dm$#kCiLklHCY1<<K9oM!Pq(BzG%KC`ms+#kTTw8`glGYpWj*C&txw zdGj4-Mx~fyxi?i0P3H!q)7S>(g;cwooSChDyn<VHH00j!_ZIO9%Kifs5JaREN^Rtw z$$;6y8|2{+%)Sp*b_@bGwZ_bzTMhQ+714qp@XsEb)B%M%7VC20;CMO(Z~j)U*M(A# zDc1>T(ac-GTP?loYEcz&+=>;ItS(fac(NZ%JKis~ij%%kPdX3D<=Bld0gUY!gsgbF z8M_b7lL(3Uy;$*EDWN{8Z+2riUeo$bI>;JCthvgLqm`aRxpiYU{0WBwWNYlS3$b6a zr5)F?$De0{t>igAaP`W<=O1FOS3H*V97^^aO$Zk(-K+_R!K>&DCZXfq@74n+AAIHp z9x6SD%j-6P2hB`<OHxuAPbN=ENm+SY6HajAX)SoNj()9ATrny5s~b&X4|`r5hF%38 z8tHMLn32JwP<obH7fn5p;>IAem?6!ewNS&}M@IJzi_V$w5nKEmrt1>^e?R|ki@$o- z|NoKy3m02n4*Owdzs<HoFHX3O`fj+`ev7_k$84qNRAtXl<$B$mqhpyFaEm4a5P4-( zZ*u5K+yV-v+h`dgm1>%i1hnFXy4P$&KfOrP9E(Xgy<Cy*U%p|9ayn}%T*4?<jq0yF zEJTL)LX^J-ldjkJP_kz<xgPoQg!Yk3gQbrJ&M4qhPiVuTTWf%*R+N1?S?cSU!}Yvx zP<r)<wP#tAL0tkL_X_kHA*$h5#hO_cf<<@W3REDNXH48V|3XYeWMj*tr>hrNnoUe6 z`nSS~O|bF{f7*7*gXITKKYB6r`oYJMN!UDg4z+&vKizoajo+)4$0&6A364f$rBUhv zu>e!;ETnF@XGz#8(!7f^o!Nz#+as6CFWor>k?fCV--G>eDrym;n-~0I1pz-&tv}MD zjm8;zKWV!40~2m6Q}r+|<o-QSvPr%))&9=kr|4@%M?@PHAZ~Rk#&iJhHo+V8SX1q{ zXo{d6#KfI0KjC|tGxh2rN7ZJc<S&wEglJO!iTjb(tojK^vbCsVNe^0>)>~kui>Fs0 zJDb;`kGuaWX1(w0WF6^1=@5MkWDyzzkD>y_+y2n&bmGAs>zVJD>xo2`HcA-QE|-Dq zVQz+4<6nh)G8+%K2a}~{KAq*85(u6FAum}{2JHd}q@|#LXpCy%o<0xo=Km$_wZ*|p zz3B2&^$Xt=k!HK&Y=?BFq+$ZSTxKt4XSkM^xt2lBe81#@%f{|_O-z1XsQi-C%<=B$ z$HX80om;#FfoYLX@E}9{yg@Mtj9K#)6ez(gMWf5lbvN5;$MNcK$_RmWe#dbi_!&mL zky2TeXOiZ9h%bpZL6)a!Q1ugZCa1ypF3l_|F(_X$rNx6fKJRA~YdV=@|DPi9<PzS0 z`^-&Q`P@9^yAPVS#`g?eq3YGI$}XTG9Lt8#Q?E?jM_F@@j@&YUWV5Q98TQTq!^Fxu zX`SmyDFF$FfZu{~8gtk+4`&?PWp20jL5+H(gBX>W%V^+Jo`L|cjL~{G$W;F}(!7r{ z>dmJjSU%<F0G3<unqjG)Nmu+P%4Vd14=Ed4eV#vzsVcCvQE3v+zUb9A>!Uk!<R<eU zL%f8YMn^KKd_pkvzzt_cw1)+3Q!q_Wo7(&Y@JC^tr#2Y%cVk4HdfiICNe-Jf-T6mX z3y;oZ>KqCt&%7GHEoxHRKm*-rv$+bI5*!pHjRl>Ijyi-t)aFOo>c+nn;!THqJ>BUU z3tIv~9%yc{&KrYS6jcxz>E1XUK}?isUfr9yoQXD_nDC5i5T9pYbxeQ&3gE^BXb~6M zHK)pyi(z1t63OzNpkD^Z=|;-{X96vy|Cd?}UI5&Q4v3r8L)|jWmY;6f-S2<j&FO~U zU>N?Gful1Fs<pos@=s~Fz>bQ7vp?|BXF+{EnX9*uEue|mz+VP>L{zTyS(yvS*}gs? zV=$`M1gq7|E1a+QocWGeDI0<g1Xen5U#}JuGEX(w4pL7^d9Me5#EnbsQwDp;X(dqK zs(@$dXy#xo+}}beh!q%tnggUQ31xPs?_<?t<eAc9_C{$fSfYqAGq2|hszH|Zqp5B` zD|l}xSpOVPt7UOM8W-xLL7G{q@{q9G{v=c<MM{*Z_N1*F!<Buc9bnA7*4-BvH?z{* zb>VMg*V|oqI_vthyH0+HmyK2F{S07w+fsX#rj^Av`(nmhlh4DVWx5dUPNJN(QVL$3 zhmlcnm%l*Ye<gg6(?VY-aVj2ZHd98N6)X!AjKwVmmT2|s5E&gMx8QwR_d}^n08T7Y zyTH{3$AdztLQ7i3nn_ln)qnEqJu9?+$o?JGpz|q|Vn|IYoG_SMk&z|>1jQz3>u0XM zdLzx>7HlbPqTeE4jtx_vXMVzEgaP`nuO^a}$i}0OyF3id(mT^`K?Fj#(Db-l|2p5T z9_AGzPmq_?rI(3q@hL$m8CuY~WTh{GMWiL*NLVJtVPYb}`dFK-k5y|~R4&gA2y5^x zf-gF2nju>4b7#efvVb$r>?0Fe0C}xlrmTyu;y4#)X5(~!fFZBPkHl6XOX)fan!i}y z9{unXAv$X$^(#NiRLfl?(wsMLdjk}^1?tsW{qC!!Z%HZkCeP^ww{Fn#k&M$o-QV-I z9Ceo@KdrS?yVIC6E9C|%d<d2mGrUL7C;7}xF@L#3DW@6_rGz-5IeOY`AR^ho$WU8$ zXd$)b4lU#@cW7a3Nrx7WGu3DW3#DlzH_q)B6h1f+pQ|k}q^GMZ#r_P(Gzrc+7x>Ok zI{}E`P}U~UFjV|<J=7L&IOEd#Gw@b@Roo8PNjB@M>Ft=63qCyejBFmjf;)-A0iE<v zHxi`>bdJJ;?;OHYgWLUdC{KOJnb(S~Y;YqYnB+rs3>P|kU;7#sK6~686b*VE90BSC zaNSq)<oD^(CQk3nABrpvvsq^D41Itj@-NpeOYb6<LLpcY*MeTr2ue+%U0~)#qfiPh znh<U%{<XTw+m>b+s>yNG5J5p$FlGL$5vE`aVh?&YAGbN4nM}=}^p#y`K^64v3D2Ti zA4@RwX=Vh#Lf^aiGINKJLa0ZLKayipQJl9wC-9n_O$K&=c@r`Rhgl6?+w|V<G>nLd z35Izqs*c)2UPu^1Cu{%1k94RxMH7zJT$MwUVaZZcZ63((m^r(JJ|4q)`r)?Kpe1j) z3$S=gFTfh|kk5AuYn|@`TBw&o|IAxUtYbBAT1KZl9Z)4CyTS*pZPffIL5l!$P~n48 zOlH}XTD6DKkUWeUNXmr+E1L{}L6=}i1s{MoSm;Zfg1T;H_q(k&UQxL7zvSx0gZoyZ zY(mqa{!=R+j3OlY!f_#Q0vBkY`^CmR02TVxf+AK67>^2A$0=o>d7J#1K~T_wOs5(@ zUgl4MkD8ZyS1e~Jhw%dx;<!X1W#hD7X4BDBBj0%~n+g9+-`Aw((z9$OBOUYV;LJ|i zVj1gR1GbMjZ-T*gxRA6CAWv`2KDcIG?*oOmD2QVWCqsM~5)cy!UR<*;yvE%OX5^E! zU=EwTiqUY2-YtovQkMAlUYc9rnLfnZ+loS;gl{%Wb-MOPh8jC&HJ&p|y*LlF0%dIs zHhs?P{ek3J4B-QAIA&mf8%sJ-hGIx)3G3XwN3N~ze5loaX=r}%bzKQ_^M+<^FmGtF zYgaX7)YsE2Z1FxEjM&UfWS=wEx=^~&8pX_b91OOi@NeJ)1dlN=_4J(BGWVRlCLQ1p z(r*MX#!>kUZ?p`1;iv=?O@m?yOQYn?#15)krpVfcB06U!>lQS;D)znsg4~{B49gNT zO6rM()>hs4EhG5>C}5=e^WT+Y#Aun*_8&vj^SytR6bqoj@UfP#l3>e1`_uX2VGGYX zR)^PjKy2WpnUC<9d6NsKBh{J<Lx`Z1l43SY=7r_9<f`WK_GX9z0=pSH46C%fq@~;b zz^Fc5Zb@Tow;?j5{#^JQTvMeBP1lCYC{o6awXoXfGeQ=w3m(F1O2^=Zn_m}_t6Q-5 zzqzG+5vTX=r3UC)_0^@7q7IQwde=?w?Wx{*t5}{{^^5_DhgWm8oeVtAZ!HMZC>&2E zef!40b{<v1X@JSL9{1f({_x7yQ~U3J8xwED*3OJ&>V(hzx>_1#pHNFL)v(2_V&c}^ zK&qw&npa%DmjmPU!n98Hx1#+}6%{77u7R%p#%|R_^{(kvDc>tTVdFEab_P=fUQH}T zZI<R`3#AUPoqWhZI$%1Cb<P+uv6%si^Ppdu0``$#Q-{1`F|-$@eb7}k&_5<+7?!-X zmmw12;-h`*;(u}BvRe`60LFUu7!CvOMqnJGk*1mLE;}T4{!fQqvX}1hS%=S2qf$47 z8i&GR!6D5EupTEdIT+|78Gjt|5*kW7#>TeycRYmbkj}UFn0d;WD{#Fy?1+fQ`)If1 z$Ys>$#BIWi&JD(LIG(oR&<3bXjI&AgcE4#O=@d-^(jJ`E7|B_kpsEt|*Mtogn4&zB z&iDCp=XxH*-#nTZfFyi4^-^G!^<gTDNo8l5Qq|SQ%?U{-@_F8$Hs+QWQp8ylP2?~1 zou*QCi(}{*lXfmo$@@$L&L-RTi8JZ`cY!3ZE_%kbF2tE8?Q8W3j#ZEJKiP3MxpJT_ zNP^ytRGf)QCHF64iVO9Q@Imbe`f>-+?ghJWYniTOvN=x@OVquTL^4)Mh*DEkd#G)s z<E(O6a)+2?{H**Zx2Gdsv+R)wDOK;9Ek0ae+d>1limFC}hF!za&C+x7tQ?Xr>FD`< zt^G9gLc5b#STTI^<r0o(+&dPA7MWp<%f+d^AtyKs?22EBG{t;BQ#LO0!OG-U4FZ(F zzEW|a^k=juXoZ<!(Lsse&4xuJf+|E>tLo38*LNuqi9%_gOF_iOg%kXORvTQ_6NyQj zYM7MyWVO^$LFFg4*Jva&@CoGb)N=BR9wAb3PKWgv!T()QJi<@`esKs?c@1+es^J4q z+3Kc*zCkb@-Y)+~<0E+(OkExh5`CbNED~V25a~fLBN7uu5Xu~nz+^5U48)>1OfV<) zX};TYD>fbt5m!q()dr>~maYB3J+5n>hQk~|?Xe4SZ3o17!tC#ErhTfNZ1LoSar_4m zTP-riy}`DRXKDE2m+v^=xWTSLwL$~Tv`No+WlySW6j4oejR;9?7#P=7cVp+#JedwK ziISyY4#uqu4;3+6J0IM<f@zwR=>e{i$(@Zbj?j(V(Qvz9yhtDF_3+f^gG3c?boKNI zm>@YU3s^@}V1c1*NZ8;;F(U<FodGG)>;kL_1M862$Y=^I-y<RH@*0tvm?sJdSi{CU z#<)h31wO((qm?}qV4GB`%L3~ySV0XeHXJR$Lg^)L4uFkXrdMTNR6H;M1a>>%kLx1l zaYVW?AAJR{xBK=*2|e=5G`_?7b^nqlb-Z|b?6E@I){T!9E^Oyd+t&4Z;!oSwwR+-D z+txNc@uzJC|6kF<Tc`ejs^i5WCJlrL2vWFH7cmFmnrblX@Btj$&<uc^o`EbMT>s;d zkt6LJT&#V4_}LVGHtI)YnW$p1hak#$|5ipfEvy1_CIXoWYqJ<uWkWn^ake?rk1ZFE z{`B9O9;i&~)5g<>u4ekVH9<eea)zx2DcY7j@5S1>U`&A)uo+Q)HskuI)0L2q?|<s? zyw%6&fG!Xue8}cCLkc3;{RUWx%tv$nveSE?4@n4eCGA)F3Tc~pA&JbZbb_fR9CViK zH$8*AnI@7FYXD`LAj+n>o<|MvT|$klTIOr#&~r>WQ$JB5{73KYd#JGOG)%{z3wW12 zAe+%gzu5P;g>4VO?<iJJ$YiQJYtR57jw)Ek*~KZpU7Q6A!f++8)_2_>B?gYPi(^5D zsfEnX<>6;b_}LbI+QZM4;iohFToZn_ho9@h&$Z#_hVb)_@UtuYygU4Kho77EBc_JA zMBHde$zh%!0=?jh&ng$Yiy#1OyCF`ziw3W%$z42UhxQsF&K6H^+Bvi?#`DajObG|L z3gBLG-ndeJ=PR-=b8>9T#_-e{GiDlHcqh<2W0CGji>wJ5^X$=z!d*Q^5%$N8xiY(4 z25u>?`-W4wHiUX8vMyKTvb4y$_&E|3hM%2F8<{R^vcq<ghu>oSQRSVxz-c#hw!HNQ z13voa)X&QfNC%S7W$P81%N7ic6va+SH<QCYLkb(ts2-T5VSclY@)XC$lL?={8oT^t zT=J9AiHVRELD%g}kct>$BFIjUKl-iz-fY}?#VM9U_zZ+6bhKE{aAnUlo;BK$G|k?= zF{@_V_vij5?noOY|7u4%Lq78mQ1|t27bWo*kWJ7|hRWA0ZF_Zb3VIMeGgV94*5oc} zdu!VEy0q=>xwfIfjM;5_%Uqkmz^`I6M%uSUYBtiY+X02Il0Z6t_X&is6+RM-Jdre! zCr~b^W6GY$X3rKzifs0Nh#T=pdt8XL;+1KzV-TP6gILT$-#uvJ!Yg7-j7mZ=$+7?^ z2K@jkob*F$n813*6NwH7IzG~IETHieyn5}$bTOeQEH%C=+Fl3ET<Qgm)*r@GF1B6G z>)J&!`&{NBbH_ZhVT5v-J3zQe3U<bM0WNu2yX0lqCw+HPaq2wOoaK_dE4i4(zoj8T zaR@`>iYCPa=xJrs3}y7Bz7FBmXD<D?YLgTQk{);Z2~^J*z>Zl;ItCO{5FESg^d1Co z;KYi;^N}DZodueLFhYhp9I7<LV5|lJq9<J!5G6aR*TViUGrOLGjrLn+X&{y!MJX>r zcTZ@8o1zfcaSfZf^v0y)Be}Mcj-z5Jj?l4a!u<$Iu*t6Mh>`vXDM{Bo=q>K`wsdHu z<Dh12q~k#N=?_1BT42sGR12|e^zjfNV0j**TXu9l1WLEM0|yBh;>o^f2gt#P=VTvv z@`wJU<3Q5YpH6teZpnQ~$3X+;P}0!{&>cg-bV3t)laAi3g`s*2@f2Ep3ytVoY{Xu? z!96)R=%%fG;(Id6(OPKaJb<nV)M>#WiXGgPa3kj$(+iljnH$LB_>>`({aZ$Ld#2tm zZ|)fn14-`Qt!4Td`3c8nQi-DasSCAgn|gj<2OCoi-%tQZO>!BH+`?sJ-2>5+8o;>c z<qm)Z${plyiY_T~e89*t9ayTMVW=N2n(6O+eor9nk)P0h@WA&TEkAhr@r(DJZtBHy zJz9LI>2$U2^doH&WbjB|2;4~&|A*oI>ih|`s<A$K(#&gnZbu*`tk%J@a5ii>pxUe- zpcK`an~cjapT5fhY-WuHOXhqEd!5t_&Q>w{&s<FQG~I_ZhYu@f5KqV;VaqU~ZIqg{ zKvPvOp{g2^Z`v)DXzuM38V7%%EsgzOkjf?F9;l0cQ5XG}fY0HHK}yjuG=aCV>NJ*j zNs^8+Pug2_0xk(G)JZ>V@{TcSl8UE8i&Q~d+gL$Ds^Vxn@0I|j*igcqI#WjSshKZ( z6r01m27U8y%=9d77M#Pnnrrq<+U#iRh&k?N#|UUe_BAf|GN8<*2eqdT+#YkYW6L&c ztNaps1q&e{K;Xy4R~TMAfB*o@2mrvCgM~V1nG^uT{yOaks(^{M1UN-j!4~hN$#$km z3WdpD9xNB(n^Y)%jlIwyn5YGF<wU>?c!Y4*Vd-Pe5tCmco0-7#0(Se5^CdDmkyPlD zgN|EVq5C)ZY_ehYX2NrSW(I!;rHh!Q>7X(oW_bW#7M<X)ibdMT<Z?SKYaz~7_*ewM zk6TT3=8^~Xb*wh#%@55YRWufcmY=im16q({wcns{)X9QEKrXw-^r$XhJX*heah2~e zJyl$2+54X8#x0-JX<UvSW}5XG0}&>b6J9STc<`1ZpVZ~D_5hG9-7p%f>1ZbJ@<TK4 zp1ID}ydf@X1Stlcc`$~x)(2~DVa(^B?`dJ*!yupwzC+3#;37LAD#xLjpx$B?j@5qC ztpH>;#NF&)^n!cAh?g}WkLMDCgF8%uQ0dY{K?h-aaCcwrEr;#cHqzsmCh&WXUP~`% z7MFP3tMj;*%yD1eMX~1=zJLe+=p|p3|F#_PI_{|+djcBYb&tdLBHq$-m{qu~Hl1J; z9@iLySZ|Yf9k9l|*wIHqASRqgMy&mpVu=p{WOe#VNl4@(`5dCe+Ct~EPT0iSvatm9 zHALN~j>2xho6d>_;u;I^dd_V@#^xvoC4?*ma{2Vx<;yb}ZIxPv`0{7;GwSo8+?fJk zo{Rmsn%o2ne+h^|Ab~tER8r_U_lFwop#Z#1cuCM96KR}3yf!9H3VW_0UE=xcG`Fg4 z$|#R4uop!M$nWFYrgU^SFFucp9N@*2k0QdM3K&CUNMQ%K^|Q4dx!MbrPa2`rLQTBQ z(=>usmPVk^yF=Tdx#&u#ksyd%g2la>T)j5wnN4n8dkNtlQ^}smOMaL-{mT!i<4pDK zKYSd-vCGL*^tbTA_rN~XKJiq&q&pE5u{)ucKq&SyLg@7=^q+ArN2{OxfqFSA^nTi2 z7NbTpZ=XRwwC$Ph4{R7r75f4Y8)V83j4gBL?cj3sCGCd894I9!Hp%J+myF*$H~V>= zeFLZntOJEuSGWAt%xfvzySOY!o0Vll=6SiY-ex9i?=;rn3==CBj|)0a8jS<07Vf+> zpjOynz(DUsx)l!_o_aJh?h<4Edq&hDe&E4q^?p{n&PCv~h@q_fUx(~VGT#P|LFV9a zx3n$wt~fLSjulUDw8~c20eSpnY^ePAYC%<ThP4C#?(IrwoC;IQTYW!4L^?i;Od#9) zA<}0UkkK7Ya6YS}qNd4iI<5sLitcWVyAQf~qM;9e=FBi^kW=#nIwiTV|6q`HM7%Ev zQ!s-8i&+-+FmcX<PP6>*%+D;7Q2-6VS81ce!!eRR^DhkS%h{k^5<eU*C#U{FCigk; z2D$*!%?lG3`wPOvHI&azB3)W?ne!}(7G2Y<>O&oYg@U@@P;oqAx+y(2BZ%V1cxmX& z!btBBxTb%V(ne-c;45w5L93_9+g9cT`B&FrcnYCr{%fx1g;AWZC<HAI7|lsIitLL& zp%RWp^k0=IRRf=tv|j^)zE|;cg}cT{3mqt*E<aL!*2o)Lwo&oO8yFK>kkVNuw|dpD ztYm;*-KFj7qC09`+={03r9~dI=}S<)#cXY=DtwVPgfKXbGu3{@m$f02+KZ5TKqfOG zdu2hLn41-Bfb2EJp<Rj7QsA!odmylQv`+xuk&?plRC8@oE8DMuiM?s)04b2g%6gAT z8PkS~_geXQZ~5+Z>S(EzzoC1|mA3jM<66>cU)D_H{Qvd~)V!(_w^dr}HvLMVsonzX zTv@|oI3q0Nfxj-bIkWzH;{O|6NkSq5mkYDrO1<^un0D*Ui7R2Yr4&mlssd4(7s>0T z7T2r4)C=?IgjB0u312nz;zHrJmn4QlVrUglx9%L1i_zW6RK8GLUij?xbf8fjp~vY# zi6m?UdP%?_*HgKowfxBEFD}hoRla+kIsV=^Pd~aUDe1Ai9XFTeN=5CLTdKeFH!7)@ z&;u!gJej%(Cd{h;%2)NS=R<jNGyew$jAm}}%r~pPlK*mX4ARAO(l?Z&W~+qrJBMCb zK8<XBy7qi{@zV=GX5om~&n6f5--;^vb4S@d>L|MhpAZYb?~L1a3l(K7_m5>M_w|nR z9FcOlar~lCGN=vE6Q1Cl_<h5oHT7e%u*dG3T?@)pRnxV3E;C5M`%VkX%O*u59ev7G zE-e6`TEcpjvZSK7%7<5$S909ivsZxg*Ljxow>Z>VE?vt*qxPuw1I+jLm0rUKdasPu z$cgSo7JS3CB0pF1CGlV5?I5K@MJh^POt7B&0+raU5+XEEsLowCmMc<}^7vjJ->Gk% zH<v4lp-now%N0l3cHSOiZ`*gLBvQ4g#nKyT@y4X2l7ZU2N?iy+xTP(mj+D0XSN}#z zo%|JiMoR73)8*OIrtC>btbZdu`c5UnDetZd63(YcXDT`yFX{`+C6!CU-->EuLEQB+ zQHzc~p&q*szbmCI;rG0rTa%J<l}qdSOMJbnC*$rHChj`xKoxEqZB8ocI#%AFPMo>y ztc!D%J;0E|>(#|wAgQQtRPd3R?tgZxd;aCEhOs3TfeszU+O!XvhXAp1Niz|i-Fbl~ z@dWra0J`)JQcdXe4tziKpTvWtkSiScp*Fw>JxzSl3>94Gs@|=?6(!0SLeaQr4RtJg zoYpqy(sw8we`nT=l$54_Y!KlgwgvIy9ooy^a%oNWoZvQSIA0jP;rke}&a@^TU|LY9 z31QdYY<^J?2-k?91hb=I5)$sp^|!dN>W){ZgLBd5(WIimEmtzBs0^0@FzZ)^K=jaH z!{}d}jv<U*qoj52%8f%)LU<0K(>8RW(>&;kCJnU&!_~WIN)H;YAd$i*4A({e&xY%w z|Loza)Z*bPEle;wEYEScAvr+7jTuww!;M*Yzm+{Il-k{y&V_-b&Uu)3yOLIPNK2;^ zlFc!5r)%fIbgz!|b*Af_vjc7htX(`19oRbuWwG8ZWq$ijuLt}Woh%B4{y;d&SC$U) zqS@)_m!j-ImOjLb)6rgEr*UbY*F$(sD%bLiIMJ5w0-SeL`Z}?8DhJ=+s(L}!zUQ0s z?5}hkOgZycKIB{#tT2&RU$2y)-tV2D^Fh78@AM?k(G=W^!Ju5aMjhzr_2#tQow;3q zU5Fk=v%o&r5&H3S^n)$DM!<Z_OCSk*lWl0=D=LiBM#+`Xo+`#J@ZQjC-2i`JaVeOn zbClY$eC|-^GjCsq{}lQ@s_}<`vR^lQkfE1w9e(rQioTHl;~W#-UwTr+Zu!jwga~f( zC}QWSyJ^6=aqE&U>2&wzBvk7PQ8|S{-m7y2n%mF-E&&qo&&<QiZeRGR^&;x|HojiV z_ukdAWJLWmS%}x?j;|`*brWWseZyjDa3u)x9gwZdXZLk{hl`#c;}RpYJPc<u!<l)X zxCUg4h)YM`0yklu5$GpPJ|A%$RRpQjeiD<;ga1J^ZmkY}<8dwXo)?D$&@mg%qPk!o z;)dwQnr41dH;G6WM$5rMkvUObW+%#luE+X2*XQEhHs<?lZsxjRHGvP`X0^cC@>ViQ zN|mYGPSaOk5$s8?mffW;!2TA;lQgER{_f(GuX)}XVLH6(H>hl>@XD#4_6NLnS$(8H zfT#`cg&05Q2bkblnNdkY;T6)_JQVbNvaw_`lw5GCNw0+;Dd|)b@BLzL?A_n@OO{rv zQfBr$8{g@0zq8;GGPG%xIaS3DXvL!)pVp7A{+vdUlA{C3*0sf{W=$-_YSA}NQ1`K6 zrdsHorUF@D_6ZmLj5G-%M<Lu;!$K8-VKZf0KROKokWvWKS98*SEfeNbdt@RYX@l)U zXYkwGNYA7~p$|Wvy4&3bZsQob>Q>g+xTJh*h0)v<r&61P6g1r%5MsqzpsGTXJEqHy z0#;g4^Q=c7rwhQ^plb2&Y;aGEGX#3f+5FD~U)nT7Aq{dH($=KFYo|PPQkEITUj(Cu ztzhX&`Gc>6PF)=N+l;xx8n|%$FIrdd90;P|1xf<nr}ffn`Gp?DmG&OW7Z-k}@G(db z%cg&yWSTI-LP=q_u`9I>;ew{Cnw!dU*ARx#h7SF>J7m2#=6-sGtr%j#Gr-`P!DNm9 zJy*E`gk@X`z(4YWCqH!2wXu~UCR?FZSq*<k4Gz!3z_PjUA&b_!_F}AXAjDFgvh{<M zradT(2UF>oQ!p@YEL^-7$~wr1n`USN75*!nuwDtE!C*TN7*duitzi|1)`J|m!2#(( z^^eh}BN&yr+5|K=C1HcKp6$-xWBC_{36M(Tsp(0bUV8PSCxzsY?qC!i0V~+Q*2&-@ zSd*&EL>lRIQ}scF@FicE!=|eAeZf^p^cnrvutyo%O!Z%j423idHlf2MD=6U=?mnPY zJ?e)IIY)>}$1y9H$g2D}v{|1t61=+_BX#2m&2cw+DmP8}o9{tz#f8Oay>=-FhVKRb z73Ge@WJrC^th&C+eOy<@HzGprP&A7k)M0mrOethKJY+cQJ-9CL4uB6?fl1jzN!LL% zo&QrOVle|$cp$CtK&-G|6&}bcIN%EP9y~F4r$X2=AV=8)I9#a0+FMLuj|$FxY^G2v z94tmGQ5%HjtTg@+E6SRRn%+KkVeuQQUAPzT2SlHxU`e`;K-1qt{-@5-Ne;Vpgyz+c zrz{|IHCflwWn_Zbo9>k}oLr%L?kjO0wNwnd`C$ze`rd3JLXow3rBC4a5Hyf0c9At4 z^_B|Z-R6<*$iC@4>sZotn2}+gjF2eJ0xav9`^uf0^kCIVIK*wmgSs77=ck~>-iY2l z>FU#|%&SN1ZYB_kNj8;%)xGzx=!as_*L8U%VeFf0@F%nIk&zc48-}6ObQpojuMZ=9 z3&V*0qgO0xUX;oU4i)MJy1w(VXWf`w-F)LE50c)JLx^+{hLQI?f56Zd2mgIw5MU4A zm%_gEHACj9Cp10IBIXJU$*flz%-~J#GhY_fonm{|td@S&(!pe<>zF*easB>3^8aSQ zhdH9xAO}4RAOEd`yo*WQXwYbO11v<+Tt-+}JBa-@srytNwJTL&|L>etvbMsqwMTkJ zV7LKjN4@Pkc#N7QLXiiIr^1pbFKNCv1zlQ{orD(GxR8V>qk=j7AYVnvs?hfu)f6(C zDQC4-4ynr_AFDj4W}}uM#ehVZQX&d)1mTrx;_7wDXVl^)Uw!b0H<ll}afLA=v4T&F zaB)TI4(fpo%T}b1mpu016S0;Mwo&g>ry2|zr+S|nt8$jCPxY#D9a>aN=uqRxvRd4s z#*xWxv^iS)tVslT`+vpU@>H<72Tkt2VeMeqc`n-)@1M`qp9mIl7gNry6^r%7RXh{n z2dV+tV!oS(ZpJ9EIP0_xRa3Paj6zd7^i7^+cnYkg`=xCmnPy;$lPflfdT(}`Y^t>v zgwO02()b4hXZAAAf=lajxVsL{_X-Sad)&ss!d+?jWoFjL$BCeN)pv#}csbuMqhLn- zf{hYX5%J4s)r+z^BvbrTnqa3J_?$EH8yFVnDTxd9i5NtV+Z!wIIHfD%xrDO01qTw3 zb^T?h?||2x5<lelJ=qaE;geWf>q(>od<N;mXC81M(C0c9SQgp;w*dv5EFu&{l>K)( z88A-CRbk4mO_M4PmyZpUR^X#>UXs``m0GXTWbe{A1A%W@mA8BrJ7x5=%l!A2^Ut;< zFpoeL^&FEiLI^%u`#JN5*=rYUD`L`3_uFm-+{WA|z{8|WYBM?$-LEt+k!7N0x-SDZ zH8g8ztNn;*r)~<gAqQq-a<p<LPCIKsX1D5>rzDCDnvo@~Ne1Cw8#I7$WdC=5t<FEU z-2sZ9YIDw0nuVC>PS<k^d5O8M{QwLd={OlG<U~9!V-<o7g2)FZjJ?Bb?}9m9O27NG zKKzf+j1>-i$~Bx&4e~$?^Aen)?8~b{ws+~A(BLR!SE6H7DkMCXG4aQEu_MwRc;n*( z?av1J2Ci6vFK7$zcsEHMmU&ds5IpV)d^HA=a13q9=jC?{r;Cb~ZCtZ6JF#d-bLV`e zhg?=C?ia`=kPhijq4ci6xBXw>ciG1z*=ffM5AZX3V1)ghz(LRI@QrdRPG2w$65%U> z_!=y)W*Vy>{40ogux4*<cGjb~!dV6#b_;Ft<v3}Yg!I_v=S|^@p4AE39`@=8s~um( z!v25qW~=$b56cq?eD8@!d?e|(2mV1pJ%_cArv7-{7n@uhwktfS(&jJ9LObws50l>w z!NVUm<9f^ILRGa#jX2sp!N7z1$=B^ek;5UJEEhO-<ljSDE(iU1P|XI!WNXzU=pZyj z0TAEJO!~Go8Va|ig+`|PJ3i!GYg7PklLBi(@tz+W==cy!SKrsu?yR+suyVkV_@ly- z)r2{FMvBzXpIEcn%~33eQ@6POI=1(seT&%Mn_)YN^`+65vjdC8%NRY`ft8RJtJJ?* zSl9zZ`sllq#r4O~Pe1|4`^%k3DE$NNtpwY5_4jXWRmSjvb;d{*%~_$e$E5f0eaLwN zJ%{j<F~~~00oP&Gg&cgCx>Qs9I>8Zd5*|$|P|+REuIgDd{e}H4u6+U>9(-Ha_!m1? z=i_ZyFW_M=UN#estF1mQc-EqRQxAA>wk|nWzkuqpG3D8~7Umg^)By!eT(%z+XFC_Q z2azuhF~{>J$zTE6Akk*%e_R`MV4<!t)2OsfOxNx+g6D*5SZ|y<-qifr|9R%j8E(P+ z-orAm6ARi_{gVexhKdU>+6~#BSP%L|@w|2w)llauRm6_B^Zs>G9kC0I3*1vH0Dhq_ z#D0VnIdl82%6@M4(23&D&hspXq@C_~h+97fx*pmBzaq^o*;2e6PgaW!I1?0VqR?kj z<m*zR1`)TCvt#OXNW_l`flr$Xv~=8T9xb;jRCx-ob1o!zGgi`lps_iK&k=X(OYYQ{ zwu~z5KGz{>iJn=H-m|DjC;?-S(7U-)Fa=PODNRyT+sFa>&fhXpnz>+gpa~4T3|l-b z1T#(wK2e4Jo5&ZBl4{TH!^-35LgI~GY6P@A(E$HNHW@1xHd)65)h63!Key<)cTjUI ztq>sO^;G%_@g^svW>%=Ig9<oP)0$W#z3tQJxz5w!E7Qf%pd%z9{m>jg5Pvo85-Ykx zPMD97urlUoNfTBmvLAM<H4tC2S6wl9&GM?2J8$sAbh-20%PO@S{n?ANo0jUg8Nxe_ z4fD)IG#%(H4Amb_rV$Lmqj^|hO}&sEq!u!cXUOOkAf=n|4vb?w5Ead=r`YSzp{$=| zJVCc-44_h`T*uyu6_v%s5!rBG^SVx9vRDm?dl1`|NH_9Sqd2@NM=zd1e7VWRE{_K+ znt-pYE9x1;EUaU82rKMixHyz`W3C)Z^X{l#*Wd^2q=LbaJ&}TwwGUWW9}{rakdy&O zRf0q;Y>5=w<U&mj^x(LsAZT17Jd0mUM@m6rnJ!K_Bm7oceC%~!pt{0cfA1pIfE*Xf z7jfY&3cVd`=d;d3AmKGm*y83PNiCvBebUP^0=t-w>5$=JC|{h^;jG^w@n`lD#-pre ztEur7u5mL})ONW8p*wr=p&Tntz1~a*55R29wXT)}?-(qINaffJC#ulY#e0F;n9sQy zn*jzSy(%WXTDkN!D*{fDRSID~)xPJ>kC{Q&i13mwp2mkf?|oT)w$FW|1BTg8tAd5s z-vQ{Us4Y|^?%j~8{jO`APuiJY0Z5FL@=IeKVA;@vncMyO6&_b{s9kXYV~UcY%-+4I zFKOeV6ab8ZgUnJzx|hwV48m~!Xuu11z#Rl|8N2~9vD$`~p`hxX;F;CI7=gtkizNsy zF_Iqrv)04r#sK!b|2jIGW+*BAs`|%@<q$pX5u^<e(Wd(w=98Yeguqk04da~+*a%w@ zf!eAE(EGSSoZgv&DOnn-SR#tyda+=ir1Ncg&nvIsv%!nh#gN@O--Pp%nlE`!H4v*x z4Xq*mUh?3WrzQ|}mj0Zne@-4WWm!JbCLSWe6jBH1KBx5@ul<;Y1k|RS%;E82XO!Kn zP`WoHn#aVRHOebxCrtQR5Qabd1k`PGW@A`2-Rt?KfTjjYrbq9P!=@VKq@2<4Cdzx* zqYRTY@or4PsChT7zwXPjnq*^#I&yf&DAB)hmzRprUdTV?EfVR<6%4xqQRN=!Bn?8! zh`(UBgl<om#1{5HSFEhUc_wO;%^p+Zz&{@nJ<uWWQMHBj!cI0;`?x=2n(;9IRob~B zZk$=%Io;nzyRmZ|rr%ooWtUbD(~CuA<dKtgz&;kjQ0NY6jo5c;IqZ9m*~gQKgw6K7 zZ6h5=*E3He9rx&G<~h8-G`zo%ALn{|;X{(F1rIfR>cPiFjs}yC!IZL`NE8`#R7R#j z(Zu5kcSwYd?s&G^NF>ue!c}KFmJk-ZjPQJ%033EhR%)n|yAedwLRnvwa8frTWPSvf zoTg`%8|hyQaYJZ#q$uD58AKfQIkkv|lj!0k=U|-92xq;d`h^T#zKva~_IKW%0>u>E zxrrmLJKJ^|C*&|<gKncaA}Ad?_v{>AZgy^75N$Y^m8#pMX@p@N6pS^F+6C^@!Qukb z6YL8}mx0h9ka)@DUKEtk>ouPiy7eR<Gf7{bWv7OT#z9BPs{fGYun&nWPETJpha{3u z76nbC^YxxXD(nk_U7JgUnz1b@Xe+D1wx)wg*Ma3GvoSrJ(^|OD^8dwLOyd;cxj2#s ztfuxr7(MfQE+`#Au2l3{FvT)!Wl7fuRk%MZ{4}70&K-bdQy^=<SvTkrwt12Rq90U6 z!GxWs7y)-g9SMtO8=(~3<*i81p%@4pr5xV*7+1w&qIZ!^wNn(vtLzUsDJZD&2_&>i ze{n1!yXahLs8AX)UxNg4em8CN+gd2az%9~xULrag%qTk4`W@+AH`A+zz|CNP)8@c8 z+`VmX>6l(M=WjO$GQ8>pO{A7Or$Lp%9Z9B$!R!^>xAnzY!WWrVQvWtRGc9)SO#D~a zj-EnBmlWZx;7`9^Q20=djzkk6t1(vHvh)6x!ItNUK~;L48<N>jtG1$77M8E`(f$=X zXD!3}>@9ppC7)b@b;V^K^mGe~idCFuGLo{LThh<b)g^q<IptZwe!sb;K<eDOFe2aj zPh@Xd>+B)D_c!<JPzZP```d-x=TA&=ybT`q<D&il*GL?(;YT-B8r{}WLHDb|V}92P z<{|%$P?x<bgSw4Z@#|amq6P$0*U4OgTT4AosQMKaXzjlm;nc$(xNR~nL+)$;*_qhb z$AW!~fKr>k!p0ehEWR^N%Q8g^nO4vH$EeyUxt)Hhw0;+tR$7)RdH_mDyJaj_Rbl_V zMk1T(6gO2U`n3MwFsST>;yuox>R6s6d{Ebr#tMbfF01?gdhmkvi}nUB<QY8E(*&FL zv|HWn6fug)-LCZNmSD6?Zf#K@A{XB^C!cesz0HjgiMF;?ANUKx{p=8~vt6~>&L9^o zrNPD1ZN-Pp&qkusu*p7iLS(+{{V%7ff%eO-dl84(ohM;i5O+=7+P9pOg#8lS)V^Wy zu<=N>J|1IyKQyLoDSw?)yq*79QU9vsaIsz&8H1#}2)Zhr;;*9&<!h%(s~62S<o_mV zQUxf#gix*DG(S}}RliB>R<8a(jrr^DhOeT+)a7cAC}Q9$>s_#?nw-Ag*3eL=2}P!~ z`3GOR1cAs>)_p-tW<KRjLyJ?cz0WCDK}@@GLSSwaLQ1`n`t?*V{Jc`Cjf#a#5n0!N zB90t2O$g%1LaK+np)sE6r$3|W8sgbR?ewowI($~E3-iGt9;8reGDnofv#olmf<10l zAD>}7+jpk1MdfVzp6GMOv#A4FJexw?M$&k;U3{tT`?;0O_yRVAa%o6ibVqH1Q3#uQ zZC|7Mi~Wz%FKrrSc#$y2CJ{=ksi&vTu_d*ahLwqnbUfR;)rs|gD%c>8hj=!nrP{k! z@oC9upEjQD8sM*Zwu96Z_KLLOdOVv1T9``yhQ4awOIv*fF;+`jwXdePp~m@tXiAN! zI;OT<>UW!d#V<l{(J!Kp#~9D%JV=eDUT4-{O=I7GGc=uuRm6oMq@~_^a!gY^n<`1| zdli+**)eW+z4}YN;t%wg?Ns5bh92YD^q3f0XjWo8n=-|CHh*?|-YCKd{kNh)(Zv|g zHk8$qk7v7q)ELjE$26WzwGz+vmERHg>OII<jpgFNo;IE>o%wF{q~yO@JX?5cMXNCL z!hrMVjAy&q#r?OUV&{x!bDb4sOyk*<^3RNCoB9)xe9@YQcsA&da85RYrfYMD5-gN= z=%`V#7FS$Tu8g4@7%Ax>KV<{~d8$3@0<ksKm^f0J&YsT1r`q|J(dUwiir#cTA*)UB z<`sRv>Hc1-LKG|w@s{}SDkYUmr<|Zn!dM$LO8<km+MObmAwTN$jKFPpkqF#Lm(pM3 z`IRQC^GQW1QJo-nOS;fheXfk;r3shNUzI31#J8lOg7Pt7_k6dgw50v!a_JZkBc<c~ z)xVL_37)7AFx-<p9m&2PjcK(V;tE}J(tdkVQF<1rrtC?{e=Dj4Oux$_tii3T21<P- z7w&wFo+p0hrr5hR16&sS@0o*eS*&|dE*&Oa@oVZMqf-2uI-OMXA#uQuIt`ORB$?96 z&bl~P*+UCCwAVRncugwmEERmD_I7tkz5Zu3tPr+;X~SkB@*}>cKH?v57)vwg76#0z zV&`gCfoaP0)Z;xeb4&8iZ1awPahm}(JOzStQWEm`RSyBFK-XPz>o8)0KOd4`-GG-2 zri2ZN*JuDk`9KhIoaAb>eqma@db2#Uu6sIdN)KV(na>!?UX#ixo)H6Jx1H)Ef=bt# zw0Qvwcl40>uhgY?%}9WDdmv~}A#~4c_V>L`)LNyYF2rS9eg8*QLOrbnQ85}Q|AW(~ zNT)b9lelD7^kC;%kjYl0x?CD3gFIf96y6f2MGIj?-}7$rl}QqklKz%UquH}ejHO|} zszfLa3=>yS4k1w4xUL8tZVYMa>#*osQKbs=(U6wUp?1nEYIj3iG640wF@SAx3C~tm zr@*&-j!@^!wx?=0?b*}Sk_1S=ei%TGqxvm(*6%?55dBDVl}iWx=D!tv0ZnZbE`7)! zmdqh0&-B^`Y%0>@5k;lE!I}`FsOr^eS8>-f?We#Sx{_4Fz{8AYykcy!=LI1hCAGq* zJomVl&8$zc>Aarj=W-xq8ZWjIH|rXN;Cjfi7w-BNy2^dS+E=~THhqq#SA*Jr%>OTD zL&=>7RGi(C_eXeU@m80<@R`S3b)NW<##>?j*^n{|;fy6+xneefYb>ffz#$TLg`sDm z{HBdzlTO2~un1Krp6AFb>A*NW^E%C|?rU98&bX?-!JWh*g=^?5pSt1Su55~*uv4^D z-)P5=e1Ve!zbqTN7{f>CU%f^lS;iV0Qs-o<8Q#Ej1W%BhKM3$&D(_NPh`5Tpo+7U1 zMXlDTW3paTBM&fo=ZM+D{oqRNj=A`(?S7Y=LEoS05gD4$n0{x|Gx1r@64G1zUBO6E z)~&tQg%D30V|u1!&R0X};5+^paD+IWsj^(irmSJ&nL2q!)Xeh!ctc)v(tHOT<YlBh zhnOB-*Xos4@PciO>G|3pL2hg-bWG0>6KeG)F+IUJqSjM=Z`OyFTp#}G&va%|s5qFH zqO~d5Ko)xhWPQKhEsvvbiJ?K`#wIXpJk?9{QGS0*91G|ZJ@A!ixuGifCkz!WYw)$m zyhzY>74EzPM04n24u1elklnFCE(9e&a-nXH(fu(k$yF`o?XAgGt>x|9DAQKnz9zY9 zO?f+-%(eF0%IOTmoN55oUt#xd&?aPT>%Zkohy|*jcZOCY-#+UicOK&`*e{6@l;VNu z<B%wy8Hnm4*L3x_zobbNCWVbujuCUUPkJs<Vods~TBcPpJgP)JYzmVU&Ql_OAA=t0 z15F!<0h{b!!7d}6<N7e6xm;(W_7q&S;q#@+*ENpHj)|kZJkKc4SJxQ7eTr`q42@{k z+ZXn0D_!cM(kU0<oIdN?r-F~@g5d+8<^-SF2p{0Zhqbn0qgdL-z?X3}2NDbTnq!0` z4@6;Ju6H~_7Um%s!LbD=-yr~LC*Ma;%E=e3oCVsoKk|YG7dIOH?Op!ike2$m3hhdJ zoJNt!=%+qOevy%`#>|ag=D|;0KH$MU7f<r^EE-LfRM>?BKNe~r)BkOcbE#_&95F_5 zbpfl71;2jh{V)!D2s+ItU63Bc*1o|`rh9Nro+5TLbwkI$b%Rra4_7EkVCmx8LQ<>^ zjIGxO{6cL!gxUnrCGP7u$rqxZdfwOE$=kf=cpA06t3NW)4`E~yVEaDq#32&HT$Sz$ z37QU4G#9$a`mWp3!t1>V3Y8n3;K>ft>lw@y`OwQ_5uNW{=)2f&43E|^d7pCY&vN1^ zx2{~#Md4IveJE}Hz$2ay#Td{j8gi%Lh;*8-k|+@R8QptmhJI@1)c2#IG-=_Y!<Zay zW(6JqoH^KFNAlh8G|~^wyg9)_uFjrJ_)lYizv>vwJp2b`y6ar4gMRsZiqA0f4WF5) zwIrDw45~IoGu(1aF`+|QH4*acV>1jVPdhw)zw7B+GOMr3W_1S5a+p#Kc-Wbmx^c!~ z`0K>*r)S?8zO2OVUnFzZbN~_*Z8trq4j>j#5xc}5%)ERTQi#dKpUQPsvpSb_Nyp7O z;MDQ?@?SY&um_?KjWG@D%K5M8wimL1la6PA;G*{2#fFRcbJP9iXh!WuB0GgWNybI` zh9l_%g~!hk&oCkSMrEz(HVybklNhBinDQTg@kwnan%?3<n_P<rA%W83ngo99k3|Ac zN*;?vop%`Qt=$8I98X;x={PRc%1FmC4W$-{865_4$KuJTN0W}Djv_eaD1t)C_wjZZ z$sOfzwC<vP4^HV!q8NdDQXQp^0Kdn_sTL{<KlR&j5WAurEG1eCA*x<ehn;xTTj1f5 zoJTvE4h27I`L!MiD~Fg=ubev|UQTk4oEp#XcIZ3_kvx+rBhNxP8`uwq(_Zn@I}Be| z=5L2OfDQe!(>?pKn}_ef@*W3c9JL$BF>^1+Y={C)jxnSUeZiQ0LL(^!Pk~eE9s|H) z9L0FjbEdNAfHdbit`&wPi=#MrSd*IW8znA$0zwC@#AlWO4S#<mal>+h(B+jI(}zvr z!SGb<1fLHiJLvS)>}#AaJD9qQ*g##bT*rc`ZaoSQ<wtS7{AYu;x#3f;zAe-mqB9gw zal&vt<$wyFH>J5w_<>HGGQkmvg+c++{a2e$6Hb;p`cq){$5qsq$Ty)^0TsQ}oY7|a z0a8J)11i8UCY36cg?1oz5A))NdX?JM2W9(QsH%3AR)<|w4DAqN%wxWVTv!Dvncbot z5>WL3v2hV6+)jcq+@^MX1?kFKiw3=rGeqwxb`S?uOsO&GSbr&4xwI<4qMqjrI6<!8 z9o}si1A(A6GpRN#4`R^LTsi_rZAAYBjhK+kMMkO5xT)Ugs%|fWYzas2g?DR6!QP<9 zbS;O|$->$X2K#jV;Rp(@ghgiMQEr`0&tTeCFVhTR!;1@a8uMNZKn-E2ZUh<*AXP|o z&?69J8xpcXV+-vK-VoyUomrM&)C?LqJ_jO$S&jgrMHs<7P+q#d4%Y}%O2o!bh1pGm zu@$$`tE$;ZdhOjJ00Ss_4{B!gNZdwm7Pqko%L@BHVRRk~rq^J&+&8SfMmFNQyurGJ zrYsw;u?vf8C@2J36tD5V`9)Gq_2nF0lsAwDra8UxZkz4V++TD}PC(D@cb&u5TFfH& zs*;tp44E<>=wI$^bh2u5ylE(v<wac;!7<^zjCD7WkJ>mHqc%<wwekIrtA~h}j@lSs z4=`%K4zg$d+~e${aks5q>Qyiq<2c4*9LKP|FS9s~7{aCr3D$4s4d+hYY{*}t^MYyW z@Ax8!m_~VUU+7whPl)okcc9~o16}tj$|GFcIh{s%3@gebE)FImJ;DsYgaySlmdVwv zmpmBnPH4DkNk@qf7l+v72jybL&OAs5(wYZD{D|lv6>CFn^gR|hqZa1W#{|AWF-KW9 z;QA>u9)tE}#idzppqh;ss=<LRg*yk0?v@SVHc)q*F=LKMzS$E@3M^M)|83;shD%@m zl#}-s;pal$zRw<JwGG5QJC<X!pIemP+p8(8hiTXvt5-IQ1<|hmS791NWHfsno|R7P z=^`>vM&!oNPSv)^f8+mW@fht-ecxYTcfGt>`XL@8UHan|LY9fg=<oOvq{A?uHkQHV z#=s1T_ZG)=1459Smyg95==c)m78Z0U>j;aVbYh{DUd^mZLnOwG_d2)-M+dyl`~wq5 z=tS}Hzut|D51-Qar;3+&i^&es{HylDT8w@6)zmA`-?8!oI#8_j!UrF(G;5vB+(zQ- zzQE_bzp7z8eOSdCMF$q1pAW0RNt>ig8pAK1Cf1^MJR2%9F4q4=aTOhGJoGPsPh&WD zScPtp3D7mvV&-$jRJ_J@EsCjNOQwOndzq(tOog^#-eNdN)J#Fzo+>0FcO7NjpXdK- ze8gGIYSz+8rw0|3o9mA_KH{w!z^)|=Y_8nHwKi2Qs-}HpvUblX8nSeaFfX&I*Pp@x z?;g5z#ReXFK$sW<;*g^H2izl2Hm;DF=h$ngPN6f$eqIl-LD`qrrC<KFTWpLkVKpy} zFPZcG0pqDqup1dBjW0Qc;n5oo@M{KixBv=-({(RvpMP*h+M#Um$U~V-WB$Z$KI(-t zq;;Sb#MU_U*>*Z7*KoGF!R+N^lw`?(|8L*hyiNzT8TY*@tXYd@dw-5X)X)A1IwKkk z67tS=#7=o)1{ACxf_0+yT$dv_;PrdAP;C(HDrXHEN=neH{Da@9(Qi|JLy_XQhx`_n z{_#Yi2p8`af6V<I6us-yX;Hr^f=L}XmW_xa$B<G45yr1ldSuX~a*&qgcp7%9;9`kJ zq#`}!C_u<EtCH(OJ4toRaVsa6<4-c^z?_`4z?(zF^+<BXh3DJ>TAg@~Mu3Wigva)P zUMDatJt?(A*9nCnjDoWnA^?7*pjltG3iLJO>GF~SDShX@CB9bEY$sAh$Ru1$ad_8% zd^_w&em|DJrq^JFDTQgCUq)Xu>wdt!R{cQ6OiSN*cWvY}@9X$79Ox*uvK>{W6`u0r zWV!&wN~Tdqlje(uv)gZYhmT>-AmhF(3Pr<^9LvScDe6d~n;wxH^l1GMxX6T)lX6mT zb`y03*V>YL*(=Vb?pN=ckb7fI^{68Pdrn2(Fbg9YCF+K(v4T^<F`p(Bbwq;`g6kr^ ze~3Erz=KkC(ZFx^DhUGx4YlO*QAdim9_aWoTQw_>T#RD0c)A^R9c&(|$?RRay2zu} z*11l;8a5EMdGu+?j=`iSf7FuWsJ`nHS=A?jWRelp{+H*6rGd8d{q0Xx__Iq2Gus$L z)K4(BcE~l&K{&f#9c)_>ypwb$2U|==cB150nzyFvdPg^n>&^$duH4+;oa{-BY3Y1$ zZ*yC9K6D~LKQ|7*6W<0IRp^)i=B2b`nr<*354T=T<0Lu`>9(aqiz6hau(c>c;*ens z>34(#zpc0>W@$RXkvWG_5dZrQFZ=4MA%=$HOLv`-ihQ8YAu0le4v!}&Z_OAg9cJSs zBwvK;7{t#BCt||Ugfs<e`D~1PK$#_~!jr5VYABxG46Q7Ei<Y4*PCF6PzTz}0Cg1Ux zCVmU;TycRQi9lcZ4vNvR!y|T_Ok*Qt77E{Nm*hqzD2*!9f`bIbdSe*Gj&ZJFQpk(o zBpj$}Lklqw{uTouLb5|1Lb4xq{EE@@xEEa73TwXJ%A#-w&dl&!Fb9(}*MgDMka?i@ z{2QaF6%H&8uyq|$HwUxiqY|#S;Xc1Gw7xi%+cIF|D!=7p`lh||SF=`Y;^G%ITqwOd zBw9Cm7<KIoLCZ%P`u02$eBIR%9)J>Sa8kJrFV1z?eK;&-t702;=TpoNB?xJS;(eab zn9k<OYC5ce2ANmusM@XYi*V{`tO+GB`Hn2gcP05|K0wvT)_g@W$0Q_Db;Kw#2?ppE zneav?ovxGYAfGPQ(zQv4!JVY%NQ_pPyfJxo;S1kQ_K@TCg)cnW7_iWBu)6MU8QKpj zQ~}c&xU*!<evCD{Z@8BsX7|}|Zq)ZIARpHiFLO4NvPrOqu?e$v<qW6`BD`$#XA?_3 zFoWo^Nn9ZVQ%JOo#8y4eB$@-9=a)I2@9+3Jn<0`|?G>KiY3ooY2RgnE-M+&Zw$b#- zjW7*lU{w)a0TG`7p5c-}-5Z9Eul{vS{QB%(ARcZNo3yeQ^Q40AClZ^iXFlmB+H7xD z+a}#Tch-UtAT%}|X$R|;I_S=rhu75eVsO{O8^_U#msFp8gP<=i)D41CIFn@!@=(k| z#};2Q7&-=HsE(0)JuS?D!=x|jSfTU*b2fP$320u}|3&LaHZRiOE!GbJZ|mO9<^mYj z-zi?XD!M9WVvA?tY|@@ad0fsEg7fSz&6=|6RAbbJ+-x<;nOBc|7@YBEW`iD3H97tx zSCg=y`d=Gs`aEe%YI4TEBjb-C4&-gDLhG5bIFM#*LfN^plsDY9IM4P&PO%DWn&P1K za&aK54=5WnQ%qjq{jA_Tr#^KdX}`|77tl$c^Ze@n@(=dvk{1<0A;F7kgQ1i~pnUv) zs^$EYR{mNkEa2?q>Yx4g<I8wZWML{kzj|%s`p;K*c2XL+wZg7m&F$0WzmBO7Fi2Is zE{mo&=TEb7ss1VqgQElTMD`Wd8Y}^;JCg4Y^|gfi(2GMX8z>f7+${aCXjb{*@`{nI zE%H<v*%~nUq3^E%;pR|)<{<TneS#f{5SiIDgyZrfGG)$t`7CJd4+FZz=c8<_3N+W| zRdT6knkZ?Tz2>TNm%EVVmt4`!ZFrm^q}}|A7PW-a+%M3Oc6c1AAgOQAq8uW}Lb4;p zQ13hIu<8U%Q#SUTATBSIw|0Bprz;=c0ih^wzdb|7bRsn8+5KL5czImtg1HjsqlUpk zF!mYo3@}v<4@icy?j{K7m7a4{s?Ueyq3xy(Ym=@u$&R)Jx1T*N<vsJ|p1Cqd#-q@X z7T=cZd-N;z5~4THdFQ~<+x)zh(}!fQZNH|B5tRRW<yzvn>FTqa*6Xof-#Lq7M|wrF zVYC*1NFRcH)O2n9*`h872DEw1_wVbc651N*)q_l1zaJ80a>R%0-~qkj#&z(ZAJ&u) znjy!Tt3T`v2a?Wp<*s8U*2mTBu4CnXd%bW)X8%2*wh-HsxVG}$HpRKZa<~E6b(VMZ zCcUbYP-<a;eORkc{1+j@{3;K&8P9Hew(9u6p`Yd&PT<hq`MR5b^?mOOQ5A*03s=!$ zyJo*`S9j0*3Z>E24I}Jkc>r2>42G@juI@Nkymwd52weTjPq}g^lENa+cE19qgqMqK z)8^@l*TR`-BRk0Rd;M$#J;DyjQRc{kd}!aLTY<X&Lnyl@E4w9E7B_a+L%|k8vuVc# zoj0w!c$#Adj^w*{gV*6nX^^y#nZc8}DgMVFQ;O=LXG3;9I+$E>Gj$|aUta!Z`Hd~* zH#e6rs{ZBowC>aPd<G)<Zg;+IxqP3@@~J+?>@`be?YT_*>Y2pZmAAe&Rvq59=)5)K zTzTJ7_n23<<@xfyW9cgkoT@jb#O8e^C{WiS03$$?F=$n@a<bILVfyx^zHeNhgu}3w z?dt`2SdQ>Q7mBC1Bs&fzJw9qdrhXi2pM-sxvw*vz(Dyp)x;Z!jhxu^WuK%JBC|xI3 zBP7D`*~V_0ck%RC*$3%nAH65u;?+(!+3!WZ3Z-{A1+4Q3LXi-L-tDU00Pb|rIvie! zdb5c&{I&TMVJ#YkuT?p~>0oz-6oq(p*;tDUFW8HD)@I`>mFOW{Umw3HD`Y(_<BV1W z8_1p<SC_i5W{_t9{%WH#+5;TMLxW9sAV<Zo#cF%K9wp|-42tiiltv9;Vku?d0HE9y zXAP-uI)>t4d7tS|y}l5$?=K=qGrO}6q!+lvrpqCkI>vKL-(ByXKb?D+*POHU?e#Be zy>`H;7`q)0I!^l<FUAu3-yH5HtDgn|XtTx89mA?e&)uOb>&-3#M`!(u=`)ASvpxOb zw;q48_T^?T6Ks8Svh0hI>cp%ZZmVLy@!e68-KZY=NW-3Sj~13o?i^aLMOyCDfJINP z&5?jRz9V{)R@Hfpp4&OQ;c_|`ZbG9}Q|(3W5T7nhe1p@@``5F;edCcI%cV;xp!w`S zsxEUELa%6qm2rdRaK#zgV&7lpY{DR2_0TJlVEx@txYrD&T{+yCmXYsx`;v~8AdbZ? ztxnHqs-`;hE776vj%PG&SrCtbx+LtMht3x`pSJfN0~ENKqubM)#JjiW28AnF7}Obb zt?8i7EEyC>;)X$uBN3&88V`e-K_N!C-$tNSHmDL`{8sJ{6qQfw{VA-#4SrT-`RQLH zP=`CjDy=+=#I!k0ph*WXN-0rPj_7CPYZGVPc|U|Xe?=G<KvE_qH}g32vczzJ4-FTB zrKG)?>qEH?k}M`fdI+ycymIK4`$Easfgm^)N>(cd^ngo>R~2~<<(YC;`nPz|&=#sh z?Dut9mz~xPQvT{5qUdNH={Wj)237kDA!Gce@oPlR83(F*Jffu1ls<+V4pUI%a;RV& z{=ECLpua>6`Aw%##@pbW4o@CFgsosL)z94OZITZjRA7h2?7Zs^DvEnytV9Hb-6&*i zO(FZ*G-I1aqB^-1l)ur`7u#2Qn&LbiM=Fk3y)oIo=Em~f3h&|ZA|4;n5Vo%^-#zVz zb>+LOepp|=+fi6LA%0FNA)fAT0deO;EnGt%5{ykZmP@WDG=I06j2$+M`YX>DI&5>N z@ZHiwdS_od&ywrEge6Pt&QVAa2t4h5wZ%Spuz;J)Ijk3e9RVe_aI@1kD9zz`@B-Q} z9WxbAv3&L(`VmX;6=*7F3d(Qq*4I!rW01QqWzDTJy%$rlCe8fFS}}~_OQoTawc$(H zJGF>jrd8{mG#Y@wq~g$;NP9E2!FD2g!k3DpkyF~-LOfB3g4F4FA;#9heSRJHR7~)< zIP`j_=sARQr74qHp2RhW9d;}6UH;<WzL<s!*O+p%18-&H_IEwQh&$aQ^%X?UvMH@X zP^%|z&iJhE{|v__X%r^_Ge<oy6*New%jm!Nt2m0C?tQ$edm9YgK>K<WU@()Oz6J*I z&A%Rd21|c%q*q&_{`p0_p#IHp%n%K36yPzyMy3E3ASr8eiNmA<&%dg_G@a6K|5~h` zDR&i-Nn-eFko_y&sYxLZH~MJP?XO5;;RUWUowIG|A+tS17uNF`(uOwdAe{29^!=jn z{@zerN_A?!Ilis)TX%fZHeB9{SbK1!y;Fh?`;&Edn2@H>k?$Lp&>0Uq*_P8cVC}x4 z@i@a6`EEIyskqkF5IKtOU;^D6kn4e5PP6Yd)s9eUMb7DvO%w?F^E6(tYn27S+i*N- zMc%2Aj^U8X`x-25BdKj~_VfbhN)~XI$~?N!-lSTP>PNrLiuCZj{8!VNkq+%>G%#T# z!a{YT(sMGxUBtx}s*^W06dZGjlhU5<>x<6_4YqV)6Fte?X>LwdurNU?IH~-}v6+|a zL)V~gLXo#F;xk_RXiNyFK#m!e%a$Csm^30S)}e2B_KFs9BPd;Fi&NkCgKM_U0JID* zGSTdqDBjx|<+~@xvJv+DtcE44+ia!Bwl19?Dc*#8<uW_h;S4C&BTPpf=I{-~{-K{@ zzAvo`MAt4o>>%nA(W~GN$F$2ep{jY-Ih+egdw0Dn=q#Cuxyp_y!B%It(~s(r8wFRi z7ox{KYr#9}N|i5@l@Aa9C%#Mh;_of~K2MygPEf3(t%=YXzSLo(K7W}0ZhQLvmI=w| zny(!E$ahyX#VJBpTzyk*h4_>nCUGvT1}#GZ4_ZT$!J7uxh7bRN3WkwX*ThooE(Oj{ zxKw4wcz&!WAZhinQsFrGgSc<MW{pSNQ?=FTlnrc~2exSaJ=5_iK#&XPJkZI1$_;e5 z`peZY&|i4UF8{z9!*qJwWr^U}44MNxYCanUs@OGL`S72si3pMvv3~3q01`QQ410il z(LGQINGS3^uE<}0D|9J9@eD3S5sIUED86TLmqu+wIg@qiDWMqjttonhaNM(H)Pg9k zx!kmCq0(D=?Rg#rGJf?ZKP<94=P}IF=bVBrr+)=)(YT#OO*+!viWUH3B1M1oj~~^9 ztDNH;QFhi9zjggyaTch=@+$TF=;({XEmDgbpQC@&+NV_hp(vlFmnLBt5vxhhblin9 z61LUm>`4f6T$J&M*n|0h%j=^x=h@ZStFIJW!B8Pi9%>-sPBKx?50m=Tf2I@?7r?DU zQruhZ+U|;0T6Uob*ov>}tvj@F3|&y1TJSO?FMYrUKb7>%R`yJkFSQ*-i^T(s{z}MP zYpPqgTv9Y&#^4DpW=G)Y_;QeTqLIegBW<z%c}uRhLJsCI9?6Z9e;l;5;a(Rp>h-Ka zj|ud)4L|~8sMOOr1Lt?V_(ihRBh-5oU_{~C!{QJaG6iu<K}lqkL8+t+&T_kANGzNw z{YDZI(9<Ed=eS=lw3N-?6>oZ)`SVN)vQ0U3ujA`e&L>lLx=LUxgF*8jo|nw+wa;j7 z*_)Tn?RCGnXl|iNlU7hN-{+X#uu^mDwXM-Uqs6aVZEs=on$xgnJcUO3(~qC08<=$* z^Fs0A3;w*9&tG}sMPrRbp{>!LL!a2zGk^cIejP#==YndHu1p#R*k5v0_dfRI`Z3fA z{VRO{v)ALsbK)a=D(JNP-QHWnAYQ371>BvL^(V+FS|Zi04H)>UESq-I#%>9(7j>(J zK27(pT!M9(;j4}x#aZZKe*9F<I)@CZ6#ysj&WWIe<x%Z~qKmf5t$|$NO`E|xuaz>M zbuNyjS{4fYe}w+DfeuUP&)~L2IQk=@Khrb?vpS_8!36qK6*Uq4;XyzSjv7W@OkvB> zAI+?wij^QtIhP9{=NE?{!HejR34pR;UTUdR9ky>an#?Y{B|RP@KmX^ZpRwa<HxS*t z=LVjT4cCY&-9{W7UA<^#P1;$AWxlhb@!;-qbTH2^iC%4A;-1@JJj*s8Xe+lcn`=vZ z^D?O#B*$ngDU=>F_{U{y+>ze;;a)%D?KR8yK$cI?1Knr2HeG8TRtRqXg7WFXUb1|J z&E<?8*I60F#SAO4wvRt3^&FW7XI1>iCtpO#A(*I`bmm2)^hQn&5T@bP;UkZuJ_SH0 z;Zv#NL3*HdW5yAA@T+n(n)*J>Z~V^mgF|WK!YQppBbP?3D=xin=2?gBA;KxxuQxBH zPwA8`c*;@?Wy70~37`O`Rt62)$v4Eiyl;sCgww)qR{lf?@cys&_B~YCc3Qq1m$D;@ zG;x3B`ccGsNcOBYiW&F?;(+Nl^}#ssKzDJKqGBM9U(^M+F=Y8i`IH=rG|8i+UYTk9 z*q`fcvadW*eC$cl_&lcDBShl`oo+an{F_}I3nI;N-WP|4hn=1EHBW1SuK8P`65`!O z<q8LWgF%RhGc?K-?kdK2Z9*x?01P4(33CyKh7gcqfa8K#oby6o@R~b=AQ?C*;CKcZ zFwc+ts|BI8rc~{hp6B)$^6(5s@L{p|QN{H#do~i>1W1K6RK-^Lw<*pJX_hp7r-X2E z#~+^ABnMRnGc>TeWfXB&czMcokZ;HjlpHpusaDMk-5*aGpn5oUfXOAJ&N|AfAnP5t zc#S7)u*Z_l<}ydbck+A!Il$hGqdU<SD{7*Rv(<Cfg_r)VtP3pNQNvGmW`KFz^7skM z<0mbO(ISm$gQC+g%hMoaTo0Cs7x5F|16Ub0yud0>3A;R-VI|GnoGz;AnQN53gm`@B zEIdC88V-T4@QyI>snWvxOZSG>YOf`qDIq%0+8}?tX*Zw_lC<Y&+Du%#d;5)Yc`TNk zyr}<6_v_-&+T8Yh37EoiwsS|eXRir~xor0m$+#@PSe$Ln<ePMQB`5_T@ni*0akx42 zr)W#Tc{ZL8qlsntXsL8_$N^i|nsixs>za!UMQ3Yq*t}St{ugIAE>EB89LNVv;=&N; zD>#$n829&hq2ys0c%DA>U-ZE7AD1T`>yoau$&NJ%B$u$g>s!j#&z1MgmV2sYHVRmF z$vDy*ff;NEQ;QrM-|B6Km246P9>4~HQ}|*?mP__b=K7RHnEw=OGtjqiZc5yzhA+2M zeNKLCe@6RXysASR6xhTP9``jzkQowYbdVDX+?zy#HZ<*KbE#vFG0-<DjmXR)hE61j z1uM}F(h&ndXHZEEM=~c*$6@m=vv};SGXa6hKnEZ<O!=@>09~Vyn=fTg|3(#dRVzF4 zmvK}(2vf*5>7E`{i;&skU!4c#hjFcOkVtT)g0UP#tJ`q2tygfVn}g-8<{9Xl=ks|$ zQZ2e}s-%<Cq7@T?paxc|I2>imUd?$f-Z08fEU|Ms^W^vug&qKJfVf`!-@gMvG_=S% zzg&wBV$kX2l)zUnipf9k<P@E&PXZ<7MvXmg!a>C_2W?>o(U(u?3%_!CHx+;zYJk&q z|CEQp4WT!SIH68jufr15qsQQJ1GluHArDhep2ZwhQ<mr4a6OlNBqC8?-=Ea+i6UVD zJteEvpbuHJuwCEUj9v+a7hJL}SKSD#UPvqsZOEnnaY)Z(_p^cAEz*Y+XBX4Ae}*!A zoscP#%%{9czWvgWb94B)Jp614KafY&(jI=U3_qRW=bG@dT|W_uElZD#N~vrLFP2nY z-o+CDKbG5AMNs$VTt&JEfLUk*eXEa{uh1JnRKkNK=(aJHkqS9BE}C9fo6%m_Z`lCY z-dmHNmU2(t{s4#63<eiUzvn8nW$gB<Us!Pm8>YFfySZ8qcF%hX`CDUuZ`U$YjC|Wp zG7y_qow?q-xEJ(nAXEvqekk%(&Y4Q&I8&x476YauaezVBehvlF*~W8TbZl0$GFn?< zr^WVL#i+h!S{PrHS3tN1eOc5%nG}Q(h7*fSW~Wqn7%9IVsos6%p+`!ibKrh`Z1fPC z(kg$W(jcIUoa@Z{VR<TD91ztkpLY#fw5ID!^_}m0{7H-}TFR?M6+1?&Z%LD2Sf(PS zlrMq~LBYTPVdSx`db@Y2s+bc-`|or7c?JiV(3N+T0>e+Jt9QI9bbM43>=nf3IL_vj z!JF3g?3v8ouri#pquB4}c=uM^|GfX#@e|Ma6eEo(GJIK@21GCxf=JI>c?2;*hGa)d zYc1sccW)E(0grlK6S4&&uqbD-A*VY!Z^MW?3UQiuN0-r`r2Ir4!}ETgQu1nUOMhq# zhfjcjPilT4R>%lGr~%48$!StiHi&_F3c}gvLX&1Pfiv+;v&r=naX(2}O@X?69jery z^eDhCvz)K@)Isr>Z_3Ul=wZV~l-is%?JS2j>tUzx5|4W!^X_qjgB(T01O*Nyp3n3Y z`e6?=9Mr&u#6XR=43s`uN@U=Oj||i!@0yUOpCqVK(F2|K)-$OEyR@h2qNT@cs;_i! zQ_Nzh`1deWHZDp}Bzw{dQW#~0rE>l!Z;NT+MqG?+K*ldF!bf9WbC5N)KCV#$1EeyO zN{b)H#B?7wCZ6X-rQJ(~E>61(!Zu`^T*SRbK05QdPU$z~=qwEaB*xW@FxXV(gz!8= zpVOaiT#la>9fFGg>;GsnQNbE70tbx=1f*JhQTSpJSetXbr@|gJDeS3oP%F){F6#dN z&8fXcTMUZLk>GZ&>wzF#TP;c8ksjXGgdb_<_!f-EU1uu?cZk8hs+r=IgMT3n(^Uw6 zJmVwEGxUMyZ-}~F#k%MDRfuHet5}3*E4?~Wn6t+$qeMklUEhU!wkXQER00*>J(Kwq zVzggrr(Vb-2fq?@!}MVtpHzQq|4sfV;nEcx47iaG5AT4tDcV*4<`Vi6T@vL*=oQjg zFGuj(5RRbo=S#0|QOc?_8bkDq@yFg_r^r7h`pU$V%blY1=-g-jyWmuJU+HH_XRvd4 zKm-5afEW8%eKQoUT-xmN`kQ(PZE}kKs<(ZAM8iqQW`8r5Yu`sm3zc&Sv3uZ8$=#|a z2ZQRs+cC+79KnCDq8!8`zce@)20z3<zqmAW)%PAPkDabweENxI;wK3<w})Z|l#nsG zTaD!!02u>9rD33#fl;B*eeJi?xogOOU;78(_gQ-Bt+GCQc}fT=^Wzl1z-TJmuG7Eu z*BbJ211)y*H1BlCJDukJb?05-tvgNIJ>q+^l(Y6`K|P>I<;r^3t8aK|n$BRV%`Z>i z>}{uv;p(2^z3X<~zj4I_!I3mv-6LLxRd2@tc$w<Ri?YHEO?>&4N>^RlB*oCIk~>G} zWr_ojUb=kY$2etUxqkl|Jn3@jzYWW}T>7&Z=YX*g_1~*v4tW%A@fhXJ_EfXE^SP?l zV?d+jhipiNyM7145ULaq_r6$px2r~L%7PMT->{Z@-QU3alScZvk_^>{5f^g`k&J#q zFa9@q?*m@fQQvt>K~4l!dqoh%yN}x_T^F3zT?{q6Nt+ZowOG3wcaso7woM>qQ*ZJ* zEm<N3+FG_8NkrGz7fhRU(_K?s>h^W1TfAVX3kIa1T1u*dOtheGwM9@hdoR*b6||sG zL-zCi&dj;z>Q55r_IaP@ef=c5=ggTi=QqFk{h!~=oZ<O;@&c@e{PD5DyZACS8>%n% znBQSQWXWlhK*(%SLT=2d)~Ys-*|Jb7-$}Jn(@@D<Z{ef6nNn^$E?H_$Nw2)~)?m|x zUEc<rmK|y;LKj}?TvT4aTP64UJ-N^QR8}=S?jLC^9SLnbY#<(b_#R+k(QVp6U#0!S zm#o<`+tp$npcR(NAJ%JvQr4f0NfG5Gpfje)?^#q%p3sqwQ)?)^OPOVdMupiB;>zjU z|1<i-IwR<hL21>bKU^O4$M4C8i2CDUnNCrEbV;wQr$1KgXKs&yRZdNJ4@+dr50SlT zwP_O%t%}Wu#UOJd8bm>I%P5jLP#E|)Z}Qan6Nxc>GMF|$Y0?vH$e4|$?NDT!E8;?v z3wBZ#<_V(IzyBX-(|mxv1sZ0wdk03BrbV>ydphka7Yh#_WZFwr{Z2*MABw}w)PFX9 zt?v6M#QwVZ?6#HhKs@`$5$+d8p1R`DNJF2_MCt!*!$_rd<V&sOjWRuj>hvU4vUl2Q z_Jr;0j(oiC@a<ti)#A|Yf0vKfNrLBX>hqmXAoUj+it0Py$n%{aV^@SHSfqQ|;m*H9 z8vQsOmVRfAi=$ZC24EA=t3qLP9&`*7WFfdkYYjSvIo3*V#Jw%kD@<yHR|qcg%EthJ z#?Q^)MLb=@OECW6owaMNDnDnWp9!Jz-WT&riWmx#@i^x^vnILOq3}ShuzK7?lf~rE zF;Wiek21nNN9S);SWa>AbL@n+@3ZZVtfoFkI)CG%rAvr@UEd_iy1rS|bbX5wrmk<* zGT!Ukv@!bi8=?Qw^_z-2i1lQjaLXqR)`X&U5xm2l9|N2C&eNVK@D{35zMKMGMhI>I z(^SMFE4sjmeejnhx*0HLE@)|n34kJJ7-M{Edy#*ci@&A)dfH2SHkG<ImWXTiww7*( z`j0#Avsk=+q1am~l0k!4OU_B>@hqC9Eg2U#G&hM8fMsz*i!2`Ea)cJ33l}vZ{e$0? zqTQ3}0s$8Sy0~2mtI5^|=?y6*FLRx`JS9$bdDiyQQg!HVb@i9JdYS{86w!|3eKT$c z-lmA2NN7~<I9u<((K4d(e&$|@y@CYqduOWT9>yMK-U_N1b$TKk>uBw$GvGo6UXYhX z5s1zhn2>F|zhZ~vKLzU3=ZP@#`EwMk_`K=&96KP3JI)5W^<F-aQk^Nui%|JFe@lcd z^7H2@!i3H~pHXZ2eCYLw&}&w?331gg@W=f}Mt;oKCvf>C%;?Yww@5*=x5`L@aDS<j zvaQ|{;}pA42-=fSn3ubq1X-I^Vb6*Fk@iy8$x_eh;^#;H?uv5TPh9wBx$Tv>7VK%S z1@+W9jWgL8_MqVI6nEN@Vk^&#Jb+#K^$4tYAuV;D22!CONI`u-EH4SMWP@68!}e#S z0?IFzu1(wP<msRI*)2H-F76MRGC4b!uKUy7Eted4mGn?wD^69&uE81k#1nho+*<59 z_l>Vav-)|M)z?61=L+xbYp13Ta$MRs+$%L+^sA4tUdxA;P&9N%b=+(l7r5{W*~}X1 zSzSP_FEIyaA=+=_<n}MOA4JU%Mw=}TZREum2&=ZrC=&A{1<rD0k9MtT>@M)j{_;S= zT-=<Jx0g2rj-1mjS<8`m=X4D8a%A7RBvs&b2Nf3LRuqI#nsX83w*U^&1&sh3O)#W9 zhj=n@|4rR<zBVJ;%^q*7d)(^Rq37&*tDn<yn;*3%O-TurGfI~RwNACFAAG&cAgOO= zPAbO7^9t|KQj3JAuwQ)zq#*S{3Imp~Fgma8B_e)Y9^~1mxK~^Y;>RUTCab5-EigHy zh&hA;3TytLLU#0VD(rAM9QHbrIZ)fbN`<*z{s^{{cH<&XX{yw*$;qUkl52wVB$k3U zu3LRgx4Fg#r@U>REh{EWEfW+Q2>>D?R~YOu60)69&>Nr#;3xgm%R%Z;)L3{&6%?@- z=34Win+ktYOIK6^;ND{A*CRUTuMNnCpgE6hhb`91-crj=d#@U&+LL=r`hU;Y*_Px$ zvu}9UuS8`<K!FLZkMij2wiDpog<#xq+dsN#)%+~{3UTM7f%$m%LeeeEhs}eI_R@0( zTGXIng1jLQ#%-qhfJZTstqeFA4>sQfTV+d0X0I7Jc(*AK+J}+#P$a*^f=w(O*?Y<= z;Wcq1Y)Luk(hJO*k7FGyc-Gt_$j)C)8ntYeIwRdVkIP#<YKi_<fQ#<)V!r<2**eGp zO6I?8-Sr`dD<k9*?8E~Pt^@gj1UWnR*F)aC5^{l|zKGrgdA|?G$-+T7e*+Rmg<Mns zj|swi_|-5h^E;MJhm7@2G8X!$;y(G&+0AjHIoZt#mZN7kCofAk$U{ZzupF8yZ)2yb zvCfNn6z58I=GJT2-nlI&@fV8<&Q-EpmBljr6^xN#mbyDHe{Pe`OQOFa>*+GZm$(g+ zstjX{Cxw&~(H7EU0o(WOtX7nbiJ6K7X$j>U`hd(P5gQ)vH-%2kUj=uj4RY)2qu1b- zNin$+kzjJqNq&Yegx8UES}DOd1c{A~Aee>&5Wi|5hE;)76M#_p21S?>5WQ;vQD6TV zfzay)VpQK?lB65z=^xobj?LklpI`V0TdXhipU0_KIQ%A(NB^O8`^=$FX^4xPHWM26 z+HnOtL3Jw*ZX0%>1C^EAi6iG4ywweUPipX5H~50**q|t?(n5oK$2vdS$ZDa^k9zSv zfHJWJpg{K7IE^Jqgri;g7LMxP;>h0O9t6}L>a%&$LjR*%=+EId(y_0_IT;?9O#Wi+ z`q#QXfUd0np0(@W>iYC^W&K}TRiASabRxLv{xd(T?EG^^*gY7A*c!hbQpKd851sP9 z4UEpczCE3887!Wj_3g}9-#B>EKd5QU=Q3nB+FdQXc_h23=>29`BTQ~sz|QrL-WHQC z`t(Z9-_U&Cwr9@2z-%%hBe%1Q>5`p#OE1Y=?gc5+<m5{HsP19Lp-~m-x>6kSV<H7L zzryRCLYpD}E1j4%OwvVN!z8bF?{;GxtCcl8x3Xc=)lSw7(Qt_Wt(x8cO{gvtFZIg} z){>Vi<1+;7we2XIyAX%}ua2)^CtWP}{Tbwd>FYRr7EkM6z+OV&XY<cUTWYhgMp|oG znce%Zkg}kZ&0<{YRO$W7_f~HdvR&jCOya}^g}fxRjXG@5r$@DT|LS}xn=V;?eU%vu zi~2D4Afex;7F@O|UfFQWUinCR#gS(!+V0FA|Ht$geH+_pN>};~O)D6<mi+HuXvy?Z z(nI!fmXwRLgr;V3nG7^pnH(^;5#2@ymMwfyT2SPsFjbB=>-h_(rGxwdeJ<pGZdr+c zS<PgAZc>I2i1dIg!=3MlGkN}IlQrporjZE6xQ$^!LH}FhJW&Vooe=>pBT?p;qhMGI zOQQOy0+;ZBrEIb4UA(JJ6YiPKylD1XR0(}RV(<l#l!)U#5+3!zKr>33ZyQo5li4uM zRHm7z9KF@`H_j(#6r>bQgABnT8j{)gIsntR`PhP!c-=oHz|n9Ew9#igEHVxuwU^A% zi@E+i<mkqdGIv2}&DzIG!kYZu2xhik=*DN0Hx-+QY07xozN|B!TO5=Sd7+d{ZzzT= zy#b}wR+-jfYtajICCywIlyhytk!wPfzHSo_rzQ}ip^5(xng9?h)?7oP>vbEtAvLry zHMGSIK?IHiLEeal>3xrx?K2vW?31X<^c7i?HyFQ3k(n+g=GkZ53(+Q}>nBV%lMbSC z4V`lh#ZH@BkgnJba0{=K42$J4p+^k+#{%hf@8Z|(j_U#f;T2#dN3C7UBDfq+B>ip& zb+U#rr{D=*b9+;&D-vE332S3h=YdSeg|SNFrLED_Ru_|*IBljjoV!s_5|ems<Ygk- zY2AU+bMy|-HTn9i^ghdYNh0y>N-uIe`JwM~@pr@ozhKS;$t+W_Fu@?5$%IGG^;w>r zae|5Ohms?~XSU$cYBHz;7N-+VyKEa$xIvsZ3!2vEslo%A_c0SHV<EhcsY#BcRR-o1 zSe#;_#e*D7)ya9nuM|(Zn6binR_e7>&{oq1hU;jlYrNQYC|2y6K-}n2+|*MZYwt%z z%z}?$p5-g}FGu@FcisM}xZl{}diQjw^Ba=a%N+-qNM7y$&()9tPM;--<>*x;HA1Am zl11u6;mZyN^g!*)Zs+9(QHaaiJYLIT`}?2M18v^TD_jh_Dh)ngn^NP8R3z$`70#yc z3T=PC+&}yR72*F;^r~3&Y8B~e_6kCTs@hhEM~6GVLFBith{s7MFT#{zMlB!D;=B{! z4+I*-V{A`72P#1fpJ<g!*t~~Q?)6BXaYTmX*n5)kIJe#&+7&?20UvWKKnhz}@3cN- zeowk_eV1KAzHWX8Fy?}_XNu%nrkptwZGw7k7IcFfky`2tB$bj;Dl<<)qzVdJk|_Bt z_wbWE3_)q$@8KvL{HM2rUvvvoh>bnlT=FYSV7$~gns$OL$Rbl#W1w%3i+~Vu)&FD{ zkoQtczsh^5r5CxSU!!d$WSK!Ap$feKVvvSBWXfa0Utx(mWIC*8*)sl7OEv>VTqv4q zWZEs4Zf?>%!_uKgy>UR#@QS><%3pm&Tso{n-#Z`ahW;MWq&(t}-^LzfH|)q<iaXI< zWwkK?r90Le*X~?%Jl1Tf{<)ulf;M{?=QIKX?{<IAWn<FQ?l}uGH5Tz;qOi>}H5M(v z&uP4fayMOgN~3hvac+=GQA;Q~ll3@NI$ctzm;K>$gZb4t4dyAryF`v<*-l+}N;Eue zq-H}W?0PWvYcIYK??%IR6yEg_1JCsp2R1Pr7Z_)<rObDzjj0YESC6JT4F~p1(?q^J z$u%ELEaZ(SPV&0Ge>^=SEG<EEtkiiNWUbl@`dBPHmPsGgWQz-gTXU)NBs~#lozO2m z$i6+TV-4p-ll2K)mA{uWAPFhZlA>Esrf<jsgKB9vqh<-#!oZ)ogA8kPVi=S(ZGe{7 z=u8ZwLElII2ARaeKwS@M=az>=U03?IQCtIcdF$!AkIlb1`|kW3v@$6JVyb_(130u( zd~N{vlzI&lWrgwM3~ngW@g&R7z@D6)P0yT^(8opI|9sYbSx{jaiNu+khy5zDD%Pav zA9Nmd7S6*A#n$0n1;u*Kr!>|GfPX^1?k#pemZRxVy_6ZUjP)4{WcN~O=Qs`lp=%}4 z2xFnN2?~?g_h%}Wx|+KVxAu)mC-NH<Z^n=+?be1pid<2!#RXd;n~-GM&;v=xSm^!} zm?U`aZq#9a%VB2^4*Z<k#8jhAHZ69WPyz+CNrBsxREuqjy1G9o1BB`CE)E6Me4T<6 znKby|P6aC_Ld3fJL4Tf}Ar^sk($q-*W>NU=+^l=4+YkXjoQ?t$sNo4fvDIk;iUNS5 zU`?R@_?dwE0RuIzU>)%HTQp9*LN~pLQhM9Mu}U&eJ=bQC7F4bvM9*KZsu2b#bbvvi zv-$3g(rjVi#Wt&ODlu=CJkWfA*mB{)s(iQ*k<aV*e0~j*7b^i{49e>trq|hmq<^<) zYmM?;;m?M`U<Jhl<;w2wS+RcDq?S3`Kaw6NUpxia^TFE=IVH*2HlgR^1DlgMauHyO zgP^w=w~MPS4HMw<TICw}eZw#Y?p<%YI!t!AbStdmc!l=RLh*s|8M*Ns-bQ6i-Cpc1 zOhH#(po;gr@)Ai?9JGe9A2<r^6XMt$Gb3{Lep?=XTfS``dR~x489j5v#lrl*hd0Lp zHhk3%c=S~eXb%;f5{0RDfRW&?aJ@x`gJgGp5-M#0LYu*m7!Lb3e+NS0gM8VZ`@3UE zW@j$GjeG+^^qv4vwEqkwa!Kmjki*&Gnzm-+lBM}yRsVsLx%)W@3iA4I-db!MpKq-z zxCIW7Fu@LMrMhekcyfVl0c6KL)iBigg`P{#cYdvXzKOpbhdaM^c+VGx9&dhB^?DYD z+P3k!y8}eg;TJe`nh0Fs!TTAc{?T^J?vVd~Xd&p~w%i(rr6QT=j@twESeQl#lsWc) z<P6cV|04@V;>Oxz9k+@O#yai{KX-(md&19M;io(N+#7!Oho86WN9YDS(OWmqqX-vc zY7G*$>{Aj53N&q_`nth^mv5*o#Fy|d3{C|jHqATa8d9iZ-G-iQszp3PL#5PEOxN*B zbRcYSh#knAvc+_eI#h>@<pN_PErhFn#yus<0O?LJm$*ywf0Bxm=mVP-p12t2(x>;z zop1D9Dw!9MBvwhofgX$OP$48);C;F}$2VYP>Wy=Hb64{`bjano{*i5VXmwrOr9u<u zxvZj^t^midztMOQ&~reX^T!D#(5X>tt|<pQcma7I_?o1o!h`J=P@(r{nU(k2TrFN8 zyJD>K6uob#_E^oH(P(4s{^=jS|NZYTb{^G{Cr5SU$)g;{HnO~-+=SFWDa#l4rt9og zXv-t2b7bYQC?}v23;R=rk2E!(Y?RM)2L1?&6O;N>sfn(ThH<jgav@r;F2?$Z<u_bt z(t~5cI8AotW{gd;sD?B*&kH9~JEvkhkHq5C&Z$yt=OJwjx96eM&Wz{yX$K3C?zH%X zuWlreZ^oI0JcF*)iQi`qBfIvTIlTMDSC1>Ji~AQ}+tfos!*Pse9c0myTFq>XPh1!F zxF-psuDw#{DO1)d%01X;G*Te_lm_b8LTpijnk~q9phYwrxd3SKm`1AdHv-&6l`UjB zT9UPTK^^l+tzk;3|It>KE%%?_q=g}CEZ%vOk13D}lGy#%sg2FKW;SOn^*_2fG}eE9 z%R229vi7XiW)Zl-q&qY!0h*o1u{p%QiD{@S)eR=P5D!{rAY+VLe7Ib)8H$<md1|V^ zQCCVO*)DU?j=P0mv<&=_8w-ZwA~qSpxc{c7BJ)MRw3J@W8?G2U-EXs6*$m#pd;i_< zW%s=}*TJX_&-Y&*jB{Ckq2vHrF3>wpdWW@at8e3nGaJo006<&;pz6J5N&+OX>$253 zbg$6-gI|UU5{AC$&d2CcJUV<1r5M5!wpi!%-QdhHXXHFd;ok;JVIb@Z77SBa%K<Ah z#)`(@)w;WNl?-aCfPnlfz5k;A`2idxefE3%1RksEcC;$slz-&_u35gxUh8&VY0xnF z6&WX4?<sTV3)aDyLUH}wZO;}zU$QKx$6SE$nd(C*ge)A%pll9-7h_3g1ABM}l>u89 zJ~12+fFZP)-N%^IHIq8dCKk&rB&^BZi&wl9?`to$WYz3T$jK=T{HUoD2N^T6Fetpm zHR#G8olSwt3B|QR#gzQ_Anmd5d#^?AN81$Yxn`snJ2Q}5YmVH&EjDSbKwB8L%a<h* zo+&d9@p|h!(@8K{o72~fgmqfc8Pq-r05$69>9AB?07_RKO#<$ml~e>S9e?-Cz#+bJ zzzs*>@}Y16_m1j_QRV)btP2Ala0$NcB|WVq5C-g>7A4JpANRT#>pZREfET2-=WYrE zq3T(lG(<$7b)QZlh%-c^&`z33h3JzRQgVo1iP=*CzhVf4=(9$&R4kD|BRa63`hrr6 zF!ck>SZ9DK;5opA&ODLfne;>B`M9-A#PjjBVXH^%iRT8}I}Crj<p1juG#wuG0L?LN zimXv5Ds)A>J{Bi!Dceuzcv0J;1`=D@^N&cS$aF#6WgbLGle>c%5YN%C%CFM={2j@G zhyq`h{m7<$!&|%z*mAhtW*kxwncS|Ko7rrJdr{rNISV_{;HfXjO9K{jA`)UF6vzzZ z-H%OBt|;IXo^gu!PQof=HMH}HskWxdQylW00tG*)WgZhh=+<VH=KPMo@HNWY{QXJa zAr#SFo(U>sd*#d^EInm3S1qq!D{wpMuQ7`Tlk#UQ)S98CDEWugXJlubYOVgQ)c+`? zTk7I?!U-wo`n4Kfsrx}$OiE1!kSxhFLZlMqY_qv1b#&cxqrM7O&xNl$P-;wT1|x05 zQ28Z)8)(jwdmg`CA7}BmU+r(Zy)&u3)AK)3!gT9s2XWd&gv;pB^<XafZd~l*>AWnL z_O#8V)3Tcw<4^RD-r*f_>*Et!67|U6w`*q##N%wn9;yCqkRu5CYcJ_WWzXsA+e#(p z>cx~H?|t=cR;`D+8El2Yhf@g}WfqNXYsFow(6unHUHwguFboeJ%t}y#^ouL<`ew-M z>oxm<(TlabKIQNIE2@Y5L4x|Nem5ldAy4+R-83yj!)V;CfGXgGDk<P}+n#Q-&7&ar zcAG%V{-FKd=%KzCb4{^{@?BtrYq@@lwcY^eYz*G5><zjj_J%IU-Z);4;8?deOnM#& zz1j4g_XgW?5l+bUCX+RgHPH%WLy$EEOexREdwnzFWoIIgEIt7?HFh<LK+`O#9Az9M z?eNP0CmITeiGg}>3KhUIX!jQ;(rC>N2*BRK9s+L~tLhgM<5K}~%}d<`WkLn*4XbGc zSCm@tP-0uohFo4KNM`y$h&#M6Ln>He^v>zZn<wC1BJBjG+23I6{M%g*YZ8*tQM>hD z;cK{VGgm#XU?R&66&dZEs{DW(naUc$*2&(Z{%q-Hc6gY{`x5NYJM_aklW#J;v_1)D z!x9GVoQFjl>ej6X(fLZJ-G3;F7*bFHYe{Xi%0e0=F&~V;sK@1=W1Yun1T0bv+dpCo z=b%F$^ipK!{mw^lZRgv)@pp<PJ>UDYqp*%qY$7_U=X)MPjekzhG|YWA9Jy|NTXVVd zI0P`?A=Rj@>W(lX^3fRG^}`o0<8)G!%@MUXxXq?&gw{aaT?f?78iYN^oHJ4E9Mbux zL!}P90f^(MU6lg_8C|qzNCAeS{$a$@kjfN-d>fgXTpd-8+%elGYxJ%h@KJrMj7Peh zgmGc;4XFg@*oPh7#B+(vrozBahG*Q-zFp(O;LB3|=#OYplJ<C;2?fx1S$a;%x4h|j z%h=$4#F2(;ev3L=)-4uVu8RlRxL&1#-xuN5^Hpp|6rQ0HU~M};eWlJmR*3`*l{ks& z=FK{8(wa-l7=2_-<;Nc5JK@M3_~s~lQ~kGM;?SHHSIw514i!5Gz+Ct&!QJ|YIT-i< z^Xyq3Mta@zcz9xPdww>nmTP|?2kpQrXyqqX4vq_2U5eKX?H`)NYZxoiYhjxerEeDw zfgCa^>pGmv89#$Gnt!WNRQEKZOiyp|yCAR+5-W8jkU-?tQqMr?{;gMi)xVodA6M&F zeWQ47ZF>+Oaa4KBl?VneKuz!(HnbJ$>8Q2U3MMN&piR|aDif}R;~ZDX(z)VmI_qy% zbaH4^A|h;h*r$Sgy#KBw-h=*!QxNZXnK|)pg%`y;qMlO(!W2Iuh3bR_E51M|&Q;%M zg0<T|YjYE!%4EPc*`mzUPU`cS?Kz7Wo&T3IC&fWFZtyA{U|}{jPQN5iY|0{LO0}H; zG%hcVoqCYn`qhLc-ZNt`<1tvw#Qmwtedifn&M5~5VD?uL*0h7T*BRJ+AMucOE2!*r zb+!n@l(*He^3$KH{(-gEj0F>afr@W~fN9U@B1Z}XT4kxbtZU8OX~yFTm!`_;F?)>s z54Qp&Y^+W!=HRw)Z+lu@vzbeS)JQ8VxueIUvNMK-Nj-IaJ#c+q%+(JV3ia{-FzA6% zQ)W7iYB-m`we5!_c2B2%8SQHNoSj&I{wz)#Zz62uyk*$C^v{IsQF#hywC<8;;~|A; zlvQ~`D)#TV<V$UcPF5yI_0~y|$r)uo^494@%4hs6wCG`Dt3zx#Mhzrp1X1u_6#>Tr zThhERcsqI%#;{|Bjl*09`VD%;Gj1ph-t1YsyK3ue^ZS{Pb=)gzg|^4~j_8Vi+$c4U z?67y8k)71MLLYm76uxlL9Ki+r;y2{g=^}@yKcWQ}-l_IJ@I<`3S9c>H)7=8rVR6U3 zRPvcCdQch39vl)-aatO#4CZ@GrtA~2-XEnU%b)EZzBAb0sb))ZC-d?kU;p0ksD6ME z@lb<>FXT385A*4;0a(c9yEKc{eFetiSVIdi>w+mc^A1;SavzmM!DCjd#>egHstswQ zGMulGv%J&r1UYic#p|0?rg-~u@%+eFt|&KcBT?>pzPwy&E#Lgj;*IRf)tpZ_=;Pgh zuZ?Tvr(G;{+y<Q5T8_&t9+q2ueXFl;3*~qXzTJ{lGb6wC`?(+M*!pI^5gqMnFn?+6 zRzm#xcxWwV3a6Xa+7lWk7U?XC@RqEm?5&vpsV7uCTs*_G!bctpsZd^JSn2*rI{=M6 zm?W`YY4@!d(*2J$Q!iw%Aq7@EYv<YgE7p73s;7i;)IH@mr#Ql^+|C`s83YxZEbh2N z*GzQox|56Z9k0j!;^z%|E%au=9J5HgFfIn_Q+b{~8J|Et7l%6k!A)y8+>>U+;0Vj= zN2)(qZfYLU+RBB&;a`c^|93PLbLOk_Tt|oJo!-zTg1EqGCWkx!fmE>T-1MzB#hOK; zD5e#dao^WQSg4y6W1e2N)YAx~zy262cCZ8KdXdS)TlS&{=_m*0+~U?luTc|kjpz^5 z71jjclt;WS3V*m~fs+$nbMxi2AMu%j>f4gAq`#u)((Y|BQoHYQGLb>5*1l#URg!dn ztA*8^%uofT4}Kv?*!?@|%X?oTgB-D@nnsVWVN>OiRt!O1!@U<mL%l!ePH)Co2O`hO z109M@Oo7$D1`b~CH?{?|6?bg&ZGC@4iY-U8?Dss9SjrgkRpDjCxa7G<q1gFlH*_1u z&fZezm)Qb|z}EL!URkFMT*7tre}eV&_<mbv_G?SKTVpmio@>+m3+UWfT2+UCjFE3z zLmYC~W?s;R@U>gJhdVqd2dY-e=E7L{(lg-|^vs-;jAp|qX%6r9R~u^|Mh=3-Okw{o zl%P+X>VXzC$1e;M6jMC!FVi#SMlMOh>exNnMf1k~R~lJ5`sLVJbm|5ST=fi*aGQv4 zrG_#MvM?c@KU~u{9!!|3-3SKhXcAQB#!yZkC9BULXHvD?^1=&G6{SE_v00n0w7f9) zMEfc0RiuBp<puc%Q0c|euD0T?&AO1~x}?T$YD@FAOxB_(c5I5QunP^cvT@F&S-bJJ zw76tvF2BR;dm{a~9~(Vu&BrNZ%(%b}XUs&_+MaQ-@dE2N=pVh4pbTRLm2V`1kv#)! zw%~&_i6>*HGG<BycYD0IsuA}auyYSW3r4lx0Jq_@nmaWtyEhegZBJ+lkV23NQUyd- zg33t7H&=tY^|^xD=0?^4)k9Vf>Lw@D)Wt)*UUYw{6F&cr_Q!x_7Gy+EIDAmi<#;rV zfoRsA!hVRlV&CHcIlz;m?dpGt?v6Z(-kml(d0A=m<jDsf(gb(q-7iwuhoLeGS-L`t zq?;CTO^<0CeG)6qslj=?7(cBP_dKGfkNBwy+4Ke<yQ`wT-Om{&MFa_Exc)Rz8r6SD z^@r2!L~4z#K#uC^Q9sSKHmlY!<j*0*6+D-Tj_;fG?}7!JK2E~LS{*xkdA?(#mPMlq z6fy1h2J|S(m$%V+mN+{^vQqfLbtpW<UZqH)p&f7V3$Nz|Bsni&#gO&^>Z$#DY7g7V zaqDMXVG9#hQKE(UWEojxb44R-QlhFFHin;2-_Ylw7ao~f*uC;LM#hd#d|ddz2oB3{ zedDQO*D0niEb?w-jxn1@ay>>j*T#?2MtrWV+|!q$)+~JB(R_=DM@;)PIa%CuGW3VM zWMxjAP>iveUp#Q9Dx)AzN3uET<mqB3Z=96UrN<PFi&!b5;zX>N%>XFyfAIbK0NZZt z+7hW2hdKC77RCGX`)!+lZdi+d#;pfe?=Qp0r}@C)j@J)$ei{bI@H8E|uS~K}h_tUd z5Bq4&r{StGLBvKi%$5?u1(CNAWZKVOSvm<xJ8-g63tB`2ZLGYExv!y-p*^2Dyyw$8 z6_I&$eT+~)YBf*_1b`je7SUb2vF&i@XXsi;M#}Z{hSmG&#Qkc~F>TLuIDN<VkWmD! zmPoR2mxo~rH%`oSi<xK&gAJea$gfx^Ow%{+-nGwnRBFmlGj%0yE}~|_RSsN=Mz!dv zgf&ubrkB}5?kB67`&7_HEU27!1=^N~NXPDqfhWWBy?!>m_eyQ%0JeEDzPHqQ-rF?3 zhB|>ITg7||dcyZhff-@1#ZnV;>#RbeJf&xP>W@x}s`Lq?J)9#c24&6;Dfa~46oW-W z;!}FWu?>YI_gil0PC|p4PoQMZYGd9<`yXv`%bTxx^sN{=D5A4gWh4eh=AAL~zR^uE zis#~PDH*I0@1R@XdS?jhxeIA*ctn1`@zhG}ffW^S$1nm}hn}luIH#7F$y>s`J3p)r zF)O%OYWu3<6KoSZebrYBA9&nJ(OeSID2^AqPX87>`HiQLK;<R|BjBtosK6PlHe7B} zs(ypwO~dXhLpO;_0vhN4l_MAc-m}G6djkk}uD~;)ela7R;RLziK8N{_tv?Ct3ll!< zG>1_R>7=ibQ1(3@Pm<rUJqy4Qx|)SQEeCST=W70z_@m=F<deW3NC8Nm&{d+$;*AV+ zC~C=gvn3Vf*cGJVqAEis)ZUcU#vm2d4RwAFX2@_5S2!VAmNZzLQ-BERjv^%POi;NZ z%8kz--t)OAHv$2N)ZReAE96E3AlHM#ou9WTnL)JWkj2(q&bLYOvNdgZo#nYAn(nmY zJyRGcnv{uaHl|fAGlRp0!D}oTsJJU|{J*zA;|76-qh)T^Wya}#vP*<baWf<Sp0F7> z_t3VcQp7oeSNkFS7|YzlNwTQ(S@YEU`QrS~r_Ug)4xn<R(9*YdUHJ@+^K#bsBukf8 zG`@%D)n9a1vpyBxImAoP@f!i~rb-)`@4+Ft{yDy>uIHh9<!b1Z5K~psajy4;a#&Xs z!2Ry9o`8N+!nQUE|Hm}Aav1mi&sCWIo79a!Vbk5e2<3{p22ZCaH=0Inz)COOyh~hi z|ISjcm98SD70o}0V{}C9Z75y#i$(b&$EU1xKgfQSVRUi(Ogi&#)$tAV>lqqGwyxjs zq#OP%HkMq`u+=z5&o0d8MTI<e?TYgjNG7~Ylp{FqAC20({=CDmKTL&QH=vR5k=8xJ z1biGC@l-K!=bw>WEbZQI^z8Jmm)Y$uZ+sbU7raqsxUP7k<#0Wx{T;&PEc-GSJ5L!m z+wHWY*ufLm_?K8s;hH+5@w&mb1iEpQKnc=&!uI?q+Cyu%_{F-X3|#^*BH`tCaCH`L zB>_XtDG>Zgm?YehC<8FX9owr9n)yP@I`KqxIb$Y1y*u}`mvOa?tnDKv#X2?@&iI`> z(QF8pfiSU-4cXYU-49S>n3zdc<mHlADT0tBl!iJ#uf?+f5JU@Sei>o8=SbF}&JTqT zVy1Tgi^H8CVxR?V%jU#Y&u1Bk>7_6@1CUvjQr8)|S4>WZn$4Bha9(Mw`9XKba0jzL zN3%Vr%Afe)-?R9x&GJ$`&n!>v_g`W64>!~EmU#lEbl^L9`OlZr%dhmSqOw4AptE1G z6cuBLL|Vtif!3#i!OLQ%86d_%lSF766MfyjEX2=)f1Bu?J^MD5IC!|Xt#o^<r|pSO zJmlc|B93P9_DZpLuE_TBYy;o<P%zXtcvMX<8H}afJDoHwdhsyr@)^$IRx#036XuL$ zCBt38iBN}C=8$f<_VzO2a@x82zV0BVk{H0JUdQTU66ihDfk|vZ0R>C~F^-z-#U!xB zX)IGXO-#Zsca)t<W{~P&E1txal_y0Vez~LUgx#dmfssx)Z#>UPulFKc0pM6uj*-IG zYm8J8ZNg@Oks@p`(zwP=j5Hn?33K_lyL4x1&+!@~9j{{~rnA;!B&Oy(0yReYOdTVQ zu41Im;Oz``zBha@GSYijG171)V~@Z{u}Z1y_zFh)It#Ds7|C$2W~4{TpLicSFESEo z8TE|xUe4=TpOK#B<p(k@T#J$ZATbj2fIHQ1c@Qv?Loya<fsyckrqF0+q~zuH0cUPL z0e(8PFrgxL%`5zgPAx%$a4gFr+em!{H;UbOEBZv=0F@wN{HX=+&^5}|lA5hNN6A-0 zNvVm@0YY%2W}(o#&06ds56sWIMoT+!ee_^s@d8zB#5w3xYc$_P_Ix_`eCJ40_KmCp z++ESgZ$?p=Gf*GnrOwk~CfHnp@rr?d%AzH>bJUqiu<c2`8FpV~v$2I1U_U0`51u^B zwl65**(QC4JT2~rD;t1h=#ZwGY86<?4&NesFDVTCJiEX7x}oPlzFiRbm=2~@gU=IF zFt>ux17e_@P%vtE8L2S;e_8M0^D?VbWfHGhK~8F+;AZ4a<w|)AK<Od90voJFqAH!i zl_k1E2gFsy9Z(A|bFr)XAoFLg*qka7MbGs#c4TlkY&TvQ7*s#K^|&pqkhx>eZRL=k zq+NN=YYa8A$RkCX&q+&(6P8lPEu|pjlclZ``N-05ag0=C#+Lwa^#XjR)*CV+$OsMV zYrU_+1?j6$<S|)!a_EnlKhU@s8HN5UY#xBQXGF-FpFXnwr-y2vKH}7%A=W>YItQF` zWfjdRPvIU5TRlfgy+bL(4i^R!HJqGtIjeRe8d||X^>GAkpsd2+|MK-@Y0r^*LOJSo zhgJ{@+VQA8dv-BiEdEXLr(28vx}|tubMbXe#h<La-*RW*vBKaVxK%&~Pk=mCeZq+Z zP|tW+BCXeRMsz&GyK+~OT!q2CG*SIow<D|uG(Y%S7o0uZ(U|D}lEUCCQmxiRjM^90 zScNE7(pR4!C`P_gl!Rn2(ZO=|T9Ohm$BAbO#Re&rJ?nN*(nNyK)tC0&R}z`Bqz1K{ ze@fF*22<Px--%%{d&)cRhg31aXQF!W(-sbE5zU}dv(}{>=R{>v&2`hJ`S<wqe%ssV z7h_!z)mM605SKnI5KA9-r{1HQ#gH4~n#J-hdRo3!<t=1%={CRGU0K*VK*$cuP>u4G zr>tWN0u4Z|eWj24bMFZlxlzpqjF2Rn;t_f8Djdh4sOBqDvpqkpw4I2q2ljc7g7|?P zBUIj<d6zGW&XITR&Su^1qvidjL!;7aA>f(Y?~HKH_B7#(gj^ycB2LqB6=H$>D3VA1 zL_6D;Y7%M(dWCA+XfQn3;?i4P3AbxGB_=HI9qYJ7Gk$Zbn(dur!9oLf#s<bZ?ub_< zC)VKfc?qd@-<(4?Fmb07MB6rVt${(iG8W+^g<Z>05_A*P@S26{J45^RZN=rNbB1x3 zVQgX&^vZD*SkLQor8i&~zBYG%BTm_?eXr~VZB_^-?g(?UZpJASU&KCB>OIfG+y+?M z;@evtC8GS+@QxZGW=%oxgg};qEd17Nyf4gO?J5z_Xc|%_?_=prS%>v+9`5`Cf`rnX z*Yw0+CnRB=hJ_vXxP5o2C0r_3P}v0)&#F`?+*|7FV_>`rxPnS}*J~~Fv`s-}aduUc zIPU7c0U{5f@Ehr5x&>?`&qjtk4jtQ?I}a(FPY)}=`+at5?Ri@w&x>IaHY6^{A6V4) z_+3ywkSDzs7%PPj9Iu9!ot95EuW9)!RY%t|iK~$4vUb!@Cn@CeA6nP{p7LvvD&#Zh zuunV$OfS|-&#(K*$$p*SO5+2f@0d@N_1Arvf0J8kwgy+Qoo1UYk6Ze`*vyK2vLZCs zzAO_~wk-6HSm|6QcCO&a<D6JPHph+4ezR3B1o4dP>4o46SQm-^7W1fes1r`Q?@iSf zbUI+bp*HwBNQ8V%EO!4?*k>_JN@-=NP`U$@E+pKp_>7?t1qcdG2lVlWIeY+VYYLWX zdujv8H2A%SeaW|rdx`b#y^0A-@?D0Gfe8>0)~9Dd;KjlR#?{B6hx}OGI{=@t)WQWy z47m%22Rj7tm34Trcqml8xOc4Yw|Pme>iW2^J#;bfU5kI)-`<XM&{994tOIiK4!)8< zYeB}e$}EOwZOmed2C`v`v9-LtMNN#@Zk=Oh_bMAfH#f!KwreJ}xzIG$$2<~P4Q0Kb zyAtFueoQcEUUyinOkwbVg~E}WEfBTkz}0q4m?tj0^Ewx5Wo0i^<(LC4WOcM=O+*w6 z0M-pokFc$cP6U~x@pL_*XroVoR~q^g%R`-iu1~w<pi8ztJ=FQQTQjCDQJC^L02@t0 zH+zeRGytK(ajsl}DGY7Ag!WSf6;q+qaV__yqJ~bR=*g&2*J5hP?t<rc_Ye*^+;Di$ zpX<c#(IFUX!hM*S-^i0NEzQOG26!nx(FN0^jMOOB*x@~ohgWwr&Le|DV~4vQZ@&;* z)DA&wpU1H)#AAZ{m=DMdhdEQZlJ&8eXCMlredSmev5#f6gL&D?8qXKlWSq5<xh%z2 z;7$<a6^MnwG1nOFU*3Q-Re11H6Tmshg*mPxhxcMflQ;A97ajPUs44*uWq=0GNR<QU zb~o1&D6yo!@!vGvI8oI!E@WQn*yPLzZN|n;tI)|B{{WQkv|HO8VyhO^=-p6#x#61e z%jD?xplx}h%?{@$AEO{^qJ6z4q|-F4_>ORhK$5I}ZotoPsD^d#8vR~g7hbcxi-{t^ z1UTxfCM@BGn_;2PUNgD>((oA*9=sAi>s`Nie>$+K=(Ryf<7|XL8)p(%!Z-*97-DKK zT*BozmwbKyF0(*nQ<^=1GgL?NdrMu97e4vf#tZV7KQauC#@W95qkZ82iEmyxNgIX1 zFL*HgWuQN;FP~0dR)r&)eqZsS!aM)Kh2rT|pwVr!Enj<FM*$F8qloL`P(9nm3ca}s z$0IN~w$1urhlTC67fT-zJMS&^(zmA@zkRsvm3vD)bnNRzPPG5~PxSHdiEkIbHuTrc zESosRCN%6H8F=rgqL+*O|9&Vy|9>jpXXmA&ns8t*<~70IQc*et#O3sW?T%IQ-un%& zp`Y9$GIkkT0u|*{FXabXKWu$&`T;VxZ8+l)MUE|+;OFv}fY5^v53i{$Ol7MD15$rF zGW>f}6W1~@U)ekI6r$S!oJq%dFo`Xq`=}<N%}OT`P1kgBgh~7^(XeRpHbZe2Q@ITN zzwynz+>jTOX&(z=Xc%bj<&^{E>vMTm(s1{N92!N(s5CCI{22++@u9~4(XAfHWbYY& zJJ*w+=l%)h=k|K}IqWXf$<L76HEj8LHpx#32UhPMIsCK#ugTAU_K%mJpR@d=Yu}yx z{EvRUPJVi33fYGQO0v)Fe%E&{JL@Evq#*(XYW^nF{MklieTb;8q-N(7bwH_8c}g8u z{PMX{szve@ftJlu2T)%o-?8>_cBC9!m%*L^Bp7TWFj%zDY78cUpE1~X4|aesW3ZiO zu=V6*@O*OqPfcDT<B~I$+3V)d{ecb3gpctAUrk`YO!Sh=AN8dImX&rcjk((_-59nT zWVd17qFyjtD7aAsaXF!H6@6M~^kD<wvLJZ4XbWmlSJ)J!JMV2AS3;At6XNUBh_vx^ zE{*b=DClJ8DQl?SW^PbV`p`_;@{W_hPibm{)PTzSnDMiUo}mH~tEb-(ZPVrVbD70a zy!~tSuBIT1`%Xxr?pZ8%eY)H;5$8#W>@+Kl=oB5DhguAKY0sxQL&w%OyEkuiDP2pS z`%CvgC+v)MBIvV^AHZ+|GwniEmStaRI!eDjjqJwGAjUuirQ}nmxMN%O+va|Md<6zK z^46DlOU70P#71@TwZN0ZMw77t+$rB2dza@Y6Sle+$>4_cDLawM?x3t5gOLVaLSyAl z(?E;cU9&&T<I5StbKSKKT#!1x=gDyB(3h&ei!=c*=Y^M(Hh)jxZ&Y7tAu}bf8R0ys zU-ZGS1B+rzoRYJi<>TquG>KUAkcO3GcgEO5s-Me@+FVG*Qzhq^kB#OjdidZym~E7> zF7VBmQT|x>tuA8%@gSe2d$e~(mINg|*UBOnBC)}bv+)QMAKfoi8ID=Az-FH^ey7Gd zHqsw#9;M?Ai>lAh?@()fCtbYfNk&c#(lcD@Jy*INqw<(cPJ&=Qt|T10vY&YPZA2$` zDpli{sF06CXNZ<bU#Nr;FAP3P=q7xOyLYu3mwe3mArO)>;duOHge9H)GzW+Eet#U< z>xenVk$okXu8w;^mBNu592sJ?X6CmhVh?;QvtO&2^91!9o?^w3P5c0#GRDvJZbo=- zSmRxDg!=V0lDtAR=$U#ZG4bTyYeo)yE`=l?6kq3vZJuEVlVX-`B(g?}8dL#gr*wh; zMQ-3!>2eHJM(XR%rD2R7(HLFJ7=1lUr_oG6Hb#%EKSn)As&^ZU73YL6XgXlDZkp2T z_qOEMJ5@jLfh5SGEfI)m>@5u(dK62<4m2T;CYxR?kh#$YaIV(yTD5LaEje+#v4v~o zp!&@cD904DWgw4M)BMYT$k=af?O%Sgg0Nn3RDDAzjt#8!aY&xf$ZF6jUx2p0LKhgP z1;{-=kHgb1XK(c{UwZI+smp2;>|00`Pm#r$>ZShaCM-kK8(ROm7(LbaRT$4W>-zHE z;zNgoky_K~(SjZcrP(7s#xfs;l88nfd7$oDXt8)mAn33KKC6X-+M~s12>fXlt|px~ z!lZzI0!U(=z?8=+D}=JkFM%{xE=*ecJda>JJL%&hjg^W=LB*jjdI@FM#Wab~xlrlV zvStB6EQ|5pXed-Ut~zR=;C$a13ND#9Vf2NE;%IGaA0K+zQoIgG3f1JSD_4TOSk#6x zV=t!JVY;hIX{V2v_s`=GQz|(2ER^5<d*u2Qk6Pt+UM#=6i@dkuQAtNCl;7Q>T!W)# zM%`{;VzhYlba+}v0z~vQvZ39MyPOoQk;?|I;~tOX^;he|9o^g%uSbk)yp(&VS1X4Q zELkvB2eT~V^;N^En{-fMYm4&V4W9`;zLqKPUk?TDPp3i5`qSgvtUn)Ks_W0IAe86Q zpL<sICxQ+CHB=sF{-_2vdPiU@ioC>A@QClaOenRszf1mn9qd0UzNo%pSR*{3*F!w} zne9cde}=wTf<;`I{ew-Nd@@;O7t4f_1EM8jnciuxZ2y3kU{qqvc#{J;7oA<CBXTN( zApoxEH$93o3yu@xhif6(dhzy-=FnY{dswYedHx5rE5b$f#-Zt82-o7h{R^#Y#;3&s z7zE4uh0T|)dtOUJ!+{^C#OMxZQtCU{ILtb5U;{VWi$-M%mqX&%J}pvK7c*RBYyXg2 zv?rKW%^$#ct*hhZ>%}8h;9tPVJ^;6#I+^3^>Vj9THs~sdC8c#}(a*vi08t&YEZ1bP z%i2`-p-@J6_!2EAkUU`0u0hv2xMP7j4RI!pov&I{g{Ha8nszhy)S9u%V&iX8ZfNOp zoV)%nH|j7-GyrSSu)x%=-+Hy*lH^L0Yt3<c6;%<%#-%=Ubud581H~T=LpNEJY?PiV z7~a256$EdsuNoi4BsDGh!o9_#ecbOY-E;|;59kpIpGU<JrJI_IM~8gTQapM@7rR@F zLy~lUeXjJv;*EEy`i=Lf?v3}Bbf9iGZME(#-uU*zH(fq-<F6jR=|w{~{u=97io5oU zPEhM%VlISNrPTYsc#+_%%iBGqY!BNFp=z^_%BzE@nkNY7`zP7#G{}HpSL8S)3wLGw z%zW@>dv_8GCY1$Wv@mzziK&HB(ITsBq4et(Wj)KK`?u#dHF|n-wVK+T?FSv&&j>i4 z*PHtUvV!?c5^<HvU*}<&YNKt`@8c@N{sG(9JDeoT8eS@O>~gcM5D{}}v)Vae{<TO$ zktMXh)IWTW_%RBF&2ME5n<uPvIzpJ_T9CcB)c@!`Nr5V({$szSibV0?qqzWII5!~Y zPoq||?q>5_tZiumhK9iTk=e&OnpI|G051a#ygh)&?kj+&9c(rGU3u|6Y>caUH2SY} zwd1^GvC7nY+nTGE>`v|yPH%3#=0eEZ5I4;T5!FxHgItiO!q|hXmavCV`Q7*a=Sv#c z!jqb_W-4yOxyZRXr&rW@n_FY@@E&{eP9Y)lSDX(635(Nt6uzC#;768gM@7AQpGsK6 z+V0~##x*SyuP3ms)3rUDSZ;Sm3*SbTFZI+1?iLxyz8hv<;5zM(^fnlN*jM*wUDqiD zB7@-@>^#zURKyudN`0PXL{iK)vIvpg_Rgx$#Ij-pVe$_J<=JerhV+K!ru?e7^xK|n zUI?<O2P`o0^t}FAG~qekJ>PNpCH#;h!TuK7<AkS$kxEm!sgq#|?yV}JLPnL+D77)H z3kuG;0QJYkFv-tlHWmvzkzul!jPMC-C!KY3(%Dx|0<oGwR4e9D7{tR??_*!{kU!RF z$ZLxn$HSVFN9FQEhU8gWQ-AdTHWs{b67Jl<Sm%&Hr&otNF2DAY9`*$o;viiocY)li zy#i}{xvMX7_S1y#W;};N7F8Wx+~JlToB1JN9P8M1U-#W;Tn(xtA9v!GrR%%sQCN%< zSn<&4aiGwWoZN0BN5lGkdcT?<(Z<Wgp>57j<a((%wB6UJZmjXELwU`Y$#P%N)7wLb zxoXd@HfL8lzzr>q)l|4*<^2B!ZQvd)5-H^+I9>YGijbqnold$K3$0jRA!8x8JqQGe zH31b+D#ZxmQHsRNC~d7SyMP=B-_!5R)aMOG1Ae4lTmBu3LRer)`&&7CVj)zuaN~WH z4oMaV7+26lCb+(B#-LOu-G|cfEznHXNUTeyI0`C2M`^4Z^2ZUs`li05154gI;EHV6 z!AQscF`1ZdLo+S?!>>st;d5=d64u@a`B=CA4#=*!>5Yagz|gTVmiBp=C3c(QZgJqA z36Y>Rr71`!V8?8~dyo{>blrVW%3>H>WO4p4-2QgpCVodI5z_zSh6=JCu8}h#a;V&} zqcM!sR@d9U??S8M*z7$HXJhDYSKHCL&6L7IW*mBEFPvhss6k*176STm)_gYq1q2}X zqT$*ivu3w1+x_Xy&sYAFPTaG1`sX;Ai69wi`p_=Jm0TviA#)(S6w5eI(#ae<v4+z8 zjn6k(i@!Q3T+#wahB;6SX*6*Jz#QgApe~>9#+@u{B__ml7n?yb@rH^3vV<=G5x?bL z$!-P5m1a8!YjUGHVtUnH3CL2YjUH~|&`h!nXcVg83pzN-Aq=@mi;1aZtZ(^_`U`Ka z(?fV7P;9d^64dpzgol|8bf{wnJEBnc27hE$V?^$<8`zS8s_h%1t)TT>m0x636F)e9 ze_N?@(=#uQvQ(ah29;8A8tpx@3=vIZ>-b^{HQ=vTG@_G|#Dc|}wNA*a*7gU|chKjQ zcG?V<i=p{E$@<k_u#qtBNfn)IHbWdypBmRI3V)ONGNH55#$&P$q3(7++f3MB^hd$w z>OXfglYgq%h7iTBo^w}Ck_g14eYUCfDe)Y!TM^XO^eMhTWDKRRYWy4PJQeb)PRB`2 zuiHOMOjj%a1y{Q68Xf%Xue8ZPQA!LCMyaG(rO_PhXPy;yFc??wgH_Npy#h_AvEq$M z&sfd5I`cz?0a<#rUhwqpVRhg3OM+1W@^syGF2I`|gK;jxiwPpoh4#_vfLk3-9U?sL z4v|sOu%FIm6>XS>euse?zxy$LJ`Tz1F<RM&Q)+qbE`Qv~uAoKz9Q<W7@+!iZI5ZL> zS!c8&`x(h2onoDj2c-F{Oho0^=k79bgX=)<vmVf$!FU#$uvBJiWbaONbRdBv6MzsZ zn<c~qPUN3;BL5t`5xAcFlYVx>jiahh(%E;8VhOkaxK2>;t`E5&yr+a1+U84(&^KGi zvckD^`&#={D@(cZ{ZLNzKHi6>1L;pPiiN?S<|Z`cZXQpK9v}H)^Ht-S(RoZekGSfD zIEKyP&($#q<l`N-&-#5>^%x8J*Wl8#iAzlZ9(FJbr5~pgd4X`=hjGv>ME7GEDIddB zHHSW8N6kXvk(E^ToWJpAe<Pw3c{c42`IBaxK+Dh8lj;vx-ms+w_>sH`qGmW^EW@`E z_cAkSkTR~3momw)_O1`ZI4hPipfp`~O$Dw!YbnEnDKE85$zad|eK)tRpp5a-?dOu) zoLezr%D9-YkVa!1N(fXH-5N`1g&sX<&}?B~$&z6*Ntxjqj8Y64yk`QurwuO;&O~_6 z1klAkQ`P_EwoV)6bcjhacgXYXNE!9f6_H-f(4*godiQh`S0}@J;Dhl}@2Gkk{Sl^N z@kzWs#J&AK_jc4sV&tE>&pTL$ob@?w9J$8#%y;X2@3)OM2pqGx!<3G7yEBOl^wqA~ zbdJRBs{I&kj<o)NZNIBsYx-LoZn5t(h3R7F8yjL$&f)XRE!yC}K^Bh-b~mLG**p|2 z*Xqdoa7nHbmK8<Vbscs%!ZoW|+p;|_Ch;Xae<x`&Nk-$o$1dTxCVlm)5lPB;a;{@$ zRBm%E_FwRC%eu7}Jm&I)F110v$UO&f7T&21-~^R?JVYRhq2gQ2-dV`Q{)FB^H}HV_ zIdnz1r@A0`P8FrJ-19crwj7U1NM%Hl_V?D(e7zSU08X3DrVVMw!6(gvK586RoGCR8 zSyfMilmk%oB%D^+<+YYXVOpI7JmUsXj59DkR*a{`riv{O$na}AWb<#P*!1rCZ2<#D zyk=P9w&{wZ{h}F14Oqp}_F`;X6JJ`c<Kv>^{&2{N=IGC8m^ZGsf0|cVr7hHQo4zF{ zfQ`+%7V0;OlV7kUjN*z_Vv9m7+sDOYyu!9{#QJx%LcpTiuEo_&wfmW@@%m?BOSN6= z@23W(uWE1EE2`P8Zqu4zW7q=Y!gB>1B(4kg=Jmi1+pF2r%ltj!xp%G?f0Yxbz?x_t z*lK(W+qxjfwoNV~KPcn&P>D2{ngD>ec`qj<6jE?Wt`c3Nh!`>gU}L&Q0Bq8=SWv`j zhT;|$g!nNzQFUTLVpy;w_xLYjLGGzeMOg5;RowKPD$0#Akml9%77#P33|=i9`Jl`A z@<!xAIK%*9$^9nX?{1QwoP=N3l3Nq-+FIq~A<{<ISg|s3_pl~uaHsY?_6v=&1Q0(u z&2nPj@Gnq$_hWjT9$*uPg}m22eUR*ecYRB*cAnWc{3BjX3|#al!Z~U<@qZJX!{Yrt zqfSM@9UR75TwCCtc8bj@8NiOAs=vtU*zUP7618^Ey4`cBU0I>e((b`s_GNs^ae#;5 z>7+af0Yy$wNLW9I+|pECX!>ld60BTRxn!OsF&VLyyX~{gu~PtaKEK@%HW^~XMPA7D zG20s$f~SNon4RG*kUCd=vHkNq^V<*S?1L@!>yf<p>R&hqhL}jXX^??vaEMA_k?g(_ zoEX?{<f-NrpmZ{Gu5eB?RJf3#k_9^uzDop0@*79z=R;S(ll!V<Wa8fypL~F9z%@S* z1j&l_8FD58n~SIkq;(7oO8(~EhWBEzG1;f?*VL`2fAi<rg!PT6@YYfnr*E*3f4N9> zgzy0&HbvPao;A}{i%@8hapg+JH7;A!NJ}wS(vi^lc$fFXl1tuj>-v)~l|v&HnLC_^ zz<-+H<SdY8mNXVV@Hyq;H(d3(#=kE@=6V{|d`<0#MQ53wlvY)#iF{5e)N|D~%Z7!+ z9Zek9%6dO#9(;vn=un)Gz3l#1#T!x(Il;B?5pv0Rs9Dug&s^i@ieD;T&jNyx;`L3% zS605TwXvakDzy-jhx{#Mo|~kVa>vu8+aPob4?f_UlgfOaBJ)|<zj5Wrv`&j{Ms6m% z;-9o&(I&$pF!m1v83U>by~4X@%~0Nw>*(D8cPsz@EB@EC@elLA@b^6a_xxG^!nSAI z&kW1z`I#l8B}vm+kO%~E{J|Wf8z-Pyurd9^Pt$mK;X1jB2T0oF6`V&!3Z}JEciInn zwDL-`(xFIKIwQ+PYFNT=K~54~)7%ukn(pZF;&tCf4y*E_1Tqb(=L0wJHA6JnBnZ%5 zOB-6bM4|0_>{8_0@HegDG_P`?%QbbNGhZQI*9pa?LtnYreTlbw;F~<Vif7OpOHRBF zKzpW9rGq0r=g7;2MA?V>lImZWFhEGHQHX($U2)*o{IMxM#;3bGT-tEp>a0|Hy*Mpc zx|R+-YM6VLN*{4Uy*@N&f83r5A5TeiOJjZNr2eT9gxQcPXJ&rrIK7=`T4L4&GHW9V zPzke(*#t9~<7!BAYrw4*Azgqe9`g0*w%jopHF`n0X;a}et<HcjJlj14XTuQGpo>DP z`ie9*VV+^Z=5-}o8$GL@R5i_psPUvfdiq*v3Gjtt31!ksbA;R!h>+l#)oypW)#Yj1 zfh%pMhe=l!a0Md_A71Y<3%i?$Pq2h)t#hT*vHTqj+6A3eRNJvuQjrM^C5|>!KIPyf zHO=OrRVf}(NJ55#KjGM&Ax92@nvLN2xq`mejl<Ho1E%}FYc>Do^QGVQF<9Fpl_=?k z+PFc|Kb1XOhn_U3rQW5|Cq*kO_G@^W<+^dW2Q(Ox56V|a;++vEfhlO5J<G^+H35b? zE0s^btkIbyjMK8G^{iMb<qtlz{}N68I2lx_O}lp}wTW(7kN-Sd>u8!`p@Xj>#u7aR z{j02rmHP3}!XqZ5=HLR!1o{2H5lSv@P|jd+@F61zt;{68uUXA|;2N3qh>uXBb>_V< zbx~U?BGp;@EmEsB6}8|pGEuJhPeb)@XuPfwnq`?+_#A^%o2E;z(_(KSR)|xLt!^O! zCNPkUp$W-0+GweV3J_{F;5llv#Wv*oLBuZG7~fJ^Yb@Kes;pF;r4tIY4W1B^{C9A; z=LKWF5@Cn3{^ge*h=ninxR6ph$E*71R$GgM#}k^{ii3}EJvMlfzp7FFMU;W6_33k^ zvTDMBgU9rSza*VrR&~t4)>3#-RwMMbrR3&Pb-i3JpXP6IP=7=1;@}yTluz-u8di1k zInQ2$qA*=OsE3*;bFGwlcF3$G;B>(fa`x(Qv-;aVTPP0R>s$Rr9vpZ{DLgN$Ks(FR zb-$n{G)2z-9)7`p%lg~@#R9S=6swlO@)Kd9Pqk~sYD?;af!%7<ZY`Bn1rMPA2Sn)M z1r6-hFtCq~eDjKtFK@yFA6af<{e$1yrtO7}h%-41i`O*{^U4J-g-PAA3dfp;RL=2H z+(^3k!j+5_S7QEeoTB`+zNhd@0iS`=8MK7mK$6*Q9kR8Vg6Aa9C<}9NfX|lv7tHqj zD9<*?DpcoVPRTJvEZvs2EAmCv(>?L64(054)BWn}j2uJ37#wxe5vJnc5#Rc6S&yz7 zzpz~Lm4;x*PyN?rX!oqyi$;)}E9-sZJTMN@fK((fDps(Lgw%8$k>R$K5D<`2)&~@` z$lqoU)wU)vV`rN~XTxovcTUrN#}7-1nXx=vVwuDMVvO*pR2DbOWq#0#BSE;_tkV&> z6B}~e+yP63z?7g|r?H1H&LLG;nGt(vRC0E;{Ow=3I;n%2i(*f{NoPqZI$1=&?z!ll z8)nx{tXy>F)l*W(Sg#@3a8W57)xQm8`NT?0@GP;?Gt$-JPzfo|yGpE7l3HCezg=s_ z`6LVWJE9A)Mq*|7_+5TWTEG?qQ~oirvIjj|Ngpum*STs;=u|SL%z@Yu@mY0KsvsCe zVxi9)TpU_%Oi!F$HZPi1nnC&|YHMyRm(9;j6Jw=+HaX;I7Y{Xy27}qcT?=>fznq#8 zPP&mSSbNK*o7zc*SLK^F7muo;(oI{6NB#Qlt;Hd~i2_fb?1RE|<4>j=)eZ(XPxMB( z0b>B;XyaVo>p%QgZUo~cWR5E1CuWX*PQ0(o(P>|hIXdGDGDl~1q0CYF6@nop8F3Y) z5p?Z<OVPw@Fl)we4TCz%j5{<Zn32WgTSbtHhh%Hd{}Qjt9(-Z(sAZAhSxE3KCU};( z2sx@pm$_7$>d|ld;zdJ8|3S4#Rvo&i3)|IX<2#u>e36|j=IEur?wHA|@Z9SyovW1| z)e-Wew&dd-&zLVRc5xP3)1iF6INp^Q(D70(mSyd)u&hWD&%TH85REC@u**UbZ-;n5 zrP}{&`QaEOtK$`9_~8>=6!mq}pnh3Kv~=BTzPF*_0DcxxjfD`g^(@8mh7Oy!i}`eM zf}v>K*+m>Mr~WOP#ui5^mywR+MNTPioa{KTE9`UCsw?koqkOlJZ%YT=FNHt(u1Vtm zNBO+ByjEF?60^^e&pVHGj<XoNrF_sQi+8V+-}H~l=k4sM&*z==P~tMRt(nXVbYq=U z8fEwCd0sq&WA62abh4>daP0ix8*s%M&JVsm{B-F@gx9f44w4d#Wm8OBqK}$IQDTZu zs?<{Xk6pUxeBLQoOIXCT%H{J;<t5%pIupJM+f9{O^%yznO|KDdhn>?qOcd4^go-gL zUz1Dp4c8N@N%jFcdz=K<LmYDV^g)@&K=o#NUfpP@^em?No>P<IjR|7StKWFi;z`fq z8)v~ozvd@S%4t;M?+NCZ9nL=Mq^Fb^n@a*dX<?eJMf~%F>eI=wl#-d=$fwfABw!jo z<K>`EI6t><nEfPy`CLi}=HW4+mS6?PBJdFK7}7`RR<ZLTu1R*}$X&wozBt0G4#git z^Pcrp4LSc{6?-z|7oXhg{9?c)p6$djF3xIxm0vbY<>H|j&f;{LEX{XH<CfBVpZF;a zs%VHoJrgoBNK`44vRjJ~RC<36Y_MurUYx^GgE|lQ{Gf=A_trv=^Nh=3zMVI{2OqKb zV)-`S8S{327zNnK(CXC+c-*{Q#6}|J(-*RcTwyTmeRCZA6$U<M#?U|&y}e$EZBGYp zpt<TF=}9P4u1RrlC#9v%Q^mnuT+Ht+`Pbf=w(dLJ)F`eR>`<-nx2!jYc6_V;_S^Nh zR93bA;cvw+q-Mi+;#V+<-c>SO3S#;q!KSo`0A_fuh)Mue6jB)YYSu$WqSSR-(-&tv zeNh~|R=_f{>iyNeruW;q2)$?U$}WCb6^l<6U)x-KeN*xKDi^+=l+^Hs(=y`A>s5c> zcUJwrHLC|;!{-dQ0W~@VaVgx^dS6QdM<*WjnSop!Dek%}&=^MiG^lAfY)U0-pCBdk z*pHOD9*RQ9=`ELD`_$8iEf=Y>HAu3I0Wf0MW`W6{)LSCuupD58Bp4CxKQ~D*otuK3 zJv1t5A7YF#-n4!F`BcK&jfxrD39zA}ndeeZKEW~t>V%2P`|&7OYqQ+?xM!Xp!4g{k z1IW{c%5HyPRuNVx`Z6Tx`HnYkSX+lid*m7V_l)0@iBtJYas?d0&VP@I+BI}`%=ahg zg#8=WAIc$Yi1S+r+aI&!$0)*BBZSNxJ7HjG%6Y;9Mq-j*l7E{NqUSO_3U!%8ryy<> z7wp%K>wJ%zs8wR_SYP3bVe>+NFeGt@4<(o?BF*r<47MCh%-I2K0)Ry9T7JY@{eAYY z(za#+lt>*6OKtg}4^jvk_!3aYEfWVsUFxsqzuKN{{$wc`s`P{8D8R;EYE}zI`=XY` zwR%}xo0r9H^s=~3a)EUCA8*lFlnNJYGQSxZ#4xeH;9K_lyn_=R&9dENIOSXRC*>)L zHfNmzy)vGfKi?N2QTYQHykDpIM*kr2M{AmpjO*1{4;7#XtDDWvj3r~mygY%32Tr?Z z!no!2@1)yik37u6qfI>O{%J0qr=o>=UfcDjj@#?GoAXqmw?0h~WUZK)!_9KbVYXmJ z6JL)_gt<ezKeX4b?|~~_W=%)K?deIK!pRf*Ia9`4%PIAf_sO>cW_?jn0IF@w8VK96 zt^r%m)vLPp%NM1ZK$L?=h6`4k6^qRUTN~$Oo(TT4Ld)clUW_Pv?fu!o=JTgy60<K~ zHh#9(>-fR=PBY1s#|#ugL24h;!A^l-7}F(RB&<;e)`&tfAZc3PlTctH!SRV6!J$Pr zxL-AX+_I*B2vH(+=GkTwzDl#tm47X@Cjj(N<|$)#r4Y&Qe-&bs0lcK)!7_V#GHj=h z73qq5BuNl%3-iQHSes&;im6w<qFwmR&JlxC3Z^N+V?i%^zVGAp)Bkn+-jVB3oJ!AT z-MltssoXW2r=d37i=4IghvtXbGMmyw0G{~DGDJ3=%*Mm6pr@7JdZF|x{)z)#n|%q7 zD=mmw^t|Iyxac-?94Xb?T!%@2ZM*N|ZkkHHvnwWiup?V5-}q+k+ro^$JMwqS4Cagm z)6}*g%0P3A^^#-g3FaVB>ixqydW-oBaY%9emjO@%ilEiNS6<JjOfX@68uYT_eMW`X zDkAM+X4wRSS0QPm*2186p;n0kP)zJe01ZBn%0QJS`;g$Q=c10V7&lwcN^63Yg@;G_ zzQ_{C!o$OyipAZw@y%NCczssCr`?yx242Bo)S=fj1%|mNe@VOb6Mk$~U%p%r53F21 z6EjM%rq@`XkD$oJYnJap{Dl6}YdXs;>#S9wmru7?PoOPWK8?0u`83+1wRj`if(6rn zS_uMGL8rhcjB;~j2SPE>cjT;5VovBU;<?ZD`=N&?|L3xJ1x+Na^<6^qA*9YKXlnXw z-SKAt!8#+Xb29DnOG*R^Gj<U>tMc>WZhEUzU|<nPsV5YitvCcQXTn)b`dWg=4_`)k zRizBd1_=X@Y`r&89y%e^?wL;6GUSaC0-s7pOYWKC8!~&QoUb;m1kjZtOv{cZar>~3 z#D7#tg5mvai_SC6;<LBHq=edJs@wBl5-`{(k~l$_*v7x!W}-MnJ%H0#J1?;zF0LsX zan$I}THaN(XF75ek);X+Dg@Uvyk%K6i?X!)Je{^tn(ZG!KTMZ?-KjJ^)1_CJNL{Eu z6hQiW3Tz0jD-0J)>u=>wr)X%SRPMw{9rL0ykfu)5OPqXu6YCq-nvZ~yFqW`Z(6G49 zWPmLmdQ{_9?)x(hSMZ@7Jbi=H<OzVZ=(D>k`Yh&I3zZq|WT=^O%`Y3DK|UGD|CIDO zYoOMl&rkUw*3fNv>O`gfQ&DFNQSL~cuUL~h0cAC9{yrx{gki1GCTzVvZSKsiuk`w* z8`6-s*Pr(^%+PQEjlCTxb;Ws4M4({OQIN#AN&|_rC$HqT8nQWUJ&Y4^EAN?r7PMUT z3{OoZzjL?Dz)`|ayqH#w6KuriBYlA|4{dsWh+E}FaBJ4%cCO=lpU3T}y4dXBar*!i zV9mF<WVSdIjAjaFibLifEr$nvm@lJj23zVKF2DDOZV%ZMIv$p63RvC8!&dHda^<Kc zlhl&mD8KiTb*k@lbwtsq0GbFgC9-8aR<3S6E28cq78AYIJeQ0``n{nV=nZSFDXm|< z6;V9@Gj>!imUbT6ShM0@1<KihN;n9Ij>?vc600)6jt7}j58qxK<6UqF)|M0wkukc| zzx;I1@A37qj$6Z{i|($NcDws?5p?P9rQt5ga9+@O&=#M(m_GSJe^S%E!C0;J7mVck z%NowwcaC^Z$Ml^8+}Tya_!&?`+5AoI{lY+ra^Wo6KU|>gWk|Emn@^bzFPXo~=mC%F zDVRYMAhZ!mLalebSNn9qT62lX(aXIc9(5snrCxmur_$m%Agn=qqU68$w%>_nZ4TZw z^ncWbNuzn>3j_b$?xa*=Vc`3G&6sc<mUjd)nDzG%=LPLCQMnhOt6vI`+hUq6cUAJ1 z@z3lPTOs1bJB7hNan(8XXxBD4NM4RsgLARGo|7!&r=26~i#KjA-L$cI;}(`Q7k6z9 zFBNxP8z2&|?Vzi{dy{D-MN|nN?k2mB2b)wWP$#-At<kGId6%ej4$vBO(g7X4RU?Rf zb<3fRF%e+Lt)|e1ZibWrnG;`CR#`aKA6r)F4^xI54>6V2Ui(A;jslN<N|2l1L5nT{ z$Lzxs2>=HQTP!1hk7C70@+fyqSVeq5N>IV9J1aawcORxoV9m%{N*m7hXGp>oRUT82 z`9S~3ZFqj=z85Rrm2;2(nG>6r3^V&wh#1BAIk)g7-y@LN;vn#GKp!!cw_V5uBy#=( zn5(n@K#MkzWM{t)4kQ~ECG5VHHS3VR%HRWguH-Ua9s?IUbNa&jAFN?ts~OC&oXPYS zn@k#rWFZ?Ved<~*Kbv^SE$hc8*)c*JxoB0ic+>~AXb)E1Tng|=TBfexofN9gT&(4C zSDGoZ0k^|S5`8nO{<mg}P=^K1JUHSAp|HoNo^y|(<Bc^%M!E-4_Sr`3EvQ>UPF;@w zSJ*QOrkE-&qPgQpS3Wc^MGuRx#{^*l*8PMHCRXpCv?|`PW_zz=XS>**2Jac#i|3IC zkh~#BMN}ra2z^7(6(#jTT5yFXvFLrFtdqMk%*s`P=KrmqZ@1+tV~<j{n_#007`gw^ z#(kf?gu|`Ny;JPuB*otZnl%up*%rCUoPpF<ImI$sVMP->GGGgX<3SDvza;LOArjKy zEC%VWy>sNhhYwykuJPIAA`Eg55knUYX<66G)@53b4lm4q#4z(F8hx(ug0{!#Vw;<x z*wtaOj{%0kj(ubcow<F(mw1eL&_unU1?N#F_=V2vZLCJ&ZDUnST;l>gHNwn`9SrLB zFE<z7Az7eT5lwGN2pmsP34uB6jhA~zp9y=v{0lYgiK+{OA<m)EyuimJ#2(v<&``1N z592K)B>bv3U^pNtTms*G0&6nXgYPC3CoqmDk~v@^sbrW#V6lr{^*ByJ|EN#=uJ<1; zKlpeSKZgmpjghd@%}rM_`LtZRoL!|lEB6KUz;i`HSttpDt^}h?ik&0);sX}}ZS4e` zB4HYc1fmh~h(cbge(kx4@Fv}!C+_Ux{9n2q2*=hkrVR>TBLq~<9^bfCiR_?H;AF26 zZ&=Ci>-T5jyXnt@PUK1b@m7-1CsDhLMYNE?gyV@JUQe-efL~%TQ@jxQx;ZHTj2-M4 zZ3z?v|59dBGKk1@f?#9_a5UDU{5hR3*17QX1qNJ8(^<;s4?<Qk$o57rRm$6)n;iFp zIoquc(spaggI4Zwh)01hm{InxkowOg7X%jm@G`(zht=7CS7-Ifh_@7|+u!gqkC#TS z)mMwP{U0TBkUbt!ep^(5U;W4lX{&5~qc|v}35!tb0U@BXS{{e^JsmKxFx|laqBW01 zi+FJ0$#lCdU^~U}qgY*t21)hzQay-xF>)BJ$$X)L6L*IQgN5>JMwPQ->WKZ><YqH) za0df7TVgFz8n_t^+)RGpG$^y8loai?(Sn%w%-6d@7l0+DwMuHD2h2#$m49H5qsb;R zcDaNX6c=ABUKz(XtYGN=IrA7p2g*F=A2yjp{!J=zQez=+BnAp<Zbp8%BYX02JNS!n z@%s1$e2}BByI0S@zz^UoSYz3Kf#?h<yv10!8Z2P`K<<m=I$W;d<#865ztkaqSZ^Ek z68Mc+JARpA7b%&c!niP>S{s*&#--8-Losp17eYlPQ=(H}t}ogIlWGwR7-gD^t$fv< zQhX>C?}ve{_U8K!eePV}o)XaZ+LcKcs1{TpO_sIa+jdVGNlVL?kCf4UyD6ljhmhN} zQYj++^(iAS=r+VFOgia+n-=y=p)-T`OXQ7iA#tbetq_pA4?UzCo>%vqo<x4yMA5Nv zIRrBn9%)v>(bk_f#qhwoXSUu1Q@|~=cfEct2|Q#9<cn~l)8shKiez+;5+jJk3Vc&I z9>Id1R0rc@>6L}Zk~50m12O->m{aFFpP&WVD&04^Wqh0|Pnj>3d!LA`h3IU?zF}37 zCsbseOxZY?R=9A=P8d`=B}NAwQ`SY(^Z%K#HbAByhh-o5B~Ya7Q@T7M^((KJfeFi4 z=>u#(k()E?92a?wi|q-8KwcBrAZf(@7!%kqBM2t)F;f=?br;MZON7G|i}c2Lt$);W z6YIq5q*Rh@hEXyR^{t<iqi0_xHy;71Kyx)`$YQcCKJT_>V)6y}FMDnd$=%eBdFb%b zn~5@dSPUvNRi43^_HvFeb;0#UBMRj{-9OvMQG_weO>1o#gz3FwJ9o4TB@6(9Zb}!+ z2k-xqgz%ned7NNfV-ZbHMffv?&?ky9KEN{clG!u#1l@+JWoeIdpyBDDS3Ij92(`}t zK_0cO4yOClG{a~^#*iVcK+HB~$WK@}FH$DH%c}&)nKjw&TRg=XPuld*>`X98ap1K& zOGHcu3%{9S{c{S0%&8+H7kb@UanN77I>m30C++`e`0^7BbM@b956n9tC}O-vHgdzQ zc@nWexLEG{@Gio2xlr>FmMw?DNf@?^xijalKG*$BiOVy^a893&J9r@jG@Id5ZMAFB znc!wxRG3s8?{tDt^(PRg9-Bhpou8zMk`AcGApelB8M)IYBQShgVq{#un#?Crs~ZmQ z{=smpD~pHT?niJr><-~gR>RaAuSwAC-d65PXO7sdeF6LC`}m4si6lZq0iO3eH<52Z z{HcEBkH4f){3#jeQHEbja2~p-{u<TOt8ekEfDDiT02mdE`9%)$LRE}>@v>KpgPOY^ zdxE}csZC|1dYQI~P=X;M?HK8UN;5Rx%0pWEQQY&;`Oe?q3&Xs^&!~R1&(lpUrB^_# zrQS!beCnFNFFvfTIqriykAa-zcReEOeny)QtCZ|3-$UE7_Pv=$Fpy7_I!`$D@`Nya zJfubz23SYOXdJgu{z#Z>JYL%KP`PWo)N`!d`x`=qvJ#WXz7XcX@raIFET5SFqr;uQ zp#{->0$M=8?Z*Ul*CX;(j@ei7!M|&QKDz?+S=iK|-$Q5XKv%{Iz-u78!<D>N^-F_) z9N@oDA`>rMLo(_W<9k9%g+85RnoP-;x>OO6ZYy>kDRmxkM~1j?eHzlN7}bW7@$wL> z3g+32@)+m^Gv%J+kwWaTYx(;7oMJ!BYYy6r+6sd|W!#QB(8n%i{ZAcKkTOu9mK8V> zKZ^9x(UY99v-8Gw$864(lxxbOs>0wufYiu#sx4_2sC*#8W-8yzvc`<cbCU%Hr>N3I zL-njjXQ8xbptO54@}^&LVis?KWIg9V@KVQZ-d2{2EfBC)%f{2J`@;6b;Dyc8#kkrd zc_0)fR=H_b%rlT<o~P%;JoKgZI`IO(4tlBCm)?D`-yLOoAmM`8(%#|?gjtmzEV&#k znnR<<fz`Q4N&c>PUYyO<Hd)pfrrMXpet3vT>>#U3+v;cjR-JwV$wB3gr7d2UL~_`k zZbHUoumXG=kg>#9`bRnvy)4bhB=FpD9{>~1%gJwGsrz1b)QLfjlIP8gi(B}P^&y%N zeF)Ch(uXsqpy{9h0fc)L;<WW6CgvPO=`(NV1T~7tQ{J;y^p$$;*QXlj_u%iXtDj{^ zu9YxZc?BID8Yz6_F>k{#r!`zryM|<<)V{|zk1s5#YlAimDMDdOpv(mf<K5x`uH`=> zCzfq=*j&MA`*luJ3L0JHOvDU7gJw~_Tx`cEWG7aZWcNSXp=3`~D*J$AVA;Jw7CJ;% z`K4)DN0oXF8^Et0Z$5ufzFh!<&);Wvg-~S&JW%;t+VNngc>QYoPXxAN7pD)H>D?ha zp>d|gh^yI8tKy?Tv6Qn%A!297K@7SSIIk|s(_|uglg3!(HQ(+hh+9EgIV1M!8|#hO zwfx=u_~ohmwnXJMc%y%kVIa!~(70gjWma!YXR_4`n6`TFxglD;GnT*aF!;!hDS@mI z?xZeIe`swDI22?(K4pVHB|%uE{*Hq;<AGoLM-b7IrJjk^i~r>b!gBhc(x34FQ*LnO z+o<*oT##s!d8XbsODRn`dfD=9_J2j>SwENXDOnM9wm62K<=g9W0Y$834Lx+9nYGOD zY)UpX&#;%9ue+za=Plr@`x@+(>$C}Y&l@ZO)J>|}fZiOEwjWnQ(|bNO@K=SMkF#M) z|1d)|H%|{{gV@Gd|9)0O?i+r-{0ZDKj+P)yDaUe4Km@zXCydmQ^3O;3gM7)zA&W;y z_!@9IINBm)HrpZud1V)N7Kp;&V3)1Pvb_Fh6xkwp*@Bdl2*6yRNeGpg1ise{srs*P zF1}W&`Y-(-mW4rF1T2Tp&U*P{Ad=}P`h`DYrqaj+53n*%;sUhDhtj-c<?B!_g;`{W zxKeBMWi%Hpv<Sj6HCE%q(~fUJ3z<9l$F!5VlWF`{^M9_5YuDz#JL(;pC8DdWwRQi4 zYKZ}g99L0-A_;*|Xylraw_@q|*oP`P0TLo0M4D#zM#Sn>kMDcDwQ)T1p4PsOk_C|= z06T}q2pg~^#$vfQf9_uh8)Ph37<}Az)I_P{mbAR*23y+aN*%jQyoJI4$5klk00uAS zIa9(e>DZZWaX!wL8m#MveaR{(Or*hI_KRnc9JOa1nAm=JQ+n9UNnJL+sEE1ghuhO9 z?@SN*-ktH`OVY!;au4r{55H-dbtXL-X33C1`5PCX&J~|l@q~*7AyJJXj9U7ks~x`V z5NO;IC&MES5b%sGSh(hcTt5$s%ook_t5ib3MP~{4x`}H=!?$Ad@Q7sw<6Z$%Cn?`> zQL+c&pjjJb_>c3-rEq;@NJ`TVkF;`lH+giAd2^+TtZ)lX_VD4iLpIj94+tMW-_Z!s zB$BAjt?3g$SV^-hh|^h18#MP^|L7gI4fFB7{)JoDlBcjGq6#@U3kLZTS<>#qvem@2 z`Sx0?hbg3>wE)qiZM8EKB=^xKlLCkwm6;I9gXrfjrNL?#uS(g`rMk$>c&Bs}Kuhct z217>q49iZ<1e0DaXU1USuJwKb5aS_kKP&T?^<Tk2w2u0g)1i1keh<ML5krHHwU{7+ z)<4p|Z@9H_<a{HtWx@fR2|pPp;K*QsfNhR<=l7fe&=xgP`5M|U%IBch_(&#aexHXK z;!x))qg;Y2*h2lIx7OzOzZ-p~c;?#rEH_<)C4*7NUws&%V*y2kFent%91*4&Ma1S` z54MrH8Y`3<XJ48=*H<5N97hk!(=`+7j6{_QT=KZ0p_7D$<UCRNK8C;E2Had1AG)(% zoaXmK14xa9l_hOJYYwAASoLwNK!MS2M^$l;gq&0ybB3N@Gjbo+`z&3x^**aHgey2< z`f%rG<eR_TB4@@j82=F&Jeillm^ngDVem57<2>7IpDqjrQKacGavnSl9|G>EuWbn1 zvCgwi{*LZt6m(6Ndq#6^sqEy+A1Hr=<Nz-(?Y_^y9X<Obf>;z8y`5YByDA}-<sE9L zzFhB-5iY&jlIkp8{#8gNN6^o5Vfm;CIwGx&CPM^WH>iQ?n^15tcj$sVH%`9QoPnc3 zm!9wZOoKLH3>{#0ZyWj6<gzthAT|u<EcGQ=Jm?|zcjt<D+;{8$d=W$Xx%oevR``ns z2Eq~fxzG42B%Bupf5)Ri8KglO6DEbhaw@}YqfFW4y?(D<<E^Y_m$%7|TRSnGJoW93 z%24mwnZ2kCb-uIN?`{l3!u=NCbH0OiE8~8v@7uXono*+8ML>c&7meK@GnU{1Zu>_! zrJ0IszGA(6nj98jpILpcwnAmp=ipK@w?^8!GPlUzB6ExUtxe9~YA1gyPIBaAm}8}V zg0{|ohY+#e^6~72Od2AFAVP9$l-I?~Oq1pG;FQQ4xnXgErnSY%?<`_N8w((uTH{lc zo9>cYTLe+T+wHFluV?<kv(R6Zal=4`30${&_}^R*REQs`V7b5+J%}KjfUW)GSQJ=b zb+b%+eq9lr^ak)RP)G9sh^`u&q~$<6Q+xor;qx%o>ir-gV}@?Fe;96^PK-ER?y55| zet$9tXj*GADTN(@T@C5)zB>=;>nt#DDMgD=>1ha1-^<tO*&6Oc7Op(~%I|s+R_ZDG z9hJ(|+Whl1Bj7{4R&`plY|kDKaepCLng-3G*EwMaUrd{X*bdj+In??2!=0aJc?d!a z9h_ybUeDQ_JXlLYt&E?nnXj&30;%cS>gNmg>xfTzEg8+32N=nWAIXP4v>;0(%|f6{ z+DbjGrQVj(?ajs87mMtV*HbCN0ef)PPl$csL(ddwQMhuTkK07LdV|EkT(ack$H}yt zO$G2$lcS*bvl0Qr;t^KMYtT>gi$D*#Zs-i%gj_fD!6SAH#}%w~P85~Zj+F}+xQtZd zq6HI+xT<8*im-d<X$SI8$3VW%nLfMkvC9<7Kj&^}@p{jTP$K(=uf!<Z_t<r>z&@A| zY1jl4wUkv!(QA%!CYgHQ*RN>&YN@Bv_|+l-aoj0ZNOv9$%hAh6-z00R>qx2VC{>ED zWcf64r~XGth8!q$9VvG8fieJP1Hu80Z-00{O^<o{z=gi=|7Jt?{p_@*ulkY0u5ag- zRwavS>({!sg}H|;s2hU0s+;ujiBaBjGsVs!PSp)9#<`yQw|joG)cH{Va7Ss+(Q?;N z-a36br`>v@VTfl=4m&QLGx$B8Ksl;W@#IdJ+F@*DW0W=B;}o;S;^3VEzw=np+Y&@% z4Lz+>X}w*+`N5y30^@gFcu2HX_FMSy5BuWgrqYM+pxTvREq&MpufFE1MQ<x`-=<Rd zLPwfQDZ3(LIXT~!JuB5pG50+)u~RTA>*!(4QItHl!A5S`HB>rym+$mfogVmo8CIbX z-``E57JobzxjW^qlL5r?$JH;Pa*c_X7lv0fW#RA6A31C^$jZ~=fdn@n35aMaJ?w5> zhzL>Um^W8=hW<~j*?*)hnF~xRbqKsQ`#=9f0UMsBDGZ!8Kt@tS263uUDhoScVWJdp z*N{p?p~fHnbXjlXD24*hXN7s3T!9|Dv)HABw@|<2zy9Kl+3o*k?``0#s;<2M8w?t3 z^u#u`sC0-^Y(qtq*7kvl3YIu%O~slpSiwpKlqnzsxrk^an55?Bnie`bLt8tgtxl=c zN2a9??O>Z=Y62n+FSWr$jF#4Wy^*F!Au5&U`&;{*b5CASXQngH=l^{E`Q+Za&p!Kg z?X}lhd+oK?*6Q4^l5@F!cD)X?_Wv8FCz&yRQ8q*jNyAUnk_cX#RQqESSl78yv<Kxd z85~B)3~@M&guhawP@Ao_$UedLW+AwyMVxi>gGlm_O09~G7_yRs<Uc3|`(RcGf6z&= z>zsnkvEx<EB0M*IK}s{*7|H5W2heLYnZuJ@6J1%5oQ2PdscMuAf_f6Ox)YVDM0|gO zqg|z#7d$|jP-tt5n7x__^<Hb#`(UoU3y8HX<DuT2K}2^F32A+DDqh+iNlqoaAvu+^ zG8>aq3%D!FSl?zu9$Ol$H;TL7r?}i3k}TceQ{0V4aW&yYaS{8WxSM^7+bW9N>KfUa zv^ni4?z&{W(WkikMRD&lio05yeb(QG)sM;Axx5bQigRXB+|>catx7`09EmMiYh{;L ziRg+vw%8C_q&<u1-tN;$H@a@a%n(47djQ=v6lhRcY^FhX*%~u~=dXjt{6e^EF(oyk zyOthmV!!U&&mI4VWXWoyyZ1Jf*F^9$^>2;zP2933iLZ{yxiG~D-M!c7uA^1<?bBU_ z1G+1E0aZ`b&Q!pGtnTU*3Cv%N@8bwe5GVpXu?ZvHsgWBDRg*tacF|oc&*-iwhv<&Q zWa+LYG#(1w_1`6pC~7l%I}EiS-7)H5Q`k{Ke>wvxqXYIGp}USaKoV7vqq`Pm-DxOa z=bG5?gnTz0pYAG)(G=A#x~t?_y6f8Q6L;-@-*4T5?%ErpyA#RrHvKogGob%%0pC$> zM|b=8Uv$^vV%BR%cl`))ifnrHgT@#f-F2inh!Nd&pz<kYNLY;u`*hbqE+EUUwa{Hr zQs+>|V02aZXmnSZKzXR3%dXb}-TmZdM|Z6#pB1iaFm4^eYoogtwUZ6pwo+tE;W&p+ zcLN*_BOTo}G%sBpp}S?j5Q1x3i0(dMbhk@%*T@)jw-XZv(cK5KboT*Ach}mgV~?Z0 z5xSe*k1puDK18!96Iu$F8bVU5S=2Hu^(?{Fp7TP7n5ZB{juFDEyG~LQ$6By}pq<e= zC5A%K)`UIh#1JbK59K{n-AcAYnUP_TZ0A%lL$e9cULCU62*d=apeXwilSCIcDH~Vh zGB_LHLG82Nc7NecPR8|JPuQM#bUnfP^=;ON+Ig4qz?7<)NwmFzv&#O`x^#OgiJnl( zTbXET-wjG(t8V|SBKk~V#aiXl){y-yH~e+DokI5aZ-SLf*5r;QyseLhj_SKUn)y=y z{`^<hM~=s$u9YR#R3=5AC6MU}V7c3k<$ijoSZ=sr(z+(PKDrN*t@Y7*etk?c-)eer z>mwFJ_Zf0EhU+5|s~k&601P4#0oF&2p-Go)N1*d&{FN;EPjc%vaqBjfBvaUsTiY^f zWX=|30lSGAEQEETt3be6twoW~u`iV=o6oUrjkLPqb5mIwMcB0y1&+_IYj^!+x%FND zCW`l8<krJ}DwJxCaBKAb;VS9gcg?NW_T|<u*eYoT2o-W`1J7TQTiYsO0JqvRaFvkd zKL1Z~>vpY@2K2uj6^=<O|BrI(x{dFeTQ{^h-2N|e>wnQa!)+z3;9^*^ZDL?xh~f#W zIon7cxN15M_x7d90js8Wzg{xA=55zY1C~Nv;-?4`!2+t)sQDlJE};IR>m@Ogf$OE? zXsEIjc>e$jd|v{clsQFgSiLeO3hcC0wr0A|C~&BvYBt(_d=(Ys_b;cR8uBC2UM-~l z3mU41A1ixvvLw_{HAiUgyVp=bdyNb@K-G;DpiGVpHB<(hkoKAg{QpS}6)Pn*{{Pod z{om10<v%u1L&Zu-{I&l|>9nUEZo5UYR!XKr_>XF+KB{?UXTtl_-u)r%eU~ezW@ptf z_{wQscKtNG@A~Oz#9ryDL+X^4M*c#^+1UQ&))N;wyUcf7PrT0>GWdF8{NVN`rM+g3 zmNhv^v8w8~QTWJ*0^1POZhh?^I9qc(d*!T6*drg71z4{Lan_!c_8`_Dm8FF9F{9V1 zRVS({TV+bzoFn~o$x(MUG%$9BL&Z|JoYW`bMI@{*>7F<;{#W%SuTD(HKTuzCU}9dJ z{qjGs8+A?>dBpEnwaA@)EPb*o*{@ryFLi%dx64%Bm8&dMtpVW{*R2JwADfqG;!Z5P z;6bjlyjrb6SSn~i>Q;fNsbOJ8yT3_-pwv8-%H|&33QN6?TZ*&$?kZHq2wG@W49V;X za@u0MU(S))oTz0jC$@aX+#@-Ms3f+(17KtP7E3)iG=O1<y3Q8ZHg)@-PrNW#koMm) zWhUV83WMojzgf%FLy2qHswL2qI8D~pI!(}<xH6BpRZUY_{;q10!a$Mr(~1a?mJM(} z<|-G{vT7;;{b`SpQn2;`z9pS0`N#A(X@w{L33^5|HIhzISYq-N;D`N3!<vmsJFSSv zhBbw<;F&gx6}z-6>;_&|thH<C8fU1Qrg*H;NS;7}?V|{L_s6ttE@Pzev?z7?6NXZ8 zwqZHN27KiLNmn+23Cxm|sgb)SU-^zGqx8V^6F&Y|%bQ;>`T{lo6;O#_%cLR-a-mUS zs5l7e*S*XSLz)&YjxH#q!_`4Zzb?v>1vdOO79ZGm`|Z(cof&vEIcbW(?j!WeLxe2W zAG*4X_ttLfChfk&+MNm^$=j(iCPl$SWY8i9UZQ2-deokV8X7QhR@vxNZI#0ZVhj!F zM^%Uh+Hpl4#8$Nc=8p9bu&1|%(Nc6=ZXD3-3;#c@DQcDw)lE|o)6FGhO6O;_qlI$D z49#e(tms5VHK?K(<$x*uWxg^qtOzh0pNDpLnvz|tF32WszxBoClWmFeWjJuk>2Q}r zdk9PxD&HTm<emBN8XKC%?7;Pez$R}N*x>_0J35O+0|!HMDN+L#&eneRzEOPY2@OXa zm_?cbcqXgd{Ng?dhQaQNpaYq^2(z$Pr#Z}JN4~!s8oViXfhvv=>+x6#1_mTKrVm6z zV-@uu%49+{qTB^Y-3FB+I;=4POfJH++C|~K+NI1jCeDDN&aQ_d=Ho}rqORKkCW}3; zN*$mSiUM{F3^6yww1a1oIS}ABr7vWJX$*iLZBJ6<rBsli9Bm%%Lq|6`Wv9fDOqI1c zDhHSz?w!t~1Z0!)4bh=;6Iz#{?lpq&g`=v(xB2jDbu3DlolUuPO!Qf{cgkn>BD<}D zVcsV#uhx5BjdL+YIc~B+d<Br;yeVksz{MD}Tk$@|$ka1yg8n^Ja2mGKc9|m5@h(5u z70JUp(PJO^!j=co4#XgMyDDean%xQhoUHe{zcB1QzSgcV%z(UV-ubxq&i)J>eTATn zFqG;Q;-S8_8g6|<xCUzpq4wtwhT;kX?VEoa#mwU0JJ>gwrV=0kkK-IPN?FGS??sdz z<2{T~1In~M&)`EKw>kw03T2I}{*32X=I19#6_F`^IZPBAZ0}KjnR#JJ*~1{Gk(KE& zV5T|2H{0Lp?x~i0M*s7@I2kKNc-(J|1cqYIds1iOuQMD>ul5|XwGUiFxV=~(u0D_Q z54HK6!aw8VA3<xGG)kq1ED_NgKj0&1cGhP|S&@I%rs@oJ8n~KT<1=6hfRdEqri3_n zYRr*H>vSR$@(>=kKX#Tz-};kY=!8TgzEDcTmoM0y(%9NOdaotvy7<_)vB$e7m#5Gw zoWV~up#OIa)N20XaJ7yJX_K&a2i>w3cFKuyma>W$kv>1QMJ70!f$f+PLO$mR>*2OP zqX&JPJvH0xEYb>V<T@_bq5@$6p-7uZ3`e2hYKitVta(Tsn>IXihpPi#n5)<PT1MlI zJg3IeCab$MAT!&~6v#R)b#N222AjFMvQN#yE<CNG!l9C=aNY~j29*yWpi^-_6P{-Q z|BsS70;tqA=C#>hFUVSu32?w~ms)Oe?!-4`b{8aizg7k#<0m0hPyCjqg)Iog+WJct zee5fX2U|b+GEjj30(W>JfPZO#j3;naBY+Rpjzw19X@uz#o2;^c`158L(^9pGfc_-u zFx+n%&WTuPnqzYZ!iIM5H@wG?$W1rDn*;8@j{3KkctoL(TRz4qz>9End?Btn;{V?G ztq*@+KI|h3Z0!|@ed--Y&@#wS%Z(>nC;u~De@FiBx5vai<Q*eW0ho=e`|z~Nv!bkF zGyqPO0Rf++R#{SAvTPaM&=?63-IT-v&<8<~DvgrS>+w<jKvwt)M>m;J6~~uHTmu5Z z!*6-gFd-|C2rtB1eR(9aAS-j4gtN>^IADt4@2DExwTUdElA6tMxOEdRWt1L>UmrD0 zwDO${3Oa_h?T<)5@p}hMQYiuY+4sC1e~ijIu0qK>x2a!#cMs{lNkkHZLV541Et)u^ zcj7FOBRQmUup)tFFF!PTr_QUyMsLgEpbDafgC1Zyl&Dh@ojx(*{jsPx;nluQrf9VQ zWK8tAk1%z5Utx;XA9;<A*ZgZxj+@DT%a1Qix%RU;+?9hXf~Z7w&0{LHuNdW02l7(T zHy>0%v>U7AiBa34LL_3;)yET~`sllY`L1o(Ug5`J^3%7C9Yp1)Ckp=u<fpaoBtISR ze$GMUm9Eq`>^O)|zP#GQHlF{T@=7yUX%li9>ZGi^GS#Gk{_@J5(biQsSEr%8a`pQ{ zc_lMhgQS&WK7n^&z+DY%?vF6wPgr>PU~{`a|8;9bsnSq4a-)=VTZSDMLOZLQ@~}}z ze(gab{R8Ue3aa-|z=Mq)BE5l5qaezT;!YkFlz`7)@1LBj8%ybAm*EuWD&flCU)qD5 z4_>Idh&d|)gQY~txiZVJW@%sFd>HlB7KHab!p}qezR>3alZLz1Vf~~c4wjs4O@e*n z$^0&fDalFWsVaHJM4EWFNK)UpC8eSV@<{|DF%EbNyU<byF3Bs3p)RbeyAw^i8a}qW z>pYpsz_2qKEe<PLR-_cNa?#L40@jX-vC!yYer<lC{R+_${L7T#sYyj@l-T><K(2sC zWjIW-#SEDw0))@&CNt(Kvvkzh<uu9h0Za3)lMEF5>vaGX5bSnmA~<43|CHiq5*tS2 z;xNU74$l&F6X>L67l6iL#xBU*Fcd0X5?_McGRD%<q`Nvrz~wXlwn4t`pBa!|;)>d{ z+tAe{cJ78Mb`5KF+-m?Ub_^)g*Zb%7DO=j2<fNHeh+T1`25yUi@=&sBJppS3?{5r> z?ZnDTUN|{iSKXLvvO2G4kiEKT4iflj6z99%4*6K;#kkaoEj!a>U>y+cbke$*t7b^% zI%@-kNY2NYzM*oz?;%v3)XD%_koB*6)hSY8;>}}*llV+YVg(hbAbCl>F_bWnl1#F7 zuD$~L-M{~3*3py=UD$OS5jSP_$B>le@`lY;oPwGIR7RPuU&WJjW$~^CE-`RkVWs38 z(CUB8_gj6HZ?G12|H`l+J7jNNn-;{Sg1F=r(=^Um?ZRgmAnPv#t?V88Tip$vV6=~d z{l55Wp@43LUL%4j;x8&K(M-BSO=P^#pJz@Ku5QlFo)=}BAW%ilSG}0XX_=h&2w7Vu zn}C&C_kBka5JBoh|0GH{@qd+Y&1$%cfD26vLuG!bx^a$?GKQVD+&Ial)MP%B(f2hF zQ+#=o_W1n`Fu9j(O8hD_pP*qaa~iCz7#Td<0v&-cHC#BRYG(MA+enA6U)Nyj^}zNf z26p`W|KjiLg!2#iuPm})8sxsLDK@tN&?H~QG-;~YFp7wKHSQ8&6u8{zj?I@>Qv}Xo z5`gb5uf{FQ8*3ZAT3w`U5}WZGw}Q4c-}r9RiFmag(G(4(yMYjs&Ag^)@}<7OokJ?M z_D3YFFWIdFe_bObMounvkLOfrAQUmiMzpvu1($N+GAJHhDdudnch7uRV~9<>7^6<z zA8<8F8XsQW%3JsY?j6J**rCyL-wK$tViCM>EP{E7Xv?I4;+s@E#^i(TSQ)CCd(!}b z@WoOUdSC5uPX=uc#I-Y{NL4|BP$`sCU3Iz8G|sv~*Sk#g6bG)p!?N|Zh(`&+LagRq zX(L*l(TjKQDofI8rV7m$E1{08`MtIKs#+$EC%3Z0m~wolBfh2}^DrB@HsZ~$rC<Jo zC2cmgXb>5X4)S_Z^@;KB8RnXn6j29m5cMT+XKUdQlz9e&-_aUt3q+SRGjW|!SC}V9 z%_N*U6NL)R&ajI?bFWg4njZ%_2A28=@U>FE8l(wJ?M;4eS~A|e>VUdmU-+@Um8fuz zVy#N+?Yv~}RP&?NOqZ<7w^bPkU^yflSnVf*YKIS~wqIu$CSVfFT<%ITPw*fa-L$cW zR8WE6=K9>cw;A`EYByfAhaSftvz+4%h8KXJ%xOw;&t<?Jeq?a3cTK(X@9jN(2Ik{g z+0086PPM3ML6lnV3IXGYWGY~p=SYA<w)9sJ?Ue-2G*c&80ERck0(%luDX%MFX5Dgu zP3M_#u?+anR$G}n?|7X1oM4{sV!wNHu4M8qn4#6xO~C<^eOLS4o7tNlu-{$m=ykY- z(?^X}|8gK53+fW%2ifwDo7+EQ_9Pmi?e5Fsr)s<V^U`J=n0U+EYP0?u_j4z*nu+Y^ zPAOvYfdUB&Xoq)_i)mRkk%0ar;zsv#_uAqbkegQ3KOZg?SD?K}-TZrj$WI|J>?n5G z+|`|RwxP>z?S*hj9h?@9vI=2y7kU)k+*Lb+&D}`ZrVyf0so5xTH308=OSi^4WBMN^ zna__+AJt1ML^Ja!QaI{#*cK`_04Q!u5VB(IB`x$b<c6U@P5XALIxN^>zLEC$_y#Hs zrms8WcM*M^SG&e4^|hJE^J@8L|5**`v!gqag@C`K8?<St!Bjhz(1N4(l+|$B_|t$Y zhY_fh3=xnkszOAt%7Rf2N8&f%Qsskb0H*}!w=Xn+3(f{`X6f7Q_fC`y`?)-wWc{Dt z@1^qSe(wV7++h2?0QfJk-|L1X3+-f;n}6*0GDz(A7REp`alg0U@0}y1IGAwB1O7sZ z9ot-gpSM7g>Z<+&oJ^>ucd^f_{dlkT4kqm2qg*BA?~l(}`8!+<WO2(?eSH0@13{o) z_3<!icnDVedS79s@aTVRzt<}4v)_AZR8<$*?+sJ>DoX#kkBai$?Dx8<2yqq&j<2G0 z;6g<i)lUBS8v@U9_j_HQKqKiujJDRbG>En*R{a0B_Is}$u-|)1EM(V^uomaZ{(pSG z_dlesd^oy;`9Gnr)God0D~s%URRkkxzT*gEgY2(95N%z5edV{`(v7P7nclJgMt!CB zA5yAg#y}Sz5=}5myQT;s1VgokxV)l>1Bv4X97x-*gpD0@#;*|3BejuzL=#!z_1cN^ zYQIMgn-E+)DUIxaQc&xJrIc}X#oq@-jBrJ0M;CJA-_il@{o&`2?jtJPn?<_SpGD<` zA+^*Is;=ak+&|>RBm%9;vp{ijO}+)jB-a#J-~v~dv;as(!zFw9MqTf<?SE?X^(6a4 z$yx*K+pW3%EtXhW`fE}Jpb-5yqz7qEkxU7|7<xEpB1K|1=Rb*+NL69xJ&1jWL}~5T z7W@h3I<eYWo9yxL6rYr}mvI%Md87_nUSzE^E)N2tr0aj(=LxU70b-RWIZ_@~0IuCa z#+so!bE6Lk(AGpm5Mh{O&6npTrpu|~&ij41hWhnmrcI%;Fy?v2(8pj?PqBvKm}Ivb zl5nNa*Wbz8?T5Kl+MPIyqEUd4-LREtZJo!q3v$#TO*UzAUEBzZBXO>;#bvc6S4&_1 zj*k_x6k$~fp{9cYji(6J(XL1(UxI?1bE~K)QFM2j+Rv1p=mE&vIrJE-s&iriH;UAT z6PVkcG4(;HF1j)*zUxp4;NG8MOApWWRx5+%n+Aa;lm!wR>{&nOY7Y#%&eir}1pU{c zN!{)QljxJE2jyTeP{sGTfy%;wGv(o^_;{SPj|2XrLV3|J$xtd5>Ylyq$``1DSiu~T zo-_6E;SjNGli~B$RuWqKx+Cpc{SQ6@h5lA`|4^9R3;|e$hHqDcvLW(dg3wcKckVbv zTGaj~yS}jIBlj}d@-G&>h|dk?V=%8jrHKG96HbCYnxC{acss&>8_arM1NQLspV`Y- z=D^WzKbC0obAbP2TV)*5MdpWa({_q3&rsmx3j8DBWD}$U;97ozcpYjHH1F;GT{AX^ zG5}h|6v+zP6?~}+oLqsmlVXO+x1$32x;|Kem{^Vi=fuwe@D0@Dle<rwyxG4w50F~Y zY>v<K9lc}e*pJ?UEB^iocqWyD?@qD1K2}%qf+nfD*<D}q!o-<gE%>R4Yd!XAG!i`7 zrbu<~_2@fRYA!ZRZLfZP$dZxrP0PcB)vpidLWA4R+%!3N3fhr9-uGIU46%E@T-ljR z{Y{4qeWkRC=P#r83jD9z6ys8f`UUDd^ryG6oOSJ3vMuv*HLqA#A*U=&Ds#4CM#tGA z4=);%Wu~2Prq#A9;CJJ0&j85ab<2W?S;lPk?PjW*#{^~of&JQX;g|WGjZ0t}m3q@O zKCY6bR|Gxd^tgI9VVU38Nz440%a>sSqgOXB1I-kecN=IH_TKO8H;FRv>yAXFx<nf( zDN`1yqyShXvV-uczTGj~%_>1)V1KfBp!Y&&QIhl{_CQrqBKNL9W>^VWVMXU~#8<z? zvO(r|V#Vh&E~ZiwgqS<x^Rq*8L;ta0xcug3X6w8;NF4(2vu-CmGrDi|ZAOy!XXtx0 z^(3Q4(Y`Yym*zXh=+#_e18kPLum{6(gQ5Yb-*^L{P~RW5XBR9Sd4dfc3Kd?Qkq=4C z$v#aKuk+B#3WmLm(DgcJuE4A~dr>UxnNYpy?}YE~5Sm5{nr*%8N#7MFDej+Stg*13 z^z~tqiSZIwxbfPh7y$O-S##n<+|LAch5_B~5UsGtpxu)`B`oa{*<JcgCE&{RyKzbO zz=_P`!gOh8`KO+qA6Htxr$2Csh%WMK9u6N)@oK&mKAh~;tPUTBg?x)V`4uZDia@MF zidYq1af=HSSA4+*MpsOCfr%BRE^tZ36c@O@;vyHARq-(wxWjIQrJTx&A{TQ`1&%5E zb=JGvS>^g&2cMY^Ht}Tc?OWGDGuYGy&q$RewKa6apI=e_hK4#cZhb+jWgV#MqrdED z|4p%>ax5w_`*N~vi~XZdyTDGU7CaB^L}`SOgsrnz-E0He<ImkYkY6ffJqocFRQWCT zYDc?4rz)x2oq#2MShuWheID}*rwZ4oO8!DBNq;)bCfYN2wzZhi7}d>Y%kPs7lEZVD z+Ym<7*C$@q#UC>pd}7pNcPTS;*GFl+e0C5wON_A(wO<M9Bak!QT$yTj26X6Ce4))+ ztLchJO_mB6E`>@-CZQV@)jIZI{Rcd%5;VsiL*rqF8LlhB7`yz$%KV905(Vl?zoZBp zg*)ze0w@+8Wq)1d+B*1s18zUEaNuIlaG<*-266y8D5dOhwLzHrM`KEm!V|pOUm4_W z<$-KWGr*m82!rik?a_*7Yrah2+eFLVz6Slq+`+9E^D<Xh*^NQj?!JOnLFy8U(Jxep zg4zHhLqVt!4$H;l*zU@YGTe5LsX6zkdd)5;!>_lrW-r(MvmZYE@WXh(J@QJjWOGCA zki?dzS4Lvl(U4mpBn8-J_scIEE685jDhccbfDcsQc<^x@4=)YqG#cks|Jk6@De>nw zPnA5&?&)tpH~iN=J1g@ZJ=_t`<)N~^<XK1(6Qa{FtTX+%WrVB-UY=90<N3;#6vhx9 z3<|C<eRh1SSV54}9rR)!6G&@OBq!JHz<)w(<q|)pz!+A$nH9i+Gbc9Km2F1GgZfyL z8`7j+{7fv?)LVeP#yr7@p0!PA5~{kD5rfihZEkmcP)l6r@1AG~!&9#^vYoh}0e8#i zYIEb#hhF*i7{imLg~{@QWIR7vnU|<Ml!)VVu^S6|%Wn7ja-CHh-Djc;uSA)8-IKul ztEWnK0OnsgFz+xh|H^@R2Vmaezzn7^k@uvXSt2)U?g@y~*D#IB7R=U!s;Q6Fm+o+2 z4szDIH@3BF!T?}yGeTLpP?Q6}17;S*!6mcp0y7hUNx?MS-%!3Mdg0d{S5gsJ2cYOw zvx6{R7+8A(;Wle-n`=H0_WOPJWP>nIhm;WuBBmZA-=#SgSi4lwP$!?kKk}pY877fE zRg$5HNITqtB{>I9EkUqC{*}7L^OwZslCyr&kcn}52PSmF#JO>gd{jxkq0om6e1M=< zdlbQZHHkC+2}_<cad!M%3k{jLKqg~W#L_ryl29&%of0<UL?bpwO?s{`$si>5l{jH? z!F)9TcoHWACD!n_@n;I2aQ&0USm)Tx%~YzLy?TLGTif4+?cgUzG#BsKf*4!)Hn!W% z(VaZ(RQH~wt0L_hk_YuG61PrU{UT?ku-R_pj7<cH5lFQ@AZ81#Du&&B0`j}g=+y=& zXT`~xk6SBF5Rgn~R&xriv8f_g-Hs158wNDXzN3*%zQ*(x+u{emHgVq*@WMs3$SW(g z#s-L@&uX1NWwjpPkJY^=IyWxfJ&TpwxxZ{m+U;b?d+U!-ZA1QP$6oAPMx)7dYctpO zi4N&Q)8A<8V{PWb0k6f%Q{VMpBP2!}_VneJ%TS=u)&dNRj>A`+>l~u7D#Op7MPYjq zABop5Tzl2!$m{Y0+~zeekte}jK|;XWh0<$*mkmw<ZiuLp$t3m8z1R`BiyEqzSqjEI zSJLdgc6GE~I|yr?$-5zX7XqC`*x1~gLBF(7y-LrrG9GY>yAP{!X7B0%>igJ+CN9t| zgn@evQ*gJs(NAfblf|~tcwf@IrF*qQtY{j0pBxcpZN09$TOGR(*MLvu<`JU5_i-Qf zdc##*tu8lO(Ady$CxM3YW}mufoFr4oe2%bbYf}wq_@llFnFG?DxxTGZiOwM{J6m6T zFMToBg(5LkV07y0Y?Pc7)+p|xNF0M9f3m5MMB?%@LoyR!x(4md$&yV5?M;f2mRMHj z5G_a-t)PDTx6w!?T!V|w{ibEokhfLMn)J?P=IT;_^<6%5_*C;b1-#bh&wSj<D_noc z{jpq`CrjRr#kAC3h1}*^(9_URBq45E5t{IWUcsc{2ffoK^HngZKq0;gVtl6N@pOg0 za$0JO$wB2*BLY#~J4~+MT=1m$$?m;SNX)ij28kQ)pT@UODKuI|yp?V}bu&lAaLmVB zjgRM=_Fdkl-=}`q8wd{$bvPWrx`A4T<Ia!t6b^B(o$3c6RJBtq>^DSuZh|8yw*oxJ z;j)!8B57^G{-mK+O~WTE-<dn{%BtKX5}$Do(kceGsX=|pQw={6u+)zVcT`w?2r=$6 z+Ec2%fE4u&7xL{rz7=w15q=lBp~1D?%9kYPDhdGLeKl?vjs$@maR^7vst#NusLqL^ z+TcaG;HqW~x$YM66@`QA3x%y;HxCk8^hB0cqb?JfIz%P@*;ePbLj2U^mHOi&Q(ei+ zp*Uzql*U^HPJ&UZRnZ>lq*pPd^(8MmtsJt(#EH_vv<pkLMDZn#APXBZ-3{?Q+M{Pf zMmtW1EN4Pc&Gx{RR2(Fy2I+!StSNU~vDmYP#RlSorrJR9p@vorrr%*9BdFbE4*Pwm z$<EI)9wThupDf_@fNBne!4>mUtURZ0E(lIbhWA66O-Q~Kt5t;L`0_)#xjkF5d6b-w zpw@RU#@+5(<+oSkb3tE$z3+WUwEm$UH&;{*I`tl|j7#E4w{K0{TvU*{9_iZ&R!)qq zZoa@_RR|x|R}jb|gNv|K(lR+;?Q_+c0|@HvPF&+Rz<Gke#`hWkgFSU&a`g#&*t@#s z0_aTDo4a$MH>XW5*28Q5gD6u~#(xlTs`{<}Ao^6*;Xgp03aWOyha4P24szcPv>b`% zs798<QL^lXc!vE$-m2~%<2qPhdR$?vuJpIil9tJnTsM23nk+S~kk)!jV88Vifn|>N z7*9qPmJh{}_KNw)Jjp67DPodL!9@fm?AoAgtZfP@#EdftkGC*{t5YaAZG^Zjwj#wA zeHHmyCQViK^(DV$Qi1(Jv38syF?p&b@i+8HJi^+lY(-&cR2V7_Lu339f_iez$AD#G z+O*`FPg<ZXx#m+An2}s_i3MgR*IZ_S8<T4;x4@j_nky}EOLEO;EwBKcu(7g`JcaO% zo=0RJ`1A*Y4N^1Tzz^Jz7R*arvtV9w+7NyhC8y;ku34O%mY2AuA~`KTam{kwM=|+M z|CC~tS|6o<(1_@Iz|MS6a|#MPPwM(NC?Sr4x&G}_T>qwR$zHPpk+a|{av>~iUiP{) z{+tp2QZ=bJKWOH9(q!}~!iYdOtR_MVOp*`zv*<znVC(C;l0T>#-MNq=P(Nu3gQ_)_ z?e3*$-4MH+E>H3=tif3g1@VgP68#2K{&86EF<Z)-t8O#gsm?}C&eeI>SOu%|134L% z<p=O^(p6u2pe~O>fyj_~CcmZdCp)A%*n^6U7w`<p+0g{6UNH_)NuZJo8;YfB#i!H@ ztq<Ml86$6`kwQgOleE%m#Zqa~lF(^i92xZ$H&e3o7_`uQHQ)%kDi%S`Iq-SL;LZ^l z02Uv?+j+^D>q0k6d4FKi-*>6dO3_8G`O6OacpG%<v(UiQDa%+4Qk{;+s#oMSdjM<k zNlZlg-1k^f&{-S+y83%#cWDhs8LV37C5KT-bvg(7FfaKzApA;>vxs$xwX#xU4G@l# z^nwEsP7>nJp!d!An;F*TNvyV{w=fcxnMhpAq)AQ`Ggh{~&)@*BqmK7P1}9Y*rWr6U zt|8I+MG?{QkrcuBcr{K(ddNnjH%HJw7yuf?IA{zpL+D?y)RS^w@RWjsIRr`p1kwo? z$y#Yyk;Krh8Tx|*lqJzDIxVUj$;d!BnIm|m<2#HOGsfh<l-(t(g}R$p?y6b#2{~^x zF-J$L{d(;lUCjZD0izhv>-@K%kC|4ZmC-fr<lw!ZfkEtFg7($>^&LzgRTdNMY9XDk z6Z_$o<?IyG1*7v4B?nZ5ac}LC_cX*0HB=subfgIdIg)f_EPVMTI)YIo#uuK~i_$+C z$_<so0z^a$??j{1YgXvGj2TIRgM44HVc?!0*b%of!3810`PazRRsJaX#KF-+x5g@C zgtY1^3e@5}x6aqfK)+F}bk!4^svm|*2}!(5a+|MGZK`ngwRwyKgPkej*U*5GrGZmj zd6*Zh^P6OZ)lf?(+WYhC1<8^T$>TF?ZhG+<tvm@oNLlq&?Nk93q|43g=t%lUtY-9L z(&f?E2V5*0?KECA7WC@DWek}`gIJ_Ln5?QIKW8-*5f*ooW$g1(_lD7q%_e+q%6wEM zWtGg=*p%a?NdrEZCR(Jwe7qB2ZK4t_VO^Wwf*x6$OXTJKw`vC2eSOWktc>vh%V?jH z(X3eN*Jp@=HKI14IIs3!t(XUrlV+H2V-ygZwcuDgkMmPQK>xMjjtU_s*WsJIu_#Er zDVv%Gq(B5z5%8f?Pw@HBTGJHCY$o-_kZfFjvSeM0K~JsHQeOvP)+JWe*yB3Ho5c%n zy-6yDNo7iscGthrMe|#5fNs#?r)(^lcAF&_`5K|i&Jc>zMgKL$yUsRS**(drMTyc@ z4xXC(eg<}fTyvLf6ac3dCraBms$)8RkbOO?2y;L^nB?TTYa$tnM+T4MI8elFt2RYi z^$5b)Agzjj%yMo>Oa;w0CZ<ACC}@3RDx%&aT>ZskXqc6i;~L$08>c_0ZeGw=z^bC3 zTECh8P;=Gz!Hmehhp%u}^GaKNeMC#i2IWJihuzD#oj5HSw=+??p2jr2esZ#W{WxgP z`ldGu$L(D8qVxyuojC`e0^!g$-};)R4i9lb*R(iMw>UR=T-8)TI8irAv%92cs6C<N z)is)vR4t*T4u5HeCac=qB$IguPka2Q;_yjMjFGq#N|$&kaamsC<d(~*fUXuTR$<*N zJneo70%q6C6L`JHX2^C6P{JOu-8~Y;+rot`%@}Sob+f^k#}Rfh(<U3d2bnd}dUGEN z`5)xk0TIQgN*;@)zftHqTcuv3HuYVq`d3k)a`O+vwz1U>l3n~3t#!BEto&HgZoT1R zrs~)KD$$@_1@E3opnbAd;RFgyffxnmMW+V}Ov~X8P1USs7N-kHPn}YKr5|?T_bU9) zE_|xOUvuGM3V+#!PgHn?3!kF!A{WLjMlAhB7Y53)^mG@d0kQOzF0A!M`VtrBJC^>K z3)7rf`ok`Krov~sFn%Xu=~G?!B!!2#un0@~Fu7>IgzNMxMwZ&R`Wo%QJ=5PO$o7L@ zb#GCkc05p7d0x_ft9wsNG$k5z{^Pdg$yz%Hk_FtqWdWy5)xBp|T$#Cs`aJ5(loFtl zSY`@=(-gRffT<@wMnIUA8BKs8j%A7nykCJ25cq%srxJkZ#4<zE4+Hb`xvu%PU0^-9 zkJz9GO<lv;GI4j!HoaIdtks@|pe|~9G0%TGfu~_mrnO`;3&}P}@x`&qSZpOMn^5(! zW0j}Wmpq2pix~e{P6i*BdSHKTZBrMD;k9XwV_Kb)j!hitefhn93wSy#JDIlnNoc4V z&r6bu)R`|?O$cMu6u^BSkg$|*O?*R^MdW!)d5(~$sVmRg?bKY=jSEx=YT_Wxn*-AP z^giG|8jH}i{hOLBVVfX!*J!AHbuaq83p9j<YzrV8H|W7xKn;<YXf(<SkXn!Qc8ZbT z!U_R`_9`wu9{vJ_fC`Ony;w$!-d78(H^ib%=dFQtohS-y$0$|0ow;NA-|y8v!@P); z!On>HmEYKVaw2Pza~(8*wH5+l0;M&N+C;Rc)sdW1nr~@(V`S4Sf5jebQ|}Nk`rZaB zX|;a~F{!__HCG}AM8kB$em_x$SND!c)Q%Ah?s<!8n6z+&ARG(vnk#p-OWmVXqMFMI z01B_>16CO^cUsIzUhPoV5p69C6xwH&U%`#c##nlz6+mH#2j6prwOC=A)s);~<q+lp z+-**l2RquP5-YRoEZVhasuI4&{34w%f{56pzKEddb1tP=Op5fSkxIw9N+Ufew?cZ7 zb?QN)^j=X=3u|)&%=xVSp16{uk363s+f#l|)KaKZtrp_Q^oEvng1~I1bCW6;F-c<Z z?=d49Q93_WPUF)5%7oVyMmiC^jxeBcoj3B2L=X8#JZ|OEcz+R+EPs%jm<mlKKh~D^ z8DDkdV#YN6MJtX0*reu{)UkPB19KNN*@pPNcAuiP>^{~ksZ$aqH6)Tcy2ft#T@BLI zUTw)4tr~|d{(i_hx6RQ~Ql%cIzoTwChsv;*#b8d0?Q|F%KBrQv>XgJbQM9pUJ0F-p zyKAGi<huK$0%7VQf!?k*13%s6HCCJ?c6XzcwbM#NX8*QdwdDZ0tRb3eu0<tPCh1qP z%|bWm)ZN$6Ky9#;Y)oIoG&RgMFx6_SEEt5d^vYrkaQT)pJK=1b&u#YU{k`2Fa&YO8 zyQR$x&XWmA65=RNM-teD2v%9b0E3S7YmzIHKUqKvzH~U3Yr4$j__Mi*(^EgW85plo zcHzemueQp<v;{iCf>IT&lj^}RCVg`xr5LD@371mtjUp*8j-(vpr<9Db&SVTJ!c%7m z0it<^Me_7Az$)F0W4xMl_}Hh2Wp5q98YNQgQ<g5kP3J4#@0q(7P~PJW=>HU!=#x2j zU6Oqp)NR+%MM^gFVO{-&pauh~`r~f<!`M4LHF)QSd`4u*i}k8jF;@E-e(eE`_3!_h z>A%0%yg0eYXyq>n)dPvr-LYkx$q@)NTM`B{*Q@=pg#jYWjnT}<=L>sV0%{+itqHO~ zzN##|K6<&|#m830Vt0ALO@B<3GV9p7WP<{tx$7bQIWe8vS`TT|LOyj7Qjje;*3)6x zYpox;wAiA2WYWH{$nu@YpYVm47KN)>y&!d5h-77id}F{!)M>`qF}7pF^!fpJvrV#Q z)kus!{9Cc;TzOCRmc^sn*cnsfo@#n)WYYn7)dk{JZQi{vDzjaoHIQ9VsO`F+k*F;u zvv<!umRR8kk6Mb5<nOxM;;@MeV4$INq2hX@r9k_*w3Jj{ZJBids*C6ZYHil^EN@MI z?kestO)lfYzz36;CMLRlIp2}WF$5WecUvtM<jcOki;;?@&#<Dj>;R*H3TcWo*uyk) zTN9Iuk|l1u2^aG^JfN$EfuAr~eX(SB>w`v?n87Mx6Oo}R!PWT?LT!2xUsg6kfW!oq zbwz&D>x8!^%h%bt)OE>axyj0P$xD-5Ry$%8N}XJGf}Dcqs!;_{fx^@Yb`fq@dYYB@ zwjH5yqpTVuOLPb!&LOw!9AVT$gjr_x@18mq<h7+w|4y|b!Kc5@m*t%#z6;Wljo=XB zuZ{JuGaBolmFf9@`T=6Y2T2zZ3a+<wMpc_77&WKo1_S_+!(wb&`$CS)c3jQKJ0Ed% zFv5^W))gknF}VFDm4{#HQ)SAf^CcBHOf0qO<vuB%@?}DZaL|N-#Y($P-dO5ADfQgp zQjpvMzftW6W!@(94r;c{jL+LA7Z#_!P4e_9$LnZQx=%NbY4*^tNH<(7k6%&ht-g@Z z1WbSHoyy4yp?${Z9?K_`u<@Dh9tV!k$$gt`iosBlwDB4K`#v4}@H;i=Z2&%tqJqg0 z8Lf8&zYTR!khvg>8GsZK@%SJOcR_ypJI3xB6A=ftFEtb_ip+~oyL3?`eINNFDbBVO zHo9+LxwU*Ang7#BIy%S<lmeIy>_XVlH}=!fTTFBtm?|}*FNS?S5b**SrstReO`nb( z2f;q<>Ie|*PoP=Q$A~obr9b(i5bxY#(9}3Be(F%ruv?Yv`W&&Md$-zqYAzGDHRvr8 z<yV{zc@ON#sk&Hp{sIVlU;VnJ=S7?N{+_^omjY&l1(-<U^i{;qBwoCctw;1#NFH!J z#U<~zrsS^?r;<J^b6F(CH09zNif?WCxkk2Tmp5gHpD@=*Wwttbz(Mf0GJ+C(RhTb5 z?l)qK1hFSj*{LO_9Pm|W>2F(-jWqNwl-nE4>S<#-VX+$osT!AJgT2`h0y#a;m2E0O zDgb!Zaf<>r*r1>jbQ(EpS)S==vkgg0EKGmM(whJ=(gX+)5M3Nxlx2%H?Ram#$yka> zSwR{B)TL#P9xv_F*|cMYF;K|OzCb@{H6#zJS)I-LMby#3<;5z)?pqIwF%}SsnhaJD zR}f7m4-E)A{ac!?PA9)8+T;+?Zl_pw%XFp6<YJ5l{s1^%1`M@2ch4}6+|F)Irl6&y zYn_s_KJNMs0o$e6&xY8lX6cQ6wQ@}8aEM7IOQWNFbn>B)PZ1xjRmSs~!e<(v4SZ(u zxrI*!ALZ-+(VFSr<Gc&fuI2rMd<x0`K|Y$)b0eSg36GCF2k$2Li@TENYx%su{1^j= z{0^V<kr1AI&)a_%lSZGr2Kh*yyLwnGb~~T%@%as(GZDep@=>`X_*~7W8cE<iC{=6t z?BR1A3%CTIC;1%Z^E(#T<>+FhwEYh1sd|)j&3v|@XZ#hPH~D-7RpS@={F(S3e$Pcu zc`fnx^4Y=j0Y0HWOH^V^g{*%%ws#ZTj=YlC+4TBIeDhSX=xD9p6>CZrG`&=i!~RBh zqP*Ab!v$6gg<1RKLGDkjY7`;DX2RJ)p*+!+U=NrU<nL?0T-`l01tP`Rd?-$qkE)+l zlw_a25)C_Ia-r_rE-gruZ%CHs*Ufq?IV&%L+#A@!Cn~!V@lJGobtN6B2#qvsG#b?7 zyPxZ%F@fK`;u+G@G^;YH|K-fF5vd&O;f6JD%>wQ$vuJK=<2-GEA-OyKelvtYTX(Gt zb1eM>%gwB5PSj1I@cNPt)5^%W2d^<nTsCG^Mo8!RPHj|>`gw==DAh7&dlIXhtU@_m zi8|XL)l7tzN^Y`Q*@;i$Al#OyGpH)frsSF-8?d@r-K@83PPA~Vg-^EdcEYsQbrUg? zy^QVE%`=^`sF|BY_vfK4P|%}ntkV5dqLamRAAjBh@CA~h!Aw?Z%9{ZI;dO*%F*td+ zy?QWsWUq@JBjxallFYgWxt}<;Ob%txMH6JG51FBX+#A^G{)jyToXKxrxXIP$$T2uB zfDy+GVLmxuj8zKTdCc)qd=F1hyDe=Nqa;(+8Wc9Mea~wti=x%Cf)n<3`6tFRrS^tZ z&wkjWGZhruU^koNEsSNbo81}NyM3+Pm~|XT?+0F))A=<W7gUs*SuyTME%q;fqVF^r zKd8NC@!<Wz2wQd%DJj^GMz+#>ZI8H{!iB}0icGn51Z-z$8QWSm{TLi&qmliZ(eHdK z1DwSdF;YP~wG+u}pdVeG#_Ma}6g~gxOQ@hqEVbrc=Ld`Y`o-LYi9>5BVQ3Fu&Kw11 zXZQw(1iA7=imoV-D$U^_aS%YE>c9pEl<ghy&u|S$x463z4C|adMW6W+;+v0Qj5Fis z9%xmeSU!hEma*I7Fd>VB8nV9lV2!Jyn|<up7>_JH59_m&SgFWpyE;?U#hlZFa0L;; zRf}PlkNN?o*ug);sQ&GxjN4k?328L)4jzm`wtXtA$`OZNn?M@BfGrdZg70Q;IWgc5 za4iU659&_lAOBa(!FEG|gwZ10=JL<g_2v7MUo(mn?@CtoBxmh!sNy2PW3q>lx<u+9 zmf#?-4P#>FsKR4A&3Gf_FsQnDV&Cm@VVF-(viL9j>(#WGG{+}kB6Oh>fqnlb`-1>O zEaX$D2>+|@?lYeSp8$(}`l><nvG}+Q)u!kqNAKQUd71&oXVB5|{P`AQ76_9MDKTrH zivUXce!i^THqmexvXnDTbfZ3x9ZH<{L2oqOawI_>ViW)hGQ7jHBL8C9VeuiEe>WO+ ziXU?_N8bdzeB`@W22mUObx{x}k|AIH#2xd~pDAa2N{<{zbHb^k0rDNjgz(AIuhbdV zo@k%Q9!o!Dh0qBz4x_CE|3lrgsn=Unfk_xvj>9TA<;t&hj^DnW<A4}(eLKen5^>f! ze$Na#uFj#$)vm*UK4$53#Qw?fE7IT5umkl*W0-Rnn_nWEcBR*UxwC_Jj&pm*?Z}YK zKMd9jh;KOGFn22pW`6-9U^1SUi1#M&10zbn;nrNE09<Ft3B2ZINNM}kq4cjn5#L@T z{g{Lina6R~)9eG=w9?V~ISz5^lGwA$xMZgsTf1l2QOMoBnmeq7F5y5Yp5!^Cp*5(L zLA8zEJ)gD&jVQF)G`zQ73m;#bZG?C`3ssv2+x_!*uua<uePaVOf@Qx>5Vfj7%wC9C zn-Q@+k#kS8OVtO=j$mzjbo43RMmH_-o}AX~0a<8To&b=#KwH^XvcJnuv3*jeJ_|MS zQwZE@qVw8E%I1bOSKkl{#40pbg?@rosFkuGrN_1?^o55MMb&W@e4-IVQHY9<xS$Oa zW7nDFyawB!{=pcO@7BBw^R}%exLC2>q?7jGu&#Iarww6QiXtpYdeWr#Pb9}4rwRJJ zpSE1eXEvW7@QL7$;eSDWX@0UiFHwH9uJp}-RI?!7&ytqxi12S>)i;d_+`L$cglgt! z|9(`nWq)YaW|5C`{5-T{)D3tp*AUC)7ceAKmf0YGES96j4y?OmvAbRwP~x0-EHSon z2&?t~4HgTqSV45@*KGP3!!92uQzEhcc!2IE%yl`KIZ47<43CY#NA~8y{BkhT5fr}^ zAe62JK1^XT*_u_OVBLth<-PUq9p4t8Bd<Gyy)i%ZpCMyrR-Xi9Ovdd#B7a9cwg1Xc zG#2a4AV+8A)9T(U?)v9`5#CpBh4#UWRD4K0s?82v@&^66u<vmfpIA`3KiU9M^TnBN zizDmwP^#w<t@*l`QG#q9zw}<GJ-f78<8(a%O};MKgAvE24J7LF8I&*`&QA=#U6wrR zXu_FA`m{+%0ods1JKXo_%NG!9>J82mrS5sm7b`R)-95RH@$4s0G{_X!JlTi^JL5;q zW+q82^(}LPoujJ?x>Z473@<F|Sx1V9YzA}j<+<fq`CF!>+^5vVh%ilhu=&i^lF~Q< zO0V{QD&sACXo4(fhv77Vy)79!8*m-zRB~F%1q7^*fF_T4UtoYV6q8v}%5FqENsxs@ z>4}u@n|>k`2IrPiBO&3{y;owHxw1G}@<_wfZagS?cmLA*^+<K^2fP|>R`RO4cYMX^ z=_iAS&v-RIA)Nk^MRXZK0x#47##V}4mz0PRM0{y0QasqzP_hA&95HB)D@$l;DQR>+ zt?s8yKUn~&qb$^8sng97$k6y=RHVWy@N2Vv#S@w>09tLg03y*I3lwD7%~I10B1Qf} zCUYS~0^)#EXwe;N$kjkQ{MKPthjtp2HpnWu)~QL^V|~j9S+5oKli!V=^jc9^%wtGK zgJ4%OMT10hgQ-Pv?WsipI0gl%Et9OF)<|x1QMyzLQyR`z3gLJ~Q^LhSk+V<dxT=^_ zK%!UxFu~;0!fq36S8m3<x(UruuWws}foSR=gxiqsJpf&;lFNNVKI6wQZ$-fo8_L^! z<P#-0F7mzf10i3^c1PQM<U=jco&J%KuaYlg#a;dsOMTa%4cp&tD7bDVGTu5v!P63@ z4|w-nL5@vQCvln^%Qf%rLxeZQIEdjQmYkmcuob$lx)*#Lu3E(9g!)>P!601++J%oU zDG{Sg#<3&t`x{EuV{I!811;UpCWoDk`pHrhb=tUlgI&hhYLdth?<;LeRq_awUnmJ` z?l+XAN9V*j#|~G_BLzvoR$k?2#sxv)Yjy8mOS(d+$(7=x8A=fuW)MJLe&mQ=9Wu}s z2Ymu}Mqw<~@T0$HbR$H|Xmte!Sa(fPr=)$31t^b0mVl%KCWrEWHus`knkYi~&l}2j zuj92bjzb{+s%BwV#J@=>FQ>n1>0oc61FdIzg;e9fbNOW3?<mTWS($nEutN^oE+EK= zN!;i66Y<Y586{tCF?{F|k#yWec%J!!_?^9fugRPJ-(Q+JW#G(C^`F_NN4=<ewNnAw zz?q$;-{S|K&oZ4+q}X5@r2gG7BE`U{*|)&mO!n<np!ZmOYexNz(A*z}5QiIbod^RD z><c9?y3ralIB~i*T2K6kqz*^PVA4EZssXotyCp&kj%rPYGJvH3+7xI4JU*qYfh}Jt zL?33eLF(H>X!T?1&w>2b2+8?<DC7=1+$u3son>TbdVw4u(ZdZ5Yt~)UM;;b3rp~#{ z#235bO4L1li0`zvHOQ@5;U72n2l~hAPrRsrDaC~(HFGqjWfyG>=zS|;!Z4y!anq$2 z=L9d#@Lv>qHA7Xlmcy3vgZ_&%J-byd{hCn+iuj0-li$Cpn48`gM2_=nPz}4B=Xo_{ zLAcnf)%{5Z5X~R6GWrRlXfvkOUYS5tXoArY^)zK_@JD!O-qadOHo@>jK>G4F-p5j( z;<UG!NQy+(8(*u-N&gKGE*rgJtlp7N8hJXvX=t;+8b|hb!z0r#P<pnWL7MkXD-sLN zeQLhXb_?w=;M?ZYd2j31zeMs4&n&?TiwFnKjR834+2F_G98-gcMx`*8XtC7Iu&R(T zOQ=B*K9v3;ue3X7)WNL}{An2fgijOFzV6z&qUwXnCzye)kIG){txy-qc$1J<!Xq%3 zJ|sD^J3RMGsEA5wJPBbWVZzgcgroe|Et87<&{ImT_C{ogTQpTgRZU-pJRUl%9&G(C zO`b28KUMNV?5UD{pwWI#zfC|P*XC8<Yhw-7%()9<!tW?4o{R*fZ?ktgn0KC>Mk#P^ z9QC)wn7ORE+YEK>%wvd>S2Ny~`BMnx%5l5cA4#+(uoR1LKk}AwR%ml`0`uQi*1<<! zuWQ3=Rl1q(xRQ&!8Ye@l8XWFz3g6&xPs8St4fAULIef_XYSx4gY<mklE?Ml(J1oE^ zQFYf!R>bu+Ia3zKaN+c<d6K$wCO_WK8yOE=S6yvn1)eWAY!Dbiajg2EtuOt}_}05P zvb!%Q<KFaO6O2<V@8@zbK~jjC<OZRHgTmcoB|2%jg4^Tzl6@?Ik-{X(uauw9SOrw1 z%eUr}ibZGBqU%dW-L1vP8~3cDN1=WV<s!8BsA)${*jGx!@rZ{>F&XwkW2tA2_t7#I zA?TLHEP7O0<_i{udVJ~M5CYmCip!~zbtGFN9nj^;C>Eqt(NeDVcm<-}p^oFYsC4`V ze4P?7nB(KC8H)SrB`#<JpTOMRe0K5K8Npx-7s`y`ygiog9ymTVBf@-RE3V|djUp@8 zkg0sd>8xx-5wOML+`M?xctoc&F$F1h<!GO+)6RT!h6qr7fL8MaT*rE~FS-YZB<U=I zgY8UmKONZamQ2b7wm%ZS0o$<`^^<|^Uke|=_S)>jop)M|0k*e-?f3niupO^nZ4+a6 z&eG4YmD3RmFMfLa_I%0B?O$p<xxTc`M`a{mF{C&<CX%IOd)s3|Nsl_YhqR`f8-VWT z8M-Ul@P8>jr`3zO0p%!>bL4EU0nm2-JhziZ%bBJuv>S|?Y`<8mY)wI+eHQZX#lxZN zl|1jvksb&MWxHk~;tU0tD>&;0vsH`PY;l)RTz$zdPHfi7gr&Y@r-Ek_)a`(s1{LqC zTEO#Uy=6!pu<nBPp~K_iv$R2c&rffjH*emNbfT>(HL~fAA#(LsvPWPNNFAwjpmVTX z`R&XN6gpTg>e%B3gueJd&J3rZ!4d~U1i`k2`pqg{)W>8wjFP|MzbN8Yd)~g>@#kM1 zffFh>luf{5V}G}!M4cfeq9tf%QkgS+Y?pybr>ItDmmgys$<d}Mfn*=<=b1m0V1f_s zpCmi4fg;jL8?a_dr*IU=q7&?q#7Pr7v5FR#YF)z2>r&eEFdG)e8ZEIAGr78SkF+`c z0~KVw<8m#T1-PyGUM88FBdnTEsX$KP_vDJW{SK3p2cGjQz)yZ-73kFXU3uFA{fcL3 z7X5f0YR{jCC3?4g7OiSiS1xF$m3bRa=fr583K$_pvb+`Tu`AuAnFcR{j%HVwj1BbI z^S!pVfmsy{d0V4O?VmdsG{9pACT;$}GE4?>USdptWbl7`=TpoO4$RvPXf)eA1%VSZ z1`a4t8}Uv5qrno`w)X`!kAT|0HBa01!mtRqnG1OUWgMwm0U#VVr*(eg!X4}&{{r)n zbL`lv;KcwA>?GP3K(gcqR;(QwweAAW{pO#6gTM|!yI`2UcbwJXpV=dXo0(4CDi<04 z>ZqYEekW@T;nq=GwlsS+2MnW*LNXYM>Mr-hDNzkIIDXW|?kLd5NugmBQetOyBNM$d zR5zv=jLZs0xpG=}qPr11ztqV6ot?UVVGmQ<4xZY9y*=*O;V}BoE`VB;!;P(B8ZgeG z6Xq@x+O)J+pS3|JoI*wc<DHITf96Djh6qM8In%bBiJCqu(xoN;OHJpb{hgy-A11~s zM_P!(j*Zry&iX5YqmDi4-)ojVXG4E<P$*DT<tPIIIIW?uj@dM!abB%tvh;mc0AT8u z#zYirP9;Rr2V+=R2Cn3a3)%(5?Fc4Z0Yr*G3(RT_D-PfU#&u?xd!awwumY{FSALg$ zz2BLN!lWPQhLfw=iw?AMhCfq7{VQ;bd$pPlAcCA!F7j%@WA`*<;(V{RktZLy3|CID zsnL^5bms49iCl%gjH@j1<J1Li&azv%?88Ca<REUS^mkoa^ooC=d4zu$j`w=9Xy`Ul z(`AZKQG4x>LG43bzF76jujmcD?mVlRlc=ByV&S3m48sUoGjXhRM%|}SO_g3~Q%8NX zjy_?XY3EyU0nzF_k!N)V6s{}T?O)8P&S+Hp&e&z0DLUigtTWq#&TO~NxHs0Bc1JhW z88IX445;MONyWI%@H=GXN3CYp8B<3mt$p$|Ha3n7-5zu%13gD1<|w_^60r<e3XYJ7 zT^#1xQB<T%ChBaKN5@v{pTi>xM?f?yG}~F{G=|SHe`p&=hon-4L^KD{_Yoab8(Eo6 z9mKu@Zz6B2--R9?W5Pqm(d_yUjJuoAab|DUYf4tb3)Rg=XSKYa3<P@+z!i|q@~)M_ z{p^X%AIdxN^Zf!i_?o%iRm@IS_2+V84QoEccg_}p$SogIQ!jA)QBb3l)}gs|LRfU| zdTPn710O*?77;8_d$@ZfgW4u5Gz#0k<vUji?JYxZXi<7EbuTUI$&3+)Lw{AXs^pp+ zcGiwUQ@H}C7d}dLQje&LLxv596rc)>`OH*C>#YI)Uq>X%hbM8{Sy_;rh4a8$Ozh30 zs>H1B1YX^^#HhRr9wYUz+jMPFTVnnmr?1rY&6<3hI$uZN+u!+D6lT>0ek$PNX9HZ! zDY})_uIH%=R(z^zz}8O9*Q8x%#{+2?F#~zmsnAeF6#6Gu?Hs8xr(fjDhOskw|DE(s zIyPrx+V6;G&3dJDk-j_7s)qP_f0CFHkd(>)Cgq580*j*d>r&MEXIOPG)=-`%RZLD= zY{Z@IUqP$~JId;g&1w(OKiP`k$qE|=>7jAws+Bv9mk~$Uc;{+V!|YDXx^E|cok~J? zKvw_&iQUU7wd)bd;urgm4K~y@t6rD}9^J1B6GOt3ResE60~%#z^{ZD%_6@&l2tijA zB2zVC9^91vU_)*mp2D4<)!N4R$2A#b^%QE0QX0z$CTKk6_oMB5v_0(<A1QaBcqgLN zvJ$@pcf?rthxas8wqdCyg_h981}b{%`SjHhY@uKQrB5OE3la@KI$!H!M<|7PR+a`_ zw`nT9)ri3<IA=>n<QU0C5znf|Z=uuqp+3VG^hIvviLKiL1>o+N8uN0Rs+-t6Ph}9` zAs2YL5l*{v{lJYQeJ7kllP*ncX((Kiz(g%~m5Ft}U1*m!oA-xAR<etGjTGe;|BxLZ zRsqRyZ?w38_%OM<#gqvK+j53CUv{2C4e3a!?Q2n-LH624i7`y^^*0nB?XT(WMUY}f zgOIF^n!1jQrY<*p-aoo^r)Z=t+Z=d6a^K!YV3q9*t(TAXc56v@`d%A2-uQe)GNwyJ zZ~R0-l=|ufHWMpZ0(J>nwjX=<3dWle6{g{nBjpf+5n^DltX+m3iiV4aXnO<=#xGla z%E<0u7O-4clZ8)6&!ysmZ?Aei2d)5QmjT(MLESjzO4dw{-^{A)7mW>T{>0KkVzfxO z@59j1@G519=u0EsGsE(~?3a%OW_&|JBsE(NpP290aR1;nICdGe_a1KWnGtv#)%rs^ zG4-Xlq3V9N9|AGrgS)jJM~n+4Q4AN8xuc#;7V^pGGlI{Bd?xZ4GwMm^3;MHM1XSGD zdyk<~Ex=gIdn}%xv*XCz-kgKg&AF_|qwAq@TS;Bp_%lZEm^WqTx#jss+QSr%zu^bJ zc9%Tim*iD^{NIa!*XZ4~9V_#XbkyzLePCQi;<?P}bvt*b>h>m%?0$Jz3t`0`OuUuo z8P=W|k~nC#oYYEre~S=bP}}Gn>sOrjQ!B2icI(QMkL=z3^0>ytmdtw-Z|r`hu4(u0 zhdrC<-Q9(T_{gv~<S#AJn>d&`9Jb!dyLNhVRzYotvrMZPv&qV9uWej;%8~ZErbOHB zUi^Aw3e-}2>>AcX_>CK`r?{R>Z=^8SJ~hvL|L4)f2|Frt$2De#PuOwSNoG=zIc36@ zC9h7{;{8)2BKxE$ELD==-#7nKKmW3Kn?HoTU!LSEhw(Qgzx@4GIWb^Yna9T7SANJt z=KZOMKMeBQn?%!*y$Op>Y&-i6B&zC`;<JA>x-F+ynpu%xZ5*W@BZKdGmG<_p&-eE! zZj;kGu66m)Y8^&M6_UyNr}yRgc31^`$Z0)o+qiAZPa4<ilD&G4l7)Yiuk@wJ)%mrJ zu&(7Nu?BpgDKnIxZ#UI!jr+y_#N~7NL2{6-5?MqW>2I8Nu=d#Uf(fm|w^qHFGvT23 zz%S#cW=^Gme`@0C+rO+BQkSNrTwzFRL7xT$^_%3^HoCQTD-CF)W*X2&JF*S9(DG&L zM}Essw4Pg1ka**agSCg3`}Ms+eer@!*qS$JO`rO^M@0eP*I$x<WMQ5$@Cn<39zUss zyf^!5rWV|3q`2HR&~@BlYM=0%<gCK@l@p$nU2VaUv?;F=?MGfrw0MvGG3VJtJ2}p7 z9sQKvzF52U_Mzui7M!s!=QpOQJ8eheb%t=l4zKoM20igcW+5d_RN9vlPeKt2D4~}U zK2%cR7g1eV5W78h^wVd&m9sl2W3QDF|2wAmd5pri+K%P#8}{a~!^8H)h3M3~>-NIT zXKIhd|EBuQWAV!@ZuGX>Csa4*+oUJM>G(m47uR;+iLtUE(R<{@(Qhp8%6vev?^UK# zM5TI&-ZuK+?JcQ?Ka_=FFn)Q7)+6m2JT`7Mc)&6}GCO#;1zCdh`QsYTEy?>C9gm%{ zjeHOs@BXIRUBZ@Ob!iIN*{6U{`UO~ik<Z%33f9+0z0D;@CuN3=YlLoUqJ-}u-Xu9m zTeq>yduq2<y!U5k3(Tw@EmKZgBv&{cviX(l3D(d(BmI(HnxK3Yo;z-9hIx}`6f&Eh zvth0+$`PbT0<mf%udKlEeYU*(usr(Kr!ZIE^ng2|AKjU(`t+4K+>usT;645)@9_&S z0BN>0y~5KjMdloAN)PuQ&&|tebCi(!z~`_82!;3fACpx%R>*}Hc#r?tdwk;foFj>+ zn=%ygnict$6_THq^GEOTgBG*Hdz^p8Bz8v<?r3^NwH4&_MED615;hc!Yf7}DSwyYK zQ|`E?su#UY{|Im1okD3B5INchCHnZg&Z7Q6z=96t+w5!@aoV`uho8)O4NunlOLAiT zmgZHQ?G-m=M)-U_kS8qFbz3WPU-PbO+L>Vvyvjs9og8&8=MAl|d8d{3?!~=o9-)#$ zds$&N=fRwU@uU92p#FkB^~;m?0_x{i_0LlS&I%h)1v<v4|DdP(`Hs|2jyjj~hE^PT zm-al5SgMNyN>b0Wa%?V))Nkj7h8yu}D9jtT?eLbIj)i%98#^iw?M?07`rOv%_hvpA z_E#?twYT!J;(Z+pQ#|b3+EJMb-tT;+c31ql+Q!?5@p5l!-ybt45U@+bg8tH7z*C~H z(tNLYCy;9cGUbPem{q{n+&r(io7fDo3kl48MS-K<*jHWZ-Adi-74Hdh_PplJAR;N> zb>7%rUh-7}4y4}L{oXg5th|}8s)TQBDcTl)zc+U43hGW%xMEl2Ua%|kB|1*+>rb1) zged+~Ja?Y=hr=ZFzPZIKew~!Zys^i;Z#32Hv{$csWgEtklq{QYJs$JQUiPN{-Yff+ zSGHd9-t=d@u^o4u<dv<p*JB$Mu2T3%IlQrE(M7*mzbtwtewsJ7am8I;amtUqW69xP zMw;|%t9KWPtV#5GCha>MX%cO*HhE>wW}EebH~l%Uti>xk;7v~f4>e<*YtmLPDH|-W ztWMAAYQi<U;&+mFVYk3C%x}nw35q(@C+fqB>gf~pK1KB^>eiqK^ZHe&%B`~F!G_+0 z=8Wu<Zh(Ky*n%DfRcF&eH{jPj!|!jY;YEJCK!&+T8LCFFcpGV3=XrPWE0mg1PW)YM zb~MG1&(S~T+Zg6Y$tX>$LMGKt=1v=Pqr8ilStIzGn@@B%(HWu_@^0oU3iQyMSN#mT zl_AB$o*;MoL26`$ljkL6bVOP(@j^m|iPs4djGHTXCdCLDpDKDbKAhmz6{qqdO-1$s zd_0`F{qR%F?SdbCb#e}c1qi9c-Z!5j;&oCV;}M+PQghJZ<UFtJUw=b-^8NH>%UAaD zJkXN(U-9{Y-tqhl**fmXBj)Qa709WlReE|nM{iwI>3`7FCyRE+NARZ6tJl^u4M>GA zlU2kRDGHnGBdcYw=Jt^KFpuDC*j$=v&86yRBTasRCO$`83!ejo0W)Z;27bqHE{OY( zHKHt`nDkm6Y7Tp~TJKWO!Zvcey5i)Zfh#UmWLLk)k1DdgU*!80sS00RaYvB-j=$%* zUjwW;RypsE3rj(XPZK!8F-^mjUxOxKRKcni8t!oCx@Y+PEw#PKFGzUWTrlkqjbzwH z1O$9WDbPC&`mLO&P0PcX|Mj!B<T`o%+Ev{$HtSe85t{wP7*=^53r8qeL~w6o`!<F5 zqZa8{I7Y!jOOdZ&UL-|3Dfaz#@0N}ydI;^^_Cjjkw!KXqPi$Abg&Gwi<|x0Q`5h;B zJgVResTD)hFP;$KdB>wFwIc-rwRgRcayb5>jz`s+j#PVB#}gaLw1Uj~CG$xa98PyI zZhpqf6nGEgIY0xq?R{}?<K8Y5!5oxFxLf;F&EdUUJK#vJ?XFZ3R<^6cr(A`gmy!f| zy9Va9wmd38Q2&rjafgLFDqB^n>T4UA$H4Zez)POo$8$0t?Xahg%1uG8#{Rh;&+!Mu zm7j%)CetWCe+Uz=zQ@4e;Nm4;vL~yzay_%FKTtOGug)J^YnFhr_V_?qH!!bZjtyP_ z6dTCOx}bZj2j;O9Hnij!n*O@*(2evH+K3EtRt?OlAxO_Bea+#Dq3IhfqfpSHh(baU z{ZjJGjz<lF4O9y0oql;YspC;0rpwpw9UvC^X5V@BpF<ZN<n@wM>`A?_K9BWr@QGWp zjkin7{Pu6D*)<UTf}Dm_Pt1tqypiz0oc)lGI&Fxbm>S6`A8-S6_CdiR8FJc~JuyC# zbJCzW-PpSPs$XQm@2kU>ruMD-p4_|YF>GTxpWgelo8<eR-uLw0ZTntC!gEC7fSd6y zx5xzKU_77Y1*@7xgM6YCFk8oOoggL_-uo#hOBcX%y)tq2S%qHNlit`Z1WWSyD$iSX zzE=!izu~t|21G)ek@1R=4X=~DbC5TGBK#83aQ+*9m$|?zMu@s0?G^t{(tua|XMWz~ zH4@u(uXx4EMUESe5Jj#VUKSfpzC>fiijsQ?Kx+{KpNUUg@hNZY^YKrt_&BWlj-e99 zMkB4{U1Y6Zx0co;ISuF0n=a9#na@kqkiO4K+hr0RvT8)oJj3{<ELOeZUf!4pnS9Wm zLy@vxo8?|Hjdt(rYj}3T=(;*pTHNhRoRa(yX4NMr`E9A$X0P@GyA9T|vI7J+sm)&5 zZ@lTh_KIoIbr}-?fA38PK!W8TDFLVyRH;)uQ{r_J#F455rR%!VjcSub4eAS9YQi&p z>hS8<>3z1%$<>zrRj*zqvsn>##T|V*a>!as+xv^Z(T=Ql9Z~!Ij{M4-zQZe~(bx5O zWiNPTzw@SpADuiuM@L>`06Pf3#z&$bh%rOs^IIns?%=W2mkR0Uj6;NbBI`wmpK#== zI?Pu2Ek(>J-ifp!Ha%+;0eJV=Ej*MI@>MR~{j!gd26lY|m6)W6>^37q_z)Z$W<B#D z@BT#iCE{V}VCsduMV`7L&F}BT==uFKzi*NPS?;=5cvenw-Ef3Ba^8UOCUlkKZbIN| zfrb7cDe;;3r&mno_xbomD<<%}>y8uoZd`F54X#`3y0WgAU!K>kx8La!Fq-+iq`J~i z8uBBinppY@b({3*Shg?gJ;iX6xR;ks*h~tWiOGte_1|?dbi_|nFKlq)>$;x*W#X%k z!fK(bPF?lo!KZ4Tbyy5^H@KFT9U#0(y`c5KK?eLaRno%ifU(Jih_utYh!ed3NKrto zph~^vnWC?gP>)C@D1yy<t%bIh>(g`-z|~VQS|`$Yne9dLdoCA9{dM;)EAbkd_wAvN z+g6wXG$K4ld$`{3p;{dD5aE3K4l1W7*CG3rApw{DjyPdgCvnfwLql`Iukn#w2v*I| zcp93MZU<q>irWzphw%#(PW$^jCnkmz8GXm9?oIT@VZ9RxD<9bVq7xr0YxchQLi+i3 zB*>1+)g24-JB*JD;m36>tm#<z0JQ&L=hnSj_igD|xOy*aqvKI=`p)#;t?h?8o>)M5 z-?n{CEd0;+Gc>jTv2z=2q{*e+yM;UpS9iWhhS&TIPw(5Z@AZx+#4kG@)%Oc2NtY@N z?m9F*8m!-YfZElz`1LEU(?g9te0IfEu3WO5M7gBDh=iyl_Ert~L{7|?0!w<Z%|%DJ zwy~zsXW<K1(-3R0D<J*vOa~YArB`IAC(5i1Zc3a@`A(J)uXY&I@u<ScxykPXRcbaF zwEi3RP~#pN^k85@P#r|N4J6d8c(Jg?KnsKs<65J_bj`DH=k3pT?tMCtZv$C1lKTPW z-nZXDpmY1)?cu;Yo!;%5sWKaVdAVpyoUYYGyOxmH6n5<nd-6e1zfey=Pttw;jrIV% zH$mw8NvI{5mkj{A>sXCCwm#a3nk{>u?0Dw+=l5<8hHS%t+y+DI+kw5$wEMjRwYKjA zA0?#-cfbw994DnH2GpCt=XRtNp?-8qn7%O2YmM*&j<KUc^jf`bMDjkAUs&0Xty=rB zoY)c+9W$yPAoQ9yrtuRLSvBiP1!rl0F61XAtXRiZEw&8I$ExLo4rVhb7*rdbpP@Q% zZ`C>E@O5$B!uBPncP#8~uNtlB(xd82)yGSYX3({Dcd*CkyWt26bMlw=3nP7iDQ@+~ zwl4dy_qSDtIOl`@1fvZ0Dq`cdj&Axnzp*o(Ma}K+B%*M>VODx5u~sbo!=5Qp+-u(F z8zE$MKcOf`fY5e6U()-$maGMJPY})WZJxJi7vv10JX3^u^)D^8t!B%mk$m2cKVa9> zA0X5h?sw)Vwp4F9me{fC*<;5>#;V^q=H0ht73g<q%=@RO*rPdU&AOpxS4F|R9~?WW z;^cE;oP8Y{%QKz8mp@FMv;$FKI%IMtpN}@tmM?$OwT1BK8v#a%bhXxNX=ts#KKR%Y zSj9o&k#s0;+56@l*+L!pt6owitG4*HR6TQn)v_(9g&GkhrngZepX*jX&wG#oD108N z_q39ud)XxDqwlA`zCIWL3Wxr%6+B{(eI6rLVc9iee?8cU6{4j_-^GZr9@mIP$IFV- zpbWJ_#4P%Z)hR>|GFI<*EvEG-y!wxomG7(1DZ1*>^R4@(G&_WHNj@E~dV)7}954f7 z5X80<UHc;W7xvE&{L0bBWdT^}$^n2Vfx~hPIbDB&-zb05^z1#LX|wFFIu`cq?dq5~ zDurQ6e>~5;hqroHz`JVa<{&7}weJGIxIM18+vYg@?^w788dLYXu{klYUDj&lNBtYr zq^oGE`lGB@Us%}NUQ_ofiT0&M^!AKv^jlS+0=k|rO`VHM{yD7BcxEDuYkW^hSB72X zal0^Y?l&O}-l2U&J~jn{`o)wEprTMm=igCsw7o9Qt4@qUWeXADgP&hH|9qayDG>X! zf}8`&0?<9}b)T@Z7&%v#fJA$;_?p~sh`~vo$nH9)gxF*+;0I|rUuTB2^{JcEK;0I0 zsgoxv^lyYx-{30%IOVb5U+SL=%6xEiyY}(th5j_W$ItX0KXH6}{P&k#ensup_#fE3 ze?G|U+GG2z<Jn-YWs_A~%w~qp23qrS%sUzx<XC37Z6Dem=ox<`5+(s*AxZ7A+Y9xs zz`c9@2-j--iUQdGoHiley6gkV%GLz_t~kDS@JPI89G=?KzY*S4w#MS8Y(j#FjoWo3 z&MskVa#kw_fu!hBOgFdU%tAZdd?cPCkF=K)jx2l6xWkDfi9edDeWG%|_r$FI)o+fB ze`La2w*j!$38l?Tp2q>BRoa=XY(BTL^Q?H+xMM$8MVZ;vuZ^tRizTb~P)nk+9qSCR zu-SX4?WaY&9=$hlaQ7=m;_Zp266KpQiJ04J#;<$Wik-XXqVmnRd5UZ%6o3Ckc=jns zRJO?vdFl3ZOSYd?-u7AA{`#;Z;~Gcz`Wvm)m5niPN()vb)y?B=i%#Pu1BNmOZ=6Y% zY>;839LQ}Hyw}r`0q|ZQz<XnLWnt|0(^Q50^v2GrEKF2xNVHT}ZivOF0H9NVN|GzO z0rvjPUo#5t31ECAL7%%EaJv$f7;|kr67NiuV?JdDRpSn)+bMBEe8aL+lU#((UAOUW z|Jc<A?9kYq#hCb!>fVv@^Dl~TxNYc!%8g5~9OT^|0itr_xs`2a;ZLV>BN=&=Y3Cbe zURND|1Pl5{>TpH0!F%WpJZC1#w_|$(^fw03KbL#MN*{D1usyMxYs7ZHoTzL)GPia2 z+>H~SyKUHn=i-GIm26z*CF2_s@#aJ&Sl4(K*Qu9pmRn9$zv--5n|1%#zTF3C!tOud zGI#fH6VDB!##D9X`dG#L09>0Jn}c%L$)TOxM4MQ5nZJP=j1TjHL1A=SWnGdVFPZSx zvcg0hM9xdRAw=GqXi5JXc-0=xg7`3)6Yu6#ufyOc6FA>2$rA>*q-At4p|TYe21^oe zrX}$j_JGBlpet>zetl&8oQo=3fowc)$zFRWSE3Mtb4xqVs_YuK^%p)G$D6T?XlBBA z551Pqv}sTD;)c|FsNFF6T<oqf7!oSCB+45}y8HJDMyA*Bxbe1Afy%7S7nL{03n#QM zgYJOCZHc&###hsUrxVX5T8BZo9M)zDMgSkKFerdp)E>j6*N}HZ{L>Tmfqrq&FE8<& zL%;s8=}NQ<GS(}>C4zp5wsE^Mmrr<sBA&AXQw&h%6HHTwcpHUyV<)`np!42D<(@>m z4cA-e#@o)CMR<d<fma&T>gKC#IIH6u!MlxhP2NLC5|zTZc0`dZ#%<&>xWsb;)b>RA zBV1%BFbU;=r9iadqVh*>8^%|>0666*Dw`AWepvSi*m!Py(^-`u-bMkP7VJL2?Q>vn z@35ZqB4%zDdPe`pMWxsPo>KyR+idt|5ZD;M4y^N{Sa&QlY9PV|=++XVTXp5|7+%Rr z8q>%kv1ELB;`Elwb3r(a0vppKh?`KkdD#ao*~#EzWuxz{20QJ%#081vxtTO)&oQzG z_*i;w67a9MsB-gdr-GX@pKnxQvic*D4W~vzNScUm<gM^jrF%7x5>f;1;)aNgiA&Po z(wq1u#$}V}!DjCvX5!{VxlGe~`;5+}MCpbs8do+#6qF~6%JMr~nI|$K0+9!SIDJAd zcdA!zh8~6Je5|xlEvfhj2dZIMMkt!kn$=2f5eg1|B^Kw3R&3b)+hK1ehL2;frZMqG zb@LQQ5{{iyxM5iA*g3=PdxU)#+4m^>F1GJ6_I-hUUufUs?R%nqPqObR_C3|Uud?rH z_FZP*Gwge&ecx!`bL{&T`(9w*i|xC@zL(qgo%UU2-!=AKXW#eQ_iFpT&%W2%_XGC5 z&b}YC@AdZmh<$J18z0z({G@+Wd*m45;R^qY3y)Cv8!lX=@K;=Tl)`traIwP6TzHJa zf9Jv%D13tpU#RfsTzI^~m%H#pg+JxOlN287!c!FfYZsoX@aZmmmBJ^x@HB<rs<Aeg zDSXg{XDIx87oMr`b1r<N!aH1ej>219_!fm9ci{yJKkUMb75--zu2A@EF1%dfFT3!a z3a@bCDuoxhaE-!Wbm2OMr@QdI3Sa5Ms};V)h3`}NV=lZ_;Sam;0}7w%!s`@1)rB8a zc!&$HSNL$X!Ql~wUvc3L3h%S<P4nl(DsEpqcU<i1va+jVH_e+Dt5_1BtEkwQ<}O(@ zf6>jcn-|=^_?GkL%)hB3w)obi6-#egGJkQ!dGl^vRB_&-*$d~!md+zoG5d=P=Ef>2 z&bw*h?8QrCi<jKGc<z#l`E!?A@fUt9EcU#)i*BC3Xl`um7h>lxS-Rw=*!g3}s+c+R zZe8*v7qevU(p%$8ZkjuG9x<`8!Q=U{b7EsBFJ8Q0?vz{O)OLRCi*vHgy?Ob0%VsZ_ zKWBEu+}KSEW-nbj|0Z=H8@VvPpkn@c3uiB_n7d?YjOHy;FSGAyJ3XBjTRd;cc?;)O zESZ1P(%5bD7pb31W6S4_|Kxddmdsx^cZutC8Bi({l+^p!*hRNi%$Ykc_P6urRNNA~ zdU3`4n`SS#cK(XFv1=F1=KVQmPrLTK$#ZV~;@rzAjz|4i_PKMH&%G&jZN=<Gb7n7@ zQ?lr$TjvPoCCdfA@bQXkufA$_#r#F%!k9Vn#j(ZliWm)AI{(&1vCrO0opWQC&t5ox z!R?>buv}3AIBuG}=w`-c{?g0mFP}SS+Wd-}Zi!uft<}6>?xHKE$F7>a=;rwBo9F(` zl3P_GaJ%i+C39kzEr`#ZKAW$levyg@!dF+^GIxoKxVB>M!fO}JUObg9xX^U9efA<X z>hjq)RouEHcKNN0<z=@nm_uk$g|$tA%PzZhdF-=OrvD%I-UF<vquU#wy-$Hd?@h!5 z0tcz*&_Sj5s(>{{J-`8uQVhkGwlT&S-xOoIX{INpYBbUGs_8MBUIjrQA`qG;G5Y;x zm$MHh?|tvR?|r`K|NWo4AD4S(_F8LZ)~s1;&Ft9+k`2f)wVCUi7n*niOD8KksxegA z4aU|=j7M{Q8<~e8pd*}x*4GL|^IF=>?WnEIy0Fx^M#yHaH@DI5wvk09bA3a*SVdNc zxv`cq&TMTpZh*qHw3+J6kQ8lMj=7a@$Of{et-;(3eX&-2LBX>cjWw$Y<*YT3?7TeK zN_mi@;-dB13Q>!rvI}!4S31b8?K#GFBZ;9((?-GyOzUS6@i8wKF}+Y6R58mBSB0tG z+}7T@ft0t_ny4^HWe1%LP0(YqpfD%P*k+=<(DU-Tx;9fg$;-*w(2kDhi+4QCZs`Cv zuDp)MM!rU*1;OC^ie@lw#N3o5Dwk9>U^X?I+S(}XJR@Ynw~2O(PtbvqE3OnPq@_ZQ z7_EyWZc&P=2F&jUsvQ{PmenR<3N2_hU)EtN%ptrcR$?~MG4C){Hkj+$`BYxV#*MT! zR>}wtwFQgl{|gt9Qgd^j$=Ke}YNA+qIl@5G7MB{KOzTNVW=?q)gxV|&IjkFo+t{(5 zK++wJ##X|sENCG&tvJxudO%GBeMZ_1)QZl_tDvTXw+C&4E=V?lAN|$ME$f;Eg@HAs zytTp%6(=feM{{k<x;AZISrw@)$;AKV)s0jNWKnKmenHiWvdq$4Qkh$|s4%ChK*(k0 z<gBQyT2hiLWb-mh3rm)Wj~3=uWaj6t;IYZP^1`yJ6_tfcbIH8I#knOyvLY9DWkFS8 zdD)7^#459dWEW&spsE!Wx%q{aRTXkUZdrDDPGMO-G3XQH6G?J%LJBdEdD(enO-&ui zT$sNiJ9A!PRc47;F)b-6UzA&somnY01{f;}_&!<c$u2J`$<3xMsU+FurKP#(es=l1 zB^9*iBquj7b3sYf3fd}UDys_1GAS<73k$PzSLBtWbG&$R%OH?>nc2A{5C4f$Da>C` zA=OP$3H^_v%iZHSWL9R=digYJ5i<+Qa?t<01tlc{JKDLz>=l`1`6aoeG;^_7Uuj{P zm?|r;D77T3&^|JML1vC9kBZDiE5v&E<djhoN-h?mRC=)(X}OgsX;x}AP0OO7xjbtj z&;q&Te9qE(nzQNw&01>=&C0rDdCF@RpQ8^gxr;hpS(*tc(l%Q#pj?H;x#bJ0tfe9s zT6d^&K~`mUMd3VAk7;dk5%hOTeu<c$ms{~yBDqi^lS>3b40>)wNnu$odRtk@>l)=R z7grS&W*3*`R#x)$ESB`SBDVyZxiEKyG*2<D#1df^TTL@^kvOQ{(wQaqUQ`shKoW=C zZ(fjcb}^CDOOTfPB_hfN6jjbGA#&d=U6zaF?uy;8^ms+-0+^pH%x+#><#~DNIuS}O zeaDmr(_BKLgc(n?5d`|lPe$DNd0knRSy9EOEH<W6FkU&rEh}p=$ttWW&74PR=T(%W z^;Lzrl_aF0maJHuSCN~WoVX&tWXZgO6&0ACc*67KYvEH?G_)|Q936zjv&tb0Y8tb0 z@<^Srv9TJyJxYjkiMhF^)db%fwLYqWk08W&xV=ThKuEcU7(3cq>dfslRA@EQ2-6_m z6G&TAOACTR;TF|cQ)`u6OAOJm(QzcRtp@Q7h-tV|Vyreb@+sc8W|3@?jei9s8*!G< z1RA*rj*_MjW|>+m;qfh*HX2ZgETw3wvZevS0?BQzrIpY-MK2X2U7BraLVRzgAp>$k z5JW>uWO%nJV-_Q@<^vf#qG?0~h|`d%LR(hT5|Z0iL)nwUHX4}l9<Z<t-cn3ig`<T+ zY`TyX&%?h0z+%7>QbG_>tU;h7He75e`q@Ux;Bm6y=n+uyo#9i~-4P1p4hgXrAJ@?? z@mcFm@dcJ{S#m<hre^g5wWZ$%Auo4bPAyzW7K#C<6w)msi}d)n7_fvaGT<MQ1|)G? zLKchTOV?nCMw$`F^C1@vVg3_W6nT8RAIaA^5k_l6{&A~<B!9?|@LodhY$c>5g^<Vm z@wb=ocbjJ6y}|8x&xOYXj|r^>kI8fZ9uqt!bdv~&2k7te{D&9CvAQylmVl?F8OnnK z0y@j3A@oI?aN&mz_~%ld-gEMbjpoXRmZ-`sp;#>FupsdTmd7YA=rC59jm@B|GN)5C zv7oZ0xn3wiSXf_TUSMHC=3QJO<m2OH6fw1U<W*G<I{WMFnPKl<N60S^<~-bmPF-An zN-Y24mtNO-=;G`T^-F7Ts)r4I#QiGpI(OlZ3wW<e4iwyf??ZTL?8dNbXkIG6M!D23 z<qF19E>=$#gnW=e$Lhr5dmg@m{y3v}Rd~G{N6W+C`zmymvs8+)H0^1+5A9PFH#hDG zmdhnRM}D9GlQo~(wLRBTK8CPEkL`w@NY|hK*GEx4ad|6u^-~2Auab4UGd@E39lMv^ zvvY=2O2|h8a~*L$o7Amy`+^IS%kK&`7mc7iFWWKxLo0mcq4-bepVZ598Ebsr3g5Hx z@k?pFE0(rr9JeYjIJaQrZImDTiKO@h$oz$rmcLk*%ySVhLR<(<y19@b#??hjT(mB< zgyQokM5`qNxN2QpUA2LM4A{E_@|UZt3keK#1tQJjvE>36{-V^B6VJj$t95mW3k*ax z|LS5`g;J%qv6b#3yMKDq{)>zGH?Irl|4jz}MRKwG8imS6WAEtf`d=jf3%Zhc5LXy2 z2UZDC6BqnIg9GaTa6+0N?kPi}gkD(VJFpbr&O$Q<85zpo1^iu<pagFhCFSh`aN|+` zai+_W+RlG=L8l1)Ny%CO{W(4t9U;5$^?XK_GvV&Ii;%7f75Q){{i`+q<YHit6=;Ww zs9~XPi3a@ai34$j&32}}A#TJSt@I>b#GCjKU*bom5r0_q05XGUNgxR#Gf6P^(L#xi zgppY!oJ5dFL}k$=hUl@7izRU+o+OY&l0=f>5mL!){ASf$l19==2FWBe7|9`6U6FiJ zKnh6_DW;AZ4!NAnBlAfGsU%fo0a-{Ek;P;QSxPP;%gCi<Iaxtg5+kW5HR!*I)RB79 zK+I$nSxp*A6KN(bWDU8DVEs(mNe5X=){*sO1KCI}Cs&Xw$yMZP!jVq0iCjZAlWWNq zavj-9uBU(Qf!siDBsY<p$#!xJ*+Fh4w~^b)9pp}O7rC44B=?Ye$$jL0@&MUI9wZNu zhsh)4QSumhoIF9EB)iE|<Z1E@d6qm!o+o?AUh)FjNA~0IcD#fiJU>WYCa;iJ$!p|w z@&<X6yhYw7?~r%Nd*l!~Ox`CSkPpd6<YV#)`ILM{j*!pEQF4rYLB1qkk*~=&<XiF` z`JVhhek4DUpUH93MY_oe((_M7m%sz|l9Qwl2Mh<uFXR*%B&W%cIJz}tn2eBL$tW2k z<79$Nk~8EiKf1q>-^m~39Ql)+C)lRPykHpxqhwT!nz3PQ84Y8{Pzl>J4vZt?#5gl9 zj4R{DxHBG%C*#F<Gd_$j<Ht;6{F&)Y05gNpGJ#AGGm{BsLYPoS$AmGnm~bY7iDaUf zXeNfyGX^G>iDTlK1SXM5Vv?B@CY71Z%wgs-Y0UkQ`NQ~&CmBp8lf`5+IZQ5-$J_zA zKS}bL0;UjOycRPhOes^wlr!^~`Ah{<$y6~5n1#$DW-+sbS;}0(EMqQZmNP4um5h<8 zW@?yP#>CVy^-Kd}W>zt)nMS6GX=YlOHOys9E7QibGabxYW*xJh*}!b1Q|)gqhL`Ps zO|Ji0sk(^LG4PTQWbp4u;BT7$Zx;Q(Z9V?Y&hzB|u>~R)8${#bsaA-<4w1iDB7A`Z zTSP3@=wG#Q8xZIZunCuBx1>By@`y?LYs|!A%f!Ne`zBZy^53>E_zSKU3nMg!<>#4X zYiOBZZ{X*wEDlx_{{uGX-|jvb2zHBdl5H3M1~1<W;eTqy=ySo6(G-F2_^Umm<^Q*B zni8JhmT>{N0^9)Zv>EdC_FHesA)+IKDsB@ljw1}qVyIZ&GqCUuN(J()lA#s>zbvYx z|I_#;m5*;65Z^e^*onqBh?^Xg9snQWq4Wo6kq*W^3=oO59`|@aGO<<80b~Gj00n>& zl+OcH0Tu&y8Ol}yYLRZ>>$Lt)i3r09P4P{|ng{{>#g`Hh3;#R_8inUhi1Vy3CH$cq zifFkL;y+&pnzkjrVC96k&bJwS(I+?b$@j0-qyJ&V2MaM@@Nh%_Ex2OnNaIDy-wpDi zd?`;S#FtKpFX@HRu{;;@GQPx*NBk%MDG|BQ{!#uub145DKpvm~Py{FelmX^p>?;73 zfGXq{;=UO7r2xp7S&sWkKsC~}0281NP>-?(@NWdH0ki|wqx=foIXv48*aFxJ`EMgW zF7%UN`TF<!=Rlm%KWB`cGsegnW8@4uIzx{1g4Pj7Ja@!%M?81Lb4NUPv^>XoWXw)m z=q(ma00ltS0VU#LcVuaqJI3$gi$16EK7H=`x6eKB?63T78Coy&3C}2Bcj%Bibm-!X zt`GhdJ+0Rj^sawH5B8QlkiWM6;@bWbd1+xu4|34U&fdY%$!dc@D3$;JSI>D&M412K zbwS?L`CGgT3c3eE;o_@OEV#hEd3@yTx$_r4r}OXP^_Mjc)lX^dC#~hCK2NmJOXDD| z-&|qiTw&u}VdGq3;~d#wKqw##5Dvbub!;@!dO$27-ojdm)tI!7v=kzt#OjN#L#4Jz zYf-6A2Nrgf^#b?+D6T(1-q4_Y=^s>)?6Ea(n&zKju1x7ObW6IFSd~#6I-evQX+Al^ zZaKnkIb!|li1n)@+Tw_|IHE0%Xp1A-;)u4`GFm_&AP6uM5DW+bgaUMcFu*LxH4>l) z!~@_982AEaE+7q%j`}kIS%4hy%>xtwijXe>l<`fb<L3f@;R1g_FC|vDj_hK<Qs68D zEC;OQp9#;kz!lcxQorb$oUZj<FrF?LPZx}*bSbf_mGJ*=Onh8CVE==Ok2;cQm{>p@ z+8z&}pQ+IH1oQOPwu$Z+{AXq9$ijEBK~i&g-%Ahk)|i|5Elnv+?Et-+n_7+1WU6l3 z&_>hLQc`@Hrg%~s!%W)Dt9TsxOslP~r*~={6Y9;?G_3+)OL-kls{zJ_mQ}a`huWmS zw~6$*bWuFXzG+~8HKP61z&>hVA8i>M36;OoJrcT2Dac&bO9_eo9KA-g<&>8Oc3I-3 z0WS@M9S%kVumjjjWR|-F=B5MYrY#c*hyp|dFUInm?vwmodo2hTC8`Q?mzHPG7t9dS zCFR)*giM`z)#}>n1_6Kl#?}_RT=|>Kn#<}}ZMcZ3RaT4i)qq_9-io6CR|7aeIR<bZ z;5oqafC~V+J>CLX1K_PH2J-?PPz+=Y9Zc-SUJc*?Zvfr|TmWFRhg_g$WCrd4q6Hto z8o&d9U4YL3^8yLE8L%=Kcz~6W;0HJ!g**V8LgZ>d#$%uZXdg#80Gka&4Iuc-A{V}9 zupy2+;9p%|l@T%sSXqu06To#IBJv7CZoqWcFCyf(OJJ*(VgDHrwH(i@@gb}UCqU{T zih4p!fS1=`6~Y036Ct~?oWk$#lW%WE%(k77q6hxt7Thx*HWPJ?UW&iRY9yo^yk~%S z44?(z+DJ(KWsrXxA?E?=c0$51Gn=m_r1N@0KDmjIhfz=IErfgw_{Z&poWT$M$KFXu zHQ*|2;r&NfIQpInco{%t(F?GahdtzBEfd|6sWP#ahsH`Cv~7|s{-gS5qrQ6p#~0$* zEo42m60sQMK>IlZ{ag#MUx)Dq&_1g;yyNJ^`Jm0%n%s&XNQRuh0elaLg&fKNm4M9v zDi11y|GoZK0{>J3uCN~fE*f_Lww%e&fDyn205+gWIv@k^0ALs30s!06BnF@d+zi+b zcmS{q@CM*bz%XD0Z~=f#Y;pmBt!#1ufDLW(Mk(+B7XS#0$OYJnl~2OH0k8o~p8Fc} z9&iCbe#8BD_^tDp7XUq=96*isFn~M{dj}xL7_tIDMv({5x1~Qn2E+Y0OVVFrNd{mB z{bAIzxc`p(zq&N2!VyT$xC5|#Ps#z@G_)VUA(Z)<hBHq<9suIQke>k;U$iFb9;mCJ z7sa4J^Yj@7wV0QlA!{j@p3^&xNvvy-=qdii7sdUrT-cTnUVv#tDq;QM;_Bw^;pye= z<Lfuge|o?SZD7z$0pVXfk8Z}HM$+8U++=KBjn}-bCY=6jMnSvjvJPV-PIA<lo6YST zNFxq13Pr%dY0_39vj(RL%*MuAGY&zwbu=~Mz%7mn;3RWxM-7fXo57&nRNo3t<xQq~ zBMx}rOf+&hrO?{4Uf_{qYQ*_Yw4oZDX(QU!7;8+Vv1KEUJ)0;h4l>rY8k=iKK2X-0 zNWE|?tZivG*5Jqn&WYBTYR!#}MuHO@LL%E((?O3l3%BeVV=Ed~Biw3hT3d|r31p!@ z(|R0%ZX%a;pzpQS5K2c=H9b>W-%M&-z#0cyO*oW`%8X4&wc+%!fZR&Y$l@4qtEsus zR41l{LL)uaVs2Ya)--msk(w3=h&142xCt`CgBF}?!LjQGveDGqLRxUbyM0{?{wimy z2_439Zc>NC(}+>mlQwj_nFt42aKIe>YH37&+DuJmAw|cBOc@|F&eX;a2fF&-c?(rd z52l#f`94)6DKu3qmHJm>HrJS2YdV@p2R)3_R?~vRqr41xy8q7GD_Vm|thJT!Ijh>* zaR}K&gu%kuPmC!Y5-MjL!>y-!Qp0z81LRfL*n(5PkdjbT)6t4Cs@Wj4uMOx>ENQ&? z3hQyi8OMWLgig~Ok7aqr=Y+=8nZcfza0DIWS8J@V$4MmNMwLexUD`Cvlv=7BM$CdW z4Wt_L4X2LyT6u2OIO=0*#FUIskEKaM*3{T&UekuNNT{K`p`}AqLt&(Od7vIBji~+n z(9|`W))PT)O-87GGlWW~kvx5B&1fd&${&)JrcgsibG@;(qp1-mwMa`n^m8@l6Qwsb z@!ihMB{=wA2PNcnvP963a`DDL#J2-A9rS=SG4d5sJvEa?0i{K}VMd!;n=qlO8}XF^ z&P;dk@@s_+sHf%v=7=<P;ByFLt%({cl8eJ(z-urz;@bmEEi?f0tE!;|whQGjU9Av2 zsWq=PLs_cn8R_O~%-~wsBFrra4v73b6H)Q*VqJ@++E)JDI6ra%XA|n<zlB)SxIv(^ z;MTOP*&qx}rXcf7VLtFe&$I|OQy7*^Uci~cU}Q^z&J`$gttfLXl(_<Bp@36pg;Qw3 zDHL$Z1is}0YPl6^xdpXcKrI(gaY~$y=K_IZffdC93&jF~Vu^sW#8SRgpfw8RMk`tv zc~PIJ)>CcdyA9_+=PoR^V4_U|rOApCPee-UH9%<=a6}`+3)O7FF$*}&0^b$^wZ)1Z zJ`54rwFs#A;)6D!O=x<DK+$1E(P5$J5GXbXI2$bG8^tNWyNk9a9DT%zDS4s@C4$Gm zf%Ufb4KOl7)}k{O2O=P6Qcoo$EndWe%a`y9W+{TIV(L<FgZa=(72Y~aeTk)FJhP-h zCa0;7vE-<)ku&f)mJEE4oTfg=lH+}mB}eDKCByqUxwW(^X_|?KLokmP6v<NwGB8@o zt1T&NNiCULOG>sBW=mP4CDmj}HCs|vliX6)W=Y9)AfBnCCLT84GA0OysMAIuKz%(w zCYGXXi=`DhA$WNU<9w>j;%E!EEa8?d+;W6lu5il}Zu!EkK)4kOw<6(IEZj<jTd8m> z6K>_gZJuzOFWf4GTcvQT5^f8G+d|>CNVqK)ZcBvQQsKr&8BI_poFCmlRgOQoTT5Cy z)|ibAq>4@}0aJF(A|-~-q8fsW5FQA&M@S2{L`dg|b5_V@QCB4-v#G5Taiqvk$d>YM zO-R?7>+t~#@1KN0u#8bT@4^JE3L0nflQ&ziMnXo?MCwU}5_FYU^#;N23+XmKGLzDL za3*D_h#JhT_(X6WjxZz9#z%J+O`vm4&S0)tGMH;}n$9&#j^}O3(Ya>H(AjS3AnLZH zQN5g|Q_zy5Es!&4fhB_$$Z6UFOO9`WB}ZFe$<V23$q0tdk`?B;CCeKIOHOc!f|Lc{ zDW+v}EEe!aTTDxKSj<w#A|}PjBY9P!RPdf+nm6TQ`r=9~4p(?CcvLZMMQ7!I#fMWH zgvdlF7ksgh7JROlwqj=Gp~Z(*J+-)O@sZd)A-WRE1kWs{t@v8`aq;2QMhdQ6c*F-y zLek>eg{)q0h}P@%M7SHod#rem!xv>(6bN5@Wwo@dCMEnjs1(x)s{!eQu!<JMb)*s@ zVl|Aw#miruj-cym6=RRHRnu^8Dhj8gCfOpKY+8X+OHDYVw2|p#u48UswllXeJDCTV zN0=v=XPJG>LFNtS1Ljla3+4x=m+5DIVFsBYW`r4K#+gaxEb}{ajyaE)^(?Do)vPUR z$Kp&Q>%zLR9;_GZ!}_uQY#1BMrnANDF~v%@nyqE)*amhL+sHPvYuHw{on6bWXE(A} zuvf7hyNTV*Zeh2w+t?e}o7nB_4)!+oe)b{u8Fqzgjp|C(7S*S!ewCj(TfI_Uq+Y0Q zQrD~7)mN%_syC~*s~=Rqu6{zjPyL?yWA%XgnEGe+i2A&GnvKfF)h1sttbB)kpY3HY zQ`9TAD!o)$s%MnnDr}VABu!bR)RK3Uv#>Gq9lKkZK}v8=a5+u|W-6B}aS~8@mGY3{ z0Q&&mP5;EMC!2}0;vvNz#WrGAtyTS|x<q-cGDDH1WEHn57P9HgPs)36jy+cWIeVI& zu82^iD&{K66pIz>71t?VR#d8PRF$aiRz0lRt=gk{O?6oHrRoRO!(>!tqjpjUtDBWS zD}GUoD9$MURJbTTmD82sN`tagxel-0&Zy_8<7|4BFDZ4Z2z8LnC(21>pejOjtI|#t zuX;s!OnFZEBu)&zh?9Zu<J8}GIN8^a^Ldkh(FyB<KQGdabex0xzpEPy*?&hj4zP4& zKWD#Vf5P~lW+z!z;jEA(pP|U-rC+bOj30s9__2FgaY%7Y@vTCZwT)7ic9JqpnF*O! zDKCKrtX4Kd`d49;w<>Q{KA_yKd<G-%it-)hCy@A0%3kF##^D^sz)KaV!pLAOvM|P# zsue0T^mZ+;xi?N3^H2Fv?^lgNe~6lnydTCsLLG|{&gOM{C3L%q*KVrYJE7fFw_oSA zo9gxewEGP7n`-won;@H6HgPtoHhDISZR%~-+FWb1-R2>i{WkB~9J4uYGiY<xMs4eE ztF?`^O|>nsU0_>dyUuot?QORA+dg5t-}VjL4{VRw{%G50`>X9AwknOY##iI7(Q1M< ziJC&q5>11qO|wzcsoAQzS#yWxKFuSVr!;#t2Q_bM4r@Nue5v_Cb3*fr=2y*G%>|9x z&e6`pZkk<?-7LE#yG*+RyGpwnyES%K*lo4D&F&$)XY3Bx9kx4W_mkaeyWi{-_Ad58 z_L24}_PO>I_Ltb3>|5=xw!gvtF8jyq_u0Q?|Ec|V_9yMfaYWR~!OtPgA<-e*VV=VZ zhh~Q>9JV^#=J2S)9)~v_K5{tb(B*L2;Wr06M_<PfM}uRQ<9x@Zj&+W$j#oL}?0Apk zZpXcjuRDI|_?2Uy<0M`%J39G01v^DL#XHS$%5utgDsifCTH<7Ms&}%U8UHhBdYb9~ z-P6(k6EgVU^NlAV#{cg5>HmM9Z%pC0@&CVkz7g+fR<VyO(v?4`uhiUZ=WTzz!(pdM z=S409uHU;gxG(l<_SSmm`;<<*cY5KBGuqYKp8}JDcFz1R)h=UW!K?F{7B^fvxB7`y zm$bIDo!+?b>I>IBa`Wcfzr4Tk!L}!!d+FBq4u9zT@nc6m|9t+}ewjC86Zr->@V9U< z^;Twp`Gd7V0F}a4u$Le_+RE<Cy#`18@4(T|$Gc8UjGH*--07|pqr=S{(>->&Yp{_! zbCQ41iEjc9iX~m$qrH=+EjStRB~JYJ<DC8<jEz7Z@a&1-Mh6B52WmLwk)Gl4?%u)S zbzH!UeWP8ICNALl{^8+MUERYpy?1<Ium|^jHA<Yy*Wxt$^<8|$pA3xFuuK>eHE803 zUz|97a<F&(7V<WZ*cajG{G~V+f0<a>BXSK-i#0rERl^fvd%MM&cB6xxlOHghV);Hx zQ(bBm%stGb%;(*M0w0zP^p5t94YXZD-evYPZ!#aq{W>a1=qHg+&u}}-e8U_UJG)DI zew^pkN#10}M9kw>t$WDKvW~28ugv(1p~>FS@!lR@yd298j`SNl6}Pa4@!_H2Hcqjn ziACg_FOCmE;n+ym2@`iAaJX-HsCPBTC`Si|>aQX1AtYYIt`|r2cd=bWY(%ekH}YcX zB=4|0#F7)gb$5-P?j0KFYUWgitm{b@`x<+Q{aK+<*eSdeL5gTa;)#LL6Ler+qP=E6 zWxwt^aiVvqoeN;aYLq4g+sBTw=jD#M4#{j|$Bmp~2jqa}b`A~<^@?Qb({g`;pkHDu zC&$IMRgVvkba%CK%%<$?Nw#8v;%dcPild6-%BPgCD&JRrVN@tCRWvAC<eJh1g;qnU zIwwC=tP>bbPShw6H{YaqO3*fk-X7?yaT7VLxJU7@s93gQrF~Qt6)z|b&>kNURFPwB z(e+NoPVs@*b;ge8(IpZcXiy^Ho>V@le6&k$O`%DxR4RRxGnMtqHs#i??o<6;V*_17 zvXowxle$_~IZL^qcMPKK>1}0|iOQnCp?F=Ucu~;TF}Y;CU#>hGm7VGun_AyTRNDql zbPbM;j}D)*(!&F0PVqQDK-Xcg`CgwDg*Rz6N;8M$3g(M_ugSTI<S5Un>{P+3m8uP@ z$5hX#`c&g;qIOXGtM%%XrJc;LD)xjR`*)43%0)FzW)pvM6b*v$xxPlJidH44(o{<X zR3~AWxBwSAB&s}BF&&bFLgPdgavL4)YUdais+p<=6|97ynReoH2a`h8sk%XRhb$zI zffK_c<FHnWp}}!uXOLQTf8S^?rjp_|K}ENjS=9@w??huT`H|{v)rYF1Z}F-%`SD@i ztWAC*_Wp^!uG6QxL<T?nVkJ`6O4FUJWEea=&bLz3^2sx8tU5?NYp`pq0UZ$xaIK{I z|JZm9Gm2=wSiMFR;Cm)kJzs758`U^2_fgev)ez_09VA!%sQM-K8#YU9?zVZ<<|UhB zwl=oGw##jww0+I?i0xTTq^3#J#?ORK@`3s}v2z20Sz<hDRO*k^N7cvGgEr;D;P?sp zFCYZ?TPa=w9WC{^`ZqdSFAEdsI`W~7i;a(s)+Pc=jC30qH0pT*UKfYSN4DyRM63R$ zmEC+>Y|k&ERe#rF#g(-R8>7u?o2xBWTq#=dPV$kBIRDR_8gAdjc-d^VxkZ}3USh=u zPRc?H7H#+YHd6ol8(5pyY~GiZHA(hmFPjxM-`kwDnds}sTsjR64y>PQ%+<r=11AT1 zd*m8w8(CXNTOYY#8jRkMNWH2_fu&V}Z6$B)H!*Iu$+j7yoV-M#c*vywvh56MR@ye$ zw%J~1yHkEXy+<@9qjK3p^_@(S?TyyT@dy>OjB&VywSCU^CDFI|jPzn+ZXX#N7=%Gp z+;026=$5v&vbJB@cFA;FbYyg_x3-hH$@a8d9Mz`Ouo_2Ape95v4E&px?S}3@Dd@hb zU7?BBlxdb3H!1Ga%+cgo+*7hx`}GZ-<cOw9REiNAQ*;KrsxgUU>Nhdk!fBuWy<rpc zlI9A{W^v*SQ4d4g$T0`<wvs%}!<wfx2Q*)3zSo?!Q`$L8UhWm>qGUz_OswX0&4*Un zz0hJkdIW26i<#AQX@)>zQOZ`-BWOge)w~ZKo){I2Ys9A4<=;T^?c(g_+O4*0vwPm| zExS+bb@uW0nf6QVSHC^>>qOV6iHp0=sIbemE3sQHIJfcBrx7CDYFE`IS<c&r`Ubir zqxOq9X9H@Kc30YMw!6{pVPVFe6wN6UL?@`-?RGoq1btQVaQ?%vW76~p;@zFr?toOF zwX!Gf4GOz2?Yiv)yL#lAk!4cY{bF~)-sSW_PtRcQRIR%0Vt2D+Vq|<`)XEWV=Y7wu z1E*z<an{CE(Zt&4+m{P*P=Hp}eH}H&os*y1OEO*A#@b(I-$`|;^Gv<{Mt+pod#Jxd zsM}L;11Ye7)c$q*L-t1;T(KKa>d@iP>2M!*0bbj4AVFdO9QF(jz7WTSe6|n&?cQ(T zLY~^Y_xYEQdGLrdBp(?S_TShKI*`9H!%zH;dhZ?W85`)c>Th^8>)`F+PlKCKs+Xeb zhS#tT(GE$H<HKM6LqWPj4jrl2q>&1)WgRLVE*0$@7Z3{H=TPg=Bq?o>$Sl}O`NCRQ zhwB`6$kNS#*A?Ahzo?B36GMGnqZ6kGyC&K@CqHx8FO*N7{axzz_QD;c&|%o&4~Gkm z_KwrBOS0T?KlVe8JB~V@chWm8bgFTB%;^=UPu`LzLrf9J#C|E~qeU<CiKC}j?`ctE zBWo0nQI7GBRf4{LMmz5~$1#(3{&k`Ao#a!;5|M1kGT+p-3T)G?alFUk1Z*v#{AZ4w z<5tI8MLQZTx1&d7GfaJh-tiH~XCz(Mi}L%>#5%s>_z`WLmG*xnv+z7Q+I4DtqLmAD z6<x>2j=zX(2k8tDmp$*B6;5g=S0}AZ>NC|<*p2lMkB-ZaeVbUPM5kh2-8-3ZrwsW~ zx2*fK5Vc#3<LnlN(`u)+PFKmOjA+KA$Box0?smG~=~k!vEk@&x9!Y@|yG6UYt&Meh z+UW(s44cInbEmLmV8Wc<6Xg>5d;h@rn2~k*#_5DyS$mHleJfF|E!skgoYl^5&a<2o zoU@(FtzzR$nA;lGd78794(}V1ZpT}Z+xGWb8Qx+mZ4MWOysG#HQtaI3e5Lbs_yvqi zmlBs%E;qZ}>+*!lK9?gF`+4n0lKy^Tv~j-E`AO$DoR2woJNG+d?K9SY3IVT0m3E;` z&pGesgA=`_)bDSm^v<a!?wyelEOK^UZ0PR)X94%UHA)wMmzge+F7bl8_e<tEQCw}k zX>E`b<p3$x#JW_tEVmL(mDO4+y+Ps9>T;FK^;Z5Uq}MXnPx5y5E^E{3U=^pvTM0R0 z7+qprUUPY077r%|x<9qCE?>EH56DlN1+7_KvW=9uGOj9Djq7yR6|UF1-s<|O>mJwF zU<D4BaFcHsSyyLQFTs<gobK*{(C(>Gy6Rk`U6WiZ1X0YDL@}G{h-<nlZ~xxnb>yt5 zgmbK=GaK$|6O-<0c5Rg=aXOFJ8Ib6Dg}62kNFF$2C8#;8I`KE`@3zu6jg=r$tppL- z#=5@a`UMTpJDE(^j|JtM{7vX_W9jvz)b&@_KiquW0^L&G^4%)kE^({1Xy2Bu8obML z!$Jj1(j#tmqUt`!t5}*8bi7R$FmAKlVkIM<A@(z?*Q(7qR;`K>88uNyN`snvJ2=I? zWjB&Cw=Hhl+;+Hq;da{Xth>V9(>>5V%01OR%e@MN@S$J{nd};++r4fNyFKl8SP*)? zB=lS=bhmwO2kFFoXNu5^tc9M-H~9y*Ua84BVw3ae%oyxFiFMh1SnP{2PXpxrk-Nr9 z-gZ{<F0krZ^za$ktmTQ_Y!-JeK6jVw|F7upedRZja`(0Fo89kl|Hz}v<1UX^JoTQr zo?m+Y?0McRA-9vMaKAzvuir(-bIkoFk>^-7>wd5MyIrHBy|t|SWA1xob?z6fqt)X2 z7x)205M?z=_b=Ula6jddBM9#E-l1`<6?=rW3G)CIpZl2mSt`DF1-rI|eBt5f;pw6E z2=j>dm?JtPtIe`+#Q6TGmDl(}Y~{GP==sWGjsj{G9t%C1JZ|c4WIZnRFo{DtPhi42 zh=zR=`O4#Rk1cYiPKq2SEt_;7*Rvk?d+f$e(kW3&fAH}XIqLC(h&<Y$^mxzXh{qS6 zLGq|9XyO7xTUd|pJbEl%?$gocYnfdhV;+Basy&@N{ls2=CtI#=v6nws_3|gNcgL-Q z5005<?qnYFOq}W@otl)M<({iO4|qa}F`YIsC7zdf)`;~~h|K5p_8B(^hI(%B-0XRS z=e=_8SBkdl$<g77A*)5%#&*{8A<sPn<AcL8@)hv1*nYctfL7G0c);^*(MR4OyWbd# zZm(=%J$pUR^6s{i`Nb2#zp$Y?$S<I_v?;vQUV&a=)P!sz-*~xt`HEw9UX=1#!I-r0 z+cMI#cGhdQSDxIctLRGS8uF!ArPn21bz;9uEPgzoOk_4OZ!4MSwaIIn*R5U;cpdXP z;Wg>ais)66#d*(anX}NO@Os>9ub0*4(hMvAQuKE*{bLQR*SB6jV&CX7-lsfb?o{mZ z8aOj5Ye}Wmq}I2w-nQPpKzhR4N$%1bq2FufUqj}5hkM6)r%UZSWJPQcJ9b&cHd5ie z!h4<fW8U9-pY$H_p73$^nc)**WW7z^Yvh_s1P4=9qxA0d-s*je_uax=T`U>7g`$%^ zY;DmN*0SDDd%tLjB3)pUy<hV_BpJBHqEA`seMIsp%dA6`d6sz4zrTf3JUGzIdY|)A z^$D$?JV#>z%T}+OmGxV0)z?@ayYoz|Pr`tp|FxZLr%%?{#7OVxz;G+azF7GWQt4Cg z=jxZ__oCmAe!owvnr5EXG3~l(H|ME+I($C&`PH}7cb)H#dX3NZKDYSX?en0|lRkTV z4*I<1^TD3ypMPG@g*faL?jA1)cb9#_-DkgWpYx({k9<kE#~%>x{s)D7utDMTtxuQF z0J4-H5&5#>b7QQ=SLN&I>*+h)H^eu}H^FzVZ?1@2E#fW|+ps`vLyg#m`C=OuiEX%4 zY{N3K4VT0zeHZzz@U8c45iypF7%N1KrD7|p;_ZBI^u68pKHo=upYh%A`<m~2zMuGh zDYnBbwxdpL$4aps^Tc*EitVTuYiST`sTFH6iM1?AQ27q{{_6XiALFMHc`p`uSBShT zMc%7L-m8qPpSNEmRntypsh`$rGS;3R84yj?@fww1wqLd1YQJ0ko}?PQiCO7a=C{-e zyG~TDKPAmx-halpiMiRY!;h1v**AZ6XWvmj<#&(YF6yV=m*VebR`Y?yu3S6o_qyL< zX#%ViCqT8|=T=Q<FtL6o{D!RzMyb53Ro9@Jrk)lwO+Rh+v;reL&0(6iJWccE7KWYZ zw~AP2$q{R}b@|KKAdr@=gJyQx(rGLEP9ubT_^cRZn5<?}-0;cqsjKct(T=o@5A<0! zZNIC!kyK54dD<J(-t)Kd*ZQyYztw+_|7-pq_)kt(Pmk_GnDGez7NV|3IqkD)UrqaY z+V6rjsg-12O=UT)Z`vT0<p)zjrZrXqWvZz_{hj@NB!R9HL#9TP(m&ik!N1VILKaET z->f>GmUaux<6~B#)V>CVe}jLs|JGjms^zX0*1z3<1AX1{^k{P@`N^LXJANJ;-J+zb z&8+|3{*Mfz65a++p0|#U%dM<avz1Ka!TK}*@8ls&88RvSPx$}hKXP(_hDWcC4Xo#w z&EscUIOg%uUidS-%R38)kH$RPrkL(D-EX?is^y{9o00Z{H)vnSPLH3S(K~3_M_WBC zw%WMhCbD3<dHUtkubF-*AU9x9z@dPz0=j2-&Ip)s(~R3^e9ybNPV(LKHnGdUi@OVr zHHzu~n7(8BtHRhFqeC`*=ky2YkbNkq|0eSN^rxrq6USt&$lwo4+%>aSG5yo&y#cck zcTN9t`j4WYUL(d`9%9_Jh5Ru6j{rr0eLzq^ctD(p^|i>hwT2CF4e$|K@vVjTh`@yT zUJ4z)6stdH3D$aeluq((K)Lwrw+1%g(txL0*npaVCQBf8k_KYW1zZuZIpF4iI|HN_ zT>Y4`VjIND0)DXy#0JGcY{)7Q>txmhydo<k-ZV~eVO~}n$LpKefc_bFVqmr^U_9W0 zOgJRRC>!PYDM5OL*(z)>U#oa@hG9m+jHNR+%-CY!6i1EhjM+2h!$$JkiDSQ=?jFXw zTK-kdF=_8}kHorD@zjiZ+Mg+SUsy^S!BC9hZlbSDIi|TyG2^}&PtSN^>fVc!poAUc zqg?}i{q5|GH)eb&cjeiOSNPBKa@)i-%;=jjECyNYMLD-G+)5T|?X@1-8QMA8Y;C#r z5^aqX;Cv*H$5kd)8=}?AwYXWWfXal)v)5`CCR)9QD-d;ItvG&HEZRaAX)o7aqur@} zTl=B*E3r+RP;U*Zy+L~m)%cGkgWq1uYIkXOOM5{9n_;1}d$cc07HW&wm91iU%~>@g zNvwL^;w@ycc1U|B&@FIA;LN}nsf(Y0`JaI{7Unm|JL}u51E;x&BJa0ioGdb4zvLfe zN#Ojz_P~Dxz82UMI2ib6P*_lW(43$gBOACVuz~lV<j263BEg?lduY{shXbz++(bM4 zsnp@MwQS%mfscx9>SWdj-X{`YK-UAG4%{zw{U)*N<9Hhz_-^14tKE)>iN8A3v!aAX z>3DTAF9c4A+kca0MUX1UCCKWfXRbWdHr8gh!b%7!VzV}g1ABI&jSVUex~zMko(-xD zS}wC#HSm`=O^t&C<Ku%SHt33=>tw{bzalm)-Aa}QJsWf=Xl$m_%=t5)nR#&Ldqy^B zU(g$}kxvxD=?yh((8obPQq$GRTp1)<sL2adv4VPoexY*yOq6rLcKEtY%;iCU&Qyy6 zWiA&5y2GTH=`}NOW{KP~?^<@IZf5FVUs>HH43yP6{3q(-?&vouXD*vrKXcv8O>#R^ zFWRfM+J^Q*1zTs{^VbUQ_)7&pSoyx&tOg{tjh*??OdJKFM`SjN+oSu9_Y-5VU+7Mq zQkSFKta~?18I}`vRoLsZ@@9P-etr1q2>ca8LvJjJ?TWLBUm5>I!sQ8@6IIEMDT<WX zln+wAHf+-|!Lh-u!8?P$3-JqC8nQFwyHLN-rTT5Uz~G|bvfzr~g~3aMmj_n|*9ET% zZq{?U<pxe?jOBFIah$Fup3~JPa5|SnPG?Hubaly`u0DkeU1``7IxTop@Rs0h!8Zl( z2);wlg_;apXk9E9S_3={@N82!olWev(175*!7m2C9Q=Cl+rfu|KMejf_-OD~dM<dS zfeS`G!Kfz~^#r4yU{fL&T$jWJ*C%tq4Jll(Ic}TIA$T-+GWhr4^C4`AI>au-Da0+r z3+-HscCJG^*Q1>q(9Vr$=jCYU6{!D8)PEJ~zdC-K&M_o5Brzm4BrPN>Brl{Wq%5Q& zWFhD|(077<6X>r2{btZ#3;HdfzYg?UL4SS1Hl0&QYslJ=jUiWsYzo;DvMuDMkR2iD zuWlRY{{i|NKz}3XZvy?zpx+MqTR^`9^tUE%(>aIi4S6x-<&f7y-VQkw@?prQAxA^d zf8A{cE^r6vACBV!Z;R&wZwLL|puY$7_k#XD(BGf5P3Iai8ZsI3d&v1vHdGyI7wQ!1 z7E1g70P5cb`Ug?}L#Y1|&_4?L$3Xu$=$`=nlgZn3ZlSTEiJ_^XX`xx6d7(w2WuX<J zwEs_m{u$6e2l~CBe*yISL4N@BFN6LS(7&3pP3Iok8oD-gW9U_(n?kpQZVSCBbVn%d z|7)Os9rQavzZ>)~g8m@r?*jck(7y!wr(?J2*wDS9$3uHU`$GpqM?%L#&xW4U5&d;K zkI;8R-w*vb^hoFzq2Gl50FKXs;~sESfa5%HtN_Pma9o3OPn3J1+#BUSDECFVA8MM0 zn*32y5Hv-p^Vey0!MZSAq)xAk*Cp%b=rX`}Cg_7f9|HPN(CZSoP!;HBfj%7c5ulHZ z-xlhmTc%s7tJO8=8g*-Q?Yi~4D|8&_qd*@G`WVpbL2p3)v7nCweLUzBK%WRrQS0v2 z?b1D>dqVfL?s?rl-2vUJx;H_e1o~vqr+_{c^s_-f2lR76p9cDL&}TqXrt5yt9oO~f z`gMc45#6}%tnOSG0evRuvp}B>`W(>bf<6!Q`JgWVeIe+JpeX@i{$bj%;IOc;$S{3a zd{}bWoG{w|V!UPi4D_XV%eV{l<)ELR$c5}p;zC|c=0XmEeqr+Ux*1_h!<L6tht-9x z3TqB)4O<(w5tLtpaxrRN0?MVJY(dSJq2^Z9+y=@9=!iD#j<B6!_lG?c_E^~NuxG>e zhP@c}GHN!X<&B_k0{tq`uLgZP=sQ4v3Fw!B{!*h&*r#FNg#8?LGVH=E=UIN;y?9eN zXy!Cqc*j7xdU_{~oJQT(!G@g<oBX9~v}@eV*=-p;J#nfZ3H9kNL{oheQa){TLV6{m zm>fRSJBVdkvtm~GtoT{8ExcbBn5OkjNc>)}R?eC?Ys0Kfvu>b<exPf7V7Qr`wPF@t zK8&7{-M|XE>JzBfNG-i~cx3qW@W~d=;79jyw=jxX56pUe*4|mK&3bRv=VFZXoa~V3 z0#|fbFNuzQ4~->7pZ<dAl=s&tXPub!OL$87)j~x7DRqXkMrWO&&hUuf46h~K;dbF} z;nTxI!VO|okIMX?5&1uE#s5i>|5Ml?xR&e-FAT2=H-$HbchEMSIdQt0Q+U^~;Y-6; z&?Ga=|1Wg83J9l%YdQ8aguA^wYNlnGp|4ei-yZ%z_%q=zgnwz-=wf=hPRXNl89$gR zF+$ozdcxld|5%pHF=>VJGvcN2AHsV?F+C`icVUn6WcZoz3lTUWLSJ(*f1Vm1?ZpWh z!#oM+#K{4(IwCM4A!;(}T(rHRMbAd)BBGz)`+PE|^*nHJpMldpvPZ9oNQ+t+g^jF; ziio<1M<Ti-wUNss?~VK}%EzFHSQ@cBqB@CFx+HT-*A!0a7Hb!AMFbbIIbv(X4H4TT zZi~1p;@*f|dQRzX;FKP*oYFInQ!??K(kp>edM9#9A5i;(+7Hyz;_M<`j(9!d?TAAW zA4Yr{aWvwqi0>kP0<}M=r-M2G)H6V>1$7{(gFrnK)WM(*iMNY58*wg@L@Fa~BOM}L zB0VB~BK<)f3Thpw!$3U?)Zw6x0Cgm&qd*-E>X-z($i&Fh$h63;$h^p+$g;?a$c2$h zLA@Q+ET~~|l}b>nK&=L~4XABFtpT-NqFrQr<od`fBDu)Tky|5gh}<4|TjX7!wg<HX zsGZ`t$#>(q$@f652ekpzv7n9vb$pUt<le{^BVUeuJ@W0yLy;dwej0f+68=w_0P6Xm zPDI^Fs5=?dDWFaT^=wej0rlKuyU3Bq@yN50=b}iIGRii}A<8An1Jr4tP6u@cs53#G z1?p^2=YTpF)On!JPqB-Nj*5*+j7p74i^_`1iz<pLi>d&10jLW>T?Fc4P?vzZ6x3y) zE(i53psp||qgF=UAN6q5YkIq=wNV?Ru8P_ewIym>)J;)4qV9;=2|ktJQw2T?z-J-& zECQd!;IjmLmV(bE;InKG5SPa*qn?S{6SY6;AW)ovLRAYURN0=Qiuxexlc>+5zKr@d zmYX~TRx7}&26%12>qus!PDK40$3_iAoi=cjhk^6{K0Nq#@4*yK>-2)2jaEe4=sB%3 zwAyihl1;RKbal+bF(dl-3_%8S92*@Jtxsm7!=fV%oO)F<r*=rOjn0bBi!O>Ti>`=X z7`-%lc`T=18ON!O@tnFkfm7Eca_ZV7PHh5qT?(hJkGF|#jouM`B*rNwI;Jk>e!VLC zs_0G8TcWo`-=yc%4d84B{WQ?b0DhpsF8Yb+r=y>b-WPo!`qk(+qu-5wKl)=}1_5&> zY6}K-2x<#OZ93Ez2Fh8eEgaMlv3AiXqkoAWiXM%gjQ&0Pd<+|-j<EwZ?Lic%qd^@5 zYCWh8ppFG~9H`?#oe-yr@rwzF35p4g2?tFgXp%sa44M?sq{eGvvSRXLiek!QDq<GK zER9(nQw_Wf;AH|Y3wYVU%K`6P@XiC@0`M(N(8O$vxhiH;%$AsKF*n8Rh`A#MI-o8B zT`}lNKvxR7GSHQSZXVh+AG8%O0VzL05%W~cM=_`Ls+gBzUWs`l=AD?sKzsy<R{?Pg z5br`I&lyxPU&nkO^K;CJm_9Jx0LELv_!cmJ8PAWtfW()HHuxS>rMJ^N>l5^C`aLfs za@yVd5;)cC`;$4<JBe!jbbX*cL_bR(r8mTLsv~&xc_ODen#8G&0pp7lPW5GyoxWIK zuCLTD(qE!qp|8=`>sRYr^qlG|1E+%1SA7%5slEmEccA_r)IWgwM^OI+>YtPC^w;Ze z)Ze1NU4OU!KK+CGNA*wYp8@r8P<Mg48`LL2-2>`gP@e>KAE^65J&>Z%AJo65e+&4( z#B+bZX#Ek9q||?=|55*|ep1isztn%L=l&>0`3!?X->V<cp9YT+@c0!xM)$^Xe<Y;X z7}N$kgOkC{;AQYLz<#Rsp~C&B@I@fM0^|cgMjWboK3QQ1H!L(<qPH=m8qy3|hCD-& zq09hVpxTQDBkEM)RF>*((7y%RgP?u&1rWX#&l-#dENxV80Oietds8^})kKA1onf!x zph0QqG~8mi)9`dGYq-vE1EStQ)qxZ)(EWw|v0R|n{v?HAm*Ek^6LFk2GM>{$C2-p4 z7hgom;e|afV$_@V9eg2)V_&Oh4TlV$@JD~i@ebB-%<zL0m0T-DHL3>IaLO<-fJmon z$jIrl<Z$6(vrVi^?5tRQ?3~yIv8LGl)oiR+><lS5*=`9=0t6rKVzop1C8Da>?AQ{i zzU@+dI4e9Qsw!w!#a<S>F?MV0U9pcN1nb5bXLZWSfuXKJF?asMfuVu%0XhHCX>4K3 z*^j4e?^%UrvG2ux7W<VYG<#oYWq}-;y}z1`?Tfw8HI6gqL&i@1L$PE1U4tjj4D^gQ za2GBU-G6zbBF;HJKYpHxjq{Aps@tkM5;rR@HZC)+Jno6O7vn?X<D_=$db;|0$NKww z5$Ubt{?Je9#!U@u+=94WU8jFHvT@7fuI7U>Hm)J=GKqZV6#UJ6h{DEQABPigf?PtT zAZ!(?Q5_lVf<&ZB%TI&-YjIsYJzZiAAI2S%7z9mWu<6v;#HdjjHyn31ULEfxAr($R z8o5aNV^gI+J_7MsdK~?07shu?YD>&W0~eSu*o!lvja*O(|Cz|1_{HLm=F?5e_*L<( z@mIz_AijBK<bBpmyf_@|8miqyLgW7tf2Y-shFaWW3YDVqx0{vmd*feANJ_};w&-L~ zy)yoA{L%R12{CeEFg`CBI@LdcPY%qS)6zlHH9^|=QwiDxUH53$iBrApZ2Xx7dwL3_ zQ*WC<sAA!me<OE3eU$F1cIq_=o^oLZe_UkdEdCicGn{U+;)p@S@ObZF?*R6DuIpeE z@)Ih1y2i)F#YV;0WY?%sk+34coUq2CnVSU7WM$3VB<(V*)+iEgNO&aSZ6lkoBjNt8 z@nNagWE97ogYO-twT|?g*n~X^cuOFC6tk2Mre9sdCcK~U38MP57e-sygf9|)=sMBg z+r|aWThAtRCrt7q(-~BdFgQGlw^V&5E~o-`bl^8}&~jUqiOz}PiP4FdboCn9MDN7F zUMVoXNlM&U!_9Ovv-ta?SvXiu=McYH9k6q#eiP|UEKbDna6YE~Lkzo_(cyKri7kn1 z6VD{2B&|+*DCuCbvU?cQF7UQmMdDS7k0ySBV+YE_ZHc!e-j%qkXZQ?`s-NHm9(Y_3 zcwqO$8ZNM_yHS<6H}PQNn~8@LKNDDdA)p@<(2t1dM=AQ}V02C3t%=7I`x1wR=XZ<G z?>d7Mf+j9-pn*;NGfCguRjW+WB)KO|PYMISAzq;Gfn=Ody-lfv<U121e9^m*;qSfc zxwCzg@il?llk$=lCDrtFH+BXdNh;&_;KBcsVW^N;=OM99$P4<lIdDhP<w@5i-JG-& z=Mp9S&-#12CO2TyhSCX5epe*xAMdJWlXfTV5sG_6uDug$HV594bSSAiX*}s%Et~Xl z(l^bWfww0e?H)q|o<MJKhLENxU1#7ONvDQS3Nm|7WO1ihLmyRl+NYCks$}0}Q}T}F z-sIsLHhD&J<$#$@4o#j*_su7oI?3{6gViie<JW?n<f`O+tJ3A810(I7?EK_q;sG$W zg6>SR$<4_d`Yk>v^OVITKbXA5$|Tq0%+f#`n|yC_*XnCXc=BV(Zzq3iWRssxetD3t z8zl?YB-+cSCN}x~<WIYxS3%ygZ4r;Noi{dd+N=rjgu>*&Z>LAbu_uiWjV#)q-M*P* zq&TN|r39sf^Pd5d6IR{P3a04%YT+~+JFi2Xl993`Wo62Slp9m-t7cR3QpzQNd7H&H zX@&Xj0Uw!CpRz{sk+(@c(qj-b<Nb7hz+xl5zQ}Ku$XgI8&!oJRf{#+f?TwEG?j^D{ z`FIlF`gHY+HfZh!Hs!~Z0jn?Qj04S^RNX0~sZ19yM#+3@#e}N6dON93jZWR4`ey0} zsoitz=M>J_kyemam3DR7b!oR`IA>r(%xIIEmRgXyGPORHOT8=gVM~LaK5=S{KZi(` zrB+!<Z;sH=NQfb|Idz>RhNmSlL^iOgTT-`M)MCxJV7JpH_2BeJT06-VsZUxlT_#(5 zmGnjj+am33>gTE7NiRthq8U<|)Ttx0RkQtP@1DJX_FL4Ajt!h0@5SM`{vnw0HZHWW zhMjFc+pTK?^Cc+3vL#_?P|XgTZJ3=t`_kEWNop51#c^&ov$Jz&S51vwZjs`w4W~`) z?AqCvSw}KEdQXF9!|bh7XwE$_HarNEjPDlsDBzs!(D3k(byeq@WQlxhb@H;heY5KG z*`LhrnmsZ5JU+kJJNwv__l!sQaHXO155w$1Y0M4Mn14Rnb+T6~EoorqxX#HoD(3jk znK>uiGPKVKLl}i2oMV`iDh=T?(hx?`SLke|Sv6<DoRxD{&)G2NI(eG6$*n#%h^}=F zo){cB0sOo0>Q&y^VdZ@{L!)BO&a|YoEF(K-S6b|e)#^FV%{egV$GNR@pPc)nINTwh z)v|M5pL2Mi3u;k|ZAh5Ak>P=%@c~S#QGChR2Y(pyY9l-6#M~kiI|qLp@#MIOP|wae zJD24%y{%lxyE6Wppg%Ezm{f`s<_6A1WJ4nbm$~6`P%xV}pq+Zxx#@D@9Bdc1vU4lv zR)b<(W_p4mTjjffw0`b2y(h-SRz6LiTiQ1Fwz>CP+V--{=EXL}+&yzYoBMSWJNKoz z@4$YEK|;vx0lXIKJ4rvj4V^7~nG>>W93OCmswPI(uycFU>}kUW=l(IZVZ0}?YFMuz zzj`*!J55K8-k@CjJ~_E}Xf+o+Q~p-gW*Ea6vejyOX0<5NmZh1~+Pk|DXAB4v+E3Pr zD`cJcVWf)>aqjz73VGgXRi@pOetY^)87iDlPJ1Xl*`!F@o%USX81+!&bTqCdm#4j% z_FmfeX(!V9yW6?5V@+(@M`=d}YB`*?v3!VpiD<Yl8DGPl{Z$^QB!2X+C0C}a((Tf< z>0#+nl*#!fHr*xNlQQ{JW^$>>WEo|`pOX`U#pF{6B-1m}SJ4J-CYPj_r&pyfNjFhW zBebR1)3vl@HYFb7tKCd4P2ZS)b^7M??G*J7iu$`1>RgKY8}@;(VZTX#F#YNDz0`~e z`>N6WmZ@4ge5Xi%EB)j2qw@0@{<&+<@I?2Zu)S&==;<@D>3!*=GFG_dtb~PeD!#Zy zw9v|t$J*Eo&y4BfD@4xXH-C{n`@E(@k&&E{olzza=URC<zk-|3Sdh`y+rCK~l(9Uc zfv*czHRPLNxL`!Ktz3}rSnqEr`LyO{Qj>9Sra7}cb6@7MEPeLZIfrv2a+eiU6)Y>L zD`+ja)u_pMKI4^)_cA`tIF>P(F_{^jiDj4+{x(}I)J`Grv=I!I9}HE-cNr%nL$y;f zRDRNwiQ78VL+$KPPlqzoHq$NBCv%2{Stl<=7l9WeJJ`;VF`UC)%?19_s>qz3nVES> z?{FO!?Ku0!9?mSvTp)`$l4s!nJJg5s*NB1;*Y1~nmQRf`^Qz2iGw;fLR@j<%6pm|k zlD^FC;x4>~?$&4S%6ydW)*qFQ2xulo8##7CEt~mr=7;pVZ~M%*q<7f%(hS0PxS8K( z4)9-+caj5{C-~OrhM=YoWlm-}W%*@=nAyy8SxN*9_|bzv#n4IN0O#b-R+@Nxc(7+| zoPH~N<{`@w&&lHrs;oI#muGFsPRrhDRA%L6&Cj|dt6CnF4HiM(BZzPsh9k?I)hZ3g zJ<@PYlO^I|QfJ+k^+eX2*~)B}?2y0tcI~wqHtX4}7f&HxTFvR)Ej~KGmd!epg<nSy zKTgj&meuz+<ZsAt310fkYxN1M1A=XT_i;ME`#@txK3uoj0Xc|M!-unTdM8daD6{8h zw`X6IeS?wBUX)$O`zdJ=6}yg_xgl{S73)3qp;=mC6-~j?w6NK`vX7o<P-H)u{YLf& zUCnIv^VtUwGtzafop7_I{*Euu4EG8N2YR4wtC`LIF(<osqDGZ{D#s~jdQNCgJX-c^ z4w+i{+9`E<O?}uPwX9$YmhHrptUok0rzq#iLDS}tk8&2}ROi&^Tzz^1$F@cWH*i6B z4!3hbcdub{nsV9(C$KEN9n0CSL4F|hiDw4J8`zw!Id@UtL{|abgI(00@C!QYg3pCH zu!%jC^J30h@?4AJwVQ2J<b0O%Wv+cMtk_H)A`E3tSI%J0M9zgS9M(f@h3^^P?m^6l zl|J((4YfvT>MiLYAdUvUGf~|cT9fNGHZjo7=1$9<DKsUtMp!0=);B3~<8m`|afG`Y zF{Jnn>?5+7&*sbIN4r{VbDMKF<Q~bpBmaf`qXlyd^5l8ai4T{rA*s37=H8#X=QQ3H z=H8fld+&JH=mt*vp!8cBer;^-Be}cr4ibg@@s9Hg1W$}8rIpQnGZ$X~51!;#rl0fw zA8BH9zskG$v~dfG%<aq5<;CWu<t@u=Gb(b2^E7#`^yg04+_Smod9k_ku?e5_6n>vz z@|{*T&pR(b*o$(IZ0)5378^k$E~$ME^b17#<uaRBoVSo}MG1b#gKx`gZERk3o>^%3 zJc}>s7M6u<-c@<m%Oq|*$txpWV+hFSG_!g4<~`asIzfNUBPh3>&3h{EAU;z@gx3qJ zg^i}@(c#9MW-9W&&+Ez?$-9srk-s><E`N3Yn*5IZ%k#PXC-a|u>z!hbsI%C-zP!Qr zN;qOu$r0OZHg7WTkGIM=;#0v9#~ekzO@3g0XtpxnHQzJeH-EZ;Bd)O=af{=Kdpt)x zDCN~3=W@g)SCyZXKRZ7oKR3Uqlq0^M&gY2gvnq}#k7aXYS{0i=FTW~_Bi@TSqR3<O zm*-dKal`?&`X9!B)87ZG=3^Auefkz!=6Mu_0hOx!8}hg3@63N7|B*tDIG1-4r~EsB z$$kMg%$MNj_bpoM^(C-pe1!-0Bd~sSr;0q8|3({||6cw_T|;f$S=hCKI&SjYRyO~e zf=GM<B1N(JeFYjCrfkwX<d5c`w_0mg%TZA#&vTRBvB0w+&<dqSM#&l(h6^7U9+Gtb zYAJCTNT>Rw+#zZnuy1w$=)~{61N4*khhR8+$FVDgm%n#Tw6X;o3jQ&;fi2()wqW~@ z3;K-41)su1p4h;VM}BKn7TjO(Siv&|``_k2ZJPZ25Po)tn><QiuA8{YFX*rEaFbuw z?jW@VJw?sMTZ-Q<X)Vnu-BdQate|Xu+3K>*WjB@|DgUPYMERL{?ne89bA>jAu7yhq z?<#z_@Y%w#B12J9(E@ok)>^#QW3{Tn>4l+%k%g&+Mbe@#k$>?VYP}vi|N2FHrf*E$ zGkvpOQD`h|E#!Lfah~ecLbJ5ydbO{&wNtAt+=x9RP8-<47H%oLS#pk#NzO4;j;~hA z@ztA+iozEQ-zc<fg2W)wQXMONzwifXnHN`hOj^*zNmU-3((v8*OkYv>XOX(dP3m7c zLQG2<>k=bdG_7dXl<k%hal55t2wz5OYDfEklU`IHRq;4)zs1e!$MM@PBSXCt*v^oS z&htTt^4e-e(c0p+;wu|9McayY6f27Di>DQb7AF_y70*8`{C>$XFutqkbFARNP1vw4 zdZOr6s=%FkyP`d^KF$@Uf!@C8kX)G7$`*ZHG<c%_uVHQkHYC}i@glkoYUcvK;K{kb zqdi@GpG+_;^o#wkiamLY=qwwXNXQ3^EK{e}yEvAA7{_naVHL#Z(nqkf+RIz8m!+n# z#mkFpX;7{8qQ~}ROXp<SBhpAS=KUIF@%G|7i+2^jB1DAF;sO2uR~iQvKT-S)jRTMI zK2ZA5)Lr<68P{56@y8|8OLQemjmqM$ijNofl@N<MKPUuYfe6Bihl<ZgdiJ2CXMv4u ziMqsD8vL!+n)1i>J<@*CvVNnYL|>9xl4;@mkia<zoJ$Hy=1ZI(k~jxpKc>W3vPz6k z1MI2K#?Nm#nrurpmmDm4v*g>76D32X(@N88*ph7}&ta`NIMxf>L6-?^$-O0yO08N= z-xJW^fl{xw1b*>2Z*Ahp^ZjPF<Z#ImNe`cq_Fn2OUl!wNjPUY@(;r4}$4l*d$4zX> zxl#qM2QwoCJ(wAa-`r8`D|M4TTfK2;_%vQojSr9FHZg{+$DxVS{2~UcDRCd}?C%X6 z`$z*@T2y+4QBhh^x~#Ou^6+s%LOMvObX94aB%#M83F-KalSO8A>GsmMO8+dgEpsoM zZe&aED1CbHxA6fq8=khUQ*mwSW4xBpk8Eo@L+eWSBSaY&qmpW@F!0l0*ODhnzbO5o zw6FAZ>4dO`nB))k3rojfo`Ef|;oRgm;>($9Wg}B93+e6gaeO9-Fk7#fG_z&FWij{_ z6LO|30<qi7F>3zlMjsdCY5lEs#VNd2!(t-j)<(8$QCYRTKj17W`JGK{*=1!L#MeNs zauks>)XlG~LN>S9l|5YcT-m|0cgsF2_b&G@*Ol)q--i!y@Op)ha-Dj5PYEdxx$S1T z?H>#xF4|0j%YG^wD4QrJa@b<MrK^;eHo<Ldxw_m@h*8Xz7^Mft@U>6Ln^K|e>hgs0 zyz*t`_2t)<-z4aCC;M%A1}|6}J|3-M%jcIbqz9g6{vYE0J1&aje;mh;xdU6GCTe1$ zL9Edj6YM2wjL{^<7(qo4EF5rfM?0z@irmqAkzzpvL<CWhDj+DRfCaIFiqS+=5F$;A z4TIn3?C$LDoxUHh$K&_;<Hy7Gw#?4XJZI+FpU<J(p2l<S0+iDQUvhv=6BHWLt(7m% ztoERV3Cf2a`2wm0kXC>OkYd3BkXNu2|GNDNw!MM+Zp`YV1h0>IiIck6pw*?TFLR8r zHidp_8QPo3iEPhY(CX&Z?e)zdI<9B(mW8^a)&J@B=U^z|+FIe^tI?%5MsKp-4|=AQ zvRI-(DdtG;JH6R7cB-Vr&{PT1`$^B>1JV{j`jB_efFDJ(MY3BU(M#0J(W}uvrT=Qp z7i%W2S-8e=ZT-4Y>y+zy40ae?FlbyqVf_Zfk%kF|*@h2{=82JBs@^f$nXkDMU^M9` zGojuoz4Ln2WDQ2J_;fVI9%zg(*VKEcKSh78zM*~=RM4nD9^`$oQ17|kD}5ooC_m-| z`!H6^j`Tm#A4xx7&ONUHuX2UPC<-If*#;HbUrCYvBK_Yu214>$C59hzm6;>`E&3K1 zZP(DEi@)Gs{cZY6{UH4q{r&psjG$l2pv5mZx4R4UGSxoIbGtjwxZPE-2ymT+NWWbF zs(y|B->kcwCdH==VI1TX0xG@K=lW0eAvGVBeoW(Y=5s|7q~Et@0H=W+qGo&ewUHB< zmsz1TQ`gL(oeY{-ug3_fXw5Hc^w(@$W61%+ij(TUVzv6eaSjK?GSQmtYy8)itp!6K z@q8Qu>}<GT-kS6^*=vf|)UA2AR%`8;wSTO&U+b~fZ|&i=nQMy(Es(P4wT)gW$_Z9$ zDrr4a0~nLLx+pgI>nM60?Hd~G(VC_;&zWU4!O;P&dAX*K=1~2x-orvMVK1QQwI8qj zjG*W?f}-uEXzj$cKZ?=XscYvv22V~}E|RuAebdzLs?eQ`EeMYqz^GuMm}DbEYuBu` zc+$`g1K82j{Fq*gGrlIWlMY`?I+8;|^BmCHkhS0efVt-FpsZcHcWoloun3y$ksv}h zc2(=R(`e90HSnq5d+`<$8?^T6TF(C=eJ$Vr!9|YNX|5aI20i1Zf(z{uxz1L&Zv49M z*4c0q;Rgv?H*4JwAQggC*8fF=y>Q*~b$_m7BZsUV(7JW&Oz4j6WPrPiiIDSXX@+nr zXQj@hbz2FOq!`y`r@1a{-H~;9>n^Ul#RO>$Teo*zGP6EDXBNW<t`!TP;Di@C!`Gc= ztLdB0k(1@nh`M#HIHMsbZ~5-GCf%>Q8ldHx_F4u)gTV%07%VrC7`Slra6I>sMHa|l zjKK`*OT!Gl=DsxJ{YZ@zD{qaJ2CEE=xSA&N@m?xk$XwMI=}ehANG>$+H3&6`WwPOX zLDVg4AvoU~nHVG*q(5$H$BDtvJ|by*qm2dy24&>_W}1F%azF;v1~oL`lbEb%`38S8 zg#P$*S7gw-{)>8BZ^0si7wZvEhX2YLt?$1cmOliK^jQ)LsI#N_MLn1(!Kg4!>?B<O z?fSXvmvY^k#PwzgqXJMOqxFAsw^uo9t+!h5wBCRH9Yc{JFR=cn4+M`MmHHx|^}E*Z zU0=BV!effM__ueup!Lb?A!!x%;2unnG~+(~3j>cQE$!_N3XKfRWPpqb!$g704|fNx zf4Ke`N8)}ZBu=TDw*D1Q#I^3G+#xI!W4|Naf6?NiX*j`fvEfp~wT7{f@2$Y_Tf;f5 z>RHObHB+h(Fj?MC8?Izf>!`N+rf#v&aEqarVPIo>&oe19lo>h^4mFA|DMfwwE|WOr zfh#ghF+4`5g_z17M*v|jG(2lqWeECzh8Mj+L+V$Ka$RsohL4TDecV!S=PMX%*lGBm z(MY2S9IoDIfsBMk{jnSh)+>m|O*R@z+dEz+^Ja(!b8l>OS2t+Tnz8yt_(tl3b{YL_ zwBAT;j*M0q>CvnK=xBh=h-ODZqo^A*9vY`CLj{&bzDBo=>W%(2da+^C20Ig16K|9K zo5pUMA{H5i8^szW86Bm&u$jX}o0~u@(A3Zj^4frI5JHUdjm{WdCV2Qyp4|E;$gSl5 zN^Yk1Cy2im2rQ9B#z=%leH;GRuwE+K(0{|24bwI(0(IJkAsarU@%v9i@8!>zhx%@+ ziTt-zMgAIA<Y<8D2iCYHmfpRB4U!EqnW9%{tLPQU0(&(!C^sD0khkHo@iJor<4wla zjbMtlM;k&m#E_QSJD?5wHYC%F*_*+laR3uA4+G<^^Jz;9XxuiO-f;d=ySrjyQfI?s z7sbS5ZS}UA8}4p+XFSw+tnu_`^_Je6_clD*@PcRt7HnuG9OMEr?e4WU*eNw1822ML z9<=q?D>eTy9!YNe(;-o6J~p0At{-=I)jyFbH5-h7Ah%%6fye-&Fv#2uVC+Gcz&Q+? zcrLNxKX8K1FC^iD*~THpF~$dsON`GOR~t8)Xqb#Q`QBuKiHV81i9H!T2|J~q5fX1< zeB^x+A5PB}n+9w^ZE{wO-2`OZxW@PaA>+>o8MkQ?BjZ-%R~!YG5DE^a5R-l;U%W@O zC$L1@kGB*?a725y12S1+@+&<`?m)Cn{xn%f5$#Z#X!kI5&xIq}t~Aj$uvPXVlkMP2 z1dQb_J7f}Q63x-CUx>i8S1vL+Y*J!!(d1gA7?~V5$p@DOto$EC|9sU3xdND5t2;6N z9w+E=3Kz^W=`eY{QMhsJ#>pFh+PHD!&W*tv6E>!AytMJg#`^@woW|>40%Y@zgWm^o z7!71=0PV)_H_juV{g;5&8bG`8w~cE#&{`1CPLQFEW*c4J1MPSgw7xvh4u4;|e#t?5 zmIK<DxiO!Hwi`fuW68#I6tqKVXoJbJ6{k9N=AiB3f;K+d)E_UejsI@!BFoDTs(QUi zKv$(?mRGD4Z5q637>4dTmAPES2vo_PVzfzj)4azxv`3+{tj%1ZlVTMqu-YWvJazNZ z&0d=$xBO(fz%;^izj(0tYw^$G4QAua=9wK357^|o$!nAUrm#)bn;JJg-}H8~Hao$0 z)0WE~8pxkpiZ<=ul(Z>x(-|^MC-?}cH(C_|^~R_mpx#&*q)j!O*!jPk4ASQu75sxx zL51!yPy~7lb2n>k9tH-H<~AD5BXbsl=pjFU=QA_3dHUubSf>4BK=KemGsaxB`H#(O zH*ehRM3aE0jP6QfJQjjBTWpqLA?P--VSdHWJ24)-c9a@pHwO^;WUNGM^MTDrHs@_F z-F$P)JdU53$#r23*M*$+R><U_;?AY-B;0&&%b+bIK=CTv{A6?2=C@Sk-2`3jCnsI4 zJ<p%i6Qrn_0E-D+@|+cde}F}P-E4=p=xq63_1y#HUGVm#btJ>2np;+FxoP@|={Kgj zV$l}EE#fWiTcX$z-eZBbSZx8&5R&3V@iQY~sJ3`*2_)-j4;iYF&Gw=#`?sWS$=!0E zOo9dcNzivybrSSlQ<(&P*CoO&_qMc~3O<w@DOTNr8Lgi0Gz!+U=}6Nt^o%s-D6ui6 ztukd(Zbr+5rb|s%nHq5e^CvejnRdu@v#E^hwt0iCx8_Y#CsThyk7k&9GSKXuLBM*G zuTxsv(hgv@MW$({g+!Z6wI62PnXc}32VWFpdcpLj>0Q%T%yZzB<0w5y8R0;@QLO1x z(^l%{S#D;7X&dKVRib3EkQ7y*gLX(fTs)dqQE89maPqHmB%UUo$8~ib*VQ~oMkxMW ztVc<22MO{%=7hvs#AWbEBDRB=d@M2bgYZ6qsd%S2NW4#+EY1+0<kUBxnImz8I0kEv z1eEqjK#u?bfexCx%EOgQC=`XuE@=Q$CTP4Ci?53xi`&h<WW0SP;(P7jND9WZaewh% z)P{cam<@rp^_umEqBN5aO>?Hpx&Z^tI0akL=%7#HjLasR>4F<mhl>J<8P|{oSCQFL zvsGsPW>Fka^qOsv**Y`37Epz|AhXS85=z4=I7(|+1;t%pu7)CRW;>||I`ioVItw^x zW_8xLvN4z=UlVX%l12)oW>+M}5>LrN$z>~JD|_imsiD+dmL@wPJ0&}BJ<R%Z@yBLO z=0nWCFrRC#XMVsu!~DGYP4jm1w-$3OK!i7IGuL=O(ftt>D+d^s8E(4hi3FMJn9rac z3wVh*bFnxwAC|BAV)I|g@+~6EcfM3)ZftID?r0uCR_`>G)eAc<n7f(#t9bwQr4X&P zTy-rUYVKxX@eP5IQums90Z)7hZUH8MTc@jV?1A|`b4V^tGqYoPO!C;ar#&r=u*U#+ zzD>7qf*s2&K2=Kq{Ch_`SfedQSxm-)3V4uGF4!e_q}Z!6GAx(7>n(*AD=bna0!mNm zubE@9$->OS!D5?5pv9hSh=<9Ufh?pJwh$qcV+jXY={dlxcecM|FR?itjPmR?1ZWV? zM9my3;=nmTGuNWT;;cobMU_R3#bb-EY%>VG$$>bXTnKH_%q8#Us#cw=R&_4F>fEk| zr|q@@n%R=iB%>rcl8KV<B#R`gvLT2k8zS2^vvVQLC!5rqty*)oTFu$~nzPM>5;KXF z#1Xq5e9cnLAsE{*lHyczB=M1i5?jv{OfMxdlD(K--XZjIq6LzqOLB-#Py1_FT9P8k zIU>u9XDXX03Dm5S{4IHBIn45vRe!75R*S7x)_1xnCrKoYluv`CUGkFgX^=4112I9y zvn&TPo$Q?@)v_FGxyW+4rJH4{<!v#t{MvH1>MCJo)~}4cuZEi8P*BfO-r|BR4K2+% zNA2FU?w61ihMJ3g|B~M(2$5l8S1kQ4WB5y?H?>*S8MgP33|Stvtftote5Sy%g5RFr zbf(s4WEr{B%Ls}-vg}YPdW0$3(%jVmAgw18dAkj=8f-O*^+~^L^(AkKh4pkphG2Fn z&S`r}t6i)*d$<KU-$ki;$4Z~fl{>hI5?NaD_^E7}$jaTS+Ul;=^M)R&$ja9$&FZ8T zq@J}3w%SYar>x7+cFcFOE<>YKAKDR>z@I9mKITxd6NfEsT0uq|HsUFyv)R#K6Vh@? z`%6EQj*)&RU7QW`JZ}b)4wilj!D@LHaF9;qsZRJjwF#fcpYVCu%*jkfAi}JZ$Zzri zQa7o$be}X=Hb^!ScKVK!fpAOsAqTMFNrR+O9kft0m5kwbt_Ocf(|A1y2X#h(W|8!Q z^osO`^tSXLX`8e!8v^c%a&Y)vE(F^Zk@gp<w!cWN{YCut7qzuR*brl0`c95y+A<3p zk!-STmTZAckG9`Zlz9MU^BK?q;c4K=1mPf5pgC=58%rFDC@U>}Zyf6|vD694Tx1b4 zB=eB@kaTg)Z`#40(?XewN3>COkLvCMi*nmjaD|a#r}XiNkwQ{94kn94S4dn%vTE5~ zS%a*P8-Lg4W-g3qCI`w|Stk#ap+M|NUUl@q`eW+jgSIL(VqbSOHQ4(KrdfY&J;Qpj zwE<^H1KQ3G?Z?i@dYSb~T6bv9D$g2mk~N*7vRHx4I><W7`keK1`|b8!@{#hH@>+SF z{GG!H2btqw#|@5RM|;N#$3CYooqhptU+YNgxE=`45wx;aj@4#D>vZdE>taHe16WM@ zHDFTU1gDt`tuI^Ou!f#sJI!^BM6K(r|Her4E`vk`TuS!!79#6j8%=vXdq>u6GC+cC z2HCHq)b`STHaa%n+5BMFZ9mLj$NpPzwdihQM8_Esjm@BJp)+*O2x&GSY-4O=ZBuP4 zv|Vm%X6s~o)b_q@lbz7+7rX0r0F)NIr4F`egI<5ekLDs97aK2|Fq;^7!rWW{`ZTV_ zR8aOx6uMe+q0N4qqc){@KLuS4n?n?{^bX`|FpY!b7k0s6-k%E@f**I27NtmpHnleO zHl4W5Oo{Jt4q%u}lw}>aW6`U}4M6|f*tZfak?jE6kquqlm>XnXTOvcY+O|KmK?gwJ zhit#Gok_kD#}t{<NxC*wifmWfuCISVZp;8?ffNTG2JkFyGc7P_0<=7AV{DUPML8i` zAKOq;at~ASJm5RXy)^KBX5f9;4%ueg-jE>M0^7<b&5r@wkVi*g{V*?o2XPb3={Id) zmtoF9e_-2Y3*0T%8R#PHNJd^h;Dqc3*v*#+?LM&^Z8sHy=a_eX?f}y|0E)Ss-v!D| zb~qPfeuz|&?yPCI#!hbMX%}agBSCgXc9O@~;fZPa-j+tDj-~C7n;W`cGgmVmke!bm zBt(Zn7eHs&PRw>ecKhwp+8;k-N>1;2LSFj871<Tqoh6;r1>cAl+~_WJLw2|A9%27R z=GAZ8u??A;g45nKfC^c+pB=J$W8V*)4O>VH!vSjKJQ#zGT*P$sun!{Lko^q%A93B} zaVS(y&ciTcOj4?O3)<~B+gmb5obNd~zJbkNQY8`E``Aa@AHZH+Jg3?_T;bV0ZB`=t z4Et*P`}Po+XrE<YN_~x`lCHRCER`Ig`p}9{$zN4U^|M0uujK;Tn%Uxt<XZ9}gpUs( ze0)DCl55K+vlh%{oCWietiOD@e6`$IE|z=9gXMeWM_8#LkZb!qT7K&fl7d_+cO+j3 zBwy&SW^i4iYRMa<w(-JzPVX--lAo7@<)4vM%IFU*;q?Ax)(VZ8Hc0-D{3XlK9Fl`) zGs^`yF>%l4w#Y%#VIVkep!+?q3DrDiha5&ZY!(Y0#yiY)(4#U<YfN?cmh0T(rw!l> z*wNA1{))1lu)%a|RRX_%<VeK|drb#d2QP;}hZu(@SR6q9LG085#;>^>yo9xR8%Ef; zAcuVpe@l=<lEW>)dA2^|raByVD0L_|Lk_tP#h?{{7~Jt=UEsj+6FpG=vcom71C7_g z2bh3pE#0^&&4j<x+$wbFaCq&A9`yk719kabX4+1y>uPNV1WSj{$c2udIgWLl!u3?2 zG0uIDx2h;|oaMN}QJ>4~c-iqM#uOBZ@v^-F$(ZXC^qQM+2m~iKy^xc$$kE*~)iKwx zm@-f~Djh>Pn*B3Jrc)gE@<vMv`Y6ul=nXA`BPmO7TV0T2l_TYwg!2wL-f?`y)tW$R zRp|alZAhds#qkBhrcHB2P9movoVA44@jtl<=k$%!EGI7iQ7Jv)e&i-xDYNm0lfKhN z4s@>XZ@l4V9W1bR3UI1)y5THz9_H-pe98H$^F8NBVv$pn(|)JJPRBXU(2<?u`{^%^ zhPC9B=X9E^rTt_rjplkV)LiIP=k(ACVz4ng(1F<jrzWRX%nsBMnQC@tJNOAap-fXK z0SrT+{pey;OK6Kk=se1KlCu@p6Qc$@k@Ixt1<t=Y8xgVkTfWTFcR)=km#8YpCrOdB zo%2@m?jHWTy&>>0*ttY3bl&B>-<gZ4OrU%H74+IU!#S7qI)U{1D}JWR?aj^#T@jBr zqoN7GpCFZE8FOrQ32a<OY_;FIZEL~Sb8e&EzHyJ+X1vX6n{r!@$3l-a9$P%NdL(&d zh(B`q-et9m#Kp&@$91slx30@wPq?1mI&Z6i8FHEJ@{9WBB*_F9#hN1*0~Zs_#A#1w znYaa@OL4Jv+4-I>B_5NE5tad(f4RiE9B|2TDRa5xQs)A*omO4^OvKY4T#hivsrLsy z?E3Bzob{L50Q{vo0QdQkj;jEoE^l2m2}ENFL`O)G>u^_X7VEE6vD=rEm88@?>N=md zKDRm`*OjiO9pFEB%5{xO_+`iIhV~wNp{uQ{hwJ{<X7Gt6L<t;GTotYnO>nQHiQM$X zSLDLI3;bE0cJOa)>ja|_i_|`L)^xq(+Ot)(^`otmo0=gRL{GOIx!!jDhX8O1u<D>l z0S^@{POx_|Z%R6&(Cxue5p3t>3nq@O!?unl#q@X<)m0ej@Q8FGB!mDk0Rd=f$7ZNb zK6P<myd~a?mr3B(>0oowR-dhVw;tS@0bdQ;8qEf01yKtZwx`2eVJbA{(oEEZdwjdW zT+Ul+rbM*$%GRfD0=JK(XzR_bkOh>8mcHyj>XY6ob+fmEpve-#Z6F|$;&QC<<iX_y zxR^Gyfp+Z)<SWsbC)IMB=T_ua?)JcamV2mJ(`}jCpKcr6Ox?JUC*Ed`%jw1Y8B8@d zD>pX&JC01X&!i$ZAGc7qeQp^9-ruRr?89mkI!$##r*nzOpMuKXt;+2t{lyI&x!C|y z=NWwGnfqY(uiPg=spsx$@jvb=tkFnS2FjYu#FZ+g2FgY5i{0h!+uV0T?d~hw*SMRw zOGuz60%?}AQfh)n27M-cNgj$?dzgDBI813TY*Pi<I+ze9E!MUWB@?+PxgT{eckkf{ z*(z=fkGmK0#?Y-(E_APUzwh1xUFT_!N3=FHfcGw|w)u=O1H)la+GuVQZTouLoNYgD zTO~%@25$R8weR*ST^_9Z(3AjXx=JYlc*k~;M=HC-ZL~$(?6$dc3X<8REqm;Q+k&?3 z-gZzWs^~DsIIW~ga#2MG<(k{hY`eRy&tss+NGaM@z6~<_F^PTFwvuYgo<XPn+4hu) zzSSV<Z*sTs<$n(lrpX)H9pEI$qHLuT^3e8}(Etv0fCV5d{RxHEY!x%S+S{7DC`G}~ zVEFL(*<%G|_&7}J$>`#xBbK`$4~d68d3KG-p>V(zdF=4ug^91`#`c6q3~y}RUyyeT zUy`#kwz~wj9`|>=^c?QF-gC#!;XA+DIc?|iorXKBcfRoQ^z!pM>~+Gcz^g~x&!ffT zg~xx}MccpHK5Yk=Xd#C-yDp$t%nVqg+XrnQPRKzHS)((aQM2=PeLFpmm)i~8{__s4 z9iQ)5v}5It%{%OOc<+eYaa@eHuh`z#(qJjtZm`{ad+GM;Dhv57)^$P|yX|pUi6lYW z-M0Iwlz644@a%g@@n>jz()LW1f^XCdzE;1{+sY*c+Wyb>R+ZO5PE^S<&<D$f%Ehz{ zw!2aai+2nr=C$|+3vbQ)J9Ku;A{2Pxj;VwKFC;YgzDn(XHvvgdv1`0l&+7EgzYPuG zOwZ5s^!5_KSpB^!$aVyKtf@8kzfQ=fup@8BS$;l+hYfaU$Hg6gy;sS9fodPR()pB# zwG-RTggf4OiaZBm<@~;e7O-sDvWlgT%tfBso)bO4^ISnQk&6i}T8Ozx&pDnyU~cj+ zikl?S7>oGiX(5$jdWom0r;Hf3>20%=+H*afnN*Y7pmOl^^~~5gq|pU=hIqyUB5dKs ziF^s(GcaYrdPA+YkzLNdf`y(1p4FapJNq$aJ`2yY?VUiTun|x(?jDc*8!bnk|9HN2 zLY@tt*rdl=`kdI}*b9>}_A#4v^jY9|273s?q=NcGvEL$5Xu2zqoeb@qxpQ8p7*b&J zlY`sB4qBIXuH>-?8*F`Fl<hR%xqYYq&ImEuDck8lueF(+(2&bv!yj6hyd|?<v_qI} zv$=3*!p^jvnXCZ7JQlMu3EEk*vyy%Mn6BL1PPnsn=cApp<(u}HMm8KO{exhT>vAnG zk=IbK1zyX&R(iQUZo*nMifDcN6vy`qy+(VD^O{Y?rhVN8E((HUUf-~0;_*XqxY}f# zb%B0qBG%Mucu^rj$jiVB@`-qvcv*q!2$K0g*pQ;{Pi(850q$Ek1g>w@8{n70Kk723 z9>AifISakQykfleQ-Kv4OKE;=>@ZfqYlC!KRCGlYlh$eyfs<E-*EKIL|5+#vh>tip zc|GxJW8w6Oer)!N0OFQiqyR)|??~?>-sRp8d_VP_?6<|w(=XHi3;*x^fAiN5unh<l zf23HX_*D_02v?*j?s(7i{=-|}dyBV?H<#Ti(;O*QDU`su`3g=bOca(1TLmv8>~v}d zi-;+^nm11=OsxGQ-LUTf6DwjB2M8w4B$)U+DN-C)RM&UZgEyt3Kv70e5Y~;do*jo+ zLby|=sd%iMth7@4d4CP@Bj88yQY=(-DnC(<geWAWc%#(BZ&Ks;DwZ;C(&sVskgn|M z0L2<tB)Y*ysGP3UQySvemGhO$xM!if*F)&ne^Yxs7`PlrK<9##&Pr_iW<Kmom!9q- zRE8;!D4Xh=pEbE6<!<Fcu1pYJ=GP{<P?@8=p}b2q;FOX|Q$;;{6~SvjI9+^&S_8s5 zWkTh1@1fqGQ?I}F7I9zL#d|%9e*Jf~*CSs;*e_!m`Gup^e|s<C(dr1mij$VMb-m^y zM1Or=-$;h)OedH#mO3Nvt=@s4Jfb-&^6&&BgZP*s?>O%y78my;GquJXd7tnuV1$AD z{19x&SnPtluXxuIlPCnKK`#~BKTG;~xBA%nxcT_|B>I&5T$dp4E}t!SBJclvw0ws9 zfGaFb|CXx|GDr-;r%(_oEkQn0edh7W&J&!*$7hMpYL%jIZ>SR3x4-fE&s7{Rt89M5 zw?6LVKw9q;%>(H!J8#XuebRi22^n7OLoDdMiwW%h=E*QFAc%>DK7aW<@zo^HQ=c_7 z_OytRPrJ`6a_=x6{tsTHN|EnKUv0|U$C2g8cgeJT=lGiVKJjh$>+ko|6AR?K$aj59 z1IS@a+adQ9D^*D#=3h|I&||0REAtKYjrTp|dq<3X<-R*r`DiB<_W4uQhZcmB{>cIP zX82x)3bK69wDEat2cGg*#Fvxp`K9C>+`TwJ|Kkgc8QbE>Hdo{~#BZUq@3>F>M)^(h z``&LhM|*XsmVqlg?Ob%HgGyvD4740NGdg9+?>E2okN5`S-^r|9VT=4Eel8#)w=_H@ z20I7xG|o=w=jRvgcR+>rPvHpGDyk&M`zOjZ{Z9GS__g}I^cP5xUzy)!7Ug-fy#HCQ zlaKuP!@|kfw?X+#(Yvw019Z{tQO->BAHwD}NC)QLU&kNzfCd7UPFj4_8TrrlUra7@ zSqjxoIwyAx6Xg5L{hj?i{bT(T{qz0H{OkNX{NDtO3@{2XgXsEv*68m2Sc?38{li&~ z#D?}lvTh_F2(?1~ss6|4t#wMs-7s!I6<l8*`d9M?G|CqF|Ks08UWui%Q3&p^P>OG> zm!bd^Fo>*z6#kM(aYg~!0jq%%34k3P0)DP<fk+>Ta*}nx3>>#T$)*uF2AmvTG06^V zXCbl$pUcVja#*?LBrCU+Y()W10bZ>QPgw{Qk@5v@C?Gr_p8u?rJUeY4C$JBw2{aCL z3d{?v4(b>5Nzl3=uaM-B+>k3F&q6gre+i!zzA)S%d{e}th+iZ0#r*>s1KtE`1ojUc z8~APD@<4qv6wnd?$rR}1`01cm8P|`NftJyfcQR1kz#)Mn3FS>Elo#|$M7p%*V0}4| zumAD`DH8NUkfBncv4XT(X@&w#1Fcz1K8TKb5hR(50(S)Z1cnBt(cJZKguDI)bJu|} zft3Ht0~PLiC7-+g1>^g`lE4ar@0T<9{#S`Gur}~v;A^hUY}PcTZgn8U1hES~@FnnK z&*=pJkO7&UaUoVH=<}czVqwsjpeaGH<2D1cy)>M@05}EB4O&9rw3oo?3s~a}a|X7f zAmbnl7H-jiOHq(*5ct?Z+&OaMan#N-QBY9ujNnDVZVf&5{et3y&IJ7()DqMa{8{jL zF$zi!%2Gv&autj@<gp9|RRrCD1T+L$&hCT^n#{!vG1e}!%EdXP%q&>jL2rWxs^C&7 z50`52(We!JA~*DOlb0<y;M&-r;Gcs{SQ}GS@M<1}A*o{%WKs#11UqoN#$FojtZI{l z3FZgK1t$g{3BC|~HTY==3Yie18}dWQ#t@4TIU&q47XDy3g`P>26Qsd;?|Z55qDMy# zqZ3>k{5KgL2;HXld60vOEVwQBHRq)+BVOuLWGJM62yCRS7PU8-^->Swv8!KjF6r|f zP{>aq5Ce)a<PLC24_O^zK)Iwx(k|(*8JBc-Rs*lI%>{+HhQwo+^bpSwe}=3~aDu8r zL!#-b{27<@eH4P;0J7DUkTjlbWy~$Zu8=Ywz!Pjy$jy+4kRS!yra><YTZw^Pg81aD zutOowL*8=K<xjFy_t~S+L7|Jp!q8!%UxiL!VV*)mbv!^dbZY1<0@V}()$whNTsB3n z6}m2TOQ?Hja+qT{4`tYMZM_<5%WG?py)aY}8X3A5jKB5IK$0TZ0fZ*1-@};2^hLXU zztEh};?PT>&q8~{CWLJvbK@5krmgX5Q%@Ttt_ZCO1r0FG)}7*)=uK2(>z-m|gbamg zh7DI`;%=%jaVvrU3!56I!v8f<uPzBw<Ns>aUj6gEG>%~|{lb)Cp<zeDu7uqUYYEqS zjJ<!FA%V-dkKi-A!hrS1wo&D{0bvP{U~Jp~;EW-%18)+HrF`W$d02iMcus_!4y$0K zcSo9RZUap}&R~d(o8eo^arR;LZD8u9t8j2YVVz-b0Xkp;g)%_fA2&R~nSvEvuEOvk z;h%+%c|-+B`a-mD!xMO*#F-ax$fO_S2O)ZLDrXeT`6JFKd}%nXp9J$kHem*IylBx| z@Z8l`csg7b?h;-RF_J?Ywl*l-BYYQ&Hm-#8^S=f_>|A(!cxw1Db{>|{^Kc=|!|>ej z5;6}<$UIzVhr+AETOUDNfeL#I#)sF1^WBt$j4SgNSft_I5yK(R1e8PJ?;`pER2ys* zLKhHC8?Yh;U%1L40Xt+%eHft=!Ro)3M6mj=C4^&m$P)Q{mdF>s77HVcBP=3p*ybOg zo39Pck8q0EPMUv!G+$dDEs#fKMwCZ>8d(x0iW(O6L)6Krs;K8tZ+B(J^pE*1Mi#R> zc4X|Yv1`RBA}^wtqTGTmqJEfWCW^Qk@hVayauBs+xHoc*xEI007?2ANG(8Xw%jtI^ z;UCQlM6(2X6zxy7+FTg<Wu$pzju=JiL~f!Y=Od>^&WKz@cjFUIgA>K686sCkuA!f= z;GSQiEIBtZS&y`dbihipziAV!pP)O^Co&{5F7iNR2IC~c+t{WKtp4EJrF{!4peUuO zLc5lUfWO1)s25v^A}b>wL_Usu1N&Y^R!4#Wh%JvA`t<AQV=B~Q7~?vt6ugM!ZKVB_ zbwsI_C^gnb4I~84*h&~RD(agk2q|s=2hP8u=;RrbX@`+cHvBzWDvDYjr59x!mCmgV zKbGqME=N(OQPynxui?!vlcTmpDWgK8Vxp3mUjM~evK}+Ne!%PXKTNOdd7EEC2VocT zl&BI_kC7oZDC$NO>^%gE2At_WBkBPU;kq&&ABHWgTlG;ptz83mP1-eWm;bJ)U9cM` z441dYs$HM$(q<aBmT8ebJ+ycSb3fswU5j@8wCj&u#=ERxFU;HAoDyRfh&B?L?54Jx z`F0ny%VC$7>Tc$qK#gEG^Q+vPfz1q|8A@U4u6V|i;tEHxR<}u_1k-ob?)rOIQ?yp} znCQvT)1!Znwv7&t-WPp5x-hyf`f>ELXt4d$1VGHL!KZ|MFx>?~2w3RhCkqI+K+zvX ze@aakD~RZC13l~$(5UK6pkfOlW4TEqY+DGryBGIi6-UpD{)w#Or(_jdf!rOvHhOck zImcv(TPziV(}dF)D?`yv(Z26-8agbeq2zHIpS&Lr*Ud2>(;ZOsndl0dV{iey7JVi9 zCdGUN(#*$mtWd#PVL=JQhB&Znh@c3P?nVC>gK)T;esd>8KChJvV}{1eh*@fdVm^zR zOig`_XE9^Qwn(k456dt$zonIUCwa8aK^UVKV;BROATc|X0r^B3N1H|}U~c?GCln)( z3AI2mt}%*6$_fCAQ9(v)eHWzM#Y$4asqQA65+9SVG0vJXDKY0`YGO5F2g5F?E-2<$ zOfEeOKP6a)2?hV1&O7}o<_fd?-%-9bF%M#zIGVG9V?>U`K*C2>4zQsN+vH6`!d`T^ zpjho#o;!>e_MPz-^u*4JUC6ACRm2ZSp}o3?vuuyuiefj!X26)ln#LZ)UGvdd9BUWr z8yjzqVx42XczWUAv0hly0>uW$?qZa~D;~AH#JS-6{-A$Wc0Fzf>%8CuyB%3<QSA9x z&i|{52Fprr4OKZr2^?a3_iW$ezb9f({64*X#_?<ROZJ!UuS?jNU~vE)Sa`tbfSGu3 z+!t~4<9?3&Jx)JP85bJ2FD^B%ChpPhwml>E$i*mbOx)Dg4n{kmn5n?NkgU0ID!a5Y zXcevj-HdOnP@G|$OoHMz#aYn#=KsM-`TurBaq>8KvTQQQviXJ^Bgf{~^=)nKjLGtQ zGGYqd8@4F!Xk0m9Ht@ElTuB+ELuVE9ZGYVKjAy$nQ;}=DoP=@z#=YD97&_DuhxbB- z4J!mEX%=WAFygzlcDrE7EKo3c_gA~W-93HxoZUa|UbWj|w~S7e&R~=O7UPV)t=QuX z29-&fsuRXrvi+UW?zOv(@$^&lZ6I?=#}nuDea84iz?0dSKZnmv*&Vt&es|LD)ZJOT zOLpJdeOL8!KjP25!k>G|eJ-5$xdHIGbGt9mpEG7Zw-bNv1^2l*cwdz#&5giIB4^?5 z7kf1JeBAJy@GxbtzW_Pki*W{Ua^OxY_17%e^YxzDdlu~ZdC!_XX4BE0X?vzact8P! z2NdLp;Xm?LfvS&v0gZUrNS*?|k9`4nppy5Jxh11T1fhR`8WO4AP!gp1WKZ^<l0Db= z+~3o&cl}=R-mUvqaP;O!q7+@W=K@n{@3IE4kuu$&J%y-3?B*puOEver-8*dWsJ&D6 z{t7Ywdxd)k(zIeHVQ)Q{sFo)x(u1K4?fri5ViifD*NCV_JXD-BdN*)$_uhxXFw>kg z_j>OQ-&?qE`o6`y6zqTEBt1TYiF@Ps9@?8lsF*cx%rzNS)*6~~X5W~03xC0Pd#~-i zx3^*M^Sy8P_2)Q|AgBxMPe8K-{Ae*TJC|NO<<&db8SNXqZv;J;){wdMqNxi~^fa_J zW6t;)WyD$9(E$E1I7>R%z)}HY_uw5|6gs+H4Y2*KP8zF736=`?neB^-|4J;}XT8s5 z-*y&ZFj*d^0wvw&y)T5Igrfu{OqKZwEB77TcX;31cu_oTO(v`buPCW#U+%u!`x^Fv zkhiaB-$iQ5u$m4J6}`xpst;`mYqv_J)JKfVraOq7jI_Bx#d)h%E{vZT|4sZd?5mR6 zAw}`i;}?*Kdu`yzXi;@^SAA<o6LAvIf!3GBo9>^r|Hu8m?>B;dI<(>);-lkp<FCa( z*#C(b#cz%GQ*EEKO0$N6QYU_2{9&F_XDeT+0~vkdi{dXdgA>a$(lO%CyHuqnO;F=F zqxi=C2wrK4f1~n>3&RjDQ&sP{x}g1^?}zl0pz>igM{X(_AZHF`yKob|Mg?@YUqTQ9 zSy4WqF838o-S51A=l+2G>6~7D472XX#oD3$Vf$ks&mM$dXUoz4eftkUEbnbL(qxb` z+Ml^UpPrv)WPa*+z<U+@uX7xt9$EZ%<(m5&_ID)AOjw-o8`oe@dXE4|{oUX$N)ROs zO&Fap1#kVr1jLQOsw(DuG^IyjF0^|(n6t0AK0oLncH>bbr?FD^(*y&`n^;!|4+bzp zN1cQTwh8_Ti4v6Hl;FY0+#X#xq?Tfi#%ec%iXkC9A%+T5E@CasI<w`Xgd+)A38xY+ zJn4ZfALE8VfHcHuKuC}#cD!qNf_Z&~?pp_xP@T{TmE20W*U|#^>G2~wyIfJiql9K! zr1vJ0yiYr9cmy2wxVZ`cVO9(B{~YLlV5ZDlc=5o{1EV<f>InIoK9t1MpMW^a6&+Z5 zfM?Zm;~;Z~6^-*)(fE{Opuq8fA~8F$B(Wm#O5)wbz9cQN=s@s+<OB7INfzip<bgPf z2RCYEX;QkS=)lnfc?ZrNxJmHgQa)ntyRD|yxub%L`|bj}>Kv$9c;HpyM~Po1j!B%5 zI4yBuV)S%jq99R}*dM|>3xS#yn!_;zC4QRt8Q%L1qR9&Jrf!Ac8LwGLC|02=r7Ltq ziAxiGfi1BYC9Y01O0-IJ`@f2+5ye72Q7lvqeN}zd+17v~KUjDqa#ZsZX7x;X2m&K) zsgcCP=lboC{^e<6ePRzGlD{Uh`+xjOTKSZjp~qZBNkfxHC%GnFp`viHtwS+M_Nb>D zf^LhGrYFrw`XOma(uyRbBxyFp+ZN}*MtQ}#zz!6Xs)|)%Q>@nEVt$8<aja3hy`SL6 zq`;)aq^zXEq;jCeNfAllA%*vb8$&S1X3Rk<1*J*pG~Ihy%IIiz^7=Z4dG;f;T9kA* zc}()mWIeFb_zA`(H6^tty+}sMpHrJ5>1b0bc%9L_w-L_WDpBfcC$rhC6}n$hESf^+ zD_mZwGctKHw<bq9q2&3=Ka*TjI-@W*r_}i(`48|nUqOesCmSb==`Vf>xih~`w&H!T zpHq~;DS7X~goEh^@1zVoH0sdIL%R;=9j-gvkTxo9d|E}?^|Y>ZL-C;G?BtT<%H-;U zgAZySoO^KTL6d_{2X}L5bq7mPvuM4CfrTjfPV$4~X9wv-fVx;0s2ulYawFy<8*s{6 z*4CGq+{@bfPLLISyiuamEIl}a3~DKm=z|jven&`j79r8P97YWyi(aYQe2}mI-%aV% zz-W$Tx)!#r&+X7b_k$75Po9AFSp8uKj(P!c(xSUrt{69mo9myMiw@=-EIN4Z;APrs zw1HTS3>lYzdcKLs&;lKNaPTP`;r9txj1IOPd`WoA4V1-5scn*?LA<dxNwiW%rYuj9 zrX;2mrqo%Y6z!C$z&}9*9~HQ!^FvF+D?q6!vr`t*DAk{!)PScrGnNxd(MvJF{8pwj zN-;?hQ(3v2K${O)x$jAZDGn(CDX}omQ`}N^((`;endb@>l$OaVkwQ7(wxk^6iLLv( zq~4lMDQ8pY{e4*emQBdqv{jf=pVD?{FjjRup|wck7B!1eN>5538Q<NlJs=OUn;B}t zkYWEPuysOg&CteXcmkM3iFO|1=0Eb1qC@i!>50*y9}lfyhxGw1{%w-`2+tleKIC@D z55MSnNK6}sm1z4RTUG&q@>Q6H=b*I4IxmX){Vmfvl$3fU_03_;!`g>|3$h(>=;Wcg zLrsTXq)tekks6p9n_37TFF91D%0)S<@IEwhWcfpL6-(F>8+7Px>S)Xl*`QRd)FFhA zTEI7a$rui4zKY-e4-UfA1*yiVGBHYBlKQ8LtZB=$p$Szz`+o$6$^oT1rEVwRTFC#F z4gX@13rdYo%~0jR7OU`J*3fit=~wBM9pE99T9bMoI}(Dk!Wg)ElnP$GJTJm8$mU4n zO1UK*%+0cY4}Z#=Wqa(=;R%QLSoxrPhrc^K|L~6->o$>+1_nZ5OLX|R!&@<;^g*SE z4Gx<gw&8FTwa{n>#?h=mf^Jdh)f=5T?0q<lt8+eA;wF|~A+Va#Nuyy9@x}RZ>)WEk zrw&(emaQ$6e}$D2?Kpg$_#t@kFzy<;@NnzlS81PcT@K^A+?uAz>vDW2xUEwbsPPPO zJnke+o0_&d%}y*#o0+yKZ5cb~@6&UBI_Gh}u|bN`)~B&Hswn=t?uAUVly{>j%`+_^ zEj(>6Thl|jCR0v_^N?t{?1gDZ(sI*Iv1QBYvdg%#<?O<G@!SQa-A;pyu#^L5B;{|d zMBCDu*di#;Rh0H$djIsX>3SSILO6IlOCQ052khLD{&o8A4HA_8UHU>C=)pDwTU$8a zLQp$O6)zspu$w@7nr@ZunC_nL!@d+kw|)@U`Vg+C>Cx#4>4(^|=jpOPb7jvvM+=<O z>oSTnDvvHZYLhuVb759hu0gI(?t#2bc}e+a^Q%t!oxED$Uf?Yrklvd9^2kR=)*Z1s z;(jFRNcNFBw&p@iFqIl6M+7{DgTzAf$jBpOk9>V(_L1d;*_=%=r1SXW*mp{e<t$cZ zIZJ?Q9x*v$L8xXSp_;t>K?WSW^N;xP;JqC(Si?V%t0BDrL}b3K@50vrc#35F_olVs z8KD09BPB=Jt=)b)!s<VMBB&j<Ak{q5n4z07FT*;+3C=r@yvaZrV>6~O(|ZQ9U(8Ps zzzMmoGCs=q9KOgX-<I_dG56<IdPHZ^Kf26YOJu@~B^gE;<}#G=ONKs{ny3P={ONLd z+cf5mAAM&Q<3zvIRhZ$CaV#TOBFym4*p~rmq%#6DqPg;cbosg5odEjI9QtP-BdgEn zxPvduH8XBzJk97hI`-&X%pWK<#2MJKLg>8};TE<uy%hVP4H<8b_B;9|C+pO`Zz21O zW~z;`_3G%9qu*ic)gux>xQWMXAV}Tpf{y-i)PQ^q%nsmxsMIz;x`o#UnPk9GucHx1 zbB=Z$Gd|{eEd1C%$KKRKJ|5tWh?Dn1_*U%Eqd3pI&dj3;U;*K>Dqf~!ML}AFz3Axa zqm@T%jzU-l%}2~snVvan(=%6fdgf6HZ%!WTcWlJ5FOQ8sHsjdRW2>g4V;>*;1SFo5 zkfi5i4oE{M$xJ$_%GsY(<Lpmz`omp(CjX=q9Wy<~BL$u;S7X9W{^Dcayve^4?D5B9 zkCi=!s500c=Z9k{$BrE<B)uHPL+PU!J=nSz?ad%iW4uILz4jlw#j7x}%>^B6Jl4VL z1jn%o?D3GkI9xFI_~_#kkAHuB)$w)5Hy?L9zUz42@v`Gp$6JnfAAd(aY{lY@R$Amz zPOv<_;C(YvB#p1^*o2gu0TUdT9JeQ!pp{?(JMc$2zVmnxXDYHHR-&(E==h%F8Shz% zCb25#03IAZ=S)I#9nkR`$M4cQ2M=IJkN<PLfiek&(<Y&pj3H<%OAB<|Tu`QF=2YyD zlKF8az5Nr+bMO?%9Gy9yuF9A3N7+MBMMH2KrILdv1jnWQGXFR+<HVv9E3<}Yjm@eM zYh@Z|N;2h{9w!Ez7{@UIZY=yxa!c+v3zVtIeE38x$_&Yj$;{0>OTeuUN%>%d>&ye0 z;2}m$@V8<v6!GomMvTG86WAT43*r_tt1@fIEi+!>EwCxouFRIquFT#OB3Li5wN!Kq z7T6RMqwuomu~SUkg`-gCz)+nSdg2Q*R42($&1nHgu@*pkj9NIFLpvkDvz+VD3W?~1 z!HKvNNhh*liJmY$Av@uAB7k&imdX-6skTH5RF`NWn@RTZ^9Ea`PR5CJ=JPrkFU0<u zStrh&xN+j26HO;xX7!tnPFy@uoedIs7CvU66L(Jh1xawSKy{HtTAii3h_lodaTb5& zX7PJfEJImeXUza9sU4J6<_ck}y^m&d*21iaEJ$sbwKU5YHn{^~q<2NupIL^?=XzH- zqpVF?ju6)axKY{rZI+Zg`IfmgEo(cuH4P{O1KhLZ1a<(<I*^q^D)=UgjsJ!H3#mG% zW|fc%rc&w;Z(0AW2iXI%hi6aAUYWf%+cam;(^d%DKcCf{)tc1<YUFcx3~b@Ir3d!) zXi$+sIyqj*kV8)e*<*RwWJgPnBg&qg&3ay+#x#mF`84Daz)JCj&_4F&xprr*Y<c#s z?40bY+4r;Gicz*}wy&z-;-VtB3<vdZ_TKDNp89tuU;S%ogR%>=D^+y49*m^2ybYub zk`80~b_bOGC>wHbaTzkS;5i##?5V2x-QgZ4n3FRlXGYG#9OE2ujz>;xPC?H3oU1wQ zIWKb&naGyxVrH_3C?`mAetjPqM$pL67S>gcG>6T9(L&ahEug?0WlkuE0xby&oFqdz z@j0;XteQ*SL>2}5^HAVt915J{fO2Yb{-W{LHb8+nk6;Qx#+M0UGzxsdpg>m+1#Wdg zx&3ojV-%P>G<ShH%Ka=CBEZ4dP%%N?1Nn8@9=`^^DzX<0+xyoJD0fNjuk^Qk7#z8q z!jbE3QLag@9OsS~e4lI1YwHkj%2R51<+}0sf_OWW8<ZQ(CZSlsX|vbLwQ`T;{+-*L zhw{G9TVRQDb8^dIi?klre0LsNUzvN2Mah^Y=TOog+@#*bP3qIRFL;yMtEKr#k2A{q zDDNw*QKt4as((#Mck`$mB>X#bK?-A7#3|0gyrp@6<gEj)k!H*$GaTL^B0+uAAr|IY z=6U4pdkk7Iojf~0EYFyEB+!9fWhR;CDXG+SdBJ(RnACKpjGEno(w%2wL?s!NSCV%j zuQsnO?_K^E`IGZk<XhzL&p*oXO+T2Uyz0Cg=8Bo+c8Zw^M6U#{BwgU04LgrP&O=+p z#3P_xV$yBVHxAjLe9im;R*IPscFLIt@`pUG?`Xz*1kSu_i}J_hkGEIMywMJiZ`z6S zXXMYx{~`ZJxC)1q<}+*IOZzF!8R&dwCWBg?c3)^w|LS2JOyh*|?eqO8o)(xJa5kfi z3v?^esB`e{!1r+x`gS^F!^H_3q4B90Fb%L_ViV?lT9}OzQ#y(A?k{JQf8*qKu_*tq z{D%CNd<Y_Ce7p+ir8t+9qYB!r`kx$la^%TLCug1f`K12IEhlXuGZE)Tyh25@;D^!5 zQ=+&~JX1kFGgOd{L?vIr&wRDUFRJ)v9<k!Q0QZiQAtw(~!E#ngLCQ&f`Z!?cpGnZk zqbEz$r{|parsr(eekcDv*;g>UU`)Yp1#1e{V?~|!IPa6qC%f@Z9Wa@|;t>qkl0Ne{ zM+KsSj~Hji?T|&h9&9XwxK*>k1{F*!SOhA5n!7A2n9f@|o<K$z4tz~3*cotU=y9Jw z7{EeWGw40er@*|xp8IkL`{e-EK63wcd(X@I1}+uh4wp!QOF=<lSz&FFMNw#RN$D?T zQDq5bN6ub8`}o}abFJr7&%YB7ET}HHQ_xb-Rrpb%aiLA2Z{e=OICjJj!S+A}e-}V_ z&P!<0A(&IpFUFmB0$}8VH-$pN=^P>$d4g0__*vnY!fAyoNw?;za4qL#sBmWCQWYC` z-+5vK-=fOHls7{lSP!pXo*V`$Ep+FBQPKUfp#gT?re&EWt_orKR&ULJ3l9_)VB>|e zviJAGbl3vv_rgp<@qZ^o_g^zqSXo$w!+5P&PsV}fT7{1b|1Er8_@-!Kks+-xmeBi3 zq!UTdys1GdD$*(%QuI~PH1ctOet&znt8!_*J5+ku3j&QfDq2>w0+WizD)9=AJo!+= z+yWI@7r8KQhzf1k5fv3}FY+bgq75Z3Dzxn+1B#N0juw@kx^(JM@wj41v32nQ4w*0g zz{VNCf)`yYx?9wEYVfIVPZ^vlARYOJ-;usJaK)FQqV}Rbm9cw!P|aQWBN;k1{M2}r zLVdf*09(=y)2HT~0zLyfl`tQBo2*vNAUkx*<di2)9osENrz}sg{`^x^niV5Kr+iLD z^5g3EV87~9drqaPe&LYX7Y4uQSIurTuhgwPb(=T4d~DIFrc=EQ9Zl`9f#2A%r@9zI zGZ@s{VpJ?D9tLJqh>IsvD(N|7MuR;(7?$*iy{P!x;@QQ&6>lQ;HW@fttFb0i98mF} z#RfDt;K^_UQ4F`S4R&onX)ZpRcZ*$$1B;`GNp4=T7n#uW$mi}t@+#KDHUCAk6DmGj ze1bfU=QEt~Qmx|4C1xe}Pn(_*mM#=)7T+#@Sp2j^Q1TUv2vTX(KM~e^aa%FF|6eLu z^Al}RiB`!FGHrBK#^)IJ#fR{G7h%b_B`ZtT;Ly>MStUPGR19-EulCTCi#p#;a{+&- zg^tEageBG`86{_>q7s)9&ytXmc=ENWDqq{Dy4w067>YkL_Jei1B)jBP17u6+2G?|9 zBX)}$H>(?R*cX;uF1ZQ}{tXqD{)P;dJUTrO92wx#?WaFIJ@)iBVpP&|TBOQ<Z&TsF z)$)MY5UTfwN~uAhod%Ba^wQHS$*iz-K&SOjLw+c1^H(raAV#ir+WxfHY2VYkPVYW_ z1@b9kuN&YLXkdMUJxh*vQ0^zptxv)JCFtvx3Qs4UE<Alsj7}du4H6k13h>taocSFJ ztQvi1B<qLr8Rd$DPTxMwlS;iI(G|2D_7ZeLr#nu+Ca|}~B#PQo5sVg+NWsiAQ_jpd zv+#`Z8SxpLGrngM&zwC|edghrXQdyNjw}79bT)a>oSj>cf{_l%F+1}C{+|g&m$Ax_ zjW7q#IGthr-<!!Cl)*AQ6LKbw<qfsWi6k&yhR&p(0scj8xs78b0UsWBJ?wp#*%zE} z0NEDLJU{b_9-pnikezu~s!0h4!89N!MhaY}oRxwzrC&6(QoF6Z_?ub8POQiv$fY5_ zmW_^$k@YKGUn(xGDVtNaw9L88m*XJBHmKC9)QjaH&Xzj!kdv~Z$3;{cQkq$My0lV^ zN~21XROhCH%B&lz`p}Hb&ABS25O}Kkq5GvzO54i>WgnGI=J;e?b5z<>`UZQQ3aMPS z!YA!`pFxV<H<hEZPs>Kb#K5x!1X<ueK?hAen?-n0>S}Q-Y=TA0NaJ=ppt9e}EE`}D z%k;`N5KI-v$5e40yd-!I5SqlGINE>Hho4IV#1S@PNzNPFb@F~?MP=n>*UFmCnx3^i zTgIuEWE`}m9FK9a>^=|BzV^bhj<ajd8cIZEZ_fUB_LsANK*C+oS*^3<&rUl#r{PsM zD3Q(%J^N)7D2FIJB-Y7NC(Z1wMslkOocgF|PaCl>j>hS(X4pX752wA=NXHKCzJw|N z8mC2P0_TTxcDF;OPOMI9AzRy?^*Ni2xifFw;b+6o#xYvWO$@ZbS#&;aD$^Zt_W0R+ z=J96k@q%vRcQyio`p(`s`v9b|`W8xet#On>MJJquXP=!Lc<u{uX$L*2jdJX`voD>| z+5gT7DGT+#fU3Yk{TFPc(GD9czoPZtfz9<+qH`0^eRJ;nbF-e<D<+nJFZ;yuPEeek z0)O6#InKW5@VVvZY|q_3_ZW5r^44rTxB8qpA#J~$GbW_%7cwOpCFq>fIZuwf{n9D% z*UUc`es2G{<Z~J4iq2h{j?TrL+XKq0d{AEH=a|8N<n4S_4OYII1}mSh!Gf2#ub8lM zMwg4|+{^P*&Rd^P5DU+}J3rw3P!^db(u8shAgS}8pVuMGaUwxdV}M&cKkNLW^DEE8 z{&qC0x{Xi2daYFHSFcose)R&D6P|ZI?|I&r{bmyVO&$Erkn=I*n@QxGI!wBx09WDp z<L3*{-{2;?1vk;l&sXp!x;HgP(D}d4H*%%Txzgv)gFwuBzsucFxn{Y&1eFge|DolD zL|8teT)Uj4`ki3ofXXM7Po+_&7emsb8HBjKt$UlWe0lkw<r^4WFab~-gSpo(gIBkd z!^V)98U`@0#>>M6Gs?rucb6xZmzH-`d{psu#fl1p3TcINMNGy1iaY{YGZscn9%1DK zarv?Ll}sTPsJx=Qin7s3fvqmTS^j{F-k3;-aVT{rmN#)rMi;<c{-%PJf0_umrGUaJ zhE-^DbjXa*p>Z-)F|7i!l&I06u`C_(=HaSO-={-8937hBfGW0CC}_yI0v)Ods0gFz zP!LUrU|)n*yp@roGpaaPk%0pg0LK)QX)MTr=#7fviZaX(tZD9qIK8p!T%!c86|EIL zmD-htmGu|2E+{WVT`0de@S@2@i;I6<?7Fn&(su9^r~HHjZ_Gp$?<z%=A6I@3f)ffN zdV(NUg2L_|@J%~&VdbRCX_c#J5vm3YJe9L67hr+s32h5g3VJI^{Iwg)xc+RRS!rHr zU+GsFQh5hwU!iBZKE!ENx>kBJ;TDc`co7;wjo$!9K=Kp3txT*;t2|LzS$UNyd6yB9 zoZ<WVl_hj@?y;YHPFJLHpM<O2W`nyLtWf3C$~HQ9>$NMY?5_NeEVLjp@&ly83xh9= zykN<isD6>73)&YZv(Z~mar9Q!g}E1gyzu*lH5WEBAt245$77ntv_bnB_GDpV)>@h9 zt#)4YmQus<!d4DD(a}hptHb9u!V7yZWM3#@Ifla*Qh6)ZnR|5`qxIcrhb~;c@J@^_ zT)*&~4&t)8@Ye<22CnT~q{?=c1ie3Tx<&(gbaCj#U!MS5hyzZ11zRqTzc}UM?2AjN zjp{$=&F>$%#Wa%+QduoS7gt?egY_TZz{4)AW)a|E9*C#ZaCXqV=y1{PqSwXni(urz z2qBAcP*4D~!PAzPQ#)7s2rDk`znFcoh_qTMth#uFi3ZDJoVJ6R>uRv^+MtV<FV=Eg z&Q}y|u5m&a>o2x~g_R7mb2AQ!mOBeC_FfuzX)Y)OyE$lX#=gbq(y&X~9Nt{c;my=b zQ+cBx11MrE61w#BCEli&C#d{sJlc~@O#p8V*(IAx&di+I#!MJjSItWSm!dB1xs-j0 z+jl0IUMT|sNnJ|3luo8<FzLfUweYK@ocF|~8<+mN^oYfr=jfW2a$3K0yt4mY?ss`G zTlOqn_9w3F*{vaht(RwBzHs^a<-e+8s^Y8uyE5R4-4)j>!D7+nMVFUd-gH??zcm}$ zdU@sLb)>ENq^+|F_!PP?xB6<<UUs=0arwk$CYg<Q@9fLU%l;>4D|%-WUSYNrU5>q+ zz=+<pAeGxGdskjQOrEcNQU8K41RbzBHaTav_r(cm82EZgv@SPa?yj0u^<&lYDqd#p z8B)>ZzN&szBdR76dUHsHlG~_Ja$8kO&gPU*=)T4d>yws%M>Tj_qAI;A$O8i*cRPTI zm58d$tL&?`Re57%Ky%n1b8~bG;U%w7ll9_Dj-TC0b6_DdVO2_1W>qZ*#aEEtQY@@0 zsybiA#eY@Pqp*q_yXr33&KJtnS3RrZ@<#j6<%C>0zU;JKF1+%|mC;uqfR8vOx`Soi z0$rJSWd%v$Z;!6byt0^E9|yRm^>HTn_$%vqONCeF4Hi>i^=G@FE8DMl<A^$iwkN~n zz?S4!BCo`AmB(<Ece_Oh+^$@#&aN)5zFGa|>Y}U5uTQ?Ne|^*S^y^vI3$CBLUM22- z<=&P0E6=XHs2*Ltu==-ZTRJSwhqwSv-@sKJVS}!`tsc&z*!JrFycX|g@Tw8bN>xv) zp3c1*&b6uyywV7tZ@3jz|5?4B-l0=>^y?l7FrW}Ab`z#!^804F39DVIJ*z{=tow~W z>-ySwd*W2@t4<-MCa9G1e?&g{0Jtu5R9#+u36tYS;+o=WfvWFTKVr3we!v!0H&;W# zEgW2=&<<dhN03BxRdjX8)lpY@TkA!^Yk<S*Vc)Q^BW=*tu~(-uKvL*FXTY+#ors;A zXtJxV1jB@+|5f9w=2r`@eR555ZP&HRYkh10s5!bSy9&xuoW5gX)m6a4m_$JSySjGp zZto<b(ADs(koy4Kt#t=q-OWMmXG#E4>JGVjjJvta0$n|QwXqqpl7Xwt#0yt1GHDbb zlLS`pJ;Or>L2uM^#l(vc;L*`eg??C}t1qr;QIBEcK-yDsVkviex<!Jnjl8zBv73G2 z+Sk|Ss=aWYd*Lijxd7o%Y(K88zqSeYL!tW_)pUjK=aiO=tIzFPfLeV;Tzv)3!fX4k z6<#Z|L)Vh79fNK#13vL+GoY2Hbf)?RlwC|QF}WM?%_J=sbnVKuJK&~3X*m^>h5%`M zPu9HFe(eR_u#rr|z5rbv0n7D|uYaZ1s(h|hxiWP9yX*70br5NTuK##_1v@)BnAx#~ z$0r!dMc1vaJ6#XCp1{4hi!30eZs&C`-m<f_SLz(O9>sgV5$qz2z6<1N3U%aw)2o$2 zdk?FOK?TI)GwgL6IN+DM2MOG-KfT_0{l6PpH^$!h?#7H8i*NkG;owD_{|23K3>ME* z3v}b78=tXjCXDkO3u$QLFruAIAw0utpb^umT&_8fw?zoH-EhA7`%Ur9pc<<hd5xl` ztmaDXrP}AU|K09?`>Q)hJm^NqjomkrZ=~Niaii$Q%^MGH3U3a*xw!rbi%$MzDf0=M zW&e*x-ruv>Yz+|I8)Y{x5u$s75Z&)NQ2W}T8;@`FvS{wfjdmWqW0(=sZ>`6^Q?yR& zPdo)|(akS!PUPzG;fCz-%^AEZY<c_>-UQwp-CTRq2&1DWf{xrQ&`qnGjs&!VcYuy= zy5Ce1bQHm$qaI1Wn|p61-^#dEa_fH0<Qfxc|C>i|=H0w~^U1Agw-()UzZFan;_r`e znhOcKS$gv#xp$L~BzskMP3?n>$7HiH(ao2)1h)p?(kAas;=k7ytV;O%LR1KUU#QyS zE{NK?wd@w`2f^Ax`ns_J<JN{-QdI-S12qGN(R&6ANIVHamcYJrQA`49;0=Oo*Fzjk z>a8r^>}!ytTjy?7kpc$l{^0&j!dp*j`qvDvZ-VLcy1f<3ci!qHJW~eX0@hC@gO{{< zWzYNGkgvP23D`<lGrMMS&7b6x$_~g6&C7Z1!@ux`I5qOEeGH`li!Fo&XynznGZNBE znPyFB&F-3mHAic5xrOG+@#Ti(V`gm-9&V+W^gUl)$QQde$otjYuN_xAt#)qhrrMC& z7z-cGx|+tCH?=~dmYQEfJSTeRleX2pZnr?SgKCG98?bW@_%t$Cy<@m_5ZFxG5@dsF z7u6cDE32t?1#elzF)Pc2UQD%CwN6|m0o-DGTFb|O_T5ZuQ`a_ByRQ~@g{w`f&0rUN zAbc{bwvefsafuxV1c6?-A3LDhYqhs&EScB-6tX~p7hOY}OeyrJZRFy2mpdsn4%b3N zIbhMf9NH>$LAM9r9znBYuNjss+*R}Tl-sjzFTQPYo0m($p9Mpx4Z6MT_C^*Ajkoo9 zV2EYfYU(V!ZF_sy?cztxR_M0NZ7*(cZJOJ=n;Rk5KX=Qn1u|^_5x$*pJDt00^?pGa zg{f|r-@e8H*N+2k!)?C)*X}jc*nayJ8Nd*hi3xr!Mt26>8OCDVe`r*@#Uotcac9BZ zrFU1|b-x>3ck<r2dw<+Bx@U1uaWC-Ro_opSfp_%onA|bDBfH~r=iHr#cb?rHa(5Ir zhb<}0t>HmeXTpi0CQ{Lzop%E6#NL4!PiqoY{mUz5=uZ5d3>6I0cY&B;*Q+9>i_P}v z&ZRqSbmR;bjFv?JqR>70yulLP>AI`&6bKE81=Ngv4x`sbrhZK4bJp;==XEnALArf+ z;@$aV`OLYiOP0kP^2%+Fo_=mFylZfG<6S3OKeH1Pgu51ZWtbo|GXz09s;ARdfug{N z&s$^1UGKXg3?<Nja5gGyYqUh`Zt~q@ckkSNbhouGo0|i3EzsSZyA@!1fDm-pgNjxE z?4_v-FTK$}+?3eJL7=2l9xBkS8(252?yI^9b&KkLuQR9<*V)!>ty9(olCdylXF?-A zbe2GB>!#MR`Og{&skP+!GijN!f%Q5H9+Do)DgN+QU9^U;gI#z!4)pTX1NAl7{OV%r z66%ip3p^QQZs~j1*51aP>wH8fNYfbvQT9Uct*$GnyTCzym_$@}qwaoPOC3*+v{u_# z>l_EMITonyzk5U92j%YfK>0u>y!Xw$+4q)kAT{DZS_tXI$V|ut_LL->i{*j9SdQ*l z-*e^O-^{&#hT)*{Nm4|{{18bp(Vuih_tNfx7ay7aZ2CKe?kRyl5F-=_j=(WuoIr3K zt}h{hpaibJfa@f<{t~W7!SR3nEtA-~hy|<dBvxX9rIXm)MJBfwNVhpiCH4Y4vAGjm z*|`cFBu+B9g}KDuMdBo}5I8%C%_V|$=5jkbvDh5n7P#;))IO#K*B`+#0*=vejE7?q z9JAs00gm6`_&@(N5E8<li22i0`_uX#fBpU+|N8&``A?vsfiMX00e}#ZUwjTg(Nw=C z_wh54rl!{adahocyocY_)Y9tr|N8#_s$czk<h%IWTK)R<7YGzTa&w~t&J|wVwLtLh z-8+?Qc&6Y#r_VdsGEg4>vDZvl_8t6;f53D087`~-E?nb3FY14;UiKZe`?!kLa9qPD z0>Q(dnBTMXFZI6y{^uWX*|7-zgFoG$>E8~fd<XMB+eQVv`aNAnv4#0vtpO)^-Qiyy zIPjki92hM~1VRmm!2-cNILF7i002324rm0{tq9(w5D3zB>Muxg>#vdJMwP+U35MhU z;7`M2jX+~Ze~qCZX^H~j$z-^Pzo~Px@0|lKDZ>8^?(d64xU!E$B8(OMH3LLG!v9sr zAGiA69r%B&BfX~Y-Dm%gb@<lyy_@y_V;wrsTMQ4y?Y?*Y;P*Xvz^(rUhjs97^8ffg zu3F`9=);Kqa6HT&ASgRJfO?b{*k4cv#}zp4!tn%-4mjSz(LboaU^pB)aC{5LJUEuY zp$ErCIHYj6z@dO66plS`9D*YYjuJR7!chaqLpWOCcm;<jxW8a19HZfw496@umca1` z97b?hz~KPL4mbkg;QyKC3=rs?8X!n2hT{_S;qm~1;_3i_>9qlZCD-BiHXQc`2p;|g z*Y}|e9HtN87mkN;=+wjSBf8)Gddc}qweOMp<X87BeO3m)81#DQ=ylU^ULe5hLkE6E z@cXb_Akc(gMTJ0sXSPnIK!C@&1Ah5E((8db;7EEQ5Dfhf3jB}1S@7K1MP|0-OASHU zC=G!g9Ms=v`WLS=TNhWk16=EVr6DkdqXYkHYY39yAb&~0NYLQ}OD~LC%L3gn`dLXx ze?c`IUT_Ei)_nkvyL<Wz65)CzT>q~>4e0c5P$-RpBd(LK|N6fgf}zjg2-XnH13>A* zqa=7*R;M9wxDS1Ksv*#6g8o1m{C7POo+rUCAP-YN`d$b8W(7ch{ON0|pxS>1q5Y|G zfM&3Ncs$4-eshyr8T?$mOlY`jJ$TI2%UGz@gLxYDGJDkO8Tx@Ta;6>{QuMl4uV*_` zhV*<S)I-kUlsZphzD4T!67G|8QYJ^O48}p~Wdh+__#Xd0{~Uk!+Xz_4YGwFs#%m!0 z>fx8c=ln9b&RDfFg&!!BqE@El17+qg?IHEsexS?}wKh9^pv>=TWn4Z`<`~l+JSXrU z9(UXqAe+?M#^>vqdPtecOqqf3i&qgYQ=nGQLgqfM2baTT&a0I%V(#PTgP3zOwQspI z_sRUg^+?sqczmFYy;_+vrVM@`|KZ;nwe~2O`xpj0nDf8Y%IxEn@np`Mm@;^t;J-XL z$k^d){H<3^8PboPaF3jmGAOJ+br0iM{MQ5rzaCuvBFuUGOZxFGT=46`=Qq{LO#46? z9e@umOWM2<F4Vs@2-<^j4@J}A7yqf384hLebJCuXaKbNx?~ha~Gx`H%Mnf4qzsMXj zW!i&rOcK+6UuZLaj^~R576#S+aDS#S_24o?t3F(22Cq!n_4mu*JM(yDOlv+|W*M)H z?#1`Z;P(8%E2DS%!)3(0GE2%nT*iS{rmXnGWxRN01m{0oCX`o3uj2hO@85w={2zbU zUm=0+Yb3~m1OJ(3!fyc*DDsiOGzSSD7OK|v5Xvoi1JB{ef<w?tKabQQvrzRz=Yj49 z77Y*-!mk2;F+INp?JtLU@c*&*?s0Za_y7O<+$T2<qN0L>R8xWzf*|yekxS*WNz~mr zlgvzJm}Iuej3k<}RS<+8gla|YYD#FTr$uRLyW2)Zg`N_`rF9U51_z<4DZkfy@7J1h z$wWS%-|zRw_xpG_th}CUt@m1c?X}ik`*P0gcLDJN(pN+E{GNx_fAsvV=Y*T;&fgB& zT|merA~FI^7y%nSX6^UU?svmtza5q&g7;2X@(AYq?QIv4Jj%F3BjOB1o00c<pW;5S z8&=u3(pLg@siv&+)ryTtQyr}T{3Rk5f{oxI{BJ&bUM)O^vTINlA@z9Q<vnh{Fgzl~ zuSF!YUtp*G{k-XKT&L=ItcL1%xX@Rj6L9Ui7UN+->p$B6DJ1^5uK!DyL?pQ=B4upH zzkY(vN(8$b`-;3&2lCp`&*!1-2&Vtjdn0YHplxNa-HE)}eeV;h3)UfBKnw@i8xJ8* z*Q)CEN;CcV4#8T~S6&$9^c>MwUIcl%$-eTU$j~vZ&(k$Fgzf2g>6%gf(HRy-p3dX? za+()GUTQ0OQREHlBTu&xL*DSM<i(Mv$3*@1be&Hi&wMh6Rr+4*9EAO|pna8#X{VTv z4mv+tt^sv6L+i_F-u5Whww1gj@;bJXw*&I*KJs)Qc0``}l<V3u7;VvWe|=jtzBBTi zKJv8AJ*xV}Iihy|_C#L3k8-+yDda8PO5R?`yJ;(Vdn0ezR`T{ip1YO2VaQv)mAtPY zZ$%$@y6^iUPmfXM>W^Nl#8W}K$<u2-{b*hyB{BwT^7Oo{`>lBmsoHVZayq9quOITN z_fN}duWIPGm&hupsT1gbwBG*6TMg|iZvgVvY$dOM3ioGQ$s2&YwSDAiI|ri97pw9H zf!85u-XP>9LzT8@-g5|gyl;oRM&#lDnvd@P_Q;!njK20EiM&Z$$=d;WRv&p<=Z?sm z-bWsiWGCdEy0yHNNd2`TiummwjJ(`d%I%E2=05VY?Emz$3$A1JqkU;U^?kArZOjp; z`Smsj(?<J2KU!<O%`vpmvC+>!gnFCtbvC+;)Z18f+v;n*KcmiOLLc?ath4EB{jlq7 z`dUZk*V**7o;Y<j)yEy0=6|;JEJBU8^(;bdw)HGRZMO9+LT$G7EJAIz^(;bdw)HGR zZMO9+LT$G7EJAIz^(;bd>hJG#-N9j0^QphTd%6#s7ciz;&dm8u;QG1xW}VH)eb~HL zXH)LO=09~dtNO4RRCmAG*BV`aPuka7y{%_8*z`7^)u_$3p4F($ww~3f&9<J^sLi&X z)u_$3p4F($ww~3f&9<J^sLi&X)u_$3p4F($ww~3f&9<J^sLi&X)u_$3p4F($ww~3f z&9<JysLi&Xd#KGq%x67U=yi$xtU3E=PUWM|D~wI)>Ar3B*^#la*Y#~vsqynE`Ce`L z9O7PGnqR~FxGzO0B7ELQ@BbdaKIna465mhgeRm3~_j{wE+xnRM?{%;bR<U3;^2)fs zLr8rP@vmjl$kl7h!p4ZC-$LF7+-D=?-as6|-2b^B*S6Pvvo>De9$o*EiKxE@7W+s2 zYe#25)L#dS1M64A`qIJuSpMLsqz{Qo4nan3rOffj|2jfrZT=nTzs2}YNBi*~ejn6s zBZLMHMbayE{nKkTE-DYeW&{#eA><E@N)o|*GDk%vk6`-813P0Y`NnQ*`o%fDa(=A; zenI=}|F3iUww~+iw(8IO_0M(HrvAKN|6EsX>d&ElUAzBJ*0<`lOXl=Fr}SB?S-Y&x zzHRh5YOl?LzHMH|{5Lk~?!Ikw-?sHBT#Do4vZxdg^izUnF2^x}P(Y~v=yR+jzHim_ zZ3xs~-=KQDM)SI6ef~$+w_z{|zGtmmZKaxVTq4L~tQ}bLbbVWnP&fnWO=t`9oYtt6 z5u90-<G0jS+s0H2@({N68G;OVDf4f@`h(Et2j3^_C;6k=eBIAIv7h%q)3m8BA41!8 zebW5u_1oCwP@mpU==$U$<ZeX$8tOh~eahcbo98TxO6lg>wCbX|f6gk{AS54-iignG z$Nd}f5l%uo8}Plk?$-<dlkwyJz2w_g#?Ne{j5_r`-0WX@HQMm!E!$xBFZXzDp0x(! z_gHP3satg#wyRs!pr1L2>lxC-U#*LOSQqbiZLR%a#H;K3ZC(8<>*B-f?9+AeBN5j# ztZC2qy7;s@`)0(e+dro+e@5N*=hxX^T4#S{U3^)c{ffHyeRcM~t&2ZWXTP>C{*Su& zhPwC%h*$UT<#pq+urB^dUHRB`wf&Q<i|<_*A6*x>>f+hD__=lQ1$FT&>*6=n#c!{R z-&Yr3RTqD%F8*>|{N1|vr*-iiuCMKnee2?5>f%%D;@P@*XI*?zUHrzn_=>vt@9W~v z*2UK&UVS`#R2Ppgt=*sNFdwSzZ>@_Tk9hTb+P^NoLtT9-#H;Ox*X18k7eApcetKQJ zwJzRO7r&$~er;X+*1GsF>*9Y#yn6qSsN28C>+GMYi*Kxp>l#`8(es17TTF@wGBhRy zguXtdgJP0G(DTD^{H99J54YX$KRCbh{GjFfI{&59G5>kFIX{&4MjQ6pvJK|^P#RI2 zSKL1)8HBBUbpK>Rke`|u69-{ypET@}->A*6E}x$glk(Ksd{dXM**40SPpr)!jdbgz zAkAw*TU%@MO?f@TrM`*n&#KL@-oDoslYDz^zA3NIcWspQ&Z*6>E}!f~dAl~>l-JQo zof{LYt2V#7yw#2Tp4xm<Uhm<HDC?eIo3G=Vnir&{E{sVIp|8(CB)YImT~wRz&kLsI zE<^nYeSP$Mfs}*#FR#rXj`Z^4n3Ry7xd!8pkhu>1a6RVyQp~j*Vq*Uw=Kog5xdQ!% z{OV5$b3OGeelv*RB9stP>kvn95lRU9DIbdZR-x>lgYqS4?h)+I>L8x}G1DKz_BRKt z<<{Z4dBStS^>YrY*VCs$^?0$N`u%VlbgQ3{X!AYThx@RtKcauuU=E@!WoYJc?C0Ug zKOXx(26JmP_Wx+K^BCA2fjH6}*mwvI+Ly{ezm9yADIqQQ1o$P`meAg}p@>`mLb;Dn z1}uMt%^k2g1Zl@1{~5I71?Y>|K0<L^u%9}%&r}`%Ue*3+dq3~v;kTQjzuiP|5I*mt zV_p5p?-iFK!smVb>#{<Fbi$|+3vDVL7k5-p#u*nE`;^ZwugAUIhim^HJYPd3--7aO zL7DXYIDQxV`Q>$OPyH&`zLqat85ifOpiBW;Cd;jHDIsjcd|0uSeklHE%WdhpvI^lv zf34QN#cwiD-iB=fA=O7281;Uv&(I!(0>ailE0A#y?orM9p2BZzy-!gNVOt;lZK`)v zLYy%PNgkb$j0UjzX#Zvq-l%H7=GkAb*k~Q8V-uLa3Gon$$aByJ{h0Fa{=Y0QrzIqh zP)5j{UfHH!IsVaYm)jHKo)hHdTN9EaS8xAcb=%LJTdB*hqYK+WTD}8yK{NPma&`Gn zw^2Sf_w&p5yRkApT5tXKi(4r_47TM95>omW_G@863gGHb5|R8x39&B>(o^8-k8^!O ztfkm5g!B#AFT^u2C|r&DzKb+){!ZlIRVin!tgv${#uLH48RdQkz9r%RmZ7)|^@5#$ z)UFAA)tCAy+KtfH$GRPLBUpC?^{0PSTYs^x{`xx7Wt7{5dG|i*|8UD~I0Nuo_JR1l z`+u;Ve`A09HAt>M)^=zCnnZqbGwS#h;}^!WVf~Yqs!tAOi-WMfY=__EBRJdRxA+LM z1AecCP&f#ABN29Cxnp35P&%IR64p)x2f;(A|D=$RI|SQ69m#`H4&i_E(em#9hw}Pt zq=fR;DC`?T8R38P(d(1qq3F}Y&=&}D_~)0;yo7T%f{WlGly<~ELyHJo`{?=WHauSo zRulYAzK?#~TG`!j+zmrG5aDnH{SBi2R#AV`cm(1{AsmBnEW!y0CnL;2n2j(G;WC74 z5N<*EDZ&E?k03mSP(pYcLBH$O=aKr1RKFYk5NYzg2I-Hm3xa-!n}Y6x@KuEU5e`Ba ziSTuV6A<)!=gH6$5zav9Kv;-y6~Z!vyAXbj@F>D_2>QL1elN8Ftl#bGbKdvCA0qr0 zA%?#ZNFek_*bZSwgq;y~Mc5r7g`nR*>+dc10dMV7nvOYfD(1(TIF8Q3IG>IAjgWc_ z;c@&;3Cg>l^Y<HCuZ~~Z-$ro$tF}*Nx4!MIwdsrWFM8mM9{8dMzUYB3df<y5_@W2C z=z%YK;ENvkq6hwO?15Eyp97xVNB=@CQlFu|NPUI6f%*=06ZI3S;2i;4Uz|FSx+8T6 zbr0$=>VDKT^)Tuf>T%Qw)G5^I)YGXsYAdya+C`mDy^y+ydL=bay^*?%dK+~G^=|5Y z)IU%kr#?r0jrtz-ztnzs?}7Hy&eXlA2T+fo9#1`ydKR^v+C#mVdNuX?)Spm)LH#ZD zQR>swm#J@4|4ohId9${22kP$BuTc-B9!s4}J&oEzJ&*cr>J`+%g?{?|W^@R3C^bbL zMjcKaK}}OfQAbn9P&3p<>ICW}szsenJ(YSUHAiixwoyB%Hnp2NpSqChP!~}bQ<qTl z)TPv$sLQA>bvbnfbtSbxy%&n78qp};-+|{GQK4=|y2d}IZlac{8>t(p>!~H`i_~@0 zwbUYY4Rtkj71g7r&<=d}5Otv1zWG#}+D6S$Po-Ma3DgXA8TBUWQfi*Mj#{Lyp{}NG zrhZJ_L@iS{Qa4bOc(;YNdmy!es_(qe^f6HF-_cOr&rwi(lNC)fK7#qf86QSXQCC5= z9*_DE^<HX$x{|tr>Qa|cZ=x=x=BW;KA$2~r4XW+U{5shFD5%DVGM;4o;|GHLjZn>B z%lK->3yd#kd<o+Y<86$e$#^5<qZv;zKA7>%_Xpc6Lv?#=s4J+8s5$Bw>JaLtUj^lg z)Rol5)MjdiI+XhHecV54fx3j+Ms1{~sGIK%%B`c`OU+X|s1vBes6u`5o}l~#)TLCL zI*B@*8l{#vev3F>`ZwJ=kMwW6RbA>b>P^(8RQ(%of8J3aqCP;qm#Tjou6Fvj;i?1i zx5_%-8=yKqQO1Sw&9L*=8>r@QqL!%}nZJSY^^BJocTkURXCZYywVP^FJE(2cW@?Ul zCiPV6bgD(oP{&Y5Q-?#f-OCwwsSi*KRQ=m+ZD*Ofk-CApo|=9zup2=gP8~+ozxmdB zPNhz#>feBC`Vy%2=VGX~YZ2oP;|m#|&v-ZEHsc+Pw=v#K%~7Kd1=|toW~A$OH&M&f zjnoa)_0$seMd~{0T56H%Q6Hi{KwSaV{krLQ!FC&|5BxTWJJjOpAifH!_A4288DGr! zLdH*}j-n>18y^YEucj`iI@B|%qp5?b<v$1I)=*ba7g2N6G1MW{O%Dg<iqw_V#nfhM zhB}n`@v5NQT55s1gxW@Jq^78w{}hy4N4=Mtr*=>$P=`^4`r;ph@()m#Qf=xa>Tqh5 zTKYp!PXD$==g%;z{*8;qGt@Cu{hJp}UkKItJs+y$+ReDlcn9Ncj5kwrRKeebXgy`b zRX0*MP}fsS)EBAisB5W3sz-f@`T%tWRNFU(+Z#n4K^;c5sU6fdYBM!YT|(8rY0-AC zglhdOsLP?+FD~PQ9}Db~)Pd9nYLqI}O(^I03$;XD&HC0p9^|iv>UIl^FK2uS;|}9( zjGxK)XzE~Uc}-By8tMw_B5IC0hB}103GLPG7pW_$i>b}j40SO6ra<>g|JFcN|JFct z1a&xd7&S#b6RO)el{y`&{cABkiSY@HH!_}Kd_7dRQ=%5BYpAQKtEe9JA?gFvd#MGg zOI=32iMkl7?M>ou33R&ysZr{1sJ37K)<E+oF+KsR<r=9O>ME$(dDH@RC3OXLDK$@Z zsBKWKx6JrP>IUk1>cC>K9sSz@-QG~BmK#DH4Apig8D9=nJC~ZLE}<@_c2jL?jyeIV z^_QLwv`F=+1*%KUQyr>J%~36ChMK0Ps7b0&%WJuPYLV(u3sjeyr#e)dnxk6O3^h$n zQIk}mmY?GGsYR+sEl^!*p6XC-YL04AGt@LSMNLwLT7Ht-rxvLmwLo>Ld8$LTsX3}e z%}~?S6g5c|YWZ*6KD9{os0FG^%~Kt!P0dj)YKEGorl?7(P|IfiQHxZMntUdh-vg-) z)F^cXRewvZ$H5q=&gaq8QBeOlXM7dZKaQyd>PqSg>QZW+>QLLDT7U9cwu@S3{zmG0 zs>S?C)HHPjbr>~IT|%{~9n@xOk-COjpsu7YrzY32ebh43H&WMAE#^<6rl}*S!>D=c z5~@w@pf*#B)HT!sbtQE<HTfLdM~za2x|wz#Q#Vn|)Q!{))b-R1%IkQKp^m1GqNb@M zsKcqls41!i)p;_Bs=qDP_?cAwZL!94RQ+wS#=EKdn`4bHhiZFVsLq>ZjNiogQpWR) zFJXK!<BJ$~7(es*px#rd)2SA95_JN#k(!~7p^m1GqNb@MsKcqls441D>JaK+YLYsT z+CYs`g}NF0q5bkPbrZEr-ALU)T~94hU!<<1uB8^KYpAQKtEe8;VLQ5^IxcNc9ha4i zub?icy3`U>+x;Rn^+FIIN*zp1Qln6Pj+JBlOzL#1MQwztoy+(#>QZW+x(KRvD;d|{ zE^B-4h3bA3pt>Jxm@fF;uI6uM{A21SsM>FUs{L@<4WsIBj<wvG)KjU`p;~SNRLd=8 zdY-z3x|q6%x(=%4)-qnCuA#1`K0sXo)%u6vce`3{FjU)<qz<GuP(Nn54J<c;>BFhR zs441nszseZZKU1=)$J~2JWpLhT}+)%ZG&oi*FpXLWO|XhhPs;i0Cfe_-%tE5*56O4 zzn|2B)CTIuEVqH>(o7#g9ZnrawWt%QjnswI`Ba<QL2aWpQ*+d%)Wy_AR1d1{e~9r1 zs0Hdu>I&*|s!QEKT~A#{T}w^j_oQ0?P^k9L5NeV-klH|vQiVE+I)U0q%~12yCDg^# zMO25nkUF2*O|_{V)HZ4}HAj7j`T+G_YJs|vx`Mi#>QYxzS5ZCcI_g?#k-8D8{kDO+ zo?4<N@!MPN&w<niYLseGCs8L*8>xBf66#{=B5IMkhPs-%irRqpg=_nwRDo)HHX~ot zKc;S?mZ_s?KOCyZ&!SfXb*Kxe^Qqlbo7zEbqc&4>)HA84Qm0cb>Lls}Y9lp69YY;W z9Ysx3M^J}Thf!11q0}MN!PF#mAhm%Sr3!U3`{iTmCTf|wk-CApo?4>5NL@!=OD$5@ zP*+n|Q9bHI)CZ{dQVZ0T)D_g_RF}GpdJ}aiHBVhaT})j>b*Kxe^Qqlbo7zEbqc&4> z)Q8ZIdY*lNdM{MxWr4bqx`Mi#>QYxhb^dx#ouBe*P<|8BH!!_CblA|0m9{K5W~Y;> zv}IexP$BF@b2-Zil|x?0b|PLlW97qMI3LbON=Pb)-LP$!LslW=hBEnBDTG4BuoJS< z87Gn}h4P_vA>@U<P(ECQmc!-#4ieo^DQp+QC>7Ocu84RsT8QNPdC^kDi4>ycP-#G} z9LhLhC*p>^h=;AAjzj@%(k*)tScHmNxQxcw*h;7na?nWp<6=X3Y&0+_hH{#dDIg`| zhKpev#bYiCq6ROL%Vn@T04wj;R}SR|6e4y>cRp<4AGFPdK_O&kiVa@45X-p<<iK1D z6tNW-|0(68*rTvjil9n#fu$R;b52BiQ2)~sUI@E{|FF$)3H6lx|6pwAkbtfDwpw#3 zoY6u~D2I=#8_HOgZD*{Y2Fq<Ig`HR#rgkafCJO!XgEXRDUGo3UhwTh@Hl0V)b?Xkc zg^mh)@mw)vc_Ay4(ecx|^}j;c%14UfV$90u-s=u$KyD--v77`t6eCkaC0^9drBPqF z3>znuv5TQXtQfJ%4Fz<D7b$OF-qAxb2i@U?a+cS>5GhA;=wT20r^A9B@S6jxuouQC zM7?Oni4>4sisn$p!5(;F7x8o<><lV4U^j{lPJ`vd-3Ir|#kdo3<1V_-!32V7s2Fol zS0UyhB_Ana7j+cM(M$#{&0*3yy663{@ra8Cl*5@ab|2lI!S0tZXJLVT(T;Y}v^@S* zI~^r7J(tON(Q?#7&*rpQ4k{>N53yfJDxsMk{zVn&hGIznE1|k#IPHc#WaXnyxEOXL zMf{67f)30#xcv$d{2ML|(86BSiFpwZJx~lghm>&;6k^!DXkkz(ik%&p-=To^J7G6w zmj)CP*dm(c#xY{0h>OzsNIB-kicu>c%fKp97~m#KJLI=3pjqyqd?=U4E~T+&@%+Ga zD(8gKxlG#fhF}t-ze2?b8n6Qtd*&pZcv*Mc-=_k4HRDDyWhf3ZOf@Is48XpH(wQP= z1T0}!Y{;Q*40k@3M=LVuCf%m)bQnFH@1HLB&o|_-H)t&^V}*!|>464WCG1sccQh_l z2<Nbrpoh?%0PVkmc3vo-aHd<{m#q|9oAW|eE>{|0*&e2)17mbt|57OJ#7kNqEYJ!h z<{Q!}E0=LXmSq+Cdjl;?Yeus$39yP3!wzP2AyVAY(FTQ6PPmLAO?%05Ln&ryqSh96 zLWKcV+D+hCLy{A=Tnw!nDPtVHeoolw=QNZC<YRUUor7j$KMKeyV%02$Oa0vb?jR3y z(ZPP8hx|^r(4`S)a1QaDGr-?Q0;_Jwvfa3g{<5)|{-szxUTDb2yhMILE?vNe3(*p$ zIGUWuW0w#QyJ%23l*!~U8?>bfH{oHm%wz3}co_FG`q&*%O1Ta0E~N%Hf$jM<ISqwy zDT!{yJoL0K^p_WPF-Kk0hM5#CqGs)U)E~k2u&s32AJGD4MhQn)&Msm*n2E9cb`ItO zcD9HqnJXt8OkyYGU}TEuJNy^Z3NxN!s2oKf2N8diyna|<T<o)2d*Kq+4&87*><w_@ zRyl6xvGH=q#V)&;GKF0WF*F?&c_A;MP0wUfPAHSY(HYB!3K1MD{R%iFFsIQREQ#fa z+dm&IH{{VC)E}|km={OC=`2Oxxe?1n$EH#lD^*4xd*L)@7Ag;y)GF%6G8v~|X@>%O zqLi?UI2hdlb|LDb5qS)1#{E)Rr@;0F^Z|~bkQ*-ca|Xe}frX3l$`s??Anhv*KGtmv zR4%_eIyF?nMyyQA#%%C(Qs)5J1w``b;W7>;q@}H#8_GwDVJla}8t;!u8ST!8(mG2T z(&aFk8Md6L6L;g<19=?2IACpT2fG(4VqwUK^Pzk{2kq0^wWY=Wg=jh9VaVNx*N~5A zP+vNYny@A88k%0loJD!eM<-E^731YWPAsJ-r~-N=pU9*=WTY^Av2Lez2v9>In!_y4 z70@r}lrWCqLdc2d`=QxrMG4KzSvUt^)7r`brMR7exfXE-+W0tFS}>Mg#6c6W59N@9 z9mNS4hZX)Uqf;^kRE-_S$QO0uVh~;Jj6Cd}P^yF>EQK>gj0=ija@lB?E&*xueA)?P zWU-T>bTQ^c(A}j-&e6U>QW^hRg#qRM*am9H^cw)h;esB?qt~3U?oBzI%c1EQR!{dB z|6u{t1HFj4)C9R`UB4U}q~)|drW}mII8Qne59KV>i9#+8Ky;gnMwbx9@gBuqTREKT zQrMPm*v_M#qE2ZyUOvdmIFS@O3H9JewRI9?P@DEf8O9h<RO5v*xpKt8!Bzqna13~u zybc=ZVO{dj!dyuQ7dz8P-+EXn^;k;gaNU>2IWgsi(>SV9=~Nn9Njun_jn0m_{oGg? zD^oIw$!zI}VTIKTA^ejmV_C!=>HFXHZ?nfB9Cv(^zDm89Q&p_a%G6DfjTc)_ATI@< z0p1Sj1#k<w3_g#X*<M6_ny8HpzJct4?>3AV3qL}(@bbE+$eG<lUMB0yyZ%YG_k_Cz zlfFNED57qy-x?uuBsqVm$YgTqaFHf*>Iji;vcOy0_2gWmi2Cf(ddlE?$ob<%{$SF_ ziTsV68;`$*H#X>yI66_wW+viKg30zIylb3X1Rp_mC!?)o^)fe`Y@H~w#H3Hdd)CPL zQ$!vj7f%yWS0K8r0y=*kIeixX?3tW{N4Y3|%&9h|*&^y@z~8TL!50X*utek}a{6kK zbICS%A=$k~Bu{p(6LHD;2Spw<?BSh{<Ptc9n-<-c`s3Q2tUkGpAgf=l)5+?SYd%^1 zbm=SK{5G$GuS~M@FnryS)mPU)$m*|aGugxB*%dckTDJHo-XB4B{(|>?lXW8DwJW}j zydvU|bFbo0bjjX&^eI_=fBlZ^f{TXX4-Bv3@au8^CGvsckMTbDc#vKO?@U(TVZ+E0 z3(3)B^%FLYtiHn9$?7}oB4a-^BsY-NZ`ew*`VadPS^bDTPgZ|oADMI<tb_1p@Y*Np zU+k;o)Se+Zlx*!6lF8)aL1+UxH!>ubk_!ii1b^P|*ONRfB>Lz3TBmnJNbV==LH7u` z1b&(9j0wqm<m53Zgg^1svN`aV$)#gMf<Jlp)62(&WFonM7s}5dr^kh4Az8+UME|T> z>(Lk5-A&GX18pD|!2cj8Pe7j-8}K0fdAZ+y@P6bXUP3>XoU%f4GPw+HA-mH;GM{Xp z9FoOk54?<=J{^5RE`jkCrN6C0XGq>5V-=Q9$?89CJN&3y+oL|z_B0GXY6p?kuUdwz zKG&v_)n8kau?KgP)nD9|Wc#}qJ8}X1b7OODNd8DJfuAPluM5cra(QV;{zJBI2+1yR zYNhQ=-WZbMWE*@0xeT62E`Bd0ZN~olAz45!fb-<s4?=PWIS>9V*}FL;PmwdXg=C|# zxjiJ2fk7MOj*tu{d*FS@$(11)W4I8KN#q>3!!Q>1#boDx^bgrx6_R_&<wrvDFxh?- z{X@>L3CVhLx)_pw8OBMW-=Lsv>8C>S6><T5G&#Q($2-}2Iwa?jQ|m%<8QBH@kgWdq zR+7~Z-*3o;zlUUv;g>Ma$(ff!@*&xMB_soJ4%YE1y%v&TWcB5DFj;;2Wym@3RI>U5 z%#zhFU?*Aq|9zY6fb(S87?Rt_Iq<K@1@I$e?``y<;dih;knMLv@;*7e3FC`v0{>V5 z??iU~6_OO${x~EDkW2rDzd~~AlaP!jC;x-vmz)D<$u4*<xeUILoZ1|c>&Z6w7IFdn z3uE)&ko=D9f}bQipN8Zma`7{)b>xy>QQ^8u_azq!`+i^iu>kMG^h`J`hm&3KSaK>7 zmXpXHxRq?d9qR?;5_k#OiG}4hataqAKPM*>VfnpDZwSj1<aEEV{N1Dv2+Qka2fT?~ z0)J*~28N|SE(-m90q;t7w+oB<U(xg=E_e<iTRVp3C~|72upCczz*EWI;IN!R&g~qQ zCUOaUF4@{8EIs7(kg!}tF76tZtH}-=W`B=dh9kBglfB*14`g?bu>6K>?HQJb$;nh$ z9w(Q<&yr>Du)IWehK1#yWD6H^ACgmFMgNe?;C?#>{ooA`%TDCfeqq^*?1B#>m-i3L z(Z&W2yC#w|2cS>Lav;W??18^SE~dkBo#ByTxtW|gBrMB~{iv|~jGR0yEDw-#hlk}) zWE&TvkCWXavG3&4n6SJ|E@!as<oxkr`Iwv;AC|~Y!Twq&gk=Y^JqdGzoH{8idy|Xc zL&^DRVVPpmPsaX|ty9A?lbk#~ES<*YjIb;uJ7<RF3S&PHbDr!i2+M<H_gmO6V{;+K zkzBqwEFT!YBrIXvZ|J;LU#mNj)!*vAWITS9(S~ot@klQH5ObBBbkR<-2foDck1$5$ z94_E*Cl|pFk_&g?cr-S5hvijr=I3E~pKKSx_@lI-o$7yXC$jpZ8%8etDlDVO>Z@)X zS$)-=X6%0*mNv5b+H=V2zwd|Sj2D()k=57UW5(v;u)Iii!Eck*Kj3Dv4c_icK|9rt z;V`oLD;!1kieWjHto{e5lQVx0OO9-<hp#%ayoPp?OW<qB&c?9ZNmieB_mkDf-NR({ zWA_YM{oTDuR{wXK$?6xc|1NCv`(YVER$qF<$?8*YG+BKEo<LR~foB^V@Eo%G1H6Q+ zegVHv_Wc7Id!(->tG~d182dy--X^P0zE8-hhKTHe7c1#pP4$n+f#d>s99ez$okCWh zey!xpE)khWE`l#5yF()KeR68oh}>?{;Ro=3!+S>L5wiL-{JTlVjpRFI^<VcXS^d`~ zcMaO9egcP))nDLfvib?M$m%<=)!2L$?If%3zAMS<zwdiw_2YL3S^fDvOje(J>&V{z z5qXoG9ubkv<iY_F8Hi^J+K1^wBC;E~0R9Tu85NPkOgeZ9xeT5~R{wAplJzF~dSe6r zDOr7`{m$4Q8IdQ*`D4&FV-J?yg7)OUj(#J%$HIpM**XsWMlRuHh!)u%ACYs&-o%J3 zBFi@-auc}-zMGsrAtI}dJ@`d(Y7+cX7@NrviQw6a_K!0qBD<5_sb~Ya44z6(TM=n8 zHsHDB!pRZ2j9dbLpKP6h{vqeG5&13I1Fs?5tr2;_*tbRGUu5;07~h?J)sD82)u-YJ zvieLsnyfw)ry4#lB4?A;_u_1FrYj-~$a(O0js4t+++rBM8&{ImhvS1}_4T-htUe$A zPELd0CFd@UNNA6s%^r9sa{4mNH*)Ioh#X0_7e{0QS+0mkmRtbOGxk?TBu`FW6_Gp1 zdGIQ7X-Pz0GwD}H<lkiLnuu(N=Vdy+CGcKk`?`o^3_pZ9M)ts2vij?sM^?X`-!=B& zpBa1bUyRLT5qX)czB)fP_G==teTsbo9zj+go)gFp_*8Q4sfe_b3*ZIDer-gqBC8LY z+sNv(=9h-op*>`IE+Ws9ofjhV7TGIB<UeHhWvmZ-1#K&W_cXj7>n&ORwj51XKQ5EV zvLPaEWcBefkE}jlE+ea7mz&7y59SWC`iJ=y*(+ncC95x)b!7E{^B!6K-z4^CAA<KF z%li@8pR9gxjv}i+oYTnao2G+ogBOz32hFwQ(x(ym5jp)C&IM!#`~<luQF)1+!-Kx} z$R0ShPtZ0i9F-wt^;dHQS$)=gldOJg&Nu1sUGsgim5j<ta&CvH{GOcLDJoBz^r2CC zg<Jx^Pj>LIalo*k4f#EyGL&2ZA7psXsEj42_CkBevUgNk$Z7CGvb|qaZXlNqjLMy4 zZ)8+{O->#hl}E|yUuPXz{p`F!R)0I2$?A6}`IVrZ>i=d>viie0kgUFNjyCDwNo4hj za|T&`^qfalKRMqq>5Wmjo-D^lWx3&TQMr$7fgdH8!LOP02~j+-4%$|p7?s_~xf7yt z2-%*D_K?#jMP-KJX;GO^E}RmT%MG6ql^e<GFXSg=^(*o#lMa5w*n^)jHZ4)vKvv%& z|0b)yk%q6bo#3Hl^*@p(7r@7p)fdTW#{QhBoI}pcj>@;lF8B(v`iODK>I>#xvifs* z*rdb%%ZudlMNxUj*jyZyPs#S8sBAx+?F6UD>f2=$S$(`rFzMj4$?ET=o2-6ct|F`d zmmeE@@Iz$v&+=EY1^$OgzalDclie$$68&1x9`&`d6Ima;4=1bNl`$qA{!dOY>EP4J z>gVKKvid#wHd%e5TuoO0EG}7ntK3U2fLD>N+oJL}vI~BRocuA`Oite(mH!(1JEF4l zenI=~6;b&bxda|VcJRf4W%%x>G?8<^h)NgPzBekDlHCWQvXq>D5XU&V{5$xoBCFq) zN66~G<r%X2arq}%{keQ*_|H+<ZhwyZ>Zt5aR{tpnlGUF|hOE9;EVBB3X(g*Km<!12 zza>x3JQ<Z+3_lf>yU6xh9OLBV)9~*?E`T2=yU#@Bd2$K-7CH57R6Zd);DIB8_UG22 z{p93xQ8|E|dOj-0klnvWWhy!IGS(=v^9uHbEbFmek@K%b<wBGGI@T+4=?$z8WOqYU z?k78MVxExge`21HlW$}FCl}twIp~0(&B;hihLY2Xm>fth?iiD!P5Le|nPk$x9Fv)3 z^}*0((!m##)hEM^WcAH(m*L%G@_WPZm+%Bx{U`jLtbP&RA*-JRIWTCa`cO!c)u+S0 zCLMevS^Y9tWCz?z7QAo%0&*UF6<OZ_e;ZlfKYy>`!(#F`V~_XBuQ&GKf06aQ^!*PC z+NSTN-<_=Qr%#jh{q<wX`VRY($@(t)Hj|Eb*MEzw@3Oy!tna4(5n11be=k|zPyZ-c zeMCG<RzDDLk=19!XJqvqu~V934POuYlGX3S5oC9AOim=Lzlc_{`i;22@QE?GnykJd zmXSShft;U?@g=KYh$qSV#o|VC;p~{iM+WUt-x9l#)yKp^Wc4R;99jKCoNVmdVsZ{y zeM($t(&0biTC)0sSWZ^o5x+L}c1#{8tG|d6S^Yn3GU@OY(f{C}ZR#^(PqO-lIE1Wz zA;y|?@F^z!f|$%A7rqsf@0j!pV{#K&{Yd=Gq+b-1KagGU-%L8bY<-QK|4vLkB+DYq z|3iYdsZWW0$?99;D3gA9Os106cSM$)Ssat|$m&<(VzT;<xWU+56O*5sbg)NO-x6!d z^4*wxKu+ajvh%2*J(+7`a)9CMVltkr{wi9?>bGJ6S^ZaBN4CEgla=J;O)+_xocn%E zUN$!Hb@2%~?Z#yLLxb(Ae~P`x>I-5NxqLg?KvrK5XPWf8VzQ7dD=~*nI{0pKz7Uf? zl2gCH944#3idV?$x8i+c^T(Kk4-49(zBG0ut51!6$m&;PG+F&?OeU+JjjXYGEGFG# z^)IoQtUfXBAggbTRb=&n@giA$VQeC+4~!iT=RA2LCi{`q55{q1^@DL1S^Z(mCuhKy znDi&nKjb|49%Hi>Z6K@fjAzN}L*p%z{$flbqk}f6PmL70`1hEMG>jhx98XqX9cPfO zSFkpc%dcVmA(!63x=mKU9?Qwecd<5-9sIyxl}Z0FCQlpw2<s17eSw6I;QaY_Om-!^ z;E`nYbuxkMe1`RhoRYY7k-czSZYEnX_?j>_@woh%oJ_>!RdS&rF8?J<zqkxJGH64p ze_Yb!%%Hf8Bd52E%Nd5Zhffc(os7$3vJ1YI?0hLMKPMN#tH}9X;_|vl9}<`TM{(bW zq7CFC_^agd9&wpSR$nA%8yj#pIk|USt}{0KV!LGfptw9iR-YuVkv(u|Ot4+`Q?e^L zd1zdYB$tkg%c<ndF>yKHq>qiujby7aF25$LpOYuZ?s)XGNuLlG{jHKd!^xizm!ah3 zq_`YTw!o9f>MLaixpZn=E+ps9ip%#+dUITUMOI%aj~Sa*>?2wIr~HSU!Vgrwd`!@W z%sFv6jGXL@%Sq&X55|-%=f~w*vie_HZg@dl?k6WNh|81Y!b12|F*e_hOYG~xwrud1 z$(|FJ1IW(haT!lm-!5m6)o)9ev4PK)E6M7^<yNx#a=DM3SrV6r$sYI_vVAq?7`X`k zn4DV{m+dk^+tg=EimZNIMv>K@%LH-}JcFFM4Re5;2QM+{KaR_f$g&)BkDLSlo}Btg zT>eIO!0X9H@P{V-_PF#rHfUS&j=1be_Q0da&I+{6*xVVH9NE4L^MsuHX<V*1=|79h zN^<&cw1=DrKS}n$Z<3Qgk4yMCjvaUpa<YKAN_Kw{mlMh5U&du7Idc!j&e(u2CfoPM zB~LDaZzX&8#pM^|<o$8^lSv1!B^Mru%LcOhYm6f~{hPQX#s=-ofxkp9g7+uezsIpm zcER5uC;t$aEV%$)Kra3<E?1CK_<@#d_+iX9!>i-6hMajUE-#ad;E%}8<8c|#$Z>oE z$2&Ryx40ZaE<72R6Ub%oS>)VP=tFXHZCtJ<+u-HK=IOY2WO*hoPm`^6aruB;dM+;8 zA0M=#{Cr#vBs(v}<rs3Z6qnP<dGG>q@fGxgv41r#KOkq;W4y>^@M^O6T3ptVlmA2; zjQ!gfmvKQG((hpolkE@S&xxG>FfKjD=3m&BvH4G2en(dSM^BK|AJRX_>Qm_xV*}n{ ze6TI`u{4}q0*@g(l8}kyR5&5uB-@dMw2<@BgnXM^jwR$uaxtEe?~yYN3318JfQ0;% zY!6JxugLlB6Y?i=A(@ah<n-W#JVQ?Hl8_SF{&GUzBj@%?_&?J1pZV{TkU<lI{gPn` z*_mvEcPAIY`;bdtNyun&e&2*lCKrY$WCl4iA|dn04)_{l1O5rQd_Y1TBHJSq@)S7_ zeu<nsJRu*D(?=vEG%;wW4L?+a$u4*wviheQNmk!f`deGwNA+1{k=1wAOk)G?Caa&S zOUde&>IY=?RaGFX&#H$_`mqUFN46Rh@+P?m-b~JnOUS@)1Z~KSPskqR0{8&3J0T&* zkgbUcnQnMeLR!fsD<SjA-iZmhikzIDkXy*^$!I58ePR8MtUj^UkkvQV3uN_?^%mI$ zZzku?Oi05CL7Veuqo2u6E+Ge!lT8UZ&e*hKo|DzT)-1C6)>=STpIb}F>d$JKNe36m z>Qn1svijC~&ZL7sFbv;Yu}MMO)Q{F~Wc7)42szW8kO|}h_*8PbCm|hV7knW(b$&vw zCFj6DCOhDJ$(i{HSxxr9uaWZ$67pZN`rF!Ja?m#Q!!?|&{<y}F)i2kH#s=I;R-as# zkkv2O_sHt6>uz%4l7y@x=N91@As6vO+z(9p;)KMf1Z^mQcO%Ocm~Uj~s)URsTT2ph zib=m3V@Fn>U-QVBYZ9`UtbV|5BA37`$dXUU{U#m!7sJ;k<Q1~|6Z?p)zQ+1Z4ce(b z$Mz(v@3F(k>Vs?=x$pxVv*a@P+vMEM3AviAe#cyLdRap5A?LxX$m)yiX|nnxd!6in zKQcDpxW%^pFd<(eJK(PvzBM7E$m;WK969eM<V>>qC+jda;Duzl4ab5>U!IVg$?D(i zF0%SLd&s2Uk&wTV(|4jj$?A)3vtjsT+v&uh&FVw#AhP;Wn@m<;ZRe2HKiidte~oc8 z{0PR8?1CRA7r`%(oktV$j!FLu*5s3d?dBfCxr3ZqgSEo&<2WA4$tQ4*Aba4s<a9A1 zSCI4IW#lsWL9(ocPdTy!eubQQIw6}(Iyf;cXixH)grvwW_y}_0S)8NE_Hzk2n_L9j zWaov1EFxPk;#@#Z|05y4H2hLR9y9zp`iGnczeV=Iq3N7UZ=iq3?uLYXjhucH>pwa9 z7S=1n|3v?gWh2g^<O0|wr{2MMksa`3Wc79ToJoHV=O%I){3%)e;0-)EXq)=Q+l{Qg z@eUy8!AFrx;0a{=qlBDAF8mAgitK!xkPFD_L+^UB`qaCNtUmO9M^;~Y>&Us!&`z?4 zKLq%MoPw{t*f)cAs^7ic$m)OZaI*U9n@CoFeP@x?f8Tjz_2G9FS$+Bagsgu5?jx)J zzlX`{&+i$s`t^H*tp5Gvl%PH8=kH5o_4juGS^fSUPgehbXOYzp;5@SWv%7?x-l;); zOim7Nkb6z~E)DV|IdxEjyh66YpODqB;DA$u_Nafsp=1kuAX$9|X2|M0@Kmz;5bPwY zZ^6sR>L>7KV*@Ub)%V}SWc2}9BC9XJPsn-r_)DG^v`78@?Mqg_e`Cn%|L;_?`T?9v zw!l}BQ==QiB`1%7KRt30{Des#(;%;s(?>VRdt^BVKK4%M7=d>p%h%x(o16n5L$;1> zkZ+QU;0|)8u|X~-r{JgY2W0ixxRRX5AEZ1)c1~!J$H<vU4e}y6Wi`kqvU_5K^gAPH zn|l&`>XFrd-l635DGf57Tn5h|=iy(^G3nsz$m(<NF0%UG`vX~h@U0`OFTVH4>Ps(v zX7KlV&EP%BZQ#-54)BR&8+;DA8+-|QK6n{<A^1MB1O7d^0DhEQ1g|Bhat-nl*#^Hw z_Q0FS($pZIku%`!&I;OWf%hdBz(<fha3i?{o=Q&Q4~0%AXTUAwJlH0C;BOiGnK%~6 zY4EjVs~P)CcEER#J@7BcCGdmfR11z5at8cYvJHNYoCm*3_Q3CxrL{pqXY+3=!P}8t z@NVQHcwe$L3w|O^I(Q5@)7Bv4$lf{d&q&VCMxT(=UGPmwE_OG_9AiJPLFSwE3mRk* zxdhIW%itf9Q{TdILC%4HLoR?HChH$+Jw>*`C2|@3E;;vYtS96GxFH+#L-IoSrX*Y7 zVPqG45V;IKn(SQEAm1Q+;M2%S2m4FTfo-x2zQEXg2m4DdT+$%lB^MWA9WXYRHOQUh z6!?Ddc2WGD-wh4&JLQ;22L3G9kaOTy$R7Az@;dN<TwtI6KKyQyJ@EeI+|BSoYIqs; z%kV8YzmW4_o9uxvCzrt2ljVmEaw|ClzK@L83do~m=SP^6#^yGRh2iB5vV9Zx>vs4k zCFj6n$S!y)Idup6+1P^@7<+Ku*n?M)J@D_zCGd;nGWZj6Y6Z?OGlDjF;1szCKA0?b z;`~cafzKpoz!#8n;O~+h@CvdE{tdYVE|ODsHOLF(47f!0z;7CR@cU%>X@mTSoB}6j z25lY=-kqEQA4$%Er;{CU8+jf00&*FA9XY)cYd+Zm|A}ma*OF5|Ymk2$dvK&VXoCgb zne2eSO7_5G$;rDL<P`EvVB6S$FC~}3uCf1lgLq^M{2bW^e?oS_+qVR55cqQ6$M7#O zw+-J1|F&fHx86j~fo*aLe341NAO2}g`oj%!J6TraI*P15X#ZmP@do*a;lDP>2jtS7 zc&}1x(6-cF{bX;l1O7UAkC=!D{)XY7_LI}qW`KzLcIi+a2ph0NR^KX1$m;)O8CibW zPkv2SKP68YdvJ-Y{v+NdtM7>Dte}4NA2EciJ|Ye#s~?DQWc3AcI$8ZT%p$9=go}(l zc&V`m-$|bEU_V(!Rv!n?lhq%=26F15ezKXY@0H)aEohs*TYeZh1wMkT?~<QN*7w4n zWo-V^Pv(*JJ?fW|^<CoEll48~KPBtC#2+T7z|R|d@CLHrJ=dGb!@&dFgSP2=xKm_( z=k`dlz6bj_auRHj_5Hw2WPSH<7dZ`f$f@W0$+hGO;Je8B?$$q%bKvL5ZQu{c`u^6~ zIYHYT@L;mOM|2oj-wk>=S>MMwg{<%5JcF$7)9f^icQ;-{*7w=v$@=cGTgmz!v0sw) z9b&7L2jP7HulAF_k{iI!gSQXi?~ZSPzjLw+j+`5$r|wS3m&wI@5^}g<JX<({Z2tz& zZOCcxe6sT$JbxgUE=tI4<jl7d@*BgK<C!oy58g;lUW{jMWc#v&?9vgm$Hw!q{m5mc zA4$$Uh-bfK`2(KG7#p<bBC_}AgxpAWz;}_|tMFb0a$zTtwdBn8BCnG3ABendY~I2< z2gv2u@y>_YLEF+ej=x0CgNKu?K_NMcoQj0x1afh3NX{U;4fq>dav_YrOC?(i@h%9m z_id5ylT*8j{Dka$4SyGGY=-0Sri~5S_JT>@Q{;8SIHos|?ZIgOoS^-guZCo2a`{NK zpPar0?`<Hb&_5H6J?6_PWarS3^cee#MXn>4!1s`?OGKU^=e~pYc#w<WcxTXtBI+4N zcCe2l$;l7#P7iW^XOVA^y)WV2BjmD#q>Ee%h2(Owvr9;plM7!8$!fB@GyYbWT)a{w zW(RE$@E&CABD8^=`<BRf!$U%HCfS2cC)wT=?<gP_QurHua(R)+Eo7M|@-uR2|ByUn z(r?5&J;*M2J=uoMzsW`P;lT5PcG?cwNiL4Y-*l5x;Bn;gVIeu4?BSgQo#ga)&_Bio zd<!{unaF*Hzbo=*WAhl^F+z61WwL!au7kUR_N0G=_ivEB`636AGq;LNB9|_~`y31} z3dsdzD=l&jIX^<=E^_K1kw*=WM4ylg`-{ljV7rC=@SY8FX}HMO$bveLC3|1PTqRrJ zIpo5Hc*liF2j5IC?S%IL7@Ixuo(;0McSxQw=@*3L4RUTF-seD;VIkSEJ7`-H_WP2Z zi}4-+vJ4iPYHaqydlJY+9LtNz?lO^O<a`<LLLnF4$9q@EX{0|&E`y&l>9Bc=Y`rJ) z3Aq4{_XKS#jTIS8*57OFLryOiIh-s@L{1>*&c!=h$jQA$I>^NozI!95_7S<6Y!4N= zom}2s<TvCr)}n{Wxf4X5B$tlB_>%KCV~rvgcElVzpKXTyE@Thq|6ye3ppYC!whqKQ z9}MH3=5%uLPPCa^xJ%^Q<kW3={|~ve67SnF{8PO9g`B(x?;|2x;J3(`BSI3#@vP@i z2fPp2{uJ-nA?JR9u_mW~CeloH??)M9gSO?#g*!0T<V*qQCUWU+ynlx5{u1jsIfwMk z<nj+h2I1J#_T<5PkV_xnxFEZmL=GdDAH@5AjLidh2N5~{dy$LCY1m&yc5v?aA=$zh z-AgWi4{HTEd7a3!WG^rB9=U+EHnt#WTN?B6OJr{d<{r5KJ&f$){4kO1;Mh8ioWs00 zmz=*q<XhzO53z=jtpo6m8p9((@+dijar-;j#rpOR**gmB3F^{*E28WkhEeuta_S0^ z6UjEtt*05AT`{KQ{8vP}$mu6UE;05`;@nLxKZSQ*k=?(c-;DjCBF~VmwIXklQ_qO} zms|kv^sS(s?$a1k!>~VwoI?7^<ia6n8#$T8JFmzke2;Ji+4&p3UnZxY$9J{l;^Sx= z+4`%<)5aeBny~@@i=25@WB{&Lv=38%$NQ$p@&d+`oO}`Q<1*>bqiu%Qq5BO#hwBG& z68&};*+zf<#@JxHe<6ECj48Q12k-eI=g$gBe_S*9$7T!0lw6pK_v(<X^Kh;tr+Pwi z8rkc{wS=*m8<K0t`qHrF<l-54&ks2>1@Ac_+o-2x7~A@QT!u~LLXI8g&j506Cy_nL z4)|cQjcd7a#va#ZXB+#sFplKn29e9ig*QchK=$4cSxGKq{rQ8j8HT<h=V0?Tx%5#; z{!1>N6_y5E(`-Kw_qn(S*^8V3A7;{V&oWtA$9hm)+Q`<xxGW;u;M>S~@Sn&<@axK` z-$9-KB@1}46VzF{H7;KvTR)7;Sh65}x-!b@JIY(hC6rxA7TminA?Lt9G&Z>ZeUO}b zu%A3jcEN9wJ>0*`#X%dqui{uETl<RaXBcC21UY@U$aJ!O7_KYGg7nLk(asF+*KT6E z^#QKi$;p@Ty&l;qCFD_Z0qM_?Q%K)PPX80<abxoi&f~al*8aD_JCO^p*_)hvTjUUO zW~0bhWAm=aG;$g|gDhCX7bv66CG^9!OfTMqcj7T!{lEU2?Bbqut+5BcOMClZkp!+& zwH_Dy{uOcw+(^!W&n7!4+og<sDc&k_CE0aFeoRiy7Wos|J_P3%av9rti=09FW@X(j z-uu5RuDO*R@Zn^^oS8;0BHbqEz?YFT;G31vp7N4}{EX=-r2mmz!n1`ZjXj<rtS9I2 zeB)!X2kw7q&<6D{w~w-p*Ms=|9@BGZPa`=4o=#5TUcSwwqkk?UmvAqC138Cda0S^# z+20r&@MB~L&j(&3XTYD41-u)s^|gOI@L`5gb^<wt<K;B6i|0AB$qt^wTtqJ6_`2TM z!*|XKat{1kvI~CF*n{6N_V69_A7c;R{_>zbE_feu34FM64096C&rf1{4$sYI8pc@6 z2cv88Kju#r-&)1@1sqkI-&OIWRa~s%XR7%1D*mX7Kds^fuA9*Szy3j0Jh+PY3OKB7 z*sqEYtK#FUcv`@Ioo7~Ya}{?~ad#Cjtl~?n`06TNR>ikh@%>f&=PG`@ieIea*Q)sK zD*mX7Kds_8uBA+0ZCAy+RIy%f8Jn+FF@7d0uOqyHfS-WMCItNa(|_mT2IyM|`1z=8 zM8Ho+<sF1~5y}Yo`KY{)fS-uU#|ZyM_yhqz6P3*f|3$!0L*+9BNnra3VT1@m6ahcw zlsG~Hp#h;ELVtt-2m=uYA>iX^coTK}pWfD#bTu`19eL0}haNU^)S;se-bS=}K}U0T zZg<a&?2Ps~&Fyn$W!qXh?3OOcX8o+zo;fqK9i5%$_Slkb?anrJbac-2sjH>Jtz9iG ze&WoI&bck951F&GGZtiL_sp5y6qKyb3d(4mtxYpgW@b}IOSY-`{H8fGTju(e&F<;w z?mTRi&&}=UA2w>n0{mrLcHH#rvCYkz4w~H4F|K`nw*3(N&638)cPy~mCUrJ7w{*ek zoSwPeS*x>sPB&`oJ9k>oj9FSH*kphmo!!~?Iqlv4mMcj!J6f91F=%lmt+{hfu;-Pe zSzYbT+1B>%?Ch5AuJ)OzxVZ&A(zzfzxBUVbo7l{@rY>|&RlatFWE*MS*wuc%4n!*k zCfhToeP(BKOO}P0dVW(^d()im?A(@)mYLn1U6t%kyJe2wv4UpI?(D+GgF*3!L9%mN z=GA6Mwzo*OwW|}O*VEeSZ@!!3pS7l;SF&?kb%TCo)n$<B7puvh+%z+LQcF{F)|xtP zI%sZZPnYguZ@O<?NuM|uId#$F+UGQNEf6#U_4rc-jcA!YqoujIr8(Qx+Szq3GiPIK zK^J0(x>{y-&bE8HIkTE8qk+ts==ZD+9d@X@rE5-8hd->rJP$?}70kgTVh_x1L7|>5 zq-o7n8BNV-Lv=zIdi(sAsx&j4lRKMxI)b^<)ie`xd~SAbXO~vjsz*wDvt&*BENra{ z#@X%#c1zH$eiRd-Wxn51W9cWObaPYJJao(Xt(Z+FZ&r_Pqsg{WQFCX{4BdENd2?~p zZ<)s$ds^paTjtwnXnkQCw6)H)J9@U*EORl<`e@Vntxa20*U>(wXMT33E*7<o3^MxO zfgo>AOLtRuQwOF&ZOLHQXSK{}!C_dRSzT?=#jWk=s5woutGa1+)4AyXN;;+v4(VCw z&UthE1<M}{Kgq@{=<J$Zl`yxZr@1rR)rrOh!yecL$#!Q4j$K_2jytY%es;3XndzO3 zjqSwIo*moPf-hl${2)aQy0JQ7D$amG%X}P#vzxYD2mLC?`ZhI{_$gWm_G3nSw;lvd zbLaMSwNxMM%<$K<$|_isI<wQp0a>Xeu<cz6YiwuC=nST8XHPf!yoE<s@A6uk+*?O& za_<Ifle@c`=FG(c5cGO&-d47YVX~XLg7MHb&~LiGFaFY^N8aq&SWmmoZ`Xw?+l|iF zamd;jMVv--1;kcoZ7r|6$v@7toL^y0VShVzt1i?2(4q(JP8^~$aQJ{{`ooUHiD#Z5 z-i~!*Hcqu!%&(qVZGojfk`+rd2y=IKOVgaH?7j->c?eT_MrW6vAZK-T&hrb@Ci4`5 z7S*Qf@O1~Xr#8cHXx};7&^~jTy82Gn)w9n6y)&kE+g&YKoBP;_-kDTut^+)?v&X+6 z*kT9GLf4zom91|k#*WuBLA_m=5Odp`F&*kJMye{o%nWR*((JBI{~R#0vkU7})edxJ z=l0CNY->aBH|erlRVX;y;Hm%@Ssg8{$gJNg=AG{1xj3m|S;uk_#4FcTNYKj=UNZOw ze!Q#YJe)63qn6MMBL9TjTY-O`3{I{v@TazaLdMk~79f+Po7R->_D;-1lj@&nYYqLf zGtUn;SE;Slo`qxCl=F@BfUQevYsN$EUMszh%+@ApGn!lU2(Fy<r{mfX$rC1<i!vsB zvo`^o)q=fOZMAWX^USU+CTABe@ALxIUwk^SDqxOuHDNtOg~tZx_3?iHjqCEyB}g9E z*`+ntCr{EVnjmokE|PQ>z}Qcn);?QL+kR#xbu6xEI_I`yla-8#xK3pyTG9+U*SYKk z{`D!Uoq!RnDrRx|)o!SMHlds`tZdt-Iamz+hHaV8w)vyi-PP0LU&PGPE)g7h!8Ms5 zt#q|-I~V7TZ2RmcU0c!jnuawhIP6Woux=e1tx)&QzmD@uRFbf=`zgWdt5@OYE|{ZN zL#<7-+dD8;s9^4bIeLug)vRwew<nl-I#OGvZc&qO(%!5S!JHy0+o?(nuCB6kI=h=& zTK#l?x(B<3qJAt`th7;jXm<7B(%l>hy(zs1f}i3aQ!^HH<0@AdA5&DT#noheGH%D3 z7xa<d+lt;gD^+n}Ma|9rjR;4g60bD6a=(Oe8sFL7nH`H(ofMoVku(imTAMOfZ>8$e z8g(#nq0^1)8p%%7J?V{|Y&YwXHn|B0zL^WXnYx80Tt8JOoP<8CjtBRNBS-ng8#}vk z)5yp-TV_sb!D=;@m-i>>>Q#wab_?c(e-ktIo6{?lora6AZcGbYx1Z9b$E2U#i`Du5 z)t#Shs5%$R(zG^QU{AzX*x2p4Tl8RKJ8ovW{cA+r9abXQskj!cO*yqTdRlE%?Xz_z zej4mf!b!0?JH=lv0-oNP9gnrnWFb1CsiU<ftr6G3xNNOSJK3&JfkC5x|50N%t;c`N z5NykjWbsZE3|g>4`01ik$IoLFtIav+3+z@;Q-`iiL5z^a>@bLf+*CCV&oI!nQ*fc! z)Zt%qYcEfm|IO)>f)1ZNaZ2Oy=od{sY3d}TPCK{V))^b5O&k~K@sp+<AJDkQ<4xL> zM$*`0wWQWDY3fv~5}Vj-JH<MA+Jxf*8=p@JxGGtZspH26xzomun-<XIMy51cy=|X% zI(}*4ZxuAMmk#bFmYq0d+Vrv0PhtzFjXicsZEX5!mf5#S6D<ofUH4=h_@wbur_{v8 zVTVoM`VUtyDRC`|hZnQ`vw}a#Pqz;ap1iOj6D$K}w<er!Qml#W{K?ZMo<zIJjmH|A z*h`JQxxIGBPMSD=ib<Y0?f9{5xu0%LH+#>zPM!|Pw)fcCd3bJs)63kpcD;<MPVz5x z^!`k5+q4rVp3KsX$4{DW+Tt^JW&H8eCr%kRHLyN;$_Z1Z;;%FHx(&}~aDU&_Y&Xq3 zx24(UgQzVsnp--$n=nI};hzngP_{N@R&|Qr+b+m<_uwkQU(&FMWG7F~ep3r^#YObE z4m_IZO+cnTTxy?Hb!~<^7i9elF_ePA0{<$>Kh456XqGPdx;Ep^Mr+d@%G#|nvfWKs zeRyKTgNl(^y%p0t`{^UIQ*du(HQ_o{+cPpd4i9nk(5p_<CR;eQ=)&HJy9AtiMh4Fp zHH8~PS%25?D6k#N|6Dw+!4s|7*{1opz2U<}MCY}%&uYWn8B<It(;*}MQ&6Qtwz$se zH8A~y8uYAH-DODfPf_et+(zOm+;3*k8okcJAXca2LJ_^KH+k)PN!)j?|9~_o73@a# zeE(ryZ&f|*9nJdO&+j0Aa-7?;0P`1P5frn7UgXf=L9UJ?PMCUSK9V-AII(6iI$iBp zB!gltb8zwCUoZx7+;?>KHc>Z-TO4HfCN-Nu@~<+2>ob1~{_HSubkkIQ_&Cmgn5q4! z<F11^zN2$SQwJ86U_CZj+Nu5|@eTF7Ux}S$?n+?nPs(X}t<hVelGIyFH(N3AW4(F7 z6IC43+yvu6b=@QV%YXkOl8=Fyq|bzK_2WN#W0F0$VgjCpz4JS`eNHQ`9bi<QsLyFQ z6mzp}O)&TG542kJZJlxNSk|SV-_+5AZqk07sLw3*x-p2JVD9y%j|>j4pr^9O;(V^= zV=<C?z2T2^t&QK&W+}(T6&{)U&)@xYEz3BXiGq`Q?^pb&c3ZY`_Y`y=yJ;rQ;&{yB z--lwhwd=e>4gO`6HEwbx(pw(6y20w5(fD*c(mS`3I<vL4_WssS@ViszAC@B;RBm`p zN~O~)R@Eb`b{MrS#)s*%(3q+rHnsLn1e4%DS`MaxN$Tpv-kS)Pt(kgJW#Whgj~|2f znf~K$RNZ!K0slBP_e8x3n48@#vvgssBw>;6sE*IkyBj=?Y;B*fSF9Doz7vA4W41KJ zmqO?>eVSTTL-op1mmEBWt0Z!EXM?4rlCHhb+fCd{+y(`k(XPj{kU4m!+>EDSX3^5p zes=|Dq|Vk>|4C3Kx!pg`EAeK3p{c}m#$<zH9H5{&-JXB0#&edS1wlHW+T**H;5w&L z6Ha_usE-^?)>&3vPq071@mQ(DPenHbi!QFP#*GWkH{%*{D$?(Ff;9gqtV+`wT2ah5 z(Ssw{l)rvs<9a0Ow;<?Y?o4kEHrCylomDmEOqTylWy=zk4m5_9gU*Z#Z^yM&y-5`- zoMQZgXv>sJ-E{_jw36%JscK)%;@L#Mq2!)b-Nowm{ipX^&N$zyGB^Ba(0f78`3b#` z!?dEgdeW(CLgjwf&+YD-sn5gt%@1}F^Dv9sbsSoi)b0g(rKa|}a`R@oH(IH@=4M;- znNYEqq1OYwPe#<lq*QFosLyEE>q@^G|4Bjh+R@AuJ}QD)@SvMlsnr$hb4UM(2<kH1 z>rKXeN4@z>tP1$HuQtPfqS;qX!I#4|Woo{R!&h8$yZwtG9R2LaU=rw)%HUE*Ti{RJ zU?r_2;)~6$CjEAFZc7tauHJq3FXH^!Y_4_cuMM?Ye*#qItiQ(h&hE-os!gvN4gIF2 z*Iu_~E+@3|+ERY*9RCrBzhxezy;lrDhx%pAcfxfIFv)e>H_3f&z9y4f$CkMg`;XIf ziDsNNBSFWYci}}``v@m}UY+(93C^6gSD#q3_~6v9RljA#w>h{<)&m5ig&j3pG^Y#1 z{hJS7sA|6MJ0BGW1+;B732iO&b(ssUiUS+}2-L5;gJ|{PjVk>p`&6TP`P$clWAZA! zQN6O5+{!|N6o11N`|6bdxwVIWC81J4n}M5&?zuC&+U?#G3oNTIH+k_<m&%J!?K7<< zIN37NdriW)8u?%5*Ittt>&oS)8u~--8&>sZbz=PirC)>yo4*=&5fg=a0eC8<mG zCq<Cl=06<wH&m10uUA1zN9U|yj``p1)TIRnZtVtwX7iiMpvU?$2(I{W9n@DQZbtD{ z;T-=b9DU{UOBi$gt0qnOj@!TJthC8)TM#ro7-qHVO{!R#k<dFAHQ^fPU(r<Jb<1ca zgI^_868x`X^?SBT5`N!+hp4q_`fXfYlK%{#Qpz9cx&GG`)s^|ldKS{hid$shdFGa1 zUDehZl=0WO;8@gbKU(Q0KU%$>_1aXeqMBB9-1SB)wN@SQnp?FT^hPTK;a8<c5J#8$ z)>i`WK`Iu#UoC09T1W5q%$k77I8PrWn{#w+T5!hlpW)+--e+D{M+;8GTgy5)$l__0 zGe0;<Y7u|Hm|D}$>I~#_<9;VqW#Nu))WJ13{)mp#E1ikK-L{D~`cqbodG}q(XF|nd znl8PSd_P)wB7iFV6mxN`b@~aF3dZYcbDCbRRcfiE1$Nyi<{wS|F7Y>BT35wzl7DNd zhCBhb`}<Ut(CqJ(Cg`{Bc-)6;l-}&xvtK3IToF{8>eou>;);>Z<lg5nn(TLa?<uxo z$fq;3=$%ET2ofrd)Vb&Hvw4bvQkqtMKdc2c4W|}=6%6iT{OxV|zyr3`ry%phBS_xj zmb$)@-e(@uQD8i_S@ncNzn`nR1?Y`xH{kiG=ISidmNw%@5^5SGS1lcCwZ&Rdn;2a4 zjGKZlYqh#yYV<~f*`v{#8P}W8J1I3qXG<`7B#R$q>2|br!C9;(srT?duDyGz{vu=I z9DKiw_D`SJc^tmPn>J5>YcLL%(Uq7zvo*K~nm!dzpEahH2S;oWpWD)Mu3qu@KSl9> zLKdX!Fx02{zb&-8^a{Bfw=kwUrnLLdGix@Xhd&d7#iA;~%;%~ky=BI82rc42%D}yb z-pl*<LYnAL=3vY;S~X_9(O}m0Mr)RPQ>1FSx5kdE9>U&eFoYVd8N%L#-XYW!|Iqgb zvTApm@%&|rp7IY*?2|sy(KhlLj#qv9Oa|TFhC4KT0f2$^BV8>jj08)GpC0@o*2nfa zm>b64{QNdM15M~?$M3&_LX~*XN0oTX9Q{=nzSih1VZP_+O*jX)c{K*X&yM^OdXbGa z2fyK^1@4}DFpPdCxC$}WxHmH+j|iGL6D9G)q0(8JsI#<^^8c{+{&99z)xG~D1RW?a zvBfsEwhW4Xu|IGUeuXOaL~`(?%}5}mVsGt`pCmOTA(;b#OJrhZG>7A8YO$uh)}~5Z z`YqMz4|Kv8bb=`}Al1QAJH6#w$KKSQ>7=*Q7G>~y<@^4uwfBCW=bRI;-hS`v{^5BM z=6Tj$d+oK?UVH7e*Z%Q1C1#bl2p&u^h$hY~ldmV*Z&uVomX?B9rQpPm=A)@C48bQ6 zZpZ_t4hndt%Q?*85t%&HVO<IJYIDf!RgCK`SD;l=b2@K_^y<x!Uh}G21iG~mtfg1H zd1XO=)2r*RUJLr007-uZ$?LC5Q62O*lUao3^;fV~{blvXENpNb!Unepy-BP60Tz~m zv;&SA8>%0XQZH`<UcUpoQ$P$GHj}|DB+805;cu`t_yX3=>-S<f3!pH3h00hP7eU6P z3{X?XoqO<{3ZygxYX)uH-VC~F{hnr0TW{_sB2=KYl?r8`%#_owz{}ag@Ychc;`VL0 zZE`Rip@+at7EveyUC|Ou^nJ1uK+9Um`KZqnI}TV0wM{Y0yzD|TPM}cCC84JTQkUTP zG6nVhAqiF>a!D&=mv~v~cbdJ}dYDTfmlCJ>iE10B1A0?=EwZ_+m4(aNi8=ra<Sw%= zSCGN-R&vYRkqf{Ax#g|ombTFZU~Q@!p#_QnTPnO1@6{b!7c1{A$_A`RCuo3LrAhXn zw&SLq%7EI+&BaaJT-=76i<`K)*o$n(O-KsS?w}t_1GHGDi`#H>NpzosY%XEY^FcO} zYEts0ZB!UoJCU?gNKjiv5)f5AhRGIz=aP5qWWBN-hIxFf`s>_CG9i&K;0WCpI{VG~ z6jJttu{obFkjm^;E{Dn}B#0#wKnT-hqElUCY9WgfLS>Y*kQT}|lAd5Am4&B`dk2a{ zu%xy+n+7zCRqoF1hR^_R6ML&+npmW%KK$AgiES>du&>{<aoaWzlvVq;Ead>wDbsiM zZ<Q}ddLrthk8LBgHpzS_gDE^2oD$z^s6eMOclho^A5*h;W8KqLU&|B5<?NZpl>`hR zto$4>0j-8X3lcD`b0&zj1~laPCZM@9&PA-NF=_}tpy2*jH)Nu)WV{92@}MYxOQQDn zHo<N9ZUfh_V%tbHV`iUw8)_jrUy4y{19y)ArBi<^lCmt4K$f(DZTnVuN7%y4q)uB9 z_pmW1?m1p9PjjsjY;z>Zww1UE+$5aM8@3ZIi{iABi=d`jXSh~@Ac_>zF=eybW&>~r zEAGE_VWzAbak&+yqSE<FuEkB);#O9TRcRNmsk`$*#<;!L0KQwOZ&^<~+hx0l`j)W? z(9-2*S$E5IZL59I#T;0=oHVo`sp$3Qkd1g7xCtS`JNnkM?4$Epu#vs62;Fx}6|<(u z)NR`~_3PXqm{!fWA{iIoLX>`^HjUe^=4M1&S7`>SimfzN!_*GVS(qGc+IEvd!=%{G zsI7EFwy3ZPYtQDJe1g@Qw0V=ZS_Aj)r=^#`x<TDII3@QBK+OYvy3+(?+ptb@wour; zS#ocU`Zi_X!$#hgym-9qq7u8lcIYzCv*H-2`c6);#(j2>)=s}L^$l-6;W|YTw{2d} zNuRI)N`_6<n{U3ouSo=Xpl!o5Vr&=WXi#V(^IY=!(I#~R`+2+~#YCS)S$noiPAyT) z<;Q0?ZDWQE-)+)zaIa6&Qdf|CS&o2{{m!U9t*J4)TBS90(`L4yGhPu0AP~`-9&<|w z*08N8O%>HTi%T?DlSsx^Vyrvn5?v=$3(koqU3bw0ec@mr+Z19q@FZ3K6f9+}z44dd zdCInKNy}O~pVZRM`NUNDJh0ftEh$!YL0_PKv*gy+&C;S+v$oCB+O=$!8gn+aYlcv$ zSW}w{D-vjGQ6;r+&n$(AS-v%`9d#s=jpCwK5KpdwGXkn^zV|D|WtlZRei0`x^WEI& z7QvYXbhr~qRnG%6$}*2BYOg-*@8K9m21r&nAm~pY8*wuXhiK`;pc*=Iei?Y{tNlAU zpq?!?6=A7_9A2I#BdrP7gUOCvgvF^*5gP6b0C@BIJ?{+jsrZ)5VySk{6_<gqYQVRp z8Mz-BNS;pt(8Q8cvVc?zeS<c!<k`2g%{VK=VWA|<RAk5D#->SkkL}PZrrx}nePPX6 z45*FHmVn8IHI2PVkQvBT2AUa&<yRA5Q)W|>b_rtK#DJWf`;3<M@ANPA&QT~t2{uL3 zq@|GJtG})Qu;uH|@inpQ3hz5C$nLMH9DntKFE;uS5|lk<>0c(+^C-*mY<aeDT(y5` zD94LUuU>3=we4ayKI11ZD`ttW%7Uy?az4*4qWRI$bAue+z?OXuiu-Gjw`iA+s_p5+ z*A;;#Z~<udU>LT8dB@<eH+QS;aWCL%OpId9*kVqh>n0pC@@l?jfq4`o7^*zDxvrA2 z9edm^r(c)`DR#6XkX=^&wynPfUzal2w)G+z2Pf?<P>VWM0LB7xSu(9o{yE1Lava!T zBVn<lhl@1q%tbEQMwi^XSJ1~C(=$(Vr!$UHOsBOmGi>drQl1>U#nv>OSvcIqtPN{s zO{1Tgf#v+B0Vo4!A}E%wRaQIy-_$BTn=AUl8MW^q)kg1D_RP%r!5Flz;A&^&^GIRz zePK!#8p+k#^ee4a2UCy+MhdbLEI1Z*J8S_hq|xEqf|o_`TJ*odsS(bgY~Hv{7MLSq zI<>N!u~8G4GL|;Ia1MwCxxTmeU0+qe=<0Ny#j*RY_jCViwTh-$zqUw+7af6Ta;&=# z)@k0X2OXT_YKP5tY@=p^hDV1R%Jl?ljF8<6;kP*mwvs-iW566Z)P@~H(yDP>a$coC z5ft!x?LZQBQl{<KZ0CKgUF7lepl`#j^sT*Z^X6S)Z$uMtExYkL`kH_%2>`SJ*Y@j# zc4a5mS+GpjM70I%bX&kqxdrUBSMFYaoAavkm&7MI&tNeJ&O7YEPzTss+~tXH9LkO| z;b7GU&ZoUI*!}csMlrp4w@t5MFiP(>lG^Um1meyQn6YD8yX|b!(yW9CC}fMk;>{Hi zDo<@=ye}gHV;MK8J~9P;EU9m&)&_`{$g>&9I=FBGO0cduh*-+M>Yjl-z>C!Auwy&g zn&_D1a}c|L0vl)AZe@p@c~C&|UQj^Ffzm!RLr@X6>&)JaSngHXve(F~sjJ~{&2uOP zPolEj6~RVt+hNx(#1gCrnR$)1wf1DIg}1Qbd6OutQbcma$)jYtv*+fWSh!3r!h1n0 z0<5SM0a(z901I_aH`}0(g%nfB0;F&IMtXlUo}hiVDkgJPU+?bfTTyOVLn6->sL6n` zP<f>5?2@AdTdh3_vO7h{b$&HR$Y@9_&0)+#%sk}*?Pxp9H+q?&-qOF(ofmCf)8%Bg zO;<GpuGriT)g^Z5JWL%XTmX{?`xslyo*FTa81h@hPoZyRvFM+bn32g~85bEWabY!I zzk~3gj>F%~{umjwJoLKFHzD55yRTYL#GsgTH5V^!eXH|e#oxTUs<lx(X0eq(RdwS4 z+$b`rwWO3ovt1{7Jj-lQ&nuRUh0xF{z-f7%vvfP#@1z~U1&|@Q5@ZCJZFs$$J{s{> zGqYI^Z~v=V?O3%kP*&jGc=ULwQA@C3*WoaM{Agu!=F|?w{JZ@UFSVE2Sd6?yJmr+! z-`C+5$OF7O+$)h`W|h3j*i0p5C~9w0MS+|`PPjMar7QLVAd}`>lDxcH+j8;{$yLVk z)fP|A-mSxlo}(vG`D<QGwn(6>mr~4M+4eM*vNl&rmM#z11?TChRL`DD_18kFM!z5~ zCy~UZQZ}sL!zkd_d6<`-`g9>B>yHJn8CBf^<bo@tnQzWy*%mokips}9vcy6Y7fge# zr{wN&+sSo{%+GKLF~&FDv5gzJ(v6Dt8r9hoJxCaLV#F+VBU!APBO1t6qkxrcSPl)` z?X*6}!ZI!_za?;4QEQ6!==Zfv(Ons_L?#8g_c6Oa%4!s#c|^&dV_U)A5uT0KsBiln zx3Qe73%7EW7SI?>bxx2}<pjxUoIuU>N(s%?N(q5ky|+{<2h7mePR5ouo%xdAg+Rb^ znCqGjE#;x4QO9%vSHflh;MiD}umKfWmeUb`PfFsiEdmQzy0|WhEC)+M%fT|S<$xx* zOjDXuate`4Y8GlPDagwqErKn8h05g5r{QKUY#k?_v1E`$*VJ_+cP4v=n9E{=N+RGj zPOmIRZC<~JCNW;oLti4ZH`~1pd3#|t$J(6&$bMYYG4d~LsoS`DlkK*Iylpw;2!Xl_ zH)8g4*&4H`ri55R2G$<BX4D8vr=$?Z&W$^XpTuKR0@(50JYd64ZO_a|o59+$ZL?;7 z?Vvfq1?DN3DRv$ki0%|ZC>aG{;plJyW(?+7&S)BTYl`b<M#Ec*291Xd9U%v3!Ep7D zQHC6*!k7jomX{GsP!3BpfthOfp~W2BHj1_(({$E`930WuefusX$8+#XJz&#(da-}0 zHeBb9Bzk5X49@<%_=&_8>@aW1!IRM9LB}LC^N2W084Lq?5~LN!_Uf=)p<74um<A7f zrV@d0Ksyy}bUD?h*hCSyk!yLmVYV%>$V9+w$45TNS=qHm$E##-UF>0hXJ9ZMaV(Y^ zp~Ye&v|YJ{G%tAl7J`aC_7zM>4vw+nthwgW&A@0{1P{H%klA`ihs!}#md;i>(Cmfz z@HrH(TMppW$^neDb?*e!O?He$+T`S<gYRV!ShC9-GHl_U0_vxU5^Au6S{SiOTQ0#W z%4JP!72>*8w^P`z^7wxJ&Q-EN+3VGQZ9xRASbNo~Rh7+q6${hI8sX*5dpB>4KzSwT z!um}+H)OYtnkr*$Vk?GgHDZ+k6I0fm%;30P@uP})jcS_|2wKMQtjj{fYE^>dH7a96 zWwG@xs<H9SZN{|IPJ+s=$6%{Em?OUk!S%*C6+%c&7nk;JyKMPo7b(Xsq9t3aJKlNG zX5F5~RY$D}n@*Lm@l**LPL;4{+o{SpRl){>3w_)azJ1fSi}kc)^G%z!vFEz4Z~LCD zy91B|6EU5~2;F$|u7Fz29(|qAW=|rrd55q6p&51?v>Y$NxeUYO$9<bPZHyfIbP?;V zd%S2p2GWcdK#es$28P%m9ie&*P-+pOddzAR=~B5!m-{M0VLXMhHg3Noz<7$V{silf zuw6TM*+N)Aj;|pHy=z<l?J><>V#?0jw(Z$s!rjH=rtERAKf?8%jaFARNP61qPu#*D zQh5rgJcZN^dpNHYO10-uC?kJ$$DTb~Ts8b{Q{ioI_O@rsCR3D{DZJsv^lyT7HPaTo zaI7@GZri)5kSV=+rcK36;dR^Iy@gEa%`@#SX7bm~98}xUZz(rzWDbhXnI<6%*N>Zb zZVFFT3CMxfBD9Yw1&PWiBul)cgB#6v=>*n}DswaZYL8)J!tgb3!fV<{w~wxx;lvp# zyWPSuGEl>1o11rVsRw3}ycl+~4i{a1dC&5&QFGfS-Y#dm>KeB5ts#Vj5w^Lol!_n+ z>t;9gvv)ujj^X6tI_|k>>9XaQlYdJdbaBrW5E01soJCB)m$NEy(bCH=yXdk@FQIOz z8lDaJC)3Mxslm2AL<eM*W%Y=JIyATnZD4dT3t8u}lO4?V&5Cp&QUr#Lr-8xCmt8_l zguH(DO;vgRzSa$MItW`pw&Qv?-_Zt0gt`@T*XD~^L-yn9UYZdwa2N)IKm)vQ_nzGw zwg2u^VBcw6pcV3Py%)Ak`;c>~I&9cfzD}hvaR^}QsCP4oj_45I(NaJPpquw>D1dXb z_BNT~38O-m1Z<{d#{&zf4$0%$!KIzMw0U9uGE4(kma)~5H@ccXY>f}}9==<UopZ7? zUpuyK(19f1NZ=Khyz`>F=#tAWLuLIUiy)k!ESFq<3DbmvNH4l%`Nix})fuDMJ1$wS z&r#$ce!&5lmw~Ac*hKY;o}K^?t242<D|#r7BS(qy73xeGAQHaf3Us&`yzHV&uDId~ z^*7@2f#Rh-%hUropOir^CU4xrRIJ*i%PyukY)b4v^!%QSFNbD7LAN6A(w<9tF2<x_ zi4wJ_igHeD|Fu?@0w+tCUbc*a4PWN1Dbqztr|^)KHHdshIIxU<6?$YoQC==7X$O?; z!nE~kvm-emE|_h2mL72mL3_K_<Lx!!3SPwY-C8*q6Cn%-E?W#By7LwS5SZ*_nlh)6 zLP^jED$E+&8`}`#8zfVvD0!Q4wU{%g<Q-a_1~p=NFEu)wEeToKd300HbPZM?;k!Ge zts0=BUt#a|Js8!2tr%wFjD9#0(#JT)7b~deRTnM0__B+xSavZQuIs;Wf{CFhlx~U@ z2dkU*%H`uyM>;0yWNbH*Awh=QEJbKbH3`!7hyIcX+7&tJj=~7WZB_*>UxYOmjP%`a zme(H+ZDp|R^hbhGvR%#-a(O#vcbc_O%OfX-@<93NHedGA^GSZojgD>Ppn(C?f9dh2 z?S5C8E^g6)O>j&*ZG;9W$B)aR2^b2^Vde_Wpit8QnQkX>C9+FgJSCI^o=*7ZT8X#F zLta+Gig3hYr))!G6;nc+WI&3@&hN8dZ;vY63`=M2V;P1Mj^t;&YCwz_3?4F;2|zh5 z1BwQi0)7sls)v@`D7Mrg?CeX-U@yT`6cX}sDI_F)$$EiJ1as<Az_%*oA(4e#Kg0mW z!wHc~fnq1{lhrnQW?;yq4K_Ja+GLaO;vR&_A!yc*D);~>8e&}CELnvJ3gwGm0vi`y za*4(rjoUmf$C_vj>#E-MyL{Peb@(V%5o+s9w%Da3D6N=wG9?dQtNnIt;b_WJq!U&? z^F<n=08hxhVI_BEw#*$Mo>eQDUR1<%_*x6(h=n5DZZc?>!482J6Iz%kE}G_vUzaV+ z+v4529jrPyH62dMi>Ey_FSIO2;=oQgwWm^)7#~dVor0-8`m`6jmHY~T-Z-YPwNh|@ z7fXFBeAP@(_U)6E+qPH@`c^PeVt%WHex~|c*{Y?@T-p2DaIpap>WVH}2#O%3AtjJ* z^vh6UgT^f7n>VnMr`Udm6RK}28ZQvJ-rrKv=56|1ndQ1lJ#X8_pHnz3uF>}8fj`gY zLqF(E8CU5P5`R~2yEPIJPf0<-RgtXqUe7hej;i#x_?{@`Os~2SC&O61ZNqN+z*fZR zW${}d+=}l}IsICVtF$<GJu^*}vxdbNJK_nhbX%9VT*WNy=ly)?DvunWB5_Y>W-BS5 zd(Smn0)awOfcY*Ei`e7{heWcf{4C$v&Hd|k__upDZ>nH)>`Dn`+|E);6lIb>{Kq?Q zjYjU><u8D4SWqdNlWIQ#)FPPug5fHa0K96|N?Mm-w>1RI`xb!AC9dLrahXEy$L2zB zq5s_G+qHEshvQp7nCV@kOJb-&A9vz&^S7^BMMNy4zBFPtaOYvGIcHzR80L8u`_0S% zQg0}-c=cMfGtyeGd!Pf^s|g9S%P|UCm4A!fb`a7trL!b+%-(8FSU`}{$A%C}ytzCi z=lZ#&ni+60xgQzv3b%p>pbBcL#9Q%HitMhr`nr~O7Oa^u!FuEA%}@Zr=Bsrd$SONa z+XP$_ui|ck)0uUBbA)Dh_!Z=Go$WUB;mCAqt-PE9N`l0oO(1FT>wOn$1XVXgt&{s0 zpiMU_C#d&mcD*Wg)R(M?8sKf)cIaZGO7QwamK&CGue$`1S30%zYCpMx#r8sTFtZ+O z!T~$cX--=kcn->zPi7;^sdBQa(Z9Lu*K9XYO_n=fRJ6x=m^QwJ-8cod(qP#H#gEL@ z&n_7&j0#5Ez}Ijzn2#%E!f+^`&hXJDOQ21|xMR6Z1+L=za5)TyFII|M0B^?Ik9s4a z=^Gp^)M@(oy)>j$;XWvI*-Mg+xy)B-i>VA^Qh_i+=tBI}8#ghYVy=vVb_s9uoA?Xq z>>~F4)s$-60HbQyOWaExvS3+&xM(fiw_azdt0<o4&H(P{WbeLP(T^i1BPFHux;mm> zoBE9VVqrINsABJWzVVWIC%kfjK3!k?MU7B^^vV?RNrrZ?K6976M&L1oJC;52SrY&D zN`%ER2_4NwcfBNqGE718L$}^@BX{;%B$5X6YuM%KrakNrv&;JoQgA$kmyx(8e8kWC zvGI{0QF9|e%W$?&y?~awV?vW#5=X!SYN0np^a#A+?FC${6l%h`j$A*8SxDpY)QR?m z#b#>x&XXh5mwIC!$TxIwgThzO(D9f?BNXVWQQB73?S29Gy3MGVwy5Oj75i^2#h?Vf z95;F(vK^K=0qDL4xHj{hue~mQ#FtX83-_DL;;$sSe2rbG?nWV>=EFc5{Zf)XH);hG zh;HU1vV^p9p6Yc8l-FPH#CaFrg_7&Dc|cK);qt4(P#s}O<Lwhdv3I!_X-)x7kFgy< z`Qbi*5(z|TSu%qVAsG>bw|PVLCJsdGWStSY3MGDe1Otzu=J1H^rpXdl`iDZ=rLJM= zo0A&M5M8<==aL8}N`Rtf2!ccGpMPmvq*6~+rd$qlB#?3N8#ry@Rk>w%fA|FRS{@N* z@Kk+L#q@=9DURveA<A-X!-w!x+W_6Wt-lShpM40e@Z_6^%&2EF>KSO=YEJ&=O9stg ztIN$$*Xw4eeS)hkut*{H=}@%HV?LMO->f}*&A_(+Y=*7=g|{_>awa^KuqMp>!YiH2 zN0Qw83h&rCNV9~L>uOuc%NHnUi{KKlSZ@Qjiq60-vdf^&L~P$(OWUvI%E~-rYwb$t zOku9yeY;3T6dWLwn|<*+a2J__vR3K1mcWjZZ5wq`Di714ktSFgijbRSEbrLVj$S!@ z{y0a@LAkLel0fSmYAdRt!v^wFTrC+Cp{wz>n;6TfnDMnnQ_W!Q3$?m#b8<o>19W{u zxn8HY;26W;)AHPOA%mrvMV!#T<%TR4k%JXH0zR0h%k*tlyGEZewt@n5byz#5=m0U4 z5Z{Wh>%vEoGpwQk3t1B|??HvMb+)yJk5*|=rOExPfxPqOKU@J@<jI|1XXYOlA;RiU zJ^*Uiey>Lh_$G6w?Fgvu1K}e7bmK)!Qrv?`5iM!qA{OT?pL!G4S__vih!7IfW&4zX zlgt+Q7JhvRtOcCbU@6Y3n+Ny_mT;W1n7YT&)84djs4|E)Ec>u#WC!sS3Aea(?mgTn z86aB2FpRj&<yk#^pAy3gR&!dB6iZ<nJb>rY3?%^eZ|dqQ<}FCWmZ<`WLyDQF2IeLk zs(qUluSRH(?u)jq#kq42xuh*P%<WT<RUv^Bdn`=Y`j#=VmE)%Dg<x!;thD8O6CQ98 zlK4qDtsBj)T_AHa2bzspBcZoVRR)@nB3{$WEk(Rrc1PzgAUD77u@9SIM?yO9iMEGi zq`Dz$Z&*7E-}ufNB<b2F%rew4O7`(%|3rOQ4l%ga0+*r<I(3JU&q%l!FKw3;*DbUd z8aCcqDd7a14!N}<n5EwO0?F+%#vORMmeuWGNCMSUU~P{(Yg8z~cbONLOVHP6?GP4U zdkd#=!>YFNeyaz6v9o+|SRccHSO!Z9l7Z}NN!f`MKX<ax4tpgb#$z*{7!S{Q*Uhr} zv7h!iEv+@9_xa{5iq-jj#W@b_bWggWK&4731vIU{<*kU`i(OyKkQoNe$J(D@typoV zK-3XOjaO2H+gDhQvJI*1!tsv@0WhV^-nFyXm$;)&rp2&k@D7DinvnO%sV*Y2jvcqS zhf;xLm6Erg0KQ+^r0A86DPey=o0PPlpiNpE^9sSZRXpRSD9-++S`}`Bu_W6B@#Rl$ zB9&eRZXKqJNLzv22igkcTFzGBC2fH1a<{|dlGYZ2+_YMN#jOk+<lVJ(+eYr~(4ih% z(Jj_7EFl+xZ~ld4eH-rZs0W8>Xuf6${$(pr;Wllx2;IDoLNR^2G2!bs*kOIYZ`)2A zT(It~t8Q4<qg^*!Hty)(o`2t>v!KA^7R6xsRRwnPZSLR23V?cAhc-BPv>-efTj5#U zEbB`+A@;eQxz#UguOoLUapFdshi=}u6{DoT2IsE=m%QsFw>{VZbu;tg9G9GL-KmSg zK(H@$=8|?Yamu~kqPzF}gO)jH8lfO=4DE^4)mWvP>aRHBuU-Ga-yIRK!*~R;+nDEp z|2n?+`<?{8CxP!t;CmAIo&^4XkiZwe`A^?|X-CI`)1dtl{++|W0Um}r7F%gQ%>VZ; z?7#)MzI?;=1}gq<?yR=&(Cj#!fBLImAN%X~_WQHH7wMJG@U(m1d!{|;eNl$4mx27N z91*tNCr~qgCk{ECxqzYf1qr*OqchM`o%M5i>>S<B1_^sF^7quQIKAmWMDK_t`?c`5 zk<nY52>jQ~-{`M8z2j$ly57|W@mHV?kbSSZt2rjOw8y}2JH3OibO!Y<`Jd{?>5d(W z&dJ@{2~snEouBzW%lfB*Kzu(nz0F&>Yh1f1?AJ_hEYRy&>ip?FU*BfB(z_{8`}$U{ zxPC=0HR{`%0Bd@ezKL$EI|r$5=WKEMor<1oJ7~~*A-?+h_@qdp*2>@Fz)xqu(R-er z^zFhz{_X4g_S~-hT7A24_nP@z66lp&Y#n;f(^Gw4SD@FdCq?<)_%GgHE2}+|-lME? zWYQ!1OPMQVzh?gKyV4an$q&>#e}U~pK<!%LUtizqRd4;d^2$}$hon;I2t6T3ct7!K ze^)*8w1j;l|CS{9%XoTOM@dI4t3EqsU)9#vUv$yyEuPPg?04>Yy`~-g>=?SpR8_Fo zht>Z*uV0Z;p``vN+Lf(mcPydsv;OAnj;Vtk9qJWP^=b%C|F*!`Khv=Jb^xvLoA~Rq zJFd+`sNVw!>PLX7oZ9fv%Qt@FlD-GO_`bhb{l>rl`~|>Frl-@dJJ0M;t1S<>;_Y;k z#)6L5SNH6G{q}7e^l!r*%Pv}aQO`wa{I(6?=%;)={8Jg0Z=s}E%y$R5VxH!57zwCZ z5nqSPICzorK(K|sj?;d>rJS|56F$57qBrL=z7{Oi^S*bS-EoAfN``uu+`sqxo&^3+ zm%xg(tA~H|)8Bah`4wxQf6XVqc2-B%c^%Kc<`X;|vfsK&?e8lGPIgyn`{paP>RhE> z<}d&1<+)02yzvD74)4>vPxH6I-$v!Y@$PqgZcEpBD?2(u{+^V-wysgB^$I^n2U^Nk z2VVPPrS@p!VJABYcoMQx{GEbq&pSTXb>4tv+I8Nbi8jz*oah(mjyKK~p##SkH}T{6 z!mXD&DVM*imV~ljrz}buFUjh}XB!b6ZY4X_LitW_N#&>^D67}zZO=dd{C7+-Rd7I5 zjQ;+UlSVAp1PA6js%MRt8ybseK89t4{@l{XdcH)X)V^?Vva#(wXLi(%)p}3VdrusA zu4A8&Wjbf7AlJ($j>?)oC`hU28@2J$!3V@;?F)Ag>2Krlp)-Y586Ms$@OY*6g~k_v z)s8`|>wVuMBPEVh;G=8szsENTvbF+&n)GA`U3v%^HYyJapx<Xy?q|h8?cp^NPVKL1 z53II_N9#lW@S&0lexyDmgxc^M_5Wil>qB~2T_09zV>cXG>(v%mne~p!QQ-EgTrtsq zeuTni|GD-ueD-tyQw3IfX1+@Kj(`p{x7lgJvic;_R#%NbmGPk)DTC};{`#;$mDf#J zrurF``iBg#;K};B6ScoWewErIjjs&CaBb)Yq1OEmRPXwc?B)6DS&d7<s&^ciU)2AK z+1p7nLiJ(GwP1q$4hVltc{{0Y*U%25i|~if-WY00BhpR3ejw;H67oh`Le1%Q)?nQx zh4GS<sRKRHpV>7o8YHS${em{vzV-a`PW87U)p1YvX3uq$lBoa`<vP&AYvq&m^2y5n z<I-pK<!B$eE2G^;L#2#2ZWZBVO=!F2Fw>}{Vj5I%!~d{ml(OmdSN&Dh((4I-U2Ly4 zvoCW{q@VMz)js9z0eK|Sb*M77=*!PfdQZ>nA-3eAy!{z3&x>~`*UI0jm%r7VUfU-q zX_X+`JX7!ZoD&ZJ5B8+n?Ah??`~L1M6U1zf<%z9lHuAUs3*Cnv{tWy!Di502VWYC( zNepZw;-g;G&v}iz&MRf|#-2Cs`nE(EjJFWa7%$JsQ=Pqv?9;9t*7bkqcf72V_1=>h zfc|qVotAnC60=>rAu(&ZH=u&FF(OC5YUO9@<!9Q++v{g-LF>Lc<<}qpDG2|!-?h%g zU@_i!8->7`3%Nk_P>@$owEwkrC#gI-aA11D8$0^3deh1_qj{j0GH^tXs;v^`r_Ows z|4D5&j#ZAD#tP&72_f~rJfEvxx)6Cy&Hg|UNNvhf<K?Hw)-n4=(&p;DPt_i))E7-4 z!>P)HC8hAAGBTu}M#dz})z>{$!(cCZvR;1bz}SLX`6(Wd@D&rg9}JAs47KtJSz;Ug zVtsE^eQVWcYU|KyYizVSRO!_eG;^MtWLl-vUGIJ7iiz7)TUBmmQA!#Z5l{8fl1hDG z)Yyw7t*rXJKx88%l{h5|QmLLp!m;_q2d29Y%rB_!qsmj#mioG9>hclxHCBvL3iaKG zx%y(Qdc5}KmDuv$<E!iCiRUM!wp8>fRH-V>hD{o6-JFdJ2&q;bLr(SbSZ&=y%Jxv> zTvR~0re{Ha>cIR<`#brI?#?b(eyT|JO1;|ntjewJ8#Pf^M?__`w(fpWxu3#E8m~~g zDCI?aW0QZ7lW(o}<Z8+pFH2aiLqXC{n54g%#98XDl^;UiY1su6weqMvK6J&zo^#>B z8e#XD_5|!!n&Sy;4voP`GtyKcGryZ?wrQd<Dm>-`?_rQ-P*2fBC$lEH#WJNPs_#3A zFs5t!?ziT-ulD8oy8DojH_b@BcSKF|I*FF1nMStt>Pc&ud(|+#_cjhN3P_Ak%sgjI zjHpe%4*}Q8Pt1G`P!L#T4@fuvQomCDWol;R6o7QLCWMR+<7IW#j+qY_7+L-)BcAb1 z`Cr5}yyGHozsTfmu>?s|zu0qM>D&)UNGSM0{W&&$CVh2s_7%mnfm|9X)0C?2yKb^l zJ9na9{!{Cmf64<*%Q*Y)jb`Lj)q44fTKVaE`DywmO62`hzOp1oo8EbWJss^(5&SCD zh5?oQ{KP4v-0bU{a9($;LU)Wf_7ZaAUXTIw27jmdJI!D8zC5SVbY<`t+m!F#$_tmD zaQ-99|DjN~RGng#y<Q!a@2<!#CU3^q@$yMg8ZV#V|0Nr38Gjh9PN*j~ke9XGZ9j;l zFg33ONIF1EKMCrS4RcOT9BV9egR2fnZ)POZ7>4UWi@xJ?8gD4CR%MW)Q<T5;8cEHH z_|~z;V#_)oVAJF<82Uj`(_NoD#yDZmPuugPsoDv9Mw4*W9nLT?S?_&9tb?LQj0j^h zbzIOf`_fQZtKU;X5<UfCP}AEqtdMuA-a9E6rRovg{ovRI3%Wiv7ICFI3{kaCe|V}^ zSrjxWo4<K|YwMnI@zPsyW?ZHWEW5=Rx_Z~_EsQYT$e$VxFDmokaygM+7{?IEc{IQo z@RU(F*JSdHS_R;V0}~8|!c7^G{q%tbP((VdhWUsbP;(~T(Ma<`^9Q8=nyYHA37L8a z24t>&h6HiK0Hs9+S+ywGmNW3tuXwWS!^Z}`if|qi;xvfT50i{q&m<Ga-!;+Sh-H|s za5j19jEu)uOjPv(8|BHFfoRQZWlR~s%%eu_sZQ5#J~H^FO4rI`pv!WA)jL;Ns-B_@ zb1#@dy<Zs`S%$_7W@s1>S1x*>qvNi(7<qqw1J8}hm0$Vf!j8LSk(kHNcf9L0hAn<j zQ!D1l=VZiG;ICJneNHUT?h?AN`*@H9n1QStletDdBaLy!ipp?#biDkKv?5Tc^^W2x zj4<8D(vCFVEN9eYKDM%6KE6`(SY}NBnRyK3%wxDY^Ru0J(DTwY5Y0W?m&}U@LmGkB zdZ$2i;ZN~*N{zr@jCnAb2ad048t+U0p7vbve{Op&rJi#YZ%?(Hw;|I@=~b=`Q_D#K ztmQ7VoVk{3yi8N5)&}`U!2j_LQfeN*Vyp?R>OaePyHeIKb*rhF%d%!r^S*eu0xNba zWq9#!rS6NSgIUAllFD7#!8GeO^^P%~iS*v4xr=(knDvjsIFCsdfmwA5M*TFr+Nh82 z0~AVqo$@|ne~<km@6}P>zg$@WlO&!0IMfAsl3qPvT8<a-ctxn7IETzp=R2%3n0pbh ztTRkoXOJzCNt3@2J4J){M(hY7>=foxS${yV3@~86xO^E%o?1HL*e@>J=<!afKhGRc z=T#xNtg1`(NA-4W8gbBOPd;ZBXKv}2p8Xd(^Xv@?b-0%Tp9r{;#c+9SynI{&Kzii- zW(^ry7_L%#yz&1&XF3h16BwB%qLKMQz;b38F_~L*?E3+%g&AoixKUPldKS-pQhxR+ z#EAQc3cEi-ymU>nC#sWl_)K`5vznbg^Cs8aIZc_><A@e{pzzx=l&Wxj6%{7}QNON} z*q8;6$`g&Rc=AMLfvlXG56l?9j5Hq1Xe?==G1mAmo;>C>q!Jk$6zY83n$d`SEJ=Kf zHs0pRqfTS0$VVcwG$Rrj$%u?JzTcBaoXDgTp;9*B!c#A*TImd6Y<LAu#A`1)Us-~@ zWy9lm++*?%vev|Yj#ZzInbV_*usLpC()XBg6Qqr#CmU5yp7im=I*PSjqWlL@UtRvN zZ8Q6aRjI=8E}py|lvSb*s-ofk$|-PFPjEYeswo?C3%xeWex1t?>IzWOkcsf}l(J$; zo3Kd_ax28ID*I0ks5(Wr$(#t}rxXqSZUS4C`L0%Fmf3Pe`g2wm;EZO=iMd`S8KuU~ z5f!bk;}7%lk2z}4hoG35a%VJe&uA`53Z7`*=QR0KKGJxrqaG<JYUp#uP~`J98BN4* z9S_=(&%;iWKjlM>Z+_jXbf}=Wk<S9rNyk*>BcnN@2c0N?$^(txanu1PIuSH|I_nHm zxz3;tASHot?}T-R{l^Drrd)qm^P-J8X<F87nLeY|&YJ|{*qQ}fz_BB%5B)M&r+SrS zH71;>G5J#-Yy9OiCZwX3G3}q1waaMU?}&LBK|9h!GcpC)@2EjRri_2H5@b+^A<(9d z7M;66s^arun;*{UjhPEI?t1^bc}}w^O=g(6EV1;H!;6Ltv$t_<=EpQmVRFcH#(*Fq zn=~t#%U&!%z?4NZPNqamX!N8B4cX@`73|_1=7XdZCzn|~yi{mEUoZ2~<07jpwYXCw z3L3(2s2JsR(d;mm&HQ+@eqdLX&nVm}m$_+%0JeDv4UwDqR|H@bV?OgDt-QHZUef@t z@)XH2+A-g>Y^Igh<UGXk=B+%nhLz{u=Y)lMesxY71f#MZVKUKp7eIz>;)q1h&SWw$ zDFZdDq1<4545q-zY!B`gUReR}l@XT1)0AQoBI01uC(0?H!-(E8pUl=S)q^CD3FTBx z_o*EwTiOAj&sCJ%;+}bKb!1!|x3Sg=FHTf#uiW1`@lmiP(0MOQ6?hTGr%n9E*}t!- z5onK*86Sa+y(7LbHc~nE+#;=1eZ->>d3kFBkk%)9lKzJ{IONcw5j7M)6yoVHiv9>e z5d=YC;AyGd4}vJB(X37$u`BW;I!U$8+wh<PMuJf=l^5e>M`Z)_bNP^2h2ChO2t<D6 zxh>-*7BBrt=zzvc%Z0}y7`<~3o}m{hOO552aZK9uzg2!G=+l9di>-cXocEFl)hlbT zwvYUGqo!r(?m!tM#{xu#@>?0og*lX-9Lk*;N>2`@ltX!YhEmF*+>k@LEJL{=p^TR* z@p-(&w8+^VFKG*o<S;+(%YS-A1dU(O1mBk8EmE1qm++S}dC-Xc%Pfm|KrR__f6l`L zysK@^fjaU}loJ-;oN(|5|K05wyy&?t^;HYIKKoc@<71Tv7poflaDE<lC8l56+BQ7c zP?kqGEf>OKco)JFiEm5&j7ScBv0srKSmpV<OXspwwaF`8vZi@qMi9XMgJR7Ts8sQy zUWj$&I7E&VC(Ey2B7g61M$USZDC60_b8KO44C>Q4amYomUuAe7A^Ck%rmq^YzwG1s zvDKKB)eOgt56p;1wbzOgBcl4}&xrD)rE|lgy47~RzN(V|PaBCVC$)3^IUfyxO4G`s zyxC@b`fl3a#9m*uT#Q&xp^nA2%I0_bPfC{R!eI$66Wn<DX$i-8ZZap64!lw6{M^P& zJX#(X_T-j&3Dp}zToa-37fi5bq);S4YYkgnB67>}QP+EpG4f$z4~)I^z%(=TF`ln{ z{;rM=Ei5&(mv&~Cn<$Fa?u)V7V|5nOz9dUj`D|3~)x)e@)D(n!mV^-&y6#(58>8{= zYkcV+R1M9xR&=^??Hc-_j3m+KB1w(J`UR3loa7Nm9(Iz48+T<S7e|uE$*1~RC+HfK z^z;hTB}#bbV+)P%cYbN%DOf+`<s71%gI><T#t(TpLGLs!bPfHY$?GB1Ia}iOh$dyN zD!FVv6Xin76M%U#c)2BJ0<~{sQX}=*%7TB5GvY@Yf4kw#Jl8Lv%rv*DzNBZfTe{g< zG%R&S1v-)j$ZkjhY$Z{R8=C#y$j6%fv;)&Pu357ag|}v(y;G!QfSMa9TA<KC11`9M z)wQ9$I7}wHVLdgb{yw$*k}#~EU*P+!yUXKRT(^e8Hoy0q>Y2q6cK>npkyF{5HKFr( zQ=7?ofu1vAXiWq07{G~oX*oJNM!!wHWlG2xXj>Lx(c>vxz*~p{<AfiW{<hDfAt?2l zl5S}U-ugrj{OT9vGwSjgMX^R)u|^u7VR?!2aMWbblEX1CQZ^++<;EL(2_Bd@@cmD^ zx$;>_=HD+?{oB=wq2oo|3oGK~9>=ohGZd=`<7(XB(Ua&)`3Jv3wY;?N(8FoCF8X>2 z!<gA74}IAiLI7pe!YwxL&26czSZIthW?RY`DM8vk=grixW&&ZZwqki`?pZ~w8&X$g z)J(a)?&;c>w$#tMw!Ut9i*`@xwRYAT$y<9QSWJ7`XIXz{RYKsu=bi;aL5v5LDz!Ni z0pfSYO0S@AWi?o0Z%>N?!yARraO}+ZQ8ZbBz_4qsYv}4=o+@pOIa8pbI4AHu+ZY(M zZB?g@jrA;?_ekU8zr-#t%OH*N00|xUI&>p$7aK5?r$saNUTn`XM5PRfjJbLJx+PhL zYsjEFxl8d*Rox$NY|EOqOk7t&{n5o+k=e5v#A}b>w~jRy<=9hzTBU-%suGN1B`fu> z-(fWYVN#kv1No!c-c)o8;T2o4YtY!q1!q8w?dAHanE!ZrN}bSi%8>aKrT^_b+5ENt znprqj3P|#n%@@2E7Hn@~^&C$mB12!FeU-gsCf}wqPL=%fNd5$jDR8IxJI&t)f0^+5 z1i|~0`f6BDL^Vi9Tq?OUJmU8STh4l++kx@YxvEBc`xpB@OJ~IAG+m``9ty~17!ZLF zkMGXg%O<T8!zl4HwTgB)HjZi_c5Qy$FQN@`vs)Gq!QU%+=Rn?CBONbKs4V5q_SjjZ z&-O^2Puk24-Vv+`3~B+^H^=UQFykuQ(KRB*FE>l8{;hZ_PpA`XG!A=^CZs0_Z#hNJ zvE$M9Z2ez)!6Ga+A$!-s;>JGlvxFIDg7<5A7D2J!!y9f!K(=_**i+t_rHv4@{zBT% zcF(Sk<t<d+%R_<P(uaO+dO<;C<V~}F`m3;>Nl2V^t14QDe_BHDI`wP8BA;(zF5j$% z%6w&MGZoNDUYom4+k&??dCALc_GiQXYn)BUcm!69wP+#3pKGjjvkwq?X0HOZsA|bi zg$Pa%t<gViwV1bdi7K%&>6hz+lk8-(%!ryV_614R`v(+h7W!4#?3R;@lE|q7)$OM$ zM=L6eA8PPa;9>{v9oZ**nWcKGS3;6Fc%f?&WYEJ7f+)e@X^)I5v;^D<=ud^l{fmG0 z#%1q=mTam&PC8w9U_d3R9e+3vFuuMRH=b$Z7~#0k<y`2+^)D(J#^?HgaVCoY+1WJ! zl{Ibc`q0=V3oc-*Vf7uJDj~$pbm)p2Y2ZHbWER8pvZ2nPlyOTT(O*MR;<a8=sp$TJ zuYMcb5_VYT@SDba=QpmIG9+GtQSs7cs16zjA<uvcY&-vp`K={mB@n7r!Was*?*EBm z&89=6oYPvf+4FMwO+T`_J+{E@CURnmX)zrW&|Chi$qQB5FUIL4)=wI!bQ(PJ@tb`7 zfVwaDPywNv=+bGf6$3QmC4=&Qp#+h_D{;4fj9SE)#<;M&fsRhtGjB$(+Y(+p-}t~s zVm?GUK5)43b|m-q=)fQAO%fX)7|SJ$4;(MN&E?)uBkR_HOw{88+DfNic<n5{cIRHl z2M#%Ez%A{{@|E^x&jX8dnJ92cd_6@xr#tIE)*(j3P4LAq6tXAu^kC+bZSg&N>S{KU z(Q^(eU+lbA9oqK>Ti;4bX}x`iQv<n;?YPi##_k0p<Bh?8iv7d;cdnHq9xCbM$nw8Q zqEsi)&qvkFpD(5Hbi6!f2<kMd$;(37CIJ8%I~z83J|jBbw}N=4c;%mohoQutWp1&1 z8d^#>APQEv*PRHAo%dHzuu0$vD0dCL*C~#<#LOibQ)Pds=+)W~X9;iho&x<|y=$QO zIrY6ziP^UX{-m*vWAQEQlkg8ZIJjls2d+9Y37xhg;oh2qUA%2wz&7Vy^6@BDY>+ro z5LG*El8EHQOoNq2Gxiv)X4L&$oS0U&X33CG+o+;Jg4)=~h2&Yj^IFX=c6@U}rkU>P zU5FRv8`XlbSSbb;OGeb+a@|C^)6o0e6s3nSrTL=_Vdia8ppT|jmbKu|%WUV*Ikl`m zhz*m;^{ApVH87|8InC*4=F}MARkguq8Y9=K-812NaS)W?OLEWM3Fj#2_VXy!+^n3k zX(~kvzpPSQ(^;us+sR+VaxF4jv&7u1TBRE_P)wfuMV@E)@U2k*K!<kCu#1O$hPTAu zt(Q#W&9L>4LZ+D?f`AuJ1+>{lj9w^y!gEi0K5Ag4m}lRZ)#{cQr3J+3g)jl5l^&x< z`IZ96`N|c{1l9^}^}k97=hVFqmWh!e{lch%=G|R>_KoQ17o0uHrBRQL$*bol_oa@D zU3;^tti&ai2j3+2`Dy=-(yOFjjR-CMLVK@YR#`9?(vy8GQ44VEw|3?eQKOJCl?4q0 z^%!|=3|J8aU@AMUZ4JVxbtXi4RuNk1oOx92MY?TjQ!K$M7)zj{yw|^9+&5P>s|wW( zRe9Z<xb(mb`H)_c38btZOQNK#Dp69TVxuF|u_~mhDihYy9<UeH?#j__$()~5<-x3h zCPM>shr*UC{d}NS*z#6=V84VL>=^$IF<dM`c?2SE_%-vKX9zo@5>ezd5|~+%W@{v{ zBLr8z)PyZ;ON=uq?8z&iP2-f8sX@U8hE7VOlKMBGL+8AXs#9$o!+Bn$dICd|Dw=)y zb7wE0PrKji^Q`X&cwpkp2>KsBJdY|v*WjN(F;YvR2dCCG^lQ1qjsYtv7S%O$yW1t$ zM1eFI^R8durE4(EBr}Afr{6Vnxl=$K>Pa2lmObSklJ5~&({?=l0`clE2BFUhroJXQ z$0Ixe*lED9#^knB220f*ddTuwyX8rA4St-2SZFuT`o%&u^UG>e6n*t2ik!~gL|#9P zQ7hkHFW=9pnf_~Xyxv{f#T4R7hp5(}Ua^e+*OG*84U9ovtlGJxkuCLsuOW>ss^uaT zWP#bP!Iu>z*wlXgx5tV!6;i#?D}vZuZ87)zAL}Sdl-lj_!6T|Pn=|VBo~b>&OV-UI zM)eQr*(X;aaAq=}tebav<(~d+8@dKdiKjST9j3U$82wuL9zA6v*Qn_Zriwj0r0`EH z*|f-6V9SuR!OH(!?cwdl3IT%0>%)2utdQk!ece5^YnRV_&N#Pz110a11%i|H>NE9y z(9&^Nf(^9?Hrc}$>L1cW-HyQ)s@OF&aGJ!yHhZt;_WtTln*~l*3KIo-@$a%QQwS@T z$r@Xssd=ieAb}nF2c{QOfl0gzUTTjvb`$cASr$_r{bK*VKy2Wa4;a+BLTFo^fUOmV zNLanJCIE#SvK<WBBKeMP2gEKrRCC;U^+-1!caW7=mt<2w>L6+SGbdn@@po7L0GuXx zmD-1NmbLN8Nf|fQamB8X$Lm~QwbxzTO5HJsGR(b+%VOW}8oH)M!v>%_Ah$v$&5Wev zM1%a!FHm`3_~3l4Rz0j!5oGiiQ@GL%FgH+n@WLP-Ul1Cod?xi9)`02{Snm2h=!Ub* zxCsxefn-pZnY&$j1wFYva%Lf~pVC{d(=z}`EDuiPO7^+PL-_b9t3|KmA5l;F1~6M+ zbs?Q~vhtZMYi^zDm)`BU+Y~j>Qq=zUNJo8U@u6ZByhkewg~xjBx_KuzSI5=~W-zJf z&yx@=;7~uZsoVc$xLzHzu$|g|QLE1!Hyrg3D`r^vXgy{rm-fXDrE?$+yo3-K*nfNk zbVX4IjaEK>su(WkL!o6Ov`)L8cr{qFs{j!Unzob>u91z!R7lAcL9w~fXDeQ+A>w<~ zA!h7+jZxbBcVx#Wh-rUncbXs8<Qp+eYiv^)njiX`mE%(hP-O8+dy}cpAUQPUTLXWZ zg6P(S4?JO#B8XmEquMvIze~wsL+B~_3&QCdr1j$-x!Dy?skDZ}soES-UnGZ3VwhHM z`tVh;tb{SX$P`ek{#vv#q1Q|B%Hh_#{wR`j*&6SE@%ca_$NPBLVbU6}>}isxi^o|) zDg)E1y~L|HXaY!d_1cuuG-tD8yh?PZYrJvSzsMdLesa>ZL^M}4=r(ZBjKi1ynC8#Y zjdjfFv`>Gk@dsbDde8=D8!1c8Kq;jg3+;VlsJl%aNlw$nU-mgU!o_|^4e__8rk8UR zx>>Z;AM$-wM!Q}c^O~X=56py`6~aoY`<!r8jN;x2km=ML9#8cVs(v8md&Lh6BU392 z%&o*J$<8C@<8#t`QGc-8XpuE6vkza|ZPG*=SeB|iqB=C*!K})Q<By!lFj$8A+B_0o zFn*}v$lp*&3rIEXZ%(n?(i+rO{jZ@a%K@KzEo{uZBa9qqD8<@A@a#Oj&Suz#`{^0k z6mn0)3&Y!$8@KJKR`&z|i==1ah@Dndj}``ia{!##ubDsq2&1D~$^gPx6y~@pnR&~B z`Md7=v4CNs@+fGK@XQ}Y9*)jyjN#`~UrJCZ&|rJW0ShG1PA^iUS-G6zEmh|y6Pdt@ zdXO+$S(%l}Ojlljk3GK~B#dgk;QE&LXVWWdBMOAFWOX*G)sU*p-0u|+RhrgBr%fYG zSx)VW{bimey&YWaD>Hz^etPxd0Fd%*#9~t5IaP_CY?@hmTj(I4=ty;DwakEj*C~$p zx#&r?EK`VncP%muutA<V{t}AGuO}WjxhrqKSW{$^!PIJY#gcc#=#H0<*k2dP66lOV zN2<P<=P{mnH*FmwAb5Wm0M7XwEHMeS83xmty{^||m7{w_jh`diX!g}d4Eabz{y9e; zq3%ZrgPCEdm-Wi{a!_nhs$R!<9nD_ncpXcxZcxTcTY)fsSmb+FYa?vM_(=PWbp(ZW zZ``rXwkShCOv!qu>g&kxrAq6joK?(yD_iU3kJ#A4S<sKzh5*}tn-K`+b1=xt&96Ky zN$y7Kfg#WWcy*+{?*x0+rfT~R%kzJnX@k3NK2z(cUP7i3Daj|;YN2udJ~l|{8Vq(Z z-FIOAwf&v^Wnwq0VCN*1K?cMuucKe)0iGl@lX{(A3rIX<=H1^cpF03Fuo}T~96gTY zGks8!m{G9yqn_j{qoQM+^?qAqoA3kbDBrFa#R&e;uDt%)HdRwn`WsHs)Jtf(**9^N z>hO5^@FHtk`9KsqURJ}S2<U`GdDu)Q-=liSj&b%LYJ7f)`$$s~XgnED@%i<&Hs?*) zDXTt!WISvM8<WPyTVUhRc=-^@sba;(VgAyy5K!zb&dxM#$v7-_4mvvr8*dEkOd=iI z5%d(d&kR6I9IZ_2pNmZ%-ocjBgHQ`~wosxuD9hBh1a%qvW47<L2=1W-%!%%uY8&5P z(=30he3CAugz;(ed<f0R7i$%bRBI|<F8sP}pu?{b2mI*pPXuk5W9udeM2VgdbuF2X znn*1`X$tjEzhMOlOv6@stOV`imOej$Rn5d`=PZ2xMivi?+a#n?s*>9@n^PGxL8`SO zMGPR0jOCM=Gj)rG|KW#iIu+;PF!jKVLe)7CyJ2Z{eMnRE#-D(#t~gll9aL9jEDA)W zBUYJ#V^k&#oAvS_U1DYuF2>6TeM;d|J+?erE!A1OnYbR9=wvHl;0<*$Qor*y6CEAd zSVq&BV+~8qNVX}e`G0mrQ)A-g-UR|{)z^?~(v^unXINPL!RIk0`c=+ne|Tl_EMrmN zXS^}~>uQBC6CE~Dxr6_SG1VxE(<@akPlSG+O@7eqg8$WC-!woaZJy2^ryf=L)O5Hv z>drm)nE-<BD4-~9nE7cW3Fc_!%B8z*@7HxZlalSss~n!EaNWJ|R6Dk%){B9CLQNKl zeBB2gBJ1k$`UR<f5;>@iIowgmV0%VcqcZu?2Vgf|8zMW=#QI<VUY_-;+yaV{S<^2R zwX#@LRlY)=`+G#h%+7+)eLTLKNocoY&}{-ns^80<Cxq0!a@AE9Wut=vw4b{WW0c2u z)KNM5gE_c$%!MRPE6HNoq7Q&N>yH^r-R&mD?wHZ3#MzsGt3lSh{rc*E;`s&2!Z_Mb zJiK68lBt&^!>l~BZ;qflb>;&8>36KHrSw;&dsDX5%a3<`njNfvif8(PU!vne<NeTR zGA8Lf#{QE>NUcrejU*dnl0mUfNXs#>(wRY3oWl1i(qY3W!f^dXE_UMmuyLx!8(w!G zz4iz@*FQ|O#x0FZjCV1a7(HQPl++kwEl=wA5PNUY*RG*wDG6H8>%GrJCR1aB!@6IS zrW(?h9O(#1BNX^hz}Umy9C$fcFF%B(=^9c~K}%>dfLIa;Y4crU6<imJ9RT(2@`u@R zdv;~`^hcJTDMDj78^fm`4KGl#DNWZ$k7c*)4L-)55|2;-g(!ZDxvKADb2r8)+E>L) zD>W8_%&4*zSjN`30_!R5hkVG`URb>_R6o}H9R!B*R=Cqm((FsXFSsE4j~}5H;rxrY zZ@zW&;|0gJ)i)>!o>kS+Y@DZU56nMb?F2Ffj*tW~TXI|m{{5!|#9dJ0cv(}14%-pk z;BuoFxiBxnn(d?aIQz#rJ!Xx!O4+6A!@b9YW%!Mc1M&fjYbmVlUTs)D++;S(f_5AW zMQzK6<ozk|As13J6^*B8|NCx1suXZ2x1rPWjiM@)Xk1l3trF$MdvSk?ts>9Jqa6eG zr?fy_f8<flAo<_Z!rw*V@97f3K^as24%lFaBPUsmm+zBogJfp@$<1_o;q3p_CgHry z`N#`r-^WZi>MoJnm$YKN?W1P;yFUF`t@qw2>c2fr-S*yN^PQ6E;M<KAAM*~(FMJn^ zD*lq~e8v8G$QISl4}zjWkHq+B@t59d+t|G!4$r)Y3IiU<U1Anm>Oo0HKZPJ<ntEW# zDbRK6>jn-k(p;XLl9_(q=?`;?t&{YTgJ;P$lb#X6j^dvldv0+d9lG|*@-GSLQ39uT z4eoJ959Wr!Q!)Bp6PC>@4nDf5a{w;LmgmwejRa%vjY|?s$UH>_%N875q$RL}E~bO_ z$Vp`Ws_IZ(EK%f=|JT7;$ELX6LniWvW2Li3i%B1|BxhZ=R7TQbMHrvB8T3a#*rcO3 zx6(6FwC{}_cFCt?S7^a?^y0@WS4?(&;K!UCh4-FX&^ei%R+QOyqICa{^vVYn)$xCa z(ixLJXQD{vOsrn49zK2hGL0-@1q@3RJa5|(9-VJn2W!0K86O!ZX3vM#DAE}T*7B@R zQJXL=!y>dD1Kcys`KK>3e@Fv?hI{-_D`CL?y7_M&5Zu__iCZ*E`*qBGpLdrAd{Wm% zGSG*E$m2kE5B`V-GR)JxHWEDPEiYrom3KA?IP{y8Y_|Pg8wNh%D2HrFN`-yYq4N|r zM|)CWb@H=fcGal<uV3xqJ2ec5YIHs7!vb-ytsIcXH`p(q=VtIKCwe&Nx0-E;?EmGk z*f++tJWl1LvWFN{BJ=+?V$9!%!3pE#y^O3gbFc&Up}_5ZnH%y*vqV%0LnUJQt{$H7 zrOy7D9(3lxCTIF{KNUCQ;|)FpKXz%E*4DB3_yzB)m)|EQ<jyP<f#}XW_j-Q`93ev- zwt97-#cye=otYPN1448!Mo*2m5!ZKdmQ`sqwrRrD6ffR?avE0K`6n<2Q(}0+AFYjX zEV;{KSjXu09kOQC%n*07_aNTZp~g%53sy=K1A4~f%nxQ}e3Ys}nGN}$y?*UAYa}Yp zA>FrnSYe=j17`8uQ!D3AY=tp$b<Nafl{s?m%PzX0@zq-krFIRyN0oAy6RC#c>ieeQ z5w|(6e7}fC_=cdG$ElsD(3xb68$ZC#)!04V6|j>SQ<B!W?EwjuK0njXT&4SWY_ZQY zWR-qcO_!^;-Ik1py2jg<s_TiWR}3H@R!>}~dO_oB)uyWdZdUbaoQRSkPH=&lUnFh! zn5{dU38zY1?3)XMS#H=`)%B+j^%x*H&U%5Z3;E+Jr>DjRAyU{ZChZ)`iD_solafXJ zI$cWH%xM4dX?RazB#YlQ-3P8EMZcE7V`rG6sdZ$U>331He8rpnf+hQ17WC;5!`H)V z-TrT;;|&pi*zcNtaG;p&ldNR7$)>{`cU$wYhvllf%OB&<8}Bav-~74s?xD9+22+=x z2v6tVcD~JJs;_W>b~=nL#6`Y)@N~7f&K1JH#$&s*_wMo^fO2el$=$v8b2Z<wuP#1g z;_lu*w8u_8euBp{Cgfw+Tmga}9A(di{p8^s9e}icS~xm7kV^^5VEtO1*{&U@BQ{U~ zROMlBa#?C`bxjhj$?HQ(YJ5I4^wjJb^&!cV`6vA;gg)a<*9>-pR%mFyU6QnxrNXhI zIR9~@LXvK=dPqWebZ8+&(V3x9CeES(4!x?hgbs+762Tt!L1g%0Y2NDLp+)?G^AW|< zG^2RnK6?t|xV_Yel#1FO;g74Wo*F-On<fV~P}!oG5ALw3n^(v7c61y(c5wJK=-+Ms zAJA3McN>RnfgE}jwNj3aWA#Df!iLGSfQ}E1L0-dzr&sEOf3{0(Y8c?Q6y-@UjH?}( z@mk8%4qJ9AjI|k_f|AvJ_(Kv&m^8im^KRoG$~fz?N$a)Mm%0oI%V_Fdy(=qD0;4^R zj2pz*?1zmqmhFK<_N3d}!PE=k0i`yc43~yI6ev7sjf14V+_?G)&4*N4|7-6alDtss zjEzy78fqLmFyGnr{trVf2z?flQ;>y7yuJx$iwQPU{3sLLkT~uF6%V4Txo0TgUH1o8 zIIv_Y#cLswyZ^Y<Q6?tczp?8S${E8eC|(%(baYmZjP6R(h&R@Fd*~60+U@_URQAAg z3#(;U?OZPT6ZWI5QK!KG3JoMsW89a(d+$RaBaJQd-ndT?dwY#hoL|^~cJ{Ka`eyYC zogiBziD|*6$YNdh6zn_V#T<544@3J%<CjB}N3;uKu~n1MUl+IOub6S`DE!5!XJ(zU zed+Q{o-8V}Pfy7<Kc$KJ%(XAIo@^)BY#)#2uGpVaxAh4erzy%b$7xE`soufz?}6j> z8rH2@=9T{Vgv(}<9YbctyL}c5p4kzRm0*0D{WVC1f-Y1+U4u{MA@0{qC~G*5*EL8O z0GseW{;!d1!2SlBizRG@|2W~>gI^aYFUNij@H|QbLTg>4UL|SY0E0U%{BT9Rj(+mM zN_%*;K5P$ex3NjGt8SCb!anwQ#R?976T7I>caz=la(DUn7#}DIdB{k89&yb49RV8B zzmIg-Alkb`T=VnU?qLDzB@UVN9_DOqn^ojPGmojoZCb`3{pZKM20sFPd`Ql^(HplY zkUa)u7omyV#Pdq1n0PFcUT9<_6jm#8LVCbv1$En58ARn{4x;+WC@OoX57`h@8|qG? z(o^H3Uu_cA7n^EPTC7hcTp%yol;`GG1y8+eh>06YHfi1KN=0Y8hCa^!VR*E~f7r5L zj(};K4lEf?SQ4xkYN4)Bdw7X4Pc6=kwXlc!kP>L{PX2g<>!~r%W)->XL8GhZHMj9U zJSy|5^}Lxg8B-$HgpI1&C(A6U6Rz~j+M71_ki)xQi@D9RT-(onORqKgWmMwJIy)yK z9iEpC;}cBFDWpCfRt=4;^U$)T#$i1%GAOC>>2TiWlofbwR)JOY)~w8hRq3_H{pLFV z+n=G=XM#)ug9+g=o8pc5YEs$<bcU@akvNu9`e7EUyuJVFW5|S%5GAVf4=L^uC}D6{ zEcRzV{&}=p667Z#%Gq}kcW5Oj7`8h%T83u#@*f^AG+@`zb+H)#oJ^q9Lody>bJx&M zL^R)S%f5mmD&A@uH=g$Cm3`0BP;I8!mn5;JUNa!$@Rrv-zNL0ZZ!vRj_dgyW`Rt}B zq}K~E&sRH0Fe#S-X6zUDRt<995M5u}fd!v=jQ<7lrTVbIw!NWSiTpS+Z}$cjzV^bk z3dS^>YRqBQJJQ>tLkte6b%rOb#9}eJj}VI`2@sLHK1&97(yi4Z!V=5z>MX~ST;ENF zu;93)ZWWQAU=OMYX36WJSm>)%AAoT`hEKd8yhaJ>JW+gIY*kLFW^Xg(Za-KQkuNMF z_vBv3OPaJut~Q1eA}}6$F(V7iDP#Z{Z+sb?>}`TK6xx^fljE%+JKeW+WAbNYf7Sd9 zuyzcO%lDaQGq6pF3*t+1Qc(-~dGDC@eGkgN8nBeLf$FD2s5hp0S;4>0pRd>Oqw<*4 z*k;oi4il<+*pzt6n%;$v8<Ac``izXRLF*;-0cM7^!_Z9jPmg)$3g6G@8q&mq^Vs+k zG0PIoAIQ!>F9X{B-Fbio!iWIa+}$_3JVp9k@;}TQ(V%C(iG-zQ(Wu+tFXC?as0&vb zb=Mt}P32fMcOaff;wk0s&+{73DQ~6!z%fq#_NS%!xwtnh?U(IQdvQafqz+#u!mh!8 zjBi=Bx(5F;14imIqHfuIGf}<NFA2~DCqd?WSy`45J;tr9bTFQ$$T^*}7iRqsl}Z1V zA2<9-a3<Acb}vN>_GG|5=U!tUifrw20<%W|VdE)RHB%C*unzrp`hTgpfU%h_k8$bv z7P7E^XHC*)mcflwbVhUf){yjO?x5i)D7l}F3k2QdP>N0(V&{=e``!|>jEl54K+;yP zdc7nilje%VsIXjefJ$qq)D$XvBFxQhV;307V{tb*GW5D<ewiVg1b)_$nY^4(m(W3j zF%yz3Bah>0Z?lTpWsM*g)Zct=6c1`RiOWevv+2%8V$>fiivi;rTE7=V*3P4$9q##U zDY-c4zYM%7^2DUq{T9fXxRnHD<NX{@8iSm2*UF8&wOEtgcT%$U%eB><waQPYR*}41 z(h>riJ7<mg!;U~oG#=A%=hF=#S@VU1#iY1C2YmvOor}flMzt;<u@*vxZi%`ELmz3$ z!3^B0dNBe5TeXj%#VqqhLu!TP4%)Cd_tOR|Y>QSs#E>=OD?%Ovh;{2U`{67WG@t7z zAD`rsPt4It39hxPV0zO2u7mVF549XD|8t0xL5dQxWuM>_Aj9J(=r=92Qsu_G<v1?; zI&)zJmzD^=2A1cbgl6)AiB(Iu_)8b%92HOcNvDo};J+<@zy6~|k5rzWAqyK27A@4W z`>~lfapCz(c<m(BqaIE#PQ<kOO&RslEA!<^Hk9|u7c1|umv^{*d6PDTs=UQX+x!Hh z^Pm!!gc>fk@k#Sox<Pql_JRQKG`LLxjgImljq(Us;+(ldw~4}qQ8;$#7~JP;$1R~6 zY}w53OLS&g>=L;4ZWV*Jt!9>Raq>kJ538~;h3Z`wP-*cOKph3O|D|`A{~7<fn;gLd zk<n3f%6yP;xBM)-TZmf{WFbLw$>kUUxlLufBXE9*8dxM(H&?LtvUuNi4E%W&)$|Qf zL4fYRotNIUY2}KEcb%00pxT;SLVni|q%<Mp<Kd$Ka(k~O-bUr<S+Jv@Yv)Z{{3qq8 zP4W!_l<=DiT}PzO#)(vnLRNKaJ>b|svK#cQmvIljZ$iRsthmq$u`(wNmw1igEm~Z8 zQV2axNuE?CouUon7gR&=(>surh9gdZ878@b)19vW{+sxkN8e<;y8;zkR|f^&yu=wn zi3#Ctsee$B3TW_QHNtnCHS29OephtFD&1TW)7qQWzH_Frp2_A4DO00r1$XBP)(lXG zf?1)dT^;JKeqW`?PaX0izhUPgRpfNzVlQ&qhZQebqChNmoF%^>w)y+2?T^(pT%M&8 zHJQtupNR7e^i?`*b}i4j3=G_FsVxlYoTlc>6M}Myo8R0fbqXi@w0(>^+0`5D+5!oh zs}_eAc{)n6wt~vHL0l3L|0F}CVWd)s--nL*|B30=NnLgyrh5tWyg1!Ipq^kER;YEA zW;Nn@+Ha;iHvJOsln^yl^oo0)B;pj$yfLS5urhE&4VHNy$iuxC(t;ei1}|L%PW05m z{DAi{vgXHs8zL4FM#6w~z4wh8podRir@Xc*{&;2Mxvax3TKGI17UY$g_{sF40_3hP zz~yx0rWI;ZX8HqLUob)W9DgA$Os=K9!ljM2s&l&ApgIm1hNbNCl!+Nuuq_wm1f3OC z)Y>?E;i6|X*;k*T;c@R=0rXD$+B<*c50K6%Q2qY!7E?QCb+SU~K9*$IA@@v}{!c3V zcYT*OL*;ihG~ee#C2QL4hUV!sRCXdSwd6E^X{7IZXntW=ppnX><Jstdo->%n20%hx zgAaIP!bO^0T=^Sj=!&hQF<D^~vL|2d+ze3-VM=^jRi3i9klI8yXE6B0hK$X=cs4d& z*0etnGA10}#n%LuXEJpAWB0%tm6*Mn#5^wte?2kXLOGyLLI>S8&+~St<H9%h>}PYO ztJ54rFl;spmgx6CY~>0+)~yw3(2-yZz6(x*o6jjXpLU(On@%8h>E*m@zp?gXED6o7 zwSvCuYo^%IpNyiO-6-1E1-WnNAr@EuhJR<XYH=0+_VKS}KTWtlCx2g@PI190eXpI* zYxC?GSp>g6?#^?BZe9&vc)N?~|4A)c%--TueC{C|9s5Ggjb94RbnxrBmC!a_YOlcu zk3b<GaNritr}?<%>?<kLZTWm?v45Cvodo;zH{KUnD%f+G8$9=hdG0^yQ=~ark$zoU zGZ#(Lox1HuZ)Sk*)L|Vr-galQt;+nfcr;11tK*nbMOJQ=>SzEnzO^GtGv9)^Fdq$8 ztVkgm+>e=Gw=|bO%Lrn3r<c;EJ^HWrq~5tdW+c&p7F5f=uF>_WM{G@OqVd{)D+E~k zJ1zXx&>;fpI5yv+GXKm#YcZ?%y-PVDrl@~!5^lg3E#AlnY|?R+K_$lfC)Xr-v)O?2 zYAe0rO~_SW=i<=JtV~72tUrbTQQHLArtxs7I}T_0aIAg6j}5|1kC7o*2j<^&S0^Lu zT!{h$1&1^Q34wsKx!|c{uOdXyZZyroRjuAJ>Wz`?o!~5(tsP9$06`Y`fsIFkFgS-c zRqK^sj!H2lPZb`3c&xAKmtXE3E>xrf3R9^9_T?%nz(*nHLMju{XV5!%wM1U${PmeD zzfH9GR;4R!OnL&$2|zt2f^R`*Iri0;Fr_o@=i)PWEl!KG@bSf5jppe49+K>(O-?ci zrbbMB+t>qZKd(>vo~;)CB<>WSoU;D&wD+GBQ?S!uGmkoyejEc2n06W@MTmGzhoMNq zHq`yzL$tkXaKC3SB%r40d%@G_*O-*H`j9?F%aVHUSk{MZq3LHJq2uK93%drFW!xOG zO0a5be(D*)f;{jmHl#pyfz>cZB1#uJ9wVF2Fy5CCSJ1*xUyxQrRaa5x9Pbi>_DgQN zG)GFn<Q<<;dGLop)Gv_z%i(tAlj#*kN#kse{3{YA_-ZC~cOqpT_q0|c3j<VPPHoHa zc=qaAIAS=qc9Ri;Q2hwd<~FAk)xXf+Z;bt2_a!i$;bXm4yB2K;%YRMUqEnxtiX$cz z2G!JC<rt7!Dw!#L6?h4tNZRnrzx7hBPr4bE!vMx8fAInMC*!HbafM@MB}c$elbh=w zDYk7p+KPuVaV{2Zx}W3`*Cy>r;QNqR$#gc+V)!d*<`gfA-$TfapBi3#ko<ef4V_*v z8#SJEn4bq%ECl;I-q=q}T;20zJhBaoB|4&-hJUJvD7==;Gy2-G^3_WfQ&61!HmlN8 zvp;WH?YK7Pg2+aX1I)``BQIa4$J-v+K1mTB@yK?kUie8tB13ZdIKTXxp;jrT<|A)$ zzS<M@Lrll2`1tz;krlK}WgAx6`yFFWLOS{VVC&em#%~j5ShagmQLGE1Kwft6=sTB$ z4SU~#Bt9Bg%8!se(Y)s6p;$(cgDqI`rb?NjV&(A(e+i*V-gb|kB_o~OWg607f=?_( z=kCjZ3i{wzW=xoI>UtM@noins>+8_0Ii0gPX`@hDLP^6}p+9$9dwHuYrp4#Hh3IBs za*<;AQchCcM=IP-BB#P`s{lnFhB*?iJV^Ux-(cx}q46}zsB7?^WWU9MnBiYsMQDTp zZ{`;rOWYtU4*Wl6o3~w7T|<}TlBERoRh0uX3nG@=3(MP-h?%&qqJ!ny<oDUw6WDOU za)mxu|11d;oHZM>EeULBnn0AIfel^b&PdnLmuO6Sv4sGiwqOPm&kElt#;K)Sss{$X zpN>pvB6RMAX+S<nK4bm5HTCM#m5tx1)X)7_)c`~s6sImyrUwwd>({~?C5ffl3hadm z?>_5Prbg8+gXL}uR>RZT<PXmNNMzeu+6Yf8a`{1RWjK}paAWH4_<ueixciV<bu$C~ zKSa^y0a{0B#EwAkc0b~mywNNnhBH#jkCE9shsFWj8qFZ^Xk+=ikw4>r-}Kxy^bb~5 zjSDz@y5(_k{n}3Mq})=!_N*<nHD_(9uR3Q-t)e-MaHx7%>j|L=yXu5;ERX?)0)j=S z-5ib(E157u##C1Nb<Fi^-9%EMv4RT0a@&uo45<p54x0+uh1DxyFHajj*!lM_H2s{4 zA+c7e@W)1qeoa<ruy7Jv<M^xwno%|D68yk8yw3i4%h)!6xK4TBbMh+PjQ5uyifEGS z*01ZO62OCGQ)V7;fZzw+)yni=)xMCexnWaKf;6d+$t=dd<NdDM{EA|Tzj&dz3d3^t zSM$XRu*m^odz{8W*6x&3zhI2c!_;cT4NK$w>Id*%>b9?d+;)CbrtDtw%Z!GmPV^;} zb_Tkp+L`-E{lb_Xt!22)1FxZFJy!iAZ6-Kw%!N924Pq<Nf=rw$>9)wDmAg$Gghhqe z3ef|SP1g26DFGkE%j>LmnN!hK-Su_HuXys-N#B64a|UA;nAF$(VkA=@llMIDr)N-P zgF|_>P9Ee9ND5h%{d0=V?YAax5At7bp-NqYLv89A*W+cU=y~odDJnHD75@5BRM<^6 z^>FQTCe7osHCVAdMh5<wBrc@V4eP!7P-k7HTl+|5zDHddHOZst=sCVI!6$s~=;g=n z{C*AEkNRlPHr~`kKNq>YCgalCQmi9Nb0V<SlVb~(o~?bk_W1LY2amB$-KU*R9L1H& zg8x}E`R1=Q79-b2MjjnCad}HA<#JNgW|M}I3@SVcWa3&5Upy;}mR##;(x=IW82J}R zVjBcbC7;k=tsIr?(F&Syne!wLTsXeo>#e9p9hFvi6GmB;;Azfy@^7t5QlNOfT00%0 z3jNLHld~VK{Cw=wNu|DHek$KBKdC>o^o0<PLIAWv^Ziv_gJ&mCC|r9}f|SMu{vBmR zwjZvc-GelN1Uq63U#@;f*HD}}AmHy}s`cyNJcBk#`Y=klbRjEWO*W?{)3C*W2zbQ4 zVvPdvJ?wKTqlvxPQnui+VvRBHy6BQubQrzxg@O2?3>$qZq&WI|mu=+74`MVe<Hs)b z56#c$u7snQo@(wuF>cfFl5Ok8O9go}7+r~La4qsy<YtU&Q8>$+@_nvMt<biS!YR;9 zBGyQw5NCNiNg*_n)I2rP=&2ehJIYuukJt>hg!@Q;(tJ1pB+%iPKQmuwr2D|Qk2X;G z8A}Wb-bhERk<^NlO^rkos2Oyk%o<5J$bo+<_>J~d@30q*`XnJy3)09{=8~k^zK@u) zR1ev={tj`YQ=C?7?|f!%F|@lh6G-cC-andbN4lqW%B6H#YK7Pr=;r_X`oiI73u5-> z{a@@0CFH37;-Z(B<%IC&Vm>#%n3t;ARc8Deq~&cg-Jt1v1JeH%k^YMJ0~AB5+$m+` z7xu9B-wILbOfVG_<R7ziv8m?HX<-7$01UtU{og2v2kk&Z@-++lcf4N{*+W$n2+vh% znmp6Id(~{13HJQPyg#A&1@o^d<5e=tEnYNLNMVCX3tPsO&8%|&o{-ZYeZ5e*eA}Cy zwQEf*<g^^FTr#pBn!7QJOou2f?nJnr{`qB6@1y^O$P+%<WVnDTtmO<y@cH@&d#37t zhgJ88?QcQHGNg9>_f-8;&$O+2(%3B8<^#I)Dzge!bz<1G--z3W`@H6>Yx)josC;w4 zt;L?ZeUNUdy|w8V;aVTbT>$vosh%B4slKZ!f8pQSR@v1P23XM`^rPmP?SU2G$d~3G z&YUMZ{eY#7c%9&>qoWJWy|$gd`C|3eus`!3R^Pw<*YBjhD)T$3ui>e_>e}B?eRJ_K zY15p>>e+B0Oik%T)bcMg@r6cJOC)s7cEO_+{8RvB)Ic^}dWI2Q)-le<GT(sqF{g>l zrdnNtnSHd6*igDO-Q5PQ7E*@WW=$ULMSe@f^5qWWoow`kFoN0~Q}NjI5;4u##V}Ip z<Z%qt37fMkW29*QQT2~Vm-0;UcZ$EJh=uX9$Lyo^3d`%N8sy~UJagSYXOp+fy8eFB zCyw*=+98BSr17-?=ffrt1%B=Dq68|d&3&;721O#VfwK7lQ~Kik06};R^r&t@&r{QF z%{Mu<IhBb-=4e8FNCz)raUxWtSBmt4tPrF(hJ=&NWZ8JVL`?IebLtz8I*Q)8OVyyx z;bU_PqhFB*b0v>KasqC~bQ*%^v3jY(>qKoucX+$fZgk(SH`v%^tVl_Jp#ah7_~2G& zf_VCqnEmPIWo|q(`!qqMLkZ-nt$?P{UK8H;@;=EkN^T)5w(jXV2mO2>8Omf;{CYnS ziG+#Q?MT<FY6Imo`6Jr9c7qngWpm-V)L%T*7uVB!n&dqPasEk868&5=A24WqoGm`0 z`;Tn82Hz)M)y`3!i4!4Nm!&2G=xJ%InR%Vu(Hqh?>0Suuysz4d4qBkOrC0=O#eOPQ z-!^3$=vQyCs!p4%#4(cTBi>0p(N=6QL0o=eyzN$f!}^XkDdf~&3i~N`Sfpx2^|x(% zA^#eaSGZ676zgN>Q{2p%u6uK;u$&c-f<8l%38|@h#kDl}Q);)^{X$Ng;n<P*b~z_Q z&a+%H1dO{~<RJ!@I-RW}boB3p2n}qqN8Vf~7S>bDeM5%`3lU?o?T*jtxNJ=aP9Gsx zh^>S>`Ru?Q-Egsl%P%Y_sg#E9{r2LjAGgD`1vjAJ&*tTsMLp)imlbr~eD(C13na^+ z&5xG9C<#Uk>#5x)m}CJ_C7GLK=4X{2GFTt8V{x)}<80fJzEZOJc(;H^?$TaYNMBd{ ztXEJC6PK!ObuqVAJ&iij)%)Lo&k&9&|A1Yy*|yYcL#b3n;a-~rRfou`27kld<u9@g z`I4B>|KmJSo8BouX3kZf{<C(kj`)e@k;X5g@{ouJaT>A_`E}kl`fq*FHvCZKPE*vh z;YS-?C{;=kH^g+NjuE^-SJ{iPLblqOR-`C5zZ}%s{{rpB5R|>494Wo*jTf1-EBzd4 z)3E4Yx{-lotd(jr8W>E%h%_M6yvZs1R`vI(Ylp(Zq24U<tsl2USm1;%%@F+&-pnXR zvt%#UQ(t+r>EyhXU##$eV9oZziVi)xVHV=j(~R?EA$%3|ya?66edQwVJ%5*0NEbnJ z<}}j6g8VGsa(P0$DWI|P*b?M7NfGMVivjaYKTex>@A}#qer&gTML=4TAuU0qcd3li zRmN}mK?fQl4JJ!T(CX0>wk$=dTCP5q1$81Q@2%n$THUM-=}9M4`+##`{yc55I?*G_ zyQ4)kt-|1E=Y+0d7*!48B3n3zL@jJYL<wzloC>2OwG?yeJfKimn|9Y21I~Ek<LMI( zy(j3ST|-}Y{!&hfR=+q^j)s%m2Ya07fa_mCS?`q1kMM-vF@|&`Dv)#2d|kb6pB^iI zKuklPFLN#U&)$Phuz^Vq!`ncfqak}t6SaBP->lMTqIz4z)xfIOkfda#t8m@_<PuuS zAS<|HgY8z089BqC7AkV70n#c%d(IbwG-}Ks%eUNVjUA}8b~d^8Fi;-hFaMex06{Vb zz|w*2;@^cZ%X{VkOnD1iPy6F-upX@c%uk_in6|XW#9-1Ue%>xVtj%iP*EGvS_T}lB zdt53kC?#*w_C-vB5u`dv2Wzt<W5PDGf@f0mPB#~Z;+Orm*xOW+;V{O;FH(0(*ZBE> zsgn4IQ^*dCKa7m=cNzv|5oN^*e;55V)z3_sMt2j^|IGXC(STXek}h?f)k4s;73{<j zu}L8o;?B~_ru{Ib=<kqwD&!6mDw#g#f<L8_DXV5d^ClDk>b$uqFI;$;u-7%D(ae!; zUgL6TYK93An7~N6C)zi|*z8ttz=M{J4gFW8_l&F8H^C%s^K+113V|oys*1!CgfBLf zc;R2~m>R0ii)j#ln;NRg-|R{9lVA$=Uw31X-*mETa5l=LNe0uP1Xa{0=G&;^)C|Y( zL<v;>pb`v``pl5B`F4T%+6qM+r<y<6FlEQN$QPWynoKHAU9sw<i#GO(s(;bw_;i>@ z>0hHe+f+I$OZS2ly54;)eVF0qRdAi}$|#`C<O}_I*UE!qNrW}uf^e|>6$(kx^qbPZ zkdtQkimbYUdi`{iyIm|lbFX8zbb7ULkn}0FO~WU6h?)Ovq>UZ$m0t;+-U9hAtUeDq z71JdPWa_?>8C{oDAa7mD(&e1aXdh8idQjxymw$WujE<ZxkAgRvYHhhc;kifYg(G*D zzk-XY@W6;FqW*Xf-;X(1{^YFG1faWv5qfv|li=eUPMVjz#q+DBEr04x4aOh316_)% zmMt21#7C>AW`8o#ZHIl>vBTFF^kr{z28f$#=70s<l?xXPQj_Fgm70}<a;D7|gb;1% z(+f%m_i-RhTupd6{5f`a`L8(0zM?kP_+Y#J!L~R%pn}@PCuDzvGEyE^j!sucIjMf> z(;Z$OX4y7xlQ@wT_L@@^=Jq|rQtAU+(S<mM@7GJas8?XGAdk%6WY#|Q6!$Ryj!GHV zM|VM3zg!6A&whzlhKmqaU?Tww>5ZA7JuX=bYsvrCm;E|Qk(!?L%Tc>c)NHE0e>u2L zv?>$L=W06_3fUgdk`LyOi`5tG(S)E9ctgCz#%rB1>Uusfi5-{?fA3!pTBxzJ++<lY z`R3X#tl5T<t$8Pk953uaC+l1Obe0cbz!nqGH?Cx2w2xv=M;bbLV7LyT1_m=oDuS3M zK2__KDwm4$162kj_4T>)sqxI`skasCnqYgr=4+-2Ik3jj-w2rM$h1_Ye)`}2^jUhG z<nb&17`^hDr=cCBG^0aAp|50fhzY3kkFqgt1PA0jjxoXbvq`I0ckbN+XmqMa8|VMm z=<ocelpT*8#_SjU>YuU1qumi~p4O<HP{3Y=BF7v5_OSVw4wCC>2CDkk@M`mqX%m3v zAKJb4-Yd)@JYh+?gF+j*-?Idu4Q=@$Q1xJ<WK#;``|S){ftZAkz@$?H(p0b-W-=aa zT-@hPfxat6KSK=a@2|*RGZoXtg~||iMmBfbI3*A5pNm%q6|jRVu0%g-yNyq~?dALx zc{PLvz<Z8W;3H=c2gFmDZ(9Ekdrpl_>E5;W#Qje+RABPYIh8;IPm^N9W518v!)HI5 z;XL<s!<hmH8ywV{yVl(KX6}yO=dY+Z^?FC>bJ_V3<ct*KYUBtd@J}(Rfidc0h24?u zFvQr}Y>Ud5C#;P-s%(JuU`PH`Nl0rwG17E2gu+%)n13ft_y5_6;pd;!%xX%P3z(}* zwbN#C<{4oiXfqxVPt>Q&Onq|IqP@g+v07`tn}Z)vIVHc1{M{^RUetd4s+Z~2Y5zoA zZnbZ<AX#n+44Wy;8g&gmqPFl(Va`4}&^7pn0T@Db`uJnl(BTA}<H>fYcfIF8F*{Js zxICy>fPU$kBsD#E5K&TZ!yHg9W-2WTCnFpXA_np0EKn!y1zV+wqdrBxm_JMS@OLMF zyZOuestXn3w_6XfWMj4RarVclA(`b^f7yRhmjxAEh}aLa=^{pXT5_5B|G0bqIJv9p z{(m<F*(m8OR%mKzS*-X8tv}-Lp!i{889$TC+JHo{wQVXIQBV=Gf-OlFvZFgY3@(+} ztyQ{Ktx;*++Mo-iIEiU?!4wwBSGN^Ej!N}CPFfdhVX-Qo=j)vN{xv%Zf!gmM-3MXb z@B6+#&OPVcbI(2Z+;cBQ`vFv$SgWNGJwaTWut?=0P+qu!p!Ex$7d~eZJUEVP@8;Ta z4yQM&`AaYh*ZzE(v#;hiUE&9PYhqVTPI*r{DT;ly!E1%c&K$Kq2nsT6JvD7O9ULL! zz0GoM=aopr^67I7AadYQyK$t-Ir)3+qesoRBg85un2!XBwKEsmnWw-UH}QmaGF6cS z?XBAvm6-}ddRjv|X|#LC2wN6%^n2HB=9nODVyvfddt*oQ7z_12YDa{=h_$N5Z9bYD zLx^?ts6WB&*z!Iv#8fe)oxd0>^T0CA`(*hRbKV!qtf|TND@g`%Se=yM@jDc|L-7tA zqkP1orEne{Usa=eD}1Q8^Zf4WY(X8IDC1@5f8Oi_i3=tunT+ZL@6QBnx}i3BgITi< zpgOgFkN<hK2~!y0q1rHQ1(SoS?Lb@wwmhDu3nL>idd;3Skyg$@N3)7Kk&uuwVW#@d zO%!4P*pIp;&KVl15)a{l4%Vt%q^v$>`ao9HwKqS-!r2;k6DYNHYt*L#Z|X2yJnJCi z?}Uc1;|&_(hV#dPoWplMj*Aw0-5nGQ&t}}%J0x=(<Sh1E@8!r_x7&gZ5%@o9@=3`0 zA0WP^+a6+8KID{W5dCd~FbRF@^`f54C3t^%&%Y6>WBD3mNsn_~)5yB{0?We(LSp3d zlv9EL63#4QubX?6s$i@;^%S70+)=1pXaIO5H=}`vo@4m7>M}kp>74c^s4?zY>$_d) zAg?s(amRcACdP`r@#tJus63dI8GteM=R*VXYrIg#{?hRxzCg{6<x#?_RSTTy)GS7a z5q}ndG~_{}k1I)qnuXmA85X-{SnWs!jL@%|V78&rjhX8^`wia}`+1ZRB(0XJ#6zo` zhdeZO{qF~?lE3$$l=wkgc*+ir`Y3?3*XGN6K=b;|R^Gzc|NVj)62A)l^%Ux8Kij+D zeY)m)-%1f6eSw)fgj4AT<nPe)!(Gn`mvb%g@J&e{rz(!&E7S!OBcy-dLG<vjDrw`u zd4sH#=wQvK0CBA4-OufPnyV8vEa<zNf<9wc$0AhX6_}>)WKHGMcetM++FV<C*4I~X zB^l>NR=(Jt%FD{NmCxf5eSsdWe2zadELJ|#A6L~@{u)o!@<8fDn$E!Krd)k1&Iq~^ zyu;jpOVsQ+%pcK~4dMrhKb_0G&!(w=wvNWWskhQi`zv==+wf|cMdV|~k36lWskRaQ za$0SFT&?skvCD-B4OS=Vtv8+ZLOg-H%j@Mw^%8)2a4PzT-%7wmkrKE=M5Wex#3INT zH|kM_!wAJ_$1G2SQFYxwOwnIk^2JDFD6sX?UPiI4*_$b`%~P)1dScBIdOMXdPBl-Z zzwOmtJA>_qv6G&bWkd58q<TKu7Ys1D#xOk^KLz`X)*pqDX{u9YXrs%dxcOby&bd`O zt3$&*Lu{}_`qk21RBMg$KmWFkJvx2c_D+CfEQS5qV0CD})FG9A$O*7SKeS^DtXBxY zaRvynQ-E8+xvzG@(J=4@0?(Me>hIK)4xh0YHlHcMpwVN#R*=URXo>&)fba)87`r|` zETn<iptl(6)LSUHz*(wgo2k>HOwnmiTS1b-DY_-e76qy&7@hS&?YF+c|6<fh>CLza z6h5<u>=aqgK+~e>ygt_ibOT!T4u)Vrxs~&rj6=)WpXU7iB&R|?(Lgd4qzxb>t=Oux z*lI5(6`svJg%hAP?X=PZc$PQ+^wWF-<XABql0qLLZL-)JNcU%!;I}ZML&B=qx$2AI z%^|?7`WE}<k`&6AW#S933PsYR^<c_0hd9fJ(k!Odgj(pc3=vk#yVESIXw`r~<h^`8 z7Je_WClh`z<S_`p=lLT@U-=w=MEE_6Cxl<<ye&DkChEY#Qv3Z9e27US8>zv$7qF6D ztj{y$NDYdX)a&cD4&E({3?VC1+`if0Y{V+sE*EeHfMeSrzw?HQct7#jP{gLPuoMXc z9=I&{QYz+?3&9(-2|s`_Q|IUTjXa47(N%q>0JE;J6JYca{!J&JZ4K)=sbHE%{xKt* zF}t<TUc5FXYRhF?oH(CpVv1+}VE_%Kkm1&z66fMlN}RJ&oj`b1gWAn1T=Nd84?&c> z)8c})?Y?MwZaQyB_n>wb)yX`Z+wY3$Binc^U#_qx@i)lYJX87(@@bGXdgG)AE9$6C zAtVNsB2Kl~2W(vBkvPA(R{G9n^oh+?etC9t0hC{ltiA)m_~CeCIBT!T$@fn}`XICc z>p{d;xI=6aAXaUz4L+z)LK(q)DDH_Ew)+~rnPxe3m@M<{&151Y2!X*IF(ML4puvu{ znshW(L}(&c6&^6e^Gn7KY^YUGlwY(`FjUE|U7Z(oiv_fSZk*Ui6Af5PoNkv%ZjAMe zmOjtJ^jHrqH%2wTPmc|LepCP;Zo!@XIZvym>CWZrwB^*HMF9A;<|*lcOf01b1LYpn zb3(ZlM!3SYf9R_TiRB#&%W0k6OC)S!e$x^)v3C}e`3#=hU-}x*X7s*O$=Lc&{zt0M zancLTys8P?^}<YCW^+#UAp^Ez2eMf!V^XTz$L#&{RA^pvP_1~W5vI2OA|{*21aF7| zq$o%7340N9b>b6ty1;W+S@S8E&*97O)rzY$2lT?SS=xs_5|l06!M+yU!R$lg4mQ`- z9jxK*V2x<-tL7VuOn?iLLy%?_%;2xfecUm6q)<u1TSw_wX*ig+gp9G`Q_oyx_dnR< zv35$?9-lD83EFYAK(0$uU%`%ISPuuY^DBaY&p>tczG0d<9DUa$^bK^i9bKa(j)6B) zl2#U6l+ail2Ij9{DTzkYu4eEhRWnNS(fj=Ke7QG`ni)^8NgZ!Z>sSSG^L5Ncuk_DY zgj7c}bQVl$gpfJN%y42jw$Be7p+C#oZ}p-kD<eIpQ&A)}zROh9G>w<cbk_GD_WJmV zI;DgvR6b1^mwm~d^p>2*$irtCM2GT<73#)k=fNlmJ7gpC?8Khh6h*pB1L<&k1NJ!} zq0$aR8N>p<&Qw9YQ0BTUKL-$0Z8g)=`US5FeP<?mCeH$Hv^F@ZYiCZQ9O$#C`_fo_ ztpCgMbOY?4cvhw$g4raK3o}!Kyn=dKH>RJ_&~M001QoxEL)Oh}y9#*|?bD&&25rpO z>Q<)Pq_Jckm}am|P^iK0B)>c}17M!5yCK5u&3xb^p(V_yJB;Ls&iLPS$jwsRv&R5z z?Z%SEaP-zu6j(-R5l)5kUD>JDOPjmOH6~rmn(clX5j3P2G*kTY%sr<Djal@nv0;yo z8z&7Kzu*LbcD>91azm3_j%s#mn}wqd7k}1vT0OzcT^k(6^l+&ZlGyMaEI0m>&U~il zyDhA?)0$8L)S2so(TIw&jai+wof~phn{h0;a6Qz*0>y5-1dx30O}2&`6%XQG==QHP z6v64p0lS%@jb`g6(T<NQ&nL%+gATkm?j89u_cc>GnC${a!G!lQKz?Nmxh(Z&s&d<) zVve}ws-wBJ)|{kc-5>pmGat;){0+fkH=2R8tsD#S{@9QY7v0(N{1|2QyDSvKB;<0_ zV{NBZ>^1)L%ae@o3FEd)tDjSze5;NW)ZbdR)w)-vkJhT^>eA{PGZ}x8%hHrl;}=M+ zOneK6k8|IO$;nZ>t3y1k#iCAe?7TpD<0+Qp*tBg2r&}?N!N`kQb1EhilG89As$oQw zV99V-VHgbzCm-xn{7xn&vdow*T=!C<eAG<lm;!|%?FM_e0W3?xnIY{48PW!^%OUC1 z{dCsvxJPh_z8+s<B}oWpZ!w2(%{y8_$uHQ=8qdiulp;0@)lLYD-MWis!Gq94TJFn8 zORm9&8^SHz*$K=MkED^-Ta?5>E8v1M_vxbq(YFt`%{3cJ%uzT0n9~>(5|au_0u9^< zU=hZBe}*ArOSL&~CWP=ttN|EHtn1=yyKhqj4e6;w)=06tPuTrsA5K%k(l*qi1?j-% zzF<jPl_Zpy^+o0gCa&1}67IL?qHkr7yjF!jo1>W>Z3+J%@x(Q&g+mt#?7?~KxmK0> z$%<+<cw2@oeIWKSQFkkJK840gx8e3=w<`X<U8QKZD&B67cB|qScwAxY-Wp>vUWN6J zl^St51+)maG44&veX+9~{5)3L7Z>`6w9x*v&`eUuM*)mLw-}4ot~LfZ1!@x=u<!ym z+8s%)s&nHcnPXIa>7?$xR^Xwr(wCO^f~%WGOMho*OZm`IcGqF>tUF6l2t;YrU;i;J zq5U$ZSmw~NvyZ(A{TzdvX$@(j>jq=zth{Y4vE_sAtm|)sF`RpF3)`^XnV}pb;<#p& zq<^2JK?5{(#dJV-W_oFzuWvlytB&Y<1NiP%_gMVf!C~C<wfg9DhH3u}wGG3$kI4RF zIBb_m5(0-E+c6$@oS4UBT!Uh$X0kU~um>XwLogh0PIdVu_L`gt@p6EO7*3D0b-Y7D zOnup0lX>x7`X)@9k%?c%QRJq!CGjAxKGfhlRrKd{&M>B8zXmno#+q^LKf{#3KgTxh z?J+;%M%Z=G;JK|fc$*N&h?7ie{Qy;pihRU5E#7@fjBxhdJF<V#G_NV6HrE@-mfX|& z)1`I1@K>qUM87VL99rMe#7UVZZt^Bfv(19>gI|fkK$K2&!0}RVQiPK&sZcrI0J{mm zd|v>;s8#0#8Em-wK-6o@5SOvu?S_%2%OGT~s5hPwL)ra>+qgE(6c`D#n=g_K)$WBW zecEWSnKHir`ZX^WI*c~p9gHOSzl_#qO1lk@x_6eD^hzqL4estfO8|bIaH49J`%g_5 zh-QD;Fh%Q{t2bAl=*TKm66fL6jO-+SM!xTbN^l;|;{UQ!jfA5PaG?@Ho^pnf6@>kT z_0vBQ@-TzQLglqb(~r^etpMxwoNC%dt+d<tYBvut5m~iD-D|(&Yd@!nFBei#SAXG~ z6)?;QVLA>w!hV-n^pel65O=4vOgz9lX=xg<RbgtZ(bAtpOFcnLWs1gLXm}ZRybQf9 zP_JElG}569Xhyd=V7RuCKH{pf{GP*h`>MYNbZG&@sBA$mA!VG-iA4hTFBWU1!`_E= z`&U@u7&51MV8csDd>vRKJO;!;^sw(EuOYS{8@$U*F=Dg``;QwACwRg+t=5x_#@fd@ zAV!^8KC9w@XEqEo=fEjerP7`49w~@ZP-f<8Llk?kdi-bGC#aKN%gl0ZGO3b~P+P7= zNujcnRGkaMR8U{}qkjBAQ|brfHA_51L5*1htlplGx$v2<m=?RS=`E(g?a-wjD);^X z4*`UzU5y>l=Z44I;%DRZIn}+|heY~JWr9ECpid5u=|NZDw#2AQ&L?6x2xoJViHqj{ z*r)m65V@HveCxHoa-dt!ShV^q;f{$JgVL~&73eh}dS%Z4R%L-3ruOQd`ud;jc)0fp zH7C+*`jN{$2tDLgqRY6|WQqT7#;5ok^h{`f+)2lZKFu^vvfHeveePV<{#?F-P{b4q z2;tl>ss*7l#6rf5hin3?jp%Z$aFQAvj*F++EZ&ZWAH|D5GkCro3@!f!c<4Hl3;&Xd zd74N5F$L96JbwyV<m2GA@Fy7&OZ?OPDD)MDzVp0n(D*&~Tkxb4ruMM_Vd^&3u}P&& zaeZ2oTMN9{vi9}Qr|LKWcWEC=_2b7c^)vuV1ZQl_L?``~dZ7K8ZvC7p-y*}R{v_jG z2J>y#8PB;VlG1vQlC`&!%jBW|T+`bh4LpZDC?z(SQXTJAR!-|Ctx3bow>NshO+X_9 zj$9>sXE)CjmtWX3)AO9mF29WACdmz7>T>CTfMS}R)6dTiA5RbjN5Tgaqy2Tk$Di@R z@sZ7x$4CFOyW-=*?)Z56r*rry-?I4~mtAbw(8~Rm=REt_Z~ue0z3GkM1XT53sMe1f zNlWah#cuNhHFofSgCzbL|G&ey$C&iBGH`a~e;scXRN`$Ok3c%J`4?mP_c-ABSEHW6 zGb5Ym&lH}n^XF3hWaYy}DLgMeEIi%h!+KQTqm~b6YK;A?<iiqrXZ!O(@uLf+H%nXZ zir;Sic{eKYQTOK(jgiORpG{f*#ed(Yw|yF|!EiKFx(PUXpc!`fV8E!BB6KFxoTlP& zUl*?$7p>D8wsZiQ9u)jpnKa(dq>Df^&lef&eWAbA)hFrOaq(qV9HlH*{QNj$Y9aR4 zE)286EQ2L1=&Ze8jSHkT?>fQO2b-&ddpj~eNDtYp+-qJ132;rrg4w}Z!PPhm=<BqS zMyt#N`e_Q8u8G}gNGCJ0MV?_rQ0&#Wp+D&O+Gk&<!q?wGA=a4?7Iw)}yuHDSbXpC5 zKj;uK4*IA9oa-{X+f4htO`T&W7NtX`uIDo+1qx(mflZz9RIWZWPH(a-0*fh$Ltv%J znbIWV6VA|5l5Jplrqnl1*vzy)x_G_&dR&X8Bv>l0#RO=#=uB8%^WGUkCD=Mn6T`l6 zagCmZ%iu8U4ZTJ0d@$5R;)HLDDgs?}%WrBARFxtt!yf3>`vhL<uao0%fVY`1tW<<w zR#-N8XQFi<*R+9z*2G%c6+PGAclrLG59r*sxOaDV=<X%|ONf$|v0GfflD5nfrKJUy z+PDRQLk{Vq(Z_7QOw^t&o5;W$c*M+^Z-gBni`9as?Ow1v8GT%ZGuh>cYD=lP{j8hq zORfePTov*_Gg5=!x%~zY)vB*HU|-@@Dyb2Y{#TrodcZU(+(bc!OX7Hi8Gnl{av@zT zYnL_U&QndR+Y)@thSwrUU_vxQv!Q|yMhZ66L#BfN5cPk_`pf7ieV*-qw&tZ+(T?r# z7e*F+h=<cG-;3Y6!B7~9kKBn!LIXFY1$e@7mQQ(kJ`QgH&~Th(Kv43RY*)FqiUGY( z!lE#e9_uZxk`7y_{7Bgi8QIXd;AXg?FMbGNRyDY91pB@;ZGTH#LZ^(qy1H&Y@fm7H zVsl;Wy7?NKg^!?t6euzB{z!6Hvq<n)7<!)aq>YnZM~~!f3X2gAXm9k9Fz>`34mvuf zTFEB<uv&j2c31LDG4?%^<|%#NsuyIzZB&iP<uJaIQ15d4&^x~d%oD;pze!VYr#S~@ zfW_~$Ke$(R^(gK1Ps?vqFVM)Mo5LW6xL-RtFs<FiWsvK+C`yF%)tTotdQO&|VZGUJ z!cmoI)SqI-Y9X?RR`fK)o3*PLGa)eA*~xl!O)Ok9fmJB7+Nyh5s9?2KAaR*mYeWX! zA%(4tEfFRO)eZ=(YVY3&plzsSt<y#1${Dkl$6vxBIu2RsyJUB{pER4(qr~SCm)XsR z&a8h`{ys}v@oHNnvIfo68<>xsHaI5nR4mv6ygC>$bdweagiA2t&E))Z#lgS>gb)eI zg_KATpNA*GpPkqC9*g_wnS4W;U1CION|}$CVQn;Eui+Xg9Vmq+^fivZu_301)n@^~ z4vOxMEVEn*nOC4A%&XTe%}3#*6YWLGTNVnxyv9e*5Mxbbn+75-L!yVXZ5f7vIW(Xh zV2uO)Gk=bE_3_dSiR9Dp3OEK!A$sNh==2+HZlL3cg_r{Cz(-P%xZt1wKg^v$d3toj zPmkx%0BgYW`aYQ^cT9C6LQzH4rPV;g?|QP!$z}-Xwn7$#bw}b5;a#5F3Q0CNYsi>u zOKVa|Ivq+HLgq;39|M<N1R;c4OqP>Z2=PX&+qA*N>7wc>A2y_@!hUki<q;$F&r=se zNeeEU;fg6gtjY0%fu#{+)26I?S;?xiW@@EqFji%D@02HHih%mg;PtV8dVYMlOnGUj z)wxTuSZ%BYTqv)xp{|1o6U&>QX56@tHB0%T-z{5*U%z&dKZTJH!X$1G<R^47k-{i2 zVbgk@&z(R6e$%*5U;Pz<17WJYE_Di(%sz8qj1|ro=Rq7dK{{_dWQP4aDei3HL<+Ku zqJl(~$7H_v)G!dezX7r|A3&^wGS&fp<Kd&^a!3XOl<jofw5~~cTHk2VnEmpTLxH}K z*zeoZh7;tW3*b<zBS7q*RD2X*qyltZ7vT(pE}4JgNh8Z4&?80@Olur+_CO9zmLWgq z8INXWs=R#OU-~{hO0X!Dlr_6NElwQk8y)<9hY~9eSXbl%ZjOGrt<^Wqd5x!;SpK^Q zaa>v8a(vwq4JlwTG^>jd`HIG3f5Nd347?S8YMaxdQ8c#x5w@Z?ub7oTu~%;Mf01>O ze2a5HeIB5acoIKDcmRQ&`2Y{VJuZ0Sbwvh4O`h=?&f>s%)d=$&{uRqZ218b4toRdy zNUYr)TQ7+Ad=n=De-*-3%(4J=`3RwziK=Ds?tF}6e#K%;&I!H_4__9741BVD0KHa{ z`f~~f_<n5gt#W_>*8LKG2H*yN4e5vRiGi4><7wcQ#{sWXIKb=p#Q!1-eu7@Q_88C` z;LY5xv%mD+9-%%+cZc5Rh?kQNxjH7^`p|dFUr0t#bt^>F^o#h^^g9QTu0r+>o!{1( zF4Z8;;Mav-&_-$1()u}PJzDy1l5@!jMOPmyeb+{OWV>6yD$N6ZQG{mPx++Kx*TK5! zo5f`Q4Rm5We#InMzUQnulfESq!W9!O!xM~1MV1}C8-Bi1{z5W_4yT^z2zuo`s<DnB zVQ5(7XKG8(;tV`b8}p`+`_-+v(HS(3tc04+N+^`Wfc{)D;T@zRvc6&>>&RH;hWDen z@8y3KK2r$`K2r(%--yo*8U8fe67pnL><tN*aA?9^9US_dqvg=Am%ormCEKIb2%h#4 zJk7Y&YGTLYF@=hpmEh2?!=ZDB;ZR0A%Cp9UW{A0RPTmC@Np^;q%g+$JW@ZRvT+Fcv zfT5FcEFU#3H|-kXAO*lv6Ci~rrWMm=BN%o=P9NBD=rQ59vuPJxg&qIl?f95Kk_5P~ z{Dov5Iy`=t7b+iBjdcP?9Swdp!-3zVX46p&{bR*+h6AD58SZG&ovk$ph{uNR{CfI- zI=<5xIzh0{&<Xl|hUPUhLuc6gXN>PniTuF88O}GEUB%A9*a|Q`TJdBWhq&Tn=Ec%n zFolt{K%kV*HR{D5?^ryMFS`owUCCf5*N=TbKefSK#AzsB_>^%XNGyA#sRA;}x%rVv z#a0I2d%(@?!R%M4j8QfmT1uK!(N0!gX#I}00u%&y_#Dc#jOw_q>?UeVBI=}!Dp>G+ zW;S_tT%za9RYNZzdjymK#qmBnl;^W3dn>*Lf^ZA#d7QoWM(gUfq)(f0dDR87J;+=E zWB36xq9kK6t1B2H_sNRcYLV_4vZC56pUY0yu!p1{3ku<oYVniqR}G&yat-MO71(cS z4R1<n$g)}j!{Zbfu^;zwN3Q*G4v)C@;MNL)A+P;89fPn-mm8t?@p2=eGb}fR%sxuD zf7fZzwJwL0sbz3!U6P}nbp>Or%mw9Q>oZhO<vwgY?DJE3pVf7Vim1eOi`9GXU6iAh z^GtX4v?`3}cPuWimOi%S^jhg-sEAu|_~p0Pd^usc!RgUni&qC953&aBYySd8?S<zj z#m~Oi--U~xipQEC6m+XCJ}5u_ezyaFn`9>K86f+Km|Ww31!5xTU;O?up7n2g__v2& z{W}FWEdARW{@uZ^{tZ!|{<(slw+8?_0>n&ciy1#R4$Cmn7CxMueUa2EE$)f>J+$KD zY4Ulrp?6>lJ|JjKyZ%*+0yc;b;@xk1%RJBV49aR7NxZXnmMtu!l9H`1{Q1MC=KE=i zQ#Q6CtE7;*K{lwWH@1}dFpaSSr{8_JUi1Qhod0Z*EBH)f-zwU4^aay(yDxMVRzO<C z%fw^_-0l2oyg$b3z*QU?!K&$HF<bZ;ffYN^rM0&0bSg*r^gDG0T(R)s{l$?7IZAYA znMEZyPa|5+%gv~#XPaWa&X@Nr_Up5*)olcPD+5&}83cr9=yQUo>xJa=^5ipYeb6dJ zuS`BKOFl14Klg5Xie<EzSzb5iEDj2a#b4S^tc!!U{1PCX&R&#ij1(->qnBY8uChbK zKJLbYY1lGb?ew*asv!C$ZznDU9=jAG)eEUDVb0p(C2QUZyAH9v2?ctArYR~KHT}_O zG~Yf;Fy*PljsS@q##Z(E6Y1=Pi{{0i9&=z0Mhw-vQ09!>Up}(!=Kn%vX8cYn`|Y0X zH#4z+=mSiFHu0Dfqcz2d+xiB9M^F)=R#<A5dl7led4}FY0lmW1d<wd9s9%Vx9=@3I z(HWcVXo+I|xhS7)Z(7pA>Fi9)f*=CsTQF63o-a#UFtn*tOIwJKl51Od$Kpwa>rO$I zkyAi7T}C?m?B6BZLJ2*)(~{-Jf^|X^6`r&WdbG5)vb({I3kVwqMs34OU;*4bjy-N? zCs9nIZ2KQf6jN5OdOElPBT|9%Csw(o3Dxwc_^>cjTT$AxdEkKQG!HLcRzu1PkiCQA z3)->Gj^EfGR);XyhyM9hpI^am(?Bp$VEZ&DFm)O2s+>rE_^k4t)(b3>-=4+e0W1=5 z23k1EJz{VeKgIhof`q~S+xEqV&D{}~I^cR97OrU(1CJfPcY3%jhKbnQbn#dHT-VCk zC+hGAE+*>-!3bjyNeCNJ?6Nz<1<uHINdO5)6d(<7i7f46m1d*!bX^U%EJwE_crsxC zETMN<J5opc{kisMdW-}DC5>z&BGRCd;ypi7TcT?ZvlPmVK=O?;O^itr8~?Ude)#>W zxRzM;Nat1Sd|@P94rT*z=;z38<GwKRJ%|W8lJ38H(U(1k3{1Oi`mX5z8cr-z^kgm= z0TqykD$u-^`Fqo(Q_nWcadsuro@rF;o_m{NLS!nF2R_1A`}2E#bQX_!=@@#>PBb~g zLaAvC+B=&H@GuL$m{yW04NwyqkJ!%4gt7D`)eFWpz`TE`Q2-S{%;0k!HO?9PXcMzz zdh1Z+qSi-+!XONXH1y~4^I>O!_K@*k;J0rDcdq-5>CSeJm=k7qc|c-(sC3Eiw$-W` zf59ECUUQJS_gjw9+Q$2nX$%%MU0V4}VLJUzk9r#OZaOlHVPt0X*UtUz1TRd4h8OU| z1f^l6z#@hrZm_SDW}Rt7Cx*@tLVRl@y29B;U!$*i1m;-}^l{abRg<EK+q}$lYhWv- z18hhqc@)odK%kwfUMJ*|@i35#KkNsT41=xD9`j?6T5Jq{R>RzGH0r9)yFMfc7F`gF z@!^Oa&ziqR|1lKi$`7^5)w%MX2x0o8lVnsVzopUBa}gsMma?gRzFfKE-L8(pw+eCZ z(}E8q)KTe5L7_}DnB?~cT_Z_^kcc;|O7ixqV%PrH8GPPZ85<<!q(nl+Q|XJzhiy{w z)ydiCa`*^uLYWmFylMq25R}uw$b=Gfv|*2|2of<!!m|_qom~5|KAtfFi+8qZ=7TVB zl#nXN6iIo%LKjX89460<BH;R7i3)C2(i7B!pe~E7hXE?gSDSM9KwFhVuMSG4=ca%F zd8{J@y3K)ODd*Hn97xeMukeRl&DapaVpJ<}+^00TzS=kkAH(R69Fr*ac9Kz>Oq4cf zjBN^i>Msybwfp&O2x+b8UB{0ysIL8yP^~N0JkYaH+@O|*h{Z31PL75h{C@cJ)%h-B zNnY%^N;9De{i`&1jqF=7Kv@v%<lL5WW@63^kW&cq>EW*EMA=Ki)>G@NPKpJ^@!d|} zn$IN=E=Mb?&}8Fyx%vYNPLv;dn4fX1UDlW#`nWOBP>q>QK*)-*B&S(F$hbdx2CHzY zoNvDaI3Q5S<RLoJLXgGbG@m@N6y)Mg4nJcwYV0*M>|RF0)G}(0HB*$CG7#`lxUC3G zwx)&dS_&SC7FX{ZCU-aa*`M%R!0?t;0kVFB-X<q@DeltFgx?C9)30*lhY5*3TEB&q z_&Ch<5?HqK=WJPK3~$jGZiHr{FyNo@ZZXyYQkyo0#ZYtPn^Q0OMIXrCx0G)`?!zf$ zT%f|}nbfw#S_syHBXOu#3@fJ5sNz{pXBtT~t&!A-`dwA@=5wN?gTFKWifx6Y#y&*_ zix!;=4b+4vgz%LZEdpdmA|QajG|>bqj6@>#sCU^w80$H+XXqoOE$%nbLMvzX6n1h$ zj2UlHY*1q48n<Np#qe2odxTL1?+{*Xt62UoHc^_uZ0mvzed<e55Bcs+HFQR2n5HxF zIg|Ccl@sWAGs&^kVFe$cw~u5S<QC3?OyHiiftk|4i{6waJZjO9tPhj=1;1BsRhlno z#&OE3H^nij#i|dDWvZw4j6Xp#e`e~pt~hH;+(;W$HFQ4%GjFQYB$nNjO#$m`8$H>& zLdWy#pOhZZ{qXH+`I)qL6itvNg9y4WE(E1$<$>~@7*5yW9qWT)A|Dd{L~zEYtF~s2 z`M@Ky)~;l)rj0N~%E9g+DzXmznGTg>rafldNjcUBcjo+NzI~T3)*<okn=*|{MhK98 z>UTgyseu3z*t3z{bkW*y(W>oM$80=Zd`H@B>QOS61NM3{voI1TgHSyNwm#hYs=D>Z zwbG9*{OgZTokf#{E`q9$-)iZ{?Qikb9jWXz?c$R08n2JVlL`KzWO}9Y&FHVrW_ak` z*VQvIr!TKrO3z$<|MD2?+mNfz=>y-3;UE*5lB8+kwt}XDVkghhyUD;$B4g21rd?B+ zjvjCrpcQ?R{SjJ2-0WQ+i9gMMNBie$foP-q(cAA&`mZrZzeQiyQUem)AW&zO3eP0N z(&p0f%wLCmqb?!v1iLq5eV+tJr{4|S(&>NQ$uB{FG-j17;v!M)qj=>w{U$M#X-!|Z z#^Ys?m#gBe`ck;A4%fF|5K1fQDoq`6Rok`wvdC~D0a@h-%@+8L+OM^2sV9u<mMl*8 zSXRRGSv9PJ36<t7!{ZOky=g!Dp3$kqO*eGd!i1rmG>~u_A%e6E!#h~3_VI`;5EELj z^oe&9#z+{fFbV$*B=k$hmlu=6Cw-I-3LWCK0n)aeLmG2*&RCXxQA6puexe;&rx1Qa z)bt{hJi2fe%pR55oALT>X+bhaIcQYNF0v+xtJUi3yR>RYHzbX)*DYx^y^1gf;XDu{ z8035{Ah!1jioMcVT?|6JJjXSu9Ca+{6W|W>SWcc?O38E#2#0~^GQnL?a+2*>Cw}C_ zU-YwC4eFp}C}-NvG_T^MDSnXwA}Z8lTotbSg!-yC+bt=)?@!|QRN+7WVVK4BYZkp7 z?M|Ec-yc0knf$mlKeSI|Je#j5IT4-UUx{+0t$|%MIOiO&OLP!3@vbd-(5Sfvka%PC z=o9b$$u7m~&=0RZWFFb^wBL!YgljeYwkfjGJhh3T?Rb2ELLaRuL6PTng^o<hfxBEe zeN4*fBlW`!XfcR|;Ox&_z{{`mWg-4z*R1iPkz~>%3SSD>?PiC&y*5;%l2>I*UX?9r z!XznK|3gZKM&JdE&B-3IGf2}pI&cIy1)fe~9+`<kz$Z#lySP|?VmmQXW?OTT9E~I9 zm>>taSQ)OE4V*RoSPM*Avm-m`rqu@jZtr>5#%!p#$?`ptn}TOj{Jp*BiYCvq#I}rW zPQpW@w(*9H^{hb>aZ!>i)9p9L6`a*`#Rd5W>dQ-pg-k1F^}OqAnN~F3I$BXuwiUfk ztB7@}QWIK*LQQ;E@x(Vqlv{89&qIu}9QLcTW_79)?#uQWcaeKBQ4~03Lrjf%>=kqC ztKS-|J`w3W>MGlCW;J|{M<6nN!9vJHZ^s1RI*rk8prio2;y-Ml(<L2{lhKA)Lkf2k zJ=4C__3Q?(DT><ax^V4%G8)8hl|PPqXc~)|;NJ1zl75+-peKwVH<~n&vE0$%y&=ew zhgPEa%?fU0OUt@Fg$PR?2$4ROJ%-~sRSVOzzRLU<ZgpAy^r(V@+B!49#{&1}AODol zD6&5j-Ni6p<07KdHRr&r>TtAIJ<Sv0QGxY{K?1gz0BcVngpkL#bYRz#17O$i<G|{P zfIv@==G~l1kATglC}1)KKKpUNwA!i_Oau1B+PrR0wTeE$6s!1gnDhip{gxmE>d9a_ zTQFU{Pja}MJ>=4yK9E^&NKOWw;7oV}O83w$rAa5)zM3>BAEza{Lncl6wrwXL+m=~% zA@`yxJ9LMrT$AoVP0}4`_$;`pIY?VvWO7b*hPOF1>DhCt`*{Sz8yg<+hfz34@E_tn zNw?k;z1zt_4W?NLc2hUxKblRHy0QJ)-l2R>#h3$*BvCmF*NyuC>FicsIqB$DhjKz6 zO*x@*Q%(S9d!Kic#;|RAKc{5h^nUK5pOfCtN%}eA{hUxguXkOW{xNBFC^YjDfDFoH zF>z_&0@J^*J~XAi#PhQ{i&&EbpI@k<Tb~SBaq3gZ-ugyJl}nz^6x-rIj%~bM*p&su zNFMOl4`>U%ai&j(sqkr)e_9u-`>m_vHr)_2Nk0Aoq?7~x#r9U0%1F7=F3%#wnex=+ zcaAi;#3Xrx-zm$JV?AaCoXNR`rxlKkg=WSx)s6Bz3xwn1<vw1<sfz?tRFr5pBq&k9 z(dgi4oO6^!LD39}mQ#r&82jNEKX{{i59Y3bJD=~nI@=_{W|~}^(<IWde48Yw*Or*H zNdj10(*0WL#t{1cMz#e3Mg^f{xU?V}zs)p0(|718hqW0p(s$J5DPBz9p=W~)UJBRQ z98wQKWu+em(NErLh-FM2RiBP*`ts0dnjGsVUiuGDg5ExR?Tx;5oo{%KaKTjw%rH`A zouv?x3&_MxCh8!LSIo+h$4f1-+|T2c{<z9wJ5oU4kVT*<tKd*RAm<*5&P6ApQ$r*< zzqTnEEK+7;vufBtNe}$n)^=g!dW|llc6_zyG-Xtwk|7^I#iFSaPs=6<sQQVgY+e!2 zkTHkHEUj@TV^l+x=w)^MVmQRTr9L$4ss#PzM8U>getFh?<g;OJLGtJ5_=1m2w@=18 zePq^%&V!$ul5MT9f3qQrkF@_$#%cs`g^~9!!30O~OO1eu*-lI(3DQC8C!YAG946>9 z{f-B@I{#u)=n5i0Z>J}3S!GKMl^kUbxL9gH!lB=+6p4KT^3_(}cp2Bt^wm~=P`~Bn zwUs;V0rpw>exAfZ++;J(<7Sv>Y~?6VqvfZLtsJ%of_<(0BhSZz(ySN(e|df~R-v}U z-Y8npEAOg!SE~|puomW8x4B}(hho1;?lJ`;k+gO~wZC@m^6G}=wR8LY64HKMLb{nt zNjFzFtQtG_siPa7I(F_ajcx!q=5)JEr)jlrrdH4iCbzES*HkHarh#Cf>2W8=oU5s~ zUKpuTUJw|_@>C3U>`Us{XP>EKpB6smt|}?UKM2iTPN4%-s02H6PSk)-gBl$D5Gn#w zW4hm0yB|eI2;u+-Hng?|6g6O-wcS;Szdw5DTe&=B1Hhrn1(TuB=Lw!49|FA|6D+_l z;bi@wK8!1|f~p&wZQGWafY~9r3xlDx#J+X)p-Evh%+FPv)#zX59%2Gh1naMEK^AVE zTVy^AsGm<zkKC5W`%^i;M%?lpi^sAwkZio-Dm=liwv}3tl^NH2BploTJIvzZ(L1}N zaonDW+f5I)U(FY0>dcp8_C)foY@fjwmb;lRz4t`=Fu(`xi^P>F4OOG5Kx!@BCkYvV zx={HwV?eCv^UNjhJK5gmFK#dlcE@F%385D=AddUwt4CB5V;$+f=iy_5n~G})Mh&rp z`>wz_6y4E0u3Gv~t@NSlp6MPOPVWWK2@4f<LrZa$sSjQ&jgkY%wmpOQ(J{DpVnD1l zY8zdnne8i-esU`ppC@7H%QZ<(DzBFP{ABi&U;Mk`gB!4yS4%gLZC4h$T`HGN0Nfjd zo%d;B6`aOepL0xUAc<#JuoUaPhvl=jG1J%^b_rmJdduEsh<eL<;xJKfi{I4ZL6M^F zqeX?h)jZHzPh&tO785dtj27~2j=5qa1Q~6=vc`SH4wHBvk0K&UYENArM)wfxvo;j< ze#M-m*@NCV%>}JQ^h^S}Jo)vuCu)(P*co-9a{!HFSNk1H8Xb-s{XdE*eS}621{i8g z0)m63@k3gcR*4|<JBMlTCbb@h@uJP9`=ieaJ4(*!xUm`$qer4M<J4=tz=2q1?Iw%` z;p3ry^}b2oWutvR8^=xl{T2Ua!n59!{h<zhJ=oKz+w=|13-hN^SIgq`2}F@kyLa9P z-Ykz?G+NKcp`0%mb_aOXpO&n*G~h1%$qRDN;uB<<d1U)`9k6A+Ghq3Slv9Bt=dJ#G z-Q*SRXmGV%gR1<PO*8Y(;N2~lIDIe`!=@Hme?nRRc2%E$lW&68`$xf))*;EH@D<+s zEU{?)*o!SsPy#d3OqkGJLB|Yfc7TzWBReG3j;Ze1^YAHqTED`L$$J(NV<YX8^ErCS z(K?0C_blqN?K&e|OZ$pOV|2Ieph&CVxWIkGe5v02Mj=s(mkqL7Mei)ueu$vW>=9~k zX}_oSF*lV_h4e8q8mwPw6k0%PpnGr^HHydJxGSv_u5t`cn!Yjk7g9C`KRQ}wGM9c^ z9%!Ft2<+R2PtI;h-8NX>eK9>P?QU}?(v&?0@oDlRth%dTt=<WoSFw2R2Ir4`dFJyB z5@H&{ZBz8eAYZx4drB9d#8P&){cJKNlMoYqU`CTyxXLm7bNPegPwTZdAxxWeY{UWf zXQifJc!wS3-oddO$lcR=jffs7%N^0dLYHP88{EMG8y%6cwL<kCkGFmAkNW25_-u_$ zxeFg0UH&|jN_A#Eb)|)A5FnLL?H>O`ugL-xpZ=9<{q>^i1GSy{z4u!k6}J8s@Te7S z=k!^sE?g@-<f_Mmffj%*n6TnD7>Xc>mDnn7Ap-!GpJt3;&AsZGfTJTOfc@ps<tMb? zoU3tZbv>#p&7aFn`<)GK`2{I%cIN~SKDl1^A+~OWAI((_M^vGHF^M5Cbz6oWF$K*B z&CX~}f6WRFN+n)g;|RyEWJ(V~({(`yM0GfM`SRHDC-ecfDI{RWdzy!fgE3d#E>Hxj zU}DnO+VgS^JO@VgX-cq-joBo)pndHLu>~i75@&Z|Aar=3FVl6WoDzy?*kMbFSB9I% zKY)z>JN|tVtE~Qgf@gUxcG2h7h*x8K3-X(oPN8CeN~HLGr-HWDBgYxDAQH4BfLHVC zTj9O$bH<Ofj2w(=>-!R&8ltj7g5|bqZ>`a34%O#qfAOiyRHv7&!c-;^RTcdYvubc{ zJtcg^YxPebdbqmrK;_GlT=x_I`}A32XC|Ky7`mtcT9&j9(1<$Qo_l<97MxJKJhK-% zJtB{^ir*7GCx^6$9)Rffe#Ra<eQ9&afAIfMN3NqVo0%I%d{{-X!cFvfG@;sgAjBk* z#fxB=XV($)*r@ZDOQRV@+MzU|ttU*ZO@7?&uBYf3^J12Gks%#hXpnWSbuKU}OrXtD z!bishHBb4%drwnO>c_swI#gHMl9R613Ab)}hr+6aaCNJe2@O!JTDqyV!>Nz?qBKeB z6u%SpwYYrGB4YlAI0opX9VV@E?^bF2v|&)SXYn{XF)_+^|M-q(QPaF$*ZKRv9+n37 zzRbS&?^#^#@5k6X6XY@ezTDnv4L(x&W9@wz8y)ug1YVymS;Z$B1iFs1IRY1}6#cM2 z6A&o9u}T~(yk{f>db#QAH~5Eb=c#z;+qLa839Z@LyKBP^5Z8Ts`}wBO^n>>8HEzF+ zToPiyjE)%O#x#lIWD=*6L?+IgOc>sz2dU-ngqE#W1m(mQW}~VtP;*$7__K+;&``Cq z#XF}4e5XbkMd}_OkUiDPC1h#8UTX?zx4}@haX4ck+pwaCV#Bq%)fP{^wCUp26`_#q zNmi*kU=KBa<$k3<ZG}C%0JvXTmBM~O09Oz$SEFLa%K4<WG`MKd&2iyUF~6NFzDUgE zi`1*inJRD-RHs0hXQ!fHB4+<Tt-(iQOuJ(XR<-0E%{9i2o(RK+)Z>i@L+Ub5eL7qk zQh0KJ^1K!USyZR;@eb_jvzozaSQ5bDRm3i-gz*Y2d5rfb`MeE-Lbg{gAanctT1CHI z`laOh@`{E))$&l<A<A*<5h2?C5r+mQb$e)F-e7huIse*ia4`$pOU+1UJroVYt9tl6 zvGWy1(wK>D+lh8!J|3WiUd0Rj2``*XYRjXhd4Z~LM%5~ozgp?@V$#0Rr7O#of0)kG zZS7hGR_NieR?+`YTi~NpT}8zTN`88QzFNXMMvAx5L0;Pgt9gUzZn~)<Dp<3&t@8pR zyxLgiH6d>=_bH*^rob%$D8>D16^wCjFW|>yhi~1*pM;89MX0jo^$=dwyl%|&StYSg zVuzOM@Vj5sNuR$!$9U6^A9+L~N6-3~v&RNiqA;SfmO!^y8y@HBWtVSx%Nq)n;1-UQ z9@Yi3fX9h)$*{`bD|;PPO$(6Hbo9{o3=g>SPVhy4lF?>V4L6%I&rU~c+P+pmS=2=b zTl&m`ve3TLnjW03j;c7iLUr^*_Apl+om6GAZ&XKj@yK3Cb8~f6rtz`CZ;g(A)*ik+ zIw}>Kd=dGk?NO^NgWKV#S{K&$?YN`Y7T01HbZ-0&e@J{@Ja{nZChO<;d|d2POQ&tK z>r~3L1ez!*waHSMqm%m&XjDpA(=yb|tk(?ofWNrMnI&rvsI9yN8-^^#7wK0P;|uM9 z0lM-JcnTKd-{a9O#;@VYEXJ?02U(2Qdp^u&GHubRC>x73<4dQ<K>tg#%4J#mx$)tS zU~Lb}tMs5o*sA!j_g=^q5$NkKicaz<r0nW6&?gC6Zq`pc={$8wJ2tjeF-eh0s+i(; zO8DHe&Yr-bUgTBBCo0x<4=bxWx><dz4t21um6?9rw=BlVG2y2AgOqW5M!Z9@(7A2V za6Zwz*|c_8<}#zpvECQi$(VvI*avm>{4nQph>9rs?=O8@{SQcbuVW*Fq`3sYwgExj zV$s@`fnhGj8rDjX^nj-66iEyujkK_>DZKnTDf86eyBJzj`<tWb+i_Vf%kSr-qhrNb z>DzR2LE7B?)l!sYlcIQE%5if3XM^}7AD_Bo{n2gL>apzAJSpExh|;lFqg^X7!x&PZ z<y7f!^s=_`hwuV2!M18_*J?W5wek%rhzeF%qtM^Z?WuV4CLIq&8xIKq&7m$>;Al8Q z$ax4kCq$7<{dqzr2@+WK6IcCKj*x&)7hE_v<NXFH&4iHZu)oFp9+;rIM_%G5vGqD@ z`{>8($wH+qv`Z9Pv`I_Wq`RVP&qK;UUXmRTVvoo#6n<n&zrR?7ZhTVn;mRclwYBR9 zNrK#n_qX5$<O}nUCcMDrUv@Nr9f*|b?5EC(VucYG$z%>)CNjA~?|69e4|rMnJ3KCv zmh*Qr<nbM5Z1BVoM^&~z4qNT@6*?CH00eG~$tTU#B8QQDPWJRO^rBlvbveKfxjFhD zJ;9;_IeygGXaGppe@9Z$N)Zn(Kix4s?DGY5#PV}ZB0q%<I+(^RqD$(IsJ)PxPjxrM zeYS-W+z9yCpkpR@)~)v3`;vrbDj_%XqF!7<BGqHTzg{zCb;Fw4^_q^V8(vVme$pP+ zmTT8*qGS_~AfVSvMzfDs9=l#M<>-dr9J^j*8Qt*8a;<6;WwpE^)08UbOFUVA^QTOf zc4-k--8B@{pRK<*FZ^xeg^mv@f2)AgpI^-d&+DX=4Cv3MjKq?A<VOjr;kh-r`8SVW zLns|LREx|D0m1Vg4RWq(2;>d4aq@1Rus4^7SVQvGv<vbCYo>thWXDf{MUohUhd7n& zAjR|^NaTaNa)TrhS;Gtu%(U8B+K)^w?T`LO)?RZB?(|2G4LjZ;RT9yWJ<TWB%1wq{ zO-|MZ)z#L&V9z)C6wXrf)k4ov<eAwb>sEQ0BEKrMCKR&$Bo#`}^JLElACZ5{x6C>v zo#@&qg#m9_ol9(}-N5OWY#DmT7LMT=r?+3XG&`0y?#skj3I2IHZ&~3BUuKJTj!l;8 zR|w{XN%@X<#Y{4Ip9J5}Qwt3bHiEsob%oSkWO|h4ADhFH`-1wH&?^VDad}WpqZNN> zbm|uaX3mp?GQ7&1+_4NJ&BP46DDn#(h@mVxq@UK-ul5e|c;2sB2e;0~y=xD7@8ZKh zifg>Ij`FQ(rCgq9yV4JU7gJC=`@O_|nAKmk`4ec&uj>K>Jav#!81e0dCl1@V_Sr-3 zZj?vW5MP_UtXaN2g)Ori_gP2dK&&u1R6*bL@e}LQK5*DlN-LVBff#~Wwwrz6EIEIc z5MstwDq=V5m7)FI)tjs1v+yR~3%|zWof1K{bJvus<8%JFmdAO2Eb`dov9_KiLu6^< zVm<9>{#4LZuhvVaRvmZmF#2G69!U%$Z9xD5253y2UBbxDx*ROW%qfn7z)YS)YbYR; z&|gq*k6=fBNHUJ_!)nQ;fF8+YjM0RwiKBoGh?t+jftXp|lFkEKx!AQMt%D98`;-Dy zklOU_7it^n1yGXx<8dB=;nUor=|R$6B~ooq>R(uLx}f(ld>Pd?tv@)HFgGEi+?ga! zXZzROt4zroFqKc5%Nzg<P>!-}Rogt0y5vYN)UKr(jV?b9yQ*}4H3P0(?TfM^f+;4J z=TJZ3BPEb^+g5a^(Z|-S+^Auli&u036YlkBn}}d5Gs$yzU;Wr${PQP?_OtB^fhPVc zPPMNujlY`a=4GveX<RJM?eCAiJ!lNkpbk_rdKxVBt3@RK+zJYhz#K7wOuZP_M@IuI zCWRL?ioBZri!4PhArIJv!)n!G71{Gm+{()kCP^MmlLxFF>3LeC7%hAim#NZdq2{9R z9vf((2D;P2xby5}y^+!bc@@VS=+24EE*3nX{Z3#4dSk<Rp7~c?ZK&FiyjlOkaXVWr zFjnN`rr7&gX^81!6}{D;n=XLb(DqEEn$+Zj!tG%O*|3V`<-vgXE3BVr$b@NOWRtTL zk|6PIjQ|>)`&NPFbR?rh_}++h(7sD2=r%NuZS^IrYRF&&XcQFJ2pJ(VOq}8fp>`)9 zDnI9^Wr^YUn4vd11U>ovefCH^kePt((~iHTyu8nI!xXokB^2<dz%cqgM2T1QhwrQ6 zRO{s`Yin83=Bwg1eSd+1>ZmuBBqg}$H*bSHzE)+@R)vWpx1PQFP!kM|&Sr>0i0_%o z>yc6h^-QH0KL#8VXh+Ku<1j{Z#m}Vqk74!Ow!t0Jh4#u?s=)r|IaOwjC)kgb`HYvb zjFxa?CZWEv`9TB+TazQdl}Xl}7?xKzNtf%DT~zwqJ8tz2Laq2#ov}jco75Ob9%j}R zy-VxXhF{Z8NjJ&C??6a5hUdLMy!ZJpn4%$*?B0W_wMoweHw@s19C){m)mNS_u<JWF z7yveCzPo6$rY`)}?EmO-h02x2rWMa<7&k)GyDh((APyeMNJ6T^|K`r<|HE_{Ab<zg zV$wA<*LMmXF*75J@=Xq%o>Yrj5t~8Cu3D*d&8t!{3F%JsfK3TNud$~ZBSGlUUk0qx z_k!>NYk8;rXgsius8!DCz<cv*eXH#>7?Z`%3G|_6JV%d*-VSJDx^lhleK5>@*n`z} zbmQf5-q7uiIn-d^f}PuW4*|Sc@P_(LiNF{xVhGhZta!tEQ6YnZLeHg;XY*44OnUg; zSvi@w+P6uDT)j_2X^Fka<Q*t;`6So$MN<mINDKaEq6swF&}Nv@`U%OK0jZm$B$VyN z(DC-$K+sHSk>-1RU<ZA2Q)Vc;mCIVz?0w)@$sFHDYl2tT?;fx&$b}QYV$)@VS1gJv zzqytn<nsQuSBszIXv#lVZ{`fv=aK?=pw;b9h`8F;`>R`b8}|+EvT0=(ZV;}Y9MGh3 z0G)(M<3NH>VbBA><m6LUUypGpS1N%zt*%#vH2q6-<n#Z|FtfndfSH`Wy&;1it4J)T znN!GVZ?($eB*V;GLvvH!+$^tX4=ca+;si5);g%)GS!`_)6<3pYK93p4$+Y1lSmqAe zEb0islPRaFVvqZ;;^XXFJMrNbo7jF8bYFBxVHGBWFH!9sp2!V8@~w;WYwi{SECRs~ z*(KmsZO?p&l2nlO|IWs9SKTwB3Y<cDAz8Y!G375Ybkd!F;E>%+<{--++s(com#qzp zyyPkahK2?v4F<9OF;AdQ23uq+SmljV3zhe!6(r<5dMEmyyig=}^?-I`daHf$ql1JJ zh)C!2v;`TO<Eh#Hx$<-Zo@>laIF@0wu57@&F3978xJ9fZKM3_528zc>u)P>dr263+ z@pD4My7q%iKq#cIR8Txj?w74#O|Zw)h_R#^k%ykWNUrG2dFY&%TVf1nmC$Lg$;J;5 z7Si^A613{L{paP{N3#<Ev4wt>WXI7#z+fH`V&e5%u?pB|lx$U@Ak!fM0oDx(S9YlO zXNIL6*`OM7S3txD^gaP01G?#Gka=j<hAA4c>+(yi<*4c%=e4mP9SNR@Jx8z07k?e_ z4CLS$`0t13f+NGzpM$6WzaO4i6oDh)=Vt&<Y^@IaeIdSB2uTnxOO{3?NW|4{6IX7H zX4(<|NXj#L@g!IEd3$<_ahTE+fN54~5_Y>aqr@{X3?EOoyU4^Y;L1-vH<?rh&#~!t zk}s2zCj3rY)$#@7ttU&3%rWS5<Y<|00~!a9lb7?3PkFj?@@`EyyIp4QcF#W#i;WI5 z41gNuiM?<jCtuW~N11;Q{_PRwn~Z%m+-C$9lBxT3*E{)}m^F}D+8Bs{r>FIC(~l)( zi$#zz4+{84IosZti*KWwH`j+9i)Z0bx4j?rqF(;dj)$Lc+3&S<H#F}%7BAiYi}qXG za-RLJD~w2-v=ltl3cPQ}!^ak``D@bjI=X>5WyiyPg=_vIPASJJ%F~i1jh^(jzRQDw zm2;txO@MXFjyu9vzb|1&L;ha2iDQnH^R0;^mJSZN^Kt3ki#sc5|F(c=TYMu!!m|Wj zzLEBe1fPAS{ITz6g6PN~LkbqxFzp6IN{npl$Tc6J6zuMk81v3d^hSuLYoBxtL{uw9 z;f^QVVr{!DFRwe|`T4}z5UA9MaOMeg-YrZ*?09%In9il`DY;>+4;zRTwcC{>$PQjV z@o%1$o1~}7!8{w31j-af<f9QTgr?qIR_{z{GW?1X@#l7t(wZoO=-bWSD#LW^Bw>jr z7#HKN&5hb18wHu;@l-Lmd&i#M>fmmy@f!My%)uCkVNp TL})I7wpDYS|xst(q5p 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�M@havsRr59D2I0my3smhwD{yvi5Gqz6}M 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�Q^T0iE5gq=iC*U`Lrpq9w##e65=oo7Q zZ@5`U{csk@v>nqQ@xTXN4Oyyayna%!T_?*g=2I8%`Ws<71X&KQoF+HW!gTKHUlr{q zPJ6S>lThOkikF=^iB)97V|7ZIQ)$g1Zy@9WT)Ia0(7ZC^=Y845y#VM#;d$gAgT5mu z|3yOpa*1Z%45S*!+wC+87!aH9f2pFa8ajB-&hP;VMiY!>>KR+jat8C9*8D54G=0~A zY0NV-rhpB~K4rI)5}3lYJ;K^Ax*p6o0@J9|9WD_7>(&q%zPF0EPHX<R6VQB+M<oZW z6-|S8FW_0Vhdh=fPp8}ui|%>}on5kHZ!f{t7CdSFVfE<*$!bf{0tuO1#PD>$+EOjo zPy;+Ez|LaU(Gi9pQ_h|64evJ^6ez#<V&zX|jY`{hfx@8f4mAZ@sk-RS%Jz>z=r7<G zFB9F(m_vte<Z{|uO0@MCA3fVnF&vltP-avW4ETmn*%2yd5u)JSHR0Ikj>2=-{;k7U z4{g$$1fu+p>H2otZ($!%xkCblB%|3R>qwwX^)xeJ(Vfa`(fwwx{HQ9=>gjh5o%!;e zl@V&rm@{08{^K^Q|9A4e-ynU7v(SI}@BRiO`V&ziza9SO!}ltG)kObE#>JhL$c9&4 z3{3A6`F$i!2JY<od91I6@tgJrVKh9qvD@$+Z!^(&e`5KyM7AZe$Kzys*D+rlM9_q` z30VurF3_hc?ZmL_NxOOCR9kUhZv1}_Oe7AZ3BS2>;adz_sSSG0OxR4kY<x2Mhat=O zZhKXHw_tveGC~2__^lGaR!Y)6G%N=9dUFg(l^=yljp^{-3LeWdRt?jXfNF=CqBxm0 zV+VPl+DMCXJ!nRyXv??R)Z53exMfoP|HSPh+BwpvN^wzjJ&Ml}Co$4KzC7A7zDx%Q zUT)j?@(CMXaMbtlWhxn8-s|Jb)c<S7mw)@eV0?MEjW1B=`#!#$=h$|RFR!qc>Pn<; zb{LRq`Yz}B@5czUTA(9!)Kj<9Qy-<LenDEWZQYb3^*7N2+k5Iq4cBC{A?I1`S;+W_ zV!KA8a}a6b$J^gbq27Cr14#S44RJCHSbzNJK$T0(PAYRwR1>Ja-Nw2gbJXvGGQXD0 zvGP~R9MNEv%z*}`4}bSG@H(an?G=ngck(yS*rdO)@SV&D5g8gs)*NqwKZu5%2`xG< zHeSGj5AP+tKg-^I^@-0X>r>Feu700WidC-ExEAJA=psi#DhYCpy_KhjRb1v2g`>@b z7Hm`Y-Y`Vf0WwIW2yO2G<hgZVXLnT|{Y2dX=N)D6n3sys%g4Nc@jOD{9R!Xl@D2i1 zJXgn1iVbWm6An`~+t~CQtiKbhkrD9xX&f2<onQ>m&RvWu&m<<@CBMw@*wq~NbuZPu z-^NSE@rmt6ixVS94D?OA1jE)t^k%N>6v|d-&1I}gpm}uXIaQwla>vr95Fr{Q$c)@$ z)r<;X+qqbHC?1%F);`-@EIJvnw{EfC#qJ<>Kva6Ff*z~QvgR;MXoI%WMnhYgx0wuA z6Lb9KSWK8oVo~5w%T0iIh*8<}^%y^bMUr8|HKpSR{@v(Eu6P^0=BT1HjANAk@8iJ@ zhQP4*$HM=WaFTYkz;BCsf$RQ8uqP6(yTOYRo2{xjyTp5HwD@t^9jJ3u+yeQIQ<1Mh zX(AqK>M}A&$&McqfSfD_0d}F<e6Q<1gmn?6p%e8&uTl#5WR!>7`t5@$7tfiHZaO4d zH5{9xiZ83D1H5(nbUqtTiB|1mnY0qJo-(nTc3luWQy?WT#69~+N^-++&+qb~m`P&x zYnqf6J>_brVn%+J7>;YQsixg3QnCNK(C<eTWw6aS1sQ;BueHVeCiMX*dz%g!fULLK zQL;2iX@D4!TiTpy*&|SGls!>}8cwX$)CoojqMLTm&bm@9+;m~*<XB&!XyZkmY65%b z2};&Ocd(%1<<noUJKtMP<qI=VMZ&RNgcM&37=F#(*%&Ut@SK>ncF5r}Wv#7zX3{Z% zL4H!G*reY2ao*^chRRZSx2f)khMFv||Dk*YJ9v78$zaT9_15NfVaZdhql;X)7P#9; zXMI`(csVk@HK34_kU+BWYdg<d*!RV-X+7@ysv@+GF|4*O1sbfO-oA%pA-Sk3zllbN zxK_xZ)0rkYopvVY)0s2T>fa0w%+}g`p1d(f{-~L!HJR1;i91>aIKlqEf%MFf=8w3h zgmylO<B2u<Wz1T~4qT#7v=Rk{T?VPyvJ`5uD%Z9X<QlrtD~@r)xNAr)s6hc>c$hwt zu3g}Q|3NPDaEH*b^8#yD^7(@+Z%LP%t_tA+f`F}wk7U-Gk*Xq*4fquyt+{%GF4bL) z78aTu(9?U5#?}YZtOr+~xc>|ibC|*KL+S*BRso}&>R?}f5{zZa=Mkgn_B%@#AD|#2 zZ+~!S^qvDovIO_G_=e)GA(D8C=3okmX6D}jiLSY-JwX5v9Z-9=enyDE&{INBe0Y`x zpm}V2Bwn=Hm?G;J*gF;Dk<I{F60ZQAW#Udcb+~mcIb*|*dGd)`cK&_v_<-$yu_~;9 z#|zAu=>mq9zT#%<>2yR8v8$H7FeMG=$!ISl>!<RX+F+Nf)6gDmcCk!!PwOdZT5FIv zrL0|k4$mP2WP8j~SF8XrKKM7YuR3PG;=~!p%?GjU+6r`?IODwykdMj|*(#Ti6?1Mb zd*`;0S4zi=$}U!6_%?pQdM^g>>^?;f+bv}*PMh{qmPF>^p>0-Dr8FOcSnJrKpigw6 zVCHUHfTqttnCTjv<49{=ZS)jxrKawtR?<Ty)k^mg-<*Vqy65A77FKCgm(NJGi?a3o zvWH~qyKC9fWa@h_%S@+QUsY?3`hKE2sY;REzuBtvdR1C@*e;V917#3;>+xS~KSEz8 z%QLcB*3{oK>DP=8>;3FsUS@q^NjN}K-u32OaCp$(`I^}N05!pZqLCl8!*rJ_g$Klm zKSG`*mxIMVd#6wCmC7bqwglTtQlt~+R$npoh0;~_vFv$sS^;#smS8Y~ThWD=*nyYo zF$jSpeMz;F`AlYg%ant$pw2Fv%y=U>HHsJfajvUtpS%cVJFDCC@Rac`U}HO+bVikJ z<`<#B;O44XSdt@zX^2kF5(#icFjDzzaxxCVez@3b`;W<zEWRhP=e6y>Gu#sG13c+6 z8neMe!chlif}cyur}_t})m}I`Ja8$fn(|AGEf-p-4*qIB(TC9`Y{VP1Cwh-$5??Sk zc6?=4HRHV}G<?3_N>m~GN((V?pLTg-;Cu`w(bj&1K0!~%cyRC`maM+8v$FAGMy!Ji z-6*dr#4`VnSQx1gw}CIi7~$k$B~vGeFFQ1CFs;Z1o*A{JN7axtt=Z)gmc%OY?2rVs z`x4q%$u8K<NC}=#+Zj!&d+e-Syn$D_dvg#@Z!wyz`zyRUDZf@iL3C2xndxa%7Nb%w ziqUYb^0a7DR*A~RJ<;T+?4>uFoU;@c3&1?Dl+aHJTI)M>@w3a5ciPKy%9H<-7fpE) zM>Tu(<~1#PXu!(|>WCIo4&IN{!zI?^HM)y%Gu`IDi{ic5_{$)T8ZAu-E$Epz8c9Gk ztfM|)o%T3Fik_B_*>|1sFlfRJK&=={RPwuxs_H+LC~t(;vh%wnoZZyU{<iq`w#PW< zY8@G<{+pafxoK6O5odT=Jk?3J?t-`I4<ikmYjU`c=H1(u9;>NpoCH>nhE+9}L2LOx znLLz@o#cy!V=CV0m$)m@3~(v#2*-4GV(Tr$Hmnb*9hQrSZKYPZOq2k}WY?d3RmY|v zZp4i*wKw$^Gi69^UM}92X8eX6`pvDgG4$m}(1+VEfXf^xmD-b$53on(ARVC<qz}(N zt4MriS0b#I(UGi%QjV$D$O$WP<`R_%*VL2*Fv}0|{jQEew4HOeWT%1k+KW&JH_|nK z+pNmRHO2g45<2TlobjDk_jGASO1dTM;TMrEp3>0Z6KA|B-;v_QZo=rGe!PM&lApbr z<kghQUs1)>4<<CTwFVpfk_EBUJfNELQ-j_z&(Nk{@$4EhX@*R;!^OU4`7*P)ea-R3 zdO+1v&Rd)&&Ws`pD^K)8e+Xs99*0a<3O8J!b8xSCGM?}Dc6maqA(zZlamvv#e8LGd z*4ca?63kzc5(9S~tao#K&V`gb8G2(mSYZC^M;J*J95aRuD3%Y501+98t-S~D{|=j~ zkOD4sM+QLg;QSK~*1yduE`o40|LhHV?i8zaw>Vpk_}oIHXQHPdJkw;X;d9Q>@FdsR z%CBE<1OY@r6!E?YpR8%NQ`kurp^j)Cqq@k~oIK6t+5IYIC-65N_OCZwE|sV;JD{p* zWpt=7zFhY-m-I1dh|X5=v)#ULY_@X|Xr|Lj4adM6It0A&7xx-_P)u;Fl@K*I+(q-} z7XG5kq5QMY-!Q_}37bLgV3iv<^+JreeK(l6(3)^>R@ukyby;<cxLIfci{S<xi^|5! zDA%hsB0te(v~WuLy*+Q09GVelsdmwUc`sk<sv+bEA)S)sz!Aw^Ji^+4YwA-X8va11 zTfM*<(T+;(pO8~p+JS*Mb}_#Lz@mUupi49FyW;oEbeAN>G<X}WWj?A~7!g<d(;Xgs zlF|a4zLhA6$WnAnQADbX>l(O$uCa3`NTpcA+3)M$v80T}kkx0XFH~UA%JaBEuj|l2 z^EaKXD3yw;{zLti-bN++R(_&Q&?}z2*6;}oi|^Pu(r8Yrc9v6m-BJQ1*72mUNVUfP zXp>(1NcT#Dg+-2LBV*JCh?I*)k`p;rBrw5Ckx5QP3h74Y_7-ZTnjzs?#J%eEDNpwW zj#G7=eDVTuE>u`tRDbdCt3_3QYDi0fDImHqMszR<Hd1mlAk46aK46%q`fnw_Dbz5o z1OW-*O3tA`l%BNe;K<n8Zu;~RRW$W@kId_Q(I!T^{V!?%&W-)OYN0fphgr8~38t|8 zF7m3-OQF|Zr@`U9y;gnI-|W9g7baMzPjw5HGVKVNb`@_K@TAo9Zq|;zQS7EOQr?{U zihgz#1DSjq-;!Y(^$Mp{#4pj$tVn|EUY(`Dw0y!co*{H3y0>OP{H>>N^d<I?{5Hne zk#NXF-WQNn+hXzbs%bnLgg|bwF=YPm4%pck#Ul>`NNO3wP-f^a%I`5?iB{_~KBR)l zr`7t7NCs&UOt>$i$Xc1+8J9CmZL<m0OzHbnu%{1|<-}Jx++hxg<uuJf8Z;7HJPGJE z2-x#uf>QC?duOAH|Eww!zK(!1U`A=mmk=$gnLyU~WAk~{-;0ac6w1|h+y~UqG8Q~w zt*v5*AJ93K?dn)t|LD{QRp0&qGwB@tp_x-+ARC^QP{$b4ibP9shFHI1DK$mhxQ=O? zSZJv3LY-=>XD3?%7W3QUx*3vkymVb`qbO<>&5Q@>`DR&_JvlqldaPIhwB3{~A}_4; zQj03pTMF;<yd!=Lo4`181Tk=0(311UEJ5lc5{@I!<pXjJlNG()QG6?w#OCj~8VY#g zNccJu*7&F!7KIt*!}?1IMX&+ZuDhP0Ki_F=&T1TS#+F6W*us#HE5+uS4tfq9C3JZ| z!4B{^)Z(9-`#2RH)`5fOU$kheH%b~?^68<YTe1iV3z@>DH!2rD&*hx&L~HYliNY>G zGK39*e(a#ttRsx0@W#LJPI<&;y)})AM2G1Z0yX#5vkYZQkApJ4Oywe{Dskb>tM;j8 z+UK*nVbj~t=<1T56xLF?u{T4icH&sFl-e<+Dyu3#MZV6;PsWv>%DAdp<&}D}t@3<1 zt<6bk+8J)T89d{rs8ApnN^L@|X^GXnB5y)T1J73*!7YRG2l7g%6<6>(6}}^5J!VBn zc8bJ)69-t4GokMID_oYY-4|vvC|Qpv`SnVt)G=5ek^&qXDB9#hpW3v2N(@{0Y}5q- zbxVZ8l88ifS)?&x><2I!S;1TqquxtQkP_6+(w97a7)0jUp@g)vgw|6zw8ZOfCyA(Q zikuev6n<qKo+JUO{9w#6atyvWaX64@_48;6zwSH_k3srPqSPp02pmL(Z`0%iOPVLT zb(>1lti!jMYHo7}Ad7~CZ3AVGT%IrX$T7pxTVo%s+x%RQHfNQ@N+3QbZp@9(cqbAS ztxO~GxVb-MY30|OEZpBKu^8rw)cjHv8m?Ie=B!}i&8ZN66h^$*ivBWOle_ped^lU% zVsT~rHET&y?lzXQG94kvQZ3?ISF3w>f+lK6$I5nwm;vCASy&3CO?Fp*RK3QEG&}){ zK#0cQ1WK)640u!~^yvj<MEQ4%zz;eCNpo_%pmnJ>Y`z-;H2ZuosdWw}8V@vzOvTNR zwy?K`9M9B=<AK8ywzW>jEIQI8*8C6rj9PECDPV+eE)||f#Lepx2X4W*#@zhXvh$Y4 z<QK0=S4*ksaxq~x>#_-h%gtaC2DjO^G598NPt4%<;gfP0e2^$-aJ@C&58>Bh5>2lq z04S1j1oUX*ciBD&c5x#mw{K<#Y9BhNa~mDT+P^u1uM7!(pi&q!5-57MGF)aESECEv z!FYDwhlly*KSOoWLQjo8AugfTybTXp2k6Kr3hTUPa?veB<1idflXkL`A-txQkr|fq zrvpU?jE-~>zb{Sp)o`VnZ6k)9eF-`B)_5HU8UcJ-1KFvP_1Ri`%aC>aX)5(37{)@a zH^H#W-h`pORcseA7;5*kH@My!H+mydTeESLAT4F-vw@An2ZTiYCo1cKBN|{BdD8uK zo{5Yy)fe*)1g$udeh<J^XZ0wd^jyY0c4*jMi~p~l=O51VOq6w_$Bb;~BDZm_L<K}@ zH*msxQh;a*mf-9VLd!6*al)QaZyLXq{V8#<O*52lS^3i7zL1>Yw&eXGoW}Ewxo#B^ z1O*urU<={iax2zwvY8DjPWRD;x2=8Bsx+>(Db9>!`P}=D=EvB+vPBwq-AmKBP6rew zHf-p%e?17f_un!0g^+)V{J?NCPcI*+4hB>U46n{zdx?+4z{~d%QzZq0U9wxWv>EU` z@BG=6h8eFuJb?nW3(d}DR-ke#*C6kYFIO#<m|F({nVS$<04IYFW!jW?KoQqW6S0`w z16U`11I5+RElgg`kx6yS@4ufn1mm1FJTKZwR_Q6HyT^XP&}Ab2>v#{?dz%U0q|j#! z=x5l@hOh;gd!isKm!plJ1TRU=O3wkkRkl;Y7owg&^lJ%?qSk0ywm}%gD>YXmL>!)P zxntT>NBrpL+&!aMd7W%gQ1+bF#NL|9k4?yrOF<sqGx<>u@5mL}+PX=f7?Gc|4he-2 zI?XCkBB7=RCP{G<X_nTy8$_ZGb3)8kT0Uf3Mcd&z;9z4PH;44lIBk2wWEx0}d+MuT zvc?T0R!ZJ+QO`v5t&vJt8n&CkX_vnn&&E^`Cpr}>>gVf}1xCgG1k#D>y@OP$9hCX5 z>OJVCoTT2xkZS#Ub4f;W|H*;l(`wx8{KZYzt0ZI%xcp&e$Vxis5{I@4x;VVimb%y% zk`vsPTm%&G<@V$QX>eQe!4STZiqTD(pddy!dyvVddER3wLqXQgbA<6{V#s9E91UI# zfikU_Y*L_dE0;Lp@#liS9%rts;Btxf8DE&wN=q*&uRuSSXdm(jVFwA2v$T#)CT9cA zn>`fzS?~<O9on<RMMmmRlLE1#POqO-!HyJDq#zX<JT!WleH^xnyOdmdsG@H9Rm*N6 z?3MQ_(V<#0XL90JCOTxufXHSb`BE~K^%?C2kFkX~ciotcKOS`W#c6SjeLm0gR_kk{ z%Ovoi5*%REis@1&7}^X^h6+GF&az);n9YzYOgzKG@7>fixglD3Nds-=mqO@ZTlw*f zTqu-M6#U5d?-q;wJ1L9$GSJZWY2C`yZN|+XUPW4mCf@%OBnQ1XdB7u><3f%UqmXHX zxhB<Qc7Ly*BEyVtQ`{INV!Ur{3zhB#I>hf7)IRB(B05BlD-E`f7l<_*<Kj`S*6hU; zidklwf+WtiB=-7Ei7?Zu0$6=YeuyUNS?BE;7iQp8_aKBr8n#53TWlrf7QO|xGQGxQ z?^AS)s(>msDwhPvKjBYP;1@gYA7uPx^Jdn6A-kSnIAsv9Zk=k8ZDn7_CWJMh53F9V z8c6CNG43Tc|HOv;4@`O%3w4lZW>@zUl}}{fPw6RmJ~%+UFh*BK2xFSYv0QSi=ct<x z!vw+84{F+7c=xr@p<{h5AB}!HVq0t^3^lefi#hCGp3v9$$J<3J3WFyDM`ioB)g`dE zWHxvqGQh#wb*X||0*1>0fGy#VWxG(6(PdMe&78J_vfeys5~Q$vDBt5p!pO^0OT%i| zuz35V%YQQdV(ZMI;V*HQrWnJ0%P@7-ZFAba3XUFehnl<hc6T*<6F54!z_^CFu$5fR zK*ZjKuQaI7=dS(-@zlg=-If!hG1Il|hWaX{m*GlAsdUN2NF;#&E62j?W^h<h#fyi- zge<f#S3Rz1h`H`}eF-M7KGSuC9{&;k%KZH%e;4uhQvNjEPxP10`vTxkEzVGil>5^e z&!G#jN6+ACW7;{mXo*_*Fc(?l4~~96LG%kAgY2H;0vY1=<tz^atmSDvjZcdh(P`G& zm+nD&+ZP83GNTKu2QORGG(wQLciDpwAyDCh?=Xs?V`v$WH^T56g#!C6tU)#RQ=$kn zHtVbe&O3UA<6Q<b>rh%5zRNm9LRs|?%0G-9)qY+w=N;Y!#C>w)0NQS#xq(J2jUyKk z$|jb;uDosCz)@B}0dt~liw<3dt@>z9VU3DZ`3)pkVy7Grc0&zqXo`Gmmax&vKPz|b zABxkBR;5dY1W4_9O+fBd*$9&~(JrOYOz5`MiB{X=S1LEF4wccnqR}JKBbAXOwgCjc zaS=*CV9^4&${$d|#ll@7P@_$ok4LSgEo2Ne2??$FY6Q|=s#rI#u$I@6rqOG8sE5$d zFwFP7C>4&-gOPW>v_sxqn#gCt4U3&{%r222H}(?O=Q0%tTL<E;VsMxF7wFDOBw(dS zBP_cOgL8E_le>Akw?I90C@^nicQqIS<s`;b16?FS$wnJEr-EZ0J8tc`f>FfkD5B^Q zKIgG#H4gfW7XS=in$8%V)aRB^8&fC?L~_1TpU^bj6M{iBwY2tu83KIly+Hn-W+f!Z zRReh=-A)Z0A-l_jQJAe=CSHL%i=A+;@vUUNt*cWYs@a5Le;5-qt!MF|DG4J)g~f%u zsk3eZV9iyelhI+u=`bTY{63}2Y0YjGP3i!^Xz+BJU-pKJyg0R4!sY5@F~86g!^s#P ze^O>Q#^Sij%I)H2cs<PUQ~k%r|G+a=zpMv{^r5$0-pz&EY;+j$qT5`ZguuiP-2Y5m zA2qC-7upx6AMs5Ekcn~n^NqLsGwTruyyJP=hl<0*@UriwidBhlzvhACwhWML6Ig6q z|K*^L9lkQ#{l@cB=)67pSts#N9dWg<7=rtfV0a4mA)3vaZ!it-ReG|=GB|+2+=W97 zUXIIRsOA~;@KrEX)acV$CH0a?pvn$WXeTfgGRhXbkkUGVk`9EVDf))zzD!b}8PpiX z4C+ELo0KG$lq80Lf2%uLhgE?Y0+3WQ!X#>Q$VKk9s7ka)qKO`<MRlf0P@Ov;`9D5C z^5jK(Q@``DgDWrG7Xn{IpkOYRt^|O7p#=DCT-V+v1#;pnpNr$a#($-2{tT;limjBq z?0MSDa!78BZzEYK4I|lva^dqLnkj~)f+pHLl^}cfJbW3DiHY4xz(S@a_gt)STHwSk z9?f_8N)#k2xo4pW8{7!TmBJ;NB@Xjvqx}Kv$435=y|y0%$8n)vq&*IwrONWtNn9BJ zO-T9!S+kE_*dh6ZMbT322E!1mwl0~&BL}TIcz;aT<Ce6PdrYW?M3&7f=LwCr{RSW# zXQ&eAytN}V8qWz!i_AJ`hdSZzYI%)$b|id-HSSSvMt|t1m^H}<?=-mZ(g5UAWa@_8 zHM*2(ar{hjix@3=v8hUOiK|Q~Sj@NBQ&num(n)~Yi+}o1K%Q8P?){9xSj_KI9=+ql zBPNBU-g>;LNrwiKkfc-60Z!D!Lz@jYV)0fKCEWKXo)3x@`!5lhx9GO{h!thaaxY#H z>p1xK6T~g7sl6YSaRJ1nERXbMVcooz|8ceoa&~;PsFFbw7hezY$ArbhFx(GZ@ega= zK~Lll4@W0Uig}S2<G?2jl#7Q{1|SsetbvMk>O^}{4^QxMz~=WE2svRTn$@#Cq&LlE z#hKGtAWzng%yHnE8ix*i-a_sV-bkmZnBXv;kSqY?Ha%R(cw}Wl0!!oThg|_cv<T;e zE4}-qqXtQHaHVhG^U_c8NOZ@-Lu^*<y9aep!YGUg>FC9B8^XfoAHn}`Q=7gfmB%NU z%hIf31F^J;6Yqy=NULmK=90*i5w%pqb^;BD(AZnp_CwV(`=J`-?P|U-&Md7)B_a_` z$H8mSH(fcn@3;yHfY?X5ZYw@muurrf$}=wn{S%RhWS6DPw)F(h{5SAvx|1PqRhsk+ z%(;_2P?~cGgbeYwha|x4OHj4UZ}1r3an&7Xvi%sFvr!uqWwR4b<4yDiY3qxnQmjUR z8c4YKKxaKrCPMhqPNrQdO#6JB2f!++mtp-%KB=ng&ll&}C#52IE%GYxyl&&w0dC!a zwa4}gpKrMWLM8EPictEgTw#7Ebd@uF(w&2xGPM`{VpCHcb5}r#Hq+j)L9&ItVJ~)! zV8qEy{@TauW`FJHHP0*BKvXVTn2<_jC)?_S?4+BRMWyClLB+Mrnljtq5Tcp`1)FJf zz;sy;LVlt<M+Y=PYh502UeZRiZNfqu(SFWedZWo5hK_ASyOh_k5p5T*wh`?&?S+kK zZ?kk--7fF8S86bE#$7sxBPxfo)moHW_K6`05aEYd9McZ022;M(yFgd<=XlDbiY$sz z#S}~n2ko7&bU*6szq1j8&K~xoN@y-go`kg@y)SdH?3#N}JLZ3VCQocow8;r{wfQBm z%p>UUmnmwouwwX}bpNT#q80V3WHa)z35P3yi#_4To`#L#ZB|BX7txf>*PXG%<QbQ( zC{qgRemX8Vx%DC}_efbumKo2k5=+7%#C;Gy3k}}c^)}RJ#^AQIZ?fLti}?YSCGi^O z2eCcW=^@$L0IE7hKYzRV>oZ*b|NVVTeH({AYWsm~_;@_~`+oJ${}<Zd_X?(y@hq_< zcF5Yt4;;T#YD-v;4Ey`GU`3`&RFzm0ZjPMQP41YX{JJO$>q*0QVemRS{%_2^yN-@O z=#PKZL)~DFje<2Bi++RuK&lMi=lg?eHVj=%sP&$<EtkGd=<P6=bc4`aDjX4*Nb(1% zt>Yr=5uS*{GohoO`vGgrnatVtbS)eQNEgoVndNn^c+0C*aelIJTar1#u_TADdA?@U z=SN>?>E$<Y3nbX@d32B4K6H)RTlj7saQ96hkcxh-EivvI?ap@s0YKJ()&=n@2jQs_ z5L0ACp0v5u#H(5>){hfk(`ia9k$j40*|K%)CVVYgpS!54`@8R{d%}IRC8Bv`y60q> z35NC(f;X>G+qOdBtGvnh?l9jN%K{|Yl>KbA%}FqA7E_c^`#G)2D1L&xdw$Sx?#!r) z+o_DnqN91kp|Fz8;zVOK5az8OqE*}wQuL7NqAh9e-)JS+d)j1oo8D)2_KlGC>U$wc zKMjRMEVeva?(ijcn@pm5A)4XSwyw*(Tjgg~QSKlYOc<Mf2LDXlt1cA4v9N24DBdO$ z9K_@8a@~V!mvGLO_C(e+B8@)-)Q^s<?<xN}&E#7nC&n8jOJGd+7pD4XVws3VbEl(? z)yVME*4<_fu3WOq`r6UQ?$O9!Ln&a|mK%RB+GEn<xv_6szLck;@g*y)P>#lr@z#`8 z7!rBtu<=1;w|9VcDH_)mGp#Et_O#_By9XzlKh)z==m_zZas8(PRUYM`|L*wyPRBPX zy@12aW$b5mR0~TA@{+@+2>MP^Rt#k=r`Su1wtMbdB|;iyd4XjKJe(VQj`fq26k4m- zQujIc@X+eFEgSfqC4f%4VdPhp;0GFw-$)Ice`h2!9<xhKD%a1c{^AEYcsFjtkN^OW z8xFYn*ZP^F?<UjFt)Iy*T!CXk@xriT=o|S|kMJo<X>|#Vt(RWF`~LkL^Xs<=+2=mC zNY$Q6we9YLwq3EIYp0uH!?jBaI6@BZ1k5*Ud~oZZx)j@{f5^HU^I0p|4<&Oo@MG_N z<gr6GhLKEL1MA4p-gdVP3+y^U_kF7YQTGGL`a<;*>%897rzTYC-+rmO>BLJc#B11I zV}C?ueJ%{<HduFS3C;XHs2RO^cv&kBET!Hq@<iH=twm)zzZR9NTi8<ExDSVE_3<V2 z*J$`YF8=lvmJa<o-=REo79g=7X-%V}fLi1CLjlJs!^dR%c?wyVkCr}3hSNItG_QC6 z@ap<@mX9%Xo$~(+7iLv(jq;zkX89-BPi<7~V%%#`e#0gNnyvB$6ZxcpcTHM~3=Lu~ zz3UYrjqabk)|H~A36CN&Y2vKbdZbVM9NO9=b}Z|_N0896e$T-sC{cuPUJ4j7O%X<X zYQABJg0!Ws5zb$X5W#x2B*HUOfm#S&g=gXqsq=B#@Z<AwprrD&xn{&p)(SJpRzDye z6Jo?kDqj^!=#(u#^o_7|y^_vGS>=n0w!)a%R_j%%JdLYIC`O0GY#ZR&$8(TpKhI6J z9FW|EYxL_&u_&@K8Ro;}8eOpl1}xQ1&6}@v3ycRdoR55k4%cxWQuaJ0X5cfDW0olR zt7rOyU8oTRpktEH)7VwL)9jSX$$1#{uJW^QWS)?1CO4)7YC;CkOPXJJZ8FZj*kV)T zyiH|kcbiX-FuaD`5XDpn2%!@MX?CgUcluEX_o4Vpbr{p0hZ6xj5&*`IB`cA18)38A zun8MC`O21N6N1NTetQRL`-x>Xu>HQEK)vptP@u54A=X6dHwBQi=Sfi>DV_-3e~nF~ zU9o*v=r({0g?cFtX@CI05hy<Y?o{dlh^m7yBKOt7KD2FX+K;}0#dexwR(5_D&-dd# z*U@OSh{3zmmzd!T)3z|&#xxeofc#15?Jaw^`2wh_G2C4`ASW1oeGa;6eST9se#Cd! z1eU9}&hlc_mki05*r08g#4^=qggSB8jWD0HH=7sAc}l9$W3}=ER}7Be0FKzDt@r$r zy}9IT4e_z$Vh|QJ5yEFjW;<eOg?b@S3>Dq?M(SD+p5y>a1kWd_q<NsF>%$N*bAC_S zAD7)zfaPCYw_U0KGIL)INO$2}Vp{dbylddVEatJ2cV6I&!%3P$o<{MFZ~ca51#Up5 zqDB`#xo}zjzjBt2z7*XZ-O<?px&X!wRmAkzuU4yUJ(EPsl}k2qelz{Ga(Qp`O?C+_ z4YB<Grs23`b7|Q_Qa1y>`&B73T9}Oo80YRvSUurTV^C+)AP)x;`iRM#*<c|iqCRXc z^MqER?KEK%KQx}FLc=!sF-WkcKce8($sriD5$_#GIjG6`lQbk=OVYXV4+Vm{aF!dJ zLbWeNiJhE;Zlt+?-$QiHV|*qfF@0*g>laG*b5Kw2`gz@NdHuqs>hpDO&(<`@$n*Uj zI?BuLOyIr5L(~?8^b?{z`_w?xSZq9d=Oc1T)TB)A0JchjXmQgk)|r_3+UU{Fe@<i3 zLNrnJ=_WQN5C)U^AjcTT5LdZ)W3=u0jB^Zgm5a}eww()3QE?NQa6HK_FiEsZ#3yqR zt(}UK+s@`n1XNr5KMwqy3eP{^nEd;S?>6M$Dd8LUWv631Z+Rz@YLb}73XN?0!~(jl z{@W7%kB~ZQ4~<9IkLqS6`yrb?5}N8LNrD%_2u+`A({<8a?Tp85a$XHQaoT;7@pwHh z7VaaTn3+cFB4iE;JsX1NOhW!Tk#oe%@|=e+c*<KeBTo0cm?(nTH0s_1HayJ+Ar<yd z@`*39BrGXalHkReMn1$x2i6)m%*NsJKFkj^^$<;T2TaZSLM&j?vD5|3wl(~}9tVF( z$QJu31;UiHYNLKwyro~X;pgWU5cjU4#W7u~u#h!cbA{$eW%!7uG3NpR=9EM&O)Hzm zoUnqC2GX5>={#A9kE|AwZTvBi@JA{iX$zBUjX;e$b5cnKmBvn?i68JK+}JYkt`!@t zl)7JXWWy`12f<T*jwJ}|-FkE^Q^R_}iTNE`L7@Mq_<hc6OqJK<_w%JL{NKax2e{}J zBAybzXR&VQ_n*R3TtcXm-(e(8uozHJ&hH0~m&62>LZ8?s8hJRlc{9_&QCIp4T`2AD zwvZ)ZQ$3q(%?pjMrD3^TkQ6w)Bj&7$?Oc6eJ@aW_fPv`FaIc2G@g9<JbE7&b<I=;- zWB6PSpUawo8;dDG?zfHn8Bb7%L;*u|Z+J!G*o0ES)Yo=->AlXfqxVM3K^@B80r@<f zA!lXyVdNA!M&^nW7kus;lo5^22<1wF$H+8WyHPTyqB{XPg+t?XqrnZ-R(e)=s#Pj> zto__Y6Q>m%&ZJd+q<m3y)bf|Lak??%`D*~A@q4W|SCJoh45R*FrYTW(%|KIqaKQSr z`ZDA&&jTa3XmeU~#YshoO}oHD&J_~Q4DzjC#Fj%zEBMn_wk&L-1?nVlrB*(?eC4+} z!8jbB0P-i=^FMu&HcK`l#BdgY19Y0}xGZ!m$7sFhv61Ul@}iZjXnnO0Fo==2dF6@7 zG=k*IC2>S%%u1Ifg%quBj8t@_RBhzsk%2Yjw=uGnFM7RvO-w$xY|XeDld>Y(=f{u@ zeLT=VH+ExOyGovtjG&_afFX&#gLHexlSyt=9@)^^Z|~kb2vh{8tN!L3A_?0Il;xJ# zeA#N{n%0t%;vn+FcH}PJc9t<F!+|FoiQ#Mo^QWrHJGv8<D<)zcFImscTYbWr!;J0H z8YsLL3O6>(jqUQDZL_4@*f08*m6IF0$iGyUkguxTa39u6PG?o#w;N#17sMd6FRy(v z-F>&ogD{!SjXx?JY_L{K7k7mBD({!tdz%_={q5q-SWz}(O`&~cO}TiGC*@pBe=%!I zKhJ)?X{Bv_(o;2~k-&)fl3rj2solH><O!)oL%RrAre>S;i3-zZe6TfL#ZqvHB{>Ap zhcW0!Yu0Ownk}u>rND7+LQIfw&pn&sss4dkuerCN%uo#n_J6YXHgIxR)&2i&NMM7B zvnuE!D2qZ(S|65zHPl2VnyC}Xw(%i~4`|ey(t<6JoscRao9qtk>@W~5v}wyv()!S} zVu=-WgFI|vn%(e2Tm*Hiv`jVX43p}XQds=i=KubjbH5KWy9r>mul`@J?kkh;{oe0= zIQQIh&pG$pbMNh#$-HBAxOu*A{R!h%T|h>2jVPV|Fo>HKx1n}cLx)X<6Kxyk5jhzm zX@rh=4g@C~318xI*V&;V|De3Sau0@Yn!xtqkW2f`%8Xg`F^K=OW(pNwaJOR!5Xi&* ztxf0C3g9MIVB+n>TT$Z-o95hnEF&^%#4ok*GwVV_dv$@cBy;r!q=0p-bLWg-e!w|J z+McH*HfYQpjb?ZItvgeGOD)H*G0U<`5*dJgNe=raUJ^L-5%jH+>Em>Q<bf;#2HLBG zR@yYRfpPhH5v}JT`2H>O<K2R;>>E?r%9QN@K;P)9x8v<?A99#M7HyhH58?{j0loge z|2NkXZY}rTin>XUjpcTbNrQf;o_5K=P8Z=jXmv9!?r?eQLPG>fO34Vci(7qhA>Kl^ zcGmd{<1yGXG_abcfzG{zFp!1vxxY49GscX4VUZ6Jjssle-525O8I?B@wgjp?>&Djd zg8ma&d>OHMP#uqHlVQY=;e5UJaU=VO6mNqCW}B&eMBFW4oXG?@f%Y#7Y1T$;Q3H}s zoN0d1fw`pvc=!$MZNKR2bIe@A77B)y{jI8SDOG9H4&S}71MO?OolMfZz4rYBa1<Mf zTDEolsgPKHDgGeG<<4@5C7eXuqzzc0Cw>wVYb=Cb?@*BwhXs9bo0#~A^@hxO<Pu-A z8O{`?_y(Mrec1S85(_ngg(kM&PkZeMUvi%?9zL=*COuDoQoy}M9Wm-o0ofOg&WRYK z@7i&Fps|2d(TDc>`jq&=CQL<4D6ahgv0j+Y${A%IN)8-OGgnFXQvp&uW$6g;sE>9f zfUA#MJ7`x^2i;5uZSxM=Mh6Xf2MyI$jHf&3W~)ahhO2Do=zjVD6)bE+5?vi^%ojXT zpN!Z7=8n*djV=nZew=0OSUfdi`j5L{boPQqNWl-VY;s_4DSb<_Jn0~JL=HY=cF1H$ z{X4P;BpPaT{$@|p_;vz<7|?{wGB_7fKTS*5Q+CPQIh;$8o7mJHz$KBah;uJGFvn>I zYJ@9Tn<+%oU;9pz{0sSNDPx6i7=_GO6yJ-kUgbMK(flOANh58IO5PA=2&`~LF#C}@ zMT-2{vOd>2?IW4$)Cj1$pWSpk%XOsy6hTb(=QKPOP{ebr_E}l-XV`Op2K-F^obfX` z6F+un$?IvV(4_-R6r7^<oQE4X(JnlvX|M0Fk2G-{Cwy;WynfW3>i_AKBsHI2pLIZ` zRyMs3?fGd(V7dU;XMHDEJq&$-at<<3y7(YsDQG4_=crce9FeX?ZT3YTN{iNUByio} z)GRML4L;=t{x14XQ|2kis?_@!b5Ii7l39y>?4%$bA>dOBeq-6W$5DuZ!yH9KL^w^8 ziMP&OF^N?+adXNh`T^jj0^SF$j?-vv#mbGZ!YESv&#$Dph+n)g1v=tgTc$+yQ(cok zUbKEEc*S`JUq$aZt{`NK2^K+-_W87jPKGa$#@6$KaH|CstNu-IkBtMZZO$rLsuaOb zqimvKHf<X=KIY`iZ0#n|1hqt+xXg`8qOopO9_WB1+FUL=7&kf?pFsyf+cq){J*)vO z%Y>>hhI@Ik)`Juh+|d@6)CNGP4^gr8lqf9(@r0C3(@-P*BB7UZcCGP`3xzSj7Bv9A zQ__{bqGO2iR+<9ySNqhBBuS9KZWviKz<8RDNMOQ0BwlMN0xe2P#p@FZJb-I1VzbRp zlRIRfSDV>%spN7N;Cs1wYdJV)LOGUwNuXEtfDfg&g#}2X4-*d7l4X8in;Iyxp}+NO z>N~26`fk$tj;*E|!__c`qx3v|Vtlp%VUrBoi7UWf;u*$j*Z8D7%z8~*^Y4E0bkskq zV}2uj+x6uLNNm-22-g&;C{Q4N1AD8;RpklBT{u?XJxKc2YECnqEu2pVwoKmvM)2bO zB-S}Gi4h$Mg~t5r2u?m~y@kV@P*OPBi2z?w`LxGl6!p>)tk=w6Z=|S;B(40mzT?pp z$JM6|iJx)60=&pVE?=x3rzU*?dFa-ycYR=~4(nf+#O?P+dgmm*@<$%qdlSrrF*1wR z=wr%f^?;)>KDs}5w@^B2qhSLfA-4xuN39hig36}5forF+U>VN7$(J3Z*cp~nO}`|$ zNmu$p`X#S2Fq(cjN<EXd!F#k-GLP3UHB2TOdBZsFA-aBzH;Qsho7-hoI47zS?xqf) zWv_x;`lg-LY&UY<?yLrk=lQPu!oJCu>zFl#hAttRPf$@LUmO85lmQZ$&%J3Knc}(> zo7tw~2KHSti@mD5sXt35Z>E5JEiIx2`o&Uj<tW@GEabVAo4G#PJU#@fV`GZv1m!Ux ztn5(=GCLe`;9Pg|=#TZ3djk&MeFwEM1NB}1Hb^L-4R}Uq=_2y6y4j)E(()dEW4V<v zQ|&J;KYJ{v3y#_vCoxg9G^6XrRxDqlF>$L+sBTqYdh>>d$vWwUcFbG@hVaw&j$|&W zcG0s^82DkRTqNj?`4|psamLy5r+J6tMdd*7<n=!A8Sil_alaKz+k+v?7JduRg%Ci? zd&h0jw;+4ZxG(rllvkdu(`onFlx=h7kApuvM2^LKQkbFDK6Pd#7P@f$7Parc1YdfA zg)K4ZYG%?)n*OF}3uF1j_J@vXb7~iJ`U<z8iXYY>MBTz?w?SdS2zYJsC);wUTM9^M z25wVi11st*nDY*`dn|Xo9%eXh+w^Q+MS6+5p|KgQG2E+U^<Tz7X=yW=YZX(@U2hV9 zlrSZ$+lKh=oi^kgYZo7epiM4gFBK*3`%W#}lTFl{{o4W~Y_i=^4;~Sg*Ld2>^BD#G zhJgLG!uP%PpDOo$O41+(>|^d`Pd%b~CC7mAjx)7JSChrvqGZ%~>5||GQGYL4qISK- zvkQLKMF50xR`Wvxr|>^Nh5~s0^Ktnz$5Cj0_rL>cFI#ild9CfKALobE<+jtDQC!#E zLzUOy*It>oKq|8PwC^wKZVsyc6otfwAADy$mpHKbww5oMn?LQF4DoYV_^5P}XA|Pt zQZbYD>A9L#F+Id)WD^o;QHs`Yz&6o3TeD)L3CRtY7?boP!lGlZ{S7GChw7j0Van_q z%<>W9CEy(tWHTOFA-b|!xhh)Oxy>3_xznyDDc#wj4`T4QwOI%$l|B=eHcv|sbL3&! z+}R^vpzf&b=1HRgT0f7Xh7G|woaj*_%Yax(J3p0rCDxySWSb7(Ai&}oadC=jpAyxR zM?v)@sGgjGY887FR5w^1iIHvSJ?PMTue8pQL((`$I4m37k5JA=VU$jbW91bcb(HX6 zg-Y;8-Q+puy9Uq{X{nqxv*$wwSu5KgEnR>>q1uqb@NLAxOdnU6s8CDf7RF=0!A^nK z@X3pJ@)506!VT@B4%^!x*Jj)0P}>^zEq*F0kxf8luDFs#sp#{qo#pJ=jLXHG+p$?o zAkMpfKYU~???fPA6kdE!i3{9U<d>KMcL!^V%d`<cQ`A+3fkD!hJM%7U7;9oiH}t5L z-hl5{oA^<tcnmq6L265iSN!kvBXKl9Im;_$A{!W0=Z@L=%!KGEyQvDVgPnSduCNM` z+0}3z@tg8o)HTaQhDC;LyJJhnl+&CU%j+m)^G~irUG$2W7aAC$0Vka0>~IIrd3iT< ztJrhypRGJg;pLr7d5)U|n`JHw`}(@ls?|$CrLUr5Rl~f7rAm^>Owy_O6oN@>B@(Zu z#YwfwFH)G*3-?v3p`^OCvBri;iMdq%R{uzKQ_1uVP5GpPfLGq3jXoXUVukr!#?LCT z2n=@JmP|bU_KnKLpB>t2bFWLk2|j|e+KQ(8uOffm;Gfxa2X{Qxev8oQv&2?;Kf8W0 z4loi#qXv|>XNLYmBGZ3Jv{FZ`6l^XNCIaR8M6lX43C_*gEK+f_2{8AdO=#q&;JQwF zeY+=87OYd^`5cYW8j4PDQ}4Uc1cOQK)iiEs4~My>cN$PE4en8AHRCI4ui976UK09> za<f?mC2GlXbp%uN$Ye21G^ogT&92|1?JbTc2xzRfjlIuOkyr;fD4(9Uc<)+;V$G^> zEhQ6PNyRkmuB6u=rIod0V+E!V+gMRv!%AE4xK1*<^nR($2T^osN7^E^uC=`peTcZ- zT0vvRYP)o6vv9CGsg_|qR{ItuJE=tT>+YuhFwm_pC=bXmT<xv>-9LM4TbHzAg|J`b zd=!68^~GA?s|M68vGJlsM<Hs70K4{a8|?BkTB6eYTTJ3VmNB|{a`f^qkfUXC)UT{* z{XfD_<lk(aZ8N^!c+fPb2hNl~Zq${UQ-wJ_U?6$3s);}J4&NMeU+v^u0EkJ28v!!K zPv|o<1mZ?{3JD#A5uWrbD^E<5to@hpA<KuIyknIhdd&zZ!7_1<n`-zFW+Jy6Zd5LA zTqG-Rx)qCJt+eS=^j3Mzr%K;kRodHZ^EjDO$001yE&W;3?xR#wME^k8VI#H*h66jb zbF7@)n(@;-ex2?_^3a{lHwpJn7|DBmpQb(yl_uh0<TlTLqH>ZoP0A5v*c?q|gFa2R zI+tDCSNH>v*LMN)$z{3&F;l#$8Pix~di;oq(elbA5^9N!cJV!V25fRJ`#rXQa`*X^ zpg&(6@B>oSaU;|^f|dK1^ExteH=FnE&o^E6@@3^BzEDBD))k%ew>nD7;#Xw4OsFOm z8BO~Gdx`l_7*DPEX05aXYJ>=pIXXshGCoGpx}n?#+tE772S?+2)%(fThV?gVs2MY4 zh0$CmPqhwoYt1w~tCJ3#2=e=?#qH=8t*&Lpd;8VK7I~S#>wU@yhss-8Zj6Bb)kbn3 z84SDN3(7a?br6v&Kr1w?H1rduU2XN#hHxLU1-8gH?n_o{GTLvMHvR!&#slHd-!}1& zbc3v20soybKTvy;5*N<OKbp_)4%>);1#W7T%t$m1qLm>)**z#=wj_cTcgZ<>E<?GS zG#B5K*&=5}G$GNf5It<ulZu&gLX9?zIy<4dZmQlv{+%fV^6myb-{yx`?WSGao8l@v zDv9aFGV0x6+O;e5O?)L&e4|axa=TC{w?hWhvW;4{wQM=h4Jpz$`G?W^Y|lvQej&Q~ z+%4b#-fty^Ynd1;78|A<%=Ft#%eaw5gv-4*qU{!SDWXN#d6<3!?GUrr@cB>U&mEb& zP*FT{wj+GD<$VKm6p-Q+0Iv6tXpNUa<i3_fdJl<uJW;=wp}TGwh%ycc$miKdYe@5V z->I!6Qxp~2LAISkOrX?C3orK<oI~zXnL9D3AIs+er6-x=5rW7guq@>IJ=lTX?z1oo zUOrzXb5*T>o2xfCUDwO0M4#sov6CPjX!1zH<3a?In7K3+6h_P=XDb!ij)gx4Mx=R? z&M()c7nC%-l0Df60!NDN-BOs(HA$K6V|td`xxY=LeCPgbJ8&n&n%u_i3aVUEU<I^J zGoEI%d35}=i>(><bDsp%Abl~Lv^+O)to7h2K6da?Y+ng4;g{uo7w`N`3KP#9&2S<G z$w$S_<=&fx4(@Q?N05aAhOb|EJ>Lleone%a{!%)_4?okaGsyK`Cd4Xg-;Q#QVt2@_ z_$ixyc5c9y_$g_wfHTgg&@*&Q#_iWceu_<ok*CjDLZsyT?O8JE54{1SP2#eixn(bF zIQ!dCH+Pzqb|(P}p#fhBIH0W<Jn`+l%Zs28G3LT{xy#}xTRSEqim=Mks&RZl%ejg2 zBqln$#&O9^eSY9jB2S`8T(f<9lHw*nL@nqy^PZ8uf%r5r1VJ}xbta$3iJYSMWo{l( z=QTb|46(>3(eHA-1=^2Hzb2CR#UfcmH9nlxsRX$H$AiEw42R4#0OS{<>c?A!+PDpm zwnCYYD1?x`NIzB+jJ{L;Owp2HG^I*Zr%@~2sd_ZhJZH@JMgo14dZo?xx>avka_Lr+ zOXDV&)-&sSP=qYQw)|c+42N=G7|wk`_ORecN@KG6#-DpmjFeX*tZqG;u!2+_v6-R{ zEu{9H!);3sXNo8Io4gHh&+{{V!%AX}Jm-UxZDYA>=BhFuw}EDFWg&2fQ)|CdYkzGG znt)i?jqq!Y*gu3tYfbP{vToBoW2Sju$BbO5hTwln^&Gx7VT?7qA<+Pfg`~NL*)WTR z*Vtm=H3Y~O77Mq*H7tQG7V3?Axax0{_JCU8O)`VQw3=kVwDldkKlg<;+u-O8l-6Qg z#}>ABnB^ef4a!XrN*Roo7Gjs3S@p+=IHbqSKHvT{X5^n`zAX)hv1kK^@u;w|OTws= zl5E<zuMd!v#w=^ZioG$8MU*J^6vbW@$1agL(eXn5wVU2J!sa>l(w*I|U37)>yc%V- zU365r)U%&XN6812n5@SvB1RmGn7qgIxM`yn5qS+*Ao7~w+C4S2D8lP({3;vki?j19 z_>^ga;74rG=48u#x~?eD<r~M@H;$uo`OT-4R-cWRGtSTDH=kZwy%f*q(&{Xusg#E; zRUNiu)|PFZKP2$D7FrE9Lz-L-T@*G|nJH?+y-xUH`*lGp+~#vp=&;4QT4RaDNUz)t z5o64xSMj>-h@!)kLV}vcWV<6PT@4h*r@#SbpwHDMSS(gLTyuo5h(O~hliAo*2P|2` zpt5E(Obos=?x5c5+hOf&&{3JBozt;amme5Mtzlt*4TXQL^i6CT`@j0Q4eThBzyuFk z;_R>nCW8q($?8^nBL2J20N%*LCLX1gCfS|6$4_mBJ)XkuYKFfB`1visOB{^^{X3;% z_jS#T*Q~klYpM8rrFUllW-oi)#q1)SEF{@Zs;;tb-<U5xf3GGYGtsklmi6t`P4wT~ zof4+>qS3`7!t_=%S8XGLNMju1Vj3FwL%F+$b9b{jR@)*VsdxtWu18pj$=y8*544_( z%~OM-(b?=%QxvB4&n<T!1JywPc2Lgu4mn-bsOhQKKQEDR3MQj4-&<wcrD@u#IBH}e z<2Nnaq^=vUGW+1FEJ1f(6g{GvDxbb<wr?v28{VWhEc3pO5gwxTZ7B7MM3lJG`1T~i z{l=N=SPH}|s%)dj%k8uRZMaZ`)r1?ehZgt*iQ1Kebqevqu$&l_OA>Ai>y|vjy5)9O zy|iF?<3$IK3&9;QY{1qbOoiv8#$Ggf8k2&H4lFx!98Hv=+R$E@k<ebK+0JVUt5}s> zKRc~1di+$jnYTY$E*!FFz7(dV^3e!~^!R~4m3ixQ=M6_*n|!rMrnn{A>c?%RjPDaE zCu&_)QnXd0aJ~>n{!)VXmxC5Qt1XLEc+<j)#Yj*M{;~C&CyAF)Y&oawYbE6yRx7(v zTjVT*a0)9fzCsdKvmBuG63Y?}fs4}mGFjt-=v_S-t=rfFOIU7^IQ2<iIB{&F8pNM* z)UbGZL)L&YY4pICjs7crii(!nJRJ@%ejBvfT3m?6MFMLN#7FgAo<$Ex$5ge7UVJTt z-m+y@@?5BdC0hs0SLXe*t^_LCfn(vEz!c`kQUfVuM@=l-(k-sUw$5q`pK?3CK?}Oc zI_oHJw$5tN+4PdOXBih4vUS#w!j`mC-yn1BejSdnaGO>|#m4Kb9o}Yp_%*1s&m+|% zZT{IFMj>HI+vBsaYCBI2W@k&<9_^>C$tj_Hn=MgS?$q&#m}o}qK|kHL%R;izSg7nr zYn3WHEuN`&QK9sbww2woo+?1YlD29{Eooc5(#W44s&(YWQ=)qOD5#cTVA{}vYCB0I zxO?9)6V<k)9U<G$dr*{}bigdlO?@p_3@6|o#$#95O8&;Nwxk_8N_en}N@${?SKYS( z_aHxxJM>+rdfZY46rK+mOsZGHfp#r0O{6|Kz5`IUq#X*iL}D8IYiE6tCGB6QFfZQ8 zN3>E2ZVsZ3?JCrkv=yq|;`5nkOk1I`|3x%hH4RCIs|{w2Vw7k+ox<4m1@sgf#lhd8 z`W)I|%o_?T$gt5UA0xhN5_GSNxJ4F<4kzpgDU->a*}`lxR1^zB6GZI$q9T(U$y@2T zF3-0dO3PnqkSxkc{<4`F&t&smFkTl`E`4@Nvv*13iz(iu@g4kcP{o4RblyH!V&llE zd>Jm+J5<hhlzO+7^9xG7*O&91+?`#{pP(saw##j;HDApc3IdX65Rlt~RJ=YBklULD z<c%gEcO(LGmkG#Sp%uI6BFWN7KpK|0t2vR82O}A|*6=@zjC{SeqqoS&gFm~B6c!!2 z{}D3sgfG}g>sIT3VKVZTTU|z~?GSL*9w`~Ac(J46^L}<2Y5f<=$UCdno*I20%g7k> zX+r;n$jFhSFm6~UvyfKC{a=!izhO%Rfy*|@$oGNmHpjM5k+1j#i2p5OGEcqH8IZB( zmowp?ub6!18p;2PNvDaFm|SoRViKR6W-;mHaui8f{94n<Hd>2LN{&V1e@Rjf{GB9a z;1DJ$FEQXvQck+Byo(=6$_W_0eJ@E;DwL9x_A0ZX702Wn6)HYk!X+h(A*uOq<l7)2 zC{0JJz({?&Tv4+}#kf~{wC&hqSj{*TB#=)EYglszs>ex?zS4ry6Z)QoU2I_+D->qv zsh!b=uvR=9AP)_Ucj%CcQ{y1n&giGmBtdk*#Q0p#KTz#XKC%r1vm2FWlQ@h^GQ~NJ zoo1|A(c(YV9Zk+@<unPIL)$FpU$D8!=uvB#<u~IiwO>0~%ys=i-cM2<8gl-@gw{Li znh*-YNbNfDCMuLuoqU?i-Nz7E(n_n292sE^WheR^$}JP(Rps2S+Fu8lnru)QS<?Pf z>GsfvX1{p<EouA3OCOrOWwY5sn)Rn<`-O<hK#p{$7Tbi`!{xYrtLacLKF)NgXmL(R zd1~Xu5Hu}07aK3OB@u4CxIRRniK0}^V!WV;V7wr&LKrW|q>yrq<+i)=LWbs)%jM5S zH#?f~qMX}#(dennC)@WzqI+s{@!;kHb)Wi*7K7*t4%{WT3smNPs%C;-!iJ`==Fw!q z7^wAA$P)i*iGr;n7gWTjR>F#-zi2zfw!b#uy9H&?!QMq<?EU9vr}&l6I-T#L<gDQ% zQNVJ$U=lw^3&kxzu$H8?uYm7gxa#%Hm4W|Ny$-w6y>zq07$hC(e=QU+m9Qm4c8s9C z{+uloAN%xd7K*1-y^i0X4Cppz9g;zS`E#*QJPW3Tl!Y-A{(v&A=;l>wQ?zWM`UqZC zN3djAQAgF!a=UO@#9^_;jDfPztgkf7<C*r13&BT_$+KE0+`^I=Igrjbn{@vC3=0R! zgNzydX3W5(fidG6GiG4ez?gBp88fycNHJ#Y;L#t989akAV<;Fiu1Sm;+nS9T*PAh8 z`_nUK;L)E5%!7%*Tx&F70@D%gcI;SSuE#wYDbpk{Q|62#3(TF4$^Qug^L>A5bZ!Fj z7bY-&@<|_GJ7*J^JO8T!)4C}(S6un<Oo8e69y1Lnp#B-oo+a6yl7;^dwpBPg`|mL6 zYc%|?t>XVLCjGUam{njJxg5n-@eg+;13Cyy35cJU!2I@KNMMRFn8386TLh-!Okf_I z-Lp$uV9dbKY|yZxOkgUMGHBSV`9bY0;r*Dqxy72%Dlcd3&x+^wU!8K?{9@+!xBN(G zex~#LQh=#-es33t1b>)pX`=M6<`KgNH72oa0K#?fF+{Dr2hFp<&z7M2NuU4gdKTRX zuXPw=3GJ<2dqwP6N|cs4t30bbYdqPorc?S{{b=6b(Rl=W$(@_cU4F_KcR0ADUoTDe zrO01X^V{TVE4R3O`FwXXIfPL}UR=d~CguRcOc<Ar+cA{eU$D=7^_?xL-$Lr)Ty5#8 zg%=O!>PyRo7YyefS=v$P9L_ax0Xd^eZb(%dwh!r2nfhr_@w=q~=`R%h-4r0hy<|Qx z@XvFBsINCbb0{SI!{2`5@Ve5T%$L}F##S$fTGwA_bC%i4!s6GqREgHKPm{>u8mM*% zDmk60p;6KQ^!_IzH@m8rT<D{JlypwxfhemP)mpQDGRcaUmVhdp<4#xUth%DL?=-75 zIp@ne;=AuiP>X3IP+9IVKOV_8LZFpK^cd5F+_S7-yM#;r<UjyHCNA2+zGkQNDqO>< ziY#cFX4}NpxV+Pg*oKWTDq^<`hS7^zB)9D74wS(W*%p+Ya?AE8mRnm1>W|W>L^beZ z8`<S}FUqPH?(E4F!xahk@lCWFuSbg7I^=mLasC<9)-qh`C_=CQ?yq?((cspt2(MqQ z&*?LKZcmypL7}9P=l$gEoNddh#IiSX=JE28OH@s16KEQ<BT~j!l=jrV!EW6W8;9HM zh8o6jo2^I6omO;fUhP$AA>N6_NR8Gzqy22N^h1n;KcIYrek_}%yeOPcg;ytGg`y<Z zvC5h>lwfyAp&hT*Q=}lQSY=dnhlQgpsDt(?&`*!ikCMsoW88;ezjuHr#8!`QdYhAE z*ie}%elaS%=_pvSKXns5eZyl`dsCn6-exuP!JGw2C)+kjx)pD*?oPUG9111L@~)X5 z{wpLobK|CssAxPT_-JXF4=zJe6^QuZ2B$&%-uO*}<MyPD+5$+jw{!**vvm&bwCl7u z{YVF@(nijo*D$3Nn;ptxJGBOU)W5)gjY~r53{)Kc<g3eJfKl>g8k!sApf#ybTm-gn zE25zrqsYaVkl7GF14__r-TdqSW`&SL3ua*7l2=oFK^?`Pe}Foy14&wARU#ajERop6 zteWVpJEpf*{Ep=gTG2Lkn#o`~&0W~f)GaVYoJJfq5fII<hf6+c*tO{xyL^M3W3|(m zmWb;F>Md*pD>V~;8u<6szV)wu3>}=lI`CwBK^tD^ZY^vYV{;y-A(F7Wa><~;H3i0S zQ2o_l`@IPWu<sGzFb6Q*0Fx<xP^#FBO~c)-{=iOuY!*nPV`jZ6BG8%%&g>9~c&rhU zAPq<geb|CQ@#mz2_0eO*sp)nroglBGaJv;=h+NWw$a(b(qE^*tYFO>Do!`;^<<-{T z>CF#KTTM(-P^X%(LD&0Phpi1;R@kefI~g*?v)YX?)vf@#GOXvo4C|FR&Nt`*s&+&D zO@KBo<zMI}a@fL1X7FKuo2^%^{Uaph$G{2LWgIBNYK%$HHX7OB`Hvr4=@1Uy$|iaV z%AYoRC78}@iJZW^v~*KaA4AVntssMppf@7vnNJ`VMdG2YoJD_{1f8pv6FgHq#@wc( z{z=B8=-ov%C_y1`Vc-;S79~JjW3}hYf73=stjWKjkkUNW!suEGKM=k}|IE&y2SbY0 zEd&W)P@Z&|=&XTJbCl{Gt^GCH17Ni_r%C?ySoz65WwoV~Op}zYa7TXkTsmHVB6GvP zb>AI!Ka#{gzFQ=%^m0a|(b3-bn68eSlTNMe6T6+T{8pl5lqLHp1&~vS2KbcTbA<6A zj5?ktQzaUfS3lOourkH>o5O|S*7bx)cZjy*M<-82hh9W7HR_8<HHdV9lzL!NHopXr z*#oz;TP*`O$z|>zyd>TH!fI=y@McHmS<^2GC$a<v+t+P{X}5%<rhC1Sh+(aMLp+xC zJ>NxIYxHXwuHcS7;U|_k_{*MhoZEhHVj^?(3-vyh8#Mr(R8R@m&`&PC{=fho^?u3} zB~AjcqX0Xe-XRCra`u<}-Bo)t?1q|0NX)NSp6vxmPJv%L{c)rCNj~UZjOERjCCwpO zLh()z$mgJ9M_BiG=(r;!Ulf`EnJrvz8g0JE?k3=TCVkSMR|br=&-;O^0)a9Ng!?Wv z5Jr_SEh*?<#{K3{4MNdS0E7w&8>;bAuW?a$ebkzt?=k6AOY?E|SHzcQ27R$Rk>6IN zN)7b?rexZpVRWt+-}^{v_r0h5*m=z<Pt;8D)WUI0tCs$sKIExQ5NA$(5SCBl{<#*t z;%A!wOog_IkI$lPwmm1{vfS@MQxm2^x3zh!f66d#uV^V_wY!5T3iF<Vwo0fw^-&ac z%fi_v7AU4O+S{4nziFN~Ry+CGQT0z}8ZZn0ry~RBYN5f}j(n5)U-%tsW;3G4YQqZx z0K0!)=zH4wlIXe_oLnurD2s1th+O8zz18v!Q-_pE{RO_VmCgY*Rcmy)-!q~X1YNqc zC6I&Z6;cNuk~(N-GMIg+Nf}<z;{TG3<Y9Ugr^u>YvieN!Lor4*v+8>RtdzbNx3FyV z2)U&`ib5$45ftlt^=)digqwdu&bnSEt~CV)h-k&Lm|}8zhlts(iTEv%Ld46J24yW) zi(S6PKusiwOaV2~qJ(COADC6uMEJXzEbyn*5kBMXYR&qlS7GhSTopDqPNP=F@j)pF zc$Ycit|<`%f9!G5z2EGnTWOexX@LStUI3@ak|M##VopLA9#LzzB>f@XX-F9wvC8}5 zW(6)&{FPWtCa|Sc-UQw~28;8NzY6x1Smph`z>ZbkZ~2?r8}qF+fsK%q-|Q-HAh4Q= zQa|4&43J}}g`DH$G`-b3UbTcgDQz}ELe#9(M{kry8U-Cm)jg&eQ>eO&kE-f6+fTb= z{`s`@-K$*m(rERW@#?q!o{3%~3PXLQWBuIq-NjE^-}Up87|f=(&(J5c(=Gbs^CRLK z%l=~Z$qpo?{!;qnAAQKww4hEGWYqN$lIWA&&G6d2?~`=FMCgKv3ljyb;Z|Y$Xv(D2 zv8SN~y~ote{37eZ%EEs%T+gNinRzH1*@t5K;p`I424t;){0`T3{DR72FLSUxC&xM4 zXkk2jd|Zj*gS+Z)Fib#PlDqQkJjI~#4VJZ-FD^GAqk?NNpv<560k)otO|&{QEiw-R z!YP%xe{X1~)bh%ui*;v8QiGj`r{m!aa%~_rVus1bhMUAL(K3JQiN=q>F?E6J*j8~+ zFbrqA+1`D+g22GxYv+t#`FwxNs`~QE6~MlAGDcMrd)d1|0#HU}_SQ;y_T3piJuCaZ z*W;a91G}6Es`F&*FaJRG74l=n_|RDB8J1W%cy`(XP$|!DmjGMeuX7^V{HS`X<H#k# z=%!1rx6J#q-PXC%<^IihEE?{nxbLSaG01OJ7SuXd4KPpf>W9Z-bL((`5hM5O&>7BV z*O_@tDyzpi{w9ZYat>&Ffc@4wbAsC|<7R3PB)i~q2d$jNdrNDy*PV&7f;Ay;`nV1F zQ|FRWs+?Ijf8r=b4UBe}6}vW2BjAO!^}Q@rNX-Cv;JX8lw4XLnUURT?{{vXb9-Ke! zo-#AnCJ@Gh*3PE&3G2s=VO*3;{iF~TZ#|agQJX}?gyKT)^J+;VJ7+ZKx64~hUq~kL zW@&+esF3U>B9;8@LzJaIVVb$z3HEg?dx^!#SgLPgJImT2oeeMc`L~^HBUYq4F_YnO zajI;-vXsF2fcd+lj^VB#T_!Q^SJ8~KxoOm|q8Y92W+lh~DlNZ6{S3Q^2b~QIKGLg0 z{eUye7&N=a?E0eN^Fp_`B{&NxWN`vwXj2PnZ5R$3&n99|ZI01poH~0x@48~=kllWS z542V{^hb-hW_=ToJwa0^Xpv4mT*bt=_QSPti_Q;gT5*fOz4d{Yo0{~6Bd^pmrR8fi zts6D0lvkebwciDh_Qx9PH`Qm-y2@`^n{dj%;@}+>FOc&W9tl_dDx``2<WEnw^py_@ zn;grYq6|t9kMGESVwpBZpU1LGBc|aK>F9hsTkn}NmKaQDXCAoS*qa%aAODUQPjg8$ zWZd6$Zp5^qV~ceel_9gvk7^^lHVThrFN}iu-3eKbd-mmy^D!GOSrS?oz@rXJxXrrW z(;4yaWXMfLxeh3ofH}fI>U(MGD-ANM%L*fMYk`k1FW`J{vn4q#Niu6An{c-G+ccwj z0lQx)2>b-1NS*(f((TJx2z8$TEN9^(keEWN{RnT9c$vY!pX(?pvl7jIg`Jtf+aP-L zp=i$xex4ys829VqjUgdOvQBGVqP>p0e{GF0Q~ZmTq?O(;r?|GOjBUE}n$yoS#r32f z&V3m+KTthYomg7l<L_svl^%1p!`^cQN#}A23Q_}m2BteRSDzAqND(S0Aj1SWbmerN zZsY}LxsXG+^sI<iiDb!D>sVJXW|yrGHp^BCCkEq#LAFXPJ`^t23m4mEt{F1a-nvW< zk(uj0;%|NqlXs7smSIlx8sh^C-OyYe<b%m2Vy;qwl4+!AJ_Bu(r0T~c^)008F9_A| z!l0)mgKOqng}dBMWtq|zUghl;UYwL8D=MYI0osFUaV)n_NNRAZ*UgX*|9cy*dKrcA zX6lCHF3Zxu@6U+JTzyTj*Os$0gx+N@5EKIW+ot6ju<wcNyJ6&&S8n7;uhM-(C-iU; zmok*{8*v?>HT6G=T3ybb?{?A`Kb_hxPHOuR?Jyvc+9H-)F5JB3N2X3aK77Kjwg3?F zz~FD*Qny40)|Kbx?d)th138+mejn;EZ}Dh63JShuy=EwQ=S-kxqCgOgNv5?m)+!8s zIiSmldm|A}QVgtwiGj+}f#JCw&xFPXBg25oN0MIeb!ENNmoQ*{w<+dA$RO_4w<d@# zrn|}pTeiH03*pw4PRIusX@&+N@%u^#hE4!XwJICy>shY03Ea#HzJ9!BDoWKmTFP57 ztdf=Tt32+GQhqfd4Vy`xEKYEj+5&wW)4*x7d)2Bi*tIF!u8h2qzBa?Z30+lJGjmMq zGxBh{S>7CsUHl~iJXM}mqG~*0$bJv$iWYmA%O{`DPFtTj3;oA;QCtxGE#hI2X2tTM zTk;{<4L8%x>A`T`d2n+o{07iywP&V_(<5g$o2gHcd(-O+&z5`ByJW3?Wa))ZVXdC& z57*Nqzf^UL-STI$S6|p^I6&c@)n2`^I~wr)9yEK@B~k2H|AhqgXFcPZ4Dx-f_E*hz z>rC;po`{pHExq2ne>VN9BP;go+2Sc#pjr4AKDU;{((7}5=FMobQQAo_L#E3`%FXT~ z=~h`9aY8>&ms(5ru{84huRlX)9of{=`}LgOX6XlMMTUdV-EVl|l)?DuYlX8yfTf9S zC`uo%vnWYdlq6bpBSo|@ryA4CLvcnkUs%Rj^*5&<!yKp&W2v<>rh1y}^_k-Tby#N- zn-Hpw9!C*XIDwS3rg|!;O=n4G_)oWB_lz!D-bFFW`}3p7<{m#CNSRE{oO#Z+f3nHn z(YhlvC!PigiB&-6H@iPif`tFc{yfc4(p9E-|K8WESJgHjW!8~Z1{<%|OCmJ>yoYPQ zIDeirIUw+`hR58e-0#7e{ybL+GGxV5`SV<=M55xKel_jLGk1m~&uo0KT(at)z9Y}? znR?SofN6tSzfc<FsgKtg{yZ@o4%M5n+Xc2Sy3FwB2}nvU;iNDq{%vg3I#}rS7&wv` zr<LvuO}g(d(w`?l((KQZJ&He1Dnsng6UY6G{yei{cLXZoH~Zp7OoE9&&nxbA>LW{7 z)sW&cp1cy20E@^swT>~fXHp+S&oC&DvdHn@<<Ijt%Bqc?WPM}(n^T&WS{MnkpZog8 z)A#3jiuH{)d^A!HewpHb+xkX715bac^^LRS2V|!r$>KNb`o>g?zl>G^8T|43#?)_F z7a-|S*#8^WH&Xh4%Xyzh;o{8sC2~K<Y>f#nWy-!=AnGqM8X|c(^-T8@?4emr=EI$< zXqU17<%`^Wm?_>z=2?qQ&a<v;l09<Ngc>J-S@Asfa45qFX35do>ZDw}SnSG#k5D&L zBrXx^Rw%#w$9H}1p9CmP=~B#C_H=vI$0p^=6c@{rR))$8|KEpoibFn|FE5<-AR6n! zfA`>Of{%JIGK@yXvPFh67sxO8O(DR>)FRbxP6Ac54>Q9bWMYHMO-etFY+cGyZlfTU zmo>GkSs~I`f?on&rhKicgOYUyKRsNl47y@VDh`%4`2UH~i~2HB38dRqQ^y1mA8STt z5x?w?aMDEzzDU1{=WDk9NJS2>&p~+w?&KntkFSiVKsT!jAi2ZPKurTW%)h?Ykk#FH z%l?*sG!2GC9E&e+extI|-rCjsjZ25zwm`er&6ui|gcfy^2qZE5ODaxF3zCK0x}lc# zT}{sqvYM|&cT{m)Dx?a;SLmKu=IPx~*g4~ySqSpGApXpa7|gG^{3DJXOiUXc)LeC( z12W#+tb$y15D?-<y19!E20|KZ-95_JQI&ax>|?y?n`K5#z-om?a=7t&K5-R8jeQQd zu+e?9TG4hNmK8u1Dn%P>>H72Q+{XhDDInzwcll?mWJ8&$mF>;5LLDoklm6?$YT}SS z*9)Uzy`!otO|+qHZsza6;;$2cKlt^0X~9GQfm6-R<RB0F(g^~r8et^K1truHO4zh7 z#$u`g>gJBn^H7wZ!yOqP`h|!i`v)umXlYF#n~^UF_|XfQ!Rv%T`+!5KQ#U(@3^}*{ zMvA%*k-G4qR7&epYg9zQ`@a$u1z|X~w#z>+DcvZQcTsJW<UWm|v0PORFh{vVv<V&b zDE?yZ8xY!)?MiXP;O=P6RAam$7uhhS@hR@;E7MVmm2ryrsx`{U_83OIkY7rY^axgK zR-#aJilwCNH!b`QnrSR1OO1o(7xuk8gpTifi9)UPU9(8Rk2Ma*PU9%hM~CWYS-+3@ zmHM^T`2A3Fcb}Mz*Om*R<8{iU#m(<KGlUk{8mZE?nQwwZXB1w|R~<CuG`YX_%Nkfu z1!&Py*w||KE=<$o4183BR~r<qaa<2)?^lQ0hH?*36dW98V}CyAs>8VlmcA!b93jrW zJAyKUjSyjL&I8l$W+&%nt}D8?lAj!Sa?WKhX}rc>xMZ~p2{L;5qLJluS0E&MNAsCa zj$byXA%o}4>Kd!Vels2YnFFq+ud-EXg<f;{S+nMm6wu1Q?xka4=5j6LGuXT*cQ?*b z6BZTVG7nj@hZ?6TW^v(#iqZWH(X~RXMNX>i4YA3ngv{3OxIln5HGVpb4b<ou=lMaZ zwa(Wl!3G55KH$9Z9^%x&6k<c&^w*@K^|lkpTC5Wu)Z%kCEDE9QhA8egHk=UR)@~3< zE8V)wMba~|X^{aDTT?IVB{7xpby`v8dSKe@QoXhNLne3#!j@a2YH_=vHaCW)#$QUF zCxj-9QcQ%6x?O#1)oU4R`XhAQX7;|&b!TJ-uO+dC7xlfxo=f|F+inH7mrZ@ov*$+( zS0uf8X=^tgfwC@dyb&<c9WWVO!6qB8X!-KWAfhH4!c;oX_40Op3S6&W0F4-<KY=kU z@K924ld&;pnSH>vP?BRbJ$|G8&oTBQ_S-4Glem0xZhp*n-|7I0+xvpo+kJUwitc_l zch}P#LKoP5kJw?Ghx=50QIh(j1x+l{WxpVx<zT%%Nw#Q4vi>k%KUn{^t1hZ>X+dnV zrACKwz0}Jo?olC;NV+9aWKeE}wb9iA-p0_M2kRe5>V2JE-*|)~L;Vp}UMGL7gT@)V zLkTl66r4`frdJg-YG#&Qzu#$IX}U9mx<|!Yh#1NYqH#uV$7couV^zxenZdtFzAeZ^ z%Sif$(x9OcN_kagus?ZQ)VCqTFYc4xtMp6zJ`h5$>pMS$-re_`A#_2X+>(^;qkVFx zRcKQmg4aT4^l>2YEUmK0Kvi2`?9wSBv-KKuHpHFX*tRwyQqj01MH@BJlFBCn&GZgo zyU#_iIl_31S8kG_A-$|W3%|uU9!<VlEa@EpVvxwn_i=|j;ztg5yve7^xRC=-X5bZ0 z;;>2MQy*nc-uF&sqzJo+PZ3^}DPA5(h3d(odQ=Enj@i3Y4FAGtX|J##NwmD9t}D}t z5c~mUM=0P=a3}S>#mxo0wYdO9C=pG7w2U3fHz38=3Gx`LeIyoh(rT*pEujc#<K2>; zLC7{<r@Ta7P&iwWcEOQx<+jb5vmQkXp-MN-o2BMXXITctV_|tRtuuR%tnU=0cncb5 zl{<ICBxZtZLG>#6EghN*>~c&z6!0*`PI^1V+naimyXB@yz{_p!80v$*QPHJ_%i}6d zRtd4GvkZ~p&f0z|cl&Mg{Y}XclhrYu=iy3vh1r(t?ef<(!EsEcc((UwfN)eTw-Mpn zjG(RDF5>W3IK<Hr=?lMb7^l44PQJEG;R29QuwU(B5Rlm7mv{P#IMli=fb(Z?({gTy zWY;^b?FxxAP&1c{u!_w^(e^@)4&t_B-ssR3&bon~4=pQ`0@&K43d8jCnoxq-C3b)I zZ~PDVhw@L<`8MRID(=besh`UMRXSu*HB|%EN}E*GDi>?0D&DeB=uhsSiPlRK<Qoi3 zlY^fIxrGC%{h5I`INHah4}WEUZZFO@UxE6$uxalFjc4iQqlLM=Y#Pq(MR^zZZ^1GJ z*AD>!U!*qB7skKt3^%yNHT{F9p{C*9y-ULN%dNs@ydG{<QkRZUq|G1u<nuz$190Wz zUW~_|rWCB^+nuOlMfzjeJ<!BNqa$Bo`tR<L4qdX<z~L;uiyV8V>A>EJb%tdjXC!~l z9*wJgq8V*e-e;QhKF5Nz<rsxqk8#3Qga!p^ncJJDBQ+Zyj)^Kc?_h09|E%ykLqi{p zCJsjofzU^<^FA6?AANa$?shpuc^}<wee`ATquc4D+e06Xwjy@4{zIY0`v{C!ADyIw z)7?Je)DYx0H4XRP9{OmOqCV$E39&oX17a8IqdP($Rs4HXAKhVnWOAvgkH)Q!c2U&0 zuw@2QdP=t<MfWv-_k2Mv$`b1qUKotlJ$FRibBA@$9gcv==3{NzD%bXq&ASKp5KWxC zljt5CJL387%=zQ~+`~c}OkR>of8saZHS6UIAs*aUkn43-3f*M|O?nB=Sz6FN0}39q z^h1S{DM;W`&^#~43PSEQ<Qqe@Sh)UD<!g4W^4AqKySDP*Z`*CH{EN*&%gSGGPUHmV zQq@Tb%<)Mv#v`i~BF0gLhYaT)M#`t>H<2MVt)FZ;B)6rAWK-w&SxFVKAhQ>~55FYF z1ay!Y{0<G_ZXNRR*unq89|?_tM>L~zZE?WP6o>q~(|@>QA!7Z0rlB%7N%NSmLz*H0 z{W;R;;IL9#>Fp1o?eqPpRN$AAM(i`3LY?pA;-7)(WBQJ7oM$aKrtk*$J<be1hnCpV z`KM@z+CxL&@(StC1&_G=&SpRu7WJDU7rxXa9uDNobB$)WBaRpKMNub1S<Xr?#BalK z*biY6YARWd+dr0Mog~X#eVz)d%==R-GaPq$PyT}^Y?HJ&Tx}`mR}rhMCE$Qms^}EE z#=1B`EBCvaop;n?sj^9`nA9Dx_oq_5Fiz#)*1Rn)fiKKyPBG<iZmGC{s{3ABwkKAK zz86J7J21lPq)&v0q4vhFambgW#6VtG>S&-_rK5;pV5eiC;`&*xv(md5^h@FH9&x4K zU0gI;Tt(@CMIV^}&kP(xdh6!7g<mS$XX$fEy4KEZa3LaOJ;#Rf%)XC`nBzq>m`&X% z<kiPDY$9mej6p6*y_dt$zSi%*`f6D~y=9T@F#Q%P!QwLt!d9zEl{Gg8qA8q7W<PVe zteYR(GR0NY?Rm^`oW_Ssr6Ptp@V5rs`IJ<y2t}m>`{#Bf@cN}FVD}rM@&H+M8578@ z__a=4|8|#{maS=(?leYQ`c~<-xq`5?zkGuNE6R3xQ0+f#Dp0DNVwLLuup`9rwcTr4 zWLd{*nKK^;CE=<l*rr`y#el9o-jn*Uyn`=GLY9Y`z97&25M}c0ZTiyHnA3Qz?w^$& zkIU)~6CFG3Mp}@UM+t;tCgE3jmdQd7z1(QaliC^5Kq)YY8+Bv|%9r?~$@h<vvBvL4 zetY?Sgi)y9B(scIzHpzm#&9HN*oeX@EBIkgjul7AquMlzz;HjW`SR*T`O=#g@r1bF z+|9F#XBW>-p0tsF*$!Fk^QGsE6|W&rn2<Sto!_TvQ{c6Q<2{AwlURKCDidV5y<6{< z+xDqKar4_`Rj?x@DhkzJ%Hay-qCP`io4961kp3l^>hCl{vy2GD^2%<`B#|wW3cE{| z!|ExE#f+#>6F*sCFYfZ!09xM}p6hfe5>m2jVfC)O^7Qfzs-R@Po|U2?Ci^&#`e&>m z7WU+@f6<CQ8eW2;@74C!*p5Rx4YBbutZoUnBF9QMTx@}R$`u7xaiT7d+P_1$<>GdN z!xeQcr>nJ(mn<S6Mf}5Y;59eT0xT{@U*@{=M6Q9p9I%R^CKgME85H}n;W;Ker#4Yf zv;7sq2=)UgeJ2O*d!ZoNT5k;I^S>#Y6H@s_#wA<+nCWksT`@G8rcZ3y)uG(O=_5R- z=-jv>6+E7*Qww03t8^3-8V1_vuka0>ANvfval&|`-zhiCJR()hl&w`&3gg;T!!dv* zDTMdXrqS9lNF1CO5UN`1I)1qK;eO7#J13P{Fl>+=Qx%)V*D7u>fM&0i1_a$*V?3=K zW`*s3S`+yvbtm^_ikiX2S%~d;K^{TGI-{1{V)gZ<j{Pc?18?Ys$Tws~>v~#GQa;?l z8buvn`<Ld9Ef*fkmp9Rwn<kM1r2;1=?ibj5X~<;lUpcf*?j1~xsyfAq4OfxvdPaTO z()e<(l9`CzSsL~xs%huXUhN9(TU0$^Ro`n>-)mJ*<VxeU=P~nB?YeT+7J!)txbL#z zan|)KHI=k#ZnW5Cyh28$a5hL;>qIuu2FHr;Fyxpvn^(``v#>}V#UCox?uB|*PQ0P_ z7)TVh_RW9Ge|pAxUp#hl({V>P_jk|i<G~>9?^k8~>1}`iAR(#v0lpY+dfniLru*Ic z>DCj`gK5k+c@Z?ff05}8K&(B!RuWjw!|`Rr=u%z$CCaYa&4;xXo&K=MKG21QWfGX8 zy6kGF@-5p`gbE+)m-ekcAFI;s5+JhKkUmz?qeF8nZ|vMFho`Ix@iM~(X-~5{70)a# zq}eTLuRm+Z!oOLiF4BoQ3;)D}Jp>0mNJAE0>cMV;@AV)ES$LiYI|(lFAQZ9i3=3kx z3X3%m{JO+HA?ok4gb;F8vQ{!jMmoC9oI<!MrgL5CW8=WLuDp5<K^>8a%<agRJ~rV& za(`^ngIxrx1SRvf)CkPNpYexqKZw5fg^Id3B=&`wyGIShObgbPSAHOKH=-rkJz&#J zfLhtb1?I3jcp8QX#=TjSx=fYV2;5)WbFN<ke8?<-fPl(!2u?${(@1Nh*17{>H`8}^ zXgtmChjKp*5H12ilL`+TVap)@F-j(eSd<PJ4M5KUXq(xaAzI%P>q|&V2Q?+NspvQ# z8N*|>GhPOL2K$Ro@EPV~wP!a)FK4>?Lxc%tsUNgAut)u14*AE2dw(zlAUOcZ&IvcE zPjb`VoEC=D4_p!d?#Vm1v+fTZ)|7r~<zSiL2n#-9UMQ%h_R|OO8+<3SUu-8;cBt?j z)T80tcQk?CQ~Ls0FkLW{XY|B=Nh}r4if`(V?fpV=75I$}=p4gCCLcLeP-u=3Uy%Q4 zbzQkFG_i`ED(u*(Yrdegbcsl+tC^(MMkLidX$=%qUb(=@D)PMQ+AT!c4ra&3g)k4X z@~P%M@6qzHmKPna>9#8u=|y0GEh6Vr^*|kVxQ3Uv&^wQ`LnmP)PfKGAdxwl>HBNl& z&RFlDv%=D?8tglsnYhbL_mJRjyg~84w=>ppA*F$qE<HubqAsPKI#1|fn=(sg&EAo4 z5re0>?`o73c1mtDzMZRCFHN^!sXgI*Hf#{-*q9>>Xam^Yqc-VyOlW;fu+wT6yQCE< zv-R=Xum?e<bV%SbpTB+PD4Prwb<iR*A9+CTw!;ggecAw=2>CQR)A{(=WK?nOj#?nI zUNX&x4;AE=K$LL-;#PJjQdBC1tKIgGhlbc@vzm=b5aQTryYfS-TrCwQYVEX+{EIvi zDvvTrn9eAtVd+{?D?%e_6QM;0trY)feYrFd@w;`U+>fY1w7{=0m2dx7dsH?}<DK~< z?z2L2-^c0GB&gP2ejXz&rM9K%Q~qvNP=EjNq%zZ@xxF1v$J#ExD>b@7{^9y3>24AW zeYAw7H+Gb|JJ-7Mf;a1I=C9cSr+86FnzS`82t{wBX!=Tu@7!_fP!CR+^pfYu#IQQ3 zIy@h<?Mv*7X+}of|NMz)(@zHo)xi%4lJwyb{X<?hzH1*3aN1}LvO{hUzTd5ReJ46H zNH**hcui6*h}48Mw_V}k{_CIBCZ8Xv{yS(({rL<`|8f<t=`TNJ;u`X2X^8n*y0T1> z{c5|KS~!g~l-)l?cB;D2BIDw}<b|{*kZl_NJPy{`WZ8JR>VdyIk2^cChjD71c2~*L zH)}5rvHPHD>b;^vO91Yp=q*_l;2rMQrbS7|lbi(rt|=GWsD)ojqZ=Y-$aY41&2M_G zbJu&zz4vNMXYo-lfpq;l)V@-#pDg{DzDpentYcsP97(?Z#M71_XGa<C`t!Sc6y(px zc*wmkl^djqFCow5C^=U9%&D>X?UxxrJe=t3nxbVy*v27k6ilmC1R!S5r<iRzrpcp7 zu#M0qAO3?6D#2L4lsqM`pPV2DWofMT7TQe`G-i<p3nt@2y{j^x>GmBd_bO`t7A1h_ z9X-L11_bA``4VQ+ayAc+MpPDYtBKoTaQU*tk@V8I`Bv%j9?#C?!&J}|SlVVCz{(sE ztU@;A-$j1HGKuH&A#MlZ)x_=O3AzAt78M$|v6fkWKaEbQ51LoR>#J2EQ(_30JT395 zP;fAoyIzULa_R%-Jy1>s;LjZAF{MYKB~&eZKYIHWrN^EpPf!q+uYBY@ElH~JCU@EX z!S&YZAekcVxCTqg!4svS$&U25DsRcRjT*HAaCZ`~;wOk4aY1c~d4uGK2xHpW=mruh z>mQ=`jlr2@hYRoyP<>~sP=Ce3*>Y1WAeKwYc_#j`U(@kwduyNgQv+m*2EhG|%x!_( zZ1En~NtwW9Lw7WUJ3PI_5T5`}YpAAc5Ch0~ZkBR82-DBGT_J7>;q8RC^W2Fw%Gx8S znO%j(NpAXL1maZeet+(|w)#CM8<1+aA=Pi`^jn>Uru0QK60~Taz&D;cJV71OJHG5c zNn9#E1P9xEcG;elJl571vmBuNL^D@EDBe|>_s3SD#mTl3FDG~&-<&@981z>EBpDo# zPRg!-5H9Yo&(-VO;@4;EH5b3m*XysvuUd?%zbt;$1ijuBztUrE_4)DZJiY!TuJ`$R zZN#r#dVMH<CD2y?YWxbwZFL=z;y}JoueZdn5M^6^NBnx6UOyJUika58#;>C1`g&gJ zQH_{UG@Z=VODIwiNA84yX)K`kste94+jC(0IjqT)D!TF~bF~I5J+RHnvAC8VP}YIz z)A~NpxY!$!AxGmw9)6y}@AU9<6z=sf$ZKmX_wZbWU+v)&6khD%6BT}uhhLyDcH@f~ zawjP~ul`=1^#NztumzQ(Kesq|<6ldXr15*IU82I_m7JP!fUC4R=L=1|&++$;==~Vp zIR?oWHiXQk!X=&U)3UZrZEZN#hL-^@NLo0YyN+YBnD$-Q-gv&hWIVy1YNwZ2XXmCv zl|8)l)XY_X422kwygq)p3>)LaS&X-%uPBo+<dNjom*&}#YrIKkpBESPpG$vo`C>2X zKULHd<lj?eFsr?886FtD*b8sC;WKLq|KH4nyRQf7i}#dl0c`d**}`Pom1jnm>vrjU zli~=JaryH(&PykhRrD78i|1%IVeH?E>w968udNSksgDPyPv{dCSsn7%w!+0QrAv(C zwz78ggJp*q9GUCh1f4j#ZFxQ{oKkzZb1v|FS306KTi94gXd<G1h!GrBdt#>etMG=X zfEiMSst2YsnQOmIo+wfC^d;019`I8v2+So)#oxBJgm`o8uxKrC`pvAVCdf*A*Cbt| zzi?J1d~nZC@Vt3sS-!I1If%z&G~lmWZP2R}<=^dD$h3G*1Ydd=k-MK55Y2MAZ14?C zpJF|^%UHpFa11N>s<pMExE5BRTAAl&igzldNxmvP43Ux<yoKTHQ3oxG1@#*(Dquis z%g|@^COxDBkl<%<HHvebsHo!mLg{1uDqSp81&{TsVEyqn0;MD7)=-SiE8fYJGP3lV z0^8-_jMxn|Bw}X$@639d(mVz?sy~4&NY(v4URzrB4U$>ZkN_xE-XkpRX)oDpxoEFg z9o`=WkKO$CD0mDTY(j!#WgU>pWX^F_wF3>;B`2-nNb9mLEoPPEww;D~cH-Tj5J^gV zYLft8KQ9F<ClbAeS5W8(N~Al(J(BK=Kof<pTog^m%i&V@=dvhJy6^BreH!Ve#^rY> z<cDHp-BkZh^s(H3K0=XbTk<XY!@7M02@uiJb2HcbkwxW-h`)V&ptdkt(Dv(g+kBCi z(@4s;xDG)VH&8;Li)abBX(L=9VOv}c<P+}YwTlUb$Y^!AN25a8QBkY6W5pGMg71yr zqXGxLzk`T!MPI`7wOsL{=Ywwx-IZ{WNAo3*a}R?zyin5xUvie|!m24-HL{{uAk<V2 zl`xMTAj%>0oHh(BBGDJEG{u#zQC3<$es#QntgSDwxK)BacYXb}2u16>xPQ9ryN^>S z<U~tgmwZZl%?!@<h)YN&L`A&nbjzmymFk**LVN?X6-GN04}dVoa!HD>^o}p5lgw0o zE6R)ZD{MpDu;7nN5iZ}Rvhp8%Jb!nL<jgHkh~veJRF_;!hrXZUqft30Q)J~Nq7gIy zI6s%QM{q@AAdH3j>CKtt*h_1oHizWO40oTA`G;_%RLu{V!WA-`w(R9dTV}bb*3)Gq zVUe<h+Gwo*Wpg3dwiIGr@rNyu5nNHpZ$D|alJk~}@fvrzoE=gCzr>4GtatfyTIz}V z-1bKl^}qG`BN`X>+SJhlU$-8#3T+Y;gIT^odBfhn`mQ8dU=`Ewt_Utjao7_0wYc7X zkBGV@0&A`{NB<jGa<48I_1X;9Ym@qnuqu`W!(<tY)QnDju9f1$Vs56WX-P~G%(J34 zt?WX?UWsSvjQ&o#c8t7HvyfF^u%ejbhWk0o#VK*`WrsJnwOx5KCE07UFOSDXl~gQ+ zm;$9B&jD3sN}j7&6L0sN2rWeOX7FNrA4t7^ktL3dEP?zQ_!D_s+pc(i#GKo%Kolvq zl-q`O-Npndw6olMy;*cqBQm8nIDctUpgzld$rUIDer4eWxG<zHne(m7W!T{%VIpeg zEJ_`-kUdYL;ndM^@GaJ9s~@abCOFJBzhkx7>oZey95nM=JBe=5<<yz0zsGDUUzztI zYj#C(O}Y)O9FaljFKPzzM$sF1?vvoK7fr{XLY9V81wW&j;#@sWwreFmbwEY=<I;<f z^#nI8%9ro-($B@v>J#}cf$_q{j~@<OjOy#GyvRx+>If;bG2PDhNf9krPGpLBWdd5h z+R`VdR8q4xdIlb9d4o$kB(@_IzQk<?IaHF^hOk}VhWoDq1h<zS6!q2rp0?GC*1)Lh z?jTv>S{PY-o<uKZeBR(AUUzHV=0UE(D&OhBb2%7b8c&$*bkM5O7_Ki0p%ZPhi2Xz; zgjgQ3h`mH8RH_Wx`yQOU6k3kT^o=_4EEyfFztn(x1}HR>N<M+!<&0sI*r=7XAVP2y z)fJ-74``ef&+33BErq+Ga2D+T4mxN3W&EcS<E5s)O!{?>?VX^n$7<E@i-6Njtv_ND zoEa+fFOjlI9sYiLB1Cm4*iuV!yXya7%r>+!{e_yaeuX)JS;S)yQ8sQ26}x>6G1OLn z@9ePr*})cA-Wk%Ft26CFeg8Esqi%xt)klI??Kkk5A7sCXI><ulZCZQNT4_;%%ooRN zS5aQlmyjSTxSiCzD~Y9tnPOP%PA@gm(_zcEZL}h#rz;edEN%Ulo67DwLMhoVwP%O! zyxdArc^AgzDKuQv7uWv3T}AtU2@E>jG}@&F!}or#1urkMbhGwWM5eSBOR)8BXjjv0 z>fNoVzK0oE{V#1=_Dsq>3T^cJ952{jjW%8%qN1(~?Yr{3E$v$t(xqtQg%7u+Iq4b0 zI+J34$GQWGQ9u;)Hfm|6jhPg4q`tPs+;+YdDT+}jDp?dW{ZHw#yJw}wMMtHhcUak? zqkLS8Lc>LUaXR|=KS4*|_E}xr;DG1nw|4qBLb?>5|Lz}K@cem8lcI^)s45<VZ#2Nb zr~<<19N<YX3ROPiF}TEv6h;+_N)|>x1FT8e>X)Rq#2<Vl`xtzUl_K0Nipx`IxTr6V zySGzb{S!XpYQ^2RTj}plo99`{XscK7+>F5zFHK?WDC1>ys5r$-pPQ~@mZ`~!3)2&b zsLqx-r^K$={P#7_k|K4yM*GV}{cq~{0ZS#Oe<LEPT+s)VwQE1`@e{O%b(v(1<$lev zmTg9UWUi|uX%H)PHcJ^zj%2<ZGtJayM_jlxQ&Z{V<r010DS0UUOq<84RIRtw7JVq+ zAgDAkDKEI+H6tyxbT;0aPRuQkq?N7c|Lna>dd%S0Gb`>>bvD(F7H68F(TToI03jga z`pJSNGQ0{~gMV&QFU_3<{ZLqha(Lagt8gbWcC@~NwB_9O<hznJ;_J;P{QCMUEtXv& zl-3)<@)qBAl<urQY2un{n-;qS16?(6tOEt^(RJ<51p%N4cEqKY7pxfu8R2vT>VHn@ z^*?rvAl8%FUKHucU1&D0)XJhF`nrq66wB&T{k=!d2hTflzF%s|w>)Y;@UpMP`YbX7 z92FGxw1e`1LIG;SZ#Wrd2Xlt12q@C?NL8_jw5=ijYSYKo&&xZL?`qeK??guU()Sj8 z#XvUL!4)%CQ_>R&9+sBfNU9u-x$Gy9t)K2n&)0~dLwjw>Wa}AdTIPaqu)z^Z2X`nR z#`=SQLBKW`)wC+VWuGjS^0m00^so8h;lrQg`FH&G@SEWGFux!1`wxB#&?Hah_ecDG zncq45^8A#q_4f|q*B#+ol(xY4L4F_O_kZ~PHNXEz{ca<?C-okE`)W(vKk)v2es5$V z@M(UhJ#zT)SNT0Ub@X3%<M3hqmd*0}N9?d)!Wa25erMuty@B5ZzYB3gSGmXXdo#aV zaD4tvHZ?xR?_;<jzvZ#Rhp*#zKfjYXL+%~y1^X7i*RWmfrs>0nzr*dEFJf!-KOr8z z$M0m^z~0L5GyHys_{*Wl+jzd3Z?<oM_X59oKSwyPBJuyZ&?Y@{B*B-O)#t+#(w=p8 zGG25kPt2_Olf5-RaA+eAiL1(Mx>uAh=o-F&!M|w=W>CYorpjvWB%4Dx60UcA=z_5o zr3*$^l{B5rO>qUlc2#9c`rRKPG?v>5H8E_+TkhYbU@5nQ*Bw|3GW~ir&2@0QSv9uv zWjiT$^4uw|F8{+_C~$3&PvI2g%S3djAC5ho8$%uwL8QFW@r)|V^?cJdv&a>O{E)dJ zQfwpP^3rJSj<0Jp3z%%TGM2W;$%q)0J3+bT)59x+q%`DHb^C^x8Zv8^CuM>)<XF|$ zg~e_;3lCjlcwV^K-!}T&ANpHAZ?uJ`Ft|9-{?>BtRy?;hzB_p4u1oxZ)Ax@vkDGh| znEe=G_jkh4BJNw^lV<DJ-zKT*{;}0^|3+i(x|?88_}(94kbpfzO@ahIAuLPFyKxBv z-F?pv@k=PDW+#p-Rgd2IGEHh|Am0`Hfu#KpQ@3ukc$9Rj)s{c_(KqK0=he`r;9VB^ zr)94G^C)9E+of{=lcVYnIy^eO?O<?DV{24ZH8tK9zV+a3c2v)_$tKS<NXLlrjT`0e zgFaB`0I@>E3wWAyq)^S_2a6~ebN+THDZ0KT<&`#b|4Mh{91|=#lrqKj6*?}d+K^W! zo?lfTHjglp%~V0V1Omq+g{ldd`@@E>g?3sgw6G)Q*75mw=2*QV_Al-n5nc=k>u>pI ze;#%+%N;D8N2N!zUOJ$cKJEOme<~0d9o6!?rv(sy64$$XkTB6pAZIS-5^0u}chSmf z(CY9ymz`eG@|UGE%oJw?+}ad1!}*yv8{$o!d7awN5iXEvPM^>s_2{$<J0kG%SB5vi zP+oaT`?y7K2&b;tL4qj~t+kLxbl*&Hlxm^{njLp^TqQJS2Tln9QHlmKV^H-#*YT|l z+Dju|`Lfm$QecW)_dEsNq~MGBOTU<gjlAICsSyCFdOybFxM}}PbpDh9oAi0uXW|_U zJ4y2^ahVRlt(8m8w~#aC0&U$?TUD924$X08vc7Gbe7;q>XH{uWZ)u#fLnmCI!L+AJ zy@|7Sa=t-#Oao=X1IyOW_q}*i46OpdM92QxSwGQ?X?CJ{Dt}v5;b@xC#!l;!Ba2}< zwHo_q-VXr-cIP@LfTL8<r3w&-Q`U|k>1(u0@;;~Y1y#i>oBE5g1LIZk&>F;KuEDQm zP}V=oe^Iqo_R3Bs59_r#l8V}fJ8+>vjc9gPQNmKYIp}L%0lGmm!(m{$yRXBZ^9yqt zJ1w*@#2jDHHcf4{g5=s7J@)anain-e<7A6G9CEy{@T`yn$%k02Ma)<<AlgjruSoVI z+Im>h(1j=|RkGvj#(yeLGoKcB^T{aw$QU?uBn+S?3IptYd63<3!oYj%Ilu31_O$jB z-_m|g?jy3L{V%adYd;@f7$ZmRXDR3H)C8mmvOs_lt%oylX2r)ej9ksLj&Hv*!N;fn zd+>3D_CG~aKl&6+9R&DT{;iG1Pvo2`ZetGdob5Sp14?F9sq1Gzd1JYIEj*7fXo0ER ziw-f%CWjHej_4Aqwt|jHmG)4(5$R3A6AcEs$7r{;Vt6;d_{^ZTve;M1OiCvrEm;)g z#V?AnlIO`KC$}SW^&cotWuD)<&LlVO8A(}2vc7VIBT$g0CR=5?udKN_aJ35_6<4#B ziViOK5$KvF0vvH#2Ipd%ko2+NHz<iV#yqOM`1Kl?3F${AxhsHwyRfCdknw;yad;i| zFDc$Dh%@+V`QPECscLb2t%ogKqiFnd3q6*;vatV365Nhq%l?9DHUd<xn&Coo&{%?| ztV*H{rIa_s=~gQ!0+eLC%rF$@!Myq4?WUEqxIjxed*B|)4q`@1Z|Z1>os0xGc08a> zLA#fLA0e~#U+7D7jFzl+h6Y1ji`=||e%G(T?-VHW_57~m7xrUhvqLcCP18d;_6>&( zv`&KKaGz0uKb(7ll{6jkH0}d&^8$rMRBvRWr*NXQSai3}>vCcd=GqE0Fl3(NnL|Ny z8W%MF%9MG_SMy`HyqdNvk;F5K{(B{P>Z02=&%w^{X$r6nM}4m&WT5n&rb5L>Wo(#9 z;5q{-*}M$|&`}BMBe&0A5)Nj&bdiZo<GDK;&!O+@UkwDn@^EG0<tH*5OS``9)is^v z_F;iDEtNl0{39~dx2AI~f681srL%S(c^Z8pHmmDdN66*0CNXSNinfa*y6tdfy>X_L zHcbFrds~^g_A=;YM&!$g47JAc4Vr7w@3Rp;qRlTU>>`=FfmwfW0yah)Ko9(jO}HmS z<;?ql>RvG4xR5>&H>k-c&%-wS>7MrRsmiBLg@d3b$XG)Gunts^#Fkkacc;~>B!PO5 zbc%CR|8`n?V!k%zbr>YnW8O9&pNbVU7P)Af&5+akpR^evU(taX;l$70>9C8?3ixNt zEMg_?h3876mF|esjyRl|!D>4Qq*0#UZ{&uIc*`W<>KxE}=_?IXrZ-tK>(8u_(uJ(b z_wqfs285G4Yh`W;1OJ=6g>7NbDcXEO89lcz@}k=EW}CKBE1T|MWn3;CR`PA<Tj-k@ zSv|y|`bC9Sxo;i*j>h-t)#cm(aEEH-C_&DgnySknUw@Oti}ySu&+!Y>5v*@2Ro+HP zn{oKnvywl=!NQrX@|*FPf$0}y27jD-UD9__T~5f+=kqdyKj5|gJ;g;#RcNA-2v@Bc z{2QMPajb?DCBu5s?0D~PHD4)S2n@dGKq}9eSxynuNbMniZ1=}bJ?PZw+gX+Zt=6U= zg^TLuWr|yfjqIsRrbOKRB!{?dBgVE67NPG5VX@a;A>7?yUM~5-d#$uQ8)l!4v*Cw} zNjLrZb_N>*0Snb0CfkoeY%yyC{h49~NkOh1f+N1NdCNXgmdycD;~}m4yJE*6kokr= zW1GkXhjYPIUO88on-7;aePc5Hbu#^RoV*icu`?;e)l8D=oY^RLy<)-jVd?NTDB`g& zWB#z^&?rzRLzYQ7V1{$*1Z95rY7*$Lc|81PpfS+lE^wOZuWlI+Bi7FBY99|HDNQUr z9&UX`<Kg>t8xQJjO20LXhg+FG)Su9J*z4l~G>MrR?QAu6!3Hlhs>(_R!E4wzu^I$r zuKqZwM`WbL*sd74zGt@T(1ek;ETSlhy{tQLmYBA-{&aL^Yp-h6D2xyF3$5lHK@E_1 z@yRe*&H|GkEoiJ&wZ;R4d)ZP0M1=1H#6me;<;ghNt_Ouon{E|a_aL@tS)Fd?R!EKS zYwIM6$H$}&5bP(<WNG<a1_5V87i9C8j8&y={&7L$EcOR@xWf{@q|j-K=3Lp*cEE6K zPDtTu&ZL-benI2y-fHqyOUqaDL1f_lT}3U;r~16|>bkTc^~r5{;hJMu%IqZKP@Ic@ zTg^M9vRlR>10syWi*@c=S{pB(XyfqE4ss=Xy|?Te<vp^81baq(J8^<qa0a|x95~9E zrQQd1@cM(!A20i0<6?WcPp7bh6DDit^}WNMuP(fqLJ$dKwZ9ECB}+WEK1pF_iBpXa zG<u>We{Ms>jrHjy=QbA3&U4`3p{@O_EodN8R8{(6rg$!Bn!$6z)G)<w5_@cE&6F=A z!Ol{8eyHHomJ0eVk`-BNlA3=HOdl@nYlKbNF~ZnoX@sU52C-6{bH5r5c21B_ybIr# ztL?@=leXLneWu$|*h%Ug^heB<+_GWvf6Jk5>M60!ScRy0Fk(#)DQ|N0sNqLz4O95h zx7Br@a12C3Jg;&fCivuAoLQ1X%jNFgf^4`GsGh%aDLIq5qU&16d>|-)+HyQ4!Bl@M zHPr7QXeA_E<`hsWsk^Xb3xS)T=WB!9W<035U%f;Yj~bYM-sTgc;IsYS<NEKVKA)6) zJ|Q!xHRbwwsn0J;KEE(CxKBX6JoWiyn>p)gBlI#b{o=k$>+&3q-p|Yo{-Zcm`232@ z;3cWoMVX@JWweX4yx>%hg5S1ohk!H1A1kr#Tkbo-o^ynjhisAO0lw8gt?cX-Wsm1v zz+$vD>1~TyQZv0RQ`B*e!`k-CX;AI;4=4G6mfqdw5ACYsZI>Qan3d{W{UO%sR2ZJX z?@)HzL>y}Y+kK>K2{*Shgu4ijgm8ELNtNla#>G<(#AiZdQz#y%XBoUx#V@K$dL1R} z>yxZ^HfQar4-hd{yn@~#pi*^gnqC98A2)7p*xo{dvLyxP>D#q257^L1o*NiTI8#LW zAiL40>N2x7+_(pa`Y98^l&4+c)q&~M!-=;(PLm<BfVIwM{;JhWAgt!i(J{8KK5)>~ z_bStZCDf=!RL8Q}C`jr&0M`N@Kb@q`M@h!Arc@~7eo>U5Pis=*0khkuBYi5KiGvbG zZ@7khe{QU8e{R1ZVx%*#k*CDJIB{s2+kPc`m2JX%y4lJm1yKD#Pr!i(OJ8Bf`z!P- zg<n%CinIMNL%A_4waG#gNuyBJ;MP#pZu)bxwhKdgB`~~Z2R4hH`6vF97zhvu<c`ai zvc7Qa^Ak@FO$_C}RG$K#P;GZ+FsRl7f>ZCmpM2xg`)?(0oO*vCd0UVf{BrV!!^!8; zZ`a%uzp<=3P~9w1U0GPgjKf5GxP2)1#o^o+m$qH;5gz%>U8B~M=ZtT{h1&cNILLT> zvlIw`$56yE8=a&a?)}n|@hdq^XMcOc_C{JZHV6&(suc6ai5yanhQY0e5$O~@O@6dD zPU+c?Wkm*uaiNq|V_w6V(KN*V<YUizwt=L1uu@yc5`z?SA)4p|*?7Jk3z*4}QqqBG zC+AMw&dRbE?#!UyErF_p#DGS-kEfoh5;d*}(W1BY@6iiA_ENhwVY1nzmsm)=E~)Vq z-KK>#i!<r&slDK+73l~%)j#c1dMGQX2+U#m1c|54MGN!kwQ+lAjG0kEPb)^kQ@cMH zKezDvTYjH2QlvT`M>oTJspP4K$t_CL+G@2n9+86|NJ@HT-#hG+6Niu=Deb+Y1h-=; zr=~lY%tO~kd!|Oi77ZxxZ`;jG<}<1!pTqv<WQe~qQw(R6&xEqxm84_*g>xpt_*<BK zWBiGI2W&9@{xx}H{CzKZWBh$1{dUb*{FWYnYp;#R-_66hn>qdCnop2W!TFi%WbmS{ zk^Hj%d+)sqHoxD(yJHfyVRmye%trWbraW`yHuK(<8nM_m)WQ0bT@RXRJfG-Y`KF?X z-$m?9<XB`NhOOW7aoUn9B9%W?6;3K2GQR|&Fy}M(BbPms238{IfM-Xj8XDM>qJh^S zw)wInzpREzChh|boaQlI<lIEe=h_?cv1fF+dzlXu5mXpMjwqpL#0;?siA{p6;oRTS z7sW4I@N){v43!wYtwS=`$(fE4u-~UUB~WkZwkvhW#4ZV;%-}_y9?bvFI{(vQ{Tw8; zr^ZH_pUm+y`*XXje@14Mst%snnHH(J!gcS5SJp!x0Mk+H7&WMzu(~YV+J;??(}@R) zqn48po%~P?mzlwe(?J?mRvuzz1+3S+Q>stMV0R->5bGYUdY<&%e^>u|*%CLFdvrK= zOArIJPUNgV7Xxa}C|M>Or$oG>@mxZq5+9BIQ5>ma(E!t2i(Mr4&oSGhcqQjYh6Sad zUNGsP<J8lbMWi$8k10Iz$N2EHtme%+!DZ;ju4TN+`+SP#O>mMlfTF7+FFGkMiKL)- z;l)<3hUc<KI|@IeT?5lFCFw>MMkN@G!pHYrVR7^OFmID?K_7Eio^5@<ZO_e@U#@3$ zvu*Wyv;^3a_Q?0B<jm!3(CGJ6=VJBeR0Xa_$n85ryVz97sk{Jht-NNu^!1^+&q4Z| z{d+uMBsLAo6dkoJv-LF~-KGiceJuX&8?DZrwGa?6;VX4?uMbQrpbzOJzgjF=4^HcU z^v|jwP&o%I^Ch)~vO+IVl<6oE0P2MabyofJ{1*^DK3gw%B)t$OnC5Lfj@hPkAnJ)b zz~r7<N4fWoGXZkMZYdaTAOGFa58v0;Ht+89+uF{Ma&L$gF@v>z0c+vX2XGN%>9U&w zoYmOAhQUTS<lsR<`=BTA;|tJeG0C6F_kfS+6q(Arx9^~V&Pk`m&@zKpIGY45L6Bb* zA~<YB{r`~RED;Sh#z?ILE;xgO6q5#GLh+V@zJE|CwN9F-4_Oe?z(o7_{nJiA7maeZ z6p|YilSQ18)+yO}rgLWekc$yN<O8FpDWQLkZrYkqBy0Y59Is_MmskbOYrGQMpT%ur z_TzYcuyJgJFTsKCe~qpRuYc4>UW9<l&b79&`R$6H(8{H4n>1~r!5lIYfa3%XKVd|` zX;?0$n0gq+(@%{%%HQNhh8ENsVHy@_oHZd+6pN@sKBCR>l$dr*JG?+<*s$I}p0;fY zig3({lGHPb(BAoQyi9z+hz?lMP~RoFWIb>aN{9ErPLl6z0up^!Gil*|5q)m9qS*;U zU#HtPUyD;iQEEa^lgVBsdyQu;=C=cfR!7DjnpDUXpL8Tl>*|Z&&lDetU*|0S-AwU2 zypFl8iDGb#NATO9O9n=*UtDy#DjVi{lZX9Uih){>^OJ$;`5S&Iid!DV&D($lYqFD) z8uJDH=<(5)%;jeTuCc{Qj_J<TF!Nc{52=P$G*|VNrf>0QxK4wv((O+*P0?j<cG#A_ zQs&j#LMrXomyLl+9Sz=4<5?u9p?tMJZ>R>J%v}vNlv9J4ow`S@HPmH=H579n2O`o? zkF$o3MhzXchWZz4=!ElsH58^3Zl+QVGwL_PpEVQ%;GE5`axlE1FsrHhUjto;w1!T^ z4ZY64pnoxxgIlexYY=MyDXxl13<M84jrU!RQ<b0<jKEN+c9hRju6!k3L!E54TKWx{ zK`_j+i`%A^k#2D(@exdk?cr$mKf?qlV+wFY_pIN*=MTf49^{Snn(!vX8TTpZ+ET6Z zz{<<>X-vFW^IOdylJ%Nj3$)#MMN~+ViA5_fH%UIr^3F{E)gFy6`2@x)jUR5hNoE(# z{Ra!}X=jaS<F|8!<MdH0@Zip;!rxyNEr;9vqA;-1f%4oTp<aDdwTQ8~Ln2t-Yo1`u zW2F;@8YfbxDGoXom7$oq>T*!%=3mplN}GNv^($HmST3WwV9fT-3S+tVrw9dk@Zjph zJzi8RX4pVMIb`+7Z%#x0OVRv)%b_X>k|R4=Hj<tvJp!kA%)q%DF>7^`hKX^uD?Bw| z^xol5{jauh-JGWoRfJqt^YJF$ISj}$DDmBvhyPYpP^C(D`ufM$!up4Ng5=3!r-rO5 z*+mm8OQS3SXTeYH(fe%43(8yGEn%nifSL<&G{<Z=TV1rCJZ8H}R8jpHXC_r>Zz62f z_RRw%wPmjK;V(WV^`l*U$4TXeKJ`nbz@;DzqT816#=)h2#!BszW)}2vurr?Rc1Al; zr)>XkVGrWr&06yKO+Pn>Y5k2p8ed@ZMg!N=mO5y*p!dx#r93*Ky{C@hlU(yS2AT$W zpO^%LkPa)~VC@lY;xXyVUg~<og}(+5Ae}*wps2CgKbA(zD~eom(q4F96al?WTskYg zfdPSvUS`FUcd%%f3h~R22E6BKfz1Yiyhox|OG)G63!9+NI9Q=%$7~fx3$GFNS=XDs zYzFJ4Uo*38iV{UBx<+!}Cq)zD$WSM@QBd9eH5k&`s1%Q59IrW4V!s{EyYay;fnIwA zA~z?LZ&L^oUBtslRH52$-P=T>L3@smmxx-Gc=l9YeIs;ZJmt1-D_o0#3f10+omh|s zsPbK=)r}*DxFVSuhW0hlmXv|GpV#<2W%0T&VWSj8fd+`r&&t^@h^ETuOaO6ymmis? zYW=zXGa1bkL}gX=h90H8$zfh|JME~8+o3A`otr;xLf<PVd<;%IQJ%ZS{L4*i;saV! zAJ9z1VnXvPPr(4d+Ttp^2J9q)ukVe~XS)^@GfT`#Ov$U-Wy3@#P-|Wduxh9kk-6%1 zfJKB>xi~RbAw2V8cv{A_rB<i`$q1%r%&(gK+l`Z=T15v{x=Z_HU9)>hzTSrxkKbS8 zA-zGu&~VNop?oi6xZ{;>PzfYBrsLOMka5PrI#~Zp%JXkQlsb--OuA=CW{4qfJt~!7 zsQHlee!qT=6_H8w{;eOP>GH>d{(mb`KLt2oLixW=c>zkq*O8$Vz796Q1bQWGX71cb zk)x*NPLIg5a_*<g+F{2V!1_-WPlU;|i!}?sJyzbG4%e02IbY6Y@Bh^<ESoshs1$pI zhP*n<-OM%r3*}#>@@0>%se%S7t5>nO{1jDOc%&*4|7!+M%748iv;jwD;fGlb4JyHR ze_&=Bp@uQy8a_h3yJ@=W_La;nk76+S8V0U2^Q9*_G^V@s&6Vs|lM!XlBi$u<%Kf~2 zt(SJ|NGVv(o*#FwYX92G(vvGmz0%_EcUKHr4T2_CoimotynbR;J4fyPP}ixnbN9wJ ztMAOwe31#rUX9RvW(5wr98oo$e_}Gy2Z~?s%Z_AK&f<xDadh*upO_rllYihxXC6Q% zH(oS!fBu0V6G5R5RP*zv^={uN27CP!4m%foMJ1LVZEh^nbeo@3{<2xh{~>^t_Imk0 z7}~S4G`;eH+RFJ;luuy~RL}f6$EM`x|0G>_RNiaS<#igo0&hCM=RePFoH!fAEIR=n zB{v>V%m)tNIrnXvd*&z~&$;i)<3>b`3V-Xe2LEOLWR%%M{xF}F&FVkrzV%W14NoI| z8Y#-J{fQmrd4Kw&Ic-HS@c;VQT)ga$cx#+o>wZ0o*}N-xu^IPR{)vb4rDYrRUOBHP zf7+Az(;m(*elq_-I{3cZ&1Yv|U&p&IsK1De0lwDygv~wE=jPkT@@I~1oX6`0U#VTa zTzBM{yeLiYnLf3BjBj)8)5Uy>P-N`|vmyU;_UF&szwud=qe6wy+UruOqyByz(th1W z&aa=&+_<N4te!XR89Y#!L;7cvzIp#f@o}X-&J)i|r~NKO8A0MtgQxu`D@)@mpEH#& z9@zMt{5e1A;;6or=S)#op|jCR1f8b$oA&h085$oP<-Fw*+dcPE`?i)6y?xX9#T53q zLwr+!_{Iq0_mC&;zgwDKJVjywOj-dPCq1*Jc&8Uo#lR{(nm_5D0P=L^Pxj=`c{H23 zX@B8)jT1o7|Ht0DfK^qc|Kn@#a}IET!vRDEMFh)&N|V%zE~CiBbLt=_h?g#kaJVG5 zxOgiY$V*~cO*J!3%~Uf}O*J*uOc!gi080_Oc&ia96O{x}K}7IU@%y}Mt-a3%b^6Zb z`91&N|M_lRd%f%auJ?V{yWX|-T8GfBmCXu|`t9a&)8sWLB)Ptw)Q<!jKYBaJR<1oW z$r0DU$@(txY5FQ_izDlEXpZ{odT^HPYG{?Xx(ahO25ReiV~tc_{H*v4E|bpc?M`B} zke4J3|2T~AdS~@cXZ1Np^)_eqR~2(yahoc9To8%gj`nzG??Ko<DfZX5Iq@^ewdY^} zoO8xBx=>N?!KBzGD4wNWDKXofVOw2FT}n`+Y$7GD*1n2=6C&x2zbk$o4b2nI>RzgT z3d%cro6$qm+<=;$wSALPqIy$e&S*97Oj*^l)XNpq=nOmIP#RK#pfiBLnMuyLt>v$@ zFHc$3w<ON7s%c3mv{Q<8tJ7LrktYf}R_$E6ru}y0sK{`vIM-J(UB<_pwXY$wuzeC0 z40qyJaw{ePthicaaK&`l*U(=YYmeY*p}cgkUYgRYuS9z56+hFMrpZ_D9*_d^g@Z7V z8E?+Kwn>u5=WZt6RWdx3zxs6V9%S|wc`enowQVD1&K=0vZ$MCfsL`0y?^9_<SQm+L z2sQJ|T6B~ItlS^cL`{M|dXsBpMI66XedSJKI*^Py9lNuAq-T6O*57jdhkaD_uJ0VH zI$?vXsKb`(+4_nWq&Rl9ViH`FqhLGJtgKHAy#CHjq)0s|YV~{Lr*$zY+kjqq$_A(a zOq-b4&N_PcI-<^gcs(T!h5Q25k3@5a9jne(SRE@ipGKLA!$@%KI)c`Q@z(r<l-l)) z0eu&0?|oidDBlHGvtxs(ZogyI7OD=|ui9DB%4Y~%Ncq%FxcgtfflRcR`k3u2YS4#) z`1h1sV{1gUv0~z>{!s)+>3@z!*gI=>c+mfGKzql5{T-scSiUHZ`CRE7&?2Xo#tPBI zNMY%S_nI9>ZuIXD@#6bzofn{urjPr|F<-U&NYn??eWYQ(<frNX6mP*pe-Et)BK#-Y z-`N6G?%`cEE8w#Iov-Zggaj#dT(z_YVn!u_p&z3<3*8iIe`lvLJ#s*L^nmnnJbi+q zd<DDcdejuBz#!y^Q2WqZ>j$3%nz1#Hl2KuQt<wqJva7A9c5;e6u|5e$nv+pVO;l=D z)cRDNsRZvUzT`D%^sjA=bi`tYgN|(rbi~5=smFIoAN;C64M%fqZDq54!>{rg+ts>a zzv7V?UOpBS#+3W-R6*tWe7xS@JGQo`Ryk=8v|SELmIvFT>)UNSW=>7H`J{bL{f@R( zTPu!1#RedkMM18U_Pc6fgGb{f_;Ox-U8wI{(58G;4pkUFKz>nwm!0az+fYABSzbn| zE?z%MY7LxMe^X&#V@=cY?#9-}t$VkA)7Xx7Mkea|4fQt_cJHZ2j`BfGg{=te+uF3e zRhwUVm-eDdRwOpI?mKbkCIDJ*gnZefo6-A&_UKl4N9@t3PTKG2wvX+xN1s8&*+hGE z&B;XjoJ~pSAb{Cl*dOYF_DQmj-D-d6C?NaT8vD~V$hZAulKqaINZ4tAsy4E=A{1Gc z*^#hAPgrIix3zs4kv-8KIQVy23hIg8TVcsbvUfC5jZfDie>3Gjgo+N?pQ>3|FOqjs zk<n{;k@T-AFlIdh@%Hpj;_Vrm;D456Pu~r=0T|rtZBHLuh;;kdCW1#~0)A5=+&Hc~ zb(HK+)kW4-gdpFtWoUbso^bENo;nhk(LD=LP4v+UbB?{^81ey0d-O?=sfWnKF{GqJ z$UE@}<xM{h@a7H<{==T}r9J&yd-`|wjDsK*A!FH1Nn^L(d#^p+Ru8zn6f@F7``Ba4 ztf&@k99uR9z2~7r1dIeRYL@vCZZ#YXu#fFqb`LW50k}6$tN317F&eQIb68L!i^GBv zvj~m`!%u*}UFb5gb<U@F&HkLaFcj$&g8*XfbL!AaE&R>)=uULACf**s^`w1veUANp zjN<)~l$T4!=Q)Y?`*AL-HpgKv;v!A*4DoJ;_#cGd3jYZFQ(X|T91sui8N{7M!RQ*G zGG`M6A-WzAiCGfX4hWN+-9VraG|IcZizJQGq^Lz8aqF@mO55Q{Tjo7(EB}f}<B$Yy zLZ(7B>Jmq#z)dRFOvMgSmHmW{ij7VZ#nQi~(3q(dBC*3OV-rE2p;-EE3O1m|o%j0W zK=>jl8%ZC9Mg$}Drb4NZKWcBM2TdV?n3y11YkvvtN$I-`>9{w}7=#geWAr`qsaj1M zc^Py7@(7xOp8W(8`6pKM{OQL5-@IPH|Hy$%0;zA|z5@)_KrRVQ%R-)mDE=tn0V$e; z7=FSO5_&H(9$V&%mX2{~Jl=<R_z;IKA@bEM^C#461RRKjzGe5LNFPD>mg6nk>YK+2 zw3WAPJ0U`ncn3vD67NeMiY5^{0deUf`jC*!`4q3&pHnv<Ll%lb0I?8Sv{(y&Gs<wO z1$Uyic0p_@S3QN0JbSZ87i#mZqv|MqBWo(049&Z70u0cm!bk#XQ?jvUPXocU@!M25 zj=*r9gVglKKtm4tVW)iu8|#`jo(9y|@NMh9hQ`{ajk_tHL-hn9#*9+;`Zm2r{<p2m zEN$Q83uM!4R9RCiq-D?kZ(D^zy`<?iLZYd4&;F*3AE5X$6eAzSNYoD#-lE|0PRKlF zjpM+pp|QEKrjfQ%FpcgXN9OF4SdBGqZNiKquoe{~@ACcBX02!wx|g!(#ak~_oMZGF zQ2|)sXQrAs+_Zc<war`IbD?6KY_Ab{QOx|N(mtk%hnkkx=mkl=3_$lyMe;<n;-L>I z@k?bDI(_VG>D#YHBl|<`Jj9z`{ssorc?8;Uev6XB962J;bN_@uFI}iO7a`6SjX<2W z%OBPI`Q(L)@l2fGC}!cu;3fN)SL!9#T&N^*qzxb0*vhTtmbL-_O|OwS3b`SO<c56I zd`Hu3T$nk{2%<Fdkv6&MH4;)$Za^AnO`_~cv#(9SM;xuJ{h^6GM7`kMj+KJRf6iCK zpWhkKyHK;T=6spd3Ue{zcO3P?d8qqBg$GC^TIL+zI34-*!m}?@xSw3A?I_Iow{fzu zu;U_y1*=6BgaxS!*>52~wR^Vi+tg@z3m3S)-qyHH4E}xF_HAoy*w+lxO(=`wLK&cR zUE|h$sDV_-KEU`)LAps-S~S0sh4L}#vqvAXrysSa!^mh^bhSPD0IXL`@<%aqAHj6p zZjbH;h&lg`PNcxfo3kI$u>J08X&+~gZU+GC57o_SwnzT}?;MiP!f)l4!W}4aS1+Pa z>aN2yOFq=hjlUlILv*ZB*hXJg+_dZl``B+PCN3LKirzxgatvm}Yk(nP`u-fUk4BFt zgfoC5w=njjg|^3eZDdMvQ<PglLhXgoEWP#(be!9y+~l!8^c)WZK@na{6P7(1NXu{~ z!enTo(TUWkHf8cDA8imNgaKE(vX<L++<^NHN01wE_j7QIJ>wH$9Jkxkzu<Np2t>5( zLJgow;Fy-#)VVoCQy5Eg4ic5xJ|cYhbZ?K=vE+6!`h$s{KA;)!eTYuvVtTc&UCR^N zP&qdQ@0Xn@K_i^V(cK(d;0{X^9nrh|l(8c>Z%2N6dM~WAK+9WzVW(`jXMAOk2HJB@ zAhgGxewb|1=&up62hG8x<$c%=A9699*aP#e18u+-G#GsLIS`@Qu;A{;Zjr~@6YB{w zQnER&(XjQ>kHV3G(X!|oOvMMV<e_Q&D5mBkn19;=cLT<>en%(LU>VNYk9b&&5X%Wj zZ3jd)V+&H6;r{^t9CDn6--<AmM5()a5r>j@9Y$M_%`jmwLOAUl>L82d%Zh|$@$kQ? zxN%t={F-~c@ZP#?3~(G=gBw4Dy8}MLqbUsI2pDsNVn4OTZ-P=mGUB*BD=Z-)r{PqY zeQh21heQ~*!sf9*M52orpe$q7(n)N@pd(t$I>eBf3Jf03pq4dx<(2a0sH@V%(>YDH z&k%tzH}TH$vguoZ`6sA@EN;*^{R=oU^@xH*?=DmYss)aji~I-^-C;7#IY?A&+rzOF zrm7KbF1^%Ci0_7hJ$UFvQ3?|LTang=M!2CUWLoy_jhRA@2@@g6yh7eX4?R4x3@mS+ zAbQmc+bz&ClmaBp=+9TE1$~)wf+F^ylVCsDv(aB8au3>vS<E}P9X^C=HnEe-H1fb! zggFRd2D};Y$GTn>t9`lOgZq!d)LZ_1W3w;|m#=GV{<iI#J+KU$mOqI_deidCMPr)^ z*EJPB53SwxHH@o$bxnm&HbUVy6;^)T*0^;~chkml%nAD%_SNn?(SDW8UAyPR*A3AA zwaC_3N4cN;x*54o%G}%b)$Kdew2|hzrq}5GZ7UgzR1>B~OIr-YyYV>MC44GoFUz37 zIv%)nnG=;Fzc(sH<{Oc#X?bU(Wn#L*bfeB=6ME*~!Y6?U#}*Z|(XX_^m&Pb;ppAF% z)`iqZp>kmb(EKU{qv<t*VYWW>3Pb_Ta(i;^?|5LH2#~&}T9@yKV4P=&c}z_MR_g>g zpCmJEyU{jYS&O;!({H|R+@^QSV{{rSc%CZQcc{@a9)CUL>rWd$)mgHw?JI$)v0Ch5 zpm*zxy<0~%kKVicc}P-YZ3%@yI<nW-X7K>%U2~!Cc`RE4c2Zi_QTN_3;(_jMYWnP( zZyG<<yXP@f4HZ=K?j3LZY>(_1<m%IXkVLX9NOm9_Tyi{?1;uj9g5UcU`%iX!*YNCj z(dL^LL+SRhmbYgptaK2j0L$xuPTH@knF!)l-nofDt*o}5!sxcF;{`CpENcOEc?u9{ zC_wc$S~8GFZhRdjK`tHARCsicC4r(-z9+>~IX>xo+R8fGgdg5Z!Us4xV5vMNtgZI3 z^^1b+vn*GkNb4*V;GbvjY{NOTejEPA{87m7Px*6^37eiVwI2e&M*#eFP8@{5$GHoa zKWU#^107}Cj|)LiCiVCjeN}CBExaqR-kf9G&f}qI5Wf`%1F&O)1D672YF{h=hE^W? z6t4n?Qfh<(+e_s(>30(7kD`L24HUb>VNbxGFJ1A7)P4<QT#`fCO#3fTZg<!UP!H01 zM;IHIAk+4N6R3O6h;)G)6le4%<gcSz@t0UXM+>rDdxCL^O!zuBKxFWY#CLKWB88aa znZ)R5<=~v&Eq&g&ol|v~b;35U+QRT5p!zhby#kl0IwHI5SA0P<IW(PUMap-sw)M$5 z$m^%gUVJu-?X<7_gcu;dm#z=-a>Ukc;9nz#%YD{0wekFegmc$^*Qz@DKv07Z5;YZv z>4Q6c-nbFJq(FP&uJvZsx#INX@`A+mE>%ffv(;IB7F*d}j$J=uAKPh9?CRYcQ@5gS z5`D_R$C5t#FR`g!<FIy~B;--{XXSx-PpSxk#b>(`9cUj$&}f1JQQ-z?NqpDYPx<R% zIiX`nw^)%52$5Uv+%$lGaa(?xWP*A$P1*jEI*@9-zEwTqvKS`~1hstx_K4;8lb@o` zaF>TZN!7JRx*YFEm&xbRg?96+wi1IKRm}{ChH_r+^TvS){IORWH;hF>Cbr`g1-_d~ z0l>)&4)WgYpXTWe5tfs8vLNrLNE77UOwdKhOPa~X5g5(eC*cDETeQJK2z&tqwusS) zj}NVp)is0*M_`@-0jWWVo}@n@|MiQ4bD$CCB2(*3^hRosTL4OB1Fv6xY|YQI+(7x= z$aE16a(;Qz9nV8d!Qu0C#}hpM!n%X7p!TVJxmF&!qXh7OLwAfrJ^xI1gbLjL$GStq zR|>RL2V2l>%a@QssDpm0fU@h~`~PeD;7X@Q-v3Q~z-8H}4~PM2=t281f==8zKwvd_ zL+_AoiA7F89(`b-ht!lrk~&m#K1uZPz7G=i?~L~=9iIOG8{-|PrL@sa6HNn6Gz~P- zn1C)$pvjwaG|`A<A$7qxxQRlS6NNafKEY4i^c&m;T4~?>v?|dYuM%_W9kwS>5QAS! z>(`ua3~2I$-#^zsqa7!EVo@-@lQr&dy6Mu^g<@p4`yqzHw^P`2%#73f{PLsp@_)YY zNZ0GbVYz|zNnCa}a$FX>nhJNr9J58COW$y7hFb`9Fpuxk;zA9+zxpBd+rrL0=C%9U z$UM|aqbIw+!B0KmASoRiqtgOZ-~Mk>aCov6XH1RM5aUTZpW={+yebf}KS<PUDtvX1 z?L`cd#u`-HXqif2?VjduaQ^e}NT;XL^-#qgXY9Vltwc<heM-gtq}aY#oZ#(grR&Y8 zV;?r0o0iL(7fnD+<9@1fd!ywPBv8~??-+k)y{H6A`p)fi@B%01yBsU_vi9**1|@15 zEt~Wb8&G0{rvy%W?QvO8qeweG$m6#WR($M`r(d}CFz62`{-kb549*%hC3WwyZ9$#i z7M|WWK;>|L)9=L5`9#<NPjVYzy=|SyzQ<feOt6hXkQWvCVXx4{LWe0u6FgJ)1)31~ z``0~AubbZz#ca-7<=n2?W2>Di+tT!*JX=(c11O+X^^cB+Mp%~NK-)t%j;m=MF&y&t z(2cEj_^n;TjB}M%9_E4md%yN~0_^X2Ur+ZP`ZhcIwmAB5qzdObNRCK$2w#$y_?hwP zX*f6nOBhFvmRN9@seO1->`rIQS=#1;k=*OtQcH#)5OU#{2XK_khfbAM?`#i7zLc1{ zc(U7>GpxqhyCVgXz3Q)6xH{vy?5pWSNxZP@E*bFsJaJ8}cHqQG_MH><9ST<*Mgk5B zi32mU5=f_+m0Q;PW2~K-T!Axro$Xi9$?4v`u9!NUQsLIicQ~Lx=Pq#=vK4k6H)z)E zaPB&gLI<^4Bhj7S&O{>XW}Nmq;jlk{HWEk3oYkAk!d%KuSKQ803&N!qXWzDVZ^SrP zY{D@}902X)MIE&VBI%e|JPt`H+nqR09G;?VPl?-Zf4mN%(5)*Q>`&nH_B*xC^@;39 zXYIjAr*%_XGQRetfao@EKvGR;66E5Bu7@C%L_Tyo{_jLD=dOb(tM+;b@*PrAs&_ee zwc`{{@)U*PL`Hb%t?SJuoYbCN5#);bDqa|<)t&q@u&cVs(c9#T+2mNUX>yXXDRE6B zKatwHrjb+RD`)L-PLUoY>_YW8YjzIRJFO>O_UHFTCej((EjU*DBc&g9#hvvK2?0>5 zubvYLCi#yz)J8`JV{jVE+1n%O)R|P><WzP!<4%@^r6{{n;&y?uaVKR-#862XnXc+R zps*9mCa1OD#gAP9F-PwSpx~(91d8vItlH~A!4bE2APP7U2UhLjMKu(v&p2?<F78BG zxJ%jLirWEBA>`rI4sc4<IrS`*8xBG)_KE*HXU^!P*qW5;O>GY%UL4B+nLP4ZL+sfE zd2J$j#VNiTA+LX$O!68Ic{LB`+!^Y^!Pv)ZTydLmj?srCq_J%rwN<^(*}E?#W}kD# z=E;d`aOP%zqSCacF{Sz+&RrcT)-5TJGzhN7IxdAt)!#d-Kfy`AqbLE+QQ|oV<id(I z2r-Ugfe&gs;EFp!Bs<F)hJa48vw~|xGFMEiF5O`F{`l%WknWVY{lvA?DRHMuEePmb z!)dk}XaG7K7l{D~7GWqQ;mD)?^_`CDU5?sztbR{Q*(cTle^iT;*1M3iR!r&WI~JF< zt~kUcVC~IwVbPotv)>h0vpB?op#z{IARhQBI9z;gkqLtm?1-&##q8nh4_8=S%Brnc z*lmK_etY~K@pp=Yk#cI_-bM5q9ed~Msy!T<&KYw?Q*soqYq>8xT5d<X9T`(%u-u|y z3N6P~+%sIoov^R&Mx-3kkwQ{5c`@j>TF-D6`mJ8b%i^C2{RXYz?A;4h>V!h;uk658 zEL#UCI39<ZpyHZSpo>YxZRNa7#KkN7>(Fvs!_|=tG`Qj#;_Z)vmUW>`@hh90_9UF- zXmG^TVIfn!T^9kA>x_pc5CeB;in1*wZX1LbBR6#C%I#Flscdt`oNQYIE`kFFy@ms+ zAP^rq!}b2hzc2LJfs|D{JOmK>tiieKh->|bMK>#KDn`tpl<K`63h2ts&lU4IbXVK+ zAhJ=D_3wF;=((WN`P%GrXZ2>tVUHl1i_|>2-9AiEhL6rJ=!JT85CdutT@irV7v$8m zNg|JT#B~xu>s`1sLh7V5DYPbWWt|{sJye<G1<vzIW^Cn>KY$sN?T>Hf%$U4#UkVy^ zDSL?-n1cH;1G9}_#<nseGqy=)oN!{W#cboGXm{an^Jv$YVtd+#aOw1@v&&%hKu=d- z);`DoQdrKT|08|&j~f*RofV>hBg42ty9ugnagZzSi!y(H)VZRbf4&Bs5`$5?)fsor zDK1c?*pqj-Vm7;Q_7Dy8U!SFUy>}0WF*M2K>P<8s?N3tnq6;ZFGrg-l#kwg4ItbEC zyu#+tE}@{3pe?JnK=JVz2?Dgk301i3sMFew8S4OP$z6x3wq`k5?RC*4VVtb?$|;Ad zJw93CsQv-cPnfLsbF~NFrYL(-;`Wf*>(tdAAq%y~kA_!ori0h^*Uu(Ze+sqN?W{iK ztUVT)qWs{fZH{zU=@2B<*_@)Zfb$K;izoFdafnO6q}N8dpah+@Ex3Q;Qd(1DI$d$K zi+%B`xD-d+7vU&+ohzmRA`w^T*iyswl0A7dPI03cx<C_l43-3-wtihDdAl>F9vz|S zXfy7e5Y@SG>?g_)ZMl%FSiS)lB0b8KPC{4DgeFd^Y4;+nUEOs-jjHL>G}<y<RRdcQ ze+OHLnSJ#S7@u<Vd-kXJ=y&Wo;9Rxcvwhb})?J<0!CM+9R;-To{;J2iy9#%DoV|_C z7_2U9F*k07_EYLe9;9{0qoDk@($*k9cd8i;;7%>54-E+I2dxLSO5?T86<0^n&_MQG z1DP(QXUV>E#nfNWXdn$y+m0PHOjNb~EC;@3b15(!AUqIfYkgY+xAJNX+OQK=kst@Y zsOkH4KS_`L>-lK&4|1;eS2#gn+-;73kI$LVg0zZDscwLtbc&fGUZHJ0F;E1nVY4_f z50myeNn?o2J7nl*C6EyJSBOR;k#-dJ9jt4z??~QAAySo^I;@5qa^nirB@&@b+zGv4 ztr%-C5lAOGF*2Oi9p`bX4xEAs!8x_lhymH+{V))=3UnhZLmdNY-XZT#atam&<eDtZ zhPEd`OepTf-r~skh}fO6HEk;pxn@WFdt$n3cCD)S97sP*%BB`)qOs*%e=WDZ{jFe7 z5NFU3+$OU>jvFel?`nMNv8~)TfhI@EC9EUrAj06o{&-~vSV8<DOB-Xci3}#4ebl*= z9zCb?jxMt8YI9moK+!dDwMZ5o=6#q;+%ErVRfmc-RY%r=@|7#Dhv>b}6}OLuMUPJJ zeL~gM(JdJKF>Uk$JldJW@2%96iU!7Hy>nd$m7%G-+7wu7r0%$R#>EvkP2v!j0KPX0 zb%)6S>g>eg5V8;fR0JeebAy6RJTN?VXTJr$rf>NA6zfe`U8ESQv4T2hUo{e%Cnavj zqGi(P7>xPse_(HUPZahRtpj`aVQ}HrgvZ|U!GLZ9iy6-L!-VE*N|KyituE_!9(Rzx zo7;kj#}_kz!uT<6;G<nYaIQMxF@J>p_c<x(^_ImD7W+Fljia@`0UxtBpKJYq4>VL8 z9VbatwoG0_mwJGWKti+ogsCA==2^bQB}A9?AAD#fK@h7qW9IA<`2XwH4<ukaG%wwo z+)h#>jUR+2hxScgi7zc=P1d_&w(G{vPNVU|mz0>ss4Q8cFn+d3<L6r#KRdA4hVg@q z1gIHaPLA+;&E%>#w2CiLqE%56i@tjF3nZcGOSgY^w$V8otj-sE3oWdhKQxD6OQ{I= zXV%pIq&{xEhPX2!2=kK{AMNoeadnG*VHKBIAQ$c7c+m{f<BHoO_efm!<j-Nor=Y9V z=#iLL4f83kZaI1z>Bq+~w^e@ueqkglo6!kZ^)@W!T-HraVFB?d;x;Erylw&UA_tI~ zQvEedpcLzFZUXUWh$re3MvwzWWq%`xV#K<eYxIj6K~80lv%e997@--s5foothh-|{ zf~+8j*6x(*FaJX;D6x8{OF3dRgGR%GTNKF=t%q4jpPPhP>4aJ7AUg;KK^=|G7>G?j z1~kA9N>Lyf7%tq>02@Fr5E@Z@FxRxX@om$%S`_<<#v57v^p9rqNd1G~|A6)LxzIuO z)#r5U$FToqlrOA)KtKNZlG{HG(*D6t0DZxvrF8E;htNhIV+e!2eI!Tx0NFnm)I>DV zKv|QFbU~fc?{C;&KO@H+E`Qc&!wx#0wr-qaVr{@~o7mstQqZN1xg@N@u=y3&K&CJ> zI9W{e;`1?LND7=WXp(kpYGV7^et$tlC`O%J4(s1@`>Dfz^bp$c=6w8I7PR4YLK{kY z;Pb9Gea@)}6x#43nqJyo#p|LP5ya>ebmKD6#K#r(8?Z%k0e$G9kWh}2Ley3Mb0(Vc zqpcUVYuhAHhY+(A{9YW^3)^)f;Rh7t<`y<A@B#lY)&*aj$0wRE8zrCk<`(HjVv=Wb zOHiBdukp<-u=wBOlVip5?f6Y8Tp`0oRa+s%mQ&{lPK|GORR?OnRMQTF04h@$M&m^x zE4Pp6iiQiBoz>Snt4n;^kC6Vn`29Mu{8(@M%^0pfV<FN*xc;2sg#Pp={ppPbNcG<K zD7^SO2czAfL1ErP*u<tL$K5-2XWQFgJRy-%Jstbcfr$AdVl;)iLszJ<wUn>WL7I-} zmOL8TM5Y#^#PlgmEm*;PNy&BQ|3IO7))5#-{S8!Dx{wkKrGBQ?L5H%-MO&cQ$HHY@ zGPSfVP}<pol(^{32yLc0xjw~D797C1f>z__K4^_8w);|)4y-nJJF9m)YmdSL`yRqm z+iyQDCGIHgr@5;4^AjTqwuBBv;<pi$W>?HfN8FypzIatcyW$!bU4m=QpgC8n4Gyuj z52d=*6;p$G91A46|H`Ru#tqj=v>>Nd64u2sv%{W@%_Dre*+%+Q*hlzn9Vh;t3TW)u zC1xQ|eosoZg1#80KZD98{Yu$sRkt6XvW#Im^+RDtT<?7Wc*z4B^wR>QqPcy=(^2?0 z_?>L+_u;hqTD9^r9qhT_?`=@y*es(o`Fk+p#~$>*CmPpV`p?=YqXi{;wDv(cEy__H zr2X=S*bgIoJ&6~_r~35hnRs?|R2?Q?*@B4icxpS;s>1~E7(1TY4s+FE0(eXx>tnSY zK2?VaK+G9j#k9Y>g^nWW>rZO`zg7R~+SWkjG{4T-uYUUnUu=kkX0|8c<J*AmJ=DH^ z;};tyiS!knBk$bQH+t+mmGzAt$KTiR_XPgFmcOs(?;H60CjR~ze^2J`Dg2$t-^u*# z;O|@b+r{70_<K5k&*1NL{?6d<+5A11zwhAhyZC!Pe=p$gZ2r#S?>zp#o4*VAyNJI_ z_`8(9%lUf|e=p(hW&C{~-q`TG`7V{U&0l<~4{#j8=>nceutUJH1m7g!F$9kja16nh z3V1ZZp#qK~*k8aS2xbBfBe;7JZ)-5YtpW}r_-g^%2;MGWE5RQN*h26I0V@Q*D&QaP z1pJ(U&k+2CfKL&;M!+WszE8l%2rdzD8^PHEZXtNKfSU<+3HTd=Ckwcd;0Xf$lHh0o z?;to_z@HHuDB!IGn+5y{!KW*D-)jjzD&UO-?-%fU1n(B`+XUAO_)UU85b$dRzaik4 z34UI{FA)5sfPYW$I=~QZmX)8)%9ob7V_9l?dMeAx$zkQC6>f@R3*Dtf`9--bw_s^W z-k9wCta4UTTvlF|RhnN?J|?HQsC-OOW}%yv<p3(rTu|U<<>h0t3NuT}SV?JdiMzBs z-(AM5pKy&{?HG4aZhn!Qjh)A?E-fp~VpoqHOVwoO6qha(F{SRZ;)>EN_t+f7u(4Y3 zYBrjUjV~!Fa3>a5ptY;nf@}}Exl6_@$}Gsw&MbGctb)w4vivOSfG4uBqM$r~OkrkO zxx2KC0lgyXr6(P@qo+BnB&T#tp}V{^KdX!_&M%^Vma!!{*Izp(yEK21yHs>K9aKsu zDpBv**rMX{Y<CWum7iUn$5Knm^RqGw((;$NSz19R(nm*4Pa6}TUA(}ZjOq|1j~92l zm$<W7T6tzsc4ldIQc+fMHqkt336W0^I@3~JndSLKv3g8)MF}gZC}%*ZEWfyjO)Ey5 zZkC)`m|w7T8nMM$4svA07v+L4`DMxZOWfJh^UJgHSaKR~xxiiI%wVp}qTGtiT=&${ zVyY2zTU=b4&88GoxHB^GDw9=Gga)UU=ebKoL|VDKFs&%F#DOjdD1&g%EFz?mGqcKz zOIdO;csZpQe+G$q&2b}O%9P?IY+7OlOMpvsm*wXcWw?0(y_0Db3&5&`yv))x@S`ZV zj7<j%h{IEWeYPkxy|^sD9IcfZBU3U<L@<6yei?PQjLmZA=jN5mCZ<&67i3e#@uj7i zOCd1DW$v7OP>L{1%rE7LEM+BSdHF?<7o*?{0iRNknYEBn&5^MzAvu`_6CMwv$BZ94 zE^>yH<S_}(M5>t>U0R-)S)R$RCc!CV(GK^L7$%cBZ6ur_87qUFWi#Bl`DNv$OId1Z zwwnmT(kf^?6hfBSOlRVh%rZCCh2E#;<dnI~S#si(rRC`SROurzp|}FM<&#`dP{3P7 zSP%%mRZ@h?3ou4C%6ekb^DwH4++}52`RSRU566wV#{puR2Z1!%FvW_N!MOp{*99a! z4`V%#BnA8~Ug#FXX=YLWJr!;zer$jqlDjmFE|LL2dHFfz97?WOwv5sZ!bw5Yl<k;B z?~GY2CBG=yompN{O6MZ^lbk37fUr-=gpe&^qvI1(r-0B!LKL9&AO@KgOBkqMQIJ{6 zxG2l=pl75M0v=;fkfb_@8LT{(wCwcc8Khdcz9<uNqUjJW84HVw7Z(YEg0`eKBE<-n z0~xxdD7$!ZS!D9Gbe86d$2)aF0a1p{N^(whq|cicpOVDVlG0~66Vn|c6rY$lFD-qJ zD@g>C<5QfjIWj3DX-53iq<K6yo1W^NmOd}dIX8(-cg{|732;Ud^v=w5XX><hvzZ|< zhb1`TXP~KhGm@q{)6!>nB9f*hq$WD2O=Yp;uAOi#yZ-u#aV(ZiPe^7ZSvf2|W9qzw z`038{c$aLLVqB@Sl4c~tr)kI_$2<q`lip53s>_v>K$xVlgw&LjBy>L^b^4qc)N_`Y zlpH_Pl|GNKLLe>OIW3;@0?u$IB+W}sMdvtqlBR(m)8iA8STbIcD$c1hXJ~CxRz@$% z?&%({AwDgE+T}1>k%5`h64C$UnJ$;8jymT|m=`~7sw;`5#Lt%Pr8uWaXj<xw6dg<l ze(biH@rjZiGva5>lkIS@AD2YTKoV-P1IbA722xT`!<t|ZDJYa|BmzZvFy|p1dkPtP zKtZF#P|zbwdMcMJ9->4&G@#>YDe<5p;jHI?a5-;HN}ZW*q>3lf*rBwUQ_>P<IHyZF zrq(=Bkl%jcIWjywX~y}5Jds*4PmCxCrYFsCIj1F|w`oo;YgE4{I^E$+xOG}mS{iR> zwkFRrl3b9?jHG$mIK{A%F=7-Oh8Y_`4w73MS)SfYLGeUr<nZ*H6Vel$%{=fNz@C1| zjGhR}>IuzZp1$c__C$HQE4!ihcwWj(sGlhq-JD#h$;s$C6R~>VF{Dvx5@Tb;h-Z;k zGRP+%jPUumPD_uUk<KAq$D|46l_<O^Q)aU%&h(V{=~Q<5j8tHs?o3K!qw})ayxGY! zl9H~!cHUIioav5vGcY`n!t3O%aL7=GBB!LHgP{17RM3J{<CMf?mXldfumE%a7-0vq z{GzN<H|E_jOUC4J3q#t=<;5}wOwJOPSy5h`lV47zL}?~jps~`Q$jS<fi(xbhZ%jc} zwgFtkV#i)Hc07wO%Ywaw!eq|4G8ecDIK=1MDJ+2{;J<?<zz!2AkYyt#Pl8~Exl7Yv z4d{U~GPq=wnzfadl?OwDB^6~;Bji)|6ln=lu(%M@TRxc+2ni#JOiu*(^y$fYD-3UL z<RFP)SP8J>5J(3u3n_*rm1R-&%vnZ83!ed<Wtc4`WH48q!gkGIw@$}@2i$D9In2di zWt6}Ol88%8(a$nA4Kq#xCVd!NyfYj!c1J{bIwb5eZue1_c+l7>9-((j4~dTT4~`S1 z^?t{Su&3)DC?kVqNP|=}_hzwK<M4kr+#EJ57XJap0)#h*&6fP7H5#mvBG~!5DJCtF zf7cts3;yX*9M#1$)f&KkC6a!N62I&EIF1eAxxRrmv>Cgig?sGRrNVc`3ID}#;irk> zEJhS(zZAupEY4(creQCOvk{^=lf{`V&df3%Tf6)bSjfP?;A!PAQe-mXHOI4P?NB5= z6ecH)QHtvKSefi7Vio>RBqt`{nwg)LS3D+dO23E-y)@6ECnMTXk(r*KS%h-w`LqqC zMWhuM<%$@Xv$?K(x)UUy=>ua#c*1xsgYM7n{J=tiLy{mTZoDL#!XH0KZ^n-NK9RoT zGWul&dVVT@`+)qrkF?OAbY#;dIc{tiH<!X$blDb<dfD@X$iJUnc)ssD$M+-X=lbZ` z;CP1aZnHng8-u}$T0&thePI3-=DEI<9(SKWcwl}?Gd?p%Z=FnGO%4yvewz39K9039 zr+{Y+`Ir+?%YVfuUtLBiciYd;OEDwdZx)jOJ4rv&twjYCe(X|upZ^TRXZzXP=w=PO z7(UsH4y~ee4WHQP%`Z~;6*>M0Ha<UuSMvd`;WIvY{&SSxstq_}X27n+uS}+>Z4&=q zy>iFX6n<(Xz0ZHPwcTu^*m#*gXK^t913HzX&d*CRPhOT!7tmOz%%7ZKn?T`)i_~x4 zJmE7+&(ZP+p5*j=<0ADBPW#iHlwa%byt(C*DZKw8`5oWS?4<NMS^utmjH{&32#VF7 zNdBlQn;s}1#sV3E!GUa)5)>H80wV({hDz`(EHaV_7Ze#36cia1rJ#wxDE<Tm1+u89 zAY`N<lJy6*@P|rMO}vW0$jG3;@ljD|=BFM-HJL45-aeWytGlQd`4f-wA3l9Q{)ZL( zi^XO4ttN}N)z4-R`WK6zm)*=lSP+ztzv=_$%L07@;fKNv1AIO|%#aIXet*>;c?006 zT=049qxu6;f1r;KuRG9(>W+jH0{c*JvrU^5&nt`wDYlF&L4>nqCi>%n^aNfm{O4AS zoRg;r#Z~#MCq+W@DGLW0p1M&)416n0#oT6Q7UqRn*@s!tmLKzHHq6y_>MaXqgV2k? zYzQ05LRlCa#)h+S%;*tpB#UHGY!thMU5Y*2%h=^Cn#Hgy*p=)mSo~wz)odI#39ez| z*#tI`UCXXx*JJqIz;47}7rL4Kj7?&bSv(^{H<4lG&ZaU4bFy35tz-nk*h^*8*==kF zOJnJ5Cd**6*lae3&1JW<JJ_A<E;f(NXPImP%K}~8EQjT?JeJSyW(!#XD`Z8in3b@5 z81`mZIjdlc*kZPXEoIBtz3e`=9COsqStYAt53m(%C0oT-vj^E4R?XJ3huAu{o;}PS zVUMz3u*cZr><RWu_AB;l_9Xiadx|~He#?Hxo?*|j=h*MrAJ`w+^XvuoBKs42iM`BT zVSi??ve(#O*z4>K_9pu)`x|?Uz0KZX@3IZ-J@!8PJNtlbWFNARSPiRXb!-#+n0>-F zvn{NiZDkE?8~c=f#y)3Xu<dLI+sSsZ-Rw*D75fL<!y4IM*2KPM->`k`TehDyvjglP zJ2a53dRW0+@*O+OTJb^V2y16Y*)eupayN^0uugV@b+MDIo1J1kte2hU+&#n2vUBWv z_5=G7AM+T-jjEUwvtm)a6mP{xu`0d_QP@xMS8PgvVpjr{ASGBCq=YDgl_APdB~%Gh zhAG39aAkxNp^Q`_l_+JDa*1-OGFrJzxm<}>Vw5YCE0wF1G0IrwYGs@ft6ZauS0*SE zm1~vjl<So^<p$+O<tF83<!8z>p!px!BxSM^uS`)Altd*-NmhOZy1&e(Dh|b|+@jp7 zxRexSnv$waS8h{gC}~Q%GE>P=W+}6kIm%q+cI6J`PUS9To-$v_R2C>%O19!wa+F*p zPsvyARu(D+N}*Du6e}glJxZxkrj#oc$|7a4vP4;`EYpUfPFVpcoVNcOUH_+44V2W0 z<&+RK_)jP>0QLVu@c(V?@n0aoPiP>f>mYWX7GlstumlHaBK)WxbP?0F(NEz>hYaZw zuy{1RrG;@nQ-Z(XzNX7O>Hirdv<v&U^$Rm-7=ek($C;*UC{E}b#*7+=vHyn7`Oo?; zN(;S3ut#@cJ<WR|-lWASU1&0b80L=i^%=$g-_~hn%=|t|C|nraFu37_hUclPt@W6Y zHW*!%58$b+WQwYSRVtquRLl-$6T&KfBpmhx{-mgx-VC+hzyi&%ugqpR*jQ%ROJ>+g z<`B407Ge&EgFR%v6n-?^Re;CAp8$6~^D*B9HyJJw&H?8_{B*c<xY@{i2jb?#WdqLR zZ5m%@SQr67CF};qf??nfe9W*|c={+v6w(7!AZvKcm=A+tzXiZP41j$Y=1;IcqhEgu zfZZ2XgnD5!2E(okJHL7KKbnQ2d>E<?h7G9a<tquI50w>Z0k9zhU_%C|A#g)D7T}Ja zP7%iZT3rTo&jZb{T&RE4cIZu1zYA^}+;q4ZaOrRvaI?Ytxp23`-GT63@aMx{0GACo z2Yw#h-GB?=3gL?2iV;_W`j@~}!mWXO6!A~Oe-3Fc!My_aD(L?g78>|QKOFz_{`oWd z{XIK)X9w@>su!FOoUoW7b<Boz8`5n^w;|nzbeo=T0j}78fZSqH1!scu$bcF4@F4KV zNAZC#nP%t#rPF$V(t|FT9)h&<>-SNpT`v}fv_aqv)jbF@H1MJI!%vkDLV0RC=mO<Q z@sOhjX#VGqw(zvds(k(YZ2=eAETJqvmCmbyh51jPKDpYtSf)M`?KhDd_@v2*zRH^Y zou|M5abP-)r-AD;V;+)EZEdKn_4=n@tC!b!psnwMe4@dVad6keO@_=l;BJ9)!A(QG z)8S?SPKV2Yo2^%E#%fGkXX=pv%vgQVI#t6(TX*_HXZS;BXlqx0H5_mRoM){`^-#V3 z7!R60Hr7orPs3R8$5`>lSmAv)$h8@(GRi~aNz0>+CmZyl4LZ>VJ!XR*vjHa?aI#@N zZNqxn2Apib$w!HVi-H>kcM063aHHWagS#9q8ZHKO9S3(k++;ZDeq}n`ZE!Q-($Ic7 zTn5~1)H@gM4!FAzo)5Qxca8WL=#vLmBE!DOvjlD#^4te^KU^hGqnDXQBClAlYyF@# zJM9Gof}a{rS^+awwOalQ@gg)Z9Qyw%7V0&DS(O{$ZUpX_)0CTe6=tlQsl1Vfw4b20 zeK8u^z*igg5NztD!2dE09X|KcJ<Y8ABEAK!!I};zDlE;^2GfGVrDX(@rlkA?Q$7s_ zn^{@@-8>JaMMf^jC7-n8#N7M^1k>gMK36Oz*b6Q*ulR0w$U{2m!a9-CwTJR)`ppXc zYnA%f3jJt>e)LhiwXEEy{TbTIC7XiyGVrmY16HZasV*yYxmK4Iby=aOt%?=S7tU{B zanSO5xEpjH`6xd_zDasM+9$aXzIuiMK)NGoZfe49LJa|Sr6$Z2ft>ui7iKTW6Zw}c zD=o%{y9)$L?#aD->3~WN!AQVAhkFi=Yf<$7=Wvy9sbJuAxYyy{fa`;!<sUC2(A; zf{uN}P%!dpVkY*De-2j(_YqtTTpt|6erX>ZwtQG09E(Ifa3yfh!aWD~1>E!~#vXy2 ze<||8&A$ru!R^N`bsroyh1k#GCclVsaFKsPJRCL~m=_$|t+2j-D2$ze5BF2gSJOm} zqtc(BD#EL!A2eNr$ITG_x^x+)-)zKl=62!R?ht;g^vB#K!a)m!-{ThklpNuka)s}f z{`*3`upcT#{I~~%|H@k7cgrPO<0B#*_Nef0c~<!U?)&N6L`i?yudX{qcv7bD4@kU6 zO1!U@ezEj}3Pir#dxZZ+necy<zE`;jN6QadML!qes%qhX_OS5(DEpK03laWQ`Vak5 zgnNG_{A+$K`~}j#Uv5*1*nj<fh2;AU(tlt2nq0KV@WtfAPs+!|<mB=>0;h|~$;ITu zdJ*~1=r&L;{`H=V5;w~JJuUtH86tj#l<Sl8Mc6LoLF4C0$<Ia7_ggITO_sjKXG^7s zKT;+9Su2I#yhiw2q&)ADev|aCk@7H2`f1W%DSb^oG&vBp{qOsKDe%7(_+JYA3ls=~ z{Qy@v7Csz4Ik9iyI^p`@@BxZVf}0HYEZlQ&eQ@|J#jb`M2loivqj1l{JqPy@Tn$_Y zTqj%~96n;PJ~({JVtsJ<pv68)K|Z)XI4p};ALjD;FT=ip!v`St`afWI!S%thGw{#C zX8jQ+6x=wtR5&u)I^ftFuy^3tE``m5V_gWt;Y0=d_C*+Oe^S|`cU3kSZY2H5+tcvR z!vCqqiY9ExWQPxj&vz^pu5vi=hpWW7f^X?;!AqbA91F$I7QzjDs3kHF$yB6=a*(4i zrIGWJVJ!_oJzh&EpVlPC7PRt|f8axT|CI;ZlHvooRhAO_4}n3!gF*%m85$ZkY<T#H zh>?*|qb?B{ej<Hr5f0L`qT-^$%+iH8mQ(7+Df1#kl)LY#$SlAq!JPb}{PLx&0Eg#A z6!PFEL#YUq;G|l9W<hp7F5r|^6c*yL2aciP7EN|V7Ovgoqk?jGZYgR?Ep+E*;_x8u z;~<0+aHYjdL>-Cl0^BPA4hv8-AyHP6ndN2$#mjKz#!XpqXg;SjvnY#AMV3WwmMc7G zc5!)T7LEhrenOTzJHMbHli_rr01`5@D(Fg$@Dj2zOMzIH@UpW?i!(j9UqpNECAfZ5 z$nL2?-?JBhC>4bZ=q^KU5z8({)woRI#)S|xmRSg>3^!jy=2E(!fh#Db?xF&Bj)X*H zCLNi~FI&h;3M$H2Rxt>~@^CB34H_Y#7-uGN<tL9VbC(vgV%#n&UtG+}ahm`g##JJg zgNr*@qb^}(=ynkkha_>i3H>TAK!3{Ih4}&^{;+-w0&?y$&JJ|--}wr?fDS#n%Xyy` z02HXoSgn6q`T1G-rCAk)tbz`DmSq*=k^-k8FZb_!y`~o2vei<?Lx$GMaRJ871ha6j z06Zm@5S?-LBbVePi+6e{=#^7YjN2xll8DNxC<TwQmJ0mJkR5`h@tZf8i|aMGmQpM_ zO(C93PvaqhOin(kXKq}70{^lzb8~UZRd^&kg1dwoMoKmbM<zx=Ngi8(@rDzvyj5P? z0vsdNk?0o??dT|ppu3<TzoZQ3T+u>#UU7vKL&0fI53~cJk<!mulT+Yc!UWw4Ga>p# zASw+b&+y642bxqXznr5Dp}dNs+|1I7!UCKEX2rRX&xIIIRNh_4yB(jzaOo-sLda#( zB_t$OdOQ*L*0L(-QVz@H4U(MZvjUN&Sb7-I?$SaGs09VM;f8xU6`X#h&;hxmE})KB zVFj+@WoElcQL!W(JVw5}%mUnd!_Wc(7+>jm#n4@dhw3T?;aPV6qI?L;0=kn^v;ZSG z8@dQ%3xq>PKF(xToS;}-tT$WA?<;Z6iJIMLkKe;9DOf7X>3Oq?OO^`O#0#3oi}ApT z9<LKNUa%#e6F6QlBS9l{k|>#ED4C>}OcEuXB9GIM$EoLWiagUqy{RH=sv&Eto;6iu zO%+*jBZ>GqQ<Ru#C^1tnF;kS7Bl67A<L8R9nIb;ZP!>vF$`eUFNh9wzCI=e3(AYvn zyG2R2p(IjdNt!iKGGFA8N`@0PU(b^-@)U`Bi$&IALv^^6D61<LS#jHtP$(0qSBMf7 zh7uKei3(9-smQZbk6$K-0G}?(3URC+CtN)PMZ}011DB!7%9ldPh@dVr`UD~}$J0zD zKz$a`^YR!jV0sip6+@S18;pli5_n^f<`TVOr0Fn<d0?7j^bpN8o&e??J%G8#1JfL& zhxlBihiLrk0Y1-pu%)K7VI~!aP>*^RZKe`5$kgK(=n!dAJ&>(K9!-(2#}(*Mp$--4 zkYSMPab-H>X#@654ykzPc%3IOhG^1;AwY9I=ZPMbple#u2{Fs-6;CB$mfRNJ6yYTZ zFHv|&!b=w3RN*;<=M>&8!n;*?F5#sJZ<_E@g*RPzw+U~C@X~~rF1(q-%Mjiy;msD_ z9O2Cs9=9?IAx^lPu#`lO-wMfQr4=RlnRzUohLy<anVMxuuuc~ZF-3?3p?d@@bcuiy z<(L(rDKu3HFoATH%%fR;BACLbH38@3=i;IypPvL1bRMPhDNN*=L3Sn|ya_@ZiGU`F zG?R)Lbd`&Gp3wUOF5{M&26N*~3lNF&@^KXz!;J%F+`7{xfySCAfU%|rFxEUUjWs>Q z>()aw*7N|4cD;jWTZhrS2c{vYhX?~t02t^2VBmoX13kns&_jfQ9-yJA2ZW;2gJPWP zL9Q6|keCt$mBrjCVUIeN5nO3YSkuEYNE3?$<>1j~RS_#@PYH8XF5!WV=o79;7c;7a z4do2;uT1QZ5G)fBFXmzai#b=qhRO^xv`jSgRG+eClI)(au0))enI&wf*D#OE#QsQ% zsazy+qe+1J)GmVK#>I{uH*OpgeysGbk^XqxUdEz8+$x?@T)dFE_&O*B!wIVa?b7j# zV%T*o4JP6OD1m{?U!0Djb+twD!`aH=I5#;4rz3mRTX3>*9!@P5;*8=lrAm2FS*JXz zJfS?LJgYpfyrld^c}sau`AFHSe6H+PzE)b4R^^CtR5`A6DqTvq(xaSK&MMz4KjN^C zs+v_V)kpPJ@!e4kRD;zJb%+|O4pYO`X!RO(l6tGU%QRnIpk}K%YMy$xTA&uGC2FZ! zt}arSsLRy*)ce&+^#OIIx>{YMu2t8m537%=kEu_n&!~S;UsLB<N-WDQt1X{fS}nu8 z61?Vn-QtzuRp^!LRqnOi>nX35UXObH-s?lJm%QHc`o!x~uQsn;Uf+6kdj04%+}q+E z<UQ5YVcw+Ht1aq1rd-n+^AO7v%WLLFlec*&`<Xf29LYABW3Vx^SAE4inYma7P6lVP zc=KImoCG%CZ{BR$pgwCZVf*micO|o%{$P63w3g*t7Fo_%Za1$oPc~g=R!vWsGSo@R zKJ(MK+jNcB4)vHi!gQtS2Gh-^X{OnxC8h^W@0-#r>n$$JZ!CYbykdFNveB}|@}=c# z%O6>n#oH^u>r$^G^S7oWrcP6@=?7Dwd9Zne`3iHaImNsfpWS=CZt@!M-C};%e7WUH zuTkEgnS0DpmMblfn|&=4EPpreGJkJ=87GF{!O7ryoci61lfA7tpWAbuOc*167$6&y za1QqWu54te|A}mDP>HiU)V=CH@b{S7qpBvmNu&H^(^O9VT+=<A15a??y>HrV+GT1q zd1&oz_E7se^Uuujpn1Cac1XZNa}lV2Ke)Wc{J8m9^DE}pz=6M;H<>>J#rK(8%pKsv z_u#=0OOyqi0WYS2$7z;%mVC(VA}+b>`|<p9&h=JH7vzU|5$A`2_g8vd0}dx}*`5#C zF67cpvi%gKn`HY#F5M*CZIJF>$Tvy%aPLvxG2Y|7Z}3j`p6#9My~ul&_oLo_@P6C- zWA9zw`@N5PpZ50h8RQe`bCu5xJ`SImK3P7CeOCKC;q#2oOFnP=eB`s$XP3`6K8Jly z_?+{xSnbv@Yq&Mida3nVtJ6BinrAJuF0)oy*H|C1{>u70>+{w>TmNc(&st;MV*T9u zrS)s;LF*Cg3F~QVpViCP<{RQW+;^03jPG^6@xBh<G~X=W65soL*Z4l+`v>3Gd^h-R z@!jRS&-a+`8DEoMpx-FJtNh~plKf`)-R|f1EA{)i-#Wi1{a*BY%dgh&bHBZQ-}!ap zh<JeiF#l-(YyA`ar~A+IFY>?7e~teW{xA5y>0jf&&3~7Fv;Q&wGycA|FxzNbtZj<z zHrrfVj;+*ozwHs*)3#S^f3<yRYp{J~J8bL00TWw5c)+CrR|QN6xG7*tz|;U&z>I)7 z0hs~00mhN>-+}2g<Nv$2BmNsSnEy|2Sp4t#=6`;F;{V_0oAJx(c>ce9z8T+X?pFU~ znq>akYq|9i-=Tih{#yci?6U&ff|`Q!2F)H)G&FMP)X<dSza8Nm*&Deqa$nSSqn^5C z?+w0_mpML|UN}4N&YKs!bocG0#bw8qz4i0H2cLgr<uAW{rr`HwFTMWm<DYD42>bNK z?K^hd_K#ulk6;sd9VYNvT!wjEX;aRr-Y}rz)EVmSFpt)#PbICu6`x<>==YzR51#6F zS1R8hYd+Z3QB<iMIC-r3XhCJ~cRZmAcY@xNG0g|MT6)~8aWd*l-1uq5J)Lukw<sR* zmxE`z+KwJ=%c?YQKh)8Epyg=C;>w734tF*8xGN*xXzl1|Z$8jL@L#*zjvj*lR+bsJ zaw2h?rMj6n{8?L9ma0T6V~)BjFMa3KvG0zyELn}ql2c$t%*17xeB~b5*z=wiUX?Ap zXlUUjiSGf~(ktj-RnJzXO2)sXqZ*iPQl3^`P<9+RD(X>LTT55V$+of;>|^C^rAFE6 z>DNw;Li=PrhdRntWskC7cJ?_feLt_Oiq$A5WzPKu?Ea9isx~#O#Z&R_<2@~1-7SYW zc`H@*XlH9?mFX91Y<I`;j<QPA>OvKk?^MYjhRBnh%?I6;eNi2UJC3(3tW?ZhZO3z0 zuuotTm#9l5N6$*Um_(vQ`k9<8Rcw>`n2b4i=0J1Tv6ka)%|(@#*eTU)in>wVtbS`U znS4z{OruO=P1hc5>pDn`d6#;vey;wb`QX8p<K>kRs%*yWHmQfzF7-!G$AXS~s=cN= zv(oe!=m2!9j<y|dk;S}@dHOR7@+GnC>6W-H=<et|&|F%nJdjY$5==8qKR4BycAEB^ z|7`xiTyNf;X)@hu$}<&vTKbs~XfFs=RZoLyv8br$RF(;L^TVb;3u*IjIRtsle1L5+ zJ#G4<6f7Uv=wT8?)89-RsK*<GC{`*y=z5jnYuYNiuK4mgnq{F4d1e^gJ?7t=UugDV z<8*tO&E`<^CFWdnnR!j~f%ewslWon%JyiO@174o3nq$l}TTX(shgwQi^R?z%E>Pk_ zPl<Pgyq@&LbhmmMPe5bs%_sY}w~eH&?O^lKligh%?FKpAkY8!~6KBwaU^egdX-T{u z1D7u8@HB9n?0Z(?!z|JKy~WpZsb#)pspUn>YnH>7ZZGEL?-lMf&MR(im2$$O9u&0y zI8(I*T84Y7nebf~5Q6fl&N5rZS|(b4X2IVtCv6lU*i;!2NG!1=TW%$myeE*8A{5-! z(Oh1s1d?Q0@+{C2LNa}2y1(0Gsj{rI{K`Y5khX&zo!!t@rsGGuGpj~<S)MuE)q<g9 zdP0ck+I-dWH_KkB40^U%>MRYGowZ!FdOqF4)mqPIviC0?Za#LbSyu4%5d%q8gQN!- zXn1KyH^)*+c~5Vd>NUzM=4kWDJaj}T;A~CuA6m9T>4G(Xt5=C6;3sa?>oza<1w>=N zr;nCa10wdM$5@ir3tsPfedImI`#0V%c)#nt%g5X2QlGngUiR7Ov)$*k^(t$jwTzF1 zDz??@b=kQ#p_Y`8EQ{ARubp1|y^eaP3g!$G@-H$(gc}5JB5}*B+v^N*>wPhR9%K#P zf!?9sk=|Egi809=3XNu-hz}*3LOoi2v()M}2EAD)@i`*3`p3E!H)or?Grbpj|6JGN zW~s%i*fwuD{(IXy${$dMc(3vPg*JSL$c8t3=ONmqQg_#TYyEG{Q@uBO*L#HZI?r78 ze!j`O$@@F+Q-@nImX1M!qjLKzbFYr>w(r_n4tZM0E>L}JKB1n7;ZS<VW$C*MO;}nv zeA2kGe?STLx!z~8q|*>dln_tRaF6aBU1avj^C|Or(B~;n`iMhPm2`RH{*YUx+~Tv| zC>+ldnLRnS6stb3`@AdXme9@?jKfDePqrO}LN)!;r(RA=Yf4q0uY8(4<s#9Mu9Gd< zRm#IY$2`$v%FI^PYO_XJM|&cpE`Zr9ko}j1?7PcN)(O^W);lsEF#XzklQmhNp01az zSLao+?bdWD6rE&KR7HGXbxWQOJJnTO8Tsnjya$wbt@l}1%7Js7W*EY;QrVEah9z77 zXnobX!MfYpWIgR`_O)xX+}|OKni`34tJV*#4F>7X(6z@Qp)G!quUea}$5BKV%2Ko= zBqG}|?l0>&)g_~|B<eX+*RiR-<9%=TUFcip`-X3=?`M9O`%UnR_nYgtu<qoEQ_WrO z%JC0ontYRdUA}jT$*ud?F_;LC`=&Q*n)8X{hufMprFKM)*@!H&?{eRjzUzJeC`Rme zQk^QJXn^|u()TGEpdV;6TzCicm^M5{@#!wocY_uYY0xKw@=U&8`X2C$YChx{8B^RQ z-y^<#eu2l@4jnq$(qF2c7&zTLcB-@cRF`2Qe3Z{UkGCE3)HvR#OihKV-&DU;VFyJ- zdSw4{QpZ(2pZjSvonNN<-Q!n9vQ*WZ>$i+^Nqw5;JD9qM9P60F?*+dP{Wkk;_YcBu zK#G5bf0h65unVy9%?%Sxey?NC;Jv?%uN?iwTX?<lc5LP7KmYZwZ@i1Z@3(6#*_LVY z+v9iCpItx=zjOid{%hBvlWm6${k>v=>Oa&!oQ#{xNG_%5UXi8xkM+M!oA{!MQ~s0u z6NytBHBMcct@@|=-zoK6WyEEe`~0*03pJq~B`dqsAbioqs{e!jk9nv&8MCgO23w^x z=AAlzxVh`pv7^nW%By<5@PAvx_nbbfb^B50W6bH_;eXD*&*o<vfnAcjY;R*fWWTM; z_G7@ffQ*2wfENS)9`ISMXE0oSOQmwnm!9xgIm>)z8!X#BCMEW&ER$`FZGtUb$m<u> zdD~64c<TIzqVrYkbDK*RJFbs6uWS>xX-aHQ>yv<wZpwdQtF*1LJuda=SPveDWHlW$ zH;l7AZ+lIX^>LDZ4Q|!;ciT3?&LI6?d8!!vT~~8^_o>p#s319Yd}=!)t3661KrVag z^GyL>0YL$go}!`srwZSbtsPz6p5(AXHQ?HSTe-MbDOUtc_9Pwf$bJm0c3nB%SZoSd z7_cbdeot0Ks`0VinJY}c38)TuJm48!Y5eMtCP1cFq+VTHrUtwk@He4`^W}*7wOBGJ z(E*=Gx?FX(wXOSPrW&v(;Gn0m@<W3922w4$Wi`9S?qv_Q$Ji&@6YQx5+c+NTHcPb+ zw?`6tKhk7-f}yxiYl}hg-fEEMD<qNczI7eD)m~;_ZhsKJkP{#13cNe;k-*;uz7+UY z;C5YquG*%_?`N6b_Fvmywtr;bWj|nVwPWpbvb7xsuP#c@0jJmPZ*${hoE|&u0z>+# z{wi)$XD1dpPYqOb&s@yl{%w{yFg);*z^ei$2yt)K)bq7+wN+zO$k%!dq-)%2;Ece# z45UdnthFZPnF31#?+>gt%txbJ^s)XO*RxL=Rja?jPMu&N@|7Lvk{Y-%u--$SN@?is zD^ml%3Ovx}NhuOiv(UAcxq_4+OOQ2aM9{pTRY8vjy%6+f&_-y1Ew0L*k22LDd(aRu zlf@l7a0o<uI?Eh%dC=IP>w;zoQrxVO;zp8@ph-bo|J8CCIW2|oCL?uj#B}w5GASrO zs8k!olX$+Wh--uHlWX&c>)Uz_gu3bODy2T?HwJmL8VGTNfe=@fsX?29c9Vf#rNjq) zDul1+jOcMeN;OLfIuUd(I5apa_=e!A!D+#_2WRWjx4JnC-?D<SP{ERPd$6w*-PgH@ z{Y*1D>SzHI920zvro<=9eokpI;GAf{YK*L?kS0<xYJOW$Y5MK7^=w-3>fp7(j|J}z zJ{Ej>kZI81K~aOo47y>^ltJlWLW9tRN<x-7__x7-41P6uiy-<`jp#{4^x(IG-=l%K zsUOjAF%mtAqx^Mni-vNdL^+v8#?hAVurB)@7W>lX$pgK&4YC^O?Q5X7!_c#_9laj4 zmMptjBzG=$4AS)f3H0}Osq0zlphbgL4*J!gZ6VV_o(%c>;BkYK27fvD+rd8$nV3|i z%ouc^<kwj_@$4G(u&nds0(H=D2YuY!)zy-%4tjCWn;vm)mD<s;xITh;02aiwEc2i* z2Yo%LJtR>OZb!@UZmbm#iM5IHERk=}$w8-yd>;$Fwwmn@v4so{i42JjnGkZ5oQw>c zWqYK3ztb>l?3P$|%SF#ux;l!;Hicw_6ox!}pg;||GsG=fI$czv`b)+B0Q)NB-jLOv zPJJh9?9n&rKFw7_o(XvcJ4x-5O6Rye#de1LO=j-OGlzT<vOQ$?;87l~%q*;ox~y0Y z*&A|5pXEO9Dq5vH7jiP>++eT40fUFhUheg1t^=}{UmJS4PxfxV!T6|Drsr2Fe;9mi z|4A~S&^$PG@WR0x21AH3oE}hIgKr<4CEJ-HE1%wSICEvxWrLRvUO9N(;NN<BKVRyu zm%BPn9XBk>mX)i6|1kK?w(g@Hp3L`Qmc{nlBW=`BmFd~Rb#jhe=b3)5)@6Hsu{yYA z@M%8XRw+jY!}u2)sz><(YIT`uh}V#)A<?8l9$<Th1Puw3Jo`~n`Ls|b#e7>vODk80 z+&CoJgVg=B(pka29FjKV_8~d4-!6R~kC-MaJ2ia`n?B@$A!~;`KIGXUyM`Pb(lb<* z+0!+R^NC@Zli@ZE`O}cU4l!&ljWo<Jw_M1ke=$!T(m3QB>>Itv=alF3t4z-gY3uFs zNJ*MuP>(B9hx!Z+L#CI826(zuBKlo&+X{Bu&?|<HA390HZ?mCrtnAo5GuE;hL+1@$ zJoLq(jYGd1+Bx)8=%CP%p;u<AL)}A5JT1G#1e2a+9$GbY&Cp*A{f!u_vo$4`At%`_ zMvaz{tqy&4=sUU<83>&`bmP#?nu41x=ajiaw`+6C9Yzynx^54Kw-#5Le&1H44*fpV za#&#B^F7%D`c`kSLHpfh=<78+cU5m`=)^W5|JhY)Rp^wHr#f4@+B!-r)pyb!Vrikd z!-9rgH|(8Z-wZoDJbifn@QUFN4u2%sE3_hXN9c*Ll(5BN-;A?{R)_u~^f#fu4}CfG z&CvHkYeTob`NkV>jH?{&|5xFM{7v|QZwWv2ZQ<Yaj_|K~SNIb)2tWKi;a?hS3T+H+ z4sAn_>SMBARi<ZNV-2%}*}?{gjR+eZHYRLh*v(-{GVcPJH$&nuQ{s>%akx$5FiYZa zr^Mk7iNo#V&0({`=7r^k70VoV$sF@!j=2(x^a;LU>%)E-_Pekb!d?q|J8WavCt;t3 zeJSzCmw4nzJmyP0rb|2uBp$i4l|0!>wrs^MTbVP_64n-WBJ9jCWtdggJzLg2L)M)p z>s~19zB^MLHgwokB&Jo$++mT1!I*ulvrVe1{aKb_3Bwi)TR80TVK0*eKcLJXHf`8k zL+%_YTt8@%eOGI5<^#$j!zzYVdWPAa^QW`DG*1nCdf0O`Pt|Mo_Z^1upki09Tpjk| zur1mEm@fywf?+!hDCD`-VF!nG7!*c|XICpH&obO=_^9FIhTk~ck*N;%A3oGGOs9G< zj6T?EuvlX}7V80H{QKA-(3Y)7^VQ*VhtEHJ3?}3sPfIJqZ5T=8JHG4gzv{k9>XEYU zw!`|S?cVhDEPeR<!#^7SNw{}-Wcd8>$HU(Y-x$6%yk~^hh_THuGoI&PA#$?J!@n5* z)$nhJpB369Tch~`qUG?z!;cazxArrcN(=;577#(h?ct#sLGP9(Q-RwYent4iaA)`o z4@pK{VAb)ewp*CrebQh`y_IJQ&kHXKU(-ULTAnOc!^^{$(&v^}yNasVzVJ%f@gK3# zEh)7iUk(3F`14262-m?qKN_v$RD*UZGSGAas{SH;uZM+k$K9szgW*TQJHKlq^XP+< zZA&VZmEFC?mCB#GS}>pCTi$6*_(0|_Wu_4UBZiH*+<^II#?44SF&mUGR!2-2F}dZa zzK^!BLt>pd^I<k~ME;0-N30mJIU*@yR>bCruObeN96T~&<ijI>IkJgQb5(5bh%(vb zvvPN#Aj>r3p%IUb_(1S(7qM)_QzM=wmNf|Re}FZOcy+{Ek|&E~1?P0T>ym8Kh|fo~ zMBE6wYs8l$zLE2EiL|>yq}{ceeLdn_gek%=VpPNx5#wd9f5>V}v($*7h){t=qh5EX zs6=VfOouOJ^WW>n+995$iZw>0%Cs|iYQ&upe=b%dvLXs~L+m>;#9oiMFJfiHBN4xj z&^~arV#rDyWMdIW42IZIX^0&+7-CgQNyOhh0*Nn;{id)XhK=JTg=$3WNMC7~-5t># z(dQ|6++(9G^Vm-lwNIF(VuN{=>4lN8BPWiWJ96pB)v=YPotf&$8%N#-9m%&7Po6n; zpab7(`KOv)+TQ1zTGdsiKab3%{`AYYTaPI~h0=z5m_C_SDn(_ck-r=H>d3$K-+KuV zLRit=)!cTtwOk$f(Z~i*SN<|^h5rVp+XG78$ipK$q>;5m(z!fi4a<o1iwubz8F^D= zLS$;>?U7lUfwRrSkNe$f<mkw8o>qblE1+p&@ch*<3a>SMhI2?+SS0y(->lVaR^+{r zD<YqYtcz@j{7T~V0NTw`BiBX#f+YS^P2rbktC7z|zM|~~MXZE|ihMKjeN98HmR(sR z&Fe}78rR9D7tdbJW=9^6?2QVJ8X0v-)YV!SKSSj|M0x9#uk-AzuQeJ@H^Yj2#!&I~ zvf?Fk9%6H%Zi_09dMIjR)S;-OQ9q1|9yMXqO`{Ss)u>rfd3^q4-$c!q1%5E>p)KGY zj#?h|0Co6tt;375)u>-Yy&!R_QkF#hP8RM%*P~vIdRy!I!?Nq$_!=AaanyFhZpW3U z&Yw_EOA2)nzp9kKMV*q{e?9r8QI=7GqYNKClRT{UHmcnj1|q~sw3bT7o<3Ekj=FW! zJqOzU4_(h4(A4#HxJhueTD4kR71=>%!d@~31Ox;`6c7mz2zv`S;Dse3B3s1)io4TQ zwc2Wj+M%s=wA$9T2ob0(S!%WRJ8#_g68ro9P+s1<=k9y<IX4mMhU!LhRV4TR$I_JA z*E>4eCqud$bT@GY6aHIJ9#P4Q(EUL7itdQsRJ~xm_w~-{U6vx<Q@R&9ByUTz(}i(J z_nPi~5_KswHtI4MYW!bvW9ce&|03u42WFnNYJt|3Xsp-$M^BTPP>uD>gx1UWdb9O( z^p<ixdn+F4iS!)*YqHuwFO-TL{yRzHntNmdy(qmzy?nhAuAh#t=xSBe(6ga|O1)kG zZJ_x-4g97;`x;di#4!iyeWwSmAf$`TIz~NuTDq4f)qlsZMI;a{7L|#<G7=aqHYzgu zY@zqUd&ZlM`%R`xE=iP@Jj)KN3Dz;zM{L&Hl-UaHUw7a;SUP;;@Ux^!q@i!ApRM1b z|BJyp1`!4=2EQ1-V;CW>66xss=?ChE=&#U^(2v%S)lbk*)=w7`qG$;rl3Eg?SSvyl zXHAIWZ3xjDwuDG#M~D*a2~na0VHhK+Fr2GjqF<q3rC+08uiq>t3}q6+Fu{^AjDvEM zpxi_ULNvj$%1}%Hg#O3+pXh(4|Aqb){crWZ*T1R%lbFztkr4XOjy|-b5AEnfJNhzP zLO;Qd&`-1{^yLnOev(y{=r#Re{c-)j^<Nqw15Ja;22%}Y7|e!#u7!T)Lq7|kpM}uR zb<ofC(9aFf{zhoO2-+{Ut`fa&U}<1$;Ar4t;9=lx;AaqM5Mr<b;0b_N0DK9+mjZkl zz?TDj1;B3t_)37^Y*QtgYLIQP)?l4MkwJ+;g+Y};jX}Kuj8{|z@LK@B8sN7Ad=0>F z1Nd5iuLJmcfN!v^5=}EWVeqlRCkCGxd|`0K;9G<54Q?91_(hEpLZ=?!+pP$lMr%T+ z3E+1E{4Rjs4e)yaey?4XXu83$!MMTS1}_bfp{C(v!>NWd49W4gLi=q1zYp5q5A7cS z_=5m{2;dI`{1JdZYF{OqVQ6V+Yv^d`V(4M$ZRlqhXc%Hhj{jYNe;?pK1o#sGe-hwN z1N>Ql{{-OA1N;StD$z{CY{RvN>kNwwOAIRvs|;%l>kY~Ae+uxQ0elO<9|QQ00sb7o z?*RBy0DlJH-?OX|A;S}fe;Rff_89gV4jGObJ~ezH;)yqj-ZcEm@N2_shBpjv8{Rei z4Ql)VYCH}#@}b6MP-6(xm<}~&!uwh9em1;+3*OIx_iw}dcc7)Y(9%3;Nf&mCKr~OJ zEz%bmiA+Uek+sNP<ScT7di4NaAK(oD-VoqLHiV%N;1>eCF~FMuys34S;Z#wSC`J@7 zl8aJBnW9`#foOw>0C+QiHwSnNfENS21lqR*cq@Rn26!8Qw}qXeDcUV+6CDs85xpn+ zNOVecR&+sh3E=Gj-X7o`0NxScodDh$;1>bB3&6Vqyc_J4`J&%Me~P+9J)%C*kZ4r& zRP@4#2k`Cy?*Z_h0KXXEy#U@D;C%po3BdaTydUfoEu(ox+D7_DMn<MaVk2uKdn0Ef za{T^aW&8o)1Hj7I2Jk@uA8bn)oUkJdF4z+WR{(y6{btbuqX?sDqgbN^qhzCWqimzK zM(Y6bXMkJ@Ew2K|2!PChmb0McY-l+LAmy+}w2hjLT8#D@?Ke7Pbj;`jqZ39S8+`&T zCqd6s0X_}jlL0;j;Bx^!58xvKJ__JhOD7n8Z*<q_52J@h|1O-i@SO)ruoU(s5tAw? z!och3QjSZBNt)ex$f)0F{I8DTj?pAya>a1}*rOhJ(CqI3ZmN3>|8^N3!zLO2_}~*| zABbt`{DsB~trt46b$>=z>e4-i>-#KLuyEPJ!i6OZt4T!P+cDZZn2r{%SqR35;YS=9 zSVKyEG;}8JY5CyLVE^F53_|h_smHC*;4f@lczEH7g`Y0GyzobcNBWQ>NTh(vkgGEc zVLwjtk_=5h$q?n!ae{@N3;!~9FfOJ!`tM0%xNvyk6OtI-pow8Q?}71T;~B>DjSY+? zOj8HB`rl{jKde&!QKtTPK|xT?J7w%^yxdr3oNAm$_UTDye=Na&D-Ib)7_T88H3q5w z=^-zN0{w&W1o{EkT_si2ofR|0@j~M!<5uJMjZYfiVHI5(T^*0O)ybk3Q^;^gCA==< z&yBBfGjj_|D1QLIWc-_P7c))!@cRzXQ9d+&V*IZOc!-c@4vl{v4Gt^8Lq@U;m+5@i zo1|%?V`5`AZuY`_iX=mfOhhK;AD#Hfp3t6k_S`86p?%=Em~Y}@w!#b)StcPS2_^?j z9++yIMw{+7{l#pKgl`gI5^WM|M+n}qCj`?S2*C`?$tD|22$M3CN|S1nT9ZbT9VWX? z+Qfulri2i@X-NoXSrGyaYeF#Fh7i1EO9<uw^xFXa4nWVfnr!lk$!8{Cm|QXW*5rGW zn<hV*{9^JuK+gl{`2ej2&<g-s8=!RnS{I=809qfQ4Xh`dJT-Y?$}<(1PBeYZ^bOND zP3M@-1875l76G&oKraMnV}LdRXj6bT188%Awy>FOYHR9f>SF3)>TT+08fY3~y23O9 zplbmd0W@G-fdHU|0Idno699T5Ku-eb$+nYCb4?3OH<%KpWu}#;)uy$kjix&QdI~_l z2GCQji1DwiiSf$-Ee2=_KwAQ|6+m0tO*TDY`myOJrk|O9VS2^%Ths4NZ<+%A6W9QB zFhJWv+jh{lJwQ7Ev?D+}0kktfFS4I(I%GO(`qcD=8P7~$Hqq=gvp3A%1ZWq4b_HlR zfOZFH4}kUr=*0l-1<>9A?c*@n%-qb<%+}1&%*D*Z%-hV*EYK_jpqBu&FF^YNv_C*E z1?T{P4g}~RfUX1R5Q)Gn#%!-yyV<AW$!2TK)|nNVm6%nSRhiY8)tfb&wLm?gP|tFx zCk*OY0riAKJu9J}RZvd^)DsEyL>-5M(bfX9_sx!*oi;lMMW#U!a%%w!734Yy&Au_a zZuX<u9kY9u#P}7cY7JBs2jz00T%J8L>oj|8h0J=*`X$8pRVefIDfn>j#5o5-d+JFs zGUuC55EI(dU{}9>+HQjRJo8wKc8ekLWr?mN$qJe4nv3m`xskc4gwRa3Cp2Gkm}u@{ z?rrX89%vq7zQR1hJlc}bjIkm#rPhRItPP<VXG>_t+Yy>FD4pOyXeL@uFwZuxH@{&q z)xz8&!D6piXkKJqVqRfhWnLpDH04lp62Q*|m<3Q?M>5&`i1~ZwADN#rKWl!${F3=s z=3kp%gOa*XQV&|whtdYnnjy3%g4T=xav`*44A3T)lg%HR|7AX4K5Ra2{<rx{3uK{b zF&UuA5tsqAIY3(gv>2cz0Bs4-Rsd}c&^A^=i+3!vEOadlEsO!i7GUfE#vWiC0LIaJ zl7)wbw}qcYphbwq3X2GfXp2}V=LY56p_~Vl^MrDXp>8jz+Z*a#0`>aZOtM&KQDjkK zQDISKQDaeW(QE;GK+_N4`~hw$zy$zYAixCy+%o7>Fu;bKfkHkue2aH2zO#5F7FwLK zIB#*$;!BIGQ1Ad0EP{d+P;dt{@}Wd%@w3IR7JpcDT69Cjg-~%NR9puYe*)ico`i=x zwi6&8Qz)J+o+h>t=ZKG=v?a8Uow6Z>pPjZRgkRcfisy@U#0KJpVl%PCnh@TAPe0lc z!kc!4@D`M~?LY|c*i9Dui-W|W;&5@Kc#SwtoG4BaXNU>mPZB~1L|=H<iV)rd=wAT( zSAhNvpzj0p?*RRW{bccG@m6u2xJkTIyhprGd{BH;{60Yc3D6w?{Q#gl0lEvIl>q$^ zpt}LO2cUZ$_~LWoPsN`@`M<1*=YX`Ho7f4&KZx&(AB)GuNPI_pPfR@bhxZF4e6dp8 zEAEFnhM<neP{;5IE8@A0!vu+@WU^$cWQJt6<Q)m%PvI$O@H8~|F%&)zh0j7^;6sHU z+4CjFk`<Cj@dSyZ#6{vE@s{{W0wsV8geRcGz;z12D@*tVz<&;~=K%J?NdWxR8cC!Q z5N(7Pp~$6kCmaZL!Im${mz<EClL#aVNu6Z7<ULCy*(9k3u2)BR)`8HOdGfR+p)>om z9beKWIUqS=MQEE^6WV4rgtqy|AH&mYCy##&tDbi1+(|nEeVT|QS0vXd*I(YBc}Q|g z@*Cz#$}v|Xlq1O_$yhINIvoR2LhQk@3++i0EZ?wPXeqXIwhXhBS)PtXma{DvVCJNj zWlpqc8vcfghV%|_RhFKXOL2R(xIOR{R^zIcqzf&xEZ139TJEqs3@q3K@Nw33c-TA8 z(Z~FH`EBn&?`SXg`@4QnVRJvPsj2r=SToDZmOohj#Ij~z)4g26v1VVVAj@vce>+CO z=X^k_5bw7f>FMZu_@uXMR8IVx#gPA?RKC?TYai=nGGsN&+9RP-c*AO;m8F%tRgl#Y ztB<V>tgUdrMO_`;%8{NPC2)HA#B;IQFlyw;D$J^_qyKLyvWm7UrkFBhCAZ4L;CgE1 z%P1BFS#7og4>)>W4Acr#(#;5O^mV|D;6{V`q54m)I=Z?#m=?aZx`ivyRjZ)n(a6}a zRA4n|_0(F^dNwZPt5#^}mDwLrpZ(Dxm_ByI=8rpIeMfL#EQaKSj!mBud_q$R-KA8R z$Z_kHj7IalG=X)pb++|J>sH3{tikD7-NA4;(lHQU!ZWnqV!d5OqoK*Dm<%yD{zbaL z`h@kTHg-1d57<4an<%ipYJJoCPa6yFr9Olg3_R)?gOGzHVroR6tW;Oq`jL&cjp)H} zN9QADF0y`NGlld5QHUqn@W_n?ZvLsnOV?pitEv!BvYExbbferw^cGUz2t8v`$qFt8 zCWE8OK4mZHdp6}E8y}m{u8z@BM%V}$8SfaD@@>}GB-v!LJF|q|nTXq&C0NTW%;eit z+Z?d@LW*qaZT5DI4&qVshQZBQfA=8S>QIji*&Me4D*+CQiJ+M23z^8~Yn$u9)j$1r zI0M<-w)w52vqzaj=q@WjHV<sZsg+UaF0ttw90n^@w~WvYfxj?-XUw8`WeaSl*&5rL z+eUUMrO5UzTOB24jBD`2);L0MMiPR%tv$f8oIFF6vRbQUAhCp}wDq?I_i&1*e$KGn z8pDJ66KykW*V;a@bFfRX+i!QyUhrTLj-5_pJm0p+_Mq);a61s#R@v6s?yzm^8hiq- z>Ydbt>-<SixXy#IOhTvQL8{R9gzY)oOSV^Sf1s<lO&7mK7r((2zeyJV5h^OxX|Vm% zw%c}){=Sp>zT*ja2+9bZUOBS;$4;#5h!@yRvYTl)-_8i?8=xliGJuRyPhXHw^y8Of zL)5FUU=IIQ77$On$%;#LYVEx3!tLU^9;7OCZrBA<I(Vr6`XFo}rp+r%n=oInzshv# z?bh3EvfF0Y0)C0O{0}|Kj`2cJ+K_N`m%n1bdPX~9k=-%7<Mit;rdH)xW|>Z%-4(kB zcB6JL;*s4oySwQMohG}R4@RH^M_@GILr6Z6a0;DfyGMf$={dX1RI#0Dp_|<9<d`1j z2<_jtm)Y0bEA0p4ko^Mt(B33uZ)m@W)SHi`DR|NL5|vZxLdk*(UXi_z%G>DS-l1Ft z3bv189KcWrshLFf>Gp*^EDdsh#G>SV_7y59IT3u8dUKHdZu^duQl7E>A^R`v?@5vU zd-k97k#Zx(U}+4#OiM%dU)z7*0sBh#Ee^LZ?rblmX@s`N7~`QZ-utY7XcTnP5NO2i ze$U)8o}0rohuIFg4#rd%Ag@zpINCHSdYM9dv!P{qnhtIbs~ln+3LUmO?1@DV-VQ;S zUN*A0Nt-_JZvu^UNOZ`=G_n!X$T#}{X0(UY53o4m=U3?FQceZo@V>(t2M9`G)En36 z+Lv<J<k~pI`gHU#IA~EJa=7o%s}eyc?M*KcK5!Uz)aan55u<Ny=0W%%ww4#`XzqC0 z@si^=jt`utIQu%+yDV{8?o#Zs$)(P1nj0v@q!S!n9G5u8I3_w0jyoLN*$%ze`Dldl zL*zv{E?1d7XS$=NFb$6Bj`?^R-ow*iDo2hLj<xKz$Q-5dwkzHqg!o3bg15o(s7j?# z9JUu?iw>woa*^YYj=x|d37<hjLYb!Hkdx49p3^a>(@vk0WOStW>8KK%<9Y@Fjpq=C zsd30@iqnjaF*q-}HmpiQA{ROtIZ2#comM;Tz}wD9jd0c`Atx`V<?6gk9p<wN`(?-} z-YH9!lc`ts15BY)r5enO){((JK*<odKyd*tCJqb^4yZQuB8{7odn%rnvAJc!ADyl{ zbvTVVy@c?K6Hd3(?2I=kc15muE^+F^Yc9cS{^M}RLnVH@RF0gdJ9|p`&Tl*GIUBP} z`#!ydX0U|L5@$!egzw`eG$T#uC^Sjv9OfM3oZ?*Qyoo#JIb5%A^}*0O`a1i1JE8mz zFuih`9mMI~B&mGo78g4g4=HkPbFu79(RBXM`K<H(McIpvF1pVwx4{qb$oVtptGykt zE#g593FvNUuy<gz7Y@}hL^5^*Jv6wGikv$a`N@zoT+;e*lqryioS!a2)DLAgVel1K z{u01<jsZ`KIfX?!i-5BsIfXYC8FNg56NNw(;^~WAxtGqMF3d)YLKnpX#3)y3Cs|nK z_X8+Yu&7koIm-0%J@Px-w?&PM_OgBZgsbM`9R8x?i+))2a~fK7X3>{`zZfRL;8-u1 zg}NV-!MBD^bYzY}+b9HZ7z)RRGSMQX%M`L>eT$x}cZ{MWDjieO^OuNR-f|I<NUx7; z{S^0jVjzXk*W+SkCk(=J8dRzrPmc_~OO#8JOYVaX;4^yZ1N{!SCpK_<;<up=ipAOU z7_&TIW(!<)xi-1}?j{8PWS9M}_A<W9F_#ZrMo0=ZO0GsZZ@tSUm&-1{x^%kqJjf-U zj-(-%?_6&5#uMOe!v-QpGKf2JG?RGxm|G}2YW2!_8(oF2lU=o4ja<#hN?xWR*Ed{e zk(K<zRkE6?B#Nwr@{^;PMf*p<NV>YYCX*d1<3+j#xh{8I<tig<8X|iNI$gFWP9*RE z)odAWwd*?9V%IX)TC(VKvgqF`MHi7ppMf5@6y0^*=lY)O2@;LbdR22uWvYpt@A$5t zyIym>$$ht=zEAHO9DC45t5>DHUEMO|+U+{bl`>|1CD@7`A>tOeg=~U%C<nRCa+}YX z5DAuU{)NLnOY`_{_HLeTf!uPg<(Bg&AoFfvZaK=_5^Y_#Xg4|47GPC_yMsW2fwRpf zbl)CPK7%*k$8F=qx$SmOa?f=?<$lXU?D_NJt6nBvQA?IDiCU7dBzsANbduXgZs*-D zyIpg;<<{pm?r!W3Vi;zB(^(AFLNlHdXhii6AS$<C+&VF$YQc!=9eiZ0DhIkqJUh^p zCvczWKEr*E`vSHy1vQIr&~<5W1XeLL0)DtDgw9{te0L{zclSu;U;+s3;QNNIy8F3@ zaZ_wcRq-0&p>FWM1}+Hr+S44(niD5*FLEz;-{JlNt(t$GcGptyy4`CTE&L=>TkqcH zevs7G-^4Bglg5Tq2^1EO+&^*umW=zJ;{G|dVNby)2;y+v@45F<k>m>AS@%w=H=+U9 zru*H;J*IlR<6)45++TPIfMI~72Ri(LhqMFd_#Y}e@z24&u8~nPR`$t$*2Q!DPr1;; z*<-y&g{O;Wi&Ws@?Gfw|=@HAVN+COuyXYyL3(Mh=<dKb+V;5eIx!jDrDbw_5^f=;i z$y4C@hNr>*h+X?M4tadw@$n<zmr@APOqNFb#3PR@9*`Y@2~PL8<<b2=z%O!Ef;0ay ztB<KT2<H5+;B-p+K=O<fyRM=EIR{?DS3MUi$2#Q#&tT77&r;87De?^WOrYo#7NRWk zNi;XWNK%$>seequ5|*D@sYw~gv(58nr=0J3)bpa}Hy!E7^CQo*z%!C^?PU7TM3UZ7 zFD4Bt>4(=yhqlTj<avLwr*bS#==o^z)W!1`8!onno;_a7Q*V5&TAQ=gKgw~>mZ+7Q zIHvY<9_-Y`ev6Ox$;u4ATO7VPc5&k3;{Gvk+ZyUCBy_hA<`TL)GtuI-#W{UrAeJ_P zINQ-jEu`4?N$;o}Ev{U=gQQKQ6!4(0gQO>vK&SfRNBRtupeu_%Ui>+C*378gjZ*oG ze^`9SYl;%En4SnY48h`##eIv%7XRA;&U(OGK|JFZUBL5!q_1&_WVMFLr_Zq?Ah-s8 zITouhjPsf?GS-`myykl8(Oof&qs1h{#5BH_m6y90xNtuJ9+HWHJ;0%PPwE}_sV!ro zSGrfB*A4GxpOZc}mn>T1&7Bhk1TL5I9KFiD_Ie%f2Wz3%R<9=IXvc6Np}i01(s(Ba zc^&XN1~y1|Nx65t45KMAa4Ffy>yj5l0QWtlB-0<M|8Jxrub;fP^-C*wre59NB5zA? z7w;(V94X&x(0h{ibTZuu@_Op^lA5-e6mLR3&Z6@ZjDMMpyx;QHqIFTPVO+bqm&Fkz z$A$a%8X18|MlK_7fA1BfDvG8%Z&H2vGzWRddMDBSUdGar2eep-yo<ayb09M)kn=+w zBfyY5rz7v(-Uqvf$H;6Rx?Z`+`(5vI5T*<qo)WMYD4NWN2UBbG_};&IcX$tZ|LbGo zv(hKQC&eezC(mcS58-pv=Y!9`^e1?l9>}}fyYKQ+f;S<Q;7#;I-s9fSKMy2$b3zE- z>x=n56MS@h3_S%t(|u<7yzMhzLhz<r!aa>v1aGD_!F!X0EWYMN@ZRte`q=q6`MCLb z`S=A8ytls(CV0XhmJ>X|El+|scRBJ|=Cj;`;Jvky;PJhYPqa_0H^F-iTAg<l{+s_b z6rFSpUQPb~bLiQuoA6RAROnOfQ|r^>)9Q1;m*7ncQt+nwG($;r8>-Q`1NFUg4|+TM z4wPQ-6MUF51lW(%RPm1bT+Bf}mwmqL7|0=>0$%G)Aja=yBcHoVOd$jWbFn_%OD2(Q zN{RS2pJAVuDzbJg#}&C#b(V-<UovZnj!Ka@u87CbAdv9h!2!JYi}Ax%DD<cs|GGk= z2hdyX9Ul8z*-M7J?+3)G90jcu7=O2qWuqm9OSbeCq9w$V3Q+$Mx<8P7!S{e7I|~Wk zfoIu*C3}|~TJrvq(_c`bP2)dafwVis_)XHdE+fWolUaC(@jLPLy!a(ue(C-d{$DK3 z4p<ye66h4TBrrHIC9o`TYtW6LyFr~nPnOM;PFeE8cY^P9-&MXleA|6L@E!4!_}Te| zai=k!rCNvLg}(EB4Sh|09ew?<&}T~-o()yyv6r8{qBFgyt~0%q$oG}{X8RIK2+k8; z@J+%p*M)9nwnAImcOB@A2yLA_<Xhpp4HL&hm^d18{8bFcUtLP&`+n?u(U(<%SOBLb zyyg3~?{8Slv+})#1v)F-<Sn(1AA>M`zVAPNntn6z_=14NWS>DUks`mjehbyqElU}7 z%hCaejGPod+zn-1{g&V+4paD>QC1&@+%7`{$}v!9VApwy2@#aX^8MEO=lE|-o#a>L zSMSgFpW;8)-_YOQ-`hX<DxJUN7F4{$??;f}pf*}z>vzQO0=a<|;>mu;x&63^J_h0` zepk4cF4@TMXTQGAp8vABCZLc+exrV*9F$Aw+@`<@ots@9)R<&|SjdR|pZsT07;zeh zY)oN(K**9QwBPc#q&`|viaL;js9&x_pjlN?80-_=733f7A5SvX+OtWwJr2`NWpzZ8 z@QL|4PT*hbzumvh|2)kRPGcPSwWgDNp#Ks7_ennR7DWSbpy^CH!_4$}f&aCo^OuU2 zMo0zzKl%UZ-@TN_Zs&b86Q%=9nE!zP6THv%;eDo)ik50ForV{`Qgx?1-`s`uNl`sg z{!;N$$EEIU&HL$^b)n{^OO^)Xn)l<HbwMAqRJt^o;ZL=ukTe_8Z@n&?xU_8Pxuutu z-dozabRb}EfNLCDTD9~;kQMtzlz=-(F##>zz4RdNRSIb*AoD<Jrm&2kHTYZ02;N6M zNoeWSr8n?Cd>`vx64}UNaE+mjKZN)yjCM3&igHwjmc9t!Q~N;Agx&{whLCfIe=1-G z4qM$iFxU?!s?ot=_%k*Fs>gw`eoBY|X^PRqJ^fowpaXIg;1{q#$`1$$hzf{fKOUxM zNCYz!kQ|VMXXr4VArYlG2~W}ts15i$;Ge*WfinZ=OHn{`z<YhqMth;#KxuOn{PKW9 z)Gi}~Y~vM%2?3{pMHywdl30*1AT?My??}MyfZqbT1NsBTXc=Oha_px?M}4Y-iPR1! z#_ux5nQ{)v#B!7L#po!62?Cof=8q?#K>a`q$YR2K5@-Uvo8AbC{z*k2p*u@8Ry*Vo znAJd-Flb0cf#HF%oPJ;$-sIcUP+(SIA!7!b&T$co2Odz8l|fm?<iPg84+GByeiisb z&|5+Cf<!?rL8l-92h1xJmpipf`G|gclk0mD*Y|JwfG;ZJ=?DHE*c&(&#N*f&Rh6!Q z6K(W!P>^QO>okv&#PTRz;D)dLE~k_-%+(CC3Gxn#3Q7#x6jVd+X$86$<VH>G1d1Px zLqWkoD@cbYJ<9D#kLwqpoDpa#6E004G$hH2@y~+R(ZU4fLyyV;Rl<~B1`Qy^g2O~! zBc=FfgI%QU4b*oFg5Je=eZdnlsY?n9x)}5=#|Udt=;sbYds{h??NKfY>J1v~=mpVn z1(Ua|Iu8Z?vuq+ahcd3Om)DhPj4WHQ%xIa@vKUHPEF(~R99m|+%!bBJS12*`pbRZ@ zUl#U1q%Dl}A@5$8Y81^H*>;|6S?jVB%WemM68tpe?GS?y=a8(>j^%TgE0&LiZ3w#> z_Hc#%idErr!uNz955K?CUW%3-T=pLA%-1^%b7bfq%U|}%vM-li$7gUGi%;iK?19Ft zIN`ECgBJ$d1&0TJ1Qk3C)&qH8%3t<)+0$S?eJEe&1pBS5mK_C851vDR_u{@^2Cs5L zV=je}>1>09)_ge%UKG59V<2SD)MEG{S6LhiUK1QoqV3zX=u*M^E4VON5xhCLF?e_I z5k}Cz$e_iyIk&s3^fA@?T*d9~OUCW)GK&D0#|whL3jRL$cJS}4yPS~XQ>HNvas-b` zFZEV%cQB;pqtcIQyu~zkPKJVChD_o#u+v_#J@`E2MCQebD8wYhl6EraVZ9!=$ps<a zA;BS0Aqm_>Byv*yd{(Q!gmXAJpCkxbA5sx|DHIHO*z<7#u(LHh`;a3c$3xDC+za_L zR5Nrz=+e;i&~>5Zp@%|02t9{sft*FJ1N2Ez=qH9;q4i8kFeZ<TP;9WMj$X%fr7|6b z^n^TSj+K5^CJK2H@{;CI%SpXQJfXi6P;}_)p|dfH9>6F%U5-KxLS3aO)Fjll6FfO- zxkx_H{ddn`9w9a&EeH>kU{r`F3{#R&Xh>*$mvRsmaHyxZlRk@<A}l*;t7=K-a7f5L z6NPRG1rGp{YhDk^+R&Y$tyIUh(PR$?5$3a}TDyQogDceopC<e#-a?jwLc2pb|A!-? zs{RkT8ECn1`I`eUGHxs6(k_w9Q~AsFmYXk6;WmPk3@x`_?gUaHNM#epmFfKDUdscQ zvynr|nP~a)<&pG2ikQi*XCma*_4PtHRgOa2aQRxyBoVp;X~N}OmmghzYWdg8Z!tky zGnemNzK=N{Z!w2q7S{{sE;8YT_M6K;Wvh89;mC;>bmHFfelnvWC~sBWZzD&ajVPh# z!gS3re%REox5K=`WMR47KGfqHSrm`L7KB++EzJxQaV=T?H&UZLu|&f^EFf$pSCfG% z-aAMhWUlJ3=}ej0D1#qX7FHeB#AL&H8>?GFAvnJTMTWJ89qH^FBol+77A$F(ps27j zVVCgxXqtYk&O~9?!*0_P-^OG`J012rL+IasoQJ~tSG?VkTEbftHogL>$nf)X(29vG z;P^xE$jbyw0kt>uj(32G5{wGE(ro?;(-n3rJh<T*a-(r$Q~(OJaz!BbIv_`LMdFI= z6%{Lf4i|*01lGI%kKoaF<z=XJMg5AME6%RC+DTEDioxMrv|`^1NLodDa8JcZnsJ}@ zX6B=-Z*VY^&^Sgi86acAGEvi2P7VjH_;bZ0j>P$35~mO!Uhz~##7!Qh+#%u#9dkVV z@xEMPxPG`xxJP(scoXD%I}>giZp*5k<;=W(ASZZCmbXvC{Tb9ccc7zZRLT!u6J8u% z`EYRTksO65g=b?9wN6!1s{7w>nZzmg^H6wu_<ML;NU7{`cp}pI;h%?p7Y_P=h8Mj` z&y){GxvmzV@XnQ{oqZi?Wjvkm;qZS}&RMC?;p(V(w35GaA}NQ0^$Ox~_pN+`ws$<) zr?Nvdn0Gq8Bcq@}>m}7M{J-U;sD7pA$`vc6acHIQ%4IZb06H3AGaA^H&^R|rG9DVA zBvkVfR+g>&X=TUCzgCW~TD>YQGB2_ua`$ST)eEJ9l{G7yR<^BtmmWeihl`?nKr7Ir z>;-vk(kKWaD^IWdY~{BY4+pBqt$`r7;`jdCPMwGm{~aK(SQc3z<F9<VYU!#Ka>1&J zs}`&>TeS$(X{)BKnoZ+(cdYlSP?d*X-h4&mzojnn-)2P)C2T*i#<?YwJm;;Ftx8HF zp7T?Q=Ypil=NhXNtB$TZwd&i5#Svi<t0R&hf+;#3t=h7x5%)Ab6Rm1lwU0i`B@7mA zhB*QAFfiWQGy3{K<F@M4RbM_BEFcWphLxSUgu#0Q9jU@qcUS!z@kWGBgyd02LW%H~ zRS#B;W6gl$s(#EtI^u2jOTRKrA-o?k0l&CEFqW<m{t+<;zxZQFrVw^U7~$WYqaz(% zNeZDd!U?~EGY29Ah{7OqE5X=<z5(Yj(!}!(EB*r~m@_V`;n_rNiD-=28*w4x%ZTd{ z4<j`q^&%}I9U~(n<08}X>dDwG{Rorz_=uzbCGj=%Zb?y+2GpJ$LT5FQ@rc_I_c0lN zgvoeHj}%4pM?B>yxC~QpFoi@;h<y7$L|dOF+T|)oVHQWUZ8A}$Tci)YN(Df)BLgFs zQ$)L(CfZ{R-OJ^Ob{<W%!%`K`QRI4XB?88>J`F`yMmBKt%Nq+!J2M24haxXTejWM4 zLn(@UKk_uVERf3o1@xc!1CT3#c@;EF;%{BvSauE1I&vuTSrk7?C(0<wJt``yD5@%I zPt=j9Z=!yT`VCJqr}6p=PjXz;)c;QMR(g_?VQQl+qU`b1{)MMD8KyRBNmM8|wefgr z^^;IkY*g-lrdE%g+A@`?ee=K4^%HKktus;72T`Z#+0KXAj=B)_1vT4S=-CF7Wj~qf zG>4n*+*}m(VD&`uct!mcHG+><8dUXcHIJ@J!5pt9Ia)n+^-OYhm#gjN?-+q<->?*| z7O%GNBtv@$?ZpFegm!ykEiZAkG}<KEBf2=cc8z<CW6ZXg-O{O2k<?SVDpohvK6bBk z((1g`#j7h;Z(V(T^~2SVSHFnXVmJ79+HyHYPx4y{g4Nqsx2^tQ^=EjQK2$|O&l}Vc z(DOz$1oXTK7HReE)$IP?ju+`IjtVZtRFDwA2a3QF{>f;~=$T*;=^dcaJc?sy5dEo| zzw=Qnik3t>u}u5xfaD>BW<i`FdTDfMbX0UUO#-?Z-IazODFj8wM<<a&&`;QgIbSvJ zgdTY9C^U4UH(~iiN2VFQH~MJwspyN*H`my6{Dc)Zgb;2BCkFc=lY^Q&S8z5z`j<6R z*31IMD?hp`dL;S<Rrx4JSG)1UNdMU5t`3Y8g?r#IflFQv!TSSP<Y&EUXpQz73w7AN z7#6%eX&uQ-xo}Ounwv4xV~k_OQo)+=HPST&YwFk)-Vu-1B(8y}!6YS{;%DZ-QmrXo zQ;E;h4!l%zdea4KcCR_O=H!|$@g{Io-2^YcSKkCLe^A>5FK@{BYkpZX7{mKtxsjS) zwO}^9n(wp@&U4J1m<9BXjNmA71f{KtVN-54B=KWBVgh1Tatjm4EzAdLC?+~4i5qsD zGPOi_GbTHx0@EYQn2pSAKDWfvdQ(-W6xufk)0~Q84#%9u+FYvtu<Je>86C_lLya+4 zV{XRWjd{v^2Tr+}(t}*W97qXjis_E&r(S-}?QAe@lX+JaXrGjiixOym8j`*#oky#v zv~)O}?300{W>R}@sLQ#bo`PhAQa|Z3N_yLmk@tJqNV-OP2|mfBX%Lf7N=y?VypI<n zEs}1Qwn+C$k4Zn~)Hk!^kaU~0k<=dXDD4rCUICZ{I%w{D6<p~?p(wJfn-WZ!pz(5% z-jH@m2V>u1ynSWTUk1UE6pU%Qzp4Og!8pcZr$OJI$4-QzG?Ncq%c0BW0|U)C1t-$z z;H4}F#Tvzm!HsDsmq1d+HAI;wi1mmKh^>gN<0fTUZz_si9-Gz&s_<MC8yzd7G_1UL zX$>py{0Nw<p-6sg5%odaf&QTF$j#<Q!yWx>4Cb6?csjq4*Yf1C*JKg0jk5i+ZxbUD z)8+p1aCuzP;iM0fK1upAd1mrk($`~q;-<yD9cLG}EN*YyvA8eeZpID9y@<Ds2N6DY zAWq}IiSCc8SvkP4%y84^x@0I$JI<1JEKo_rd6E=I9N_rIxy1S4<9iMtUkAA$E+Q^2 zE-P*uKD}mYrx$Koh|7<wQ1kwK*^af=8R}>GK<_9!7shyw6yhJ^&ZvklReit&aOX6D zj6I0^B@U8H)6A@n3X`le&^^}o5bhWN&o@bYHr!YiKjW1Iz<xu6V2zHS8*fAkD&Rp% zxnN%)SBm|02`|gHqa6wSc;EPgG9IO;tPq}vUmYJCpBY~mUm3sSIK;!8utf3l_*96H zIgtSW@JT-b%=+-)6ZR)*P6wkr`x^o@uxFz11Ql_Rvq^X|{zClc@mJ!%i@zP;89#D7 z7D8`MK%CA=2yGIc#IPsTt3LTk)hAV}J~^W79!%XNJT99pn=8|n8OY3Ki(~=EA&BQV zM79f$pM)@<<GAMI>NOvKrRL+RH6M@V%VK4TvMkc|K*UnbX(YB`Bt?@rBrBCwV_VNc zl3vOhWjjfF`7@@M2JuLCM0Nt}^t429v}EUGUtn2AkEzT+Rw=wK`(5^L!pwxHi4zlT z5?vDgJBD)=hBDbh%BMj#D0{;AG{_k1ffOTS>x9Y7AfH>yH4}6a7A1Hk<R=_V_(_Tq zL<u(Pr-a#AK8(HZHnqc{;If2_zFd?Lo)E`5YCk_b`UJAVP<!#^U-)kigvc<lD+v_| zjjBiF`N3XwXV~Wll2F3C3D@Z}1I?UCxUAZr=SP@YAK_zEKp!J0`XFIQt>{svXkYJ$ z5~j2RZ{+nUC~<0{A?uTVH}M^nBer#H6fy*}N6~hmn^wCd4v%pM)FD?P{5dfg@0Fj) zA_|m{sKQSjPZA^+BwkOvoA_8cCKn`@B_2-vI1y6MCRQcxr1(?TWoSLgcd{-+bJahl zVU<9jTB+ALRGiIWi<^m%(T0t9+A`dmRUw45T=I$X+42Q)bGgfL*ypD#k$kFr1_Y~} ziidxA5U12P{Ha$q{3+E9e~L77GMf>IFzY0;Bx901UtS__k)KSOk~9Zy`fg4F;TH2l znP9<_Z<f~$(L#+0Uc>d=2!53xRvAGJs53SR&&jXKugQOu|0MrIJ|KU290Kmnogl;S zPC~HVIo$tq>is|WO8?KP_W#_#AcPGu<|XqCl%$mupCU*yO0rIJOj<_UZz;+=iL&`j z8iMdNaAbmT5Gv4|Hnizrha$>KOTW`)9VR@oQBrQwwj`9aE~yl!i|hS+5bQa9l&N^u z09E(g(GjpH4|IbojGS~z*F%gH(#~-(AK~Z<S)L&2deYq_WztJ-{quTzxiBItZYu92 z4XaFLH4r<TR~_9?ew}K3%34CB>Df?^GQEsvmMluPOm;~Q;|ys)+u5akJqIN(PWGpD zhjFa(>>-(CP5X_cCSFqV=H#~IFOnapuTLMzn3G|ZaVO(m#=n`fGLy2VX06JSW~FCc z&U%^sPPR9A`zF^WH;+Mh4zHiJas<WllaC}HPd<<7@+KCOiU5-WCukPOPyROf$7C1@ zX{WhCBGKe~$-k3G^e%%$d0a~N74d@P=PAPUW$9V0*<_LorA$fpr_}cH2`Sns<|$5T zqv<o#wbM<()nc@V5gjeJJ?sT#3!S0Ua!YUA)Rc&n<do~F{8X>h*wpOQcT;~$?MdUO zd8ge-gGuQluhbze+Mw6Bbd3|F<fas-Y)xr|FU(6v(5G=V9t35tj1X&P@KbiDyqj{7 zyiY-_k#c}ymi`5~8cgHh_(i(lFz|MeA-HoC_o!XQPq~xQkups7nJHmG<^YDxL|N9! zek^+0sRa5zz(VawK&g{b=O{-;Np6q<b4x<0TB%M0FaXf^p;Y5kE8I#mQ^a-{56wi5 zQvFj`bd2K{mcT6F;=scIo+bNC3rs?ot#zr5scmqgvQcVjYBesogQ?ga_zwK;F!(+* z^L;1{r5;cHQHD~_q+aRj?F4LtKOKeh!vLE@+ywJzJOFkX<{9({sROCN-I6*3F(Mtw zF!0`Nlr|~NLB>y;o;EMd1cK)n7|$Uvt;0kyKOIIuxydf43&{`RDvsm`(?ZfR(l(|w zr=5_Yw3TVHPSW9t>G{sShfEzFgPpy~(Pzvrt4x$ung$8cVbOUo7<LdgxhQRS+Tp>@ zM@&h{SQiFz%0p>q(>}+86oYTXIJdga`6%tDv<IYrBLiwWNZOF8Eok<)5>&|I327+p z@AL`aY}ki;SOc?$pR34e!#^5F#@G+F`6%5o-Ic5xf3Akg@$*)aF~%v?N_d0m(dh|{ z5yyg)<CSdolJ8{v^wRW(^u454mx@#E&s<@fv4KQE`myxu>A$5zU}E}5=@+TiSSp!E zj*O*}v(!H(Vk+sQR%${bN`IEYqpg{Jc_>3OV;bh;H(@@0f*fUNWf-v*%*C7q^P8lJ z8D1Gd84(%MjCC1R89OtMvQk4O*LQnbewzrALWVpe3%5{-TbTHY!PQOOk~ig*ix(U? zy?@5Jj4w05^3O;rm*|GvIKBU+WJ1F#1!eq^@q}e)4rG95Gs^{JGjY#xsVGyJIT;)` z&~IbUFx7l74Q0;FjF$2<^)l@;mr<FfHB2&1xxsaIE5R3VXlQuwDP=ohgXu!m0>523 zQsJ8}%*@Ly&aBLA%<O@~0puUVPEBC^dPl)aSWD%?h?HEE*^>FY3}v=u-U6JLTB>W3 z`F`fb%&%fm=E=<SpcQ}^Ts@s!_(#T1j6wNtGk*X(ke)XA4@^L`mQHtJFXr!rYx$W& zna{G&gE2sUpf115Y+HkSBmKRAVCnFg41U(^ES;={+(?5N<D3O~RmHh1>nz`_U@o)c zw^{CtDX5mj%jpD4Vt#)}pE>;lAULt<g|c%5Sp``KvrcB6rwmkCimYmmW_xmEx;<;B z%4*3$AI13`{Y{JDNY2vR{#=yxT^8k=MCKjJ`Z?<XSL+^JD<S@ex{yd?Vb(aqrkUlT zY(e%k&RU`}@IY?EWgBN(XLI?FF47y$mD_L^nTt2FgR`T!smuHC#T)s_RlMZvP1#qn zf6U?M%*-jv`6lQ4oL_PtNCnw-*}Jn3WxvmHhFR<u-%YnT56)8dsq9bjS=x=y(mZYi zZ^ZGl?`8j)4KdgxJ1|7D1KB;<{UkeZ56e_G!-L=_&_$W1&>k=hf%apBQ7xf0GJek7 z9K)PMZX_#}X@VR{j$_V}oRwItHdU2bUhaKGDc7nl$hXN+PFl`d47)=W_W2h0Se0`@ z%Fn6K*`341RPLciJs(D$b1dg19`znP>iMdfD%bbs5MqG}Z$?EEfIq=Oj%7TNQqN1t zowYW7ZQ<H8Yrn{!mv3CqTo_T9Sg0sGvCes2$htM_)~;(?cTD<Pu0?K8t}M4ScPwve zo@t&}-iLXguC-qq7K?Iia=l-@oMa!yMNM%iH!L@jWa6|WEEDGlx|H11+@k;JQg)Ff zV^+c@;jg((xqEX@<X+1CCih-0>~>mp;fcjlr`)3qa(eEhI(ILB!8q&JR~Fz`^#%A% zHPSHvW;FLjo)FJy6Q0poa+LRGo)(Ms{nhODU*VIa5Wkz}pmILfW}-a*yqF>IAN(XQ zL@oSs=$UeGES;a1nzt@*cYiPV#A2cZjwpFV-nJfiH`Ie)mXW{kkAe~KXXzeNeN{LN zMk5xfy`Ce?`zCK}tzhkIYmIt(AsNKjXa>srDen(Ffo{O6gCYeyR7i1xeM|DDcrb)` zjFgJtI<GP?ajc!Wb{;OaOvR!aKq4I#BHaoJAz+$-0Q3!#W~gCR>XONLOZ+EZW)F8x zr^X4^mag5ocK_OA(CX&34Qz1MX6oR=^>pM_n1qHM%|z+{qG~s=<GiJ;WP-KV)^_Lf z@?VpqwKvy77Eml&maz*Nj7O^wA72ZCCQAqlK|sXCGf0i6%Djw&i>Yz|v};|EuSCOM zu9<J2e=h&4{QCvg1=Uhv{^I<={8jle`CQ18%4LpT^x>TiTP;5^pN;=+##?Q+T##Ry zU!C8Qe+<vJx!TS?^vZ@ltiGX-aEZvfL1mx+UH(nF#Z?@+Sp{3?5w!EDU~0kq0z)YE zxZsuep8_@3XpTAqm5g_yzgnru8G-_rf{cQ~f+DEBz_%czAhJM)13eK)vy_!m2p$>q z6aNYRDCi$!-bIpON;~12D#+HsgfMBcwuQPRK|x!=y9HkrjB$i4fLp`&3(l&nVg7Ii zzu<boZv}lYbQSIKtbU~uymwi(&1}pJya|UgMOY{(6cySQx)ugVQQ_pmx7Ej<t~TVU z>K|k9#7NXi@xVKF1b<SyB`zuz6{Zyya0(I|+?O3`{KCzJ+Y9%rMHL<57$<+KBo|e* zKSNmfS>fHnm+L04n<GbsUll@TKPItHXg{v@(jyquABEja^sNR?e{-@>RsLTG!Ze1^ z8UiOl7G*24(K@YlmP&A_11tbx>0K0BOC>Ce2M2mbC`ExM7(Ui{uJfe~ABS)~$3|4r z5ohG0b+UEo_}dRm4u!pWXx)Z&Dq-S5+}eJ)u2E%e3&t_**(dnvv($QC>bl=HJlXi> z#uXbk6untAzsRh}t0=tadeM0C#^UngL&YB!pD7-bPFUBsZhYN8>jmrQuQ%JkC0aN^ zn_V606JrTybp4d|Z(?$A0-sUKN7U|o)-g!$W3RNy>peGUZg^|Mq7D8VqBo>(DA~}w z;e9Du@4NnGpE5zPK5Tv5`itvts2$`Nq^=Xnq^)lzl}IwQK7W0=T8XExC_G<2q4+bj zzHR*nY6bs(wcxW?Up(*Uk^-&&V|~9GILL`=Sq5IhaiMZCEr#o^6#VlWregEjE@ga) z@V5=x8>}$}cHUruDX=r9xxcB^{(BFQ1U0+Hi&wKc{qdJl3C{GYnVw#J19SW;+;@=e z2<}*WrMv$OLq3HKr#5`9nor?RWg6P>^@d;nQ^`M-uQYURxEqVL27|Hu4gYQwY@AFg z=UbG0VA)D#6-%$h2{vkNG}vgq(U)c-T`(<jCb`Ltwi}&DZt_=(o5ax=i&V*zGnHc6 zZDY*FBy8BGugy|u*=@{WQcY@s%3)*K#$!d(9_FHrTQ=?jMA)YiC-M$>&%l-i>kW0< z=8WW&@tilF*?4{9y`l+>nJ<3h=YzvQrbr_oq5F#p`!_EGZTw^7i)^$}xsf#Kv6jAU zwm9j9$r$^X%Q{}hlkp7c5QIqu^;eUAi&&vqK%lfFRAg0TKP-h5n5xOaQ{e`!Z;Jd? z*n?H6W#gBM;)>Q6RTOQLqN1dtO!}-@aYDmM4jVf4F?ma@#|I(Iwl|Jnw5RBB(Fd#m zz<idnG6^cWP;`a;+(}m+m&Px;Q}m#SwtUkb(<p^QrAsjexsjn+EGT}X*s<8F*uOZh zvxn5GQAEqMn~d-07tbr!Ew-Uz(?kQ{qQHBv*qAjF>%BpSs~M457ib^@Qd6r@Ooa%c z;;>@KCsG_)oCvBTNah1!L&VEK(pGB;?ptIC+{=K!fnNsysBcN?0WA9A9DecE;>P0L zRA7aM2hES^%wz?;0Z6w+MOV}@X{`+LJQZIq{-K!5e^yOT#B1C<6?YX6u=DhQ{v7)h zPsFXXS{{hfCAB3-OTH?(UpAx6sC-TN#_|s;-mb8ySW*$ZDRon&^fh7;;X`a9YKX(c z&m~qROG|=F)|8}_aM`Ush(kmGp#aXUjQ1fCNhA=dgi1zO3AKX-*pz);WuH=*Sj&~} zm^ol#qKVjxG4Tf&6PwEs@jh|AW2ghXDTy=0C5(bd-6-qXaeyU+MM*-UQ(>e?RFs#9 zAbte=2%bp!#IRzzVh%(hA>wa^kc6bx?`acd+@zly=_U0a8v?}|SENCi!dFNX%M{@x zxWYlPnEO_(0=|U?U-Alg6>vF_fG!s)aulTPn`yX=E-lIBE4C_*DtbD4ANAxR#dgJh zuFPh-j89JnUvWb5qv9^rflm}vnkwqs(`_mpsG*DdzS4oM!%2L_<B~T@-lD*tl?b>N z>Q%t&XmGz*z-ymD*e_!m@#bjt?<H<3w0aw0MMIB)k!M_lsL$h$hj^(z8wPWRM-D1k zTT%(iBbuYaA3tPdkkVLG(p=KU;^GN-r{0c3B_EcYVT6I-R70>KV{tAjxmI!qn?xZ< z4Ms_5dCDe~^p~cV=9gBKww8WXdP9avMoQPD2}=Gc)hvCp6kK6x`sbxa$RII<Dusej zX&EXtDYaK6J6&WNpHjEdAhn_|epDy0FP5nCp8*^%tLXh()%sY(O=(AIgUXcFr<DkQ zFFjm(9+P30Qfxtg?t<s;cNG~X7X&dWzx3DAt}-G1e(;g<;aHy(l@69Z#qSQ0%l|)r z9F(K7Ib~Xuw@((!k=G|_mf4m?mUWd4mQO5q?}|rdi^^8?DM1cn`VP6LSgA?|G5@?X z%CR(ISyEYb*{-q!Wj{+%Sw>lrIv<^_#y-zb{}_)sY4=Q2cC74MsNkcr&jwU^>`WEq zuRv8!PFF3J!OeRyH_?BT0b|DYxON~9l}{^o&MDKKQ9ifau-u~DhNHdORL{T_o^~$! zd5B76FcY*K+LpsfsC-HJiU+C&Vn4iVeN$1ntUMP)<UVCLHrQq2ugz)v^78VA^1W)j ze>+F80;rN4@86msEdQkZc6opKlM0?3m0v3VmPL6bEbsq0H^>L&s>{O3*gt{tnWA?( zzyplX{ZUvQu9(K=H8=vyeT8-f+yM;)>Im-fyE&-BrosjPJjqh1K|HvOysf;`6&V#d z6&ov>Dq1T}S6r&NS20xa_og|UR&I)g==#&F(Y>Tojw;G3YFLgWh4w;9eux{WPDB+4 zE8e58*13S+Zsit~;KurA#dVbhtxH7}e^m5fkS01C1@C8emUazv$k8UWX$n3C?W#wj zJqK;l+7tww$R@baVUuS^A4K}d6o$#0EXlZS!<2`>F_6jO3Bxo}I}4F5<Z}jY?*uEi ze9X!%7uKRp*_(>{mEG(NoWteM<fBbBn|7&wyNJJin%>My-*me&qB6VkROR)}6E;uZ zynJ)<mVH}JZn?JQQMItzyT-c4xhAY;^|nRZe6|HkCvJMU>F-L7%88Xam8O+mmBF!S zQ{N^?ra&jhKLUCc-3hb|w3w#6MnHKhr&Z3ul=ldxyr5UY(q%F?*WXsE>c7fCiUj=- zWT+%Gd~vT8v8XbpGMUBXQ|PD{UR#`?azkZlWp(9Yn!8?txodBdyRK}kr2Jp*t8v%< zs@%0ViSH{fR9?pT-iyKaJ~DpgoytEepK*O=v!*G;*DE0=h&}L?Pk<MDOegq<49M(` z+meVjzqQ#{%HO<T^TN$=<2EyAJL!3P8|G=V-DWpDPdo8Ey$xraVa~vIv^ipPJUed< zfJ@Ql)Xm^y2XW^pTZN;}NfK<{TxD6cs48DMmOf$guFaoq{(W=b=CP{TReDmidEe%b z)RAI_8pfQ~nS?f9-uxpZpuxz}W*9PPGCwS(q;`>2F52QU)^N5rzo?q5hD+rtxKu+G zeI`OEvT|$`11E5ko05X6JgXvE8`F1HK`Jv0NgaD2lS-AWDwE?icG74kU_iE&=TOyL z)mnA5>T1>ZRoz?A7X2;aElyjaw#0AAz=S!8oqsT#!pLL_eR<WX|9Yv{)2ovKt5bES z>UX?45V}p@^N;~5vZ{fqXPlRM682JGn1r@W+yWPAzY?`)#CoZ3R$*7)=3LSpGSL?I zEf51rV#p2PlD;KqOBm&nUQ4^AKVw|d3s?=jc402slDB0S>5{%><CY4BtmtP$Rn=P> z=&C9hm-H42L9YVY>e`mWDza4scMM0iTvD0vJ*jBR%`JaIf)vs=4SHF)N(}50*eAy~ z4Q+Y6<poDw0`XC8Nk`RFsuxN5)ibN-SL?HL-cHY|9?WXBNwqbe)pk6qdIOAHwlG7p zdU^Gl>VoQhTeE6ZP)0h}*YB%SRr<O)onK8<*H-TY<8Q|!kfbnn0HKK*_e|z6y*-#d zq54Gi`RZ?~A5}l!s=sv&-W%R(Oxwfmp0NQ)Tv2_y8Z^K(Tla}-iRZ1auyx&}G9n3W z6>fb~or$~o3KQoK{NGlSt!n&V4+ZMB^%ef_&MTmS|4HMxHFv^R#n$SrN4H+vdUtDI zjb<n5{nHBxTy$T9X6m;B>rdK76}pqQ?tuhjx|4u2hR6=`l3-HGSLkMJJv{)P6I(ys zdYO^lvuLte2%3H}gCSWwmVBkqP2buv0H$8Lip)&3b$IIwm>n>ILK&d#oysmUQ!p`- z$FG@IGrMNN11dnW45EdVUGPCcW?mpeCd(l|2-cHRIiq0DAI(8E9yPRn63hq3F*BfD zOpD&U$9ZM^PivBDa%(Pco5P`v)D%>+uBM(v8`o-7^S^F_*twcrH3w_nWB1_&dLKH& zKCC%ea{=$e3wR$or=gnfYWg2QUx5mj@bqf#)u_5D@fla<HE>94Mz_5Qc_yG7s`+=@ z1ejH23c=3>(Nsw)Qpg{98IXV-vZemHO?w-w|8m>L>c8AD$M7dh<WI9i{`@m3e_O=1 z_-!d{_xIA>*MjbE%igvgcYiPLzE(y9FJs#W+rFxuQG20IP&c#AsqW*t@9G}cy{P}7 zabn|=#-zsWO>>%jnnI;$+o^5mDay?o!RiOISi!dMw>_=ZsGUOH7+!+%w*9hA1!F)i zIMDP!I4q~%g@k`JFVMge=()5%RZtwi_MO_e+7nV#t6jUAikz=CskN+KL=R&+r@^V? z)C{%$wITF(U+()ilqKgTN!DvqYBNct+3&OowwyOwTUxuNwz+n1?J>qlMCD?edtmhk z-!83Nqymakni5)fm<afvSsk@YyrA|<?fu%$+P~r6%i8O;AOMn<M~z?_9KBA3TFhiz zXBE8hT9u2myIDt+>oSE#Xx(H?;35+Fb#v>C>ma092@agU*3ro`jA)0EVK)4|K`yBC zs#{hUQFnwp8|5t3_sc+aF?Gpo|9>DazuZ?>Sf{9~u4}AoV@CZeXUXbhMtxsp)PFFe z?ohe>5(Wsjkhj-eQ1=*_mV)Yjtb@CUK+!;Ex<6KTUj^ajF&-b`eXLvcyJ?#Blj{xZ z&FU-a>+0b)PFSuIjez>u^;%5lLYW=~(@RU<U|!DurhZYqd;QY-i27u>3-c##Pf1A^ zhyfg#od3#g=Ie7&eP(^J`fcVLff~VW=HGLB1}-y%ZYcN{>vu7p6xTS46*M5L<4Nl8 z)c;=J)1cX~puwm?(%{#S+ECNb((r!6*@k-!oehr~!1hlQ04aM0yD|F^Qx8E1q|l?9 zETAeLHN4g^gW4{M5YayXde|<|sA}s|v4xPaJn|u2TL`+l@!#MSH`q70<5S#?PjMp1 z-3_4)(G77NlOgR(Ab6i*PD3XNHDouG{fE=gW;qRo3a2sszwvOR9P=T`L=B%cT&6jO zT)=A$*BWk8%ts~7d^{!<Dx_AJcY$F;GFdi+cMg*7HT=_v$Z)sd-eHJ*4$a^<zR_se z=#hvTXEz#ATVLZ*;{tpwQa|g%GV>L`C4cfJd9*x}-?*$Xyb&@%lI+ki$S2A;+B~EJ z=JX7*QDa79bv$a!Ya||0Rsc|p@{aX)j6lj=Qc24DWVDA&iBFQR1v$dT_Qo$8Z#QW) zO@&)fb5Y}ajVI|{I0IuHCKTL{&O80I@fvgd|D}9u8t*sua5Tr4V?>TNLc&K@4oIO4 z+ZYm)u<@Z>)TGs<;to?x`p%T_#+s~~oSD-Rfc=07t)MZ^vaPcgHLYqo25Zt3)3l!) zTB){6Q(9A5)2=wwl+#qKq8Iif^}@n<)Kt|}&nSm|AM`yTbHTq{O8@a6=^O;>JnuvH zI<ls7O<y)~{$JnG)8fyaq3<&5c$rPlcdXx0v18kgT`kL6B6fxBmhHZ{``(_YJ@I?d zUgy0l_r^-6Hox8M(Cpdl*BsoeXs&K<X+GF|yZOQPfgQ7UWJpo-f@YKcAx1kuSP`Tz zBx^1-VUN}^T7?@%cf&XlHHSAR$x!p^=6E{a{2yde{@?RZb4GIkJ~qeju`%Y>D698b z$H2fKW3sfsD@KTaOhwJ_Hh%?}4ZN)>S5gM)&{@UG20MEmsn{+rsmV3P+5G0en*ZJ2 z2?H8xChtOp3oCdZ(=3nyFyh-ax95_QStZYC`~2;u+a=p=x4Ul-*dD(<iB6TyV3U7b z$c(-Hq{kU7Dw8r*d#lQkotT5Rhi;D`w;%Cx72ZqQ8_Ar$j~Jf__+mry=g{23?bX|N zZExFtaQjEwFKoZH{jPd*u4Hph$>yGL&DE$hHwl{iV*59Aa}jKFMPzg1TywVMy((S3 z4}q6NIsEP8J2ZB@u6&Gnm`iZK0Dj&{;tb&Az@1iJAw07~w8LhH;||XqAv<CvXouMj z34{lnf$)GcC#3KnhB~9}V}FK5JZvP-8C4(qGvI-W;r4MyMiUD{e*iVaQhm5=v#@K& z@f{a-+}QEkj-j0^c1m}yZSm#kjVo4)F5YpKsr30`CD=%rVbGpJR3Y~A5>L5s$BUga zch23paHkK%{O{!NoJ`Y-BFx^dW1?ER)TD>-B(&3Fr;D1T@O&j!jjU61&Un6x+q=K~ zuQ1HR*}|PAJ8O2HZIQINsH9*IB$M=%@(gzF+Ie8-N0^EwtE{<@VP%t{JD;^I7>uvr zneY5z=Px^zJ0I_S(K3<aL^eZRV1ELd#Z!$Ild^khyj!K-sX3@+YRfEoFNNT}G~P1; zDSDIxy(DM+h%(}M3@O1MhRl)<Hn4+$vB$_8TnKIPh!U>9)jrHBQmW+qme`iYUGt^< zmgJV)mh~*cV6r@z03~fHY1x8N!n+tHm?V|+ue9uMIn?rEmtYrMO~$_iUQu#E%gL6X zT9hpy<h7h@`I_1?tfpg~nqK4`^^d8TwF^)y^%~={SpXs@BW*gWId9#`;O{cnWxQ)K z>8o;ZNRD<%b~)mRdoAF|Xi;_ENJsxr4|WpJhTdP=6|>uVx9e`d-7Ddq4$WPeyBc<# z-1Wn*`@5%0(XO?-%GLXqqt>mNpw!vbvg?qFQfIBIQU@~n>^isWYA-mkJi-IR{=6P) zH3>nDlY@3W+>HRFZ`a>yAh`@fxL94ilb4HjzqK3EPlC#a)g0xkX@GJ#l%30M^xJAv z_tO&yLck}g6x8KqJd@oyyNh;j+I@u6t1n>Ay>3$)+P!smBjnkG@ay9lXm`u*y%5X$ z6B}tVB?s;PVE1Wyf5zhdsl5*1F7Lj<afr+C;lG<9+^yU_w8v_X%bq1%hd0u91VHL< zWr1LiV9y(S=IvQXUj4!Z#4R9IRm}4|N{_<)&>9<Jp5}97zCVQR#&dB_V}*Feo-oRr zSgcJh1~5bKX7l%??y1<*Dnom+_pD=N?sX$%NG-)2>1g$WieXR9o<=H6`5bF$*0#wI z>^ZvUqdlMOx!N@bSw3{9L4Y*GX+TJjkaWCLc9Fb3A%2mG_FUgH43*s4^GjbJ*r)a8 z43FfYJrDNu(jt8cmgGwZ;ld-}uyyVB{6n%@kpE}z#JyHYCH$}VzOi>MhhDQFU(^3e z;#q;G_@g|u*JH1WRV$yHnV(tF_!KJ|f09+n%i2q{9&f$Sdb#yl>)qCuZJJWS-m1O( z_I9+k#iPBodz&d9d}TjNla3?^_P)FK)ZQ=l-o*IOLlrT<{OJ|7&d+M7_~l(-S92<b zXZJpBeXaGK)&;Hlt!Ayxtql@>E3Z}1IuXJ<&jK|&8wdX^QR|G>+2q}C5KVTLywvS1 zc*YCQVv2QEozk7nLaiRHWx$rC3tEF(SGFd$=Kp_1Um=QTRf*zR_0U)KZ^HvhGV+6+ zk5-OqPG?S!{+}Q)!j&3rD)>Bj5YoSNw|2CSVIt|%%HIFsgL~P{?9lh}1Z{7$&1=hR zyGBLflC}=QFzLbAC<NV}Z<DmywmG%AwfVNKY?B{{c-!+Q;G(?qCxIO}kE=SbJ~!uI z8Sr`40iP#hjRw=pd9H1hZLMt|wViGI3TScLwl?sPBJYM<fH6lj$w4Z37u$}|bnnSU zMn_YmGS&smH&^JjpzZFy1^cY_Edwh}IZwB(r){upd>`8P7Ihhtwicy=*Pf>WjmX@s zGKE-cADhjZ5YMMrG(vkmSze(%XP*&wCg*0OeGdCPajq%txg<BI(0+U0Qt&tTr9<5J zMeLK(ExrS}Ge!FnRT`X-UB}Dbw{!oV{YUoy+&=lh+yhnz>JObdbnlSz@Z7_Chc6$# zad_lNxOB?C<NGe`yRz^4{;B)5_S^0E*dMt+d;fM0t!`i`>PNKRBP?F9@8^B@_dVKA zCju0cx<G~QJNq7zT%?jrS<Bk`KG^r1we@|7PxSi_WeVZN{j>0*UIY@o-(bHvCea^Z z5-sL1>SlcC72@9gs`~%!luiwd=A=y5$M*Gc8rom5e_L-?7g {WwHMy?{6wKiZo? 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 HfPeo34goW} literal 0 HcmV?d00001 diff --git a/extlibs/libs-osx/Frameworks/freetype.framework/Versions/Current b/extlibs/libs-osx/Frameworks/freetype.framework/Versions/Current new file mode 120000 index 00000000..8c7e5a66 --- /dev/null +++ b/extlibs/libs-osx/Frameworks/freetype.framework/Versions/Current @@ -0,0 +1 @@ +A \ No newline at end of file diff --git a/extlibs/libs-osx/Frameworks/freetype.framework/freetype b/extlibs/libs-osx/Frameworks/freetype.framework/freetype new file mode 120000 index 00000000..f38cdade --- /dev/null +++ b/extlibs/libs-osx/Frameworks/freetype.framework/freetype @@ -0,0 +1 @@ +Versions/A/freetype \ No newline at end of file diff --git a/src/SFML/Graphics/CMakeLists.txt b/src/SFML/Graphics/CMakeLists.txt index 995c0a38..3058c8de 100644 --- a/src/SFML/Graphics/CMakeLists.txt +++ b/src/SFML/Graphics/CMakeLists.txt @@ -68,9 +68,17 @@ set(SRC ) # let CMake know about our additional graphics libraries paths (on Windows and OSX) -if (WINDOWS OR MACOSX) - set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "${PROJECT_SOURCE_DIR}/extlibs/headers/freetype") +if(WINDOWS OR MACOSX) set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "${PROJECT_SOURCE_DIR}/extlibs/headers/jpeg") +endif() + +if(WINDOWS) + set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "${PROJECT_SOURCE_DIR}/extlibs/headers/libfreetype/windows") + set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "${PROJECT_SOURCE_DIR}/extlibs/headers/libfreetype/windows/freetype") +elseif(MACOSX) + set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "${PROJECT_SOURCE_DIR}/extlibs/headers/libfreetype/osx") + set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "${PROJECT_SOURCE_DIR}/extlibs/headers/libfreetype/osx/freetype2") + set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "${PROJECT_SOURCE_DIR}/extlibs/libs-osx/Frameworks") endif() # find external libraries @@ -81,9 +89,6 @@ find_package(JPEG REQUIRED) if(LINUX) find_package(X11 REQUIRED) endif() -if(MACOSX) - find_package(ZLIB REQUIRED) -endif() # add include paths of external libraries include_directories(${FREETYPE_INCLUDE_DIRS} ${GLEW_INCLUDE_PATH} ${JPEG_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR}) @@ -95,9 +100,6 @@ if(BUILD_SHARED_LIBS) set(GRAPHICS_EXT_LIBS ${GRAPHICS_EXT_LIBS} ${OPENGL_gl_LIBRARY}) if(LINUX) set(GRAPHICS_EXT_LIBS ${GRAPHICS_EXT_LIBS} ${X11_LIBRARIES}) - elseif(MACOSX) - # We use static version of freetype so we need to link against zlib. - set(GRAPHICS_EXT_LIBS ${GRAPHICS_EXT_LIBS} ${ZLIB_LIBRARIES}) endif() endif()