rpminspect-1.12.1-1.el8.1> 6 6_ ܉3!y덏%!E/֡f !E/֡@4g2!ʹ}| פ[=ۤ;Чޖ*?2*y5܉,NI)ېڵbl aDZ',B:[L9|ĕ+/p6j {o P>7M6EP猁!9'#O(a(mCHȢ x|722S=aE֝}M%31hz pei0%,j]R#pǏ5|w25E> w=u3KЭ{\|"Rnn;bp.ٳ`9nԌF%¯Hڪڭc%xP:Y1NZlٔK]Xbd63c908a69bd062c0819f05335bd295e637193c8750ec0b124b392b515b1c0d5bb5adb5390f79d19536699e7b264cc48a9ada1e Ft,l!u_m >=l?\d   IDHpt+ :Lu{         -  X   0 d3(h8p9: G H I@ XPYX\x ]ݬ ^L b%duezf}lt u vwP x y XCrpminspect1.12.11.el8.1Build 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-x86-04.iad2.fedoraproject.orgFedora ProjectFedora ProjectGPL-3.0-or-later AND LGPL-3.0-or-later AND LGPL-2.1-or-later AND Apache-2.0 AND MIT AND AND BSD-1-Clause AND BSD-2-Clause AND BSD-3-Clause AND CC-BY-4.0Fedora ProjectDevelopment/Toolshttps://github.com/rpminspect/rpminspectlinuxx86_64oyPSMӜ^AAA큤A큤fffffe(,e(,e(,e(,fe(,fe(,9f9129d1dc3688c62f1160e8dc38b33f0f77a3edaa9262b005a0fef417d24a8c3961a81fceb03eebad1c94a0c7e5549cb0e5efabf3db659a88a653893d43d399a0375b4db351a3381dae2641ffecd8d006bb6fd07e1be47ab52f180d8276ad29284cce1ea34a12ec5ace2dd2aa168fb90f6a46f70bb33a8ddc3f883cf52b48de7fbfd40bc99e9b35856dcde02f75db88e1332e6e309126c45c3c8fbef4710fe23972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb369861c870234259a01b13a2f3c8ece6bcb952bec6fb316c1016b72a6be2f6cf8abb0751f4abde88f86d8e158f189782d916f561a6fa662956b0ff7f9780a6b515419../../../../usr/bin/rpminspectrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrpminspect-1.12.1-1.el8.1.src.rpmrpminspectrpminspect(x86-64)@@@@@@@@@    @libc.so.6()(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.8)(64bit)librpm.so.8()(64bit)librpminspect(x86-64)librpminspect.so.0()(64bit)librpmio.so.8()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)rtld(GNU_HASH)1.12.1-1.el8.13.0.4-14.6.0-14.0-15.2-14.14.3e'e'd@bb\@aW@a@a0`@`\{@`7@`7@`U_@_@_@_@_[fDavid Cantrell - 1.12.1-1David Cantrell - 1.12-1David Cantrell - 1.11-1David Cantrell - 1.10-1David Cantrell - 1.9-1David Cantrell - 1.8-1David Cantrell - 1.7-1David Cantrell - 1.6-1David Cantrell - 1.5-1David Cantrell - 1.4-1David Cantrell - 1.3.1-1David Cantrell - 1.3-2Fedora Release Engineering David Cantrell - 1.2-1David Cantrell - 1.2-1David Cantrell - 1.2-1David Cantrell - 1.2-1David Cantrell - 1.1-1- Upgrade to rpminspect-1.12.1- Upgrade to rpminspect-1.12- Upgrade to rpminspect-1.11- Upgrade to rpminspect-1.10- Upgrade to rpminspect-1.9- Upgrade to rpminspect-1.8- Upgrade to rpminspect-1.7- Upgrade to rpminspect-1.6- Begin work on version 1.5 - Use llabs() instead of labs() in the filesize inspection - Improve has invalid execstack flags reporting - Use long unsigned int to report size changes in patches - Fix some errors in the changedfiles inspection - Update the changedfiles test cases - Check DT_SONAME in is_elf_shared_library() - Skip debuginfo and debugsource files in abidiff - Make sure abidiff test cases add a DT_SONAME to the test lib - Report INFO level for patches findings by default - Python black fixes in test/test_abidiff.py - Update the test/test_patches.py cases for patches changes - Generate regular changelog in utils/srpm.h - Skip branches without targets in submit-koji-builds.sh - Fedora and CentOS systems in ci need diffstat - opensuse-leap CI job requires diffstat - Fix the Debian CI jobs in GitHub Actions - Fix and enable the Ubuntu extra-ci job in GitHub Actions - Use pip instead of pip3 for the Ubuntu command - Use apt-get -y install in - Enable the opensuse-tumbleweed GHA job again - Make sure the Gentoo GHA job has diffstat - Get the Arch Linux GHA job working again - Use ubuntu:latest for the ubuntu GHA image - Simplify the utils/determine-os.sh script - Update license table in README.md - Allow any number of builds specified for fetch only mode - Handle old or broken versions of libmagic in changedfiles - Update GitHub Action status badges in README.md - Fix $(OS) check in the Makefile - Fix the ubuntu GitHub Actions extra-ci job - Make sure the centos8 job has git available before cloning - Change strappend() to work as a variadic function - Use json_tokener_parse_ex() to get better error reporting - Fix reading of the javabytecode block in the config file - Catch missing/losing -fPIC correctly on .a ELF objects (#352) - Refactor elf_archive_tests() and its helper functions - Followup fix for find_no_pic, find_pic, and find_all - Install cpp-coveralls using pacman on Arch Linux - Install cpp-coveralls using pip on Arch Linux - Install cpp-coveralls in pre.sh on Arch Linux - Install required Python modules in pre.sh on Arch Linux - Do not upgrade pip on Arch Linux, go back to using pip.txt - Drop DEBUG_PRINT from source generated by pic_bits.sh - Do not run apt-get update as a second time on Debians systems - The lost PIC tests need to invoke gcc with -fno-PIC - Update the OpenSUSE Tumbleweed files, but disable it anyway - Define inspection_ignores in struct rpminspect - Clean up the config file section reading code - Add add_ignore() to init.c - Fix fetch only mode download directory - Stub out libcurl download progress callback function - Perform symbolic owner and group matching in ownership (#364) - Restrict download_progress() to systems with CURLOPT_XFERINFOFUNCTION - Read per-inspection ignore lists from the config file. - Add commented out per-inspection ignore blocks - Implement per-inspection path ignore support (#351) - Report annocheck failures correctly in librpminspect. - Note all regular expression settings use regex(7) syntax - Allow size_threshold: info in the config file (#261) - Check ignore list in files for path prefixes to ignore (#360) - Support a list of expected empty RPMs in the config file (#355) - Call mparse_reset() before mparse_readfd() - Do not crash with the -c option specifies a non-existent file - Update TODO list - Make sure brp-compress is disabled in test_manpage.py - Require/Recommend /usr/bin/annocheck - Note size_threshold can be the keyword info - Ensure ctxt->lastError.message is not NULL before strdup (#382) - Handle corrupt compressed files in changedfiles (#382) - Disable debugging output for the ignore lists in init.c - Drop debugging output in the xml inspection - Remove what working directories we can - Correctly find icons for desktop files in subpackages (#367) - Followup to the Icon= check in the desktop inspection (#367) - BuildRequires libmandoc-devel >= 1.14.5 - Manually install mandoc on centos7 for now- Start work on the 1.4 release - Trim git commit summary prefix from changelog lines - Report the program version number in the results (#309) - Handle compressed but otherwise empty man pages (#308) - Flake8 fixes for test_manpage.py - s/self.rpm/self.after_rpm/ in two test_manpage.py tests - Disable broken ELF heurisitic and size limit in libclamav - Modify dump_cfg() to write valid YAML to stdout (#306) - Migrate more code off hsearch and to uthash - Replace hsearch() with uthash in the kmod inspection - Update TEST_METADATA status in TODO and MISSING - Restrict style checks to specific directories - Replace hsearch() with uthash in the abidiff inspection - Change tsearch/twalk use to uthash - Correct misuse of entry with hentry variables (#321) - Normalize copyright boilerplates in source files - Use hentry->key over hentry->value in pathmigration - Adjust lib/meson.build for Fedora rawhide - Drop gate.yml and begin non-x86_64 arches in ci.yml - Add armv7, aarch64, and s390x to the other_arches job - Change init.c error reporting over to err/warn functions - Modify file triggers and matrix use in ci.yml - Split 32-bit osdeps out to post.sh scripts in osdeps/ - Split style.yml in to shellcheck.yml and python.yml - Rewrite extra-ci.yml to use the matrix strategy method for GHA - Move the emulated CI jobs to extra-ci.yml - s/pkg/pki/ for the centos jobs - Debian and Ubuntu fixes for CI - Python pip on Debian is called pip - Try to fix just debian:stable - Enable debian:testing in extra-ci.yml - Enable centos8 in extra-ci.yml again - Enable centos7 in extra-ci.yml again - Enable opensuse-leap and gentoo in extra-ci.yml again - Run each test script individually on emulated targets - Try a different syntax for the emulated matrix jobs - Install s390 glibc headers on s390x fedora systems - Detect 32-bit and musl presence in test_elf.py - Skip lost -fPIC tests if gcc lacks -m32 support - Add stretch and buster to the emulated targets list - Drop Debian buster from the emulated targets - Install gcc-multilib only on Debian x86_64 and s390x systems - libc-dev:i386 -> libc6-dev:i386 - Disable Debian targets in extra-ci temporarily - s/AUR/git/g in osdeps/arch/post.sh - In read_cfgfile(), keep track of block depth correctly (#329) - A few more yaml parsing fixes for block vs group - Recommend or Require libabigail >= 1.8.2 - Finish normalizing all the error reporting statements - Advertise of rpminspect-report in the contrib README. - Report libclamav version and CVD versions (#258) - Ensure first argument of warn(3) is a format string. - Enable werror=true and warning_level=3 in default_options - Update the translation template file - Get rid of invalid free() in get_product_release() - Add inspection_id() to librpminspect - Update the po/rpminspect.pot template - Improve mkannounce.sh to handle stable and devel releases- Remove duplicate elf_end() call in init_elf_data() (#303) - Update translation template- Small change to the way Koji builds are submitted - Move the master branch to version 1.3 - Drop DEBUG_PRINT in process_table() - Add doc/git.md to explain source control conventions - Change Suggests to Recommends in the spec file - Add kmidiff and politics to the inspections section of generic.yaml - Update TODO list - Use warn() for non-fatal errors in mkdirp() - Require libabigail >= 1.8 in rpminspect.spec.in - Enable multiple --headers-dir1 and --headers-dir2 args in abidiff - Swap out some more fprintf()/fflush() reporting with warn() - #include in peers.c and rmtree.c - On fedora-rawhide CI jobs, install gcc-c++ and gcc-plugin-devel - Disable fedora-rawhide GitHub Action for now - Correctly handle the -w option on rpminspect(1) (#256) - Drop the relative path handling for the -w option - Build and install rc from source on opensuse-leap - Update doc/git.md on how to track upstream - Add .github/ and osdeps/ directories to extra-ci.yml - Build and install rc from source on opensuse-tumbleweed - Adjust curl(1) command line used for rc in opensuse CI jobs - Trying to figure out why the opensuse jobs produce curl errors - Another slight change to post.sh for the opensuse-leap CI job - s/PowerTools/powertools/g in the centos8 PKG_CMD definition - The output of html2text on opensuse systems is different - Rename HEADER_MAN to HEADER_MANPAGE (#264) - Add inspection_header_to_desc() to librpminspect (#264) - Add xunit output format support (#264) - Support the new output function call syntax (#264) - Move init_elf_data() to readelf.c, move data to struct rpminspect - Update inspect_elf.c unit tests for librpminspect changes - Remove check_ipv6() from inspect_elf.c - Create the badfuncs inspection - Update po/ translation files. - Add badfuncs test cases - Forgot to commit test_badfuncs.py. - Fix flake8 and black errors with test_badfuncs.py - Skip debug packages in filesize, display changes correctly - Fix spurious execstack failure - Fix YAML config file reading for BLOCK_INSPECTIONS - Expand dump_config() to cover all config file settings - Minor spelling fixes in strfuncs.c and making code explicit - Simplify list_to_string() so it handles 1-elements lists right - Add abspath() to canonicalize path strings - In the doc inspection, only show diff(1) output for text files (#254) - Add strxmlescape() to strfuncs.c in librpminspect (#264) - Output the system-out xunit portion as CDATA (#264) - Slightly change how strxmlescape() works - Add the runpath inspection to librpminspect - Rename test/data/lto.c to test/data/mathlib.c - Handle the empty string case in abspath() - Expand dump_cfg() to show runpath settings - Fix block handling problems in the YAML config reader - Note single builds cannot be rebases in is_rebase() - Hook up the driver for the runpath inspection - Install patchelf for tests on fedora and centos - Update TODO and README.md files - Pass -D to rpminspect in the test suite - Add integration tests for the runpath inspection - Python flake8 and black fixes in test_runpath.py - Fixes for GitHub Actions on Debian and Ubuntu - Disable Rust support in pip modules, more extra-ci fixes - Update pip and setuptools on debian and ubuntu CI jobs - Make sure pip is updated on debian, centos7, and centos8 - Fixes for extra-ci on arch, centos7, centos8, and debian - Adjust docker image names for opensuse and arch - Add Gentoo Linux to the Extra CI set - extra-ci.yml typo fix for the gentoo job - Use gentoo/stage3 as the container for the gentoo CI job - Disable opensuse-tumbleweed and archlinux CI jobs - Make sure util/determine-os.sh picks up Gentoo Linux - In the runpath inspection, fail if DT_RPATH and DT_RUNPATH exist - Use pip install for PIP_CMD on gentoo - Set PIP_CMD to pip install -user for gentoo - Handle a NULL from list_to_string() in abspath() - Do not match path prefixes in the runpath inspection - Python black fixes for test_runpath.py - Stop doing an emerge --sync on the gentoo CI job - Replace emerge --sync with a manual portage sync - Use emerge-webrsync to update portage on gentoo - Add uthash and move the file matching code to it. - Typo fix in README.md - Fix some memory leaks found by valgrind - Create mkannounce.sh to help make release announcements easier - shellcheck fixes for mkannounce.sh- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild- For BUILDTYPE=release, generate the correct type of changelog - Minor logic error in submit-koji-builds.sh - Fix reading existing spec file in submit-koji-builds.sh - Bump development build version to 1.2 - Use is_rebase() in the 'upstream' inspection - Use rpmtdSetIndex() and rpmtdGetString() in get_header_value() - Add get_rpmtag_fileflags() to files.c and call from extract_rpm() - Use correct Version and Release values in download_build() - #include -> #include - Add the 'config' inspection to librpminspect - Rephrase reporting messages in the 'config' inspection - Add the 'doc' inspection to librpminspect - Update TODO list - Minor updates to try and make gate.sh more reliable - Add config and doc to the inspections list in generic.yaml - Rename the '%files' inspection to 'files' (#194) - Modify baseclass.py to allow 'before' and 'after' NVR tuples - Use the after tuple to override the NVR in test_abidiff.py - Use the after tuple to override the NVR in test_upstream.py - Write rpminspect output to a file in the test suite - Add 28 test cases for the 'config' inspection - Fix the errors in the 'config' inspection found by the test suite - Fix Python problems in the test suite reported by black and flake8 - Add Makefile targets for black and flake8 - One more formatting issue reporting by Python black in test_config.py - More 'python black' formatting errors reported for test_config.py - https://mandoc.bsd.lv -> http://mandoc.bsd.lv - Add a -D/--dump-config option to rpminspect(1) - Use global reported variable in 'config' inspection - Fix reporting errors in the 'doc' inspection - Add test_doc.py with 'doc' inspection test cases - Ignore flake8 W291 in test_doc.py where we explicitly want whitepsace. - Add init_rebaseable() to librpminspect - Check the rebaseable list in is_rebase() in librpminspect - Update TODO list - Define a new GitHub Action using utils/gate.sh - Update the README.md file - shellcheck fixes for utils/gate.sh - Use utils/find-ninja.sh to determine what ninja-build command to use - Install fedora-packager for the gate.yml GitHub Action - Remove before and after variables from gate.sh; unused - Remove unnecessary basename() calls in inspect_upstream.c - Do not assume an or bn contain strings in is_rebase() (#196) - Adjust what things run during with GitHub Actions - Add get_rpm_header_string_array() to librpminspect - Replace init_source() with get_rpm_header_string_array() in inspect_upstream.c - free() allocated output string in inspect_changelog.c on errors - s/10240/16384/ in archive_read_open_filename() call in unpack.c - Add the 'patches' inspection to librpminspect - Add uncompress_file() to librpminspect - Add filecmp() and use that in place of zcmp/bzcmp/xzcmp - README.md updates - Restrict some GitHub Actions to source code and test suite changes. - Only enable lz4 compression if ARCHIVE_FILTER_LZ4 is defined - Go ahead and wrap the rest of the libarchive compression filters - s/class Test/class /g - Make sure uncompress_file() supports xz compression - Handle more compressed file MIME types. - Add test_changedfiles.py to the test suite. - Add test_patches.py with test cases for the 'patches' inspection - flake8 fixes in the test suite - Python format fixes for test_changedfiles.py - Python format fixes in test_patches.py - More Python format fixes for test_patches.py - Remove unnecessary 'a' in DESC_PATCHES - Better explanation as to why the EmptyLicenseTag tests are skipped. - Test suite cleanup; add rebase= and same= to TestCompareSRPM - Black formatting fixes for the test suite. - Remove unused imports in test_upstream.py - Revert black fixes for test_config.py - Fix my email address in test suite source files. - Support single package URLs for before and after builds (#190) - Handle invalid/missing RPMs in get_product_release() - Use warnx(), errx(), and err() in src/rpminspect.c - Modify submit-koji-builds.sh to pick up all pkg-git branches. - Update the rpminspect.1 man page to reflect current status. - Update translation template files in po/ - Support relative directory paths for the -w option (#188) - Implement the 'virus' inspection and add test cases for it. - Update po/ template files - Python formatting fixes for test_virus.py - Update the osdeps/*/reqs.txt files. - More osdeps updates for the clamav needs - Install 'xz' for the 'style' GitHub Action - Fix a variety of small memory leaks in librpminspect - Stop the freshclam service for the Ubuntu gate job - Support slightly older versions of libclamav in inspect_virus.c - Add the 'politics' inspection to librpminspect. - In tearDown() in the test suite, call rpmfluff clean() methods - Add test_politics.py with 'politics' inspection test cases - Python black format fixes for test_politics.py - 'it should added' -> 'it should be added' - Increase the runtime timeout for test_virus.py - Install the timeout decorator on all OSes in our GitHub Actions - Install timeout-decorator with pip, not timeout - Expand librpminspect with support for SHA-224, SHA-384, and SHA-512 - Define DEFAULT_MESSAGE_DIGEST in constants.h and use that. - Replace some fprintf()/fflush() calls with warn()/warnx() calls - Rename the 'DT_NEEDED' inspection to 'dsodeps' - Rename 'LTO' inspection to 'lto' - Update translation template and fix two incorrect error strings. - Note all valid message digests in data/politics/GENERIC - Improve reporting in the patches inspection - Only fail 'changedfiles' for VERIFY and higher results - If 'removedfiles' only reports INFO messages, pass the inspection - If 'addedfiles' only reports INFO results, pass the inspection - If 'patches' only reports INFO results, pass the inspection - No need to check value of allowed in permissions_driver() - Do not let INFO results fail the 'doc' inspection. - Do not let all INFO results in 'upstream' fail the inspection - Fix RPMFILE_FLAGS handling for %config files (#221) - Still report file changes in the 'config' inspection for rebases - Correctly check RPMFILE_DOC flags in the 'doc' inspection - Include rpm/rpmfi.h insted of rpm/rpmfiles.h - Only check regular files and symlinks in the 'doc' inspection - Remove unnecessary assert() statements in filecmp() - Remove incorrect warnx() reportings based on filecmp() return value - Exclude man pages from the 'doc' inspection - Honor the -a command line option for downloads as well as runtime (#233) - Allow optional 'commands' block in the config file - Fix assorted non-critical memory leaks - Remove unnecessary warn() after a failed stat() - Additional memory fixes for the abidiff inspection (#244) - Free ELF symbol names list in find_lto_symbols() before return - Followup to the memory fixes for read_abi() and free_abi() - Prevent invalid pointer dereferencing in invalid result in 'patches' (#245) - Avoid reusing the same abi_pkg_entry_t struct in read_abi() - Allow a set of excluded path prefixes in 'pathmigration' - Fix the YAML parsing for the pathmigration block - Document the BRANCHES variable for 'make koji' - Include the .asc file when submitting new Koji builds (#191) - Include the .asc file in the spec file- For BUILDTYPE=release, generate the correct type of changelog - Minor logic error in submit-koji-builds.sh - Fix reading existing spec file in submit-koji-builds.sh - Bump development build version to 1.2 - Use is_rebase() in the 'upstream' inspection - Use rpmtdSetIndex() and rpmtdGetString() in get_header_value() - Add get_rpmtag_fileflags() to files.c and call from extract_rpm() - Use correct Version and Release values in download_build() - #include -> #include - Add the 'config' inspection to librpminspect - Rephrase reporting messages in the 'config' inspection - Add the 'doc' inspection to librpminspect - Update TODO list - Minor updates to try and make gate.sh more reliable - Add config and doc to the inspections list in generic.yaml - Rename the '%files' inspection to 'files' (#194) - Modify baseclass.py to allow 'before' and 'after' NVR tuples - Use the after tuple to override the NVR in test_abidiff.py - Use the after tuple to override the NVR in test_upstream.py - Write rpminspect output to a file in the test suite - Add 28 test cases for the 'config' inspection - Fix the errors in the 'config' inspection found by the test suite - Fix Python problems in the test suite reported by black and flake8 - Add Makefile targets for black and flake8 - One more formatting issue reporting by Python black in test_config.py - More 'python black' formatting errors reported for test_config.py - https://mandoc.bsd.lv -> http://mandoc.bsd.lv - Add a -D/--dump-config option to rpminspect(1) - Use global reported variable in 'config' inspection - Fix reporting errors in the 'doc' inspection - Add test_doc.py with 'doc' inspection test cases - Ignore flake8 W291 in test_doc.py where we explicitly want whitepsace. - Add init_rebaseable() to librpminspect - Check the rebaseable list in is_rebase() in librpminspect - Update TODO list - Define a new GitHub Action using utils/gate.sh - Update the README.md file - shellcheck fixes for utils/gate.sh - Use utils/find-ninja.sh to determine what ninja-build command to use - Install fedora-packager for the gate.yml GitHub Action - Remove before and after variables from gate.sh; unused - Remove unnecessary basename() calls in inspect_upstream.c - Do not assume an or bn contain strings in is_rebase() (#196) - Adjust what things run during with GitHub Actions - Add get_rpm_header_string_array() to librpminspect - Replace init_source() with get_rpm_header_string_array() in inspect_upstream.c - free() allocated output string in inspect_changelog.c on errors - s/10240/16384/ in archive_read_open_filename() call in unpack.c - Add the 'patches' inspection to librpminspect - Add uncompress_file() to librpminspect - Add filecmp() and use that in place of zcmp/bzcmp/xzcmp - README.md updates - Restrict some GitHub Actions to source code and test suite changes. - Only enable lz4 compression if ARCHIVE_FILTER_LZ4 is defined - Go ahead and wrap the rest of the libarchive compression filters - s/class Test/class /g - Make sure uncompress_file() supports xz compression - Handle more compressed file MIME types. - Add test_changedfiles.py to the test suite. - Add test_patches.py with test cases for the 'patches' inspection - flake8 fixes in the test suite - Python format fixes for test_changedfiles.py - Python format fixes in test_patches.py - More Python format fixes for test_patches.py - Remove unnecessary 'a' in DESC_PATCHES - Better explanation as to why the EmptyLicenseTag tests are skipped. - Test suite cleanup; add rebase= and same= to TestCompareSRPM - Black formatting fixes for the test suite. - Remove unused imports in test_upstream.py - Revert black fixes for test_config.py - Fix my email address in test suite source files. - Support single package URLs for before and after builds (#190) - Handle invalid/missing RPMs in get_product_release() - Use warnx(), errx(), and err() in src/rpminspect.c - Modify submit-koji-builds.sh to pick up all pkg-git branches. - Update the rpminspect.1 man page to reflect current status. - Update translation template files in po/ - Support relative directory paths for the -w option (#188) - Implement the 'virus' inspection and add test cases for it. - Update po/ template files - Python formatting fixes for test_virus.py - Update the osdeps/*/reqs.txt files. - More osdeps updates for the clamav needs - Install 'xz' for the 'style' GitHub Action - Fix a variety of small memory leaks in librpminspect - Stop the freshclam service for the Ubuntu gate job - Support slightly older versions of libclamav in inspect_virus.c - Add the 'politics' inspection to librpminspect. - In tearDown() in the test suite, call rpmfluff clean() methods - Add test_politics.py with 'politics' inspection test cases - Python black format fixes for test_politics.py - 'it should added' -> 'it should be added' - Increase the runtime timeout for test_virus.py - Install the timeout decorator on all OSes in our GitHub Actions - Install timeout-decorator with pip, not timeout - Expand librpminspect with support for SHA-224, SHA-384, and SHA-512 - Define DEFAULT_MESSAGE_DIGEST in constants.h and use that. - Replace some fprintf()/fflush() calls with warn()/warnx() calls - Rename the 'DT_NEEDED' inspection to 'dsodeps' - Rename 'LTO' inspection to 'lto' - Update translation template and fix two incorrect error strings. - Note all valid message digests in data/politics/GENERIC - Improve reporting in the patches inspection - Only fail 'changedfiles' for VERIFY and higher results - If 'removedfiles' only reports INFO messages, pass the inspection - If 'addedfiles' only reports INFO results, pass the inspection - If 'patches' only reports INFO results, pass the inspection - No need to check value of allowed in permissions_driver() - Do not let INFO results fail the 'doc' inspection. - Do not let all INFO results in 'upstream' fail the inspection - Fix RPMFILE_FLAGS handling for %config files (#221) - Still report file changes in the 'config' inspection for rebases - Correctly check RPMFILE_DOC flags in the 'doc' inspection - Include rpm/rpmfi.h insted of rpm/rpmfiles.h - Only check regular files and symlinks in the 'doc' inspection - Remove unnecessary assert() statements in filecmp() - Remove incorrect warnx() reportings based on filecmp() return value - Exclude man pages from the 'doc' inspection - Honor the -a command line option for downloads as well as runtime (#233) - Allow optional 'commands' block in the config file - Fix assorted non-critical memory leaks - Remove unnecessary warn() after a failed stat() - Additional memory fixes for the abidiff inspection (#244) - Free ELF symbol names list in find_lto_symbols() before return - Followup to the memory fixes for read_abi() and free_abi() - Prevent invalid pointer dereferencing in invalid result in 'patches' (#245) - Avoid reusing the same abi_pkg_entry_t struct in read_abi() - Allow a set of excluded path prefixes in 'pathmigration' - Fix the YAML parsing for the pathmigration block - Document the BRANCHES variable for 'make koji' - Include the .asc file when submitting new Koji builds (#191) - Include the .asc file in the spec file- For BUILDTYPE=release, generate the correct type of changelog - Minor logic error in submit-koji-builds.sh - Fix reading existing spec file in submit-koji-builds.sh - Bump development build version to 1.2 - Use is_rebase() in the 'upstream' inspection - Use rpmtdSetIndex() and rpmtdGetString() in get_header_value() - Add get_rpmtag_fileflags() to files.c and call from extract_rpm() - Use correct Version and Release values in download_build() - #include -> #include - Add the 'config' inspection to librpminspect - Rephrase reporting messages in the 'config' inspection - Add the 'doc' inspection to librpminspect - Update TODO list - Minor updates to try and make gate.sh more reliable - Add config and doc to the inspections list in generic.yaml - Rename the '%files' inspection to 'files' (#194) - Modify baseclass.py to allow 'before' and 'after' NVR tuples - Use the after tuple to override the NVR in test_abidiff.py - Use the after tuple to override the NVR in test_upstream.py - Write rpminspect output to a file in the test suite - Add 28 test cases for the 'config' inspection - Fix the errors in the 'config' inspection found by the test suite - Fix Python problems in the test suite reported by black and flake8 - Add Makefile targets for black and flake8 - One more formatting issue reporting by Python black in test_config.py - More 'python black' formatting errors reported for test_config.py - https://mandoc.bsd.lv -> http://mandoc.bsd.lv - Add a -D/--dump-config option to rpminspect(1) - Use global reported variable in 'config' inspection - Fix reporting errors in the 'doc' inspection - Add test_doc.py with 'doc' inspection test cases - Ignore flake8 W291 in test_doc.py where we explicitly want whitepsace. - Add init_rebaseable() to librpminspect - Check the rebaseable list in is_rebase() in librpminspect - Update TODO list - Define a new GitHub Action using utils/gate.sh - Update the README.md file - shellcheck fixes for utils/gate.sh - Use utils/find-ninja.sh to determine what ninja-build command to use - Install fedora-packager for the gate.yml GitHub Action - Remove before and after variables from gate.sh; unused - Remove unnecessary basename() calls in inspect_upstream.c - Do not assume an or bn contain strings in is_rebase() (#196) - Adjust what things run during with GitHub Actions - Add get_rpm_header_string_array() to librpminspect - Replace init_source() with get_rpm_header_string_array() in inspect_upstream.c - free() allocated output string in inspect_changelog.c on errors - s/10240/16384/ in archive_read_open_filename() call in unpack.c - Add the 'patches' inspection to librpminspect - Add uncompress_file() to librpminspect - Add filecmp() and use that in place of zcmp/bzcmp/xzcmp - README.md updates - Restrict some GitHub Actions to source code and test suite changes. - Only enable lz4 compression if ARCHIVE_FILTER_LZ4 is defined - Go ahead and wrap the rest of the libarchive compression filters - s/class Test/class /g - Make sure uncompress_file() supports xz compression - Handle more compressed file MIME types. - Add test_changedfiles.py to the test suite. - Add test_patches.py with test cases for the 'patches' inspection - flake8 fixes in the test suite - Python format fixes for test_changedfiles.py - Python format fixes in test_patches.py - More Python format fixes for test_patches.py - Remove unnecessary 'a' in DESC_PATCHES - Better explanation as to why the EmptyLicenseTag tests are skipped. - Test suite cleanup; add rebase= and same= to TestCompareSRPM - Black formatting fixes for the test suite. - Remove unused imports in test_upstream.py - Revert black fixes for test_config.py - Fix my email address in test suite source files. - Support single package URLs for before and after builds (#190) - Handle invalid/missing RPMs in get_product_release() - Use warnx(), errx(), and err() in src/rpminspect.c - Modify submit-koji-builds.sh to pick up all pkg-git branches. - Update the rpminspect.1 man page to reflect current status. - Update translation template files in po/ - Support relative directory paths for the -w option (#188) - Implement the 'virus' inspection and add test cases for it. - Update po/ template files - Python formatting fixes for test_virus.py - Update the osdeps/*/reqs.txt files. - More osdeps updates for the clamav needs - Install 'xz' for the 'style' GitHub Action - Fix a variety of small memory leaks in librpminspect - Stop the freshclam service for the Ubuntu gate job - Support slightly older versions of libclamav in inspect_virus.c - Add the 'politics' inspection to librpminspect. - In tearDown() in the test suite, call rpmfluff clean() methods - Add test_politics.py with 'politics' inspection test cases - Python black format fixes for test_politics.py - 'it should added' -> 'it should be added' - Increase the runtime timeout for test_virus.py - Install the timeout decorator on all OSes in our GitHub Actions - Install timeout-decorator with pip, not timeout - Expand librpminspect with support for SHA-224, SHA-384, and SHA-512 - Define DEFAULT_MESSAGE_DIGEST in constants.h and use that. - Replace some fprintf()/fflush() calls with warn()/warnx() calls - Rename the 'DT_NEEDED' inspection to 'dsodeps' - Rename 'LTO' inspection to 'lto' - Update translation template and fix two incorrect error strings. - Note all valid message digests in data/politics/GENERIC - Improve reporting in the patches inspection - Only fail 'changedfiles' for VERIFY and higher results - If 'removedfiles' only reports INFO messages, pass the inspection - If 'addedfiles' only reports INFO results, pass the inspection - If 'patches' only reports INFO results, pass the inspection - No need to check value of allowed in permissions_driver() - Do not let INFO results fail the 'doc' inspection. - Do not let all INFO results in 'upstream' fail the inspection - Fix RPMFILE_FLAGS handling for %config files (#221) - Still report file changes in the 'config' inspection for rebases - Correctly check RPMFILE_DOC flags in the 'doc' inspection - Include rpm/rpmfi.h insted of rpm/rpmfiles.h - Only check regular files and symlinks in the 'doc' inspection - Remove unnecessary assert() statements in filecmp() - Remove incorrect warnx() reportings based on filecmp() return value - Exclude man pages from the 'doc' inspection - Honor the -a command line option for downloads as well as runtime (#233) - Allow optional 'commands' block in the config file - Fix assorted non-critical memory leaks - Remove unnecessary warn() after a failed stat() - Additional memory fixes for the abidiff inspection (#244) - Free ELF symbol names list in find_lto_symbols() before return - Followup to the memory fixes for read_abi() and free_abi() - Prevent invalid pointer dereferencing in invalid result in 'patches' (#245) - Avoid reusing the same abi_pkg_entry_t struct in read_abi() - Allow a set of excluded path prefixes in 'pathmigration' - Fix the YAML parsing for the pathmigration block - Document the BRANCHES variable for 'make koji' - Include the .asc file when submitting new Koji builds (#191) - Include the .asc file in the spec file- For BUILDTYPE=release, generate the correct type of changelog - Minor logic error in submit-koji-builds.sh - Fix reading existing spec file in submit-koji-builds.sh - Bump development build version to 1.2 - Use is_rebase() in the 'upstream' inspection - Use rpmtdSetIndex() and rpmtdGetString() in get_header_value() - Add get_rpmtag_fileflags() to files.c and call from extract_rpm() - Use correct Version and Release values in download_build() - #include -> #include - Add the 'config' inspection to librpminspect - Rephrase reporting messages in the 'config' inspection - Add the 'doc' inspection to librpminspect - Update TODO list - Minor updates to try and make gate.sh more reliable - Add config and doc to the inspections list in generic.yaml - Rename the '%files' inspection to 'files' (#194) - Modify baseclass.py to allow 'before' and 'after' NVR tuples - Use the after tuple to override the NVR in test_abidiff.py - Use the after tuple to override the NVR in test_upstream.py - Write rpminspect output to a file in the test suite - Add 28 test cases for the 'config' inspection - Fix the errors in the 'config' inspection found by the test suite - Fix Python problems in the test suite reported by black and flake8 - Add Makefile targets for black and flake8 - One more formatting issue reporting by Python black in test_config.py - More 'python black' formatting errors reported for test_config.py - https://mandoc.bsd.lv -> http://mandoc.bsd.lv - Add a -D/--dump-config option to rpminspect(1) - Use global reported variable in 'config' inspection - Fix reporting errors in the 'doc' inspection - Add test_doc.py with 'doc' inspection test cases - Ignore flake8 W291 in test_doc.py where we explicitly want whitepsace. - Add init_rebaseable() to librpminspect - Check the rebaseable list in is_rebase() in librpminspect - Update TODO list - Define a new GitHub Action using utils/gate.sh - Update the README.md file - shellcheck fixes for utils/gate.sh - Use utils/find-ninja.sh to determine what ninja-build command to use - Install fedora-packager for the gate.yml GitHub Action - Remove before and after variables from gate.sh; unused - Remove unnecessary basename() calls in inspect_upstream.c - Do not assume an or bn contain strings in is_rebase() (#196) - Adjust what things run during with GitHub Actions - Add get_rpm_header_string_array() to librpminspect - Replace init_source() with get_rpm_header_string_array() in inspect_upstream.c - free() allocated output string in inspect_changelog.c on errors - s/10240/16384/ in archive_read_open_filename() call in unpack.c - Add the 'patches' inspection to librpminspect - Add uncompress_file() to librpminspect - Add filecmp() and use that in place of zcmp/bzcmp/xzcmp - README.md updates - Restrict some GitHub Actions to source code and test suite changes. - Only enable lz4 compression if ARCHIVE_FILTER_LZ4 is defined - Go ahead and wrap the rest of the libarchive compression filters - s/class Test/class /g - Make sure uncompress_file() supports xz compression - Handle more compressed file MIME types. - Add test_changedfiles.py to the test suite. - Add test_patches.py with test cases for the 'patches' inspection - flake8 fixes in the test suite - Python format fixes for test_changedfiles.py - Python format fixes in test_patches.py - More Python format fixes for test_patches.py - Remove unnecessary 'a' in DESC_PATCHES - Better explanation as to why the EmptyLicenseTag tests are skipped. - Test suite cleanup; add rebase= and same= to TestCompareSRPM - Black formatting fixes for the test suite. - Remove unused imports in test_upstream.py - Revert black fixes for test_config.py - Fix my email address in test suite source files. - Support single package URLs for before and after builds (#190) - Handle invalid/missing RPMs in get_product_release() - Use warnx(), errx(), and err() in src/rpminspect.c - Modify submit-koji-builds.sh to pick up all pkg-git branches. - Update the rpminspect.1 man page to reflect current status. - Update translation template files in po/ - Support relative directory paths for the -w option (#188) - Implement the 'virus' inspection and add test cases for it. - Update po/ template files - Python formatting fixes for test_virus.py - Update the osdeps/*/reqs.txt files. - More osdeps updates for the clamav needs - Install 'xz' for the 'style' GitHub Action - Fix a variety of small memory leaks in librpminspect - Stop the freshclam service for the Ubuntu gate job - Support slightly older versions of libclamav in inspect_virus.c - Add the 'politics' inspection to librpminspect. - In tearDown() in the test suite, call rpmfluff clean() methods - Add test_politics.py with 'politics' inspection test cases - Python black format fixes for test_politics.py - 'it should added' -> 'it should be added' - Increase the runtime timeout for test_virus.py - Install the timeout decorator on all OSes in our GitHub Actions - Install timeout-decorator with pip, not timeout - Expand librpminspect with support for SHA-224, SHA-384, and SHA-512 - Define DEFAULT_MESSAGE_DIGEST in constants.h and use that. - Replace some fprintf()/fflush() calls with warn()/warnx() calls - Rename the 'DT_NEEDED' inspection to 'dsodeps' - Rename 'LTO' inspection to 'lto' - Update translation template and fix two incorrect error strings. - Note all valid message digests in data/politics/GENERIC - Improve reporting in the patches inspection - Only fail 'changedfiles' for VERIFY and higher results - If 'removedfiles' only reports INFO messages, pass the inspection - If 'addedfiles' only reports INFO results, pass the inspection - If 'patches' only reports INFO results, pass the inspection - No need to check value of allowed in permissions_driver() - Do not let INFO results fail the 'doc' inspection. - Do not let all INFO results in 'upstream' fail the inspection - Fix RPMFILE_FLAGS handling for %config files (#221) - Still report file changes in the 'config' inspection for rebases - Correctly check RPMFILE_DOC flags in the 'doc' inspection - Include rpm/rpmfi.h insted of rpm/rpmfiles.h - Only check regular files and symlinks in the 'doc' inspection - Remove unnecessary assert() statements in filecmp() - Remove incorrect warnx() reportings based on filecmp() return value - Exclude man pages from the 'doc' inspection - Honor the -a command line option for downloads as well as runtime (#233) - Allow optional 'commands' block in the config file - Fix assorted non-critical memory leaks - Remove unnecessary warn() after a failed stat() - Additional memory fixes for the abidiff inspection (#244) - Free ELF symbol names list in find_lto_symbols() before return - Followup to the memory fixes for read_abi() and free_abi() - Prevent invalid pointer dereferencing in invalid result in 'patches' (#245) - Avoid reusing the same abi_pkg_entry_t struct in read_abi() - Allow a set of excluded path prefixes in 'pathmigration' - Fix the YAML parsing for the pathmigration block - Document the BRANCHES variable for 'make koji' - Include the .asc file when submitting new Koji builds (#191) - Include the .asc file in the spec file- Formatting fixes in Makefile help output - Begin config file restructuring starting with rpminspect-data-generic - Support multiple configuration files. - Docs work in progress. - Only fail the annocheck inspection for RESULT_VERIFY. - Read debuginfo if available when running the 'annocheck' inspection. - Add the '%files' inspection to librpminspect - Add __attribute__((__sentinel__)) to the run_cmd() prototype - Add test suite cases for the '%files' inspection. - Added the 'types' inspection to compare MIME types between builds. - Update TODO file - Update the MISSING file - s/rpminspect.yaml/generic.yaml/ in the Makefile and README - Skip debuginfo and debugsource packages in the 'types' inspection - Add test_types.py to the test suite - Note the 'types' inspection generic.yaml - Modify add_entry() in init.c to skip duplicate entries - Start GitHub Action workflow files for rpminspect. - Install meson in ci-ubuntu.yml - Change 'nls' option in meson_options.txt to a boolean - Install gettext for ci-ubuntu - Add more build dependencies to ci-ubuntu.yml - Drop the 'method' parameter from dependency() lines in meson.build - Split xmlrpc libs to separate dependency() lines in meson.build - More xmlrpc updates for meson.build and lib/meson.build - Try to support systems with xmlrpc-c without the pkgconfig file. - Changes to build on Ubuntu, specifically the GitHub Actions system - Syntax error in ci-ubuntu.yml - Add ci-fedora.yml for GitHub Action CI on Fedora - Fix errors in ci-fedora.yml - Put all of the ci-ubuntu.yml steps in ci-ubuntu.yml - Remove install-libmandoc.sh and ubuntu-pkgs.sh helper scripts. - Install python3-setuptools in ci-ubuntu.yml - Install rpm-build in ci-fedora.yml - Install libxmlrpc-core-c3-dev in ci-ubuntu.yml - Disable ci-ubuntu.yml for now, enable code coverage in ci-fedora.yml - Remove Travis-CI files. - coverage fixes for ci-fedora.yml - Install git in ci-fedora.yml - Enable manual dispatching of the CI on Fedora tests - Remove actionspanel thing for GitHub Actions, drop Coveralls block - Comment the ci-fedora-yaml file - Fix the 'elf' inspection and test_elf.py on Ubuntu - Enable the ci-ubuntu GitHub Action again - Check all return values of getcwd() - Ignore installed Python modules with pip3 in ci-ubuntu.yml - Build 'execstack' test program with -Wl,-z,lazy - Add ci-centos8.yml to enable CI on CentOS 8 as a GitHub Action - s/centos8:latest/centos8/g - Trying 'container: centos:centos8' - Drop 'sudo' from ci-centos8.yml - Rename README to README.md - Enable GitHub Action for CI on CentOS 7 - Drop -I from the pip install line in ci-centos7.yml - Use the 'make instreqs' target for install test suite deps. - Add back 'dnf -y install 'dnf-command(builddep)'' to ci-fedora.yml - Nope, that doesn't do it. Just install make in ci-fedora.yml first - More 'make instreqs' fixes. - s/scripts/utils/g in the Makefile - s/TOPDIR/topdir/g in the Makefile - Install make in ci-centos7.yml - Move REQS and PIP lists out of the Makefile to files in osdep/ - '^$$' -> '^$' - Slightly different sourcing of the osdep/ files - Set OS using := in the Makefile - Make the reqs.txt files in osdep/ contain all deps - linux-headers -> linux-headers-$(uname -r) for Ubuntu - Remove html401-dtds from osdep/centos8/reqs.txt - Use `` instead of $() since this list goes through make(1) - Does $(shell uname -r) work in this case? - More osdep/ work and simplification. - Rename 'osdep' to 'osdeps' - meson patches for opensuse - Move mandoc installation to post.sh in osdep/ubuntu - Add GitHub Action for CI on OpenSUSE - opensuse:latest -> opensuse/leap:latest - Install tar in ci-opensuse.yml - Install gzip in ci-opensuse.yml - More fixes for ci-opensuse.yml - Small fixes to determine-os.sh - ci: Add Python linting jobs - ShellCheck fixes for the regress/ scripts - ci: Add ShellCheck to lint shell scripts - Adjust how the Makefile reports unknown operating system. - Just check $ID in determine-os.sh for opensuse - Use pip for PIP_CMD on opensuse-leap - Update the centos images before doing anything else. - Install curl in opensuse-leap - Get 'rc' from Fedora on opensuse and copy it to /usr/local - Install kernel-default-devel for opensuse CI - Move the 'uses' part of the centos CI jobs to the first step - ShellCheck fixes for the utils/ scripts. - Some flake8 fixes in test/, using yapf - Combine all of the GitHub Actions CI runs in to ci.yml - Manually install rpmfluff on CentOS 7; pip is failing here - Use rpmfluff-0.5.7 explicitly for centos7 - Use rpmfluff-0.5.6 on centos7 - OK, let's try rpmfluff-0.5 for centos7 - Last try, rpmfluff-0.5.4.1 for centos7 - Back to trying to manually install rpmfluff for centos7 - Style the Python code with Black - Add the Black formatting commit to blame revision ignore list - OK, just copy rpmfluff.py in place - Make sure to manually install rpmfluff-0.5.7.1 for centos7 - Don't assume we have a header or even a list of files (#161) - python: flake8: drop * imports - python: flake8: wrap long lines to less than 100 characters - python: flake8: drop unused imports - python: flake8: remove unused local variables - python: flake8: add PEP8 whitespace - python: flake8: mark in-line bash scripts as raw strings - python: rename several duplicate test cases - ci: merge style workflows - Adjust rpminspect.spec.in for file moves and default changes. - Return the reallybadword to the metadata tests - Adjust test_metadata.LosingVendorCompareKojiBuild to expect VERIFY - The shared libmandoc check should not look for a static libmandoc - Update the AUTHORS file - Rename ipv6_blacklist to forbidden_ipv6_functions - Rename stat-whitelist to fileinfo - Rename 'caps_whitelist' to 'caps' and drop the use of 'whitelist' - Rename abi-checking-whitelist/ to abi/ in /usr/share/rpminspect - Rename 'version-whitelist/' to 'rebaseable/' in /usr/share/rpminspect - Rename "political-whitelist/" to "politics/" in /usr/share/rpminspect - Drop unnecessary method re-definitions in base test classes - Use super() rather than explicitly calling the parent class - Call configFile() on object instance rather than using the parent class - Upload coverage report to codecov - Improve the error reporting for test result checking - Convert to AUTHORS.md file, add Makefile target to generate it. - Introduce the 'movedfiles' inspection and a lot of other fixes (#155) - AUTHORS -> AUTHORS.md in rpminspect.spec.in - Add basic tests for the filesize inspection - Multiply the file size difference before dividing - Update README.md - Update README.md (more Markdown changes) - Update POTFILES and rpminspect.pot - chmod 0755 test_filesize.py - tests: optionally check the result message - tests: add further filesize tests for shrinking files - inspect_filesize: drop extra - from the message about file shrinkage - Enable 'permissions' inspect for single build analysis. - Add 24 new test cases to cover the 'permissions' inspection. - chmod 0755 test_permissions.py - Make sure all RESULT_INFO results are set to NOT_WAIVABLE - Fix some specific problems with the 'permissions' inspection. - Pass "-r GENERIC" to rpminspect in the TestCompareKoji class - Add 12 more permissions test cases for setuid file checks - Update TODO list - Update test_symlink.py tests for new waiver_auth values - Add a fedora-rawhide job and renamed 'fedora' to fedora-stable - Update the rpminspect.pot translation template - Relicense librpminspect (lib/ and include/) as LGPL-3.0-or-later - Ignore .tox/ subdirectory - License the rpminspect-data-generic subpackage as CC-BY-4.0 - Add a copy of the Apache 2.0 license for the 5 files in librpminspect - Update the License tag in the spec file and the %license lines - Add debian-testing as a CI workflow; add missing osdeps files. - Update determine-os.sh to handle Fedora stable and rawhide - Drop the use of 'sudo' in ci.yml - sudo required for Ubuntu CI job, install make for debian-testing - See what $ID is set to in determine-os.sh - Workaround a bug in meson 0.55.0 for Fedora CI jobs - Add 'debian' catch to utils/determine-os.sh - Rename 'osdeps/debian-testing/' to 'osdeps/debian/' - Add opensuse-tumbleweed to the CI job list - Add libmagic-dev to osdeps/debian/reqs.txt - Fix memory corruption in init_rpminspect - Add comment clarifying the License tag in the spec file. - If check_results() raises AssertionError, dump the JSON output - Fix test_changelog.py test cases that are failing. - Fix UnbalancedChangeLogEditCompareKoji - Handle rpm versions with x.y.z.w version numbers in test_symlinks.py - Fix mandoc build problems in opensuse-tumbleweed CI job - Install gcovr using pip on opensuse-tumbleweed - Handle systems that lack pkg-config files for libelf and libcap - Add archlinux CI job in GitHub Actions - Forgot --noconfirm on the 'pacman -Syu' line. - Add missing DESC_MOVEDFILES block to inspection_desc() - More minor fixes to the Arch Linux CI job. - Install gcovr with pip for the Arch Linux CI job. - Support building on systems that lack - Add detection for to meson.build - Ensure an int is used for snprintf() in inspect_manpage_path() - WIP: 'abidiff' inspection - Only report permissions change if there is a mode_diff (#181) - Fix -Werror failures in inspect_abidiff.c - Add sl_run_cmd() to librpminspect. - Add get_arches() to librpminspect - WIP: abidiff inspection - Some minor edits to the README.md file - More minor updates to the README.md file - Replace get_arches() with init_arches() - Add test_addedfiles.py to the integration test suite - Expand find_one_peer() to soft match versioned ELF shared libraries - Add the beginnings of the 'abidiff' inspection code. - Report out findings in the abidiff inspection. - Update the test suite to cover rpmfluff 0.6 - libmandoc configure workaround needed on Debian too - shellcheck fixes for the scripts in utils/ - Add abi.c, the code that reads in the ABI compat level files (#144) - Be sure to close the open file before exiting init_fileinfo() - Python formatting cleanups - Add --diff to the Python format checker - Add new setting to abidiff section of the config file - Add -n/--no-rebase command line option to disable rebase detection - Store size_threshold as a long int rather than a char * - Check abidiff(1) results against the ABI compat level definitions (#144) - Add 'apt-get -y install libgcc-s1:i386' to pre.sh for Debian - Add integration test cases for the abidiff inspection (#144) - Add 'dpkg --configure -a' to pre.sh for debian - Install libterm-readline-perl-perl for debian CI - Install libabigail for Fedora and CentOS CI jobs - libgcc-s1:i386 -> lib32gcc-s1 for debian CI - Install libabigail for opensuse-leap, opensuse-tumbleweed, and arch CI - Install libabigail for debian and ubuntu CI - Install libabigail-dev for debian and ubuntu, not libabigail - Install libabigail-tools on opensuse-leap and opensuse-tumbleweed - Install libabigail-git for arch linux CI - Move free_argv_table() to runcmd.c - Install 'abigail-tools' for debian-testing and ubuntu CI - Install libabigail using the Arch User Repo on arch CI - Explain the osdeps/ subdirectory. - No, just clone libabigail from git and build it manually on arch - Add beginning of kmidiff inspection, put ABI functions in abi.c - Read list of possible kernel executable filenames from the config file. - Drop abidiff_ and kmidiff_ from extra_args; add kernel_filenames - Just call the abidiff and kmidiff extra args settings "extra_args" - Define 'kmi_ignore_pattern' in the config file. - Handle builds that lack all debuginfo packages (#186) - Do not assume peer->after_hdr exists (#187) - Store copy of original pointer in strsplit() to free at the end. - Use mmap() and strsplit() in read_file() rather than a getline() loop - Fix memory leaks in abi.c functions - open() failure in readfile() is not fatal, just return NULL - Add utils/gate.sh - Have check_abi() pass back the ABI compat level found - Update descriptions for abidiff and kmidiff inspections - Hook up the kmidiff inspection. - Use read_file() in init_fileinfo() and init_caps() - Use read_file() in validate_desktop_contents() - Use read_file() in disttag_driver() - Adjust how init_fileinfo() and init_caps() iterate over file contents - Fix 'tox -e format' style problems found. - Avoid comparing elf files that are not shared libraries - Support --kmi-whitelist in the kmidiff inspection - Trim worksubdir from paths in reported abidiff and kmidiff commands - Remove the kmi_ignore_pattern setting for the config file. - Create include/queue.h to replace the _COMPAT_QUEUE blocks everywhere - Update AUTHORS.md - Report metadata changes for rebased packages as INFO - Do not fail the specname inspection when given a non-SRPM - For passing upstream inspections, do not report a remedy string. - Do not fail the lostpayload inspections if it only gives INFO messages - Clarify unapproved license message in the license inspection - Use FOPEN_MAX for nopenfd parameter in nftw() calls - Make sure to close open file descriptors from get_elf() calls. - Include 'src' architecture in the rpminspect runs in gate.sh - Make sure kmidiff is listed in the spec file - TODO updates - Update rpminspect.pot and POTFILES for translations ru1.12.1-1.el8.11.12.1-1.el8.1 rpminspect.build-idefc02d3f06dc7ffd24ec1c225798869d5f3ae133rpminspectAUTHORS.mdCHANGES.mdREADME.mdTODOrpminspectCOPYINGrpminspect.morpminspect.1.gz/usr/bin//usr/lib//usr/lib/.build-id//usr/lib/.build-id/ef//usr/share/doc//usr/share/doc/rpminspect//usr/share/licenses//usr/share/licenses/rpminspect//usr/share/locale/ru_RU/LC_MESSAGES//usr/share/man/man1/-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protectioncpioxz2x86_64-redhat-linux-gnuELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=efc02d3f06dc7ffd24ec1c225798869d5f3ae133, strippeddirectoryUTF-8 Unicode textASCII texttroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix) RRRRRRRR RR https://bugz.fedoraproject.org/rpminspectutf-8b444f8524442e76d966016892c6543361c559c6c364307a66aaa4c3abac44b1d?07zXZ !#,] b2u y-iSqm^ ȏҴp4_ޓ,!,4%N^J5EJ's-z 3Kv M'MpȒzQ7*2 :obpvH,h6K y0)=scEAeK8$GO&)w(T6D6/Lk?l 5h k{]HwTCmMk RbQċ^8;smI[DbIrH/I`v6 ?O] VILGx\uc^QePi %B|h%g%aY]R"Q&K1&q5li͍$jТ/!8ʊ&7VHH@iŚ%NR_5_i5DI[Tؑv/?ist׈=6P֪`PT6U"dԋvAA͡`J_8Bz`_l>R% Mzb==Zk'EB{x(;{~)=`Zg|R]Fq ῲayrd^DYMZ,nZNTZ3(숒rIJͿJ+tg5j1rAq^zV@IW8٠bu :[ܝоŔMIhSc4z!1Qo8 5Ű@A^m8{2`o/"8M ?k$CŅgHy|\*^sz* -A!C4z&)O\ט+W')GFHB֘X:OO ?Ӷ3HY9f`(|pxH匘ȶWWG0X >f(\9}08O+pOu+lVy+x.&s_4vq_> ^́l ]/DBJ )*YVS֬ffC)jyϫ|8YsMfQs-"Xd_1t"Mi rKgV\ -'n  h`t$;O)a(נ$ܲmĜ:a5a앑8Ф):bMƓS6ΟHZ_#- {tdUd=&Q@6C$T8 :8"ĥC2lt{DTΘN+1'IT!0Puf.K|a1f3Gb|p5$Ȗ`GEЁyT=/ǻa#~N-p hsb']٠޴fWHYPynL`FCQ4Fe4kkۻmE'DRW7zldl=2zńjv0X8Twm D2ܢZgkiT"gQ#=G1aN`@ n(FA*5Wb@wPu:( :A@1? o\ce5,HJH`0oox*~VٚoXqTeW~lի4cZs=IlQ D +(ڜO*"v6CËs\d|r7zn~9s9ݨg `!eO2+{jhasDuJ&Ӑd^y5hzO* >D- ->ņZuۡ; <սC~Yzv=N͜?=iBhg`"g?:IN/]ƀc~~tr 5Y_n>(=zsǶ\撪F8euT;jX']R$3bR܀[nrdyJc;]PAtb(]ԡL`:'$;8*zģgBHUam"Iw`ڢS C̏"Ǭ{r wć.Fm 쏨AFgx]bR[))!Oc=P%6r58@H)'r"[smfs 'Y|;Kq) Mל~ TMweY[ʖ2 Q, qN(`sqN 8CmR!tNĊ,roD* w_oqϧOwy(`}6ط⏗'W̸]kd1jx9>qj nWZ`,i8[IBodSҵ_/(k w+ ^NN#=&Vj!c"0f9ڊ!/I*;΍*껽Pmu;'rRr0C%R1Ox7q<ɏ Ǿ #BT8݆ml^\3W`M`-UpHmlLL803*\ƀsñu}IPwݤHf*͛۹̒NÚ֢8HLW{)R*`r EEteK dYͫYB;'2irZk@w@",[CzQz-mA7G::l Ҩ\jsoFi[@$${-Evh e˓e&0Dj^VgK!1JKz k6A_wWdL)60 `N,'{ ׏ aތjh3H`|BW5",~YhU%`DMvw t+@C򭼠2{$bT9Jp͉Q&L<]N9< I)iDݨ)1hoo܂#H=ucw͊I4 G:0ߢ.$d w(ZMY;Bqî^xX۰cB7Qy `EBzRt7Wǂ>-jUN S{E_oQ|?:Tj˸{~5ڬńV^tv䉲(v|p*["܊U!u z2W5K|4 *9KY~YK(U%:#jm4"g]B+~GjŴv[O/xmO(P9YQQl8aſ d鴛QUDsŁqrd?JOOWL7պc6?߂%;OS \:4 .i62Cф><^e[461Yv,7~ IR32c6EB3P<kﮎb1Rf5(Iu?MG} Pk ;sOJ˕ ^Z,ZlraMNb +MuPJ$](UMzLol_5,ZOZ̔f#ypF&D;]BnbYX%Ht[ MX Oa$@AҨ+ֱE(3kK2bc fֹb`n!QļY L: _94zϘXPRm_i6Vjm0糐+X b_waL=at &@G _:Ax|\$Oguڳqοb?ydk=qA<$]av 9_71 P]ȞcL zlw9vjpϊ%&vHUDLxҿn3:ڷxM va 5˳4xpx82UQ^Jl[X(j4-;-/G,Z%7{椊(c>qWktgy#.*\Άuu}|D|.4L[(/,6=g(/B* L]xmTR^ 1͞ IA诹OBb?*n8oڶ Q-nV\/e׊`+pZG߾!T]g@A30.Dl>"r%]\1h ߛ'tDnKd^9c4)0~HӰLUL=rH*?'s& .\3[O "57Eb؜zY\JQ8Aqou8#'Kȗ<(B5~m缽?XOUTR 8`͊C2٭>9Q]˻邫ds)m 7qUan \^KL `gwx k((7΂J~HSUjAg_9zL%W;5Zx፩B18|X 3lD$1j9~!Dʷ}v&\-J(}uPMl&x ?0NܳtΐIw2#Ղ w5wΊ~V!Nl/ e~f/ 'XqQ,kkyjhA*`k=[SI,W) /K6hRT-α'Δ=Kr1nPR lLD2SvybtQ!X):"=4I ,F?pspQ(ėmR2F)K65rq.&1XT2W sY.7y+7`Qfwp?tdDuǏ8J~ _Rp"(m翖7H`;>T1Ո+z|rJ9Kxu; &4]nj=# : Γ罽B+=N9yРxiKʁ ;ZVR:CRǒ@`&n-Z\h1Lqby<Їbz!L]¸m7!&WfhqjDZXCP*/DEtSoOs ٪sqR [ZDG{pp]6P=? ѻML~6)$"-P'enJ)N{.< [` U•\MQ7#:j20JR~|Yxh*o>#<[Uי {Q.iM,2TajZMUU5W-pQgd?p~|{&[ 氖G#V+bUC9<>яp܈8^!SowkAU+V;8q[(uS0J%EYvv{)WBábN)il q)͸ +-spIkԮU,*\nMybZgqZvܿmPU!~vD\AlφxaH"͈jň/iv-=z@etsr%Oxvi߶i,__&'MũPoO1g AP:VdS|NH!Xۀ&tc(8,z/On+j/# rة]+_Rk[،> \#g@qLr vB,qhiR|wGKKc]LɘȻEڔ+ъ<G]?a.Y"= ̓S"5b_(N 1[-eύԂ[6lX/ M>K)fLWa'jOoI0,1T)`,P@| 0Fp?])fxB-B娴 bı\/lNWJ)c(فטpviôbȱŌ^ٕt˫ƎhI97,##]JWFC9b%1K:6CjFTdfM2Wy~(U ri,?v(*nKLh̀;^C~Cp3 a wna+_=ĥMƔ}g]e%kQmV'b&O˽Uyy/?| XS95#bklS~)֢)\XHx'k;Q=΢aa*@rPtR,t`5oɭ'Tο[9d钀#n:8"y_Ou05 Ե&[ }~|ZSA _:\0b<2XF w~͛pC-)UfI 8HvKML=z2t=/2bdʒcnH~xwԴ@»7\r7i*Su +od{̄[!c>o3:6 _'l%l 1yC즘Zf~J;7E9"TMm):h;$8vDDUYIXw&)pEm![SnEL-{؇/֙a}{bcyxgv6 Cx! IP ,j.5Fl?D񠼶_)Jpy!ʱNAp PBޅ7,q{O ﻐDxtD5U=xgb|S\ :6xi)?/jɴzE"XrOq9%ŋV^XQw/)FS)Q+"S.nMmH.?*ӅE &vX&Gj]E+6Z^ҧ۪IA&Nw6߻@uurutrSafYFZa?:"0Rw/P*ۓ(bqr!A)tݪ@;){D3߹/tI5k]]oIFZnx$[(x΂ym!δA1gva%L6[ZCϠ $*I^ZmrQ{V# htyÀ$M+Z !>S:1fŴ#peDu\XҝSͪhF@ٕ)$v7+ jo8 7R b?v[/"~=6O҉LYKqkcb:6Q}r,8պa1ϚE-4|FFj<8AUy?1M ;`]-6E`>9 aE@#AM¹ၜ B8G*}cS}N:o*)(aX\ AN N!Cm:~[?GUd?/9oEǃ+Ql Ι> #_mVEuĵnĉ^#铱N'ڎ=z\HT.zG-X%sQ"w޵K^(uSxFށ8u]OqU̦1uh^\Ta(ZE#l#hWEŕH Ffn5?}5J ֘*pB #NDs!5$ }B[lgb R 8(/@q6oOބ0Ffҵ#! Pw "a#A>8%qC{[awjC˗V@%\a`"1w(rt|̨{4H7Qr1TJjOK<ê)[~_fe`x2®n/O:1('!au, b*ыDJ{/Q)lDO5 &D̗Ā-F!cիVzj*p6 1d٦toթrۺL>fb=[,7vv?1kz9uV*@Ch=[;m=~|+"}vcZ=Մi\ؕVwI-4-8;Y᜽Mp/.?VzȎ̥w 2sRcw(Iszc'R`]$<00 TL2|Nۦܓφq>;8ɱȸ3xj8w,Bl5YOIGjWktl1LC Oh>ҮпYC{b-F$8b{!:ța{䷓&p`SNLiEHx )v[GN}5:eӱgpKt7:JHnF $zbuf* 0U)G .<@L4^Yi|6* L#VjYˉM5[AZrj2glɔv&]+%{jj=w^)YH/ʈf7[G6U`SX%..߁)ĕKHZA\gר\s;!FftENlTN(x>k4bb8SFeK"VyN32Vm3 XɽauDtשhSfмM.j}h(9'DŽDp6\zw3׷X;/пäŕx+hAP=Ep\"(*48#N͒$HfzH$l^ ,JF[g]vt&W z7vW޿ Hd[Dz]Ȏ<9^L ?hɗW8ͬH ֫[M'2kzܱ(oA|peI$*ky)H5ƛ>Fc8=V ;c7)H5fKtt& )RⶨdTpXuG8bv'~l&ˇ{ 3U7BZm|؏\"z5v$[GL jY]:zسO$>ثd.uNA>*uonXLK|aMSTW5>h(|4KYg: \X}vDB=*la-4nN#EpF+ͷst !UَA)s%d[}~Zᇇi|*V!tJU2ya |]W##ݖj]]Ssq,L}wCrjr Y)pz)o`:l#i{`g5 @ɗS|/3j *`v?ef:NDP "_*aXf&*:tgG!DlLP6F&9#uiy3 O!N כu󁇸_<\SW0HVmy%o dB]>'AyH{h+9mEh޴1\15c;\7 (LY@ۭvUX/0 &p2֨Aþm)PwyÌL9YdP{GӌPc#g7EغGEh?v>k||ɦRڕJPD1֋Hl1R@9Mg\FAӰ ~ yRKu ^Si ٬?0cp5C-IPK(wg D}O=/z' E23$}.2s+R$*1ekN3Mq8t찛MW \d-FS23Xg1c'⠫-4jwwQ?!2˔:+Qc+AtqJ[}dtA`R6Ӂ*U[4{.+}9NƸW&]i96_2(p5Ȥ1P<*I`vOѳX}+A}qthMM`rw~AF=ţɶ%#E\J`}:D|̎m辸$;=2\ C.~;uUfz>VGFe!ʷ@̛E7ydu9ϝ@wLvM0 =}+򶤏TJ$]u'{3HFJ1u_9~;Tu^ª[jVqQw$>Ne̯H3OgeϾ yԆ١.wr$ T .!r̸)b#_.NTFGg j׷}q$p"ŖkNM^^'*_ٵ66:N k|S}L!0vLVGfaTph9S8VG&=۝G(*;n9iS]h٪_7n8ua10]տ->W}`a61lHXUk3|Bx#(o4KcL-'HvNPgAѬbr, Vzߨm֤!qFWTab+n?a<&Db>OLglEsa wJ*W@ljzM+v5`/w/tȺœ0զ%LLN2-R~ncuob,7vC|=|_q#@vݻs [07d&|@&a,__m״;y4Ѯ^ |My V>dm|kHL![(_0R.~[I[HbO{a襌p#.Chob2&'LoL͑?aA*}qZ*Da LTFmԋd.PB0TlP,m`K [q6X+]ztf=;ejLA09W!uCA0V1oDNTQ|կgB+M__;WcprK!M^_񐉞bZkU&7@'Sq?0I˿#MLAIvc:h@3ojt ^L'JV  ?*?ŗĝ%9 Gn>&*R=#\ f;?/&V\<㔝dK6ƛNXk{)cbirC}J%7HKOXò2  ֊mV'aWKE ud^8uF qNy괵l x. r-Ȫ_FBՍyfGJBJڟhiV[gKq*@lrN=:!S|%D|̱/W0߰6Ӆ,ש :3Ƭ<-p˛{ d k~WAl3Ft4IH m߱uF!3kΪGcӓ.8 PdcE(gБ],asl!&`:iOPN}2٘YP# pT7ޱ[N:K0/}b`a @@o]?9Yu}FuRvq@y5Elg\䯩5č}x%ɅJ& ?x&u &DyXa8IEByl‚)NkMf˄Ψhr`$ 7j[S0k&)ғQ}wa,.P9kuK2RV)Ϟ~N߅IjAZC'j0oI5#a_Ik9,/qsw:Hٰ HHoC9~W*Op2QG*S>pY'![:۞};hC{su*\ӟE1dG(YzuZd4lTx 9Fae\lJɎ&B GqgV/XN1K`;8lzw^jA|:04k l5@Q}(- s@fj: 0V${l&i МtΌnLaG:Ut*d}cbdtgi WEu1Ţmy Y@~ V LƑ%xڇXUf8eϢ+kW_j.m'w>-餑bEPB$ >s-:ZMkٗ@b{L ]xgTsN;h^d y> -B'Kqh{,j70z߆bȥNDw?KE-H@hBE[O)E^ߕa^4:ty(]jo#/YJV`}O;\S-KNRfƾ[x5էx3H^,"iXX4vev2(4nyIO~#RZc tQ׫Y=Z% Gr䜤a=#9Bk56I=,H5@6ݍ=KgО0KuptֿI|>${(L8Ţ 6DRSح#EW@oDRPc6"OՕgwG7a Y\BRodC[PR&r m)MXf;ұ#@(ocWB%BK^Ȏ+x~7djXʀ-:NOkN{Jkdw3qcRUbʜg*ABZkDkK$ ҏOgiB8T?H>H2oJ+UҨ(ીU]I|-N׭4PU6 :5^JWGkm($hϵaAI{=yxP2<^Llt@胪HEOal/2pv˔HL@EȺ *6b^.[̸+. ܹS+kmse /G@]HFQ/.t[ꚪE NQMw F\]b&V/RgnCjB_T]-**Bi tZlJ9ӂxqvt[=}T^7FϢUQĠQI/SoŞnyw}$cJsP+N]LڃTPzo PZ ՂT!K-[\Gi%hޭj\ GHTz,Ɔ7% ѫ aޒP036(ApI; 'W.! +Jr>fKQ麿4Su 0'.Iu.bgG?"}wk9Y"ӋZr+4NCB@iKωue_ U~"'oÆpn 3|S_eyr|HOkdvDxʩ6UQsV.`i}TJNch /,ZJkUXIYG&&z /6~9d@ZإN6}j MQ|<#* \-ĕW`.>#nul pb0rHS O9=%PNSQz5W(XUj&Jue Z(mVĕ]+v|{җ<o sRcⵖ9w<Y|m>~'#479'#-֏Ґ J6"utKyL`f2bYV=FҺ%Tl|!63rcT߻Kf]q)]6Q;Lry|š č'JM&_yv>FzWa J>VB^G01 md͂跙ABiH4aHO rmbXp%6:cTd~踤&|1bz#e.w`ִq(n *WT$sk-EwMK8EʫcTh[EQiw%?W˚#5NǢ4k{.aClwΝ}`J=n?8M'r&onAU4rDOZcǖvO1LuޅE $j7 R-+]weX6*SV!9 c\x.RwwbׄzVURHSN0~5Z7Y$Ȑŝo:^._yA|$}{6ԕm3 s փNkE!!/eaY bOp)ڒq Ҍ?]f-mB1a: vԒD&}t#Ey%_W%˙ؿ[$G|ҡ<༨@? Unqa ZSTcۗ=DP9x#Yh">??K:;ċuuMS@تo|d8Vy7*/u.W??v=YDJ#(c5d `QOIG|^(<c6+#k-[~X!2{!|OLY"L{U]d^T>ԩYv-P<)!_^i΃!g.6Rj _TC! ¯#'\rg|.*pt*,zm+D@}aR8e &5Zr'Lmw6 3fW4;^Ӫt]Ճv BNz/uDGW\~V|ྔ4j"PUz y x&h|Zz*:/;BZ ˛UL)P$8LG<{;yޮoߚt";dLdBW:yйQ@\3TlH.Kr=3 Pwa/2\F)DMJvJCU8{SwE-op/9/v4Uы/ 3꫟*k$ګQwNސv0''с3rPbF,5eigjvo9 L*8a"0_j& =D:#+/PKHwC+ϙo%C}6BXr4H?V b n27vx͇YU$Ec-n:t7,LFwu{-un7ێt^^Cp9̼Dp'a=xNЌd6txdSaMQ^qܐ?#H[K SQ ^Ό;(5GN3ga8ogFa)]1Z>턠AqI ?0p1Qht(Tiڠ,(Cnj}'o$ߚ8rd:UkS@l'9.g ѐMYAܰ;)SļbM?>;?LD MPu~7qLN<:+LYUX^1j5 v)+4Qn}iM&PM5UY?dU]AzMm/?%Mmf:`,h˄s]h l_BIC,Рd8'ᇈ,DAcG2mpKڙ0 gonS'ȅy~oW-D&ȗ|n~vi}ivg;w^?VBN>hh~{TQi vt]%MϾV7ψ𨌠&Y7H 1#*R=&)DHȴOv~S?`lgK|@s_#En v@"uĺx%׈WUP!iQI"Q0NcV)Bгǃ_M{gO~rs]#P5.w!嫕إ jG&oA 7VGu^;'q/ƒeŔ;b Ӏ,Mϟ~߫`H4C='[Pb/Cm+Nܫ0|,f* Vw1[XIt߹iҿTk3]V힠< U _7Yᄩ0 8ٻÕIjfhnDt)l7ᡎM- g^krLddGUlz 4xnG(wRYHw-Jw&%xNi!_pFdX*X,O//G DCg17jxKdrrqi| Z+1'B9ԩ慊Neٿ,VAU8'.yY@{ ӷ'\P'TbW sʟ?(7JJ̎ A5JD1sbZ?]6.:V+(v5Ł:2[!ܻ>Tݒ9b8iA@5[&,T|QC˃iX;:L)Qzڿla08nI-3$YׯkL>ujMqGQ4zPauAڢPD-̵1R(ƩgYg3 |v̒bPIu4ahԾMYaj8̟sa7LD=fV X6/YIMqij1p-rlDApT);̌ #)뱃5#kb >NDxsٛlҸy#cVvfz!^#9$D҇%`J{gɥA9/R'sٙ[YT>qcv?Pf;9!(zC'ua1S]i:j)8|_# [T-k=H}83I*m4.b=yff=[2+b~7"?+-aևB;Ա؏bݐs{}PSuϞ6dYI 8xx%(=!T2J" +xd2\=C~yE?{w̾kV䀪p٬GE|(MW5I"c¨ABx dF bGH|BЎ8g iLS 9qS3Xm29hk4uaܠMnFY Ϲ q(0cRPYRfuK0'=$t+Qd:T{8=;5rS ܨvX*w Ut}Z1j,sJ'25o<]RZ%4=ˀeCt÷\?f$x4XgM{=r6d;qq^[={ka@L 0Xts'ZRd1R'%ٙeo$FG*ɨ(W ;>jeu 3W` erX8"m?sηPwp-{w6V<ݖj p/cF?mHOA{Hr''[#ճ;=(w-v|^򬲋;!}ŋl!:A}Z(߾>a6i&3T/m= gqN˓yo-14Z;z!4b؏^?̮ ֝oؠA*2ZOxeߊy^L`A6O!:J±4z7H6K:HAc@LwU)|Lc*ǀ DZ6ݪ7A~=0fdYLMhM=T4pw'Vڬ5 cTVy`DyzR>AA872Tn]/KD{shK{9aJHvْddFZS\ב/q< #[*ΰvcD* 7qȥiXIpSk IAAխXWh||a֎~eame (c>_Bڊ׻B%[WCpڪo"|S|^zIj'> 瑭r'Os5?ebzK{p>꽀"ۿ50Tua[Ԏ>Sns;21׭*޴v12#znjckijftf>ĐampRw6_2e"<{iFPgq&܈޽1&ǿck/ ޑ@ckr?F滈!a#LF_&r _֐ aNI,cy]jV܄Ab$#٘ʠӖzcF a@PLl2 V6 0n7˫oh2\ѹe\G$Q}TOZ2||u|sim!ZJn1g},ܮVݮVqlа8[g,6s|:3a$: 7uU1&rPVmV1i'J̥q; rܥsz'i)yBW.-ҭϣ _ֻY =^-2cw[2,8Xfu@**ȯ4:%3|!\*0a 5ǰke뷜^!U3I=J2.3&dNadEĜN;0R$i=ڡB W :6(bMR:d'Uɚ:ʹAկOV:6gtg+{x8d} P-W<}0-0Γct!],jG4`\+{02aA2 F|.̸ :}Ld.WwMot90mP[?%*R&jo;zuSEԿ䪏=eÀ*PR:tw~FW*pG >_䇜NF?8M|~&KuQ\o7;4 Yl&q-]WBBd8gYdh~nlI.LZD@igvLyh dЭ:GXYc*dGXcĖM C!AxB lXz6ךW4~sp~'G4x[uks^5D-D@P }yBWejZ1P݁d ^8r@Bo~a~iUzў'*0EX1|l u,L|;/1zW`*4dY%:҄$l;,GRs) Ra}Sf:2窮ң(Z}L*d9!isH  0~ASsGَ-ӕ&d[}Ä0e*&Z@.obad^aQ VvI4z+T 7QH wA|W1@xhbD-R9rw.=+TR?/,*jzQ Cjx ãKnS֬B'pVб$ [8*- "-TNB_>/$(Ծ8˘N̘?VtX%\AwK# >_i5 ް{JˎU;w cT.OERY+r_mZ]a qAc4L:B)B:6J;1YXgX[_U\kQG؝su{NG]3qX/Q]>`B2f|ֲlF' rkvvPj!4tvS[v"ej+OLD$UP2x~.n~%Zgb Aþ#S? kHgWؔ۬K!n𞚌p !;V3@rg Wְ76⿍X=Fr޸ve߃'V/\~pCemCDuN9֑E'eýU!+O1{z$*|hcm]{ZȽO/yzϗB>K3 .Vꤡ iGqq`o ;I)e32Qp_H>P7)r|Q09.G+~tQ: @CIRS@hDvaaĐw ũe5#g%dY}8P< S%NѮNO &L1BZo@C8j0}Ah3%~:Mƣ;*6P>C5#[ Hy ) q7쐹!OϨս&BR]t!wMj(}e^}:x#L.IwJ&I,ja3#uz"u*M1]LOq& D`vg -l٭IBeDQ줵!@p 11m|hD;6HB`إYDd.Wؔ@k*HeFZrò \j4^eG'q e“%ś3> gz>RSG;. ,Nl>F0#7v0v=*f(!_jС(jb]49m8Q} V A:GX`lE-A*;L$J6RN"*82+̛>D6[ 1X'_Қ,c<x.$̚BJ&[kts vo=7ǖ}1 y _P7:@%~GbEYG.>zBls\)&U>(47ES=4_. "眜$Uz:D3"YYRzSU:KF8ΨpClKxeV!N{V9 l)Uß#l2SPFz^ZאYNLوDHO/T ~t@)-&'< rBkU_N}9240|Mu^{'`;4LJ5ȝ" o,9J5D1dq%9|#HH FGޢ0>Pgt$SݮZ$GG߫ȗB-mD(SsT"@nv9RWkQћj39Rֈݝ~kaj1A-aH r/o~g!Ujʇ_.klڹpYظW:Qoz@óN E1 )T_ޘ6I}\gUnGJJ.N-&m}u6u%^.q7Q;WS'AFy*Blxİy0ZE;Ku &I2MWp^Fqf|c8oR! p2մ2yד/r,P#@ ckF\} {ˑtSǤt C$5Og޺Ή*/ЮːlsbZZz=kLTϼ|Xdzqk!hsjȳC\"N~ڐmI:&jD^l+p&ql3sJz̒@T}kawSP/2 @-{X yQMׯRۙQnj:n &emn@P0wf\dZ5y'[Y UƷRn6NWm)=P M:bjyW7MTBP 8c}P ;N%N{ÃBuijK싔kS1.u03oQ"Zt6*NRd9Ym Dx}M?#C*}*q-B@F TAz{ck@\!%cXR#,<¦4"W&SBOKZt;UtM2ugG1e+r̯L>A4\8mu`7{3]APڙ~/tcxWY~P'4Cj0<ox~ e䰚0kj:x0(+7; &f}2n6ĩNM0=j~}`j-ls"TWmș~")OV [+ 9氹.^<4NxY uA^ c>gsԕY%~7sF~apnJ"9"0T%Ty{]+G͙mMނs? l q>4g0Wd23qQCU=-7fo5@SWtjxET< 9oa+ܵvuM~9ggbYۍ]ܕAu7^CDΠ 0zhxeUρ$E}zSrjĢVk"vBh#J Z0f:q|CAtw m(BUӤ~=l,+QfN`pi'˴J:(0h CK}謚.e4)FF ~^)*+D2gyYF{]G]#qEsG'La4sP\i2 ^ 7rsWS& MEU(1Wg,y1_vld8;IڢS~N]kCͭ@m9y~$,5 1n^.Z%rZ4, h+/=aaKse !@K{4NۿDvq_Cnۜ3Kh. ݆uĿs0u?)4lI~fypwpǣ8_]ƛ>++Gg`&7! nE\|("Xy+XՊHMx ۋz.zh=O#6+M#`qNޑsv";];d28UørT1֑"h c#F7HS(nq]Z҅JE|.Q&_=o6,O_^CTjuhUEV!)"a&ai&cÞh!GE=Qlj (|X*L~/4' ㌅(,D[YD#AeCĺ!׆3)08?j9UOQa1R(hm IXew/dpk߷uLC ܵFiRFhzOXz-|"ќ |" 6+ȖDF6E]a,KEIܹF hmbGBJ"Paca'`2ku!f,Dy2'`М$J !"{R{v+a%rj~`@m`PLٶ7y;GL.} 4{y x3:,MRE$*罀B6mP(ڰ1 I>#]΍*Jx;a;Z q<{%Fj} :sG ;ɥOh?|ݿprDe b'{ŗ 3b~~1=q%Z~[[ >a1TS><6 n:X,pKy &] a[\/^W,&Ezn\rG{2w 8^a S )Dz㾩}Dvs繣eƓ:u۩Ă>7!"gNƐF$?r2esݬUgD6wuz}oXeH3CR;vV<7VφNYZn*] њ.V)f9Ԧrm#E"$zɾ͙,C`6nr҅׸V PᑜcU=IS|'*:V |&=r=4˃x|@O$IjQf1zbʖݰo"_"O/Í>,;\t Fʀ5OVA@2bkVK:%'"\&A03f\|m7KW^w٬(u6Zrn9ͩJ9/gcfSa=~y oo2eBp!>gDC°ca:d\U+6?6@xQMζuYU*AMUA751Mlbd=<ګ *5h7C`cF|0Uv~tbgxOm./)n1CW~E1_cW^OB`)|RkWږY` 3 ΃׎!b9ƿFSYAˮKW`ϼD-T0tA[_z ,L:aj xSzn "O[׳P (_ҮC~{Y ^Ҍ~|cb&n:$oEJ34dKglyw mZ5.@aZ_}rv4Wjl -j;sv&f3zyvj-)a1|jm;̨] 0Dk9jZ 2~d "4"z iJt?l;~5c\L42baqβa5z9o;6QQsdwԪy*zFLWJf ^ >G"ytF^aD~ 2ET6|L Z,/; sHtҚ'g_)} ${ hW߉u)ةj}M;2o >^Ȇﮓ$(p+0&"㾢X#(,L Z$j,L>'M x %:!~R_'2MHdW< ^EAPY@|]P.` EHA9"3 G_yk֤h{CV]OF"a}̍ _gt&Fσ $kX D /{(jEݔ3]].Z1a#>2=n%M *"bF V lM J˒>ZÚI{[31 2kGKPN9MꀊQnXB#_z(LtO85i~&e낟 .ڦsme#v5rqϪ :wE趛VsByU*ˎ8`aH?Pb(-Y30=N-\͋G鬬b@ V?{hq#˾ZKw]6fYM {O?sxj6,P'FBFb3Ҹ\e,SDp-aze4B^U!to nՂ>ja;׀Zx~ ?*|C 9J9tY7 GGt~16SG7Q`&XT\񳔔ZC5MJ`4r+kB FO8D6xOE##! ۪CU`)+\6.@C)8i7Q9uMmgSUi`@ Z,_I{gwJ y{ Zo-桦)evȯG1%ER/cb/?_&k*\L}O>J_t#" @-\0•x#X(_N?ӥ.àob^ȣ]+z^"ʽ l70OX^7UK:Z6-eQX|MC-÷#Σ\ĚT= )ŮrZغ瑜Eaʘ'`,mg}ܟH(SA1ػ+ ` ?[3l[N"ejeHUOr-m Mc,.& ?RF!s8jHA'j!n_&׵_3 ! "AD@?]yy@޻k83d dI,'㤄by2^Q3`'$jL3(%+X)hOPM΢ Dltk"=T]`8IfՂ1zO|[GU_L @׎qNp7ö妹T ~4 0 m1?*{q;PX|Bη(}ܣ M=x4d ei8YC<9N{W;944[ >Q\i~X>faH ΐ nS3d C( B%c0$Œߙq.eĉP-Pqf.(0E)^{]3Jes0qbI tql_yΪo?/K6;RkСD>\#abS!Y״ jRmgppgD@AaYiZ 욄vE0'cѭXYŲRC7o\>18|1.CCT&ÒÍO@'-瓗@pg@MH}Ḋ]02h_Gzg[z4\ؑVsB\7q6Ux+J\ & =Lҫ5ϓ4V:S%B ?8_EX#\mw$t;ۍXpsvR"`\S%6'xVFd0#4sglB ۯ~@iPq#X: !C>rl+ 퍛ly%mYA.^ {KLB& X`t8j ?TKujž[x(6GYU8{P_Af{0}lDmR?$.@mQvz] De>l qw[d3Q3"c'nleȎX>ooڽ| !:F޷BD2)]Օ0E&O)R5M4ߵ>GO_rwmҊ" e=]7(ۆl!PȻ&JY\-ӅC82d>:LN)}a#]ow'p&O޴{ذ>INU+HCOiWo5ciPrceqkqdYPBb/.)";yP {\Ai*P%$oG1N\8wyZN.4<vWmC*A\,<vq@{.|2VQkۇl e*Ts)rX7֎b(|> Vf%5#hao6"+L=n=6:+8n忾$`r4e{j2GpeO=F%; VC0@hB}4,*N!m_$!raFU~R-MJ:G62tꉄ-A!T60P:NN^` /4r,AǦ$] b7!n(O#˩bTT8dE2N@ڮxm=L2҂@14</Q0#Fڡ>}o|fBHQZAkQ&gXʛ6wKa-'㬲SCA@p;[7EIM Oeތ w,;?SV"뾟0?&1K_^~xL _hY%\rd1(b&k 4C؈!YELOŵqzH󁨥VLNL-[?OED&aF?.2uvUZ!u<a{/##-j%E}/KwRSg;[ZqoTo0y"9$Ư*i,X\pw"T^?>6(8Hc[s yO> vһ䑹?䦉oИi%tdvn&dB#ם`yP/veşf~ㆁ<UN/ΪY>t~gP{+]jvJBgYOR3՛g!Ϫc}QyF1 OddPeu4x6ǚQp}sTMq),j89E%3Ce\9,5)ha#T-e/=Κ4B𔇍Ε@hڂ+?l&FȮbnjCl۴rswX#pۄRB'1\{+jendU_fw~bv4,,mtR;mu5(9RD (I9okr ҆G$R;^΢B+S/kl]TjpaN@~4e#puLtJ iEȦ wG*' Wr6Em]d`,/gF]FC2_%KX@ep~V+o_⻣VJ>&^C+Á]c^3Ѻjhws,foH"IȂ/*gQ}Xi~ ťft X?˲Uo>DDJV6D k҄O| CBEZ7I(2?CE[m7TLI,ٺ sct*#U[^`*ɴj%>$xn؉&csQr} %>X4PW57Z KiTn ~[D:p!%(v RNvTqN+T`5v_Xj*;0k K1'n}&,jYK(hQ| vMTm-6]qv~E][:cN j7YM(l 5C3N2*2Hj ~ՖڥF " B:(ꤑ'^7dg)'Ã7vG gLR}z{-XzdCVl+Vc]R?wtG18yb{ZiBq;ş+5Z![p1?CemS~(PI)gzCݩ9rnn^!HWIIpiX@ R d萅!$NL|b[IV]o@/`~曽fu`f9pIGh50."yA\ ;Z:jAs.E+%=Ht2hΔ =~[ H:ln ܁whq.Ύܓqk889]OMfE vƌQ> `Ҁ&Ѐ6B)’eqU^wto<Q6,L-Q4Ĕֹ`h;'s=98a;錑A&8C>e g4s)@κ#'SyN񆡊sug(d'r |`C:"܋G%(a1._HΫnNKv^fh1?,x^iGsŹeɀ}MQFOf{ CB36B1xd kؚNta:zN:bm*tN4yM@% ;xq {nP<į㖄UnaeK߾E8+8* nԽIN+v0l3W?%*qWrŊb=jQb⠫D4cG2+8L1lMM[{[t0yT0b! {w~1ڣTJ8WSS +Y[M؜?SpJrom*qз4щ?ۋ ~aYF5׎ *|k7p } v"iP^c,6 7<݊eX$?%MƐZzg)iA+,#~pgDD뛳;(A7JD+8PA4 *}R]~r'[n Gıؠ$J\Ƒ0f"Z鸫+noc_NMZ=TȺvΧw@28<ЅzϪ^-V0 R=_V(z$?' -|Ŏe;0aT :7̻ȥ (z< g^(S)84}|;`C_fƻSBsT&8Π6 bӜ>f#gj0:nv)jYxʪfJMU^H=Uup~zݖ(`qG@C)vڧ|2lI`vX祇ŅdfZf6*8Xc!M4r^9)uWgyt2C4ce;*uJmrhhj:yg%IT>ǩh}03#^9k).;8IS[._[d4Y[4FW/fPAtP"Βx$L=9KI4yVY&Nhw/HP/]vZ}X3˘ݐ w*:*=sTp!YVOvingLHR=z7R]Ohd,/i\vŨ `ݗ8 s 1,3_?U\&Х+eCkUԢqr~f1J?r̥`a^|t2X0{=$ԺZMv灐JO`ꗺe\Vhl Ap /? OL T ,|{ trdGt7]P-*rTcNixyIpV- r <%49`+"Z~:|~sCq CPtnG@DqL1r`Gc P#u; UGG+j,g0)'<e3r p=胊Ř`-r!,zGN6oHoƕce;5I$EY Fp/1yv8Hi.>RTXHZN>ldYhRhg]!Y\Oۓ \2ڄQ3QeWHP+˛h):> @ē-EXq#(-LK'PP2OD } :0g^8J-洱^"z QT-MT'DA#DY ˸ ϐw5}3bs\1]>81V$yHp%$ | YX;bбgFa0#?B~OC`ӵÏY΢QG#D c%+*Suy{3Lv,tl֌Q,<]O+ǩ j|EǔV ~G6bYV]>@ ڊ()zЭu^c^3X`93x(DxEw~RCI9dj@DKa+ A'x%fXq(WC*4:@tslxH5hhi)j`ɻ<6usvI؜m}=p_Y'{tѵdݵ[}j|&`: &eq.Ϳ[Oqб,,n!wMvS.;vrRsQ? 2},A!S5^D,*UPtpA~."JQNxc4MnZ¯ҀD;AQH߸oKZ¼ՏRR#.uwgBG+Z~ȱer'YHL=J/ juEΌvj3K":]S!'_Ro:zUNc,àx ƧdzZ(i# Z9MIbϤ  xhy7VKH;̨RX-t7-3Q6->=:QR44TGy\dL Kϩ%C*;^sR*" D,ɦvM'5 Ds#R kP 1e \Q, 5D]m4Ir!r_vcQߴֻʏ,<`)j|qR'$mlrpH" X y:$S,- Dc3WJ&h[颀 .%,E8AE-NZx/LF@%bi½_g(̘9rYIBS̹ޅ̠׺_vjp.n"w\Ȃ0\5 ks7Uju =!BG8nS'LD̅z7Kn=bLgōfZB}^ w8Sycln 3,DH8j/*8u*cs$$ˊeR0sM On\ʆBZ:sIE燪MMNL20.?K}ɍPY@-0rXlE\I'3\~Ԝ?x逧*$+UESޓM%RM+tƝ7KLY C(w XY@PY.-x| TykL6) :VcdLpK]\fez9$0KlJ /[R%F*8|jJ(ëݕP$=5~ MDLX|qMFXgxV aAP`M3Fѡ(:\\j{5YԨ2.x`"S@m02j]5?YɊY&w4̹|`j-f*0JzF2E@5)BAI(3=&<}EX*[p}IUKB#k=L &-/\2b5LL{_?y0OxvL6cFBxFⴳ Dt4Wx 8/Sj.KqF @Qga@;S8*RL?Dg:SlSƒϬ~kc?5"_62CVMr /<{`*93 glk/tFFjb0 a^$Osm@qCr_:Yr6ғ; 6Q-LRl|[ P"#0vfS~!.>G%C2lGnqQWyÊSMLtKW'Ei/ҦF7<=b)J%7mę$ `'wԹt _+ܞlP.N*@Q5K8]k}3O0ɺVP7Z28jv?kp4xXt'=˙#G7|S(u铦rTO[.:96]sok`r}|ePo؅)Qyӡ]YbQ޴pfْB =AfgO)-2S:TJ߰+mtիM ެg e"LE2߱\<1UBL8B\uܶ'7{VK# |Z&ftm*LMn5#craI!L.&43`ۜ狕8wr%cRVkY)hsuj88xfcU찗5a43̒ѩJ?I%k!I K+zD^j:#(V[qIe{^f(`!4*Qs߱lhw{Drn?IWb76[;˨x箮M(.:PiGaLbA1军B|̟<6Uq|:x!c<2l$=8MWG F!hmAMôGJ-t%t!o;~fcH YUyҲ(:Y I*C+_w2,DHŸ4UEz+0ޚI*$ϯw㾊g֜tƘt;΄ ozN @8h?B=H17zu .7uV6䴕 R [# bhZ ?oe2,"[u'S6")yr,G|1xѡsXiӼylN[[,Mh?eTZS;R&q] i]N-atC㒄 b7(A퐾S?1dP9S;\4a !Rc1=}sf=_*:P17ٹ%bM&zhfkUieɲ$9{]7M!S)b]EP}}AxHS2c0Mhz>p?҈-A{NI_grJL~h|qs%aQRͰX ID5^WàUENx$\A(A>~ ..-Yv2M}=X]X p^n I{󏏑%sߨv'Kɚ9IduI!;0Zg%0Ę.gEñ+T;k:c XUyn %^R䩦˙oָ[陷H,f5.NFI?YW(`sAoTT=e/at:okP $@2 {4οmG7_IWsdPs#@츋]wM)D9@𼹍 .M"hNsBxէ׶#b㌵_Ҵ)( J%AB|D\G~7#+.&S8nqdw\MPWM)=v|z֑iRL+TT#׆xəy6Iɗ@U{|yfCPJ]+f>zH=[#"v<*^$Z"#$KpC}B=sy],+O}ۥ䀜S*N}D:af"z28]6 mKG);Ut܈XTVOz*0= , 28 dHHt^xY%,ٛn +X uq̻QuAr33LHǪ65h<ݪB҇{?ל9hqۅٲ])`хDճ [4y!!Ɗ#Mwъ̆!(HQ|mg eATuTf]PhF63PT)3_-dڀ366 R*l(?,8"]:9v,2yR&ҤF~C0¯']K끛aLuaQٮ[@IerWIش_Dy{H-l2cYLtaϞB:QonO;ulpTk~l@}ЋVw=3.w<Ѹa |I>Hn k3lۉ dgrQ t i)OF*';Q5KoۿKݯGhuĠS@$' ΊukІ&.p\'@3i+ϔ|XqC_ x%jBuMgl[Fw;qB^p" EoIex%FL u^ owb޼j72hAtXp*`Cea+h2l>O6Om2&q"\/\: .\֧(,z놲g$l=ϲbm."Ln`G. }2j؎?9ҚbQz'pޙ6/=:Dbx-d"$n/fض pcUQ.;Bb Įͅ+:t}4'zg7#/|/nT],UM4J!m-2$x%߈ѫ/O"𼆿Z(w>*ab~๾(OryaG˙^}h^v},(YKmSAi{AV&|GA~&4RlEE;;:h Ջ} N 8 H2~ -q*3 7ܕyG9_QayH:j`m8-aUq%q^@B*%"0[Fs"ԗI ؋adBR+&7}U+[%IzV-C68;%*oX+5Y+6G4R<¦;m [^Zj-c^6c$ Nv1!Q8b.c??W}ŕ.YvNdbJ رfudtd]mҿN ^$=L{PVgۖ#o-#DJʒJCfq>ne0؀EB}aˬ,q<==C|`uȁDkQ℈AUm+4h^9Mx!(V*  [vv?E[FM'Лw9WE`wܰs$ cPM?="+#p.dǀ3Y-%'תٴ*`7s%`wXlG8n7O3ZtsD)ޜ(/Qǯ>|єk\(Y.";3MjW1mloۿ ?[ vŠ7ƋbTŵ<2♬c;2 )f2|1*O":t%º5BUROa7OM_T ?4v|Ytܨa49[v_=+ Rgpnx; ôʵ,YJ"_ bE y$’TwTDKENrXVYXOnyx' ?Bлr7IdS"bCǓ/&Rߦˋ˃E߬Jg 5 Mrއ^m[#jrS1Im"Gf.t9#nm2R  +-/BMKDQPC+U撟`̍ 18"U]Dc"̞_!ITn5B CUݛ~3IJUHWo"$W1D\;'w m)g3MvC[%pn{ֹ6N:}c;W ҷa3q8+}%M嵿]qOC F}(۶?;nzciQY0ͽ)T#rHxF"UY;RA P4"C?N)}0oc]h% (/=P "||k `gmwBaO-]~fEdO59n} t=fBV @  e3hF^\%%DCk÷ WJ;Y&l3\s뿥 {_J$Bn#i翣mC%;6Fdݘ7XQPNe0H\ }_[lzqjnxqg*ܞw]oK)b"l=hT"C'vZ84(o34_SoW\?yέ]qo@ވ X3{Y~tt?2f׿p/ k}ĦX. 'ToX-ɩSKb8,G̭H3K!QORsH95ypzS ԰tv!DLA $.M 28l 5 g.ݝVpxG;E[r}^h E \4|W}'S*3L_ams>Dm |OkQl5~ A㲱{H;:lT7yts7G63Dձ[kXp?SvcQ7M*y$#Z!`h~zgu2`w1+i [+sDiDZƑ'<_œC+/իn'qNo0cJ/o]uAQ(xKUGç)äsJX=YfyjvV=]zϥ pnsEoa=f忌<.^~o4*`v9}]= Si8PaqKcׅ0{91$OR^% #輍dA<{1Wژ}!+r>tNxI[FJN]q I0߲d% נTt5>ʣEg^RNB, r#ʊj(On#:+~?uzVw4V#s;^l ,0A+\;sB`4IaG$[RVMހvi%3m h%ޤV}o'Z^vJ$8'Bq_fMly1|8ٗyY.r)*TԥR*7i`y:+A͈^>T/-a^a{naOphWszlFs0$`X6t4O 0\I7i9 /&k?=C<¥ʠ\7]?4:I[m;ǐ6Lo83#_YYфܱī&8R.Qʐ7f4?6*'?KAI\JL~q$A?cN< :-&}ͣFV/(l;{; p[88m67 !tSrZtKM |l+BL_19*\xb3m/7%>MѪIlQ$|ieX5k#iG3k՜rYj@}\)X*z?FkFzSz{_CWȄK< PB}%zc]pO[o]V W2CB\bWH%QG@ iݘ,2]b}QEg\,"D(2+MlQ{SP{< ϡ Bn_EWbav Tė{1\!;_:Ԭ\g]cqvO!|M.ul5%jAlRW\ah/-9W*T^eٮm8\e+>Y)ӺkW.촰*BR%/[^OJP1^rjV ٓF+eB7rpӎfzO pD>0p,"P9*  - ̞DQȞlɋ,u^-$ooIMO w֯Qf(a)\O<)ʱz_Mwq V<7:}KҿPm<'=֎Tu%n'Oib.q)8rMq*XLUW3;T*|7s\?iNA:?rt Mɂ+;TY.mҐ\5+ABG7z?V8,hӳ^=$pCy,B8/(XO^KTWkj6 _NJQ9-&@$n%hϔ}ߟkIow)xH@9美Uwd@HurC}QQz5dTl"DD A1zՒ/Ym' ㊫Lx&ͰeJ.qCwXa7I},sQ=҉:?2BD ?^csd] %8p}Q)f8jˆ'0 !Kr Hfͫ}*4M;_ת\Km}T`W!@C&p#ƍy `Gki'׳*-r 0+.%+ "+e{h;̋Gi:5`>Q jy?DgpgNUz*{Dsc*b f0G(lv%FQ"\#itL@,EE-ѲoN @6m^kd/jy2-6Y}y'`6yjSD9ZՂ|)ۃxkF<`VLN66t?o 3;1]s%[ih|흹IqX>6I*V.VG!Fsz"w4'Λϳ!XM;6|RRVs9;ϙ󱶢q E?W"&@P_BׁI)n-C@&ULfxmd0߅wĹ#Vr@Cْi'4!W]A_Ӽ |HFv3p=]of~}c@'lt峃+*(`bϳP*YI=\Xew+PC|$[VL<~;!eԀw`.5\BvR&0r% mc7 B{tƔָ*ͧeZ}{[#jRkƣ2cj2lIlA{pźwV1#~t*ocL"(x<&v/WӦ|yoKf W9&+S(d81fLD#6ogɈ3 Z% 12O|$oiOPiЛ 6g _`?6cƥ^w!ĂUXo}7 zrwt"iJH=^1mvf+ggüYUG>+<*p`Z?d#< J~_n wƉ |W5Lg[ҧp&Dw|Dm{9vϗy.Q\'|~ȈP'&g~bB\&O;fP|W bMЃ;NPV֌I|wW. @_(Ӂ3`EM(8ŕ2_M%."8|-ӲkAZHA֓V9v\NH>ZT/AՔR׬Gjf ɧ@-u5Sd{8X6m.ĂJ0t= @>)hhdW` )$Ή~_y7 h3Ga[4XҢS n{ Iy#E{kCv`&DF]8]bqŤ(fR{!~CC`\c[gs۰5d] L)뫋Tj6zy M~InI4QN}5e"͌V=VrX RQI 's ^AD({NɪfoWC沙_n#@m5y8pnԂqc3֡I? SOVP0ͺ@`LoJn-zqX27V?T^\$7;U_xcYk;{l(R|+L bRDk"(z/SY]EZֲ3&g릢2,$J}:IU)5hPS@ݶ.m^-JTu H<2p&b.ʿE}:_|kPe%¥s%:W>ހԧ\!oGU䬋fYՇ]ӝ~wΤolA|K1"3є "u*c&eB~9ExǴՅ'Z8w8}k!3 BAZo3=q sgߌLVu ~2YWJ0='%kݬv~t3'IUd]=mWD }HƾT~-R=8BzϭY*渠<$'AL!Þ%HX *.fw.-NTlKkl{17#&~~k+'neR"k`%ArEm@ 4(aa hy.Ը,^}NQ\5 7WhQ#Bmb  srBEת=#3 #il ?˓%a=R>`[U;rv „ߗ~{f|SِY5djyFn'Akx_L[sX16hz.U Ni3祡J7XONu.WcؓT6\{0n[ xOp-NBJVm4s s5/xm u.K;[T6 +l(UU >iF"#n\-+Y_ (Zd8FEeV^嶎 *>|3[|BZ1 Z`n0Uy4)PÍ_b\Ø.C]&lX}33Р(f*wV *p>NiC!2=iߧnӻh1[Zo\{$ZK 79rJT(w: 4I Tx%z[v87Ek8%ع'C(9y_MFgL! }ۣ˯L̦hBZA+4er]`r@ ַR&Sx$-z^F:W['d?y4)EPbJ6~Rc~* u,?(ğaD.zPAn#F6=C-;tL7CTud5t9&roGp( c_!*6JKg3fgx xpD .hq@S]{/V%).<)/ vXwMYߋ $BE/h${xL)|bCWOAqz1 IMO&qfBlb_K%nN1/=hUM #~MIR?g8pv7fZ{)y9LNo:*I)z"h%u~Xe+t꾤e;A R8^Zǫ2]M uA*rqa za'X/wFVgMPݵoIp΀}Ȧ,s0UuQSw jDr!A7Ix˹L]Fx6H(2Ch޺.|c\ʂH>)n n ziBIFX'Ri>GRtF3W,0˫Y3^'R;I*D-lk =$u O'qt_6 󅀇Gck&m 2;իa[BBܟXg=!G/3ImՊs4y,n;eF+~ڦ)5!gcV&-J eJ_aCL^ifNCO0vӞulלaRzb${EN& 2! '%n68bh`A%paj 9 U']`*L$같4^G[*Q _.NTyeUcXX4 gVQ_Sj` {0Ggv} p<q{.l;rm_ w:"q%Ah:s2=*fmhd]woaaPYcq*@ݔ?w|vE] pU CA$/<)nEܣ )hy{$xЂ:^V/_(xU7 Y?JfRuV!R~6 $_ђ2k',k G'>S?~"jvi&E}ڍpo9bCŋ"|z8*|Ly{f>D&¹=*B.E+~{tc/匏o P'0查䘭HIq;̌C0V눹eLjB)W-rgS/t92+ـ7@A Aڊ)3s! VV#xJg^blTLO>aS{g<k}\ JRVA9p:1ˍ:z262GKk\c:UB[ah8T-Yޮ 2_dyՕ׾@D6&(y'e@82`9zOW)5eR3[Q B4$ou2AUltfɎghaz}eY®c '* &("hyJ9.FΌ ʯ5a/'HhUPعboq޿UyG42~|ʹ!qa10β IJk#Ξ?e,*x+cˣ9y uutz[ڞǮ810x#`J{G <ϝZkY cm2yjԙ<! 4o,-=$Q sv~K n kh+qTݾAm$&U#xe, jV2gu).C\1] i#x>.7a5Ҁe0JvDǼ oxVg<[.}^.ֶ%T#ӹ&paש$>P`B2u)DECWvTcdv}ߗo'#uPdFnD"N5;>XRA޼I,\_ɻ )-qnyC3L,bv(MQ'-.GZ^<z)T9;zrR]6@<5P:]bj0 됿ܫ4@ϔ/^-#RP*EgެHh!M@#Eđ^R qRH /{#Y¬ ć0OE zN \Ve╰!l;Yg:YEX;Dጴ)MHդJ:7~ڄq&_p:zD-( m 5dOٱַSrQ(D!fe$dzr5kv9 JW8,wLۏi˸[U ԱB8 Nߴ7xxS:3bЁeۺN(IF Oj]&1>q-]7͉͇H{ /ч"ђvEB$H?B~IA. Gn$ykbc tA\Ifd_0DD3܇*t(ѭp ?.єjp`$v@W,ŗ 6Z V"tDUĥ HϚGW@mLkRlPP&`cND+ 4>jG39nj=yv?r'aLc*(9رK.L&_SXyEb`7JOnRp=T7(lGXZMYB'^_HV7#IZ~__$ZUDXKMʐz@*#nLa_xYV.f.ap+p?R~ gzXITkŨ%y?IM]EGcz&00PŴj>V}eGK=r1c.W緃xGR~eVP{\ %`dn;K^b^av 0G3km}ΗV omOO笧~K#q,r)EDjvn G߉`3/<$!QIV7Vs.`)t=ʯk|e)Ȣ%~ޡZk(SLӓ!ܑ 4N)j:7,H`8MҎI'b 60H^WCB 􉽾}ɥ@goaITO 6O6][vwmw:Y6*8O9BoLQߺ *f8Cd5#d$B0Hw%"@_SmQOB(Bq5g{w79W/T< )ϛ,~%")ʉפ72&eLjLU{Ue @<X`skh?~(i]R@?JM-}yش@x(,? )2EY93Os^)M舎aQ+wW3ˬk_ߊܶ{qe,J4sS3GSnU q=lD^M:-V^*;3DlV/L=4K 0 SW>:o5> MSzT["5ߞcHSvuM=CA 0/*+J ΅&@KTBYŭT<+oջ!n & E,3 #䔕J~qgG+ْb/9 t3O~s g$FV/R(Ji:leZzs^;|Njaz 6*u j9iʘ0 CUtx# >֬琗ELr&}\P/m9u0B :1%$AYG#puU[ۇ$&)%1C$jH+nPNcrBWMܽ&X]{ΰ>D<,{!X^M_). f֮A69EqmX'P2}J(ǁb-9h\$NjĔǀt>*C6IVݸ9JRڼW%ȭz''bqcۍ۷Y~}g2 "k `z ƵGGb+157zf!A)7oƋJ ~dn8B*_tnoXsh=qfxފ6WO\E8VE#G{4r?[9&0!sC7~- 62RYLG0= nkݙL'lRnkCpjҬ?Zٻc.5=!W͒6sR'P.QmnJzd6߁d`;e6 B6%РmlQzKEK[pfUk+!S ]2% Y^Ȗ;Ἇ%R @3`uV՛/=w9 *F|sM;W/o,bґLW4o솘x9"\Y}8+Ԍ笎j vKDq @:[q"RDok ~]!>l2Q,H<>#^@'0_ÅCybA"qs2[̇avliURnS? OL®}? ·e6nF] >]CF4ٱOR͵q5)J(97r+gP \}q }V]LuI K )KƘ !\T~y%FV漊1ߠ0^TW)|6ܼ%ga((^&h Ѥ/K4鹆Lbjg#Ϻt,XL3T0i'pb}:Z:1EA|O֏j]DvY+gWnUV6Ca;< |k') ~b)@kkq8;"{Lh_'r#ؑ}fAgLB-qU:Eq@D_w"@M"@l [FIBג\TK#^kح΋&V ZC.f Rz }qB*-}h2R_M~<[L9E?@$s1$Ouusk3A(*lKw)%*/Ч2E+0MژhT%D3|5/f^#gv/|5+8 (WਲIn&rmG扬ء;*^G0yɞ8i34'($M㚒9Oy>uRAjB֢'-i@{>%bUxMIaV c'$F5c!Voi/MQʼn76R~Oa͊#O T0}:c_P`gpk{pU//-=IЍl0" l,0 NCƅ&wy󇛸9 Ex`li]vw&\uFx +jHb 0 M\# II>!ߣn,%$7'z,6Q4k{qTbGu'cҕSSe^ihz$}2b5~k>dt#Ã@7;mtC-Uz˘&MT>JvA%E'GG;$i~ƌ_BosU-@ϝy+j =veq]"-'W#qԼ=w 7 gGEI}rUkuTTh Τ-T;R5E}U3і6uSOprυ2bv'117F/yXK820̇ ĉXXeo(.o ;]\Xrd%o0dW wG;C&0g dFF  sM)0~E,3@1;7^R.C /m* >IZh!.OqRT9in!nZ[uZ&e vD"Jjv& >[1:cPXePLڐ6ьȻj.;+C~sSQ"J*H7GZ̭VlwNSCpBfHEA\Bx)L5!r=i=V>[^F[c:hu`7Z7ښY._$(ay˷`h4. yEYe CFF.@L"FWj a8({$_wJy2zSbakHPU7tx2y4T%^xf0ph霶X^M^6.~X*I+{Ah)Í|!@n 1$M#i #E:]1x(²`.p]Zz$f׃:4Hf7Pq(!l¯_劅^"˱.v ).\IfD'oU=lF=?~g7]P Ų]2=+e31I=RG,I49D 5F[i4ojYNCzЏA^j&B쏻ݚ_M]PJ RYҴ)«Q<|8)X3ƣm|'뮻ӿK`o.1 |[1bdBe`MrÁJ\3=y!˗8K4O7t9Z.K\+s2WxV@ 8fŒ r]@UVle,qe5L#)9z%rC^>v}UyWYQ~)T_濣sm2'ߥJ?6,5[W[px njZSйE ^2:k.DcTWDn:&]-{]XpK%Np l qH4 ?3; mѸD-cv(Ъ"\_2ٔcQ;WqVev?цbi=~ħQK.rH JGur*bTQc1{}F' APF[[:v:<<},*KoSǜKV`"ȃ`aL$,i$ YoDYse!J=-kv3~1 Of#y"M}SL_{*|t,d ?#=3vy$)#]-b>hRTP"c?i8TcPWq\]njߝ{[`SЧo\h4]heڸF|gur;,K,(ȟPA= ~p>cF$trh|_ymO̡AGpjXYϕPb! m7'xGQ6',yP?kT`a5߹>PHyB/(y*;c6dFeeRE.(0vpѩy YEҬs2@zaxH"?˸dJDuD܃wb*¦fkraq+ mˁla-A4~7x  #vK7׌YI%ҥT07=C߃-G0kș녎W<ҋi`sa_4rT$iq Ob10ЄP4#@ŚLӱ0xz`t]%ߛ_~hUGw(sPDB_B>!qܙ`s{9lvL;G rn~or!'mtȷZ3(Jg1yƎ.]W$|`D(/**rڿHɮ6Hlc<ʹ}Q21lq8  yr>/gi]>P‰Tp9b<&=X55zYEG0-X ~`klҾ4IsLHWyMBIR~^2XK +4S(Cgu2g3P7ߤ&+ yI@fP2D< >ӰuJqћ|^w߽RD 9%VDIuXpl fZuF(('QxauOrʤePx-׀$q}A_VRù&8,} !:hIGy|4d o1O >Wi{3[Y Ve>FVtF6/a Kzc"3V]:n`I8J((&,/u`$lBVfipPnɈSC0Xlxk8/+՛jYQ4Xwa+ƻ߀СDch5x[ jXj kP]'1`w3 /I/IdkKQyBD;VwAvjj9<*]~'h_ Oގ^i(^NN9fdT4SMQ]#s (y>/+ ЕR+2~eg!*`]BQ6H*l)'cqaTc b$9B{"hMEE QҐ df2V)Yߴ_ůU_{Q,.jorM@0G(&E?Ӛo8I}s[*+ss n_iYĦRPMjGBD\*^ M6TVٌokk}?+'$ rP!׸hc"RAJ; H( Jؽ&AEH~~Hi4gcȊvP 5>`Ny9£ 8׊tXZ|}궪Quc,5>p)nd̸9@d.oSM+6Nf 6%tqArBhRNX!tze Ge7K"g A vO_lM~du eIc6L$U/dWF#$xh-vAW9@_BA+1mҡ} !ਆ^9;2.S"g4"^ pيU"Q-W4z_M˙nN"]n~.Y^Ll&4?xNc"q qJŔ&9]k#OȐaYせSerMFވ'D{hˠQk-֨ADGo<.T4ndJ05GTm_,|/;Bp˾*)0(ՠaMTKF) FçU;*?Wl t|Ye+M.fc ]K7.]T{eZEV}NkB9JZKlIh_薛HHb&bMK}e{|:G?$G@IUsTC}"% A|<qr\mr+aRv9K :Q(v0UQ>: ѝ!933qnKf,QwgvJ>7{Fg`\l/ƒwў%5&l50Mq_F`UCPpU~xnBôUs rdpf+. M+sO|RDZ~yFSxpY} nr0&1\ 42U 6-|Y~Y-NMu2Du^x61[;*GQ:`1>X4/yj9F&dK4 vT]{!,+wro7?iZ&AhYYo?eet6z\?7QlퟍVCTj;NnvygDJ9H)#ϸm3ar咫j&0KfAsw3=GwyˣtsE}F`'nFvr!T0\Jؑaim XZpQ#BB%|`QQqVuy9fXi]!NֳoQ7v}*gsX +*W @rԤ5 =\!5 |DH@Ŗ\Ϫ~ Υ ~ڨ@[y|/R ֛/_lʬݚAc GC8MC %ya*v*)~l7ޕ*D[JGT0͐"D5&Qv9BǐhUD8;Ԛ(]559 V AnԻ#MSc0ܑ)ƀKTW\9z!vEL c~2F?"]ha[|9#8U]x"PNkf6s4]6tom@n=s?ha_o Nrh)=-$ Iע0}ݾ홱8^_7橑p}%ƋemLv5~m87*+8aDAaw%wAFQM#;Q`cf'9%y*4`w4@8vҏb^i|| PΥH= ޗlhP!s1OU84liz[bd<a͡~ G nVC8X8hg+g"pO07[ %>t=@dxT'<@ժ!JFb1X^m˯[JHqЂTPZh|"YI>qԢ@qTM/Ã١Wp>oHJO<&AC 2;{J5?T2XN UJVq>'?i)ڗ)0?[?- .3Q7~\:$u$ `1Tj*sy*z2TB2>9ۜ\H9YaJ줫>{J~V(pI!bgƟYuC(rÿ~h  %ٟk(*1*h.*T~6J3$ +D@9S`8&)هsz>䱛q8O]ādz'Ц:F$GrK!L$v%tַŨ9Ih#_qʀoj  /6*('PYbCA{r_kEuvKp ]I4~53|!if& H)s'zCBO1{Gj}i렺Mɟ-#7E,?ͅ$lՊE7+͉hΓup&͎tyA4Q"z.4H ֳ $tL*:NcajQ,)@s~b"LYb$2]o6؏/_31ƙ%SL7k/ *HttO wJSb'!ObN?Ae'Fd5: 7|ugXQO%$5RoşKmz r"׊"cv# \>0J}Hңp:M=i}Eh< ]69lX? ,ΐ{=^)UrPm0XgVwv0?*:ipd>-P|듑NaڬM+f&XN' RF_=x#}zeP9q1LMg| EIre.Y4W\c+R/D, ZLaS,f,{`RVw]9]iPX~0D'EվRc:sc(L0JcdT8u=#$Jy>(@5ђH.7YdֵEŮ|[64sn)fS`'drZ)ɪ-VR*iq,T&;y LdcLG]cYгBE:ƀaDZjmfIuakRE[+,_ w?h }NLk/+[纘q/]SGN0h筡($)|!<0a%->$o[P}1PJW.=UXcűXVܓS(yWUTW2^LwRx| +~ 7? :a+%P)Iɖ{1iGUkC *PP-DqP%Σrt΢CݥPwڼXu|hAE- ^툃F#dx^4 '?[!s' 5gryB~z&ȤbS|p+%Pf#!mE s0q\]J`wv:I`ĚqtH?0<"ؙv;۪*OsT*z?weaZOGݳOA3FgHn:]l],Hg+{\[ʫ MԺs4zʢW^0HTݽhQиA\R%5gpoe|sinǰӆ6ed߉?왻*\2) rM!j2pEE[ps9p$% : vCNOZxzQyso5Nr8YP’ ԹQ\e|1.fA urr>m09bX `uEo#>k>;Nl5ndkA1gTTf Ų2p^$:1eE106vES+3Ze~,yi`U[ bW'ZX370/n*F*Rs;Q~8)sb8bОWYBu/ZB!Ph4oN"VWSzfVKcc<P0n%%۽σ>SHV/U^gmgYW0[^ϗ&bV.%dn} ԨyHӽDU!`>M;ib&'DI(i1 K퐯X~q= :5:l;0eGC 'l֏ cuAP0'⑾aaSCfz`jw~F#&h__U,8=@ak[!M`z,6$ =G:[YRB-IZ`P2oBjHVb#S)z@CE+j44E>fkIiޡMˡ2YG$l}h^{Hզ0p& [snxF"fsׅ;v GWnO Pv&G+ P2ۊFrUMWjU<ɮeÆ$ey;-RGvn,<Ȗru8%Θ e Nmڂ _FXpXl=(m jviw䭥6?Ů NAE0ɑ6b TNAGTCj ŪW(c iG?/|d4us+q.QTi}d#?7̮9)KԞ$MjV),XY:+Ϡ@msf&X^f ~ufӫpʙ[|"ڙs\͚11M7i7hZXܵrATm%̺;&ƈM"W;ЮԢmY oj+jh1zAWӆCq"2dCZvnVl_.jlgo'@m0<f}/eTzD|axEj 1Ԯ+.G_2n  zʵJ-u#re^Zŕ4+ 2րwX CKM K a N 8U'ٴ?5WT'sC!PXS~ ߇뛣0.'bι!gL+:8WxM ˌAwktBdP{*;|p<|o%9zַx~{s]>XXK4@S7j( W&X&pCR:}f_&9DlMt'IT WeP}ƣfzF#"~<.͍K_ [>Hz Q(0*ɫXp^? )^!8U(>}v>sLKtQ:*U17ThH:(>aQr[Vf"lT BvEu0< 7.:#x$2zí˵rU$8nosʠ. -zw^w,&0ޏhuEX,?o(G򛻿 N?^ ˪ -^4hRRS1|==p/!$h>)6[ ,0/}BI` :hJZB\[$AJ3& eZCv3M]Vv9p2FOUGlZMp 9i) SEPs\4)"iMVYf'iPN[kTg&;$]UՖ۩hqj OH8M~'M6NZ8-,AE o/0@7Tœ4L JލWoS,I+uvaV5~*09@S)04PS"0: -^!a=Y)I{pWU&xKv!7$iƾi\x-K͊u a0ShQ ;Z /  y*q~5w0ؠm\ۋ}$[1I%}k4Rӎ E-ްۼyuNeG\Ir3zDś^uJvxX+%J[!:Xx_k/rL@4,EChNh~^~|D&1Ǩ10ndEcdB\K-M&OQ԰n#kcL!9k[4J-zD/Ʒ5pM/#j#|h'ŊFHs ai0f4k쎓xVJ*M`O,ZU9vaUTSXJ H {E*Pl/fRE0 2Q6ز2 ~+Ӹ!_E˓< @ qcȐiD6/| È_l'#S`FjBODἎ_BT`89MG|y3D]A+~7Z'dPJ_bڔ1$E5niq8Z]OGcvyy'P I\n"EYP~v!m4JGb`^{ռSMe[_-K.aE;L͊eVLخc?5a;FUp+l{g.N|X\1:M~>TDJɭ":?Gd`JQwb?4ty:zJv= .)ը2[u5p)+頌W|L{N߫D7dزc./=w<5=^#.0~2E;mL&>W(Ft.)SFh+_12Z?zL-?NjMDr Gt"Ō:YϚ!l"vww0=sv+^ ghjijQ7h0[f6f_C0̑-˾]yQ嵢) wꢲ]K mP ^AkeOx\s`qnxJ${֏Wʓ~) z1]!w"ei,!>\NLd҃mSEjkbҙʢ: H<F-ATUyb@H|_֜ʓx,\lR%b >kk3JDl4nꂉt!ANE C0(2M%Y]Wݗk⢕2e߾9Υ n+NPz/u?ڢɕĉZ/h;pܤXjg<'Vg&t KS.9CWkdnJu7"}SNZuy2P\bߚ Fo=lήI#rJ[zN $3X@^ ^0$=5sMvDfalo1m /ղfpv1y78ڙ(Ҷ aw(zMߦT751m7} }]X0><22ŭ<4Mbŧ ]wW?$ wA( s!s@B֥ҘfYEҌR]Ihk^BK+M[?,;NwUG3yCgDgA[>E]6YZzfz1ZXcoXZ VElt+'֣8ܑ~Zo?S9lFۋJ~N}D̖EB&a p#gRKV3U=_؉Q,5dy|kji!^-NB""Xeׅ4$ >\>ϧ!x1A86J2ۣlAͫPsoK-u.&"PbNqgZ6m5Z/$:,Xf !c-".-s`ۡ]cQ4UTx`zt~`ACƢ^}LGʒQyaݱ[S UyA@/i(рBꉐ&nXғo? 6b0% g-[~+~fG{[d7_KAOJ7qtJ2τd'xD^7>&{V %@|w'vb*@QJvK;5~~].LG> ORůkAF/`х ZuGNehV@]q~u\<9lg0[[W7H43r':RD%XAR\X$N>#~i_2pT)~^XhN&XG0 z,eoI&xA/VD]yHᆫ\h`&^*`Lխ[2"4|Uڭ! mW{p B^ϧM{@Tk~Z=*;y>!g֕USc78Afѩ!rZBNZlC=/j,G!y%5 km¤Ae(Z(c-c#f"q!Θ02VZ$ 1{a{zZ'1mfӭN3-r`=+QpFLE50Á6:4DٖlA$ & qFi" 5/tJ,ѹ6*O\O[ F1/"x'ѼogضVAّu^,W>e 0 N.Y,җ j:c1%:˻ L<j oht9U.R7HYBVLh,=p+y[qBek+}jn*AaÊfƒ?# J;[)SȰr2w4 e h,R :KWcV hd="=FmVxfA&ƗrN0]z$})N{+̡NMۺ'DtlzEγvTx`u]`Vycxlf=Q-6DvAJ=acN|"kCO('X'55k%>?8fppaGIZr{[ Y }^hsg]s[`E);37-ZC  ?Rm` )&9#`Q'7ߘ7^˛'TB6A"௅WK Wq+:of@F ܮeb`K;H1tAѮs`䟊v9҃蠲m2JbhH?ʢY?^ء|MsS&j0!mHؽW:uq hKz/zȩ ҈9DsԀUl=ܚ9LHm+^3^V=)*"4=hQm^̤jΝ\ק~[lӨ;h|mkgptHkt090LFi 4wv ?Fw7G.&j ^gMCrYXr*,q ƭC)7x+HecQՃ_u}&Bl(^IUvTU'N`;{i [.R=XtR;vg,͟Yx6DoՀF-_ .HX(j6vP!yWuBxc'[dBcRTQ7cOy"_։/+`DAybv3t"$<>ja˘\"l"Tir {t[c7ɼͫ^^lC19| jK\;5+ $2P1`K$M-Hd|"g8H6{(ҭMׄLG.+"|F`ר ۷o&87_{ 􀆘T7[y `.nr魵X4p6k UVn869XV_TMN[msyD6r$ UH q-7Xu$˸ qsf- *Ws@WVE H6O[ŮG86yDƿcN| m<2/B^=CФyoe׍.<"j?reā qjثL"r/ZB}Î*32YcrZwv_0W Zhg*Rۙb,f;6|&?r<:-c{{AT B@Ahûg嵡e&lRh}f@8fۅ\} ]*Y .Dm++c8v Ρ^Zd8=jE6k-ddε RU7ؤ%Hop+7>v?kC&~W5[ 8fdڮܖxq˄gxB|t-fʌ/"w,kHM$¬SG$Q}}_/儽-' 6y{:%LhM}[e|(aooͧ2M=Wk6`(zT ۸xnd$pe,[4 wZ1O"|-LbS |2q&UR\q҉rd,RR& V$YRsԡ& qړQqZL6~6П،|At u]% ;7n=]ã骖lV.1}XswRk5˺#+*ވ!rPoXz; ICH  A<- /fDpxR+c&쐻f'iS k'kQjx*6IPyXUmk03)"Å l\<\w CcZ˹=Z<؜IM(*?n}|:ƥHa%OΚVI3Vi^bh8zgyHS Єuly[CVK×'SkS(7֡TќWgJN^CpW?jtLн ,i?IV\^Oi3yu?#\!{#z‹.xoLJj/HLvC饓𵌯Jx lU;'Ԃ>~oӺNQ*5FL;GH7u$2|j@{MV>f?VVH !zW`x F ƹXÜK&'pU_tiX ,f MO.ש{4dV5r{_/r9W蒚S>%{! = Cp/r% Нrm2:Ö'"5%k"6*&yh@MVGǶ^$3A ]~d)'?(=P d6n[`P9Hv?y9|!a#~zgy@G~A]޳@< -]2=L L깇1cy}Ĉ5Ug|hI'N _9ܱFםY&8M4Q'&q\Q[$8Fpc݈87*R==XcH-+>nU7 ct묨=k6 !OMEfqx"]80$U` >rFWk&Em3aG":jydB@tD"ːKq^?%5=^Y`qخ|$m < C*xDd`vPVʲ=4ɺ-fYDb O@ܩ1mY|QΈ߸g0TfIq@ тlEi?28 2 ናP Z8Y+=1O7(Ո[}R7_9kHP۠, ~LpVgU(Όkla@?8Bo^ ge-LZ4Mr3$2s_Β|z^?D2`kCv|Zg<m+<&eڵX#>GX(ATjg`3@ G.n4lBi܇&qhaU1# sA>]o GJW3<ۥYvO5 *UG KfF&J2{Z7jLJmP*+ߥj gNvpS/LF<´O$ FIZ//n4K#]Vסьr_%93g?]]!Nmcveoɳ1^OLÅ{r&gvfBlA `V߫h83.=L5JpⳭ]_S5[CGS|;34))rFX; Z|W _z~YO-;uNE2"93 5骢4QFǝ _TװOJ$'[;jDC748hi}wa]o_!gjX/Y?U?&!q[>4g,WΫn9JVv8mRH݉57č8N-&y FASe}} g=Ep ~^q > ̐@T_krZyLrێjp (@-䝊-K Êv'Z೗UNS@-b6]JHp7g@ؿ(qܫ>Nw@F:7fbwo*(gI1/y'ILH-ǵwΌITKQgH/$!e ?j~8y<4} Nχ)6^o܂kglJ!FI;ؽ0ra j$ u`g*17k-8h+dp i_N HǗeO2EAof/psI` !d\33/k \R +db{ŽMSx׃#˯A=JY(2gA7 R#'6~߾Ou}~yPU0(_ZuUb>)C>שE(ꄔ(R}z ^ r.϶w7 ʓ_uλt+Ml:WmqDD>^;fs)F8"%3a\27:S SyP$%l\2P 1"J6d G 3fȄk^f"]:<}e2^ ^&MZ>Z=fHHnRatLYՕJc5|#ezM[.WJ/m ^j{+;t07nCvaEgƷ/ S+؂d dYJkmȐu.B&ٵ\1Ď3fo)}m6%2hV~dWMZxj^띎@P "C_dt( OH P0^E08F5%he4Ւ.Z;gANiUYwBՔӸ"f^<ǝ e֏#hg(N7nԈ<'/`Pl?!]:U#lg.Loklƻ1jHBapܓԋԏ>&$PmA;6 W*jT@,BHo>>U'fG@P'˺F{ű=hA98wie6?q٨* ۔]W'X{=2֫"WФ@6k^jswXߴaeK]9ެ.󣢶|/NWlf׆'J2,|AaC%QtXHJ ,7V*E*󝐓]~Q4CLdSVuzfjcc؊…ۺj{v}Utqű0[6u : y8^fXBN/m6y,4/^-?1'KK3U]Wsc0]6U.e uR*J^az2.Q!:fįe2Cnh&C;+g#o|@I s̲fAJRiTW1dzscMAnfyc$\f3^JS|WÊ1! 9Ejljˠ׊+,JX&?XIGXW-6=a‰t,)TXVAQā[E㹥0XT]}+5켯]dzd)q'<'ŏ.np`ǴgЦS6/4uH]φ4{|۬? F䦊RLeGO1czU)uPzOWnm.jCܶGDnZ )Wcv9ְ--󤈬<;pC(OMxɜ 6g!d)pl*,T7Gޏ.~gq 9e&Ǫ g?LЯ$E?[5b. ~)OȅjW o]w99gڝv4"}a ʳtfZKX9(4 YONo[ * V8vzAb*z1T%RT,w!1EXXQ%it`EKDer'M&C(cl[!-6f>,u%ـO}퐝+,Ҡ#B"@pyM(B{Ȕ8soƹU tZhdor^omW2)s Ee=E^ee1X{x{=*akɵjkwo MH0}bo6zWgM/ mVi|0gs( J;dpt?ݹG$:H KJKmgC )=7FwR]UY@NZndtA o"DG";q#T/Mrj9w+,mD٣2G6mX˲vI|}`8R^63ZoSjaJy^[\ek!y$I uG)V֝JZkE qk[07G3=p{~`&ZեRÍK],&b͜Ǻ+//o Y$T(6H,ӦZ9u'W4^ %ڪ 6úOt.$C\ܘZe#j|ĝ&fzBm yrNހa_/mqa,71ܯ࣭K6~@iжD(Fh'*;cغ-Yt*+rΉ`c ηLpsjq 1 ,cwk!y`pC+B!RH~J8ꍉft=oKl}]>sV2Qţp,HVG21,|.GԨo]z,CT`RG?dbkF0"J䟘+/c&nhN$g E$1ܫNB3:<(rn(f-dlS7VSKOZ[h=^k*٣Q?=;s6_DiI,&K[+`[EU ~A֗6-_ ͑)לXՙ]RދCTF)KkӇJ١d&:rI{2ǾQ2+YNSPnpEX jwB,tylA`㲡@v|?{6%Fenى B@d?Dx.kvpuzgԕe$ TOzT}iU83$ʳx|N,fVgbup)VvNx6]Mt Κo݌*dFW~v4ԥ>q,d okoksc>/n\[&tj}x`{ϰl̎ ^ jf͟ \=Ri &FC:H5ͅn@dz<Kd7^R̬a kqCP 2O3q]+@GB5]G'3 d*d?L1kRzk%bbiЈ.Ȟ$& twU炧+.7ICnu\-ܾ5[^;A/m~ Eѩ]xI7PsHȢ6|ZFQ$ABஇ){̬d NÐds;J#+\θ qNy{F>m04,9YG YA8C^age\bl+)" FIFI^943/(DNJ*ļ4L@f?" (VD[iG2IpՏg3ܼpG|g5S [^>֌cgGif h>ZEI~qs\6R;/-.4Fg$ھ]q3*N%>+C >ᙜ]CJZ%Nu2޸lcFY!m3qiWC:l,8ۦs:gl:Kex5tӣ MFiܡBNR/-(j3#яVބϨT{Npa }U(B__xmh;Dw-.H hYP͋|!`?7PWU]JcK$V`~IO|m=gNX?L6S+? +)ajƴC៻t6?8&+WZ7|XLW(JN'M7s=O;['qV(%؂k ɡ0c*vuB~ƫsGbIekrx_d?>DQk#o/ǹ#7H\=Z!+&pS^Kw-bÍCmmx>}~5=XCrh%vu*o;B#-!iy瞗;KeGMt` 6h g)9s;τߡܓs꼩BAT6P܍ax_W!۟$rJ@ ZmRod=pz0gIWrNuc:Ö`$Tyq{xe_@M g1'])z_zې|wr4ʂ9@`RVBZ; 407MiVQI!zP` L7>"m~NvlW _l+p} f8(%,ZK![EQRVanjz#s'2 )<,H.; 0h@]L~"$,ŒYBrX ֿF-n WPb1uxbqܹ@jsQ?lVru#U#Hßl)3 Vdk+qm Д3ܵ.|@oxgP2,r#9zn@tց "ڇiiNe:VEt9D8-cRۙua{sžb \ aqu>m;%[g9}j(gNa(#ʯPbgfꛝ/mVt?+QsxjAT5iZ0M̸q!ԙ#C1Bi.gm Q-ؿYOvT P"O&MO6@8Ǫ77dLcN_0Xz!Aj{-͈F-% H%l1?I;ꭚ5P5V}[K#vfEj#fpш,W=u(Tlo.?6QFw\ץ#6<\Q]ȹH zUI5gisi}]Y[^G߫{*f׎C§}bӚ ! lY^n=;;$ oOlDg7-yuTTl4Y\ڑȻm_1#XF߳"8e~;^toϺq aӳ$y,tFDj"U(w5)ǚR}=_ȟ?[p7o 0, W// ‘FzlXC͹iʸ(e[ÃsQ i^c䍶5ve@+x?Ҟm,3dnߗC:[.Ƽۖ&E*C#%eHRv"3IYd"4Lҋ0-sZf| `$c|-{_ ɺ ]KM 12n9GSPHgj,S&ytP ]Ye) ,\ ɽa&k֐ HDht,-uoev W:9~p`ȶ3d?N ,zvjv9MkLǫbH?r+t6ev2YmzBه`)6Ϝ|JkbO'NG} 8J rI(O& ~fc`Bs+uU]J/h:dHϡЁ̦02#Pn,dqAaO#a[Vو6g{kŽV`x/a̧kWդ:4p()+~LdAҔsثtV2%P5p-uxj0e\:^?+ؼ m z yB +WhܨG@Vg窪 |3~pup-[jWw[%3Pj;ܹ1N{臄Q`kM͙Jhu**^Js$ol 4!5F 7DMKɠCw͆@u-FR bTf%߹jk,/QHmj0TXɐ^\1N'YjE'F;Mdl #;ʶe_5uA᎓^ʵ2Y*QZ/>2S݃ݶeɁ-!T֡vlϪ)E3z.VLB?P@;@ _84ebIq9F4tNIZ׽SݒtC8zAnЋtKV%w,x.V͕"ddc[x"^"'E8; 랇d].jcE篶|;ȐeyAbM`/\ڨpI[$̴D?PwWxNxb8N7ha gAZqYl+8wIiR؟Iy0NB;SUc^uyUޛ7%8~ &H&a<%vkr]/?.ˠ]0)~>*ΉyW]"Y/˟6=Q6gcScڏ''dgH kLy?*v.H` a!hl;.cQ:]7Lwg2lȰ"Y7QQP6֠q'G B5aЬ)*8҅Cŕ;v[Z9.w,kaȪU`LrBh+ SQnq%NF[۶q6^Cs )aD]u2~XT E^>G 4buS9T_ z+߶ YZ