rpminspect-2.0-1.el8> 6 6_ ܉3!y덏%!E/֡f !E/֡N9#'>d½oa}&o9'oԝa1>VK@(jp÷wί"NBuӂ/MM'2*lww6|T-EEZ!&[8vǝ ?O:{'yTrrnQdi(H)7*3J! ,7_D5r؞w؜!3GO yKfzYT[& r5x7ts^lLeGiU̾ CyH17Ǫ{ 9WWɻ=6.@l'qaZ 3ǔ%I[pM~"ߐgN&o0`^fڜ^:)5eY2kAJ|j9, 2qe\zɰ7,M:/W_g@?FBApzu|-n[6#]Wm'& [>&m`+48bed06dddb3f5cbff7c71f952ec32e40ed169cb0b095b254a347366e3b8216bb6b11a41bebdc2ef1fdc1cba59472c6950ab0509vb9SfD>=?d   D@Dlp' 6Hqw   L ] %z 0  z ( 8 #9 <#:#GHIX0Y8\L]^Y b2d^ecfflhtuv wtxy JPCrpminspect2.01.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.fbuildhw-a64-22.iad2.fedoraproject.org[Fedora 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/rpminspectlinuxaarch64g,hRgӜ^AAA큤A큤ffffffҹfҹfҹfҹfҹfҹfҹffҹfҹfۿfҹ354fd34250a09dc360087cc76f65857dafcc169b7af44ef621957d130c170a90fa8c0b4571b365b09362c42f4b6478e6c13b5686c5b704dc9ac31b7612a5789b8aa0afaa4963f34ef01d76c6cfc3eb155df3ac53223f6cb604cfa15218e9747ec89faf3d54735635766a8f4733a5de5424a39cb06a8acd2115da239d08d203082ee61831629c88a705316c4c7ae3e5efdf3e3ba7eb0b5f8cd18af66a5ba52fca6428c78bcb8e138f505eb3ad25020f03fea9a09c52f87cf9c713dcee22e36c1d56744a64f09d51de59f7750dff9b79fc2d7532d4abd6ff5ebcc2db02dc91baed10629119702eb1986e3bfdaab2c2d69aec0aa3d9d00d5e381c4ac0c5a11ccc32dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551b379d826115c3344b669b862550664562a060a92e32f237b230429cbf5f3b8131c870234259a01b13a2f3c8ece6bcb952bec6fb316c1016b72a6be2f6cf8abb0751f4abde88f86d8e158f189782d916f561a6fa662956b0ff7f9780a6b515419../../../../usr/bin/rpminspectrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrpminspect-2.0-1.el8.src.rpmrpminspectrpminspect(aarch-64)@@@@@@@    @ld-linux-aarch64.so.1()(64bit)ld-linux-aarch64.so.1(GLIBC_2.17)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)librpm.so.8()(64bit)librpminspect(aarch-64)librpminspect.so.0()(64bit)librpmio.so.8()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)rtld(GNU_HASH)2.0-1.el83.0.4-14.6.0-14.0-15.2-14.14.3fٝ@eeedkY@d@c%@b@bbb\@bb[@a@aW@a@a@a@a@a0a0`@``@`\{@`\{@`\{@`7@`7@`U_@_@_@_@_[fDavid Cantrell - 2.0-1Pete Walter - 1.12.1-2Stephen Gallagher - 1.11-4David Cantrell - 1.11-3Michal Domonkos - 1.11-2David Cantrell - 1.11-1Orion Poplawski - 1.10-4Frantisek Zatloukal - 1.10-3Fedora Release Engineering - 1.10-2David Cantrell - 1.10-1David Cantrell - 1.9-1David Cantrell - 1.8-4David Cantrell - 1.8-3Fedora Release Engineering - 1.8-2David Cantrell - 1.8-1David Cantrell - 1.7-2David Cantrell - 1.7-1David Cantrell - 1.6-3Sahana Prasad - 1.6-3David Cantrell - 1.6-2David Cantrell - 1.6-1Fedora Release Engineering Björn Esser David Cantrell - 1.5-1David Cantrell - 1.4-2David Cantrell - 1.4-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-2.0- Rebuild for ICU 74- Use rpm_macro(autorelease) for %rpmautorelease dependency- Use xmlSetGenericErrorFunc() rather than initGenericErrorDefaultFunc()- Use RPMTAG_NOT_FOUND macro instead of -1 (for RPM 4.19)- Upgrade to rpminspect-1.11- Rebuild for clamav 1.0.0- Rebuilt for ICU 71.1- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild- Upgrade to rpminspect-1.10- Upgrade to rpminspect-1.9- Rebuild (related #2046952)- Fix invalid free() usage (#2046952)- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild- Upgrade to rpminspect-1.8- Fix missing %changelog entries in the package spec file- Upgrade to rpminspect-1.7- Upgrade to rpminspect-1.6- Rebuilt with OpenSSL 3.0.0- Use %gpgverify in %prep- Upgrade to rpminspect-1.6- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild- Rebuild for versioned symbols in json-c- 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- ExcludeArch %{ix86} and %{arm}- 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- 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 ru2.0-1.el82.0-1.el8 rpminspect.build-ida49d77ca69a248337c2edad7097bcf33b03e99e8rpminspectAUTHORSAUTHORS.mdCHANGES.mdREADMEREADME.mdREADME.rpminspectTODOrpminspectCOPYINGLICENSErpminspect.morpminspect.1.gz/usr/bin//usr/lib//usr/lib/.build-id//usr/lib/.build-id/a4//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 -fasynchronous-unwind-tables -fstack-clash-protectioncpioxz2aarch64-redhat-linux-gnuELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, BuildID[sha1]=a49d77ca69a248337c2edad7097bcf33b03e99e8, strippeddirectoryASCII textUTF-8 Unicode textC source, ASCII texttroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)RRRRRRRR https://bugz.fedoraproject.org/rpminspectutf-84873cee60d16d4c909d5a7fa2049f1ecd97490ca414b5c192f5a3e3e45ced196?07zXZ !#,,_] b2u y-iSqm).#HY(4d~zPq@c]jEMZ[#y;<ي `{'~EZ³ߟϲ]e`ؓ%%tde4'0Q*C/7BW#Q$$=ld3FĘwf!_j <6kہ[HθvMYmR x>:if/"wi^& aBX׌imߝj%JD0gYLCJDf Z0y!Zէz18Ied1+_w~@1` Zo+i\6F>#@5=$96`LRJ"W)}8_`H:>al×ݬݖS-rjہ=¯ٚc)1]+F@WnwZn8b>;9:)=d A5Y2,?{ARrt6hζ'/ﵜG.c˕]O+0_7'F'͹/P]S5_&U/v|49_/q(ϊcQtt1ϥښԒ[[V2 smmVxk60ZH$]鞥ڄH$ 3g`)]^ݶC)Scoɚ %!@Hvr@;€l9Q".@#O-^)pm "_qGonZn$I Y䤩م@קda[j)KwblE$:Z>xܞ1)l184B9b~6"ǛxmQ6JeY:l=a1́\SXIÙ>KX n?TT6!#9 сHFnX ?P";֫iɕG-3qF6[GS1ؽ\Kl4GhX<Ĺ`$ ~~t^' Uuikv=hÉ{ O H8%6OC!r{{=7p}9wHE<}cs({ ;!7ψ!0 ȱ>?KQVO$c]HEPCW k6ɥ1Q~h Cv2$O1*\nV_ߐb@Uv_l =_mZ%X+<m}>?㸖N5ϟVaQ}/t|t*p8AfY;V?\+xɤH\xŮ;ևo"tdk6_&Cӏ 5S1,RX8 ԏ]h]%:)PbEʋQCqAO/AI B$8pT4. _U&4m y=' t9[ TK0Ej|8Gnc(K-٭<2{* upruVm !^a!MpV?]oĒS*Pr1UD_ R7!Q.tsj%9D~ԑJ&Qne`1PUT3śC+=8QQk!zf07f$iZ8yay߅{Y| B9]1*TD. S#Pӯ9nhϯ,FNɟWS6z6V(dFr'BO9Q,˃ 3ڣ?.o1Gqswi(jTqMis^`TIfeP`+ږxu0k!cQ>uHׇhlژ)t_?2'³UqjPqrOe auL;I_.9;!RjTDOSw2R 5PPf+@-Κ?ݦ0'P +kW{%(X*A>’F *h&[}Z2x?4'U?F1@]djwIbk0xi/uY5i@ٳ#& mN|8zocPR{1(iү/}÷Љ +jmi%ӅQJ&)ˇa<U0atHVjCz І Tʧcsk@A)3~ʲ䈢_^ٌy >QÄ_,0 ,լcAZJ򼠢ܝXF?-*f{x'hJg=&oa[{Lboį-MC#vxK;}D)-l)kgXʧ4[Ӝ(`H*~l&hЈ&C( "YQۗYJp-ˡg8”HI'R<Q 8I9WmzP ~0,m{#i;^D&Xqrtq^̄XŁZ~&sb@!1ѝ$j?t  E2XuT'7 >E93CHy2XA YfwbBv\\sHz40:i} {ͅ5^,vKJ߲K*Ջ;,M=! 'X`irՙ2M65.yސL F͏#٬IiFf7Yn{EIVQ݊oƙ^cf!  G8Bi1yi#8쓟۶oPCqz2+"mEcqjt\aQ =u`ƤF3N,RSj+yخR@ #{wI|u:=L sI.*[fxc}s3WscX&ׂ!X >M녉n ϵl9٭/l0_T9NNi@^~ijvzvPhQf57dLU{qdSn 6!Sӡ ' F6-&qyӬu O@>6V[G'mzeZ)*ڛ([NQؚ5P~%x#l[+v׊|NV[>Y !Gj ꃶ o*>(t;BbSI &ło &O?tWTD 8O6 O2,i'/ؒfa0~!_Op QBtnExvu!}Z;ݾ1&D2ďt92Zuja2EcqJ_?a%8>Fkrf \Kt'B̾^&*Hɕ:iܜQ(4'O A(֮z !KDOzb̫x>'DH.q0[Vc|~]J(Нb.UOOBHZe}<~ {Vn]`s+--J?&;v`o/bG r /k Pu+qAk); 2ZD F 1ܚ>^u_֫|=j.h"kSK}+i0v6vҍtA0Qԗ:,N;]v_rud<@kaZĨ~ /.nwAC2? rO{MYwjRxRπA_dո؊rڕIQ臚P&i:RY;!ڒ }(L.)۞նх%t8_LYf]Mt40-b8<(޾4'}'L)s""O!!rWĭ e4-Ǿmn[Nadu$ZzbWDtU`>Hz*5ϧ4W<,|1(I/xx䋊!yB%7hy(py$wӚX` C&b<4n'eɴRMV-r;QvrSnY ;.l_AHeTGu]u?aVkBfeF:# $O$8:M-"P 7/hhF*M-..Niii{dFho|'W-!vznIVvS2{0g1f,=0<,v) Zd 1vjDgPi@ IbDyRԒa<`}'::Z ? /cb+P.Kdf: 5d?ÅVF~߸g<=TxO`h j5<ĥx;~,cjCH5S#xȬv8en˭Ow\KtN™ E4t+`Fr>V=]+ ֖ oOhNK-ϱr`"v\I2}mdvvb\Գ fj_Xh߄iBRԀhlbpWiQ\"Fu>dSKPxͽc nb^!*^۞?Yiw}UZIƥ ZL)־Sj-WKG_Y3=m_{OIr^H%% B?ϲi{ Pb6?⧜f+{xu{b -S#˸C$h}A$TSّ⿹hiXhu'p&m>惃gAL lpOՔlhUjsXB`+OT`Rq(7T>Lp*%wI:DFȮ@,'yYM0WS~hYLO\jh+τoLW)-ՌX(YYc ^ m ςϠ9<"D(*yN&vbg'/aG>*zK4' j#rSѩ3?|:\U<ǶJߌ7Z00h9H]1OL mjDǼ͂\>_xmAFvto Ϝ0`S-ݳO&Φ_:aI &/a -W!Gy3Yp2DVSDX<(ioi;_!*G=vZf"B]RMJE{F& oM65 bϰwIi>{6aOFp #/~yމMPg:hk 5*@:T Z>ԔpicC!:Ь&ȿk@F j^q^L<5o"sSLGyDm@ Z+9g'mlV@4/VYg CqW< j\FZTZv$5(s"[񳌛#R{ypVsڭ',n ?5`!a].Yct$M]«c6/O`{"E&<{f}DutNC!,()MBvvQ*Wa-'C@N:R~q d~ "oB.] BmK*lE47 d6Z3/g$ټn%tRt0_gG$/&$$Us:Vc- w)xyw4KD@A9˄jhh*x?ɲHtD:; Nf}0GfJWԄ2O]]?(}޺Qi\;"%B:k~jB`*~e_8RcSK쀈J?*KB›HDQ7Zm|z$ -vXH.i |6Z-/>b DOɷzq|`;A +@Hc7P^0}ݍ?8G쭩ltaԐ kjry׍{ e?vڀsThdvC[5n.e*7ˢ`."@ Dw p~):BSWqؙ)OXx`oO,%jLO{<B( DcJAP*fkWJX\?M{-ԝKwlr 'Gzoɥ)BLڎ(B ۑmIҳXh3ݻus-9 $1lT:Zm|v5#$nM.ja&2w UTvoG8_-(q w BmԌD5H+z 33ad*I;brec|~7jr$/Ʋ!nUu#! р { |z+X0[F5 lNky&Pσ <I4^"V;p^NLRk:`L=~ 렡/)M x߈8q+9+hͪ4Ԅ/<)+>^<&{sO>BqN`(J/67*VHgဤbCv4V0>•2Mb' +Ӛ1ɗo~I i[b=b$_Fhj2)-)lݜZuFaT(->g5W`MhgBIf#g&~yQGO2lb'1 4":6̉Q[1[[[ք؉ G8mME2旰PBbw tEYT|KpBoBտRndJ׉l5 *UR} N&FZ_I_ؠa"!:[gg<Ӧ G#,fE=%hpz we9 ""{e~J&+uA|ݖ8aɺ[hW ^muatkA@MT15$VK/,<8v+.?DRMBr3\bx^"*v6(1b -=y}u#atYKVbM^婴: }6@DK*#Q [A̕f89il4>1bsNcLnܠ A96NinƖRxI 0;i|_=33gOgSGHf`4bO笵g rX8VEiwZb@`I׵[Y@n΍HR=i+g')÷sP?5,trK U|gjA ltNN;pz?x1Z Clt K10*A3N<m2.NO†qj;Lp~3c+|D#v%ЍӬx:ʹF`#|u&&DigZM8hFUQ6Xx+G*~:"&jI۰ +[k2TRKhVit~\V7.N^ȡ<U|YY^l}8Qυll;zxl4ې9:CREŌ}=AZLq!-@UO+oCC{<yvK{5YqRA4Xݺ5( _]w|iV;~4WDwS~B^<PV3V^$ ;dZAqq rMrBGXlG^^~:3-hZh@r_Aa_H䕠7؅-(|(+W饱HsЬ7-;iG*h w[E2byP-0A:4;t_0ƣ;G/jkS#ʥQrR0w=HӲbc-W(F/DLdfk4#Φo)u^*Äm WY`aڑϢ:?EȁIl Kjؘ؉o]%=r+VZZFڏL"!eyxؼ5v@3"8ENRfʭVR j|Śz^/oOo߻g4~? \Wl`"bB@*-(6(n˧ gzcP҇.JcNd`".yrȮ\e)=Eܗ 3vd t_%8Dn'hI&:A} >+ٌ3^"ψ3&VX}y JnNF%,A9<}I+/^tD(8^Q#zjFAqVb°kYdX4((U;igrJQ'.B`BA 8'$r/j)1,jOU g51{N<*ܮ<.CvY*1su_%2xԦ%[ӱRoUv${{֚8M鋝޸D}CBĐL '_IhJzW$`{2|F}$0x{kK߹[kX^%*䶮l{)ҺTŭE u9"$]HrEpq͊,-JaPѸV0Yb IFJٍn* ^ӇHP Wzy-#*LM5SXʠeI|PU[Pt72eb9z 1:@kPn_Q# ?Vٞo$Akj"HdK 9ER}ZkaO@ T腎`QA7^Ab MB-ox_"eT6q;qqNrA4fx,aTy6OȼSC uE5@ s_ilBqŤ:*|e P` +*m\fH\`>ɆZs\e{+ ?$ĵ[oQS@e f;jy,TP/W< ׏P|5CP \ N((eK~%0׎U}tt&f`|P'#c-{P9:U7w]B&7!( 7>MlP阋twVooUX>alA<ְ#m'G˧;2a7zxX)ۏHw5W`&l_˹S%#HcҺ}gMiŻndo- r{FWP0=wx'U7>JGîw=P@⣩Hܭ[)v gY$N] =Al_pF'l?7>ڥ * u e Xi3Jbu(KRƋ6iFw^h\1*8p_L=WJl#q e@C֡<顆g3?񕩇Vt2b!rbCa5 +?7jԯ|\(T`7?u3k v 5?_#ؒj_ _gvd͂`;0At{Z&< 2Rv>b9zpe];0oxūMHJ;#\GՎ7 xV,8 ^RT0pr}GfTb]Pw$;4lտi-+!>\w'W: Cj:2koͯɔIv l Pp<E|@4laoY}`am7'ѫpyBf |O}A9v4q-Ɨڛ> ]|_l o7܄ O*_d%&x\/DWF*ㅜOHiFk8KM6xSg v tG"5hgՇA(RQmf_fMK{ V]0 ep.0FP6Oֱׇ7xqp5sͬ:UvBD p.qOFvА ".wZ"D=Jm~t۽r&iZdp}0ŖECjH];wrú&.& ?p%;)Y/nxm G778&/ ?xJ>_2[O5i:F́;5\Puk3z2 PnP2I}ߌe*\M&a@nZ=~S`4RGVKl)z/B{&uΨf0}?AMsI@]c?j3,iD+6rn_|O*2eAsp[FĽOIod<] VtTa[trR0A}ӘI4؅Ugq#>˧&r'?[7^*e@S5n7?KɯZ'9тBȢo!0XRCIদ8{jO;N}FR$ִZՇJJ_Sht49B+/O 9bMq=L[%\@9·mNxx*Xp(D J4# S:|kQ=kMW5"Kī O 9$!rFD`aK5RG%t܋{')eiKSMjҠg~.s e+ys]?Fr޹pzVٚBY,xZrw}~rxjǭq?^1qS2H[ﰎxWTՖs[ji2g E{e&$ F>씥6 Y7fAC')׿ɻحGu/]DZ IOgۈwdvgu6$z `۝-&eq# 'G."SH r7}ۢ 0-E4ˎ7H0#p#I;/A-)3 ;,?J7,+gM$kS yW|[TҴ8[m%O7±Bq`Y(*SP:bc[im7srÌI}L>O܀68, #rː(ì<"(h`I~j΄#=0'81&4ƶnw߄Z`R#O?L 2.nL5jq襷;g"OMDK޺2;iQ[s޳/gL(fx 8soj_hpxm-~1y6fC&͈KB|3^4^DqbIoB+\J>Oک}06Wjdbj +L#cEq\J;[giqxVg,MG ի2+<Ѹ"k> W;:#Q$9o0J n&QB ^_*?sOC|܋;Fj9GE^CԔ|yvR11mM,2ُ'ybp%BHSg'Pla 6 Z{gqj~0^JyO6;5{7~ئ !X#)/*Ew:]TRe\'3Hde}y;MA/{++Z_1ASx=c"HtC@g7|>yQ^FV&S-UH7o+:uQO0$𧙆H<-N9jcAr08 .SjiFKMBi( ^xk6 Hw.꒪$'OkG =B)'@lۥl%5V-=u.՝J.wu*,Am1dhp^_ |5 *T`aŘX>g WFlqR};`B+g: xKv/$hr獯 %H)L?7ֱGiK+py Ox Ӂ|S zWͬxi;%*AʮU,UWb MbIrH{hpng@C K9Rdx |"90IhцCxod{h9Xu? Kb~H3hlM#.//i~qN嗾Ssilj*^(Vm>CfJUQMiyme`wPg'bsp0Ĺȫpy}=ꍬȆ]H;'k h(m|/bcqe/2Vib~v9Kc?}LGT_DaTЖգB,+HWesl_G ~s+O, DJ,&Eś_1/>3}iר:Xbg;ĘI틴DL6;4 |&[m>w|{(c Y䄐ȿkEgғ ÇB@Ё凌\ L:[d.@ #xŊC^.ۇ :=,>I<'sƾNKʖ9zqpb2ҦVkOqv ZpQg&Xzq${)Q}q䝉MSq_%0 j.pDiG͑.L5bc|]Ѻ)c{e&1EXӊ"Y1zH>##3'_P0}\ܟNz'yCŤPfck[E=DlbH[Q{%BYZ@ʁHBWĴ1p+̻P|G7Y&CJm; 0!IQl]yMPBw1{} 7 Ԁ{. : -ԗCA2Ohφ )Fd +M|[@61| 0i<IGfD!XysP;9T7GX3ﺑ&?Kf45H[;Npy ^0 us+6[aRUEGWANc._*x qCA^VmT@0BwFUCP\1߂Z9^C9V1n 5D~3pm 5`>Yf!v +F c3ӣYc`VFH ֔N(+jZEFa,|XhE`4w?f:ǴJüзH6 ONBʦJ&Z7MH[ 'ǩHacƒ$|ӈNFxlnl]+ 7l&6#'YƵՋ6Bȧ!JS{JK8:]RYQU .OËa_3@ 9@ /<5pB}.XŊ577ѭ #-laMLWp*A䡮#o/3K&>cHݎw_T};|#FE5zL5%9#0+xg!"+JN\@2OWO$b&/m'CJDQLA+8u1ck/+g9X#1EI:M a1j 7áTT r(jmGg^2TQtʻwAt D,j7ccrG(jpbaL^gɶ LE]>(y ;xU UQ49z-T1vEC 2hSw>T٘grK ^}T bQd f郀 -2z~b|KVL?wh2u7Jc5X 8(kp?,P- 00ɵbcihRf %[=u眜tÞִ6.d@zG'_~g"h=+ h>w癃;pra YP!\E .R$RΏJ(gdSbiaļ{s_ك3ۢ^岈Vpe 2*zEG2ӐPfm"ȋNGuN /ʗ{OJÆܧoi% ùJI~qA Fq}d=qI䞱VOUNAF$PŸNEF]n6*> RY;I 2 k-h$$66/\ AWKSC\b23c !@&$Գ^E{ _Њ_u>lyv?cZ#4Xg>E1A{'>R#$`#6-B%mb5вC4,h^eL;zNZŮeƍ1r`,ߝT!j󬵖?5r^ؗs wFh_Ī>}]].g_<ohq2wi !%Wwȃ:)E<ub6~/;9hR`I_H}ppInmKXB)4 Q=yFmyUgL=MV"a~Sy䵸DgrPt]q`ĬؒJYK{C;^6'yzG@@6dw 5W  D c5H޲`6ky@D/#3|BPOrߪO8]fȘ:Y+6Ica=GNO> zAuh'r忋? )9pad H#6.v!E 6I#E*[R gԮ| mLpST00 Ԩ^Y_|p5 3\O*NpRᇂ Z:y JH"%B.)<*#ӅȓeSkd:N "=ce^)ZX d~Y Ur~9Vr#M`CpViн֡ya~ E;^*˳ZY`P"?E}^:b'Qp"VNRc{tdjSdzUgaZ0/VOmؠ^}nrT56>\4[rd {'xS" }Vbvq6$2sŦ_F:I & N 'G/dlk! ԄF{O-Iˆd#xȣ:e",NuD'+W\^lkgNznӕi[koPq#ڂ{PcttNFPkD6.b"gN ^^!ͩf _#Wӆ6o[N׊zHq[$sϜ3K߂&hX$g zS.Wn5UGs}Sq"+cu-cXۈ]vԎ?xl˖W$D6yxȑ$퇬 7=d >B[  %P~̙J⛂*aNY afybǣ?QlL)gd@ ҫ8$=ET 8oZM`@&u[. L5_;Ah,ڱVb6g2' =[ yIxTi63 db'*y 6]TuUh0eb7ek<ӵpFL:Oj(uR)oS vڲ:)WTE#fnF:Nox~nBq$lsq2Qx`[D+`O{ Xܻ*Ob/aΧө`F+1%2?bS"ftޅkȵc<X+{ {v&aݐO=MJ:8r8N(3EKuMM{@sZ,0^HP'*~ZQ^HErA|JI0t1e$DN5ª"- n񩢍^́Xzj5f^YsA*`3Nc~ڰ@Giu8@uGF# F{āɊlJ= X=kv4ߡrrӦAeKD=/`gnN"),"g$x(Y39vze=[|i6хyw\R n E.jG'U5`)91(rf=>*.Ic0e"22RyԵ&]P& J s^E?V1)"l5wERYY-}*'3'ŷvpָ/WW5 A147NsC?r}|:[6TLݵ [3+N+Joq^+6)G@D|Us Wnx\>,ʃN q4Lp\p2,eC5;jcmXC!ʲҜ%fY3IaӇL%\};(y#lc) BY u ir I~,wIQŕ Ien=pL$ <Ώn5:،<+ _K% O솝D^RD%=sg':_I A&Mq\0`u=NL7[C҃ 3ayDDpXn:hِ֢b'ދH4ԤX.t*!gpV |P8GBNB.ui ϶ECz|a9Y^A1=Y 9=V{ :Dٚ\h+Y0T|&هPTM0km`JxƐXl݉7d.vBP9 1ߜ-sWx: c1 #ĪJ%͇4Ꙫ8Бif<{tO\SRRӴwY7G|CAD.;+ubMO]i FhgO?)+,n8kUxBA_͈/~S#vg}M8`; 8L; O0u`r&Ii A 覘ulv jqKu>tI7DXYM(" @W:ъF'Hx;1%g.1dþ-z6v>S+AX+ģ!z(ې &b b}M{fVK#ta-tG^@{6I{'F\r}_sQPE](";N~Wy7 2a.rC/8_s5v+Gr^ @[?? o1Dn:ľu%+@jڀHuE[>r&Ȃă&P66cP~e7IpFu~`Nvîd=|lp`da-᠗QF6S:iA"aJ̇?q\ ґ*wfFMX#r[mqQ$f8ٖnWӤMV/tPȵ$弣J2mu7bnbd- tv(A`O>Ue.8WN cy|^#Ա-O@^~>S HٟΓ"#> ۦ6/YjcuX/I[iQލ}*qPkTff5D`24>iS}JЦ፨OZ@ߥ5{.P6O5]A_ --w8D^O\Ʃw T r˅d*vӋ4o(#>HyNm2"_>yS裴)Y 86q$-TQE:a9.d}^TQHDI`WgHn;R^4EP,)/Ubt~s`~S=v(,23!\NzvQm52 T|4w-$O4m ~q{}FRuUgP l8Q %m3/n@Aœڝ7j]=%ͤ-s:v #ֲ+'!򂗸Q'u<4B'*7r.4Qk:HA,"{5eAbGL%OAAikwNTE"f3l!Jo#-  .Aa3:o\{<>q n +w0tJ8*GiXSz:u &]N}oe(#N*.%B>4b X~ምР^&بɺ9:} >4_y\ K* X.^Lp ?٬,ݙTyTln#x F/v@K x08c/t[IS7AjQ v+dt (.޺lj.sMaK/xE4,ug{ru]:^UPWCUXԾCcI?xH[PP 9vv{JLuSvb>fPw}jsvЩӸ+8ΩCt)8!&ˏ`$EcDQ@uh8R`{ \TCRxޅ29 (e;~!MO癓l)HhbXUSg5}HWEMQv"OԮ3.@Š?Ϣ+#r8A5h+tg&^rRUV&4/A1Ēd0 ˩,p7X- K0 cRM  wf~k ZKfo[ ֩2tL հhk_әWT7V(/\O{=^VzMJ$.63<3Hbй8hCL%5#`[b쁂;OʉٞMK;$~#X;YJN鷕p_!a,GڡdY`s]Q⏉2K7nWD o#mZvbՆf:ֈ Nߤn%BTe5&t@bU[%:`"úC=.lD|0QrIq@i7㰲H] ҌPo`LBRwMGPtEN9LLa7AOZ׭]lB,;2fir _E,W|VtZ$5ò_822ЬB8j%b:<)G(+"|Jt:x xuqؔ訞Yz|/ ]LՋ`+';XA}9qL(y{lR׻Ń+>=(wM0}|5.j۹$47 ]~(*LVOżKqN~+ŘGiЕ,L03(RkS!q; a;Y;:ekvE)Lbs`ЊiS\Bc͙QQP,~&u(|"@.eKuC ݙ3Eɼ-xͰ 2ύ¦/M-i qapU|JGwy7,nA8B{p"^ HK Ϧ" &ߘiqEzZWR3GYħԶh 4" {ӺX_{xu򹻕.s{'K4 $:'$!E'W})VArCls'֏xV"`mxԙ=pO2VA?HƎRCH;<; PtoXw9b}Џ`/=58湠_R^_MOZ{&5.xsى22ìJ#qF%.3md|m}m}jBO.ӣ/h(I?d'G ҋ@ ZNU^,EXL!K@+e>0/WI;9U7YS̹3]K]LFTGM9Bzy$5NlG#iBN˹#ht&έs9Vc N$HYR|t5cR==I꿴 $S8V ‘)J 5oC7}ˉ;?7b)?w;ْy6:dg`١3.r 4"yo:X6ßER`s20jGf^ dF󉩬P =B"U :9a2Pikԛ,@vqxOܓR6mxǀxX?ǵ,%h$ixwRԗ`f[,6b3Vƻm0c!@l9WF\L&2O\Kl:ߒu#sg?黟Jm>QCFKd`A"(Z`:c^b ƱM>QZ2\45 /Y kIQƢPd槙x 0Ŝ.9fшv1\`,J=40ˎ6\-ˠU+;bh_F:ya-i pC w\P@3D;[+H-Dth]?80F ײ\h:jx8IS@9ò}]#-K +w{ Gi(B5:+%ЙvV's$E4H0% rPE fύ9na#N`6igoSy(CM{g C6ث{ Jh(h֒1A !y;fr)}='`<)3fhϐvSMjűߟV]2x`ȫrMl3`q1RUluڡtވ2*w'3֩=,1Ni+L4mhW^o-I?:’1}oP"ۊyfW=}Yb,4Ցd? v{Cvo_ŷnX;W`a9w=:LN^un3eiΣZo^x- ׾tZ۔M3cyM!/ij#)WA5xh٩<#<aK=q3ȘDĺQC1$0*zl\$MwM%j-l篃Bz"Ӡǽ2NSYXN$jZ'T]2zZFh}ꂂ^^Nԙ0% "Xk6vSDfgMfĦt~1|:eYHaVװtuEi]Č sl,v y=Qt8yG@>폺艊8\6 @6?m٭zk5̽_{^1Z*]Ze" 2PC ,uYsԮ@#r@`]V0+mXe\ w7K'DmnrAid0jfLA\f"Q4LQg7A2P2]p:͠lyoד|Zk̑du7o@;&v Ȫێ0M H=*ߐb,1 ~4n5jm?s}1L-5bdPmd+5PzK71"j+W!(TP)2 ivYlI]u&Vqu+Z k*#ΪuEﲻ'!:{EkK&fI>d@:(;I>Զ}CT6Zɓn,C3͑swpw=i~ھ@dS]yG#W]Ncc1TԧZG†N:*۴iR$˜:M0#KE喜 NtY $9-W8=˿}(y_B\;(53s_5QL+ "Ϭ肿/eA-"@ o;O끓$)ug I_g_ΪODO4&87o)6{L|Z -LE5-wFxU{8܇F,+0'e:TTGuHmHݥV-0ǤH={nG}lΓ3͠0Fؙ_ImOQkI u-i+cgK}w.VB jg:.yx{<)YC*>?5J+%"5{.hn,atFx 1Uq>›<{,cE^kd~D`Pɴp"g4K1o1h: `|=)IF̡lpnEd`DEy&v vq@nĆ-PK7o8՘<K!/_L$,^ rrTI100Iy*Q`*QRB"Mrzjn7ljv[2zm 3;ܽX*J. D+kJ 25i58f,? N^bSCPq[9m]HIA^ȀvȚ_ew+6@? w8Ni<VCn61N(ۘ52 EURU9E " /B먾OPo5+Qkn'w?aq5dMG ?ϵ8kZd8AcY|CɌ>6ݞfh2ˑ3cz铩c^iI@F)Z0kF#uO"x=_xh1y>y!ZBBqSL 0uijٝiĚe"G{k'cp4l^*M=?{Ѯy(Y?j&_ȝv9IػȰqV0R53P!ϙ#A5e?#g8}s 3FlSdiX)РR/`yKA,^ -9m=Ҟ>X K1 [ԅ LºVmg{Hx 8YWԿp={mc{b g `;)QYƲe˜pд?nՕWALȭ{;f,%Wݤ/XV A4M gy8*?K3;[9}b]:>v&݁^sHO'X6i 6cR]&`ָn2Y,wbInnJl+4.zV) ^|dAٯ ; $-nA r'CŹoL9b6LV[$Oqk(ߗS34эOL%$P> 1![^զm1Uuܶt@X\Yxʉils.Uz:.M\VO3^?9ߞt~{Z,s18ɀڹ"BҘ+Vubqm^)dc [{#Y6>X|ϢN}2QP|hF:ap"rG,G0?nIGiJsn8+t $4!_|-IVg\]q5H$1QA 2ʩؒ>w{paҾ o!u3$cʺ E!CH _ta:W( ƥS$vewo =b]E~ofS S{;&AtCT@~GOMj-[!4 U `}] Y o# a)8P0Oow&aӟK%5=JL܌ CyB,;*&SE@ED±oMk;՝!Ǒ$ߐ$>MZMkr@zhoxǴJ:DTME9߫~'Tbfzi`+BEOXm)/~Uh2fbzj6 QUhꅛJ!vC Iً"{EPDM'&03'Ԫ8%S{I&ލ< z^R;]H2( .4( YS2J[ٻ`m:,ْ U ՜oAJ:Sp?0 Д4"7CVx0ZR edv !4gg=S ;)|gWwΫdOc 6 +X©΁5HjJU.exI8!*X.e5KؚF|<\qx~Oy6%?4ъwR d̮M\#saE\Y#E%}ewc%EP|IdxB f-t,zҾJ}FqmǛq%:;;"D;Ӆg =>eeoQ6$ɲ-L=*D;@9]*;4-~{:{cYQ]Ctml(*̃رFV9p]ia*`wdy S `T߹QO;92M-/cXk%`SmC&,i&g&)jٻ=R/ 떶'|hYfyN'IЍ/'Jc6Bܥp?2wm3#F?dMK&1l:BH*9%~6xݗf O"jl}λVlZ^x-eԛ[kDQL= I4#N=k(<;kLyr@c }]ZUC*D܊k>uZF&nA^ۀ%] ~.:5W%Cc$NOW-*=3M :mE߬ IVD݃+&;wc~1lýc]"4O;:kv y[_ν5(J _}[t`X T|a#/P?\:ʍma(BXiѧU#l;1\jL;N直 cmtEvJ'q͇z!c+F KJ $hv~~HttN{ '"xtkVL#zxԥ;]gP֜@ yf@نݝ(TD:;s\{ ^e ޓoP&#`+]c4۫AB9wF$# C55nĴ)AK><|o7eFOqRa$!Aȶ5kry*DDE=5.\__4~}?is}(1t \?^%- abgfΛUj3xFUaHaG1ZkQlΦO.=G4E"hWÅ[|nMn}Uo,/~4^D!8A;AЫ]6ɕ{;#y޾kՁgoL bd~j!+(6A]ሬ1gL"4]m%O'^&CCɸ : ,<&|VU[ծաf wJ.=%|Fۆ7P{/̘gI:ZUp)#9BIg5K~6Y, 4ÑZ'X'a#Mњ#u+eRԖQKMԷf]Hm:9˺ׇKtqbJp`t6̻bR IN6BmO̩Xa>JY %x-* ݋@g|GM5@W kTZQ& ΟF\_@{(4{ 3>F̌[/~͟uR<>y0v E  ț-&; T7PVH̨;:xQ]Xy.9#U%ES&9kT$䏲,saSPlae`4_⨾8k\6:&48_L`gDGw\P kyѢ5ytMiD }NY1w=שlb$y>ҦtauԮ7h'1qp$oV Hb#)Nr$sP"/U]][]jal>tP~jaL̤VI_^%F, F"*A tYc7s[%6mVxߛJ 6cn OPOyXeꆫ(XK6pI[xpFU>2? b @ jA#Uz8K/w7'c y|F14i.2]^ϢG`l=k s >, mzzxX0{PHySu߳򚭕T] ;XV77fSEFbm̪o,q~rO6:=J}^ڣJx_΍7|~o[3 Bjۢ!)$'bo50p.ʼnZ'pOdH-8 8:E}@j qNASojw_~0*}jm\j7 L?+(,jj-k#)a6;sYKJ[ 2U1둄]}FrtЧf)A[{.c0;Ƒ16Bǡ-w?G +I{g|lr \k*V<nD֤""هg[q`Y7q?uN];(g1~\L˂ } f6SUA`zT+!o;*vul0wJz)v~We8LpcIPu #=Jnd >Yqw@NN; ÑCEo6[4m⹱:;KeObI ] x7e|}qGZl=H/ߺWfz@qrf@o^=\cFL?%n7rk""75|Y3mIw O+b z~ƓF -r>Q! q .0K|@hhQZ C \ t֯j5ȹ/Z: @*2G1Daý;| CFӻV95_?B6j݌A"M#?ߪi'+}v0? ˉg%ו_dԿ,ލB$ " 5'-zA ~bz_*נ)HE;eFY9/s%&zQYj ~x9_01CT3!sN`)A@_\C/3KW\G Q\1n=$'s:Tv]'b tz||Rě{Ϫt ђ4iM_u=xЛ2l|4ŇJ{ =6y j[XN7FSll뢀Gaj[tBT$#M#~\e /*{Ep -g{k&De7p!v,E~ 7l^lN.9* ɝȾ"hH1|͂sb xd҆Q>sh]聢)^kPa@HZ Aȕ:Gvyy~ylu2OThݍ1jL]䬙Wpx 2ٗ? s=k}rA#%R/EW$A=͐vnǨ.i3Fer'4H}s}b,g z˜ʾ[ #LA܈D$Dr0y3^^0Ɨ *J[x@vmD+6ιɄa*K7#ۤD J@'Q>RÂW\5ޫS:,|^j4s.>Љl[`! ,dm6^f[. ,b'E&h0R%atU0B c= 0f0샽O"YA;G G>Դ*AL92"x_ vIxQ̬t䬥#aZaOX>##YfAMQ#a!AE=H E:4%7Sq48wۥ`9q bS ܺ''zAMQK`܍2ahU #|- N?EK.$*_~%-*íY轝E܉Jq(zV,7* !}¿a+S\3ض?X_Y\9M뫊0 8DBaV;vu^3^k'_ [`FeL'nzew1&cב$r3[MV8Wy M΂BXa^Ke\ߋq9\X܆>suڿh'=5n 6Liǣ<YInI.7T ZtPjY2>\'G\ﻗE \Ro#R8J|Ι:ȟ+it;̥T~yK/%Y8][$mH%!Z\*#APK\s΍h$ŝH]Ce`K`&80 Mm܎H5eɭzQMk i<-KA{ bz$2KpLtqFA`'fX(4χ-QvtQR` =%B]I{q=ܧFkvCZ%23Pvc!MX-;\Ǡj-WݬKvֻۛzwo)u2ˉl-1em6mm% &S C;u;܍3Fhd5VYI U{VVG,M"XߥskfKزuA 9*<~Btc/~)={ &u(Ʊ=(`=;S yǺA/ݔr q mGajj~{fz 8CkEk G6'gѾ1~x<5jWeR)"}(u"]fmֈUIlǨ^\bmUxV5t5D}6c/ Z ph»*2fBOzX/[B`j鶋?[+nHPNFmRqNHUѻxnSSw#.Kvi2{HǴ(!YDW)^^ػ8D=q>*/9 d *r4)i(6@ Fʫ gS DޙYG1"/7A8mI~D$e7t5~eml)c"Brj-Z?K4qi{2*1~+alw4AڅKyBЊ@$V^ U#wMs#ʷY]fnZh^D fU,?}TnqО~Fs^gt7m P-q*\ŘGpfQ )C8㡺/ V/L"=M kD)@Uĵ\z? hMJhH-}f@6,Վ *"Y[hRހݡ+F9O6` DNzfKYS BjAZ%8/m-HǠJ/C _SJ:-?%fjZE@^@(qRdI٪5* U2^<%ms7̔#,ZVMϹ^3ll8+Zvjژ;gˆ*ޅI-W;& )^y.k7yEꕥ4s14æ, [j㎚d]|+ʫDih%T5L|RG"la_LJj^}>{aa繻HI&[:CzcKs?[V0,oe8DȪVv?%/]/NpP1i꯿Wd)zv !N͂ w@m&7$h0 RK r:8b*>5Nj!;AOغ-Kt*4\ p=pd^]"V(Ԅ+(0c+3NsU_KuiʇUSݭ#KmN& 6b O*8rlȏ Y_N2Zc IV4*!Z6De-ߍ@tU!e8- ZYr'G?[%/Ї\-rDk? Zw;N 8|Bص5f96Ӯ6냤P\lrxDۓ>XjV7/և -~)XC ;|q29ů9ud :]M D'4[ɤUkOfz(|ePMs<~zlp""cQXנ|sz[Z@N`6ʨ[/ .} *V5w^cCa%aJ׷\0^ XdqT7MPq} w@d+/ 9.G}>ZT%_J.|ps0O _Ep*<8@ i{ 4PW^szh@sS_J-&d`8@&DGVUUŐ"FۜkYKf3oH[[1dSTe6ѤDNfg |8 {B=F۽gy|lYYyC;y_rÅc dڣ^{Bte Xmc5-vn)0;=J5ռn[N%'#Y#vkCjU/:֒<['XxVWp1tp LR%^dۚYxz49zcq0%7.0ӸsD,  *9x_I;T@vn/ qLK{H{sEȕl؇@D7kֵ-;=MȋZxHaW4%Ԫwuov8w4`ҏ3yxhZksgW|3J r~I}`a Px.;+$riƌYٝ+r\6xa\ܚ ~)Ft%m=:rzFɱ]4J7+d^_r] ]qO=+TĉLez,[H˂]@2?ІM!#J9z?^~B_ &1:p6B;h!HĤ5Uu2F5H#%HzW@mwe&&0𯕬s&M* C-܃dʋ7Sha!XZRt^סvFUHٮbTMƻ*yk=mj.@uIKVp*S'֘g>9a[- 49.PV[7$܅bO-~f3`DHη:WcPts:I53>$vs< L5E6S=C#{}4xM`3{Nܸ"vW W'/Q,e~.r-/+W{J˿51/_xy͹V3;g>o,BF"+%|vE T>es3QPcU$ɧN$QDIyϨ׋o@ MIr]xyX  Ft dfM偯s&M. gT?7vEEaV9C@A~vx71L9$gED@ }xƈ2kNv>ҥ.7Z t9]>(rzE"Uݔa)ڞILgr h)\EZAYLftq>eB)Z*#9ٺԦ Y-)4F&r[m.OG.fEQ=Q@t'£!`;~sBt+s2_K1(RlȽGad;%bgӨ?oF):lzk$*$~C_?NlG4U*w2_IXl3`Kv=2wMyr9m7Qe{[ρAh y_||F\ha(R8:w9Nw)|dXcS@b9:Ey=ʛO %e<_1 $Br <Oۑv>R]%IR $![Ž^<MkߠYBt\ >f\r l6x}Su/O}FaB}>\^e0_AbqiwtéЪnɖe㪇Z&x2Xx<@6rX\/a|Kat,ҥy^v$bAmn'(}6;xW쉖cʧp$ʐih|=&;z; bR? rNsE9I Y3IAx&qT EY\ ֜j.ZE1OCo)˜j,sg?nGb8g^ 7j{ǕsA`QR?eg~^#7%Q 6v~ ^2 #\ Rʆ8]%g8`VeE:/6:F>RHP^goHՆr 2df(2 ϓcJՃXA.61UZocvcX5`a/#πQ F\v61AyU׳e{O@G}!$L L!J1SBȢpn; ?g|iu3F G z[w)L~ځ?ωQ{0S~e܄aRta+(&$Ky;+f="=8}|:ƌyBP6%PӨJS6sfhyDkFO:; "2T,yP@<@sb듮F]0ZuQBL)\]x __C :*P4JO= ()khN bUt pMD @\*k ]h6S9.:ab%D17d,-\ګH7[yp9` F J椭,E־{&b{;as/^j5Rݏa;^F _1? z/'5Bp|5V]{:܁Íij?,h(NYng=t*K10dQ i[h42QuO} Z^oC[ 󇃾,oh3ߐhUpQ=w[M72i%,{ȧU\dw&xovG(?$$~O h&BSz?i}>֤{N#[IeN^HHT5;h[ʣђ0 OB1Sr!AEח>G"V<Ǣ2Ps9~`fi kdz.\!>96rżF\idXB7L)@)C /]zۨWԜ9#*%"zvMw6k}&heq|z78֛p!_{Q9f]1 ^Yur*H"XMlu]83wɣ։gsGغQNJ"!a!^lpI(,m>`Ȯj&LNp (݂܎r!&Ʃp.k/i+hu@/\Ay(eH[(>?x@.Tǽ 6 ~N nCYYQSZߑkg:%gp.@ʬ@wvuw&8XD\R4n5uʺxS=jiBڒsa4;I$ajr]xv 5gjpC؄+UPs=OVYfuEfMե=~V|mYH߱E]'|@+YA+"톝eo)d^e|͜"[sVs5mC48̛d EtےBu{ ׵3:{pGE[п\excy7};LyY #lm{e[Z0iat~ g;AV1:*B388V،ڿt,J|DF&uQ8]炚ߩJLV%#3e u5jitU5PUSoɴx33ב o. Zסy⊅ilW̠XK%,ޗGRaM YLg *} H1:2Ps\7' cq~?fl{8@.,X?ՔnPwWA^ja(, ߁0Y@vC9WC#Sn1\pgצW_ W}zJN=CVUᐍP p\,4IhOO> Fev:q 6`G#.GRUW~J3Kny!CRm*()w᩸S^tb{Dr_N=g+U(ر)rlSBDBOP QV1+&, !ٶhTa`@:lKz&v5#&Цl4q$'Kj?ֲMk"c$ HX`63 d=k;>W6SWS~MoOs.wS_ 5cFgDtgƍ) "G]aho9e]p b7?TU w}o &5ԆM ߋ#AƄ\@ͼ':۸CѸ>R7JM<&(s۱63P S { ƭ e郾nL̪ ȐBݷp^蕙.i ]{*ss"qH%~ijǘ'#GЫ[ع]`đC<'}KWVr0zABhpp4e}=U l7I՝]U P,4&06\_Z'KX[ ]ۓLwa|Lx|xغAE[>8Ȟ5.\ϫ/ɖ[B 57C E/qαj߃] /6kgǦImlbE% d sCJ&# zΟv0u$[ ]~)|cd v~HȰ_Xb${ZKgګr{@y7e4 f/ d<:L+QFX躞Y >ө .4 N>z75 t0{"*V;RF w 'R O|ܧc"/Wo6Lh̫Iɦw5E$r%}&َ;Ii1i-\ _L9bry U-UbkL.Z"0f4$ؔUUHHbÎipz!2+NQW[1T+a d}Gsؖ2u [w UU ȫ(wm+Ond$:0ceZ8%I7jdr@!&!#5zRiֻƚ3&G斱}޶z<1vGX]uPDfr$=*w/[^XKT.Ns`_$ r*Q4\-&<8qQ=JupR& 2w'pBupZDսő.ML~[%lS, xWUT~"1XPbQP' (sn8~Iyl?Dq̈́@u7;xv?L%a1;R~BgkfWpP`B(\Ù ('^S@=*t7{;swsDS|o8*o;tPlԈ-'xv8eT8U,6GI#,3{(&v}>Phg1f%X$m{c'2hn!;L~Dc&8;qND>Oqn gq4P]:[Ye"f!_=#o="H>NgpA$s_tRӘ!g v}ԟZPR^L=-X"Dq)ͩC;[LP>g@^Xd2:Y©aYOy\)Vtй% sKU 9տ:ƶplW"%I%y 1ett-RZ;&yJ0u,X o=f?, >\EQp+9 lu`43⻯1ɇdǽM`fӀZ<W ymNMH"]b $w߻R@E{W}Z \sQLBh'*e,z}=UEV#qʤj<@7bIXD̀;,3JNߞMt[1"T*rd|#W$6NҼYNl6PFp^껙rHV1 .L*V nVjfՍ- * q_8ӓl 0I .pbk,0s4r$W^?96 : ð!\kפms@MVuTnr9h?ynk d4׬94,FrDAA@O<1DWTT-2޿hs~,'6}^ѪW,㸚0*.;Wy"z~YbAl X9RQysATssJ-l#b0X?"c' bѨA퇹fB{pa6دpOHz.qG]yV:uc E{uг7:;[<+旐S4mĠ:Lj);d}OҴc³z, L,dlLxjCІlm@$V]4?RlgQdƁ79n/s[כE˒˔m!Xe}45@|^x^SAch5%|X_𿵧9;!-Z:z< z᠈n>"E̫PBQLR,nkENʷ;–Kj])t&*r$&zcT%9YA0ZH*QOԾ hU8UoTʳX};)ŪڋKPڽ 0C@Neg]':Q=Og0 2`"P}u设06!)`lySR )`OV؊ >s6C_8~y |x̽1MNͷPy݄ VJ`;$\}BК tUTuc ][ғ`EpҎC`*uVi&y! һ":>Qf/r!a6(6{;u_DR߿=5JJD3c̖G]GhGo%߳2-*!_vG_/0eWבKF!6at޶~xy7< z&?qu'NBE&l_8z<ĤfO 2 xf~d`Oz/r 4hq\͍X<1mH]fJBd& FUF |FX;9rZOo=svG'K$4/Z3|lhA} p58Ew.^Πj>]2`3e=&.\<&TGȼLq<(u5IaC?[:#-lHp9bjS;c<_7M Th=%[lU<y0`؃Zi CAXA}mKe !jX2"/\}Cq0 L`$9d*5֚UʐJնl#a.k`ꊊY2۪GLtNy{wQ&2*WלnE*0!&`O ҨSbivҁΑ-s]')q nxƚ'&)Owպ?n:ӗ%v>\t+Hm )0:h+a/JDҘ| @erԄ\\wJpQMCt3zh9?u2A?fC4_  KwK =36(\fO5 I=[uB d C*^}^ }9G0ӷr۬J>jLJjۊ3l111]8J)vE*݇y6]P(ۗ&+ˬo4D m34-{ 撪|T(=aR{ !T͋9}<O<*4nնS3l'ol-&tpvIouW{luCJvṉ~ zG"AgZl==vD6Ql𢟥b.WAdyt9bFcP wM$(N}_cbWGfoȀ7Nh#t2 -rrJVrdګC0i'}  }53#aB0_ .]G]XOx Xmڧ YH ?;fKKs彗d0;_nav$@ǻNO2W{̺T]6SNxE6OlރpRq(J]ubaUe>> (uJG/B|,cM|4Rxo"̸:N7VnT3!Z0(Ez&P(HI[z| Bׇż97LF#o,G|"'`p*Fb2WTbLH_fLy"w"ߵ+[f=pb"Q:=Q_*J #[A+BJii0<$1vxҎ}m/pJBP! b3SQmAq hܓF[ O Zj!Ip.eN&|*>NvU6xQwm.[lDgﯔI4g .~'nM6{Qi4l? ]VMBb1 x߈*`A1|4(& 7 1V9k/Qs?vKM(frŀ#o4ePF:a:8cmsNg(hG͔XZ ϥ?%:VoGa c :5H QdbB7"M7[R-uLMn )QOPhi PNvjx.pN0Ac rQZeNRa|yd$] P<$۸3_lR?rlZf%3;ykP$%FQ4׿m Cu$|n sl]ĘlyDwV}vP?d8=n_ęEg$Xd1[&e%낞~J\of. $bV$DUO/s͈jw4xX68ƍYcRQ~Y}QcCT^pm2z4Mg:aр| &./?z*+H-#6͙}yza|Ίx&+R/70~̝T6~F͖.r?Xdž`i^7fXJa\ᭃMCU}EH,3/:$k>4fa"q+BT:`w)WdJbqnuy;y N JWBe~8067M S?u;*u_iJ:訋vhXD wŶ8WTR١MZ!כ a"za=_^P]?z,Ni/_v^M~ڍn&o$)PyXfjQ3/;ǘ=B>dxU7s0 yϙкwLGгv ,%tSxߞP"c^~ ,iH̥@Oi oHp!=Rq{/z?_N酗̕pn{.L(IF2;.`io]Fg}%t&ڞρXEHϤ~ &)~3*,dK 5ٛwf3?]:C =0+Dlv>s%E;pMV,[-!4eRU`$l" eaQʹ*02v0QjְۊPŏh6БfRL< YNˆz, wOh+Gr~5tE><3Lzy <:aG263&*J rM .n*EyGjΎQŢ3rỿ݆>Q7<,ve!%†M[4Gt ]9<]QMe8٠q4*Gq` {LU3v3 pCl^p>CJDk; mNW87M*jp+'_`OfzqJo1]IQ]7:2hԊL(2(3z$g&R\P5\3qݰ\-~D+VO(dZDSw12I}t)|so)->,Qys1QsH1Iw|¨Rr1LijV*n ~8p%t2C)cd*xQs"P8(&sS&~f& Ԍji3R7y=..4w[y1*]ltv^T<8^jLwX+xFB `lx4 O&tg롁q$|*RQ9) )a!=FрCv鎞e~VA%ZԯMft,Srd7=fF*Zm=ʜ&7S"x޺y h>&S1<3q=2h𩕮5H+ΚHVTad6F 3~0]>ǕىmD4 ̿􄂳W1"jNb3R'EcJ9* &Z7k H\eV5HV.6 i3cY: chCzu  )Y.3ܔ6!nx %/6 0T(` 8iR`.\|h Q} bdh|iaG<"yacF94[fZP?#o@F}*J{Zp~AeصWgʲݭD|\k;5rej0+@7(U]w#s!i}&L 3T53snwy!Z(]xBO[$.%Xl} c3;J> i%tArd^$ZCQs$V[8 ^]=#0<69IiLax^hu Vuc*%ze苴NKK#%c <M(>|ޙ<4*N9BVTzRػi?5#@s;TqJJXY`4ږ;rL{*YWf;MX O&oԫF~бU.`H<}WP MQ^9z߾S _L6 MXe' 廚ցKPY> J_Z'#i  la|ƾhn ѥc+ J%tg'z ct~1CEQf %Av)'FXAI|2'do#h e VCu,|~VUxؘfH3s^'*sO[d^0Ds^ǻY Lܩ%0m\ꪆ mF\/i~yB\vP?H^"! qۜ,^IX#3ڥ9ndJXg$s*lu Et ˎv2nS#̞c? mYw٫A`g! |/e_UcTͫ,b,hc^9=NQC>BiRZs(m||aakrTouMoIQc5']6xAoIC)7,gf _η&jRE&Wr6-?W~_}9.Sva|MsY4a8;;Y̹J<-6/Y|deÆm*rlej&hB34֎3__g'2D~e"6vfb4mbְU3\ Y3-n}-ș.^'_ AMi`)jCs ֭˥t1G%zثx,V*]F!4?^9mvQo]Y0 Z%h~3L9WT,ӪuM#؀VQU D8)0m F/73zԡ ZV sasbs]# EKa-5@p"UM8B o~ZV-٠2r$]_z Ӷ^Zeh^jI)PjP+sgD[A3)5L >H .?5>ϳTc hLsG= lZkTHT۷j]^ldzBz''pgVYDfn.q~U9 >HH)mFZ^-! ~m|YkN`y;<6B#\t$(iG5abK2m@|H b*߬(^?уlT_˾lv;[Qwq(3V3;{#A9BMN?ܗ 1)R6^5*"IgĀ]ly\"Q@ 2cq('=zzh yn2r5_ ev0u.'(.a3 =G-8~\y/$f=5Y2;h)w`3SAbGVH#<(l7!UZ/=π"(|C9,>oqDܿ@K/{ 9D,S [23V:}@U%ڊFt4t3ਮ5Lvwra232%l '1k6f3k6 շb^,^T4·q'%bPk1WBb {j:JClk" HĶ!f+eT* `n@pp5Ter͗+\1F QаYv`+Z6;u=k2Ku ,0gr=AǛ :{wd!8Qs/?C c?xNPzrJ?aƜ08$*XVlPnoIEh;g)0"" 04\t{әB\k:rcq/M^rhs:H![=RKGWzpmNyry1%m2\/2 O+:2-ƥ eS>F zO΋Ƶ.v%UHq68xe2 Bo襞rJrk,G "vtl>i_ ->_ʾy! Ol2uvSP[d^ڂVhX=|l/|Wox~$`rrhnI 5XRُt>a2FRO,y `ƭMja]>bZs\,b65Ž=R*ɪAͿ4E~rS?KR.,!!:ns㘝Z L༳y&髵Oٜ1IJc+!MNCw|q:%X}|g*Vz$ȈISe*t6ɂVڏ% TX(KKHTI $v;R`gv/cchȂ84)b6 ,ȼxf[3.=ŭ_UB}A_@,&]/Rj\bdT9fjyBw$:@a*Tr{mW"AVvRfdɘ=tCUHB%$7 F.1W/\=@}4& siU O4O 2`6φ6t4sm!޸#£m %IМӥR*hV?x5J1db"[7c*[u"X/˿HOlz#89-jm跥aЯR~T'\^U0Ə'&_/Ἧf/] QpY~P4 sXw#8iXXxȽD+^G4O;2, RGbI[/`;.x]wv9_ i)$= KbKw҇.jSxsRqt6LΒ} X\&jJi"^@֘bXwfP.R'v,-NARlo ! ד8ė4|FXE5@`tW|rl U1} ^s;Gkq*BVϨ j,h9];Xm*hKcg0Bdˡ\.aIWȈq7CJ;S-Tufn&kB ')sߚwOHP&X@y1zt2SCYh}>!ls=B-"įRoS3CY k*kJw]g;4p^$#88*9}8-wm/{]~tn(]˛P1'箁X,酴uŔ\vȮP(GӳU4J*y MܿEtWE] b}':ljq%lP '5dz0G#Ҽjf{,'T|>MT$깂F:~bbSF?{4m\bb!$(pOҕ[fH >A>aTTEўGc\Su];Y pېP55S`J酝685"5%.+v `L4p{z[*j)R{Sjeq,iue 3ƀ uױc,wK*Mo\,p,u 4j@UvN@6 x&rFu/wk( WTtG vm,!bf´z{oUӣyWSHC@8ǫKlc /LԉW'qќs"fxb 1nwfW>~S*0K{dJ;"-9$Ё1Àx|>\`\@gJF3M/'UY@<@,hk0̺Yr[ش *y1jH|Y{Wr}kOpSf /ɂwR?] Gr=]Wui_]C6$)Ei]-]M:Gw$&.µ\<5>GS8&~ҨkFxw-<Ǿ(`C| QzT痄=S|B`1a|Yl|YPZ:0uFE i)c!(?_@%ԡYw):Yk̽ |u~rϟz Í bԤ*O V9rmƔ@qxG ¤QlpyF2yHk:*V %6?@4="5hӥ*}ڠVk\Ǒ`p%tagU'cT5CQ5\X\F)W^tzbϪysjspY8 䶮i?x~]:6b'y|y6Vԣ ;fͼ~B.@Wpm}huMuQTחl^ -"XCV(-)}0:B+G8v~9!p軛]~6ۈ)hlz/%8qs>,fr ^ӕǨ=qM@0/J]1%]A:Cǘտ?GӐ|qܿVz9m臃ʢb~*S1rgVY݆>Kһ~D?so_Fk }fԭT"n6ofTm7w~kw}aR88IWr k"gCZ,b^1͎$sZp|eXSE_uN8H0Om {6 ˷`©/O@ej{ TfZoRM`اq=UΠ,(gյyv Z1QayqTߨTje֫T~Ch=-3Zwܑ3]zQKjW 1 Pna;2hX\g(S$75H΁uu=sj~A:ԍZKoU7hsA|-sYBLV+usn,XAc g@E<]{<( ,jPk88ߙ$3e]k*jjWE ̞@GR$u[)ob\f-^R21z*9n0*hpӊm(rq8V8~L$-ߧd~$+ *:I$iҴH~m(ZÙ-w>Z}$'(Kڇ wJ8#+":I]'ښX) 5/mZo?w g@2ܟ\"Gpyxʵ5UWZ ^f\T~4K0 "'{SrwL.uY`*2wuE@ⲽW,]i7t/p\ z;Bsc@Am&sʕ]lLb']>-(4~18̆*q s2E>FFQE\ʁ`؜ ܰZP<yz+ %arrֹa)i%YY'ĈrzSN'TgkR6iu=#ڏK;Ux`ZA^Xha9R@T pdC ±jAz'4ܶRa3[^c+*{ <aǷ!ݪmIkTwDݟ]2}rNjU![v t}M`}odn&uYӆq釚_@i6zx)yZ#4R"$`'<6(O, ^ϤOD+LO%7Pm(.9X Q}8F|Ψ+ s|pǿѦ*?`l@ߤJM DUC.j% qѵu ع2-m[(p^EM?R.RpkwkTɀy:cڗ'[ֹ,\fvnRb3l]7Tf"a0pΟLPŇ[d/UM<[ȥ$ 2CАN= +pYl0,ܧ*ޭ 7HoҘP3m}qLS$"[ku>=V` aUr:'a~0A,6R( [h;Gd_5N@۪0;b~pf)' -2k_LlX4.tQ,f]GF}M[4^WؤчeuI܂wwAG"!~;q)#*y<5T{GTJ罄\_%V빀Ư U.f}넰*-—eIj@\^ݱ5+&qA׹ƒU`I.w՞TѺK) m(dYu!TaN~(Ne.K;R1Lq0gX?k{W2DyaAi!#H.ּEe֍XFS9 -S4ϣ4޸<%W%LXKGO^0d0k΅ؒ#3TP@oQQjR E;;ǥ?XA0y",Dsvg;LHֶ[_X~C)XuBe1 x`JnbP4N  *Ot}^kLh NqhګAF&ѯ_ リ"74Im=Ƴ >Q̫.~ESKDzY`eK(mqŦh:c\CuE9`O>]gJJv4j=c ? EtpU+5 NA,$/enQgۡ|N{ëWr` C8〴5hWO eׯL!#%_D6K#mmn")Zy5;~.gW6!ε2#Μ?רvyxF&Pw6Wa i-ݶV D筝u;V9B4EBxI6z*B(ZH6ݒNF_-sw:c'h%K۱k+Ú-uA x.Na6凁TeAz)hSSFgo$#T6HL7s$r?K1rD'ƛ^.#^z\Oϖ7'x,Xx&xBv@ښVyj_x<S B Ksb]!TgѿR #C݉Iv9J8X;LM@"gÀە|#bD+ؑEOҋH hW\kR.Զ9l7'aFUlEX&_O+P"Ȓ|}LJR4'ח*?4$e[_>RTaP54$@z4[ےS2MlNQP?xO@s 4\])%<U']vVCFA@HKXvEμş1| 2d]>)PQ-jW}bB, GqWS!&Լr upH,FOsio7a[WTk,y\}.>JMaJW;Cv-י)r&rՃCEaICHqX=CuҁC$>VIRFwk{o"By-ykB>|QqNVyrSb9 ^oEswƆX VZ,2ЃF/&ۂ/+44R ! _ (%T!0eͦ7 P/Clp!20gpI[^+ղ;R΅YPzLj1:Xd+ 8:\#:$ئ;OnYji/M7a{ jk@A LVi؟crvUC./kdD}iTƯP>&?:E`p?'GdpQndGA%X1`zC69po<8JߎidEBc,}Y\nb]2Zi{dk@Vw7^9 vM{cxr2dML+/1T+q,ik`JaoM/?-So;ei2lRNxIXg[7bM+|R0_S)v"SW=܏VO,u<`&Iށ\8Db$>uQSoH5ы>ǟ"n[E`s2b|~6>-2UpteN,~~Vo@*Pz+.4m\ [ղ5V]$I` 1z&`ŽQq*-a@Q3#5UyImBZ4GcSa 䧪3v`wgT ڒwNpWĉT~&w^2*v5MZTh+Vn^YoJ0Lfzx|DdaiI=qĺKioLCÓ*:17O_؎BUX;9Ap~ T|@+ݧF?9kT_Ͷ wfW(fn oF&ҍ(F*8vw.};Rusn&l6V ; t'Ҩh. bvwDxuœ-3o&~${MW|NC;?[_#WU>v l|P Va4'nƳ&&^pX=+^,0‚-y|Juw xat\ 7>Y29^BCwlҋ8]4vkVi2AAh󑟚EVԣEUԏ?\TeZ&ᣒ\#ѲB-E0ԙz a,!WL!Ca[&:7|9-km9 ԺG0>'?΅8JMM򔊸7I^,+Tm%Gm 4m-F}J>\H=P&I<|*b &R;24HlRW6ujI(#x;9µ^=ܭ0M#{8բ$]^tsFVg$;6lj?ύ? O+rͤo} )tZuOA=v!8S?:Շ=ydUzl*4IO=%x$JLgtb/1#@ R~HؖwjZAo>oX3-r B#3ޱqi&,>d :^Pste4ګX=d5L2Rs1/ӯv fĦ\+VR( $r%|GSlK*._&oޕ7>?^`(ٍ|֕lX41]&Kl5nnji_Z00%a 8g5ߓv!NXط.)Q"ľM=7G_ݡ!;"0eЗ0zqٕe^?mrE4pJ]cD-[7by ZB"tܐ7BD$}t(rQ2 _P%[yGk;2T sT(]b`z-FH)Fa|ƕƧwggD忉f*qj5Bo+aql]`X0d NHOZ9>к"FB橃mB8pHIM\qyf{gWua!BR#?߿g-I  NȤH1 ̈&nQ8H%ϝ˙,q0M&7/+WG܅ar8e"Ce# G,0T/qWkML rqu}6y(6[Yqt&\%?`dϹj.J>|G?ٞ+~]y5Cӏ<WN v!yȣǖ`FI)DU~ncBԥi.HT#?&9VPSķ'pב*+&0s=056!]BZS?9Ha+}6d 4j4RZنl)pS ؘȾq@Fލp$< #E浂KpȮÑEi)Lk{]KVQ)-udd^iĮc?J )Բx)>j&!2$@)DCuQȰF^uhsfK n`reN?9S9 ﴭqՙ^pMakC"mrQ,Ywrs#ϯ/, L:BS#a.=a4nM*P6m:ZD$E N05e' !KT}^pwEaX6 yLl7΋k<0]a+r`EX01=Uڲ2j3طjD)v!krAfcN57B0Oxmd%s !0g{0/QC0}ZH<"sLb%б%m fλ_MCԭ\se͙8|(WJĮ9{yO+,Z<@0ЎPĖ^ţ׏pf`V.bx8ڿR'Uʝԩ\Ͷ`;"V @G ڸS%r gP =ض+(zFlzהuWQ)2QT9b56 W^ܵx*9uqe+V75K-Z@~H Hb &%(RA& P^4\QVpF2] ._]Z-E)7,L!7J;/4V<3f#J $>7SBFˮh7 F)6Y.au uK O@E *֧l`L:U-9ΥWL] \~❹T7@""& D hո)zkߢ(Nh qX,fى#sW\ٕZx`R{o\JVgI,t"r/{Y{Vw9W]гUGeaK^(w'X55 zm"f DhY(5K_Q$!-}hf% $~~Br+:tepa#Z5?Dku6hv6Sh5;Ԧ E$XI1xR;=olL>23o<>>N=rg'/y@Px ݨ|IO@СF;@y2&n'eHf\.;K*s3< 6`ʔmE%>>@ڗmn^0auoM(~cX7TVi7ۿӗ/~4K su]OZ[Oqu /AvKgA(D-߮2e.#rPX/"9^W)d)XުC.e8Cms> Rؼ)hsAsϪ#wxZ'x55NJ}pdlf F3}`I0TPx=s,K7FM˝تm9$ (|DOS}I[W)T>)4/ U{_e? zF0ބ pV(=Y#=T4UQCՕ̏ݠ עq-!6,JR =֣ceK9vEVo޾_$eJj( TE7VF[Әk] p}!{$ɅP"CR<ތP?W7E xlŖJWKn&i{*a|vvz>l"r'%>k%e"-Tq+M jBS#Ր[lp4*G~90:kޜ3 @HB(GKۍ^ 4_ ڤ s s ۤtVn(> p<'z Ҁ^E#Ӿ_~Yt#z.i\kf̙Mmqs\P6[dX -xS>#% i-P9wKAm9KW6ɇFs4~&:qA=u*\eY cFT$|PNgfLKGl G}2\-Rp$o(\xDZv[!64yL-o ۯ5 WdL}Ey^AG̳b*ߊ3aׯb$7 Otlaǀ<2N7@TuՀG VvSX8cX>iqm@%#!,~y=c9P[<( GUSa0Un% s6LwH͉Uz\15M7UX,uNPdR?"b3u{8 EńCǿṳ //=[#2Rᵬ ^NV@7 06suiIWI3|G)/8FsnǖldHN#^eXg~^cmq {:6u]"YR+̩DxH32.d1ByT$Kcȹp:aۤd؄wFZ@cltQP G1TE $533ҕ`NK[>`f:}m 4 +s٤hGRw 7f7̓a$saD`3&w~~M译^Мr954J7hqe/mpX,H'\AE8;W N+犅ͬJ}o=iP-u X9ݟT;aD 2$t~Ӏxq *0&嘜Cbf4~ޭdP]@B-e aۡ% F8182`$.J{Q2ďgT*Qy JQe՞U = l/Sᚆ:LI@90/,gd#]1_F+M)`#mz`d0ނ0\Ǵ TkV>k߷31!>"D+mgQ9MX5bQvdySn Vyֈ'KǢhz37gΓzwr>3.vj=_BDPT01M2T<@,G3j0}MP!O |w,5ꁑPlr烾4\G3N\(6d6sB>z0ilF'7}Z$yO-:UXt"g*K,%mҨuGrLLE[[^"ZIKx|veç-F=vbx=(,0$֢!<ۈeܵ)ydU]RY:L{7CD5&g%Ŷ_Hxhp\oVZ(5s!_lunJ1N69}cH+LI"Ğ*G\i/}l?پCj,ʨ)#aNN HeYOFGp6wJ>jV[+%0B!Тڤ< FW6rYtS_"<`t@j\A(Xқ֋ә>h \1-RQ) daɆo!˴$C't:C6d 䯪2oj8vTf-hjM@Sd/L0HS~頬_4>aO<#|K ܥ=%rj+xnQV(XF(iE±FJ!RܸhK щji9sxq_/k6 N*nhmq#zf!o@3$rj}G vrR>H|x?Iz*T%D`y:3AS6Hq sqFࡽS_zlRT?aXmU27fH׳F$2 (H<.\5._?1}}d6 1 .+Z4=OU[ / ڒO R~)FԢ%ۦQ\|{;\8x-ž_},bʏ :R^'ӥ#1RpTDy>"N kVWtL+ bRmT9f@JAU(D4M,Xb#8у/8wiPu֫LcOIN]O L:N! 7tDO_η~gO+jW V6+lX  z4"1-!9 wEMR|^qy46e\Rv,'EXZٓ$%Ͳy%dU4msK[& {uGdelEuUeӄ! X#˄Ũ((ƍѽڂKB[ϥ/Tc|,e4+i76DQ+F5Pp/>GpOլ ٴU\|ruZ @lúF.fan6=Me"l3p?3p8UhY4T'&UDw.P;y(ؑ{V >.NX/SYõmL0`(i|U%Iqdw`Cs9%X Z@9SK~HkN87&;\^_o!kLƨ!FyIغ h wo) [b{~h&gUG3W"pС0A.']6dՃuD{"YOU;h*J)c$CE"xwaҖ> r{Rj_>>u/Bˑ?90ǜeΫ%6jN &LBYt\ABcjyhH"a-&&˸N PWWӏ]ڕ e;Bm% ~=IAnwj풑_ɞžrac̜R߆ DF 8eF:V32eoRp=Zq,i̤;GgsK&:DNdǖ*eqɤ% G=HwVpϼ'Dp_FѳvN~BC٣(D(oD~ef>m5I@e7CѰ, :5ٗ5q5hdZ1Mis٢*d#;o W?E*f,qO@UZ$%4EGl -G%}휋m'L&ڄFiJEr!/`'Q*G6 _K/x<*t̕{DNjJ@>|-h:x<Իw1;;gVkrXj:cvXCZ2frga'ƌAq.,Gx7ivAWUH eFbnITdq铧w孾pDʘ殗o'J&õ,ne[CV=S Is"@wvMinty$Y+n&pa zi3qO x͂KF\Y $2&l$9JBVIz.AwȻf <{:M 9%1b:@^) /@^J#\oC9>e 3kdb& zqƲ:CU SҦ"qê]F3+e  =8?\J;=Xӻ>Ry+bD [T|_ W s}E80wu% {\&q)5HfheSM\1䬛NhM?tÝZ|{qSPpB>eHB{yB^rL yPnC|y⧹l6%s7z$iK&Кs['4l>l un ?Tg(_Z64m),UsQsDBn8mnq(GI-@`WvK#yPi@s}%? ۟jH@J;Ȗ ɠ;rwôVN¿Ib6؟C%L-d& Fԣ㜤#nyKͨn_3`~&0nh.GnrJ5lfBS N\&E7GH`WbwNT ~Pj6< rVN= {KY? }XU d%1>YxO|In&FmiGe -@ "ϥ#'IzeZMsU0tBжtxKCzyq@%L;S R0w3#nCS唁c- 5' @ Ig+q˒/nѢ5/9oS b,̎*12-m8?p$p綰Oo@Byl{OcM}*> 籨hE\]aК;?a^6v֍ũNKEV@{M_GH1~b0`N]-!6*(~Ғ[x~(UGQxd4н6̂♮{v=RLʼnݰoYM_[$20/Kd0(e*$#no +f՜QMu7==8t8zX *! 6D5W؀_ǁ#KTJx2|Et^H]8x:aʏdzh0 1 Ϥ G:]ό .B_bǴ8 ߥ#I:0!Ѻ9Ca)sj6;P&2z!(ge,鐶ڝ؃w=DDPt~RԡcY>=RAWظIy51V%TrlKsٙ~ (c O$2 Ɍ8"Y3é'he Sb'5eL_"d>؞XXZu X `>ʭ!}=,^XjSdeX9zQ Et7aQrgn["B>q ;ulp(_uR䋖JFr%' ˏ6 g @WXo´l<>ؿhY&R%/\iO8K[is:c5B ql&.Y%rHQ~ϰk0lFW@+7нE'wD\uKs 0NCp:suozJ%8:q[kvDb:4快6HcY^Ï߅g$Q;:Qg#cegWϓ΍l9{FZ ][-tbe桔thCæB({U'^I/KvW]x܋q 8m =m27J~|(28aJxM\շ}pl-#r4Oy pQug6ʻtTiDx?ǡ[N \( 8SX#BVf~4:97JZa&o,x 0\,3aRKa-2!˕̄0a[B铅`(ϴcӢY-bk( OZ8S >|Hdgᶯ^ ^39;FȈb\O-M< JWo^B {Z2Քՠ6H"o #kOy>MtWR6L0ެg :oKv빶T0D4eyDo[!lFh C~atY`N&+V3X,B3PpBYrvuaH¾x%iYQIHÊ@:Xx$;T/_qr,1#xO&Z!Z(8[Ⰹ--cT+Eh䩢eFK69U2FE(  l %[`-0vjJ!B e'Їq;γV<\oFMרH0vNa] =+c 3 E:TPA5}*4wiXm}]l [ܖ:7{%gx7dz۳SL_Ah^ӾrusT;hDrkeV^*LQ(oS{jl^{b?PNj=!06K4g釆\+꒔4RG_]Q|4@^`\d}| LNUFu%|"Ŧ/uI]ҫM& S,xemkGdpɺ>GהPD]5zYxyE>v lJs_'dc@r*h a M50Cus)MN:iد&CNOXz|qqz}Vl#,uG"EL2R|y: $֚]QՂ% y\wPnuz_9WyG} +S?(ؕ|zk@*!$9DuHIޚ;?h!yd>%FIϫXҭ=˝xHE?aO+Ԇ"1[E ԅpP&=|n4PW/'5'j.^ȓ_pL6uwU_+Jȹϟ^\j+9^KJ4MOmȗ(4Zٙ Ï-`k;"7 %A@>,f/ӛB++vk78~hXgx03OEA&&Zk98iÀ|ܷ*ӡ "XHgiZ(aDaJJ%e~A_pR zAr}r4~x7hqD\h*;dqy]-=_)&LT\u2_v[3ݤ :ެ+>1xXGjɑ>J=&zc Bz0}Ržh|1.KG37P̃:5wy]BVg ^O ny&'—TV[C=b\E_Q!%.HzTaI_]}5 WtC k>~Q,S\$oZtT*5{uIni㻰ر5Yu{U4IS^φ(c*#i G\Tˊ3{.ĔQ^+MGUdyH!dACu }h㏟-|繮۲gg]o `WvNPkgzq-_fV[@7٘ؤ>;%ApF{q-ɏ#jj&]H_͚tGbk?Ü졚gY0$Q[Y T5O 20FqE؎c4{`ҳHcO[DSl}JYbHDע*–=5 jߗpՍMFşJߊ PY{ 3.SKnNqC\ߞ:c8ɽuM'6xghݢXWOq,C)SaTgqZb1- (46nN]n4vCŕGnm!Rhd!7xӬd&sDQSp fЎ_kcj"?TFǐ -Ewm Bѝ #Vn|Pb" O˃˦,`_+m %'2̌Rp7Zv&S1^6ON8o8u&"Km3 }TC)1 Jױ`X} "D)g=|F#2(<Ċ\Ҹpܬ7 l,kt09pلOZwx3)% w:c47?'B;Ap9 'Rƥ}ϼȃ+=ɥďI,l+&Mpc4jjQ@vY6Xؽr^ vrq ,xpʼn>U]V-](u#ʳ?R2| ?tCH@Zo8P("j'`˂B (NV78R#28 ]\#Y=ʾJItEsM 0iwO)6=Q,KH`eqOjl7)&/N*aĆ\r!P,R(!p>AP"paRmߴwTӿ$ŀ7+'$zNm&L-(K1rtE /nc#zHyG?~adV#Nux}CCп`~^rDF4kגe`=~oIf-hڪlmI0R]ti9f I p* qcQ 306'}Fv%Av`z޼V7O DpZn$]~1oF|oKr0zͦG庮&[|jW463c_ Sz0V?vYuM-p7SNl@+dʤ^x64=.wfc{]1DlϡRߢX'6K#ތ48g;pPccwt-51o1 (XUpL%ab!g$ &lD_e^%u ]t}onGBPe%!c)j?B7&GmwRdʅ =nʚ[W1"1N\uACj^DR}TaPKԗ;xl Za9;9ϓPeKJ~F,2ٚ́j|'#{VnPgݣ9lעCSjL&yyAUjLz:&pJ=ܷUu z{d*R`&ڷN-%1$o'l}l>0ҟW߈/82U|/"2,6oS U%wى$W|<*0gpʏFg I+)(霟*sHfxnUA)?zAEUX@GuHPd5H{!s"8`"_2l ʦ{Xi2r󶏢|2%wo߼7( (VTP_8;/ׅJ8ґ_2" )KJ2訵+\S L7?p'mt¡i%u.Q"YX 5{c _uLhtf0}R@^s4s[*$j?%]>Q [ t80HH,yZq xU*dK)g2jv$~)OE]:4&q5~pXJF\yvd;:1OrÀx&_^P:w&lc.2P,*T:kqPi:F۸>)|_H:'Z~buD |!G}քfXu9=yjiD ·i."96LKǣcSnl} "܁RMEJZ/O|VrP2[p9>̺pV߷Z #D' s"*B{Ω22~L !TTVURԯz"~KC/>o*tx>rA3'b떐NI' YF׎QIFE3\1*X#X!0wE%qY7׼lvYdD;UZn2-CwqdpRo@1 "S} .XX s|a*:owaka |%}̘JR6QǪJ8cQzB(4^dHA]2r&,( 2L4RNjjZ86O'{SyK9H=5TP`@{x?y ߟK $hܹժ@;XwdB\R\ el Hr#x`y L87\D%+]4^ Y1ٜdځ]%A)Uj/wKnԉ_Ur3> W QaU]Jr҂, T^WhjYIO!.EconuFfŅiS&;DͅDA,}KC5=dw*nS2/T5RAHc G]NANCÎ J$eIQu4#)(~rK>(76ylB&ˡUlVd^1_:eJ.v91Zu*Tc*g?^jBOBtWG@C%JC=Qj. 1%ҾLʬ& mOC6hќ>~0DyI^ +YS P_ÝiO\OJ6#'fl>9} BN!~Q p9oqe&0\Y߀y}E D&:o#/nwZ`FVAd .>P~zm1m;Y(Ma^!,inMT`.J2CS񁢀bDrnL \7TxXLCF'rƄUErjYV8s ~?wFDIg$'>JE*EGJ7%Ĩ F/p97 #Q&51bhȖK8G{Ͷ55oqOJBJs_Jb7:ePtI-p*Or8c26w1cy_L(m}E  THߝ 57w62q D1.q9Hv}1ګX YC)" &@Ô̽fDkCgEᔘ@NE>T$LİyA91y_<`)\[<IB(-ޮ3m 9;Z:=L %`dHVۂS, }? lNQ1t͈ St5L1;r } ˅^VG\c?aUTmO(@=@) ?,.svv6xV*5c vz24q~M#- b~Z|uk-<|?jdE.nK2#dȟH j@=UpM=Jܥ==moņ>,/7)ma;2nmHa֐P' *g~XŽX. i3JJDZM֑N7tb"3B `RE4se,T?Vq36κ4\bev "P(4Y:_{ 5]QńT˖#Ez} dl&1ݯ }=ey?@Xܰ.݀NG'?&'f. 3ɒ5#y;q6 $=hÞ;OY:3k^^⚖.TgMb"j1,'&I/1!⛼ BL^`Bǵe R&NK:t0ܓQn 1c iD*F+eq57ۯnn9>ZZ'^fY~[[+OcXX0]27/xqm3  ?K- HGƗ>oQ53ڪn$6$Xr2Is wBH%EN)j&+!8}:pɰIŸtŌ~fbJxZ# mXbDBKv^UڜzD+;e^Z@`tJcWFR@"7z3Cٻ6H J;xd?ܽJhfr5?߈2}PIaWh&&:BАyWLge/ Lj+sStK:QTٰB?~桑O=|(zzqY(4Q9W^sct>2 D,{>e+0.+ێU.R/uj-l}R+$nxWDf_6D"*ه}Vf|P;8|DuPL]kҽ b:faYʱmubp|dNx ïO,HeX3l0F/K  0~d.b`7#k]?+G^x1N`/ԼnÉƵ yI+ q% kp)PLl-rEtؿ,୎H²DF /^oc%*99HtM i%kNsS(l}䠸y&ktq/Qq19 QovqfN?L,de(%pkc*XP8\r@DxH+w ƴuNa]mY(ר.1c*Ftu4_2N7;խTc8 VlA?iQhwD|Fjd.%'2A;\̲a*&&0%!E.LI}]=mul!P{AϮ`WU= A2X! =/xuEũ-W(i-+tì ' +>O-@ymcu8Dݍ"fd7 "zgP;t yqKSO& Xjȇ"{/fTߑ|0pZR.iMxn:Ig!(t."6~ +qK"dY'M mMF;}B"Јfrcna#׀% hCduxU2.M4 mb{~O'0pomkj3E GZJxk̨^vb*\zt.e-7G<Ǫ%ݧz^jwra{Ǩ;9g-vp5gBàVi_r^xi-=k^Aル z']"p>f2R JGhaLޚxB~ՏD؋*MDn>wGL8>p;;K2W_dTD F'՘~Y @<6M ,$@nbYЍAZ"c#7HjRs9~U7 EiC"t/I"ϭU)دΓ\~mn!\ZV58U+CkDN?_]RXj6N°LKlǢ(I jE= M(|L/WHI(]}TDs9`^*B Q)d6ݻRi! #7m֜w\関"ٌV;w{!^vJaQff8؞R2ʗ ow15^l'/A8GgtY@zy$KapL|hԲҋ7i }atEUQ헷bSM]rSsd#ω)KI4gj:P?FCAY6 ws$ xb>JŊjl@Z>%p?Q_5AK^6Ios#I BHlC~Vb ȇ Z#oK#GW#Nۯ1̍П{++]yTg”3^ʖM:gf<3%kw+Ms 1Ϟ𭖐Y;jnQAǟ #N /fL|QRj֞<.<[goqXY:{W7mb~9\/pرejQX=s/?F(s2^zrɗf%S9OO|:#FT.!uDЋ=h\˷jQqDwhlcBr4$eW;=e_&ZXAUSd?{wx+I1Fr8!_jUJ ?Baю•B ,2Wc8@Si.5Ud$6g芭 ~hŒۻ;U }~62_%ZduQ)YDr*, MDfXof;8YuIy~Ψkt fp[1$o&BW}v2 H6D13f2%*;VqqVx˺bM rY1Ƣ*okp|(9oWU$.`cΥ}'!/ .^- lCh!+AѪs) jSq65# 17-yϹzb!U#mi"(A^C TߐˬWMw9!s\i^lXǶf6fLp})+ѲFXժHmizx7!>!ve*A([pCIY0im!">3cM>+.<]NRM)R3ݵH8`^e#N9~),90U3ܺt#( aB!LϺ#Fr?;WV[͂Xa͠Y=iPF3jd0$gc"xO[m/i hHaO(L3lzF:2zit:F@|>H;i}\HQ`X?Au,ZM%>"}uGXiBиȝz""J__'8M.3dD6{||ZG! AHxXq,2ܲ4یElC h{Y (`~ĥ| ^"@@nsr;'?V;OxPc;R~Pu g?Sfz Q* -'K;:U}yƱ&*wy'ṁoKŮDZ1RkQgѱo=pҸXEYMGs=ؕI-sBqJGrpQO#%[8܂ZȜSoB֯b;RABt]&/QQLmBߤ]_>t-.Pp2&* e(=m ,) V(%B⓹Y0W.Ķ YZ