From ec7a9a52ec8b5dcef6164e34bf669755c674a8a0 Mon Sep 17 00:00:00 2001 From: erwin Date: Fri, 4 Jan 2013 13:36:31 +0000 Subject: [PATCH] Update to 9.6-ESV-R8. All security fixes were previously merged. Release notes: https://kb.isc.org/article/AA-00795 Approved by: delphij (mentor) git-svn-id: svn://svn.freebsd.org/base/stable/8@245039 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- contrib/bind9/CHANGES | 66 +- contrib/bind9/README | 9 +- contrib/bind9/bin/check/check-tool.c | 5 +- contrib/bind9/bin/dig/nslookup.c | 9 +- contrib/bind9/bin/dnssec/dnssec-signzone.c | 5 +- contrib/bind9/bin/named/controlconf.c | 6 +- contrib/bind9/bin/named/convertxsl.pl | 2 +- contrib/bind9/bin/named/statschannel.c | 35 + contrib/bind9/bin/nsupdate/nsupdate.c | 51 +- contrib/bind9/configure.in | 4 +- contrib/bind9/doc/Makefile.in | 2 +- contrib/bind9/doc/arm/Bv9ARM-book.xml | 8 +- contrib/bind9/doc/arm/Bv9ARM.ch06.html | 8 +- contrib/bind9/doc/arm/Bv9ARM.pdf | 2251 ++++++++--------- contrib/bind9/doc/misc/format-options.pl | 2 +- contrib/bind9/doc/misc/sort-options.pl | 2 +- contrib/bind9/isc-config.sh.in | 2 +- contrib/bind9/lib/Makefile.in | 2 +- contrib/bind9/lib/bind9/api | 2 +- contrib/bind9/lib/bind9/check.c | 70 +- contrib/bind9/lib/bind9/include/Makefile.in | 2 +- .../bind9/lib/bind9/include/bind9/Makefile.in | 2 +- contrib/bind9/lib/dns/adb.c | 19 +- contrib/bind9/lib/dns/api | 4 +- contrib/bind9/lib/dns/dnssec.c | 100 +- contrib/bind9/lib/dns/dst_openssl.h | 3 + contrib/bind9/lib/dns/dst_parse.c | 35 +- contrib/bind9/lib/dns/dst_result.c | 4 +- contrib/bind9/lib/dns/include/Makefile.in | 2 +- contrib/bind9/lib/dns/include/dns/dnssec.h | 13 +- contrib/bind9/lib/dns/include/dns/iptable.h | 4 +- contrib/bind9/lib/dns/include/dns/log.h | 2 + contrib/bind9/lib/dns/include/dns/stats.h | 10 + contrib/bind9/lib/dns/include/dns/zone.h | 2 +- contrib/bind9/lib/dns/include/dst/Makefile.in | 2 +- contrib/bind9/lib/dns/include/dst/result.h | 6 +- contrib/bind9/lib/dns/log.c | 2 + contrib/bind9/lib/dns/master.c | 48 +- contrib/bind9/lib/dns/masterdump.c | 12 +- contrib/bind9/lib/dns/openssl_link.c | 42 +- contrib/bind9/lib/dns/openssldh_link.c | 16 +- contrib/bind9/lib/dns/openssldsa_link.c | 34 +- contrib/bind9/lib/dns/opensslrsa_link.c | 52 +- contrib/bind9/lib/dns/rbtdb.c | 27 +- contrib/bind9/lib/dns/rdata.c | 12 +- contrib/bind9/lib/dns/spnego_asn1.pl | 2 +- contrib/bind9/lib/dns/zone.c | 80 +- contrib/bind9/lib/isc/alpha/Makefile.in | 2 +- .../bind9/lib/isc/alpha/include/Makefile.in | 2 +- .../lib/isc/alpha/include/isc/Makefile.in | 2 +- contrib/bind9/lib/isc/api | 6 +- contrib/bind9/lib/isc/ia64/Makefile.in | 2 +- .../bind9/lib/isc/ia64/include/Makefile.in | 2 +- .../lib/isc/ia64/include/isc/Makefile.in | 2 +- contrib/bind9/lib/isc/include/Makefile.in | 2 +- contrib/bind9/lib/isc/include/isc/file.h | 5 +- contrib/bind9/lib/isc/mem.c | 6 +- contrib/bind9/lib/isc/mips/Makefile.in | 2 +- .../bind9/lib/isc/mips/include/Makefile.in | 2 +- .../lib/isc/mips/include/isc/Makefile.in | 2 +- contrib/bind9/lib/isc/noatomic/Makefile.in | 2 +- .../lib/isc/noatomic/include/Makefile.in | 2 +- .../lib/isc/noatomic/include/isc/Makefile.in | 2 +- .../lib/isc/nothreads/include/Makefile.in | 2 +- .../lib/isc/nothreads/include/isc/Makefile.in | 2 +- contrib/bind9/lib/isc/powerpc/Makefile.in | 2 +- .../bind9/lib/isc/powerpc/include/Makefile.in | 2 +- .../lib/isc/powerpc/include/isc/Makefile.in | 2 +- contrib/bind9/lib/isc/pthreads/condition.c | 11 +- .../lib/isc/pthreads/include/Makefile.in | 2 +- .../lib/isc/pthreads/include/isc/Makefile.in | 2 +- contrib/bind9/lib/isc/sparc64/Makefile.in | 2 +- .../bind9/lib/isc/sparc64/include/Makefile.in | 2 +- .../lib/isc/sparc64/include/isc/Makefile.in | 2 +- contrib/bind9/lib/isc/unix/file.c | 5 + .../bind9/lib/isc/unix/include/Makefile.in | 2 +- .../lib/isc/unix/include/isc/Makefile.in | 2 +- contrib/bind9/lib/isc/x86_32/Makefile.in | 2 +- .../bind9/lib/isc/x86_32/include/Makefile.in | 2 +- .../lib/isc/x86_32/include/isc/Makefile.in | 2 +- contrib/bind9/lib/isc/x86_64/Makefile.in | 2 +- .../bind9/lib/isc/x86_64/include/Makefile.in | 2 +- .../lib/isc/x86_64/include/isc/Makefile.in | 2 +- contrib/bind9/lib/isccc/api | 2 +- contrib/bind9/lib/isccc/cc.c | 6 +- contrib/bind9/lib/isccc/include/Makefile.in | 2 +- .../bind9/lib/isccc/include/isccc/Makefile.in | 2 +- contrib/bind9/lib/isccfg/include/Makefile.in | 2 +- .../lib/isccfg/include/isccfg/Makefile.in | 2 +- contrib/bind9/lib/lwres/Makefile.in | 2 +- contrib/bind9/lib/lwres/api | 2 +- contrib/bind9/lib/lwres/getaddrinfo.c | 6 +- contrib/bind9/lib/lwres/include/Makefile.in | 2 +- .../bind9/lib/lwres/include/lwres/Makefile.in | 2 +- contrib/bind9/lib/lwres/man/Makefile.in | 2 +- contrib/bind9/lib/lwres/unix/Makefile.in | 2 +- .../bind9/lib/lwres/unix/include/Makefile.in | 2 +- .../lib/lwres/unix/include/lwres/Makefile.in | 2 +- contrib/bind9/make/rules.in | 2 +- contrib/bind9/version | 2 +- 100 files changed, 1791 insertions(+), 1424 deletions(-) diff --git a/contrib/bind9/CHANGES b/contrib/bind9/CHANGES index 19f47f7ac..6e8b138a8 100644 --- a/contrib/bind9/CHANGES +++ b/contrib/bind9/CHANGES @@ -1,33 +1,87 @@ - --- 9.6-ESV-R7-P4 released --- + --- 9.6-ESV-R8 released --- 3383. [security] A certain combination of records in the RBT could cause named to hang while populating the additional section of a response. [RT #31090] - --- 9.6-ESV-R7-P3 released --- +3373. [bug] win32: open raw files in binary mode. [RT #30944] 3364. [security] Named could die on specially crafted record. [RT #30416] -3358 [bug] Fix declaration of fatal in bin/named/server.c + --- 9.6-ESV-R8rc1 released --- + +3369. [bug] nsupdate terminated unexpectedly in interactive mode + if built with readline support. [RT #29550] + +3368. [bug] and were not C++ safe. + +3366. [bug] Fixed Read-After-Write dependency violation for IA64 + atomic operations. [RT #25181] + +3365. [bug] Removed spurious newlines from log messages in + zone.c [RT #30675] + +3362. [bug] Setting some option values to 0 in named.conf + could trigger an assertion failure on startup. + [RT #27730] + +3360. [bug] 'host -w' could die. [RT #18723] + +3359. [bug] An improperly-formed TSIG secret could cause a + memory leak. [RT #30607] + +3358. [bug] Fix declaration of fatal in bin/named/server.c and bin/nsupdate/main.c. [RT #30522] - --- 9.6-ESV-R7-P2 released --- +3357. [port] Add support for libxml2-2.8.x [RT #30440] + + --- 9.6-ESV-R8b1 released --- + +3354. [func] Improve OpenSSL error logging. [RT #29932] + +3352. [bug] Ensure that learned server attributes timeout of the + adb cache. [RT #29856] + +3350. [bug] Memory read overrun in isc___mem_reallocate if + ISC_MEM_DEBUGCTX memory debugging flag is set. + [RT #30240] + +3348. [bug] Prevent RRSIG data from being cached if a negative + record matching the covering type exists at a higher + trust level. Such data already can't be retrieved from + the cache since change 3218 -- this prevents it + being inserted into the cache as well. [RT #26809] 3346. [security] Bad-cache data could be used before it was initialized, causing an assert. [RT #30025] -3343. [bug] Relax isc_random_jitter() REQUIRE tests. [RT #29821] +3343. [bug] Relax isc_random_jitter() REQUIRE tests. [RT #29821] 3342. [bug] Change #3314 broke saving of stub zones to disk resulting in excessive cpu usage in some cases. [RT #29952] - --- 9.6-ESV-R7-P1 released --- +3337. [bug] Change #3294 broke support for the multiple keys + in controls. [RT #29694] + +3335. [func] nslookup: return a nonzero exit code when unable + to get an answer. [RT #29492] + +3332. [bug] Re-use cached DS rrsets if possible. [RT #29446] 3331. [security] dns_rdataslab_fromrdataset could produce bad rdataslabs. [RT #29644] +3329. [bug] Handle RRSIG signer-name case consistently: We + generate RRSIG records with the signer-name in + lower case. We accept them with any case, but if + they fail to validate, we try again in lower case. + [RT #27451] + +3328. [bug] Fixed inconsistent data checking in dst_parse.c. + [RT #29401] + --- 9.6-ESV-R7 released --- 3318. [tuning] Reduce the amount of work performed while holding a diff --git a/contrib/bind9/README b/contrib/bind9/README index 28750be5d..23c48ea5e 100644 --- a/contrib/bind9/README +++ b/contrib/bind9/README @@ -48,9 +48,14 @@ BIND 9 For up-to-date release notes and errata, see http://www.isc.org/software/bind9/releasenotes +BIND 9.6-ESV-R8 (Extended Support Version) + + BIND 9.6-ESV-R8 includes several bug fixes and patches security + flaws described in CVE-2012-1667, CVE-2012-3817 and CVE-2012-4244. + BIND 9.6-ESV-R7 (Extended Support Version) - BIND 9.4-ESV-R7 is a maintenance release, fixing bugs in BIND + BIND 9.6-ESV-R7 is a maintenance release, fixing bugs in BIND 9.6-ESV-R6. BIND 9.6-ESV-R6 (Extended Support Version) @@ -60,7 +65,7 @@ BIND 9.6-ESV-R6 (Extended Support Version) BIND 9.6-ESV-R5 (Extended Support Version) - BIND 9.4-ESV-R5 is a maintenance release, fixing bugs in BIND + BIND 9.6-ESV-R5 is a maintenance release, fixing bugs in BIND 9.6-ESV-R4. BIND 9.6.3/BIND 9.6-ESV-R4 diff --git a/contrib/bind9/bin/check/check-tool.c b/contrib/bind9/bin/check/check-tool.c index e936b7cc9..cb330f2f7 100644 --- a/contrib/bind9/bin/check/check-tool.c +++ b/contrib/bind9/bin/check/check-tool.c @@ -640,6 +640,9 @@ dump_zone(const char *zonename, dns_zone_t *zone, const char *filename, { isc_result_t result; FILE *output = stdout; + const char *flags; + + flags = (fileformat == dns_masterformat_text) ? "w+" : "wb+"; if (debug) { if (filename != NULL && strcmp(filename, "-") != 0) @@ -650,7 +653,7 @@ dump_zone(const char *zonename, dns_zone_t *zone, const char *filename, } if (filename != NULL && strcmp(filename, "-") != 0) { - result = isc_stdio_open(filename, "w+", &output); + result = isc_stdio_open(filename, flags, &output); if (result != ISC_R_SUCCESS) { fprintf(stderr, "could not open output " diff --git a/contrib/bind9/bin/dig/nslookup.c b/contrib/bind9/bin/dig/nslookup.c index e990055ab..ba586195e 100644 --- a/contrib/bind9/bin/dig/nslookup.c +++ b/contrib/bind9/bin/dig/nslookup.c @@ -57,6 +57,7 @@ static isc_boolean_t in_use = ISC_FALSE; static char defclass[MXRD] = "IN"; static char deftype[MXRD] = "A"; static isc_event_t *global_event = NULL; +static int query_error = 1, print_error = 0; static char domainopt[DNS_NAME_MAXTEXT]; @@ -406,6 +407,9 @@ isc_result_t printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) { char servtext[ISC_SOCKADDR_FORMATSIZE]; + /* I've we've gotten this far, we've reached a server. */ + query_error = 0; + debug("printmessage()"); isc_sockaddr_format(&query->sockaddr, servtext, sizeof(servtext)); @@ -433,6 +437,9 @@ printmessage(dig_query_t *query, dns_message_t *msg, isc_boolean_t headers) { (msg->rcode != dns_rcode_nxdomain) ? nametext : query->lookup->textname, rcode_totext(msg->rcode)); debug("returning with rcode == 0"); + + /* the lookup failed */ + print_error |= 1; return (ISC_R_SUCCESS); } @@ -903,5 +910,5 @@ main(int argc, char **argv) { destroy_libs(); isc_app_finish(); - return (0); + return (query_error | print_error); } diff --git a/contrib/bind9/bin/dnssec/dnssec-signzone.c b/contrib/bind9/bin/dnssec/dnssec-signzone.c index 92697100c..4b2188699 100644 --- a/contrib/bind9/bin/dnssec/dnssec-signzone.c +++ b/contrib/bind9/bin/dnssec/dnssec-signzone.c @@ -3520,7 +3520,10 @@ main(int argc, char *argv[]) { check_result(result, "isc_file_mktemplate"); fp = NULL; - result = isc_file_openunique(tempfile, &fp); + if (outputformat == dns_masterformat_text) + result = isc_file_openunique(tempfile, &fp); + else + result = isc_file_bopenunique(tempfile, &fp); if (result != ISC_R_SUCCESS) fatal("failed to open temporary output file: %s", isc_result_totext(result)); diff --git a/contrib/bind9/bin/named/controlconf.c b/contrib/bind9/bin/named/controlconf.c index 2dede0d59..98f2f1516 100644 --- a/contrib/bind9/bin/named/controlconf.c +++ b/contrib/bind9/bin/named/controlconf.c @@ -373,8 +373,10 @@ control_recvmessage(isc_task_t *task, isc_event_t *event) { if (result == ISC_R_SUCCESS) break; isc_mem_put(listener->mctx, secret.rstart, REGION_SIZE(secret)); - log_invalid(&conn->ccmsg, result); - goto cleanup; + if (result != ISCCC_R_BADAUTH) { + log_invalid(&conn->ccmsg, result); + goto cleanup; + } } if (key == NULL) { diff --git a/contrib/bind9/bin/named/convertxsl.pl b/contrib/bind9/bin/named/convertxsl.pl index 87550b3c1..f3553685b 100755 --- a/contrib/bind9/bin/named/convertxsl.pl +++ b/contrib/bind9/bin/named/convertxsl.pl @@ -1,6 +1,6 @@ #!/usr/bin/env perl # -# Copyright (C) 2006-2008 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2006-2008, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above diff --git a/contrib/bind9/bin/named/statschannel.c b/contrib/bind9/bin/named/statschannel.c index 633ccc964..8d8f108fd 100644 --- a/contrib/bind9/bin/named/statschannel.c +++ b/contrib/bind9/bin/named/statschannel.c @@ -84,16 +84,19 @@ static const char *nsstats_desc[dns_nsstatscounter_max]; static const char *resstats_desc[dns_resstatscounter_max]; static const char *zonestats_desc[dns_zonestatscounter_max]; static const char *sockstats_desc[isc_sockstatscounter_max]; +static const char *dnssecstats_desc[dns_dnssecstats_max]; #ifdef HAVE_LIBXML2 static const char *nsstats_xmldesc[dns_nsstatscounter_max]; static const char *resstats_xmldesc[dns_resstatscounter_max]; static const char *zonestats_xmldesc[dns_zonestatscounter_max]; static const char *sockstats_xmldesc[isc_sockstatscounter_max]; +static const char *dnssecstats_xmldesc[dns_dnssecstats_max]; #else #define nsstats_xmldesc NULL #define resstats_xmldesc NULL #define zonestats_xmldesc NULL #define sockstats_xmldesc NULL +#define dnssecstats_xmldesc NULL #endif /* HAVE_LIBXML2 */ #define TRY0(a) do { xmlrc = (a); if (xmlrc < 0) goto error; } while(0) @@ -107,6 +110,7 @@ static int nsstats_index[dns_nsstatscounter_max]; static int resstats_index[dns_resstatscounter_max]; static int zonestats_index[dns_zonestatscounter_max]; static int sockstats_index[isc_sockstatscounter_max]; +static int dnssecstats_index[dns_dnssecstats_max]; static inline void set_desc(int counter, int maxcounter, const char *fdesc, const char **fdescs, @@ -408,6 +412,33 @@ init_desc(void) { "FDwatchRecvErr"); INSIST(i == isc_sockstatscounter_max); + /* Initialize DNSSEC statistics */ + for (i = 0; i < dns_dnssecstats_max; i++) + dnssecstats_desc[i] = NULL; +#ifdef HAVE_LIBXML2 + for (i = 0; i < dns_dnssecstats_max; i++) + dnssecstats_xmldesc[i] = NULL; +#endif + +#define SET_DNSSECSTATDESC(counterid, desc, xmldesc) \ + do { \ + set_desc(dns_dnssecstats_ ## counterid, \ + dns_dnssecstats_max, \ + desc, dnssecstats_desc,\ + xmldesc, dnssecstats_xmldesc); \ + dnssecstats_index[i++] = dns_dnssecstats_ ## counterid; \ + } while (0) + + i = 0; + SET_DNSSECSTATDESC(asis, "dnssec validation success with signer " + "\"as is\"", "DNSSECasis"); + SET_DNSSECSTATDESC(downcase, "dnssec validation success with signer " + "lower cased", "DNSSECdowncase"); + SET_DNSSECSTATDESC(wildcard, "dnssec validation of wildcard signature", + "DNSSECwild"); + SET_DNSSECSTATDESC(fail, "dnssec validation failures", "DNSSECfail"); + INSIST(i == dns_dnssecstats_max); + /* Sanity check */ for (i = 0; i < dns_nsstatscounter_max; i++) INSIST(nsstats_desc[i] != NULL); @@ -417,6 +448,8 @@ init_desc(void) { INSIST(zonestats_desc[i] != NULL); for (i = 0; i < isc_sockstatscounter_max; i++) INSIST(sockstats_desc[i] != NULL); + for (i = 0; i < dns_dnssecstats_max; i++) + INSIST(dnssecstats_desc[i] != NULL); #ifdef HAVE_LIBXML2 for (i = 0; i < dns_nsstatscounter_max; i++) INSIST(nsstats_xmldesc[i] != NULL); @@ -426,6 +459,8 @@ init_desc(void) { INSIST(zonestats_xmldesc[i] != NULL); for (i = 0; i < isc_sockstatscounter_max; i++) INSIST(sockstats_xmldesc[i] != NULL); + for (i = 0; i < dns_dnssecstats_max; i++) + INSIST(dnssecstats_xmldesc[i] != NULL); #endif } diff --git a/contrib/bind9/bin/nsupdate/nsupdate.c b/contrib/bind9/bin/nsupdate/nsupdate.c index 3c10b5fd3..5f25d3c68 100644 --- a/contrib/bind9/bin/nsupdate/nsupdate.c +++ b/contrib/bind9/bin/nsupdate/nsupdate.c @@ -1011,7 +1011,7 @@ parse_name(char **cmdlinep, dns_message_t *msg, dns_name_t **namep) { isc_buffer_t source; word = nsu_strsep(cmdlinep, " \t\r\n"); - if (*word == 0) { + if (word == NULL || *word == 0) { fprintf(stderr, "could not read owner name\n"); return (STATUS_SYNTAX); } @@ -1044,6 +1044,11 @@ parse_rdata(char **cmdlinep, dns_rdataclass_t rdataclass, dns_rdatacallbacks_t callbacks; isc_result_t result; + if (cmdline == NULL) { + rdata->flags = DNS_RDATA_UPDATE; + return (STATUS_MORE); + } + while (*cmdline != 0 && isspace((unsigned char)*cmdline)) cmdline++; @@ -1110,7 +1115,7 @@ make_prereq(char *cmdline, isc_boolean_t ispositive, isc_boolean_t isrrset) { */ if (isrrset) { word = nsu_strsep(&cmdline, " \t\r\n"); - if (*word == 0) { + if (word == NULL || *word == 0) { fprintf(stderr, "could not read class or type\n"); goto failure; } @@ -1126,7 +1131,7 @@ make_prereq(char *cmdline, isc_boolean_t ispositive, isc_boolean_t isrrset) { * Now read the type. */ word = nsu_strsep(&cmdline, " \t\r\n"); - if (*word == 0) { + if (word == NULL || *word == 0) { fprintf(stderr, "could not read type\n"); goto failure; } @@ -1200,7 +1205,7 @@ evaluate_prereq(char *cmdline) { ddebug("evaluate_prereq()"); word = nsu_strsep(&cmdline, " \t\r\n"); - if (*word == 0) { + if (word == NULL || *word == 0) { fprintf(stderr, "could not read operation code\n"); return (STATUS_SYNTAX); } @@ -1229,14 +1234,14 @@ evaluate_server(char *cmdline) { long port; word = nsu_strsep(&cmdline, " \t\r\n"); - if (*word == 0) { + if (word == NULL || *word == 0) { fprintf(stderr, "could not read server name\n"); return (STATUS_SYNTAX); } server = word; word = nsu_strsep(&cmdline, " \t\r\n"); - if (*word == 0) + if (word == NULL || *word == 0) port = DNSDEFAULTPORT; else { char *endp; @@ -1270,14 +1275,14 @@ evaluate_local(char *cmdline) { struct in6_addr in6; word = nsu_strsep(&cmdline, " \t\r\n"); - if (*word == 0) { + if (word == NULL || *word == 0) { fprintf(stderr, "could not read server name\n"); return (STATUS_SYNTAX); } local = word; word = nsu_strsep(&cmdline, " \t\r\n"); - if (*word == 0) + if (word == NULL || *word == 0) port = 0; else { char *endp; @@ -1326,7 +1331,7 @@ evaluate_key(char *cmdline) { char *n; namestr = nsu_strsep(&cmdline, " \t\r\n"); - if (*namestr == 0) { + if (namestr == NULL || *namestr == 0) { fprintf(stderr, "could not read key name\n"); return (STATUS_SYNTAX); } @@ -1350,7 +1355,7 @@ evaluate_key(char *cmdline) { } secretstr = nsu_strsep(&cmdline, "\r\n"); - if (*secretstr == 0) { + if (secretstr == NULL || *secretstr == 0) { fprintf(stderr, "could not read key secret\n"); return (STATUS_SYNTAX); } @@ -1391,7 +1396,7 @@ evaluate_zone(char *cmdline) { isc_result_t result; word = nsu_strsep(&cmdline, " \t\r\n"); - if (*word == 0) { + if (word == NULL || *word == 0) { fprintf(stderr, "could not read zone name\n"); return (STATUS_SYNTAX); } @@ -1418,7 +1423,7 @@ evaluate_realm(char *cmdline) { char buf[1024]; word = nsu_strsep(&cmdline, " \t\r\n"); - if (*word == 0) { + if (word == NULL || *word == 0) { if (realm != NULL) isc_mem_free(mctx, realm); realm = NULL; @@ -1443,7 +1448,7 @@ evaluate_ttl(char *cmdline) { isc_uint32_t ttl; word = nsu_strsep(&cmdline, " \t\r\n"); - if (*word == 0) { + if (word == NULL || *word == 0) { fprintf(stderr, "could not ttl\n"); return (STATUS_SYNTAX); } @@ -1477,7 +1482,7 @@ evaluate_class(char *cmdline) { dns_rdataclass_t rdclass; word = nsu_strsep(&cmdline, " \t\r\n"); - if (*word == 0) { + if (word == NULL || *word == 0) { fprintf(stderr, "could not read class name\n"); return (STATUS_SYNTAX); } @@ -1535,7 +1540,7 @@ update_addordelete(char *cmdline, isc_boolean_t isdelete) { * If it's a delete, ignore a TTL if present (for compatibility). */ word = nsu_strsep(&cmdline, " \t\r\n"); - if (*word == 0) { + if (word == NULL || *word == 0) { if (!isdelete) { fprintf(stderr, "could not read owner ttl\n"); goto failure; @@ -1576,7 +1581,7 @@ update_addordelete(char *cmdline, isc_boolean_t isdelete) { */ word = nsu_strsep(&cmdline, " \t\r\n"); parseclass: - if (*word == 0) { + if (word == NULL || *word == 0) { if (isdelete) { rdataclass = dns_rdataclass_any; rdatatype = dns_rdatatype_any; @@ -1600,7 +1605,7 @@ update_addordelete(char *cmdline, isc_boolean_t isdelete) { * Now read the type. */ word = nsu_strsep(&cmdline, " \t\r\n"); - if (*word == 0) { + if (word == NULL || *word == 0) { if (isdelete) { rdataclass = dns_rdataclass_any; rdatatype = dns_rdatatype_any; @@ -1680,7 +1685,7 @@ evaluate_update(char *cmdline) { ddebug("evaluate_update()"); word = nsu_strsep(&cmdline, " \t\r\n"); - if (*word == 0) { + if (word == NULL || *word == 0) { fprintf(stderr, "could not read operation code\n"); return (STATUS_SYNTAX); } @@ -1770,6 +1775,7 @@ get_next_command(void) { char cmdlinebuf[MAXCMD]; char *cmdline; char *word; + char *tmp; ddebug("get_next_command()"); if (interactive) { @@ -1781,11 +1787,18 @@ get_next_command(void) { isc_app_unblock(); if (cmdline == NULL) return (STATUS_QUIT); + + /* + * Normalize input by removing any eol. + */ + tmp = cmdline; + (void)nsu_strsep(&tmp, "\r\n"); + word = nsu_strsep(&cmdline, " \t\r\n"); if (feof(input)) return (STATUS_QUIT); - if (*word == 0) + if (word == NULL || *word == 0) return (STATUS_SEND); if (word[0] == ';') return (STATUS_MORE); diff --git a/contrib/bind9/configure.in b/contrib/bind9/configure.in index c4ff207b7..7e7079b62 100644 --- a/contrib/bind9/configure.in +++ b/contrib/bind9/configure.in @@ -1,4 +1,4 @@ -# Copyright (C) 2004-2011 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004-2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 1998-2003 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any @@ -1090,7 +1090,7 @@ case "$use_libxml2" in ;; auto|yes) case X`(xml2-config --version) 2>/dev/null` in - X2.[[67]].*) + X2.[[678]].*) libxml2_libs=`xml2-config --libs` libxml2_cflags=`xml2-config --cflags` ;; diff --git a/contrib/bind9/doc/Makefile.in b/contrib/bind9/doc/Makefile.in index 14d35bc2d..29074b53f 100644 --- a/contrib/bind9/doc/Makefile.in +++ b/contrib/bind9/doc/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004-2007, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2000, 2001 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any diff --git a/contrib/bind9/doc/arm/Bv9ARM-book.xml b/contrib/bind9/doc/arm/Bv9ARM-book.xml index 5719397b9..5d179d9a0 100644 --- a/contrib/bind9/doc/arm/Bv9ARM-book.xml +++ b/contrib/bind9/doc/arm/Bv9ARM-book.xml @@ -9978,7 +9978,7 @@ zone zone_name classidentity + is specified in the identity field. @@ -9995,7 +9995,7 @@ zone zone_name classidentity field. + identity field. @@ -10010,7 +10010,7 @@ zone zone_name classidentity + is specified in the identity field. @@ -10027,7 +10027,7 @@ zone zone_name classidentity field. + identity field. diff --git a/contrib/bind9/doc/arm/Bv9ARM.ch06.html b/contrib/bind9/doc/arm/Bv9ARM.ch06.html index 679c08722..ba8f9e10d 100644 --- a/contrib/bind9/doc/arm/Bv9ARM.ch06.html +++ b/contrib/bind9/doc/arm/Bv9ARM.ch06.html @@ -6255,7 +6255,7 @@ zone zone_name [<replacable>identity</replacable> + is specified in the identity field.

@@ -6273,7 +6273,7 @@ zone zone_name [<replacable>identity</replacable> field. + identity field.

@@ -6289,7 +6289,7 @@ zone zone_name [<replacable>identity</replacable> + is specified in the identity field.

@@ -6307,7 +6307,7 @@ zone zone_name [<replacable>identity</replacable> field. + identity field.

diff --git a/contrib/bind9/doc/arm/Bv9ARM.pdf b/contrib/bind9/doc/arm/Bv9ARM.pdf index 87a4d6f16..60a5658c1 100644 --- a/contrib/bind9/doc/arm/Bv9ARM.pdf +++ b/contrib/bind9/doc/arm/Bv9ARM.pdf @@ -7371,29 +7371,19 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 1521 0 obj << -/Length 3196 -/Filter /FlateDecode ->> -stream -xÚÍZ[oÛÈ~÷¯} ‹á܇}Ú쮓f/Ië¸Xٞ,aÛ?ŸÅ‘H¬šÜA!ŽX’ðÉúL*))DSSœ½=ûgK0huCGϏÅš çc¨’H .Ü^¯òŠ6Õ¤«òŽ2)%»s;Ý–ÙqÌ7y—ª)ÊòCõ7<ˆg/$ ¦‹'3žDÖZ7ϱŠÏg:Ž§·»tSSö¿”,³ÍgÊA/F¹*ë¼öõ›tÕŸ·YW¢Ü;J°©¢ì{ZIoãÍJLâ–r™.V°v­ƒ­AÁ­«¢|¹ÃÔàÊòÌ×mwùǼÈn³ -Ð"”¾Ù,üД’uVUémFCW©Wí h¸ÙÅgß/­«lÙë—r%ZyÊå6Û¥þ°(Ül7ÄX”(Å݆òõ:[æi¹ lB[qXK{J·—%åӍÏlJJoö;˜sG#üZ*ßwwÎì4£Bö)]ç›l G ¹ž>§Úî¡àpTº]BåÝ*ÛPŽ¶™*¿ÝÀŒ½ýSÓH$#ï/m€¬FfÅò‚ÚÚN ìiÛMÛnTo¨2],J·ÝeJ— mwy½¡Bp (ù¥àю܍U„UÊu+Tq¿Ý×UÛl‘;êKÏ¢›‘Δó‹ˆÚ¹M”nÜܯK,kNòÜÝÖÑåþ¹Ï)³¤Ö›rG|¤DÀGŒ©È -äݎÛY•7# §X$83¾ã8-Y£š.º.åQb&âI"|ONÙGÚ£sÀõV5;uî zV¾Ë:ÝnóÍ-µ>£dK½ðì>¹ƒ›qa"!`é½Ë[”¤Ôʼõ¾ªƒ;\JÔ£c½ðÁvBÓ ðXN©S‡dÇàP“Rñ./–‹ö,¦@™Åb€Ân¢ bŒM/h\M*—Ñg—Þ$7ƒ¦ë·¯^öç‡ -”ò±â#lý!ƒý‰8™î+‡3ÈÕ%- ‘ékܕb§í$åfU‚„ËïNž`[JÉõ/—ÿ¦\öi±J7·~¨Ã8Å<;gS7 -ƒ@º 9Ú)=Ùj•vŒ Í|Çúâ(— bKxx˜¶Í=²2$ë‡W~¬¹ãîsi5 wb6:xÙnÛJOj½`ì‚6Žr':²Çæ|¢´?xîE -WbšUI5ž%øt“Ý–uÞ(2äƬ^•KÊÓª07ÿLéË·ogˆ¯ *Þ­rb2>¤ó"¯¼Üä nýäÓ :·´¦ÂPi²îªX¢¦¿d»yæN¿¬¨4ýf‘oӂŠxž˜¶#E“áâb§ÞWTVÞ -²¡œ³¬®Øzñõlv÷ýª /Ëušo¾‘x,6‘Jt#há yÂ=䛅JT™DÎP$“ 9ŽCêÐÏh)}ÇVÖ áPÖ8q(À ”VÄ! -«‡‚Æ’^ÄcRyMÈÀcšÿ'[ÔÔ¯.©ò§×oÇIi@Ù6Ý Äuô`¼â͇Ðv³¨£‹‚ªAʓ¤ÛYÖû¢Î·MW29šq#è¾=[–DLƒùxòpØ錉ááö•¨“:mt¹·²y8ûsŸ=O ¡<‰qw/îڀ³ÐSó/P 0ó¤±Ê , K¿À»¹:ªwE®V³•‹Z:’©uuŒd‘•‚=”­i?÷[?¤gE¤-¸; =@©jÌ®a®£DÆ,Xâ=tŠ„i/yœÉ༥–ö@`ÐÑèÜå—F`úØ>ðúz>´'~?WÀO›eyç[œÂ…´/¹ÈWsJ¬XûŽ7Rkp}À|§Â<+ÊÍm3[9j:a)Ókk Ë&ô¡¬‰I1c†qJ?¦(ø1OÒʈóÖît6ÉáT\D ºÜÇQ†¾q Ãû€pù=R^x-Çöo"ËcóàE3mM~ ØÞWqâ!ÜÜã7ö893“†ƒ„nêqÌc$ŽŒۊé/–8'蝒3,2_Ü}n–S6 .Æ% h.¡ŒxˆŸÕ»‡hÚb1è@øWGF*ýà–62±·¾nT³Œæx^?º-ŸmFôIÍÚMͤÔèۊ6tÖ?Eð|¥5©9êvŸ ‚ãI¸hÀrù)]Ô3ï& -#€©Ö)ÜEÒ6ö8li-,´Á,PôDé­s¨j&Ú/óÌ9¹(ÒɃZö£{¤²hےØh´M2Šƒ È¡à01ï´á1Á Ú½Õ¡7¢K‚—/Y'ÜÃãîQ$bk¿ \8‡[V'Ð",ڜT8}È4!Y†^Y.bM<­‰`Æûêk1ÀB °iC6¥Ä­h6¢Îæ,o.ú6Ç~. fmK®ž@ÝÍ<~„Š¬V_B²q?ÜÂX%§Ä@‹*-O™CüŒ2+,W²S¼ -Ž§‘ÉÐ^šbC˜¶ŽœÐäÈa¥sä0Ówä°&täDbÚø((u8vm† -}ð@ÊPJÞHCɛX÷ØǞûXÙb?ìá#ŸÐ3‹ -€š{‰Ù.üˆ-nõ8Ë~x:<6æÈÃI6#Žã1 ØÄ õ'ŒÅ`FrŸ±:&Ëà ºûd‰îî[î|`Ã4ío «ü}be{ŸXߣà¥ËPŒu¢HpIa1.ˆ"ð¨A™9v±LÄP͔àG8€.Á=ÉyL2¬7÷ëÏo7¥Rì¶.#‹”{žïsªiµ*÷Ľ -£Ÿ6ö6?hEÑD},ªÄd "Ȫ‡y¼xòÃÑJvÓ·s}qëpÁӌƒ5Ï8ÿÝ'jÓFh¬Ëª¦š}•Ý싾ÀÍWåا•åÆSò±R>Ý¿MuóB+IöYáa ÒM2‡åæs™ë³ò" ½)6ù›°" v‘R^Õ í%eç¾j¿…:Ç)¡õ1žñ(¶±}PL å´wv SnB ¨S¶ÿ¥J±Ðð¾0íb øóHﯣW®šR¢„"¶l>!§MÔ¬ª³]^} Æýoc©»H«ìÁH¼ÇIÑojhr“€ yB.óDEq,Í ÷ÔÌÔ½/üþó­ÆO2ë¼HwT X¹N%Âò± 0ÞºPvöi‘mkš öú¤3ýÔå͘#Ë,žþ×I‹E‹ÿm"&v鼤ã@ nàiù¤8Q -ä4×'€b@{%Rž -ïŒ!EÄ¡Q{C -Ò)XG -˜ùJɓHI`¯¤8š)˜+7Åg?i€×2†™ã2JŒƒPëq¨¶~F‹˜‡ã$¸§ -ÈAc”ý’͈£@aÀ¶Æh{(`´0+ى@ÛNlÊ°®/ýùú”’^D»´qil >¿aÅþ:õSÝ ¿|uùü×ߚ§Côx2¢£Š…´Õ†²®?õua°®Í€Ñ8:×Çlç,I&Ý·-ÁZúQuÇæÀȀN¤ç¡º] ¼ÞÆlû¡Ûõ™éûÁ4hmF¯„°Í~„ð™0dï Ó=ÂÁ‚cXH{Ú  ît£Çíèw4ó¶Hé¼Èޏ=sx÷l´ÓIw=„ãã þm¹Fhаì~¦Áo½2¶üAAàÿ7Îœç|'ÂZ‡H˜AÖq v¤—1äb1b HI >ë:`®“€]°ä_¾%Á§*M¯40mxóÙ ¹ëöpR4Š½«æ:ø]a–‚¡Æ‹üð›2>xf‡²óÜ÷Þë›2O‡Ê§åä)yÇèˆsuŠwÀÖàæžü\4_¡mâJžu\>õéà¥Vµ(s¥ŽFn¹ n<ócBæ±\ó`¦cIôÚIí`Ö# »y$Hlë Ø -J¤o± ¤×ÔªÛ¨ªëßZÁmGuLÃXfœe´×7Ø¡aÄtގmŸ¶z–Ñ}}3ö|uøªñ[²LÆÇá[Æqd8(.ÈE&álìm6üüFý¼{&¦™°–?òæÆ?¡Üs <`£Þ©7OÆ}¯`éÿ`ßiendstream +/Length 3198 +/Filter /FlateDecode +>> +stream +xÚÍZ[oÛF~÷¯Š}ù÷©iëdÓKºëxQ,Ú>Ðmq#‘ªHÅ °?~ϙ3$‡i9± , yîgnß¹rØ,†?6S:Ò Of&‘‘Š™š-·gñìÚ^Ÿ1ßgÑtZ„½¾¹>{ñJ˜Y%šëÙõm@ËF±µlv½úu®#…xþíÏo_½yý¯«—çFίßüüö|ÁU<õæÇKʽ¾zùÓO/¯ÎÌ*6ÿöï/ÿq}yEMÚÓøæÍÛï¨&¡d‚èÕå«Ë«Ë·ß^žÿ~ýýÙåu»—p¿,¸‘?Î~ý=ž­`ÛߟőH¬šÝC!ŽX’ðÙöL*))DS³9{wöϖ`Ðꆎž‹#.49@ÎÇP%‘\¸¼^çmªI×å=eRJöçv~ØdTXe¿Å1/ò:/ ªÙ”åûêox/^ILÏ<‰¬µnžßbŸ/tÏïöiQSö¿”¬²âå £\•u^ûú"Ýfõ§]֕(÷+%ØTQöwZIoãÍJLâ–r™.×°v­ƒ­AÁ­«¢|¹ÇÔàÊòÌ×íöù‡|“Ýe E(;ÿ¹Xú¡)%Û¬ªÒ»Œ†®S?®:,—Ðp{Øl>ù~i½\g«ÞX¿” (ØÐÚS.wÙ>õ‡ DáŽ`{¸!Æ¢D)î6”o·Ù*OëÌM`ڊ›ÀZÚ Tº½¬(Ÿ>S””Þö0çžFøµT¾ïþœÙyF…ìcºÍ‹lG ¹ž¿¤Úî¡àpTº]Båý:+(G[ƒL•ß0co?ÄÔ4ÉHãûK «†ÙfuAmm'‚vˆ´í¦m· ªÎ ªL—ËÒmw•ÒåBÛ}^¯G¨J~)x´#wDca•rÝ +UÜo÷uÕ.[æŽúʳh1ҙr~Q;·‰Á›ûm‰€e͉Cž»[Â:ºÜ?9eVÔz[”øˆ1Y¡€¼ÛÑr·¨²ÍíÃ) Όï8N‹GÖ¨¦‹®K9IÌD»ô&¹4]¿{óº??T ”aë÷ìOÄÉüP9œA®.iYˆL_ã®;íV Ñ(߀4«j< \~qòÛRJ®¸ü7岏ËuZÜù¡N ã7Ù9›»AP¬Ò%ÍÑNéÉVë´c \hæ;Ö“\.dˆ,ááaÚ6÷Èʐ¬^ù°ævŒ» ̥Հ܉Ùèàe»ml+=©ô‚±KÚx8ʝèÈ›óuˆÒþà¹)\‰yº©Jªñ,ÁçEvWÖy£È³z]®(O«ÂÜÍ'J_¿{·@|]Pñ~“ñ9 ½Ù䕗›Ä­Ÿ<`:Aç–ÖT*MÖ]KÔü‡l“¹Ó/+ªM_,ó]º¡"ž'¦íˆå&‡Épq±SïkªN+oÙPÎYVWl½øú +6»ÿz]Wå6͋¯F$‹M¤ÝZ8hžpùf!ÇU&‘3É$hŽã˜:ô3ZJß±•5H8”5N +0(¥•qˆ‚Æê¡ ±¤ñX€T^S'²ð˜nþ“-kêW—TùÝÛwã¤4 l—(q=ï‡xó!´Ý,êè͆ªAʓ¤ÛY¶‡Mïš®þdr4ãFÐ}=z¶,‰˜óñäá*°ÓÃÃí+ P'uÚèroe;ópñÇ!Ýô4>„ò$Æݽh¸kÎBOÍ¿BA,Àhl̓jÄ*7°@0,ýßïoÔ¤Þ¸ZÍV.FhéHv¤¶Õ!É"+{,!ZÓáÆoý˜ž‘¶àî4ô¥ª1»„¹Ž³`‰Ð5*¦½äq&ƒó–ZÚGAG£@p—\écûÀëëùОøå\?«òÞ·8… i_r‘¯æ”Øfë;ÞHmÁõó +7Ù¦,îšÙÊQÓq‚l¤L{¬­5<.k˜ÐDz&&ŌÆ)ýn@Áy’VFœ·v§³IŽ§â"JÐåžFúÆ- Âiä÷HyáµÛ¿‰,Í£5Î@´5ù9T`{_ĉG„psOßØÓäÌB¸©Ç1O‘82Jl+¦?[✠wJΰÈ<~q¹YNÙ4¸—€ ¹„2â1~Vï¢ah‹Å á\}©ôc‚[BÚÈÄfÜú²QÍB0šãy}r4.Z>یè“Z´›ZH©Ñ·m謊àùJkfRsÔì!AǓpрåòcº¬ÞMFSmS4¸1Š¤mìpØÒZ4XhƒX è‰0Ò[çPÕL>´_n2çä¢H'jՏî‘ÊZ¢mKb !Ð6É(6P Çj€ÃļӆS‚´{«+Bo8D—/_²N8¸‡§Ý-¢HÄÖþ9pánY@‹°`hsRáô!ӄdYzea¸ˆ5ñ´&‚ï«C®Å 1Àæ ٔ·¢Åˆ:›³¼½èÛGø¹x€˜µQ,¹zVu7ó\ø*²Z}ÉfÄ$~¸…±JNˆUZž23†øeVX®d§xO#“¡½&4ņ0m9¡É‘ÃJçÈa¦ïÈaMèȉĴñQPêpìÚ (úà4”¡4”¼‘†’7± +==ö±²Å~ØÃG>¡g:#4÷³]ø„-nuŽáE? <säñ$›ÓxŒ(6qBý c1˜‘Y¢»ûĖ{Ø0M„EûÛÂ*ŸXÙÞ'Ö÷(xé2c(\RXŒË Q5¨3ó(Ç.–‰Š£…|‚óèÌѓœÇÄ1ãÁzs¿þü®(}Аb°uY¤ÜƒðÍÁ1§šWëò@Ü«0ú ic?`#ñƒVMÔSQ%&cAV=Î㜌V²;˜¾ è‹[‡{O Ö<ãl`üwŸ`@ªÍ¡±-«šjUv{Øôh¾Í¦¼÷û´²¢,<%+åóÝðÛT7/t°’dŸ– Ý$sXn>—¹>kŸ!²Ð›âÑa“¿ +Úa§)åU½Ð.ÐYRöÆWvPç8#´±žòábÛGÅ´PN{g—0å&Ā:eû_ªD ï;Ó.Öx‘à@€?ôþ:zå*¡)%J(bËærÚDͪ:ÛçÕ{ú`Üÿ6֘ºË´ẾÄ{šýS Mn°!OÈež¨(Ž¥9áþš™º÷…ß¾ÕøIf›oÒ=UÖG®SE‰°üD쌷.”}\f»š&¨}€>éLc?uy;æÈ2‹§ÿeÒbÙâÆ›ˆ‰]:/i(Á <¯C"Ÿ'JœæúP h¯DÊSá1¤ˆ84ÊboHAÚ" ãH3_)y) ìu€GÓ!se±ùä' 0ãZÆ0³`\F‰Qbj†jëg´ˆyóë×4DŽP|¼ÿ\Ž´+{˜að;¯Œ-TøÿkgÄ5‚߈°Ö!Òbuœ‚éU ¹WŒ˜RRÇOºŽX…ë$`,ùWoIð™JÓ L>Á| ýG6H®º=ž b惡~W˜¥@¨ñâ>|½¦ŒœÙáƒ,Ç8¯@F nÕ_ø ù.êàù¼L”<'q®N1xÁ|ݓߌFƒ 24P\ÉóË§><÷Àªn®Ô1ÒÈÕ"[áë~LÈE– â"Ìt¼‰®;éÌzÈa—‰—‚Ä_°¾€¿ DJçÔ@zK-¡Þ±Þ±¡Þ±þÁœÑnTÑ4fÆyG{¥ƒÞñQ@LoÚ±íûVÏ;º¯tÆÞ°~i0¡ñ|¼ òi@—qª r‘I8{© ?¿ã'¿ ï̓¡&¬åãO¾¹±ÀX@D(÷8Åè£WëÍrß+XúÿPÒÚ +endstream endobj 1520 0 obj << /Type /Page @@ -7416,15 +7406,21 @@ endobj /ProcSet [ /PDF /Text ] >> endobj 1527 0 obj << -/Length 2586 +/Length 2585 /Filter /FlateDecode >> stream -xÚÍYKsÛ8¾ûWèHUEž|ìi5¶œñìŒâ•5µµ“ä@QpĊ$jH*Ž÷×o7¤(‰Ž“IR5å*l4€Fãë$þÄ 6Œ«D¢D3Åd› >xc¯.„ç5L£.×Oó‹—×*$, e8˜ßw֊c1˜/ß—?oç“Ùp$ B6™?ÝL¯ˆ’Psùzz}óê÷Ùxé`~ózJäÙäz2›L/'ÑPÚHX@ù%þx=Óõͯ“á»ù/“y+r÷X‚+”÷ϋ7ïø` §ûå‚3•Äfðœ‰$‘ƒÍ…6Š­TCY_Ü]ü»]°3ê¦ö©IsÁ„4 -2…æémi Ûú®IX™ødW8uÄ´‰Põ4XwE,vlڔvöS^ù¢³Mý.p'ÌÛ!8͔]üäèd d!SPCfüQlýî×ùÚ¦B/GßÂÂH´S™ð“»H„ðñÆ=Eڪؗ™m¾@ÆeuRÓþ‡.«“ÝüÞ$3ó•Ýôø"A¢…î<Á)x·C¸¤Á‡Áš´úÞ¢M#ÇÂç‚ÅjW™£¤ÆgחD\i¿ÈÒVY™/lE#”W—ÁؑꞫ Þ¾û¤ƒãʙçžu.9Юf3z½sû_äÐ)ùG1!=°•P HËýؾÂÒ}¤“(¸£¶D%iaÂn¿ï–ºŒÛ8‰¡¥#C§9²Äl,/]}kh HY‰Bï1Ø£÷¤1ïlú²Øæ¾óÍnm7Àüä‹ÛÕôŽµh°pdéº*šÉè¾ü£…ìN@TøGu‡×±ýÐ|lcô:q°OÏ+ŠG]T4–z–biñnbLèâ<‘z«ô˜*ZÐÝo\Ф€šoÁ5lÒïR6^]0P¾,ÃýßãP@c}˜ÞSµð›CÇm®Eßæšw7'¶®GÄoòˆn„š]ZBæºG›tß^oÐs†5³bél³@³ea¦«(ñ @ˆ/À Éùª·\òV†‘CAI*L.í³i¹ð̤Nê/ÚJ8o< ^bYՌnãÎÚÓGiÉD("¨ƒâËi4X¾÷%Þ¬›b7ü£î„óû|]<ïøð¿î! ԈgE—PÆCýÚÝâü糆ëI4ìnZKâƒÎq­g Äsó¥ªhùŸàlÝ'U¡Oe2ˆŽ®®¦l4½¤2(Ýy°ssu‡tn³­vÙÂz`;ì ì:ÈãIEߎs?JÚ?‡«šÅ&Š‚àÁÕF„R3oo„â–âò `ÚÌ8Ai+Ý Ê8çI‹R]{Îû@Jδ»ŽׂÇîð“> ͙Q²1÷׃a$Âü—áYðÄE…‚ðeR…q,Â̓÷`\§©"®Nß÷ Gxy³‘ÁU‡ +ºçjVv—v犺Æ$MÎIè âØtℾ©1ô+çðàX†¢´u¾·ýHC»¢ªòù@ò£R¢ØV»¢¸ï3X¥B°Ä v*Àx^€ÿ&<÷t*a‰åvïæ+ïÅÁËÃCzñuh”1ÜOaEÈØ™|×ùý±–àháÊ?íŽ!õc`²©»º¨.ôùcÍÉWºΦގü†¶ž©À6qn¿}°wýù#µÙÖwl°9‡]Ԝ>tð¶ H’BéF +$mmýP”N‰OÌZ¥÷Å»b»t®Çon?hbȖÃ>°·Re„Ïù$µÎ©ÛíÒ¥hbµé&wDB ±½šŒ~ÓÐtZÙº:ž9·}ʀXÒd)Ž±ëÚIDHÞªÆÃÅ>íÄ ¬ nÐüS½¸VÐKz΋k¨œÀJÄ7õâڀs‰…ø^¼»ô'¼¸Ž"Æ£T}/.¿Ò‹wïæîÅÓoêÅ?_Hœóø¤4þ{³A¤ß*†Ju(A ©’nI}VZ+18LE6OEÔ5¥ó'•(&LBaâÆ×A0ê,2€Æ‹OG€C‰&z¸dó<ÄȈ4Çu‘ÏX÷UÝ)Êî½ÔÜïéÃ÷ûl}T®ù2½Modƒa +‚}‡"f©’>‚’Rr(‡ jëǝ˖±B'oItûq·Îy–…ߝÏ/`&Ek‹~ü zӏâŽ·±vWy:½»yõ‚ú“;ß¹{=jIãK¿Kúa6’ë3äÙ å¡ß&IA”H.¡Âq•‹4€*ƒ ÇÂw±ÞSTđ7`d£É±ñn8hþá¤0B'j}¡=)ýQ_5$õ¢/Øú ° ˆÃ‹U %6¢¹©&·XâëFe…“¢öcT/"÷ÃÊú%h©$ÌêÚnœ`@t—ÄM¶l¦DYÚµm–£ã‘0Y„« +?ZUÅ"GYü–y½ò#}7å~»†|áv€"ÝÊ.Þ5XwE,vl֔vöc^ù¢³Mý.p'ÌÛ!8͔Ž\üäèd dSPCfþQlýî×ùÚ¦B/GߢX´S™ð“»H„ðǽIڪؗ Û|ŒËꤦý]V'»ù½Iff+»éñ% D‚T Ýy‹Sðn"tI%‚;‰Â5iõ­E›FŽ¹Ï‹Ô®2GI#ŒO¯/‰,¸Ò~‘¥­e>·P^i\K`Gª{·2xûî“Ž+/<÷´sAȁv5Ò3ž›Øÿ4‡NÉ¿Ž 遭„òX@ZîÇö–îCÆáµ%*I vû9x·ÌeÜnÄI -:͑%f`yٚè[û@K@ÊJzÁ½Çà =ŠygӗÅ6÷ovk»澧7×¹šÜ± Žì#[WE3ݗ´p€=‰ˆ +ÿºîðÚ"¶šÏ‚m„^'iãöéyEñ¸«ƒŠÆ2ÏR,-ÞM¢Â1]œ'Ro•³Ce@ º;⍠:‚Pó-¸†MÖà]ÊÆ‹â  ʗeØ¢ÿ{c¬ÏÓê~sè¸ÍµèÛ\óîæÄÖõˆøMэP³ËJÈ\÷h“îÛë z°æ¢Ø@:Û,Ðì_Y˜é*JüâS0hr¶ê-—¼•aäPPg’ +S^èе‘¥ +Þ蚢¶ÛªüíÖ]&$Or vLÖ.OØIÏm\Ùòƒãv¯G +zª‹6wmºÕðºC+ùÁ,ʾs¢:]~AÎG6å:¼é'ðtEcº$&«¢ô¡£3s³_×ùní§;]I¯$ìl¹Ék²XîŸUq¼ØÕù&ÿŸGãܗx…•ß¬å´3´ûÞØßøý£üÏGóC&؅KûlVÎ=3©“úó¶Îƒ—XV5£Û¸³ö´ÀQZ2‰jFÅ ørE –o}‰7í¦Ø ÿ°;á<Å>_Ï{ç>üÏ|È5âYÑ%¤ñP¿v·8ÿ­ázF {€›ǒø s\ëñÜ|®*Zþç8[÷IUèS™ ™Â㓪h¹ž‘ä|5”ÄWPå2™Šä¸„˜5¡Éy¨-xù“D'ëæ;›lK'/óaì‡Ó#¶o{1g&åß/5úLãA@ñ"Ò²Og¼Mï¾úGßÃßԛ$ò ‹hŠS +×BíÆñم«kø–«#úÿ‰M“(endstream endobj 1526 0 obj << /Type /Page @@ -7476,7 +7472,7 @@ endobj /D [1526 0 R /XYZ 85.0394 70.9957 null] >> endobj 1525 0 obj << -/Font << /F37 802 0 R /F41 939 0 R /F22 737 0 R /F62 1062 0 R /F53 1029 0 R /F21 714 0 R >> +/Font << /F37 802 0 R /F41 939 0 R /F22 737 0 R /F53 1029 0 R /F62 1062 0 R /F21 714 0 R >> /XObject << /Im2 1051 0 R >> /ProcSet [ /PDF /Text ] >> endobj @@ -10549,7 +10545,7 @@ endobj stream xÚíte\Ôí¶6Ò ˆtÃÐÝÝÝÝ¡Ä0 00Ì ÝÝÝÝ’‚R"‚´t Òȋ>ïÞûüž³?³?½¿w¾Ìÿ^×Z׺î7¶‡Œ5Ü ¬‡¹rðpr‹ t´P(ÐW琅C­fL9g0ЇÉ]Á¢#°5@ ðòxDDD0rp'/gˆ­+€ù‘ƒ…ý_–ß.+¯ ‘.[€ññà …;9‚a®ÿã@=0àjØ@ `€œ–¶‰Š¦€YIÓ †P€¶›¨C@`˜ ˜`w@ÿ:@p˜5ä÷Õ\8¹d\@€‹y {‚ÀN¿!v€ØÙââòø €¸l0×ǸÂêfý[À£ÝþG“3üÑÃñ{$ӆ»¸º€œ!N®€Ç¬ÚòŠétµºþÎíy„p›GOk8Èí÷•þ`4¨+s¸‚=]粬!.NP ×cîG2'gÈn.˜í¿°œÁ¶@gk(ØÅå‘æ‘ûwuþuOÀ¹=ÐÉ êõ'þÇëŸ ®.`¨ '&ïcNëcn[ “ë÷¨¨Àlàî¿ìÖnNÿÀÜÁÎ -Äü{fXE­á0¨ÀlƒÉ¥ w}L `þŸu™ó?×äÿ@‹ÿ# þ´÷×Ü¿÷è¿,ñÿvŸÿN­è…jÁ‚ÿxcê€ßÌs:B ^ÿÎýïžFà¿4þ;Wàc!d`¶Íàáäæù €¸(B<ÁÖÚWÀ}¬Ô»Ìì …ÀÀýSL7÷ß0};Èö»ôA`˜õßå?6éx.euC¶ÿöªrèA§Ë‚GPè¯íÇ9pÕ÷rþo:# ¸õ?¿ùdeáž^7Ïãú=*áðû7¹ÿñüë¬tu†x^psr?Fr~ÿsÿÎýOÀìo4 +Äü{fXE­á0¨ÀlƒÉ¥ w}L `þŸu™ó?×äÿ@‹ÿ# þ´÷×Ü¿÷è¿,ñÿvŸÿN­è…jÁ‚ÿxcê€ßÌs:B ^ÿÎýïžFà¿4þ;Wàc!d`¶Íàáäæù €¸(B<ÁÖÚWÀ}¬Ô»Ìì …ÀÀýSL7÷ß0};Èö»ôA`˜õßå?6éx. -#5}¶ÿöªrèA§Ë‚GPè¯íÇ9pÕ÷rþo:# ¸õ?¿ùdeáž^7Ïãú=*áðû7¹ÿñüë¬tu†x^psr?Fr~ÿsÿÎýOÀìo4 0Üú÷äè¹a֏ÃöOÃoäæìüØã?ûÿxýœÿŒ=ì a.ÌÁAb¡ö™9Y® Ä£ò/z{xœ*Þè—ÖÁ»2#×Dj,ïêÃ8›ÇEµyÍî;Ýoª²n öA™ºÓÁߋ(üèX>ã.3v±ms™W`gÅúϨ¯"› rn­ê蚗ߡRŽwð9£_²Ò¹Ð_8=óe4%v>oFÀk(Ù?`LÙ½¼`êú4ð±ûåÃ&9[~ƒ˜;26cLà«|r)Sƒj…×Íl(ßÛ b¬Å7ÎßÊçÏVð™h9Žù,¢I‚°RÊ• e®äß·RÆ%=²ìÙ êt›œ(†Ì%³LǏî)®Ž>1Ù¥‘„µ…^Ñ2¼éˆO£Ý %õ‰>•pjÕr{2–ÂwÍ<–g¬™-j—!3cäáakIè,AŒ$ÁLˆÇƋJ¯³nöùU»Ïm›Þ‰D3 @@ -10572,7 +10568,7 @@ $O t‡Í=žÝbóÆÃwî6ß"£“˵?”JËOP2RÐ oQo+†â1)©w†¦ÜèådîI½ÈZ¿V͝­(e÷åû È"QÔüFØs(úF$'‘qL ®/¶!õÔ ¤Hvk։Œh¼È‰¬ê؉á¶o?Ùa:Šÿ±qêcŒ° gã!_QÇ~ÏWê¡1üaœ¯UÝGmã§Yñmn%ìRãr9÷¬ß0qˆ5†/‚E…(êړ†,W‚˜$Ù½ï¶åçLxËÎÔ|ú奕£w†Z|ÂV€ãž÷,éOd ÞyŠGÝ ŽÎ¨Ý3lÍ4©¿Î\×T2Zª½Ag—.7Ù#ÏPæï™v¼eŦQLÞ»±Oþ¼Ô\’ ¬ÿĵJÅñ¾(š3Ç].Å*,MÎ>ÛBx(ÃSÃó|D³uû‚Þ¡ï†{:ґÁ¨2G9¡Cê{ɕ<|?ÒK áéá@F)Ø,êw÷ó?È ¸¢Ëa„Çh%Ù±o^Œñ{‹6™Ý @¥-«ä%Å~jÉwXjz1îi´·î¬%uÕ3^¿±g¸`d+ÎK[ŽDe—„]âò†YèÖýÇ?Ï>£³HjË,èkѸÍhÔ8Š” ™v_Å [ªJÖ®²9m=·âú?\‹k>¼à¬‡¤*³Ñ³ž,Y ê<‹ý¹uÓ Z/ZV$S·é#ƒmNOš¨5M@¿§rãÝ0Hõ7¬&7[àçŽAØñêOõƧÈêÚ5±pE6~d»Ž^.x¨T1¬µ¤$£Í7¿ÿ4òÆêüj§‹G1¬èípoóÌ3³QýÐZ:œNÍÆéç,0½‹Š‡Zg‹ðâ£à)‹Q©¯³‹X""œÛÆ0ÏÁ¾äBvFA‚)Y9(ÎYÖý…ì¬S…|¸Ôü¾“qbæÇN.LÔX§…_ï‚¿œ%%½¥åŒìé|°D>W²7}C–Í#—ZR¸­$º`bÛGο…a¿9gÝS%\”Á/œîñhC|?s§ ؅šg¯ÎÙÈ)ª¬m}ÐvÖËk†Ÿ.bÉ&O üõí+uqfº`Îa‡„°£â,I§ã¯½/‘˜÷ÇݛÁ¤'P6ߢH‚Ú?÷›½šÙ¹˜Žà9¦ŠmHr7:pMRYŸ#£ 'æW¥¿ðKCß|-¡mWÝ躖nᲶË0–«ÞÐ3äÛÙ=j’¸Ë-,n–³e±€¢üb½iÙ;‘˜Hâ°l<)žL.ßÐYÖÿ°Ú·)wL=(‚Œ£± L|)=å'ÀÆ-Å@²öò¾µ<ÃNrä³6îµEôʃ3±d¶kÓ»¬ÿ‹%ôµøü·(kD~ô(¬_yñ‡Í; ¯åä²fùOî{&*‰äyÒ¯9ۏB±T¨d>è.òY[a-³ZyÏ•px9ÝØÜ>穾„»*|,4°ç Žð=Ï añŽ©{ZwLVqžCÅo, H;ç_7Gg[åGx d½DŽ…*~ÂJSÛ/ *ûÎÔF‹µëújQ‹jw Ý]_-Òq;Œ,1t³õ2ߥƐíËòê{:Ö§Ùo$<×ð¬žôôJ©Àëóüλì„b›F=ÍçåcT”u;Ðu˛÷#³»Z1q“ÒYÖgHŠ^fiyv|‰¢,PkŠA±¢FH£s^…EËRôƇnQWEÛt%Ú·y3™{æÈŒõFbKã<%Æ)â"-L+{卢’zS'“#é²ÊòZÃ+•÷U­Á׎#Ç©ÃCcæHŸ,êä;÷=íÏô .óYäg:¯jԁn¹¶Æô×êS:c¤¬UºW¹Þ/Ëf¹ŠšcO¥ÛøŒM¯lD‰Á¦9²ú:­ÈùÈßۘìÑ˝r6½õx§ç±2ú]úS¹‘ p7O¼,j1îöÐËÚ{ž$ªS7O–xYŽróæs÷â»ì(è˜Ýš‹ÏD‚@§­Y#žC²L%¯íល1A•Ã¸©3¾~M+ÖAîDí>¤¶¯cãµã-Nˆ¥”ûÚÔߍ ÄÖtzâ"¹tãØ'>(˜“”hSðÕœM]ˆÎۅ0ìŽ ñâSPÓKD³—dOj nÌó®|KHtޑÑ+㢟S'÷@6„iõ“¨C,÷ág3B½žpÖáΡÄêφÖÑn‰Ü;ɦc“ _7T,Q1çTiHøBÕWL8­¡¾  ,œ²£.±ß u2†)¶=–Oš ¹ÿêÚ´­Ùê², Aq¨¿râ^T!1í¢ëç2)áN\§‹¬‚)æÄËR…Ëbž÷ž6Cb5ü´çêޛÔ;ð¶¹mH“üÅL¸^Ȭü¤Ý¸Ê {>«m@Ë›ðzéN‹›´×»ÔÌÃBÿ]¬—š@)õp[jÊâá…6덶¡²BSHQøר.öØ«N÷Ž`ðG¿§zŽ^n)?ìû±«892ÉÿxÈÌÄ÷Ù%¼­Ø3ÕÎZJðô]\ÿ^¸Äé„SXA㏣…¸r}[(â0Ò@¥elöÉmi¶ö­EWÕ9úQѲ´ˆC¶Û¯µAñ=°g>MF{Q’= †*Ëk¨+™×Øõµk¤i@ïħÕW:x<›ó"Í}<=<²šC½Q¤4Æð÷i©UµSöA-ÒiMÛk×qnñÔÆèO“¦R<)D¾€÷/ǁT#î¡ÍM© Æ$֞åÔ3³Ð¿Á¢\ç{Uª÷Þ<UW=ˆ$®&<ƒªZ€0óØÒgÒR*¹ÉÒO¦1‘'£ùŽŠj*5wË-·‰ûùT j4ÝióÍu``òh߯µ“K…ݻʔÑk‡‡A›”ôÈÔDôìtk¯ö2ÅÛö÷ú—¨§$ÌöZ¥ï@Î^ùÝêõ^E~§”Üúí¨u4߉<*ôŽ±§¸KJßùy/žn•C*}…ÃåLgI£J·8jŽ[“Þ³ ”ØT7%JÈOïä,Á!؞È+ÌÁ¯f—ÉȘs‡h`Úq¢O”1£<ƒ3(©dØOfBOŸ º'"p=Q£B¿âäpJ}ÝØü™ŸZ®¤!p{òëÈa}÷qÑ¥³äƒ£DKXôžòxÇ(žÏÑã ©¨“{ÏçÉšj¿dqX·ã·ŸP¦Üv£ä£Ï€³i¬¾AÕ;³@øyŠ*œoLœOœÕøë…ú¾›ºxOÛÝËc -@YšUʳªø;žBiäMÖð.•\rž;ùU´¾Rø'î…ç)眄š˜ …@ƒi/_ A®ÉéÙêr«0áFx<×Er;¾zÇ´UϚøSÂö²Ù„.¥mô÷Œhâæ¨É2ؒç/{I;õŠjÑm÷¬ -*s"}Y ;҉¢ú{YÌÝÇí]p¶Òݯ€Ž¶Xo³êÙ}U¹ôZø: hÁ‚)8f÷EµÔëÛDäµsüð¢ qTMŠ:ù‘ɸX!±l®ûԍ”Ëû ΄,ñº17ýbŸgûŸ&fܽ×Y'jeAt ]ôÛïwV^þ%ÑåµÛR¼”tΏ¼‡Ël¥¿é˜¦j¹„‚øϸ3èm>YjŸÖCƒÕ¸ÄžÄÈÊjbÆn“ªŒUý©?ô‹ïðu«ÈÃWøìý#ë,M€¾ߥJBQlŽ‰âXè-ebtxÃ]€s<—ÿ¢:XÝQ…¸w¶²-N;N¾?Vl¤‘vG‰…,Å%ë9êçöË'bìη9|1.…±!]¹¶DšÏó=RԌݬ¤Iˆg‰=Åh_ìŸ5rÿ/˜ÿŸàÿ  tv…;0ÿw¤õ±endstream +*s"}Y ;҉¢ú{YÌÝÇí]p¶Òݯ€Ž¶Xo³êÙ}U¹ôZø: hÁ‚)8f÷EµÔëÛDäµsüð¢ qTMŠ:ù‘ɸX!±l®ûԍ”Ëû ΄,ñº17ýbŸgûŸ&fܽ×Y'jeAt ]ôÛïwV^þ%ÑåµÛR¼”tΏ¼‡Ël¥¿é˜¦j¹„‚øϸ3èm>YjŸÖCƒÕ¸ÄžÄÈÊjbÆn“ªŒUý©?ô‹ïðu«ÈÃWøìý#ë,M€¾ߥJBQlŽ‰âXè-ebtxÃ]€s<—ÿ¢:XÝQ…¸w¶²-N;N¾?Vl¤‘vG‰…,Å%ë9êçöË'bìη9|1.…±!]¹¶DšÏó=RԌݬ¤Iˆg‰=Åh_ìŸ5rÿ/˜ÿŸàÿ  tv…;0ÿã¯õÃendstream endobj 1651 0 obj << /Type /Font @@ -10581,14 +10577,14 @@ endobj /FirstChar 67 /LastChar 85 /Widths 2150 0 R -/BaseFont /HLUYVA+URWPalladioL-Bold-Slant_167 +/BaseFont /MOWKTY+URWPalladioL-Bold-Slant_167 /FontDescriptor 1649 0 R >> endobj 1649 0 obj << /Ascent 708 /CapHeight 672 /Descent -266 -/FontName /HLUYVA+URWPalladioL-Bold-Slant_167 +/FontName /MOWKTY+URWPalladioL-Bold-Slant_167 /ItalicAngle -9 /StemV 123 /XHeight 471 @@ -10608,35 +10604,29 @@ endobj /Filter /FlateDecode >> stream -xÚíVuTÔí¶VA!¤†”ºQº¤»{€!f€J¤SJº !¤‘RBpé–NI%‰‹~÷;ßYß=ÝsþºëÎZ3ë÷îgïg?;~ïFZu-Ik¸%DCrpsr‰€t4õÔ--¬¡pe)¸£µ"ÒÂtñ¥]!H(&c„ˆ€ô Ö ˆˆ‡Ä-,, `Iݽ\¡¶vHó  û_–_. K¯?‘›HÔbºyp‡8 0ä Åÿ:P !í ¨#$­¦n ¨*b–WÕÉC`כ"ÔÝ,¡V e¨†€°€là® Ç? +8Ìú«4ç —$dB8C¬ 7aO+ˆó/ˆä qu‚"7Ï (dëjCÞô AaVŽnÖ¿ÜØmà¿9»Âo<œn°2u8‰°r…:#A7YÕeäþЉ´³@þʍ€ÞÀ ¸Í§5ÜÊíWI¿±ši…!@Hˆ'òW.KÈŠpv´ðºÉ}Cæì -ý-à …Ùþ¥€ä -±µpµv„ 747Ü¿ºóW ªÞÂÙÙÑëw4ü·×?4@‘ˆ£ '€›ç&§ò&·-ÿZE˜ ÄÍõ‡ÝÚÍùOÌâú»AÌ¿v†åF„…5æ貆ØÀªpäMJóÿnʜÿ¹!ÿFüðd¼ÿÞpÿ>£z‰ÿÝ÷ùïÔrnŽŽªNßA ?ï2è×EúuÓ@­þGŒ…ÔÑë_EýÝSò‡Ô_dÇþà–„ÙÞ̄C˜Sø+!õ„X«C‘Vv  Ǜný¶ëÀ¬!®ŽPäfª¿ -âàæâú¦mµr€ýj?ÿfýwí7ƒú­¬úL_RS‹í_ß®¿}Õo¶©íå ýw"=¸õ?¿˜¤¤àž onA.ïn.A^0/¿Ï¿Èú›ˆû¯³ŠÒê 2ââäââÝüþùýëdò7Y˜Üú×Þh!-`Ö7«öÃ/ØÊÍÕõf¿ßþ›Âÿ<ÿ^zÄb˜ž€[‰Û§f¤!«ÈszúeŒ>tpcô„8×h¿Î÷¯€·û¥†/ -—™_T†pÖŠ\5yo;_®*±®õv9>nO†ìåQùг¼Ï'šgz'ȶ6-ÆOûªå½?¦¼€i(À¥»¶Ô¯¡iZtq8øŽ×{ÿ”ÅŸÞ=ߟ”áęÀ×*åí«-„µ·ˆ« -¶¿2%lžž<îêûØÓÝ~x÷ý*%[ö+FQwL|¦H—lʧ†:¥²åoUoÇå!±:±àáWòž/¯åÞb°Î4Ћ¥lb<ԉ<1 ËÄOƒ®¼Ûòרfß©J±¹–†ìÂSj–ìcÓ÷%:YÙ(h}õß]ôsùƒD“Â{Yûñà.™u -ñîÉØè®­ŠÌ!s]%Öu…h&¾EÓu`ÑÀšHô^9zˆUæó~nØ@L~¢È© µíŒxzò”³÷‡ÇGe{îOtÏÉ ‰ƒ>¿•ûÎî«pOÄJl.{¸j =þ:mŸ±R¨ù@lT:1­û°鉬æ$N«àÛÅÖ½[¯ Wžß¾š°8ÀÔÿ‚¯’‡\„¿mxùÚ{Ÿ•ÿRJe’¡>`,Å\V֎ê‡{µÿˍýVÀΣ×ÓF2ý–Õܝe›j.þgôÖkzç1ZÞN?=ß$”ø@ìã†+Õ ×^‘Üï%é_ø= &ÅWo¤Ü?4êÝa–O´i# -)£ žŒ³,†‡í™œ¾ŒËoo£L>p˜Ö DzAªÓ×Ñ#âÞF]uãŽ$ULeçÁKEúÅښ‘ÀíöPT›ù[×MîªxÛ¾‚b!Œ€›y±2¶ºë¼q`V#ØpºäS¿{¯š8{!¥²\üÉSA‘çãtu„ ÞFómÇÛ+›¢?”迳H! %ÁH6ڝ@ÝッçQÇÂÚçRræ§ÎÇÃxM¾ÓnëÇY¡dæO¡ »X÷ÇáGØfÞâ÷h Ý5T™‚uã²ÑÒj9tBŒ¶Ç ³±b_ƒYü³!=â'`'•¡Rzb¯gÎîjó".½SJ˅pUB9/«×™î¢¨×ËjÚ«‰õMÉ,%‹³kÔ²\óäB¼q¤¬ïäÉÓÝQÑ:tfØÏ)A )…isSMõ!ÂBŽyÕ×»§²n•ÑÎõ!.•N{¸z®4ŜXp"¨8³faR»7´v¬H˜×ù7‘²ã³½y^Æ4­^ò2kDEåx -˜]M/„ª¡Q°˜¯Ð+Y9§Ä½ÆÈ ¢>t°ÐcÂu¬*Y›¦ ‰‰fÅ÷4PýåÕ؍h´ÙìHUu -‰ÆpJðÉ@{žÞ~~ÜiЋ“”¼—.Dteà¿ûÞ-k¤þ¬µî*a¶o¬lêÞ÷}L˔Ϩä|¤}¦GU,°~Ù(6®¨Ñçº3š!íÿètoSè”ÁˆD>Éîm׊?¯—Sü|vö‘ÒY5¸ú“åKÍëÔ.¶eC|dš IøœpwŸq‹ýTiWGŠE¢¤jÙ$s$× Bƒú¦î ÜÒ½®R»V<§ø1‚Ñ÷gY|¬ç’ØRÜ7š%S½@njÒÐåú<´»>¸ƒ& cs&Efu§¹ícðV¿3Ò֛j†Ñ«át^SWU¿ðO ÷i)˼¯bâ•%Æw¼Á ¿NÒA -v×Vâ#– ´W>£’ pHOê@ÙPZ¬v–BT rדôɪ®éœ9Jl¢–x–4!©a9êì¸w_>µúÉÑrd7S½êê@¯RUÜfÙúŽÎòb -hÿTÍÎV^‘3/®ïN~®þÓTëxìKÜÎÈë:ç Ü‹·[^œÂKËé:ñå#”½{‰•Á²]ĹóZ^"8Ð%âô#!gìLrªqÀãiµª‘w×øÒ)j#ÉЇx>ÎPoD;j¦K77ZþvÖNhÍWu†¸6×Qõ³ãû¼Ùy¹|˜’‘Ƀ º>—Ólèqû*ÉЋšI Þ1pâðåaÚ>VÔ7ã÷?×AÃlêîû@¦ƒ³+L¢ö-æS åØÝu~ uÐòG¹· 굏Â|©j5†#jkwJY¯ü äÝV,ٞZiÞJñÿBz–›¦pűQÖÄBYˆ´Œq¨Nà.]ðwd¦*ÇÌ"M}Ȏí–KnUZoúŠÏÕFM4Æ/m²(y F[j!È4÷á”?šcÃi𸇛U’²= ©Ó\µò•œ8M#…ùi“¡vG«~ Ï—ªC…IbËÝ«|;P+_ÝiI‰móa?ž#îÅ,`žØLgöÐ\¤d©‹jm,) ˆ˜)æ°òÖÈØÝâBsX·,+tiHhhíïÈõ}ËNb ŠÔƒïhçeÖB Ǚeã¬!ùcG“ûî¨}'K‡1V/àÈó¬T¼ïx~ßjk‰«užfë - óó83S€“ÔdäÒ@¡©Ã¦Þ‡N·Š<ìMm(qG.:µcºq)øûëä÷h%µaŽ^ hè$ &Bޙ*¬í ²stÕ|V‰È;K!¯­¢Á7ÙÐÀdÎ!3aFnÕ;´zh:ÛKÎkoÐJŠ²H´øYíb"S“{ÂÃ=1áwžÇÆ/ïu’Ô­Ãak<%)í¯3.ò<Ž«j‰d|†³û  ìÖ -d4} d䣮6ó胦˜ Ö¢(Bŵê}®¿€ ´í¤páȜM¢t¥ÁÝ;_‹LÅñøŠLòO‚ä$*`"–ÑÑD$ϟí²û{Ÿw§Ï-Ô ¾­HadÓ$¤„óžÕ¾™ÓM4‘$rGQ„+œyh2¬2bZ¦pÀ¾f ˆº—õ‹o„ÖÅ°äP‡éRÔ§Õ±uay+;=jÞiãßÅQSr’¶ÎĘLORˆ”Ç5 ïUÒ©&Õ?c‹Ô%VƓê¿Ä¥N!.Wo}Ü(Þ¾EÓC˜zyRgjDIdš’º+æ2éÉëDQÅÄqö­Ž™5‰¨FÉmE¢@©Œ’- -‡æëðsÉƺ“Jµ$̀‚*vylµ™s$a`F éúÀ Õ (X×Ñ | |ÁS 5ÌÄó o梯‹ûȯg¥Ï.š9~2Œþ  ͝ :0×Ò3îeÐiÁeø¬O3KG·l¯ˆšÊé:Ðg~Ðóud6pD‘3v°Ìb¦N f‹Ih¯Ëaˆ>.`È.kŠI¡iøòÄ"ÌSžˆù0Ùҗëbûj¹Dø§€Éj‡×òáøg”¯V0½àMr’"廅ǔZ²]ŠÄ]„‰§˜(%:‰Áh"8µƒIo¸œ|Ìä¬ÓxºŸ¡ø©ØYbÔ+¼NÐ#šêÐ߸0ÒהÔN½ÌùcþdžéL/˜¬Òñ}Ò¸Ï ={´;‘­žPœ•}ë2ï£mŸ¡©ÍÐzú˜ríÛöÄû?(elG“(bwá ê[|sWúµ†.c[— è—Þrݼ)¯ù¾å—Úôè¬s¬ËωË^`M«+;É „õÿìUü(eÐ{½£4—üiIžUNõnÍñ5ÿ»ÚóëDâƒÅa7õôχ;$8\¾KݖüF¥ï¤Èk«(×ðbçÂ滥ï—Ö@ºì9|é;g8n_T’Û˜—Îïê-/û“èóIå³{Â,FßËùí>öG$ú˜ØÄr¾´‹§;Œ4þ¤äÍ7{Ö[ú©ò‘tâsËXóm †K„¤Oi -=¼[QNç mh a ¸˜¨¸;Œ3ܼ nq%‡ÓÅÅ;7£Ѹú†Öëí -Ù{¼&¼+¢Bo`Ïs%2º6\ŒÐC8,kn!+86¹ÕV°g;n„É©]1A`ï|œÜÂ)ÈJX¾z/ òa_ÈÊÆC5âg!Äd*¿‡‰9_ Üép;ŗƒD\`Úª=Ô¶wîIЧG¦'»¢v2¤[íø#MûŸD…÷N‘cœvH¾xèÞó@!Ç]&óîÀpÁ:·€“K{E#íőïðô…[:ÎçòX÷?f…FyCÎnà|ª1ü€¸S•î&WÎ̆4OqƒÖ¾Ëýøívçz ÛY-©•ùA ‡ãé!¿·ŒIo8ÁÍ’>Ӛ- ÕÅŒˆèPK¦Æx°‡¼cI¿JûFÚý¿¹*`«‡Õ†|g*jà]}Ç­‹Ì0Éïã:ú¨ ªàXI6´)+¯ÏóˆTöUºo‡o݁䣽oXÅE}óÎÇYFÕ3ØUK’a\5rÝg‘mq{û?½zïç\‡i©ñ·¹U÷orvGxqó¿GÍdç–S¯z%ðåˆQ‰Ä½ U‚øø³ñÉsU'¡õ¸ ²3|êÔ¯U›eY@H«Ñ-^  øÝK“š3RUꟀό‡(×Øý+„/+¿¯c0”V?­à,VvΩãŽ.çc¡mEêDwûÊ^.I¹Åœån<­]+aàK×·ŒìnÚ±Ö«j˜7ÙY“ ƒǾø#^å÷˜Š”Ϙ\ÏOêÙ$¤ÓO{m’@¼=ö>_YÓÖÉtŸ’ÓØ1-ZÒR'ÅV«V…4ÔkM:ؗrǐiõõÓà<ž‘Õ j‹¶TŸÄßñ$E­R0ô™µ®Þ>­Óù™^¡ÆûxŽ³töµKü–ëQ@ƜOÎý‡œ -Oéž8L.Ï ­2PnÚëâ*6»RMˆ{j¼YGÓ­µØå<Ÿ¨_Ó?ÜêžSN G rQD¿-‹Èõ~vÃÀ²öȉ¬Ü8ý1ÁüÓn¥"íƒÇ¸Œ/ß%Ü7NKˆ”:½>GÑ0­ ûQµMo]”ôWóé -Œ¼åÇ°üg<ž¢BɞmaNYî)ËLêò³}!ÞŸˆ³–xõê?þ"r¯èYÒrÈ&*aÜÎí–Ü ТD–*£|µð`šPÅ¥Iñ¢?¤ê )7I”ZiÏï¤`W*¶mªª}_®S›(…\9b±ŒÏ‹µWOT›ºˆ$6 »”£Ý»ˆ%ZêƒÎ6 øŽµ²ÉÏ|„ßùÔ3kQø ×'ò]ÕÑA-ˆ¡y…" +×i &ï;½ŸÝÑ­Aq.I/±…è*rõ£…†4·íÏ+2óð,®öÇ?ô®/b?¶û -ˆ`ž70'Š%⋠ߔ°ž®ÒìÙw¯]ÎÉ¿šÀ§ÎˆÈº¼Û¥,û‚ êïÇm…)‘·HW» +¸ü"¿ µ¼ûª;¥Ö¹À{ƌÚÞEÍ>:i¤Ý0A]_„3—·¾ÙžE9¹Ú¦»–w@b …¬ö¸b ,oiËkk!_•/4>œT’D^ÞÛ~“„³äRÈA.×=~|ún6óÅ=Á³µ0ÍãÁ֖\^-Už&( -–ËÓ»\IFÙØS­˜õOW_ºhýÐj-® -X{$¬½‰¼û£@†rlZ‰âéžËŠ1O(­$¶ˆmèö¡àé»÷ÝõäIŒ]Œ_-ô‹ 8ßû ò%zŸT¶n76Gت”·& øì‰Ç†‹5ÎԉŠd¾uä3¾õˆ;)EO4,Ÿj&l‰#õŽ¾„˜¬Ù¶³ -¾höânF] Ÿx'´ÅfÊ`\ñè{Ý?¬¹¶=ê3‹ XTÑW©(¬§ _Ee¶){‘@ù‡„{:ƒ!¡X¾BK ”G½èßj²¾F!Ææ!Æ؜Í*ªÞAO^Õîʅ¼ -3Îôä¬I'4tùÀþÝ-CœýöMÇ[9èHïr}ܝo_¿¿¨æ}>ç_`—Ôy[8¶.χãZð-ôü’Òg]}ÖŽŽl¹'4ã!DI½º+ju¹õ8å™òT°CH֑_e‘‰ÿð:û5r€ë3.ñ4v—W”Ò]ª[)ïó–äXÁ—â݈Hޏ÷ó§qWru?̦h̑ê¼7ôòÀ…U^ÎK8%į v›AŸ7°ë1ÌÇÛtOn4 -ºØËc‹í—R°£36‚FÅ -ݹÎ%:¢‰»•¯·0Î&SwªR V‹­C%#ìN^©Û™KuӚˆ<~f‚â¢Ï8”‹qyœ_U æ=¢¦#fœÞ*¨4í¶²(‚柘\oi›–•`ûljYÛWʈ¹ºœ2Ž(IwŒpyˆ ¥6Í]š†}„¯j¾Ÿ“&cðÓ½ö¢õníio=|_{Ŋ{²¬>l¦Hðãä:XàÊ£ånMçxºýu+ÙVDɲéõýV“¥bððÁÁÈ·©e—¶Ê]œjwÆ«(öe"æ}Մ§8$‰,™wW3ŸkÞüDŽ/úO -ùHaÒDÚ]|¾"`N„¨L=s÷ ,¢Á’Ú•¦QÀ˜¯|[Ã– ¦§†IP˜þîqÖ*oûƒÆÆnåÉf,ÅÛp™|Ā(SÖ~ž²GøÝTfވ‘†g“¡Á‡ÚõÉ&®v^ó3 X]î)˜C ãû&5ÀI©[hû5¼z¥pOŠÌå£Cïêt}æyjöi!–†o\38˜·œá¦ÑU“!4+£+»×øúÖ¢ÏÇP~nd*[Çw;r¤Ûqôß5=ò–WÛÜFa›®¢ÙíÏdî2§Î#ȧ$†üsƒBLe-)ÖTùf°ÁÔ1‰ÇÞ£W¦¹t%g\ÿæðÿÿ'¬!®H¸“…«à¿ ºy°endstream +xÚíVuTÔí¶VA!¤†n†n”.IéΆ˜f(‘N)én$†FJ Á!¤[:%•$.úÝï|g}÷üuÏùë®;kͬ߻Ÿ½Ÿýìø½ki5´8¥¬á–y8 ÉÉÃÅ- +Òy¦§aáèha …«pJ핐Ž HÀÈ(ã +±@Bá0Y $D¤±ÉB¬@¼¼ #Hîìå +µµC‚XnxXÙÙ9þ²ürYzý‰ÜD" ¶0Ó̓;Äîì!o(þׁZiÙ@! u %5‹‚šHƒ¸Þ¡áf鵩@­ 0„dw9þqYÁaÖÐ_¥!¸n¸¤ Âb½ ƒxZAœA gˆ«¸yA [W ò¦H8 +³rt³þ%àÆnÿ-ÈÙ~ãátƒÝiÀH„•+Ô ºÉª!+ÿ‡N¤òWnôÁmn<­áVn¿JúÝÐÜ H ( BB<‘¿rYB@ÖP„³£…×Mî2gWèon(Ìö/ Wˆ­…«µ#¸¡¹áþ՝¿êýSõÎΎ^¿£á¿½þ¡ŠD@m¸<¼79­7¹m¡0ø׺(Álà î?ìÖnÎbî×ß bùµ3¬7",¬á0G/5ÄVƒ#oR‚XþwSæúÏ ù?0âÿȀÿ#ãý÷†û÷ýÓKüï¾Ï§–wstT³p‚üýyπT@¿.Я›jõ?b,œ Ž^ÿ*êïžz?¤þ"û;ö·Ìöf&œ"\"X¡y¨'ÄZŠ´²ÙX8Þtë·]f qu„ 7SýÝP'7÷ß0m;¨•ìWûþ€ 0ë¿k¿Ôoå`e9 5yö}»þöÕ¸Ù¤¶—3ô߉ôTáÖÿ8üb’–†{‚¼9y„¸Aœ|7rx¸…ø@"|>ÿ"ëo"ž¿ÎªHW¨'Ȉ›‹››tóûç÷¯“Éßhä`Vpë_{£…´€Y߬Ú? ¿`+7Wכ ÿ~ûo +ÿóü{é!Oˆ`zn%lŸš‘†¬"Ïéé—5úÐÁƒÑâ\\£ý:ß¿Þî—¾(Rf~QÂU;(zÕä5¾í|¹ªÌ¶ÖÛAæÈܞ ÙË£ò¡g}ŸO4ÏôNˆ}-lZŒŸöU/Ê{LeÓP[wm©_ó™iÑÅ=àà;>WìýSVz÷|R†g_«”·¯´ÖÞ"®*Øþʔ°yzÂÜÕ÷±§»ýðîûUJöìW8Œbî˜øL‘þ.ٔO uJåÊߪݎË;BbubÁï<_^Ë¿Å`i¢KÙÅy¨yc@–‰Ÿ'\;ø$·®Q;S-”âs/, 9D¦Ô#,9ƦïKv²±SÐúê¿»èçö‰%…÷²õ-âÁ]3ëãݓ±Ñ][™CæºÊlëŠÑLü‹¦ëÀ¢€5‘ؽrô›ìç3üÜ°˜üDÑSjÛðôä)Wï8Ž*öܟ螓3@'}~+ϝÝ6‘žˆ•Ø\Žpµ<züuÚ>AbåPóبLbZ÷a3ÒYÍEœVÁ= ¾‹­{·^®2<¿}5aq€©ÿ_5¹Ûðòµ÷>›À¥´ê$C}ÀXŠ¹­œÕ÷ji—û­€G‡/§Œdû-!j¹;Ë6#Ô܊.Oé­×ôÎc´¼$z¾I(ñØÇ/ Wj®½"¹ßKÒÿ¾ð{Lš¿ÞH¥hԻí:iÓFRF<g] Û39}—ÞÞF™8|à0­‰å‚Ô"¦¯£G$¼ ºêÆIª˜Ê΃ .–Šô‹µŸE·ÛCqüQmæoi\7yªàmûŠJ…0:næÅÊØê®óƁ XeŒ`Ãé’_ÿî½jâ셔Êr‰ÇO„DŸÓÕ6xÍ·o¯lŠýP¦ÿÎ*5„$8d”#ÙiWtu¿÷¾žG= kŸoHÉ]˜Ÿ:ã3ùN»­g}„™?&ì +b݇a›yKÜ£%t×Tca֍ËF˨?B:äÐ 3ÚZP ‚ÌƊ} fñφôˆƒTU‡J鉽žj:»«Ï‹ºôN)/ÂÕ äE½¬^gº‹ ^/«k¯&6Ö7%³"”-ήQËò͓ ñƑr¾“'#LwDEëЙ}`?—$-`¤¦ÍC5Շ 9æ3ÖXïžÊºUFC:ׇ¸T<íàìe¸z&îĊù @Õ!˜- “Ú½¡…´cEҼŸýÍó2¦±h’—Y#ªªÇSÀìjzaT €Õx…^ÉÊ9%î5Fõ¡ƒ…™y ×±ªälš2$g$?˜ß{v€¢è§à,¯ŽÀnD£ÍfGªªSH4‡S"€ÚóôöóãNƒ^œ¤ä½t!¢+ÏøÝ÷n©X#õg«uW ³}ceS÷ö¸ïcZ¦BF%×# èS=ªbÁõËFñÁp%ˆ&ˆ÷Ñ ÿø‡@§{›Â§ F$ +ñÀèHvo»Vüy½¼Òç³³”ÎjÁ՟,_Âh^§–p³/â#ӄHÊÀ焻ûÄŒ[‡¤Ê»B8Ò¬’%PË ™#¹&}Ô7uo(à–îu•úµÒ95ÀŒ¾?ËêcÕ8—ÄñâθÑ,™ê:f”†.‡Ðà¡ÝõÁ41hÀ›3):«;Ícƒ·ú‘¶Þ,èðY½:Nç5u…QEð ‰rŸ–²ÌûŠ!&.ÜYâü×É ú;á$¤`×yme~b©@{•3*¹‡ô÷¤” ¥Åêg`iD՘|)1IŸ\°êjñ˜Î™+ Ä&j‰wé„™–£Á{÷…᫐-G3µ«®ô*UÅmÖ­ïè, ï!¦ öOµìl•yóâúŽàäç?MµŽÇ¾Ä팼®sÞÀ±x»åÅ!¼´œ®“X>ÒIÙ»—X,×EAœ;¯è%Š]"N?v6ÁnÁ$W¥0O«W4¸»Æ—NQI…>Äóq†z#ÚQû3]º¹Ñ +·³®pBk¾j0ĵ¹Žjœßç]ZٟB dŠÌÓš­U• +ÂIÛ9䂷œãƒÂè©õß½n^(Á•Ýh´7C¶¦2„K~V')Ïï±^š}zTÉúÔu?£F-!z_‚¬šÉÉ/U‚og4²Š’.§N™EhôáÍÎËåԌL^ѽð¹œfCÛïPI†^ÔLʸðˆ§/çÓö±’¾¿Ÿ\S ³©»ï™ή0‰Ú·˜O%”çp×ù1ÔA?P(åÞ.¤gÔ> +ó¥ªÕl^Œ¨­Ý)e»ò3Pp[´dbõ¬ðVŠÿÒ³Ü4Å+΍²&VÊBÔ eŒCuO邿# U9fiêCl·\r«ÒzÃÐWü®6êb1~i“EÉ5ÚÒ A¦¹§üќNƒÇ=< l””íyIæj%‡¨äÄiñ(<ÈO› õ;Zõ}¾TªL’[î^åÛA€Z…êþHKJühØûñœq/fóÄf¢8³?€æ¢%K]TkcÑøKEÄL1‡•·FÆîšÃºåØ KCÂCkÇxG®ï[v“U¤Dx?B;/³j8Ï,ã)¢ÉÏù٠űZ,wyð#½Ï«ÛŒr>xŒWÖÆú|nòÚ¸ £Á'¼Û#Í5C²&g«=O(½m°’úb6̶˲G„¬8Uc¬ÿ]ºÍ¼¯7A•Â]Êuþ 0œL2ä+¦ŽÀª²m>us¶„*6ºÏ‰l¾Ü]"¶ëÑ‚æNé9´v—ÈäN¼¥{– ñ°iÖÅ«Hºv!Y %Šžî=ó]©8¶á7ÎR8v4¹ïŽÚw²ts`üŽ<ÏJÅûŽç÷­F¨–¸ZçI°~¡0ÿ00+38)XAM&H.ž:lê}èt«ÈÎðÑԆ2OÔé¢S;ö ·¢¿O±N~VRæ芆Ž@òÐ`"䝉¡âÚÞ Ç1gWÍçaՈ¬±³òÚ*|“ ML–"1fäV½C«Ç3g{©ybí Z) BVÉ?+¢]ìOdaòÏCxy&&üÎóØáå½NRºu8썧$¥ýuÆEžÇqU-‘ŒOqv´£ÝZŒ¦Ì@F~êºa3>hŠ j-Š"TB«Þçú XB‹ÑN +‰ÌÙd%JWܽóµÈT¿È$ÿ$H~@²&jM¤Iòüé.‡¿÷ywúÜB½ÐۊFög„”p¾áÚÀ7sº‰&RDî(ŠpÅ3¯ƒgƒL«Œ˜–)\°¯b„îeý¡u1ì9ÔaºÔ0•i l]˜dÞÊNºwÚøw T甼T ­31&Óãâå"q è{•tjIõOÙ#u‰Uð¤û/qA©SˆËÕ[7Š·oÑ4Ʀ^žÔ™Q™¦¤îŠ»Lzò9QT1q†}«caK"ªQv[‘,P.£dÂ¡ù:üœFª±î¤R=éY@A +‡¶úL9’00#†ô}à…Ú¬ëè¾>€à)…fbˆû†7sÓ¿×ÄÅ}ä׊³ÒgÍ¿?FІæIP›˜ké÷2è´à2|Ö§™¥£[¶WBMåtè³<èù:28¢Ä;Xf1S§³EŠ&´×å0Ä0d—5ŤÐ4|ylæ©@Är˜léË@È}±}µ\"òSÐd5ŒÓkùp ü3ʇÏÎ ++˜^h€&9I‰òÝ3¥–\—qaâ)&J™NBb0šNí`Ò.'39ë4^€îg(}*v–õ +d ¯òˆ¦:ôw.Œô5%µS¯sý˜?™g:S &«t|EŸ4îsFCÏ­ÉAgd«'geߺÌ÷hÛghj34€ž>æ€\û¶=ñþJYÛQã$ŠØ]¸ˆúÿܕ~­¡ËØÖåú¥·üD7_ÊkþoùåŸ6=:ëëòsâ²ØÒêÊNraý?{•>Jô^ï(Ï%ZR`“Wû€[s|-ð®öü:Q°ø`qXó d=ýóá ÷‡ïÒ·e¿Qé;)1ÄÚ*Ê7¼Ø¹°ùnéû`îû¥µ.{_æΙ$ŽÛÕä6–¥³Á»úcË Äþ$úÄüÒGyÆß쳈‚Ñ÷2@~»ÌþH‚D›X®—vÑ ât‡’ÆŸ”|ùfOûcëQ?U?’N|bk¾ Ôt‰ò)MA ‡ç¨´‹›ÇŠ%î *ìN3zöû˜ Íð×90´­~â܊Og½`éÆ.æ%kK2œj/zÈ}âí;ZÑ‚tZ•„Œ±z‹D ÓNZV«ÊõBEí +ýL¡T÷Æ{ši®G3È¥ã"y+â3’§[cͽ<å†Q@òæì+}·÷¼Íñ0þ’Dâ%ßéfL¹7®‡SìD nŸe‹ïãF cé¯ÿäφ=jýúхfìÁµAÌ^He±œÆ̀PP‹@Sò˜ÈÈ5D7Âþ˃¯íãìoÎ64ҎY›]l_o%а¤ÒÉSŽšŒæ©óAüŸhöUù»ÐyèvíS¬ÐD=ËOÃxýa“²I;ÊÃ։do“LÈÁd<±~ŒÞg®¨ÙÏØÃîpðzÕ±5õ*¨2Ò1·2BÏ`«ùñG8nå^{bh…Þƒ1K÷©éVZ˜gí"2eF˜ˆA4”ÈTøxzrA¤ÚØ?ß]íݝÇKÚâ>/oA,™ƒÍߚ7±2ÖõÒ%Ýá»ÆAüÄjLï¦#˜!elµqϝpj•žaîñæ"¬¹pÈ®¡³‘¾¬p_Û°~ö¬Yã$Ä/‚¬]‹>’7çWœ¶*CüGž§“0#,Ùâ÷4)jÒ-oï-Ž|?Ä-¹ùË&¿IµBžÛh«£ÞE,÷—T͌‰ðÅd+pY´è´[Ñ[óär›¤–Û#.NkúLK õÀz?|ìþ…"Œ²*çÝ#Š;þ /Á¾Õ™uÛfxA…÷±øÊx­ëL1Ê-¢æíYa“êKá°¬†%õ= Ê\\ɨ²*‰)s,›]øŒÆ×!;ypÕãQ4ÎÞ0QÕÓôÍoúyAyuUç˜C”C”ê؇o+Ê鼡 !‚Wc‡q…›—Á-®ä±s:£¸ùæf4#WßÐz½]!{×„wETè ìyî¢LF׆‹úa‡õbÍ-dÇ&× Ú +ö”bǍЃ 9µ³+&읏“[8Y)+TïD>ì ¹B٘c¨Eü,„˜Lå÷0±ä+ƒ;n§ør’HN[µ‡ÚöÎ=úôÈôdWÌNP–t«ä¡iÿcƒ¨ðÞ "²`ŒÃ©£ÑÝ{(æ¸ËfÞ.Xçtri¯h¤½8òž¾³pKÇù\ëþǬÐ(oÈùύœO5†wªÒÝäʙÙÁæ)ÐúÃw¹¿Ýî\d?  å$µ² ?(°¡Âòr>9ð–u é '8°YÒ§hZ³”£ºØƒêÉÔöwl"éWißÈ8¢£_ø7Wlõ°ÙïLE ¼«/£â¼u‘&õ}\GuA+Ŏö/E`åõy‘ʽJ÷íð­;z£÷ «¸¨oÞù8˨z»jI*Œ»æC®û,²M3noâ§Wïýœû0-5þ6ÚžàMÎînþ÷¨™ìÜrêU¯þq + ‘x£´J60>y®ê$´7An¦“_ƒúµZ³+i5ºÅ‡Á) ¿{iR`FªFý“Sð™ñå»ÿa%€ðeå÷uì†Ò*ড়ÅÊÎ9 |ÀÑå|,´­Hƒèn_ÙË%i·˜³¼Ã'µ+c% ü麖‘ݍ@;¶zu@ Ëf#[2aPàØÄë üSÑò“ëùIý1›„túÉb¯Mˆ·gÃÞç+kÚ:ÙîSRc;¦ EKZªâ¤ØjU¡ª†z­iRûRž2ã ­¾~æ9 ¶hKI<üORdÑ*ãAŸYëêà“ºñp0Ÿéj<°÷8KgQ»$`¹dÌù4à|ÐÈ¥ñ„î±ÃäÂñœð*S妽.®R³+Մ„§æ›u4ÝZ‹]Îó‰ú5ýíî9•Ôp"GõAìÛ²¨<èQQïg7 ,kŸœx¡ÊÓ,/0íV*Ò>xì€Ëøó]Â}㴄I©Óës” Ӛð±ßUÛôÖEÉ|5Ÿ®ÐÁÈ Yf†å?åõNöl sÊrO©XfÒP˜í‹ñ~øX‚­üÀ«WŸù‹è½¢§IË!›¨„q;·[ò'@‹9ªŒòÕÂBiÂ}—&ŋþª7¤Ü<$Qj¥½€“¢A\©ø¶©šö}ùNm¢r•ˆÅ2~/¶^=1mê"’Ø$ìRÎBï"Öha¨H&ۀà;ÖÊ&K<Ëv|oäϬAF‘/ܟÈwÕFµ< †ævJ€®\§š¼ïô~ntG·9%¸M¤x½Ä¢«È5ŽÒܶ?¯ÈÎó¸Û™è]_Ä~l÷?Å 7`NKƾ)a;]¥%سï^»œSx5O‘uy·KEîÔßÇ +(Z¢`‘®~VpùEaAzy÷UwJ­s÷Œ?´½‹š|: }ÒH»a‚º¾g)o}³=‹rrµM3v-ï€Ä@ Ùì'pÅXßÒ–× +ÕB¾ª\h~8©$‰¼¼·ý˜7!g;É¥ƒ\®cf>}7›ùâžÐÙZسãÁ֖Ü^-Už&( +ÖËÓ»ÜIFÙØS­˜õOV_ºhýÐn-® +X{$¢½‰¼û£@–rlZ™âɞˊ1o(­¶¨mèö¡Ðé»÷ÝõäIŒ]Œ_-ô‹ ¸Þû ò'zŸT¶n76Gت–·& úìIƋ7Îԉ‰f¾uä3¾õˆ;)EO4,Źk&l‰#õŽ¾„˜¬Ù¶³ ½höâiF] ‹œx'´ÅfÊb\ñê{Ý?¬¹¶=ê3¤XTÕW©*®§‰\Ee¶©x‘@†Dz:ƒ!¡X¾ÂK ”G½èß>c{BŒÍCŒ±¹0šUÕ¼ƒ¿ªÝ•5xfœéÉU“Nhèòã»Z–$8û훎·òБÞåú¸;ß¾2~%~QÍ÷*|6οÀ.©ó¶H&l]ážçµÐ[èù%¥κƬ!ÙrOxÆ!.B˜“zuW,Ôêr‹9å™ÊT°CH֑_e‘‰ÿð:û5r€û3.ñ4v—W”ò]ª[)ïó–äÙÀ—݈H¾ÌûùSŽ¸+¹ºfS4çHõ¿ÞzyàÂ*/ç%Šâ׻͠Ï8ôæãmº'7…\ì°Å÷K)8ÐÁ@£bÅî\ç±ÄÝʂ×[g“©»5é«ÅÖ¡’'¯ÔíÌ¥ºégˆ<‚â¢Ï8TŠqùœ_U å=¢¦#fœÞ*ª6í¶²*æ›\oi›–•`ûlj[ÛW*ˆ»ºœ2Ž(ËtŒp{ˆ¥6Í]š†}„¯>{?'CÆà§5zíEëÝÚÓÞ&vø¾öŠ ÷dYcØL‰8àÇÉu°à•GËݚÎñtûëV²­ˆ’eÓëû­&KÅàჃ‘oS*.m•»8ÕîŒWQì3ÊDÌûj OpHY²ï®f>×¼ù‰_ôŸö‘Ƥ‰´»ø|EÀ’=PzêîXDƒ%½+C£ˆ1_ù¶‡=AýYœ:&Aaú;æ¬U¾öÝ*“ÍXJ·=à²ùˆ1¦¬ý<ð»©,|# O'Cƒµë“M]í¼æf°ºÜS4‡AÇ÷Mj€“Ò·ÐökxõÊáž™ËG‡ÞÕéú,óÔ92‚¬ ߸gp0o9)ÁM£«&ChVF=Vv¯ñõ­Åž¡üÜÈT·Žïvä(Ê´ãé¿7jzä­ ¾¹Â6]E³ڟÉÞeIGOIùç…&˜+ÊZ Sl© +Í`ƒ©c½G¯Lsé:JθÿÍàÿ þOX9B,\‘p' WÀãÉy¥endstream endobj 1628 0 obj << /Type /Font @@ -10645,14 +10635,14 @@ endobj /FirstChar 66 /LastChar 78 /Widths 2151 0 R -/BaseFont /NKXARS+URWPalladioL-BoldItal +/BaseFont /JEPNFY+URWPalladioL-BoldItal /FontDescriptor 1626 0 R >> endobj 1626 0 obj << /Ascent 728 /CapHeight 669 /Descent -256 -/FontName /NKXARS+URWPalladioL-BoldItal +/FontName /JEPNFY+URWPalladioL-BoldItal /ItalicAngle -9.9 /StemV 114 /XHeight 469 @@ -10672,17 +10662,13 @@ endobj /Filter /FlateDecode >> stream -xÚíRkTSW‘ª¡¬òRIÕzX%2yj  @ÄX4¼_soÈ-ɽôrIˆø ’ª,‹Ø蒧¨(Vú@©%Va -ø"­" °©Z_sÁººJÎüš5çü9ûÛßÙû;ßÙ49Caa † “#Á2™”Ãä™Í¦ÐhÁ8¬  Q°p°Z§Ü€ÍòVy| - céIUÀ+˜>Iâ‘Æ¥2¡†µd ¥B䘁 ˆ4°~òFXgÀx& 1)€%6©JaMj’¢* ðߐ.ý]*Æ3HQÀkJ&"! Õ«(¬µÙ &µü7dM/.Ñi4kÚÉòSNý%¯Ð"Ãï L›®#`È0ÆÑéÔø­8 !:íô¬”Ph¥MÕÀ€ÁYÉd¯|‹#DC¡T•B“Oá0 -MWBú7¥ƒ,“xÿþµSÉ‚‘†t°ÿ`OŜ?bÒ$у6“ÍæDr¿;%Mk&F•„ ©€Ëó -W(ä‘9A!X`=©˜ÅD1‚¼Hgr€ -Ã)“ÿêÃ, œ‘1‰¾¸€•:9{¤{“Ø_Ÿ„鍌\ÀàòÈV앾€Ïcçü‰¨Ôá8ŒSãCô.V!¤§0¬‡•ëMLé·õÓ}§·×䊫:ÙÓ3šlm?¿í”ُ9Üëçroü)þè7çmΟ"ǝJF¿aA*^õ´(Ûb”³¶õ8[Ýèûå³*‡“g\.kký@{pÇ=ëâÁôFï‡?{>»›yÞ¾nÍ}¿’:R8³æÖÍWOrÓ6uôY¾†<‡J(IegÖ셣ÿy·èêăP¬ -³V_žŸ¸ÿ™ëk+µõNwÚmG³ÀT&³»aö9‡M׫ú;(œi‹­±¥‚Õráì…>×£ËÍÀæCsl@sS¸ì×Ù]tÁ€‡ùýni~NIXŒ4jtÁ± -e͍h5Õ®ooÑ  ë×廤Õwrý‹9é{iëSÆ_Ñ~[²sæÓ¤/zŸ¿1Q[*6î'fÄxûÌôò¦·³©ö×¾°xÄ)Ô_Ý#Da½«LmÚ¿ög7É@¬àFžÛÍ£_xZ¹”ûÂqí¾ò¿É⽿m²ìIëmq—Џû+ýëR‹é7YœÐ›r6ò–÷åچ U!®µ3“,MIՒ¦ÙXÏ@Ð|×…~sD‰ƒ‘@½Ëz±[_ô@}.ۅ71¾è¸Ðç`÷K¿¡ŸJ¢,#G|åÚmY¶‹ù r¹Ñ÷W»óáµ)†Nßړ–ç-ÛEf3ÖíK;^^³]kx,˜³÷˜ þÇ®<ûÜSQÓª2¼Ôy…oz¶œÞFÛp¥ö1áTñ¢2…‰ÇžmiEqtðĸ1“{ö“ <¿ÄÔ×ÝGÖª6îÞôðñ­•‹vl ú{Ôtñç%¹o¶Žö„êœÅMí VôÞ1óûÁÀ–s‡œužþ±ß, h¡Ö]øÇتu ®³*ÒÈÖÄyÚöOРæJm­ r¼¤Hõ²º[d®ßKŸº£–ætÓv A;üêdUI4+w°gÕ)bÍX¥•/•žÖ,·™qgæؓ÷Ágøæƒ×Âø å» ÀÛñ£þw»&ty®WF -;~9³B¦’½IïM™¯Ê2è;çe5u•.p*×3¼¶žùÄø%÷«Ó¦ÆÍ6óðµÒè;[uûöë®Wⵜ-1=÷ùÑ؎|»÷s -WS©Ÿ¡¦¥ucúýua¥ƒ}Gw^ʊú°Àr×+Ú½T\òÚ6.ºn¨Ý¶,ñ0WèÒ¨l¬7í¹XYìøq´&/ÌW¶ÝNÞ²zXV×pb·ÃÎ!uvq×܂æY wnþÙíñ²LyÅ×ñçùù™Ñç$¼¾À9ß{..RPrÎÉ¡"qõÁÔ{➰ìç?|½g2ºäIÌYsaÁ‹Auïßòbéð•NÑ­Ö=´Ú.MSuiÁÙÜ— ï…:n¿"¼æä¿»½¸÷YÛ8uñòu©ånßRŠ8!ݦG¡-k² ôH ⸶·Ñ¥-™—'* 꺱kDÜÐq½,ï4JÞ@h«Ú?‡•Ç -h›…/ØͺÿÑոϿK©æŒ]·$]ëùrtÝNþKk‹žTÄP«ºyó¬ŸfEί¢Öö³ÿÃEùÿ‰J ¬À L«ÀÓ(ÿ.Œ¦endstream +xÚíRiTSבª¡¬2©¤j=,Œ‚4͆PÀ"FÁ0Ê 1÷†Ü’ÜK/7”AāJª²,b£KFQQ*¬*u@©%V¡œH«–µHÕª8õ‚uu•þ|ï×[ïœ?gû;{ç;›á&cŠ`|„c$bAB •J  ÎÁ 9‰âX œD„<ÁJ­p—_È[&äñi €§ê 4YE·÷ ˆ4*äÊI¢¡j(äj Ã(BêY@¤Vƒµ7ÒÀZ$ !Ò˜Eƒ £ +l@’QŒÆžÐ$Á”8࿁amêÛT:B¤Q¢€Û¤Lw@‰„qL­0¢¤±WãT7„Òòߐ5µxV­^-×L”Ÿtê_y¹UëÿbàšT-‰@ŠÃM¥F#oÄIÕj¦f%¤\*DX²Lh9‹³ü Ž¦¡:CI… +(åê4dG0xªÊ¿IìÐ5Qa᏿¾v2&G12BŸŠÎßìÉú;¦L"Pˆã°8ˆ"Rûí)aJ31¦ÀaK\ž'„\O£†ˆŠx (#:€è(Ål†“Ô@9“ ”8A›øWO`«‘´´ ô Àìä‰Ù£Ü›Àþý4\—É\ÆL.jÅYîø”Aoc%JyŠ :DA3ßÀÞ[>Þ{j[uŽ¸²ã¨µ{Ú|ãá-m綞4z³†z¼® ?F üa¿Õþcô˜]ñpèWlXÉ륟e™2eì­Ýö&['÷ò}²Cñ‰Ó.•¶¶¼§9°ý®yá@jƒÇƒŸ\ŸÞI?g]»êį L¯¾yãå㜔í½f›/a×ÁbZBééU{¨_ï^¿ŒWâæªKsã÷=u|e¦·ÜîJ¹ekJ¥V׍>/fqÜuʾv´?e¡9¦D°R&œ9ßóZT™X¼ïãbŒñmj •þ>³¿Ó]Ðïb|·K’—]-‰™w´ÜAQ=Oí\E·DêZÖ5k|± ùuáy)u\Ÿ"(µacmÒØKÆ‹vL’ðüyϳ×zóE¦‹…óñiÑ^ûýÒÝ<†ÜÛ8t뫟™\båª/î’"¿›†VÍ~}YM£R#¸žëtãÈg®f.ížpL³·ìCé:¯M»ãÅ: AìE죾Š‡¿]l6ìç&Äõ$‰¸éq©¦þ|e cMþôScPPå¢Æ™xw¿ÿ\_ÇùÞ³íDñ@µÓ|¡KWx_u6ˁ7>¶à˜Ðó@× ïÁ‹#M Ç=äXnž—²“u?bi¦×ïVçBk’ô^5'LßÏY²ŽÈb†ïM9VZ½M£$˜µç¨ î!dU–uö‰¨ñ;e)QjÝB7>]êÞÊX¹æiWö¼"‰EÄúinÁlàøXf:÷̚õ<ïøäW]¾‡×¬ÊܵñÁ£›Ël_OÚôu÷ è©âO‹s^oéÖÚ؋ÛâÌØÝ£ÆÛß÷¢‚þÍgÚk]}b¾ZìÛL¯=ÿËèŠp&×^‘ÉQÇzXö3ঠ+Mv¸ä/Ov3;›¤ŽßJž8c¦¦Tö ’qèå‰Êâ(vÎ@÷Š“ž.äªÑ +!&[,9¥^j1íöôÑÇÅÎO‰M®†ðëËvÂ~·ÊÃ֍”ûÜé×æ:^.hÿùô2©Rú:N¶'i®2C¯ë˜“ÑØY2Ï®LÀtÛrzMæçÜ/N6YÌ!VKÂào,UmÛ®9^ ‰²Õ@›£:î³#1íyVïf¬¤Ó?Á ‹kGuûjCJzì¸˜ù~¾éŽ[”s‰¸ø•elTí`›eiü!®Ð¡AÑPgØ}¡¢Èö£(uQ‘§h½•¸y吴¶þø.›íÐAUVQçìü¦ówlúÉéђtYù—ë|ÏñóÒ£Îñzýf}뺰PE‰Ù' ÅU’C²žù}÷üŽuàÈ¢ÇÑgŒùÏT=§½ÊŠ$C—;D7[v3j:ՍU%ù»¥³«Ö¿lw¨í²ðªÏ®¶¢6Þ'­cô%ä‹Wq'—:}­O*„» ƒ›WeÀØáf<ÐvuOƒC«+7WTâßy}ç°*±¾ýZiîÏX¤¬ž>ÞZ¹o™ËömA,X͸÷Á•ØO¿Iªâ÷ž7'\íþ|$|ÿ…9ížPȔ“+ºxsÌžd„Ê«¤×ôqþÃEûÿ‰ +5"'H\#'Rh/ٌªendstream endobj 1397 0 obj << /Type /Font @@ -10691,14 +10677,14 @@ endobj /FirstChar 60 /LastChar 62 /Widths 2153 0 R -/BaseFont /CSXZHF+CMMI10 +/BaseFont /KOVPQI+CMMI10 /FontDescriptor 1395 0 R >> endobj 1395 0 obj << /Ascent 694 /CapHeight 683 /Descent -194 -/FontName /CSXZHF+CMMI10 +/FontName /KOVPQI+CMMI10 /ItalicAngle -14.04 /StemV 72 /XHeight 431 @@ -10718,25 +10704,22 @@ endobj /Length1 1199 /Length2 2269 /Length3 544 -/Length 3056 -/Filter /FlateDecode ->> -stream -xÚíWWXÛ”(A¤—R‚@ -(½{‚¡ƒJH&a $B/ -‚‘¦"E]Å.E Q¤ -(*(*Ø@)‚Gï€G½ÇëÛ}»ßy˜½×¿Ö¿Öú÷Ú£¦L êXR˜ “ÁÑÁ¡±xÀ - ಉ$ÆVm ëÈ!Ñ0 !ÕÔÜ ü¥ Z³@b2lHØÇ- 8‘X€.ÀañXc¼>^cõ¾92Yx€À‚B˜Ñä€,:Ā!&™28Dnh()Û@6“Ë"ƒl<@…+üufÀšłhå¾ÍSSKKû‡gbbD}C Ñ€:¼éÌÐ¥l0…=ÈYpá”%_•dK8Km¨@'Á„RI lC³©hÈÁhÂÅÚ2(Ö̐%6rI?ˆ’áÆ¢0¿Ò0˜ÁŒ`Äü¢B Êr{n(Ɲ…qAG›¿`ò‡r¬.Ök €aIÄ,¥v‹ -—Aܒ™Ä Äń2C*‰Îã *1lR8pX\0.æ߁î8@È ¤ÁGòƒ6ƒÔ¯{'‡E¾X4‹°Kï÷Õvøp)L=ꇻ3)0–>ö–>.Z¿êÿ»§•¦ÕÁ:ºÆú÷ib ÷3ëw=¾i±l% ¿kÅþ tdP™€Éז`-¿µ²Øð¬¨åÑÖþÉïÌä@d@ý#?¬ž øƒûåxýÿåýœÃŽK§/+ƒú* k¶KªÐዳ¤ Dþ(RDúEÜώžà× ñ7ÝÏðWvK:8ݯFˆmE‚Ä!~orS–/(H`²¡¥+‡à~ÂÜ!r0d³áCY†@姤¶ 2“1h‘(‰EùnX‚É\ Öiù¤àØo{*—‚‘ 9ØÏ$oÚT·§aþ´¥|„γ»z­†î³_¸JúÈt:ßš¿ÅY6¸B^¿hÆ8·À†p'ЬÖw¥ÓJ¾”,yÛt£ˆ`«Fôjq‰dq~‡T¹W賛ñkß­AuMa[å²÷Ëæ¾´ŽºéðV¹jÖ[Í̺Cœ˜Â”JX?ïóüE˜ B^±ª¤FÐåE¿¦‰ôBâz¼+ÑËk²Á%îÍÚrõ½[|„.¼š“¨i÷ïë¿n%lÐ›bäÔ½ ÷®0Â7u\Õ]¬¬§.œæ…–lÑÛ:¬ÝyÖ•þ6±ÉJë°äiîóW²I^»«TZJã*Kß4—?,ê8¯©†{¦®x±yo³°ø`c³€| Æ_>ª­ð’ulM™·Š³1Øl¹`•Ö%æŸ:éwRö¨â‡üBD˜¢ErA»][f›*û’G¼ýE"eñÜ>óëÚǺŸLz­wZ«6#x՛(9¡à®ä!¦âÍq}țÕZä0ùuÉewÆ¿ j¸‘ìh†9Cg÷"R…)*wêÎnn;=-۸糐Dê¤7¶F¸ÊOÈ}6É£%ùõ}ßÍÈÏòY|ž_­5<›™`&=¼VaåZéºV (¤WSà‡i$7õ…“RŠ®·(„Œ¬dŸÅN{¾Û¶.ò(Æ䎭¿‘ÕÞ.èëÿzGâ{³ãÝ6Ú©W¹§å <=å¸}?Á¹üÂhöóÝ3C3_ž<Öâ•¥55±Çïæ+{¨sß GxÁ•†v¥X›³gÄdt7ö÷Ò÷zi~1¯Ôâ)Vözç »©[Çn¯’?gWݱ^ ´,ñ@ -gÑø3‚Ž1o”ƒ“¨#ƒ{ ħiLòµ«M–dÜ/”½»²ÉÐvΧ^¨¸ÿö^»AÙ` ±ÃÅ*Ó_ñØ7Ø\£µLûî6ê>·a§‘~É(Ý÷rR¹ :fÒÚë:»‚V©ÈM,îç‰j^ó>£<Á«üëÉÞÖÝù³çlÐ4T£ñoN×óéøœ§^>âiHÏ/}¸9”áGÝf¦r­Â¨çâ\Ö¹:±sȗÏñvWâN¦ù•Š+ôÿù§²Ó½1Dl¸òb i¡ó‚Ã{͉¡á]Ž·æzê؟åzV£ƒ ŠúYÄH4¾ 2sà͇¤˜DŸu+Öy^SAB…ÆoÆ“´ƒî¯êŒ>²c¸'Í”ÈûíéêSzÇäì³À æÀÉ4;zöŽOfrRîd]ÑÿÐ.«½C‚÷î¼j@mB‰v§)/*{í À=u“dD¼á¡n,5%Œkÿe˜{D,A&„¶ ':Õ`í|ï‚eYÄ1ŽþÎ+ërƒäø²Amʆ œF•UþaiÂ1¿mŠ°ðÐJcN—pTÛeV]4(A•^vÞõÄïºðÌò}Éb†efql‡Ÿh±¾«'5F.©¶!¡¼=×-ƒ¼¹ëÁõÀMÙû¨ã9؞ íâQOj.—dûkÒ|_´œg¯TH¸Y.n*{x3Oé¥}‹(kå±DdÖÞv¶7)Ώd£=æfnv£Õ±[xë喠ž§,¬j‘Ùˆ°×yA#@TA<ÂS[ë¯obß<¸¢~v34ST'ßáx„ÏGêµ{­ ˆ éo -5¿µfa¶e"Óڑ×;Tû;X}Ž0yµ@ò”¹á£c`~ž¨¹/Ÿiêƒà³Y6V#7(|ÍÖ»'aP¦iZs~{Àoµé°×-Slð@23ßµíS[û±ž·ƒZ­•.w±Ó]fìO*ó§Ì,’ڏS> "«|4:ޖ… ‰[†ŠV4±’L†ì^}þh;šq,ùZá!n@GP1b†ДWëØ$‘å”I#©­ïL;Èß?cÖ5ØlLµ‹-[çÙ5ÅKC**’‘0í9zS$(B¶ª^²PÓ 8øÜ?Ù¤*D¶ß¼c㨪bz…í!H)ÂfuÖ6õê-eøEe¢†ÂÈëÈúU¨|ÞîLžýý|"ßø“¦ê¤ãŠõaýÒ®SònŸFõÊuŽgΖEl²‘{d®›Õ^z¼~LJùu†úã3Ä_0.Þs~."¥BÄ#îGžÛ® -í³èÙùˆÿž$‡£NÙyµ-Gß$0$z.ó#oë‡ø= (QçÛ¨íþ"Å9—v-¸pý&³Üõ_F†ó»Þ8q¯·z¾,=U9y§ªy°ÁӠΝcš—vUO ¢m¤t"œ ÇÉUs‚§ëe -?¾d}OzíƒKc_ôXν®DÛ<•¸ºœt¯íÞi^ §8ôA§·Ñê™yD²á™´UjM·|veç*çÆ’#\„¼íC Ã=Ÿ"[Eäž*ìVߺÞòÒÕÌ ~9ׄ˂¸… ”åå.ޑ¼º÷ئÔn™>Œ‡“:ÉÖãá)ñ{Ó)Ø÷´çî ÉÊSÝÇù½ohâ ꕻ—iÆv[£âÃJÊãºw»|tIœÇVpë>>º—ßÃÊʐܯ„É°ÏMS -§éEV—½HÃáô•%œ¬ŽëŸjݳÔ¤SF/=<ž(ÙWzþƒÔ—|Ý· -Ì -)È“U[ÛXq/fôûv“òIÏã#*oëNˆ˜($L¤‰›»ì¢ˆòo,`· nBŠ¶Ëã)“)®ri¿¿{]hÍ/Ò,әÔcßpùÑaÝüš®Þ«‚Oô'LÛ OT¹’ÞùOv²gúÓ -‹¥ùm²5Y±µy9±NG\Î$÷Õú¬p-²Ûø¾8A§Àœ!ŸóN¿˜•*}Gt¸ÈðЈê1ÍíŒjp‘äl­Xœ©›ÆÝÈ54±ì‰L (×UÒµþb?y’×zÈ3°K9^­ø@êÑ…_ZŸú…ba³µÈJîš Yå‚ç ·”3úŠÚe°ÿåƒü?Áÿ™’Xf‰ŒŒalø‡réß ù/ñ2@©endstream +/Length 3059 +/Filter /FlateDecode +>> +stream +xÚíWi<”k2ed‰,ñe„1c§ìcë„ÑØ©Œ™gÆ0f˜Å¾E'[YJ$KŽl•¢Å’h1Ed ¥¢$J–,Ñ©÷Q§zOoßÞoïï}žÏ}_ÿëú_×õ¿¯ûã(‡Å©›é> ÆRG#Q†€=%À‡ÍÄái{Ô÷‚d¶- O @WTt¢°¨à/] ЂâY: ƒgA>N¾lÀÏ4QeˆÒ7ÔFAk”Ö7G:ÃÀ2(ôp ²@•Bƒ Ài,;0J‰{A&Í €LC€Uøë̀=0ŒA!û²„ó^WUUµ´àö 0 “B¦JÐ"¤ÒײAÖ d@…×|±$¼%‘ÂZk@ø²X†$<ِL’²4T b-iD zÀ¾¦†Â Pca¿ÒПF¡Eü"QhÄ/íفÎ4J´Åü™à?ldè 4Q(} ÀP‚¯ÆZj§°@ð ˆ^3ãiĨˆ@z @ÂS™`…Bx ,ŒŠøwàŸ;8 )à’¡#ùÁ™AÒ×½žÅ „ž($ +…Pkï÷Õ>èp‰t5쇻=>4~ßcfmƒQýUÿß=ÍÍé­:ZOP×Ô×Ðh¨O­ŸY¿ëñM‹/V,žòw­¨”¶40øڤ巶‚AšUñe´U€òÛÓY ~Œ‘JMôAÿr¼þÿrÈ~ÎaŦR¿(ƒø* iÂökªP¡‹³¦ …ðQø +5ìq?;º‚_/Äßt?Ã_ÙÍhd*¨£5¿)L+J(HÄRX߯³óMn◠+béLÊÚ‡BtÐ?aN¾‚? d2¡Cù4âOI-i:‘B#84¢xñ»a &° H§/'Å~ۓ(P‰  +àƒýtÂÎC~5‡–/˜I…¨¿| Õªë¼ø™-« O¡r!¹[ì%üÏIi.ègåc°÷}«=×Û­çJL—²LÑ ñ70oDnIæ¶I’|ƒ¼´ËÞpóÌ&D×,ªU2ã¨DNÁk‹°;6ïä*ݍ-:„q‰tјm˯&‚`R2ÅU¼ý*b+qÓ6ÔhGCX/§ ƒò‹;œÃ·ûFÝÃÊ»=øêÞ,‰T5 +{÷õß2ç׉éM´†³jf|¤ÜÏé6uÜÐ\ñ-¯'­\àëìÖÚ8¬ÖyÉ‘ò.®É\õäÖ ìWo$âÝVÈ·”D•—L7—=)ì¨UQD¿T’y´Ú|¸™_x°±™G:PýÏ×¹Iض&.›Gatv™­˜ç 5q9çÏz•8%ó>§$cê'—ßnՖ֦À¼êm}G\–=s‰—‘SE.úƒ3{BOiÜç!÷72šƒ‚y=½ß7>ݍùC×J©Â99ç¸ï…YÛ}G±öeu£¯.< L{];˜×â–®:;yÈëÎs¨óÈ Kpþõ†vÙHÌ¥‹[Ä5w}òvÓv{mr%»ÄôJâVç„Õìݼ{ÄÆ/[Uvlã));–ÈZÕÿã"¯mÄ´,|p +‘;xè)Ot²òœ.W»âTq꣉ë›t-—<êùŠúï¶:󔘫pæiÞR°gžþ&Ê­¥jö’Ž8 ۍôo “Öœ—ÍjP7 Qè\íòÛX(/9¹z”#¤rÓý¢Üb§ü¯ç‡Ošét³¤/^Æ ÉˆFýßìnÁÎ-§f¾pSöxM†»~îC/!t§m5›Ñ囥G]W—Ò/×l¹,ýÊÐê:MøýÙd¯aéþ?ÿ”³²Öǂ°í×'è¦ÚwêlæU&‡†cmïú,õÔ0?IöÆlDúQÒ'A=¡èüò´é÷ñqë\¯l‘‡S +ô§ÇãÕüž­è ÏÝ?\†㠊dÿöbãy­p6يꃺŸµ^„ó>k~xˆ÷áý7 ˆ¡îd™áU9·#>èN[i!Ӝ\Ҏ#ì¸Ú_ºY¹[bÄȱh¡Ùópû‡uf¥!y,íײü$¹2@5âv¿ÌFùý!ÞAɦü¿í 1uQM¦Ï³lÚÅ7^Ñ)F”\³}n í¸òÒl¾x5•¸°:¶ßK¨ÈÜ°«')B2¾º€&¢ ¼»Ü-ã½ûø–ïΌ#¤ñLTß>á°çU׊3¼pUɞ-µtÜÍãÒ1wʄ$NîâȾ¶nb¬Ï‹ƒQŒÛÛ.õÆGyá1êácN&Æ·[m»ù÷\kñQï ±KG)ð»ÕòêBÒ¼„ŽâfomëæÁuõ‹‹C 5@eÂ}–Kðr¨V»ÛzŸÈ€þ¦@“»›V[&Ó,l9½CÕó¨ÁÊËØ©ù[ϛè>=00æd ™xr%=ö¿”þgc%|»ô+i›™ZÑÑëÈfº  Ùe>snùIdSWª,1ø#ïãgýí'>Ö³çZ2Ì¢ßË w=že¬h”…:ª~ò¦¥{OÌ x\´`ëýö˜Û|çI·»F(ÿsð´Ƕmí×·ô¼Tui-wx€R™ë2f~”_N=olß~šøŽÜà¡Ü±ò®4‰;Þ2T¸®‰o0dõ¶ðÓËÑÔ¼„›'Ø>~E°’OSvµm“Hº]¯¸­3ù8wÿ‚q×€Ù‘dY*àÚ5ËIF~,,1ê9uGЗ +„ñ¶*\5UTÆÚx<:Û¤ÀG°ÞµǨ‚LÊ9ËÙÌÆô½J•»K WåpÊ|Ò#oCë7 r¤9Ó8֏rp\ãϛÎ(áOËÔõ‹9ÎJ9}Õ*S?~2C9²#ùÔD3½½ätý˜¨ÜÛT¥gqg>k8¸/y9ê”ðárOÁ\÷Þä;bÚsà)÷C'.Š$š4{ñÀ¶Lm߀𥴜CŽï£5 „ìï!öy e^]q`{MÉd 8k¿ æv¼}æagãriJ’\~ÆT®ÆVN"žî æwÂìuÇ K¼Ïæê¥ó?»jqÛÿÖ–D¾¨‘¬MZ]q–ÙòQ5™)n#j½sòœVQàãNw½ Ë°݋É*›îzÒ¬J/—/ñ6$„8ð¹[軾€· +J¾ö9¨´g›ÙÕiu^™7ùKýئ ¨Ùµ.NnvÍœã–QçØ5ž>Ìéa¤§n=*«‘j•,LÖ +­,z}áºÃ)ë‹Yé·>V;§Ç(Š%Ž^}r:nk_Ií{ÑÏ9šï®Ð¤;éçDyBÏVìicD½>•ÚÃïٍÏÁ¿Š)¿§­;)h 3™,lâKâޑÏlãÝ j)’2$N%:J&ÿ>ó¶À‚[°Y¼3¾ÇºáÚÎF`ySWïíþgúcæ¬ø'+ ð3ÞSÌ…þä‚"1®8L†Š>#²:;3Ò.×ábB_µÇ:Ç2?‹±óE1êù¦&4©Ìí"F’Ø}¡áBÝ# +yX²ÓEÿ­‹Õ[¢Œœ”„n"oɘL3¥d™$Ì + :–p{&Í>ª?½ÂÍãêTõ qAñ ’ÇsPû%ѾJ¼PlÑ£b{Šê_Ìçϳ[ã8F“V‰§‚+e|‹>Ö«ëñ$÷)Õño†—³7mO/ã­ÅސKåé+lGý—üÿÿ*ˆg°èx†?<‚2¡ʵ3ø¿> endobj 1135 0 obj << /Ascent 712 /CapHeight 712 /Descent -213 -/FontName /AZGAZO+NimbusSanL-ReguItal +/FontName /KLAGHD+NimbusSanL-ReguItal /ItalicAngle -12 /StemV 88 /XHeight 523 @@ -10775,7 +10758,8 @@ stream xÚívgPTݶ-HPPə&çÐə–œƒº–††î&K(HÎQÉH ’sÎ 9#$ˆ€øÐïžsn}ïüº÷üzõvÕ®ÚkιÆsŽ¹VmVF-]^Yª„p@óùž4`ö–Î(]°ƒ¯ÜEXYå‘P0†pP£¡O†P@jÅÄÄXòGw$ÌÆ àÐ×1ääææù—åwÀÒýžÛ(˜€íöà G8ÚCзÿ㍺P(m XÃàP€¼¦–1HCÀ¡¬¡P†:@‘`8@ËÙ³¨Á¬ (('ÀÀÿZ¬ØïÒP|·X²(€r„ZÁn·Aݬ Ž¿]<G(Ò†BÝ~`(€ 쀾í€9XÁ!¿ ÜÚ­9"·ö·¾[0- ²BÂр۬Z -JñDۂѿs£`·nÂú6‚°rþ]Òß-Ì­ †9 h¨úw.K(C9ÂÁî·¹oÁ‘°?4œQ0›1à ¡6`$E¡nan±wç_uþ[õ`GG¸ûŸÝˆ?QÿäC£ pk> àmN+ômn˜ÿïA9X#@¿ìgÇø\ È? âø=3œ·$À„܁Zðk з)ÿ3•ùþs"ÿ$þü‘÷'îß5úo‡ø{žÿ­ä ‡k€ío௠p{àj€ßwÌÿ ¶‡ÁÝÿMôß ¡1üw 4ø¶ ²6·Rð üe„¡”`nPˆ me °Ão{ôÇ®ï"á0譖ÚàŠˆüͧg ³²søÝôÇb\PÈߙßÊó‡7¿šªššŠ:÷ßoÓ?QZ·ª£õÜo‰ýWêÈ?¿1äänO^ ¨€WH@ôö° ĄżþM¾?@À­ÕÁh$Ì ðü¶hàŸÒÿëý×Êìo0ŠVÈï9ÑEƒ ·£õOÃo·•3y«èŸÓ~[ò?Ö† +JñDۂѿs£`·nÂú6‚°rþ]Òß-Ì­ †9 h¨úw.K(C9ÂÁî·¹oÁ‘°?4œQ0›1à ¡6`$E¡nan±wç_uþ[õ`GG¸ûŸÝˆ?QÿäC£ pk> àmN+ômn˜ÿïA9X#@¿ìgÇø\ È? âø=3œ·$À„܁Zðk з)ÿ3•ùþs"ÿ$þü‘÷'îß5úo‡ø{žÿ­ä ‡k€ío௠p{àj€ßwÌÿ ¶‡ÁÝÿMôß ¡1üw 4ø¶ ²6·Rð üe„¡”`nPˆ me °Ão{ôÇ®ï"á0譖ÚàŠˆüͧg ³²søÝôÇb\PÈߙßÊó‡7¿ª‘†‘ž +÷ßoÓ?QZ·ª£õÜo‰ýWêÈ?¿1äänO^ ¨€WH@ôö° ĄżþM¾?@À­ÕÁh$Ì ðü¶hàŸÒÿëý×Êìo0ŠVÈï9ÑEƒ ·£õOÃo·•3y«èŸÓ~[ò?Ö† uƒZ|™BX‰¼LLIB—Qdt ( Ã?V1ñŸx£+w¿³^õ9’e‡Ð†ŠÚ¥ÍäÊu””7œœ¸äN­Ñ÷ˆ¨/ùŠõ.‹ú…'Ð)á0äPùÝÚ…ke ¸éÛR§ö ]8sô&sß±­|*åŸî#>cÕ¯‡‹úœ‚ œEëÑymeê÷Aƀ>8m„ 1œ4¬jõõr¦XÜâd8„²³¤¿V>M¼çÀ7ÁÜ&N\€*ÄJÒÜOµøï8•^Ýçôáö¼J%qõ‡ ‘®.µ&у;ìXBÒ0ÊÚcVKŸ0-SÛ·ߌG?óí·Eƒòñ(€(§¸Ëš’=´øô•ú+y\J6.æꔋ‚œÞ»ó^eúނ·V„(õb*$Ã=AÁžéÌmEéïa9žoñ€Rý3™ÙÑS×!÷8ÎãÒ9‹ÅÕçÜrƒÅ£‘C™Äù\‹-ÕÕ²k±ò¡øáÃ͝8 @@ -10807,7 +10791,7 @@ QH; ‡á{__bçâ.°ßþºæó}<¯½kb¶Þý9\¥™àpDË\TL[\a·¿«NüÆW¨œµ>¿¥t®tÉQÀRD‚!$Dr£G¢1¸AÌý¾ ¥Y í–.ç#_©ØÉ#¬w¥Å¹ò«|Sþ?Z:è:”—fÆג¸ʵhúÏÈ×XaÛfڜ¯Ú3™B¶“—£Ìü¤‡uቇôä·ÏÔϾʉltãp)’&ÿT+p•°e –íZ­M31I¡ÒÏL«êÈcýªG’«ô"Hx¾çS•ö$Û_Œ*[£n~OYgÚC¢ã® ø LóÃI8GU–¿Bã¡\‚–Ÿˆ{éõ´Sû›7M‹Š–…;ûÛ䃵h¹0GQœ&÷ <‹"œ_ý¼ÈAze‰ÀN2ÿPÜJ"u]©¶ÕLòs.}æQùü‰iõHö5¨ñ‹‚‘öqLðëƒýUj[’ =Á®…1Ñè²YÆHOŠåoq ’„!¿‡RÒ¯¸ð%ê«~u¯ ³¿0Š×·6î;>nE=m½aÔ\{\ÄcïQq”&T/bµ^þü‹}m“¹ò A’ü陈×O/ÍI>c×b%ÒÌ&ìýºªú· ¶mJ;û7žb{ª6eC‰Æô_è<@ÀbW’+Q'‘šäçÚU›‚ݧ/ˆ+ƒË°a*¦Ûåõú/5 JԆ½ó'lï 0Kf›/Ð^‰ˆÖ½žO¼¡M [If§€ãC `æÔbï1}ÚU*÷i g#™HÓÄ+¸"î2X|F#êLq¶À؏٪þr#g <¤þdÑ _IÒõ.˜ê¢Ï\9¾§é-xÚÖ-9?›ìÐv_ wóý}¾éH`…Ñ'>Êß4¬>äŽT‹¬ÌÛúGäµGÔà…$Í ï‚7LI›u`žUJ2ì„΃79ç¯~f´lá­ÊΚìïW 5?|¸':U—.ûrJo ÇÓlÔË5áAÜçxE ³º×ا‰3ǕÚTñ#åKþtâ•.iKW@ö/ɛÔÑ÷ ûj&Q ¦Œ²È˜¥t°Èð§Äh-ؤ1íý b?e¾™F Š– ÉXrÙ/&Šjz©¨rAÁM°re.2Òe%ÉÍ£™6"5[¹(H4 :\mdb“™[i:ýP½2“¿Ýä÷ö0JÑ»pÕh¯QšQ¨ý±Qó_»Ã7;mþã«÷Aú^ÁÐ; Ó èvñ¡Õñ¥ã«*’Hóߐ¹,QëtT½}…ÁbWý€g”ùxÔ$Ó¬GÞי®'}¡uÞói õ´’D§ùõ; ¼xðÞÔ¡Æ°~. °öâ%ÅÅ4O”˜»ª¡ Þ»Bï­\ÿÆÈæ  -†ìvm…$t§³ÎLd?莑ˆ+햫I&VñZ"-¿35MGöÊìä§7À Ñ4‰>ÅauA×W¯½r‚…`Hã×W{Ûw1Û®­¹E¥^["W¬%BŽ… >«íÜMÑ#nNCuy‹¼Hû %Tž,TÜþ0]4.ïdîžk0œPañœ„5ðY ÓëF–?ªU'?Ջ«žäfü¸Š·Ö¤qCr®až1j,†º¿÷2ӓ=²õáÿ¶D4ÏØeÊÀ¿I Üóv¼vþ´b„dîÿ¼ø)xý)\+"oÜ´¦ÜD1å[|)h$úØûeGUeŸ?õ¾†Ó<åízznKB†Éd–¬ö…Àÿò!øÿÿOXÁ¡`$aFÚü$)àendstream +†ìvm…$t§³ÎLd?莑ˆ+햫I&VñZ"-¿35MGöÊìä§7À Ñ4‰>ÅauA×W¯½r‚…`Hã×W{Ûw1Û®­¹E¥^["W¬%BŽ… >«íÜMÑ#nNCuy‹¼Hû %Tž,TÜþ0]4.ïdîžk0œPañœ„5ðY ÓëF–?ªU'?Ջ«žäfü¸Š·Ö¤qCr®až1j,†º¿÷2ӓ=²õáÿ¶D4ÏØeÊÀ¿I Üóv¼vþ´b„dîÿ¼ø)xý)\+"oÜ´¦ÜD1å[|)h$úØûeGUeŸ?õ¾†Ó<åízznKB†Éd–¬ö…Àÿò!øÿÿOXÁ¡`$aFÚü†{*endstream endobj 1065 0 obj << /Type /Font @@ -10816,14 +10800,14 @@ endobj /FirstChar 36 /LastChar 121 /Widths 2155 0 R -/BaseFont /LKLLHM+NimbusSanL-Bold +/BaseFont /KXNXTH+NimbusSanL-Bold /FontDescriptor 1063 0 R >> endobj 1063 0 obj << /Ascent 722 /CapHeight 722 /Descent -217 -/FontName /LKLLHM+NimbusSanL-Bold +/FontName /KXNXTH+NimbusSanL-Bold /ItalicAngle 0 /StemV 141 /XHeight 532 @@ -10846,7 +10830,7 @@ stream xÚízUX\[ÖmàÜ¡pww—à.…+ pªp‚— Á58„àN°àîî—‚ËåœþO÷íÓ}ŸîÛýîÞ{­1æsαæþê¥h)ÕµX%-ÌArNŽ®¬œlBU°ƒ¹TËÌQ™UdíxyÍPhiµÁ®ö ÿ _iÈÌìä(cæúÂkÛ¸TÌ .'‡‡€/ç˚ƒû¯@'ˆ@vpò¨ƒ\A{°ã %ãdáærtÕrsv¶ƒ,5AP'7ˆ*°z©ì?³¤œ½ `kWƒŽ¦#33Ë¿NAAA€¹×_ @[;è^î {'ç?2½HȃA—¢-ÿˆU·2“µ»þÑ.€ÁÆÕÕYˆÝÙÊ ô‚±A­ØA®ìŒ/…Ê:ZJ;9ü!EùÃ30dñҔûß}³stòpôùØ ìhùgK–nÎì:Ž`7Ð[™ÿ ~Pþ…Yƒ\¼\‚\ äiaÃþGJm/gП$ç°™£¥¯³“3ÀÊÌ ò[^(>P3wÀâòõù߉ß¡pr,Á®sõË1üKýYýc¯bæ -{ 9Ø888Üÿ\¿¨¥“£½×¿ÂUÍ@vm)E9=%æ¿÷þÏ())§IVN~+—ïˤ¼( +{ 9Ø888Üÿ\¿¨¥“£½×¿ÂUÍ@vMUiuuæ¿÷þÏ())§IVN~+—ïˤ¼( òrÿ]ñŸ^üåߨºøêäø—ä[G+'€à?Úyññ¯–ÜAèËlþcFÀ¿ë«:¹‚-@†Ž/ÇËÔ¼<8ÿëHýÿ_ëï9äÜìíÿt…áv^ü€”8boùp3°½×yáïz LÿÿAç­«™=ØBÒÑÚþŸ6¡r`O¥:ØÕÂæãò—Ë–~‡ u'(ø/ÀÊÉËù7NÛlaç‚B_ÎâO ähù·”²ŽN–`Gk€–ëËTšA,ÿ üA[¸A /öüy@/ïþµ·¿y‚,Pçœ,„ƒmk‚[oª$IîÆø°Ü·M• BöºI@;xl¨Sã0¨ ûŸFTWIƒìg#YNßÙð~+\ @O,¨­ ¦ñåiA7Th¡†QüÅö«a¿8ý ¥Ù¨ó³8Œ±g±ÂC…ì/¿õNìññáß$d×.†”Ó‘µ¡DÅ$!Œ˜%eÜ''¶¢ -ïË»6ä½ã¬#Q2Ï EèÈMmaYEÞêÆ´¼F_wKßûLãqq‡ÿeO-âùgk=þIh®.íéÖ9ûr‹ÕÑÅ)­µ–aJ_Ü’ÁæG&Sb÷~ã‡gŽÝoûé ·ÃAAWQLÆ|C¦Ä,hèÓ×ʛ'jý1ÃʱåwôF5ÿ낡ѼfbhœÕ¨V¤eÒoŸZoxLÓô$eàÿD ‡™3]@IâNHËæô-y©‹ñôÈ="²üL^ïçj‚»j:&ŠèenY?º9«ÿ—ÊÿøBÀÂdqur0ƒØ¡ø@@PW'ÈÿOCù_MÎoendstream +ïË»6ä½ã¬#Q2Ï EèÈMmaYEÞêÆ´¼F_wKßûLãqq‡ÿeO-âùgk=þIh®.íéÖ9ûr‹ÕÑÅ)­µ–aJ_Ü’ÁæG&Sb÷~ã‡gŽÝoûé ·ÃAAWQLÆ|C¦Ä,hèÓ×ʛ'jý1ÃʱåwôF5ÿ낡ѼfbhœÕ¨V¤eÒoŸZoxLÓô$eàÿD ‡™3]@IâNHËæô-y©‹ñôÈ="²üL^ïçj‚»j:&ŠèenY?º9«ÿ—ÊÿøBÀÂdqur0ƒØ¡ø@@PW'ÈÿOCù_ÂpÎwendstream endobj 1062 0 obj << /Type /Font @@ -10890,14 +10874,14 @@ endobj /FirstChar 2 /LastChar 151 /Widths 2156 0 R -/BaseFont /TBJFWK+NimbusSanL-Regu +/BaseFont /MRNCPP+NimbusSanL-Regu /FontDescriptor 1060 0 R >> endobj 1060 0 obj << /Ascent 712 /CapHeight 712 /Descent -213 -/FontName /TBJFWK+NimbusSanL-Regu +/FontName /MRNCPP+NimbusSanL-Regu /ItalicAngle 0 /StemV 85 /XHeight 523 @@ -10917,33 +10901,42 @@ endobj /Filter /FlateDecode >> stream -xÚíwePœë–.îîNCpwM‚»Üh ±†¦qw'H°à’àA îî48A“Cö¾gÎÔ¹ókæüºu»ª»¾w=k=KßõU3Òi¾á”²†X‚ä!Î0N^.1€:ØÉÒÝM â¬Ê) q´Ö°tžA FF(Cœe0@d Yøø¼¢¢¢Œˆ‹7lk°èjë³²³süSòG`éýäÙÒ lë `z~ð9B\œ@ΰgŠÿ±á³lÀŽ €Œ†¦¡’º€EA] rAŽM÷çT¬ª`+³ˆ`ÿ>¬ ÎÖà?©¹q=sI¹€7øÙ äerùq\@P'°›Ûó3ì°…aÏ5€A`g+Gwë?<Ëm ä…´†8;z¬A6ÜêسKËÿ¬Ë\ÿ¾&ÿZüoið¿¥½ÿ»æþkþË%þßÞ祖wwtT:=ÀßKð¼e UÀŸ=ø³h\ÝAÿ— Ð ìèýßXý«¢>èïHÿý+¦>—CÊÙö¹%œ¼|\<‹Ánò`/µ&fe°:>Wë/¹®³5êv=wõ¯‚>ñðü ¦c¶rpþS~Á¿!³õ¿Æþܨ¿"çÖÖԐRRgÿïvë_ššÏ3Óñvþ}5ˆõþðHKC¼¾œB¼N>a€ˆ@D˜×ÿ¿ñø ï?Ïj@ì0æáâáá<ÿþãûϓé¿ÐÈ9[A¬ÿÌÌÐÙúyÌþSð¶r‡BŸ»û×ÍNúç¿òYa,ÍC¬ÄÃì3²2aµ¤y£²Æ=ݼˆá.% :ŅAՐ®ÀŒ¨MÑ -‹ß5á\ãb­Þsß]v”Ùv»I™»Ò@§Tþ/X¿â¯1µ ³ï†p›•`géÇùžÍªn  ñèínji›}üB=ÞÎE;»e záQDÄpã‚`•^ÿ–¸¯Ž ¶èûSÊÁí sßÐׁþ® ä/;”ì¹oÑÅ=°™bƒ\s)%Œt+|£^Ë àcš¤HÓ¯øbD{ˆÂÓ®hå_ãO•Ñ8V§%Ål¢¾Æ3Ö`éT¤¼‚cØÄÍùÉDF͸wvÎ%™îåH%ãc×ÊÎrYÓÀfhجس_ Ë7åCüUœB>þ¾o¤²:ØÏ Ô÷¾î}'CL!Ôk‡»Pôë*/Ìò[! ­â‚Y?ËSR]¸½ní΄Ê~Ŝ Ž #Diþqõҏi!Oï -ùÊaº5BOsö;5¤²nÛ®”‡1?ß×!¶Õ¼Fä›`¾EïÎf%¥üÍNJ]Ë`| ü^VÒ#5“Ù>U¶,lT*$A6 /WÍo¿D)9A[ßÞE»¯oOäÁçeˆbAÔ²²O,m£a’ «>+^¾1AU«Ôsi¦l›sÚ(,ÜØV¹ZùF§­#â=Õþ§‚[Fª½Ph7ƍM&âCo#ù»¤ø²ù2y=õ)êilºGôÙO=?-íw¡ë#Ž'a²—¥¦ 4#¶š™5-+3>S¯áŒÌͱæEÆÛÚ?W«EAì/6sRI~ߟ¯òÒË -g©ùX½—ÿˆN|)ãÆs"•AàÂøžÉ&?®}߳ݚÀG¦ãkx%cqµˆ*ʄþs#Ñ öàH_líÛòþЭDò.SÍò2µ¸‚¶cô~r×Ý&¼¶aËnàbAˆëàö‘·hàm|¢MæHvsºhkõ«Õ‚%ÍÍsu¢©¤¡Ÿ“=l¤´É¡¾4Ë_œœÅ¨””Ò8n“91Vh½#àÛµ-ÞTöw?Y¢Ô§¾LÑÜõÐop+–¹?µ­ªEzƒïê'&鍵' ´™öZ2VõzIÁ¿Ò$¼yíîRÿ}LÎáPŠ3”×/”})WCÄç^<"Ô¾±®ïÚáÆHýôbºY‘)ù O1€öúÊø½:†æ‡tÐ£+ÕÖ7v†îv™€ôü£FŠÛV+àŒ1ò^@+œÙ³AÉDèöû°‘Ìër;…Œm ¥S…(-Ύ¹¥…”›є*̔’îWx€ÖÇÀD‰}œ>sWw슱›ž¹¦§ª%X]{­Óõ(ýÜø¾duʃÊ(­¨ëFÑbÑd-];|ޖB¯¯ªBH®ígs³d¸|Síqb÷{„3HÄ{lxýû¼Úþõ‡¸€1»ßÌڜ&^^0*Ò7w:è¨}eëvjg˜MaY‚Ð%U7Ξ¸ˆ1]ñÔÒò<‡Õɋ!¾Ô«L¬5m÷2fmû<ãí?S¦çŽ ƒŒ×‚ëWՑQۗ6 ‚ø‡ã!­Ã©bVBÑËwEçòn9væUŸì« B÷sÅ[º'®SöÚ@+¥ïn85ÒýŸHb– -\F P2ç´¢•ácƒÑ‹Ù‘…rò‹'ŽÔZOêÞ£ÐËT5ù„–ämýÂÆ¡\ƒO¬nÎhY¯ÊT£˜(3‚'Iáq&ÝàL‹x¸8'`‹r›—¸]kãﲗ8x¯ô6»ŠÝw‹®A3‘3hÉÂä'O,˜G9¹5j v@́¥×b*’ÅIœOb?¬Ð ÔP M%gxWªIVÈ!ñhÅÒø['¯¼¿.:°ÅλÒ6ù€@š<.œ»M=b¢³G<ɞb©ÎV逖4–Hº·ïK¤ŒS»7àâĺq›™ª””Óx`Ð@[{ù®Hš€@8ÅïÏSAø²ýäʲ½e#óòœ‡)P'd֌no¸”]`ú›Ð/ý»„ª6.˜²;NVßn81—hL°g/#³†õ½T5N•È&œ#kXÒ·Z‰[¦ZO¦í Vñ¨ÖŒ[ŸÓƒá~‰ò¼/×èa¶î^"’]d³¨ˆU?c«<œ)´ NGWŸÓJª"Z!Éܞo½¥I´¼ ½g:>:ªk{ˆëçÈ Žœ}ÊÌbÒ¡}Åó~@ó±F|íƒ-˜(2.°p{¶šIĨËq þ"AßEðI ý¼Ë¢oÒE±ã‡¢÷§Ðú0 r¿¡þâ°åÅKŒh—W‡ÃégäːC²},7Øz íå¶[D“ð §Ý÷3ð­beÖz«ë{çòCŒⲯÍ-kÛÓ~µ‘ñQÔ;¹F׌~Z¯r[Ÿ¾ÖcOSô•Üše  O4CwT(„¨]§kfž—zëd̹:E.g3G5Õ_üIA…nµ>Ĉe! ªÐ½×~sýücê{?ê…s’.âÈÑ¢8é+û3FX©wvÝ*— n~ ,!PÁzc³ÐMÕÁ—=®“@ ®±&Ó/C¦ì>š#ö¥X÷ޕß|/"rÈÏÞJð‚WXhÕö13/¾¼v"sõ]8«{¢5¬•n/ÁîÄÌÖZñÛÕêÇDßõÓ'R -­)ýHF º6Y~Ûé»n{0òiSÖ^q _±ð¦ÀO¦îEþ‘”8¢±7_'š-CØ¢bùu]<ÉeA$o4¬ÒÌ)¦hÔ?úõt’†:öª^m™]IçoÅÙY?¿î(g‡$ ÀO Æs[ìKÍ÷\!xóI‘s/}©¥¸{•Äb’Ó½ä>‘b;’|†_};ËÈᗴnTÍûÚ£™HGÌ<¦à\0ÊdùR#À:[áo½fÝÈ·!)=æ×é×jk4íH_íD§KÂ_C77=r7ÍZÅtšŒ÷4wɉž\¢kf%³˜&§ÅÌù¯ž-}øå1(i-ïÿ(ªÈ÷3~;ÿTO𕚆!»´ìÁözš0»Á¯-ö¹c?Ë,þÅ0Õ ‹×}ô‘[qÎ|HÚí‰Þn$/?µÅ¶Á^ôÃO¨:‡øg‹îXéÍt ސÕ§kÝM•.@)%H‰ê>±_œJ´ë}Ç$e¾!¬PH3èýP -ƒPҀm\ûVO~L DiåÍå¿Làæñº[{Ú2ÛÊ«ÃÔM–7P)‘uJl¹!{øXq£‚ʵ3f+ò¢,˲“§eg·î+lê šÂãEfqrqv±ç|ý{EMË5ƒ,IËrévÅä›ß‘¿öoXH°íxBâ‚Æð’ESyŠˆ »O‰Ú0r¨Ð¾/é¹Kš9+¶“Ò/J½[Snø¸›°F]Sç?…)Vž›r3WKn'S¢Bp?o ‰Ëń¶DkŸxͦ;é›!dœ\Ø)ª+þAáÓý¼+I§…Ÿ Â1/ÒØO±}¦Lhoañf¢yÉYnÙó7XîÙu®DBÈ_ÞI‰^nù¤úóÓÝ2«Áé -hãӇ¦øªB“Þɍ, -M…ߎ9_³œü§Ó©7\y9LàbfLý”Bãôžå˦fð(iÚB5ö±¬r/Ö@¦• -/ôÙ°úQw.#EœêhüYУ„%UÛ96‘iYÆ·ŒÌï\]”¬®)”ÏâõŽê£p¯ª, ¹ESIªfs èLü„Ü#€˜ð5õ|ºó XŠÜ´Ñ;1*ýó$]˜o4^|œÖarAG–´@îõ´\ph®«`­ë úÓPfÅ©¿ØHéÒ©1AGRkwpe,Ûö=B@íÑZKŸ}{ï¾þ­…k ­„õŽM£Ñžk—ai»Õƒ©9«ïXג”PR!ª‚-‹¤*SèÉýu¾!µóûæ5´8 ì²ôyÅ$,¨Ž‘ Fõó™êß¿ ˆ±ÏD±› á7èv,FÀÄwoXèÉ*O€‘\±‡®¡ÀÊê¹ëzÅM:í¯r$(YU, “(‡±~±jÍõ(çÖ ¨¸ï¸Íù;Çô<F‘¨˜Æ6Ž™æád;@u•iƒÕ%´·$«lÒ¦Íu§»/`S{)ªž|‚³%«ÌGw¢ -ãDáð£ìÆU¦1*] ÓýQ„dl¯}ߨ¨7(cKqÞ9–ã¨[kwOŽÌ|ö$·¨íŸí«æ|sŠR¿ -ÞgÔ h¥%Ñî›!«RèPêé]å’qh”ö$Õk<©6–ìùŒ“=Ý°ãs8Ëqçsïï>®ê še{Þ1#ìgŠ²8egç~¤’+J˜gѓ¯©²j>-Z’µ×vi™4/CTÊ´Š]±‡|ë‰}¸=¼\Æè½,²è”®> ×kýH&«Ÿg9‡*xëI79j»Wj}üÚ1`’ÖÝÿc#¢¸Îù!øV¬éwþgb~½|Ÿ£Œ?»X´•äßó—V™ttõ—œ²Òû¾”ÜÂ|ä]y¸ðð·ìŒY»”d:¡F Íë$ëÇjNµ<`±ºé†gWa딣hU¾Âåï²ùfÌVr@±œBâAéÊúµÂ?,ѨÈ_­5±˜ÍÆq•Ðµ#Ú,HÉõuÜ¢y¤Ë›RÁ¶?âr6ÔŸ ­Œ7ª›§E¸lÛ6¿õô8¼¢ÈH‚yX&ÑÜÆåZ°·ñÓaÎ~ÂR -)¯…=ղŻ†â &И2ّ)„j‘^ êK¡„4“°ÜD•.")M¸ îo[¨j´"¸ìcŸ8§q cø?ž\ؗ:mÀw -uHöó¾¤Ç|X(ÂÎiá—0åÁ¯ýî× ‡%ɸìڃ]~2¦ˆ8­¢3¤PBþã^äK,l<0‰”¡ÄºwRÃÃRù‰Ú—É I³OFAãÃI•B„íŒ Lõ¾ b­*ÒW{pͦa¦öùŸÙÞâdW-Ë'ŸÜH£û´Í`7$^¤©W‘8z.êЋü;*Ö&>0A̼ I™µØú‘‚ ø3àU$NõŽoíeᗷ©E¥¥Ë°‹c¸3¦)fõwÖ.=£5f–MmB]7{¾ùP5/‚–Žè';n¬·ÍýòøŽ—D¤ë"‚ÙV+Œ)r‹U˜5ZV % En‰y\kºsóL£¸;s2¹c:ÅeC܁ñ—D³Ùyò뵊²:ä¹iKg(Ç3æxb6^<§a’ êÂ¥\9$Ä>Ša(Íâä£mˆ#ô}ˆµ˜± ®uS%aéA²çÉF<ôÄt0côz¸ ô(é²Oè=wÈF£>yN¬F0‚®w9¹ê Ñ!ŒüâUȲ­Áô7ø÷ó\â‡[äÝ,—PÞ\]Qé÷·¨ÈŽëªxŠ¢é‘t¾£ã‰£ò;:2 öø²x‹{e@ -ø6Uu^˜ç|:¥ÔËíäð%X8ä—@֏ONٙ¿° -SÒ±H]^åí?ÒS”:j>ù^±$•MËÔ°Ö~¨ù®Ó›¨òëŠÖhé¸Zêî @­!5“Ößꦶü þyö{¶=êÇ{§ 9¶$â [Ùo„5òѨÛç³ -ïoGóù/. ÈR+¿”Ûû²W }˜x÷aî¶bK‚+52gõK䯰’Oß󅤧d0ð¨3”âK9ìºXÃø¹Ê'=ñÜdÇY–µBø Üc‰­’ށRNªzcÐØ2•¼eཙüœ/ŒB+‚YK°>]3çÚàÔô‰é(±œÌ×üq]Ôҕh»¦éyù>¬oG{åM\4ٙ§© ÌÔîå«îTäfo¢d¥SʆuÓµ‘´F”T/¤*ÜÄ"Úé‚&‘v”gH æÅBY+*z âÛ“kȺªñŒ¯W¾q ¶Nr1=æÁ{F ³N·>©)‡kêøW}À{×.¬´;UBòœ•$‡3/ïtwG¤òt$qËoGćâ·éçë][ -‘mv¿`€÷˜¶”¬d檥—ˆT®•¨U~Ì:¼dLTФo*`›ð=Csì„ :ӂ$G£C‹*zÒÛüªˆÇzY]R?Ž§iÊ­6&ldr¹á}Ö¢ç2D’©cŽ–RŽ½4õ1@@Ü zå©jF ¿Ê%™RQݤóvš•7Vi4(Á¦¿ o-ÎË C -Ȍ./–ûš¡`¥ßV¬åÅù=uësôŠæò‚~ÃñQߋ?{Ù*.z{ö­`!ŒO͞E¡â‹ù'™ÏmQ5%ä,fÝOýjïøÖî—_e^Š¬›GöŒ”"°‰»\ÃDnÂßCå^)›\íQ#l6 ²s™|lÄ=ý~Ðwÿ€Šú¡†Ê¹`Ê›V©káÇyùÛ[J•œû«9jn¨ûWN?°™âÓÕ#­µ§íGd©©,¾uÞ7ÑV"¸åµ–¸ËîÚ~ø>bNçØO!d¨ ÂÜk¿ütÞ $t~ÍI<bº Þí۟——¤Y¹–v͌·…t0nԞAƒS-L]~ýö¨®ñvÀi¤çPc3lwV¦ªt1¤ˆ´>8¬0±n!²ï|Ä»c_/dǙ߰N è5]·ªzŠ§9¨eS’ôêöjUēb.doA&ò 1Þ˱[RßbG}ÎRâ²QÊõ6kŒlyhÆ*môãîOŠqÚWŽ°<˜;õ´ÞUH7$ÞO7#1Y‰jÜiÀOáA‰àûYT)®„ꯅÔ^ü„¶[m3#ªê!5÷?U˜'l(~1¾©Þ ·?lí)‘õ¨&Ýãùò[Mï@°ð»óH\ǛxïÓ£¼äó¿ÚI—yÎ/vå)‹'±M?­šj)µ>Vå¢aȼ.íÜê9šº*ÇT÷QêƒcR F³ur7Œ4}¡ò‘ÖTrAØagdQ;I˜ûÚçÊõ)¯„6/k™^æ™65‡OWØY•—¦Ç“'^ûzâ¾Ú´FOìª1ô)•ägÊ3IÙq<õû!›0¶ä¿ѧ*ª]Fù¥O²Ð®˜Ñ(î«-†'óÊ^UŒ\¤€¡gó­µehôf'MzÂÌ[»•Ã W¡Þ]õ±îÐùꢿ:åd³a —Üý‹|š’6¡%kô¢@ÔÚފ‰i,[J&im›Y¢¬ö03³Šþ§}õ+'Õ>-ï3ÁtÏM$©Eõ‹z¶K=ùkj¢š›ºùžГ¦ÖÈà i]™"Á×m£ÇӝTH)ïÃ-!½¥g…ï °ùdYÎ2€«–Åù’åÕ ?Ká¯ڗ…V³ôö ˜–‹|¸²…~1®/‘ܳ.bñÛ¾v"Ü!+7‡Y;´~±wÑýᢳ›î1,Œ)×RU°*{Ø ¦è‰ã /Á^>3˜3â8T¬c —}ÁcŠ[¸o×5bgó+WFø­E(šͅÛåÚR»sIrè߁ŒÀuWÎw%ËGÈÆ!~vΉs­-ÓNžs“o{Øs/„çÓzFƒgUdˆ ÁŸ,ºï¯–¸nµpØ÷iÍKŸ_0Ü2]BíèÑ77k÷I_™v{ƒêÅ šæY|ÕA‰ÉmĄÐkm =ʲV¯o¼³ ¢¯õ‰R)Å;DG–›-õ )û&a²M¼ÊýIûlXžæü£=¾ƒ"Tt·wc¹)öçöO,lyb¡R8K´ÆÏþcRÅÓt&ò®?1#ã+:=°µÑ(|UH5ßÁßX¼X™ªŸ_¾,¹LÒ íÏJ /°ñ¦°ðÉé2KJ맰‘0ªÎd聹‡·` ý»6Vv¯|å âdzs‘@®ö\½®h‡êO´îÇ@²Ã$5Îëtys §\MsþO¦\CŸá§2íôè¢íeQ©úùy”†¶2ڂ@ñˆÆrqªwYvi3¾q ïÎ2\Y±÷ÚåkU+ÇÂPª¬çø£ýóêÈ -ÒÆ °9QðÙsý‚v9êÎu12g‰j=I^Û¸å<¦¶±q;~?”, -:Ö¯}‰÷v,}çx>¯‡j+’¼ ¨XRÔi q8;­‘½–„¿¬Ÿ6mF\©%šÆžéƒàÉҍi?6‡/9ÒiHö^ŒÕÃ&y{&Ìe$66Úr‘oMí’ÉÉ*Ëû†± õR¡ð•Á¯k7Î[ì…$"+•zSàCz¥ØöUP‹µ;«3ËP:1Ž .ÿ Û{‘q.ŸI´¬o^Ã{ßH¼÷ê£LMëV¢Z@e𻠾ԕw^6'þƒ¼¾z9–9ºB|`žB_úÓ­_!_‘ëÖxæL²b‹¨Fíã®F46<Ç~­½:1haFgØu• ü`¦¡i$úf©=wl†åQž ‰ÿÁµ5FXéFõüÐÝö¦”ysw]2_5.`kÕšQGB3ôpk­l·–_ÁKm°+Eâϲ¦þý<“¶†QwŸ}¾»L‚LT™Ñ§®ñ£[æmðy‰Í{Yñ‡Ç!ºÇ†Nî&…ÉÞ·Àí{_/&¦œÃ|eDòkæf§¯$/nœ­0³yü~öƒã4Œ3z¡RÈm)zí¯Â“‡è[XTÉ9ms¹Tº…äƒV-‘¸¯^qs—,HOï~öù {¹ÚLZ»¢Ý%…Ih؁3Vß<9ïk¯Ã0÷›(;§˜¾ëXˆ`õQÔr[¬4ÎFRåS^Bãóx©Q÷(ò˜E)ò"|õãáÜk€áÍr¶S±|ürœeæ²èÒhÈ[m^ -ˆҁ—³AÕ÷Üì4*‡ËGFO„’P°Áñd‡œ¾×vu¼v£¬}  J6J(c8'Nj×mՉkݸBgdî?PPÐuȈŒG/ýTø›!ž|¹$dKX]ò6ÃÑb~þÝäÄðå²W/]\î¢ã¸;cùb•zÿԏ9¿ßÊÍ^Ð`ö¶¨«QíÛ$ÂÐ2Òn«Ã­+³Çø/Bîr/–YÖmí‘×… ¯ñ™I"Wâ}-è¨>¢×6n#°Öӧ˿ÏT‹YeFÚ@ìT‰¨Ç¶&TGŒN·p/Sò֎gzaN»zµú8#Xáü=ö6Œ¬ªˆ§)xû#YÄ)´9pÍd™"üF‚š¯€ÉŽ÷Ó±ü—j" F!m:™­•0./1S¿Àþ4×<¼ý@(°tÈ£^ž¬ ÎÖà?©¹q=sI¹€7øÙ äerùq\@P'°›Ûó3ì°…aÏ5€A`g+Gwë?<Ëm ä…´†8;z¬A6ÜêسKËÿ¬Ë\ÿ¾&ÿZüoið¿¥½ÿ»æþkþË%þßÞ祖wwtT:=ÀßKð¼e UÀŸ=ø³h\ÝAÿ— Ð ìèýßXý«¢>èïHÿý+¦>—CÊÙö¹%œ¼|\<‹Ánò`/µ&fe°:>Wë/¹®³5êv=wõ¯‚>ñðü ¦c¶rpþS~Á¿!³õ¿Æþܨ¿"çÖÓSԐyÃþßíÖ¿45Ÿg¦ãíü7újëÿ<üᑖ†x|9…xœ|Â"€ˆ0¯ÿãñ/ÞžÕ€0(Ø `ÌÃÅÃà xþýÇ÷Ÿ'Ó¡‘s¶‚Xÿ™™70 ³õó˜ý§àlå…>w÷¯›ÿœô?Î <ä²ÂXš‡X‰‡ÙgdeÂjIóFe{ºyÂ]JtŠ ƒª!]Q›¢¿k¹ÇÅ[½ç¾»<ì(³ív“82w¥N ¨ü_°~)Ä_cjfß á6+ÁÎ<ҏó=›UÝ@2âÑÛÝÕÒ6ûø…z¼ŠvvËô£0ˆˆáÆ'À*½þ-q^#AmÑ÷#¦”ƒÛ澡¯ý]È_v(Ùsߢ3Š{ a3ŹæRJéVøF3¼–ÁÇ4I‘§_ñňö…§]ÐʿƟ*£q¬NKŠÙ$D}g2¬ÁÒ9¨HyÇ°‰4 +šó“‰Œšq?>îìœK2Ý+ʑJÆÇ®5”å²¦ÍаY±:f¿–oʇø«8…| ü}ßHdt°ŸA¨ï}ÝûN†˜B¨×w¡è7ÖU(^˜å·BZų~–§¤ºpz/ÜÚœ 3”ýŠ9Š9zFˆÒüâê¥Ó&BŸÞò•Ãtk„žæìwjH)dݶ])b~¾¯Cl«)x ŒÈ7Á|‹ÞÍJJù›”º–Áøø½¬¤Gj&³}ªlYØ ¨TH‚m^®šß~‰Rr<‚¶¾½‹;v_ß2žÈƒÏË/èeeŸXÚF+Â$AV}V6¼|c‚ª,V©çÒLÙ6ç´QX¸±­r5´òNZGÄ{.<ªýO ·Œ4T z¡ÐnŒ›LćÞFòwIñeóeòz ëSÔÓØtè³Ÿz~ZÚïB×GOÂd/JLhFl53kZVf,|¦^Ù›c͋Œ·µ®V3Š‚Ø_l椒ü¾?#^套ÎRó±z/ÿ'œø:Rƍç0D*ƒÀ…ñ=“M +~\û¾g»5LÇ×ð2(JÆâjU” ýçF¢AíÁ‘¾ØÚ·åý¡[‰ä]¦šåejqmÇè+üä®»MxmÖÜÀł×Á;ì#oÑÀÛøD›Ì‘ì +ætÑÖêW«Kš›çêDSIB?'{ØHi“C}i–¿89‹Q#8()¥qÜ&s:c¬ÐzGÀ·k[¼©ìï~²D©O}™¢¹ë¡ßàV,sj[3T‹ôßÕOLÒkOh3íµ:e¬êõ’‚¥Ixó0$ÚÝ¥þû™œÃ¡xˆ`Ï9ã‚ØKþO +?Ù~½ïŒN0œXj Ÿ3/û2Ê%ÇúSÂSÜÆhãœÐTÙÄK +ʤz4´ð-ìŒDƍ9ø Ò™çäTu´“õ_.’Äån3~ª>4 6 … +?5캜(¬öçÚnd"à­æ7…½“4UÆbVf=åî¦bLïS7Ôpo5….×ÿÞ©¥]— + *°?cÇÒnô¥Ö³«m–Ž!©À³yƒY0˜Þ©øRA>,…o¦†ªûu¡âå¡ÏöÕ +8[‘mD¡9fŽIÏWH°gƒ3Æ3È­{ß 1«Œj͘¯nÕ̏kªäÄ¿*c 3‘§›ÚdŸ(‚Å—£ ýìå_¿^gìAÒæKžn[— ™`ˆx=u«ÇítûØ´‡Ðá:ÑJ£±šïbÎӕddqÛÍüå Nº™;á$±ƒtT퓁±åÌé÷ރöÔÏT ´³è~9»µ~²ëõ¡´Wáp#ú‹TsýSáË1AºÈÜéñ*Ì@¼Ž¢¼¯Œœæj½úmXqê$’¨Ea +>]kéÛtïŠWՈç5|g('®_(ûR®†ˆ/νxD¨}c]ߵ͑úéÅt³"SòAŸbíõ•ñ{u Íé¡GWª­oì + Ýí2éùG·­VÀc,ä½*,€V8ÿ²gƒ’‰Ðí÷a#™×åv +ÛJ§ +QZœsK )!7 ¢)U˜)%ݯð­y^¸û¼ñzôŒ¥\Չ̌t®Žvo¿æLõ)ZÀòBÈß>-o‰ +F<¯Tváî7üŠ( $4~x-#|»±JkP4ŠZ¬pƒí„ÊNh±c…5³³:f“ís îBiFí³teÈßiήÞ鎙øÑ0%$§§H•†ûYðI;‰:|€‰û8}æ®îØc7=sMOUK°ºöZ ¦ëQú¹ñ |ÉꔕQZQ׍¢Å¢ÉZ0ºvø¼-…^_'T…\Û'Îæ5ØW„î犷8tO\§ìµVJßÝpj¤û?‘Ä,¸:Œ dÎiE+ÃÇ£³# åä NŠ{©µžÔ/¼G¡—©j8ò ;,ÉÛú…C¹ŸXݜѲ^•-¨F1QfþO’ÂãLºÁ™ñpqNÀå$6/q»Ö$Çße/qð^émv»ï]ƒf"gВ…‡IOžX0rr'jÔ@퀚3K¯ÅT$‹“8ŸÄ~X¡¨ šJÎ,ð®T“¬Câъ'¤ñ·N^y]t`‹w¥mò4x\8w›zÄDgx’=ÅR­Ò-i0,‘toߗH§v/ nÀʼnuã63U))§ñÀ¡¶öò]94pŠßŸ§‚8ðe=úȕe{Ë&Fæå9S NȬÝÞp)»Àô7¡_úw Um\0ewœ¬¾Ýpb.ÿИ`Ï^Ff )0ê{©jœ.*‘M8G +Ö°¥oµ·LµžLÛ¬âQ­¶>§Ãýåy_®ÑÃlݽD$»ÈfQ«~ÆVx8Sh'@Ž®>§/”T3D´B.’¹=ßzK“hyzÏ t|tT×ö×ϑ9û0”™Å¤CûŠçý€æcøÚ[0Qe\þ`áöl5“ˆQ—ã üE‚¾‹à“@úy—Eߤ‹bÇEïO¡õaä,~CýÅaˋ—Ñ.¯‡ÓÏȗ!‡dûXn†1õÚËm·ˆ&áN»ïgà[Åʬ2ôV×÷Îå‡%Äe_›[Ö$¶§ýj#ã£0¨wrÿŒ®ý´^å¶>}­Çž¦è+¹5Ë@Ÿh†î¨PQ»N×Ì:<Š³³~ÝQÎI6€ŸŒç¶Ø—šï¹,Bñæ“"ç^úRKq=ö&*?ˆ3Ä$§{É}"Åv$ù ¿"úv–‘Ã/iݨš÷µG3‘Ž˜yLÁ¹`”Éò¥F€u·Âßzͺ‘oCRz̯Ò¯ÕÖhڑ¾Ú‰N/–„¿†nnzänšµ† é4ïiî’=¹D×(ÌJf1MN‹™9ò_=[ú8ðË;cPÒZÞÿQT‘ïgüvþ©žà+5 Cviكíõ4avƒ_[ì'rÇ~–Yü‹aª¯ûè'"·âœù´Û½ÝH^~j‹mƒ½è‡ŸPuñÏ#*ܱқé¼!«+N׺›*]€RJÕ}b¿8•h×ûŽIÊ|CX¡6fÐÿú¡¡¤Û>¸ö­žü˜ˆÒʛË™ÀÍãu·6ö´e¶•W‡©›,o R"ÿ8ê”ØrC0öð±âF•kg&ÌV,äEY–e'OËÎnÝWØÔ4…Ç‹ÌâäþâìbÏùú÷%Šš"–3*jY’–å2ÒíŠÉ7¿#íß°‘`Ûñ„čá%7Š4¦òvŸµaäP¡}_ Ós—4sVl'¥_”z·¦Üðq7aº&¦Î +S¬ ðšM%vÒ;6-BÈ8¹°STWü!ƒÂ§ûy;-V’N >A…c^¤±ŸbûL™:ÑÞÂâÍDó’³Ü²ç-n<°Ü²ë\‰„¿¼“81¼ÜòIõç+¦»eV;ƒÓÐƧMñU…&½“Yš +¿s¾f9ùO§So¸òr˜ÀÅ̘ú)…Æè=˗MÍàQÒ´…jìcYå^¬L+^è³aõ£î:]FŠ8ÕÑø³ G Kª¶sl"Ó²Œo™ß¹º(Y]S(ŸÅëÕGá^UY,,@r‹¦’TÍæ@љø ¹G1ákêøtç°¹i£wbTúçHº0ßh¼ø8­Ã䂎,iÜëi¹àÐ\WÁ:[Öô§¡ÌŠS±‘Ò5¤Sc‚Ž¤ÖîàÊX¶=ì{„€Ú£µ–>ûöÞ}/:ü[ ÖZ !êšF£=×.ÃÒv«Ss„Wß±®%)¡¤BT;ZIU¦Ð“16úë|Cjç÷ÍkhqØeéóŠIXP #Œêæ3Õ¿$ cŸ‰b7 nÐíXŒ€‰ïްГUž#¹b]C•Õs×õŠ›$tÚ_åHP²ªX&Qcýb՚ëQέPqßq›ówŽéyŒ +"Q1m>3ÍÃÉv€ê*Ó«KhoIVÙ ¤M›ëNw_À¦ö>RT=ùgK:V™îDƉÂá Fٍ«LcTº¦û£ÉØ^û¾QQoPƖâ¼s,=Æ P·Öïž™ùìIn'PÛ?ÛW;Ìùæ¥~ ½Ï¨AÐJK(¢Ý7CV3¤Ð¡ÔÓ»Ê .$ãÐ(í9 +Hª×6x(Rm,Ùó9'{ºaÇ æp–ãÎçÞß}\Õ4Ëö¼c*FØÏeqÊÎÎý(H%W”0Ï¢'_S;eÕ|[´4$k¯í Ó2i^†¨”iºbùÖúp{x¹ŒÑ{Yd Ð)-\}®×ú‘LV?ÏrUð֓nrÔv¯Ôú8øµcÀ$­»ÿÇFDqó9Bð­XÓïüÏÄ<üzù?Gv±h+;É¿ç/­2é6èê//8e7¤÷})¹…ùÈ1ºòpáá3n#سv)ÉtBš×I֏՜jyÀbuÓ Ï®ÂÖ)GѪ|…Ëß/dó͘­ä:b9… +ăҕõk…&X†#Q‘¿%2ZoT7O‹pÙ·m~ëéqxE‘‘ó°L¢%¸Ëµ`oã§Ãœý„¥R^ {ª%d‹w? Å:L 1e²#RÕ"½Ô9–B i&%`¹‰þ*]DRšpÜ߶PÕhEpÙ?Æ>qNã2þÆð(<¹°/uڀïêìç}Iù°P„ÓÂ/aʃ_ûݯK’qÙµ»4üdLqZEgH¡8„üǽȗXØx` )C‰u句‡¥òµ/“…’fŸŒ‚Ƈ+’*!…Û˜ê} þÄZU¤¯öà šMÃLíó?³½ÅÉ®Z–O:>¸$<F÷i›ÁnH¼HS¯""qõ\Ô¡ùwT¬M| +`‚˜y’2k±õ#ðgÀ«HœêßÚËÂ/oS‹JK—a5Çp'fLSÌêï¬]zFkÌ,›Ú„ºnö|ó¡j^-ÑOvÜXo›ûå ð/‰H×E³­VSä«0k&´¬J2ŠÜ=ò¸Ötçæ™Fqwæd>rÇtŠË†¸ã/‰f%²5ò("ä×ke9tÈsӖÎPŽ;fÌñ0Äl¼xNÃ$Ô/„K¹rHˆ|ÃPšÅ7ÈGÛGè)úk1c\ë¦JÂ҃dϓxè‰é`Æè;ôpèQÒeŸ8Ð{F|òœX`]ïrrÕ¢Cù5Ä«e[ƒéoðïç¹Ä·È»Y.¡¼¹º¢ÒïoQ‘×UñEÓ#é|GÇ5Gåvt:eìñeñ÷Ê6€ðmªê¼0ÎùuJ©=–ÛÉáK°pÈ/¬Ÿœ²3a¦¤c‘»¼ÊÛ¤§(uÔ|ò½bI*›–©a­ý:Qó]§7Qå×­ÑÒqµÔÝA€ZCj&­¿ÕMmùü5òì÷l{ԏ÷NrlIÄ6¶²ßkä£Q·ÏgZÞÿÞŽþæó_\¥V~)·÷e#®ú0ñîÃÜmŖWjd<Îê—È_a%Ÿ¾ç IOÉ`àQg(ŗrØu±†ñr•Nzâ¹ÉŽ³,k…ð¸Æ[%½¥œT ôÆ ±-:d*yËÀz 2ù9_…V³–`}ºfεÁ©éÓQb9™¯,ø㺨¥+)8ÐvMÓóò}Xߎöʛ¸h²3OS˜©ÝËWÝ©È98ÌÞDÉJ§”' ë¦k%"i(© ^HU¸‰E´ÓM"í(Ï<Ì!‹…²VTô@Å·;&אuTã_¯|ã@läbz̃÷Œf'œn}RS×Ôñ¯ú€÷®ÝWM]Xiwª„ä9*Ig^Þ7:é"îŽHåéHâ–/ގˆÅoÓÏ×»¶"Ûì~Áï1m)YÉÌUK!.©\*Q«ü˜uxɘ¨  IßTÀ6à{†æØ ÿt¦IŽF‡Uô¤·ùUõ²º¤~OӔ[mLØÈärÃû¬…EÏeˆ$SÇ-¥{iêc€€¸ôÊSՌ~•K2¥¢ºIçí4+=n¬ÒhP‚!.LAßZœ—A‡ >y¦ª'Q‰ŸÞÆ1ŠÂ»Ï°ÉòWYÑ’àO .óŽí“ 9Ž¾Â™Iø1MÛ^>YŒŠPaXS=D•Î¡ÃH÷£ßá§-œî1¢ {ùš^¿ûDRÌ1ÈϨ‰ +åj¼ÄíyÉWîÌ-ÞYeâ”^P|Ѹç¸±B)— ]ù¼Z‚¯²´®ÕP?t@'M­ožiÂäÁº>5mù»Æþ(C§z…Ê Z»R€=ÛN:Nœ×PK Ìu2*ñég¢Uª†õ΍X7a:¼“‹_¡ÍEfÙÝögŸ´×­(yöé”ä$B0åMÄX”¹°a-{&£$>°ÊÅÇ!§‰£Pƙaz?k\M’ÃǘΟ¯Â»|(ÕE£_WF1"•B5q ‡y³9˜?ÀýÔÜ凲˜k(ÑD¨ÐÜ­Ë%’M_ k$†º:–$:):4}MŒ×µüÆ£A_V9²!òŠ@y²èI¨ÿ›àõþ¡Ð’ãED-Ÿ¾—ìŠ š6&¢ +EÍÀïíÌõc-„ºGœ‚v1ÒÁ n˜ûÓ%e)A—*÷4"ì +w©fïôöÄ®éã¢2öÅÜŠ~´zA—q_“1e¸âˆ#=e¾>5ЀQnïoŒÏ7Úî‹=ƒ +|]^,÷5CÁJ¿­Xˋó{êÖçèÍäü†ã£¾ö0²U\ôöì3ZÁBŸš=)ŠBÅóO2Ÿy˜ :êÕßõ,wÙÌìòé\ßmm*BÒµãiû6}õpêáŒOI 0yø°C„—ó‰Jï×ǝËU–î°T·»½ØvDûò¹ñ_D,×Ðj+ìi çK°£z„â<áOΚK–¿û$›$ã ê«·}ïÿfÛºŽ8~†½g3w›p-ÜE3†NTח ê‰/~ÀFNޅzv’V¼ä˜×RÁ†#颞â6Xo™Ä6qӱɫ^¨Óâ¨p'd€¤ÈÃta©‚9ŠÅ˖8è”MmÎúŠ0³Ÿ¤µÌÊôw{ç_ð’l»òԈI£òÌCû¹4Ò ©š½°(f®cÑ.0átl㒷²XL¢Ÿ¤5˜~4»§y Æ@³k{(̈Àn} m{ÛóO®Hl€ÝàåG;R½"Ï>'C§Âéܜ(‘!ïä8͕È(mÊ{ 6t=‰©OJÄw]RËs£ô Æ\pzs[ú±{ÁÎC_|ÞwÛ¢jJÈY̺ŸúÕÞñ‡-Ý/¿Ê¼Y6ì)E`w¹†;6ˆÜ„¿‡ʽR6¹Ú£FØl@eç2ù؈{úý ïþõC •s!Á”;66­R׏óò··”(*9÷WsÔÜP÷¯œ~:`3ŧ3ªGZkO+ڏÈRSY|ë¼o¢1¬DpË9j-q—ݵýð}ĜαŸBÈP„¹×~ùé¼I2èüš“xþÄt¼Û·?//I³r,í>šo é`ܨ=ƒ§Z˜ºüúí?P]ãí€ÓHÏ¡ÆfØî¬LUébH i}pXabÝBdßùˆvǾ^È0Ž3¿a6þÐkºnUõOsP˦$éÕíÕªˆ'Å\ÈނLäAc ¼—c·¤¾ÅŽú¥Äe£”ëmÖÙòЌUÚèÇݟ â´¯ay0=vêi'¼«nH¼ŸnFb²Õ¸ ҀŸƒÁ÷!³¨R\ ÿÔ_ ©½ø m!·ÚfF&TÕC kîª0OØþPüb|S½nØÚS"ë!Q+LºÇó巚ށ`áw瑸Ž7ñÞ§GyÉç~µ“/óœ_ìÊSO4b›~Z5ÕRj9|¬ ËDÐy]:Ú)¸Õs4uTŽ©î£Ô/ǤŒfëäniúBå#­#¨ä‚°1ÂÎÈ¢v’0÷µÏ•)6êS^m^Ö2½Ì3mjŸ®°³*/M'O¼öõÄ}µižØUcè/R4*Éϔg’²ãþ(xê÷C6alÉ!¢OUT»ŒòKŸd¡]1£QÜW[ O敽ª6¹H;CÏ"æ[1jËÐèÌNšô:„™·v+‡®B½»êcÝ¡óÕE# +~uÊÉfÃ.!#¸ûù4%mBKÖèE¨µ½ ÓX·”6LÒÚ6!³DYíaffýOûêWNª}ZÞg‚éž›HR‹êõl—z ó×ÔD57uó=5†!'M­‘‡AÒº2E‚¯:6ÚF§;©Rއ[BzK+Î +ß!`ó ȲœeW-‹ó;$Ë«A~–Â_'´/ ­féí=0-ùpe ýb\_"¹"f]Äâ·5|íD¹CVn6³vhýbï¢7úÃEg7ÝcXS®¥ª`Uö°LÑÇA_‚½|f0gÄq¨XÇ.û‚Ç·pß®kÄÎæW®Œð…[‹P>4š ·Ëÿ´¥4vç’äÐ ¾ë®œïJ–Cü8ìœçZZ¦<ç&ßö°1æ^Ï=¦õŒϪÈ‚?Ytß_-qÝjá°ïӚ—>¿`¸ +dº9„ÚÑ£onÖ42íöՋ4ͳøªƒ“Ûˆ  +ÖÚ@{”e­^ßxgD_ë¥R6ŠwˆŽ„-7[:ëRöMÂd›2x•û“öÙ° <ÍùG{|E¨ènîÆrSìÏíŸXØòÄB¥:q–hŸýǤŠ§éLä]"bF&ÆWtz`k£Qøªj¾ƒ¾±x±2U?¿ +(|Yr™¤A۟•^þþ`ãMaá“Óe–”ÖOa#aTÉÐs;nÁ@úwm¬ì^ùÊAÄÉôæ"\í¹z]Ñ ԟhݏd‡Ijœ×éóæN¹šæüŸL¹†>Ã1NeڇiÑEÛË¢Rõóó"( me>´â åâTï²ìÒf|ãÞ/œe¸²bîµË× +ªVŽ…¡TYÏñGûçՑ¤`s +¢à³çúísԝëbdÎ:Õz’¼¶qËyLmcãvü~(5Xt¬_ûïíX(úÎñ*|<^ÕV$yAQ°¤¨Ó@ãpvZ#{-/!~+X3>mڌ¸RK4=ÓÁ“¥Ó~l_r¤Óì½Š%«‡MòöL˜ÊH"l l´å"ߚÚ%““U–÷ cê¥B5à+ƒ_'Ön*œ·Ø =HDV"*õ¦À‡ôJ±í« kwV,f–¡tb,\þ#¶÷"ã\>“hYß¼†÷¾‘xïÕG™šÖ1¬Dµ€Êàw|©+ï¼lNü?x} ôr,st…"øÀ<…¾ô§[¾B¾"×-*¬ñ̙d+Ä0QÚÇ]hlxŽýZ{ubÐŒΰë*øÁLCÓHôÍR{îØ Ê£$þû|w;˜™¨2£O]+.âG¶ÌÛàó›÷²â9Bt ÜM +/’½oÛ÷¾^LL9-†ùʈ†?d×8 +ÌÍN;^I^Ü<8[afóøüìÇig*ôB¥ÛRôÚ_…'Ñ·°¨’sÚær©t É­Z"q_½âæ.YžÞýìóörµ™´vE»K +“аg¬¾yrÞ×^‡aî7QvN1}×±Á꣨å¶Xiœ¤Ê§¼„ÆæñR£îQä1‹Rä;Eøê'Æù×Ã5šål§bùøå8ËÌeѥѐ·Ú¼'¤/gƒªï¹ÙiT–Œž%¡`ƒãÉ!9}¯íêxíFYû@A•l”PÆ&:qNœÔ®Ûª)Öºq…ÎÈÜ~:   + ë— ^ú©8ð7'B<9ørIȖ°ºäm†£Å6üü»É‰áËe¯^º¸ÜEÇqwÆòÅ(*õþ©s~¿•›½ ÁìmQ-V+¢&Ú·I„' e¤ÝV‡ ZVfñ_6„Üä^&,³¬ÛÚ#¯ 2^ã3“D®<ÄûZÐ P}D¯mþÜF`­§5N—Ÿ7¨³ÊŒ´Ø©QmM¨Žná.^"¦ä­%Îôœ4võjõqF°Âù{ìmYUOSðöG²ˆShsàšÉ2Eø54^“ï§cù/ÕD@ŒBÚt2[+a\^b¦~üi®yxûP`éG½ økj–>¦zSK·±Næ)c¹“ضž­]$+¬àUF¡i—×XÜâ“ØÙ±Ý[!"ùhð&ÜpoEáX1YR­¼èךï3'>aL÷·üˆko¿DÚꌶY¬XW®Sì'fc$øBÝ(D¸gÕT¿ë `½ä$´\¦]§‹³r³ˆN‘´þˆ¡Ú;7Åúª‡mGÎó¿ü`ü‚ÿ'¬A@( â„:`üç*+endstream endobj 1037 0 obj << /Type /Font @@ -10952,14 +10945,14 @@ endobj /FirstChar 35 /LastChar 122 /Widths 2157 0 R -/BaseFont /RPOAIN+NimbusMonL-BoldObli +/BaseFont /VVHOCS+NimbusMonL-BoldObli /FontDescriptor 1035 0 R >> endobj 1035 0 obj << /Ascent 624 /CapHeight 552 /Descent -126 -/FontName /RPOAIN+NimbusMonL-BoldObli +/FontName /VVHOCS+NimbusMonL-BoldObli /ItalicAngle -12 /StemV 103 /XHeight 439 @@ -10981,7 +10974,7 @@ endobj stream xÚíteT\ë–-w‚-Ü ®ÁÝ-h h…KáîîÜ¡p'H ¸;—àÜýqÎíîÛã¾þÕÝ¿Þx5Æ®±¿5ךKæÚ5¹Š:³¨©1PÊÎÌÌÆÂÊPÙ;;)ÚÙ*0«͝•­A€7€ ™šZÜhÙÙJü- )@h`g°ñññ!SÄíìÝAæ`†š=##Ó?-¹ŒÝÿy‹t™ÛhÞ^\€Övö6@[ðÅ;P€-€35 ®¬¢#«$  “VÒHmŽFÖç·VL  ­`fç°þÇ`bgk -ú«5'–7.Q'€ÀÉhz º™íÿ‚˜ö@G“ÓÛ;ä0w4²¿ÍlٚX;›þUÀ›ÝÌîï‚ìíÞÿ©{#{{k÷¿£íþöú@`' µ 2û[Nð[ns-òÇ¿–EÖÖÌÀÆú»©³ý¿c.@Ç¿D÷×Îпadjgkí0š!T²¿¥Ðý÷TfùßùAâÿÿWäýŸ‰û¯ý§øú=ÿ+µ”³µµ’‘ÍÛüã’¼Ý2vÀ_÷Œµ‘#௻ÆÁø…ـ¬Ýÿ‹ÀuÔþ£ØãûWXlô6Q[ó7a˜ÙØYXÿa9IÜ€¦* °‰ÀÌÈúmfÛ5lMŽÖ [à›¶õ-ˆ•õ_°Ï +Û¿Dàú´5ý×òßäú»øòjŠr¢âŒÿÕ û·§ÊÛ&€?»Ûÿ–FKÑÎô?ñˆ‰Ù¹<™¹ÙÌì<N/›÷‘ño¶žÀŽ 7ÀVVV6ÀÛÿ¿?ÿ<éÿ ¤­‰é_›£6²5}[¶ÿ0ü›8;:¾iü÷÷ÿÖô¿Ÿÿ^{ Ð h‚¼8gg"d™š‘®ÁÏé•øÒÝÉÓl_\ÿ¹0߯ʮÃ75l¯Üð©:˜¥aœÿ¥Å}öÐþy[Žag°Ϛ¶ãð$Ø›’¾+ÿý*M+ãNÀǯÅhiGZQž§3 +ú«5'–7.Q'€ÀÉhz º™íÿ‚˜ö@G“ÓÛ;ä0w4²¿ÍlٚX;›þUÀ›ÝÌîï‚ìíÞÿ©{#{{k÷¿£íþöú@`' µ 2û[Nð[ns-òÇ¿–EÖÖÌÀÆú»©³ý¿c.@Ç¿D÷×Îпadjgkí0š!T²¿¥Ðý÷TfùßùAâÿÿWäýŸ‰û¯ý§øú=ÿ+µ”³µµ’‘ÍÛüã’¼Ý2vÀ_÷Œµ‘#௻ÆÁø…ـ¬Ýÿ‹ÀuÔþ£ØãûWXlô6Q[ó7a˜ÙØYXÿa9IÜ€¦* °‰ÀÌÈúmfÛ5lMŽÖ [à›¶õ-ˆ•õ_°Ï +Û¿Dàú´5ý×òßäú»øRÊ2⒌ÿÕ û·§ÊÛ&€?»Ûÿ–FKÑÎô?ñˆ‰Ù¹<™¹ÙÌì<N/›÷‘ño¶žÀŽ 7ÀVVV6ÀÛÿ¿?ÿ<éÿ ¤­‰é_›£6²5}[¶ÿ0ü›8;:¾iü÷÷ÿÖô¿Ÿÿ^{ Ð h‚¼8gg"d™š‘®ÁÏé•øÒÝÉÓl_\ÿ¹0߯ʮÃ75l¯Üð©:˜¥aœÿ¥Å}öÐþy[Žag°Ϛ¶ãð$Ø›’¾+ÿý*M+ãNÀǯÅhiGZQž§3 k°ºÜ¬š;£ªj_!Oð$ã­Žˆ§·ô~”.ù~8T7öè>&)u±¸m˜ PX5‡G4‰û·7´½Cý}çp]ÛDŒÙ±HÔ.°h4‘~ÙDºåžáŒ[ïjwÈbºr¸°ÌN¤î“ƒðÆüSgÊrUm4>_pû´e{eÊóÀ@’ªí!B¾^gYâ¶fˆ^FT{ônRçz[âœ5Zóì3ŠìŒ—*J–># sÁx§¼*o.á_g}wýœñl^îk݊ԏ'ؒ(Mô{Ä'’WuçÙ>`·pòdèŸoR[ÌÒö! íë&XôÕFZü¦½ê>ì%Ü}g·û[˽æb6J¸uq ÖDP»}"ߞo«/2åKžxÊ$©ü&Ú6|I²k¢QᲪ֏Òß(Fà"A=PÎ2íܘ??ý@²å·‡•Hki–óº‚i¦¢'¦ãfü¯êäœíe'×ijÞ ^ú«úò!,lÌ@Q“àx¹ ªy—3µ€Ö߁DáµîÂôÄ©;bi¾©õZä7ôÛf]q?Žlcß?‹}…U´YFVg½\BšÃfÁOAœ¾Ý=ðÑP†>b*˜ª¦ ‰¯írß[îEÍÀo]æ7hÍO#Á]ö aOp£Ñ’ݬyÝGÜéÁK² ´dݎ½6[ Û#Ò¾ç‚u¨Öåºp³àž\¢4hS ©–Eéf< ¢sj`ß®›ÌFpï(üÊæú|k-è=‹ãEâï°ü‹üTvalÝ´X\0X¿Ù¦?˜|ew…­K£KòÉäÃïÚجäʊíŒ]ݐ: %¢˜~¡¨ç7GÊÎÉÃÄ} .Íâ¸M¸  ý¡$úu}ÞÕ*äW˹эwçQ ®ŽW_hi+yñ¸âŋ…† -ë‰f m…ÚÐJï¬ùÏ¥‹û ´¤ešÌiûFt& ß–³´Ó²ë“´›>Y`™å³{ëéÄ2 û“°dõ>sf gz s‘žI Ï¡¡Æá÷”êK“VeùÞÉÄ;NIN² -ÅêàÒ[xŽø?‹¬ !¼Ž”xí°åJ¦vY`™å³{ëéÄ2 û“°dõ>sf gz s‘žI Ï¡¡Æá÷”êK“VeùÞÉÄ;NIN² -ÅêàÒ[xŽø?‹¬ !¼Ž”xí°åJ¦v> endobj 1027 0 obj << /Ascent 625 /CapHeight 557 /Descent -147 -/FontName /KRMJAC+NimbusMonL-ReguObli +/FontName /FOHDCE+NimbusMonL-ReguObli /ItalicAngle -12 /StemV 43 /XHeight 426 @@ -11055,7 +11048,7 @@ xÚ¬ .†ÖF #['*€©#ÀúßÀÈÎÖØâŸÒœèÿb 9 Nö&F™¸™Øÿc¢؛8ÚX89ýýX8Ì lÿöÀÙ`akdíbüOõ¦vÿJÈÞÑÍ_Û_0;'g'#G {gÀߨ ¢bÿÎÓÙÜÀùŸØNÍ;Ó¿žÆvF.ÿ”ô/Û_˜¿Vg ['€³‰»ó?± MÆNöÖcÿ³w´øW.N¶fÿ•-ÀÑÄÌÀÑØÚÄÉé/Ì_ìºó_uþ·ê ìí­=þuÚî_^ÿ+ g'kSz&æ¿1œÿÆ6³°…aøgP$mMíLŒÿÖ»ØÿO›«‰ã¿DùÏÌPýMÂÀØÎÖÚ`lb à gçü7$€òÿŽeúÿ>’ÿ(þo!ø¿…Þÿ7rÿ“£ÿíÿ¿Þçÿ„s±¶–3°ù;ÿ^0€¿Æ øgÇüÿ| l,¬=þÞÿé¨fòï ÿO ’ÎÛ dkö— -FzÆ+-œÄ,ÜMŒ,œÌ¦Ö{ô/½Š­±‰£µ…­É_.ÿÕF#ãؔÍ-Œ¬lÿi:Û¿M&¶Æÿ™ù_zþ•7ƒ†š¸<ÍnÓy)üeÝYÙÃþobÿ£Y;ãÿ%üƒ!,lçð¢ceÐ1spØ9™œL>ÿ‡hÿ‚aú/YÖÀÙÑ õ·dF¦þ?¾ÿ’tþ懭‘ñ?S¢äl`küw°þ—ⳑ‹£ã_>ÿu×ÿü?卸‰‰»‰ÌÚ²O°eú¯ ç:ÌܑIQ­>&БûÒFå¢ÿ»^¿ôð]®JýÏÚú¦iîïv¥sû¯C)꣱> kŠÞT“ë|<ªþä-òNš£@ÝRøŒ µh¯›E™0MvFÕ£½Işº%Ÿøӝ,ŽP7/Tþ$®þh¤Ïö¾Fi qè]HM@(u…çäI§/ÏC¿GG†{ïÀûqirâ Éx\ÁàÉ£ürp4U*½"¨—Ž3Ç'­1/ÍzG$91Ø7™Ây¶*GÜ|®1ïOåñ•`GíGˆ\.­=û“æúüq†;÷šLÉ»‰î«;¿Ðēn\¤ÎõðÖYNùÜóÒ1àL—ëFb$]#b²ûób€aOžcxwK÷ ‘„%&B™‚ºo"ä¾²’UÏìU(­Ñdù?ç ‘îj\I‘näQÒ÷í9~5\ýYsÈ 4Õ;¯>ꪅª®c`r *§Ž¾í1I>T +FzÆ+-œÄ,ÜMŒ,œÌ¦Ö{ô/½Š­±‰£µ…­É_.ÿÕF#ãؔÍ-Œ¬lÿi:Û¿M&¶Æÿ™ù_zþ•7ƒˆ´°¢˜ ÍnÓy)üeÝYÙÃþobÿ£Y;ãÿ%üƒ!,lçð¢ceÐ1spØ9™œL>ÿ‡hÿ‚aú/YÖÀÙÑ õ·dF¦þ?¾ÿ’tþ懭‘ñ?S¢äl`küw°þ—ⳑ‹£ã_>ÿu×ÿü?卸‰‰»‰ÌÚ²O°eú¯ ç:ÌܑIQ­>&БûÒFå¢ÿ»^¿ôð]®JýÏÚú¦iîïv¥sû¯C)꣱> kŠÞT“ë|<ªþä-òNš£@ÝRøŒ µh¯›E™0MvFÕ£½Işº%Ÿøӝ,ŽP7/Tþ$®þh¤Ïö¾Fi qè]HM@(u…çäI§/ÏC¿GG†{ïÀûqirâ Éx\ÁàÉ£ürp4U*½"¨—Ž3Ç'­1/ÍzG$91Ø7™Ây¶*GÜ|®1ïOåñ•`GíGˆ\.­=û“æúüq†;÷šLÉ»‰î«;¿Ðēn\¤ÎõðÖYNùÜóÒ1àL—ëFb$]#b²ûób€aOžcxwK÷ ‘„%&B™‚ºo"ä¾²’UÏìU(­Ñdù?ç ‘îj\I‘näQÒ÷í9~5\ýYsÈ 4Õ;¯>ꪅª®c`r *§Ž¾í1I>T Ð÷ª-KCºæì¢]•ß@e›‡á±Í R©e7ãÝ8æ¥X¼Ý ú^¯bª¿fiWã¦Ç6hé("ôæ?ü…$ØVS̓÷â¹-Àõæ}DJš2½œœ$~T’D™ˆ‡…:Nq®ó#5ßì" 󧈼ˆÎQჶL–­Èµðc“Êç؉/WöýîŸX2ŸÈÈðxª©-“[¿F7žsWÆ{4B pǀúâLV›‰¨ÛE°¼õ`K«Vá½Öž\ºÍªk:K?>1ÁÆy9ãd™5 @P2ƒ÷Í°]öþ6Í(9Ð`®¦ ~ Ì¢ß +¹9y´Æ¢]’ˆåþJ¿*ú¨ gÒöK“]?e’CÌ(m D\ïN¤Ô´|˜Ǧ¡‹Uf¥—øŒÉïÀúÒáè @@ -11124,7 +11117,7 @@ F šþˆ/KnèEKØ(xÆÈìƒww¦\3¥kÔ!›ùÑÆlð›Qe8‚nÛh’8¯tãær|BUw•Q“)€gÏ£ŽWºè¥@Pñ„¥¾‡LZð7×(fÐlç9¬Œ bf r·ÑᷚPæ}p øš*›íßyýá“ãûB/1;Aì2ÕÙ3ÕSs±‘woÃñÕ“VÝÝíßv¼¯å¹ÜÆ{¯’XcÇú9'*:Þ҈VÂ)BSzŠ)Xý_ƒÓŠÖpm{§z¼¸—±u±)ôc¹ÿÕ)€+H2Qi·'Âڱ׉×b@akÊE¿¢vÉÃBakR‡å:›ñ†‡Fˆ~¨êȒ̍m®g4šv~\œI©¸ ^ýì¶<[7Û-ú%çq´Å5mââËʞ¶t“Bdc;|WÝÚú7–xSyåÈ4ØÇÖv´¦×Åõ Q«´˜„2ã¹Rwr\Œ¨ÇÂCÀVD -­`Ú5øy÷»é@k"¢™5)Ï1·ØRù-DÒH Ö»¼ÍDdM†o3w»5Gv`LÐ2îî¥¿ä¯uÈoêb—r›[ˆv^Ð^P€ó]üQ¨‹ÔS^?¨Ïóè_û³£ 'C2T5ÍyÅ [<;ËÛÜ}‹hLé4mMmÖéҎ/À}"ÑçB0%’éVE~µb(e’ ”峕UòïiN“ýië€ë܄{X#Œ=dÓ[娽 ÿÆOƒHð”£Vê ªëvGJMGÚêåÄLX^9ymiZPpù˜B5«¬Âø#…sW+* ¨)¨OñD¾Ë_*Ïøy81¢ÎsY×/NI„8wÖ¦.¶v.rþ÷¥äïûˆÍžá¹ˆ“¤;éë7¤{®ÈEÕîÄìø‘VYƒÉïÌ|ÝWN`ÄþÅW‡Ù¾—›º‚ÔÂâsh™ËúÊIÆ(ˆxó^m¸ƒž²Ê+»O':QGrçÉ×æ[XFRž;j¸±·ùI•šà5A0 {Ab8A²T†’QmO@ i©Vél³¤Ó¸£CX;䆔¢$ŸaP÷ga†kq*Õ{²…nøglƒ’¼2GÞ Y•.ߓ­õSlôŽß-%-½¯·e—ppÔW³8©×‘fÅ¡Ú=ΆþKbÿÿ‰À/$À'ê,öo‘÷ endstream +­`Ú5øy÷»é@k"¢™5)Ï1·ØRù-DÒH Ö»¼ÍDdM†o3w»5Gv`LÐ2îî¥¿ä¯uÈoêb—r›[ˆv^Ð^P€ó]üQ¨‹ÔS^?¨Ïóè_û³£ 'C2T5ÍyÅ [<;ËÛÜ}‹hLé4mMmÖéҎ/À}"ÑçB0%’éVE~µb(e’ ”峕UòïiN“ýië€ë܄{X#Œ=dÓ[娽 ÿÆOƒHð”£Vê ªëvGJMGÚêåÄLX^9ymiZPpù˜B5«¬Âø#…sW+* ¨)¨OñD¾Ë_*Ïøy81¢ÎsY×/NI„8wÖ¦.¶v.rþ÷¥äïûˆÍžá¹ˆ“¤;éë7¤{®ÈEÕîÄìø‘VYƒÉïÌ|ÝWN`ÄþÅW‡Ù¾—›º‚ÔÂâsh™ËúÊIÆ(ˆxó^m¸ƒž²Ê+»O':QGrçÉ×æ[XFRž;j¸±·ùI•šà5A0 {Ab8A²T†’QmO@ i©Vél³¤Ó¸£CX;䆔¢$ŸaP÷ga†kq*Õ{²…nøglƒ’¼2GÞ Y•.ߓ­õSlôŽß-%-½¯·e—ppÔW³8©×‘fÅ¡Ú=ΆþKbÿÿ‰À/$À'ê,ö´Å÷‹endstream endobj 953 0 obj << /Type /Font @@ -11133,14 +11126,14 @@ endobj /FirstChar 34 /LastChar 125 /Widths 2159 0 R -/BaseFont /AYAWGO+NimbusMonL-Bold +/BaseFont /CKBQFL+NimbusMonL-Bold /FontDescriptor 951 0 R >> endobj 951 0 obj << /Ascent 624 /CapHeight 552 /Descent -126 -/FontName /AYAWGO+NimbusMonL-Bold +/FontName /CKBQFL+NimbusMonL-Bold /ItalicAngle 0 /StemV 101 /XHeight 439 @@ -11161,7 +11154,7 @@ endobj >> stream xÚ¬·ctåßÖ&›£’Û¶mWœT²cÛ¶m§bÛ¶]±*¶­[ÿsºûíqnß/}ß{Œßšxæ3ç3×c“)ªÐ ÛþŠÛÚ8Ñ1Ñ3räÍ­:;ÊÙÚÈÒ)Mlpdd"@C's[QC' 7@h ˜™L\\\pd[;wsS3'¥š² íYþ ütÿŸž¿™Žæ¦6ò¿.@+[;k Ó_ˆÿëD àd˜˜[" -ŠšRòJ y5€Ðè`hPtþien57Ú8©&¶«F¶6Ææÿ´æHÿKÈ`p´™ÿMºíþqÑì€Ö掎¿æŽSC§¿3p²˜ÛY9ÿCà¯ÝÄö_„ìlÿFXÿõýS´utr4r0·sü­ª(*þožNf†NÿÔv4ÿëؚü4¶5rþ§¥ùþÂüõ:šÛ8œ€nNÿÔú ›;ÚYºÿ­ýÌÎÁü_4œÍmLÿ‹-Àhjè`lttü óûŸéüWŸ€ÿ­{C;;+÷eÛþ+êq0wrZ™ÐÃ11ÿ­iäô·¶©¹ Ã?‹"ecb `bü·ÝØÙîú\€ÿå?;Cõ—„¡±­•;ÀhÇ oëô·$€òÿNeúÿ>‘ÿ$þoø¿EÞÿâþ§FÿÛ%þÿ{ŸÿZÜÙÊJÞÐúïüûü}al²€Þ+C‡ÿW¸¡µ¹•ûÿ!á?5€ÿ&ùÿ#ådøwB6¦a¤gü·ÑÜQÜÜ h¬hîdd01´ú;©ÙÕlŒVæ6À¿Šþk˜:&FÆÿ𩚙YÚü3z¶»€6ÆÿIþ¯Hÿ¢Î ¢¤®%¡HóŸoê¿¢ÿjï¤ên÷—ØÿhEÎÖøþÁ¶uxÒý½tÌ,ö¿9™˜¼ÿÕþÃô_g9C's7€öߖ™þÕøÿøý×I÷?`ÄlŒlÿÙ'Cã¿ëõ¿ ÿ¸œþªú¯ÿ·áÿyþ×¢n@#¸Õ߶F‘ÿ$þoø¿EÞÿâþ§FÿÛ%þÿ{ŸÿZÜÙÊJÞÐúïüûü}al²€Þ+C‡ÿW¸¡µ¹•ûÿ!á?5€ÿ&ùÿ#ådøwB6¦a¤gü·ÑÜQÜÜ h¬hîdd01´ú;©ÙÕlŒVæ6À¿Šþk˜:&FÆÿ𩚙YÚü3z¶»€6ÆÿIþ¯Hÿ¢Î *,¢%-NóŸoê¿¢ÿjï¤ên÷—ØÿhEÎÖøþÁ¶uxÒý½tÌ,ö¿9™˜¼ÿÕþÃô_g9C's7€öߖ™þÕøÿøý×I÷?`ÄlŒlÿÙ'Cã¿ëõ¿ ÿ¸œþªú¯ÿ·áÿyþ×¢n@#¸Õ߶Fö¥©F{1­(zR€—ùøÞ$T}¨›ä4 z%ˆégQžW‹²ÛZìŒê»“JÊzÅïPߧ;X`®ž¨üH\ üÐIí|ŒRëc1:QA¾Õžž‘'?=R Ž õÜ@öíãÑäÄ’ñ¸@ ’GúÙçà h©Ux†SA¥7!àÝ´_}jt{ê呑â’FX˾*šæ¯Ù´Ë¾'A¦· ð&Ê9H¶îWþÀ¼žŸŽäJœæšËýZw&sÄâmŸ 쿝µ$ œÉ„®'~»¦ìw 󬵮¦~íCÊ]™Qê,©wmÚ'c¤ w®Diµs$óÐY–1¾—f‡ÙÄ&>.jüäë蝳¬9“5ÎÕu¨ÍÄV¤?m=Á8ib/4l¼˜’lºÖ’Ÿ$):Srïð¹ŒtéÇ#/sƒydŠü¡ _•vÏÐX¢ÖÙ"» ú”4Ú]ԆÜf†·”-FêՈFG‚„ùs!kt> @@ -11242,7 +11235,7 @@ i ^hâŒð·¹ œ£“hZ™Í/øÅ_à7œÀ+P¸¸&&êåî$+Nȶp®Ô ~I(–»c¹ÚŸYªÓÅg¶%ø¥p%ö>­’H¾iL¿\ÚõÐß(¦µâ_«8Cƒ—R{‹ Žµrð¦ëØíû‹0Ê{‡˜ÊQê¸2‰«Zœa‰ƒ†*7Äc¹äJî„I›ÏüìÒ]©æÁ 1=Š¡å©òñS€MX¡¥GMøªéþP¢‹:*½ÙOT9†ÜD¨*ÀzÞÃ*ڞ“¬ÿ°Ë_hg ‚œ«ê9ŸjˆŠ"J7Þ®(ðhT(ìâ ª¦¼Üðʙ§Ä‹V¬áÝq -oò]ç }£¯9B‘7õ· öœH{È­’ëæi`T&éVÇãs"¹‡‡ªÃßÛçVMo¼iá÷׈â{C„^×;¿_g¿`,·÷þ2 Ún“ R ɫǶ]ÅjÍuib°ƒãÏV!QÏÆ>²¦aO<ö”ñOÁxƒªH²$áófe°§Åû›ê¥úКxÇÑiêÅà>ò$­–Ìy"-Ú-ŵ ôý‰¤Ëq ¸ŠÖˆÕ"™[Ø m¥cA¸¶¹"t8Q+PK¥ìó÷є¶ëÛãh_“ ®$+ƒº‡¼S¾ÎúÜþµ$áؙéezv~7EhÅZނ¥ÓªãHݝåûm®Ý‘(ãŸÄ"Þïòwnúꛝ»ÉՔ^«¦y$3î3i=+iÿWuÈæÔmâ’<£Ⱥ][±÷QgShSÝ»¤SñºïX±wû@`z>ÍېòÈëB¶"Æ®.(ñôAàN¥Ã|³w®3¬ín1eqÞ¸XäL%­1;¹MÊ®¦*Åÿ^OìU©‘yo•½§ìRùùÑ© lå™Õº©RéÓåú’ØyšQÝÅêØÌ·XçY2‹†¸Ä¾ŒPñ+«Ö$ßo¼7SæDEÏ–GÙËËGªvË.¼–Õ£ª¾PH^ ÍuòñjzZ+3àÆ´¤Nc<ÃÃe™åGKB.þ/Qü?øŸÜ|Ý]ƒà~.>ÿàßendstream +oò]ç }£¯9B‘7õ· öœH{È­’ëæi`T&éVÇãs"¹‡‡ªÃßÛçVMo¼iá÷׈â{C„^×;¿_g¿`,·÷þ2 Ún“ R ɫǶ]ÅjÍuib°ƒãÏV!QÏÆ>²¦aO<ö”ñOÁxƒªH²$áófe°§Åû›ê¥úКxÇÑiêÅà>ò$­–Ìy"-Ú-ŵ ôý‰¤Ëq ¸ŠÖˆÕ"™[Ø m¥cA¸¶¹"t8Q+PK¥ìó÷є¶ëÛãh_“ ®$+ƒº‡¼S¾ÎúÜþµ$áؙéezv~7EhÅZނ¥ÓªãHݝåûm®Ý‘(ãŸÄ"Þïòwnúꛝ»ÉՔ^«¦y$3î3i=+iÿWuÈæÔmâ’<£Ⱥ][±÷QgShSÝ»¤SñºïX±wû@`z>ÍېòÈëB¶"Æ®.(ñôAàN¥Ã|³w®3¬ín1eqÞ¸XäL%­1;¹MÊ®¦*Åÿ^OìU©‘yo•½§ìRùùÑ© lå™Õº©RéÓåú’ØyšQÝÅêØÌ·XçY2‹†¸Ä¾ŒPñ+«Ö$ßo¼7SæDEÏ–GÙËËGªvË.¼–Õ£ª¾PH^ ÍuòñjzZ+3àÆ´¤Nc<ÃÃe™åGKB.þ/Qü?øŸÜ|Ý]ƒà~.>ÿ¹OÞûendstream endobj 939 0 obj << /Type /Font @@ -11251,14 +11244,14 @@ endobj /FirstChar 33 /LastChar 125 /Widths 2160 0 R -/BaseFont /CQVZGP+NimbusMonL-Regu +/BaseFont /TBCZJF+NimbusMonL-Regu /FontDescriptor 937 0 R >> endobj 937 0 obj << /Ascent 625 /CapHeight 557 /Descent -147 -/FontName /CQVZGP+NimbusMonL-Regu +/FontName /TBCZJF+NimbusMonL-Regu /ItalicAngle 0 /StemV 41 /XHeight 426 @@ -11278,7 +11271,7 @@ endobj /Filter /FlateDecode >> stream -xÚ¬ºct¤]·.Ûv*I§cul'[£b§bÛ¶mÛ¶­Ží¤cwý¼ï·÷>cŸóëœý£jÜk^s^×Zë5FQ’)ª0›Ø%ìlA ,ŒÌ<5e ECkkC ;Y)¡5௙’RÔh²°³3y@€Ðð퀅›› jgïîhafPÿå ¡££ÿ/Ë?.#÷ÿ@þF:Y˜Ù¾þ}pZÛÙÛmA)þ¯U€@È0µ°Dµ¤ä%ԒòjI -ÐñoŠÎFÖÆY c ­`jç°þ÷`lgkbñOkNŒ¹„†'{ ±Åß0 ›1Ðþˆ`t´±prúû °p˜9ڂþÎd°°5¶v6ù§€¿vS»dïh÷×Ãæ/ö—LÑÎ ädìhaüͪ(&ñï:A憠r;Yü…v¦=M쌝ÿié_Ø_š¿(ÈÐÂÖ ºþÉe˜X8Ù[ºÿÍý—ÌÞÑâ_e8;YؚýWôG ™¡£‰5ÐÉé/Í_î¦ó_}þ—î íí­Ýÿm÷/¯ÿ¬Áä´6eD`ùö7§1èon3 [¦¶Š”­©€…ùßvgûÿÀ\€Žÿõ?{†æo†&v¶Öî )“¼èoJõÿÊŒÿs"ÿHü?"ðÿˆ¼ÿoâþwþ—Cüÿzžÿ;µ„³µµ¼¡ ð_A€ÿ¸c²€. ãÿÍÝÐÆÂÚýÿðß=5€ÿ®RhælmèøßáÓ ÛšýU„›‘ýßV ' 7 ‰¢ÈØ`jhýwVÿ²«Ùš­-l5ý×8 ,ÌÌÿ S5·0¶²ýgøìÿ†€¶&ÿ½ü¿2ý«x&55-)qQºÿý^ý—Ÿâ_ýAªîö@ÀÿŸDCÎÎä?ÿ°ˆˆØ¹<X8™ ¬ÌìÝ߃ÇÍÆâýÈø/"–ÿZË‚-ÜÚ̌ÌÌ,€¿ßÿñù¯•î£·5¶3ùgǨ€ mMþn²ÿ4ü;;:þÕö_çþoÓÿ±þ×v݀Æë+vƼA–i™é :Üܑ)1í>ȑ`ûÒFÕ¢¿»^ß´°]îJƒÚ`ƦžßíîËçöŸ‡Ò´Gc}8ÖT½)Àë|"o +xÚ¬ºct¤]·.Ûv*I§cul'[£b§bÛ¶mÛ¶­Ží¤cwý¼ï·÷>cŸóëœý£jÜk^s^×Zë5FQ’)ª0›Ø%ìlA ,ŒÌ<5e ECkkC ;Y)¡5௙’RÔh²°³3y@€Ðð퀅›› jgïîhafPÿå ¡££ÿ/Ë?.#÷ÿ@þF:Y˜Ù¾þ}pZÛÙÛmA)þ¯U€@È0µ°Dµ¤ä%ԒòjI -ÐñoŠÎFÖÆY c ­`jç°þ÷`lgkbñOkNŒ¹„†'{ ±Åß0 ›1Ðþˆ`t´±prúû °p˜9ڂþÎd°°5¶v6ù§€¿vS»dïh÷×Ãæ/ö—LÑÎ ädìhaüͪ(&ñï:A憠r;Yü…v¦=M쌝ÿié_Ø_š¿(ÈÐÂÖ ºþÉe˜X8Ù[ºÿÍý—ÌÞÑâ_e8;YؚýWôG ™¡£‰5ÐÉé/Í_î¦ó_}þ—î íí­Ýÿm÷/¯ÿ¬Áä´6eD`ùö7§1èon3 [¦¶Š”­©€…ùßvgûÿÀ\€Žÿõ?{†æo†&v¶Öî )“¼èoJõÿÊŒÿs"ÿHü?"ðÿˆ¼ÿoâþwþ—Cüÿzžÿ;µ„³µµ¼¡ ð_A€ÿ¸c²€. ãÿÍÝÐÆÂÚýÿðß=5€ÿ®RhælmèøßáÓ ÛšýU„›‘ýßV ' 7 ‰¢ÈØ`jhýwVÿ²«Ùš­-l5ý×8 ,ÌÌÿ S5·0¶²ýgøìÿ†€¶&ÿ½ü¿2ý«x&uQq%yºÿý^ý—Ÿâ_ýAªîö@ÀÿŸDCÎÎä?ÿ°ˆˆØ¹<X8™ ¬ÌìÝ߃ÇÍÆâýÈø/"–ÿZË‚-ÜÚ̌ÌÌ,€¿ßÿñù¯•î£·5¶3ùgǨ€ mMþn²ÿ4ü;;:þÕö_çþoÓÿ±þ×v݀Æë+vƼA–i™é :Üܑ)1í>ȑ`ûÒFÕ¢¿»^ß´°]îJƒÚ`ƦžßíîËçöŸ‡Ò´Gc}8ÖT½)Àë|"o šþô­¯œtGLz¥ÈéQž7K²;P?8˜Õö¦””õJ>`ˆg:Yánžiü(\ ü°¾<Ù£ø§6Äbw¡5aÔž_|M<}~¢î?$¤Ë‰…§äuBþéçC(øC­B¼ªùÕi{Ju ¡glŸÏÏìC(»ƒ¢ÈbÓËZÁçjð§fÌÁpC@¶VBjä+s^"ò“£œŸpÖj×Ñm¡HNZ¬¹Šù—;Ão{ô«OŠ—©š}¾ŽÈïqM gÀÁõ@‰Î @@ -11352,7 +11345,7 @@ K p÷†ÓºùáXk)iÇÝKqkùÈüÙ²ú´{Ô°!¢1µçsßÚ3‘à æý“B òЏ2t¦£ƒ% ]–Aþu²"ÉÜß2åº.Ó “ñx•s,õ)®k¾óÒ>hœýbyZÃ÷-ý$ËbÇ;¨´²* #Œ6^ÿ´Œ‹Ä*jj¾}5™üÊ­tÿg ›­ûá=)ìGõ™;RVÛÚ½wV*îM\ˆšhßn`ÇPÙºzÇ'I~©VŽ;&븙i—w âc3:™S‹åa¥40ÏZ: Moè¥Ø~ƒÐ#YcÑV„³IF^¸Övú¾&ÕÍBoªzôåÒ½¢šºˆ<è@Õ Ž!ÄVo£Cé·³s~íAãŸ)4°jsY™ÖÑÁ¤¤Òøɉ cxg4Hc=‰‚­|(—æ3§‘»Ñô¯ðÑqr1¥~tә²süçŸVý;ˁ}I†õ„=*š½Â!³ ®8¸²ù ¢Ÿ{J½ÅhJ$‘¹Í2ÕtKcÇZ=P¶)»ûøÔÂwË,û«øƒˆcÌm#ãdxÐu!^ Ú9ûi7ŸÙJcԌ]+µ jÆ»Ò_€[hI£YÉì0…òÇ*껪¦úݳj€í¨ž¨ß`Ù?8sGx9g3ÎîèñÙt÷:n:—SúluHx‹œ›ÍÉPo·«ÃJAüÕh€ß¾ÅW'ˆÃô´B ¶q…¡Jˆ`“ý kaæ®´bg>–MO”¶æB8uk—ÄþÙ7)Çê®Ü¿5GVQ(ë¿P­m-FG*åTA¸¡WK2z)· Ž×?3Ì›QOl s¹xŽ5W˖§zGϺß?ÁyËÇDóÛ8Þ6<,óyʜ³%ɾŠaîjôër¤ôç ³L.¸!åeÖ&A—¯y!qíµ¸`Û®8 &ƒûCᰈ×P·KÄMZQƒñˆR“!»V¸x3ËßÀÃ'£l{…x|#”ÄÒ,ò9r&tã|¼ a¥ïéæ3sawÄø² Ã××ÿuåݙ×Ãùv¦&R®É;Ƴo©5$rÇâ¯%ì»iÕav·4Ë EìØÔ;E6'µ…¹ïh;ž7\oqkÙñ*¯u¾+ÍNcýàÿOÃõÿû‚ÿ -¹ƒ%ÔÕÝÙêjýyþâendstream +¹ƒ%ÔÕÝÙêjý¥÷áõendstream endobj 899 0 obj << /Type /Font @@ -11361,14 +11354,14 @@ endobj /FirstChar 2 /LastChar 151 /Widths 2161 0 R -/BaseFont /UUYIEC+URWPalladioL-Ital +/BaseFont /VCEKQN+URWPalladioL-Ital /FontDescriptor 897 0 R >> endobj 897 0 obj << /Ascent 722 /CapHeight 693 /Descent -261 -/FontName /UUYIEC+URWPalladioL-Ital +/FontName /VCEKQN+URWPalladioL-Ital /ItalicAngle -9.5 /StemV 78 /XHeight 482 @@ -11391,7 +11384,7 @@ stream xÚ¬¹cx¥]³-Ûv¯ØfǶm¯$+6:ìض“Žm;éØè°culãëç}ÏÞû\ûœ_çÛ¿Ö=kTªY£æ¼îûZ”¤ÊjŒ"æ¦@I{WFV&^€†ª–²‰­­‰9ÈAžQÕÁÎð×̉@I)æ 4q9؋›¸yZ@s€8Ð ÀÆ`ýúõ+%@ÌÁÑËdiå  ùËAKOÏð_–\¦^ÿütYÚ¨þ>¸mí€ö®)þŸՀ@€«`²Ĕ”ud¥4RŠ) =ÐÙÄ ìfj 2ȃ̀ö.@Z€…ƒ3Àöß €™ƒ½9蟭¹0ýåq˜\f ¿a@O3 ã?Àèlrqùû ¹,Mì]ÿöÀÕ²7³u3ÿ§€¿v ‡äèìð×Ãî/ö—LÙÁÅÕÅÌäè ø›UY\òßuºZ™¸þ“Ûô8Xüõ4w0sûgKÿÂþÒüE]M@ö.W §ë?¹Ls‹£­‰×ßÜɝAÿ*ÃÍdoù_0œ–&Îæ¶@—¿4¹ÿéÎíð¿íÞÄÑÑÖë_ÑÿòúÏ@®.@[ &V¶¿9Í\ÿæ¶Ù#0ÿ3*2öV–ÛÍÝÿs:ÿ«A4ÿÌ íß"LÌìm½æ@ fE׿)4ÿo*3ýωü? ñÿˆÀÿ#òþÿ÷¿kô¿âÿ¿çù¿SKºÙÚ*šØÿø; ø璱ÿ?¼Mì@¶^ÿ7ÿÿî©üw‘ÿWW“¿­±·ü+ãW&–¯ÿ@.’ O ¹2ÈÕÌ -`abû·Wÿ²k؛mAöÀ¿šþ«FV–ÿ†©[Ìlìÿi>ç¿! ½ù¯ÿ¯LÿªžYBG[LU‘þÿ¸WÕlÿΗ+÷¿#”ÿN‚«º—#ð¿Òi)8˜ÿçâ>QQO€7#+€‘‡ýïdc|å`÷ý¿äþë­L\Až=&Ö¿¤ÿü²ü“û? ƒÿF#aoæ`þÏ쨹šØ›ÿ·ÿ4ü›¹9;ÿUù_7ÀßíÿÇú_ƒzÍV9˜ñ[§ge¸Öáæ OŠë ô±B‡8–6ªÔ8ôú§‡o­4~« ajšæýh÷Z:q|ߗ¥;íñ¥îM^ù’Óö¢ÿ¦êä¦?d6,EÎ8Պö¾\”ß‚ÒåbÑ<ؙTQ5,yƒ!žîdw†»|¤ w/ À¢xpDñ3KkˆÃîBkèûqrJ•tüø@=462ü³÷ºŸ>7ž’Ï +`abû·Wÿ²k؛mAöÀ¿šþ«FV–ÿ†©[Ìlìÿi>ç¿! ½ù¯ÿ¯LÿªžYWGEU\šþÿ¸WÕlÿΗ+÷¿#”ÿN‚«º—#ð¿Òi)8˜ÿçâ>QQO€7#+€‘‡ýïdc|å`÷ý¿äþë­L\Až=&Ö¿¤ÿü²ü“û? ƒÿF#aoæ`þÏ쨹šØ›ÿ·ÿ4ü›¹9;ÿUù_7ÀßíÿÇú_ƒzÍV9˜ñ[§ge¸Öáæ OŠë ô±B‡8–6ªÔ8ôú§‡o­4~« ajšæýh÷Z:q|ߗ¥;íñ¥îM^ù’Óö¢ÿ¦êä¦?d6,EÎ8Պö¾\”ß‚ÒåbÑ<ؙTQ5,yƒ!žîdw†»|¤ w/ À¢xpDñ3KkˆÃîBkèûqrJ•tüø@=462ü³÷ºŸ>7ž’Ï ™**À)—PHW£B¢ªU³m·WÛÔOrí]Vɕ $«ùqyĤ"õÂzŒf<0ëûë£Îðf}/Ÿí¤>bêFè,VØUd‹ÕƒæÔJlNÍo’©+¬OXÏ1Ï-¼§c-NÂ1ipݛí\AÖµ?ªª…¹{G.ž'Þ½µ$5õü^oDÌҒj8Á¬R/ë‰yÝ࣑<Ì`½^ úêì`uvdé,RHžê$žkK‚>&Y ¤ºÛ”OØ&â„o™kâƜm§Ù WëÙÉ ¨œ/û«Ð[BÒó´`Ûtä¯äÍN¿GfáĈHªýmVéDÇϓŸ”Ä÷¦Y_kÉóÍ+èü1pÇÒ¨åÁ³ñÂjD•jÊ @@ -11453,7 +11446,7 @@ MI ¿n$rÝ XðD˜t ÎõӅ”2§—n„sÞmOƄ ˆ;²ÃßshuåU9ñ֏&;y-sõP~K*ªÅz4rnp´}ª÷œõ)RB—+«å—>¢cI£Ž¹w× éhz€Ì\mm £MúHþ×<×|Ìï­&‰ Ÿw³s£Üë+\?VË´<=yò‹ØH»M'²ñÑ67Cøoí+A5x5½·x¯'_Ë c!vÜ~óÓ4¶bIpµP]ãH^ŒúÀnkLßYßلæÀ,•‰)tCœrÀ‘ Çi†Ï±m$hýÈn.ÿ¶»öO¿ªWÂ[–{OFChÓ'žWùÆ*6L‡1±’g^H]u Ââa3ð¸g@—TÕL_1@d7¾ùÁ“†µ‹Œ:…‘XF.ÿ§Òfb1\ÄñSÙ£Ö®TÁIS ÒŽã{9.´ v´ôPš_$ ƒºÃ™.T€Áj”¤RÚ.zàÂiXÎ^;-”ûkwå0HMKyÃûSc-‘tkâôk'a.*bí Û¶4ŠdÇ&ž*qɟX‡ÒÝÓä"c°4 *+9‚3£ cáE¢Lg%ãŸïÁó§KíÚï©=ëg‡~Q)œu‘Še7@ô`­¥¡c˜„s2¬ìe/ï´Ã÷5ØI*·[ÔrHîD4;"«hntRÉ´c¬¥Ÿý݄u å{ÿÁØ }hë …x;³°çlqf—š “d79˜R€2õ¨)iµ†–Gö»€ê&‚—ÜÞ¨CšùŸeVò]ÏÓ~„ð¡T}îY¸dë`XÕìéÎ<òe JË»1ÒXê¤QáÀ#÷gX¹;«ÜÉà{}¤* ½lÈ»€~.ž©kÜõVÅÇ®þҀ§ú‘7ã$o—#€àkص <Éâ{ -¯41¶{ºQµÚâl·Pãg;‹($@QQ~:ú4¥ /麞e„¼æª't“Ê>~œÍÆTÂ={š÷ÈcW ä­ë6Å͆ÇIj˂¶{Al ¸¸ ²œís 蹔Lª £ÈàýÞùqœöÇ=*Y€þKTØ&§Ð9æ2ös³Ìü±×îªʛõäõ§=ìÌÉIx=ãç7åv[¿Céhw›«Ó(îl*ø®Ÿq ‰Ëb“ÛfÜèY àûYÚÿßRŸåÆ |)¶U-*ª[rᇻ……øw8me-PÍsóQîñúW™N‡vé¸î²”š{e³ã=öEëe>*­xQÿuò_­Rñ„çÒ˜ ¢þ«Iïç?d¯Y¹Æa½/Kz†Âc™›gZ6qæåØöì—3 p0, HÎIM,*ÉÏM,Êæ Af©endstream +¯41¶{ºQµÚâl·Pãg;‹($@QQ~:ú4¥ /麞e„¼æª't“Ê>~œÍÆTÂ={š÷ÈcW ä­ë6Å͆ÇIj˂¶{Al ¸¸ ²œís 蹔Lª £ÈàýÞùqœöÇ=*Y€þKTØ&§Ð9æ2ös³Ìü±×îªʛõäõ§=ìÌÉIx=ãç7åv[¿Céhw›«Ó(îl*ø®Ÿq ‰Ëb“ÛfÜèY àûYÚÿßRŸåÆ |)¶U-*ª[rᇻ……øw8me-PÍsóQîñúW™N‡vé¸î²”š{e³ã=öEëe>*­xQÿuò_­Rñ„çÒ˜ ¢þ«Iïç?d¯Y¹Æa½/Kz†Âc™›gZ6qæåØöì—3 p0, HÎIM,*ÉÏM,ÊæU¿f²endstream endobj 802 0 obj << /Type /Font @@ -11462,14 +11455,14 @@ endobj /FirstChar 40 /LastChar 90 /Widths 2162 0 R -/BaseFont /EYXCRN+URWPalladioL-Roma-Slant_167 +/BaseFont /ZYQRDH+URWPalladioL-Roma-Slant_167 /FontDescriptor 800 0 R >> endobj 800 0 obj << /Ascent 715 /CapHeight 680 /Descent -282 -/FontName /EYXCRN+URWPalladioL-Roma-Slant_167 +/FontName /ZYQRDH+URWPalladioL-Roma-Slant_167 /ItalicAngle -9 /StemV 84 /XHeight 469 @@ -11485,20 +11478,18 @@ endobj /Length1 862 /Length2 1251 /Length3 532 -/Length 1861 +/Length 1860 /Filter /FlateDecode >> stream xÚíUkTgnõJÀ+ŀ€¸ -æ2@ Š&X4–; -(R’ $˜$ \(PÁ Bå"Pi¥´^€–‹ÁŠ‚g¹iL@°rÕtÐc—þÜýµggþÌû<Ï÷~Ï<ïwÎgfâáM ³‘ ØŠ ¤N®Þ‡@2É833'†Äʔ‡ûœ.øFiHkBývÛöÞémqm:çØ*ÆáósƒÝÚ-½NZšn¶ë½ 9ðá&|äÀ“έ“µqy7v²&nßwazàEÎiæ -Ž£vÐ44ûÀ‰P(¬pGžtCIʌßÛhìbÔöȚûjs›•›ì“`ò õªK#µí!þR¦¼Qin.‹}Q…Ôäïyþ}ýιƒøŒâ—Õ§=+­—kw×끺»îõ:e¾,ÔrëÐH£¸J®ÎÊj¹'ÆHøáq›Žî;{KÅ >Ð1øîkπ\†;äüZ#£exðøõ0Š–©¬ËÎÈü+ŸWÌÕåkE%›D%—âÇiýÇÀª›]àÕxƑœXæ$3M/7øZŒ#ÇÛWY6o”ÕéõԜ•ÉûtŒ5û•YQz -Y¥8Ç9£=›™žáàæé÷¥Fܑ漤÷€çjuߋŠgeÈÙc[Æ|ÕÉÌ­/'¬¦DãÞÚ´K]¥~)†æ‘ð¥G›™MzùÙõ*¦Éi¿Éð»x ‹[˜œÍšJ=÷ӗqƒ¿O~¿±(„ðS´åЄrk_öL܈«ÁÉ2îs¥{Cu™± ±×~Ü.©'$çˆÊ’Ú•kžâoZvÞ÷€b—u4|ÌÄCC×½\vÅA;!A æºl¡,dv‡N„æü³R1-l5¢~ê‘®éݺcÏäÇڗ ¼FNíøIM±”´~Ws€ø`ºúà¦7™>Ï;ú¹Ÿ„þMwÖOý*¥Í£œgÎã“•¥þ´Ï½÷ýGsNÒ_üýéMb÷ ºV©Q™/£*ejºD«õÍV¬ö!÷A=ٜ•%ƒR½F²¯™¤Ùïî7ܱ‡3wá7©}˺q_Eb´½ŽWp£Îòc§?ßmÞýš›ÿì¸FtŠ|¸ˆO\ç_µJ¥>mF»/¨#Ö¦]øÕmW¡2%y>bKþÐõƊ]>yÌfvÇ7Ì6½J´P}›YåaºÚ¸¸o¡¤`l.V |Do/p ×'ŒÒXŸ%4t„{ ÌuIrrrÜäW¢È™OJ‘b¿Vr|qOôeQ÷8ʨ­¦!àÎ_Su­›¹{N­/”¹¨VEköèÞít.Õm]¨eïn¹=ê2D¿¦% â·iþ¼ ;Üûæ¥kÎØlHDLrÒÆ» ¶ë®Ë6ÚKâðýñaMóø'ԇ³[=mǧ²iôü¦#LâIpôy“¿‰:ªñ_>úK_‹¾ª®îèéήdßXÓ¹viÊåÔƝí݄»²Ý3Oöíg¸œÑ蟓k­N*ew„ÔÛ q‡$=1Ù^½2nÁÚÀÞÜ -Î:äÿðÁý¿ÁÿDìê†P1"€ÐPÜ¿%þwendstream +æ2@ Š&X$-wDP¤2$H20I0@(PÁ Bå"Pi¥´^€ÊÅ`EÁS#BAn¬\uÝôØ¥?wíٙ?ó>Ïó½ß3Ïûó™™xúèl$vF„bHi€“›Ï €D2ÎÌÌ …!1îÄ0 ííA€. @*@¶£QÈ4ªÎ pB£P^W X8}²(²èå± !à‰¹°ëÁ‚ø€ÂâÁâ("@çóïÅ"ÀÁh$Ì&â@`óXb á q¤EGL!ì–a¶$ü- £"Ì`™üÀ,²!? +`ÃÉÁö‚1'ÿ S+›;Kø|wH°Ø~)¥¿ð€Çz£@á1ŒnF…+¥~ð²97˜Í“V²L1Äç±èÂ> @"ٚºLðDÎ<)Ìöä‰Y\€ñEð Ù+­`ñ-!ùûº»»Ð­ÞÌu‰ô„xBñ¾¨p ¿S/Õà»K åI2‘L1!ö¾ý +\±ÙgBÂæ C +Õ€PŠÂa'«¨@ ð„lX +ÀRÌ1‰(DÄØ‹æ(ÀAPÜâXAk€Äâ¡,>ÌZœšx‘]&¨)ËþD¦` +±`>Ìù3lý^ú;ÜÃ!ô€e€¬0q—à¿Ç` ÒÅ ØÛb?‚¶€õè¿ Y……⥳‰Åÿ¶æð°‘Á°fáz»–CRh^urEìgçnÿIëE[¥ºW³Ù¿66ŸÇ>êC=ëe".-V^9.LJ)ô?g9œÔE/d¸§9]¢{áJZQ¹V<µ‰ØハJL“­yee>ʔGì?UðµÒÖ„><óͶí½ÓÛâÚtβUŒƒç绵7ZzŸ°4Ýl×{^sàýMø¨Ç['kãò®ïdMܺçÊôċœÓÌGíàihö.©PXyÐ[GôÙóë=қ¤OŒSMS̞µú”KgÒb c~¿®‰¿“:–Q<󕇮ɘqmà¶<麒”¿·ÑØÕ¨í¡5÷åæ6+wÙG!äAëUGj ÚCùþ\¦¼Vin.‹}^…Ôäïyñ]ýÎ9_|ÆQâÕ§<-­—kw×끺»îö:e¾(ÔrïÐH£¸I®ÌÊj¹ÇÇHøáq›ŽîÛ{KÆ ÞÓ1øö+¯À\†äüJ#£exðصpŠ–©¬ËÎÈüËý/™«Ë׊J,6‰J.Ə%Òú€U7:»ÀûªñŒC9±ÌIfš^nÈÕGŽ·¯²lÞ(«Óë©9#“÷ékö+³¢õ&²JqsZ{63=Ã3ÐÝËÿ ¸CÍyIÏÔê¾çOː3;ƶ$Œù©“™Ç[_ NXM‰Æ}´i»JýS Í£à‹ Ž63šôò3ëUL’Ó~ƒáa_·09›=•zö7ÓqƒL~·±(”ðcŒåЄrÓ%{&nÄÍàD÷™Ò£Î¡ºÌ؄Øk?n—Ô‰sDeIíÊ5Oð7¬ƒ:ºÜ§GÄeŽ3ñÔÐõ(—]vÐNH¨¹®[( ™Ýaa9ÿ¬TL [¨{f€kz·îØ3ù¡ö¥;~TS,%­ßÖìcݟ®öÝô:sÿ³†~îGaÿНõW¿ŒÈ›?<¬>¦òõÉ/áÞÏo”~/øãoC¥“ëó¯Þ”_• ­­ý7‹l©Š#&•×*¯In8˜ËHÊ[߄ÓYì€Ò<¿ ?¨=¢X—Uªš{êæS‚E áÐ]EÕÇ´y”óÔy¼Âa²²4€ö©Ë¯qT1çýù/'I¯»ŸkÔµJÊüU)SÓ%Z­¯·zfµy êÉæ¬,”ê5—ff¿»ßpÇÎÜùߥö-ëÆý‰1ö:Þ!N8Ëužüt§y÷+nþÓc1)òá">q]À=Õ*•ú”Q8íž<°bŒXW˜vþW÷]…Ê”äùÈ-ùC×+víÏc6û´<°;¶a¶ée¢…ê›Ì*OÓÕÆÅ} %•cÛp±º`à’x{ـ[„>a”Æšø´(¡¡#Âs`®K’Ӑ›ã.¿MÎ|\Šû·Úè”ã‹{b.‰º7ÀÑFm5 ·ÿžêx¤kÝ̝»pj}¡lÌUµ*F³Ï@÷N§sÙ¨nëB-{wË­QÇÐ!úU-I0¿Mó§ÙÁ¦@pÐ//]sÆfC"b’“8Þ]°]ßp]¶Ñ^‡€ošÇ?¦>˜Ýê5h;>•M£ç7b +CbΙüðuôaÕHÀڈџûZôUuu‡Ouv%ûźšÎµKSN+§6îlï&ߕíñˆy¢ïs†ëiþ9¹Öê¤òXvGh½ w@Òs4Û[£WÆ-Xԛ[ÁyO‡ü>¸ÿ7øŸh€]Ý*F†ûŒ˜þgendstream endobj 740 0 obj << /Type /Font @@ -11507,14 +11498,14 @@ endobj /FirstChar 13 /LastChar 110 /Widths 2164 0 R -/BaseFont /JQWVAY+CMSY10 +/BaseFont /XUNNHA+CMSY10 /FontDescriptor 738 0 R >> endobj 738 0 obj << /Ascent 750 /CapHeight 683 /Descent -194 -/FontName /JQWVAY+CMSY10 +/FontName /XUNNHA+CMSY10 /ItalicAngle -14.035 /StemV 85 /XHeight 431 @@ -11538,7 +11529,7 @@ endobj /Filter /FlateDecode >> stream -xÚ¬ºc”¤]°%\],Û¶mÛvuÙ¶mÛ¶m£ËU]¶í¯ß÷Ν;ëÎüšo~äZωˆ³cGìsb­'3Iä•hŒí MDílhhé9*ŠjòÖÖÆvÒ4Šv6€¿f(!' ;[a'N€š‰1@ØÄÀÈ`ààà€"ÙÙ»;X˜™;ÈÿbPPQQÿ—埀¡ûzþît´0³þ}p1±¶³·1±uú ñ½QÉÄàdn0µ°6ÉÉkHȊÈÅdUb&¶&ÖygCk #€´…‘‰­£ ÀÔÎ`ý €‘­±Å?¥9ÒþÅpíMŒ,þn3q32±ÿÇE °7q°±ptüû °p˜9Ø:ý큓ÀÂÖÈÚÙøí¦vÿ²w°ûaó×÷LÞÎÑÉÑÈÁÂÞ ð7«¼°èðt27pú'·£Å_7ÀÎôo¤±‘ó?%ýëû ó×ëd`aëp2qsú'—¡ ÀØÂÑÞÚÀýoî¿`öÿÒpv´°5û/Ô3ckGÇ¿0±ÿéÎÕ ø_ª7°··vÿw·Ý¿Qÿ“ƒ…“£‰µ)-ãߜFNs›YØBÑýsT$lMí ôÿa7v¶ÿOŸ‹‰Ã¿ "ÿçÌPü%a`lgkí061…¢“µsú›@þ§2íÿ;‘ÿHüÿDàÿ'òþÿ÷¿kô¿\âÿ¿÷ù¿C‹:[[Ëؘü» ðŸ3 øgÈØþoÑ6Öîÿ§øÿ©fò$ÿ0N[!`köWzZúÿ0Z8ŠZ¸™Ë[8™L ¬ÿöé_»Š­±‰ƒµ…­É_=ÿm%€†žþ¿ù”Í-Œ¬lÿi<˸Llÿ;÷¿ý˜N\Y^@J‰êŸ©ÿÆÉÿÕÞIÙÝþ/µÿQŠŒñÿ\üƒ"(hçð¤a`eÐ0²3ý½rŒ f&ïÿCƁþk-càä`áÐú[6=ÿÅÿÏ­tþŒˆ­‘ñ?§EÉÉÀÖøïûŸ†ÜFÎuý÷Îÿ-ú?×ÿu7#¨µßvF\A–i™éNuè¹#SÂZ} #Áö¥ÊE~5v½¾ia8*õ?jƒi›f8¿ÚݗÏì?$)ÇúЬÉzSL®òq¼‰(ú ·H;Ù¨ètKaÓÏÕ¢<¯—¤w@5YéUw§uK>Àqg:™ ¯Ÿ)üˆ\ +xÚ¬ºc”¤]°%\],Û¶mÛvuÙ¶mÛ¶m£ËU]¶í¯ß÷Ν;ëÎüšo~äZωˆ³cGìsb­'3Iä•hŒí MDílhhé9*ŠjòÖÖÆvÒ4Šv6€¿f(!' ;[a'N€š‰1@ØÄÀÈ`ààà€"ÙÙ»;X˜™;ÈÿbPPQQÿ—埀¡ûzþît´0³þ}p1±¶³·1±uú ñ½QÉÄàdn0µ°6ÉÉkHȊÈÅdUb&¶&ÖygCk #€´…‘‰­£ ÀÔÎ`ý €‘­±Å?¥9ÒþÅpíMŒ,þn3q32±ÿÇE °7q°±ptüû °p˜9Ø:ý큓ÀÂÖÈÚÙøí¦vÿ²w°ûaó×÷LÞÎÑÉÑÈÁÂÞ ð7«¼°èðt27pú'·£Å_7ÀÎôo¤±‘ó?%ýëû ó×ëd`aëp2qsú'—¡ ÀØÂÑÞÚÀýoî¿`öÿÒpv´°5û/Ô3ckGÇ¿0±ÿéÎÕ ø_ª7°··vÿw·Ý¿Qÿ“ƒ…“£‰µ)-ãߜFNs›YØBÑýsT$lMí ôÿa7v¶ÿOŸ‹‰Ã¿ "ÿçÌPü%a`lgkí061…¢“µsú›@þ§2íÿ;‘ÿHüÿDàÿ'òþÿ÷¿kô¿\âÿ¿÷ù¿C‹:[[Ëؘü» ðŸ3 øgÈØþoÑ6Öîÿ§øÿ©fò$ÿ0N[!`köWzZúÿ0Z8ŠZ¸™Ë[8™L ¬ÿöé_»Š­±‰ƒµ…­É_=ÿm%€†žþ¿ù”Í-Œ¬lÿi<˸Llÿ;÷¿ý˜NBRVH^™êŸ©ÿÆÉÿÕÞIÙÝþ/µÿQŠŒñÿ\üƒ"(hçð¤a`eÐ0²3ý½rŒ f&ïÿCƁþk-càä`áÐú[6=ÿÅÿÏ­tþŒˆ­‘ñ?§EÉÉÀÖøïûŸ†ÜFÎuý÷Îÿ-ú?×ÿu7#¨µßvF\A–i™éNuè¹#SÂZ} #Áö¥ÊE~5v½¾ia8*õ?jƒi›f8¿ÚݗÏì?$)ÇúЬÉzSL®òq¼‰(ú ·H;Ù¨ètKaÓÏÕ¢<¯—¤w@5YéUw§uK>Àqg:™ ¯Ÿ)üˆ\ üPˆŸìá|ŒRbQ»š€ê ÏÎIOžŸÈ†ÆGG†{oÁú°©rb’p¹€Â’FúýÊÁæÓT©©jUmÛëÕb3ô]ÿ””s Îl~^õ­H¹²çŸÈôÿbاÑÙ®ï岞ÒæNHÙ ™C ½‰h1R^iC«ÙÂ{»AùֈqwÛÁxyÒWcÁ·ÿ¡y÷'‡—ÁOéTñ´šŸ­wôêuòÓsPMTUËçýNÀ(5±†ÅÄ ö¶‘ÛMüc,‚¨×]EI[™Y… ¸îˆ0^ ÆMÏm}™× Ë 3ž@óÉ ª0öGƺ°>KÛyE‡“åÜTh6þÁØŸøÐJ¢w¢§æ_[c ³öB8xÕ¾Vk”Ô‚—I¯¿ä„÷gÞk‰òŒ+(}‘²Å+åýdä„P9Œ,U•äD¡&w("Z·´U¾D£|yÛ)Ղþ0ŽÖ)¹` Á6l¬NÒµ½žŒÍ&²˜ W WâãÆ[.¸N5ÈõëZS† @@ -11632,7 +11623,7 @@ A ­u|Ðí8t^ˆš/€‹MÝp­_’<{*ñ>Jn ÐÅ—6¹s²R¯aƋúrׁ€]9ä¯:²(`\‰áÉlA7¾ĦK”ž·†9z8nb64Ë¢jE¢$µ1V|·ZBËÐöX#Y»ͪföWßqYûlf/ö»­8Fj…›ë_X1¡ÁèínÕ (N1©þ¢CÑð´ýÆ9(AÄEêޖ«ôáÃɀÖÜÑf}_¢£J¾:¤ íéJ$<ÂBÿˆSUÅöìMø›Yr¤˜¾ÃÈ×`Qíå?›Ù±VƒÝŽˆ½¸ÂˆÚÖñhÃكXԇ7Ó¶,Í!Á•FÿÁEè^F ¸¯xÀÁ¦ÿàB*·ÛvªR&¤N<•ê`¢µ+çN¼é¬ g¤£Ê¾2f~mû„m}…i¶xÄãæužÙƜ»‚ÙüÂx\Ôt{™C Àåò ›ËøýÈ·'5' ªzqvipd×kµ»¶j©@ƒæ…:Íw¾?bøàôVs,%ãIP¡ÍSÅ„A³ô‰ìDª`Ïûñ,{r˜¦fY—AÀ˜EÏ¡+LNä^õ,¸¬Y¼B™¡9ÛœÐç†dbTC4è¿JLWl©0Âkž ^¸ùT›Úò«¾¦ét«§^Þí§/‡3SÄ蚇dQœv(CÜ쇵È%#¾j0Æ7›5pEZ‡ì—,í¼éÀOÇéÃõ¤¯(CæýéZb4üÁP”™Γ{5Þ…k`åùÃJÙãpÔféAvs,µp̈Õ.¨±g¸Ño¡µ°±P9:Ý,'c|Ì1eÁh†M~‘fQÞúûdú9’LÈúôÖN0–"/Ó|8׃ҿ]‰/ óûÚûس˜z$©Ôü³[<~q÷é#ƒä2 'óP4I×¥ŸÐ?`b¬FH. ÷R}ÿÀ#] «iÀAñ7FÌÐ5øùq6O‰ Ç/êúWbõÑFåq-¢´ð §]xžök%˜Ã–td˜¯‘ŒÎ¼r¿?qEµÀ¡Glq_åOÎ1ŠL$Hülӂ|²붝:vÐ ؛¨†À<¬è2ëg8„7ë%j ÅL/ARWˆŠmõƒÑ ±)Cðî&œ£Ò(q14ŒED;ÌjdW åqêÒÚ8ß'‡õt˜{r›`üz$¸~ЗV-ðr#QcªžÉ¹=H­EÍëCóIîÁՌ–aYÅuz8UG²þºÝ¡HJP+dGR]¤IؘNd'×DóN'é[ºqÆIÒĵF,·;ŗd•”©7•‘W­_ˆF®kô­é¢á£tΘ ~­ yTjænUÀNöÂߥ6”éŸì¶\e>:3‚t{ù^÷p*kõ!1ñÖ3«/¥tŒëÖÈ|æeWç¯ÛQ#`IbýÍÃ$ŒPÍXÉSKUŽž¡’` ËAŞþ›m­%N©ò’÷Y ¥Ê¡K_º`ÕsYGõ¾ìŸö¨,4ƒ“³›¯HC'Ÿû89cá[ã Û2?ÆN¼ ü±ù#°¥ª0ägã¶,Š¢œ¡. éj”¿ê?ÉxG# Ò+“Å.ă-†cå-Yo¢UÄVõñÈö15Ò»æ¾Ýc@@íéíAŸ LüUÜêÏɅÜÔ¿©ÿÌZςñåÎSUn9“mbµf[‘€Š±ÑT8D1¿4г#hqÙך½E9É{Ь¶uîœb…M'­?/ÖGÐÿéε%¨˜Gš±Ñ3 ?hßó¤¸þa¶„çŽØyžÓ€’^`´ý׏Þz\‹÷¶v«áP{ÑѕIh~×`5»æ0ïfM…ÂÛ -ä&oH[œ¯A•9fÜ˕ÿ+J†'¡1ê’ëyC \<†æ›îyʇfäiX.²¢¦ ËÅoöøA…°•#ó3ÆÎїï;¦ûÁ_;râw‚›ìĽÅzi“Ã+Yxh­ÀêÐÃz5xu¾5)sþ³py}Mµ~à óÿ¸ÿüŸ˜Øš9ÿv°3r¶ûi¹>endstream +ä&oH[œ¯A•9fÜ˕ÿ+J†'¡1ê’ëyC \<†æ›îyʇfäiX.²¢¦ ËÅoöøA…°•#ó3ÆÎїï;¦ûÁ_;râw‚›ìĽÅzi“Ã+Yxh­ÀêÐÃz5xu¾5)sþ³py}Mµ~à óÿ¸ÿüŸ˜Øš9ÿv°3r¶ûßO¹;endstream endobj 737 0 obj << /Type /Font @@ -11641,14 +11632,14 @@ endobj /FirstChar 2 /LastChar 216 /Widths 2165 0 R -/BaseFont /HTPAKS+URWPalladioL-Roma +/BaseFont /IJNCPT+URWPalladioL-Roma /FontDescriptor 735 0 R >> endobj 735 0 obj << /Ascent 715 /CapHeight 680 /Descent -282 -/FontName /HTPAKS+URWPalladioL-Roma +/FontName /IJNCPT+URWPalladioL-Roma /ItalicAngle 0 /StemV 84 /XHeight 469 @@ -11668,7 +11659,7 @@ endobj /Filter /FlateDecode >> stream -xÚ¬zSm]³eÙ¶]uʶmÛ¶mÛö)Û¶mÛæ)ó”«ëû¯:n÷S÷}Xkfæ92GÎ{G,RBy%c;CQ;[gZzNE5ykkc ;iA;kc‚3 )©£‰³…­°³ 'š‰1°‰##)½‡£…™¹3ùõYþ !0ôøÏÏN' 3[²ŸWk;{[çˆÿçJ&&Îæ&¦Ö&Brò²bäb²*b&¶&ŽÖò.†ÖFÒF&¶N&¦vŽÖÿ¶ 0²³5¶ø§4'Ú,''{#‹Ÿm&îF&öÿ¸¨ ìMm,œœ~Þ ,œÌ lzàlG`akdíbü»©Ý¿Ù;ÚýDØüø~Àä휜Œ-ì ~²Ê ‹þOgsçr;Yü¸ ìL"íŒ\þ)é_¾˜¯³…­³‰»ó?¹ MŒ-œì­ <~rÿ€Ù;Zü‹†‹“…­Ù1 &p413p4¶6qrúùÁþ§;ÿU'ÁÿV½½½µÇ¿vÛý+ê?9X8;™X›ÒB10þä4rþÉmfa E÷ϨHؚÚ0Ðÿ›ÝØÅþ?|®&Žÿjù?3CñCÂÀØÎÖڃÀØÄŠNÖÎù'%ùÿ›Ê´ÿs"ÿHü?"ðÿˆ¼ÿâþwþ·Cüÿ{žÿ;´¨‹µµ¬É¿6üÇC MðÏ%óØXX{üßÂÿ{¤šÉ¿qü¿¡H8ü4BÀÖìG zZú3Z8‰Z¸›Ë[8™˜Xÿté_v[cGk [“5ÿÕHzúÿæS6·0²²ý§í,ÿæ2±5þïÔúq:AuEIUªÿóFýWœüòÎÊö?Ôþ½;ãÿ\üƒ"(hçNàEÃÀÂH@ÃDÏðsà~øp0±øü_2þ ˆá¿Ö2ΎîZ?eÿìü§øþk¥óß`DlìŒÿ™%g[ãŸñúOÃ?n#GÇUÿuâŠþõ¿ÝÄÄÝÄj}ÅΈ+Ø2ýw†szîȔ°Ö@ðHˆ}i£rQ]¯_zøG¥þGmmÓ çW»ÇòûÏ#IÊã±>4ë_½©&×ù8>ÄýˆÛdlTǁtº¥°jÑ^7KÒ» š¬ôªÇûS +xÚ¬zSm]³eÙ¶]uʶmÛ¶mÛö)Û¶mÛæ)ó”«ëû¯:n÷S÷}Xkfæ92GÎ{G,RBy%c;CQ;[gZzNE5ykkc ;iA;kc‚3 )©£‰³…­°³ 'š‰1°‰##)½‡£…™¹3ùõYþ !0ôøÏÏN' 3[²ŸWk;{[çˆÿçJ&&Îæ&¦Ö&Brò²bäb²*b&¶&ŽÖò.†ÖFÒF&¶N&¦vŽÖÿ¶ 0²³5¶ø§4'Ú,''{#‹Ÿm&îF&öÿ¸¨ ìMm,œœ~Þ ,œÌ lzàlG`akdíbü»©Ý¿Ù;ÚýDØüø~Àä휜Œ-ì ~²Ê ‹þOgsçr;Yü¸ ìL"íŒ\þ)é_¾˜¯³…­³‰»ó?¹ MŒ-œì­ <~rÿ€Ù;Zü‹†‹“…­Ù1 &p413p4¶6qrúùÁþ§;ÿU'ÁÿV½½½µÇ¿vÛý+ê?9X8;™X›ÒB10þä4rþÉmfa E÷ϨHؚÚ0Ðÿ›ÝØÅþ?|®&Žÿjù?3CñCÂÀØÎÖڃÀØÄŠNÖÎù'%ùÿ›Ê´ÿs"ÿHü?"ðÿˆ¼ÿâþwþ·Cüÿ{žÿ;´¨‹µµ¬É¿6üÇC MðÏ%óØXX{üßÂÿ{¤šÉ¿qü¿¡H8ü4BÀÖìG zZú3Z8‰Z¸›Ë[8™˜Xÿté_v[cGk [“5ÿÕHzúÿæS6·0²²ý§í,ÿæ2±5þïÔúq:1Q955!ªÿóFýWœüòÎÊö?Ôþ½;ãÿ\üƒ"(hçNàEÃÀÂH@ÃDÏðsà~øp0±øü_2þ ˆá¿Ö2ΎîZ?eÿìü§øþk¥óß`DlìŒÿ™%g[ãŸñúOÃ?n#GÇUÿuâŠþõ¿ÝÄÄÝÄj}ÅΈ+Ø2ýw†szîȔ°Ö@ðHˆ}i£rQ]¯_zøG¥þGmmÓ çW»ÇòûÏ#IÊã±>4ë_½©&×ù8>ÄýˆÛdlTǁtº¥°jÑ^7KÒ» š¬ôªÇûS Šº%`¸3LŽ7)ü‰] üQHžíá|ÒâP»šê ÿ\%ý}þ54>:2Ü{Ú„M•IÊå Kåͧ©R!RÕDzݞeÌ}øØ"œ³\ʤ!g?5íµ Îk“T $f}QìŒ}}œ7Ãë–aI­zQ£Ø`{1®Ëʛ¡9sõ‰ór5úË<#¤=ø…ˆ´±36…è4Ó+òŽÇ¾a‘Ïp:‰é"“|:[5P6“Ó#\2®˜Æíß»OÍß 6.â'¢ÿp$iÊíù2ŸÒ;LۖOòá ±Fóyº)‘ùµ©ãà~ ¥ŸC¡ë­„aø ÅÑ«¨ÙûGæhg [&óâ<1—Xû²Âø{iª_“¸bf)¦Œ²§T˜ ÜÓ»GAe!ógF玦àUa!*ÚZ0Ÿðç/è a0¼€ž~£œ†äwÝo âïfŸJ³xÛw® ÞaÇL¿õ0 è^š `8¿Ú Ù4Ùç÷ Ï©4†V×"”]BÝ3pþà·½_) èIÞ\H$séåXŒ{Òb^Z,ÃÛ6ö©ÉÁ ¬–R2µCNJ‰t(£ˆOܲÓ7‚9òó`e€² ä@y%0júAÈëRÿ˜à˜~xƒ4wÖ5çíÂàÖ±åmÝÓ×â}=ВtRX[>͔ҞÐRÔ "çH³l/é•_r> endobj 712 0 obj << /Ascent 708 /CapHeight 672 /Descent -266 -/FontName /BXRAJV+URWPalladioL-Bold +/FontName /GFOWWC+URWPalladioL-Bold /ItalicAngle 0 /StemV 123 /XHeight 471 @@ -13256,7 +13247,7 @@ endobj >> endobj 2177 0 obj << /Author()/Title()/Subject()/Creator(LaTeX with hyperref package)/Producer(pdfeTeX-1.21a)/Keywords() -/CreationDate (D:20120322170648Z) +/CreationDate (D:20120720043702Z) /PTEX.Fullbanner (This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4) kpathsea version 3.5.4) >> endobj xref @@ -13268,703 +13259,703 @@ xref 0000000000 00000 f 0000000009 00000 n 0000328757 00000 n -0001014571 00000 n +0001014574 00000 n 0000000054 00000 n 0000000086 00000 n 0000328881 00000 n -0001014499 00000 n +0001014502 00000 n 0000000133 00000 n 0000000173 00000 n 0000329006 00000 n -0001014413 00000 n +0001014416 00000 n 0000000221 00000 n 0000000273 00000 n 0000329131 00000 n -0001014327 00000 n +0001014330 00000 n 0000000321 00000 n 0000000377 00000 n 0000333393 00000 n -0001014217 00000 n +0001014220 00000 n 0000000425 00000 n 0000000478 00000 n 0000333517 00000 n -0001014143 00000 n +0001014146 00000 n 0000000531 00000 n 0000000572 00000 n 0000333642 00000 n -0001014056 00000 n +0001014059 00000 n 0000000625 00000 n 0000000674 00000 n 0000333766 00000 n -0001013969 00000 n +0001013972 00000 n 0000000727 00000 n 0000000757 00000 n 0000338045 00000 n -0001013845 00000 n +0001013848 00000 n 0000000810 00000 n 0000000861 00000 n 0000338170 00000 n -0001013771 00000 n +0001013774 00000 n 0000000919 00000 n 0000000964 00000 n 0000338295 00000 n -0001013684 00000 n +0001013687 00000 n 0000001022 00000 n 0000001062 00000 n 0000338420 00000 n -0001013610 00000 n +0001013613 00000 n 0000001120 00000 n 0000001162 00000 n 0000341391 00000 n -0001013486 00000 n +0001013489 00000 n 0000001215 00000 n 0000001260 00000 n 0000341516 00000 n -0001013425 00000 n +0001013428 00000 n 0000001318 00000 n 0000001355 00000 n 0000341641 00000 n -0001013351 00000 n +0001013354 00000 n 0000001408 00000 n 0000001463 00000 n 0000344571 00000 n -0001013226 00000 n +0001013229 00000 n 0000001509 00000 n 0000001556 00000 n 0000344696 00000 n -0001013152 00000 n +0001013155 00000 n 0000001604 00000 n 0000001648 00000 n 0000344821 00000 n -0001013065 00000 n +0001013068 00000 n 0000001696 00000 n 0000001735 00000 n 0000344946 00000 n -0001012978 00000 n +0001012981 00000 n 0000001783 00000 n 0000001825 00000 n 0000345070 00000 n -0001012891 00000 n +0001012894 00000 n 0000001873 00000 n 0000001936 00000 n 0000346153 00000 n -0001012817 00000 n +0001012820 00000 n 0000001984 00000 n 0000002034 00000 n 0000347864 00000 n -0001012689 00000 n +0001012692 00000 n 0000002080 00000 n 0000002126 00000 n 0000347991 00000 n -0001012576 00000 n +0001012579 00000 n 0000002174 00000 n 0000002218 00000 n 0000348119 00000 n -0001012500 00000 n +0001012503 00000 n 0000002271 00000 n 0000002323 00000 n 0000348247 00000 n -0001012423 00000 n +0001012426 00000 n 0000002377 00000 n 0000002436 00000 n 0000350790 00000 n -0001012332 00000 n +0001012335 00000 n 0000002485 00000 n 0000002523 00000 n 0000351049 00000 n -0001012215 00000 n +0001012218 00000 n 0000002572 00000 n 0000002618 00000 n 0000351178 00000 n -0001012097 00000 n +0001012100 00000 n 0000002672 00000 n 0000002739 00000 n 0000354409 00000 n -0001012018 00000 n +0001012021 00000 n 0000002798 00000 n 0000002842 00000 n 0000354537 00000 n -0001011939 00000 n +0001011942 00000 n 0000002901 00000 n 0000002949 00000 n 0000365580 00000 n -0001011860 00000 n +0001011863 00000 n 0000003003 00000 n 0000003036 00000 n 0000370601 00000 n -0001011728 00000 n +0001011731 00000 n 0000003083 00000 n 0000003126 00000 n 0000370730 00000 n -0001011649 00000 n +0001011652 00000 n 0000003175 00000 n 0000003205 00000 n 0000370859 00000 n -0001011517 00000 n +0001011520 00000 n 0000003254 00000 n 0000003292 00000 n 0000370988 00000 n -0001011452 00000 n +0001011455 00000 n 0000003346 00000 n 0000003388 00000 n 0000375265 00000 n -0001011359 00000 n +0001011362 00000 n 0000003437 00000 n 0000003496 00000 n 0000375394 00000 n -0001011227 00000 n +0001011230 00000 n 0000003545 00000 n 0000003578 00000 n 0000379309 00000 n -0001011162 00000 n +0001011165 00000 n 0000003632 00000 n 0000003681 00000 n 0000382737 00000 n -0001011030 00000 n +0001011033 00000 n 0000003730 00000 n 0000003758 00000 n 0000382866 00000 n -0001010912 00000 n +0001010915 00000 n 0000003812 00000 n 0000003881 00000 n 0000385506 00000 n -0001010833 00000 n +0001010836 00000 n 0000003940 00000 n 0000003988 00000 n 0000385635 00000 n -0001010754 00000 n +0001010757 00000 n 0000004047 00000 n 0000004092 00000 n 0000385764 00000 n -0001010661 00000 n +0001010664 00000 n 0000004146 00000 n 0000004214 00000 n 0000385892 00000 n -0001010568 00000 n +0001010571 00000 n 0000004268 00000 n 0000004338 00000 n 0000386021 00000 n -0001010475 00000 n +0001010478 00000 n 0000004392 00000 n 0000004455 00000 n 0000389887 00000 n -0001010382 00000 n +0001010385 00000 n 0000004509 00000 n 0000004564 00000 n 0000390016 00000 n -0001010303 00000 n +0001010306 00000 n 0000004618 00000 n 0000004650 00000 n 0000390145 00000 n -0001010210 00000 n +0001010213 00000 n 0000004699 00000 n 0000004727 00000 n 0000393790 00000 n -0001010117 00000 n +0001010120 00000 n 0000004776 00000 n 0000004808 00000 n 0000393916 00000 n -0001009985 00000 n +0001009988 00000 n 0000004857 00000 n 0000004887 00000 n 0000394045 00000 n -0001009906 00000 n +0001009909 00000 n 0000004941 00000 n 0000004982 00000 n 0000397881 00000 n -0001009813 00000 n +0001009816 00000 n 0000005036 00000 n 0000005078 00000 n 0000398010 00000 n -0001009734 00000 n +0001009737 00000 n 0000005132 00000 n 0000005177 00000 n 0000400958 00000 n -0001009616 00000 n +0001009619 00000 n 0000005226 00000 n 0000005272 00000 n 0000403574 00000 n -0001009537 00000 n +0001009540 00000 n 0000005326 00000 n 0000005386 00000 n 0000403703 00000 n -0001009458 00000 n +0001009461 00000 n 0000005440 00000 n 0000005509 00000 n 0000406525 00000 n -0001009325 00000 n +0001009328 00000 n 0000005556 00000 n 0000005609 00000 n 0000406654 00000 n -0001009246 00000 n +0001009249 00000 n 0000005658 00000 n 0000005714 00000 n 0000406783 00000 n -0001009167 00000 n +0001009170 00000 n 0000005763 00000 n 0000005812 00000 n 0000410967 00000 n -0001009034 00000 n +0001009037 00000 n 0000005859 00000 n 0000005911 00000 n 0000411096 00000 n -0001008916 00000 n +0001008919 00000 n 0000005960 00000 n 0000006011 00000 n 0000415788 00000 n -0001008798 00000 n +0001008801 00000 n 0000006065 00000 n 0000006110 00000 n 0000415916 00000 n -0001008719 00000 n +0001008722 00000 n 0000006169 00000 n 0000006203 00000 n 0000419537 00000 n -0001008640 00000 n +0001008643 00000 n 0000006262 00000 n 0000006310 00000 n 0000419665 00000 n -0001008522 00000 n +0001008525 00000 n 0000006364 00000 n 0000006404 00000 n 0000419794 00000 n -0001008443 00000 n +0001008446 00000 n 0000006463 00000 n 0000006497 00000 n 0000423731 00000 n -0001008364 00000 n +0001008367 00000 n 0000006556 00000 n 0000006604 00000 n 0000423860 00000 n -0001008231 00000 n +0001008234 00000 n 0000006653 00000 n 0000006703 00000 n 0000426680 00000 n -0001008152 00000 n +0001008155 00000 n 0000006757 00000 n 0000006804 00000 n 0000426808 00000 n -0001008059 00000 n +0001008062 00000 n 0000006858 00000 n 0000006918 00000 n 0000427067 00000 n -0001007966 00000 n +0001007969 00000 n 0000006972 00000 n 0000007024 00000 n 0000432416 00000 n -0001007873 00000 n +0001007876 00000 n 0000007078 00000 n 0000007143 00000 n 0000432545 00000 n -0001007780 00000 n +0001007783 00000 n 0000007197 00000 n 0000007248 00000 n 0000432674 00000 n -0001007687 00000 n +0001007690 00000 n 0000007302 00000 n 0000007366 00000 n 0000436126 00000 n -0001007594 00000 n +0001007597 00000 n 0000007420 00000 n 0000007467 00000 n 0000436255 00000 n -0001007501 00000 n +0001007504 00000 n 0000007521 00000 n 0000007581 00000 n 0000436384 00000 n -0001007408 00000 n +0001007411 00000 n 0000007635 00000 n 0000007686 00000 n 0000436513 00000 n -0001007276 00000 n +0001007279 00000 n 0000007741 00000 n 0000007806 00000 n 0000440744 00000 n -0001007197 00000 n +0001007200 00000 n 0000007866 00000 n 0000007913 00000 n 0000447301 00000 n -0001007104 00000 n +0001007107 00000 n 0000007973 00000 n 0000008021 00000 n 0000454853 00000 n -0001007025 00000 n +0001007028 00000 n 0000008081 00000 n 0000008135 00000 n 0000455112 00000 n -0001006932 00000 n +0001006935 00000 n 0000008190 00000 n 0000008240 00000 n 0000457935 00000 n -0001006839 00000 n +0001006842 00000 n 0000008295 00000 n 0000008358 00000 n 0000458064 00000 n -0001006746 00000 n +0001006749 00000 n 0000008413 00000 n 0000008465 00000 n 0000458193 00000 n -0001006653 00000 n +0001006656 00000 n 0000008520 00000 n 0000008585 00000 n 0000458322 00000 n -0001006560 00000 n +0001006563 00000 n 0000008640 00000 n 0000008692 00000 n 0000464333 00000 n -0001006427 00000 n +0001006430 00000 n 0000008747 00000 n 0000008812 00000 n 0000472736 00000 n -0001006348 00000 n +0001006351 00000 n 0000008872 00000 n 0000008916 00000 n 0000493992 00000 n -0001006255 00000 n +0001006258 00000 n 0000008976 00000 n 0000009015 00000 n 0000494121 00000 n -0001006162 00000 n +0001006165 00000 n 0000009075 00000 n 0000009122 00000 n 0000494250 00000 n -0001006069 00000 n +0001006072 00000 n 0000009182 00000 n 0000009225 00000 n 0000501166 00000 n -0001005976 00000 n +0001005979 00000 n 0000009285 00000 n 0000009324 00000 n 0000504682 00000 n -0001005883 00000 n +0001005886 00000 n 0000009384 00000 n 0000009426 00000 n 0000507862 00000 n -0001005790 00000 n +0001005793 00000 n 0000009486 00000 n 0000009529 00000 n 0000515570 00000 n -0001005697 00000 n +0001005700 00000 n 0000009589 00000 n 0000009632 00000 n 0000515698 00000 n -0001005604 00000 n +0001005607 00000 n 0000009692 00000 n 0000009753 00000 n 0000519891 00000 n -0001005511 00000 n +0001005514 00000 n 0000009814 00000 n 0000009866 00000 n 0000523784 00000 n -0001005418 00000 n +0001005421 00000 n 0000009927 00000 n 0000009980 00000 n 0000523913 00000 n -0001005325 00000 n +0001005328 00000 n 0000010041 00000 n 0000010079 00000 n 0000527947 00000 n -0001005232 00000 n +0001005235 00000 n 0000010140 00000 n 0000010192 00000 n 0000531103 00000 n -0001005139 00000 n +0001005142 00000 n 0000010253 00000 n 0000010297 00000 n 0000535042 00000 n -0001005046 00000 n +0001005049 00000 n 0000010358 00000 n 0000010394 00000 n 0000543486 00000 n -0001004953 00000 n +0001004956 00000 n 0000010455 00000 n 0000010518 00000 n 0000543615 00000 n -0001004860 00000 n +0001004863 00000 n 0000010579 00000 n 0000010629 00000 n 0000549448 00000 n -0001004781 00000 n +0001004784 00000 n 0000010690 00000 n 0000010746 00000 n 0000552876 00000 n -0001004688 00000 n +0001004691 00000 n 0000010801 00000 n 0000010852 00000 n 0000553005 00000 n -0001004595 00000 n +0001004598 00000 n 0000010907 00000 n 0000010971 00000 n 0000557400 00000 n -0001004502 00000 n +0001004505 00000 n 0000011026 00000 n 0000011090 00000 n 0000557528 00000 n -0001004409 00000 n +0001004412 00000 n 0000011145 00000 n 0000011222 00000 n 0000561108 00000 n -0001004316 00000 n +0001004319 00000 n 0000011277 00000 n 0000011334 00000 n 0000561237 00000 n -0001004223 00000 n +0001004226 00000 n 0000011389 00000 n 0000011459 00000 n 0000561366 00000 n -0001004130 00000 n +0001004133 00000 n 0000011514 00000 n 0000011563 00000 n 0000561495 00000 n -0001004037 00000 n +0001004040 00000 n 0000011618 00000 n 0000011680 00000 n 0000566204 00000 n -0001003944 00000 n +0001003947 00000 n 0000011735 00000 n 0000011784 00000 n 0000570290 00000 n -0001003826 00000 n +0001003829 00000 n 0000011839 00000 n 0000011901 00000 n 0000570419 00000 n -0001003747 00000 n +0001003750 00000 n 0000011961 00000 n 0000012000 00000 n 0000574747 00000 n -0001003654 00000 n +0001003657 00000 n 0000012060 00000 n 0000012094 00000 n 0000580643 00000 n -0001003561 00000 n +0001003564 00000 n 0000012154 00000 n 0000012195 00000 n 0000592022 00000 n -0001003482 00000 n +0001003485 00000 n 0000012255 00000 n 0000012307 00000 n -0000599203 00000 n -0001003350 00000 n +0000599204 00000 n +0001003353 00000 n 0000012356 00000 n 0000012389 00000 n -0000599332 00000 n -0001003232 00000 n +0000599333 00000 n +0001003235 00000 n 0000012443 00000 n 0000012515 00000 n -0000599460 00000 n -0001003153 00000 n +0000599461 00000 n +0001003156 00000 n 0000012574 00000 n 0000012618 00000 n -0000610002 00000 n -0001003074 00000 n +0000610003 00000 n +0001003077 00000 n 0000012677 00000 n 0000012730 00000 n -0000614057 00000 n -0001002981 00000 n +0000614058 00000 n +0001002984 00000 n 0000012784 00000 n 0000012834 00000 n -0000614315 00000 n -0001002888 00000 n +0000614316 00000 n +0001002891 00000 n 0000012888 00000 n 0000012926 00000 n -0000614574 00000 n -0001002795 00000 n +0000614575 00000 n +0001002798 00000 n 0000012980 00000 n 0000013029 00000 n -0000617625 00000 n -0001002663 00000 n +0000617626 00000 n +0001002666 00000 n 0000013083 00000 n 0000013135 00000 n -0000617754 00000 n -0001002584 00000 n +0000617755 00000 n +0001002587 00000 n 0000013194 00000 n 0000013239 00000 n -0000617882 00000 n -0001002491 00000 n +0000617883 00000 n +0001002494 00000 n 0000013298 00000 n 0000013350 00000 n -0000618011 00000 n -0001002398 00000 n +0000618012 00000 n +0001002401 00000 n 0000013409 00000 n 0000013462 00000 n -0000621548 00000 n -0001002319 00000 n +0000621549 00000 n +0001002322 00000 n 0000013521 00000 n 0000013570 00000 n -0000621677 00000 n -0001002226 00000 n +0000621678 00000 n +0001002229 00000 n 0000013624 00000 n 0000013704 00000 n -0000625518 00000 n -0001002147 00000 n +0000625519 00000 n +0001002150 00000 n 0000013758 00000 n 0000013807 00000 n -0000625646 00000 n -0001002029 00000 n +0000625647 00000 n +0001002032 00000 n 0000013856 00000 n 0000013896 00000 n -0000629199 00000 n -0001001950 00000 n +0000629200 00000 n +0001001953 00000 n 0000013955 00000 n 0000014002 00000 n -0000629328 00000 n -0001001832 00000 n +0000629329 00000 n +0001001835 00000 n 0000014056 00000 n 0000014101 00000 n -0000629457 00000 n -0001001753 00000 n +0000629458 00000 n +0001001756 00000 n 0000014160 00000 n 0000014219 00000 n -0000635939 00000 n -0001001660 00000 n +0000635940 00000 n +0001001663 00000 n 0000014278 00000 n 0000014342 00000 n -0000636198 00000 n -0001001567 00000 n +0000636199 00000 n +0001001570 00000 n 0000014401 00000 n 0000014457 00000 n -0000640039 00000 n -0001001474 00000 n +0000640040 00000 n +0001001477 00000 n 0000014516 00000 n 0000014574 00000 n -0000640298 00000 n -0001001395 00000 n +0000640299 00000 n +0001001398 00000 n 0000014633 00000 n 0000014695 00000 n -0000643356 00000 n -0001001262 00000 n +0000643357 00000 n +0001001265 00000 n 0000014742 00000 n 0000014794 00000 n -0000643485 00000 n -0001001183 00000 n +0000643486 00000 n +0001001186 00000 n 0000014843 00000 n 0000014887 00000 n -0000647684 00000 n -0001001051 00000 n +0000647685 00000 n +0001001054 00000 n 0000014936 00000 n 0000014977 00000 n -0000647813 00000 n -0001000972 00000 n +0000647814 00000 n +0001000975 00000 n 0000015031 00000 n 0000015079 00000 n -0000647941 00000 n -0001000893 00000 n +0000647942 00000 n +0001000896 00000 n 0000015133 00000 n 0000015184 00000 n -0000648070 00000 n -0001000814 00000 n +0000648071 00000 n +0001000817 00000 n 0000015233 00000 n 0000015280 00000 n -0000652337 00000 n -0001000681 00000 n +0000652338 00000 n +0001000684 00000 n 0000015327 00000 n 0000015364 00000 n -0000652466 00000 n -0001000563 00000 n +0000652467 00000 n +0001000566 00000 n 0000015413 00000 n 0000015452 00000 n -0000652595 00000 n -0001000498 00000 n +0000652596 00000 n +0001000501 00000 n 0000015506 00000 n 0000015584 00000 n -0000652724 00000 n -0001000405 00000 n +0000652725 00000 n +0001000408 00000 n 0000015633 00000 n 0000015700 00000 n -0000652853 00000 n -0001000326 00000 n +0000652854 00000 n +0001000329 00000 n 0000015749 00000 n 0000015794 00000 n -0000656292 00000 n -0001000193 00000 n +0000656293 00000 n +0001000196 00000 n 0000015842 00000 n 0000015874 00000 n -0000656421 00000 n -0001000075 00000 n +0000656422 00000 n +0001000078 00000 n 0000015923 00000 n 0000015962 00000 n -0000656550 00000 n -0001000010 00000 n +0000656551 00000 n +0001000013 00000 n 0000016016 00000 n 0000016077 00000 n -0000660231 00000 n -0000999878 00000 n +0000660232 00000 n +0000999881 00000 n 0000016126 00000 n 0000016183 00000 n -0000660360 00000 n -0000999813 00000 n +0000660361 00000 n +0000999816 00000 n 0000016237 00000 n 0000016286 00000 n -0000660489 00000 n -0000999695 00000 n +0000660490 00000 n +0000999698 00000 n 0000016335 00000 n 0000016397 00000 n -0000660618 00000 n -0000999616 00000 n +0000660619 00000 n +0000999619 00000 n 0000016451 00000 n 0000016506 00000 n -0000684640 00000 n -0000999523 00000 n +0000684641 00000 n +0000999526 00000 n 0000016560 00000 n 0000016601 00000 n -0000684769 00000 n -0000999444 00000 n +0000684770 00000 n +0000999447 00000 n 0000016655 00000 n 0000016707 00000 n -0000687500 00000 n -0000999324 00000 n +0000687501 00000 n +0000999327 00000 n 0000016755 00000 n 0000016789 00000 n -0000687629 00000 n -0000999245 00000 n +0000687630 00000 n +0000999248 00000 n 0000016838 00000 n 0000016865 00000 n -0000705453 00000 n -0000999152 00000 n +0000705454 00000 n +0000999155 00000 n 0000016914 00000 n 0000016942 00000 n -0000712941 00000 n -0000999059 00000 n +0000712942 00000 n +0000999062 00000 n 0000016991 00000 n 0000017031 00000 n -0000715736 00000 n -0000998966 00000 n +0000715737 00000 n +0000998969 00000 n 0000017080 00000 n 0000017123 00000 n -0000721919 00000 n -0000998873 00000 n +0000721920 00000 n +0000998876 00000 n 0000017172 00000 n 0000017209 00000 n -0000728545 00000 n -0000998780 00000 n +0000728546 00000 n +0000998783 00000 n 0000017258 00000 n 0000017297 00000 n -0000740928 00000 n -0000998687 00000 n +0000740929 00000 n +0000998690 00000 n 0000017346 00000 n 0000017385 00000 n -0000744024 00000 n -0000998594 00000 n +0000744025 00000 n +0000998597 00000 n 0000017434 00000 n 0000017473 00000 n -0000750304 00000 n -0000998501 00000 n +0000750305 00000 n +0000998504 00000 n 0000017522 00000 n 0000017551 00000 n -0000760116 00000 n -0000998408 00000 n +0000760117 00000 n +0000998411 00000 n 0000017601 00000 n 0000017634 00000 n -0000774348 00000 n -0000998315 00000 n +0000774349 00000 n +0000998318 00000 n 0000017684 00000 n 0000017713 00000 n -0000777478 00000 n -0000998222 00000 n +0000777479 00000 n +0000998225 00000 n 0000017763 00000 n 0000017797 00000 n -0000783716 00000 n -0000998143 00000 n +0000783717 00000 n +0000998146 00000 n 0000017847 00000 n 0000017884 00000 n 0000018257 00000 n @@ -13973,10 +13964,10 @@ xref 0000017937 00000 n 0000283054 00000 n 0000283117 00000 n -0000993497 00000 n -0000967554 00000 n -0000993323 00000 n -0000994522 00000 n +0000993500 00000 n +0000967557 00000 n +0000993326 00000 n +0000994525 00000 n 0000019688 00000 n 0000019881 00000 n 0000019961 00000 n @@ -13996,12 +13987,12 @@ xref 0000284425 00000 n 0000283280 00000 n 0000284547 00000 n -0000966333 00000 n -0000939812 00000 n -0000966159 00000 n -0000939127 00000 n -0000936982 00000 n -0000938963 00000 n +0000966336 00000 n +0000939815 00000 n +0000966162 00000 n +0000939130 00000 n +0000936986 00000 n +0000938966 00000 n 0000296315 00000 n 0000287660 00000 n 0000284695 00000 n @@ -14061,9 +14052,9 @@ xref 0000299643 00000 n 0000296400 00000 n 0000309629 00000 n -0000936431 00000 n -0000919350 00000 n -0000936247 00000 n +0000936435 00000 n +0000919354 00000 n +0000936251 00000 n 0000300233 00000 n 0000300396 00000 n 0000300559 00000 n @@ -14158,9 +14149,9 @@ xref 0000318813 00000 n 0000318980 00000 n 0000319147 00000 n -0000918461 00000 n -0000897130 00000 n -0000918287 00000 n +0000918465 00000 n +0000897134 00000 n +0000918291 00000 n 0000319314 00000 n 0000319480 00000 n 0000319635 00000 n @@ -14198,9 +14189,9 @@ xref 0000325433 00000 n 0000325588 00000 n 0000325746 00000 n -0000896164 00000 n -0000876197 00000 n -0000895991 00000 n +0000896168 00000 n +0000876201 00000 n +0000895995 00000 n 0000325903 00000 n 0000326061 00000 n 0000329382 00000 n @@ -14212,10 +14203,10 @@ xref 0000329193 00000 n 0000329256 00000 n 0000329319 00000 n -0000875403 00000 n -0000857086 00000 n -0000875230 00000 n -0000994640 00000 n +0000875407 00000 n +0000857090 00000 n +0000875234 00000 n +0000994643 00000 n 0000333890 00000 n 0000332773 00000 n 0000329506 00000 n @@ -14227,8 +14218,8 @@ xref 0000332923 00000 n 0000333116 00000 n 0000333827 00000 n -0000599396 00000 n -0000660682 00000 n +0000599397 00000 n +0000660683 00000 n 0000338545 00000 n 0000337509 00000 n 0000334014 00000 n @@ -14272,7 +14263,7 @@ xref 0000348054 00000 n 0000348182 00000 n 0000348311 00000 n -0000994758 00000 n +0000994761 00000 n 0000351306 00000 n 0000350417 00000 n 0000348475 00000 n @@ -14288,17 +14279,17 @@ xref 0000354218 00000 n 0000351418 00000 n 0000354344 00000 n -0000856411 00000 n -0000844422 00000 n -0000856232 00000 n +0000856415 00000 n +0000844426 00000 n +0000856236 00000 n 0000354601 00000 n 0000358490 00000 n 0000358299 00000 n 0000354792 00000 n 0000358425 00000 n -0000843881 00000 n -0000834137 00000 n -0000843702 00000 n +0000843885 00000 n +0000834141 00000 n +0000843706 00000 n 0000362953 00000 n 0000362554 00000 n 0000358656 00000 n @@ -14321,15 +14312,15 @@ xref 0000370794 00000 n 0000370213 00000 n 0000370375 00000 n -0000833239 00000 n -0000823443 00000 n -0000833065 00000 n -0000822879 00000 n -0000813793 00000 n -0000822704 00000 n +0000833243 00000 n +0000823447 00000 n +0000833069 00000 n +0000822883 00000 n +0000813797 00000 n +0000822708 00000 n 0000370923 00000 n 0000371052 00000 n -0000994883 00000 n +0000994886 00000 n 0000370042 00000 n 0000370100 00000 n 0000370190 00000 n @@ -14343,7 +14334,7 @@ xref 0000374872 00000 n 0000375038 00000 n 0000375458 00000 n -0000664709 00000 n +0000664710 00000 n 0000379438 00000 n 0000378929 00000 n 0000375675 00000 n @@ -14377,7 +14368,7 @@ xref 0000389651 00000 n 0000390080 00000 n 0000390209 00000 n -0000995008 00000 n +0000995011 00000 n 0000592086 00000 n 0000394174 00000 n 0000393599 00000 n @@ -14396,9 +14387,9 @@ xref 0000400767 00000 n 0000398264 00000 n 0000400893 00000 n -0000813518 00000 n -0000810161 00000 n -0000813339 00000 n +0000813522 00000 n +0000810162 00000 n +0000813343 00000 n 0000401022 00000 n 0000403832 00000 n 0000403202 00000 n @@ -14407,7 +14398,7 @@ xref 0000403349 00000 n 0000403638 00000 n 0000403767 00000 n -0000660424 00000 n +0000660425 00000 n 0000404298 00000 n 0000404107 00000 n 0000403957 00000 n @@ -14419,7 +14410,7 @@ xref 0000406589 00000 n 0000406718 00000 n 0000406847 00000 n -0000995133 00000 n +0000995136 00000 n 0000407352 00000 n 0000407161 00000 n 0000407011 00000 n @@ -14464,7 +14455,7 @@ xref 0000426937 00000 n 0000427002 00000 n 0000427131 00000 n -0000995258 00000 n +0000995261 00000 n 0000432803 00000 n 0000431885 00000 n 0000427308 00000 n @@ -14473,7 +14464,7 @@ xref 0000432192 00000 n 0000432609 00000 n 0000432738 00000 n -0000788787 00000 n +0000788788 00000 n 0000436642 00000 n 0000435371 00000 n 0000432941 00000 n @@ -14506,7 +14497,7 @@ xref 0000450738 00000 n 0000447672 00000 n 0000450864 00000 n -0000995383 00000 n +0000995386 00000 n 0000455240 00000 n 0000454662 00000 n 0000451041 00000 n @@ -14543,8 +14534,8 @@ xref 0000464600 00000 n 0000468828 00000 n 0000468671 00000 n -0000995508 00000 n -0000629263 00000 n +0000995511 00000 n +0000629264 00000 n 0000472865 00000 n 0000472545 00000 n 0000469005 00000 n @@ -14583,7 +14574,7 @@ xref 0000494185 00000 n 0000494314 00000 n 0000493761 00000 n -0000995633 00000 n +0000995636 00000 n 0000566268 00000 n 0000498041 00000 n 0000497479 00000 n @@ -14591,7 +14582,7 @@ xref 0000497976 00000 n 0000497635 00000 n 0000497806 00000 n -0000648134 00000 n +0000648135 00000 n 0000501295 00000 n 0000500975 00000 n 0000498210 00000 n @@ -14617,7 +14608,7 @@ xref 0000515634 00000 n 0000515345 00000 n 0000515762 00000 n -0000995758 00000 n +0000995761 00000 n 0000520020 00000 n 0000519341 00000 n 0000515995 00000 n @@ -14656,11 +14647,11 @@ xref 0000535353 00000 n 0000539721 00000 n 0000539559 00000 n -0000809806 00000 n -0000807808 00000 n -0000809641 00000 n -0000995883 00000 n -0000625582 00000 n +0000809807 00000 n +0000807809 00000 n +0000809642 00000 n +0000995886 00000 n +0000625583 00000 n 0000543744 00000 n 0000543107 00000 n 0000539912 00000 n @@ -14698,7 +14689,7 @@ xref 0000561301 00000 n 0000560889 00000 n 0000561559 00000 n -0000996008 00000 n +0000996011 00000 n 0000564692 00000 n 0000564501 00000 n 0000561736 00000 n @@ -14725,7 +14716,7 @@ xref 0000574682 00000 n 0000574515 00000 n 0000574811 00000 n -0000788754 00000 n +0000788755 00000 n 0000580772 00000 n 0000578038 00000 n 0000574988 00000 n @@ -14745,7 +14736,7 @@ xref 0000580089 00000 n 0000580252 00000 n 0000580415 00000 n -0000996133 00000 n +0000996136 00000 n 0000585994 00000 n 0000584078 00000 n 0000580884 00000 n @@ -14780,672 +14771,672 @@ xref 0000591490 00000 n 0000591641 00000 n 0000591803 00000 n -0000595861 00000 n -0000595540 00000 n +0000595863 00000 n +0000595542 00000 n 0000592263 00000 n -0000595666 00000 n -0000595731 00000 n -0000595796 00000 n -0000599717 00000 n -0000598654 00000 n -0000595987 00000 n -0000599138 00000 n -0000599267 00000 n -0000599524 00000 n -0000598810 00000 n -0000598978 00000 n -0000599589 00000 n -0000599653 00000 n -0000603370 00000 n -0000603049 00000 n -0000599886 00000 n -0000603175 00000 n -0000603240 00000 n -0000603305 00000 n -0000606630 00000 n -0000606310 00000 n -0000603469 00000 n -0000606436 00000 n -0000606501 00000 n -0000606566 00000 n -0000996258 00000 n -0000610391 00000 n -0000609811 00000 n -0000606742 00000 n -0000609937 00000 n -0000610066 00000 n -0000610131 00000 n -0000610196 00000 n -0000610261 00000 n -0000610326 00000 n -0000614703 00000 n -0000613866 00000 n -0000610503 00000 n -0000613992 00000 n -0000614121 00000 n -0000614186 00000 n -0000614250 00000 n -0000614379 00000 n -0000614444 00000 n -0000614509 00000 n -0000614638 00000 n -0000618140 00000 n -0000617304 00000 n -0000614828 00000 n -0000617430 00000 n -0000617495 00000 n -0000617560 00000 n -0000617689 00000 n -0000617818 00000 n -0000617946 00000 n -0000618075 00000 n -0000621936 00000 n -0000621357 00000 n -0000618337 00000 n -0000621483 00000 n -0000621612 00000 n -0000621741 00000 n -0000621806 00000 n -0000621871 00000 n -0000625904 00000 n -0000625327 00000 n -0000622132 00000 n -0000625453 00000 n -0000625710 00000 n -0000625774 00000 n -0000625839 00000 n -0000629716 00000 n -0000628827 00000 n -0000626016 00000 n -0000629134 00000 n -0000628974 00000 n -0000629392 00000 n -0000629521 00000 n -0000629586 00000 n -0000629651 00000 n -0000996383 00000 n -0000633310 00000 n -0000632933 00000 n -0000629841 00000 n -0000633245 00000 n -0000633080 00000 n -0000788721 00000 n -0000636456 00000 n -0000635748 00000 n -0000633409 00000 n -0000635874 00000 n -0000636003 00000 n -0000636068 00000 n -0000636133 00000 n -0000636261 00000 n -0000636326 00000 n -0000636391 00000 n -0000640427 00000 n -0000639848 00000 n -0000636568 00000 n -0000639974 00000 n -0000640103 00000 n -0000640168 00000 n -0000640233 00000 n -0000807527 00000 n -0000800243 00000 n -0000807347 00000 n -0000640362 00000 n -0000641278 00000 n -0000641087 00000 n -0000640567 00000 n -0000641213 00000 n -0000641718 00000 n -0000641527 00000 n -0000641377 00000 n -0000641653 00000 n -0000643613 00000 n -0000643165 00000 n -0000641760 00000 n -0000643291 00000 n -0000643420 00000 n -0000643549 00000 n -0000996508 00000 n -0000648199 00000 n -0000647256 00000 n -0000643725 00000 n -0000647619 00000 n -0000799922 00000 n -0000790709 00000 n -0000799736 00000 n -0000647403 00000 n -0000647748 00000 n -0000647876 00000 n -0000648005 00000 n -0000649241 00000 n -0000649050 00000 n -0000648436 00000 n -0000649176 00000 n -0000649668 00000 n -0000649477 00000 n -0000649327 00000 n -0000649603 00000 n -0000652981 00000 n -0000651755 00000 n -0000649710 00000 n -0000652272 00000 n -0000652401 00000 n -0000652530 00000 n -0000652659 00000 n -0000652788 00000 n -0000652917 00000 n -0000651911 00000 n -0000652083 00000 n -0000653435 00000 n -0000653244 00000 n -0000653094 00000 n -0000653370 00000 n -0000656679 00000 n -0000656101 00000 n -0000653477 00000 n -0000656227 00000 n -0000656356 00000 n -0000656485 00000 n -0000656614 00000 n -0000996633 00000 n -0000660874 00000 n -0000659656 00000 n -0000656765 00000 n -0000660166 00000 n -0000660295 00000 n -0000660553 00000 n -0000659812 00000 n -0000659991 00000 n -0000660746 00000 n -0000660810 00000 n -0000667761 00000 n -0000663933 00000 n -0000661027 00000 n -0000664059 00000 n -0000664124 00000 n -0000664189 00000 n -0000664254 00000 n -0000664319 00000 n -0000664384 00000 n -0000664449 00000 n -0000664514 00000 n -0000664579 00000 n -0000664644 00000 n -0000664774 00000 n -0000664839 00000 n -0000664904 00000 n -0000664969 00000 n -0000665034 00000 n -0000665099 00000 n -0000665164 00000 n -0000665229 00000 n -0000665294 00000 n -0000665359 00000 n -0000665424 00000 n -0000665489 00000 n -0000665554 00000 n -0000665619 00000 n -0000665684 00000 n -0000665749 00000 n -0000665814 00000 n -0000665879 00000 n -0000665944 00000 n -0000666009 00000 n -0000666074 00000 n -0000666139 00000 n -0000666204 00000 n -0000666269 00000 n -0000666333 00000 n -0000666398 00000 n -0000666463 00000 n -0000666528 00000 n -0000666593 00000 n -0000666658 00000 n -0000666723 00000 n -0000666788 00000 n -0000666853 00000 n -0000666918 00000 n -0000666983 00000 n -0000667048 00000 n -0000667113 00000 n -0000667178 00000 n -0000667243 00000 n -0000667308 00000 n -0000667373 00000 n -0000667438 00000 n -0000667503 00000 n -0000667568 00000 n -0000667633 00000 n -0000667697 00000 n -0000674407 00000 n -0000670843 00000 n -0000667873 00000 n -0000670969 00000 n -0000671034 00000 n -0000671099 00000 n -0000671164 00000 n -0000671229 00000 n -0000671294 00000 n -0000671359 00000 n -0000671424 00000 n -0000671489 00000 n -0000671554 00000 n -0000671619 00000 n -0000671684 00000 n -0000671748 00000 n -0000671813 00000 n -0000671878 00000 n -0000671943 00000 n -0000672008 00000 n -0000672073 00000 n -0000672138 00000 n -0000672203 00000 n -0000672268 00000 n -0000672333 00000 n -0000672398 00000 n -0000672463 00000 n -0000672527 00000 n -0000672592 00000 n -0000672657 00000 n -0000672722 00000 n -0000672787 00000 n -0000672852 00000 n -0000672917 00000 n -0000672982 00000 n -0000673047 00000 n -0000673112 00000 n -0000673177 00000 n -0000673242 00000 n -0000673307 00000 n -0000673372 00000 n -0000673437 00000 n -0000673502 00000 n -0000673566 00000 n -0000673630 00000 n -0000673694 00000 n -0000673759 00000 n -0000673824 00000 n -0000673889 00000 n -0000673954 00000 n -0000674019 00000 n -0000674084 00000 n -0000674149 00000 n -0000674214 00000 n -0000674279 00000 n -0000674343 00000 n -0000680580 00000 n -0000677142 00000 n -0000674519 00000 n -0000677268 00000 n -0000677333 00000 n -0000677398 00000 n -0000677463 00000 n -0000677528 00000 n -0000677593 00000 n -0000677658 00000 n -0000677723 00000 n -0000677788 00000 n -0000677853 00000 n -0000677918 00000 n -0000677983 00000 n -0000678048 00000 n -0000678113 00000 n -0000678178 00000 n -0000678243 00000 n -0000678308 00000 n -0000678373 00000 n -0000678438 00000 n -0000678503 00000 n -0000678568 00000 n -0000678633 00000 n -0000678698 00000 n -0000678763 00000 n -0000678828 00000 n -0000678893 00000 n -0000678958 00000 n -0000679023 00000 n -0000679088 00000 n -0000679153 00000 n -0000679218 00000 n -0000679283 00000 n -0000679348 00000 n -0000679413 00000 n -0000679477 00000 n -0000679542 00000 n -0000679607 00000 n -0000679672 00000 n -0000679737 00000 n -0000679802 00000 n -0000679867 00000 n -0000679932 00000 n -0000679997 00000 n -0000680062 00000 n -0000680127 00000 n -0000680192 00000 n -0000680257 00000 n -0000680322 00000 n -0000680387 00000 n -0000680452 00000 n -0000680516 00000 n -0000685158 00000 n -0000682894 00000 n -0000680692 00000 n -0000683020 00000 n -0000683085 00000 n -0000683150 00000 n -0000683215 00000 n -0000683280 00000 n -0000683345 00000 n -0000683410 00000 n -0000683475 00000 n -0000683540 00000 n -0000683605 00000 n -0000683670 00000 n -0000683735 00000 n -0000683800 00000 n -0000683865 00000 n -0000683927 00000 n -0000683991 00000 n -0000684056 00000 n -0000684120 00000 n -0000684185 00000 n -0000684250 00000 n -0000684315 00000 n -0000684380 00000 n -0000684445 00000 n -0000684510 00000 n -0000684575 00000 n -0000684704 00000 n -0000684833 00000 n -0000684898 00000 n -0000684963 00000 n -0000685028 00000 n -0000685093 00000 n -0000687953 00000 n -0000687309 00000 n -0000685283 00000 n -0000687435 00000 n -0000687564 00000 n -0000687693 00000 n -0000687758 00000 n -0000687823 00000 n -0000687888 00000 n -0000996758 00000 n -0000692292 00000 n -0000691972 00000 n -0000688066 00000 n -0000692098 00000 n -0000692163 00000 n -0000692228 00000 n -0000695892 00000 n -0000695637 00000 n -0000692445 00000 n -0000695763 00000 n -0000695828 00000 n -0000699140 00000 n -0000698949 00000 n -0000696031 00000 n -0000699075 00000 n -0000702869 00000 n -0000702613 00000 n -0000699266 00000 n -0000702739 00000 n -0000702804 00000 n -0000705710 00000 n -0000705002 00000 n -0000703008 00000 n -0000705128 00000 n -0000705193 00000 n -0000705258 00000 n -0000705323 00000 n -0000705388 00000 n -0000705517 00000 n -0000705582 00000 n -0000705646 00000 n -0000710376 00000 n -0000710120 00000 n -0000705849 00000 n -0000710246 00000 n -0000710311 00000 n -0000996883 00000 n -0000713328 00000 n -0000712555 00000 n -0000710502 00000 n -0000712681 00000 n -0000712746 00000 n -0000712811 00000 n -0000712876 00000 n -0000713005 00000 n -0000713070 00000 n -0000713133 00000 n -0000713198 00000 n -0000713263 00000 n -0000715929 00000 n -0000715220 00000 n -0000713481 00000 n -0000715346 00000 n -0000715411 00000 n -0000715476 00000 n -0000715541 00000 n -0000715606 00000 n -0000715671 00000 n -0000715800 00000 n -0000715865 00000 n -0000719173 00000 n -0000718787 00000 n -0000716081 00000 n -0000718913 00000 n -0000718978 00000 n -0000719043 00000 n -0000719108 00000 n -0000722307 00000 n -0000721534 00000 n -0000719313 00000 n -0000721660 00000 n -0000721725 00000 n -0000721790 00000 n -0000721854 00000 n -0000721982 00000 n -0000722047 00000 n -0000722112 00000 n -0000722177 00000 n -0000722242 00000 n -0000725695 00000 n -0000725504 00000 n -0000722473 00000 n -0000725630 00000 n -0000728804 00000 n -0000728094 00000 n -0000725821 00000 n -0000728220 00000 n -0000728285 00000 n -0000728350 00000 n -0000728415 00000 n -0000728480 00000 n -0000728609 00000 n -0000728674 00000 n -0000728739 00000 n -0000997008 00000 n -0000732356 00000 n -0000732035 00000 n -0000728969 00000 n -0000732161 00000 n -0000732226 00000 n -0000732291 00000 n -0000735802 00000 n -0000735611 00000 n -0000732482 00000 n -0000735737 00000 n -0000738874 00000 n -0000738555 00000 n -0000735928 00000 n -0000738681 00000 n -0000738746 00000 n -0000738810 00000 n -0000741445 00000 n -0000740607 00000 n -0000739027 00000 n -0000740733 00000 n -0000740798 00000 n -0000740863 00000 n -0000740992 00000 n -0000741057 00000 n -0000741122 00000 n -0000741187 00000 n -0000741252 00000 n -0000741316 00000 n -0000741381 00000 n -0000744412 00000 n -0000743768 00000 n -0000741598 00000 n -0000743894 00000 n -0000743959 00000 n -0000744088 00000 n -0000744153 00000 n -0000744217 00000 n -0000744282 00000 n -0000744347 00000 n -0000747884 00000 n -0000747693 00000 n -0000744552 00000 n -0000747819 00000 n -0000997133 00000 n -0000750692 00000 n -0000749918 00000 n -0000748010 00000 n -0000750044 00000 n -0000750109 00000 n -0000750174 00000 n -0000750239 00000 n -0000750368 00000 n -0000750433 00000 n -0000750498 00000 n -0000750562 00000 n -0000750627 00000 n -0000754094 00000 n -0000753903 00000 n -0000750845 00000 n -0000754029 00000 n -0000757130 00000 n -0000756810 00000 n -0000754305 00000 n -0000756936 00000 n -0000757001 00000 n -0000757066 00000 n -0000760440 00000 n -0000759731 00000 n -0000757354 00000 n -0000759857 00000 n -0000759922 00000 n -0000759987 00000 n -0000760051 00000 n -0000760180 00000 n -0000760245 00000 n -0000760310 00000 n -0000760375 00000 n -0000764857 00000 n -0000764601 00000 n -0000760592 00000 n -0000764727 00000 n -0000764792 00000 n -0000768471 00000 n -0000768280 00000 n -0000764983 00000 n -0000768406 00000 n -0000997258 00000 n -0000771253 00000 n -0000770869 00000 n -0000768597 00000 n -0000770995 00000 n -0000771060 00000 n -0000771125 00000 n -0000771189 00000 n -0000774737 00000 n -0000774092 00000 n -0000771405 00000 n -0000774218 00000 n -0000774283 00000 n -0000774412 00000 n -0000774477 00000 n -0000774542 00000 n -0000774607 00000 n -0000774672 00000 n -0000777802 00000 n -0000777092 00000 n -0000774877 00000 n -0000777218 00000 n -0000777283 00000 n -0000777348 00000 n -0000777413 00000 n -0000777542 00000 n -0000777607 00000 n -0000777672 00000 n -0000777737 00000 n -0000780898 00000 n -0000780642 00000 n -0000777968 00000 n -0000780768 00000 n -0000780833 00000 n -0000784040 00000 n -0000783331 00000 n -0000781024 00000 n -0000783457 00000 n -0000783522 00000 n -0000783587 00000 n -0000783652 00000 n -0000783780 00000 n -0000783845 00000 n -0000783910 00000 n -0000783975 00000 n -0000787630 00000 n -0000787309 00000 n -0000784192 00000 n -0000787435 00000 n -0000787500 00000 n -0000787565 00000 n -0000997383 00000 n -0000788609 00000 n -0000788288 00000 n -0000787769 00000 n -0000788414 00000 n -0000788479 00000 n -0000788544 00000 n -0000788820 00000 n -0000800164 00000 n -0000807753 00000 n -0000810053 00000 n -0000810022 00000 n -0000813738 00000 n -0000823178 00000 n -0000833685 00000 n -0000844169 00000 n -0000856793 00000 n -0000875858 00000 n -0000896745 00000 n -0000918888 00000 n -0000936783 00000 n -0000939614 00000 n -0000939384 00000 n -0000966921 00000 n -0000994032 00000 n -0000997472 00000 n -0000997596 00000 n -0000997722 00000 n -0000997848 00000 n -0000997974 00000 n -0000998066 00000 n -0001014681 00000 n -0001033990 00000 n -0001034031 00000 n -0001034071 00000 n -0001034205 00000 n +0000595668 00000 n +0000595733 00000 n +0000595798 00000 n +0000599718 00000 n +0000598655 00000 n +0000595989 00000 n +0000599139 00000 n +0000599268 00000 n +0000599525 00000 n +0000598811 00000 n +0000598979 00000 n +0000599590 00000 n +0000599654 00000 n +0000603371 00000 n +0000603050 00000 n +0000599887 00000 n +0000603176 00000 n +0000603241 00000 n +0000603306 00000 n +0000606631 00000 n +0000606311 00000 n +0000603470 00000 n +0000606437 00000 n +0000606502 00000 n +0000606567 00000 n +0000996261 00000 n +0000610392 00000 n +0000609812 00000 n +0000606743 00000 n +0000609938 00000 n +0000610067 00000 n +0000610132 00000 n +0000610197 00000 n +0000610262 00000 n +0000610327 00000 n +0000614704 00000 n +0000613867 00000 n +0000610504 00000 n +0000613993 00000 n +0000614122 00000 n +0000614187 00000 n +0000614251 00000 n +0000614380 00000 n +0000614445 00000 n +0000614510 00000 n +0000614639 00000 n +0000618141 00000 n +0000617305 00000 n +0000614829 00000 n +0000617431 00000 n +0000617496 00000 n +0000617561 00000 n +0000617690 00000 n +0000617819 00000 n +0000617947 00000 n +0000618076 00000 n +0000621937 00000 n +0000621358 00000 n +0000618338 00000 n +0000621484 00000 n +0000621613 00000 n +0000621742 00000 n +0000621807 00000 n +0000621872 00000 n +0000625905 00000 n +0000625328 00000 n +0000622133 00000 n +0000625454 00000 n +0000625711 00000 n +0000625775 00000 n +0000625840 00000 n +0000629717 00000 n +0000628828 00000 n +0000626017 00000 n +0000629135 00000 n +0000628975 00000 n +0000629393 00000 n +0000629522 00000 n +0000629587 00000 n +0000629652 00000 n +0000996386 00000 n +0000633311 00000 n +0000632934 00000 n +0000629842 00000 n +0000633246 00000 n +0000633081 00000 n +0000788722 00000 n +0000636457 00000 n +0000635749 00000 n +0000633410 00000 n +0000635875 00000 n +0000636004 00000 n +0000636069 00000 n +0000636134 00000 n +0000636262 00000 n +0000636327 00000 n +0000636392 00000 n +0000640428 00000 n +0000639849 00000 n +0000636569 00000 n +0000639975 00000 n +0000640104 00000 n +0000640169 00000 n +0000640234 00000 n +0000807528 00000 n +0000800244 00000 n +0000807348 00000 n +0000640363 00000 n +0000641279 00000 n +0000641088 00000 n +0000640568 00000 n +0000641214 00000 n +0000641719 00000 n +0000641528 00000 n +0000641378 00000 n +0000641654 00000 n +0000643614 00000 n +0000643166 00000 n +0000641761 00000 n +0000643292 00000 n +0000643421 00000 n +0000643550 00000 n +0000996511 00000 n +0000648200 00000 n +0000647257 00000 n +0000643726 00000 n +0000647620 00000 n +0000799923 00000 n +0000790710 00000 n +0000799737 00000 n +0000647404 00000 n +0000647749 00000 n +0000647877 00000 n +0000648006 00000 n +0000649242 00000 n +0000649051 00000 n +0000648437 00000 n +0000649177 00000 n +0000649669 00000 n +0000649478 00000 n +0000649328 00000 n +0000649604 00000 n +0000652982 00000 n +0000651756 00000 n +0000649711 00000 n +0000652273 00000 n +0000652402 00000 n +0000652531 00000 n +0000652660 00000 n +0000652789 00000 n +0000652918 00000 n +0000651912 00000 n +0000652084 00000 n +0000653436 00000 n +0000653245 00000 n +0000653095 00000 n +0000653371 00000 n +0000656680 00000 n +0000656102 00000 n +0000653478 00000 n +0000656228 00000 n +0000656357 00000 n +0000656486 00000 n +0000656615 00000 n +0000996636 00000 n +0000660875 00000 n +0000659657 00000 n +0000656766 00000 n +0000660167 00000 n +0000660296 00000 n +0000660554 00000 n +0000659813 00000 n +0000659992 00000 n +0000660747 00000 n +0000660811 00000 n +0000667762 00000 n +0000663934 00000 n +0000661028 00000 n +0000664060 00000 n +0000664125 00000 n +0000664190 00000 n +0000664255 00000 n +0000664320 00000 n +0000664385 00000 n +0000664450 00000 n +0000664515 00000 n +0000664580 00000 n +0000664645 00000 n +0000664775 00000 n +0000664840 00000 n +0000664905 00000 n +0000664970 00000 n +0000665035 00000 n +0000665100 00000 n +0000665165 00000 n +0000665230 00000 n +0000665295 00000 n +0000665360 00000 n +0000665425 00000 n +0000665490 00000 n +0000665555 00000 n +0000665620 00000 n +0000665685 00000 n +0000665750 00000 n +0000665815 00000 n +0000665880 00000 n +0000665945 00000 n +0000666010 00000 n +0000666075 00000 n +0000666140 00000 n +0000666205 00000 n +0000666270 00000 n +0000666334 00000 n +0000666399 00000 n +0000666464 00000 n +0000666529 00000 n +0000666594 00000 n +0000666659 00000 n +0000666724 00000 n +0000666789 00000 n +0000666854 00000 n +0000666919 00000 n +0000666984 00000 n +0000667049 00000 n +0000667114 00000 n +0000667179 00000 n +0000667244 00000 n +0000667309 00000 n +0000667374 00000 n +0000667439 00000 n +0000667504 00000 n +0000667569 00000 n +0000667634 00000 n +0000667698 00000 n +0000674408 00000 n +0000670844 00000 n +0000667874 00000 n +0000670970 00000 n +0000671035 00000 n +0000671100 00000 n +0000671165 00000 n +0000671230 00000 n +0000671295 00000 n +0000671360 00000 n +0000671425 00000 n +0000671490 00000 n +0000671555 00000 n +0000671620 00000 n +0000671685 00000 n +0000671749 00000 n +0000671814 00000 n +0000671879 00000 n +0000671944 00000 n +0000672009 00000 n +0000672074 00000 n +0000672139 00000 n +0000672204 00000 n +0000672269 00000 n +0000672334 00000 n +0000672399 00000 n +0000672464 00000 n +0000672528 00000 n +0000672593 00000 n +0000672658 00000 n +0000672723 00000 n +0000672788 00000 n +0000672853 00000 n +0000672918 00000 n +0000672983 00000 n +0000673048 00000 n +0000673113 00000 n +0000673178 00000 n +0000673243 00000 n +0000673308 00000 n +0000673373 00000 n +0000673438 00000 n +0000673503 00000 n +0000673567 00000 n +0000673631 00000 n +0000673695 00000 n +0000673760 00000 n +0000673825 00000 n +0000673890 00000 n +0000673955 00000 n +0000674020 00000 n +0000674085 00000 n +0000674150 00000 n +0000674215 00000 n +0000674280 00000 n +0000674344 00000 n +0000680581 00000 n +0000677143 00000 n +0000674520 00000 n +0000677269 00000 n +0000677334 00000 n +0000677399 00000 n +0000677464 00000 n +0000677529 00000 n +0000677594 00000 n +0000677659 00000 n +0000677724 00000 n +0000677789 00000 n +0000677854 00000 n +0000677919 00000 n +0000677984 00000 n +0000678049 00000 n +0000678114 00000 n +0000678179 00000 n +0000678244 00000 n +0000678309 00000 n +0000678374 00000 n +0000678439 00000 n +0000678504 00000 n +0000678569 00000 n +0000678634 00000 n +0000678699 00000 n +0000678764 00000 n +0000678829 00000 n +0000678894 00000 n +0000678959 00000 n +0000679024 00000 n +0000679089 00000 n +0000679154 00000 n +0000679219 00000 n +0000679284 00000 n +0000679349 00000 n +0000679414 00000 n +0000679478 00000 n +0000679543 00000 n +0000679608 00000 n +0000679673 00000 n +0000679738 00000 n +0000679803 00000 n +0000679868 00000 n +0000679933 00000 n +0000679998 00000 n +0000680063 00000 n +0000680128 00000 n +0000680193 00000 n +0000680258 00000 n +0000680323 00000 n +0000680388 00000 n +0000680453 00000 n +0000680517 00000 n +0000685159 00000 n +0000682895 00000 n +0000680693 00000 n +0000683021 00000 n +0000683086 00000 n +0000683151 00000 n +0000683216 00000 n +0000683281 00000 n +0000683346 00000 n +0000683411 00000 n +0000683476 00000 n +0000683541 00000 n +0000683606 00000 n +0000683671 00000 n +0000683736 00000 n +0000683801 00000 n +0000683866 00000 n +0000683928 00000 n +0000683992 00000 n +0000684057 00000 n +0000684121 00000 n +0000684186 00000 n +0000684251 00000 n +0000684316 00000 n +0000684381 00000 n +0000684446 00000 n +0000684511 00000 n +0000684576 00000 n +0000684705 00000 n +0000684834 00000 n +0000684899 00000 n +0000684964 00000 n +0000685029 00000 n +0000685094 00000 n +0000687954 00000 n +0000687310 00000 n +0000685284 00000 n +0000687436 00000 n +0000687565 00000 n +0000687694 00000 n +0000687759 00000 n +0000687824 00000 n +0000687889 00000 n +0000996761 00000 n +0000692293 00000 n +0000691973 00000 n +0000688067 00000 n +0000692099 00000 n +0000692164 00000 n +0000692229 00000 n +0000695893 00000 n +0000695638 00000 n +0000692446 00000 n +0000695764 00000 n +0000695829 00000 n +0000699141 00000 n +0000698950 00000 n +0000696032 00000 n +0000699076 00000 n +0000702870 00000 n +0000702614 00000 n +0000699267 00000 n +0000702740 00000 n +0000702805 00000 n +0000705711 00000 n +0000705003 00000 n +0000703009 00000 n +0000705129 00000 n +0000705194 00000 n +0000705259 00000 n +0000705324 00000 n +0000705389 00000 n +0000705518 00000 n +0000705583 00000 n +0000705647 00000 n +0000710377 00000 n +0000710121 00000 n +0000705850 00000 n +0000710247 00000 n +0000710312 00000 n +0000996886 00000 n +0000713329 00000 n +0000712556 00000 n +0000710503 00000 n +0000712682 00000 n +0000712747 00000 n +0000712812 00000 n +0000712877 00000 n +0000713006 00000 n +0000713071 00000 n +0000713134 00000 n +0000713199 00000 n +0000713264 00000 n +0000715930 00000 n +0000715221 00000 n +0000713482 00000 n +0000715347 00000 n +0000715412 00000 n +0000715477 00000 n +0000715542 00000 n +0000715607 00000 n +0000715672 00000 n +0000715801 00000 n +0000715866 00000 n +0000719174 00000 n +0000718788 00000 n +0000716082 00000 n +0000718914 00000 n +0000718979 00000 n +0000719044 00000 n +0000719109 00000 n +0000722308 00000 n +0000721535 00000 n +0000719314 00000 n +0000721661 00000 n +0000721726 00000 n +0000721791 00000 n +0000721855 00000 n +0000721983 00000 n +0000722048 00000 n +0000722113 00000 n +0000722178 00000 n +0000722243 00000 n +0000725696 00000 n +0000725505 00000 n +0000722474 00000 n +0000725631 00000 n +0000728805 00000 n +0000728095 00000 n +0000725822 00000 n +0000728221 00000 n +0000728286 00000 n +0000728351 00000 n +0000728416 00000 n +0000728481 00000 n +0000728610 00000 n +0000728675 00000 n +0000728740 00000 n +0000997011 00000 n +0000732357 00000 n +0000732036 00000 n +0000728970 00000 n +0000732162 00000 n +0000732227 00000 n +0000732292 00000 n +0000735803 00000 n +0000735612 00000 n +0000732483 00000 n +0000735738 00000 n +0000738875 00000 n +0000738556 00000 n +0000735929 00000 n +0000738682 00000 n +0000738747 00000 n +0000738811 00000 n +0000741446 00000 n +0000740608 00000 n +0000739028 00000 n +0000740734 00000 n +0000740799 00000 n +0000740864 00000 n +0000740993 00000 n +0000741058 00000 n +0000741123 00000 n +0000741188 00000 n +0000741253 00000 n +0000741317 00000 n +0000741382 00000 n +0000744413 00000 n +0000743769 00000 n +0000741599 00000 n +0000743895 00000 n +0000743960 00000 n +0000744089 00000 n +0000744154 00000 n +0000744218 00000 n +0000744283 00000 n +0000744348 00000 n +0000747885 00000 n +0000747694 00000 n +0000744553 00000 n +0000747820 00000 n +0000997136 00000 n +0000750693 00000 n +0000749919 00000 n +0000748011 00000 n +0000750045 00000 n +0000750110 00000 n +0000750175 00000 n +0000750240 00000 n +0000750369 00000 n +0000750434 00000 n +0000750499 00000 n +0000750563 00000 n +0000750628 00000 n +0000754095 00000 n +0000753904 00000 n +0000750846 00000 n +0000754030 00000 n +0000757131 00000 n +0000756811 00000 n +0000754306 00000 n +0000756937 00000 n +0000757002 00000 n +0000757067 00000 n +0000760441 00000 n +0000759732 00000 n +0000757355 00000 n +0000759858 00000 n +0000759923 00000 n +0000759988 00000 n +0000760052 00000 n +0000760181 00000 n +0000760246 00000 n +0000760311 00000 n +0000760376 00000 n +0000764858 00000 n +0000764602 00000 n +0000760593 00000 n +0000764728 00000 n +0000764793 00000 n +0000768472 00000 n +0000768281 00000 n +0000764984 00000 n +0000768407 00000 n +0000997261 00000 n +0000771254 00000 n +0000770870 00000 n +0000768598 00000 n +0000770996 00000 n +0000771061 00000 n +0000771126 00000 n +0000771190 00000 n +0000774738 00000 n +0000774093 00000 n +0000771406 00000 n +0000774219 00000 n +0000774284 00000 n +0000774413 00000 n +0000774478 00000 n +0000774543 00000 n +0000774608 00000 n +0000774673 00000 n +0000777803 00000 n +0000777093 00000 n +0000774878 00000 n +0000777219 00000 n +0000777284 00000 n +0000777349 00000 n +0000777414 00000 n +0000777543 00000 n +0000777608 00000 n +0000777673 00000 n +0000777738 00000 n +0000780899 00000 n +0000780643 00000 n +0000777969 00000 n +0000780769 00000 n +0000780834 00000 n +0000784041 00000 n +0000783332 00000 n +0000781025 00000 n +0000783458 00000 n +0000783523 00000 n +0000783588 00000 n +0000783653 00000 n +0000783781 00000 n +0000783846 00000 n +0000783911 00000 n +0000783976 00000 n +0000787631 00000 n +0000787310 00000 n +0000784193 00000 n +0000787436 00000 n +0000787501 00000 n +0000787566 00000 n +0000997386 00000 n +0000788610 00000 n +0000788289 00000 n +0000787770 00000 n +0000788415 00000 n +0000788480 00000 n +0000788545 00000 n +0000788821 00000 n +0000800165 00000 n +0000807754 00000 n +0000810054 00000 n +0000810023 00000 n +0000813742 00000 n +0000823182 00000 n +0000833689 00000 n +0000844173 00000 n +0000856797 00000 n +0000875862 00000 n +0000896749 00000 n +0000918892 00000 n +0000936787 00000 n +0000939617 00000 n +0000939387 00000 n +0000966924 00000 n +0000994035 00000 n +0000997475 00000 n +0000997599 00000 n +0000997725 00000 n +0000997851 00000 n +0000997977 00000 n +0000998069 00000 n +0001014684 00000 n +0001033993 00000 n +0001034034 00000 n +0001034074 00000 n +0001034208 00000 n trailer << /Size 2178 /Root 2176 0 R /Info 2177 0 R -/ID [<2220CDD4098638BB2BCBC2C8D0307393> <2220CDD4098638BB2BCBC2C8D0307393>] +/ID [ ] >> startxref -1034463 +1034466 %%EOF diff --git a/contrib/bind9/doc/misc/format-options.pl b/contrib/bind9/doc/misc/format-options.pl index b0b8d5232..c405ee2ba 100644 --- a/contrib/bind9/doc/misc/format-options.pl +++ b/contrib/bind9/doc/misc/format-options.pl @@ -1,6 +1,6 @@ #!/usr/bin/perl # -# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2001 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any diff --git a/contrib/bind9/doc/misc/sort-options.pl b/contrib/bind9/doc/misc/sort-options.pl index 42515215d..003052598 100755 --- a/contrib/bind9/doc/misc/sort-options.pl +++ b/contrib/bind9/doc/misc/sort-options.pl @@ -1,6 +1,6 @@ #!/bin/perl # -# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above diff --git a/contrib/bind9/isc-config.sh.in b/contrib/bind9/isc-config.sh.in index 0eafca7b2..26b7d64dd 100644 --- a/contrib/bind9/isc-config.sh.in +++ b/contrib/bind9/isc-config.sh.in @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2000, 2001, 2003 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any diff --git a/contrib/bind9/lib/Makefile.in b/contrib/bind9/lib/Makefile.in index e46aef26d..e3f0bdb8f 100644 --- a/contrib/bind9/lib/Makefile.in +++ b/contrib/bind9/lib/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 1998-2001, 2003 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any diff --git a/contrib/bind9/lib/bind9/api b/contrib/bind9/lib/bind9/api index 06e27c3b7..8361ce630 100644 --- a/contrib/bind9/lib/bind9/api +++ b/contrib/bind9/lib/bind9/api @@ -4,5 +4,5 @@ # 9.8: 80-89 # 9.9: 90-109 LIBINTERFACE = 50 -LIBREVISION = 7 +LIBREVISION = 9 LIBAGE = 0 diff --git a/contrib/bind9/lib/bind9/check.c b/contrib/bind9/lib/bind9/check.c index ddc546733..b43bb7076 100644 --- a/contrib/bind9/lib/bind9/check.c +++ b/contrib/bind9/lib/bind9/check.c @@ -286,10 +286,6 @@ disabled_algorithms(const cfg_obj_t *disabled, isc_log_t *logctx) { r.length = strlen(r.base); tresult = dns_secalg_fromtext(&alg, &r); - if (tresult != ISC_R_SUCCESS) { - isc_uint8_t ui; - result = isc_parse_uint8(&ui, r.base, 10); - } if (tresult != ISC_R_SUCCESS) { cfg_obj_log(cfg_listelt_value(element), logctx, ISC_LOG_ERROR, "invalid algorithm '%s'", @@ -1027,6 +1023,29 @@ typedef struct { int allowed; } optionstable; +static isc_result_t +check_nonzero(const cfg_obj_t *options, isc_log_t *logctx) { + isc_result_t result = ISC_R_SUCCESS; + const cfg_obj_t *obj = NULL; + unsigned int i; + + static const char *nonzero[] = { "max-retry-time", "min-retry-time", + "max-refresh-time", "min-refresh-time" }; + /* + * Check if value is zero. + */ + for (i = 0; i < sizeof(nonzero) / sizeof(nonzero[0]); i++) { + obj = NULL; + if (cfg_map_get(options, nonzero[i], &obj) == ISC_R_SUCCESS && + cfg_obj_asuint32(obj) == 0) { + cfg_obj_log(obj, logctx, ISC_LOG_ERROR, + "'%s' must not be zero", nonzero[i]); + result = ISC_R_FAILURE; + } + } + return (result); +} + static isc_result_t check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, const cfg_obj_t *config, isc_symtab_t *symtab, @@ -1036,7 +1055,7 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, const char *zname; const char *typestr; unsigned int ztype; - const cfg_obj_t *zoptions; + const cfg_obj_t *zoptions, *goptions = NULL; const cfg_obj_t *obj = NULL; isc_result_t result = ISC_R_SUCCESS; isc_result_t tresult; @@ -1105,9 +1124,11 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, }; zname = cfg_obj_asstring(cfg_tuple_get(zconfig, "name")); - zoptions = cfg_tuple_get(zconfig, "options"); + if (config != NULL) + cfg_map_get(config, "options", &goptions); + obj = NULL; (void)cfg_map_get(zoptions, "type", &obj); if (obj == NULL) { @@ -1187,6 +1208,12 @@ check_zoneconf(const cfg_obj_t *zconfig, const cfg_obj_t *voptions, root = ISC_TRUE; } + /* + * Check if value is zero. + */ + if (check_nonzero(zoptions, logctx) != ISC_R_SUCCESS) + result = ISC_R_FAILURE; + /* * Look for inappropriate options for the given zone type. * Check that ACLs expand correctly. @@ -1760,9 +1787,15 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions, isc_result_t result = ISC_R_SUCCESS; isc_result_t tresult = ISC_R_SUCCESS; cfg_aclconfctx_t actx; + const cfg_obj_t *options = NULL; const cfg_obj_t *obj; isc_boolean_t enablednssec, enablevalidation; + /* + * Get global options block. + */ + (void)cfg_map_get(config, "options", &options); + /* * Check that all zone statements are syntactically correct and * there are no duplicate zones. @@ -1798,8 +1831,6 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions, * Check that forwarding is reasonable. */ if (voptions == NULL) { - const cfg_obj_t *options = NULL; - (void)cfg_map_get(config, "options", &options); if (options != NULL) if (check_forward(options, NULL, logctx) != ISC_R_SUCCESS) @@ -1809,12 +1840,18 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions, result = ISC_R_FAILURE; } + /* + * Check non-zero options at the global and view levels. + */ + if (options != NULL && check_nonzero(options, logctx) != ISC_R_SUCCESS) + result = ISC_R_FAILURE; + if (voptions != NULL &&check_nonzero(voptions, logctx) != ISC_R_SUCCESS) + result = ISC_R_FAILURE; + /* * Check that dual-stack-servers is reasonable. */ if (voptions == NULL) { - const cfg_obj_t *options = NULL; - (void)cfg_map_get(config, "options", &options); if (options != NULL) if (check_dual_stack(options, logctx) != ISC_R_SUCCESS) result = ISC_R_FAILURE; @@ -1838,15 +1875,15 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions, tresult = isc_symtab_create(mctx, 1000, freekey, mctx, ISC_FALSE, &symtab); if (tresult != ISC_R_SUCCESS) - return (ISC_R_NOMEMORY); + goto cleanup; (void)cfg_map_get(config, "key", &keys); tresult = check_keylist(keys, symtab, mctx, logctx); if (tresult == ISC_R_EXISTS) result = ISC_R_FAILURE; else if (tresult != ISC_R_SUCCESS) { - isc_symtab_destroy(&symtab); - return (tresult); + result = tresult; + goto cleanup; } if (voptions != NULL) { @@ -1856,8 +1893,8 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions, if (tresult == ISC_R_EXISTS) result = ISC_R_FAILURE; else if (tresult != ISC_R_SUCCESS) { - isc_symtab_destroy(&symtab); - return (tresult); + result = tresult; + goto cleanup; } } @@ -1939,6 +1976,9 @@ check_viewconf(const cfg_obj_t *config, const cfg_obj_t *voptions, if (tresult != ISC_R_SUCCESS) result = tresult; + cleanup: + if (symtab != NULL) + isc_symtab_destroy(&symtab); cfg_aclconfctx_destroy(&actx); return (result); diff --git a/contrib/bind9/lib/bind9/include/Makefile.in b/contrib/bind9/lib/bind9/include/Makefile.in index 65eecb05b..0a7436c07 100644 --- a/contrib/bind9/lib/bind9/include/Makefile.in +++ b/contrib/bind9/lib/bind9/include/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2001 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any diff --git a/contrib/bind9/lib/bind9/include/bind9/Makefile.in b/contrib/bind9/lib/bind9/include/bind9/Makefile.in index 8abfaf65a..11ae58620 100644 --- a/contrib/bind9/lib/bind9/include/bind9/Makefile.in +++ b/contrib/bind9/lib/bind9/include/bind9/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2001 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any diff --git a/contrib/bind9/lib/dns/adb.c b/contrib/bind9/lib/dns/adb.c index e021b8d9b..35b4caeb0 100644 --- a/contrib/bind9/lib/dns/adb.c +++ b/contrib/bind9/lib/dns/adb.c @@ -3430,8 +3430,10 @@ dns_adb_adjustsrtt(dns_adb_t *adb, dns_adbaddrinfo_t *addr, addr->entry->srtt = new_srtt; addr->srtt = new_srtt; - isc_stdtime_get(&now); - addr->entry->expires = now + ADB_ENTRY_WINDOW; + if (addr->entry->expires == 0) { + isc_stdtime_get(&now); + addr->entry->expires = now + ADB_ENTRY_WINDOW; + } UNLOCK(&adb->entrylocks[bucket]); } @@ -3441,6 +3443,7 @@ dns_adb_changeflags(dns_adb_t *adb, dns_adbaddrinfo_t *addr, unsigned int bits, unsigned int mask) { int bucket; + isc_stdtime_t now; REQUIRE(DNS_ADB_VALID(adb)); REQUIRE(DNS_ADBADDRINFO_VALID(addr)); @@ -3449,6 +3452,11 @@ dns_adb_changeflags(dns_adb_t *adb, dns_adbaddrinfo_t *addr, LOCK(&adb->entrylocks[bucket]); addr->entry->flags = (addr->entry->flags & ~mask) | (bits & mask); + if (addr->entry->expires == 0) { + isc_stdtime_get(&now); + addr->entry->expires = now + ADB_ENTRY_WINDOW; + } + /* * Note that we do not update the other bits in addr->flags with * the most recent values from addr->entry->flags. @@ -3527,15 +3535,16 @@ dns_adb_freeaddrinfo(dns_adb_t *adb, dns_adbaddrinfo_t **addrp) { entry = addr->entry; REQUIRE(DNS_ADBENTRY_VALID(entry)); - isc_stdtime_get(&now); - *addrp = NULL; overmem = isc_mem_isovermem(adb->mctx); bucket = addr->entry->lock_bucket; LOCK(&adb->entrylocks[bucket]); - entry->expires = now + ADB_ENTRY_WINDOW; + if (entry->expires == 0) { + isc_stdtime_get(&now); + entry->expires = now + ADB_ENTRY_WINDOW; + } want_check_exit = dec_entry_refcnt(adb, overmem, entry, ISC_FALSE); diff --git a/contrib/bind9/lib/dns/api b/contrib/bind9/lib/dns/api index 974ae84d5..02fb649d2 100644 --- a/contrib/bind9/lib/dns/api +++ b/contrib/bind9/lib/dns/api @@ -3,6 +3,6 @@ # 9.7: 60-79 # 9.8: 80-89 # 9.9: 90-109 -LIBINTERFACE = 110 +LIBINTERFACE = 111 LIBREVISION = 2 -LIBAGE = 0 +LIBAGE = 1 diff --git a/contrib/bind9/lib/dns/dnssec.c b/contrib/bind9/lib/dns/dnssec.c index 6e9ab9f0d..393a9c794 100644 --- a/contrib/bind9/lib/dns/dnssec.c +++ b/contrib/bind9/lib/dns/dnssec.c @@ -35,16 +35,20 @@ #include #include #include +#include #include #include #include #include #include #include +#include #include /* for DNS_TSIG_FUDGE */ #include +LIBDNS_EXTERNAL_DATA isc_stats_t *dns_dnssec_stats; + #define is_response(msg) (msg->flags & DNS_MESSAGEFLAG_QR) #define RETERR(x) do { \ @@ -74,6 +78,12 @@ digest_callback(void *arg, isc_region_t *data) { return (dst_context_adddata(ctx, data)); } +static inline void +inc_stat(isc_statscounter_t counter) { + if (dns_dnssec_stats != NULL) + isc_stats_increment(dns_dnssec_stats, counter); +} + /* * Make qsort happy. */ @@ -150,7 +160,9 @@ dns_dnssec_keyfromrdata(dns_name_t *name, dns_rdata_t *rdata, isc_mem_t *mctx, } static isc_result_t -digest_sig(dst_context_t *ctx, dns_rdata_t *sigrdata, dns_rdata_rrsig_t *sig) { +digest_sig(dst_context_t *ctx, isc_boolean_t downcase, dns_rdata_t *sigrdata, + dns_rdata_rrsig_t *rrsig) +{ isc_region_t r; isc_result_t ret; dns_fixedname_t fname; @@ -162,11 +174,16 @@ digest_sig(dst_context_t *ctx, dns_rdata_t *sigrdata, dns_rdata_rrsig_t *sig) { ret = dst_context_adddata(ctx, &r); if (ret != ISC_R_SUCCESS) return (ret); - dns_fixedname_init(&fname); - RUNTIME_CHECK(dns_name_downcase(&sig->signer, - dns_fixedname_name(&fname), NULL) - == ISC_R_SUCCESS); - dns_name_toregion(dns_fixedname_name(&fname), &r); + if (downcase) { + dns_fixedname_init(&fname); + + RUNTIME_CHECK(dns_name_downcase(&rrsig->signer, + dns_fixedname_name(&fname), + NULL) == ISC_R_SUCCESS); + dns_name_toregion(dns_fixedname_name(&fname), &r); + } else + dns_name_toregion(&rrsig->signer, &r); + return (dst_context_adddata(ctx, &r)); } @@ -188,6 +205,7 @@ dns_dnssec_sign(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key, isc_uint32_t flags; unsigned int sigsize; dns_fixedname_t fnewname; + dns_fixedname_t fsigner; REQUIRE(name != NULL); REQUIRE(dns_name_countlabels(name) <= 255); @@ -215,8 +233,14 @@ dns_dnssec_sign(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key, sig.common.rdtype = dns_rdatatype_rrsig; ISC_LINK_INIT(&sig.common, link); + /* + * Downcase signer. + */ dns_name_init(&sig.signer, NULL); - dns_name_clone(dst_key_name(key), &sig.signer); + dns_fixedname_init(&fsigner); + RUNTIME_CHECK(dns_name_downcase(dst_key_name(key), + dns_fixedname_name(&fsigner), NULL) == ISC_R_SUCCESS); + dns_name_clone(dns_fixedname_name(&fsigner), &sig.signer); sig.covered = set->type; sig.algorithm = dst_key_alg(key); @@ -256,7 +280,7 @@ dns_dnssec_sign(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key, /* * Digest the SIG rdata. */ - ret = digest_sig(ctx, &tmpsigrdata, &sig); + ret = digest_sig(ctx, ISC_FALSE, &tmpsigrdata, &sig); if (ret != ISC_R_SUCCESS) goto cleanup_context; @@ -329,7 +353,7 @@ dns_dnssec_sign(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key, memcpy(sig.signature, r.base, sig.siglen); ret = dns_rdata_fromstruct(sigrdata, sig.common.rdclass, - sig.common.rdtype, &sig, buffer); + sig.common.rdtype, &sig, buffer); cleanup_array: isc_mem_put(mctx, rdatas, nrdatas * sizeof(dns_rdata_t)); @@ -360,6 +384,7 @@ dns_dnssec_verify2(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key, dst_context_t *ctx = NULL; int labels = 0; isc_uint32_t flags; + isc_boolean_t downcase = ISC_FALSE; REQUIRE(name != NULL); REQUIRE(set != NULL); @@ -374,8 +399,10 @@ dns_dnssec_verify2(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key, if (set->type != sig.covered) return (DNS_R_SIGINVALID); - if (isc_serial_lt(sig.timeexpire, sig.timesigned)) + if (isc_serial_lt(sig.timeexpire, sig.timesigned)) { + inc_stat(dns_dnssecstats_fail); return (DNS_R_SIGINVALID); + } if (!ignoretime) { isc_stdtime_get(&now); @@ -383,10 +410,13 @@ dns_dnssec_verify2(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key, /* * Is SIG temporally valid? */ - if (isc_serial_lt((isc_uint32_t)now, sig.timesigned)) + if (isc_serial_lt((isc_uint32_t)now, sig.timesigned)) { + inc_stat(dns_dnssecstats_fail); return (DNS_R_SIGFUTURE); - else if (isc_serial_lt(sig.timeexpire, (isc_uint32_t)now)) + } else if (isc_serial_lt(sig.timeexpire, (isc_uint32_t)now)) { + inc_stat(dns_dnssecstats_fail); return (DNS_R_SIGEXPIRED); + } } /* @@ -397,16 +427,22 @@ dns_dnssec_verify2(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key, case dns_rdatatype_ns: case dns_rdatatype_soa: case dns_rdatatype_dnskey: - if (!dns_name_equal(name, &sig.signer)) + if (!dns_name_equal(name, &sig.signer)) { + inc_stat(dns_dnssecstats_fail); return (DNS_R_SIGINVALID); + } break; case dns_rdatatype_ds: - if (dns_name_equal(name, &sig.signer)) + if (dns_name_equal(name, &sig.signer)) { + inc_stat(dns_dnssecstats_fail); return (DNS_R_SIGINVALID); + } /* FALLTHROUGH */ default: - if (!dns_name_issubdomain(name, &sig.signer)) + if (!dns_name_issubdomain(name, &sig.signer)) { + inc_stat(dns_dnssecstats_fail); return (DNS_R_SIGINVALID); + } break; } @@ -414,11 +450,16 @@ dns_dnssec_verify2(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key, * Is the key allowed to sign data? */ flags = dst_key_flags(key); - if (flags & DNS_KEYTYPE_NOAUTH) + if (flags & DNS_KEYTYPE_NOAUTH) { + inc_stat(dns_dnssecstats_fail); return (DNS_R_KEYUNAUTHORIZED); - if ((flags & DNS_KEYFLAG_OWNERMASK) != DNS_KEYOWNER_ZONE) + } + if ((flags & DNS_KEYFLAG_OWNERMASK) != DNS_KEYOWNER_ZONE) { + inc_stat(dns_dnssecstats_fail); return (DNS_R_KEYUNAUTHORIZED); + } + again: ret = dst_context_create(key, mctx, &ctx); if (ret != ISC_R_SUCCESS) goto cleanup_struct; @@ -426,7 +467,7 @@ dns_dnssec_verify2(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key, /* * Digest the SIG rdata (not including the signature). */ - ret = digest_sig(ctx, sigrdata, &sig); + ret = digest_sig(ctx, downcase, sigrdata, &sig); if (ret != ISC_R_SUCCESS) goto cleanup_context; @@ -505,21 +546,40 @@ dns_dnssec_verify2(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key, r.base = sig.signature; r.length = sig.siglen; ret = dst_context_verify(ctx, &r); - if (ret == DST_R_VERIFYFAILURE) - ret = DNS_R_SIGINVALID; + if (ret == ISC_R_SUCCESS && downcase) { + char namebuf[DNS_NAME_FORMATSIZE]; + dns_name_format(&sig.signer, namebuf, sizeof(namebuf)); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, + DNS_LOGMODULE_DNSSEC, ISC_LOG_INFO, + "sucessfully validated after lower casing " + "signer '%s'", namebuf); + inc_stat(dns_dnssecstats_downcase); + } else if (ret == ISC_R_SUCCESS) + inc_stat(dns_dnssecstats_asis); cleanup_array: isc_mem_put(mctx, rdatas, nrdatas * sizeof(dns_rdata_t)); cleanup_context: dst_context_destroy(&ctx); + if (ret == DST_R_VERIFYFAILURE && !downcase) { + downcase = ISC_TRUE; + goto again; + } cleanup_struct: dns_rdata_freestruct(&sig); + if (ret == DST_R_VERIFYFAILURE) + ret = DNS_R_SIGINVALID; + + if (ret != ISC_R_SUCCESS) + inc_stat(dns_dnssecstats_fail); + if (ret == ISC_R_SUCCESS && labels - sig.labels > 0) { if (wild != NULL) RUNTIME_CHECK(dns_name_concatenate(dns_wildcardname, dns_fixedname_name(&fnewname), wild, NULL) == ISC_R_SUCCESS); + inc_stat(dns_dnssecstats_wildcard); ret = DNS_R_FROMWILDCARD; } return (ret); diff --git a/contrib/bind9/lib/dns/dst_openssl.h b/contrib/bind9/lib/dns/dst_openssl.h index 287c1a47d..4ecbb22ac 100644 --- a/contrib/bind9/lib/dns/dst_openssl.h +++ b/contrib/bind9/lib/dns/dst_openssl.h @@ -39,6 +39,9 @@ ISC_LANG_BEGINDECLS isc_result_t dst__openssl_toresult(isc_result_t fallback); +isc_result_t +dst__openssl_toresult2(const char *funcname, isc_result_t fallback); + #ifdef USE_ENGINE ENGINE * dst__openssl_getengine(const char *engine); diff --git a/contrib/bind9/lib/dns/dst_parse.c b/contrib/bind9/lib/dns/dst_parse.c index 5c2cf9333..e0db5fe97 100644 --- a/contrib/bind9/lib/dns/dst_parse.c +++ b/contrib/bind9/lib/dns/dst_parse.c @@ -248,10 +248,14 @@ check_data(const dst_private_t *priv, const unsigned int alg, switch (alg) { case DST_ALG_RSAMD5: case DST_ALG_RSASHA1: + case DST_ALG_NSEC3RSASHA1: + case DST_ALG_RSASHA256: + case DST_ALG_RSASHA512: return (check_rsa(priv)); case DST_ALG_DH: return (check_dh(priv)); case DST_ALG_DSA: + case DST_ALG_NSEC3DSA: return (check_dsa(priv)); case DST_ALG_HMACMD5: return (check_hmac_md5(priv, old)); @@ -289,7 +293,7 @@ int dst__privstruct_parse(dst_key_t *key, unsigned int alg, isc_lex_t *lex, isc_mem_t *mctx, dst_private_t *priv) { - int n = 0, major, minor; + int n = 0, major, minor, check; isc_buffer_t b; isc_token_t token; unsigned char *data = NULL; @@ -416,8 +420,14 @@ dst__privstruct_parse(dst_key_t *key, unsigned int alg, isc_lex_t *lex, done: priv->nelements = n; - if (check_data(priv, alg, ISC_TRUE) < 0) + check = check_data(priv, alg, ISC_TRUE); + if (check < 0) { + ret = DST_R_INVALIDPRIVATEKEY; goto fail; + } else if (check != ISC_R_SUCCESS) { + ret = check; + goto fail; + } return (ISC_R_SUCCESS); @@ -436,7 +446,7 @@ dst__privstruct_writefile(const dst_key_t *key, const dst_private_t *priv, { FILE *fp; int ret, i; - isc_result_t iret; + isc_result_t result; char filename[ISC_DIR_NAMEMAX]; char buffer[MAXFIELDSIZE * 2]; isc_buffer_t b; @@ -444,13 +454,16 @@ dst__privstruct_writefile(const dst_key_t *key, const dst_private_t *priv, REQUIRE(priv != NULL); - if (check_data(priv, dst_key_alg(key), ISC_FALSE) < 0) + ret = check_data(priv, dst_key_alg(key), ISC_FALSE); + if (ret < 0) return (DST_R_INVALIDPRIVATEKEY); + else if (ret != ISC_R_SUCCESS) + return (ret); isc_buffer_init(&b, filename, sizeof(filename)); - ret = dst_key_buildfilename(key, DST_TYPE_PRIVATE, directory, &b); - if (ret != ISC_R_SUCCESS) - return (ret); + result = dst_key_buildfilename(key, DST_TYPE_PRIVATE, directory, &b); + if (result != ISC_R_SUCCESS) + return (result); if ((fp = fopen(filename, "w")) == NULL) return (DST_R_WRITEERROR); @@ -525,8 +538,8 @@ dst__privstruct_writefile(const dst_key_t *key, const dst_private_t *priv, r.base = priv->elements[i].data; r.length = priv->elements[i].length; isc_buffer_init(&b, buffer, sizeof(buffer)); - iret = isc_base64_totext(&r, sizeof(buffer), "", &b); - if (iret != ISC_R_SUCCESS) { + result = isc_base64_totext(&r, sizeof(buffer), "", &b); + if (result != ISC_R_SUCCESS) { fclose(fp); return (DST_R_INVALIDPRIVATEKEY); } @@ -536,9 +549,9 @@ dst__privstruct_writefile(const dst_key_t *key, const dst_private_t *priv, } fflush(fp); - iret = ferror(fp) ? DST_R_WRITEERROR : ISC_R_SUCCESS; + result = ferror(fp) ? DST_R_WRITEERROR : ISC_R_SUCCESS; fclose(fp); - return (iret); + return (result); } /*! \file */ diff --git a/contrib/bind9/lib/dns/dst_result.c b/contrib/bind9/lib/dns/dst_result.c index 429dbb2fc..297e809cc 100644 --- a/contrib/bind9/lib/dns/dst_result.c +++ b/contrib/bind9/lib/dns/dst_result.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004, 2005, 2007, 2008, 2012 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 1999-2001 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -30,7 +30,7 @@ static const char *text[DST_R_NRESULTS] = { "algorithm is unsupported", /*%< 0 */ - "openssl failure", /*%< 1 */ + "crypto failure", /*%< 1 */ "built with no crypto support", /*%< 2 */ "illegal operation for a null key", /*%< 3 */ "public key is invalid", /*%< 4 */ diff --git a/contrib/bind9/lib/dns/include/Makefile.in b/contrib/bind9/lib/dns/include/Makefile.in index b52cb980d..10d798d96 100644 --- a/contrib/bind9/lib/dns/include/Makefile.in +++ b/contrib/bind9/lib/dns/include/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 1998-2001 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any diff --git a/contrib/bind9/lib/dns/include/dns/dnssec.h b/contrib/bind9/lib/dns/include/dns/dnssec.h index 6a2cbb4c1..22a8a41e6 100644 --- a/contrib/bind9/lib/dns/include/dns/dnssec.h +++ b/contrib/bind9/lib/dns/include/dns/dnssec.h @@ -24,6 +24,7 @@ #include #include +#include #include @@ -31,6 +32,8 @@ ISC_LANG_BEGINDECLS +LIBDNS_EXTERNAL_DATA extern isc_stats_t *dns_dnssec_stats; + /*%< Maximum number of keys supported in a zone. */ #define DNS_MAXZONEKEYS 32 @@ -60,8 +63,8 @@ dns_dnssec_sign(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key, isc_stdtime_t *inception, isc_stdtime_t *expire, isc_mem_t *mctx, isc_buffer_t *buffer, dns_rdata_t *sigrdata); /*%< - * Generates a SIG record covering this rdataset. This has no effect - * on existing SIG records. + * Generates a RRSIG record covering this rdataset. This has no effect + * on existing RRSIG records. * * Requires: *\li 'name' (the owner name of the record) is a valid name @@ -94,9 +97,9 @@ dns_dnssec_verify2(dns_name_t *name, dns_rdataset_t *set, dst_key_t *key, isc_boolean_t ignoretime, isc_mem_t *mctx, dns_rdata_t *sigrdata, dns_name_t *wild); /*%< - * Verifies the SIG record covering this rdataset signed by a specific - * key. This does not determine if the key's owner is authorized to - * sign this record, as this requires a resolver or database. + * Verifies the RRSIG record covering this rdataset signed by a specific + * key. This does not determine if the key's owner is authorized to sign + * this record, as this requires a resolver or database. * If 'ignoretime' is ISC_TRUE, temporal validity will not be checked. * * Requires: diff --git a/contrib/bind9/lib/dns/include/dns/iptable.h b/contrib/bind9/lib/dns/include/dns/iptable.h index d7eb140dc..2ce8e1812 100644 --- a/contrib/bind9/lib/dns/include/dns/iptable.h +++ b/contrib/bind9/lib/dns/include/dns/iptable.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2007, 2012 Internet Systems Consortium, Inc. ("ISC") * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -23,6 +23,8 @@ #include #include +#include + struct dns_iptable { unsigned int magic; isc_mem_t *mctx; diff --git a/contrib/bind9/lib/dns/include/dns/log.h b/contrib/bind9/lib/dns/include/dns/log.h index 475d8095b..fbcd2def8 100644 --- a/contrib/bind9/lib/dns/include/dns/log.h +++ b/contrib/bind9/lib/dns/include/dns/log.h @@ -73,6 +73,8 @@ LIBDNS_EXTERNAL_DATA extern isc_logmodule_t dns_modules[]; #define DNS_LOGMODULE_HINTS (&dns_modules[24]) #define DNS_LOGMODULE_ACACHE (&dns_modules[25]) #define DNS_LOGMODULE_DLZ (&dns_modules[26]) +#define DNS_LOGMODULE_DNSSEC (&dns_modules[27]) +#define DNS_LOGMODULE_CRYPTO (&dns_modules[28]) ISC_LANG_BEGINDECLS diff --git a/contrib/bind9/lib/dns/include/dns/stats.h b/contrib/bind9/lib/dns/include/dns/stats.h index bc77d1e9c..536426727 100644 --- a/contrib/bind9/lib/dns/include/dns/stats.h +++ b/contrib/bind9/lib/dns/include/dns/stats.h @@ -64,6 +64,16 @@ enum { dns_resstatscounter_max = 30, + /* + * DNSSEC stats. + */ + dns_dnssecstats_asis = 0, + dns_dnssecstats_downcase = 1, + dns_dnssecstats_wildcard = 2, + dns_dnssecstats_fail = 3, + + dns_dnssecstats_max = 4, + /*% * Zone statistics counters. */ diff --git a/contrib/bind9/lib/dns/include/dns/zone.h b/contrib/bind9/lib/dns/include/dns/zone.h index 4f8e0ba16..5bfe1485c 100644 --- a/contrib/bind9/lib/dns/include/dns/zone.h +++ b/contrib/bind9/lib/dns/include/dns/zone.h @@ -1765,7 +1765,7 @@ dns_zone_setsignatures(dns_zone_t *zone, isc_uint32_t signatures); isc_result_t dns_zone_signwithkey(dns_zone_t *zone, dns_secalg_t algorithm, - isc_uint16_t keyid, isc_boolean_t delete); + isc_uint16_t keyid, isc_boolean_t deleteit); /*%< * Initiate/resume signing of the entire zone with the zone DNSKEY(s) * that match the given algorithm and keyid. diff --git a/contrib/bind9/lib/dns/include/dst/Makefile.in b/contrib/bind9/lib/dns/include/dst/Makefile.in index 4ed4ec043..cece67dd3 100644 --- a/contrib/bind9/lib/dns/include/dst/Makefile.in +++ b/contrib/bind9/lib/dns/include/dst/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 1998-2001 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any diff --git a/contrib/bind9/lib/dns/include/dst/result.h b/contrib/bind9/lib/dns/include/dst/result.h index d77b72e77..00640a1b1 100644 --- a/contrib/bind9/lib/dns/include/dst/result.h +++ b/contrib/bind9/lib/dns/include/dst/result.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004-2008, 2012 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 1999-2001 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -34,7 +34,9 @@ #include /* Contractual promise. */ #define DST_R_UNSUPPORTEDALG (ISC_RESULTCLASS_DST + 0) -#define DST_R_OPENSSLFAILURE (ISC_RESULTCLASS_DST + 1) +#define DST_R_CRYPTOFAILURE (ISC_RESULTCLASS_DST + 1) +/* compat */ +#define DST_R_OPENSSLFAILURE DST_R_CRYPTOFAILURE #define DST_R_NOCRYPTO (ISC_RESULTCLASS_DST + 2) #define DST_R_NULLKEY (ISC_RESULTCLASS_DST + 3) #define DST_R_INVALIDPUBLICKEY (ISC_RESULTCLASS_DST + 4) diff --git a/contrib/bind9/lib/dns/log.c b/contrib/bind9/lib/dns/log.c index 17af1d9b2..3c9727df7 100644 --- a/contrib/bind9/lib/dns/log.c +++ b/contrib/bind9/lib/dns/log.c @@ -79,6 +79,8 @@ LIBDNS_EXTERNAL_DATA isc_logmodule_t dns_modules[] = { { "dns/hints", 0 }, { "dns/acache", 0 }, { "dns/dlz", 0 }, + { "dns/dnssec", 0 }, + { "dns/crypto", 0 }, { NULL, 0 } }; diff --git a/contrib/bind9/lib/dns/master.c b/contrib/bind9/lib/dns/master.c index 84af3b836..d87d3987f 100644 --- a/contrib/bind9/lib/dns/master.c +++ b/contrib/bind9/lib/dns/master.c @@ -34,6 +34,7 @@ #include #include +#include #include #include #include @@ -2031,19 +2032,21 @@ load_raw(dns_loadctx_t *lctx) { unsigned int loop_cnt = 0; dns_rdatacallbacks_t *callbacks; unsigned char namebuf[DNS_NAME_MAXWIRE]; - isc_region_t r; - dns_name_t name; + dns_fixedname_t fixed; + dns_name_t *name; rdatalist_head_t head, dummy; dns_rdatalist_t rdatalist; isc_mem_t *mctx = lctx->mctx; dns_rdata_t *rdata = NULL; unsigned int rdata_size = 0; int target_size = TSIZ; - isc_buffer_t target; + isc_buffer_t target, buf; unsigned char *target_mem = NULL; + dns_decompress_t dctx; REQUIRE(DNS_LCTX_VALID(lctx)); callbacks = lctx->callbacks; + dns_decompress_init(&dctx, -1, DNS_DECOMPRESS_NONE); if (lctx->first) { dns_masterrawheader_t header; @@ -2100,6 +2103,9 @@ load_raw(dns_loadctx_t *lctx) { } isc_buffer_init(&target, target_mem, target_size); + dns_fixedname_init(&fixed); + name = dns_fixedname_name(&fixed); + /* * In the following loop, we regard any error fatal regardless of * whether "MANYERRORS" is set in the context option. This is because @@ -2111,7 +2117,7 @@ load_raw(dns_loadctx_t *lctx) { for (loop_cnt = 0; (lctx->loop_cnt == 0 || loop_cnt < lctx->loop_cnt); loop_cnt++) { - unsigned int i, rdcount, consumed_name; + unsigned int i, rdcount; isc_uint16_t namelen; isc_uint32_t totallen; size_t minlen, readlen; @@ -2201,12 +2207,11 @@ load_raw(dns_loadctx_t *lctx) { lctx->f); if (result != ISC_R_SUCCESS) goto cleanup; + isc_buffer_setactive(&target, (unsigned int)namelen); - isc_buffer_activeregion(&target, &r); - dns_name_init(&name, NULL); - dns_name_fromregion(&name, &r); - isc_buffer_forward(&target, (unsigned int)namelen); - consumed_name = isc_buffer_consumedlength(&target); + result = dns_name_fromwire(name, &target, &dctx, 0, NULL); + if (result != ISC_R_SUCCESS) + goto cleanup; /* Rdata contents. */ if (rdcount > rdata_size) { @@ -2237,7 +2242,7 @@ load_raw(dns_loadctx_t *lctx) { /* Partial Commit. */ ISC_LIST_APPEND(head, &rdatalist, link); - result = commit(callbacks, lctx, &head, &name, + result = commit(callbacks, lctx, &head, name, NULL, 0); for (j = 0; j < i; j++) { ISC_LIST_UNLINK(rdatalist.rdata, @@ -2249,8 +2254,6 @@ load_raw(dns_loadctx_t *lctx) { /* Rewind the buffer and continue */ isc_buffer_clear(&target); - isc_buffer_add(&target, consumed_name); - isc_buffer_forward(&target, consumed_name); rdcount -= i; @@ -2270,11 +2273,20 @@ load_raw(dns_loadctx_t *lctx) { if (result != ISC_R_SUCCESS) goto cleanup; isc_buffer_setactive(&target, (unsigned int)rdlen); - isc_buffer_activeregion(&target, &r); - isc_buffer_forward(&target, (unsigned int)rdlen); - dns_rdata_fromregion(&rdata[i], rdatalist.rdclass, - rdatalist.type, &r); - + /* + * It is safe to have the source active region and + * the target available region be the same if + * decompression is disabled (see dctx above) and we + * are not downcasing names (options == 0). + */ + isc_buffer_init(&buf, isc_buffer_current(&target), + (unsigned int)rdlen); + result = dns_rdata_fromwire(&rdata[i], + rdatalist.rdclass, + rdatalist.type, &target, + &dctx, 0, &buf); + if (result != ISC_R_SUCCESS) + goto cleanup; ISC_LIST_APPEND(rdatalist.rdata, &rdata[i], link); } @@ -2291,7 +2303,7 @@ load_raw(dns_loadctx_t *lctx) { ISC_LIST_APPEND(head, &rdatalist, link); /* Commit this RRset. rdatalist will be unlinked. */ - result = commit(callbacks, lctx, &head, &name, NULL, 0); + result = commit(callbacks, lctx, &head, name, NULL, 0); for (i = 0; i < rdcount; i++) { ISC_LIST_UNLINK(rdatalist.rdata, &rdata[i], link); diff --git a/contrib/bind9/lib/dns/masterdump.c b/contrib/bind9/lib/dns/masterdump.c index 681304f58..b02cc11f5 100644 --- a/contrib/bind9/lib/dns/masterdump.c +++ b/contrib/bind9/lib/dns/masterdump.c @@ -1483,7 +1483,8 @@ dns_master_dumptostream2(isc_mem_t *mctx, dns_db_t *db, } static isc_result_t -opentmp(isc_mem_t *mctx, const char *file, char **tempp, FILE **fp) { +opentmp(isc_mem_t *mctx, dns_masterformat_t format, const char *file, + char **tempp, FILE **fp) { FILE *f = NULL; isc_result_t result; char *tempname = NULL; @@ -1498,7 +1499,10 @@ opentmp(isc_mem_t *mctx, const char *file, char **tempp, FILE **fp) { if (result != ISC_R_SUCCESS) goto cleanup; - result = isc_file_openunique(tempname, &f); + if (format == dns_masterformat_text) + result = isc_file_openunique(tempname, &f); + else + result = isc_file_bopenunique(tempname, &f); if (result != ISC_R_SUCCESS) { isc_log_write(dns_lctx, ISC_LOGCATEGORY_GENERAL, DNS_LOGMODULE_MASTERDUMP, ISC_LOG_ERROR, @@ -1542,7 +1546,7 @@ dns_master_dumpinc2(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t *version, if (file == NULL) return (ISC_R_NOMEMORY); - result = opentmp(mctx, filename, &tempname, &f); + result = opentmp(mctx, format, filename, &tempname, &f); if (result != ISC_R_SUCCESS) goto cleanup; @@ -1596,7 +1600,7 @@ dns_master_dump2(isc_mem_t *mctx, dns_db_t *db, dns_dbversion_t *version, char *tempname; dns_dumpctx_t *dctx = NULL; - result = opentmp(mctx, filename, &tempname, &f); + result = opentmp(mctx, format, filename, &tempname, &f); if (result != ISC_R_SUCCESS) return (result); diff --git a/contrib/bind9/lib/dns/openssl_link.c b/contrib/bind9/lib/dns/openssl_link.c index 83dd1fc66..dd930bdb6 100644 --- a/contrib/bind9/lib/dns/openssl_link.c +++ b/contrib/bind9/lib/dns/openssl_link.c @@ -45,6 +45,10 @@ #include #include +#include + +#include + #include "dst_internal.h" #include "dst_openssl.h" @@ -166,6 +170,8 @@ dst__openssl_init() { CRYPTO_set_locking_callback(lock_callback); CRYPTO_set_id_callback(id_callback); + ERR_load_crypto_strings(); + rm = mem_alloc(sizeof(RAND_METHOD)); if (rm == NULL) { result = ISC_R_NOMEMORY; @@ -317,7 +323,7 @@ dst__openssl_destroy() { isc_result_t dst__openssl_toresult(isc_result_t fallback) { isc_result_t result = fallback; - int err = ERR_get_error(); + unsigned long err = ERR_get_error(); switch (ERR_GET_REASON(err)) { case ERR_R_MALLOC_FAILURE: @@ -330,6 +336,40 @@ dst__openssl_toresult(isc_result_t fallback) { return (result); } +isc_result_t +dst__openssl_toresult2(const char *funcname, isc_result_t fallback) { + isc_result_t result = fallback; + unsigned long err = ERR_peek_error(); + const char *file, *data; + int line, flags; + char buf[256]; + + switch (ERR_GET_REASON(err)) { + case ERR_R_MALLOC_FAILURE: + result = ISC_R_NOMEMORY; + goto done; + default: + break; + } + isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, + DNS_LOGMODULE_CRYPTO, ISC_LOG_WARNING, + "%s failed", funcname); + for (;;) { + err = ERR_get_error_line_data(&file, &line, &data, &flags); + if (err == 0U) + goto done; + ERR_error_string_n(err, buf, sizeof(buf)); + isc_log_write(dns_lctx, DNS_LOGCATEGORY_GENERAL, + DNS_LOGMODULE_CRYPTO, ISC_LOG_INFO, + "%s:%s:%d:%s", buf, file, line, + (flags & ERR_TXT_STRING) ? data : ""); + } + + done: + ERR_clear_error(); + return (result); +} + #if defined(USE_ENGINE) ENGINE * dst__openssl_getengine(const char *name) { diff --git a/contrib/bind9/lib/dns/openssldh_link.c b/contrib/bind9/lib/dns/openssldh_link.c index be1d88028..04fb9fe5a 100644 --- a/contrib/bind9/lib/dns/openssldh_link.c +++ b/contrib/bind9/lib/dns/openssldh_link.c @@ -94,7 +94,8 @@ openssldh_computesecret(const dst_key_t *pub, const dst_key_t *priv, return (ISC_R_NOSPACE); ret = DH_compute_key(r.base, dhpub->pub_key, dhpriv); if (ret == 0) - return (dst__openssl_toresult(DST_R_COMPUTESECRETFAILURE)); + return (dst__openssl_toresult2("DH_compute_key", + DST_R_COMPUTESECRETFAILURE)); isc_buffer_add(secret, len); return (ISC_R_SUCCESS); } @@ -179,14 +180,16 @@ openssldh_generate(dst_key_t *key, int generator) { #if OPENSSL_VERSION_NUMBER > 0x00908000L dh = DH_new(); if (dh == NULL) - return (dst__openssl_toresult(DST_R_OPENSSLFAILURE)); + return (dst__openssl_toresult(ISC_R_NOMEMORY)); BN_GENCB_set_old(&cb, NULL, NULL); if (!DH_generate_parameters_ex(dh, key->key_size, generator, &cb)) { DH_free(dh); - return (dst__openssl_toresult(DST_R_OPENSSLFAILURE)); + return (dst__openssl_toresult2( + "DH_generate_parameters_ex", + DST_R_OPENSSLFAILURE)); } #else dh = DH_generate_parameters(key->key_size, generator, @@ -195,11 +198,13 @@ openssldh_generate(dst_key_t *key, int generator) { } if (dh == NULL) - return (dst__openssl_toresult(DST_R_OPENSSLFAILURE)); + return (dst__openssl_toresult2("DH_generate_parameters", + DST_R_OPENSSLFAILURE)); if (DH_generate_key(dh) == 0) { DH_free(dh); - return (dst__openssl_toresult(DST_R_OPENSSLFAILURE)); + return (dst__openssl_toresult2("DH_generate_key", + DST_R_OPENSSLFAILURE)); } dh->flags &= ~DH_FLAG_CACHE_MONT_P; @@ -430,6 +435,7 @@ openssldh_tofile(const dst_key_t *key, const char *directory) { dh = key->keydata.dh; + memset(bufs, 0, sizeof(bufs)); for (i = 0; i < 4; i++) { bufs[i] = isc_mem_get(key->mctx, BN_num_bytes(dh->p)); if (bufs[i] == NULL) { diff --git a/contrib/bind9/lib/dns/openssldsa_link.c b/contrib/bind9/lib/dns/openssldsa_link.c index c93c11995..68d19745e 100644 --- a/contrib/bind9/lib/dns/openssldsa_link.c +++ b/contrib/bind9/lib/dns/openssldsa_link.c @@ -168,7 +168,8 @@ openssldsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { if (!EVP_SignFinal(evp_md_ctx, sigbuf, &siglen, pkey)) { EVP_PKEY_free(pkey); free(sigbuf); - return (ISC_R_FAILURE); + return (dst__openssl_toresult2("EVP_SignFinal", + ISC_R_FAILURE)); } INSIST(EVP_PKEY_size(pkey) >= (int) siglen); EVP_PKEY_free(pkey); @@ -181,23 +182,26 @@ openssldsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { sb = sigbuf; if (d2i_DSA_SIG(&dsasig, &sb, (long) siglen) == NULL) { free(sigbuf); - return (ISC_R_FAILURE); + return (dst__openssl_toresult2("d2i_DSA_SIG", ISC_R_FAILURE)); } free(sigbuf); #elif 0 /* Only use EVP for the Digest */ if (!EVP_DigestFinal_ex(evp_md_ctx, digest, &siglen)) { - return (ISC_R_FAILURE); + return (dst__openssl_toresult2("EVP_DigestFinal_ex", + ISC_R_FAILURE)); } dsasig = DSA_do_sign(digest, ISC_SHA1_DIGESTLENGTH, dsa); if (dsasig == NULL) - return (dst__openssl_toresult(DST_R_SIGNFAILURE)); + return (dst__openssl_toresult2("DSA_do_sign", + DST_R_SIGNFAILURE)); #else isc_sha1_final(sha1ctx, digest); dsasig = DSA_do_sign(digest, ISC_SHA1_DIGESTLENGTH, dsa); if (dsasig == NULL) - return (dst__openssl_toresult(DST_R_SIGNFAILURE)); + return (dst__openssl_toresult2("DSA_do_sign", + DST_R_SIGNFAILURE)); #endif *r.base++ = (key->key_size - 512)/64; BN_bn2bin_fixed(dsasig->r, r.base, ISC_SHA1_DIGESTLENGTH); @@ -276,10 +280,15 @@ openssldsa_verify(dst_context_t *dctx, const isc_region_t *sig) { status = DSA_do_verify(digest, ISC_SHA1_DIGESTLENGTH, dsasig, dsa); #endif DSA_SIG_free(dsasig); - if (status != 1) + switch (status) { + case 1: + return (ISC_R_SUCCESS); + case 0: return (dst__openssl_toresult(DST_R_VERIFYFAILURE)); - - return (ISC_R_SUCCESS); + default: + return (dst__openssl_toresult2("DSA_do_verify", + DST_R_VERIFYFAILURE)); + } } static isc_boolean_t @@ -340,19 +349,22 @@ openssldsa_generate(dst_key_t *key, int unused) { &cb)) { DSA_free(dsa); - return (dst__openssl_toresult(DST_R_OPENSSLFAILURE)); + return (dst__openssl_toresult2("DSA_generate_parameters_ex", + DST_R_OPENSSLFAILURE)); } #else dsa = DSA_generate_parameters(key->key_size, rand_array, ISC_SHA1_DIGESTLENGTH, NULL, NULL, NULL, NULL); if (dsa == NULL) - return (dst__openssl_toresult(DST_R_OPENSSLFAILURE)); + return (dst__openssl_toresult2("DSA_generate_parameters", + DST_R_OPENSSLFAILURE)); #endif if (DSA_generate_key(dsa) == 0) { DSA_free(dsa); - return (dst__openssl_toresult(DST_R_OPENSSLFAILURE)); + return (dst__openssl_toresult2("DSA_generate_key", + DST_R_OPENSSLFAILURE)); } dsa->flags &= ~DSA_FLAG_CACHE_MONT_P; diff --git a/contrib/bind9/lib/dns/opensslrsa_link.c b/contrib/bind9/lib/dns/opensslrsa_link.c index 02923978f..fb35ce881 100644 --- a/contrib/bind9/lib/dns/opensslrsa_link.c +++ b/contrib/bind9/lib/dns/opensslrsa_link.c @@ -155,7 +155,8 @@ opensslrsa_createctx(dst_key_t *key, dst_context_t *dctx) { if (!EVP_DigestInit_ex(evp_md_ctx, type, NULL)) { EVP_MD_CTX_destroy(evp_md_ctx); - return (ISC_R_FAILURE); + return (dst__openssl_toresult2("EVP_DigestInit_ex", + ISC_R_FAILURE)); } dctx->ctxdata.evp_md_ctx = evp_md_ctx; #else @@ -303,7 +304,8 @@ opensslrsa_adddata(dst_context_t *dctx, const isc_region_t *data) { #if USE_EVP if (!EVP_DigestUpdate(evp_md_ctx, data->base, data->length)) { - return (ISC_R_FAILURE); + return (dst__openssl_toresult2("EVP_DigestUpdate", + ISC_R_FAILURE)); } #else switch (dctx->key->key_alg) { @@ -373,10 +375,6 @@ opensslrsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { int status = 0; int type = 0; unsigned int digestlen = 0; - char *message; - unsigned long err; - const char* file; - int line; #if OPENSSL_VERSION_NUMBER < 0x00908000L unsigned int prefixlen = 0; const unsigned char *prefix = NULL; @@ -396,7 +394,8 @@ opensslrsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { return (ISC_R_NOSPACE); if (!EVP_SignFinal(evp_md_ctx, r.base, &siglen, pkey)) { - return (ISC_R_FAILURE); + return (dst__openssl_toresult2("EVP_SignFinal", + ISC_R_FAILURE)); } #else if (r.length < (unsigned int) RSA_size(rsa)) @@ -488,13 +487,9 @@ opensslrsa_sign(dst_context_t *dctx, isc_buffer_t *sig) { INSIST(type != 0); status = RSA_sign(type, digest, digestlen, r.base, &siglen, rsa); #endif - if (status == 0) { - err = ERR_peek_error_line(&file, &line); - if (err != 0U) { - message = ERR_error_string(err, NULL); - } - return (dst__openssl_toresult(DST_R_OPENSSLFAILURE)); - } + if (status == 0) + return (dst__openssl_toresult2("RSA_sign", + DST_R_OPENSSLFAILURE)); #endif isc_buffer_add(sig, siglen); @@ -614,7 +609,9 @@ opensslrsa_verify(dst_context_t *dctx, const isc_region_t *sig) { original, rsa, RSA_PKCS1_PADDING); if (status <= 0) - return (DST_R_VERIFYFAILURE); + return (dst__openssl_toresult2( + "RSA_public_decrypt", + DST_R_VERIFYFAILURE)); if (status != (int)(prefixlen + digestlen)) return (DST_R_VERIFYFAILURE); if (memcmp(original, prefix, prefixlen)) @@ -635,7 +632,8 @@ opensslrsa_verify(dst_context_t *dctx, const isc_region_t *sig) { #endif #endif if (status != 1) - return (dst__openssl_toresult(DST_R_VERIFYFAILURE)); + return (dst__openssl_toresult2("RSA_verify", + DST_R_VERIFYFAILURE)); return (ISC_R_SUCCESS); } @@ -708,6 +706,7 @@ opensslrsa_compare(const dst_key_t *key1, const dst_key_t *key2) { static isc_result_t opensslrsa_generate(dst_key_t *key, int exp) { #if OPENSSL_VERSION_NUMBER > 0x00908000L + isc_result_t ret = DST_R_OPENSSLFAILURE; BN_GENCB cb; RSA *rsa = RSA_new(); BIGNUM *e = BN_new(); @@ -748,6 +747,8 @@ opensslrsa_generate(dst_key_t *key, int exp) { #endif return (ISC_R_SUCCESS); } + ret = dst__openssl_toresult2("RSA_generate_key_ex", + DST_R_OPENSSLFAILURE); err: #if USE_EVP @@ -758,7 +759,7 @@ err: BN_free(e); if (rsa != NULL) RSA_free(rsa); - return (dst__openssl_toresult(DST_R_OPENSSLFAILURE)); + return (dst__openssl_toresult(ret)); #else RSA *rsa; unsigned long e; @@ -778,7 +779,8 @@ err: #if USE_EVP EVP_PKEY_free(pkey); #endif - return (dst__openssl_toresult(DST_R_OPENSSLFAILURE)); + return (dst__openssl_toresult2("RSA_generate_key", + DST_R_OPENSSLFAILURE)); } SET_FLAGS(rsa); #if USE_EVP @@ -977,6 +979,7 @@ opensslrsa_tofile(const dst_key_t *key, const char *directory) { rsa = key->keydata.rsa; #endif + memset(bufs, 0, sizeof(bufs)); for (i = 0; i < 8; i++) { bufs[i] = isc_mem_get(key->mctx, BN_num_bytes(rsa->n)); if (bufs[i] == NULL) { @@ -1093,7 +1096,7 @@ opensslrsa_parse(dst_key_t *key, isc_lex_t *lexer) { /* read private key file */ ret = dst__privstruct_parse(key, DST_ALG_RSA, lexer, mctx, &priv); if (ret != ISC_R_SUCCESS) - return (ret); + goto err; for (i = 0; i < priv.nelements; i++) { switch (priv.elements[i].tag) { @@ -1119,10 +1122,10 @@ opensslrsa_parse(dst_key_t *key, isc_lex_t *lexer) { if (e == NULL) DST_RET(DST_R_NOENGINE); pkey = ENGINE_load_private_key(e, label, NULL, NULL); - if (pkey == NULL) { - /* ERR_print_errors_fp(stderr); */ - DST_RET(ISC_R_NOTFOUND); - } + if (pkey == NULL) + DST_RET(dst__openssl_toresult2( + "ENGINE_load_private_key", + ISC_R_NOTFOUND)); key->engine = isc_mem_strdup(key->mctx, name); if (key->engine == NULL) DST_RET(ISC_R_NOMEMORY); @@ -1243,7 +1246,8 @@ opensslrsa_fromlabel(dst_key_t *key, const char *engine, const char *label, DST_RET(DST_R_NOENGINE); pkey = ENGINE_load_private_key(e, label, NULL, NULL); if (pkey == NULL) - DST_RET(ISC_R_NOTFOUND); + DST_RET(dst__openssl_toresult2("ENGINE_load_private_key", + ISC_R_NOTFOUND)); key->engine = isc_mem_strdup(key->mctx, label); if (key->engine == NULL) DST_RET(ISC_R_NOMEMORY); diff --git a/contrib/bind9/lib/dns/rbtdb.c b/contrib/bind9/lib/dns/rbtdb.c index 9478ef946..2e8245d43 100644 --- a/contrib/bind9/lib/dns/rbtdb.c +++ b/contrib/bind9/lib/dns/rbtdb.c @@ -112,6 +112,8 @@ typedef isc_uint32_t rbtdb_rdatatype_t; RBTDB_RDATATYPE_VALUE(dns_rdatatype_rrsig, dns_rdatatype_cname) #define RBTDB_RDATATYPE_SIGDNAME \ RBTDB_RDATATYPE_VALUE(dns_rdatatype_rrsig, dns_rdatatype_dname) +#define RBTDB_RDATATYPE_SIGDDS \ + RBTDB_RDATATYPE_VALUE(dns_rdatatype_rrsig, dns_rdatatype_ds) #define RBTDB_RDATATYPE_NCACHEANY \ RBTDB_RDATATYPE_VALUE(0, dns_rdatatype_any) @@ -5524,13 +5526,12 @@ add(dns_rbtdb_t *rbtdb, dns_rbtnode_t *rbtnode, rbtdb_version_t *rbtversion, negtype = 0; if (rbtversion == NULL && !newheader_nx) { rdtype = RBTDB_RDATATYPE_BASE(newheader->type); + covers = RBTDB_RDATATYPE_EXT(newheader->type); + sigtype = RBTDB_RDATATYPE_VALUE(dns_rdatatype_rrsig, covers); if (NEGATIVE(newheader)) { /* * We're adding a negative cache entry. */ - covers = RBTDB_RDATATYPE_EXT(newheader->type); - sigtype = RBTDB_RDATATYPE_VALUE(dns_rdatatype_rrsig, - covers); for (topheader = rbtnode->data; topheader != NULL; topheader = topheader->next) { @@ -5563,14 +5564,20 @@ add(dns_rbtdb_t *rbtdb, dns_rbtnode_t *rbtnode, rbtdb_version_t *rbtversion, * We're adding something that isn't a * negative cache entry. Look for an extant * non-stale NXDOMAIN/NODATA(QTYPE=ANY) negative - * cache entry. + * cache entry. If we're adding an RRSIG, also + * check for an extant non-stale NODATA ncache + * entry which covers the same type as the RRSIG. */ for (topheader = rbtnode->data; topheader != NULL; topheader = topheader->next) { - if (topheader->type == - RBTDB_RDATATYPE_NCACHEANY) - break; + if ((topheader->type == + RBTDB_RDATATYPE_NCACHEANY) || + (newheader->type == sigtype && + topheader->type == + RBTDB_RDATATYPE_VALUE(0, covers))) { + break; + } } if (topheader != NULL && EXISTS(topheader) && topheader->rdh_ttl > now) { @@ -5593,7 +5600,7 @@ add(dns_rbtdb_t *rbtdb, dns_rbtnode_t *rbtnode, rbtdb_version_t *rbtversion, } /* * The new rdataset is better. Expire the - * NXDOMAIN/NODATA(QTYPE=ANY). + * ncache entry. */ set_ttl(rbtdb, topheader, 0); topheader->attributes |= RDATASET_ATTR_STALE; @@ -5754,7 +5761,9 @@ add(dns_rbtdb_t *rbtdb, dns_rbtnode_t *rbtnode, rbtdb_version_t *rbtversion, } if (IS_CACHE(rbtdb) && header->rdh_ttl > now && (header->type == dns_rdatatype_a || - header->type == dns_rdatatype_aaaa) && + header->type == dns_rdatatype_aaaa || + header->type == dns_rdatatype_ds || + header->type == RBTDB_RDATATYPE_SIGDDS) && !header_nx && !newheader_nx && header->trust >= newheader->trust && dns_rdataslab_equal((unsigned char *)header, diff --git a/contrib/bind9/lib/dns/rdata.c b/contrib/bind9/lib/dns/rdata.c index 6f802623d..2577e6b29 100644 --- a/contrib/bind9/lib/dns/rdata.c +++ b/contrib/bind9/lib/dns/rdata.c @@ -421,6 +421,8 @@ dns_rdata_fromwire(dns_rdata_t *rdata, dns_rdataclass_t rdclass, REQUIRE(DNS_RDATA_INITIALIZED(rdata)); REQUIRE(DNS_RDATA_VALIDFLAGS(rdata)); } + REQUIRE(source != NULL); + REQUIRE(target != NULL); if (type == 0) return (DNS_R_FORMERR); @@ -521,13 +523,11 @@ rdata_validate(isc_buffer_t *src, isc_buffer_t *dest, dns_rdataclass_t rdclass, dns_rdatatype_t type) { dns_decompress_t dctx; - dns_rdata_t rdata = DNS_RDATA_INIT; isc_result_t result; dns_decompress_init(&dctx, -1, DNS_DECOMPRESS_NONE); isc_buffer_setactive(src, isc_buffer_usedlength(src)); - result = dns_rdata_fromwire(&rdata, rdclass, type, src, - &dctx, 0, dest); + result = dns_rdata_fromwire(NULL, rdclass, type, src, &dctx, 0, dest); dns_decompress_invalidate(&dctx); return (result); @@ -1152,7 +1152,8 @@ txt_fromwire(isc_buffer_t *source, isc_buffer_t *target) { if (n > tregion.length) return (ISC_R_NOSPACE); - memcpy(tregion.base, sregion.base, n); + if (tregion.base != sregion.base) + memcpy(tregion.base, sregion.base, n); isc_buffer_forward(source, n); isc_buffer_add(target, n); return (ISC_R_SUCCESS); @@ -1326,7 +1327,8 @@ mem_tobuffer(isc_buffer_t *target, void *base, unsigned int length) { isc_buffer_availableregion(target, &tr); if (length > tr.length) return (ISC_R_NOSPACE); - memcpy(tr.base, base, length); + if (tr.base != base) + memcpy(tr.base, base, length); isc_buffer_add(target, length); return (ISC_R_SUCCESS); } diff --git a/contrib/bind9/lib/dns/spnego_asn1.pl b/contrib/bind9/lib/dns/spnego_asn1.pl index 93dd67675..0aaa57fa5 100755 --- a/contrib/bind9/lib/dns/spnego_asn1.pl +++ b/contrib/bind9/lib/dns/spnego_asn1.pl @@ -1,6 +1,6 @@ #!/bin/bin/perl -w # -# Copyright (C) 2006, 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2006, 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above diff --git a/contrib/bind9/lib/dns/zone.c b/contrib/bind9/lib/dns/zone.c index c0f57340a..63e09ee12 100644 --- a/contrib/bind9/lib/dns/zone.c +++ b/contrib/bind9/lib/dns/zone.c @@ -3954,7 +3954,7 @@ zone_resigninc(dns_zone_t *zone) { result = dns_db_newversion(db, &version); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_resigninc:dns_db_newversion -> %s\n", + "zone_resigninc:dns_db_newversion -> %s", dns_result_totext(result)); goto failure; } @@ -3963,7 +3963,7 @@ zone_resigninc(dns_zone_t *zone) { zone_keys, &nkeys); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_resigninc:find_zone_keys -> %s\n", + "zone_resigninc:find_zone_keys -> %s", dns_result_totext(result)); goto failure; } @@ -3988,7 +3988,7 @@ zone_resigninc(dns_zone_t *zone) { result = dns_db_getsigningtime(db, &rdataset, name); if (result != ISC_R_SUCCESS && result != ISC_R_NOTFOUND) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_resigninc:dns_db_getsigningtime -> %s\n", + "zone_resigninc:dns_db_getsigningtime -> %s", dns_result_totext(result)); } @@ -4020,7 +4020,7 @@ zone_resigninc(dns_zone_t *zone) { zone_keys, nkeys, now); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_resigninc:del_sigs -> %s\n", + "zone_resigninc:del_sigs -> %s", dns_result_totext(result)); break; } @@ -4029,7 +4029,7 @@ zone_resigninc(dns_zone_t *zone) { expire, check_ksk); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_resigninc:add_sigs -> %s\n", + "zone_resigninc:add_sigs -> %s", dns_result_totext(result)); break; } @@ -4041,7 +4041,7 @@ zone_resigninc(dns_zone_t *zone) { } if (result != ISC_R_SUCCESS) dns_zone_log(zone, ISC_LOG_ERROR, - "zone_resigninc:dns_db_getsigningtime -> %s\n", + "zone_resigninc:dns_db_getsigningtime -> %s", dns_result_totext(result)); } @@ -4052,7 +4052,7 @@ zone_resigninc(dns_zone_t *zone) { &sig_diff, zone_keys, nkeys, now); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_resigninc:del_sigs -> %s\n", + "zone_resigninc:del_sigs -> %s", dns_result_totext(result)); goto failure; } @@ -4060,7 +4060,7 @@ zone_resigninc(dns_zone_t *zone) { result = increment_soa_serial(db, version, &sig_diff, zone->mctx); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_resigninc:increment_soa_serial -> %s\n", + "zone_resigninc:increment_soa_serial -> %s", dns_result_totext(result)); goto failure; } @@ -4074,7 +4074,7 @@ zone_resigninc(dns_zone_t *zone) { soaexpire, check_ksk); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_resigninc:add_sigs -> %s\n", + "zone_resigninc:add_sigs -> %s", dns_result_totext(result)); goto failure; } @@ -4086,7 +4086,7 @@ zone_resigninc(dns_zone_t *zone) { ISC_TRUE, &journal); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_resigninc:dns_journal_open -> %s\n", + "zone_resigninc:dns_journal_open -> %s", dns_result_totext(result)); goto failure; } @@ -4095,7 +4095,7 @@ zone_resigninc(dns_zone_t *zone) { dns_journal_destroy(&journal); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_resigninc:dns_journal_write_transaction -> %s\n", + "zone_resigninc:dns_journal_write_transaction -> %s", dns_result_totext(result)); goto failure; } @@ -4790,7 +4790,7 @@ zone_nsec3chain(dns_zone_t *zone) { result = dns_db_newversion(db, &version); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_nsec3chain:dns_db_newversion -> %s\n", + "zone_nsec3chain:dns_db_newversion -> %s", dns_result_totext(result)); goto failure; } @@ -4799,7 +4799,7 @@ zone_nsec3chain(dns_zone_t *zone) { DNS_MAXZONEKEYS, zone_keys, &nkeys); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_nsec3chain:find_zone_keys -> %s\n", + "zone_nsec3chain:find_zone_keys -> %s", dns_result_totext(result)); goto failure; } @@ -4993,7 +4993,7 @@ zone_nsec3chain(dns_zone_t *zone) { } else if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, "zone_nsec3chain:" - "dns_dbiterator_next -> %s\n", + "dns_dbiterator_next -> %s", dns_result_totext(result)); goto failure; } else if (delegation) { @@ -5155,7 +5155,7 @@ zone_nsec3chain(dns_zone_t *zone) { } else if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, "zone_nsec3chain:" - "dns_dbiterator_next -> %s\n", + "dns_dbiterator_next -> %s", dns_result_totext(result)); goto failure; } else if (delegation) { @@ -5196,7 +5196,7 @@ zone_nsec3chain(dns_zone_t *zone) { zone_keys, nkeys, now); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_nsec3chain:del_sigs -> %s\n", + "zone_nsec3chain:del_sigs -> %s", dns_result_totext(result)); goto failure; } @@ -5206,7 +5206,7 @@ zone_nsec3chain(dns_zone_t *zone) { check_ksk); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_nsec3chain:add_sigs -> %s\n", + "zone_nsec3chain:add_sigs -> %s", dns_result_totext(result)); goto failure; } @@ -5235,7 +5235,7 @@ zone_nsec3chain(dns_zone_t *zone) { zone_keys, nkeys, now); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_nsec3chain:del_sigs -> %s\n", + "zone_nsec3chain:del_sigs -> %s", dns_result_totext(result)); goto failure; } @@ -5245,7 +5245,7 @@ zone_nsec3chain(dns_zone_t *zone) { expire, check_ksk); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_nsec3chain:add_sigs -> %s\n", + "zone_nsec3chain:add_sigs -> %s", dns_result_totext(result)); goto failure; } @@ -5266,7 +5266,7 @@ zone_nsec3chain(dns_zone_t *zone) { zone_keys, nkeys, now); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_nsec3chain:del_sigs -> %s\n", + "zone_nsec3chain:del_sigs -> %s", dns_result_totext(result)); goto failure; } @@ -5276,7 +5276,7 @@ zone_nsec3chain(dns_zone_t *zone) { expire, check_ksk); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_nsec3chain:add_sigs -> %s\n", + "zone_nsec3chain:add_sigs -> %s", dns_result_totext(result)); goto failure; } @@ -5296,14 +5296,14 @@ zone_nsec3chain(dns_zone_t *zone) { &sig_diff, zone_keys, nkeys, now); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, "zone_nsec3chain:" - "del_sigs -> %s\n", dns_result_totext(result)); + "del_sigs -> %s", dns_result_totext(result)); goto failure; } result = increment_soa_serial(db, version, &sig_diff, zone->mctx); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, "zone_nsec3chain:" - "increment_soa_serial -> %s\n", + "increment_soa_serial -> %s", dns_result_totext(result)); goto failure; } @@ -5313,7 +5313,7 @@ zone_nsec3chain(dns_zone_t *zone) { soaexpire, check_ksk); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, "zone_nsec3chain:" - "add_sigs -> %s\n", dns_result_totext(result)); + "add_sigs -> %s", dns_result_totext(result)); goto failure; } @@ -5324,7 +5324,7 @@ zone_nsec3chain(dns_zone_t *zone) { ISC_TRUE, &journal); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, "zone_nsec3chain:" - "dns_journal_open -> %s\n", + "dns_journal_open -> %s", dns_result_totext(result)); goto failure; } @@ -5333,7 +5333,7 @@ zone_nsec3chain(dns_zone_t *zone) { dns_journal_destroy(&journal); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, "zone_nsec3chain:" - "dns_journal_write_transaction -> %s\n", + "dns_journal_write_transaction -> %s", dns_result_totext(result)); goto failure; } @@ -5574,7 +5574,7 @@ zone_sign(dns_zone_t *zone) { result = dns_db_newversion(db, &version); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_sign:dns_db_newversion -> %s\n", + "zone_sign:dns_db_newversion -> %s", dns_result_totext(result)); goto failure; } @@ -5583,7 +5583,7 @@ zone_sign(dns_zone_t *zone) { DNS_MAXZONEKEYS, zone_keys, &nkeys); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_sign:find_zone_keys -> %s\n", + "zone_sign:find_zone_keys -> %s", dns_result_totext(result)); goto failure; } @@ -5761,7 +5761,7 @@ zone_sign(dns_zone_t *zone) { if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "updatesecure -> %s\n", + "updatesecure -> %s", dns_result_totext(result)); goto failure; } @@ -5772,14 +5772,14 @@ zone_sign(dns_zone_t *zone) { &sig_diff); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "updatesignwithkey -> %s\n", + "updatesignwithkey -> %s", dns_result_totext(result)); goto failure; } goto next_signing; } else if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_sign:dns_dbiterator_next -> %s\n", + "zone_sign:dns_dbiterator_next -> %s", dns_result_totext(result)); goto failure; } else if (delegation) { @@ -5809,7 +5809,7 @@ zone_sign(dns_zone_t *zone) { nkeys, now); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_sign:del_sigs -> %s\n", + "zone_sign:del_sigs -> %s", dns_result_totext(result)); goto failure; } @@ -5819,7 +5819,7 @@ zone_sign(dns_zone_t *zone) { check_ksk); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_sign:add_sigs -> %s\n", + "zone_sign:add_sigs -> %s", dns_result_totext(result)); goto failure; } @@ -5835,7 +5835,7 @@ zone_sign(dns_zone_t *zone) { zone_keys, nkeys, now); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_sign:del_sigs -> %s\n", + "zone_sign:del_sigs -> %s", dns_result_totext(result)); goto failure; } @@ -5845,7 +5845,7 @@ zone_sign(dns_zone_t *zone) { soaexpire, check_ksk); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_sign:add_sigs -> %s\n", + "zone_sign:add_sigs -> %s", dns_result_totext(result)); goto failure; } @@ -5863,7 +5863,7 @@ zone_sign(dns_zone_t *zone) { &sig_diff, zone_keys, nkeys, now); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_sign:del_sigs -> %s\n", + "zone_sign:del_sigs -> %s", dns_result_totext(result)); goto failure; } @@ -5871,7 +5871,7 @@ zone_sign(dns_zone_t *zone) { result = increment_soa_serial(db, version, &sig_diff, zone->mctx); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_sign:increment_soa_serial -> %s\n", + "zone_sign:increment_soa_serial -> %s", dns_result_totext(result)); goto failure; } @@ -5885,7 +5885,7 @@ zone_sign(dns_zone_t *zone) { soaexpire, check_ksk); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_sign:add_sigs -> %s\n", + "zone_sign:add_sigs -> %s", dns_result_totext(result)); goto failure; } @@ -5900,7 +5900,7 @@ zone_sign(dns_zone_t *zone) { ISC_TRUE, &journal); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_sign:dns_journal_open -> %s\n", + "zone_sign:dns_journal_open -> %s", dns_result_totext(result)); goto failure; } @@ -5909,7 +5909,7 @@ zone_sign(dns_zone_t *zone) { dns_journal_destroy(&journal); if (result != ISC_R_SUCCESS) { dns_zone_log(zone, ISC_LOG_ERROR, - "zone_sign:dns_journal_write_transaction -> %s\n", + "zone_sign:dns_journal_write_transaction -> %s", dns_result_totext(result)); goto failure; } diff --git a/contrib/bind9/lib/isc/alpha/Makefile.in b/contrib/bind9/lib/isc/alpha/Makefile.in index 324db0707..9c24cdf95 100644 --- a/contrib/bind9/lib/isc/alpha/Makefile.in +++ b/contrib/bind9/lib/isc/alpha/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above diff --git a/contrib/bind9/lib/isc/alpha/include/Makefile.in b/contrib/bind9/lib/isc/alpha/include/Makefile.in index f1d8bdd31..e3995599f 100644 --- a/contrib/bind9/lib/isc/alpha/include/Makefile.in +++ b/contrib/bind9/lib/isc/alpha/include/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above diff --git a/contrib/bind9/lib/isc/alpha/include/isc/Makefile.in b/contrib/bind9/lib/isc/alpha/include/isc/Makefile.in index 5f116cac9..4927e210f 100644 --- a/contrib/bind9/lib/isc/alpha/include/isc/Makefile.in +++ b/contrib/bind9/lib/isc/alpha/include/isc/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above diff --git a/contrib/bind9/lib/isc/api b/contrib/bind9/lib/isc/api index b4bdec1ef..e11f8735d 100644 --- a/contrib/bind9/lib/isc/api +++ b/contrib/bind9/lib/isc/api @@ -3,6 +3,6 @@ # 9.7: 60-79 # 9.8: 80-89 # 9.9: 90-109 -LIBINTERFACE = 57 -LIBREVISION = 2 -LIBAGE = 0 +LIBINTERFACE = 58 +LIBREVISION = 0 +LIBAGE = 1 diff --git a/contrib/bind9/lib/isc/ia64/Makefile.in b/contrib/bind9/lib/isc/ia64/Makefile.in index 324db0707..9c24cdf95 100644 --- a/contrib/bind9/lib/isc/ia64/Makefile.in +++ b/contrib/bind9/lib/isc/ia64/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above diff --git a/contrib/bind9/lib/isc/ia64/include/Makefile.in b/contrib/bind9/lib/isc/ia64/include/Makefile.in index f1d8bdd31..e3995599f 100644 --- a/contrib/bind9/lib/isc/ia64/include/Makefile.in +++ b/contrib/bind9/lib/isc/ia64/include/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above diff --git a/contrib/bind9/lib/isc/ia64/include/isc/Makefile.in b/contrib/bind9/lib/isc/ia64/include/isc/Makefile.in index 5f116cac9..4927e210f 100644 --- a/contrib/bind9/lib/isc/ia64/include/isc/Makefile.in +++ b/contrib/bind9/lib/isc/ia64/include/isc/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above diff --git a/contrib/bind9/lib/isc/include/Makefile.in b/contrib/bind9/lib/isc/include/Makefile.in index 04778d784..70c165ef3 100644 --- a/contrib/bind9/lib/isc/include/Makefile.in +++ b/contrib/bind9/lib/isc/include/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 1998-2001 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any diff --git a/contrib/bind9/lib/isc/include/isc/file.h b/contrib/bind9/lib/isc/include/isc/file.h index 56cf4f234..a7e65e4b0 100644 --- a/contrib/bind9/lib/isc/include/isc/file.h +++ b/contrib/bind9/lib/isc/include/isc/file.h @@ -97,11 +97,14 @@ isc_file_mktemplate(const char *path, char *buf, size_t buflen); * of the path with the internal template string. */ - isc_result_t isc_file_openunique(char *templet, FILE **fp); +isc_result_t +isc_file_bopenunique(char *templet, FILE **fp); /*!< * \brief Create and open a file with a unique name based on 'templet'. + * isc_file_bopen*() open the file in binary mode in Windows. + * isc_file_open*() open the file in text mode in Windows. * * Notes: *\li 'template' is a reserved work in C++. If you want to complain diff --git a/contrib/bind9/lib/isc/mem.c b/contrib/bind9/lib/isc/mem.c index dac706d60..64df00b33 100644 --- a/contrib/bind9/lib/isc/mem.c +++ b/contrib/bind9/lib/isc/mem.c @@ -1405,7 +1405,11 @@ isc__mem_reallocate(isc_mem_t *ctx, void *ptr, size_t size FLARG) { oldsize = (((size_info *)ptr)[-1]).u.size; INSIST(oldsize >= ALIGNMENT_SIZE); oldsize -= ALIGNMENT_SIZE; - copysize = oldsize > size ? size : oldsize; + if ((isc_mem_debugging & ISC_MEM_DEBUGCTX) != 0) { + INSIST(oldsize >= ALIGNMENT_SIZE); + oldsize -= ALIGNMENT_SIZE; + } + copysize = (oldsize > size) ? size : oldsize; memcpy(new_ptr, ptr, copysize); isc__mem_free(ctx, ptr FLARG_PASS); } diff --git a/contrib/bind9/lib/isc/mips/Makefile.in b/contrib/bind9/lib/isc/mips/Makefile.in index 324db0707..9c24cdf95 100644 --- a/contrib/bind9/lib/isc/mips/Makefile.in +++ b/contrib/bind9/lib/isc/mips/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above diff --git a/contrib/bind9/lib/isc/mips/include/Makefile.in b/contrib/bind9/lib/isc/mips/include/Makefile.in index f1d8bdd31..e3995599f 100644 --- a/contrib/bind9/lib/isc/mips/include/Makefile.in +++ b/contrib/bind9/lib/isc/mips/include/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above diff --git a/contrib/bind9/lib/isc/mips/include/isc/Makefile.in b/contrib/bind9/lib/isc/mips/include/isc/Makefile.in index 5f116cac9..4927e210f 100644 --- a/contrib/bind9/lib/isc/mips/include/isc/Makefile.in +++ b/contrib/bind9/lib/isc/mips/include/isc/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above diff --git a/contrib/bind9/lib/isc/noatomic/Makefile.in b/contrib/bind9/lib/isc/noatomic/Makefile.in index 324db0707..9c24cdf95 100644 --- a/contrib/bind9/lib/isc/noatomic/Makefile.in +++ b/contrib/bind9/lib/isc/noatomic/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above diff --git a/contrib/bind9/lib/isc/noatomic/include/Makefile.in b/contrib/bind9/lib/isc/noatomic/include/Makefile.in index f1d8bdd31..e3995599f 100644 --- a/contrib/bind9/lib/isc/noatomic/include/Makefile.in +++ b/contrib/bind9/lib/isc/noatomic/include/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above diff --git a/contrib/bind9/lib/isc/noatomic/include/isc/Makefile.in b/contrib/bind9/lib/isc/noatomic/include/isc/Makefile.in index 5f116cac9..4927e210f 100644 --- a/contrib/bind9/lib/isc/noatomic/include/isc/Makefile.in +++ b/contrib/bind9/lib/isc/noatomic/include/isc/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above diff --git a/contrib/bind9/lib/isc/nothreads/include/Makefile.in b/contrib/bind9/lib/isc/nothreads/include/Makefile.in index a52310a6d..662a72dfe 100644 --- a/contrib/bind9/lib/isc/nothreads/include/Makefile.in +++ b/contrib/bind9/lib/isc/nothreads/include/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2000, 2001 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any diff --git a/contrib/bind9/lib/isc/nothreads/include/isc/Makefile.in b/contrib/bind9/lib/isc/nothreads/include/isc/Makefile.in index 3c9eab0e0..a2c347eaa 100644 --- a/contrib/bind9/lib/isc/nothreads/include/isc/Makefile.in +++ b/contrib/bind9/lib/isc/nothreads/include/isc/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2000, 2001 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any diff --git a/contrib/bind9/lib/isc/powerpc/Makefile.in b/contrib/bind9/lib/isc/powerpc/Makefile.in index 324db0707..9c24cdf95 100644 --- a/contrib/bind9/lib/isc/powerpc/Makefile.in +++ b/contrib/bind9/lib/isc/powerpc/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above diff --git a/contrib/bind9/lib/isc/powerpc/include/Makefile.in b/contrib/bind9/lib/isc/powerpc/include/Makefile.in index f1d8bdd31..e3995599f 100644 --- a/contrib/bind9/lib/isc/powerpc/include/Makefile.in +++ b/contrib/bind9/lib/isc/powerpc/include/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above diff --git a/contrib/bind9/lib/isc/powerpc/include/isc/Makefile.in b/contrib/bind9/lib/isc/powerpc/include/isc/Makefile.in index 5f116cac9..4927e210f 100644 --- a/contrib/bind9/lib/isc/powerpc/include/isc/Makefile.in +++ b/contrib/bind9/lib/isc/powerpc/include/isc/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above diff --git a/contrib/bind9/lib/isc/pthreads/condition.c b/contrib/bind9/lib/isc/pthreads/condition.c index 50281a2b8..9053cf0f1 100644 --- a/contrib/bind9/lib/isc/pthreads/condition.c +++ b/contrib/bind9/lib/isc/pthreads/condition.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC") + * Copyright (C) 2004, 2005, 2007, 2012 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 1998-2001 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any @@ -43,7 +43,14 @@ isc_condition_waituntil(isc_condition_t *c, isc_mutex_t *m, isc_time_t *t) { * POSIX defines a timespec's tv_sec as time_t. */ result = isc_time_secondsastimet(t, &ts.tv_sec); - if (result != ISC_R_SUCCESS) + + /* + * If we have a range error ts.tv_sec is most probably a signed + * 32 bit value. Set ts.tv_sec to INT_MAX. This is a kludge. + */ + if (result == ISC_R_RANGE) + ts.tv_sec = INT_MAX; + else if (result != ISC_R_SUCCESS) return (result); /*! diff --git a/contrib/bind9/lib/isc/pthreads/include/Makefile.in b/contrib/bind9/lib/isc/pthreads/include/Makefile.in index 0303ab130..46c243e1a 100644 --- a/contrib/bind9/lib/isc/pthreads/include/Makefile.in +++ b/contrib/bind9/lib/isc/pthreads/include/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 1998-2001 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any diff --git a/contrib/bind9/lib/isc/pthreads/include/isc/Makefile.in b/contrib/bind9/lib/isc/pthreads/include/isc/Makefile.in index 11675ec21..7cadcf4b6 100644 --- a/contrib/bind9/lib/isc/pthreads/include/isc/Makefile.in +++ b/contrib/bind9/lib/isc/pthreads/include/isc/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 1998-2001 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any diff --git a/contrib/bind9/lib/isc/sparc64/Makefile.in b/contrib/bind9/lib/isc/sparc64/Makefile.in index 324db0707..9c24cdf95 100644 --- a/contrib/bind9/lib/isc/sparc64/Makefile.in +++ b/contrib/bind9/lib/isc/sparc64/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above diff --git a/contrib/bind9/lib/isc/sparc64/include/Makefile.in b/contrib/bind9/lib/isc/sparc64/include/Makefile.in index f1d8bdd31..e3995599f 100644 --- a/contrib/bind9/lib/isc/sparc64/include/Makefile.in +++ b/contrib/bind9/lib/isc/sparc64/include/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above diff --git a/contrib/bind9/lib/isc/sparc64/include/isc/Makefile.in b/contrib/bind9/lib/isc/sparc64/include/isc/Makefile.in index 5f116cac9..4927e210f 100644 --- a/contrib/bind9/lib/isc/sparc64/include/isc/Makefile.in +++ b/contrib/bind9/lib/isc/sparc64/include/isc/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above diff --git a/contrib/bind9/lib/isc/unix/file.c b/contrib/bind9/lib/isc/unix/file.c index 943372e16..582fc23df 100644 --- a/contrib/bind9/lib/isc/unix/file.c +++ b/contrib/bind9/lib/isc/unix/file.c @@ -302,6 +302,11 @@ isc_file_openunique(char *templet, FILE **fp) { return (result); } +isc_result_t +isc_file_bopenunique(char *templet, FILE **fp) { + return (isc_file_openunique(templet, fp)); +} + isc_result_t isc_file_remove(const char *filename) { int r; diff --git a/contrib/bind9/lib/isc/unix/include/Makefile.in b/contrib/bind9/lib/isc/unix/include/Makefile.in index 0303ab130..46c243e1a 100644 --- a/contrib/bind9/lib/isc/unix/include/Makefile.in +++ b/contrib/bind9/lib/isc/unix/include/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 1998-2001 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any diff --git a/contrib/bind9/lib/isc/unix/include/isc/Makefile.in b/contrib/bind9/lib/isc/unix/include/isc/Makefile.in index 2f4d2164b..d3b508425 100644 --- a/contrib/bind9/lib/isc/unix/include/isc/Makefile.in +++ b/contrib/bind9/lib/isc/unix/include/isc/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 1998-2001 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any diff --git a/contrib/bind9/lib/isc/x86_32/Makefile.in b/contrib/bind9/lib/isc/x86_32/Makefile.in index 324db0707..9c24cdf95 100644 --- a/contrib/bind9/lib/isc/x86_32/Makefile.in +++ b/contrib/bind9/lib/isc/x86_32/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above diff --git a/contrib/bind9/lib/isc/x86_32/include/Makefile.in b/contrib/bind9/lib/isc/x86_32/include/Makefile.in index f1d8bdd31..e3995599f 100644 --- a/contrib/bind9/lib/isc/x86_32/include/Makefile.in +++ b/contrib/bind9/lib/isc/x86_32/include/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above diff --git a/contrib/bind9/lib/isc/x86_32/include/isc/Makefile.in b/contrib/bind9/lib/isc/x86_32/include/isc/Makefile.in index 5f116cac9..4927e210f 100644 --- a/contrib/bind9/lib/isc/x86_32/include/isc/Makefile.in +++ b/contrib/bind9/lib/isc/x86_32/include/isc/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above diff --git a/contrib/bind9/lib/isc/x86_64/Makefile.in b/contrib/bind9/lib/isc/x86_64/Makefile.in index 324db0707..9c24cdf95 100644 --- a/contrib/bind9/lib/isc/x86_64/Makefile.in +++ b/contrib/bind9/lib/isc/x86_64/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above diff --git a/contrib/bind9/lib/isc/x86_64/include/Makefile.in b/contrib/bind9/lib/isc/x86_64/include/Makefile.in index f1d8bdd31..e3995599f 100644 --- a/contrib/bind9/lib/isc/x86_64/include/Makefile.in +++ b/contrib/bind9/lib/isc/x86_64/include/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above diff --git a/contrib/bind9/lib/isc/x86_64/include/isc/Makefile.in b/contrib/bind9/lib/isc/x86_64/include/isc/Makefile.in index f33ae9940..9a988bb76 100644 --- a/contrib/bind9/lib/isc/x86_64/include/isc/Makefile.in +++ b/contrib/bind9/lib/isc/x86_64/include/isc/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # # Permission to use, copy, modify, and/or distribute this software for any # purpose with or without fee is hereby granted, provided that the above diff --git a/contrib/bind9/lib/isccc/api b/contrib/bind9/lib/isccc/api index d7da70cea..eee306167 100644 --- a/contrib/bind9/lib/isccc/api +++ b/contrib/bind9/lib/isccc/api @@ -4,5 +4,5 @@ # 9.8: 80-89 # 9.9: 90-109 LIBINTERFACE = 50 -LIBREVISION = 2 +LIBREVISION = 3 LIBAGE = 0 diff --git a/contrib/bind9/lib/isccc/cc.c b/contrib/bind9/lib/isccc/cc.c index b549d6cb9..1ab947985 100644 --- a/contrib/bind9/lib/isccc/cc.c +++ b/contrib/bind9/lib/isccc/cc.c @@ -399,8 +399,6 @@ table_fromwire(isccc_region_t *source, isccc_region_t *secret, first_tag = ISC_FALSE; } - *alistp = alist; - if (secret != NULL) { if (checksum_rstart != NULL) result = verify(alist, checksum_rstart, @@ -412,7 +410,9 @@ table_fromwire(isccc_region_t *source, isccc_region_t *secret, result = ISC_R_SUCCESS; bad: - if (result != ISC_R_SUCCESS) + if (result == ISC_R_SUCCESS) + *alistp = alist; + else isccc_sexpr_free(&alist); return (result); diff --git a/contrib/bind9/lib/isccc/include/Makefile.in b/contrib/bind9/lib/isccc/include/Makefile.in index 9f727c306..6b222a522 100644 --- a/contrib/bind9/lib/isccc/include/Makefile.in +++ b/contrib/bind9/lib/isccc/include/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2001 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any diff --git a/contrib/bind9/lib/isccc/include/isccc/Makefile.in b/contrib/bind9/lib/isccc/include/isccc/Makefile.in index ae5bec758..c4af19a74 100644 --- a/contrib/bind9/lib/isccc/include/isccc/Makefile.in +++ b/contrib/bind9/lib/isccc/include/isccc/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2001 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any diff --git a/contrib/bind9/lib/isccfg/include/Makefile.in b/contrib/bind9/lib/isccfg/include/Makefile.in index 1f240030a..5c6976a84 100644 --- a/contrib/bind9/lib/isccfg/include/Makefile.in +++ b/contrib/bind9/lib/isccfg/include/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2001 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any diff --git a/contrib/bind9/lib/isccfg/include/isccfg/Makefile.in b/contrib/bind9/lib/isccfg/include/isccfg/Makefile.in index a6fd4125f..211583a5f 100644 --- a/contrib/bind9/lib/isccfg/include/isccfg/Makefile.in +++ b/contrib/bind9/lib/isccfg/include/isccfg/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004, 2005, 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2001, 2002 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any diff --git a/contrib/bind9/lib/lwres/Makefile.in b/contrib/bind9/lib/lwres/Makefile.in index 858b325d1..0cf873b51 100644 --- a/contrib/bind9/lib/lwres/Makefile.in +++ b/contrib/bind9/lib/lwres/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2004, 2005, 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004, 2005, 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2000, 2001 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any diff --git a/contrib/bind9/lib/lwres/api b/contrib/bind9/lib/lwres/api index 04068cefa..d15c78ebe 100644 --- a/contrib/bind9/lib/lwres/api +++ b/contrib/bind9/lib/lwres/api @@ -4,5 +4,5 @@ # 9.8: 80-89 # 9.9: 90-109 LIBINTERFACE = 50 -LIBREVISION = 5 +LIBREVISION = 6 LIBAGE = 0 diff --git a/contrib/bind9/lib/lwres/getaddrinfo.c b/contrib/bind9/lib/lwres/getaddrinfo.c index 8244bf3b3..f8b4c81d2 100644 --- a/contrib/bind9/lib/lwres/getaddrinfo.c +++ b/contrib/bind9/lib/lwres/getaddrinfo.c @@ -398,7 +398,7 @@ lwres_getaddrinfo(const char *hostname, const char *servname, goto inet6_addr; } addrsize = sizeof(struct in_addr); - addroff = (char *)(&SIN(0)->sin_addr) - (char *)0; + addroff = offsetof(struct sockaddr_in, sin_addr); family = AF_INET; goto common; #ifdef LWRES_HAVE_SIN6_SCOPE_ID @@ -408,7 +408,7 @@ lwres_getaddrinfo(const char *hostname, const char *servname, if (family && family != AF_INET6) return (EAI_NONAME); addrsize = sizeof(struct in6_addr); - addroff = (char *)(&SIN6(0)->sin6_addr) - (char *)0; + addroff = offsetof(struct sockaddr_in6, sin6_addr); family = AF_INET6; goto common; #endif @@ -417,7 +417,7 @@ lwres_getaddrinfo(const char *hostname, const char *servname, return (EAI_NONAME); inet6_addr: addrsize = sizeof(struct in6_addr); - addroff = (char *)(&SIN6(0)->sin6_addr) - (char *)0; + addroff = offsetof(struct sockaddr_in6, sin6_addr); family = AF_INET6; common: diff --git a/contrib/bind9/lib/lwres/include/Makefile.in b/contrib/bind9/lib/lwres/include/Makefile.in index 4750a5e96..6c3d07fd3 100644 --- a/contrib/bind9/lib/lwres/include/Makefile.in +++ b/contrib/bind9/lib/lwres/include/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2000, 2001 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any diff --git a/contrib/bind9/lib/lwres/include/lwres/Makefile.in b/contrib/bind9/lib/lwres/include/lwres/Makefile.in index fc3126f8a..36b8b03d5 100644 --- a/contrib/bind9/lib/lwres/include/lwres/Makefile.in +++ b/contrib/bind9/lib/lwres/include/lwres/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2000, 2001 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any diff --git a/contrib/bind9/lib/lwres/man/Makefile.in b/contrib/bind9/lib/lwres/man/Makefile.in index cb723c273..80db9f2ff 100644 --- a/contrib/bind9/lib/lwres/man/Makefile.in +++ b/contrib/bind9/lib/lwres/man/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2001 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any diff --git a/contrib/bind9/lib/lwres/unix/Makefile.in b/contrib/bind9/lib/lwres/unix/Makefile.in index 5d77208a9..26ca4fb82 100644 --- a/contrib/bind9/lib/lwres/unix/Makefile.in +++ b/contrib/bind9/lib/lwres/unix/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2001 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any diff --git a/contrib/bind9/lib/lwres/unix/include/Makefile.in b/contrib/bind9/lib/lwres/unix/include/Makefile.in index 61906330a..5372543cc 100644 --- a/contrib/bind9/lib/lwres/unix/include/Makefile.in +++ b/contrib/bind9/lib/lwres/unix/include/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2001 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any diff --git a/contrib/bind9/lib/lwres/unix/include/lwres/Makefile.in b/contrib/bind9/lib/lwres/unix/include/lwres/Makefile.in index c943e015d..4f60ce82f 100644 --- a/contrib/bind9/lib/lwres/unix/include/lwres/Makefile.in +++ b/contrib/bind9/lib/lwres/unix/include/lwres/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 2004, 2007 Internet Systems Consortium, Inc. ("ISC") +# Copyright (C) 2004, 2007, 2012 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2001 Internet Software Consortium. # # Permission to use, copy, modify, and/or distribute this software for any diff --git a/contrib/bind9/make/rules.in b/contrib/bind9/make/rules.in index 22e96fd6d..f9f3faa7c 100644 --- a/contrib/bind9/make/rules.in +++ b/contrib/bind9/make/rules.in @@ -86,7 +86,7 @@ testdirs: install:: all install clean distclean maintainer-clean doc docclean man manclean:: - @for i in ${ALL_SUBDIRS}; do \ + @for i in ${ALL_SUBDIRS} ${ALL_TESTDIRS}; do \ if [ "$$i" != "nulldir" -a -d $$i ]; then \ echo "making $@ in `pwd`/$$i"; \ (cd $$i; ${MAKE} ${MAKEDEFS} DESTDIR="${DESTDIR}" $@) || exit 1; \ diff --git a/contrib/bind9/version b/contrib/bind9/version index 6f08cb7be..22ece06bf 100644 --- a/contrib/bind9/version +++ b/contrib/bind9/version @@ -7,4 +7,4 @@ MAJORVER=9 MINORVER=6 PATCHVER= RELEASETYPE=-ESV -RELEASEVER=-R7-P4 +RELEASEVER=-R8 -- 2.45.0