rpminspect-1.12.1-1.el8 > 6 6_6 3!y덏%!E/֡e(@ !E/֡DEYDjIRvniM\d.Onf,HEB;޳0> VY`qhHcrŅ| ;C4ԂM I ;! M>鑀zC݀g;`/\9?%G31L9zۿ ߿3]Bh AtV+Ow/o7R8JPt"Ư?CG·2vr}DjAAS6{ՏNYMM@Yr᳡*^ߑW'9:8v~>%{Ƭ0"ʵ%[(ÃyC=>v =U߼&8B"~OFL8Au)&Z"4[ARDĕiSn_HhPyj?IX;YY˵G/>s o<;|jJivp3C%ʑ+3!3饚Wū9TfӕI {`j.63482b6f583b9d8e43d413b67c15ed96123436fc47fd062a5fdc56c3af12204cd70f203040726c6b7f877d61ad4a8673820127c7c3!y덏%!E/֡e(@ !E/֡Mw2W zRA^0(Z Q+q:ȑ_Le l:HVaEe$sz@Uy2!%Eo*[1'>lhPCsi^#@+vZuy wC+,fQgneo!Blvx9%@Yklv ͙!c ?e)?D7ʉk$oy]dlp%-\nY@xTN"x")w‡5{vMGicz;^l~ҼS@bE78͗4.WD0b aqpe3iJVtf&8!L "VU\viQ<)mg롒i X6x.K*&4><Fz.؂o{&{uih/tOqFj5a"b7̕aUen2~R&.ٸZaъ>p=h?Xd   GDHpt+ :Lu{         -  X   0 d3(f8p9: G H I@ XPYX\t ]ݨ ^H b!dqevfyl{t u vwL x y  TCrpminspect1.12.11.el8Build deviation analysis and compliance toolBuild deviation and compliance tool. This program runs a number of tests against one or two builds of source RPM files. The built artifacts are inspected and compared to report changes and validate policy compliance against the defined parameters.e(;1buildhw-x86-12.iad2.fedoraproject.orgFedora ProjectFedora ProjectGPL-3.0-or-later AND LGPL-3.0-or-later AND LGPL-2.1-or-later AND Apache-2.0 AND MIT AND AND BSD-1-Clause AND BSD-2-Clause AND BSD-3-Clause AND CC-BY-4.0Fedora ProjectDevelopment/Toolshttps://github.com/rpminspect/rpminspectlinuxx86_64oyPSMӜ^AAA큤A큤e(;0e(;0e(;0e(;0e(;0e(,e(,e(,e(,e(;0e(,e(;/e(,2740095690d8bdf6a3e43f6e8a27b194baaf655fe1b0e9c52ac1cd20c69d6ced3961a81fceb03eebad1c94a0c7e5549cb0e5efabf3db659a88a653893d43d399a0375b4db351a3381dae2641ffecd8d006bb6fd07e1be47ab52f180d8276ad29284cce1ea34a12ec5ace2dd2aa168fb90f6a46f70bb33a8ddc3f883cf52b48de7fbfd40bc99e9b35856dcde02f75db88e1332e6e309126c45c3c8fbef4710fe23972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb369861c870234259a01b13a2f3c8ece6bcb952bec6fb316c1016b72a6be2f6cf8abb0751f4abde88f86d8e158f189782d916f561a6fa662956b0ff7f9780a6b515419../../../../usr/bin/rpminspectrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrpminspect-1.12.1-1.el8.src.rpmrpminspectrpminspect(x86-64)@@@@@@@@@    @libc.so.6()(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.8)(64bit)librpm.so.8()(64bit)librpminspect(x86-64)librpminspect.so.0()(64bit)librpmio.so.8()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)rtld(GNU_HASH)1.12.1-1.el83.0.4-14.6.0-14.0-15.2-14.14.3e'e'd@bb\@aW@a@a0`@`\{@`7@`7@`U_@_@_@_@_[fDavid Cantrell - 1.12.1-1David Cantrell - 1.12-1David Cantrell - 1.11-1David Cantrell - 1.10-1David Cantrell - 1.9-1David Cantrell - 1.8-1David Cantrell - 1.7-1David Cantrell - 1.6-1David Cantrell - 1.5-1David Cantrell - 1.4-1David Cantrell - 1.3.1-1David Cantrell - 1.3-2Fedora Release Engineering David Cantrell - 1.2-1David Cantrell - 1.2-1David Cantrell - 1.2-1David Cantrell - 1.2-1David Cantrell - 1.1-1- Upgrade to rpminspect-1.12.1- Upgrade to rpminspect-1.12- Upgrade to rpminspect-1.11- Upgrade to rpminspect-1.10- Upgrade to rpminspect-1.9- Upgrade to rpminspect-1.8- Upgrade to rpminspect-1.7- Upgrade to rpminspect-1.6- Begin work on version 1.5 - Use llabs() instead of labs() in the filesize inspection - Improve has invalid execstack flags reporting - Use long unsigned int to report size changes in patches - Fix some errors in the changedfiles inspection - Update the changedfiles test cases - Check DT_SONAME in is_elf_shared_library() - Skip debuginfo and debugsource files in abidiff - Make sure abidiff test cases add a DT_SONAME to the test lib - Report INFO level for patches findings by default - Python black fixes in test/test_abidiff.py - Update the test/test_patches.py cases for patches changes - Generate regular changelog in utils/srpm.h - Skip branches without targets in submit-koji-builds.sh - Fedora and CentOS systems in ci need diffstat - opensuse-leap CI job requires diffstat - Fix the Debian CI jobs in GitHub Actions - Fix and enable the Ubuntu extra-ci job in GitHub Actions - Use pip instead of pip3 for the Ubuntu command - Use apt-get -y install in - Enable the opensuse-tumbleweed GHA job again - Make sure the Gentoo GHA job has diffstat - Get the Arch Linux GHA job working again - Use ubuntu:latest for the ubuntu GHA image - Simplify the utils/determine-os.sh script - Update license table in README.md - Allow any number of builds specified for fetch only mode - Handle old or broken versions of libmagic in changedfiles - Update GitHub Action status badges in README.md - Fix $(OS) check in the Makefile - Fix the ubuntu GitHub Actions extra-ci job - Make sure the centos8 job has git available before cloning - Change strappend() to work as a variadic function - Use json_tokener_parse_ex() to get better error reporting - Fix reading of the javabytecode block in the config file - Catch missing/losing -fPIC correctly on .a ELF objects (#352) - Refactor elf_archive_tests() and its helper functions - Followup fix for find_no_pic, find_pic, and find_all - Install cpp-coveralls using pacman on Arch Linux - Install cpp-coveralls using pip on Arch Linux - Install cpp-coveralls in pre.sh on Arch Linux - Install required Python modules in pre.sh on Arch Linux - Do not upgrade pip on Arch Linux, go back to using pip.txt - Drop DEBUG_PRINT from source generated by pic_bits.sh - Do not run apt-get update as a second time on Debians systems - The lost PIC tests need to invoke gcc with -fno-PIC - Update the OpenSUSE Tumbleweed files, but disable it anyway - Define inspection_ignores in struct rpminspect - Clean up the config file section reading code - Add add_ignore() to init.c - Fix fetch only mode download directory - Stub out libcurl download progress callback function - Perform symbolic owner and group matching in ownership (#364) - Restrict download_progress() to systems with CURLOPT_XFERINFOFUNCTION - Read per-inspection ignore lists from the config file. - Add commented out per-inspection ignore blocks - Implement per-inspection path ignore support (#351) - Report annocheck failures correctly in librpminspect. - Note all regular expression settings use regex(7) syntax - Allow size_threshold: info in the config file (#261) - Check ignore list in files for path prefixes to ignore (#360) - Support a list of expected empty RPMs in the config file (#355) - Call mparse_reset() before mparse_readfd() - Do not crash with the -c option specifies a non-existent file - Update TODO list - Make sure brp-compress is disabled in test_manpage.py - Require/Recommend /usr/bin/annocheck - Note size_threshold can be the keyword info - Ensure ctxt->lastError.message is not NULL before strdup (#382) - Handle corrupt compressed files in changedfiles (#382) - Disable debugging output for the ignore lists in init.c - Drop debugging output in the xml inspection - Remove what working directories we can - Correctly find icons for desktop files in subpackages (#367) - Followup to the Icon= check in the desktop inspection (#367) - BuildRequires libmandoc-devel >= 1.14.5 - Manually install mandoc on centos7 for now- Start work on the 1.4 release - Trim git commit summary prefix from changelog lines - Report the program version number in the results (#309) - Handle compressed but otherwise empty man pages (#308) - Flake8 fixes for test_manpage.py - s/self.rpm/self.after_rpm/ in two test_manpage.py tests - Disable broken ELF heurisitic and size limit in libclamav - Modify dump_cfg() to write valid YAML to stdout (#306) - Migrate more code off hsearch and to uthash - Replace hsearch() with uthash in the kmod inspection - Update TEST_METADATA status in TODO and MISSING - Restrict style checks to specific directories - Replace hsearch() with uthash in the abidiff inspection - Change tsearch/twalk use to uthash - Correct misuse of entry with hentry variables (#321) - Normalize copyright boilerplates in source files - Use hentry->key over hentry->value in pathmigration - Adjust lib/meson.build for Fedora rawhide - Drop gate.yml and begin non-x86_64 arches in ci.yml - Add armv7, aarch64, and s390x to the other_arches job - Change init.c error reporting over to err/warn functions - Modify file triggers and matrix use in ci.yml - Split 32-bit osdeps out to post.sh scripts in osdeps/ - Split style.yml in to shellcheck.yml and python.yml - Rewrite extra-ci.yml to use the matrix strategy method for GHA - Move the emulated CI jobs to extra-ci.yml - s/pkg/pki/ for the centos jobs - Debian and Ubuntu fixes for CI - Python pip on Debian is called pip - Try to fix just debian:stable - Enable debian:testing in extra-ci.yml - Enable centos8 in extra-ci.yml again - Enable centos7 in extra-ci.yml again - Enable opensuse-leap and gentoo in extra-ci.yml again - Run each test script individually on emulated targets - Try a different syntax for the emulated matrix jobs - Install s390 glibc headers on s390x fedora systems - Detect 32-bit and musl presence in test_elf.py - Skip lost -fPIC tests if gcc lacks -m32 support - Add stretch and buster to the emulated targets list - Drop Debian buster from the emulated targets - Install gcc-multilib only on Debian x86_64 and s390x systems - libc-dev:i386 -> libc6-dev:i386 - Disable Debian targets in extra-ci temporarily - s/AUR/git/g in osdeps/arch/post.sh - In read_cfgfile(), keep track of block depth correctly (#329) - A few more yaml parsing fixes for block vs group - Recommend or Require libabigail >= 1.8.2 - Finish normalizing all the error reporting statements - Advertise of rpminspect-report in the contrib README. - Report libclamav version and CVD versions (#258) - Ensure first argument of warn(3) is a format string. - Enable werror=true and warning_level=3 in default_options - Update the translation template file - Get rid of invalid free() in get_product_release() - Add inspection_id() to librpminspect - Update the po/rpminspect.pot template - Improve mkannounce.sh to handle stable and devel releases- Remove duplicate elf_end() call in init_elf_data() (#303) - Update translation template- Small change to the way Koji builds are submitted - Move the master branch to version 1.3 - Drop DEBUG_PRINT in process_table() - Add doc/git.md to explain source control conventions - Change Suggests to Recommends in the spec file - Add kmidiff and politics to the inspections section of generic.yaml - Update TODO list - Use warn() for non-fatal errors in mkdirp() - Require libabigail >= 1.8 in rpminspect.spec.in - Enable multiple --headers-dir1 and --headers-dir2 args in abidiff - Swap out some more fprintf()/fflush() reporting with warn() - #include in peers.c and rmtree.c - On fedora-rawhide CI jobs, install gcc-c++ and gcc-plugin-devel - Disable fedora-rawhide GitHub Action for now - Correctly handle the -w option on rpminspect(1) (#256) - Drop the relative path handling for the -w option - Build and install rc from source on opensuse-leap - Update doc/git.md on how to track upstream - Add .github/ and osdeps/ directories to extra-ci.yml - Build and install rc from source on opensuse-tumbleweed - Adjust curl(1) command line used for rc in opensuse CI jobs - Trying to figure out why the opensuse jobs produce curl errors - Another slight change to post.sh for the opensuse-leap CI job - s/PowerTools/powertools/g in the centos8 PKG_CMD definition - The output of html2text on opensuse systems is different - Rename HEADER_MAN to HEADER_MANPAGE (#264) - Add inspection_header_to_desc() to librpminspect (#264) - Add xunit output format support (#264) - Support the new output function call syntax (#264) - Move init_elf_data() to readelf.c, move data to struct rpminspect - Update inspect_elf.c unit tests for librpminspect changes - Remove check_ipv6() from inspect_elf.c - Create the badfuncs inspection - Update po/ translation files. - Add badfuncs test cases - Forgot to commit test_badfuncs.py. - Fix flake8 and black errors with test_badfuncs.py - Skip debug packages in filesize, display changes correctly - Fix spurious execstack failure - Fix YAML config file reading for BLOCK_INSPECTIONS - Expand dump_config() to cover all config file settings - Minor spelling fixes in strfuncs.c and making code explicit - Simplify list_to_string() so it handles 1-elements lists right - Add abspath() to canonicalize path strings - In the doc inspection, only show diff(1) output for text files (#254) - Add strxmlescape() to strfuncs.c in librpminspect (#264) - Output the system-out xunit portion as CDATA (#264) - Slightly change how strxmlescape() works - Add the runpath inspection to librpminspect - Rename test/data/lto.c to test/data/mathlib.c - Handle the empty string case in abspath() - Expand dump_cfg() to show runpath settings - Fix block handling problems in the YAML config reader - Note single builds cannot be rebases in is_rebase() - Hook up the driver for the runpath inspection - Install patchelf for tests on fedora and centos - Update TODO and README.md files - Pass -D to rpminspect in the test suite - Add integration tests for the runpath inspection - Python flake8 and black fixes in test_runpath.py - Fixes for GitHub Actions on Debian and Ubuntu - Disable Rust support in pip modules, more extra-ci fixes - Update pip and setuptools on debian and ubuntu CI jobs - Make sure pip is updated on debian, centos7, and centos8 - Fixes for extra-ci on arch, centos7, centos8, and debian - Adjust docker image names for opensuse and arch - Add Gentoo Linux to the Extra CI set - extra-ci.yml typo fix for the gentoo job - Use gentoo/stage3 as the container for the gentoo CI job - Disable opensuse-tumbleweed and archlinux CI jobs - Make sure util/determine-os.sh picks up Gentoo Linux - In the runpath inspection, fail if DT_RPATH and DT_RUNPATH exist - Use pip install for PIP_CMD on gentoo - Set PIP_CMD to pip install -user for gentoo - Handle a NULL from list_to_string() in abspath() - Do not match path prefixes in the runpath inspection - Python black fixes for test_runpath.py - Stop doing an emerge --sync on the gentoo CI job - Replace emerge --sync with a manual portage sync - Use emerge-webrsync to update portage on gentoo - Add uthash and move the file matching code to it. - Typo fix in README.md - Fix some memory leaks found by valgrind - Create mkannounce.sh to help make release announcements easier - shellcheck fixes for mkannounce.sh- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild- For BUILDTYPE=release, generate the correct type of changelog - Minor logic error in submit-koji-builds.sh - Fix reading existing spec file in submit-koji-builds.sh - Bump development build version to 1.2 - Use is_rebase() in the 'upstream' inspection - Use rpmtdSetIndex() and rpmtdGetString() in get_header_value() - Add get_rpmtag_fileflags() to files.c and call from extract_rpm() - Use correct Version and Release values in download_build() - #include -> #include - Add the 'config' inspection to librpminspect - Rephrase reporting messages in the 'config' inspection - Add the 'doc' inspection to librpminspect - Update TODO list - Minor updates to try and make gate.sh more reliable - Add config and doc to the inspections list in generic.yaml - Rename the '%files' inspection to 'files' (#194) - Modify baseclass.py to allow 'before' and 'after' NVR tuples - Use the after tuple to override the NVR in test_abidiff.py - Use the after tuple to override the NVR in test_upstream.py - Write rpminspect output to a file in the test suite - Add 28 test cases for the 'config' inspection - Fix the errors in the 'config' inspection found by the test suite - Fix Python problems in the test suite reported by black and flake8 - Add Makefile targets for black and flake8 - One more formatting issue reporting by Python black in test_config.py - More 'python black' formatting errors reported for test_config.py - https://mandoc.bsd.lv -> http://mandoc.bsd.lv - Add a -D/--dump-config option to rpminspect(1) - Use global reported variable in 'config' inspection - Fix reporting errors in the 'doc' inspection - Add test_doc.py with 'doc' inspection test cases - Ignore flake8 W291 in test_doc.py where we explicitly want whitepsace. - Add init_rebaseable() to librpminspect - Check the rebaseable list in is_rebase() in librpminspect - Update TODO list - Define a new GitHub Action using utils/gate.sh - Update the README.md file - shellcheck fixes for utils/gate.sh - Use utils/find-ninja.sh to determine what ninja-build command to use - Install fedora-packager for the gate.yml GitHub Action - Remove before and after variables from gate.sh; unused - Remove unnecessary basename() calls in inspect_upstream.c - Do not assume an or bn contain strings in is_rebase() (#196) - Adjust what things run during with GitHub Actions - Add get_rpm_header_string_array() to librpminspect - Replace init_source() with get_rpm_header_string_array() in inspect_upstream.c - free() allocated output string in inspect_changelog.c on errors - s/10240/16384/ in archive_read_open_filename() call in unpack.c - Add the 'patches' inspection to librpminspect - Add uncompress_file() to librpminspect - Add filecmp() and use that in place of zcmp/bzcmp/xzcmp - README.md updates - Restrict some GitHub Actions to source code and test suite changes. - Only enable lz4 compression if ARCHIVE_FILTER_LZ4 is defined - Go ahead and wrap the rest of the libarchive compression filters - s/class Test/class /g - Make sure uncompress_file() supports xz compression - Handle more compressed file MIME types. - Add test_changedfiles.py to the test suite. - Add test_patches.py with test cases for the 'patches' inspection - flake8 fixes in the test suite - Python format fixes for test_changedfiles.py - Python format fixes in test_patches.py - More Python format fixes for test_patches.py - Remove unnecessary 'a' in DESC_PATCHES - Better explanation as to why the EmptyLicenseTag tests are skipped. - Test suite cleanup; add rebase= and same= to TestCompareSRPM - Black formatting fixes for the test suite. - Remove unused imports in test_upstream.py - Revert black fixes for test_config.py - Fix my email address in test suite source files. - Support single package URLs for before and after builds (#190) - Handle invalid/missing RPMs in get_product_release() - Use warnx(), errx(), and err() in src/rpminspect.c - Modify submit-koji-builds.sh to pick up all pkg-git branches. - Update the rpminspect.1 man page to reflect current status. - Update translation template files in po/ - Support relative directory paths for the -w option (#188) - Implement the 'virus' inspection and add test cases for it. - Update po/ template files - Python formatting fixes for test_virus.py - Update the osdeps/*/reqs.txt files. - More osdeps updates for the clamav needs - Install 'xz' for the 'style' GitHub Action - Fix a variety of small memory leaks in librpminspect - Stop the freshclam service for the Ubuntu gate job - Support slightly older versions of libclamav in inspect_virus.c - Add the 'politics' inspection to librpminspect. - In tearDown() in the test suite, call rpmfluff clean() methods - Add test_politics.py with 'politics' inspection test cases - Python black format fixes for test_politics.py - 'it should added' -> 'it should be added' - Increase the runtime timeout for test_virus.py - Install the timeout decorator on all OSes in our GitHub Actions - Install timeout-decorator with pip, not timeout - Expand librpminspect with support for SHA-224, SHA-384, and SHA-512 - Define DEFAULT_MESSAGE_DIGEST in constants.h and use that. - Replace some fprintf()/fflush() calls with warn()/warnx() calls - Rename the 'DT_NEEDED' inspection to 'dsodeps' - Rename 'LTO' inspection to 'lto' - Update translation template and fix two incorrect error strings. - Note all valid message digests in data/politics/GENERIC - Improve reporting in the patches inspection - Only fail 'changedfiles' for VERIFY and higher results - If 'removedfiles' only reports INFO messages, pass the inspection - If 'addedfiles' only reports INFO results, pass the inspection - If 'patches' only reports INFO results, pass the inspection - No need to check value of allowed in permissions_driver() - Do not let INFO results fail the 'doc' inspection. - Do not let all INFO results in 'upstream' fail the inspection - Fix RPMFILE_FLAGS handling for %config files (#221) - Still report file changes in the 'config' inspection for rebases - Correctly check RPMFILE_DOC flags in the 'doc' inspection - Include rpm/rpmfi.h insted of rpm/rpmfiles.h - Only check regular files and symlinks in the 'doc' inspection - Remove unnecessary assert() statements in filecmp() - Remove incorrect warnx() reportings based on filecmp() return value - Exclude man pages from the 'doc' inspection - Honor the -a command line option for downloads as well as runtime (#233) - Allow optional 'commands' block in the config file - Fix assorted non-critical memory leaks - Remove unnecessary warn() after a failed stat() - Additional memory fixes for the abidiff inspection (#244) - Free ELF symbol names list in find_lto_symbols() before return - Followup to the memory fixes for read_abi() and free_abi() - Prevent invalid pointer dereferencing in invalid result in 'patches' (#245) - Avoid reusing the same abi_pkg_entry_t struct in read_abi() - Allow a set of excluded path prefixes in 'pathmigration' - Fix the YAML parsing for the pathmigration block - Document the BRANCHES variable for 'make koji' - Include the .asc file when submitting new Koji builds (#191) - Include the .asc file in the spec file- For BUILDTYPE=release, generate the correct type of changelog - Minor logic error in submit-koji-builds.sh - Fix reading existing spec file in submit-koji-builds.sh - Bump development build version to 1.2 - Use is_rebase() in the 'upstream' inspection - Use rpmtdSetIndex() and rpmtdGetString() in get_header_value() - Add get_rpmtag_fileflags() to files.c and call from extract_rpm() - Use correct Version and Release values in download_build() - #include -> #include - Add the 'config' inspection to librpminspect - Rephrase reporting messages in the 'config' inspection - Add the 'doc' inspection to librpminspect - Update TODO list - Minor updates to try and make gate.sh more reliable - Add config and doc to the inspections list in generic.yaml - Rename the '%files' inspection to 'files' (#194) - Modify baseclass.py to allow 'before' and 'after' NVR tuples - Use the after tuple to override the NVR in test_abidiff.py - Use the after tuple to override the NVR in test_upstream.py - Write rpminspect output to a file in the test suite - Add 28 test cases for the 'config' inspection - Fix the errors in the 'config' inspection found by the test suite - Fix Python problems in the test suite reported by black and flake8 - Add Makefile targets for black and flake8 - One more formatting issue reporting by Python black in test_config.py - More 'python black' formatting errors reported for test_config.py - https://mandoc.bsd.lv -> http://mandoc.bsd.lv - Add a -D/--dump-config option to rpminspect(1) - Use global reported variable in 'config' inspection - Fix reporting errors in the 'doc' inspection - Add test_doc.py with 'doc' inspection test cases - Ignore flake8 W291 in test_doc.py where we explicitly want whitepsace. - Add init_rebaseable() to librpminspect - Check the rebaseable list in is_rebase() in librpminspect - Update TODO list - Define a new GitHub Action using utils/gate.sh - Update the README.md file - shellcheck fixes for utils/gate.sh - Use utils/find-ninja.sh to determine what ninja-build command to use - Install fedora-packager for the gate.yml GitHub Action - Remove before and after variables from gate.sh; unused - Remove unnecessary basename() calls in inspect_upstream.c - Do not assume an or bn contain strings in is_rebase() (#196) - Adjust what things run during with GitHub Actions - Add get_rpm_header_string_array() to librpminspect - Replace init_source() with get_rpm_header_string_array() in inspect_upstream.c - free() allocated output string in inspect_changelog.c on errors - s/10240/16384/ in archive_read_open_filename() call in unpack.c - Add the 'patches' inspection to librpminspect - Add uncompress_file() to librpminspect - Add filecmp() and use that in place of zcmp/bzcmp/xzcmp - README.md updates - Restrict some GitHub Actions to source code and test suite changes. - Only enable lz4 compression if ARCHIVE_FILTER_LZ4 is defined - Go ahead and wrap the rest of the libarchive compression filters - s/class Test/class /g - Make sure uncompress_file() supports xz compression - Handle more compressed file MIME types. - Add test_changedfiles.py to the test suite. - Add test_patches.py with test cases for the 'patches' inspection - flake8 fixes in the test suite - Python format fixes for test_changedfiles.py - Python format fixes in test_patches.py - More Python format fixes for test_patches.py - Remove unnecessary 'a' in DESC_PATCHES - Better explanation as to why the EmptyLicenseTag tests are skipped. - Test suite cleanup; add rebase= and same= to TestCompareSRPM - Black formatting fixes for the test suite. - Remove unused imports in test_upstream.py - Revert black fixes for test_config.py - Fix my email address in test suite source files. - Support single package URLs for before and after builds (#190) - Handle invalid/missing RPMs in get_product_release() - Use warnx(), errx(), and err() in src/rpminspect.c - Modify submit-koji-builds.sh to pick up all pkg-git branches. - Update the rpminspect.1 man page to reflect current status. - Update translation template files in po/ - Support relative directory paths for the -w option (#188) - Implement the 'virus' inspection and add test cases for it. - Update po/ template files - Python formatting fixes for test_virus.py - Update the osdeps/*/reqs.txt files. - More osdeps updates for the clamav needs - Install 'xz' for the 'style' GitHub Action - Fix a variety of small memory leaks in librpminspect - Stop the freshclam service for the Ubuntu gate job - Support slightly older versions of libclamav in inspect_virus.c - Add the 'politics' inspection to librpminspect. - In tearDown() in the test suite, call rpmfluff clean() methods - Add test_politics.py with 'politics' inspection test cases - Python black format fixes for test_politics.py - 'it should added' -> 'it should be added' - Increase the runtime timeout for test_virus.py - Install the timeout decorator on all OSes in our GitHub Actions - Install timeout-decorator with pip, not timeout - Expand librpminspect with support for SHA-224, SHA-384, and SHA-512 - Define DEFAULT_MESSAGE_DIGEST in constants.h and use that. - Replace some fprintf()/fflush() calls with warn()/warnx() calls - Rename the 'DT_NEEDED' inspection to 'dsodeps' - Rename 'LTO' inspection to 'lto' - Update translation template and fix two incorrect error strings. - Note all valid message digests in data/politics/GENERIC - Improve reporting in the patches inspection - Only fail 'changedfiles' for VERIFY and higher results - If 'removedfiles' only reports INFO messages, pass the inspection - If 'addedfiles' only reports INFO results, pass the inspection - If 'patches' only reports INFO results, pass the inspection - No need to check value of allowed in permissions_driver() - Do not let INFO results fail the 'doc' inspection. - Do not let all INFO results in 'upstream' fail the inspection - Fix RPMFILE_FLAGS handling for %config files (#221) - Still report file changes in the 'config' inspection for rebases - Correctly check RPMFILE_DOC flags in the 'doc' inspection - Include rpm/rpmfi.h insted of rpm/rpmfiles.h - Only check regular files and symlinks in the 'doc' inspection - Remove unnecessary assert() statements in filecmp() - Remove incorrect warnx() reportings based on filecmp() return value - Exclude man pages from the 'doc' inspection - Honor the -a command line option for downloads as well as runtime (#233) - Allow optional 'commands' block in the config file - Fix assorted non-critical memory leaks - Remove unnecessary warn() after a failed stat() - Additional memory fixes for the abidiff inspection (#244) - Free ELF symbol names list in find_lto_symbols() before return - Followup to the memory fixes for read_abi() and free_abi() - Prevent invalid pointer dereferencing in invalid result in 'patches' (#245) - Avoid reusing the same abi_pkg_entry_t struct in read_abi() - Allow a set of excluded path prefixes in 'pathmigration' - Fix the YAML parsing for the pathmigration block - Document the BRANCHES variable for 'make koji' - Include the .asc file when submitting new Koji builds (#191) - Include the .asc file in the spec file- For BUILDTYPE=release, generate the correct type of changelog - Minor logic error in submit-koji-builds.sh - Fix reading existing spec file in submit-koji-builds.sh - Bump development build version to 1.2 - Use is_rebase() in the 'upstream' inspection - Use rpmtdSetIndex() and rpmtdGetString() in get_header_value() - Add get_rpmtag_fileflags() to files.c and call from extract_rpm() - Use correct Version and Release values in download_build() - #include -> #include - Add the 'config' inspection to librpminspect - Rephrase reporting messages in the 'config' inspection - Add the 'doc' inspection to librpminspect - Update TODO list - Minor updates to try and make gate.sh more reliable - Add config and doc to the inspections list in generic.yaml - Rename the '%files' inspection to 'files' (#194) - Modify baseclass.py to allow 'before' and 'after' NVR tuples - Use the after tuple to override the NVR in test_abidiff.py - Use the after tuple to override the NVR in test_upstream.py - Write rpminspect output to a file in the test suite - Add 28 test cases for the 'config' inspection - Fix the errors in the 'config' inspection found by the test suite - Fix Python problems in the test suite reported by black and flake8 - Add Makefile targets for black and flake8 - One more formatting issue reporting by Python black in test_config.py - More 'python black' formatting errors reported for test_config.py - https://mandoc.bsd.lv -> http://mandoc.bsd.lv - Add a -D/--dump-config option to rpminspect(1) - Use global reported variable in 'config' inspection - Fix reporting errors in the 'doc' inspection - Add test_doc.py with 'doc' inspection test cases - Ignore flake8 W291 in test_doc.py where we explicitly want whitepsace. - Add init_rebaseable() to librpminspect - Check the rebaseable list in is_rebase() in librpminspect - Update TODO list - Define a new GitHub Action using utils/gate.sh - Update the README.md file - shellcheck fixes for utils/gate.sh - Use utils/find-ninja.sh to determine what ninja-build command to use - Install fedora-packager for the gate.yml GitHub Action - Remove before and after variables from gate.sh; unused - Remove unnecessary basename() calls in inspect_upstream.c - Do not assume an or bn contain strings in is_rebase() (#196) - Adjust what things run during with GitHub Actions - Add get_rpm_header_string_array() to librpminspect - Replace init_source() with get_rpm_header_string_array() in inspect_upstream.c - free() allocated output string in inspect_changelog.c on errors - s/10240/16384/ in archive_read_open_filename() call in unpack.c - Add the 'patches' inspection to librpminspect - Add uncompress_file() to librpminspect - Add filecmp() and use that in place of zcmp/bzcmp/xzcmp - README.md updates - Restrict some GitHub Actions to source code and test suite changes. - Only enable lz4 compression if ARCHIVE_FILTER_LZ4 is defined - Go ahead and wrap the rest of the libarchive compression filters - s/class Test/class /g - Make sure uncompress_file() supports xz compression - Handle more compressed file MIME types. - Add test_changedfiles.py to the test suite. - Add test_patches.py with test cases for the 'patches' inspection - flake8 fixes in the test suite - Python format fixes for test_changedfiles.py - Python format fixes in test_patches.py - More Python format fixes for test_patches.py - Remove unnecessary 'a' in DESC_PATCHES - Better explanation as to why the EmptyLicenseTag tests are skipped. - Test suite cleanup; add rebase= and same= to TestCompareSRPM - Black formatting fixes for the test suite. - Remove unused imports in test_upstream.py - Revert black fixes for test_config.py - Fix my email address in test suite source files. - Support single package URLs for before and after builds (#190) - Handle invalid/missing RPMs in get_product_release() - Use warnx(), errx(), and err() in src/rpminspect.c - Modify submit-koji-builds.sh to pick up all pkg-git branches. - Update the rpminspect.1 man page to reflect current status. - Update translation template files in po/ - Support relative directory paths for the -w option (#188) - Implement the 'virus' inspection and add test cases for it. - Update po/ template files - Python formatting fixes for test_virus.py - Update the osdeps/*/reqs.txt files. - More osdeps updates for the clamav needs - Install 'xz' for the 'style' GitHub Action - Fix a variety of small memory leaks in librpminspect - Stop the freshclam service for the Ubuntu gate job - Support slightly older versions of libclamav in inspect_virus.c - Add the 'politics' inspection to librpminspect. - In tearDown() in the test suite, call rpmfluff clean() methods - Add test_politics.py with 'politics' inspection test cases - Python black format fixes for test_politics.py - 'it should added' -> 'it should be added' - Increase the runtime timeout for test_virus.py - Install the timeout decorator on all OSes in our GitHub Actions - Install timeout-decorator with pip, not timeout - Expand librpminspect with support for SHA-224, SHA-384, and SHA-512 - Define DEFAULT_MESSAGE_DIGEST in constants.h and use that. - Replace some fprintf()/fflush() calls with warn()/warnx() calls - Rename the 'DT_NEEDED' inspection to 'dsodeps' - Rename 'LTO' inspection to 'lto' - Update translation template and fix two incorrect error strings. - Note all valid message digests in data/politics/GENERIC - Improve reporting in the patches inspection - Only fail 'changedfiles' for VERIFY and higher results - If 'removedfiles' only reports INFO messages, pass the inspection - If 'addedfiles' only reports INFO results, pass the inspection - If 'patches' only reports INFO results, pass the inspection - No need to check value of allowed in permissions_driver() - Do not let INFO results fail the 'doc' inspection. - Do not let all INFO results in 'upstream' fail the inspection - Fix RPMFILE_FLAGS handling for %config files (#221) - Still report file changes in the 'config' inspection for rebases - Correctly check RPMFILE_DOC flags in the 'doc' inspection - Include rpm/rpmfi.h insted of rpm/rpmfiles.h - Only check regular files and symlinks in the 'doc' inspection - Remove unnecessary assert() statements in filecmp() - Remove incorrect warnx() reportings based on filecmp() return value - Exclude man pages from the 'doc' inspection - Honor the -a command line option for downloads as well as runtime (#233) - Allow optional 'commands' block in the config file - Fix assorted non-critical memory leaks - Remove unnecessary warn() after a failed stat() - Additional memory fixes for the abidiff inspection (#244) - Free ELF symbol names list in find_lto_symbols() before return - Followup to the memory fixes for read_abi() and free_abi() - Prevent invalid pointer dereferencing in invalid result in 'patches' (#245) - Avoid reusing the same abi_pkg_entry_t struct in read_abi() - Allow a set of excluded path prefixes in 'pathmigration' - Fix the YAML parsing for the pathmigration block - Document the BRANCHES variable for 'make koji' - Include the .asc file when submitting new Koji builds (#191) - Include the .asc file in the spec file- For BUILDTYPE=release, generate the correct type of changelog - Minor logic error in submit-koji-builds.sh - Fix reading existing spec file in submit-koji-builds.sh - Bump development build version to 1.2 - Use is_rebase() in the 'upstream' inspection - Use rpmtdSetIndex() and rpmtdGetString() in get_header_value() - Add get_rpmtag_fileflags() to files.c and call from extract_rpm() - Use correct Version and Release values in download_build() - #include -> #include - Add the 'config' inspection to librpminspect - Rephrase reporting messages in the 'config' inspection - Add the 'doc' inspection to librpminspect - Update TODO list - Minor updates to try and make gate.sh more reliable - Add config and doc to the inspections list in generic.yaml - Rename the '%files' inspection to 'files' (#194) - Modify baseclass.py to allow 'before' and 'after' NVR tuples - Use the after tuple to override the NVR in test_abidiff.py - Use the after tuple to override the NVR in test_upstream.py - Write rpminspect output to a file in the test suite - Add 28 test cases for the 'config' inspection - Fix the errors in the 'config' inspection found by the test suite - Fix Python problems in the test suite reported by black and flake8 - Add Makefile targets for black and flake8 - One more formatting issue reporting by Python black in test_config.py - More 'python black' formatting errors reported for test_config.py - https://mandoc.bsd.lv -> http://mandoc.bsd.lv - Add a -D/--dump-config option to rpminspect(1) - Use global reported variable in 'config' inspection - Fix reporting errors in the 'doc' inspection - Add test_doc.py with 'doc' inspection test cases - Ignore flake8 W291 in test_doc.py where we explicitly want whitepsace. - Add init_rebaseable() to librpminspect - Check the rebaseable list in is_rebase() in librpminspect - Update TODO list - Define a new GitHub Action using utils/gate.sh - Update the README.md file - shellcheck fixes for utils/gate.sh - Use utils/find-ninja.sh to determine what ninja-build command to use - Install fedora-packager for the gate.yml GitHub Action - Remove before and after variables from gate.sh; unused - Remove unnecessary basename() calls in inspect_upstream.c - Do not assume an or bn contain strings in is_rebase() (#196) - Adjust what things run during with GitHub Actions - Add get_rpm_header_string_array() to librpminspect - Replace init_source() with get_rpm_header_string_array() in inspect_upstream.c - free() allocated output string in inspect_changelog.c on errors - s/10240/16384/ in archive_read_open_filename() call in unpack.c - Add the 'patches' inspection to librpminspect - Add uncompress_file() to librpminspect - Add filecmp() and use that in place of zcmp/bzcmp/xzcmp - README.md updates - Restrict some GitHub Actions to source code and test suite changes. - Only enable lz4 compression if ARCHIVE_FILTER_LZ4 is defined - Go ahead and wrap the rest of the libarchive compression filters - s/class Test/class /g - Make sure uncompress_file() supports xz compression - Handle more compressed file MIME types. - Add test_changedfiles.py to the test suite. - Add test_patches.py with test cases for the 'patches' inspection - flake8 fixes in the test suite - Python format fixes for test_changedfiles.py - Python format fixes in test_patches.py - More Python format fixes for test_patches.py - Remove unnecessary 'a' in DESC_PATCHES - Better explanation as to why the EmptyLicenseTag tests are skipped. - Test suite cleanup; add rebase= and same= to TestCompareSRPM - Black formatting fixes for the test suite. - Remove unused imports in test_upstream.py - Revert black fixes for test_config.py - Fix my email address in test suite source files. - Support single package URLs for before and after builds (#190) - Handle invalid/missing RPMs in get_product_release() - Use warnx(), errx(), and err() in src/rpminspect.c - Modify submit-koji-builds.sh to pick up all pkg-git branches. - Update the rpminspect.1 man page to reflect current status. - Update translation template files in po/ - Support relative directory paths for the -w option (#188) - Implement the 'virus' inspection and add test cases for it. - Update po/ template files - Python formatting fixes for test_virus.py - Update the osdeps/*/reqs.txt files. - More osdeps updates for the clamav needs - Install 'xz' for the 'style' GitHub Action - Fix a variety of small memory leaks in librpminspect - Stop the freshclam service for the Ubuntu gate job - Support slightly older versions of libclamav in inspect_virus.c - Add the 'politics' inspection to librpminspect. - In tearDown() in the test suite, call rpmfluff clean() methods - Add test_politics.py with 'politics' inspection test cases - Python black format fixes for test_politics.py - 'it should added' -> 'it should be added' - Increase the runtime timeout for test_virus.py - Install the timeout decorator on all OSes in our GitHub Actions - Install timeout-decorator with pip, not timeout - Expand librpminspect with support for SHA-224, SHA-384, and SHA-512 - Define DEFAULT_MESSAGE_DIGEST in constants.h and use that. - Replace some fprintf()/fflush() calls with warn()/warnx() calls - Rename the 'DT_NEEDED' inspection to 'dsodeps' - Rename 'LTO' inspection to 'lto' - Update translation template and fix two incorrect error strings. - Note all valid message digests in data/politics/GENERIC - Improve reporting in the patches inspection - Only fail 'changedfiles' for VERIFY and higher results - If 'removedfiles' only reports INFO messages, pass the inspection - If 'addedfiles' only reports INFO results, pass the inspection - If 'patches' only reports INFO results, pass the inspection - No need to check value of allowed in permissions_driver() - Do not let INFO results fail the 'doc' inspection. - Do not let all INFO results in 'upstream' fail the inspection - Fix RPMFILE_FLAGS handling for %config files (#221) - Still report file changes in the 'config' inspection for rebases - Correctly check RPMFILE_DOC flags in the 'doc' inspection - Include rpm/rpmfi.h insted of rpm/rpmfiles.h - Only check regular files and symlinks in the 'doc' inspection - Remove unnecessary assert() statements in filecmp() - Remove incorrect warnx() reportings based on filecmp() return value - Exclude man pages from the 'doc' inspection - Honor the -a command line option for downloads as well as runtime (#233) - Allow optional 'commands' block in the config file - Fix assorted non-critical memory leaks - Remove unnecessary warn() after a failed stat() - Additional memory fixes for the abidiff inspection (#244) - Free ELF symbol names list in find_lto_symbols() before return - Followup to the memory fixes for read_abi() and free_abi() - Prevent invalid pointer dereferencing in invalid result in 'patches' (#245) - Avoid reusing the same abi_pkg_entry_t struct in read_abi() - Allow a set of excluded path prefixes in 'pathmigration' - Fix the YAML parsing for the pathmigration block - Document the BRANCHES variable for 'make koji' - Include the .asc file when submitting new Koji builds (#191) - Include the .asc file in the spec file- Formatting fixes in Makefile help output - Begin config file restructuring starting with rpminspect-data-generic - Support multiple configuration files. - Docs work in progress. - Only fail the annocheck inspection for RESULT_VERIFY. - Read debuginfo if available when running the 'annocheck' inspection. - Add the '%files' inspection to librpminspect - Add __attribute__((__sentinel__)) to the run_cmd() prototype - Add test suite cases for the '%files' inspection. - Added the 'types' inspection to compare MIME types between builds. - Update TODO file - Update the MISSING file - s/rpminspect.yaml/generic.yaml/ in the Makefile and README - Skip debuginfo and debugsource packages in the 'types' inspection - Add test_types.py to the test suite - Note the 'types' inspection generic.yaml - Modify add_entry() in init.c to skip duplicate entries - Start GitHub Action workflow files for rpminspect. - Install meson in ci-ubuntu.yml - Change 'nls' option in meson_options.txt to a boolean - Install gettext for ci-ubuntu - Add more build dependencies to ci-ubuntu.yml - Drop the 'method' parameter from dependency() lines in meson.build - Split xmlrpc libs to separate dependency() lines in meson.build - More xmlrpc updates for meson.build and lib/meson.build - Try to support systems with xmlrpc-c without the pkgconfig file. - Changes to build on Ubuntu, specifically the GitHub Actions system - Syntax error in ci-ubuntu.yml - Add ci-fedora.yml for GitHub Action CI on Fedora - Fix errors in ci-fedora.yml - Put all of the ci-ubuntu.yml steps in ci-ubuntu.yml - Remove install-libmandoc.sh and ubuntu-pkgs.sh helper scripts. - Install python3-setuptools in ci-ubuntu.yml - Install rpm-build in ci-fedora.yml - Install libxmlrpc-core-c3-dev in ci-ubuntu.yml - Disable ci-ubuntu.yml for now, enable code coverage in ci-fedora.yml - Remove Travis-CI files. - coverage fixes for ci-fedora.yml - Install git in ci-fedora.yml - Enable manual dispatching of the CI on Fedora tests - Remove actionspanel thing for GitHub Actions, drop Coveralls block - Comment the ci-fedora-yaml file - Fix the 'elf' inspection and test_elf.py on Ubuntu - Enable the ci-ubuntu GitHub Action again - Check all return values of getcwd() - Ignore installed Python modules with pip3 in ci-ubuntu.yml - Build 'execstack' test program with -Wl,-z,lazy - Add ci-centos8.yml to enable CI on CentOS 8 as a GitHub Action - s/centos8:latest/centos8/g - Trying 'container: centos:centos8' - Drop 'sudo' from ci-centos8.yml - Rename README to README.md - Enable GitHub Action for CI on CentOS 7 - Drop -I from the pip install line in ci-centos7.yml - Use the 'make instreqs' target for install test suite deps. - Add back 'dnf -y install 'dnf-command(builddep)'' to ci-fedora.yml - Nope, that doesn't do it. Just install make in ci-fedora.yml first - More 'make instreqs' fixes. - s/scripts/utils/g in the Makefile - s/TOPDIR/topdir/g in the Makefile - Install make in ci-centos7.yml - Move REQS and PIP lists out of the Makefile to files in osdep/ - '^$$' -> '^$' - Slightly different sourcing of the osdep/ files - Set OS using := in the Makefile - Make the reqs.txt files in osdep/ contain all deps - linux-headers -> linux-headers-$(uname -r) for Ubuntu - Remove html401-dtds from osdep/centos8/reqs.txt - Use `` instead of $() since this list goes through make(1) - Does $(shell uname -r) work in this case? - More osdep/ work and simplification. - Rename 'osdep' to 'osdeps' - meson patches for opensuse - Move mandoc installation to post.sh in osdep/ubuntu - Add GitHub Action for CI on OpenSUSE - opensuse:latest -> opensuse/leap:latest - Install tar in ci-opensuse.yml - Install gzip in ci-opensuse.yml - More fixes for ci-opensuse.yml - Small fixes to determine-os.sh - ci: Add Python linting jobs - ShellCheck fixes for the regress/ scripts - ci: Add ShellCheck to lint shell scripts - Adjust how the Makefile reports unknown operating system. - Just check $ID in determine-os.sh for opensuse - Use pip for PIP_CMD on opensuse-leap - Update the centos images before doing anything else. - Install curl in opensuse-leap - Get 'rc' from Fedora on opensuse and copy it to /usr/local - Install kernel-default-devel for opensuse CI - Move the 'uses' part of the centos CI jobs to the first step - ShellCheck fixes for the utils/ scripts. - Some flake8 fixes in test/, using yapf - Combine all of the GitHub Actions CI runs in to ci.yml - Manually install rpmfluff on CentOS 7; pip is failing here - Use rpmfluff-0.5.7 explicitly for centos7 - Use rpmfluff-0.5.6 on centos7 - OK, let's try rpmfluff-0.5 for centos7 - Last try, rpmfluff-0.5.4.1 for centos7 - Back to trying to manually install rpmfluff for centos7 - Style the Python code with Black - Add the Black formatting commit to blame revision ignore list - OK, just copy rpmfluff.py in place - Make sure to manually install rpmfluff-0.5.7.1 for centos7 - Don't assume we have a header or even a list of files (#161) - python: flake8: drop * imports - python: flake8: wrap long lines to less than 100 characters - python: flake8: drop unused imports - python: flake8: remove unused local variables - python: flake8: add PEP8 whitespace - python: flake8: mark in-line bash scripts as raw strings - python: rename several duplicate test cases - ci: merge style workflows - Adjust rpminspect.spec.in for file moves and default changes. - Return the reallybadword to the metadata tests - Adjust test_metadata.LosingVendorCompareKojiBuild to expect VERIFY - The shared libmandoc check should not look for a static libmandoc - Update the AUTHORS file - Rename ipv6_blacklist to forbidden_ipv6_functions - Rename stat-whitelist to fileinfo - Rename 'caps_whitelist' to 'caps' and drop the use of 'whitelist' - Rename abi-checking-whitelist/ to abi/ in /usr/share/rpminspect - Rename 'version-whitelist/' to 'rebaseable/' in /usr/share/rpminspect - Rename "political-whitelist/" to "politics/" in /usr/share/rpminspect - Drop unnecessary method re-definitions in base test classes - Use super() rather than explicitly calling the parent class - Call configFile() on object instance rather than using the parent class - Upload coverage report to codecov - Improve the error reporting for test result checking - Convert to AUTHORS.md file, add Makefile target to generate it. - Introduce the 'movedfiles' inspection and a lot of other fixes (#155) - AUTHORS -> AUTHORS.md in rpminspect.spec.in - Add basic tests for the filesize inspection - Multiply the file size difference before dividing - Update README.md - Update README.md (more Markdown changes) - Update POTFILES and rpminspect.pot - chmod 0755 test_filesize.py - tests: optionally check the result message - tests: add further filesize tests for shrinking files - inspect_filesize: drop extra - from the message about file shrinkage - Enable 'permissions' inspect for single build analysis. - Add 24 new test cases to cover the 'permissions' inspection. - chmod 0755 test_permissions.py - Make sure all RESULT_INFO results are set to NOT_WAIVABLE - Fix some specific problems with the 'permissions' inspection. - Pass "-r GENERIC" to rpminspect in the TestCompareKoji class - Add 12 more permissions test cases for setuid file checks - Update TODO list - Update test_symlink.py tests for new waiver_auth values - Add a fedora-rawhide job and renamed 'fedora' to fedora-stable - Update the rpminspect.pot translation template - Relicense librpminspect (lib/ and include/) as LGPL-3.0-or-later - Ignore .tox/ subdirectory - License the rpminspect-data-generic subpackage as CC-BY-4.0 - Add a copy of the Apache 2.0 license for the 5 files in librpminspect - Update the License tag in the spec file and the %license lines - Add debian-testing as a CI workflow; add missing osdeps files. - Update determine-os.sh to handle Fedora stable and rawhide - Drop the use of 'sudo' in ci.yml - sudo required for Ubuntu CI job, install make for debian-testing - See what $ID is set to in determine-os.sh - Workaround a bug in meson 0.55.0 for Fedora CI jobs - Add 'debian' catch to utils/determine-os.sh - Rename 'osdeps/debian-testing/' to 'osdeps/debian/' - Add opensuse-tumbleweed to the CI job list - Add libmagic-dev to osdeps/debian/reqs.txt - Fix memory corruption in init_rpminspect - Add comment clarifying the License tag in the spec file. - If check_results() raises AssertionError, dump the JSON output - Fix test_changelog.py test cases that are failing. - Fix UnbalancedChangeLogEditCompareKoji - Handle rpm versions with x.y.z.w version numbers in test_symlinks.py - Fix mandoc build problems in opensuse-tumbleweed CI job - Install gcovr using pip on opensuse-tumbleweed - Handle systems that lack pkg-config files for libelf and libcap - Add archlinux CI job in GitHub Actions - Forgot --noconfirm on the 'pacman -Syu' line. - Add missing DESC_MOVEDFILES block to inspection_desc() - More minor fixes to the Arch Linux CI job. - Install gcovr with pip for the Arch Linux CI job. - Support building on systems that lack - Add detection for to meson.build - Ensure an int is used for snprintf() in inspect_manpage_path() - WIP: 'abidiff' inspection - Only report permissions change if there is a mode_diff (#181) - Fix -Werror failures in inspect_abidiff.c - Add sl_run_cmd() to librpminspect. - Add get_arches() to librpminspect - WIP: abidiff inspection - Some minor edits to the README.md file - More minor updates to the README.md file - Replace get_arches() with init_arches() - Add test_addedfiles.py to the integration test suite - Expand find_one_peer() to soft match versioned ELF shared libraries - Add the beginnings of the 'abidiff' inspection code. - Report out findings in the abidiff inspection. - Update the test suite to cover rpmfluff 0.6 - libmandoc configure workaround needed on Debian too - shellcheck fixes for the scripts in utils/ - Add abi.c, the code that reads in the ABI compat level files (#144) - Be sure to close the open file before exiting init_fileinfo() - Python formatting cleanups - Add --diff to the Python format checker - Add new setting to abidiff section of the config file - Add -n/--no-rebase command line option to disable rebase detection - Store size_threshold as a long int rather than a char * - Check abidiff(1) results against the ABI compat level definitions (#144) - Add 'apt-get -y install libgcc-s1:i386' to pre.sh for Debian - Add integration test cases for the abidiff inspection (#144) - Add 'dpkg --configure -a' to pre.sh for debian - Install libterm-readline-perl-perl for debian CI - Install libabigail for Fedora and CentOS CI jobs - libgcc-s1:i386 -> lib32gcc-s1 for debian CI - Install libabigail for opensuse-leap, opensuse-tumbleweed, and arch CI - Install libabigail for debian and ubuntu CI - Install libabigail-dev for debian and ubuntu, not libabigail - Install libabigail-tools on opensuse-leap and opensuse-tumbleweed - Install libabigail-git for arch linux CI - Move free_argv_table() to runcmd.c - Install 'abigail-tools' for debian-testing and ubuntu CI - Install libabigail using the Arch User Repo on arch CI - Explain the osdeps/ subdirectory. - No, just clone libabigail from git and build it manually on arch - Add beginning of kmidiff inspection, put ABI functions in abi.c - Read list of possible kernel executable filenames from the config file. - Drop abidiff_ and kmidiff_ from extra_args; add kernel_filenames - Just call the abidiff and kmidiff extra args settings "extra_args" - Define 'kmi_ignore_pattern' in the config file. - Handle builds that lack all debuginfo packages (#186) - Do not assume peer->after_hdr exists (#187) - Store copy of original pointer in strsplit() to free at the end. - Use mmap() and strsplit() in read_file() rather than a getline() loop - Fix memory leaks in abi.c functions - open() failure in readfile() is not fatal, just return NULL - Add utils/gate.sh - Have check_abi() pass back the ABI compat level found - Update descriptions for abidiff and kmidiff inspections - Hook up the kmidiff inspection. - Use read_file() in init_fileinfo() and init_caps() - Use read_file() in validate_desktop_contents() - Use read_file() in disttag_driver() - Adjust how init_fileinfo() and init_caps() iterate over file contents - Fix 'tox -e format' style problems found. - Avoid comparing elf files that are not shared libraries - Support --kmi-whitelist in the kmidiff inspection - Trim worksubdir from paths in reported abidiff and kmidiff commands - Remove the kmi_ignore_pattern setting for the config file. - Create include/queue.h to replace the _COMPAT_QUEUE blocks everywhere - Update AUTHORS.md - Report metadata changes for rebased packages as INFO - Do not fail the specname inspection when given a non-SRPM - For passing upstream inspections, do not report a remedy string. - Do not fail the lostpayload inspections if it only gives INFO messages - Clarify unapproved license message in the license inspection - Use FOPEN_MAX for nopenfd parameter in nftw() calls - Make sure to close open file descriptors from get_elf() calls. - Include 'src' architecture in the rpminspect runs in gate.sh - Make sure kmidiff is listed in the spec file - TODO updates - Update rpminspect.pot and POTFILES for translations ru1.12.1-1.el81.12.1-1.el8 rpminspect.build-iddeebe538c667385db7c4c722315cc70160e737a9rpminspectAUTHORS.mdCHANGES.mdREADME.mdTODOrpminspectCOPYINGrpminspect.morpminspect.1.gz/usr/bin//usr/lib//usr/lib/.build-id//usr/lib/.build-id/de//usr/share/doc//usr/share/doc/rpminspect//usr/share/licenses//usr/share/licenses/rpminspect//usr/share/locale/ru_RU/LC_MESSAGES//usr/share/man/man1/-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protectioncpioxz2x86_64-redhat-linux-gnuELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=deebe538c667385db7c4c722315cc70160e737a9, strippeddirectoryUTF-8 Unicode textASCII texttroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix) RRRRRRRR RR https://bugz.fedoraproject.org/rpminspectutf-8930cca701200d41f80ef631d1ef09bebf392aab1ebf89689c8de4f4cb2a65ff4?07zXZ !#,] b2u y-iSqlmzy ]ۛe XNmnr{7Ub? 34o3VbC֋Gk熕M-V<E7t{ָI;Qn3x\_PYW0oYլ |C#k-A`JܖҪ4 wQ$V̱xOlio&%|! *;$h,N+8FAӖѕyܭElӼ NI ~84! `-=NP=Z K%*A M`f_RPU6u U78q+VB0+{\}uUCBW ۢĪ}PG~(@Q?9Lz<P1+8z M=!?Ƭ>&:hn^XT?-~haީ`0~ߚL,=7V)Gh1XH)B'gSh X"SUfv ^+= 6i6ˢ$F%n,RSD̤.b$] '6T-\HʯZop)FUzwyyr\ua/LFt*,t{y[ISa Ú1 d^+sn;&FҎ\:Z'hQN '03$PQ?8T9'B"a}FK } LXO32zI=q<‹ZXՎ4Wr1XH˂:c g9p ٱ.{K܍ü .^j]4V 5J\[@N)=Xzn>JRӚZ\Hp@5ƿl ^(ilZ3F4̨|wa ? ) 欲ȿ!\E->=!Byև-Sd=YAu8e/T{ Ƒx؄e m_)ʱ6ysZ}NX.ƔW憎:DM_ H'&#w9c"'eK\7QvQָyw#fcT~Z0?_f1" "4(5TJP.|ǮUa&xVM&E %ϵ$f;iφm^aEF)kḓ:Ω׃вz&;^;8:\]}>~ߜ!ÔX~LyFmp;1, U ?&u0F長-*}1߿lhq쫻kdOCm L5nZ^V2i`nE7uߧgAN|;5o(e"Y)cs=  Z'IB΍! &1ۺ,@e.ѹ$3-1hcPZiO:ȯo_)L `&ޯ1Zi|KP8=lavqL?8u;Nlj9?oy5)KGeۓ9΋xjD9*eBzTtrj,΍ CIu2ɠHdr ;L-DRP ~iز\QDusH t p #t>iWheVtL7B; /<4 ٦cTaE~טH^0VToJHs/~v=_&s|C@1T„AD8y.@0l$hU100M[ zvKbFZA1c=}jww,dXQ2ȅ%u?y$KIgefg"ߵMJTeSIRuIQ᭪c*x n+Ú{.48PexgmF{,ڶ'=3d:"dAɸKyhSʟN)Th?1I qK~8&q'B}3kBf9-ҿ3aD,!^mY7u_Hb-[sV!W,UAڪ0N[ R ,^ * jQSB#_fpxBQ{ 檬 'A#`C?8=A>Nq?PhNWǓ* ,Q}]yfıvQx?;2$_EkQ'BͮL|疢6SV5LU-qTQ!S C X7`P)K#asHiR>ӫ7E?d\!U1xy!U{8fNt"Ó3ƞݓVEԻitO.QǍ? ydAqhc/wE''o) dCs'_m8.T~bFW&yռcp Z`7&7rg 0",At?t֋d11|ZV|.{G$=/QE Wdn{ \3[`欚+?'՛ 긍 ,q=l̽`yw៉ke$v)?"ʟ3`cIO^DŽs[=~>Q+2C^beg'F_m<zrɟqNSώ@̜ k ak7(HOуCihKuJllm6tZGl聤b}jq7:Z+z;D<#y'tJӟqʹ󮠻TѨz&Fj|2=ZV>dBJx HΧfG-;8PYnP^ f-(&S|$VZ'ּC>z5=ލ)q (׷3l-4.Kt&pnZ0- k@eJ1r3#}< /SGg^FIѥ,~juMawc7?|ƒ6y>ÔflĶ\ݳM>L}Dd6tNB~;b0?|/s&g-MA_r,%Q$?W/ \JVͪ@/- @xd27ß0gYdx|<)9anد_8oҩs,^W$od6tL5'56ۨ!1o^ko z,{Rvcc@ޥ>[# ];CHYǾg>YOl14:3}n9[>>71_y": qNWƂqc? fRZx 0+,>ׁ]-AA5, C9ix,9mő?xrdJ !̵}EP@y-~dET."[4I(8ͤd(FYϞTo:m[\L#qHώ+Ӕmy83TmM;E;R<-`mnʹ5M3(:*^ԎFGA&j\L"`2)T"y0ʀL|\n9YG6T.c2 x'Ơ"#_:' p^Ci,/ u%NZaFvE[d >rcrU\ ٍ@iHP~qC(笨HXƈF=+|,/s/SS.8d(ikBԵ;&V::H6ďQDс]KPl,O]̰_;% ݫw LgxSbk|~['p6`ŢحhK̵.S>jZ&:ѥ!2a'p-#`lL mPz?Ǹ vǑW)l4%ªS!]D“sPe3aN, DQ0wdi{plEū sЉGD*q ~HuC LO>^4o`א7)>X2%:*J,Ն+6mgz%]I6`i dhEw>5kYTɑDR~N9&^`Fvoި< }C,_ y\yn}Wϗ8xm?ҀK7?pUÉi)(3ۓ$)6ĥ=lc$ߠ̌ͳG?Y2@xTm$pd%bO]SJpI6:"tvCaIW1@ʛ~RȤ^49 FJi#Y T0*u g] Xq߶iFMMOQ#$5bx>yI:N?rvH1Uwu]ېzWCp@'ej9lvs/%C4fؔJ}8=>Shb¢!=^YPN}}Y^y {W(|1=`x]q, NVW-:4ЩeׯWRhnfb&˷ڠ{.ĆhT'R Dݜx>x;*_R$+Vhl )oJ&}`qCFgjrNdM>NVLHzU&ΠB3Adm(}@㟈hܭ>`Y+IW43`~/\ثy**rsf0Ѓ\+89;)5D+?:J0'"}܏e}U'mgk0卮}uZ߼a6?XPw2gNثo*|TJmo7Y;VIe4,&= k3I t%>*ggxm!Uc8[!Cr+jRe(#rdT|L~6HHP'ٟA K<%F$ŧi $@}O;魍y@CERYΝv2ic>?E@SG\v^p66nE[wВ{.l繮&"0ZHf2\ '< \҃xb`JOY|uX1|%50sxHa^\,Edt? `#j,O~H,ZD  0 u* H%fh;?V(pJGܺqq_͸)\)]ͳ-&J΂Sq{l:+S:&JfG'|YW; o=V Zl %M[DP3a6/FFj'ԻgNmED\&e}q%O&ue,Ipuh1r1zJh%b&z ' ].E[HIOBvkU+jbKٵu('҉ %=u,rTC-jfW^:u=@9յP. hKoKF# [5Wf}OZra[@u1c/q$ BV^TѴG?2k0#zRix3#T,yyZʯmӵ#eha(6 7\q$Aǝ,<>]?mߝ[;ddJe0PX,N1)F1]Ԫ ]Wy)'[߰}1H˾*Ҧ&QJ ?`˗|?2dz+' ZOaB-uÎ9M%5e םD{C2߯/~EX@Z D5?okޫ0J-p*HMC ͷi?EuAé2B:xKj5>&FPuJ{_F:c Q_7N/f)d(v╈LRg+$).wTh s0Poja${3鞄7GIwZJyKZ@x/s[{'D1u ?k46z(몂F%;6-"UY6Q7Iq{a%  FѫYŅ<~ugsRU54==MQCøi|A\Sb+?b0Vj5 {KQWޤLsα2 IIՈ.1۔&Ȅ$~~|wA[Ztgi*vȼ)Wp6:dv?ZP >.&CXE%$0QWڈKQ> m}ucT;8 Ԃ-UOIԸoؑin GW۪~Mi x=bloȏr'lS@7q1-tF{awZ0=] {f`.xwp_:ȂA@.&à֊jbil¸OCʔcYf, pw|>[I-Ub4)G ZK044vR`'w""o |igHjuܔѣ ߈-54(a#6Ұ[3KT1'Ǝ \ |ښ_4d#'.e܈J.اV١5Hŷ.a0+o1u-ma2QƮ+XYٷ;&\ÉN=1PP7M5$߱o&<H Z"ZVbP?~{,pR~j"eR/tr+A0t&zd78WI.ۑ>ğ|NsHlv\[3B윧 hqo9- 5 LB-_iehe19\rJc]yul-]A$}J{vIGg]M7OI: h=NE(0$1N;V@^x/ W 4:,_Dqp_?٘WQ<57 ɋ6 `>N'B3XQuLuN@A5B, J omT@^U6Cm(mC*YǜuxS2 KtDu1T2#C!)ց/׿0a᯿2`R  76A$ 26# vw-L%eSBhc4b3;rشmة*-s>sV AmX1jcfSEJSDfbarJkʿ^n`McDTA3VUB:@DMD"=!YA<PIh2Y*R?.ݺ+gu޼ERnAry+q=g5v];>0`PeI ^䤳UE -'N<@]HGH i'@8>4 Tzj,A ]"ɗQX-} Sa>1TMH 1DzRG\Q qynɦ3vkLQK9^XHi2fOAVzp׫Mf?YISH{bb`_}m8ިi_M+G>_MM9DQ $T[>9C)\#I00/gj  6 &2|$rYV3s3_5jb'/={" ɯ/!CScHP޷ص6 VI.=D#)H{U(]ih\"a0su(.uElO!z|J5;Qf!nff4hDT+EOn*3(^j_޻ފπ< K=~ӛR~?JDsfX]zӝÑeόOh^{^ƶtkfẹ]B+-N]JmZK[}ęHD%įF`h FV&SOk"g;WV2~*;6_v)ki#)Ύ(bv$e ?Xh# +%-.dYY ϥ_ܹ0n}c!+ ,JkF^K^M͇ -hV}- V['"W aU>gݚO"lILc;nbfKC)NNjiw "dTLiw E|)~:[_@Xd@C9q ATI܊Ѿ&.Vd@ȕ Qߪ0~_i8xû#1HdH-\Cs52b98y7ebֲfϒ?wj;,w یLh Da0BU5{5ӡu)S^ ~H=8j5yWY(#r I))R6w*18xc]cI:,+STo sFiI"0BkCШ4Һ=>G_XHJ S^oP'䙐ܯh|ٯFg زRыK7[&hCSl rw,ߐ09dzcb:I} D朔2Ze[*C tR=TD*Sz+SYKO g`q*I?mr$-jJ|i3~)H"xPe:?]ɪm-Po;W2"WG3jrSUhxǑqaR^*C4^`R=Up;CyL\"PL|QTO۳uriҷ-+[킹w kw$T[uؤdMe7PNJ3_팗\IaU%m.4"D8Bltv9/:=YLe"jEl5m=5|݅em>G'[s&1{{[% y÷x55O~Z7uai{4}~ ;nXZμ J< DQ%~8`ȹ#jY6JFwJ,G:`+S,i0Jɭx@s^D OpCABϳɆ_:u.8'/upكh*z߾,q1qgflWibu)IF,ںFU\^Z3R-qrw:}/.W:#.ٯ+BH5y iNqLJ}dA=,VJ-=xgEL.',|Wf`ԊDb-Uh%q9+7h[0]Z|3yJ:b +a<;@Y$%t -[7-V4a/}c}y6y] bZj)˃[F>kn._2Lc|φr̃=M̪ٗ\J} q [O'K{MMJ Īno8(zƈ6ĺ+x-麗2l. KZ KޤT[?mO۫hTULlan'úԾf2( peqw<Xn%-q^HLdh**97Y4I#NWP YY0IxvRSA.?_wqcs_ȝF*^3_amkk8)Y3w vHDzEm[uҴQlA"ȭbZ>fV+F,|nyp@RY0 b؀w$ndBc6uռa FCtJۤ9O3ǮrpN\`W%Z\˧$V'*#p#5lxaQ4F,ƇEe1,8*=~kh^[*{Zݩ8}\Ȯ`B6fznbQVzx>-H;s`6r'w ^ =)1YX:>K@(.6o/ϸ̮[/(;ʛV2Fy4E>2pJ~3q@6yǶ  ImO夿2+m$0eO<8D4X+Vhznw \Jkڑ࣋shi ל]/9&z!WlNys}wʈ:mg_ .%xؙ'g bν!ͱ(xf,>:U"v8Mbj╗y2T=g!fh5ov H3"aI Z;ڜW!iK"[2a/?];h]0 ?OObI!|hGײ,}VSh~ԩpi9,kֵnZRB[ϻNuCWos8y>_]KR:AMyNRT7~ +[)˖3poAشHiD$azXO=~擌~);F]n4V}bdCbpXNSǦ~l8ԧ\3DeAyS6̾)SK2 đK; wͶ A\źG B˄"]p`bg )tT7QDrhhq\)`>K>~цd0|dW]q#S yW5dJLJmDOãWpQ `aJ@X,6V+(aSa7Z/<p$U~Xw)p +@See,lңiˬ}ż"|#A;$-G6 YR[f'UmE]USBXq?eR( T])4H!-Iߞy.d:{0hI~`k'.&uG5Vk:,T'+ZEA|陋?m#q.>jE 0iMpY54ʚT$lFS %i0ZpAb;3zLj,JU 9B8bde5#x7| )cn^spعsOY޶$ԙurqLB֯{Cg|;h,uOBF]Fg_pԳj1Ժ;g+QZPISQgcJ3ǒQ#a[7mGX~eS5hz0HZJ`SQ*>0ljPqL+JE,:V4CyO@^a hmfӈvyoV5hKҵǁ+w`r\TGXԼދLIO^Nm˼b (!$++isCLlΞH2K)ȶA2i 82}%dO63;-^8O*: $/Δ[9Ia>i :gon2D (|,Z-a u+hyZȯdz!/1cfa XJ O(ZTP헑9ܲIlaR5grvmqҲhs 88HtJ*^*UW,m%W⥜m>>w]& uho'6try'>f!.MIb Fqǐ^v^U.sҋf9W:4)2qRQ⮳l8[tiXDYM(j՜AäplDSr̂I Yhl@ Ffɳ:$uX?Trkݰu0Wդt`1Wio5uf/Cț`E8H"eWE"DOYݑ@%TLoZE]Q zs$ތMml!٬MIAɅJ%mc ^0G`L j,e'\ikDAt80-f$,7Ž"1-!}o-ţ¾ZZZ1bdt;4|&ǽpJ]8c,HbT@)6C)Lv)&y%O6aȑWaUqnkͿ-Y3g 3BmD9>@~v9m$GqGR{7r 8{ds 79\b<+Ix>pA&c׻v暑PWZ#0$Ύ!PCvMԹz.~ZV*؞8~ /Y#Y3I-/v+i~W@Z`!Mj0NJgc;Y t'DS9t9SxLQNM&U"98 q"==۽??.քUޛAF-|{;Xx^b?[d,Q`U.#/NS\9 BMoAcFKq"-W(sxj.!d/^ n1:퓠T=~-慲DςiXEaMh52" %/z]1ySk șvKSoF_#$U'dᜈ8S(?StS2B(^\{H-ۙ{\j qCk'sYR]݂G rx^ÙH2Ph]5B$g76&tGI7vΎ8䡦;3Hjo"]Čb6J}xh2oĩV#9XipW+WPjL]F,\Mnm~Զ#Np/pU1Pm 1 sg%|3HM~Oz"": azoFbܛ"#+Bj5N e Yze_֘#o_7 e"/ft|=zڭhhݴ8­9 t؊7Ʀi^|sR_s˻b"q>9zYzf,:#u>"IO$Sn^4%A6:X`62T Y[?dDG@/ &a!bsC۶V-'yJDnmDX-⣮C*Ȧjz cciiKwRVÕ-\82RvRdkMrНF#5Ca.BI1 Gr¯=c^?+k'j?Z:돾֓rjfd$*<;^T5?/5K4#26Tue/X9'D6I:'hp?o=#{%p\kRˤƄ ;fm4NJɵXtН_A_q>\n%Z`/|1L৿8E\XOS >=.UhYmx7HU1+p4T+HB:}h9Fxθw!6i|;oٖ'9fY:L3oC]4IL٘KEU/a7 mC_mH:da7t!q&|uTW;5L搆\ \Uf+ j@b=r N$"db `rލrefBy@[l?2߁c&?P"й›= (ݨt8/[IEW4n;w%LZ6C]j[]+B'~xkdjj 헩ipi).|ۀ^rB-I[?$I3 "g,%V&L[z,#vN9m ȡY AZDLOT|zSO QLN% :V{^*!#$r) ={DA &K+Ӑ2P@?pWͤ&CJrG-Yv+:<윭2sng 9=+M]1ԕ4PwW̘, !_@MЀ˿y5kINI` xg!4u\JZ4{=wʼngf'OIྼ_""t2pH;NojD n܉G/a}SGa.V_(d#,̹5y$`RD▋z麓k_(dby;3q:%,;/sS4S_Rԥ TΉpv2qq|$^4q8E%9CH13h8O$O[b. P'0T-ыŗl./W~p4_ߧS4tn{u*@<(먩<+4P[#E@}LFv pY0ᵨs ,>S}xTXQNVl$D{ms5a8jR/V/d; 9t=/N2W)l'tOTJr>W:5e \ yTOqxf)UNBzN[brŴڀqKK||Mp}hs ~xYL`]d~^׍rjI@1j ιIUCG,Up]9Ρ0BPK ?cw&:Iv6.e_zߍ[@xW5dfs8ul bq 9p#EK̜߻ Db^vH/QNN`:Pvsgb4<89|FچYI8QrR?~Đ"ǍAY-Ԕztʊh0=J&l_(#Q|<Z(X\k 6*.Dv-oй $ȻfdSKRaz`YZxĠdCP8>dJlMD!N:]ZQX6UK/_^H,?D9;A(AA#0ȋ !mnWX͜:*9|[w@{:X"Mv}on󼩒HLHF:鰲ص~]Ó/ f9lsM q?YfLr+55T䦍J8Sk]]e6FB}cHVEx!aM7uPDP~/u UQ0(4$WT4G73'pOLKΧOHqD٦R8CN#E6Vzpmޟ&CͅTi$vH3NOj α5D(ڠ[;2Z|;/޽jfȒM"fx[0EW.+x ~+hWw[/O50=x$ 㟨h/KVB 5~_ BX&-$1ЗnQf!26(pP ` *FcuIoalKJW&mζrBO$xi4פnCW#>Q7o hmW޺PZ;^Mgƌk5WFY:d~vݩRhCE@⌦H[SbsLaUHT. Zmpۄ3~D\SV49kqE}Q*IT7G|b]8frv͘Bq6QER m#Y a6TN zj)rhp Ʌ3~^,m }#%5tؔL HW44 li3]8;Ա%!szj9-1gzB 1[nvN'Euȭ_)MnĬ[W \:V8<X!ٻZs)P"MQ:}7z2.~ UV2>yP@Q./"'/I06 Eg2?:/l%Ba^t!!DzRi;\=ۘQSP vKyj?CrG8Qt3)e[QN6Xh*鞥(V< ~OX<~ZZ5w(?N" 10uc!;-QՆyu OL0ZsSNNqJP ! $AK;Cߗ `lk{aj$b w#U(Aٶ飵QkQCNR_k$ek׷~k-Q!w+%j82B{mE) -my5=?ǐj= Rv߄o[ q Rݐ,AK*lDЎ8|8>Ho(=7G 8 ܱ磦Kr:mD^N/1+ έ`2ٕ懝 |d@!Z$.49w7= .)Yn%5 !rfӷR,;A<tـZ5 Er_;;C" 5/A̴${?C)8PdcX%iOZ΅C8`^Fa #$k`λure,qbT2zAJY- ڇŰ0E?H ',V$ȗ wn@ɻ+$çW!bB) a-C?ksi|35,öceC00p-V؀Bz^@DRi {lr| G&WI9__LkG6lVq> _ގ8n4*ޒ!E2ei6%.eS:Z]P#3Oa6Ox8D 2NM8?TfZ7YL&\5XZѢ5 /oMYe, C j$o,-T7(=ҥl/=ЖcJhGnUJ߉"o \3Z)i66$ ]7aj'[g`55ϗUNR̩C%K$Hj䓐"-~fֽYVWz_ݴk9@saMPW˷9^S+G=?f U`f u &n,8`dɰܞ2zw.E |w.!B1 VԞX^'CÂs S-싽ڿ1H|L{g)ǸtBRN7h>n:;4OxI\(? oV 6w.,˟ڎ3#S?U]Esݼ"{t R șXe !@r.&^b狢|E:=J!G좲DѳSͱ u [x/[ EA]TXP@Ig6!~WU\0=?\MA3+i֣> v%E-Jݽ7ml`B;կa9ǡ+)Zlℱ0>wh@ڠ*k,hAQXrW&-9gh% "(坻+<%BHڬ HWbԇ /KMu& {&+K" Dk%:[,/VR)ĔX'^#uWr?zPʲ& MKå'tM*ןa$s $ ~~ _7'Ud%A&y;8Zt1_A*xB:KU쟮y1@#<&힝#Olo%^#\r}L4TX=E2;Ȩ}y·U*lP5=qQ% 5H%5P:5;:PFΩ55Jc\UP҃'^<ũ*q{0w)N@130p(ћ Cj^Әz&<"%ylq*pa F 3ϒ1^1׌^s:fP C.- Ihdb\5{u\gMRr/,J@2#\ú-=$TEɍٱ Sx<ԮiW88:ɼOPq+?O=IqsjY˭qbzP=^n5TE]jnz~$AE\Ȼ2[V$t/g~Zcs,% }zStᬕ?[ -il "D "]oNq )c÷*>?V*FN9"l8¸ME ko a|>o3;:МO)<}m.Hh>H.vzꁟBa.Z:A.*=+D% ŝ[qB󉺎3:/Ԩn~r,q4y> ${#&VE17InkJ[ hZg`ѭ۹MoީRHKtK6`+(9CT͑k# k CnV[cQUw)}q j` ;~'wjH?9XJX?8\`M,@U*-n?"9txƧ/7HhIAeؗmV1Yw6?%'zqқ6LkQbe2\Xޕ/AK5Q1 ;EUFuL=VΈ d%[l4fuVp-j!e o3qsBLd),Nn9pP҃;Dd+E&j_VeSF+Z0Bj1M}"l*.]+ +4sQ};8l`lm mEc)DĆ7DzØX {\08@BzH2vNc`3_k33 #֣m:)Nl7!q *b$V.(ZWn4jJggHsubD<k]k ^J&j*\Vd, LmN?Y:N4()^U̫Cfߩz\P ;bf+ԕe@W.NJs6A#qsj[BQ'dnǔqIYY'ap⤩Y7cv(܈yD X7lϭ#_n5'cAFTLLlk1㫵F6tQOx pB8H J߭πc_waw\1h Uì>GߥMB ډ+5\q7 >D&XEŻnwܵŴ͝I-ZD0U95S9H 3ܻOg ~k6{7e׺h5S9㷃ã8Ǵ$@cdi[of}'z%P].~5>Ve$kvuROdqSxvuog4Ш_J-V 0a%ߎ#D׻u jomYP.G>sxPҮ^Yu#T f鹿bU,> Puh~´4BBI92W7CL&{=g:T.~^S(?Ȫ|@^{C;~$59QئHS|f\rGIB¥5<` O=+?' ֹI(޵o5׾?3qҌR𦛲H;'1b#+BV) (MՐ~Tl猾J\|XM)ElH> M=ʁmel!Ыuf~,I q^5 'ξϞmv,0]yaRץ\͑H@bZ&!"QcRV A^0S"8_0SDB;+vk/l. CYIp) fC W!`VEُP[H]\&޸C.n$9]Ie ^ mhFVwIA[qȪ-LB?zN`072DΕ7/,3M⹣TeՆg3Hv*)Y|]keRa ^S(`T8j>E{[p.n8ҟ |YtX@q3-PRӛu0)ME'}'BZkv_'汗i2KKON}?ѳXkް@Xڂg@!fs3Q.X473]>v* 1M̨7ف; w~lA\vj`E5hX'2]K WBIj@MTbJGdJԡ@.r3FЯw*"NhtͼÑ/{(u5ZDUް?ULY9N );i}|$[iFz˅!9K.hv!R=ߪyq{X0¹8s{s449x8hPWUI[jMI゛5F =2M7b$q;r)w&rਖ%. oUX^")mpq:Wprl%\6Qޢ֮4, fMc۩N#"C;Lu_n]ŠY[c +mxY/D[ԋu=; 82H=FyV =u$܏P{xb zc.:%ou#/F`(CY*?Sd_ɨ eO5'_*}#RPS H{Ѵ;R9E%uWae *XDB6[A,8_2W,jK~?wZ+]̌wi" +^ԑAc|Ay},܋!ŷ8ث{ְhMDq{YWbYw|R?*fon Aob*ɇ!#pʸ$~4!ᩏ[WſjL[[:3mwcXe?QDTN\QJND>e{@(ı ~}%_=8Of}lq1Z@ͦOXs\H+n] PÜ]rh>BD©lW 4P׹Nz}Z3'$y0i4OꞜ>2:FB%$,z-MFh>a<ݶ9?5у2_Q *2$'=oR>FiU{nɓE+=b#dKywu"Ya 1RT /J6bcV>]:m Bw-T*a*@hN[ AY/u9gfkU_-=G2NS~H~IUX2j%|wЙWOw~ #@bB0&EVZ;AUIdzuyC& ;3pY%@3F.!t5(;I7 Xd{-nFP]!2BX!e(sx֔u-[~il߈[rfBRW/iUցơ|?# =E`ם0$oڣ<^P4ZO/#=md"T,oǢPEYNpV309zŠ(Zm#oT7X}Vc`DY6=ҽLbAR|9 ڣߏiATJ&\9  hzo S00 lf~5`CD=P'˚;tVq JkR|N\zJ۪7u&EC!B7knmm(2J~jG X` ~ŢrZ-D m.~@>ޮ. <}Q5VSV@}y*':%|K΃vsɢ s߬NRK,ZX.ia~?>&,IoVq6ΙC}x!/YS6μe.C=USϭ%;JIe6`w3p{͖[tjUlP,+JMdҢ$% B6qbC=X4}C`e=dhS_2VCc/:|;?>85t\ 6 ùJJ;hYoZ f|P3?\AΤe +zK>*WN?O@C{d뤥-z!Z1fs]v0*wBFK.~3/i?U~xh)k9T^8y};%h_G=jB9놡*]1e!nplnx/j0r@͏R}R'~d!)cI^q2Ero"Ą1vJ{E%H2OBN"c6b0 }XrOƽ،Ko- a@zVV' kT n% -39ELݱwXeϳw%bi%`f|[ACLfr8mekPah&D0~C*tz<;>av![~|\ŎeC$6iȍyx+}! .?zZ=q Xh5>kEN4eXEB[C kZ?1lDn8KHV ڪ\|T%+jbD0Ltvlff a*Pҧtb QdD#S$N0C?&zt=T cEHnY4۷WdZuWQBYU,j%VX/ pR mhWk'n av*OB$6En؃Ry,Xl#H"w2Hz{u xʾ˞i;FKpdG՘%z2)4zνDb22qWZēJjpqL8{n$XPjyIP jͯNaZhl0hF}"/..º1o-!d9A .92+~PE>AՙtcSf~{c G)Ԯ/x~JdjTZ<)80lu#{E?8#tO^Zg5]NiZ(^." {'A,2"`Ǫ o?7e)ϗFyt3l }jRr-iSa8G'63g# g=GLσ oW<+ZZb!=:D^? cTO'?'l9ɾK^("#&]I)%~(HX/hwȵ="(,y}Urzq˵|Fӎ@8$a:Ne(AȞj-ʹqXtR "@KwU: TsQ[DxnJ^߷&sbjzz5M]:j9t& ~lȁ{p0XAgGj.j;8~t7Wua!MRZ+/3PR y,OId\jM@S,»ЏJb Lgюwz"i$_3$K"c݊L2U"AA j |F[y<`pwsKf@W~2C=R(VB,uAl_hՄ;^`hT2 Sˢf%H;8cՑz7p>[ Bd?B^rUIVb1a4p2kFFcÓmvw%sJzi5O_Z~!N ƾ[g&-koI>VZN|)i?]}5Bq<]4>5@SȣԵLJ,+#IΙm%]ƬtZIFri8#*-F/^ 5u/:ȞoYK̿^%8*^h.>,z)esPgnV?O/MpغGh= ߄qyT/Rno Y9ПH$Z@֎\)V$di` Uej`CScq6Fh?V7a$iNtT!R0>ͳ/_e$pO~x@-?eBhstc? # 9l**x j2m&KnVFDFFkm [b4o˲ťhʏW\\!ȋBn!.[YrT;t7֓pfKuXƳe14ܷXCj>V)Q4I皛%jп{|?Lg6G%ܲ{temNN2E`8wrP;-W>BHO)/<>.b-ŖɄxq@9e uUa-Oqq1.\4Vo`b&Ղ'} ,E]O_'\]0 )%goi`jq݅e_vDE[tzRDS]rpS$h ؟B=cBNT&՘.nv[R./5jrJ;mÜk 5@jW'Hx KˋuR8rnӼ  -|ucrm#Yx<6]K30^c?]OM{f e *ɣT~'iƬǦ;} Blfn)M裡Cr;5{ōG ox'#uL|J9JPK{aը6.k}yATO*s69Q0il?>]L?t6[G$ >d 4NAS`os5$mJ\&ueH 4}AxU V9Xǚ] X8qijYW^jq ]l.9ĥf\y' r$ @6TsMSȹV>(I#K'!Ru)f"=o|O1oBii//\x2_aPj#P2 :\8_l4\vRMx2SJ)ELr&֯:մE#;҃#EBWԩR-kcN4#5. }mIa%CCHcMs&C` pn>)Du|_40BmC[!Ǿ0RUGtNp᝺zO]H~v2&m!xq5 YӳM^cϱƒ(}GQrhWpx3!¸,dPR5#%e@CVQ62rFY){ʰwwj%(5e6NlCg4≦&|h\A砤%fn,M<]U9qUs$8+ |r:U)Wː{gI^Mo:?2{ A||zYiWkeN<*bW ቂAvc~yQQJ{(?mu 6lUo݋IXd?ͭyk rh\ޤQ{J*:9@k@SƼ 3OO:q}'&ZN$L[(U1b{VT dy  C[u -"+ 4М^`07+3p?<$=*bں&U:FlRktl!OvYz1F+CXHJ*8:b>b# t7=~"r&Dosiq4vy:a6WfrJ{ݒPR5ӋDVg-;Evnzn(oK>sg6RKa@>lJs! x,/,X+תCUR̪HACr91YrVm`$u@1\#--Ϛ@ҪУTDt}qW2 䃓ܽ?O)V*,nEH8iQpf,4kul?nX7^^~mPGt{C&9(l%8쫟eW4*czNy9n[E8~yD" {Ƶ3^Aī4߿uA+vtD@aPmثщWOu÷Mo}p= Q .$0 FLJkhX ONTb"/ ۩d>#/`r_}\e\jO7E=RXVFuJbbm2.aS_zQ>K)[S2B" UCƣb9߬@# e}{RgkNVsU0<5Hچj^ ^~_WngFƔl7TЇM)>z٥sv9HDaԋAJb<-NytwlOe|>1=񪀞?m< On/̰ ]J_c֓k .-i Y_+'sUAbze<ϒsa Wtp^sPd8@8_gubϽ]"u_17)n$Sz 2.2_e FK[ b(}lkuU>OlOq%ڐ䨨y`D'.9RD$rzi%]xiذIKbMFfvkͫ!z87_E2u)Oy}kp([lggED8)/&jh3w]N߹e_:X uJsf yDV2&bKźx;Ё']`K;-뢶찠nqn);}^LGX Z  *?l8Ao2_-'PBF'0{{`X)7mb2YqvH7z #cǃ\}\ܽeBm^A[j6YUVXH*R2iK U?)`=Y2XCkW+!ڵLKѵwF-)+O&ߒZIفN8~rMdp#f>o9 .eTo~ly`cD "iA# t#iHo W!5ӏƗv "~PLPņ4&y# w:F}Qcۜ)P$)J񏐈é[i͌m2"GAwٻ]Z!\;t߆ۗQ/_k{N0gkaFC=x- M@f#N LY;U,?1cw}tw1eRK4q]S785F,My*֊c%ۆ2 C&&e`]FɺKJFo|g,Tު,V2ˬ4QV^bAR-4)5"9)YYݜpaU Y1!$UE}~$DI&lܿ! dŶupD2S*pV) EΠ$ٰ3Z5"K ,#p6 t6:}ZO*HۯT8M sʔJVQD6PQsdW]q9B+3g}qGfQָp#oWnL|=lYudERZ3mu| >܎6o5s.kvE`RM`eC̔/sЄx>)C JD&HA4DwXd ĘIR#13x6U\S+!@:#gy:E~o4HhCYr/ xfzבz\B[,}<D=)oWH=CQD⮞ 6B!\1Q+qFl,w7ʅ8-㩟!nap"OftDw"- ]5xyjM]iQ5QrwToa 9IUN7z jt B+XL;8~=1$̞Ab5KtRܱ1txbS̿ )ƻ/еcC<넖[N1AT<]^DC[` zHvPpaIr-ߐ{OYJLp(jf9DIm">=hu 7~>󨹷R8&><9i%*m`HF9PAfJkF@) b CfFBp_`2"H}lgr*(ݕ"ԽǰEŰӁd*1oR>.5L*lQ'`R/ 8!"O9OzToq\Ts(Ba vשX^]45 ,:$ OLj.?}J1n[(jW4}E*zO,b5 Ĝ.JY=#p",]۲n;hvaL LlbUm6܆'>'u!Z?+y6n'&0Q0[NhG:f>zg!6˜jmxNU)!F!v B!%1^ᤏ{mpe?tf"IZl?o^5<Ђq&L 5#Z5 $0I9.jSQE=PE~A iAPDjb_tpޠotT cQQw>Ews%H'hg1%d?[Shwpi{2$\( {ÔBvfbKcMB ڤ,`/ oqryP l`0hٟ@n9N1@3WyySlDY3H`G k欢(GFgj B_bDӵ;i{W'f0AtĊLcͲV.V^;. sGV-F\<(M< ~G8`|QEDCSZ|h]ΰ?E&;NP }2}j^VK|]M/_$=G=4CEA,:&HPK޳|8@@ ^`0 {8:( ~TBdQ#KAڣD,n2+L TwY Ƴ7b>~?&ڀ%*&]%y2m5 ./1~2* K`Fe2*u ˔~gm+3rgXR sxNRr`O \xm|,wgo|aioi:p_9Icd:$b>8AE0F{/UKfb4+0E^Kt[d=*NU*a,3x Bm(*3KAG3d 1uc!ځM/=&!5 EC ;ɭeX.7dt}%:N6*@6.q.@PLjZ+ű^Zzy֡tlA!{E~b "PϛƮM~Uro*ܮpm$$<YPP~OYo ?CO Z_&aF;^fᏎLMhiL/UoR {mGr?Ww֜y(yԩuO1w_s{2 6o;"jH[Y$1XtH%"Br%M.³6WyߵYtƎga)yJm,JCvNS~<,8'DQ^pmY maÝ'Wk<2ST+x !39:.|`$x,Xh5<^nisq/0jh4]BzGkA|^TI4ޏ6ˠˆHe%6=w_Ch"6"pr Lqam_vF&}8d3i|Xfg~ڏa{ M;*|QGEa^-GGCBZw-y|zu?|N/n!9Y\b3}g͚"\?zZQD`t롓HJNˮrn$< jf{?RF#ZQĪI2kW-|8C:B3o; 5U&Ag^FФ , 1(Qa,ˤ(O4OۢijiӞitrX::Ƒ=m!]Ru늹&d6}G~/.6N، .0/k{`v@nW~v[RkVPϰ*2w翗 e^93"LeZD"X뛉$ ܪ)"˺, Q6[q5M4:=L;1Qv!d)x$Ms(eOruLVO1ƂiTckfNT1a}~%ЧԡM8.uYX 'b.1SnMN1 ֖ܐ$3(RJk/7 hvPAH*ZEAp;XXy[+:q}&I{-b-x[`@QN {%yŴIs"{PȕcG,GfO~mӜk'f䷙}t {Upو5G"b 1q-Y BM:]#W :phT]EYinmpBnp3#TͨjPqB$DV/Jdbe.9}$:?u}Q Mۼ$X!V1TAvu7flb}!rtSz*YXu9x&)}L~&R5)s:rx.@yar -v@#c:=h ~vܨ-3wi+m85C: $y@4XT[I 2?* Lk4zfF]F=Rus'wLG{'^GSkc@豆jeK$P1( :<"aynO;ZD>#nOcCFk#"P83O v} ^R${{C~)CŪM)OXGѦ&^kW%Ha1< (βyW%Ɩ*3H4eOkڕ-7Tw0K-9cz,;8ΩAp) #؍c=|a;R'$= 8} :@omWN *Dd =.NxT`Qڦ"PQ1f{2P2`m*{ۢv8D/|F}>fXaǬ!!۱nK_O_zufhĆxÝSW >E`Vӝ] lHx1Ch+j-!tbZ|` mc( M&ν[*gc$!#pʡe#Yݑ8wqƍNgܭ*fʟԦaB1ᗗ` фD_9I L#QD_yA%;|Y]T0t= *E3( a^MTqU.4^$ID.L^ .&]Y=]wc |n(Q#v\Iv7IQ{x'b(BzK><c)7S ?qW/JPJq<6ds*H3Elg' {5񦐰 5Jr17(E[P^E閤8Y͊gj(0:&b1U4mOwUa '1:nD%e W)*H*:jCQw0M‡#?^&Aoٷ@4CPddgoHPu'lf7淿rA]Y.PY(4hF@yj+0^:jEH,ȯD,E{8vK<~  CHf7sblQl|7Kӑj@6LGnI Hy8HAe?9fQ SU'ELht`bk4lƓ=\ht"9mv/`{hrHr}*nr.&Wh]ictPf$z248ACqVq]+Yory"&L?.xh+D^yuTάp c]o JSSgKP`83E10B4 =z;UVr0k|!0=fi) RhdvWQ䖹% N52o*voNѼGqXE*:YˆRp @e ,( _ptE9~bclE|pf[C锴/~c<3ӌՠMx ָ=Iާ-b@E {cjIU`Tt?/, {QMp-W(PN M$DX3uVdU-8 [gH3dpJ36}MY~!qO{$k;:H">T+Ě1xM)r2J1>{1ze$pD*TLM[L `ɼ^XIwzٺ9zG Yo44IMaaZm#\-OݹN!/]j#xۗ솔HxLtz޳x_Bvp"g]UzۼB=H;͍zj]L>ڽ$3g`d˭>柍?K@g^V{ 0l̒ PAyŷijˎ.M~`eq w 0e*߸3-/,̧D ͂؊_˳Tb?,tk^dIi/ `NN D-XnBz e|_OYǴw@TɎ.][zk;#&gszDݑbZn/`Q\B/̧Pt,9@e'k:H ɉdkٚvA:Z 3,L|\YD&k+Uv8~'o㶇 a[3<o|Q ?">xաg*? i> +Le [ ˃4Ȁ94Kb"fd?8j˱sWoUA d `?,9(3|e!j2/bH ! کT> b: xO +'Y-4Tv N#\_kI DkO.XtOw4/; J?F1M L> eKz+oUH>Zul,RW~/)#!SpBA*oU`LcPX!)GNF1Qhf[H"uIGH;2jҩ^ :ug_< v֏W ̕J%OoTGfjW%ID,lGʺblZ>|yi&CHaަ3dET[T`f \$ԷɍtEvQ-݂]VJ\M;W+dYR?éntB6KhJ>t* _J_`z5{̟i&6a% yŁE}b !}7c$ MCIܺ?/d"k$Rq Z*A/kM_/5.C){Ԩ\Sf_AVs $w%Q"M~|on@#mz?ҥX7ӬɗӐ ?ByƬҸ?˺!¼{㧮X:z3 Q,8F, EC'Y-SĽ_xŎݎ%>6aM.$=uNYCsܨl-k/Af^{خE†Xul/>׼_8پO; , &IoW:=moBmQkϬb)f1ILf'.`gu563+Ȼ2×/U'D\1ʰSb^AMai,< JՖvLlx"ߙ5LTiH[ݠa.K=tڤh|<IA '8ݘP?f$hz͜Wkc4&"VFy|[6u;lU9Qm.ցT{6X[(qy#p{~k-Y (C_ §{)j ([G7 v< h|m>CAO@=HZxPqNߪLaSWCF0Iߝ!k|gJ&Ź\ |F5iS   ;}e&PlJq!E^:SY4f qJL+["ga| ͒<'0Kfʥ#Q|(} #kA薑H>P!v4WnQKw+on^Wzozhֵ×?qk3mzV1@گ>mH[ Vn^wݥ k vaV-ح" tc.!"T^Ӕ 7EiH0uBfWȘD^չ*h+&woϴ[$.lFޡBlq)V^lKL4P!7?ͫM>B2tXe`Sck܂|ǯ_0:m a`X"y4C[cZx듀(K[j}g pEPL᪼_3µDO`޲t=L&*9IUGAG+B.`G4yշ)GJ߃cp:AV*TQR&-MGg1T?ȍZ'qb,'7Pq mrD6>p-/p?rﭭEz6]ř؟թ~I/sa^Vb~Z1h_, 3x4bA 3=s8P}# _ެO0|˅Ew϶wÀx,ALvy6~1 Oo9l2WV# x#R'D!Y-ԭ*BŊ/Z/GЂOb{q՗[^ez JZSX$TnQStG>ޚdm^t=vVn 2 6b*/0Biɧ'ya%ǜ[Nnb wp҉[kA=5s ͐ p"382[myl5om\-Ji-)! @~>N4r"GK)rmS sah}F@8W'bv%[iN(OBgA=,&5\9).a֥*w62x6LTz BYT:($)?NwJ$mK#NV '%<ܰwu*'SjٰkB&|Z<.1+i?JwcI%a - X}poYw"%Fvd"<AG,"Y;rN˰$TF>(dl^ 8%uz2._0u2))7G h%m" J82[?O̞ĉ803Khv#yl> ё}+i3UIy HB3ŤvGÂ.]kDۊQ Dzv#wxBӦ%st#}d3Уz#7 љ]6l^O̻* . i]1 pF[JQV 89Ѝ ˫^0M,3M\ez⢶O 41}.!s{ZA pL=Ttf'wW=0Z_x56ӯxrLpH\d=YNЖ5%5Ajk@-d\ C0t]rԦ%iKnU.r /ZG^q5wt-h^i8s.;XˌfI&WTxC,z%<˸ݝ.WF'@Y_mv^վ0OsMW2]I b9 n~iJfQϘKPmMKx|Uv{k֣OUXU]ooϑ`6 U`Q­Eu|&(!Z gi ~-{=äoIR[F*Tٸ @|BSropV>BD2}PHJ Aswf<}P|9~Tmб` 1;\7mÞYޣaj(Vc0,K@xW.' E->E\ъ~+9W-ni;h:vPPч)1-YM;%W%U7ãFivp pu dftI(M|cLƢd@.&;J\*O8X57Kpa^gk8jRn1oc-~,`]:Ig c^U~B-ZeNPPo3[w( "E71M!..|7Cwka. % *@T\HV^l; 2`-D5;iYXŽuFNxxo N;2^ WΣSJԯg1(U d'ޭ  45~S`˧5NKWe,9h͈EXyLbڱζmI!w";0J[gk ) ݱ=H~p%ND!:]owHnt8~)w-ƀ.x&\7@Ͼ}7S}4n[wZn @zh0n''G)èDcTU!>AƵmq%'OMæ}7Y%UK!UFxQ7! |5x/ o`?,9=@б^ D^W`jɠ/#R9 K '>yjCR@Z1xԝZ3\vO|LÁf觞/ /rRٯ"PDY4QGjG/1>ਸc\T痂A˃$+Sj(EJy ^TP5ijh) ZB|!N/6 0jE^-v}E|'ج*ԬcvsUDZ S?GaڠC %sHZO,vh9a 4ob_!e 1PQ|1nZe<8ʈ:)?D>,XE{NըZc'%=V0܎_m'JPw"#|m+DTΤZ5~rp!S%}Ʉ–HO: 4RE*yruHT@XfҹN<@Ƴ#$%n fYʇDwh/Hi\2V ~N>؝E>d?q1]W6dP77-8}wpѶ*1Gj[=?Sf6?\6ZLEt/}{Bu^F`dn#S *HŃ D,Pea4_Q{yTqm6^>6y [a,9&H- ')v [ ߈BXeGFz6MIykw_5~h5-4/N $exD],};w}2E4a#/mDs.$&"iU Qүiۧ*Ǒ<0(4: 5-evKqm֩BQP6mO[졮cxb鐮B{Iz;C)b 7d"+uR3.6LrzbzJ-.G&H0A D)i0(K3mK}b!~4Q ]GlΓY@ #aKbQ4TC@5gG=7J󨁪SoLu)Ii=./F.mx^ :!5Kuz^7_5JƧ.~2=}$Sq[<7N-$V}jOuAZaJu*Y,Ŭ5G%| B{ 7:c(_Lwwn=VDVnGp)ZH=i4[Eȸ.>7E+nƁOuߺMS8S4 9m8E$٫x mꏦ%*<KٻAhl8 5vf I7 XE O ũ2=ndNtU3um&*O6-{ON߆}Dp5CLjӚ+6N\iٍ$%qě}z,y' p !=Rj#cɢn;[1ůԈ!qvk-Fgtc ݰ'fߤa)W@YWVԔ+? P++,@9 6|,g:z`ĀM xl[6(*zu CM.IjEoRtK5&٩ԔnJ{_^EStaԬ_z(P?rmJuc({^*0pܴ/ p"LivݝFhE}Duҵ#!V7ĻZ0!a3U}Rf)Eg2O>χT  5nSTswjBcWұDzoD^.|ty' *׆3C wT?/xlaox޲M›fc%2#3gƄ~A$UxO"0ZmjE+[ Bh8tZO.8ZKJZBpYDlϨcZp-Y 3[@ [Ң뚀YW1[cIY\Mc89щIhi;4 kaq25tZCeyZcTZ)_b` lM*'#Vs<TC)ĆaK3r^InөK#_Q`NV0(JB)"(wi/5ɠֵ8@dnV;ԏ9 Cz3_us~5ojɼl.E{֘Tʜu0M_D zۓ,{T~ $@Uo+2 =!+S4$e& {H6B,ZӕBM*UO4ޝ,bߤWsd8vn9dYN}_/( |" +B3s?).TC՟} xwù-=Thg4'1Vԩd$qٕ7_U5Z K9rr]sC_u$<_ %t,у'3EmJ.:>3|^ ku&DĻGN.7'q^ ӇN";-*QPlNfw|/i~ 03͙?ͅ9l4 9V=ዸ p לRD&]}1:,ŗ؍:IހER IcL1xzGP2M*+eТrna{%w0vX?fj%/HFʼ_¤JY\/8IM1Ъ'.> we=AQB-+K _wSIG<_zN&nzwAE8:3QtLP-M/z"ݕXxMk;ٖ5A+8V;.U Uغ[ػ'h!Z[ڼ^ԅK>^Th+/v&5d lV!ÍzCL P`eR1EԠ0neGD$yўT^pT*8$8@T.8_~j&'``UTtLكZ hdPH0Tv|V^+pGQ/ӑ$kjgQ2Ș9. }Cule3nui!Y4>]20$>xHij"/1OwPΈCDjɇ#θ/$؟(9w di=JNx#V,n%Ajh>~604fmZss,ǩ>L7i3dxUx2z,c^餤NW50 b)Ј*ɬhoDkG/;KxpJFッ-%ah3Ժ]8mk,?WRT-yOT+krsطTU77x;Qv׺Dp,"J̓-+oVD r>'H߾Ӓ^WEJDKlIa`` I؏qZ? xGCA 4&5C|X2>T vTRgǧCuu=Rw%Jp[>{|C >gF}2KLɈ,:,voN"d?v$ abMhJGwVv--tՖgLC 짔Dam7`q9J,+wf9?b*oJdE.XJ8V:LuJ3j~/mu1Q4Kw6@faR1`iY->2^0Fӄ *<\G_B7J-f;Րt13\?z lG$*l9K = S@(F3-)j9E'N:~t2vdI- 'I^~dlH[%Ъd撷r u[ ߪ6e}ak~v!.aB+1'b0e klɻ&x9` C:[hVD /{-*P֪#euˬ7< &CnQ|[*2W){Q.#L 3SIIj(?/Mf#[GínI-2$LKs:($*3TX;Oqtm[N/>э2(&c*D d.`wlo5A}k/h_2nb?=X=:ҩxEyIFQl,i$o%t))FOy`v5bpYV㞝̂*AܑkX i X`U}h3 XNMG sk|eFp_mT]^rU1Pu]9{B7W#}mҬFϱottF6ߜ!`nrbDk4ך3lyi`su * QBЛXO3(ьfn+2)}vu]7+oue}FqEL _ju/~/F  m7Ҁsi 30 l_XFNw?-Fi&0hd+3{Uu.c*\)1x&Zy6% Bb[Ic<| 9vy8Q||[޶2FC='52i0fE7pZ'aiuEد)d/I! C${΂卢V~s\ 85J <tP0e* <~1$R1LNdR޾Lxg]ru 2 )}'1GW$6Rq EP^DzE-2eSL#اWOdpeOJ &`ZZʾ WT-jaI vFX-2}kGY-! Tcv"~SY-:ُb 8 yV@2ϲp0x:0\D)d?EpT>]Od(2ZOb8A !$$3=ͦȊ)&&S$C;LʜQi~del!16fy# $f%,EYq4[Eʬ<='e7%Em$ot>Qҭdf2:a\Xa]EUr)JaR{H֙ꇔ> D,#qWí )鹿2{DN1]Z% $=Cڙ`h9Y6*2u%&Mt&Zw#zc(EWYlȊ&țM_]=OI VxmPՒTp5ֿsY>` ^-Mp2$d&B,]/LՉal=CV]’~8[qI vH}+ʃG% (|_j`}. 白T#i$QeBv]|sTTwIUY'8lG쮙uD% JnBۡT(2fbWhs=Iڧ_];B\D6s(6z%g??:+ զ wBqJ#^֜6I)GqB 7H4s3Cͻ M@b\UX۔vsy#3Bksix/`0bmF q `j[10 i'*ǎ48N %f!~36D mЪh -Ãz7īoy:r$V/L[ *Py6띾gc:GrbI_nQ 3=,qB"R^. 6nNiPkPme# '>Hwa#d/7rw4 |)@ɻ5?d|`=xjU9V IE<ـGBYzۦg1Ȓ䆜H?A`'{sfn!&8"Dnw@-'ު#ύvOxJn){t/I^ðU j+@P! 3HG+i W.4X3!+*`ƀ]t0iC'B&0~xӆiy;Woa)faJ,H8ݭqi7 =o7o+^~M!4b7& 9 ϗj%fjbWdE 0cg^/Sїd'r3%Ji_DH֝q)邻b/PH'п'ͨXgRυ1AztI :_V^lyJE xEq3X+`WY@͈gN1%Kҧi5byL9]{y6H_Z2 *^f G*/)". 5`v0٨q#xC[OJ-?f$ WH񻒡\F4%\aʧr >1*K#<̲QPn6F5#X+&y2׍&]bWH+|_!7\r0qf^]Mb#%"u`yTJrX{`oQP ?ڂ͐mmiTx$C-'^`ǮkƑ?o tݗL:i{P %?S>aS |7F] 0}9p@,G(Z\ֲrdIZ~'?pC*\PWsv$ۑ!/@-C5BhTbh@4$oȒE2T l fde] 0LH<7"0:wXɛXnB$9Iut ,]s#R G#UV/VBQIs)pv& c`o #O*B];'v`˱|nc&וz0HfRetXׂy޶6XFPv O[P(ZwFE*z#tuJY- rbZ (LڶJhuX\;R26qo.= +u,sDDAǥ{>郕kXmPV8~}:?m1ǟk?cdfήVgY.ӬlKn`D MB_V@ȡI#̈́a]Ub&C$EÈ:PLFv(`Ԡ"4&a1Z b@vL`tձ4ޗ M)AuM&Zhә疜<ΡGMJ5-E!ڹ:p` rI8~ rO}hֈW:nuq|е.r~aHC|9>s =(ϗn :ka`I{8z6Stk7]y}Љk E9'ڱ.|$^+Փ`150?paRM5Ds]K`F84_ X>X6ȍtDpZP+ Exu.uw@.۵^!J+n)]D d9_I+HV))RgC2&CtT^5kQ9֌ݒ| 22ݕNb^5*0{C58=q-duO7f¦Uٴ%)Bf)l TH;zZ eQwIo|xN_$n+zr K$fmhO Ilhf҂tmrC}'c]>;-ަ00G B@q7/6г"s'D;,(r`^}`7mWr0p.Pn$wHD +/Vic*#u qa"m/A '~ŝ I)U]] g7zru'WbV{ `0=6]#sowB#24Hj<(Q0kWM4lɦ ǣ-㺇_ISV),&`Di,~YEUA^i+.E|W/iIshB,>٣͉\}"Q12&8l.Š3mڔ/SoF k0.:î׷1#>b/pG8$&wH}zEԼð1=k§!󩺪˕r7lmV{h:P/|+ k1/od=!^:@1;*I;O&ǮΣ5 &ecbAn2|8:ƣaNkִ]bZ;j ͂ ]\.si^29'6SM_HE1Qޝ{' 8#%w dK) ܦFJnUYIAu1G~$ppQ\<}"v7`2Mu (0T0j)"m*#+EgQoM,Lw!)ஷ/4yr~j-+3>˟a8' vTPj6YЖq`7@]g"E ?i;{T&zrǗ1)Pc/\\ěah~N"|o:ѯ=QeiO_ݮq!R\NБN4j@O!*C4mS`d4N<}QHcFLrЩgK_:@0I퍲_M6:2cdmzMt }mH Ɛ4n$&Q]ױR4m I-oåe9qծbVn(ŨA:d=pm%pJ3JF+6y ~ꐇ!N,oTd㐧cd)L(&†b\M]/cJz1lodЏŔ*;_͞m+Nz`@ c &@,։0ā=켷E:5MZ O~6mh6mw z,p֊ΝbwHƳY՘2: A9{ &  kjrϊ'5[yʄǘxƭLU;וSݞ΅y1gķ.^cJWވSlʣ*nԭUH YjEC$bWb/# -*t3nO)q^oQ\tH l86CL*{^#A]R8(ιp+y2_b Ea%p˸k"cjfU/&Ю9F=pg񩜡J-I*@A6j~ZKAZHv]r!!h%$9 d|(6ZZ'YVj5,~l0/FϢƱ/WkTw X+/ v#-ՓW >+I ;UŐ`L z; LࠔEҡq at%th#˴(/aW jd0(?[a&df/[D$#D#Dx H-ڥT0λDMgc [5-D#+#<#Ue`g)g*(5~Q.}Op2=i"z@[6&1t SamY:e,zp74njfC d:0 Vf,೵;\`?}X,oTp=riE$^mJYasSKzhzLJIRe^jon9$MQ8ܚF`EpZ b#7hV}J^n5~][mB-mALKְ.N7lW zOEz_͗ €I؄*E2Ocz X|hw/p 4 yeOaYW‹,cp$j^gُyLe<`4^+L:Wu 'Ê&ܪlD4%dLƒlTz^>\ŵ[EC@j@ʵmT:Ko 00P܉.`IAw~V;%{˅~5`$r͋RsG!M6mcɒF'luc 1&m[`^J`"c8U 'lu"ӓ Ad}fǧ5E㴨=&:,@d.D1yDRت!(j$6k?$GB*0 Cdu>丰?^Zޙs w ,*tUj{dΗSmLLt*{z3-yo/mqӛ7Ӑ~ftLY<}h0`?>%i<ġ X)x  H@05wywxk.MXam}xn+׏|yu' -$MX:@ݩG4Yĉ7CXR|>}VZl6fT#\p&HX(>P`M {!rPk)cg@<:I`AṆr"aN2uG&cd1}mnZ[N̛C#A6|}y3 % gKTZ6]ۇD\ %7.(L-MX5'O3B|M6VCS[7oa,}(rsXVE6'uَˈbUb%-ɿgH uyql'ͳ\6Lخ0 :̳RymPp,ժoڊԭǘ!e B{_Lo73X4fjV]q|HZmFߵ:`,8ՋjA$0t\i`;8xbhOףތVo8eT`͌A dž 644pOk9?Gn4/ct& -;k1߈K^{)_15,PLeᥬzr:f4_ / Y]#A[f[eF 0g$rL┆BTL öTqm`KɓIkP|BsTf`MN3NH">8fv&h4ެ`i(7DDg_m'#9hZ<"툺gU@?{ "rљLwxs'-؆cL ɳXxDdXFdv-I 0]lI9B7c{q>2bzv%ך5&|_"[&E(0I0"")g&&hG]eY"yӿm#UZZbe`fǡvvYԥA2v5Ld᾵.oQѤ'T!b>?TM6~RY @攽S2ay:kA|N{Όւ0ؐ͜= @\tCx٢5r ~~ҕ0Fw ՔPH˭ԛlL$ 3^1'OҪ4F/x"!Ku u^2_ND=!9blPў@I6"Fcvt dw9ik8{i3B ##ibPx!l"㜨OukI(bJ A.WRCn-,omxRb^~k2 kw] ?)yɗ i/h︆T3jLLk؄W N>,"s{B\H=Bݸ=Dm{x c~Q@&e* ؓDF+<$F86p?͌,ɔ(W*'_/}z7FWzc :GS 怖dsn]g"dKN}gnS9pVf\BSOOMޏֽCN7BS Zo;NGB6\RT'>eG@1[kZ}uX=s{ǩH:`"%_=w]AY7fD`{;@6#j7˺TݝN G-G_~Nz$J{uN?*2WЏMV9 c<|\h]dfv?FŞzU9/ L򲃪 E-%b*}e?rc8A$.=uӔl;Fd*IR qޣ~I,rɔLJ4/ɷF^HNV6i;>,aXBynM)qv9nþ^~3F`mVbfu I&L[_( J.q`ŤLi9o+ ?w g&!=NQT}AU]#0. Lz̞@^SiN&j(􀋱Fٸ6'$΋^.j-)?d ^|"r077]$B쮄  *t_.s9|ψIHGkdaٔʴeKm?W.۰6ś~KXUp՝slDt جllr:ASd'uvLOU#>9^U_3h$ޙQk Y~Fs؏!6*]x@t8g`2g܋Pw߽L# {FAv#3zz?9|?DdSr-'.Y=K4I.k8s#^P21wa3(֧ /{mX }a7̕:w. /K<$><^ecS#jI/wCijloV۽n즬';*ά>U+Pƥg-oK>=N=TW k?KTE%(0)}JJ~^7a3qAґ+|3(qC*I=9QߜAB.c:)J_Η0 тϺfG7;2

vƍx]0Q';f[zq;qjLY&9J=ݺ$:pbЇ SրÂ.D?i )Uof"DYLb\+)+voENsq# ^>ĺ#{m)f@x/ 3l΋L+=Kp {PsM7 O 7AJG{:x6{J~md5-!/U= -V@0(g #"eHf0?4SČ1 Ns/0uR6L a2RGIyg!l9DK$,Yv\6cleg4y쓨n;̠veϫr}ہ\~Bĭt2+ɶOpE;wrՊdq 1Lf?f ЍQ6,rzĺ_%gXN=C?C͵n17o5Ȥn ۵c Xk;.UY o)kJUr43y/t?-3Jy:[»3zPt^j9`V/R|ǿX}CFV% ^G_>e=)7̃Wz/0NuN80;>ػCSz<*.t"Ξjj::~2BVA*w0زڎXeC?XGcrx<&Vyvd  q+ RM(Iiirq4Km5$+` _+H5nAtA:&0|S4yawnA8,Zƺ79P8H* Á <)YmG\l<.7V2Lz  ][ZhHWAH/@]y ]i3T~Fk[:l…`(ǵIل:j]X^2wa{ O@ސ:ay `Yսd:`vȿ|wkyRRNB="/Tˌ60X3<y mZ"`(_|2} ݽV6aR3I`I/ICF,lWT0&@{I4o[2אi׻"W~h'뭯m><XZג-sk pvTiNl E)y͍dUf&hVuQG48t~z me_?YAA7ް:"(A5pK Y2ۢ q,)*_ \β+ r):&(9͛-IxrR :޿B>'(c~Q% iIMXit1^sc Ӳ7XdB`7ЏeޅWg2J5ĴY s6VETW@9Os?sfްItc.GhOyR.LuRG!!zu_GB i+ f|IDІ,F8TΨǿ;:}W.2Xub*5$1yp{\<=U5b[ǧJ,yQ%@@6# 5FV/,dͻ,tt0^sFh=}h2 s#xQUቐye%~-?0x qhQ鳇47}Όу2rFs#d"56˶]ԖzN EExaUl36n29[d(P<+1i@2r1^ۮ`^Vt䠃لXuɩ ߣp2j HT)PKhd'j յw [{|E|Ls~m/A\VŸhu0>O ^2pBß}.py h+7o{[㟒!YVOxg[]lut"el%Xr9|FSq%y;[w0awzd!Gǽdԡ" cA?!EQ(Ԁ[>U'4|*6/X]FJ{q MjX4i!SCr_NھAeŸ0 yؑ:lown~VDz zyi?rmKKPrzq8c,-@ , ^t-U&Wׁ9yjzCO`2;Kw>'l ةk!2B v*7LÔY:) L$,L=͝i_=ycl+13ᅋuKZ(gVtDc-(No0SoN /ck%t|Tie5 旎7Q_Tu.:k'y|8 )@dɁ1hʖW &Ge绀ZЦ1gtOJQimV\ p7sM9pO)=9t1xϹCϧRF9= (öM1vV/*wfK }4͊/ڧ!+ԗvId ,Q!Uo_0tG֤MQFu~7Fc2&;e&ih  } J# nVX׶zOZ*V'8 % fvfW. uvn})VC2 *lNoң-_]t0wûpO'=4`{c1#0H;R9If"v9#-Ofo QփSn:_HJ'ćzb팠2Gl|8H? I7д"4 /W ac[S4"}wN8@ uK⎗jjCE!kyN jVlhm:('^`oJQOz+rvw{u=.-ۏr AYՆ VWhpG:dDeOͲ:<`9I'V?x+hF;`0{ko= "Ӂ!J5wocw>{g/mW91`!fQ usUr o epwwDDW+ݢnO|DfirEKK1!^pnh+ql5 Zҧٷ@2a;TX@O{F~Ʈ Y »Iش{.9un&Ht> F 0l~ͼ\V,pwwu67p1exnk_lӖ*2 /?#9"쐐+P> =+`'1PSl:sʙѰ?΂E zA' ^'cHzP`YyϨmPuupx?X M wVVeoŒ b2p;Wy;=e3)ksW"F;,RޖV];uf2q<ގ'fP9 [)0$U`78u~3GZPuB3jgKĢr#/1Nb#~9075ksrxeX6 ͕Ԏjm(㴽I&䛕$&kM3 ]F (s[ IQn X6ӭlW{ H,ƶe3&Ka h{4zIy4}T$tvbTŽ! 6R~G#?Z>ޣҰ2QqN=+[fHHfۻcdUR:3hBj5,J#?U{/T;&VWc3Ծ&KG!LĪ'{Yd7{Xۅ\6W豘[r r_D[ !HzD+;E݁}g,w. ya {;0R:@ja$ye-g'"e?kZS#bzV}p5*.2ul`n׋?w5tILv y!j>QK7>kuxih Y$h`!6.-=}GK(@6Q1}Plr={\R4;VfU)gKIRQ/ӹp*z "vuKZX ɾmYK`ꢘ&`5fAE4Y'ugpuyLr#:/w$w\y6/!-RBn v;0tJmi(Wa7#n9Jh%2Xg6WX'6AJ.0d'%9'Z T,yYe`4/ڒje64|&?ҋn,ݓ7܁>HLd@Fэ+bEZy, 豑1@}z^j&wmw&WzI6]ہ{ijF|*Is3sd6ߋAVrھ\g#Z!Џ)$XA<`tYss?CiG eA@Tm.O  '0x\X6sM_&JA`^#XO]Y G>h*Z3-=Xw9׊}I2X^39yo5^щu #i2找@x酤ĤK1*!g*+}{"ۉ 7fEdL#؏%< F =^ :6DNdՇtB>]6s$=IImesѐÑrNOELA-U W "J3N_Yn{aC`nD~Չ0O;hGDvz;өM5EiNzh|hSY, ,f .prE Y! Go0<MVgW"<շ'zBw8lg'+84|(Qee 4&#B:G] 9y,'tZo'2c*ku6K@-ZF., N֫ 2M-z/s99yfFR1e{^n#:΃I#cw1Q66kUt;+RЖS$qp81T= [g7@6I]jRjtw8ao/!rq2K@-=;gc V QIYQ j[IV@9J^ݨa$q/3_ssGS'wMT={KE OHsɋE`o5 UBnNwX?~k_G (MܑY{ha& Dk!.QYjf!nH.Usldj{; Sߏv("ߟ2/0Z.KlBS!zwHX1|1¾^ pw,xIx9.T?eޜ7(v^Q"|J@>'Ȗ\xDu RQ'xOJ<ݥBZMV0uYUzJC#_H G|Y#Ϟ/#(i˱Aq3W{KdF{NbHHJG} f̞~<_&)&$/DT^M\lIL_Z:-ORfyp;܋[kFGRkuvB\X=" C~dv(|?g9Zsx7?1zyEz"Uf:j<r@g33Nyx1nQ+ᖝ`Jn.K],B[bZo6dǪIGXN*p`nH2Sgj-)Jx>V `1PQ_,"! Ŧ ݚb.w$m w0uŖ45& )u 6-ǰ|"۝[܉""//&M;Vker qq)RP7l&*+ƼߊZ$&]L(&ׇ_|V"d?jٹ%_1[F o\+AhX$RlHߪPxAw֌](ۗ^N[]Qm7nkjqW&XŪ SE}j0zBS&  ZU؃/$@rD= H}W6'Df ʠ9X?ZgpDIG5RN#f̞0j q4Z;=,cKB}Ǘ3q w WlW8{>9B?2\l!e{Zq:{E5@-##ÞػnEmfG(mJnh5"^w{'j΂U8T:q-vܒc@[l/ub;l%N<93!pf.uLku !.9G{A=ÞXXz~k` T}A݌)ܾzl\y' Y:L5CnPe^0q9M w1TC-1R4.{jU@JqJk%eE/\6i,gW&qoXiry lYDv:JB {Ę?GV*{ıjQab:$Mx籅wnUѡ~iڹ|/OPun<7BM}yvkmXX-(Cuc ~7 R(M3RR@k`?*!sNP}>](@'Nt!>(r'2`!*%IwJ_+Xb3s ^zO%行z0Jji?vJƬ*b[ 'rѯHqI),gIjw,J'D Ql ѺB;1!]vLbtGˏ~!7r +a3H*?g,qxVLi t25 N:ht?uu [+HH_e+Lb;j)=Cw;2-n=ueƂhak [1쾽%Iȃ},Ƿ:F nĀ[B$6'[aM1 h:hG_[GTm\_ ' X;QTڐ%[3b[ٝYl3Ћ _UÒ(QHe# qP2D ':#wbYJ7X fanxڟqL&N̏ryqEGWղ]R $cm}I8QkZ&}L_f$H50]@ DBޯ*B[@75trsIi-<3%bŠ˻}LvYrԾZւ9bߎV3&i^j-al@6&1GN–"LԑtLd5E$ [@0!GQlKnjx//{/{4VZm/&h]o~fΓe`R,#@j5q2 UA%>Znx]o(TL'$g)e̺=rI ~xY#&a-Kiqz*6*ݕYp2—&³PHU*oŔu^sSpFy*)&!ȝTEw+FTYr)t:M1-Ue*5ePzXl>&} m7Ă)%g=]h^A?}zQӋxcEjp) i !DzbX 1)jy0 2Gd-ԱH6PPgd$;1 z+ Sg 2iaQ5l`.iqz6h>_T)Uit*X%^BO ̏Tw(k*3O1€]*.@˔w H(`N1kf͂RNZƙ`$C֓Q9ȯD \2pDH?^'n'>< ڛ'L{|= #fvOv$B[ۇuDB*Hh?b t[gK8XmZJN9-&U~&$k>OnфLS[۷~fD`< ]qV&$S^¥LI L\.I#`kވLI( (.*IM be6]?pmBAwDIaǔ fZKHSqvrO"u1!yߋF&tf W s MQb;.NAQIWG.1˗W zEvbڦ[4Ix dRGnSgcJO@0SYt 6T3K*!>J}y]vX~6໬?~_S/5el?E {/>%7_p:1'r ѐѽ^W0*#}TuYf]R~ѝWupj8iiI %.᤬,(7򗡕{\`B4bq40Px3>؊Iz!e=nl%Y]'M4IZ$v1R&&kɝRƒUkb)V/2:EHAzMu1viP]bTR[ yvAMVNҳeAjHڮj RMyv!QED>ЦtN#%IMT6n&_6>mFݎ &XuA{ Ƨ)nyu"рn k1mw=z&@OWH jB3LҳT.xO{;es{9r7Z'+.*! 5RXW5w6nwGR|zUߠmk ơӉCn)gKwVaq6eU]!S1F I.3;5:$bl&k{'*Y` * X7>RcN j*N*gzaIuA/:4,Ea |iۖF\sZ -lr޷*EY(Uq 3{-(畍r (YGs?z t>/,L¼fj:V3^6'B[^>稜R@!-QO{y~"i^ϜydIc$O݅tPhc{_KJPPI[qT}[N^PrC *9V-]Ȼiz&0E&J,$#!7]\P@C7z^]t]gD!h5.gt:^Lnl8=&cޡD|9 lZ)e'WǺ[%k:mI#,]&gx!WQ2Y)ERB򮠜3,p jR(5^V;e![6u9-NgT~?Z0uN]H-aeW.v"EY{ >Ó %JF5+ 䂔NVxHvQ{Pc:T:9r\ORt(\NL,yFYx63hwM( @89xǎ)#v T {.֕WM/%yyYEv!gHKދGlZN,fUFRf-I^[5m>YE?4唙) ZRC3(2VC>?qH(A㦔.SDzi#E,P$0n .ȄaJ4",:B8]BNP HjeZ׌ıߵmpԟ/D5Z3ݡҳ`UJt 'fJw{Cm9" ( YQw*?`;}YTlqz~*Uz\/¹&+Hbq{xJG`WJNJm)c=zI5@Q/bgo@z9cbk^]A=uj1Os:В@LptntKl.ҢXʨEa_b~l&%17Qbw խco wNӮ)x)V4cmRNeii_ tb(5!OYKǞfPHq&}9*!\/$]ƽ_aIܢf2y4VheɏiMmJ.&`WkW؄dj$ ة\3n"\͡5,[-,ed)h&.ڽF,P酥Ar#A7<|qN9o)bKb8# +@KY~utQW>SN4/ 7:(ͺT6?z=NƋ6~,gOTڔfacS'VRpam 5ڬ!MH;; ec0Y妞g4o_"If6NPS>*>OOJ&g DMٍ W|oM)h #,`*p/p̴Fq<ȦR?E4i 0`wW?R*d V܀ {h-p ;ID.*/}kJFڨ؂ A'? B@O/l!{zXޯr݁sޜ3"SZB/qB0`[`1DGj.u54-oT.Mѿ:٤Kw~ֹktjEph )1X=O Ax3Uɀy{OObju|mr q\}1Y>e ƒ4kG%Ly/lAo4^3V"3Fv0!7Z uЏ%yz:j!Fd(8op A0bv0t&(DlX-KʯR㣎-2{qK;N2W5|UƭRNAם&m) sn u5*C|>j PL:Ԧڣcfe0t=nW>, XzHE7v)7Q64{`R>wlq,N~(_(78Vu$WF+i!MXЏQEO\q7$Bv`hb;>ѐ RJIV6梱*6>[y*'nS_Ýht@M` YBg/*<| qM-,5 v7(5CN _G'3=sKioUL72F2lw0<M hԅ*F9i.Vtg `.VMEt~YOi~ 0n5 -!BA^'Aɡ9|&ܓ*N$jXbgh>(I7DghXQ(+_p8&Oy+qdzX:~5rmkEeag~*ziݲLr-5&nej f`+?okKOqm5 r hwZCA\ @f4;OpԶN؜?2_">J)01 âChqk 7#bqki%bfgt\p Q mɩ ,y V+6^;z=s'!301#=r|ZZY؎:@ CM|{e )l}d{u‘(~&Tto盓:NwyN ЗjÃٜVz4dOCY)Al99g j13M7C( a'啥(5cۨbt¡TI-9HaP 46ANЪc%"3>_J-k͏u ItGC_,B=GDN4l+ 8囧<a= IM]dŝ]{I92x JuY  #vc8ۧנCk-=# kP`Rc9΋^z#G#R,U|%6} gw2,HSͮ&2'@a ^k+ȿ1FQH8\-^tq)BvtԲc )/ꂋZ2 X;uq6p5zgG6,%R8~Z8<@cѣ* Q+L%7f𷪳 $5VR8^YT@1̑gܫ\CE-/dʒ%7nߥv+  ̚=hMD<'3y1W| qC!#n Ti ؆2)1*=V&+E&|Wi{L`鑳G,3G_&Ei(` WVIQ]:9)~&*f@PֲT]~J]VP OKqtݺF׈h\8Yq8E d^Ȋ*zC z_zمڼC>3 8;mFqA W ߋ%ņƓwְi*d A+ﲻt _R?9:Qs2z7`wvOTFyDPn焦QxtpԙSfQJNBuIE 4)ހ، w+qyGÓ_^lZ'\xOZ/=T؂ahH9B7J1p-$?]uIL6R9 vZo:BiVs\w~=~ ڵpi@`W4%2%O;S[>CZl/$F.pb`I8v\AY3h63XOGR̽ݯXg̅.\Op -JR}  c5/SA_H,y%Ϗ63}1Ѿѓ0bt X*OeM!4] $I%LHoQkίFhL׷5lC||NLpV*xt4$:EHE>`O(5=KTÚ0ӁHΤӳBB;=/³ )!1-># q_%mҮCHn_x? :YMI`I8Q Xi F u ;|T{joc?M7lo+)+zâ層%nWGz`A:#|8w%2?MI`p]--_Kj0Qcqr Ԫ~2t|􌡞K$)(!){wpig?FKE ֟jCay3wyP?&y3Ti-S֑i5N[.!-4qL2:Do(`x7dB\ "'6K9>l,69ϻg/ƴv(P֐wl6KKn_X/tkrkacMUsPPE^6W8I`)G8 xYrj*ij٣4Px2ƒe˸ZQQ2BC8@@mKݎ)4m=FN EհY \,A;S~}p 0H+}ThiN"2L#rOHW\&u `\6+2TK<+/O !$9Bn:tAj.174f-S eyW-['c n:NK:j+c N% 2&$ 4@sC+ϱm N Nq2C' ̌q0J:dFOSV'cfrwuʈօ)(yV2PQB}ҁ@EhIV2[0%-}jQ]|O~maMouXŔjpGtKK\ޯ0 ]C{רEmh_әҜ. ˁGZlq v|mjPP2kO$P2zV@8ntUr#Lէ*QW>e\vjφh# ӏr˩8 NƥhK OzJOL|d.\6S8EdžM}Hd[u+IyQ(zqM IudEn@K .n:Eg Yހqۧ -\)rikSI-qnW 2wbT0Rr p] 4a LcY.=t1-GO6Ӻsciw8K4 Ӫ&L}kۡdI;m֙ x6ݎ~)NuFQBu%c)۸xw>`{HjrClu:!HzHUm3}zLHO?3 zgˀ,|?lά!uW=mFK9jfN|ĕaޞߢcO{>#4=@Duu)eX,^]=Ւo`²G l 1Qnj}rW\ uaҐbBjiqUp~#?Kk]z (nw Rl8FQ TJK @/pb~o۔>j ,$:!KI02һ?mOPf"6;{ݒ(MԒT@D40G{\%p%ܯ8 { T;0]ZmQf :pl.C6yvlVyPJbm[Eq^^q)֮/pj%ЇLۼlڻaa:wj;=D@iH*.:I˨`@QY!sDDǔ̕]Η 9gVA;4"t1gWsmVedзZ~u(ϭcj2_D." 7Gj:Ր.1ʱUcF0С9C`XW$qvYwsjl@pN1y#AiG >gTL`Ii! 5;JsRR1>KQ6N*G DLka)~l'|=h CSì)+lfM([$gtz^5kIhnbh\no{`')-ؓ@# PM dW#jgbiujvW Ӷ(8*r0eLsžzMBݝڇHJ\W,,700@[ϑHuMr F+2@ K䉖&s)*9-o{I 9x|siJ:"-L (h6c9X؆k>g SGY>ܚ0:!C:Şݿ:O0'Bi"V8TjzA&bEN]W-J%;ԗsD̂L`dg*9ֶizspdlXCH87MCAF^]v]ZD6n4*MQ'4'!M!+ xh3L4Mm)Uݝ&xt35TA.X@e$.`nt :jNLQLm'(S}0“=NJ6}.2lOXYe Ή hݾ\|4e.d8Lm3 JuF@U$T 5Z"cEZs:jWPPzbhO*͖?I&#KsMYEq5yd|5iG\bĝ|8bR>%2fq{y`XK骵b5(:q_V(_0v0FqכN٨ EɠZ\/!E H;3F&yG?c;A {xD6'N,_TiC K2`q>skb9KQ+Ii=HYͿDrɋ:786rE${T`ferk5ȼ{ݽ-ַOO}"{/^!;LMW@g7i!i/Pe뫇D6.ӡ:To5)ӘT$4G%̲;Uq2iD(> 0`m"`ԩ4nXܖH'OUjuyx76&Qp~eHrnG_--;D(KպYq~g@۲x2 BU|w/꼺WZU) b=b|஥{D[{ZI)|T`*N$œQƔLh< t9ͪ+ZO}5A?U#mG)1_[O}z\DTUj;A1c K;s(6_c7 1U9Q0 M*+qpGr  %6yȉ 01C%~851( dUe HJ[Vվڞ8FWgL׊W6v$]=ZW rKʍ0]+ò,JJKtJL '폨⃙8>+Ύ8\%撤apMzc{HvG  iE6(w 7oƌ(K͚^7LuW=!1( DL?dRf{%i_2aN袗mٶLhm?"h7B)>-8VevUo(9k'$ǭO .4V;5VdGc7RH9]1}m+P aOYOѩ1~D9*[s{uM\GŞq)ͿqXؔNdH0) Ft&@(g?#;ݓ7愦ݳSyZmo%#'~wԙhǎ󩰅GC`ZlǸR*sidS-iJEv#x2.8pI|>B]5T VbU'Ұ)e^2.>ҹ]aobTK9ҽey DOAL7v%PIC π mf*p5HԦǃ0D{Tf8ѡ %^T,&S%|fM!bvyf2mןpCS'"ހ{.Oy/}AI^`v z 3(TUF'P٬I(ljfY \N6p:x\0wtr-_.e]T>^$A^q e#z)2QKKufGhv `z_hU s;+̀}r#mB y LG2la!ȄbH<iz #_=VN͸c~C#Woc>o3:NqWy.| 0ɦ}ʊaԈFKpK/N9ʎ`cQU*0oMI`UovBwaQoQ{9 r`[ˮ1*{+jl7UE8 < ~B'L ;:k*Kɠn.=; ڐZi/1F*MZa3ueXlrB6/Syf^{?{i{@* A6* BP횙OJ`3Q+5?_TT+*{V&l=f=.z  ~%Y!vt.MZ~Wv?{3Pg/'Ab:>ismAHɏķRP' 2 7.h$9_b݃vaX<WZM(Ho^[b̬Z"_Qؘ`Ts3PJ#qE^4~rs仼1% i:n>|rͤ*!%YcAO`UVIRiff bH=]ٹ >6 |"uGwh!3SQ9^kִ1t]7/´7#Αi!^chVR:g8}7Jkh%( _-vKvd>0ߛzэYA?fA{!Z}4="rڶʃ3a&M auYKFOb1h- r:\c$}:?G,܀yv6#s8M;$[Ke&iI]2c^i?aЅncЧ|Iw]^c;Z LdVjl46>)Xy'ך(G21 GѨobhż7fXT0z"* H%@Rh;A7t_ @%˅_w~9R &dVGiҼ|l[` N[ £R|PQ5]65ZaͰ 'Nr(Wʝmu`1I w^fpMҕy/D(İ?$_%2jmʹi_^$Įú玜W=b9NA1 G_̏@&B&7Bŧ wNfyi,GmJGM$*XP4re"aj<ߗ+Xs:;Ø*ᐦ|ѽ"]5'Cb'Yt1.2K%S~gKyɔUjvWchd˜11# }2ާF'8N]j쳕..e3A%1!MC~ա |⽗rL?ԭDkIuvЀGz,7QۨBy @v*=I nj0{ %h $&yqp鍭~&!"y)+\o (9|u>+}9I8 KY_I )9e\]Bw2b36FC%G.Si<ÕrFpZp\-#)({ڰ0ԛG__E)8__}G^pZFf4+O!1my3=I-Z -IvzYl^w<]k/ocѧRWdX2Ñc"1us)N}ޯ4(Ubp=k 賂2Lp+G?>#ݷ8L~8HlWHܞ:mk*C̐n yn Y4ARN+#Y 5*ߴ7i+0jswU$[|Ot (|ӧ: *m<$akkDW~`X@P] |AvO٣0Pօd)\i)-8.5+~.3*79n31:/ʹIGlG#\yb3Y;G7J>~}Уlޫ/7CiӇ\S!eh{J6.rn?{Hߚn<x,"o8g&bɂ>-[]e.\ǂIO1*&ɜ~c6%RPuly$J9T{STFEs @Ʒ&6/΀'3[LU[>mlޚc;8$PDtO, Vb,}WpxC'[G%K;`KSD nA ^8(.*gc $xfjjb=Ocuu?*յIP%.T$_#Jv$ٹp">Р$@{$S^I1}Lo \\)NO]oNQ8Y)1l>_n|iM8V7UQraB{rs?܇a@n%S }>k3= {&j}F^%4ڏQK/<WȢl| ?oZ8t?볘7cPcJX҅WV0^`j7 g`b5nuңT@i|9Tu]%͝w9Uk8N"q젲GR[\n ϶Ld̵=AaqW$tjM29XM'z_,´N'j|{B]>-CCU "0P2&fY JY…+8oq?C,# ꑫf QaX"mTA׺؂a%JU2dZڎ1v::qPғCNOCdRxDOP>1Mw/ox7vҝfP_0b_W쟘vn)%- ~GR]g-V]_Hly@S/ in%Zn(sYq$2 zA{28 wP:Wt unm\#X+e2sV?(zF&눊Htjw/uiE;/ym?ɪ?Mx [BYjn B.&׎GniLֿ\Ny$ F;ȫ8=ҫ=UNR ST\y-ҩFa`gk &H׶+Q4c HoU=~3-1)Fg+Qx=/P"ximJУ*t+:c7>buoOLM+qrUģt jg´7g%ޙ9.x,jlC2t0^sI㝲|H,bN>C!,tU) 4*0bqSw?q<mIrGL 3364/ yY(3X% b_~*2Ŀֱ`wSoLoХ"X2a LԓsAZ,#p&dED¼pRO0yWys,xq>(ucz@ 3VjGBe<1*,͸@R;r"iKɹ DqxZ@!zqZ$zScHPP2vA S W؍9zy!X-m!lzY2 0ň6b+Ca<wܻ]%_j%7nKwn/a9AB{紷-F`G7+xQH :7"Clȵ|v8RX8jyry|mqW>PϑGdV;NKRpiɻinSjNa?p:xPJܚ#+Vk$'d2]k yA.΅7:GDH7aDuR*iNF4A&ylyU*'H# @qzM\u KZLx迤y/iV@*jP4ANQNWǿEƀ gd* 2Y2îs=pqa9JouMZ .t^ w搜=ڡbRU4 c, gbT!*ovt6`Y.Otf>@x~1BV<$@wSsev'g7bp0JʣǠ?"UrL) At-1lYj fmV?򄝢LOKI8Z]1Rw]#]tŜ$(Ĩ{M47DnN07z0".^J?0(ɼI&sîm_OYX[<D,RlpH˵q?*\? +G*顮{ 6b{,6RafEZ,+KR tF,w85{e\f/AcL'9ް0["=x^|Q rp5`n-ؖ4| ȝ(`ytŠ8Պ YZ