Hello community, here is the log from the commit of package php7 for openSUSE:Factory checked in at 2017-12-13 11:57:14 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/php7 (Old) and /work/SRC/openSUSE:Factory/.php7.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "php7" Wed Dec 13 11:57:14 2017 rev:28 rq:555915 version:7.2.0 Changes: -------- --- /work/SRC/openSUSE:Factory/php7/php7.changes 2017-12-02 13:10:40.906348157 +0100 +++ /work/SRC/openSUSE:Factory/.php7.new/php7.changes 2017-12-13 11:57:51.822140362 +0100 @@ -1,0 +2,16 @@ +Mon Dec 11 09:12:20 UTC 2017 - [email protected] + +- updated to 7.2.0: features and improvements: + * Convert numeric keys in object/array casts + * Counting of non-countable objects + * Object typehint + * HashContext as Object + * Argon2 in password hash + * Improve TLS constants to sane values + * Mcrypt extension removed + * New sodium extension +- patches: + . php7-systzdata-v14.patch transformed to php7-systzdata-v15.patch + . removed upstreamed php7-aarch64-mult.patch + +------------------------------------------------------------------- Old: ---- php-7.1.12.tar.xz php-7.1.12.tar.xz.asc php7-aarch64-mult.patch php7-systzdata-v14.patch New: ---- php-7.2.0.tar.xz php-7.2.0.tar.xz.asc php7-systzdata-v15.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ php7.spec ++++++ --- /var/tmp/diff_new_pack.LgBHLf/_old 2017-12-13 11:57:53.038081663 +0100 +++ /var/tmp/diff_new_pack.LgBHLf/_new 2017-12-13 11:57:53.042081470 +0100 @@ -16,8 +16,8 @@ # -%global apiver 20160303 -%global zendver 20160303 +%global apiver 20170718 +%global zendver 20170718 %define suhosin_version 0.9.38 %define pkg_name php7 %define extension_dir %{_libdir}/%{pkg_name}/extensions @@ -43,7 +43,7 @@ %endif %endif Name: php7 -Version: 7.1.12 +Version: 7.2.0 Release: 0 Summary: Interpreter for the PHP scripting language version 7 License: PHP-3.01 @@ -68,7 +68,7 @@ Patch4: php7-no-build-date.patch Patch5: php7-pts.patch Patch6: php7-openssl.patch -Patch7: php7-systzdata-v14.patch +Patch7: php7-systzdata-v15.patch Patch8: php7-systemd-unit.patch Patch9: php7-depdb-path.patch Patch10: php7-embed.patch @@ -83,8 +83,6 @@ Patch14: php7-odbc-cmp-int-cast.patch # https://bugs.php.net/bug.php?id=70461 Patch15: php7-fix_net-snmp_disable_MD5.patch -# https://bugs.php.net/bug.php?id=70015 -Patch16: php7-aarch64-mult.patch # should be upstreamed, will do later Patch17: php7-date-regenerate-lexers.patch BuildRequires: apache-rpm-macros @@ -110,6 +108,7 @@ BuildRequires: libjpeg-devel BuildRequires: libopenssl-devel BuildRequires: libpng-devel +BuildRequires: libsodium-devel BuildRequires: libtidy-devel BuildRequires: libtiff-devel BuildRequires: libtool @@ -237,10 +236,6 @@ Summary: Tar file management class Group: Productivity/Networking/Web/Servers Requires: %{name}-pear = %{version} -# php5-pear-Archive_Tar provides Tar.php, which is provided -# by pear package itself; php5-pear-Archive_Tar was dropped -# on version 1.3.10, install-pear-nozlib.phar -# provides 1.4.0 currently Provides: php-pear-Archive_Tar = 1.4.0 Provides: php5-pear-Archive_Tar = 1.4.0 Obsoletes: php-pear-Archive_Tar < 1.3.11 @@ -788,6 +783,16 @@ communication functions based on the BSD sockets API, providing the possibility to act as a socket server as well as a client. +%package sodium +Summary: Cryptographic Extension Based on Libsodium +Group: Development/Libraries/PHP +Requires: %{name} = %{version} +Provides: php-sodium = %{version} + +%description sodium +PHP binding to libsodium software library for encryption, decryption, +signatures, password hashing and more. + %package sqlite Summary: SQLite database client for PHP Group: Development/Libraries/PHP @@ -993,7 +998,6 @@ %patch12 -p1 %patch14 %patch15 -%patch16 -p1 %patch17 -p1 # Safety check for API version change. @@ -1011,7 +1015,6 @@ fi %build -chmod 644 README.namespaces UPGRADING # aclocal workaround - to be improved cat `aclocal --print-ac-dir`/{libtool,ltoptions,ltsugar,ltversion,lt~obsolete}.m4 >>aclocal.m4 @@ -1089,6 +1092,7 @@ --enable-hash \ --with-mhash \ --enable-phpdbg=no \ + --with-sodium=shared \ %if 0%{?suse_version} >= 1320 --with-libzip \ %endif @@ -1355,7 +1359,6 @@ install -d %{buildroot}%{_sysconfdir}/rpm sed -e "s/@PHP_APIVER@/%{apiver}/;s/@PHP_ZENDVER@/%{zendver}/" < $RPM_SOURCE_DIR/macros.php > macros.php install -m 644 -c macros.php %{buildroot}%{_sysconfdir}/rpm/macros.php - #install fpm init script. install -D -m 0644 ./build-fpm/sapi/fpm/php-fpm.service %{buildroot}%{_unitdir}/php-fpm.service ln -s service %{buildroot}%{_sbindir}/rcphp-fpm @@ -1665,6 +1668,11 @@ %{extension_dir}/soap.so %config(noreplace) %{php_sysconf}/conf.d/soap.ini +%files sodium +%defattr(644,root,root,755) +%{extension_dir}/sodium.so +%config(noreplace) %{php_sysconf}/conf.d/sodium.ini + %files sockets %defattr(644,root,root,755) %{extension_dir}/sockets.so ++++++ install-pear-nozlib.phar ++++++ ++++ 7678 lines (skipped) ++++ between install-pear-nozlib.phar ++++ and /work/SRC/openSUSE:Factory/.php7.new/install-pear-nozlib.phar ++++++ php-7.1.12.tar.xz -> php-7.2.0.tar.xz ++++++ /work/SRC/openSUSE:Factory/php7/php-7.1.12.tar.xz /work/SRC/openSUSE:Factory/.php7.new/php-7.2.0.tar.xz differ: char 25, line 1 ++++++ php7-no-build-date.patch ++++++ --- /var/tmp/diff_new_pack.LgBHLf/_old 2017-12-13 11:57:53.254071237 +0100 +++ /var/tmp/diff_new_pack.LgBHLf/_new 2017-12-13 11:57:53.258071044 +0100 @@ -1,8 +1,8 @@ -Index: php-7.0.15/ext/standard/info.c +Index: php-7.2.0/ext/standard/info.c =================================================================== ---- php-7.0.15.orig/ext/standard/info.c 2017-01-17 12:52:56.000000000 +0100 -+++ php-7.0.15/ext/standard/info.c 2017-01-24 13:25:42.441520643 +0100 -@@ -863,7 +863,7 @@ PHPAPI void php_print_info(int flag) +--- php-7.2.0.orig/ext/standard/info.c 2017-11-28 10:23:01.000000000 +0100 ++++ php-7.2.0/ext/standard/info.c 2017-12-11 10:15:31.169547129 +0100 +@@ -830,7 +830,7 @@ PHPAPI void php_print_info(int flag) php_info_print_box_end(); php_info_print_table_start(); php_info_print_table_row(2, "System", ZSTR_VAL(php_uname)); @@ -11,7 +11,7 @@ #ifdef COMPILER php_info_print_table_row(2, "Compiler", COMPILER); #endif -@@ -871,7 +871,7 @@ PHPAPI void php_print_info(int flag) +@@ -838,7 +838,7 @@ PHPAPI void php_print_info(int flag) php_info_print_table_row(2, "Architecture", ARCHITECTURE); #endif #ifdef CONFIGURE_COMMAND @@ -20,11 +20,11 @@ #endif if (sapi_module.pretty_name) { -Index: php-7.0.15/sapi/fpm/fpm/fpm_main.c +Index: php-7.2.0/sapi/fpm/fpm/fpm_main.c =================================================================== ---- php-7.0.15.orig/sapi/fpm/fpm/fpm_main.c 2017-01-24 13:25:42.445520711 +0100 -+++ php-7.0.15/sapi/fpm/fpm/fpm_main.c 2017-01-24 13:27:27.799301697 +0100 -@@ -1757,9 +1757,9 @@ int main(int argc, char *argv[]) +--- php-7.2.0.orig/sapi/fpm/fpm/fpm_main.c 2017-11-28 10:23:05.000000000 +0100 ++++ php-7.2.0/sapi/fpm/fpm/fpm_main.c 2017-12-11 10:15:31.213547858 +0100 +@@ -1755,9 +1755,9 @@ int main(int argc, char *argv[]) SG(request_info).no_headers = 1; #if ZEND_DEBUG @@ -36,36 +36,11 @@ #endif php_request_shutdown((void *) 0); fcgi_shutdown(); -Index: php-7.0.15/configure.in +Index: php-7.2.0/sapi/cli/php_cli.c =================================================================== ---- php-7.0.15.orig/configure.in 2017-01-17 12:51:49.000000000 +0100 -+++ php-7.0.15/configure.in 2017-01-24 13:25:42.445520711 +0100 -@@ -1283,8 +1283,8 @@ fi - - EXTRA_LDFLAGS="$EXTRA_LDFLAGS $PHP_LDFLAGS" - EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM $PHP_LDFLAGS" -- --PHP_BUILD_DATE=`date '+%Y-%m-%d'` -+#totally fake, not used anywhere in userspace -+PHP_BUILD_DATE="1970-01-01" - AC_DEFINE_UNQUOTED(PHP_BUILD_DATE,"$PHP_BUILD_DATE",[PHP build date]) - - case $host_alias in -@@ -1295,7 +1295,8 @@ case $host_alias in - AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[hardcode for each of the cross compiler host]) - ;; - *) -- PHP_UNAME=`uname -a | xargs` -+dnl Totally fake, it wasnt and will never be reliable anyway. -+ PHP_UNAME="Linux suse 2.6.36 #1 SMP 2011-02-21 10:34:10 +0100 x86_64 x86_64 x86_64 GNU/Linux" - AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[uname -a output]) - PHP_OS=`uname | xargs` - AC_DEFINE_UNQUOTED(PHP_OS,"$PHP_OS",[uname output]) -Index: php-7.0.15/sapi/cli/php_cli.c -=================================================================== ---- php-7.0.15.orig/sapi/cli/php_cli.c 2017-01-24 13:25:42.445520711 +0100 -+++ php-7.0.15/sapi/cli/php_cli.c 2017-01-24 13:30:26.426323634 +0100 -@@ -685,8 +685,8 @@ static int do_cli(int argc, char **argv) +--- php-7.2.0.orig/sapi/cli/php_cli.c 2017-11-28 10:23:05.000000000 +0100 ++++ php-7.2.0/sapi/cli/php_cli.c 2017-12-11 10:15:31.225548056 +0100 +@@ -697,8 +697,8 @@ static int do_cli(int argc, char **argv) goto out; case 'v': /* show php version & quit */ @@ -76,11 +51,11 @@ #if ZTS "ZTS " #else -Index: php-7.0.15/sapi/cgi/cgi_main.c +Index: php-7.2.0/sapi/cgi/cgi_main.c =================================================================== ---- php-7.0.15.orig/sapi/cgi/cgi_main.c 2017-01-24 13:25:42.445520711 +0100 -+++ php-7.0.15/sapi/cgi/cgi_main.c 2017-01-24 13:31:28.467373332 +0100 -@@ -2216,9 +2216,9 @@ consult the installation file that came +--- php-7.2.0.orig/sapi/cgi/cgi_main.c 2017-11-28 10:23:05.000000000 +0100 ++++ php-7.2.0/sapi/cgi/cgi_main.c 2017-12-11 10:15:31.233548189 +0100 +@@ -2377,9 +2377,9 @@ consult the installation file that came SG(request_info).no_headers = 1; } #if ZEND_DEBUG @@ -92,3 +67,22 @@ #endif php_request_shutdown((void *) 0); fcgi_shutdown(); +Index: php-7.2.0/configure.ac +=================================================================== +--- php-7.2.0.orig/configure.ac 2017-11-28 10:22:53.000000000 +0100 ++++ php-7.2.0/configure.ac 2017-12-11 10:17:12.611228343 +0100 +@@ -1268,10 +1268,12 @@ fi + EXTRA_LDFLAGS="$EXTRA_LDFLAGS $PHP_LDFLAGS" + EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM $PHP_LDFLAGS" + +-PHP_BUILD_DATE=`date '+%Y-%m-%d'` ++#totally fake, not used anywhere in userspace ++PHP_BUILD_DATE="1970-01-01" + AC_DEFINE_UNQUOTED(PHP_BUILD_DATE,"$PHP_BUILD_DATE",[PHP build date]) + +-PHP_UNAME=`uname -a | xargs` ++dnl Totally fake, it wasnt and will never be reliable anyway. ++PHP_UNAME="Linux suse 2.6.36 #1 SMP 2011-02-21 10:34:10 +0100 x86_64 x86_64 x86_64 GNU/Linux" + AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[uname -a output]) + PHP_OS=`uname | xargs` + AC_DEFINE_UNQUOTED(PHP_OS,"$PHP_OS",[uname output]) ++++++ php7-systzdata-v14.patch -> php7-systzdata-v15.patch ++++++ --- /work/SRC/openSUSE:Factory/php7/php7-systzdata-v14.patch 2017-02-18 03:18:51.822346295 +0100 +++ /work/SRC/openSUSE:Factory/.php7.new/php7-systzdata-v15.patch 2017-12-13 11:57:51.462157741 +0100 @@ -1,7 +1,11 @@ +# License: MIT +# http://opensource.org/licenses/MIT + Add support for use of the system timezone database, rather than embedding a copy. Discussed upstream but was not desired. History: +r15: adapt for timelib 2017.05beta7 (in 7.2.0RC1) r14: improve check for valid tz file r13: adapt for upstream changes to use PHP allocator r12: adapt for upstream changes for new zic @@ -22,12 +26,12 @@ r2: add filesystem trawl to set up name alias index r1: initial revision -diff -up php-7.1.0RC4/ext/date/lib/parse_tz.c.systzdata php-7.1.0RC4/ext/date/lib/parse_tz.c ---- php-7.1.0RC4/ext/date/lib/parse_tz.c.systzdata 2016-10-17 13:35:11.000000000 +0200 -+++ php-7.1.0RC4/ext/date/lib/parse_tz.c 2016-10-17 13:40:47.806358674 +0200 -@@ -24,6 +24,16 @@ - +diff -up ./ext/date/lib/parse_tz.c.systzdata ./ext/date/lib/parse_tz.c +--- ./ext/date/lib/parse_tz.c.systzdata 2017-08-22 09:40:38.000000000 +0200 ++++ ./ext/date/lib/parse_tz.c 2017-08-22 12:16:00.370298079 +0200 +@@ -25,8 +25,21 @@ #include "timelib.h" + #include "timelib_private.h" +#ifdef HAVE_SYSTEM_TZDATA +#include <sys/mman.h> @@ -37,16 +41,8 @@ +#include <unistd.h> + +#include "php_scandir.h" -+#endif + - #include <stdio.h> - - #ifdef HAVE_LOCALE_H -@@ -36,8 +46,12 @@ - #include <strings.h> - #endif - -+#ifndef HAVE_SYSTEM_TZDATA ++#else #define TIMELIB_SUPPORTS_V2DATA #include "timezonedb.h" +#endif @@ -55,7 +51,7 @@ #if (defined(__APPLE__) || defined(__APPLE_CC__)) && (defined(__BIG_ENDIAN__) || defined(__LITTLE_ENDIAN__)) # if defined(__LITTLE_ENDIAN__) -@@ -59,6 +73,11 @@ static int read_preamble(const unsigned +@@ -67,6 +80,11 @@ static int read_php_preamble(const unsig { uint32_t version; @@ -67,7 +63,7 @@ /* read ID */ version = (*tzf)[3] - '0'; *tzf += 4; -@@ -302,7 +321,429 @@ void timelib_dump_tzinfo(timelib_tzinfo +@@ -374,7 +392,429 @@ void timelib_dump_tzinfo(timelib_tzinfo } } @@ -498,7 +494,7 @@ { int left = 0, right = tzdb->index_size - 1; #ifdef HAVE_SETLOCALE -@@ -341,21 +782,88 @@ static int seek_to_tz_position(const uns +@@ -419,9 +859,48 @@ static int seek_to_tz_position(const uns return 0; } @@ -546,17 +542,8 @@ +#endif } - const timelib_tzdb_index_entry *timelib_timezone_builtin_identifiers_list(int *count) - { -+#ifdef HAVE_SYSTEM_TZDATA -+ *count = timezonedb_system->index_size; -+ return timezonedb_system->index; -+#else - *count = sizeof(timezonedb_idx_builtin) / sizeof(*timezonedb_idx_builtin); - return timezonedb_idx_builtin; -+#endif - } - + const timelib_tzdb_index_entry *timelib_timezone_identifiers_list(timelib_tzdb *tzdb, int *count) +@@ -433,7 +912,30 @@ const timelib_tzdb_index_entry *timelib_ int timelib_timezone_id_is_valid(char *timezone, const timelib_tzdb *tzdb) { const unsigned char *tzf; @@ -587,32 +574,27 @@ + return (inmem_seek_to_tz_position(&tzf, timezone, tzdb)); } - static void skip_64bit_preamble(const unsigned char **tzf, timelib_tzinfo *tz) -@@ -380,24 +888,54 @@ static void read_64bit_header(const unsi - timelib_tzinfo *timelib_parse_tzfile(char *timezone, const timelib_tzdb *tzdb) + static int skip_64bit_preamble(const unsigned char **tzf, timelib_tzinfo *tz) +@@ -475,12 +977,14 @@ static timelib_tzinfo* timelib_tzinfo_ct + timelib_tzinfo *timelib_parse_tzfile(char *timezone, const timelib_tzdb *tzdb, int *error_code) { const unsigned char *tzf; + char *memmap = NULL; + size_t maplen; timelib_tzinfo *tmp; int version; + int transitions_result, types_result; + unsigned int type; /* TIMELIB_TZINFO_PHP or TIMELIB_TZINFO_ZONEINFO */ - if (seek_to_tz_position(&tzf, timezone, tzdb)) { + if (seek_to_tz_position(&tzf, timezone, &memmap, &maplen, tzdb)) { tmp = timelib_tzinfo_ctor(timezone); - version = read_preamble(&tzf, tmp); - read_header(&tzf, tmp); - read_transistions(&tzf, tmp); - read_types(&tzf, tmp); -- if (version == 2) { -- skip_64bit_preamble(&tzf, tmp); -- read_64bit_header(&tzf, tmp); -- skip_64bit_transistions(&tzf, tmp); -- skip_64bit_types(&tzf, tmp); -- skip_posix_string(&tzf, tmp); -- } -- read_location(&tzf, tmp); + version = read_preamble(&tzf, tmp, &type); +@@ -503,6 +1007,29 @@ timelib_tzinfo *timelib_parse_tzfile(cha + timelib_tzinfo_dtor(tmp); + return NULL; + } + +#ifdef HAVE_SYSTEM_TZDATA + if (memmap) { @@ -629,33 +611,30 @@ + tmp->bc = 1; + } + else { -+ strcpy(tmp->location.country_code, "??"); -+ tmp->bc = 0; -+ tmp->location.comments = timelib_strdup(""); ++ set_default_location_and_comments(&tzf, tmp); + } + + /* Now done with the mmap segment - discard it. */ + munmap(memmap, maplen); -+ } else ++ } else { ++#endif + if (version == 2 || version == 3) { + if (!skip_64bit_preamble(&tzf, tmp)) { + /* 64 bit preamble is not in place */ +@@ -520,6 +1047,9 @@ timelib_tzinfo *timelib_parse_tzfile(cha + } else { + set_default_location_and_comments(&tzf, tmp); + } ++#ifdef HAVE_SYSTEM_TZDATA ++ } +#endif -+ { -+ /* PHP-style - use the embedded info. */ -+ if (version == 2) { -+ skip_64bit_preamble(&tzf, tmp); -+ read_64bit_header(&tzf, tmp); -+ skip_64bit_transistions(&tzf, tmp); -+ skip_64bit_types(&tzf, tmp); -+ skip_posix_string(&tzf, tmp); -+ } -+ read_location(&tzf, tmp); -+ } } else { + *error_code = TIMELIB_ERROR_NO_SUCH_TIMEZONE; tmp = NULL; - } -diff -up php-7.1.0RC4/ext/date/lib/timelib.m4.systzdata php-7.1.0RC4/ext/date/lib/timelib.m4 ---- php-7.1.0RC4/ext/date/lib/timelib.m4.systzdata 2016-10-17 13:40:47.807358679 +0200 -+++ php-7.1.0RC4/ext/date/lib/timelib.m4 2016-10-17 13:42:06.304743330 +0200 -@@ -78,3 +78,16 @@ stdlib.h +diff -up ./ext/date/lib/timelib.m4.systzdata ./ext/date/lib/timelib.m4 +--- ./ext/date/lib/timelib.m4.systzdata 2017-08-22 09:40:38.000000000 +0200 ++++ ./ext/date/lib/timelib.m4 2017-08-22 11:32:29.357799927 +0200 +@@ -81,3 +81,16 @@ io.h dnl Check for strtoll, atoll AC_CHECK_FUNCS(strtoll atoll strftime gettimeofday) ++++++ php7.keyring ++++++ --- /var/tmp/diff_new_pack.LgBHLf/_old 2017-12-13 11:57:53.294069306 +0100 +++ /var/tmp/diff_new_pack.LgBHLf/_new 2017-12-13 11:57:53.294069306 +0100 @@ -1,41 +1,52 @@ -----BEGIN PGP PUBLIC KEY BLOCK----- -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 -K6BSdWmgYjuINvO0LA== -=95zT +mQINBFklYukBEAC9tCSjnoNs3ucOA9RPfKcuK87JD9jdet2UUsw4DHd/Hwmrt3T7 +WKoH1GwRp+ue5+vzXqdFRZ4gG+7tgvUsOtNb5rh22bTBsUIeGsvm/omJntXCFQhY +cfjtk04p3qtgJ5PGjZahCRYg4aQ2tGp2Mb8auFuFPsHtOHLWQCL7vQShsN9mEkEz +AQZnn9QYL+IvTQVSKsRy8XcHYZVk2uT2xQY2LvkAucWF0TrjU2LJ2IFdepc0+jz1 +xasBR0afT9YccHpQH5w8yOW+9o/n7BiMHfgT0sBMdKCfKVoQrQe0CsFnqc/+V4Ns +nHkyUrbfKiIFm+NOupIMpL6/A+Iky5YpjIIUHPuVL6VAY6wm463WI8FPk+NtGekm +9jqISxirkYWsIEoZtCrycC8N0iUbGq8eLYdC9ewU5dagCdLGwnDvYjOvzH156LTi +E/Svrq2q0kBDAa7CTGRlT+2sgD89ol73QtAVUJst99lVHMmIL1cV4HUpvOlTJHRd +sN6VhlPrw6ue+2vmYsF86bYni6vMH6KJnmiWa1wijYO0wiSphtTXAa0HE/HTV+hS +b9bCRbyipwdqkEeaj8sKcx9+XyNxVOlUfo8pQZnLRTd61Fvj+sSTSEbo95a5gi0W +DnyNtiafKEvLxal7VyatbAcCEcLDYAVHffNLg4fm4H35HN0YQpUt+SuVwQARAQAB +tBpSZW1pIENvbGxldCA8cmVtaUBwaHAubmV0PohGBBMRAgAGBQJZOAX3AAoJEGFK +aQUp8WoY6k4Anjq9TJnpSpxCy1MD7MRRtuJbmX3qAKCqitK6TnaN2D3e8ii8ev7n +1V2pE4kCPgQTAQIAKAUCWSVi6QIbAwUJDShogAYLCQgHAwIGFQgCCQoLBBYCAwEC +HgECF4AACgkQ3J/40+5a8n9OJQ/9HtuZ4BMPMDFGVPUZ9DP0d74DF/QcT0V101Tr +dIZ92R4up56Dv40djjQZc2W9BmpPVFr/v6qdjapdPH5vvmatnQDz/nIOfo1iwPWG +zvmKnbDBQ4qJX7Jd6PdD/YorcD+0tOQNKLIGE9ZFQnS80iz9iaTGzvQKEQKEMugQ +Sf3kG3NBEGqKQBsTTrBQOUJ3g8w6id2/qJtrDRbL9TuCU77Dpx9HUAnjj/Ixlvd4 +RQDa/BCYzGYJlCyTsaVW3qc7DIh/pRadqtswghSETtl6SSo9yHtoYOGTxXO6UikL +EE8miOlaOPQrC9hCD+LSGc5QhNLBEKes0l79w9kw9qZ9Xfh4pw/hf1N4O3kPHyUg +0q9QaX1XKtigjTUcpdf2Kq8LtlB60p40eZE2dV3T11X+rcn33pFSXMeTJeaNKHXo +eGcva/gyZVtvi8iJhqtw9QOUkxRDvGB+FEUId3Z1yAu7ZAz6qiUCgxK/VJ6/kBb+ +YYR8K4FHLmNOd5KoiTerKQu423uuMYlYfBHpVZ9YuEJQnTEpizFEeOgaixx5RDLn +oPsd/x59VS9eaaKotTPbW/rEp7SvbKj0dR5WMfGyd/OJrcWVZy8/Kh5Mc/4KOHD+ +JGAp0bE113TkEEoTZ8gNHFdLdv52V9eXUkeT5IxyThZBkUy6palDM8A5vaf6Eet8 +xOLy9XG5Ag0EWSVi6QEQAKujAODvsdbt5n1dO29Nj5htbmt6M2A7eOjt7yUj4UMt +BaGOA08O0DVA8MJkvepMq9AJBXHZMi9Dycw3rxBHQDqHJJMwghu3RoQw1y5Wym7L +iLhoWSU/wK0BrKOULBwh+kS6udKA4oWrV/gr0JGmfdL8dZjBF10kHCfCcjcjWtmI +p2GRaoOKTlHCviNmRxzyqba7zE0Zc2maQ/4w98BI83GqD1bT8gF/5qwSI1hecBwt +9oS7EbZ1ZiE8SSE8Gr6OR3p5UNHbzqxUWy8W4r3qulCLc6g1LPXP1V59cMxX9jQJ +7lSdv0k8C6Lb6t9Wm8G63hNYgRCAmNW5EnqieTrx45K9vqoqfQK6Apfy0UoOquiu +K7QClT3wBd7kmyKsCfV0bwRA/fV/sC1Rniu8PV7CRk9ryudUXycKq33pSkrOfZjF +IQhCqdJkVc2MPbAuj2pOMutKwGKRq/Mt3O8nEfGqWaJPa36C6dhlPqjEGTIEk5P4 +93DzM7fj5VVIWyUrI8Vm9FslSvzILcONHMtKtRs2cRYA085NKDXGN7i5Am7L7ZON +fqVs3V493ICwmALzeSULNLiMtX+ESQfdWCS3Hosnjbc6INDg9BRhFt5MEWJ/qchM +3g4NQuukqtOYsiEUw8bCzepwJxXplvNYu0yQDxvP+0RzjMozruVz3VoHeyf6rSWv +ABEBAAGJAiUEGAECAA8FAlklYukCGwwFCQ0oaIAACgkQ3J/40+5a8n/8gg//a75g +XQ4csiDUTsUndb94EXqraffmMcT5oCzfcP+Mecbuv3G8oQZeLRchsW2i4QecnvPw +rXAJcF8kJuN/KZLyeh21PWBy55wo/2nbwOvQockXpK5yVeuc3DmdTaxDnW9u3QpS +wbvkEyoCpeHH6rZ1wjqn8Qi1k7njC4qgXpRrLQdRsS5ULXpf3IM+vaxbQ5avVnNR +u5zMA6M/0reL0RSjgMfnk+3AwLCtuMiy1aStCe8V7Y60/oauk+IZA1VJlSz2n367 +5YD7TkTZKkYIYZHTBw3ZPVJo08jdRUXtGJjpOyyWVjP7GMKvZuQVWqcFyc8QHHaI +PDLkdi7B9YFPWqfwJPBfUXcdzjAXI7N4XsSEeMm8S8SC4FKCidioP/A+bamKcONH +UuZ+AztvLh24ZTkqzA/sRRYpbMGUQzpcDbastuXG66s3e9pJa0R14011A4bofy6U +reh9q6TQNOkNegUUdjbGSd1bfNIdQXRH0+LBV1oaY//v+aBjswy4hJ5oXmQj5jQK +FitRCP9jzueyDdMJZ0j0Hhh4ItCzFV5zIKtWiy7pRp1DXq9LjoyWeeLfKu+HrEGj +MwyTGJiMjcL7oCHeiV/a+fY92wpUrY1/mRVLqKqDIA6/iEL2DVf21U7rXY26xxvf +4QFImZaYLwKQYLe8TOOjDA/I9bR1JJmh54yw10A= +=wdpK -----END PGP PUBLIC KEY BLOCK-----
