AppStream-doc-0.15.1-150400.3.2.3<>,G4b*p9|'j>H=V] +fJW.' o{4j=dUP夶}7􀟐߃XyװӶu>@Ӱ:ꙣmˠӕ["l sN\oRuݶ/{VefLrhUc|6^"T C׶P"6x*MQKRdmO~C96( J'R\[L] J~ C١DVlT kr 4';>;?d $ @-N_ u@@ L@ @ @ L@ @@@ 4@4\l(8 9t : FG@H@I@X$Y,\T@]T@^vbc4deflu@vzCAppStream-doc0.15.1150400.3.2.3Documentation for AppStreamAppStream-Core makes it easy to access application information from the AppStream database over a nice GObject-based interface. This package contains the documentation files for AppStream.b*ibs-arm-5(TSUSE Linux Enterprise 15SUSE LLC GPL-2.0-or-laterhttps://www.suse.com/Documentation/HTMLhttps://www.freedesktop.org/software/appstream/docs/linuxaarch64!1zIh?O89'ܺ1_b%('P/M-}+48ZB30U1}..0e3,1=!9L-P,"rA2{AA큤A큤AA큤A큤A큤bbaf!afaf!af af afaf!bafafaf!afafafafafafafaf!af!af af af afafafafafafafafafafafafafafafaf af af!bbaf!^Dxb^Dx^Dx^Dx^Dx^Dx^Dx^Dx^Dx^Dx^Dx^Dx^Dx^Dx^Dxb^deb8a1dc8bfcf4cc42e7ef0ca1f6c912ce8bf981fa8ebaff812631022c709e0b3ffab81d3cf075121ce7c69c03ee30bd83a27c257fb9c4879d17d7295fc21e9601645cd30d9465f665422d6248bc4d2997939fec3ffa1006d64c37eb38694ed25800f44abc0143434d006ad7e35ff11d733186b301f2538add8783f8f0367ab917e1149b52d9c3da3fb7f726bc850ce2f5627b541cd11adcdc6a21bdf18bb8fd531eab2bb77b2a0844b2818d48e117a117ecff6886dba4ab14213d77120017874d8b6dbf9ef313b09dfef69320d46b3ee8ea0e71398c84c48886fea1f9ec514a95cc1d8e67630d6f3534146f5175436df079a04d568564b819f4629f36f34b4281ef3f023cec11c3801dcf2850a5d94b493b8737d87d64a8b67d9dca6f3ee72600c5095f827357d3c98725753263a2b97200bff37062045d0b62b9a56f5edc8756a4405d0fc767d6de50fa25cedf11b0c7d413c106c9ffc3d3c094ca446678a0ffd9f44e666c859818a69f775a9e794ffd4c1f11da666d87b4cdb7f830f3b3f1c05c6aee9927cb6ee60ba79a58a8963c5ef5059eff9f389c210ac805ed2c1f50fd2db5146b07d37079cfaae24c31a23e5ccead451637aca732f5dfb960e6d18acc7628bdf55ddaf0487184b33bebe4c35791ff90f779f355eca4e530db7d841f18f2191e8e12912d6a441395d77f49ce244885d9075e2b266ba190ef7267fb39eae72beabe906c9dd87ca35338127da9f97a110037726e6ae5a67c346c2441584bf0c9e4f0e914d8a1ee62ed6976414270cd3ead46b4de6313cd6d488e4a9a50bbac9d1e2d96bc2497045a75f31b68277a2cb03b54908326561cc0aaaf9939c357388dde9a049bd70d3441bc435b78f6a27215f26725d1e290d593513a14057a9e25889ce550a3bd6305af8798be069a213c64f41bf138a574b6015a681f85d5096e17da4e7156240de68eb35c5c2979cf4d140a3ff956b34c601da6ce0522cc7542e024107c89784ffc8626e5a04a586a63ea89e36b17796baf2283a3b3ff912874713ad2866602ce8f5293ec1a0682c83f7c26ec741998d9c4923e73b9d4651771c1dd537a10e2ca5b569e6659d00f65debafb7dabc2c7280bc67a126f60e384b6972dfec499d01b82a5f29ed531e1ebf262c1220a03d00f60c2d54c8b26dbcec547b0a902fb67bc64fb2512ada8fcae09a0610ff0e9310bea7b55840857a84db6c7e137ab20fccdf6c7721d02a6d00f031c76dd8ba1c9dd09434232c3c1bbedf852db8964a93ba65fb609b8a2043649ad28041f6c4bb9975a322a7fe9f4be887e2e49cb37f7d03adf20d8e3340fac17bcdb3df7bd846175cf9f9b35fd6c68a7278ee924837e9d63c23cd9ad8aa316e41bfdd59d4ecf99930ff679b597d4962bf98bf32da54fa032f65fee2c4d1d2050cb2dc587312ffbf90e53d59d3f93c6457c2a98fe9fc256e705722b9c12864aea22feaf614354b9a53d89bcc21015e4b962e1ea764336373079a56cf5f741bbeb093109f2ce711d57618d4daaebcea90c0cb7d4e6a1a78f793a63883503a6330a2747289099199ca2c3c99264c44b6d37c1c7c49eb2c6a617c7ab7b8a90cb8001fb00380b0f79d10a6d9c5a7fbe8ca8579dc0273b95a8dcce53c425313ca483bb175912a4d6bc9f4b48aaf860acce71b6bfbc284c56791eade6839fa3ca91801bdaffcf212589bd5c75f03e04d832094a706870abf79c26afb7a20a9536ae4b5d41bbfbfb0ddd5d295377af195a45a296fdc7ddb9890ff6cf95ad64b242d3b2b42318f16066f3d85cbe7d2b33d36690e11f12f04fe66453cdf0a38f844875815f7a5e20ab5e2f5355ef6d8d1b188bde9c1647fdab91639d9e2c625f6862244f1be02e4a7616a371252105cc3fe04b495ab62259ca34284d5736b80f69068705b9b2900e88e6149527b29f1098f552b8d6f2c730f13f8200ec92d194db5fedcf5159e832059a5741ed8f7548b62041fc216042f3dbfb6f9649b08cf9d46a3d1d48b17f1e4487782785eff6590a3c28668ee7132d5b999861b4484cd1eb83ae25a6216b14196b6608f53bfdb67e7f5897fddc659cdb9d207b42da358ae38110907e08976f072710f96390eb1f4f307d1730a11cb27b8f064844545e983b5b5072fb9d1532a8243bf2b424201a33255a84f1608084f95983d656de2a6df3dc55c37f8f442cd421d313a97d75ecbf06d249fd4395024c9e6d212091e14a0cf7ec80e76e080b5b84f103846da757fc41f9290efe61a79be8b836c120a30598708f1822108a46b053bc8602cbc090a657027e20b6a3699232e79d02d131fc3f64530a72f64d806733339263633d165b96bb3d654b7905bbc99869800746fc30ac2f00c965651a553b600f26aa8e3be21403c5ecb4e59b586e5d46d367cdc96d00477721bb7de2f7ea5baa841196c3c997977a0750f7a5e307f878569416c3999afaea20c8349dded2d63916a104a4a396a6def6bd34168ed3fc92e4af523c2777893c8f6429b874896d105bb2f503682818ba144c3d3249d4516662cf42eca5490f5014c000ab3ca3e44237493738c4097acfrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootAppStream-0.15.1-150400.3.2.3.src.rpmAppStream-docAppStream-doc(aarch-64)    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3a@aqV@a(a@`u`-@_=_#^@^V]]f@]@1@]>] #\6\}@[[WZ0@Zo Y\XwoWv@WWWYZ@W= 0.3.6 - Update BuildRequires glib-2.0 to >= 2.62 - Remove BuildRequires lmdb-devel- Update to 0.14.6. Check the NEWS file for the list of changes. - Only install the license files once.- Create and install a Vala API file- Update to version 0.14.4 * qt: Expose setter and getter for pool cache location * utils: Use GLib's gstring_replace if available * its: Allow to mark release descriptions as non-translatable * compose: Point people at the specification if metadata license is invalid * docs: Clarify which metadata licenses are permitted * docs: Fix a typo on the icon cache page * spec: Add a paragraph about which license to put in * Add documentation for YAML release type and urgency * Add documentation for YAML provides * component: Don't strip ";" from keywords before translating them * utils: Don't strip modifiers when stripping encoding * compose: Check optipng is there before we use it * Improve text line wrapping, especially if many newlines are present * Make word-wrap function unicode-aware * Make license_is_metadata_license parse more complex expressions * Improve cache refresh code, don't flag cache as updated if update failed * Use system cache even if we had to drop some invalid metadata * Assign more string class members safely * Fix flashed firmware generating incorrect XML * Fix YAML having wrong names for the firmware data- Update to version 0.14.3 * spec: Mention that license-IDs are case-sensitive * compose: Don't loop endlessly if external desktop l10n function is set * Never create a predictable dir in /tmp for caching * qt: Implement missing Pool::componentsByCategories * Share one user-owned read-only system metadata cache between all applications * pool: Clean up user sysdata caches if we start to use the system cache * Port over some parsing improvements for desktop-files from asgen * compose: Add helper for reading desktop-entry files * compose: Handle bad UTF-8 in desktop-entry files even better * search: Perform partial token matches instead of prefix matches * search: Unconditionally perform partial term matching after exact matching * news-to-metainfo: Recognize the "Contributors" section * Update our own metainfo file for appstreamcli * Read descriptions from collection XML correctly again * search: Make whole-search string matching a lot more strict * validator: Resolve false-positive when testing remote icon URL validity * utils: Improve textwrap if text is just one excessively long word * compose: Permit U+00AD SOFT HYPHEN in string values * Validate our own metainfo file * compose: Don't assume lowest priority for desktop-entry-only components * search: Only replace full words with greylist terms, not partial ones * ascli: Take all positional parameters as search terms when searching- Update to version 0.14.1: + Features: - Switch back from Soup to cURL for HTTP(S). - validator: Check a few more things on requires/recommends items. - Only download the first bytes of a file when checking URLs for validity. + Specification: spec: Officially mark tag as deprecated. + Bugfixes: - qt: Return better errors in AppStream::Metadata. - Do not automatically clean up errors that will be propagated. - Remove overall extern "C" to make very new (2.67+) GLib versions happy. - ascli: Don’t use GNU C extension type names. - build: Use c11 rather than gnu11 and define vendor extensions separately. - Changes from version 0.14.0: + Features: - news-to-metainfo: Interpret placeholder release dates as denoting a dev version. - Make as_utils_build_data_id public API. - Add AsReview for attaching user reviews to software components. - Add a branch element to component data-IDs. - utils: Add data-ID hashing and matching functions. - utils: Make as_gstring_replace public API. - Add branch info to on-disk cached components. - content-rating: Add as_content_rating_add_attribute API. - Rename INPUTMETHOD component kind enum to INPUT_METHOD. - Add "cabinet" bundle type for firmware deployments. - Make AsTokenMatch public API. - Add function to AsScreenshot to get image closest to preferred size. - Allow AsComponent to directly ingest desktop-entry data. - Make as_pool_build_search_tokens API public. - Add "origin" token match. - Make as_component_add_provided_item API public. - Add some useful image dimension constants. - compose: Add blur function from asglib. - Add more efficient load_from_bytes method to AsComponent. + Updated translations. - Drop fix-build-gcc7.patch: no longer applicable. - Replace pkgconfig(libsoup-2.4) with pkgconfig(libcurl) BuildRequires: follow upstreams switch back to cURL.- Disable vala bindings, fails to build on Leap 15.2 because g-ir-scanner emits the return type before parameters, which vapigen does not like - Update to 0.13.1: Bugfixes: * Install enum types headers to the right location * qt: Construct library using libappstream dependency object * validator: Improve check for invalid hyperlinks to reduce false-positives - Update to 0.13.0: Notes: * This release introduces a new library, libappstream-compose, designed to provide building blocks for composing AppStream metadata. This includes GUI stuff like font and SVG rendering, which libappstream deliberately does not provide. The new compose library is not API/ABI stable and should - for now - only be used by appstream-generator. Features: * qt: add missing Provided::KindId enum (Aleix Pol) * Add experimental libappstream-compose (Matthias Klumpp) * Implement support for display_length relation kind (Matthias Klumpp) * Implement "tv-remote" input control kind (Matthias Klumpp) * Refactor AsRelation to use GVariant internally (Matthias Klumpp) * content-rating: Align the OARS/CSM mappings of sex-* (Philip Withnall) * content-rating: Add content rating system APIs from gnome-software (Philip Withnall) * content-rating: Expand translator comments to link to OARS website (Philip Withnall) Specification: * spec: Specify display_length requires/recommends item (Matthias Klumpp) * spec: Add tv-remote user input control type (Matthias Klumpp) Bugfixes: * Use glib-mkenums to create the GType of all the available enums (Corentin Noël) * Set FD_CLOEXEC on the LMDB FD manually (Fabian Vogt) * Never ship with an embedded convenience copy of Highlight.js (Matthias Klumpp) * Don't fail doc install if global highlight.js wasn't found (Matthias Klumpp) * Properly escape markup when fixing invalid description data (Matthias Klumpp) * validator: Don't pass NULL to vprintf, it's not an allowed value (Matthias Klumpp) * meson: Kill deprecation warning for pkgconfig.generate (Matthias Klumpp) * validator: Demote cid-contains-uppercase-letter from INFO to PEDANTIC (Matthias Klumpp) * Change some AsPool GIR annotations to only transfer container, as workaround for issue in GIR (Matthias Klumpp) * Properly parse YAML font provides entry (Matthias Klumpp) * content-rating: Lower the OARS/CSM mapping of sex-homosexuality/intense (Philip Withnall) * Change return annotation of as_agreement_get_sections to "transfer none" (Rico Tzschichholz) * contrib: Vala expects element-type of PtrArray to reflect their ownership (Rico Tzschichholz) - Drop patches, now upstream: * 0001-Set-FD_CLOEXEC-on-the-LMDB-FD-manually.patch * properly-escape-markup.patch - Refresh fix-build-gcc7.patch- Add patch to avoid FD leak: * 0001-Set-FD_CLOEXEC-on-the-LMDB-FD-manually.patch- Update to 0.12.11: Features: * Auto-update static category data from fd.o * Implement support for input control relations * validator: Validate input control relations * validator: Put AppStream technical terms and tag names in backticks in explanation texts * Modernize the README * validator: Check for uppercase letters in cids * Strip beginning/trailing newlines in a number of places * Make AsContext getter for AsComponent public API * qt: Add support for name_variant_suffix * Make component sort-score API public API * Implement a YAML representation of release artifact information Specification: * Build specification and docs with DAPS * docs: Add (HTML) anchors for requires/recommends items * spec: Specify user input control recommendations * docs: Don't show reference to nonexistent provides->service tag for services * spec: Encourage the use of only lowercase letters for component-IDs * docs: Document --explain flag in ascli manual page as well * docs: Add permalink anchors to some list entries * Formally support BLAKE2b/s as hash functions for release artifacts * docs: Link to the MetaInfo Creator webapp in a few places Bugfixes: * Be less noisy about ignoring excessively long search tokens * Tighten the "free license" check and prevent false positives * cache: Use correct fts value per result (David Hewitt) * validator: Control items can't have a version * validator: Reduce download timeout * yaml: Strip encoding when serializing keyword lists * Allows arbitrary indentation when converting NEWS files * Ignore NULL values silently in our stringstrip function * Only dump valid metainfo description markup, sanitize it otherwise - Add patch to avoid parser errors for invalid descriptions: * properly-escape-markup.patch - Add patch to fix build on Leap 15.2: * fix-build-gcc7.patch- Update to 0.12.10. Check the NEWS file for the complete changelog. - Drop patches. Issues fixed upstream: * 0001-Restore-compatibility-with-GLib-2.58.patch * 0001-Fix-possible-NULL-dereference.patch * 0002-Don-t-ignore-xmlNodeDump-return-code.patch * 0003-Fix-infinite-recursion-if-component-has-itself-liste.patch * find-lmdb.patch- Drop itstools BuildRequires, not required for either building or testing. - xsltproc is no longer invoked via xmlto, drop xmlto, explicitly add required xsltproc and docbook-xsl-stylesheets.- Add patches to fix crash with some invalid metainfo (boo#1139463): * 0001-Fix-possible-NULL-dereference.patch * 0002-Don-t-ignore-xmlNodeDump-return-code.patch * 0003-Fix-infinite-recursion-if-component-has-itself-liste.patch - Update build requirements - Add %check section- Update summary and description- Update to 0.12.7: Notes: * This release changes the way AsPool caches components and will also permanently keep components in an LMDB-based cache. Additionally, the GVariant AsComponent serialization was removed. Features: * Depend on LMDB (Matthias Klumpp) * tests: Test pool cache and XML read performance separately (Matthias Klumpp) * Improvements to data caching and fulltext search (Matthias Klumpp) * Add new LMDB based component cache (Matthias Klumpp) * cache: Implicitly hash keys if they are too long for the database (Matthias Klumpp) * cache: Implement all supported search modes (Matthias Klumpp) * cache: Implement various performance optimizations and helpers (Matthias Klumpp) * cache: Allow switch to nosync mode, make insertions threadsafe (Matthias Klumpp) * Refactor component pool to make use of the mmap'ed caches by default (Matthias Klumpp) * Don't limit term length in user search queries (Matthias Klumpp) * Ignore one-letter search terms (Matthias Klumpp) * pool: Mask removed components in readonly caches so they can not be queried (Matthias Klumpp) * Remove component GVariant serialization (Matthias Klumpp) * cache: Use binary representations for cache values (Matthias Klumpp) * cache: Always refine launchable entries, to make them searchable (Matthias Klumpp) * Make component scope API public (Matthias Klumpp) * Handle LicenseRef URLs explicitly when extracing a license URL (Matthias Klumpp) * Update static data (Matthias Klumpp) * tests: Update perf test with test for the new cache implementation (Matthias Klumpp) * its: Add "translatable" option in metainfo.its (fujiwarat) Specification: * Add a note about not dropping .desktop suffix from existing IDs (Kalev Lember) * spec: clarify purpose (Kamil Páral) * docs: Explicitly rule out nested lists (Marius Vollmer) * docs: Add link to project page to specification abstract (Matthias Klumpp) * spec: Clarify format of the appstream: URI (Matthias Klumpp) * spec: Clarify how to denote proprietary licenses (Matthias Klumpp) Bugfixes: * tests: Fix potential wrong output when two tests fail in parallel (Matthias Klumpp) * validator: Allow some top-level tags to be empty (Matthias Klumpp) * Only match all things for broad queries, for invalid ones return nothing (Matthias Klumpp) * Determine system cache age correctly and don't needlessly refresh it (Matthias Klumpp) * Never attempt to load the system cache when it is not needed (Matthias Klumpp) * Assume "unknown" distribution ID by default (if /etc/os-release is missing) (Matthias Klumpp) * cache: Ensure previous cache is closed before opening a new one (Matthias Klumpp) * Put test data in alphabetical order (Robert Ancell) * Generate XML and YAML in alphabetical order (Robert Ancell) - Add patch to work with vanilla lmdb: * find-lmdb.patch - Add patch to fix build on Leap: * 0001-Restore-compatibility-with-GLib-2.58.patch- Replace boilerplate and em-dash summaries.- Update to 0.12.6: Features: * Implement artifacts (Matthias Klumpp) * Search improvements (Matthias Klumpp) Specification: * doc: help distinguish the 2 'languages' tags (Beuc) * spec: Document the new artifacts tag (Matthias Klumpp) - Update to 0.12.5: Features: * qt: expose the spdx parser to Qt users (Aleix Pol) * Implement operating-system component and add convenience functions (Matthias Klumpp) * qt: Add operating-system component type and a few utility functions (Matthias Klumpp) * Allow fetching the ISO8601 date directly alongside the timestamp in AsRelease (Matthias Klumpp) * Implement date_eol for AsRelease (Matthias Klumpp) * Add convenience methods for retrieving date_eol as UNIX timestamp (Matthias Klumpp) * qt: Allow retrieving the EOL timestamp for releases (Matthias Klumpp) * Implement new release details URL (Matthias Klumpp) * Make rDNS conversion function more generic and add more extensive tests (Matthias Klumpp) Specification: * docs: tag can have details url (Jehan) * spec: Specify the operating-system component (Matthias Klumpp) * spec: Specify date_eol for releases (Matthias Klumpp) * docs: Explicitly state list items are allowed in ol/ul lists (Matthias Klumpp) Bugfixes: * Don't warn about issues in a cache refresh if there weren't any (Matthias Klumpp) * Ensure releases are always sorted in descending order (Matthias Klumpp) * pool: Fix g-i for get_components_*() while GPtrArray owns its elements (Rico Tzschichholz) - Update to 0.12.4: Features: * pool: Be a lot more forgiving when encountering invalid components (Matthias Klumpp) * Implement component removal via remove-component merges (Matthias Klumpp) * validator: Warn about insecure URLs, handle mailto: URLs (Matthias Klumpp) * Add a contact URL type (Robert Ancell) Specification: * Document new remove-component merge type (Matthias Klumpp) Bugfixes: * as-pool: fix GObject annotation for GPtrArray owning the elements (Corentin Noël) * Make invalid components ratio check more accurate (Matthias Klumpp) * Ensure description paragraphs contain no invalid XML tags (Matthias Klumpp) - Update to 0.12.3: Notes: * Beginning with this release, data from local .desktop files will not be loaded into the pool automatically, unless a metainfo file also exists. This should ensure less duplicated components in general higher-quality data to be displayed. It also provides another incentive to add/fix metainfo files. If you prefer the previous behavior, set the AS_POOL_FLAG_READ_DESKTOP_FILES flag on your AsPool instance. Features: * apt: Ignore errors post-update (Matthias Klumpp) * validator: Allow content_rating to be empty (Matthias Klumpp) * ascli: Display stock icon name if no suitable icon was found for details view (Matthias Klumpp) * Refactor loading of local metainfo files (Matthias Klumpp) Specification: * spec: Clarify the requirement for content_attribute tags in content_rating (Matthias Klumpp) * docs: Write intro for addon quickstart (Matthias Klumpp) * docs: Replace hyphens in component-IDs of XML examples (Matthias Klumpp) Bugfixes: * Ensure all addons are linked to a component (David Hewitt) * Annotate nullable return types (David Hewitt) * cache: Set explicit variant types for cases where they can not be inferred (Matthias Klumpp) * utils: Handle NULL strings when comparing versions (Matthias Klumpp) * Explicitly include string.h in as-tag.c (Matthias Klumpp) * Properly ignore desktop-entry components if we have better data (Matthias Klumpp) * Remove AppStream XSD schema (Matthias Klumpp) * Update static data (Matthias Klumpp) * Set error variable if there were some errors during refinement (Stefan Bruens) - Remove patches, now upstream: * explicit-variant-types.patch * workaround-hidden-symbols.patch- Update to 0.12.2: * Fix a couple of incorrect g_ptr_array_unrefs (Iain Lane) * Use autofree functions instead of freeing resources explicitly (Matthias Klumpp) * Add missing const (Matthias Klumpp) * Ensure we don't produce a .pc file with unnecessary Requires.private lines (Matthias Klumpp) * Stop leaking local GVariantDict instance contents (Phil Miller) * Drop leaked references to container items (Phil Miller) - Update to 0.12.1: Features: * ascli: Add command to compare version numbers (Matthias Klumpp) * yaml: Allow reading multiple localized strings from YAML data (Matthias Klumpp) * yaml: Always include the untranslated strings (Matthias Klumpp) * Allow to ignore media_baseurl when parsing metadata (Matthias Klumpp) * xml: Add implementation of the agreement tag (Matthias Klumpp) * Add new "repository" component type (Matthias Klumpp) * yaml: Implement Agreements field (Matthias Klumpp) * cache: Implement support for agreements (Matthias Klumpp) * tests: Improve cache data tests, add agreement tag test (Matthias Klumpp) * Use gperf for perfect hash generation for some tags (Matthias Klumpp) * tests: Add rundimentary performance test (Matthias Klumpp) * its: Mark agreement sections as translatable (Matthias Klumpp) * qt: Add support for service/repository component types (Matthias Klumpp) Specification: * docs: Describe the custom tag (Matthias Klumpp) * spec: Describe the new agreement tag (Matthias Klumpp) * docs: Clarify that the /usr/share/appdata/ path is legacy and should not be used (Matthias Klumpp) Bugfixes: * its: Allow translation of release descriptions (Marc J) * Load data from desktop files properly again (Matthias Klumpp) * Update desktop-environment list (Matthias Klumpp) * qt: Don't warn about inlining in maintainer mode (Matthias Klumpp) - Update to 0.12.0: Features: * Implement release types (Matthias Klumpp) * qt: Support release types (Matthias Klumpp) * Update static data lists (Matthias Klumpp) * Make as_str_replace use as_gstring_replace internally (Matthias Klumpp) * spdx: Add some compatibility workarounds for SPDX 3.0 (Matthias Klumpp) * validator: Validate SPDX license expressions for metadata_license (Matthias Klumpp) * apt: Add config snippets to enable icon downloads (Matthias Klumpp) * yaml: Ensure all string values have whitespaces stripped (Matthias Klumpp) * Make as_component_get_launchables public API (Matthias Klumpp) * Implement support for requires/recommends (Matthias Klumpp) * Add recommends/requires data to the cache (Matthias Klumpp) * Add a quick way to check if a version satisfies an AsRelation requirement (Matthias Klumpp) * ascli: Properly document the --no-net flag (Matthias Klumpp) * ascli: Allow to disable network acces via an environment variable (Matthias Klumpp) * apt: Support 48x48px icons (Matthias Klumpp) * yaml: Make Requires/Recommends data more compact and easier to emit (Matthias Klumpp) * validator: Validate requires/recommends tags (Matthias Klumpp) * Default to format version 0.12 (Matthias Klumpp) Specification: * spec: Add a "type" property to tag. (Jehan) * spec: Initial draft for requires/recommends (Matthias Klumpp) * spec: Document the YAML Rquires/Recommends fields (Matthias Klumpp) * spec: Clarify that the memory requirement uses MiB as unit (Matthias Klumpp) Bugfixes: * qt: Implement missing constructors (Aleix Pol) * apt: escape the icon scale factor as it is using the arobase character (Corentin Noël) * Check plain language string in as_component_localized_get as well (Antonio Rojas) * qt: Define location and soname for all configurations, not just Debug (Gabriel Souza Franco) * Never override high-quality data with incomplete .desktop data (Matthias Klumpp) * Make data update script work with recent SPDX (Matthias Klumpp) * Add a timeout to URL validity checks (Matthias Klumpp) - Remove patches, now upstream: * 0001-Fix-regression-from-153.patch - Add patch to fix assertion failure on cache refresh (boo#1105691): * explicit-variant-types.patch - Add patch to fix build on Leap: * workaround-hidden-symbols.patch - Run spec-cleaner- Use OpenPGP signature provided upstream - Added AppStream.keyring, which contains the key from the author - Use %license macro for license files- appstreamcli can use curl for some checks, so recommend it (boo#1080446)- Now the appstream cache is refreshed in %post. The update to 0.11.8 plus the refresh fixes kde#389531. - Headers are now installed to /usr/include/appstream instead of /usr/inlude/AppStream - New package AppStream-doc with the html documentation for AppStream - Use meson to build instead of cmake - Update to version 0.11.8: Features: * validator: Emit a hint in case a discouraged AppStream ID style is used (Matthias Klumpp) * l10n: Renamed Norwegian Bokmål language file (Matthias Klumpp) Specification: * docs: Add quickstart instructions for intltool (David Steele) * spec: Discourage use of hyphens and digit-started segments for IDs (Matthias Klumpp) Bugfixes: * qt: Export the AppStreamQt target (Aleix Pol) * Various string improvements (Allan Nordhøy) * validator: Don't make HEAD requests for URL checks, fetch first byte instead (Matthias Klumpp) * Enforce a non-broken version of gobject-introspection (Matthias Klumpp) * Ensure LINGUAS update is only run explicitly (Matthias Klumpp) * Fix a minor memory and fd leak (Matthias Klumpp) - Update to version 0.11.7: Notes: * The appstreamcli validation commands now use curl if it is available to check all URLs in the metadata for existence. If you don't want this behavior, pass "--nonet" to appstreamcli. There might also be false positives (one is known with the KDE bugtracker) that need to be investigated, so feedback on this new feature is welcome. Features: * validator: Check all urls for validity (Matthias Klumpp) * validator: Check web-application components for missing tags (Matthias Klumpp) * Add API to retrieve the AppStream library version (Matthias Klumpp) * apt: Allow fetching 128x128@2 HiDPI icons (Rico Tzschichholz) Specification: * Add the "url" launchable type (Dimitrios Christidis) * spec: Clarify some icon details in the collection data (Marius Vollmer) * spec: Allow tags in generic components (Marius Vollmer) * spec: Specify the web-application component type (Matthias Klumpp) Bugfixes: * Fix endless loop when validating screenshots (Matthias Klumpp) * ascli: Show a list of component-types when --help is passed to new-template (Matthias Klumpp) * validator: Drop the wget fallback, making missing curl only an info (Matthias Klumpp) * meson: Properly define header-file in gir (Rico Tzschichholz) - Update to version 0.11.6: Features: * Improve screenshot validation (Matthias Klumpp) * Allow to disable introspection (Matthias Klumpp) Bugfixes: * Revert back to the old build option names (Matthias Klumpp) * Apply maintainer flags equally to C++ and C (Matthias Klumpp) * Explicitly set C/C++ standard versions (Matthias Klumpp) * vapi: Include the right header (Matthias Klumpp) * xml: Correctly write screenshots tag again (Matthias Klumpp) * Do not cache a screenshot that doesn't have images (Matthias Klumpp) * xml: Support legacy screenshot tags again (Matthias Klumpp) - Update to version 0.11.5: Features: * Restructure build feature flags (Matthias Klumpp) * Allow disabling API documentation build (Matthias Klumpp) Bugfixes: * qt: Don't check bitness when finding AppStreamQt (Matthias Klumpp) - Update to version 0.11.4: Notes: * This release switches the build system from CMake to Meson. You will need Meson (>= 0.42) in order to build AppStream. Please test for any regressions. Features: * Implement Meson support (Matthias Klumpp) * meson: Make build with sanitizers (partially) work again (Matthias Klumpp) * meson: Add helper script for building documentation (Matthias Klumpp) * docs: Always rebuild documentation on-demand (Matthias Klumpp) * Update README for Meson (Matthias Klumpp) * Implement cockpit-manifest launchable type (Matthias Klumpp) * validator: Actually validate the type property of "launchable" tags (Matthias Klumpp) * Allow to search the pool for components that provide a launchable (Matthias Klumpp) * qt: Add new function to search components by launchable (Matthias Klumpp) Specification: * spec: New "cockpit-manifest" launchable type (Marius Vollmer) Bugfixes: * validator: Complain if a component has no ID (Matthias Klumpp) - Update to version 0.11.3: Bugfixes: * qt: Don't crash when an error is found and no error string is passed (Aleix Pol) * Propagate document context to the context object for XML files (Matthias Klumpp) * validator: Correctly recognize "launchable" as valid tag (Matthias Klumpp) - Update to version 0.11.2: Features: * cache: Refactor cache functions (Matthias Klumpp) * Deduplicate origin/locale/arch with AsContext (Matthias Klumpp) * Get rid of a couple of internal helper methods (Matthias Klumpp) * cli: When using convert, always assume collection style for YAML (Matthias Klumpp) Specification: * Adjust docs to clearly state that licenses are SPDX expressions (Harald Sitter) Bugfixes: * qt: Improve Icon QDebug information (Aleix Pol) * Resolve crash when serializing lots of XML documents (Matthias Klumpp) * xml: Don't truncate translated entries after encounting a wrong locale (Matthias Klumpp) * Set a real locale if locale is set to "ALL" (Matthias Klumpp) * validator: Make ending dot in component name only a pedantic issue (Matthias Klumpp) - Add patch to export the AppStreamQt target correctly: * 0001-Fix-regression-from-153.patch- Update to version 0.11.1: Notes: * This release contains refactoring of the XML/YAML parsers and some other changes that are more invasive than usual. Features: * qt: Add new getters/setters and classes to be on par with the GObject library (Jan Grulich) * qt: Add AS::Metadata class used for parsing desktop and appstream metadata files (Jan Grulich) * Refactor the XML parser and serialization code (Matthias Klumpp) * Refactor the YAML parser and emitter code (Matthias Klumpp) * Implement 'service' component type (Matthias Klumpp) * Improve speed of metainfo description parsing slightly (Matthias Klumpp) * test: Add additional testcase for reading metainfo description tags (Matthias Klumpp) * test: Test metainfo descriptions starting with enumerations (Matthias Klumpp) Specification: * doc: Add Distro Packaging page (Jeremy Bicha) * doc: Add "service" components and their launchables (Marius Vollmer) * Allow components to provide other components (provides -> id) (Matthias Klumpp) Bugfixes: * doc: Uncomment line in middle of paragraph (Jeremy Bicha) * doc: A releases tag is not essential for components, but summary is (Matthias Klumpp) * Allow descriptions to start with an enumeration (Matthias Klumpp) * Ensure we always update with fresh data when refreshing the cache (Matthias Klumpp) * Replace invalid components in the pool with new ones of the same name (Matthias Klumpp) * Resolve a few potential bugs (found by static checks) (Matthias Klumpp) * xml: Check if we are trying to parse a real component (Matthias Klumpp) - Update to version 0.11.0: Features: * Implement read/write support for content ratings (Matthias Klumpp) * tests: Test the content_rating tag XML read/write (Matthias Klumpp) * yaml: Read/write ContentRating (Matthias Klumpp) * cache: Handle the content-rating property (Matthias Klumpp) * Add new AsLaunch type (Matthias Klumpp) * Fully implement the launchable tag (Matthias Klumpp) * Recognize scaling factor for HiDPI icons (Matthias Klumpp) * apt: Allow fetching HiDPI icons (Matthias Klumpp) Specification: * spec: Don't give wrong information about the tag (Matthias Klumpp) * spec: Specify content_rating tag for content age ratings (Matthias Klumpp) * spec: Specify the new launchable tag and apply its effects (Matthias Klumpp) * spec: Add note on where to place icons with a scaling factor (Matthias Klumpp) Bugfixes: * Add missing word in string (Anders Jonsson) * yaml: Fix crash when serializing component with a dbus:user provided item (Matthias Klumpp) * cache: Don't write cache if there are no valid components (Matthias Klumpp) * docs: Clarify "permissive" for metadata_license and make the paragraph more explicit (Matthias Klumpp) * Ensure GVFS never starts in root user slice (Matthias Klumpp) * Correctly tokenize values with dash or plus (Matthias Klumpp) * vapi: Add appstream.deps file (Rico Tzschichholz) - Update to version 0.10.6: Features: * validator: Be more strict about the tag types in metainfo files (Matthias Klumpp) * validator: Unconditionally check for name and summary (Matthias Klumpp) * Move all merge logic to AsComponent (Matthias Klumpp) * Allow making AppStream consume data from metainfo instead of collection files (Matthias Klumpp) * apt: Do not enable any icon downloads by default (Matthias Klumpp) * validator: Check categories in XML as well (Matthias Klumpp) * cli: Make templates for different component-types a bit more useful (Matthias Klumpp) * Allow a few more permissive licenses for metadata_license (Matthias Klumpp) * Add support for "+" operator at the end of SPDX license identifiers (Kalev Lember, Matthias Klumpp) * cli: Print tiny summary after validation (very useful for validate-tree) (Matthias Klumpp) * validator: Validate for hyperlinks in description / summary / developer-name (Matthias Klumpp) * validator: Make missing long description a pedantic issue in more cases (Matthias Klumpp) * Also recognize "FSFUL" license as pemissive (Matthias Klumpp) * validator: Adjust priorities of missing modalias/font tags in driver/font components (Matthias Klumpp) * Skip loading desktop-entries if we know their component already (Matthias Klumpp) * Be lazier, only parse what is necessary in the data pool (Matthias Klumpp) Specification: * spec: Clarify that name/summary are now always required for metainfo files (Matthias Klumpp) * spec: Clarify desktop vs. desktop-application (Matthias Klumpp) * spec: Add a small paragraph about whether and what xmlns to use (Matthias Klumpp) * spec: Make it clear can be used in metainfo files too (Matthias Klumpp) * spec: Make clear that update_contact's value is case-insensitive (Matthias Klumpp) * docs: Make sure all examples follow the reverse-DNS scheme (Matthias Klumpp) Bugfixes: * Don't hardcode share dir but use CMAKE_INSTALL.. (Heiko Becker) * validator: Don't enforce .desktop suffix on desktop-app component IDs (Matthias Klumpp) * qt: Allow catching error strings returned by Pool::load (Aleix Pol) * Always drop data from desktop-entry files if we have better metadata (Matthias Klumpp) * apt: Install icons back if they went completely missing (Matthias Klumpp) * Update SPDX and TLD data (Matthias Klumpp) * yaml: Read release/urgency key (Matthias Klumpp)- Update to version 0.10.5: Features: * Match modalias wildcards on regular searches (Matthias Klumpp) * xml: Add methods to get/set custom data in metainfo/collection files (Matthias Klumpp) * Make cache update issue messages slightly more verbose (Matthias Klumpp) * Add preliminary code for reading metainfo files in addition to .desktop files (Matthias Klumpp) * cache: Cache custom fields as well (Matthias Klumpp) Bugfixes: * qt: Make sure dependencies are fetched when looking for the package (Aleix Pol) * yaml: Consistently read/write the Suggests field (Matthias Klumpp) * Correctly read bundle kind from XML data (Matthias Klumpp) - Update to version 0.10.4: Features: * qt: Introduce AppStream::Suggested in the Qt frontend (Aleix Pol) Bugfixes: * Properly validate suggests tag (Matthias Klumpp) * qt: Add an empty check to Provided and return it if necessary (Matthias Klumpp) * Add path search to find libstemmer headers (#91) (Neal Gompa) - Update to version 0.10.3: Notes: * The release breaks the Qt library API. Patches to make KDE Discover use the new API exist in its Git master branch, and will be available with Plasma 5.9. The patches will likely not enter the stable branch, so if you want to upgrade AppStream, you might need to ship patches for Discover downstream to use the new API. Features: * qt: Update API to reflect more recent AppStream features, be easier to extend and also a bit faster due to removing needless data conversions. (Matthias Klumpp, Aleix Pol) * Make components record their origin kind internally (Matthias Klumpp) * Provide a file:/ URL for icons when we know a file name (Matthias Klumpp) * Add support for Snappy/Snap bundles (Matthias Klumpp) Specification: * Add new AppStream logo and button (Ken Vermette) * Add new AppStream logo and buttons to the docs (Matthias Klumpp) Bugfixes: * ascli: When converting, always include all translations (Matthias Klumpp) * Match .desktop files and metainfo data properly if ID is lacking .desktop suffix (Matthias Klumpp) - Update to version 0.10.2: Features: * test: Add unittests for reading urls (Matthias Klumpp) * qt: Add AppStream::Category class (Matthias Klumpp) * qt: Add missing URL type (Matthias Klumpp) * Handle "font" provided type in XML and YAML (Matthias Klumpp) * Replace Intltool with modern Gettext/Itstool (Matthias Klumpp) * Add logic to parse desktop entries (Matthias Klumpp) * Don't add ignored components to the pool (Matthias Klumpp) * validator: Validate fd.o domain name, make GNOME warning only pedantic (Matthias Klumpp) * validator: Allow languages tag in metainfo files (Matthias Klumpp) * Read information from .desktop files and add it to the pool (Matthias Klumpp) * Give the client app full control on what data sources we load (Matthias Klumpp) * Add private API for component scoping (Matthias Klumpp) Specification: * docs: Clarify name/summary essentialness for desktop-apps (Matthias Klumpp) * spec: Clarify how fonts provides should be handled (Matthias Klumpp) * spec: Simplify font metainfo, add more examples and clarify requirements (Matthias Klumpp) Bugfixes: * ascli: Replace refresh-index with refresh-cache in help text (#81) (Larry Price) * qt: nullptr access on unopened databases resulting in a crash (Harald Sitter) * qt: The data pool must always be valid during the Database lifetime (Matthias Klumpp) * If search results are going to be sorted, it makes sense for higher scores to be at the top of the list. Fixes #77. (Larry Price) * validator: Don't enforce long descriptions on fonts (Matthias Klumpp) * Hardcode metainfo directory (Matthias Klumpp) * ascli: Make every module use the global no-color flag properly (Matthias Klumpp) * validator: Don't emit excess warnings on missing type properties (Matthias Klumpp) - Update to version 0.10.1: Features: * Add AppStream button image (Ken Vermette) * Ship a metainfo file (Matthias Klumpp) * Don't use an extra hash table for AsProvided (Matthias Klumpp) * Register bundle type for AppImageKit (Matthias Klumpp) * Implement localization component type (Matthias Klumpp) * validator: Complain less-loudly when encontering GNOME-specific tags (Matthias Klumpp) * validator: Check for superfluous dots (Matthias Klumpp) * validator: Strictly validate ID for KDE and GNOME (Matthias Klumpp) * ascli: Modernize the way we handle subcommands (Matthias Klumpp) * qt: Allow retrieving the desktop-id of a component (Matthias Klumpp) Specification: * Add new driver component type (Matthias Klumpp) * spec: Describe localization component type (Matthias Klumpp) Bugfixes: * docs: Add a few missing classes to the API docs (Matthias Klumpp) * Fix cache (de)serialization for screenshots and suggestions (Matthias Klumpp) * yaml: Set screenshot image type correctly (Matthias Klumpp) * cache: Iterate the right dictionary when looking at checksums (#71) (Iain Lane) * apt: Ignore broken symlinks in /var/lib/apt/lists (Iain Lane) * as_get_yml_data_origin: Error out if opening the file fails for any reason (Iain Lane) * Make addons find their target component again (Matthias Klumpp) * yaml: Don't fail if we encounter a translated node without template (Matthias Klumpp) * Don't use GObject ref on GPtrArray (Matthias Klumpp) * ascli: Read metainfo files correctly when converting files (Matthias Klumpp) * xml: Properly serialize provides tag (Matthias Klumpp) * pool: Correctly update addon info when loading data from a cache object (Matthias Klumpp) * ascli: Auto-disable colors if we are not on a tty (Matthias Klumpp) * yaml: Enforce string/int type on YAML scalars (Matthias Klumpp) * yaml: Fix loading of cached icons in all formats (Matthias Klumpp) * qt: Never lie about a component kind (Matthias Klumpp)- Use a define for the so version and fix -devel requiring the old libappstream3- Update to version 0.10.0 - Disable stemming support until we have libstemmer packaged. - Generate libappstream4 packages since AppStream changes the ABI in 0.10.0 Notes: * This release breaks API/ABI in order to support multiple metadata sets describing the same component (needed for bundling support), moving away from the database as central data store and general cleanup. * Porting is relatively straightforward, if you were using AsDatabase, you should switch to AsPool now (AsDatabase has been a wrapper around AsPool for a while anyway). * Many methods became private API with this release, file a bug if you miss anything. * The 'categories.xml' file is gone - please account for that if you were reading it directly, and consider using AsCategory instead, which offers the same functionality. Features: * Remove the AsDatabase class (Matthias Klumpp) * Use cmakedefine for compile-time features (Matthias Klumpp) * Rename AsDataPool -> AsPool (Matthias Klumpp) * Add placeholder enum for web applications (Matthias Klumpp) * qt: Implement Appstream::Release for the Qt interface (Aleix Pol) * Recognize the "Pantheon" desktop for Elementary (Matthias Klumpp) * Get rid of the menu parser and make AsCategory more useful instead (Matthias Klumpp) * Allow AsComponent to automatically check for list-value duplicates (Matthias Klumpp) * Give bundles their own class (Matthias Klumpp) * Stop shipping the categories.xml file (Matthias Klumpp) * Allow multiple metadata sets in the pool to describe a component (Matthias Klumpp) * Name AppStream metadata styles consistently (Matthias Klumpp) * Allow the 'C' description fallback to be turned off (Iain Lane) * Make AsScreenshot return localized images by default (Matthias Klumpp) * Allow to compare AsRelease versions easily (Matthias Klumpp) * Make get_icon_repository_paths private API (Matthias Klumpp) * ascli: Allow dumping metadata as YAML (Matthias Klumpp) * Use GVariant instead of ProtoBuf based cache (Matthias Klumpp) * Enable stemming by default (Matthias Klumpp) * Make components directly reference their addons, avoiding to query twice (Matthias Klumpp) * Refactor data pool metadata loading (Matthias Klumpp) * Allow setting the AppStream format version when (de)serializing data (Matthias Klumpp) * Always write modern metadata, unless a lower format version is requested explicitly (Matthias Klumpp) * Also find components in searches which have the search keyword in an addon (Matthias Klumpp) * ascli: Add function to convert XML to YAML and vice versa (Matthias Klumpp) * Consistent naming for metadata format and style (Matthias Klumpp) Specification: * spec: Add hint on how the keywords tag should be localized (Matthias Klumpp) Bugfixes: * Resolve unit test failures on arm and mips (Matthias Klumpp) * gir: Correctly annotate ownership transference of GPtrArrays (Matthias Klumpp) * l10n: Drop languages without translations (Matthias Klumpp) * Don't hide symbols in public headers (Matthias Klumpp) * Properly validate desktop-environment strings (Matthias Klumpp) * validator: Fix name/summary check in validate-tree (Matthias Klumpp) * xml: Properly write localized keywords (Matthias Klumpp) * Avoid watching superfluous directories for metadata (Matthias Klumpp) * Update architecture diagrams and optimize PNGs (Matthias Klumpp) * Get rid of Xapian-isms (Matthias Klumpp)- Update to version 0.9.8 Features: * qt: Different approach for storing the icon size and url relation (Aleix Pol) * Strictly validate AppStream IDs (Matthias Klumpp) * Add AsSuggested class (Lucas Moura) * tests: Test merges for suggestions (Lucas Moura) * Add functions handling SPDX license ids and expressions (Matthias Klumpp) * validator: Include a line-hint in the issue report (Matthias Klumpp) * Implement console-application component type (Matthias Klumpp) * validator: Validate files following the new cid scheme properly (Matthias Klumpp) * validator: Validate metadata_license for permissiveness (Matthias Klumpp) * Compress cache data (Matthias Klumpp) * Implement "translate" URL type (Matthias Klumpp) * xml: Implement the suggests tag (Matthias Klumpp) * yaml: Implement reading and writing of Suggests field (Matthias Klumpp) * Consider merge components valid if they have at least an ID (Matthias Klumpp) * yaml: Read/write merge components (Matthias Klumpp) Specification: * spec: Add console-application component type (Matthias Klumpp) * spec: Streamline the requirements for component-ids (Matthias Klumpp) * spec: Define a "translate" URL type (Matthias Klumpp) * spec: Specify the suggests tag (Matthias Klumpp) * spec: Describe the merge property (Matthias Klumpp) * spec: Proofreading fixes (Philip Withnall) Bugfixes: * Make searching for multiple terms work properly again (Matthias Klumpp) * Don't fail on invalid search terms (Matthias Klumpp) * Don't re-instantiate stemmer on each use (Matthias Klumpp) * ascli: Line-wrap unicode texts properly on the console (Matthias Klumpp) * Add missing docs to the API reference (Matthias Klumpp) * tests: Add test description to each test (Matthias Klumpp) * Sort search results by default (Matthias Klumpp) * Fix a few issues with merging (Matthias Klumpp) - From version 0.9.7 Features: * Don't fall back to Debian screenshots server if none is specified for the distro (Matthias Klumpp) * Split out distro-specific helpers (Matthias Klumpp) * Implement Xapian-less search (Matthias Klumpp) * Use a pure PB cache instead of Xapian (Matthias Klumpp) * qt: Don't rely on Xapian for searches (Matthias Klumpp) * Deprecate AsDatabase (Matthias Klumpp) * Hide internal symbols from the symbols table (Matthias Klumpp) * Allow injecting components into the pool and unittest the cache (Matthias Klumpp) * Add by-category filter to AsDataPool (Matthias Klumpp) * Validate Freedesktop category names (Matthias Klumpp) * Allow building AppStream with stemming support (Matthias Klumpp) * Cache search tokens (Matthias Klumpp) Specification: * docs/quickstart: Clarify the role of releases/provides (Matthias Klumpp) * docs/quickstart: Screenshot images don't need to define width/height (Matthias Klumpp) Bugfixes: * qt: Properly expose enums for introspection (Aleix Pol) * qt: Make it possible to easily output data types using QDebug (Aleix Pol) * xml: Fix formatting of tag (Matthias Klumpp) * xml: Work around non-threadsafe behavior of libxml2 (Matthias Klumpp) * xml: Properly write provides tag (Matthias Klumpp) * Fix code documentation for as_component_get_id (Lucas Moura) * Fix some xmldata methods documentation (Lucas Moura) * cli: Create metainfo directory if it is missing and respect DESTDIR (Matthias Klumpp)- Update to version 0.9.6 Features: * Improve metadata file decompression code (Matthias Klumpp) * validator: Simplify loading of data too (Matthias Klumpp) * Make it easy to compile with Address Sanitizer enabled (Matthias Klumpp) * Allow compiling with UBSan as well (Matthias Klumpp) * Add back support for Travis CI (Matthias Klumpp) * yaml: Write Releases field (Matthias Klumpp) Bugfixes: * qt: Properly check for component validity (Matthias Klumpp) * Ensure decompressed metadata is null-terminated (Neil Mayhew) * validator: Long descriptions are not needed for generic components (Matthias Klumpp) * Make VAPI generation depend on GIR typelibs explicitly (Matthias Klumpp) * Be more verbose when failing to move the cache directory (Matthias Klumpp) * Handle format errors when parsing YAML metadata (Neil Mayhew)- Drop the separate Vala package and include the files into the devel package- Drop unnecessary manual library require - Avoid /bin/sh invocation for simple ldconfig calls- Generate the Vala API - Update to version 0.9.5 Features: * Update README (Matthias Klumpp) * Provide a bit more hints for translators (Matthias Klumpp) * Improve error messages when reading broken XML (Matthias Klumpp) * Load all XML in AsXMLData (Matthias Klumpp) * Implement reading localized images from metadata (Matthias Klumpp) * Write localized images in XML/YAML serialize routines (Matthias Klumpp) * Unify codepaths for checking compatible locales (Matthias Klumpp) * yaml: Implement read/write support for the Languages field (Matthias Klumpp) * xml: Serialize and read languages tag properly (Matthias Klumpp) * validator: Validate files in legacy paths too (Matthias Klumpp) Specification: * spec: Allow localized screenshot images (Matthias Klumpp) Bugfixes: * Refactor icon-finding code and fix rare double-free corruption (Matthias Klumpp) * Properly validate randomly ordered XML tags for duplicates (Matthias Klumpp) * validator: The translation tag is only valid in metainfo files (Matthias Klumpp) * Be slightly less pedantic about size info when reading screenshot images (Matthias Klumpp) * xml: Properly write description tag (Matthias Klumpp) - From version 0.9.4 Features: * Handle legacy screenshot tags (Matthias Klumpp) * Print prettier YAML documents (Matthias Klumpp) * yaml: Allow loading of distro metadata slices without header (Matthias Klumpp) * Do not check for installation candidate on minimal validation (Matthias Klumpp) * Don't check if component has an installation candidate before including it (Matthias Klumpp) * Quick-check components only when the pool is fully loaded (Matthias Klumpp) * Support the stub data of GNOME Software (Matthias Klumpp) * Support reading per-component priorities (Matthias Klumpp) * Implement the architecture property (Matthias Klumpp) * Use architecture data to resolve conflicting IDs (Matthias Klumpp) * Add icon size information to generated XML (Matthias Klumpp) * xml: Load size hints for icons (Matthias Klumpp) * l10n: Update Specification: * docs: Explicitly define more minimally required tags per component type (Matthias Klumpp) * Make /usr/share/metainfo the canonical path for upstream metadata (Matthias Klumpp) * spec: Make architecture a property of , and no tag (Matthias Klumpp) * spec: Update the cached icon DEP-11 specification to allow size information (Matthias Klumpp) Bugfixes: * Fix a few minor issues spotted by the YAML validator (Matthias Klumpp) * Correctly build distro XML descriptions from upstream XML (Matthias Klumpp) * Be very strict about which elements are allowed in a description tag (Matthias Klumpp) * yaml: Prevent bool keys (Matthias Klumpp) * ascli: Properly print long descriptions and wrap lines (Matthias Klumpp) * Export less C++ symbols (Matthias Klumpp) * Show a better error message when failing to parse XML (Matthias Klumpp) * Allow adding 0x0 icons (Matthias Klumpp) * yaml: Implement the updated "cached" icon format in a backwards-compatible way (Matthias Klumpp) * apt: Drop flat repository entries (Matthias Klumpp) * Probe less sizes if we already have size information (Matthias Klumpp) * Don't make stubs delete package information from valid components (Matthias Klumpp) * apt: Handle quoted origin entries properly (Matthias Klumpp) - From version 0.9.3 Features: * Allow to update an existing component with fresh metadata * Implement YAML serialization * writer: Allow to omit writing a header/root node * cli: Add convenience method to install metainfo files * cli: Add a new "status" command for various diagnostic information * yaml: Allow unicode * Print prettier XML by default * l10n: Update Bugfixes: * Reset umask before building the data cache * apt: Work around APT using server mtime for its downloaded files- Update to version 0.9.2 Features: * qt: Improve usage of Qt containers (Aleix Pol) * qt: Implement Component::extends on the Qt front-end (Aleix Pol) * qt: Also call reserve for bundles on the Qt frontend (Aleix Pol) * validator: strstrip values when reading XML/YAML and validate linebreaks in summaries (Matthias Klumpp) * validator: Check if a description is present (Matthias Klumpp) * Always build with YAML support (Matthias Klumpp) * Move XML parser into its own class (Matthias Klumpp) * Make data-pool use the new YAML-aware metadata parser (Matthias Klumpp) * Simplify data-pool building routine (Matthias Klumpp) * Preprocess extension information for frontends (Matthias Klumpp) * qt: Use the new extensions property (Matthias Klumpp) * Implement translations tag (Matthias Klumpp) * cli: Document the "install" command (Matthias Klumpp) * l10n: Update Specification: * spec: Document the translation tag (Matthias Klumpp) * doc: Don't use tags in documentation (Matthias Klumpp) * spec: Mention the essential tags for a type:desktop component (Matthias Klumpp) Bugfixes: * as-cache-builder: Cope with no YAML documents (Iain Lane) * 50appstream: Don't run if we can't write to the system paths (Iain Lane) * Check for writability instead of root permissions when updating the cache (Matthias Klumpp) * qt: Don't compute screenshot images and then forget about them (Aleix Pol) * Add the missing extends property to the Xapian cache (Matthias Klumpp) * validator: Don't fail validation for description-less addons. (Matthias Klumpp) * Make reading empty cache values more robust (Matthias Klumpp) * Check if GIR scanner & compiler are really installed (Matthias Klumpp)- Update to version 0.9.1 * Improved Qt5 usage * Implement date property on release tags * Ship ITS files from KDE upstream - From version 0.9.0 * Refactor icon handling * Modernize AppStream classes * Update translations * Drop AsSearchQuery * Improve error handling for database queries- Activate appstream-qt5 packageibs-arm-5 1659417898  !"#$%&'()*+,-./0123456789:;<=>?@0.15.1-150400.3.2.30.15.1-150400.3.2.3appstreamhtmlchap-AppStream-API.htmlchap-AppStream-About.htmlchap-AppStream-ManualPages.htmlchap-AppStream-Misc.htmlchap-CollectionData.htmlchap-Metadata.htmlchap-Quickstart.htmlimagesappstream-button1.svgappstream-button2.svgappstream-logo.svgarchitecture.pngscrexample_gameconqueror-bad.pngscrexample_geany-good.pngscrexample_wireshark-good.pngscrexample_xmedcon-bad.pngscrexample_xonotic-good.pngscrexample_xterm-bad.pngindex.htmlix01.htmlsect-AppStream-IconCache.htmlsect-AppStream-Misc-URIHandler.htmlsect-AppStream-YAML.htmlsect-Metadata-Addon.htmlsect-Metadata-Application.htmlsect-Metadata-Codec.htmlsect-Metadata-ConsoleApplication.htmlsect-Metadata-Driver.htmlsect-Metadata-Firmware.htmlsect-Metadata-Fonts.htmlsect-Metadata-IconTheme.htmlsect-Metadata-InputMethod.htmlsect-Metadata-Localization.htmlsect-Metadata-OS.htmlsect-Metadata-Repository.htmlsect-Metadata-Runtime.htmlsect-Metadata-Service.htmlsect-Metadata-WebApplication.htmlsect-Quickstart-Addons.htmlsect-Quickstart-Distros.htmlsect-Quickstart-Translation.htmlstaticcsshighlight.cssstyle.cssimagesarrow.pngdots-blue.pngdots-darkgray.pngdots-gray.pngdots-orange.pngdots-red.pngdraft.pngicon-important.pngicon-note.pngicon-tip.pngicon-warning.pngicons.pnglogo.pngtick.pngjsINFO.md/usr/share/doc//usr/share/doc/appstream//usr/share/doc/appstream/html//usr/share/doc/appstream/html/images//usr/share/doc/appstream/html/static//usr/share/doc/appstream/html/static/css//usr/share/doc/appstream/html/static/images//usr/share/doc/appstream/html/static/js/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:25169/SUSE_SLE-15-SP4_Update/79a9c2736b53c6eaa8364bc2e50b5e49-AppStream.SUSE_SLE-15-SP4_Updatedrpmxz5aarch64-suse-linux directoryXML 1.0 document, UTF-8 Unicode text, with very long linesSVG Scalable Vector Graphics imagePNG image data, 1100 x 976, 8-bit/color RGBA, non-interlacedPNG image data, 624 x 351, 8-bit/color RGBA, non-interlacedPNG image data, 624 x 351, 8-bit/color RGB, non-interlacedASCII textUTF-8 Unicode textPNG image data, 60 x 15, 8-bit colormap, non-interlacedPNG image data, 2 x 139, 8-bit/color RGBA, non-interlacedPNG image data, 78 x 300, 8-bit colormap, non-interlacedPNG image data, 36 x 36, 8-bit colormap, non-interlacedPNG image data, 432 x 111, 8-bit/color RGBA, non-interlacedPNG image data, 136 x 144, 8-bit/color RGBA, non-interlacedPNG image data, 20 x 32, 8-bit colormap, non-interlacedɯ3(#[&utf-86f8645de37bdbc4df9e2351815cd35ac378cd5224372465fe7cf7df3641926a6?P7zXZ !t/4]"k%r~fksyOiDx05Ӌ99 $a 2xChqN}ax<c ʶ;Q}rBEt}7WO i#ܧ:{|xi&gʹ\ =Ca-i)M^r"wJvHfc9j!OD[5[+8x.I7@ RZPX[qZ{4i Ӗ7fӲPMq+~twTNnZ6V&?w1Ohna2v+%kZuU5vup#@I8ߥv1_p\V~89Ɇ3Hf|~t-2;$np[E "y,i.lRy?XϾJȯ@$ oDmX[CU P4 kaNN_HO))ԳtG#4˴j "jU|1V !]w|90@W!Ů0`_?Ѭ`dqpACvX2Yn8ij %y8-\;Yv\|)Siʧ[57!qCK>QtbZe!KH n҄HLM٪B EEjyUղgDRgk:,WE @%!K;(x@  vdX|HN?wYd[=vx.CNV)(pb|29:)twR= (ޙ{Ĉ6RM'8bWSYupNvWzKsU?%R!˱M3g僾fHz\W--m2<NS>X xY^"&zR*&cBʹL 3uP1O] 8E׆|PCG/Wgc^-skٮ6n- jhWio: N3n^!4NlcE iFIi7<ɠ|pDW#"ۿ2sPA^k ;`V3~1/.%fp%-Vt,8ɻF1B( ε9 2r& #hݵ(m3PیPoZH:Wn&m '_-ǙچhxmcmnA2A6c:ْ֐ShduY̏UI$ӷp#O=/&?I*Rt^ =6ckyQht>;dn k(mt'q"9lpshWGV7Hّ>m`t ԁBUڿhyV %4y\7ExiqџlMfVcG>L瞾6X=Hɝ߻cT@uhaUʖl]"C߬[XzkOr5ř*#[eSJA'-zLa3Kih]z[S0y[u/_3c5S 3Tfr;t&] <:k)eJHw1|7ĖPJdT!^ Z0ΌiN:q=r|(V7'KYr8`泒6A/cc?PQ&i΀mnq;M4ꐰ V@gF2'%?ї'Q?PHBAu׫?;w{ U@IelE_ɝ&s*EKR 4n%8T7RMΒY"J7g u}B%^l314 5ؓF3uUul4JG+Vz~oz WVc!Oo\ H{/'4=Mw E[Hb:, +j&MP94Ki L}}Cn`a;v[~l#-)8NſZmXX~}Uv$?Hӹ˜ͱc%Wf"\u&{0*А 3ݵLrp:\-F8R AA0J7.i&Sؒ7^vKSMuY%EJI0U/>Pw8rՍS!w:B[)3?K 8L%EJ2?#/`8ocY=>az) e4sJRGM }۬ʝk 8Rw5 i$ e.D^]ٛJ5KsdKd& 1pH(&-BHҒp׍ŢtXK {QV=>Y*e_ g(i>?pV_/z.IK1Qn5Dɿ N"kzr=Tcöqr68t):v~y^o1}ueڲlhF͉\zd2 aduTR˺~5pWz>Q?͙$/I CgB&Nq|Lo"3k> j"c5`pIk1Ts6s[I{b-k{лr^_LK-&jUQUv쑁W}# 6VAD21;mڤ*=:vu)seL4Fr置wۣT2?ǔHLn!2.N-t(OCNVq C&%N'9oxD6TE)2#+6ZyyTꊫz;e6H,Ԛ7Jm6|Oi"A[cNq~|,,kzQ޸ B?RM r4dbqtV7Ԡ䒳ق*e>03ܔ^G o4v,)in'Fh`~)#sn7r"Ww>i8^˴ըWv?x_3s8O6A,8HwDpKy}b3EZO z&ʧ7Җjdj'q ͻtsuXwڍwU) шBE2XYb_!(r& %G'Ny~+qRI=VO!]Mߝ(w5MM'$mr0hVL'p_)z{R-?4 KdZgt q~F1cl\@9ۭaIVtG݊ 7lVb)ǁ;#Hᅧث?ċK &y cQVΜCr@삟GJ5Fʉwj&^:K<#y-mxaOCLH#= pxNa $Q~?I 39lk9fCJ4MuM%"/(\=(?I=}lVWQs}]>V+V9ɔب)r;kAhFQb&Eil{ 1THfP,Bƚ@9!j BzhE0X~l_нND1b1x[rcً-cH)=& _h$,SI  kAήO:WVw<4qNAg&v Q{{weR2S2F&0eclYqIk}{y|9_O%=#1A <9&YpZ7EtakJC sŪ+7)Z^,ÅG0L2٠3.#SYS)䚬_4*جB[P˦w֬7AeYDN gOȫ-Fa9,̯_H BAu5P4YpE2~+/2LNL}ǿsBM\%_q!Q,"Y6i |8_W 4WL QSBEbEQ ĄG+y֪{sSDY'z GMcKZ{UKxw[R-HіģFQ5=MaAg1/׸ 0R$m}(84NcUw1&w6Y*^71eO |$agǓ~| {&Y)7\,&i|| /C=p/2>V8e*pTJݒ`N6tl,"&6~tB5ôD̞]ѱM4"/Iqɴ\=;KNv3<ضI|?(itY&$I:ta]d?:``|W>Q@[4*o+_8[6ks3}3A/L`cK"?|f!-hcMh3qz|Rj+<"V`5H>y6*2YiM"LOGoz[Psx:itD-fҿ,v0fTim/ ; ÖaF ^dD8)lEO%`Fw[զbUC0JVc +Kf hS"Zckđտ'bEFY/^Rd=߀ei.lBn"C=L7* T}Vk,fIC@>yQ U+TauCq9QS,MI6FLE)Tଜ*pEIBp__6c"^P"Bpi ^> S~Ɇ 9EHC9`e2=y"~/'p^ s5tPzatЉCCqo޳L/)G.`{<i$ 0R~| U8+ zrbgՔkF2bqY:(Ds:RF+SFKi%jHJ'T'\ouciꢦfW(&kI'peV\Z#%KGO[N?'Ԏ_g@Dќ\5`8F~NS^TU&jNYF wr2l{3; Eff&#[{bRkß ߕ3.YC L6Il?9V:%&)Y\^H:nH8/Eue0j#Z*^"vJ!Ao^T>5"+Dp*9ϕ|ɶ/GwY?? +b̸*#7A,D"ޕV. .Ss,}]'4e#pȹy(-Ŧ,DRA|RPES s观w1 K2Y 쓵9lπjOR\AYW pB@7bf' ܺnHht$zfT.3RQ/F#h#֌eʺn«֡Hi.ûR5+e,2_t+)s 3J#3Iy!r@f|`&Gf cS+H~y\ QNP̈́kjʣd®*a0E-BWdV1Ģ럣iokog-2]*^s^E&4 0[?OKXv>E)O8m_u>D7n )ʄObكϱ&o @y=?+d-C6*GW »4k F=D> C^lHИgRDО>IsUsm,~4hD v[:`@ԝe! `"Hg,PΦnl5z8s2l:S OHNm7c&(ԣ]@XoJ{#K# L%4T*OJ"nSz 4aݨ K0p6Vءf'%LA a7xl&Jnf[`!Gx"v qkѧvi_:ޚO}Gqϐ}+H m۲gfx<9p/ >_>07ӑ}2p<'wOюUHnlYW{f(c=-!V#6cIߨyJQC.0?)$g\Sta"J*#߽h")@^KtkT̤FViFrt6A}6aSOߛnx`:eӘcUH(Q|3$pwDPn`0˸Y ƌmf%Tbrh&ì ^L,\n_Mw4ՂءB[>ݵ!5KJ/ߐ2Hğ>X"w/5K'88kl եfUFHUJuEVOa Sayߘrjx(I\7?r}/Fv)bvY,%gn\)~m&" sz+Bscc2C+(G?9xl!Je fTA5 o)EJVe"0 {nt1EHEɟ@Pn=>Lr@L^ƼćRT#նj$/Fβ1r$n[:-ּC̆ȁFiIM}\ m3 MhI 6,6zTI Fɷ&㐀X u?L1rĶR nU zB3bRa~UۺSFm4mDHV,*AXWe,^\5Żr bYy J98ćZa;mP2gP^]m#l]d-y}F1AMĥ-B{}8dϖiv߈/JS~qkbD~G^HMEЉ)e\p :Ѳd6_i: [:&,:]HY"`RQ\k꽸߃y6DN0ANO4! 39WM81R˅ idpҧ3,yl}?_( RLAG΁E?K/枴[kQE%`T=㷉邆,TaeA'W= Sqp*>*&5@T9޲/N5mKꝁj ^GsDG}IJTO> z~0Z }&.zRL$0ސ]ms\77ԩHv(sHkG/J+T@#tZe;pwǐ)L.6F*ʭ[QIuxdѼ] Z@Ry>{otAs 6G,hcFS X^A>yMH}$(Hw0|T hm`_8h:.wX)?;ȕW%5G{XmqZYd?39ďs6t6h@L/$;Dj&O>k]]m<6O[! '츄mlDX Ǐnԋ .f;%#H-R/ `dG SaWs?c*)r5d/;0Qp-Ce^2tX\65+v,u*1JkZ2/EnP+ `^@8ćV]"F$F&B|LFg OXz:jx&Ywj?'H0&?ImHV7ٱ%+ WþGL v縑 X"Q bvt-~/ܑ5u5- `]gw!XiLBJ=0H [>L`1WN%<>E[wwͶMbuqj։/Zm+ĄoVGGҩ'>#/兹k㓰?BޱnF܃"l>w|mNg g Jy I&cd`%1, =-RzlUlvc-i YnُEe雡XbU~kߕ+iDjvv;ß]ҹXژYy;\e/@tJ~/^r#8R -y="$(/RS~< ciW1?UA(edpxҟ)uĽim+ȑawV݊ ۷V<X,f֓*4K3ty0k`?%V|D)~NF(8BŵdϦS''(lL+'xJ1?\kJBR89I7g6i45$4$u{:h)8 'Gcq֖FPtZGaL| m"Z(i˿(0*u";#R4M\ FtsGmп{ae^0D TR8뾳`36։zBYrwE{GJGSx'8C(՛ V7HV19v*^Y8Bms6"$`]'BDJ}TZЀa:'@ai5B|*y1; ǚFg fc6*->8*޴BD)M5M͚ '$#5?ϝ4Jͪ $D<Jhh>D np-}O%dIIW\npnE$A pپN]iG ",yVsL)gܭF02[`giv:a@ W/riqi` aN% :ci]Sh4`D^qL)$vMf4y= U+Z <5h >?$'Y3~*H' _ou rڧ ~n8HpR端u,S V{=|:H4LqS9=EAx <"0j+0cիmJjS4ǤR02~'`ʻ)dn0ȟn|2=?[[AGF`oOa/miFinrByBVl-gl(_,p8֦Q0Q6~!mX9w-?uoCu~Z`!l߬yrv/jyWFUN~CNwA~N7]MwQ0GȪyarB_ 7~T 1*'o{Ϲ*ɁtQ*=/@lő>$VrFz&6<1_0:˸*{zH5nP,t:D I% Ћ-^_!aFA7 l\c*lӴDÈZ Eݕn(QbPCR Jvǂm&Z(.Er To||>}8#sΐ".r;5&8@fUդ2^yF?X`Yk a_~㧃ط%,q!zL JHrN`C\XVe=#GQc#3ؤq{J8y^i̇@}AKk姜Riuk08T#~R UMud̺!5_}P醇2WqD}MY0DAp&0*#GT塒8 TqvSe㉑z7"W&:J"E ^ b^0;d-kH=%3QNF-E;(*|Qe4Y2'eH:]2b/xZtdJGry\m= GةZD_z-)84DM YeYa(ʣoNW'F!(fe$xc4c ؘ#] w{8+rmfL[7 ӱdD?@q[$&sQ%z:9 Tn"IK|BE[-?N5c]a>-'{44! m9u[Vǔ2է"Ԡ/8?֥v~#^ ۞V\cM %;J82#n4u;)k&yNF!xj5{8W/f»-6wp]f$2[8IMH?'@e64$?=\1oZϟSGʁNYwYI8 nA /Ҙv8#A>% n-K+鞧<R$Y\t \q++`ڰHcX쩛oAZ]OoGVrk58N߾n |[ڥ^*|t͏xv& (DU`,3]'mKi@s5 CMi𚮟UwEi=X!>u4B*j΋nj1(iq,Q,*(g`& } W/(&+ĈJx2Z:Qx]%{BL}h'GruC7;$I7°LSp?g%9aHV m{E`paP~ۉ`5_@ɡ0ןśvfg[]Aby:ճS:ŮP.mS{:é@mm)Z8b*ƇA k+x8=L+:MRz>7v~4Dkn|w@Gv>$!AQNp*r\lmҎzȾs"}RO*n״?QVꮟT_z\'##G4bXU.wqzKYfGcNVY`?-720,ҹ~4b@/ e(\}覿A~"Ns1UڙEoqN̊")}bReY)r~ m"8s{ m]q'ƅ<\U 4ޔ85)!m˦2+)ˎM?T6/Lp63@4 +=j8cm~Ŕ8"hRj5H=+CHkv{?#sigQd = x#~W]On`x'4 j8'e@#VҪ7u7Wp)Ke> hoz;A!qoN"lW2Pi-;uWIoA8bJg0_UӢ&3]UUt̰s ǡػ FNλD?0Dk2i|֌:md{_$&0!;Ϊh}둗{3AOP^K3Ѵ jp3@3 E:vYB.rDS/]ZWQMޅ3+"h_9DGWwnӥ]8h0:N8s9sߐ3ˈ3j~3 sRWŧ3*Fvs> }|0LyPT5Q4R迏nǜ WGh18[Z FqI75IqIB1Fi8'M>mFs#+myJ>[Vߋiv`|{>0/zb618&A#wG-tCk$ )a@ׄCx {5J5WhI9**dbpK |QOrпr~{"oh]"E^ ♔ok CW3N4+oYSwnO+v<{,|}k*UJSį"MV]Ҍ΁@v4e*P=qGV>8ϢV{F1{"B箰Y(OPcx4;iְ/<H28JâDZ.H. ûhYiPlH/[$܂dTرnr%b Ye(KgQ^@mёFd1t=W9$l;J 鎦µSr_ ȴHn/:|m!}+@Jlh'?hlO.WԽOH_4zd.pWuYovKr;oEIO;#FՃ77@nfOQ@=TsQ%Jc.G yQC& 4 2=GY THLUč!q >plVl JlJdƇ9'}˙M:= \P;™!Sv`rVH :'Mx8˝JAs2$ƵscvJyMFqZ-Rܱ:Q Hqw~<v}A;9$ $$pCr 4L1u9 zzj.lx ! vD} Ѥ>^"դȗӕ;I>V5uY7C ];7KsJ0 Z=_Egh*04AN}//M034ʔ'gBB8'Ts/^EINyac61:ü-'*FBgw/p+@dθ(N{.H{gܝz169M4}ړ˷9gno3+c_#z/ت|`B0MBKKKD7#@s6iIL, VoP  UXGolW7'NxkʎTbK=4!r1Hj&|!3W͑Ƥ\6 AW7e!WR9?)\%(wtMZ,bz`F-m?x.LW/a]v]T(j ~zXȯi Sy~OsL,YnQ_x >V6s`jA,,wL㹗rN*gy?k G]e&?VdYa*?8&i8uʉٻ"t/N _ Qsq: te5<Ԟ㭺gP͒$u7#/sRGOߪ! Q7!6W%û\[,%#c&53eMLFX0=MxzDO7?{rtCY5&X&+|+l#T7+`XgQ1l.`M nLGSZZ ^e7F 7yr /E8؉kߎ30^,]ZmMF m+^=#кy\ bAvN5hfm5 1[f{1lj!5nq-TJwKAsLqt Y> |"2BP<aP<6/&k/O #[wשx;F#+i.U:xaT  "Ѿͳ<uc>ﶧC;&`ti\ I+-z %;%A~[-eQ Nyi&U{&qfzKR]Lɭt%pp1e|?a>? Ȩ yq4+L6b?%hx=ϝ$md #{"U=©nz8V3u?@\z*J-ٌm:!(*&.,@U I#L۝f kSyd/.K_Qf;SQf~!fG蕼(wu="KY\koFAa:=Sr+1@a_> e"㲠I+'Lp40zf,`O -idnCI9Ec i馐 . B|gġZ; &tkRUc:oI;b2qjS.@= ] tNw$ɠf]h>AN^ b':c3RŽU|\'zIEb@`P3v NCzMDH͆,-4qY:GR<`Qcd+M/j@19L%%bNmUbקtl6^:*eE =+[?mURN`=I5#>=$G ~ 73 w^r<g4!xݕc~y&xoNZ}:*E$W-ƿ.ř`(c_".LVg9*fV'+`3^tUiz_4&B[_T́A6o(`z(Jg&/Qই Kp;9jY<-J4{24 Gj2"P>H;jƶ6O(?KPz^*OBL) L"`eervJjVqtpAZ8xIyA 0xZ͠8?K`wP\\W~WX IJԩPmuTqAkhҊ jGy/>@»d2r"lvPC`ṔEmM :S=r\zύzKfIoPY 2"#ksoIjft -ԪP*F5El /j7CR! `U<֋U@d1jFtQG{3ǁ_(v?".$gKD<AAcȿZu!*{I%,!3 "3jY=cUXbHf҂XCEz =ĵ3%/3/oyMqIp!vn(߀-C>~J"_ᚚ_0ÙpQҹX_ҲM2M:ZĪ͸^Df=9W_r䏥<0% =1j6Ъ4ᭌ@1~‡6Z0izi\dbQ'0xQ=&T՗4`ϣV4/k^<"UC`/\Vv/ĝ{An3^VAsӟ2"cTSLWPkV½n$,󕎕7Pl8u pxc̭JfmwuB -b|fp|M۪^foByhQIKpW ^.*r(5\+jE5p ύƸ4ˣ?̹ZVqTei b*)j)Ѻ?Xsb@ɉOBEyaQJ:[%DjccJ9/ޅynu  dRHUG;/-;0T5N7$=ߒTY/eeDLUⳀ }& цc|rm.^mݻ!&fFwπo&M@'q74?a;Yc7' T.PKiV(f*lJ2N4$ /p e4g$ix#MU)n3~1枈B2 Vnʻ7Hρ|1 M!!$ڰ@Sj  !ΑF{q`JY G|سdlH->]9l1>9^+xyn~Q& :>Ku/q,05 գ"ߋ|z d;-?l4-XXͳR;-U5JkzM<8mo.J%y,h^HiB)ZQJ5Q5Yģ t7,. fV6BJ{hhvT6 topz3"yr&vፍcp'aԅFS=ZKֲ`1:`&6Cm\'ۉvI۠7k/."/ Rj5*8jTCSmfCik"ç7AxoBp0Uw@<9qEo"9}n5 B>@fTZ$~謎7΢Aѯ8.Ƽ}͉Ƈ'O A"?[92UԤ0鴌i#6>Yr #chl$0Bܪ3b'J$r*Ўx%xUs澛ĔrR4yԽBQROb ďK8JBWIpa&Y2a2Sa>\?M;t4^=fӒ06==&q/o \A8T%A_GZ[j o+1 PcL` , T7s52 8Y׻pɯ[{FCYÏ,hP]hq0rn-ڶ)k%,,`<4.wS&6uwS EIF ^Qb_ [TtΩݮ315ѷpook(^R絛K>#^7F7(S dѺw/]Up6a_Y[,7)x}EkRm;miiIXtýhl(uE+BQ`̥P9ă?#A ֌Y fIN]]Dw?IhPn:)R"OHa"@Nd454ȹwv,k B' \/I=N+;= `0dO,Qbr+fݤZ=PQWO N!UI`$'>Lg_t ֞ --'(ќH^kkpIx;Y^@7A6pΨ'qy A [t)-8}8zH􊓘VێO)oӂ}6؊ X˨)$'[vC8x48WzWqASoɭ tirOh% Í,\KoY(<'=-^?{Wo '2^4z 5igBszAIB YV!s䙂 4ZKx9NY.s-r;– ;_YmZo(l'#B $nL˶Z⾏QcfJmM\5@b~!d~Cl agjX9r9ၣ m.*W5V;br]fZzeD~cVnz/(_ IG= ,զr-d$hgZmnu_|&4"F$lj7uEǽ& $BD.Q,^ 8Gd A%@rxD+ ew~Gt²ZJ=* 32f\5':;vTjlhKFoGۯctBXZ_VP (hM8u&S ㏾ < >=sBns^>l=/CL&ߓ_?R9O63US\/Akc(G~8"xl#!t&-8.z>ams`Y9ij ď`ާͫMNc4r$Qwᩙ[xJxPGr0~X0yDC Eԧh۾My6{rQj:03Lt6C;y,kVNRG/BFmOkD Z@5Ό8D$>9l7S7jלXvF͗ Hd4$ Oq A=Qn=.>f"0tQ 8/8j:>J˞%zhr6؂p=4夦|6KN;?Uؼ-(B+z-jUK69vX.CnX+Qbs"J vvDK7ǻ E ~a7q4wkZc]6;]'Z0x魨srb0a* a$<⎓9[Zܦ,+9ζ$#'nΞ(fS@#%ѾC_iɟzѭu,?N 8]"Ѕ3 ϣ R-=8(0ϵ%is]f~TV4)LJ+FE߬J8?ZkxAs1zD:3^1E΃Odi1?k1w7ܰ\L>thV!~ /l C.IB1-E/{GTXqxLg$SM9S/tu+C b)VJ?TJ%Sg>VNSkBӃöjjTHP cg<f)~iE_̈́&L7bThg\@:^R5 \$'30L$.׮5d:,;dcdט3_]0"R&s =P7Щ]綃+4S.!Y(vӶA-fRsZTDxaGkjkЙs1B89ܕ6)F <5d Hf w#nd1KDVy~MIbA*_ Vt //ְq[9|ݾMgтy :հ]f.4Yt3 @cQ1Ȗm_՜5&-Pc`4^[XۈC|x\3@`=7 :2 0Ć".Lj oڒ˃4,nN|_`dPZ_Bֈ+,Va?,Pؚ(,w;Hw[;2ESw<|_!Eatz:t_ˋu"{e-?sCT #3yT}o1 eD; s]g5^Ivy6q;OQ^/lL2~ Hnkk}$ja[o> ЉۈzwYS75N5b,+Q_hn9ݽSVu>H¥ z=6_>='at[FƈU48J",ApBE†2ŽC;([M^Xi@A)?z/](8=(.5q= (;a+Y Ex lTwVUFӶA+Бi1ěG79uC}MWqp/;LCxS,wBkiW?P0tㅨ>f)KItBh 9쪆;OhuD6eY$d;M(G'ǎGs"h:ʅ O߲tB<0V$}1ӈ)7#WO%kBCu; uf_M02BT$|=Ȑ̗9 ȏ v` E| K7QNq~c_h6WSʡ4a^ |O,K`q*[-Ĵ\ gwŸ w gyD$$܉P)c* xlM5{)w7>=s*`w"x1_m66+uFI3.3i2g dCVvC&lRÖMĸjI#/\)=h8Jw߹6iVpjOBnΉԔ^BNz4?RCGYFI7AҦh|k }*(FS4k2Y!HK56V rʄ[ SK,o<=s2^ ڮcQv&GH,sID:N>v rty}z$!<[7 س <2^>ixZ|r S-Bd+,<WGxmaX f:(FM9\+t`Śk沖6A`gL|GO^p;NP)"0{-9:鹘v0L@I O30 YVpO8GìY>,]CY~RI>bL V'4;?TMҜJ`& vz!Dža*,^= +;/)hkEahvlr0 *iCoÒYB@xSQ4्8, DՍ딳i K;6_f #Eܰ&98L%.G:Q(* I\C)X WӰ _ k 0Oϧ7{m=/{R8 aZic^S 2o07fo=3{Bq)BHϸw=C8IÃcuvk#8Ȭٰbݸ`\gsFZJ[]Ňt Yɔ-SY4 5wI=-S۠Go Ҝ i*^ra bMfҁo <ɭº&zg~=S5%*JQ>GEFcTuy+eߧaE;>ǣCVQGE;nQ-RZhUvo/aC0^N!?y朗I/Yg`gtsu=}Iȶ^E5_`*c3~4Xi-H +UBr)FDl7Y'oFQw"$&=( ]Ъ-c~D^q'B)>7rUg²\V6^!U5_g19עd$s_&"AE8K +>o|t|'i!dJ|iLT2/x j/^GWy ԞrhuNPކ,pZ4SochwS$i0.!s)}v:vb|FP]̅qj777Rquyr!'2zUQ!=ͣN\]4۴3ϗq;^>F5炙* #qh7&M?01PΜo*˘Mr!񯳾`ܰ DuŴWؽXܴ@g-g>9w(d|kQv {CtS|vJI8K uqlo4J}JGG'q\OM-sGPD+I>0 2-LqO"_\hy]ƴ}rLӊcA~0B3⧫$%w! kT@ W8^/n?A׿YׯMܙbI}䗌P_M(ǓRs ؀=+zBHc? a\G- 6 uGm}F+_;^V׃]|i7 E,QLJk2Ya p&(X' ^m8Z/]zXIwE~bVYAKV/"|0S0|]5Mlu]gyvR[g3NQu7w5uo;ggiiR*XN%:KQTJgO Q?+W7F4eiYGX.ɜjk ts3vҔ x 02qq g]֌X[ g/&bvAMV"qn4t8+cؽ$(ظ_}* ]3` P/}+7A:tapCԁaBAL q/459mT`|_/Ϧ_cn%,h3Qu+ޱNݳkօ='v;bm{K$qjOZ]׾OKˋ~{2 uؐJտmoe+2^3o$i7;[*a](ˆOޟf&!Iϳ><+usHz/`'뇦*Nj':0Nq,`p>:VOHJ|"th&SĮ.]z:Uh)(s#c/h'F϶طL2NI$3$ʀ5-ֱ^hd;H29Y_{McU] (TJ>CzOmJ3ZL8.Mn`cћǮ^ \qc3ICZG,,$l(&LW4h裶hNH+;E+'g{) Q!x #l6'Y ?Cjk7 o ]G.{-J > ;1a&`2hڹGZW{ .@ρ>!yU늭N8ֹۖo pR+HžvELXOfGD^YA21>j9&evOvȯ{jg8?S]4CR$Wܨi+/ ߟNO#%"AOvcAZ'PZwcؒ).ziMGAY̯3? ]P/yRf"!KpxB3ѹLFdYIo/+-,wjZSnEgz&Ud7Y ء+ _l)NZ`fDPˆ9eܞe6 `DQ43p#J3WCP2ϕd>JL<qaTG@O8av"JB>E!%2@\8/L:e0Ҡ8 煅r-Q#HahLEhZ[&7rWt-Oðg&TAGKg?R2xx/x^o#9""ҼϛB;!8LK&S-+la:tĜnN{瘾6dYQv2DFɈe3cALϖʓs/ /'^1jAw%QSD>0DMkFwJf<X)Ss|%ovWy"A$cr.dX{PSOjPkڳz@$/<>-MTvIñz_:ӄYiYJHQ1RveP֘\V*Z&,Ѷ+# o*D!O]G۞|eDЬ_ʻ@~lp\w);Fpi]ͨ'R-ǘZYHi4Dj){ }jO([m53* hǰTUoK"3["[{":sgkY/`̪ g)#yjn, J ouHwWb\|6*H NL!P|}a`8gGW|/8[Z<Q%q`ъ;> ΟLP`)-ټjo~lY}N7- 3,Ã#f$Vg;O2-%ל-`c No%N 9 !;UPт}D'plia󒼞>DzE~ʂ64 (A- RkmubmBt0{:EG0-P]V ]L mnuToy9]񕽿1hw jk ∫ ?$ԬAvi; SP;i=BN~vQO6-Q5SnX#2 J0|Y(,6H'ao{*z4j<;;;{,&i 'cltK Ɵ"m1"[}Ƅj\r% M型kL>ǂbb8~m$2t%)VRݘC{6 GiA6xJw}.iU ~5 ưnqXRh Suܩ,X]z;!a9d(f v^c\U$w+!kL-Z+ +(: `JC?)- u ܑAVi|xI.,&;D@jl$db=*D$6!^P%yX7ER.0&FyQLg-kGMַbܔvҗ4o +n3t=g-~!2ƹ~0J9,v-@Sv#>_ͽpO2]+}K3%L)ePhC1C@=xa'7j82lGǸPc;ᐌfN9['ԯI. .3-S `^tg|7)PQ4&xAq̔lZ@! 0׻V<N^8|@'20y{#ĨXM*oY۳%EnRf <,qKQnmv÷X1EZ¤0GnQ4:타#Iirtn; X)"VDO>#DH גk*4k_v*`koq}GZx {Nl\yܳ1So̯. .e DgLsVALL)YO{ZE vc tϏ<{ ʥf}u Z2!]:\ߚ}#A#*}K{;N<mm`'Y@$l71& vH;\*a$fn =wh7_de`U48<(Rjr^~?\zajxR 3j|+p]!iC&$|8 ¯y#c]U.s~^j);k}D'Ҍn6vIuv򺹵KoO](w1#rL`cf3'5R%3&W8MTMbaj|Aݥ=]†96kܖC2i=}/[w3spn϶Kt'/zi0ԍs{u+Br'J I&FAHycHxtZ5,^} 9䖥#xơ9RP7k7КJ>qpvn2ߎJD{W.Z#NM;Ņ/(\a(Y#>WIՎy(:)7҉r'8_$F11mბ9P,$LYmObY#t }Bp륛Hu./b0?~T aA0It ZJ63Ql_óq)Lp25oKdu@ |*\p8[Xm=\ש5>vlำHF%2{jE<[IXeȐ4y\TXY|EtLs~8Jwff;u 2_x+3߲IQBf[pPuaPjh{"6hOOgnDsg-7-DiDȧ]S@XtN|6MgnWW`6CL圍Q7uT[b9- +\]J4H dV% D.%9&t)&C+`3b?8qDmpziD#x*4|_ V&Cuow@dO$ nnA3ZWW"nt;׹J[|HdGdJa a7[GoڑF~J*:%sDQĶyИzBg^wOCۂHk[Iٶlpbϡ>,nOWPvSO@~!mr/;'I]v'bܘoslb5")$Dwjv@FU ݬߪw4{SG5Q+*-ўN-/N(D]k-lg> 54CS;̍>4|`"Atxiˮ&CriӅ7&`ic iLaiͽ%eWͣ&HևCY}@emѦ[@S>_uW,'лj=3lGo;RjrJp%5|"WVImq1i}JR;G8GI -|ďYF\A[w,[1h5fnܓ'8 Tu)+0LXʰc[hzBTс_[UDIY T ͍ؐ 2Z/#d(y:{rjj3'Cn$mFQ p%)qL337C2gT'em>z\Bqc$6أ4T/2of{4k uS*qC'qm~UF އۀP0ZV.=x=B6ٷFov#ųX4~`%X*vlǠA Dk(xSa}4LmуTh`07yq3;hT R1Rg 3cTBu]b7mn!Os,C歓laק.whD"/M|33p (O ]>RP[ V87i>>cc: Yȗs 4.hG R!ݎo6NKvSɼ=@]<%nRH Cmn`f_ 894.(>NwGe;F[T@6D("}tg1azhl`>0۰_4>T+)JYUN{a R4y"6ʭϷ 79dMF@vVi]?jpQB ]fҗ7Z 2O-drQao|0I}j[<\Lۙ]0V2 ?Y ]#f~J)o'[򊽗?F˽2-as}#F[~ NoLg;6#ka5r^eOGSa f㞵-L$]%4mX1E>L)ʟvE^Vқv=:/bF~;ɍ)*Z b2W&C0'[qK .,އl(0ۄsfu@Ǔ ?|=A'N&gh 㦆Өa-Q $BlkLg+#Vu\f4&`Q`*ɠR56BJΜGuC Tq, m,]jj&G*vAJ6Y A9l^On@.%mtJSwZF(޸vU7; B bNlpFH8)V^ѻ*EzeGemɓx3BzEq-b. #!hF-Y(KF .q7!7E%b'UNH፰rPPSj eb?5 $vOn)$.4}Śp# ɗU԰Ɯ={ ~\Zʀ$00Bnj֒`!cM/l#cM0SƎ[rwi_-4R)<ͯX)qVz\"*ߋc0Wds8^b4'B@X-ˎeEivγ`nZ3Ao׏j`HVԐ8@g ~twR36L!jhw RXTi Jj1Z+3 EzIi@?wP3atzT-[+C6FbGQFw ,R>Mtr\׺=CW: ]Ƃ0s9Uʣzri=Dwn'_ºi"Aᐬʧ@6u82qXAp"zs8N)]i9 `Y]c%]iŬ JkCVئlKޖHWfnHH?C2vͽco7V-}s;^]! zd@I?]|MEp,0np v+.]t=76ʣ8gt}!3fMUjlgkRa mHw|J> ; 'Y0םѼxF4s|qUu}¨3h~$h ] e|,';E}C0bKµRKyՖGerCm| :Vy7d688w İ=@k&Fi{ߕ3[(W"8LqN8#48wK$ZWxԄޛOI;""(og[:UgLEnGP]C?Q< y)4[3}J[ތQ(kT_pI| !gl#6qzBV20`} {$ q>q)Kz™yٚ" fC/4B7Bye4 CSiW^ߝTаNYTe(㼀 B&6͞l;a ʴ%\,kXJ^{'N)?MXuذoy4?.܆b".(/&z} {˯,Y\uMmiH>JNWr+ؠO˛DE|@{"tBdzj"!FlaEi4E׼hߡUځSA{w|ϴU7(% yxo2.x@V5d n0n}y+p{^9@ϱK*Z͒uj)DIϺľ= wm =iA`tV<^ĵ˶ŭ?s%}BCFQG~b < MKL_eӚpr(i=f,VHY>H7!o/-%D 7`?,@+h& !N.`GcĊKKN̊S|YOq `Nw qsQ\ $l3ga%ʇ.cZH>xE͗ȋ}fythKa>ʨOx@;ApN=v!ERCf浘*X0>x݊8̴ق.+ku t՘<`1F'{^վ9Ա^ȘI:*BgG:s#3uIE_ȶȆxu:w9RbPY?y*LĪPȕќ`F]Ƈ!5aB{Qm <[B:-" b,)X>p?[xu"5,VŲw4ή|=Y,I:cd]a?d5k=X)J@^Ts31Hf4;l*({jld*ň\wx<4 ȘHP@i{Buyw{&] Ț% ?qNEڽ L{XSA ZHBMDQ+B.,":n!8 DdvFfX@ʼTԟ|xN ]Q1YHgHgzP?*s'lVhY/,ӤQpyDIPx`}W)Q {m)YPސrw =M7Q=cQ%S>) /[?#{jk|I,a!}/#{XXtF<3Z1ro]2Ҿ@`#I/R>ķ%#uq\%JDڌ ~-j"9ZzL>:?lITQNHzaսE>ޣýΐ3PjORRd'hT5Y?N #8 "(~)Q/0׉iC 1DWw&w\-R(8k1X5娗zO[EiF׌9=3ѯQ9)5F !,0S}}cSRJUH5h_tB1`s+%>>jQ鎇6싟iUwnk}nVfm/*VV6w}c6F梷_j%*M %>EiZ ζzuÍh9qk X IFyhcT#3~nb’=iz\&n%{aʷbqL)~cSҮsQvWVCY6aP_0R>:-kY i:*d>&>o3Ry`7DcI C4{g,{k  "<-cT7 B_$f4"4sU6Ec66F6|PvPϤ1n7R}ӑ_ [RBp~ ik9?7^=E+kKCACYZ JDnr9 :I |Хb{vCygi+Imв~rιnS^9U-oߎ1\Ah)Ǿ}Ё^58&1K/ Ѓ`ySBljZ:ou-v'fQ @4з$JQ 牺GӏEb$w&0ռC WSҶ۴-esI2' Dk7χ82:K`Ş D0 |3M13{XfHGx1k£aJݵ_YLVqCj#CFGyx_|keeZk=B󦪔s:~`POtgc~a)bk9e+ɥ&]X=RmU PtCLhƎiA`Xuu59 jI!efգ'qSoDf80219-8gof6Y:D~G?pDa[0Q4g{rŅ`С*u9"]0 NrGUs$nozFs鈘`¨@IjL- }&dP@u*͆F\E{wd:yקtVBq=\wG_YG.#ZJy}CS3 l7RYX?}4;ЙіN)M<"RùZSX-ӪrR;WVia{'mi2` i6>)ҏlGo0l@Ўcy^Km4jSE8LXpw :z?ƠV@\0H FmIq^Sh ^gKYr^N5)(:rf$ֲ>|F֥w`C1ݸ1HS>+r-w0T G`u4+-Y)x́E\ΑPjc$!d'Cguz1?͠QOLx#$؅8@(: 9Jo!T>[3 `:QǪ9w5t[OX76LLsx*2: /M:3^Lՠr 谔YF!ۭ>ĭؓQ3:tw#~Qq`IN&UBk}dW][@]WLz 3jiyLԑysm3Ȣ .kN@MU$ìԠ 淗2j6|GCԊ %^FkDutᑪhL5w̃=c7G%_yZUc)ylBwcz41/ϡuJ_~;!ݡA0bnbj ؟SMk$@vD,eB(vҪPc=޺hΕsNLQ^-8"vZ{pUn<8uY^ȫ+dH[`Zbk$&zMZIB 3vKNz3*(JKN%:z:1? '/ Q2u*)w;aPa0mZML]$a| V}s}NS! -.ۡϒQ1"(R -&@;vBã/[>j?v@p'aȜy1>ufxB`א={m wljM=y.hq.aeVsfҹc{TP?w KX25 8a T@Jp̈y($S6te_S><1fNI,OVIgSt)B=!TU:9B9ՁJ[$E$=ŹtZ F?wj߸Xk.l׈Kw8lHS8^ ppMCR$ePQ7OGLΛ{%hOa8gy]Wݵu| L0/XSuʢJTMlb=%j'(XS"2li%.3v֘(|*a#Ê [KG=AĝْcڀUD`:`’STA[d*mop 0X,GBulls#v<Xc 9G½8Nӊԥ+Ļnل g98߽7H -rp21[{#~3'T9 a,&I9~iPu{;LCgF7bub@}â\-ϥ6>қv;ϼ= RH 'uܷp.PZ3U*p7lPt8H/Uf̪*ƫETM"2s+A ^򇇑D{퀒#N%8zz̓*],tRG=`? BnyH (ٕN\Jua8,᎘rl,X-<Π rT|_Hm`CTEK-YQ>'hf 9.* yenU@maIiwx%tjcmWǚ{+ 8fbjXVlف|f]Pem!vX-ZS/h?ENЈqb YC7+2-N#\zΉYɣ"ܩc`SocC;ewRԝ0B;82"#xIs\,^jRB&LK>Ӽ{V1m?p&j:,J ¬&һWZYG Z 06on:?uh`)VOm5 /uKͧ^n,\|SS؜8l ٝf~e`7@*Ռ.ow75 /kA^!s%ᅁ=\_,R4| no(I)*q[8Jάss-ΜD&T>NMCyU`@Z-9 PO׾;sJ%ޡ-so/y *ږALa$۽zل 2P6t^Ȁަ,NIJXnwЉ&PaW '86@Gɲ{ Aj&&k)?W#Mx[tO ΍bۉso4jTnMw-,Y=_ʅ (WsÏuKه_?Bi08:ֲXsߵk`!%[0ݨmwՠgL= m˚PJx-zt1 99޶N>p@bd"xA|w5X쩢+MKp?1&^YWdEHbPFz[w6s{1j p.9bkpGp59{<a0PcT>3ܧ(%[7XF oKu9\;rJ0~^OtʿV%|+S6,`@CLl\ p4pʿްIP=g8`Bjc,g5]Z).]XZ ReQԫ[e֋T%UrdWit$ A]wG"K\6J5t¤eSB)^$\ ȧwoIW0/u¼33m;NMf{U9t[~SEn,ḠRu89Ist%W[NRLG>cT IU5ft̍͡賟!Z[Zp֖t?w?4oڔf9]H^iRrmgnr؃UluuF3Mœqdz((kAxA'l->f_L޷ 323Rt6X~0/j nWBn>G7.LyJ5 ӛ}+ Zz]JrPҾluz/S#B)] !ns7Rx*w,g^УOOqpխ&W)Qs)_)l ,A[II):#T2<߅|-3Kz. l:&rœ>bws TGJAG< 8%6A%bO90R<eN 7R 3' ˗8;Kɨdl]1@"4q+~]Zq'-*n&QsҏgB\D96Mj8 t34e+IWG.CN.e6xfq0_UCfm{;f~=, >' ӧl c%4)ӭQH7׫z@6ham%;o;VVϝK=QuBYjU{au"\͙ L#v %X\.0L\F'6Z$l,I"C,5z娥]Ηd#in@˴{bfH/JknUkS<-㭻X&2'RGA!Ҟa+=md]lmŕfl _$_N`{8XUuZ^'|6j[>Wuѓ4,ػ~vP /9;KJ̣Bm=M)R@tq0gԚ`N&x1qN>)F~&ىi'Z>'Yv ʼ|}i 6f[66QcfIx%7E:%P!%gyԛ,b"[8 l(&Y5-gZjEMャ bTRXFP;w;{0Kz_ydCD{Qxv̴ բ#w" =Sl5QaR O8 G}|9cAK@sOؑbH?۽!Mo`+|g'x]&t,% 43[(4%,_)þb/'쬒ODcS` RI̓=ߌ;~R17{u~ Dz%-&_A3s .{+nm+ٸ! (adpeZ+ֆ7@>+KZu|~m|c=/EzB˷Iα;1RhSy/CM.M_K[CUO,F~}8Ҙ#](tQ)7.Ί \}Cߣf1*G-R!(Ɓ.6})Ln#*/8nl.ћp)_Vٍ jm=H1Av݁ʨͯ+%w AP@r/Hn{l oۈza|ӷߤNT8O}yB)ZkKGЎmu=҉BYn|-rW*v :>Z&+$$UP3_%CY]G47c3R+ΉeSuUs&O-( NW|lnD]YKw)3;[~n4{M?A!0~e=C|\KEL:Ѹ)mP'W309 Hz+&4I[ d I`\=ͅ4]g=ȈVAU<+Z;W$4|gra@$ҥԈ(w,fe;A6l(GXOUk~?nvpXLYEEdG>WӚ oqƹ ՏTVmWKh2y+Bf쟍aYYp_R llW˫WDW)jKt @q\eD&1)6:lIPsR#^EoCN4?{!:Iy266)6(y$z cey{L{ NBU\q)e F8Q}ּٗ!&5L> 8+e*pA̢`́m2ynZ}t_ݞц[Z|1Fzs(`+l ,|"3߃yI~;}'5ȍ~)oD&Z'+ Sk;K{ z&*W wthc QQ4ޥm!)Y6* 5=wrWNf%Jh& 1S0*x%J"+J;o5r8Yqe |f5Kb&l#dq-̈́R8/kGeQ(-݀Mhs`FUD`(SQΘSDHɋ\cf[aPhmiͼzj86,/u!4OYSnm$s6Q^g6ۜ=1Wڶmo8p]ȫ>pYfIdjo)`s]:6;z8L5|pתW՛ʗHۭtkZA P4n6A{pfa10ם,\B@V/YMg}H^Vj{SY$..6(#c?caj?Qep[П:=l0"C3-]c$ Ҍ'zΛ;tER,hu!Q)\ň53&``qh`Oyz7_ g=U e-<YR^De1QRI۫0nߥ)}u![&\q~$pP-p2le֋Bڜҧb'"0M>4x갊[RHTU MEu&VS +D58;3_6:@H(Ŵz&i^OWa1K3('QVz^R!h:층2+iSNt KĈF0: D6?],{>:c^/X&\lŠtXN~KH<~{<yEڊSG8QVOaykۂ0ݨbNV н(_$G$O !%1pXHܭ0o\DzKsZ@;-Z@ nZ!9-qF2 *omVޛSVMw [T;ڋә r A&:~}Zu5tBlH\QYq3 f}Op;GEeQq"cy3WRefaﻎ.kO%nM#IU/=P%E`( J~}2y?@3^b9ɡht aKe*D%̂mhkz/aA3ۿ; Z t մUY4to"EhO%UY$m.^`2eT-vfNӓNQ .Dw1Ab/% cAMz82;"u>`i`{ٱܩ("{K\4#i;UE#8ŞFgB` t{0O {爡<ĆUmI>59Cu'YŐզޖ/W,k4Ǐ,O7FGL_AUZTE*QdFRj |!٣_*,ş[΄_-eLѓ%?0^/N%,{%k/Y/L=]X]h8 ` RUU+#ӷ‘Dz}Ʈ{[Tw?9si7b)Q#31"Ĺ*(';D%qRE3{5QGV[B@CR݊8 ,N-#@0=ʘϵ<@I9>ծU4CgWN4}cBꀙ-fGcȲퟥkLqA נ`w+TAĢ }B AcKtH `SZA7~$RWgpT̰N4NPڝoԉY@uM|8͢53̩ü䡐S y%o%s'mR6Džmm[yJB%dRbF!Ds8ToVNu]M 7M9g|v6a9Wc?~GV[8bi4Q *1]8;yx==*"h FEbjlTQmSp3!1AK~iW3HҡRBjM:;{},5P}!3dA8E{'ُqމ&P@ˌ Q9絢Hco|ua /ILΉ fI0S$<9_js?e'2IWy7, tz~IԮke&un Ѷ9ц"U%Yto!|W\:'ˋ\MSeR)dԄ؋()90PFi7ʹ7Oxnf3.Iz9A egpwlKFh&8t;msnFt{^ F}[Ccfivk3Wf-E|vIJT 5MP}`S 00QȯW>y2 St7=j# ӕBn:4{g0l0O'~R0wwX-;}R:,EzwTf8JP fkاPSU=Z-7MMv׋e9pgBb&Yps$|Jd rJvy_|z}C-_v e2z#ӵƹr_弞k<$B6ɴf5 QN:)!<.ZS˹"'1Q275ƃD]o*_1i_/Sh@p;oB-Iyj#5_r$Һ(qSEOH5T}lm+~5Q7i3+#C/Zk*/B1fy< QnV QnԾMcWZ(Y)yUʃ&ȱr q=g\v G3caL+] |G1rjaW{ R.Š:,w5țyS{i:(ߑ%8:fHFgjC'窷h:D-Q-4nvtjd98S2\#oASo\jq/y8BiV21@(v{EFI !{4b\dBsE]sYꦑ/ܕ^\թ/Vc(nn ÐwzD 8D&O?8ƔHڋ2t1<5Xv TH4 TnSaݠgH딛fN:ac閱I#ߺUbʂH/?c'Md8߯LEVoOx[beA}M{+tzH5Ģ3?g ֨y?}_.tTCH1l3D_MMt J.J5l.V! N`vfރ|qY3KHG6Smם+EW*vnZnFˈDqSex Ě}*xX#P§b6y}] ncB3q\ ڷZ)iG5@i H`#S ܫ _[}f$s@=0w.Y]~Mom?uY \Oe2I i@ >k۸Z61:o*I%G[?$<O$jo1;oT^t)͉Dgx+[3L;!c}!'?b"XXYbPy(~ߐM|]ڮ] xTA˗9; oZ!9sr(` s`b%f*'CK528vIow $0-v "k`f(IZ-eubi3Ҫ]!'sG!2s|m'E98 vaO.DRC$ 3p &u%h@Ŗ+'\{=D}6"^&G꼆u#@Ga$MdEM`<{C>t=% 1!CSf.0CrP:30`ělaيǪ=r*δ;VOV #L;?7f⨍\ zU "഍$JGzZj|^j\= ] Gm#~E^߇#ioaTݺk#'&ڪ/ggCgYX.4q꽻1}brH)9"8ۉ ڤth7#^ћ\d:!z9DBԊjxmiUe%.`=Ͳ_6mW񂪰2e Q闶}]K*6PM۴MXݝWk޺r n\I=u_)qS:R2|PUY RӉ[YO[5 }Z9fD=\`}p#93F.JdI A\1ل]:pr|Ab.†vl;7~Ϡ!Bu]Bd.oksC4ΜQ~Ku|L{ƾi7ӡMe?_bsHndCn^t/ 37>g<;ON{ I8+b:v29 M ꒋ황"vH㌑XAàczzg1GZio]_gF1m ߡ7$3 L?\m˭8;aj;ZWUӖSY\G4$eOhA?iWYc_iDbnQiU_'r}(@ 8O _E;_bܡlnQbD )nkI2z's܀P!])cK\ؠuZ\O{ϧ!GS [ATg^t{R^]NHsƇ;~5J@{k]?֡G5&C eBr5&GlK u%)z#24+k(mCѥf0LXpRP tnIc:!MvXGBgKhwT2U>H"lT=z4)Zb@V]]4HE?Gע/3Bȝoa܃B yGz/PsРEfM=@rX)fgBUM< H<| 1 6h'6d4^ N;X?(o-O ]{ٮ8G!θFl,hDHiM sxH'dZ-1dRyM9[%a>[0L?F4/p _UJLbPt^y<k;{>[mpO:B'$A"r(AB&^梆1)=췤VOAV%W4߾_9cJ(R#z4E8}h rv¹ WOq3tMz~UUj/|L f";LJ l_Zj5=6w5D<Z-bxu{@jum+-X֊ QMo ,N!~Y] I SM SP "PӦFOg$ր2Ч!VlKu%GȩBF58ffTqGhfYwCKS~EF 5I{Pcu2 o/{gaD/Gv0q0|1ʙ[?j~[R]:D߁'D"q=qhl7DbgU5.|-1&:E؜FPtTDQ Ņ+JY ߋ3p?w\BƖ$;"ufۻ5'K$Mz'meֶ-_1Dzx<%(w@Y%Feqޭă)@&1 yc6*MW\3uE@aIM-:FF iM0hꡰK82eaq^ YVHM;BcCԓd opN~(6BMbr`TϺޓ e ;uȖf ݻhʼncb2cH22 d$)k_r7Z0 /O8w:ݺe"K]zNON`fO~pDa\AqwYjXA]C/LGJΝ]ԃ'UKd]|@"ٟr. ^l8]OgTԙuq'X*~TB~=ıDݒ""3-K4&)_-2'ek=+@YD> >Bq޲`U'Zz?,<%+W2˔W.KSKpۤ"ѱީCœ/;oԇz?.,r$4x $XK/9֪T)McC NPpұM@pLEuU:;3D=+ʍ[wD+(Loʛ.)y^sTT8Yr&* <}\L p$7m/jGP}_/*Owig8d+k;]ƂZWv LY; &*ϝ}VLIS⾂H-œ8BdU@SLpd(>(Eнbs|k%i|T [*/vE:lş,\lg0ּ"lKflg>_X9qZo7{w7YIa`*s!?2Iba_<4%JGSu͙4>zn^ a=7רIA+̸fN f&vfJY.ƒO]^P<5 Lq)XLc.<(0+aԪ+uOK=irƨxS/`*V!$~uQq1nak_i6ٶ_'Cu\<ü{Ci^Up}~dcp?B&*'o1EQC,/=}V܊E;Rb#X̄ƙGu@R|o bg'N6aUȺg+tgtik0޳tYf|f51–_?cHYWgef 0hu@(D:0UDAS"miug9IRt;@, O&;"2pMx9f&|9,/98a@f\`gw{gE0p`T3KVeI+Sָ}3bd3#7YtZ}Wjz5O@_?|pϫO5ĺ;GZă?"%=C1B,r>5%8ݠr rvC{LBDE2u:m~>  }_ ~h04%Q@w,qyondCS ebYuh͕9uc2@ɷcHL{r`w;৊Dڭ,|^5tk5an9j*7.a6QwP' UNz:rVA M#6[?jE!x߶&_] Y -O}<*E $@ݖlN 'Z-:[aJ<-iA`[ι‡)%!l Tgsŵ~V@G_s8TݦWPLKN:lfeճ3G;^^9/誕H䚞Mnt\9<ѽOfusX-tzQLFք_'4A('dJT-W˝uohUFhb~u"G} )K";Uq٪|JwZLػf\_LG3~+ r $ciRG;?`xr[$~ܝk_]vpY&x]1&jSCL)]4*?NR\jqCNͽC cU񿺻iA} ГŚggk FPcQ@ SK4<:\&Yf]4UUOsm)_'0 ֞Ƅ%}!G70pdWD- B`P0J#Ʋn(.•@X*ßc{=}Ql_~M=qLaG woIVjN֔:$: U¥Y%>>0 > b10U@jkkW.,yfT%Z1{)%U$)ڸJ7ٍ.W8sav% jWmّd꟒kH2^AV&# a7pl6kRR E3*UnwJH#g:CAUC+a†e;63tu?0]*_`G5ý aoo/aه]X+zD.F}{&/rcpS{,Y}Kvf!,a#JIk٧iD&βBÛzJ u,I;4-O0܇,Kc TB$㼫`۽:~4ߓ .0|3{Q~$?.GN<1SNif}dyrJ+LW Pvxz,hsP`-@fәWg%!5LLCHIqe-%WrUR0}hetHkĀO'PRĨ&pbf4j?!HFћS8Q \=&$2(ַ^Y 1F& t*lR2k$_E|7.o|FSFka.Z; 7nk9O#C`Dީc,Hϵ|.sA ؠP-+p,^'j/ހHMʼnJ|fG42#Lxc楬*mN}sHFr6v$YZߖݯz$4HH{QөM-3蕌޿:HL2NL 9;.ODl>{ħ_ |FƱfqbR3 N A”]vuYxU0NIxM.70fSUb1ϊyf_ ,jA4(˼zR ::VxOU#L)Νr۽ \.\N#>ÚS5g85#t@&$T| x~SS 9Tx=J1ʈZdkAԟb BˑKïI<mv"d/ >^ߑX>lJ(љ'L(kkz9mלwE.iQRNP`"M>DEZ$QVye ߣny{DX$$.G,O/CKn@%h9 JBR%z^?`υkػ8I8z:xOhغ@*QrrITkXh=g~]N؇BlL mg4#.Ն}]:` r,/p0TkfmX!&3\9h֎9[`nq 4+d[Iѳ-d(^0N=)#39+(㹳tVȡ&Ѹh_M~/re|ȅ"FK,^45}""ۨ%#DD ɴo^md[g&@k(&8%<}'gRj:_'n7p _Fjn8olg[Bb9]Q a=0׼HH28A T]K >6=ҐH%դ/Yѐ=r"P6}a&m#Xxkj G.-tq{*2/xh5!gPP/WV[np_+ vf/7r.S 7̃S Xf Mw3=6Zuf,d$h />&V-*#MrkB%P@[s{3{Ba[򠒌IPosn`1ͧ2tdwrqdcg#*X?7jrҵpoOebasҨ,XKa7-9TV]Oy ,PlOә{izs:z7c8 chIk.lr Om0+Ӑ z CHÖA?<)%dŋn4QϗpNh{Q_VzR$Z@H,5!`m(7*c"K2-죇#}+;3@ _I3NdU|bm6UCg;Iv;4)Q5kR2",ڃdUliguܤdv/aEQ/^'Vz+m=~ &1Bi"*m%3x#BnUmCYه\f πOWH(!Ct]Km  E7]{0>5y-Fxtz^-oݒ(]XQe?V"s3whOTJԽ\֘K)KVB=W7f׵U21a$H1aPV ^ ⹛h x ѿ &WOA=DB൷P]e=s1q 3AM{FuwJbe ᵅ q:W⥺g4[F?%yqiVW^F{-AER'+:kBsw.vH*s&M>  e !2$DzKA}fwBp8YY>FW4PqWM䮿1 n y7!EPpO<ߊF6!Z4HX?prLcXF( c{MqJ`xuEKAU7%\=B^-M5z^H**IE4 9h$T\4 *ޚ3HWg rl1։Ц mJYѱu'oO8R?Y`!oc  MzM#Vp.lYمqL4Nx0?ܕf@14U7 cגY ɇGH94tn]Lw]wMf9Du rq<؆PhaJqlSppw(Y|֡Gҵn'?I-+7/w`$^~Ȥ |.8{aMY*ZqmڀkVI0u.D?o٘aij|ŘA=Bva&!!YfM^=g 9OhN-3)c "6ik&rxGg&vZ㡷%_y£DeSL_@f^$+W5-1*"aD? psnK}ͳpnX*X-tP~dBgi@kӺ1%Yv cTĬ %\@~?36Zqכ)da5(,D} P%D$ָAo``,B !zJ?8u7[0B`h#=SYj ;)c ״F.n;$gY*^ۻT"ӆ~=ϋ{\JR$=B\S lS潕 2;*m[6hv8lՋ3b7 ~ Qx>;em7jEo8jAzNdBz]/ аem*78%i8'*;ӏbٙΠ0aLɋbWB}ṅΘvw^Rv\E؃l9Jŏ3\Dh-,jeӫļh&D^ZM %d i@hw)}[c_:e%pmX n>eζz,劐*5uQ!Ft4-rDm >eV Ա3N|H >m?G((EF?ġ^3N˟T8)O$DBj'iC02=ܳEaEJ)d8=B0WH =:VC}ל?6CJ]=t\cZ/)m,ʴF*o2o(έ&d2Ux霧c '4ȗ6Z-lZ1R2# h ^+!wY8qifMn|ҽPĝKfZk>]gfxes:t:Xf:)M̘c*_8?>DHcJ& ējUw2vbw qb>Աșt2>PGw.NLJ7?!9c֯\ؒݬBkˁG16+yߍ*‚^?1[ʻN31>\_v\C"@vly!Nm!`L0JHSQ'չ-vu"~#w˄ aqŒW4bd  ϟ")mNYy rC{q v,}aTKMݛtHUy|hB2:8V#*I_'|rRd nП$+,oڟKfB"%<#}JϧLr/h(ZD"O 4&:E#/rS'r[>s-Lb283b= R|@2{ (UQ-G*TS)fN٭*SyO5\9yu#$`JgjkhTpqPdFС>'[:!`{4_~R>ze BVg>Cχ )%n7jg S6Y +9҆eZV+?<v6ȸ]kDz~5Oak.D%ҴS lo *kX\`[xBBE$w'M-ti%h=3?Gfw 4L/)MNːCfc Iy[ayzGp|Iy~_)]9m-u{`q9.;+\$YOB :'k.]ވ;B28*[!]TzF ݃{LS%@wUDvWX NﻔZNTu,0fʅ4˰7 lfQ[{',UrUKub]}AO8J6)B,믳<-EL%n` $ȋP^\0qh w(=mB?f<.+%k].s"ZRXYfv*ڨ_-R޽{yt3И. vN*dL y攭l7R-:tGj/FA{VYfFcN3L 2^aHWi\ o Z֚څ/S]<"L JM0$;i'뒼Qye,8 xE5HSS$jJ&= eoE*7N|`6<*uE[=)Z3zDЮxipr ],pjW!Q۳Osm\9 fEK sˉvY=OUM J,.b'LJm˂:)3!8?;GԼfw#BЍk2 V8bM0%ϥ#@a`u3 ?}/AB%vQa ȇ%?z[o97'O5'N S\~@[>t[؅ 󪞘* ia ogLrcTg=^,5׎;HeVc2y Čk+ЮEe`+AWþlY/ZKٽqT2O;i54P]*R&HE&u!ly fQ%WT3y^^UJQOI)aO_2g!)Y2X;Bxaa}2Y.3kO%ƛX0Ɠc$t{h!Qf(é{N.? ,h/;Ǽ5. >u6@u&Xpu9ݮĻ u g—r ,әs}DQlYTn1ϩa"s2,IeuEјKi갟9; 2=Б˃-X4%S:%mq_e x<"M\bh94.^N_`;j Iif莁n#b$&[}ɲX5w 'qw&z=i4*pHZF)&6pm9C1Jum4) QUĞdT 75or0G &;a+a~d,6! mksn7&GQ''[E%ʈޘ֕]r <v O92nh"J)a=M G\=6L/<9-,3=2Aq݅5r"ba@$ P\z%}Zhp r .4{(&7 Y~n)яe .V}e}<_x\ε|ri ?j+6KrٍoU&!'( B 0rVs= H\8h_:Ƌɇ$#vG{141%AmEfAӇ lz&8c2"C<.@OYb-5K/뗂˃o^I{NJGV:|3vtSMV!mE/9p!el`^E)i^*37|.*M4@XLK/= _*Q~D/ִf{pЙM#2|>6)1ː* m,q)s}^0a6K#ՠe4Ye22KvyD-ʍymZbt'ѭ𰞬ą#\hHg1Ӹ{ d#YDw)FM[qF[DH4+ ͭoC@jpK߶zr=pՈ&mBKuUB,'܍D! toSQA^$1ٸ8ʊFg#z^-gjT\sw q&DӱePy&%AP_ y%^U b7W^:zNj*Qکpߚ̿^3 (n !klV|ʪf1Ӳ5X Q{5hQ3;va;n꾓sSǦ,=n&͎7wsH%a|liေ^i+n7- D<ħAǸ5$cFg~w#!X2B֐=Mڱd6&y UBW8y_˾сOąXHs %ndVd ;e^ZЪʀD+C9Œٻaf|z4m1{+&+K FT*q9=mƦ_?P[ENR6hr|P^`<]̸^D904$i؞iظT} exrAFrN%G8^ N/>\t3FО}Jr# f˺6ٟ.)xJɢ.܊ *]q:4)0PCrO#玙p^D)|NgTG0ޜnhK$C=A&URܷ==l Iz$?,mV)|hsC$Gz˕%(>)f~ /딹85w TmXf <$=9XSis6^adVg'V@1=לJT{SŖ 4UA'r' ytu!I+;K|4jiٓ&'<ZTM#Ŭ@2Ge(n.fD` =-SDXz.1