alsa-devel-1.2.6.1-150400.1.4 >  A bvp9|e ;iZ0=UP:h>H)u{K+iF-O!I G5Yg"’? Q&k\+3Bp)(;CltA,3Q n.ͻ`U=Ηe]O܈Ea߱ ׃j;NY^IO^8d f+.va#9;KH#&cq5aѡ=a{b, 9ܱ;F;_DMOc)?r S12f117e4897498c186588b257feb6c634a9c2467ea40587ee5a2256b8410535a7a76bfebbd1e182e87af341aec9e88491d693b879;bvp9|LSNC f𶢗 t!1uR]p U؜Z#ٞ!U3t/)h=.kCe;s|QK_³?f lx?,#A/M/!(/ |A^w`֖mK>v?^ e s‡]Q+0Lѹ=5T<7@ƣ -srsoߋ21/ysΝ zzLXo.tEXz OV1vB{ ձN#3F>pA???d   B .Nkq|5P5 5 $5 5 m5 5555(8J9J: JB5hF5pG55H6`5I745X7lY7Z7[7\75]85^:b;[c<d5y?Tz?\?l?p?v?Calsa-devel1.2.6.1150400.1.4Header files for ALSA developmentThis package contains all necessary include files and libraries needed to develop applications that require ALSA.bvibs-centriq-5($SUSE Linux Enterprise 15SUSE LLC LGPL-2.1-or-laterhttps://www.suse.com/Development/Libraries/C and C++https://www.alsa-project.orglinuxaarch64P=$!"Y P 8| tCNg~. V8c"'*!XC [p,vU'``A큤A큤A큤bvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbvbv91e404147fe06bdb002a543ebac52e0da70cb24018f72a780f98b8d99eb576aa8d0ba13f07ec38681704d24caebb3f47ab9287c5e41c41e4e862e4ebdd7ec63b6805ba74ebc61bd5e7199d2b88179266f30d56472460cf1bfe01ecd32440a0f07eba1353bd69f1da0cb3c1c979ff3e9043341afab7cb76c1a18eddf6fe93412394af01a9903606372ba6b222ceca39673e27f13e26e0a1f25c7e9d6edb20ad5cefb297e769ca8c6e0cace66c412c0de96176f60528ad23ac69c0a609b7049e94711c31f25f8222370e3be7c3bf1cdb24bbcf04206a3fb74158bb7d77ec1ac6fe50356003dc15de9ec0e70ea8d928b969d94d71c7ea515d146756d1a81478b47ba07a8e1dc0c8fc0bbd85cd15253e9f5b6c68830a5ec95dd07deb0f93b62a5414c1d81c9ecb04b8120215fca4325cb3af2a64a2e3be48c26c4b3a3d3c381fd482947a28c463f4d298c809d2bf7a2a58c3701c5b78c7977684ebb9f9258217cbecf5c045051f4a5793d92ced073c0f61f1be538b5d776a16bb38c1df1a3efe76db8b3a8f9c35cb1ccca1cade2393128477f0dab54462cda826c31f779a20f3ea01b9fd5ca72a12731efd401b0902674c23c5a5fe212b2723e200124b074877f45858421a16ba366227985bbe2c2b794e1e76d794eea9e98f74fa9cbba14b0c98a287159b959d7456d2fdd7572f76235947df59b4387e5ae59be5e8167bd9b4f58028d1abf20ca1b2b6c4de580fba8710ade939ee795a4a9ca72d9d21cd6dc9c3b8b3cb1f2bb55518dc2d72bf220fd92e33562197ceb51cc069639e625cf536ac92a48e2476848a937bbacdf961966ed48525765050e3a4c8291d44950d20b621ba75db665e8ced307f321a0618d52e3b6cf8a46cb9a98730e5caf38c4b5f4d6d7bad566d8d3f3a4805c1d6b04be37ac20f1854d28a14d71a2ce178340b4c601c02a9822f8f0be9da7e700e9b49c1dac84a20a34e29d19dc3d19184719751a20b22893feea7c087216bdb3afad9b4dbd01fcb23ad9f99c1e702ea1e24091706aea75ced8e67e400f5dafcfb4d5d92c790b2181a9c64b33c1e0029c1dc7704959af0050159232aa3bfc7e9886de647bdf34a879fb400d318323ae452a39bda96a7249ef022d710add1ad71f734a260ddbceca42ba398339746b010a69e08c461153601f2d13ac23b001b49497ab9c8b0c21a03354203385600e1cfa3d50d5cb6082b9050c100201fb687fe5cf76c52d95d7c333b6e54148ab2e172135413896a7c0d330512b43c88c03a1aabefae4aa7ce0deeb7a08b523d3b6eb479373f4931557f2e438eb4e304b6033b75e12f275046ebef5f00dbf3df899d42778eecbdb8eac637a252053cece111c87dc93f8156b273a2d03e77fd2c953981f56a232028c120e3acc4c5a19601f01002631238ad6574dc62207b20462d9caa054de9a9ed83f46d8e48e2241af43dbd7ff999eacdf300e4fb0a4624069d7cbb292c4bb268f54483adb483c7264669d866606914642cfe06f7214d19162f88f56034fb8bee382beb685153cf3fb4bfb50f1ddf8eea26ebff0de25f42bc2dd1945f0b12e7656ef2dd2cded7238c17ae02fb2979b41c6869426e4908131e106c2c8cd86b35137136c702ef6b307392c5eca43f51edcfa2fca1ed7b23326ce8db24a3356294d193ebb877d369f30eb33ac39a5f07e13ec4eb3746e11a0ce49ed9b13a65c91b72d5372c03f4b26b41847cdf06eb3fa313b12715519cc52e27acf170c0c01b509fcb9354f17a953fb06f8e716bff74a4d2798ce0b3a84f9f42d55da41b2ece2c4a40358fd02d38cd2a9938b3433f8d51ffcd97721ab67a998bd885012975b3a2eec1a6e82097410a5806f19be94884aaa6895006bc0f80ef03d133e80efd398a5d149d89e74470485445d6733a95a8b7e16da52853e20df639ed3dfcdca9ef7b72c24b296dbb18367bcf06bed44d31867892c8e3a1982dc3118cce13eaab487afe26f1a4a1ffd152ba9f3ed36f2334bcbe945927351f3da65f4aef5be1a089229172bf2cb0b535355ac5c311b712d2136e963e349a27b1b7f75649622d077f500e71612cb0b535355ac5c311b712d2136e963e349a27b1b7f75649622d077f500e7161b5f1c0523665feefbd23c5732d2e75de0d5e9a559eff6a13a499f6ac0bb53c74e9e523f0494ea6af65311b94a3277a8d057c13a09cdd6f0a2a8b8e1e4a113207libasound.so.2.0.0rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootalsa-1.2.6.1-150400.1.4.src.rpmalsa-develalsa-devel(aarch-64)alsa-lib-develalsadevpkgconfig(alsa)@    /usr/bin/pkg-configglibc-devellibasound2rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.2.6.13.0.4-14.6.0-14.0-15.2-14.14.3aA@a@`D`@`` @` l_T_"_{ _y@_s!_k8_^^y^^^^ku^C^&]]@]e@]@]Γ@]p\"\g\g\O\@\@\6\3?@[_[u[$@Z@Zľ@Zľ@ZZ`@Z8@Z7Z@Z Y0YY @XsXۡXX@Xc@Xc@X=mWWXW4p@V@VV@VqU@Uc@UU_@T T@T@ThTAtiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.derpm@fthiessen.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.deschwab@suse.deguillaume.gardet@opensuse.orgtiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.demliska@suse.czmliska@suse.cztiwai@suse.dejengelh@inai.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.derbrown@suse.comtiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detchvatal@suse.comkukuk@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.dedimstar@opensuse.orgtiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.deledest@gmail.comtiwai@suse.de- Update to version 1.2.6.1: a minor fix release: * conf: fix the device parsing when arguments has no defaults * conf: accept '_' character in the variable name- Update to version 1.2.6: lots of changes, including UCM and config updates and rawmidi framing mode support: for details, see below https://www.alsa-project.org/wiki/Changes_v1.2.5.1_v1.2.6#alsa-lib - Add *.sig file for the source tarball- Update to version 1.2.5.1: a bug fix release, including previous patches: https://www.alsa-project.org/wiki/Changes_v1.2.5_v1.2.5.1 - Drop obsoleted patches: 0001-conf-fix-load_for_all_cards.patch 0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch 0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch- Fix regression in config read and UCM handling on pipewire and pulseaudio (boo#1187079, boo#1187033): 0001-conf-fix-load_for_all_cards.patch 0002-ucm-add-_alibpref-to-get-the-private-device-prefix.patch 0003-ucm-fix-_alibpref-string-add-.-delimiter-to-the-end.patch- Update to version 1.2.5 * https://www.alsa-project.org/wiki/Changes_v1.2.4_v1.2.5#alsa-lib - Drop upstream fixed patches * 0001-dlmisc-the-snd_plugin_dir_set-snd_plugin_dir-must-be.patch * 0002-dlmisc-fix-snd_plugin_dir-locking-for-not-DL_ORIGIN_.patch * 0003-pcm-snd_pcm_mmap_readi-fix-typo-in-comment.patch * 0004-topology-use-inclusive-language-for-bclk.patch * 0005-topology-use-inclusive-language-for-fsync.patch * 0006-topology-use-inclusive-language-in-documentation.patch * 0007-pcm-set-the-snd_pcm_ioplug_status-tstamp-field.patch * 0009-pcm-Add-snd_pcm_audio_tstamp_type_t-constants.patch * 0045-pcm-direct-Fix-the-missing-appl_ptr-update.patch * 0019-pcm-fix-__snd_pcm_state-return-value.patch * 0025-pcm-plugin-optimize-sync-in-snd_pcm_plugin_status.patch * 0026-Revert-pcm_plugin-fix-delay.patch * 0014-rawmidi-fix-memory-leak-in-snd_rawmidi_virtual_open.patch * 0037-topology-tplg_decode_pcm-add-missing-log-argument-co.patch * 0040-topology-sort_config-cleanups-use-goto-for-the-error.patch * 0028-pcm-rate-tidy-up-snd_pcm_rate_avail_update.patch * 0046-pcm-ioplug-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_statu.patch * 0030-pcm-rate-use-pcm_frame_diff-in-snd_pcm_rate_playback.patch * 0047-pcm-null-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch * 0043-pcm-dmix-dshare-delay-calculation-fixes-and-cleanups.patch * 0042-pcm_plugin-set-the-initial-hw_ptr-appl_ptr-from-the-.patch * 0011-pcm-Fix-a-typo-in-SND_PCM_AUDIO_TSTAMP_TYPE_LAST-def.patch * 0017-pcm_multi-remove-dead-assignment-from-_snd_pcm_multi.patch * 0027-pcm-ioplug-fix-the-delay-calculation-in-the-status-c.patch * 0041-conf-USB-add-Xonar-U7-MKII-to-USB-Audio.pcm.iec958_d.patch * 0016-pcm-remove-dead-assignments-from-snd_pcm_rate_-commi.patch * 0035-topology-tplg_pprint_integer-fix-coverity-uninitaliz.patch * 0034-ucm-fix-possible-memory-leak-in-parse_verb_file.patch * 0021-conf-fix-return-code-in-_snd_config_load_with_includ.patch * 0023-pcm-plugin-status-revert-the-recent-changes.patch * 0020-confmisc-fix-memory-leak-in-snd_func_concat.patch * 0029-pcm-ioplug-fix-the-delay-calculation-for-old-plugins.patch * 0039-ucm-uc_mgr_substitute_tree-fix-use-after-free.patch * 0024-pcm-plugin-tidy-snd_pcm_plugin_avail_update.patch * 0010-test-audio_time-Make-use-of-SND_PCM_AUDIO_TSTAMP_TYP.patch * 0033-pcm-rate-fix-the-capture-delay-values.patch * 0015-timer-fix-sizeof-operator-mismatch-in-snd_timer_quer.patch * 0036-topology-tplg_add_widget_object-do-not-use-invalid-e.patch * 0044-topology-fix-parse_tuple_set-remove-dead-condition-c.patch * 0038-topology-parse_tuple_set-remove-dead-condition-code.patch * 0018-conf-fix-get_hexachar-return-value.patch * 0013-ucm-fix-bad-frees-in-get_list0-and-get_list20.patch * 0012-conf-fix-use-after-free-in-_snd_config_load_with_inc.patch * 0031-pcm-plugin-fix-status-code-for-capture.patch * 0048-pcm-share-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch * 0032-pcm-rate-use-pcm_frame_diff-on-related-places.patch * 0022-pcm-plugin-status-fix-the-return-value-regression.patch- Yet more fixes for the crash with dmix plugin (bsc#1181194): 0045-pcm-direct-Fix-the-missing-appl_ptr-update.patch 0046-pcm-ioplug-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_statu.patch 0047-pcm-null-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch 0048-pcm-share-Pass-appl_ptr-and-hw_ptr-in-snd_pcm_status.patch- Backport upstream fixes: yet more PCM plugin fixes, topology fixes/cleanups, UAF fix in UCM (bsc#1181194): 0004-topology-use-inclusive-language-for-bclk.patch 0005-topology-use-inclusive-language-for-fsync.patch 0006-topology-use-inclusive-language-in-documentation.patch 0034-ucm-fix-possible-memory-leak-in-parse_verb_file.patch 0035-topology-tplg_pprint_integer-fix-coverity-uninitaliz.patch 0036-topology-tplg_add_widget_object-do-not-use-invalid-e.patch 0037-topology-tplg_decode_pcm-add-missing-log-argument-co.patch 0038-topology-parse_tuple_set-remove-dead-condition-code.patch 0039-ucm-uc_mgr_substitute_tree-fix-use-after-free.patch 0040-topology-sort_config-cleanups-use-goto-for-the-error.patch 0041-conf-USB-add-Xonar-U7-MKII-to-USB-Audio.pcm.iec958_d.patch 0042-pcm_plugin-set-the-initial-hw_ptr-appl_ptr-from-the-.patch 0043-pcm-dmix-dshare-delay-calculation-fixes-and-cleanups.patch 0044-topology-fix-parse_tuple_set-remove-dead-condition-c.patch- Backport upstream fixes: a PCM plugin regression fix about snd_pcm_status() call, plugin directory handling fixes, missing audio timestamp types, use-after-free fix for conf parser, PCM plugin delay account fixes, etc: 0001-dlmisc-the-snd_plugin_dir_set-snd_plugin_dir-must-be.patch 0002-dlmisc-fix-snd_plugin_dir-locking-for-not-DL_ORIGIN_.patch 0003-pcm-snd_pcm_mmap_readi-fix-typo-in-comment.patch 0007-pcm-set-the-snd_pcm_ioplug_status-tstamp-field.patch 0009-pcm-Add-snd_pcm_audio_tstamp_type_t-constants.patch 0010-test-audio_time-Make-use-of-SND_PCM_AUDIO_TSTAMP_TYP.patch 0011-pcm-Fix-a-typo-in-SND_PCM_AUDIO_TSTAMP_TYPE_LAST-def.patch 0012-conf-fix-use-after-free-in-_snd_config_load_with_inc.patch 0013-ucm-fix-bad-frees-in-get_list0-and-get_list20.patch 0014-rawmidi-fix-memory-leak-in-snd_rawmidi_virtual_open.patch 0015-timer-fix-sizeof-operator-mismatch-in-snd_timer_quer.patch 0016-pcm-remove-dead-assignments-from-snd_pcm_rate_-commi.patch 0017-pcm_multi-remove-dead-assignment-from-_snd_pcm_multi.patch 0018-conf-fix-get_hexachar-return-value.patch 0019-pcm-fix-__snd_pcm_state-return-value.patch 0020-confmisc-fix-memory-leak-in-snd_func_concat.patch 0021-conf-fix-return-code-in-_snd_config_load_with_includ.patch 0022-pcm-plugin-status-fix-the-return-value-regression.patch 0023-pcm-plugin-status-revert-the-recent-changes.patch 0024-pcm-plugin-tidy-snd_pcm_plugin_avail_update.patch 0025-pcm-plugin-optimize-sync-in-snd_pcm_plugin_status.patch 0026-Revert-pcm_plugin-fix-delay.patch 0027-pcm-ioplug-fix-the-delay-calculation-in-the-status-c.patch 0028-pcm-rate-tidy-up-snd_pcm_rate_avail_update.patch 0029-pcm-ioplug-fix-the-delay-calculation-for-old-plugins.patch 0030-pcm-rate-use-pcm_frame_diff-in-snd_pcm_rate_playback.patch 0031-pcm-plugin-fix-status-code-for-capture.patch 0032-pcm-rate-use-pcm_frame_diff-on-related-places.patch 0033-pcm-rate-fix-the-capture-delay-values.patch- Update to alsa-lib 1.2.4: Major updates, including previous patches. Documentation updates, PCM optional lockless, meter and iec958 plugin updates, UCM updates, topology API updates, LTO fixes, etc. See the details in https://www.alsa-project.org/wiki/Changes_v1.2.3.2_v1.2.4 - Drop the superfluous udev rules for HD-audio; it's already handled in the kernel properly - Drop obsoleted patches: 0001-ucm-substitution-remove-duplicate-allow_empty-assign.patch 0002-ucm-fix-parse_get_safe_name-safe-name-must-be-checke.patch 0003-ucm-substitute-the-merged-tree-completely.patch 0004-ctl-improve-documentation-for-identifier-of-control-.patch 0005-pcm-dmix-make-lockless-operation-optional.patch 0006-pcm-dmix-Fix-semaphore-usage-with-lockless-operation.patch 0007-pcm-iec958-implement-HDMI-HBR-audio-formatting.patch 0008-pcm-iec958-set-channel-status-bits-according-to-rate.patch 0009-conf-pcm-USB-Added-S-PDIF-fix-for-Asus-Xonar-SE.patch 0010-control-ctlparse-fix-enum-values-in-or.patch 0011-conf-USB-Audio-Disable-IEC958-on-Lenovo-ThinkStation.patch 0012-pcm-dmix-fix-access-to-sum-buffer-in-non-interleaved.patch 0014-control-Add-documentation-for-snd_ctl_elem_list_.patch 0015-conf-quote-also-strings-with-and-characters-in-strin.patch 0016-topology-decode-Fix-channel-map-memory-allocation.patch 0017-topology-decode-Fix-infinite-loop-in-decoding-enum-c.patch 0018-topology-decode-Remove-decoding-values-for-enum-cont.patch 0019-topology-decode-Add-enum-control-texts-as-separate-e.patch 0020-topology-decode-Fix-printing-texts-section.patch 0021-topology-decode-Change-declaration-of-enum-decoding-.patch 0022-topology-decode-Fix-decoding-PCM-formats-and-rates.patch 0023-topology-decode-Print-sig_bits-field-in-PCM-capabili.patch 0024-topology-decode-Add-DAI-name-printing.patch 0025-topology-Make-buffer-for-saving-dynamic-size.patch 0026-topology-return-correct-value-in-tplg_save_printf.patch 0027-topology-fix-some-gcc10-warnings-labs-signess.patch 0028-topology-fix-sort_config.patch 0029-topology-fix-the-unaligned-access.patch 0030-topology-improve-the-printf-buffer-management.patch 0031-control-Improve-general-control-interface-documentat.patch 0032-control-Add-documentation-for-snd_ctl_elem_value_.patch- Placeholder for SLE15-SP3 sync (bsc#1171246): the actual fix is found in alsa-ucm-conf updates- Enable topology support for riscv64- Enable topology support for aarch64- Backport upstream fixes: 0001-ucm-substitution-remove-duplicate-allow_empty-assign.patch 0002-ucm-fix-parse_get_safe_name-safe-name-must-be-checke.patch 0003-ucm-substitute-the-merged-tree-completely.patch 0004-ctl-improve-documentation-for-identifier-of-control-.patch 0005-pcm-dmix-make-lockless-operation-optional.patch 0006-pcm-dmix-Fix-semaphore-usage-with-lockless-operation.patch 0007-pcm-iec958-implement-HDMI-HBR-audio-formatting.patch 0008-pcm-iec958-set-channel-status-bits-according-to-rate.patch 0009-conf-pcm-USB-Added-S-PDIF-fix-for-Asus-Xonar-SE.patch 0010-control-ctlparse-fix-enum-values-in-or.patch 0011-conf-USB-Audio-Disable-IEC958-on-Lenovo-ThinkStation.patch 0012-pcm-dmix-fix-access-to-sum-buffer-in-non-interleaved.patch 0014-control-Add-documentation-for-snd_ctl_elem_list_.patch 0015-conf-quote-also-strings-with-and-characters-in-strin.patch 0016-topology-decode-Fix-channel-map-memory-allocation.patch 0017-topology-decode-Fix-infinite-loop-in-decoding-enum-c.patch 0018-topology-decode-Remove-decoding-values-for-enum-cont.patch 0019-topology-decode-Add-enum-control-texts-as-separate-e.patch 0020-topology-decode-Fix-printing-texts-section.patch 0021-topology-decode-Change-declaration-of-enum-decoding-.patch 0022-topology-decode-Fix-decoding-PCM-formats-and-rates.patch 0023-topology-decode-Print-sig_bits-field-in-PCM-capabili.patch 0024-topology-decode-Add-DAI-name-printing.patch 0025-topology-Make-buffer-for-saving-dynamic-size.patch 0026-topology-return-correct-value-in-tplg_save_printf.patch 0027-topology-fix-some-gcc10-warnings-labs-signess.patch 0028-topology-fix-sort_config.patch 0029-topology-fix-the-unaligned-access.patch 0030-topology-improve-the-printf-buffer-management.patch 0031-control-Improve-general-control-interface-documentat.patch 0032-control-Add-documentation-for-snd_ctl_elem_value_.patch - Build topology library conditionally; currently it's supported only for little-endian- Update to alsa-lib 1.2.3.2: another bug fix release: control namehint fixes, PCM dnsoop fixes, UCM regression fixes, etc. See the details in https://www.alsa-project.org/wiki/Changes_v1.2.3.1_v1.2.3.2- Update to alsa-lib 1.2.3.1: a bug fix release, see the detailed changes at: https://www.alsa-project.org/wiki/Changes_v1.2.3_v1.2.3.1- Update to alsa-lib 1.2.3: including previous fixes, see the detailed changes at: https://www.alsa-project.org/wiki/Detailed_changes_v1.2.2_v1.2.3 - Drop obsoleted patches: 0001-conf-change-the-order-of-PCM-devices-in-alsa.conf.patch 0002-conf-namehint-add-omit_noargs-to-the-hint-section.patch 0003-Change-PCM-device-number-of-Asus-Xonar-U5.patch 0004-configure-add-embed-for-python3-config-python-3.8.patch 0005-conf-USB-Audio-Add-C-Media-USB-Headphone-Set-to-the-.patch 0006-topology-add-back-asrc-to-widget_map-in-dapm.c.patch 0007-ucm-clarify-the-index-syntax-for-the-device-names.patch 0008-ucm-fix-uc_mgr_scan_master_configs.patch 0009-namehint-remember-the-direction-from-the-upper-level.patch 0010-conf-fix-namehint-for-pcm.front-and-pcm.iec958.patch 0011-pcm-add-chmap-option-to-route-plugin.patch 0012-usecase-allow-indexes-also-for-modifier-names.patch 0013-ucm-fix-the-device-remove-operation.patch 0014-ucm-fix-copy-n-paste-typo-RemoveDevice-list.patch 0015-pcm-dmix-fix-sw_params-handling-of-timestamp-types-i.patch 0016-conf-USB-Audio-Fix-S-PDIF-output-of-ASUS-Xonar-AE.patch 0017-pcm-rate-fix-the-remaining-size-calculation-in-snd_p.patch 0018-use-case.h-add-USB-as-allowed-device-name.patch 0019-topology-Use-bool-parser-to-parse-boolean-value.patch 0020-fix-infinite-draining-of-the-rate-plugin-in-SND_PCM_.patch 0021-test-pcm_min-add-snd_pcm_drain-call-and-indentation-.patch- Revert a problematic namehint change (boo#1171044)- Backport upstream fixes: fixes for PCM rate plugin, draining fix, topology parameter parser fix, USB device name for UCM: 0017-pcm-rate-fix-the-remaining-size-calculation-in-snd_p.patch 0018-use-case.h-add-USB-as-allowed-device-name.patch 0019-topology-Use-bool-parser-to-parse-boolean-value.patch 0020-fix-infinite-draining-of-the-rate-plugin-in-SND_PCM_.patch 0021-test-pcm_min-add-snd_pcm_drain-call-and-indentation-.patch- Backport recent upstream fixes: topology API fix, UCM fixes/improvements, config fixes, chmap support in route plugin, timestamp type fix for dmix: 0006-topology-add-back-asrc-to-widget_map-in-dapm.c.patch 0007-ucm-clarify-the-index-syntax-for-the-device-names.patch 0008-ucm-fix-uc_mgr_scan_master_configs.patch 0009-namehint-remember-the-direction-from-the-upper-level.patch 0010-conf-fix-namehint-for-pcm.front-and-pcm.iec958.patch 0011-pcm-add-chmap-option-to-route-plugin.patch 0012-usecase-allow-indexes-also-for-modifier-names.patch 0013-ucm-fix-the-device-remove-operation.patch 0014-ucm-fix-copy-n-paste-typo-RemoveDevice-list.patch 0015-pcm-dmix-fix-sw_params-handling-of-timestamp-types-i.patch 0016-conf-USB-Audio-Fix-S-PDIF-output-of-ASUS-Xonar-AE.patch- Update to alsa-lib 1.2.2: including previous fixes - Backport recent upstream fixes: conf updates, PCM ordering fix, configure fix; 0001-conf-change-the-order-of-PCM-devices-in-alsa.conf.patch 0002-conf-namehint-add-omit_noargs-to-the-hint-section.patch 0003-Change-PCM-device-number-of-Asus-Xonar-U5.patch 0004-configure-add-embed-for-python3-config-python-3.8.patch 0005-conf-USB-Audio-Add-C-Media-USB-Headphone-Set-to-the-.patch - Drop obsoleted patches: 0001-ucm-Use-strncmp-to-avoid-access-out-of-boundary.patch 0002-ucm-return-always-at-least-NULL-if-no-list-is-availa.patch 0003-ucm-add-_identifiers-list.patch 0004-namehint-correct-the-args-check.patch 0005-namehint-improve-the-previous-patch-check-the-return.patch 0006-ucm-docs-allow-spaces-in-device-names-for-JackHWMute.patch 0007-use-case-docs-add-PlaybackMixerCopy-and-CaptureMixer.patch 0008-ucm-docs-add-JackCTL-rearrange-JackControl-and-JackD.patch 0009-ucm-Do-not-fail-to-parse-configs-on-cards-with-an-em.patch 0010-src-ucm-main.c-fix-build-without-mixer.patch 0011-alsa.m4-another-try-to-fix-the-libatopology-detectio.patch 0012-ucm-docs-add-Mic-DigitalMic-and-multiple-devices-com.patch 0013-ucm-docs-remove-DigitalMic-it-does-not-have-sense.patch 0014-ucm-docs-change-the-Mic-description-to-simple-Microp.patch 0015-ucm-docs-add-note-about-the-sequences-and-device-spl.patch 0016-ucm-docs-remove-MixerCopy-values-add-Priority-for-ve.patch 0017-ucm-setup-conf_format-after-getting-ALSA_CONFIG_UCM_.patch 0018-alsa-lib-fix-the-array-parser-unique-compound-keys.patch 0019-topology-remove-vendor_fd-name-from-snd_tplg-structu.patch 0020-topology-file-position-and-size-cleanups.patch 0021-topology-use-an-array-describing-blocks-for-the-main.patch 0022-topology-use-size_t-for-calc_block_size.patch 0023-topology-merge-write_block-to-tplg_write_data.patch 0024-topology-make-vebose-output-more-nice.patch 0025-topology-use-list_insert-macro-in-tplg_elem_insert.patch 0026-topology-dapm-coding-fixes.patch 0027-topology-dapm-merge-identical-index-blocks-like-for-.patch 0028-topology-more-coding-fixes.patch 0029-Fix-alsa-sound-.h-for-external-programs.patch 0030-type_compat-Add-missing-__s64-and-__u64-definitions-.patch 0031-uapi-Move-typedefs-from-uapi-to-sound.patch 0032-Update-the-attributes.m4-macro-file-from-xine.patch 0033-topology-avoid-to-use-the-atoi-directly-when-expecte.patch 0034-topology-use-snd_config_get_bool-instead-own-impleme.patch 0035-topology-fix-tplg_get_integer-handle-errno-ERANGE.patch 0036-topology-add-tplg_get_unsigned-function.patch 0037-topology-convert-builder-to-use-the-mallocated-memor.patch 0038-topology-add-binary-output-from-the-builder.patch 0039-topology-parser-recode-tplg_parse_config.patch 0040-topology-add-snd_tplg_load-remove-snd_tplg_build_bin.patch 0041-topology-move-the-topology-element-table-from-builde.patch 0042-topology-add-parser-to-the-tplg_table.patch 0043-topology-add-snd_tplg_save.patch 0044-topology-add-snd_tplg_create-with-flags.patch 0045-topology-add-snd_tplg_version-function.patch 0046-topology-cleanup-the-SNDERR-calls.patch 0047-topology-dapm-fix-the-SNDERR-Undefined.patch 0048-topology-fix-the-unitialized-tuples.patch 0049-topology-implement-shorter-hexa-uuid-00-00-parser.patch 0050-topology-fix-the-TPLG_DEBUG-compilation.patch 0051-topology-fix-the-ops-parser-accept-integer-hexa-valu.patch 0052-topology-fix-the-wrong-memory-access-object-realloc.patch 0053-topology-implement-snd_tplg_decode.patch 0054-topology-move-the-elem-list-delete-to-tplg_elem_free.patch 0055-topology-unify-the-log-mechanism.patch 0056-topology-tplg_dbg-cleanups.patch 0057-topology-cosmetic-changes-functions.patch 0058-mixer-Fix-memory-leak-for-more-than-16-file-descript.patch 0059-Quote-strings-containing-or-when-saving-an-alsa-conf.patch 0060-ucm-fix-the-configuration-directory-longname-for-ucm.patch 0061-ucm-split-conf_file_name-and-conf_dir_name.patch 0062-ucm-remove-MAX_FILE-definition-and-use-correct-PATH_.patch 0063-topology-remove-MAX_FILE-definition-and-use-correct-.patch 0064-ucm-parser-cosmetic-fixes-in-the-comments.patch 0065-configure.ac-remove-an-unnecessary-libtool-fix.patch 0066-ucm-parser-use-correct-filename-in-parser_master_fil.patch 0067-ucm-the-ucm2-subdirectory-is-driver-name-based.patch 0068-ucm-implement-RenameDevice-and-RemoveDevice-verb-man.patch 0069-ucm-fill-missing-device-entries-conflicting-supporte.patch 0070-control-Remove-access-to-the-deprecated-dimen-fields.patch 0071-topology-Drop-SNDRV_CTL_ELEM_ACCESS_TIMESTAMP-access.patch 0072-uapi-Sync-with-5.6-kernel-ABI.patch 0073-ucm-parser-add-error-message-to-verb_dev_list_add.patch 0074-do-not-set-close-on-exec-flag-on-descriptor-if-it-wa.patch- Backport upstream fixes: ucm-parser fixes and enhancements, configure script cleanup, fixes of 5.6 kernel ABI, O_CLOEXEC flag fix: 0064-ucm-parser-cosmetic-fixes-in-the-comments.patch 0065-configure.ac-remove-an-unnecessary-libtool-fix.patch 0066-ucm-parser-use-correct-filename-in-parser_master_fil.patch 0067-ucm-the-ucm2-subdirectory-is-driver-name-based.patch 0068-ucm-implement-RenameDevice-and-RemoveDevice-verb-man.patch 0069-ucm-fill-missing-device-entries-conflicting-supporte.patch 0070-control-Remove-access-to-the-deprecated-dimen-fields.patch 0071-topology-Drop-SNDRV_CTL_ELEM_ACCESS_TIMESTAMP-access.patch 0072-uapi-Sync-with-5.6-kernel-ABI.patch 0073-ucm-parser-add-error-message-to-verb_dev_list_add.patch 0074-do-not-set-close-on-exec-flag-on-descriptor-if-it-wa.patch- Backport upstream fixes: more topology fixes, a memory leak fix in mixer API, alsactl string handling fix, UCM config fixes: 0032-Update-the-attributes.m4-macro-file-from-xine.patch 0033-topology-avoid-to-use-the-atoi-directly-when-expecte.patch 0034-topology-use-snd_config_get_bool-instead-own-impleme.patch 0035-topology-fix-tplg_get_integer-handle-errno-ERANGE.patch 0036-topology-add-tplg_get_unsigned-function.patch 0037-topology-convert-builder-to-use-the-mallocated-memor.patch 0038-topology-add-binary-output-from-the-builder.patch 0039-topology-parser-recode-tplg_parse_config.patch 0040-topology-add-snd_tplg_load-remove-snd_tplg_build_bin.patch 0041-topology-move-the-topology-element-table-from-builde.patch 0042-topology-add-parser-to-the-tplg_table.patch 0043-topology-add-snd_tplg_save.patch 0044-topology-add-snd_tplg_create-with-flags.patch 0045-topology-add-snd_tplg_version-function.patch 0046-topology-cleanup-the-SNDERR-calls.patch 0047-topology-dapm-fix-the-SNDERR-Undefined.patch 0048-topology-fix-the-unitialized-tuples.patch 0049-topology-implement-shorter-hexa-uuid-00-00-parser.patch 0050-topology-fix-the-TPLG_DEBUG-compilation.patch 0051-topology-fix-the-ops-parser-accept-integer-hexa-valu.patch 0052-topology-fix-the-wrong-memory-access-object-realloc.patch 0053-topology-implement-snd_tplg_decode.patch 0054-topology-move-the-elem-list-delete-to-tplg_elem_free.patch 0055-topology-unify-the-log-mechanism.patch 0056-topology-tplg_dbg-cleanups.patch 0057-topology-cosmetic-changes-functions.patch 0058-mixer-Fix-memory-leak-for-more-than-16-file-descript.patch 0059-Quote-strings-containing-or-when-saving-an-alsa-conf.patch 0060-ucm-fix-the-configuration-directory-longname-for-ucm.patch 0061-ucm-split-conf_file_name-and-conf_dir_name.patch 0062-ucm-remove-MAX_FILE-definition-and-use-correct-PATH_.patch 0063-topology-remove-MAX_FILE-definition-and-use-correct-.patch - Remove INSTALL document, add NOTES instead- Upstream fixes, including the alsa-tools build breakage: 0001-ucm-Use-strncmp-to-avoid-access-out-of-boundary.patch 0002-ucm-return-always-at-least-NULL-if-no-list-is-availa.patch 0003-ucm-add-_identifiers-list.patch 0004-namehint-correct-the-args-check.patch 0005-namehint-improve-the-previous-patch-check-the-return.patch 0006-ucm-docs-allow-spaces-in-device-names-for-JackHWMute.patch 0007-use-case-docs-add-PlaybackMixerCopy-and-CaptureMixer.patch 0008-ucm-docs-add-JackCTL-rearrange-JackControl-and-JackD.patch 0009-ucm-Do-not-fail-to-parse-configs-on-cards-with-an-em.patch 0010-src-ucm-main.c-fix-build-without-mixer.patch 0011-alsa.m4-another-try-to-fix-the-libatopology-detectio.patch 0012-ucm-docs-add-Mic-DigitalMic-and-multiple-devices-com.patch 0013-ucm-docs-remove-DigitalMic-it-does-not-have-sense.patch 0014-ucm-docs-change-the-Mic-description-to-simple-Microp.patch 0015-ucm-docs-add-note-about-the-sequences-and-device-spl.patch 0016-ucm-docs-remove-MixerCopy-values-add-Priority-for-ve.patch 0017-ucm-setup-conf_format-after-getting-ALSA_CONFIG_UCM_.patch 0018-alsa-lib-fix-the-array-parser-unique-compound-keys.patch 0019-topology-remove-vendor_fd-name-from-snd_tplg-structu.patch 0020-topology-file-position-and-size-cleanups.patch 0021-topology-use-an-array-describing-blocks-for-the-main.patch 0022-topology-use-size_t-for-calc_block_size.patch 0023-topology-merge-write_block-to-tplg_write_data.patch 0024-topology-make-vebose-output-more-nice.patch 0025-topology-use-list_insert-macro-in-tplg_elem_insert.patch 0026-topology-dapm-coding-fixes.patch 0027-topology-dapm-merge-identical-index-blocks-like-for-.patch 0028-topology-more-coding-fixes.patch 0029-Fix-alsa-sound-.h-for-external-programs.patch 0030-type_compat-Add-missing-__s64-and-__u64-definitions-.patch 0031-uapi-Move-typedefs-from-uapi-to-sound.patch- Update to alsa-lib 1.2.1.2: More UCM and UCMv2 fixes / enhancements, details are found in https://www.alsa-project.org/wiki/Changes_v1.2.1.1_v1.2.1.2 - Obsoleted patch: 0001-alsa.m4-Fix-the-detection-of-topology-library-availa.patch- Fix the detection of topology library in alsa.m4: 0001-alsa.m4-Fix-the-detection-of-topology-library-availa.patch- Update to alsa-lib 1.2.1.1: * Minor fixes spotted by coverity * Fixes for UCM parser regressions- Update to alsa-lib 1.2.1: including previous fixes for the detailed changes, see the following: https://www.alsa-project.org/wiki/Changes_v1.1.9_v1.2.1 The topology-related code is split into subpackages, libatopology2 and alsa-topology-devel. The topology config is also moved into another package, alsa-topology-conf, which is required by alsa-topology-devel package. Also, the UCM profiles are moved into an individual package, alsa-ucm-conf, too, which is now required by alsa package. - Drop obsoleted upstream patches: 0001-pcm-direct-Add-generic-hw_ptr_alignment-function-for.patch 0002-pcm-dshare-Added-hw_ptr_alignment-option-in-configur.patch 0003-pcm-dsnoop-Added-hw_ptr_alignment-option-in-configur.patch 0004-pcm-file-add-support-for-infile-reading-in-non-inter.patch 0005-pcm-file-use-snd_pcm_file_areas_read_infile-for-read.patch 0006-pcm-file-add-missing-unlock-on-early-return.patch 0007-ucm-Add-UCM-profile-for-CX2072X-codec-on-Baytrail-Ch.patch 0008-pcm-add-mmap_begin-callback-to-snd_pcm_fast_ops_t-ap.patch 0009-pcm-file-add-infile-read-support-for-mmap-mode.patch 0010-aserver-fix-resource-leak-coverity.patch 0011-src-conf.c-add-missing-va_end-call-coverity.patch 0012-config-parse_string-fix-the-dynamic-buffer-allocatio.patch 0013-control_shm-remove-duplicate-code-coverity.patch 0014-control_shm-add-missing-socket-close-to-the-error-pa.patch 0015-pcm-fix-memory-leak-in-_snd_pcm_parse_config_chmaps-.patch 0016-pcm_file-call-pclose-correctly-for-popen-coverity.patch 0017-pcm_hw-close-file-descriptor-in-the-error-path-in-sn.patch 0018-rawmidi-use-snd_dlobj_cache_get2-in-rawmidi-open-cov.patch 0019-rawmidi_hw-add-sanity-check-for-the-invalid-stream-a.patch 0020-topology-various-coverity-fixes.patch 0021-ucm-coverity-fixes.patch 0022-pcm_file-coverity-fixes-including-double-locking.patch 0023-topology-next-round-of-coverity-fixes.patch 0024-pcm_file-another-locking-fix-coverity.patch 0025-ucm-another-coverity-fix-in-uc_mgr_config_load.patch- Disable LTO completely (boo#1149612); the versioned symbols in alsa-lib doesn't seem work properly on some apps- Remove hackish modprobe install scripts for auto-loading OSS and sequencer modules (bsc#1136562); it's invoked from systemd unit file included in alsa-utils now - Backport upstream fixes: 0001-pcm-direct-Add-generic-hw_ptr_alignment-function-for.patch 0002-pcm-dshare-Added-hw_ptr_alignment-option-in-configur.patch 0003-pcm-dsnoop-Added-hw_ptr_alignment-option-in-configur.patch 0004-pcm-file-add-support-for-infile-reading-in-non-inter.patch 0005-pcm-file-use-snd_pcm_file_areas_read_infile-for-read.patch 0006-pcm-file-add-missing-unlock-on-early-return.patch 0007-ucm-Add-UCM-profile-for-CX2072X-codec-on-Baytrail-Ch.patch 0008-pcm-add-mmap_begin-callback-to-snd_pcm_fast_ops_t-ap.patch 0009-pcm-file-add-infile-read-support-for-mmap-mode.patch 0010-aserver-fix-resource-leak-coverity.patch 0011-src-conf.c-add-missing-va_end-call-coverity.patch 0012-config-parse_string-fix-the-dynamic-buffer-allocatio.patch 0013-control_shm-remove-duplicate-code-coverity.patch 0014-control_shm-add-missing-socket-close-to-the-error-pa.patch 0015-pcm-fix-memory-leak-in-_snd_pcm_parse_config_chmaps-.patch 0016-pcm_file-call-pclose-correctly-for-popen-coverity.patch 0017-pcm_hw-close-file-descriptor-in-the-error-path-in-sn.patch 0018-rawmidi-use-snd_dlobj_cache_get2-in-rawmidi-open-cov.patch 0019-rawmidi_hw-add-sanity-check-for-the-invalid-stream-a.patch 0020-topology-various-coverity-fixes.patch 0021-ucm-coverity-fixes.patch 0022-pcm_file-coverity-fixes-including-double-locking.patch 0023-topology-next-round-of-coverity-fixes.patch 0024-pcm_file-another-locking-fix-coverity.patch 0025-ucm-another-coverity-fix-in-uc_mgr_config_load.patch - Drop the downstream CX2072X UCM profile, which is replaced with upstream patches above- Re-enable LTO (bsc#1133086); we need to pass -flto-partition=none as a workaround- Update to version 1.1.9: including previous fixes See https://www.alsa-project.org/wiki/Changes_v1.1.8_v1.1.9 for detailed changes - Dropped obsoleted patches: 0001-pcm-Preserve-period_event-in-snd_pcm_hw_sw_params-ca.patch 0004-ucm-Add-ucm-files-for-DB820c-board.patch 0005-ucm-bytcr-PlatformEnableSeq.conf-update-some-comment.patch 0006-pcm-dshare-Fix-overflow-when-slave_hw_ptr-rolls-over.patch 0007-test-latency-use-frame-bytes-correctly-in-writebuf.patch 0008-conf-pcm-dmix-add-CHANNELS-argument.patch 0009-Android-avoid-using-versionsort.patch 0010-pcm-add-the-missing-strings.h-include.patch 0011-alisp-add-the-missing-include.patch 0012-add-snd_strlcpy-and-use-it-everywhere.patch 0013-pcm-rate-plugin-fix-signess-in-snd_pcm_rate_avail_up.patch 0014-Drop-I-includedir-alsa-from-alsa.pc.patch- Move definition of _lto_cflags into %build.- Disable LTO (boo#1133086).- Backport upstream fixes: PCM sw_params behavior fix, UCM additions and corrections, dshare position overflow fix, build fixes for Android: 0001-pcm-Preserve-period_event-in-snd_pcm_hw_sw_params-ca.patch 0004-ucm-Add-ucm-files-for-DB820c-board.patch 0005-ucm-bytcr-PlatformEnableSeq.conf-update-some-comment.patch 0006-pcm-dshare-Fix-overflow-when-slave_hw_ptr-rolls-over.patch 0007-test-latency-use-frame-bytes-correctly-in-writebuf.patch 0008-conf-pcm-dmix-add-CHANNELS-argument.patch 0009-Android-avoid-using-versionsort.patch 0010-pcm-add-the-missing-strings.h-include.patch 0011-alisp-add-the-missing-include.patch 0012-add-snd_strlcpy-and-use-it-everywhere.patch 0013-pcm-rate-plugin-fix-signess-in-snd_pcm_rate_avail_up.patch - Drop -Iinclude/alsa from alsa.pc (bsc#1130333) 0014-Drop-I-includedir-alsa-from-alsa.pc.patch- Replace unspecific historic boilerplate summaries, and replace $RPM_* shell vars.- Update to alsa-lib 1.1.8 * Core: conf: rename snd_conf_load1() to _snd_config_load_with_include() conf/ucm: bytcht-es8316: Add long-name UCM profiles conf/ucm: Add UCM profile for bytcht-es8316 boards Create shared {En,Dis}ableSeq.conf components for rt5645 variants conf/ucm: bytcr-rt5651: Add bytcr-rt5651-stereo-spk-dmic-mic config conf/ucm: kblrt5660: Add ucm setting for Dell Edge IoT platform conf/ucm: chtrt5650: Add UCM config for chtrt5650 ucm: Set default include path conf: Move UCM profile snippets into components subdirectory initial version of .travis.yml file * Control API: control: fix the assert() in snd_ctl_elem_set_bytes * PCM API: pcm: ioplug: Fix the regression of pulse plugin drain pcm: extplug: Keep format and channels the same if requested pcm: dshare: Fix segfault when not binding channel 0 pcm: dmix: Add option to allow alignment of slave pointers pcm: interval: Interpret (x x+1] correctly and return x+1 * Use Case Manager API: conf: rename snd_conf_load1() to _snd_config_load_with_include() ucm: Set default include path conf: Move UCM profile snippets into components subdirectory * Configuration: conf: rename snd_conf_load1() to _snd_config_load_with_include() conf/ucm: bytcht-es8316: Add long-name UCM profiles conf/ucm: Add UCM profile for bytcht-es8316 boards Create device component for rt5645 Internal Analog Mic UCM Factor out rt5645 variants Headset+Digital Mic UCM shared {en,dis}able sequences Factor out rt5645 variants Speaker+Headphones shared UCM enable sequences Create shared {En,Dis}ableSeq.conf components for rt5645 variants Update chtrt5645 ucm variants to use bytcr/PlatformEnableSeq.conf component conf/ucm: bytcr-rt5651: Document mono speaker wiring conf/ucm: bytcr-rt5651: Add bytcr-rt5651-stereo-spk-dmic-mic config conf/ucm: bytcr-rt5651: Add digital mic support conf/ucm: bytcr-rt5651: Add support for a headset-mic on IN2 conf/ucm: bytcr-rt5651: Enable Stereo? ADC MIXL ADC? switches when enabling inputs conf/ucm: kblrt5660: Add ucm setting for Dell Edge IoT platform conf/ucm: chtrt5650: Add UCM config for chtrt5650 ucm: Set default include path conf: Move UCM profile snippets into components subdirectory conf: USB-Audio: Add Dell WD19 Dock in the IEC958 blacklist conf/ucm/Dell-WD15-Dock: Fix incorrect device names * Documentation: README.md: add link to www.alsa-project.org initial version of README.md for github * External PCM Filter Plugin SDK: pcm: extplug: Keep format and channels the same if requested * Test/Example code: test/audio_time: remove unused variables test: rename code to more approriate mixtest test/code: make it work again test/latecy: fix typo in tstamp compare * Utils: utils/alsa.m4: conditionally enable libdl in AM_PATH_ALSA m4 macro - Drop obsoleted patches: 0001-conf-ucm-Dell-WD15-Dock-Fix-incorrect-device-names.patch 0002-pcm-interval-Interpret-x-x-1-correctly-and-return-x-.patch - Remove obsoleted UCM profile for rt5640 - Don't treat the non-existing $ALSA_CONFIG_PATH too severely (bsc#1120893): alsa-lib-ignore-non-accessible-ALSA_CONFIG_PATH.patch- Backport upstream fix for a PCM regression for audacity (bsc#1116153): 0002-pcm-interval-Interpret-x-x-1-correctly-and-return-x-.patch- Fix the incorrect UCM profile for Dell WD15 dock (bsc#1112292): 0001-conf-ucm-Dell-WD15-Dock-Fix-incorrect-device-names.patch- Updated to alsa-lib 1.1.7: * change the location for add-on configs to /etc/alsa/conf.d * topology: Fix bclk and fsync inversion in set_link_hw_format() * topology: Add missing clock gating parameter when parsing hw_configs * topology: Add definitions for mclk_direction values * topology: Add alias conf parameter names for hw_configs * softvol: Allow up to 90 dB of gain * ucm: adding the folder of card_long_name when finding verb conf file * TLV macro cleanup and fixes * conf: USB-audio: Fix for Xonar U7 SPDIF device * pcm: add missing flags initialization for the fallback control data * pcm ioplug: fix some coverity issues * pcm: dmix: Fix hwptr updates at status call * New UCM files: bytcr-rt5640, chtnau8824, Dell WD-dock * UCM fixes: VEYRON-I2S, bytcr-rt5645, bytcr-rt5651, bytcr-rt5640, chtrt5645 * Comment fixes * pcm: Define refine mask bits for DSD * pcm: snd_interval_refine_first/last fix * pcm: ioplug: Provide avail helper function for plugins * pcm: rate: Add error check for snd_pcm_avail_update() * pcm: Fix header guard in pcm_plugin.h * pcm: ioplug: Transfer all available data * control_hw: Fix issue when applying seccomp policy * seq: Fix signedness in MIDI encoder/decoder - Remove obsoleted patches: 0001-ucm-adding-the-folder-of-card_long_name-when-finding.patch 0002-conf-ucm-increase-the-input-volume-for-LineIn.patch 0003-conf-ucm-chtrt5645-Cleanup-and-playback-fixes.patch 0004-conf-ucm-chtrt5645-Microphone-recording-fixes.patch 0005-conf-ucm-chtrt5645-Fix-recording-from-internal-analo.patch 0006-conf-ucm-chtrt5645-At-config-for-the-Asus-T100HA.patch 0007-conf-ucm-chtrt5645-At-config-for-the-Lenovo-Ideapad-.patch 0008-conf-ucm-Add-a-UCM-profile-for-Dell-WD15-Dock-USB-au.patch- Backport UCM fix and new profiles from upstream (bsc#1091678): 0001-ucm-adding-the-folder-of-card_long_name-when-finding.patch 0002-conf-ucm-increase-the-input-volume-for-LineIn.patch 0003-conf-ucm-chtrt5645-Cleanup-and-playback-fixes.patch 0004-conf-ucm-chtrt5645-Microphone-recording-fixes.patch 0005-conf-ucm-chtrt5645-Fix-recording-from-internal-analo.patch 0006-conf-ucm-chtrt5645-At-config-for-the-Asus-T100HA.patch 0007-conf-ucm-chtrt5645-At-config-for-the-Lenovo-Ideapad-.patch 0008-conf-ucm-Add-a-UCM-profile-for-Dell-WD15-Dock-USB-au.patch- Avoid the use of license tag for old distros for fixing build- Updated to alsa-lib 1.1.6: * Change FSF address (Franklin Street) * pcm: route: Fix use_getput flag computation for 3 byte formats * test: correct emulation for channel-map TLV * Change snd_dlopen() function to return the error string * configure.ac: build extra mixer modules conditionally * configure.ac: do not enable alisp code by default * conf/ucm: Rearrange Makefile.am * conf/ucm: Add dual HD-audio codecs config for Lenovo * conf/ucm: Add Gigabyte mobo UCM profile with dual HD-audio codecs * asound.h: add SNDRV_PCM_FORMAT_{S, U}20 * pcm: add and describe SND_PCM_FORMAT_{S, U}20 * pcm: linear, route: handle linear formats with 20-bit sample on 4 bytes * pcm: plug: add SND_PCM_FORMAT_{S, U}20 to linear_preferred_formats * pcm: remove unused macros of COPY_LABELS/COPY_END * pcm: remove unused macros of GETU_LABELS/GETU_END * pcm: remove unused macros of NORMS_LABELS/NORMS_END * pcm: fix wrong comments for some cases of linear interpolation of PCM samples * topology: Fix to skip writing of header for compound elements * control: Proper reference of internal versioned functions * timer: Proper reference of internal versioned symbols * core: Proper reference of internal snd_dlopen() * conf/ucm: Add chtrt5645-mono-speaker-analog-mic configuration * pcm: Return the consistent error code for unexpected PCM states * pcm: Fix two bugs in snd_pcm_area_silence() * pcm: fix a bug to copy silent samples aligned to 64 * pcm: another fix for the snd_pcm_area_silence() fast path * pcm: ioplug: Use boundary for wrap around * pcm: Do not access lock_enabled if thread safe API * pcm: ioplug: Provide hw_avail helper function for plugins * pcm: Provide areas_copy function which handles buffer wrap around * pcm: ioplug: update prepare and draining state correctly * topology: Fix parsing config with multiple hw_configs * pcm: hw: Keep control data from kernel when SND_PCM_APPEND * control ext: fix the default .rawmidi_next_device callback * modules: smixer_python - add support for python3 * a set of fixes to reduce gcc warnings * pcm: Skip avail_min check during draining * pcm: ioplug: Implement proper drain behavior * conf: USB-Audio: Add second S/PDIF device on Phiree U2SX - Remove obsoleted patches: 0001-pcm-route-Fix-use_getput-flag-computation-for-3-byte.patch 0002-conf-ucm-Rearrange-Makefile.am.patch 0003-conf-ucm-Add-dual-HD-audio-codecs-config-for-Lenovo.patch 0004-conf-ucm-Add-Gigabyte-mobo-UCM-profile-with-dual-HD-.patch 0005-conf-ucm-Add-chtrt5645-mono-speaker-analog-mic-confi.patch 0006-pcm-Return-the-consistent-error-code-for-unexpected-.patch - Use %license file tag- Add UCM profile for Baytrail CR with RT5460 (bsc#1083195)- Upstream fixes: * Add the new ucm for Cherrytrail devices (bsc#1068546): 0005-conf-ucm-Add-chtrt5645-mono-speaker-analog-mic-confi.patch * Fix for error code from PCM API functions at unexpected states: 0006-pcm-Return-the-consistent-error-code-for-unexpected-.patch- Recover udev 42-hd-audio-pm.rules for TW that was dropped mistakenly at the previous change- Backport fix patches from upstream: 0001-pcm-route-Fix-use_getput-flag-computation-for-3-byte.patch 0002-conf-ucm-Rearrange-Makefile.am.patch 0003-conf-ucm-Add-dual-HD-audio-codecs-config-for-Lenovo.patch 0004-conf-ucm-Add-Gigabyte-mobo-UCM-profile-with-dual-HD-.patch - Add missing UCM profile for chtcx2072x (bsc#1068546)- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468)- Update to alsa-lib 1.1.5: * snd_user_file: avoid use wordexp * cleanup: fix poll.h includes * ctl: deprecate APIs of dimensional information * ctl: ext: error at undefined read_event() callback * pcm: softvol: add support for S24_LE * cleanup: Use uint*_t instead of u_int*_t everythwere * cleanup: fix poll.h includes * pcm: hw: Call USER_PVERSION ioctl at open * pcm: hw: proper mmap and set_appl_ptr handling * pcm: code cleanup and refactoring * pcm: obsolete 'mmap_emulation' parameter of snd_pcm_hw_open_fd() * pcm: dmix: Fix the inconsistent PCM state * pcm: dshare: Call snd_pcm_dshare_state() directly * pcm: dmix: Workaround for binary incompatibility * conf: Check the availability of PTHREAD_MUTEX_RECURSIVE * build: Define __USE_UNIX98 for old glibc * rawmidi: symbols: use rawmidi_virt only when available * seq: fix snd_seq_set_queue_tempo() usage example in the documentation * topology: a few fixes * conf/ucm: rt565 support * conf: HdmiLpeAudio: add support for 3 devices * conf: HdmiLpeAudio: remove the "front" pcm definition * conf/ucm: DB410c-HiFi: add CIC selection * conf: USB-Audio: allow custom definitions for "default" devices * conf: USB-Audio: fix dsnoop args for Audiophile USB card- Update to alsa-lib 1.1.4.1: it's a bug-fix release, including all previous patches: * pcm: dmix: Fix the inconsistent PCM state * pcm: dshare: Call snd_pcm_dshare_state() directly * pcm: dmix: Workaround for binary incompatibility * test: add a test for list operation to user-defined element sets * conf: Check the availability of PTHREAD_MUTEX_RECURSIVE * build: Define __USE_UNIX98 for old glibc - Obsoleted patches: 0001-build-Define-__USE_UNIX98-for-old-glibc.patch 0098-dmix-Workaround-for-binary-incompatibility.patch- Update to alsa-lib 1.1.4: including most of previous fixes, in addition to topology API updates - Upstream fix for building with old glibc: 0001-build-Define-__USE_UNIX98-for-old-glibc.patch - Obsoleted patches: 0001-ucm-Add-ATTRIBUTE_UNUSED-for-unused-parameters-of-ex.patch 0002-ucm-parser-needs-limits.h.patch 0003-pcm-direct-allow-users-to-configure-different-period.patch 0004-pcm-dshare-enable-silence.patch 0005-pcm-rate-fix-the-hw_ptr-update-until-the-boundary-av.patch 0006-plugin-dynamically-update-avail_min-on-slave.patch 0007-rate-dynamic-update-avail_min-on-slave.patch 0008-topology-fix-unused-const-variable-warning.patch 0009-seq-improve-documentation-about-new-get-pid-card-fun.patch 0010-pcm-direct-returning-semop-error-code-for-semaphore-.patch 0011-pcm-direct-Fix-for-sync-issue-on-xrun-recover.patch 0012-pcm-direct-check-state-before-enter-poll-on-timer.patch 0013-pcm-direct-don-t-return-bogus-buffer-levels-in-xrun-.patch 0014-conf-ucm-broxton-add-broxton-rt298-conf-files.patch 0015-pcm-direct-Fix-deadlock-in-poll_descriptors.patch 0016-ucm-Assure-the-user-input-card-name-not-to-exceed-ma.patch 0017-ucm-Load-device-specific-configuration-file-based-on.patch 0018-ucm-Add-command-get-_file-to-get-the-config-file-nam.patch 0019-topology-Fix-incorrect-license-in-source-comments.patch 0020-conf-cards-add-support-for-pistachio-card.patch 0021-pcm-multi-Drop-the-fixed-slave_map-in-snd_pcm_multi_.patch 0022-conf-Add-card-config-for-Intel-HDMI-DP-LPE-audio.patch 0023-pcm-Avoid-lock-for-snd_pcm_nonblock.patch 0024-pcm-Disable-locking-in-async-mode.patch 0025-pcm-dmix-Allow-disabling-x86-optimizations.patch 0026-pcm-dmix_rewind-corrupts-application-pointer-fix.patch 0027-pcm-direct-fix-race-on-clearing-timer-events.patch 0028-pcm-file-Enable-file-writing-for-capture-path.patch 0029-pcm-status-dump-fix-timestamp-formatting.patch 0030-pcm-extplug-refinement-of-masks-in-extplug.patch 0031-pcm-rate-Add-capability-to-pass-configuration-node-t.patch 0032-Drop-ppc64-specific-workaround-for-versioned-symbols.patch 0033-pcm_plugin-unify-the-snd_pcm_mmap_begin-result-value.patch 0034-always-handle-return-value-from-snd_config_get_id-co.patch 0035-pcm-file-plugin-handle-snd_pcm_mmap_begin-error-path.patch 0036-topology-coverity-remove-dead-code.patch 0037-ucm-parser-fix-possible-string-overflow-in-uc_mgr_im.patch 0038-dmix-plugin-fix-drain-for-nonblock-mode.patch 0039-dmix-plugin-drain-quickfix-for-the-previous-patch.patch 0040-rawmidi-virtual-fix-reading-into-a-small-buffer.patch 0041-conf-cards-add-VC4-HDMI-card.patch 0042-pcm-plug-save-converter-config.patch 0043-pcm-file-delegate-htimestamping-to-slave-instead-of-.patch 0096-conf-Remove-dmix.direct_memory_access-setup.patch 0097-pcm-dmix-Disable-var_periodsize-as-default.patch- Remove direct_memory_access flag from dmix definition again for fixing a regression used with old alsa-lib binary (boo#1037021): 0096-conf-Remove-dmix.direct_memory_access-setup.patch- Disable dmix var_periodsize as default (boo#1033179) 0097-pcm-dmix-Disable-var_periodsize-as-default.patch - Workaround for binary incompatibility of dmix shm (boo#1033080): 0098-dmix-Workaround-for-binary-incompatibility.patch- Backport upstream fix patches, including the deadlock fix for aplay/arecord (boo#1031525): 0001-ucm-Add-ATTRIBUTE_UNUSED-for-unused-parameters-of-ex.patch 0002-ucm-parser-needs-limits.h.patch 0003-pcm-direct-allow-users-to-configure-different-period.patch 0004-pcm-dshare-enable-silence.patch 0005-pcm-rate-fix-the-hw_ptr-update-until-the-boundary-av.patch 0006-plugin-dynamically-update-avail_min-on-slave.patch 0007-rate-dynamic-update-avail_min-on-slave.patch 0008-topology-fix-unused-const-variable-warning.patch 0009-seq-improve-documentation-about-new-get-pid-card-fun.patch 0010-pcm-direct-returning-semop-error-code-for-semaphore-.patch 0011-pcm-direct-Fix-for-sync-issue-on-xrun-recover.patch 0012-pcm-direct-check-state-before-enter-poll-on-timer.patch 0013-pcm-direct-don-t-return-bogus-buffer-levels-in-xrun-.patch 0014-conf-ucm-broxton-add-broxton-rt298-conf-files.patch 0015-pcm-direct-Fix-deadlock-in-poll_descriptors.patch 0016-ucm-Assure-the-user-input-card-name-not-to-exceed-ma.patch 0017-ucm-Load-device-specific-configuration-file-based-on.patch 0018-ucm-Add-command-get-_file-to-get-the-config-file-nam.patch 0019-topology-Fix-incorrect-license-in-source-comments.patch 0020-conf-cards-add-support-for-pistachio-card.patch 0021-pcm-multi-Drop-the-fixed-slave_map-in-snd_pcm_multi_.patch 0022-conf-Add-card-config-for-Intel-HDMI-DP-LPE-audio.patch 0023-pcm-Avoid-lock-for-snd_pcm_nonblock.patch 0024-pcm-Disable-locking-in-async-mode.patch 0025-pcm-dmix-Allow-disabling-x86-optimizations.patch 0026-pcm-dmix_rewind-corrupts-application-pointer-fix.patch 0027-pcm-direct-fix-race-on-clearing-timer-events.patch 0028-pcm-file-Enable-file-writing-for-capture-path.patch 0029-pcm-status-dump-fix-timestamp-formatting.patch 0030-pcm-extplug-refinement-of-masks-in-extplug.patch 0031-pcm-rate-Add-capability-to-pass-configuration-node-t.patch 0032-Drop-ppc64-specific-workaround-for-versioned-symbols.patch 0033-pcm_plugin-unify-the-snd_pcm_mmap_begin-result-value.patch 0034-always-handle-return-value-from-snd_config_get_id-co.patch 0035-pcm-file-plugin-handle-snd_pcm_mmap_begin-error-path.patch 0036-topology-coverity-remove-dead-code.patch 0037-ucm-parser-fix-possible-string-overflow-in-uc_mgr_im.patch 0038-dmix-plugin-fix-drain-for-nonblock-mode.patch 0039-dmix-plugin-drain-quickfix-for-the-previous-patch.patch 0040-rawmidi-virtual-fix-reading-into-a-small-buffer.patch 0041-conf-cards-add-VC4-HDMI-card.patch 0042-pcm-plug-save-converter-config.patch 0043-pcm-file-delegate-htimestamping-to-slave-instead-of-.patch- Drop alsa-lib-doxygen-avoid-crash-for-11.3.diff as it was applied only in case of 11.3 and never else - Use Requires(phase) instead of prereq string - Use official %udevrulesdir macro instead of handbrew udevdir - Version provides/obsoletes in devel pkg to avoid warning - Remove hack that allowed build on SLE10- Don't require insserv if we don't need it.- Really bump the version number to 1.1.3 (sorry, forgot to change in Version tag).- Update to alsa-lib 1.1.3 release; just including all previous fixes - Drop obsoleted patches: 0001-ucm-Add-ucm-files-for-DB410c-board.patch 0002-mixer-Fix-rounding-mode-documentation.patch 0003-pcm-Fix-shm-initialization-race-condition.patch 0004-pcm-Better-understandable-locking-code.patch 0005-ucm-fix-crash-when-calling-snd_use_case_geti-with-no.patch 0006-ucm-docs-typeset-lists-of-identifiers-explicitly.patch 0007-Update-include-sound-tlv.h-from-4.9-pre-kernel-uapi.patch 0008-test-use-actual-information-for-TLV-operation.patch 0009-ctl-improve-API-documentation-for-TLV-operation.patch 0010-ctl-improve-documentation-about-TLV-related-APIs.patch 0011-ctl-correct-documentation-about-TLV-feature.patch 0012-conf-ucm-skylake-add-skylake-rt286-conf-files.patch 0013-pcm_plug-Clear-plugins-on-all-error-conditions.patch 0014-mixer-Don-t-install-smixer-modules-unless-python-is-.patch 0015-pcm_dshare-Do-not-discard-slave-reported-delay-in-st.patch 0016-pcm-direct-Protect-from-freeing-semaphore-when-alrea.patch 0017-pcm-dshare-Fix-endless-playback-of-buffer.patch 0018-pcm-Add-the-PCM-state-checks-to-plugins.patch 0019-pcm-dmix-Do-not-discard-slave-reported-delay-in-stat.patch- Backport upstream fixes (bsc#1012594): - A few PCM bugs have been fixed: * Stall of dmix and others in a wrong PCM state * Refactoring of PCM locking scheme * SHM initialization race fix * plug PCM memory leaks * Improvement of dshare/dmix delay calculation * Fix endless dshare draining * Fix semaphore discard race fix of direct plugins - UCM fixes and updates for DB410c and skylake-r5286 - Mixer code cleanup not to install bogus plugin codes - Documentation fixes / updates 0001-ucm-Add-ucm-files-for-DB410c-board.patch 0002-mixer-Fix-rounding-mode-documentation.patch 0003-pcm-Fix-shm-initialization-race-condition.patch 0004-pcm-Better-understandable-locking-code.patch 0005-ucm-fix-crash-when-calling-snd_use_case_geti-with-no.patch 0006-ucm-docs-typeset-lists-of-identifiers-explicitly.patch 0007-Update-include-sound-tlv.h-from-4.9-pre-kernel-uapi.patch 0008-test-use-actual-information-for-TLV-operation.patch 0009-ctl-improve-API-documentation-for-TLV-operation.patch 0010-ctl-improve-documentation-about-TLV-related-APIs.patch 0011-ctl-correct-documentation-about-TLV-feature.patch 0012-conf-ucm-skylake-add-skylake-rt286-conf-files.patch 0013-pcm_plug-Clear-plugins-on-all-error-conditions.patch 0014-mixer-Don-t-install-smixer-modules-unless-python-is-.patch 0015-pcm_dshare-Do-not-discard-slave-reported-delay-in-st.patch 0016-pcm-direct-Protect-from-freeing-semaphore-when-alrea.patch 0017-pcm-dshare-Fix-endless-playback-of-buffer.patch 0018-pcm-Add-the-PCM-state-checks-to-plugins.patch 0019-pcm-dmix-Do-not-discard-slave-reported-delay-in-stat.patch - smixer module files got removed from the file list as well- Update to alsa-lib v1.1.2: * topology API updates * support of stacked async handlers * new UCM configs: rockchip-i2s, skylake-i2s, chtrt5645, * add cset-tlv ucm support * fix conversion of TLVs min_db and max_dB value in softvol * fix appl pointer in the error path of PCM plugin * PCM code cleanup * fix suspend/resume of PCM dmix, dsnoop and dshare plugins * fix doubly enumerated items via namehint * make PCM codes thread-safe * API documentation enhancements * element-set ctl API * Optimization by replacing alloca() usages - Drop obsoleted patches: 0001-pcm_plugin-fix-appl-pointer-not-correct-when-mmap_co.patch 0002-pcm-Clean-up-error-paths-in-snd_pcm_plugin_-helpers.patch 0003-pcm-Fallback-open-as-the-first-instance-for-dmix-co.patch 0004-pcm-softvol-fix-conversion-of-TLVs-min_db-and-max_dB.patch 0005-pcm-Fix-suspend-resume-regression-with-dmix-co.patch 0006-pcm-dmix-Fix-doubly-resume-of-slave-PCM.patch 0007-namehint-Don-t-enumerate-as-duplex-if-only-a-single-.patch 0008-pcm-Define-namehint-for-single-directional-PCM-types.patch 0009-conf-Add-thread-safe-global-tree-reference.patch 0010-pcm-Remove-resume-support-from-dmix-co.patch 0011-pcm-Fix-secondary-retry-in-dsnoop-and-dshare.patch 0012-pcm-dmix-resume-workaround-for-buggy-driver.patch 0013-pcm-dmix-Prepare-slave-when-it-s-in-SETUP-too.patch 0014-pcm-dmix-Return-error-when-slave-is-in-OPEN-or-DISCO.patch 0015-async-Handle-previously-installed-signal-handler.patch alsa-docs-suppress-timestamp.patch- Backport upstream fixes: fixing PCM dmix & co suspend/resume, namehint parser fixes, stackable async handler: 0007-namehint-Don-t-enumerate-as-duplex-if-only-a-single-.patch 0008-pcm-Define-namehint-for-single-directional-PCM-types.patch 0009-conf-Add-thread-safe-global-tree-reference.patch 0010-pcm-Remove-resume-support-from-dmix-co.patch 0011-pcm-Fix-secondary-retry-in-dsnoop-and-dshare.patch 0012-pcm-dmix-resume-workaround-for-buggy-driver.patch 0013-pcm-dmix-Prepare-slave-when-it-s-in-SETUP-too.patch 0014-pcm-dmix-Return-error-when-slave-is-in-OPEN-or-DISCO.patch 0015-async-Handle-previously-installed-signal-handler.patch- Backport various upstream fixes for PCM (bnc#979702): 0001-pcm_plugin-fix-appl-pointer-not-correct-when-mmap_co.patch 0002-pcm-Clean-up-error-paths-in-snd_pcm_plugin_-helpers.patch 0003-pcm-Fallback-open-as-the-first-instance-for-dmix-co.patch 0004-pcm-softvol-fix-conversion-of-TLVs-min_db-and-max_dB.patch 0005-pcm-Fix-suspend-resume-regression-with-dmix-co.patch 0006-pcm-dmix-Fix-doubly-resume-of-slave-PCM.patch- Update to alsa-lib 1.1.1: * including previous fixes * a few more fixes/cleanup of control API * BSD compatibility changes * sync with 4.6 kernel ABI * provide API for sequencer sound card number / pid * fix races at dmix/dsnoop plugin * a few topology API updates - Drop the obsoleted patches: 0001-topology-Add-missing-include-sys-stat.h.patch 0002-pcm-simple-Fix-asserts.patch 0003-topology-open-topology-files-with-O_TRUNC.patch 0004-topology-Remove-unused-function-write_data_block.patch 0005-topology-Remove-unused-variables.patch 0006-topology-Fix-comparison-of-unsigned-expression-0.patch 0007-topology-Not-compare-a-for-loop-iterator-with-ABI-__.patch 0008-topology-Quit-and-show-error-message-on-big-endian-m.patch 0009-config-files-do-not-include-ucm-topology-configurati.patch 0010-control-add-missing-asserts-to-ctl_elem_set-function.patch 0011-pcm_hw-fix-possible-memory-leak-coverity.patch 0012-coverity-fixes.patch 0013-topology-fix-debug-output-to-print-correct-max-value.patch- Backports from upstream: minor PCM fixes, topology API updates, and a few build cleanup: 0002-pcm-simple-Fix-asserts.patch 0003-topology-open-topology-files-with-O_TRUNC.patch 0004-topology-Remove-unused-function-write_data_block.patch 0005-topology-Remove-unused-variables.patch 0006-topology-Fix-comparison-of-unsigned-expression-0.patch 0007-topology-Not-compare-a-for-loop-iterator-with-ABI-__.patch 0008-topology-Quit-and-show-error-message-on-big-endian-m.patch 0009-config-files-do-not-include-ucm-topology-configurati.patch 0010-control-add-missing-asserts-to-ctl_elem_set-function.patch 0011-pcm_hw-fix-possible-memory-leak-coverity.patch 0012-coverity-fixes.patch 0013-topology-fix-debug-output-to-print-correct-max-value.patch- Update to alsa-lib 1.1.0: including all previous fixes, with more updates for topology API, a fix for dmix/dsnoop slave PCM xrun, some build fixes / improvements. - Fix the build with old gcc on SLE11: 0001-topology-Add-missing-include-sys-stat.h.patch - Dropped patches: 0001-ucm-document-some-standard-values.patch 0002-conf-ucm-broadwell-rt286-add-ucm-config.patch 0003-conf-ucm-Add-Makefile.am-for-broadwell-rt286-ucm-con.patch 0004-ucm-reformat-snd_use_case_get-doc.patch 0005-ucm-improve-jack-configuration-documentation.patch 0006-USB-audio-Sound-Blaster-HD-iec958-is-on-device-1.patch 0007-Sync-include-sound-asound.h-with-4.1-kernel.patch 0008-conf-ucm-broadwell-rt286-change-to-use-the-correct-j.patch 0009-namehint-Fix-invalid-list-access-in-snd_device_name_.patch 0010-namehint-Fix-the-listing-without-device-number.patch 0011-namehint-Fix-bad-free-with-invalid-iface-name.patch 0012-Allow-hint-for-ctl-hwdep-timer-and-seq.patch 0013-conf-Add-hint-descriptions-to-ctl-hwdep-seq-and-time.patch 0014-conf-ucm-broadwell-rt286-change-to-set-capture-volum.patch 0015-ucm-allow-multiple-devices-in-JackHWMute.patch 0016-pcm-Remove-assert-from-snd_pcm_hw_params_slave.patch 0017-test-pcm-Fix-generated-values-with-float-PCM-format.patch 0018-test-pcm_min-Fix-error-messages.patch 0019-pcm-Don-t-assert-in-_snd_pcm_hw_params_internal.patch 0020-pcm-Fix-snd_pcm_status-for-dmix-co.patch 0021-control-Allow-cset-ing-specific-values-in-the-multi-.patch 0022-PCM-snd_pcm_xxxx_drain-maybe-blocked-after-suspend-a.patch 0023-surround41-50.conf-Use-chmap-syntax-for-better-flexi.patch 0024-ucm-docs-fix-doxygen-exclude-patch-for-UCM-local-hea.patch 0025-ucm-docs-Fix-doxygen-formatting-for-UCM-main-page.patch 0026-docs-Add-UCM-link-to-main-doxygen-page.patch 0027-Replace-unsafe-characters-with-_-in-card-name.patch 0028-pcm-add-helper-functions-to-query-timestamping-capab.patch 0029-pcm-add-support-for-get-set_audio_htstamp_config.patch 0030-pcm-add-support-for-new-STATUS_EXT-ioctl.patch 0031-test-fix-audio_time-with-new-get-set-audio_tstamp_co.patch 0032-test-audio_time-show-report-validity-and-accuracy.patch 0033-pcm-restore-hw-params-on-set-latency-failed.patch 0034-Replace-list.h-with-its-own-version.patch 0035-topology-uapi-Add-UAPI-headers-for-topology-ABI.patch 0036-topology-Add-topology-core-parser.patch 0037-topology-Add-text-section-parser.patch 0038-topology-Add-PCM-parser.patch 0039-topology-Add-operations-parser.patch 0040-topology-Add-private-data-parser.patch 0041-topology-Add-DAPM-object-parser.patch 0042-topology-Add-CTL-parser.patch 0043-topology-Add-Channel-map-parser.patch 0044-topology-Add-binary-file-builder.patch 0045-topology-autotools-Add-build-support-for-topology-co.patch 0046-topology-doxygen-Add-doxygen-support-for-topology-co.patch 0047-conf-topology-Add-topology-file-for-broadwell-audio-.patch 0048-topology-Fix-missing-inclusion-of-ctype.h.patch 0049-topology-Fix-typos.patch 0050-topology-fix-element-object-type-is-switch.patch 0051-topology-Add-element-ID-so-we-can-look-up-references.patch 0052-topology-Add-support-for-writing-manifest-private-da.patch 0053-topology-update-ABI-to-improve-support-for-different.patch 0054-topology-Add-ops-support-to-byte-control-objects.patch 0055-topology-treat-all-DAPM-controls-types-the-same-when.patch 0056-topology-print-error-prefix-on-error-message.patch 0057-topology-rename-OBJECT_TYPE_-to-SND_TPLG_TYPE_.patch 0058-core-add-convenience-macros-to-local.h.patch 0059-topology-Add-C-templates-structure-for-building-topo.patch 0060-topology-A-API-calls-to-directly-build-topology-data.patch 0061-pcm-Fix-doxygen-for-two-enums.patch 0062-pcm-ioplug-extplug-Fix-logic-errors-in-type-checks.patch 0063-pcm-route-Remove-bogus-in-snd_config_get_id-checks.patch 0064-topology-builder-Fix-possibly-uninitialized-variable.patch 0065-topology-ctl-Fix-access-type-checks.patch 0066-topology-data-Fix-wrong-size-check-in-tplg_parse_dat.patch 0067-topology-parser-Add-missing-return-value-to-snd_tplg.patch 0068-topology-pcm-Remove-unused-variables.patch 0069-build-Do-not-try-to-detect-cross-compiler.patch 0070-topology-Add-API-to-set-a-vendor-specific-version-nu.patch 0071-pcm-ladspa-Fix-segfault-due-to-a-wrong-channel-refer.patch- Backport upsteram fixes: more topology API updates/fixes, misc documentation fixes, some logical error fixes in PCM plugins, LADSPA plugin segfault fix: 0050-topology-fix-element-object-type-is-switch.patch 0051-topology-Add-element-ID-so-we-can-look-up-references.patch 0052-topology-Add-support-for-writing-manifest-private-da.patch 0053-topology-update-ABI-to-improve-support-for-different.patch 0054-topology-Add-ops-support-to-byte-control-objects.patch 0055-topology-treat-all-DAPM-controls-types-the-same-when.patch 0056-topology-print-error-prefix-on-error-message.patch 0057-topology-rename-OBJECT_TYPE_-to-SND_TPLG_TYPE_.patch 0058-core-add-convenience-macros-to-local.h.patch 0059-topology-Add-C-templates-structure-for-building-topo.patch 0060-topology-A-API-calls-to-directly-build-topology-data.patch 0061-pcm-Fix-doxygen-for-two-enums.patch 0062-pcm-ioplug-extplug-Fix-logic-errors-in-type-checks.patch 0063-pcm-route-Remove-bogus-in-snd_config_get_id-checks.patch 0064-topology-builder-Fix-possibly-uninitialized-variable.patch 0065-topology-ctl-Fix-access-type-checks.patch 0066-topology-data-Fix-wrong-size-check-in-tplg_parse_dat.patch 0067-topology-parser-Add-missing-return-value-to-snd_tplg.patch 0068-topology-pcm-Remove-unused-variables.patch 0069-build-Do-not-try-to-detect-cross-compiler.patch 0070-topology-Add-API-to-set-a-vendor-specific-version-nu.patch 0071-pcm-ladspa-Fix-segfault-due-to-a-wrong-channel-refer.patch- Backport upstream fixes: surround41/50 chmap fix, UCM documents, config string fix, PCM timestamp query API, replacement of list.h with LGPL: 0023-surround41-50.conf-Use-chmap-syntax-for-better-flexi.patch 0024-ucm-docs-fix-doxygen-exclude-patch-for-UCM-local-hea.patch 0025-ucm-docs-Fix-doxygen-formatting-for-UCM-main-page.patch 0026-docs-Add-UCM-link-to-main-doxygen-page.patch 0027-Replace-unsafe-characters-with-_-in-card-name.patch 0028-pcm-add-helper-functions-to-query-timestamping-capab.patch 0029-pcm-add-support-for-get-set_audio_htstamp_config.patch 0030-pcm-add-support-for-new-STATUS_EXT-ioctl.patch 0031-test-fix-audio_time-with-new-get-set-audio_tstamp_co.patch 0032-test-audio_time-show-report-validity-and-accuracy.patch 0033-pcm-restore-hw-params-on-set-latency-failed.patch 0034-Replace-list.h-with-its-own-version.patch - Backport topology API addition patches: 0035-topology-uapi-Add-UAPI-headers-for-topology-ABI.patch 0036-topology-Add-topology-core-parser.patch 0037-topology-Add-text-section-parser.patch 0038-topology-Add-PCM-parser.patch 0039-topology-Add-operations-parser.patch 0040-topology-Add-private-data-parser.patch 0041-topology-Add-DAPM-object-parser.patch 0042-topology-Add-CTL-parser.patch 0043-topology-Add-Channel-map-parser.patch 0044-topology-Add-binary-file-builder.patch 0045-topology-autotools-Add-build-support-for-topology-co.patch 0046-topology-doxygen-Add-doxygen-support-for-topology-co.patch 0047-conf-topology-Add-topology-file-for-broadwell-audio-.patch 0048-topology-Fix-missing-inclusion-of-ctype.h.patch 0049-topology-Fix-typos.patch - Enable autoreconf call to regenerate after patching- Change libudev-devel BuildRequires to pkgconfig(udev): makes us less prone to packaging changes, and in the end udev.pc is exactly what we need to define _udevdir.- Backport upstream fixes: fix bogus assert() in hw_params, a few PCM dmix/dshare/dsnoop fixes, enhacement of amixer, etc: 0017-test-pcm-Fix-generated-values-with-float-PCM-format.patch 0018-test-pcm_min-Fix-error-messages.patch 0019-pcm-Don-t-assert-in-_snd_pcm_hw_params_internal.patch 0020-pcm-Fix-snd_pcm_status-for-dmix-co.patch 0021-control-Allow-cset-ing-specific-values-in-the-multi-.patch 0022-PCM-snd_pcm_xxxx_drain-maybe-blocked-after-suspend-a.patch- Backport upstream fixes: UCM updates, Broadwell UCM support, namehint fixes, fix faulty assert in PCM plugins, etc: 0001-ucm-document-some-standard-values.patch 0002-conf-ucm-broadwell-rt286-add-ucm-config.patch 0003-conf-ucm-Add-Makefile.am-for-broadwell-rt286-ucm-con.patch 0004-ucm-reformat-snd_use_case_get-doc.patch 0005-ucm-improve-jack-configuration-documentation.patch 0006-USB-audio-Sound-Blaster-HD-iec958-is-on-device-1.patch 0007-Sync-include-sound-asound.h-with-4.1-kernel.patch 0008-conf-ucm-broadwell-rt286-change-to-use-the-correct-j.patch 0009-namehint-Fix-invalid-list-access-in-snd_device_name_.patch 0010-namehint-Fix-the-listing-without-device-number.patch 0011-namehint-Fix-bad-free-with-invalid-iface-name.patch 0012-Allow-hint-for-ctl-hwdep-timer-and-seq.patch 0013-conf-Add-hint-descriptions-to-ctl-hwdep-seq-and-time.patch 0014-conf-ucm-broadwell-rt286-change-to-set-capture-volum.patch 0015-ucm-allow-multiple-devices-in-JackHWMute.patch 0016-pcm-Remove-assert-from-snd_pcm_hw_params_slave.patch- Updated to alsa-lib 1.0.29: Just a version bump including previous fixes - Drop the obsoleted patches: 0001-ucm-Document-PlaybackPCMIsDummy-and-CapturePCMIsDumm.patch 0002-ICE1712-add-surround71-pcm-definition.patch 0003-USB-Audio-Add-second-S-PDIF-device-on-Phiree-U2.patch 0004-pcm-rate-fix-hw_ptr-exceed-the-boundary.patch 0005-pcm-Provide-a-CLOCK_MONOTONIC_RAW-timestamp-type.patch 0006-Add-timestamp-type-to-sw_params-internal-only.patch 0007-pcm-Add-sw_params-API-functions-to-get-set-timestamp.patch 0008-pcm-Implement-timestamp-type-setup-in-hw-plugin.patch 0009-pcm-Implement-timestamp-type-handling-in-all-plugins.patch 0010-test-audio_time-Set-timestamp-type-explicitly.patch 0011-pcm-route-Use-get-put-labels-for-all-3-byte-formats.patch 0012-pcm-Fill-sw_params-proto-field.patch 0013-pcm-route-Use-get32-for-multi-source-route-calculati.patch 0014-pcm-Drop-snd_pcm_linear_-get-put-32_index.patch 0015-pcm-pcm_local.h-include-time.h-to-enable-CLOCK_MONOT.patch 0016-pcm-Fix-DSD-formats-userland-usability.patch 0017-Sync-include-sound-asound.h-with-3.17-rc1-kernel.patch 0018-pcm-Add-missing-signed-and-endianess-definitions-for.patch 0019-Sync-enum-snd_hwdep_iface_t-with-include-asound-asou.patch 0020-pcm-2nd-round-of-pcm_misc-DSD-fixes.patch 0021-doc-fix-cross-compiling-example.patch 0022-pcm-fix-snd_pcm_mmap_hw_avail-near-the-boundary.patch 0023-pcm-fix-return-value-of-snd_pcm_share_slave_avail.patch 0024-pcm-add-new-32-bit-DSD-sample-format.patch 0025-dmix-actually-rewind-when-running-or-being-drained.patch 0026-pcm-express-the-rewind-size-limitation-logic-better.patch 0027-pcm-handle-negative-values-from-snd_pcm_mmap_hw_avai.patch 0028-pcm-rate-use-the-snd_pcm_mmap_hw_avail-function.patch 0029-pcm-null-use-the-snd_pcm_mmap_avail-function.patch 0030-rate-handle-negative-values-from-snd_pcm_mmap_playba.patch 0031-dsnoop-rewindable-and-forwardable-logic-was-swapped.patch 0033-pcm-file-don-t-recurse-in-the-rewindable-and-forward.patch 0034-pcm-route-Fix-the-bad-condition-always-false.patch 0035-pcm-rate-hw_avail-must-not-be-negative-before-starti.patch 0036-hwdep-add-missing-declaration-for-snd_hwdep_poll_des.patch 0037-mixer-fixed-double-free.patch 0038-pcm_file-fixed-missing-free.patch 0039-sbase-fixed-missing-free.patch 0040-rawmidi-close-handle-h.patch 0041-pcm_share-fixing-missing-mutex-unlock.patch 0042-simple_abst-null-check-for-lib.patch 0043-socket-missing-socket-close.patch 0044-pcm_hooks-null-check-for-h.patch 0045-conf-return-negative-value-in-case-of-error.patch 0046-control-return-negative-value-in-case-of-error.patch 0047-pcm-return-negative-value-in-case-of-error.patch 0048-mixer-Fix-missing-hctl-handle-free-in-snd_mixer_atta.patch 0049-conf-ucm-PAZ00-add-Toshiba-AC100-Dynabook-AZ-new-con.patch 0050-USB-Audio-Add-Scarlett-2i4-USB-to-S-PDIF-blacklist.patch 0051-snd_user_file-fix-memory-leak.patch 0052-pcm-dmix-Don-t-ignore-SND_TIMER_EVENT_MSTOP.patch 0053-snd_dlsym-only-do-versioning-checks-if-built-with-ve.patch 0054-dlmisc-Remove-unused-label.patch 0055-USB-audio-Add-five-more-cards-to-IEC958-blacklist.patch 0056-pcm-Fix-DSD-sample-format-endianess-and-add-big-endi.patch 0057-mixer-Fix-inclusion-of-config.h.patch 0058-mixer-Fix-unused-parameter-warnings.patch 0059-ucm-Fix-uninitialized-err-in-snd_use_case_set.patch 0060-pcm-Fix-assorted-tstamp_type-bugs-omissions.patch 0061-hwdep-add-OXFW-driver-support.patch 0062-pcm-fix-buffer-overflow-in-snd_pcm_chmap_print.patch 0063-control-enable-octal-and-hexadecimal-parse.patch 0064-autotools-fix-ucm-partial-build.patch 0065-conf-ucm-GoogleNyan-Add-configuration.patch 0066-ucm-add-binary-configure-file-parse.patch 0067-Remove-unused-hostname-resolution-in-shm-plugins-and.patch- Backport upstream fixes: new OXFW hwdep definition, chmap print overflow fix, improvement of UCM parser, GoogleNyan UCM config, removal of gethostbyname() usages: 0061-hwdep-add-OXFW-driver-support.patch 0062-pcm-fix-buffer-overflow-in-snd_pcm_chmap_print.patch 0063-control-enable-octal-and-hexadecimal-parse.patch 0064-autotools-fix-ucm-partial-build.patch 0065-conf-ucm-GoogleNyan-Add-configuration.patch 0066-ucm-add-binary-configure-file-parse.patch 0067-Remove-unused-hostname-resolution-in-shm-plugins-and.patch - Suppress timestamps in the generated documents for make the package comparison easier: alsa-docs-suppress-timestamp.patch- Backport upstream fixes: A couple of USB-audio config addition/fix, dmix PCM stop fix, a memory leak fix, DSD format endianess fix, PCM timestamp fixes, etc. 0050-USB-Audio-Add-Scarlett-2i4-USB-to-S-PDIF-blacklist.patch 0051-snd_user_file-fix-memory-leak.patch 0052-pcm-dmix-Don-t-ignore-SND_TIMER_EVENT_MSTOP.patch 0053-snd_dlsym-only-do-versioning-checks-if-built-with-ve.patch 0054-dlmisc-Remove-unused-label.patch 0055-USB-audio-Add-five-more-cards-to-IEC958-blacklist.patch 0056-pcm-Fix-DSD-sample-format-endianess-and-add-big-endi.patch 0057-mixer-Fix-inclusion-of-config.h.patch 0058-mixer-Fix-unused-parameter-warnings.patch 0059-ucm-Fix-uninitialized-err-in-snd_use_case_set.patch 0060-pcm-Fix-assorted-tstamp_type-bugs-omissions.patch- fix bashism in alsa-init.sh scripts- Backport upstream fixes / enhancements: mostly small fixes spotted by coccinelle and oethers, the fixes for proper rewind support, a new DSD format support, hwdep definitions sync, and addition of PAZ00 UCM configs. 0022-pcm-fix-snd_pcm_mmap_hw_avail-near-the-boundary.patch 0023-pcm-fix-return-value-of-snd_pcm_share_slave_avail.patch 0024-pcm-add-new-32-bit-DSD-sample-format.patch 0025-dmix-actually-rewind-when-running-or-being-drained.patch 0026-pcm-express-the-rewind-size-limitation-logic-better.patch 0027-pcm-handle-negative-values-from-snd_pcm_mmap_hw_avai.patch 0028-pcm-rate-use-the-snd_pcm_mmap_hw_avail-function.patch 0029-pcm-null-use-the-snd_pcm_mmap_avail-function.patch 0030-rate-handle-negative-values-from-snd_pcm_mmap_playba.patch 0031-dsnoop-rewindable-and-forwardable-logic-was-swapped.patch 0033-pcm-file-don-t-recurse-in-the-rewindable-and-forward.patch 0034-pcm-route-Fix-the-bad-condition-always-false.patch 0035-pcm-rate-hw_avail-must-not-be-negative-before-starti.patch 0036-hwdep-add-missing-declaration-for-snd_hwdep_poll_des.patch 0037-mixer-fixed-double-free.patch 0038-pcm_file-fixed-missing-free.patch 0039-sbase-fixed-missing-free.patch 0040-rawmidi-close-handle-h.patch 0041-pcm_share-fixing-missing-mutex-unlock.patch 0042-simple_abst-null-check-for-lib.patch 0043-socket-missing-socket-close.patch 0044-pcm_hooks-null-check-for-h.patch 0045-conf-return-negative-value-in-case-of-error.patch 0046-control-return-negative-value-in-case-of-error.patch 0047-pcm-return-negative-value-in-case-of-error.patch 0048-mixer-Fix-missing-hctl-handle-free-in-snd_mixer_atta.patch 0049-conf-ucm-PAZ00-add-Toshiba-AC100-Dynabook-AZ-new-con.patchalsadevibs-centriq-5 1651964671  !"#$%&'()*+,-.12345671.2.6.1-150400.1.41.2.6.1-150400.1.41.2.6.11.2.6.11.2.6.11.2.6.1alsaasoundef.hasoundlib.hconf.hcontrol.hcontrol_external.hcontrol_plugin.herror.hglobal.hhwdep.hinput.hmixer.hmixer_abst.houtput.hpcm.hpcm_external.hpcm_extplug.hpcm_ioplug.hpcm_old.hpcm_plugin.hpcm_rate.hrawmidi.hseq.hseq_event.hseq_midi_event.hseqmid.hsoundasoc.hasound_fm.hemu10k1.hhdsp.hhdspm.hsb16_csp.hsscape_ioctl.htlv.htype_compat.huapiasoc.hasound_fm.hemu10k1.hhdsp.hhdspm.hsb16_csp.hsscape_ioctl.htlv.htimer.huse-case.hversion.hasoundlib.hasoundlib.hlibasound.soalsa.pcalsa.m4/usr/include//usr/include/alsa//usr/include/alsa/sound//usr/include/alsa/sound/uapi//usr/include/sys//usr/lib64//usr/lib64/pkgconfig//usr/share/aclocal/-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:SLE-15-SP4:GA/standard/28d1d8dee4e767c75e444f0507e332f0-alsacpioxz5aarch64-suse-linuxdirectoryC source, ASCII textASCII textpkgconfig fileM4 macro processor script, ASCII textPRIleuutf-8ce0bc1167404f919be109eba5ffc79a1510a92f0428b379bfdd47be02aad25a1?7zXZ !t/*_] crt:bLL iQ北t)+@SזK#)/ 30KejsGa;NS ]B e\1x`>A~@\fM"%(*>g ٳETܶQ9O,Ь|Oa5U,LrGC$Kn0YA$ 0h7;ךNzLv_֐4qLw#QT$SBΣ6{zSԯҏbJwDK'$9FyCC8׿tl~Eqeѽ"iz w '͊sY%J?Ú2'"P}3Si b9ЬCs!+KZɤsPXizv>gjf?\:A u+DS@δ0{@K-1bs:xc>{1x~0Dia:PGrYQHtRU"eh~mF~ QΨC<CY^?!X 2Dg 5Z:̪םc[hc׾+=09@@6_X?L;Kz$>Ӹ6UXpRoSo Qq.z%9>dMPXcAK/{ÞcWE|R**$[QTCH|y!#o+vMQVB-ޯh64@c(#k#4uԞ#wk=k%ly[\=' N`C7k,,\fII;EřG5&&HEB~m^Sh~?-%v*FV'J1F+& x}DmEc=MPcJ[xVF.2@/]SƠep@'{Ó>uɛjN _1ѷ:~͜Ǚ$"d rX*uLvl2`6 >ɠ3!)jgd͞9e ОA SU#klZ~FZK8J ʄZ6Fe ѠcB?otvݶ$"edWxY[ysQ]T퀅EzaO̭E<4t9: Q%_q}_1&|G؇-Ǵ% *'Pe>9m7y1Lۅ ;+x[?4gkWKϿ:I9Aq'Gu,el".ưV*yn"9j7қnLOJc\<BC&gKῩ]p$a+st*хMCDŽ4Rw9iW P.'9({ E5n?ueY5zKTNYm6T'oNq` 5=>WQF,D(4䍂h6 8 ;C:pe:0YCB<\4DOy|ݯ%;­]f_Nc+rMBq,G)\ysC|Wd*L*x7ϸqk-LM{y9p94+v3 DX)ACy7c$gkUb0_E%QpBC iX C=;+ ԫZ3;.H]οHv G;=Y%LLsg/zQ_ќ8D^>nb7wb|idew4Խ !༻hJs#Ut)2vٚRD°\+ .YUm<μ[p{?۬)J-6e7D'CG BYֽZ%Ԧݡo.xl}$\e/ܷO<Ǟ!F-"̓hټ c\v8hyu˜GC U:%Ҽ*wqSnR;jPI$eḱ^u 5FYnX"V(a)JuG5C~,|aj8pJ3@Q ʻ/EDrjR`[Hozp4&qB!;%t9v1թ-RK}i3>2Y(4{jg9-OZ/szڵ sLs4 :4VpV%,Y&;h0:Vz8+1Ɋ8  hZ 2Ðۣ/#9B]%Vg@6:;;ΈC< BJ>wP٧,8);Հ(fNJhBg E+m7څ5Zݵ񥁪025Dm$+a* S#?Sqѫhfᱯ:=3{=Uz\U+|5qyHwK SzXxR݄;֡C20!QpW2(j>C(,\|pLQ)2ηү qӱ< HvOE]fmЏ6k{BF0 >Wᴚ['aozUxP}ޞC"/!p wOueK*iNZCiu`s T'{rrviRhC},*C>$7BN(cčH5]ŋٻ.s%slcDȧD 9F7UϽ`2UG?c09t`T\NQehqa4ov2(R7P˰Vdl9~ot=K=0H{ s%P)G/fAtRɆil$&z ڗӬV5Ls2Fm!m!"rGgEߍ KV3,"2m[R0P΂-cGM7 r\Nĸ@a>;n;Tx}n#s8[}ec`0Op VM}nJg5"cML(D0EE]X.70J@wv+O[Fw }UwS-8ERohԷ~վo$ӫm9f8|ctf g('AQ^v'= ~ wzѺY\5rvJ!( 4:C0eԄS3$+"c|#>j pjX}599^}*H ]H  q hD5(#N>ǥ!ZnwQ@4>LQ&)cNutfv0Э2{XP3l7 uXg:\`5"?8amQDId7քe2;DqMD3q,+T;-ȆV0)~wd$X]>`EO=r=-9'ʟS-x{׭dR}Ygo.?cBhJ^c!gƵ&mppZNCJЗ(pE~af8QV+8p@qctv%sM,0As̎B".WNDϽ([ta;xV$v0 l3&u~r}^fikeܗɛwY}ꝯ5߃ ^> +G5zyj ]1A~_qxV[] NGcatG|ےO;ԁw7IRwXŕ&3+l&HHBxl&Jp\x93Pti;P?9xC@ꎸ[,@oKK 8YNÌe ^s XĽ*8\#\޵oOe \cx 5@=*e؀5чNn1*vg.}_p6CyC&CFn/TSNQf4 d6꿀SRwT Ȣ?O8 Q&] 75@hnDacIʽ_#S{|TQ2ӗDTV@ΧA#6\P1{)9dƒdTGx6q5r.gaiNOPRtԢs'b`F%n 󬝁K4Rk('}pm^ە7]+03Wba.;NR0sVjI}HO\k.{4H${.4OοFGs6GpzUio47'Zi^^#?8 ur8/?M}"FM%'fa LݧL=}{[C|me2y8#wv|ZVl/;,lL=M^GC;EYҾce@xa䲟9Qs,Gmz )ok2,^nnŁ0*U (c_@$ `ߐdH譆V2""e>0` u b‚…GɈq+I{mlhEK̇d e[~Z b,Qf7vlj2<%!`D< wD"AEk.YDCr!U+hoXG\I\pU+cj&NJ]D.1y8+ge0=&wl˝^ AX0UIlQR*|U2\E qW#< ccy[x2qg'Lil8CA)#ۏjF R`6O]1[CF[( s`IE[P0EYm#P32$l$KSp i  ָ#|3X'Z:N)cN_4=*`9Qv%f"i`)lxfUf~73x!Wt I4yZ|,ˈ*$UjF_>s zى`Y9S:axDK.Ӑ0Mȹ;p1{ȹ crx.d3\"n}Org`,zWlm.PPP =BL+6N2Gg?1؉'T\a*ޥ!me~&X+:]"@9GZV6BN,/%DvmGiCTM>8 5v"›VTͥt|^;*@e^޽*FRQ|4TԐ|,.?D n[{iǷ ن޸+ y-#Ll^ƅF޵P Q0 蘓pnQoa\Lj1s~.=Y@Ʈ4aU F\$ceß*:鰻n&2GA8H$qI ڢG&h5L2}v)854RFԀA/|2p0-D+8Βv|~6gL+ؤ^{Pb~?QUnGMB SH$;XeCo]0E*MFfE789ҩ&kZ~NnE/ܤ6eX2$Yb$b ܭԮk8nׅb3BsŬ gX'tT2Kpe{J ,Kº{&h{!b4xY;+xm4Z| #m5ջHH:7eH`<CD}kM9U1>n8f"nhsՓ4k7>G[{ T:&OkkFԞJ`ޭYXC68hxQ_Z;HW.שLw1h $2k-IZ2ͦL GKAByD 9ҼAIUK u*j6p%<435RLBuFYV{{lSrLH6,DK8&>Va޲&WI_,q^aEЏ\a`r `Ѭ\{K0hlR:/IF6z vmfpUOwzm#:it.4 #]->d垅!YjO@U0Gzb蜿t?+y]Jt,Ml/4{ꔑzBO~ or8ۅvfQ%B.ac$gI@Dž:ǢJ%*4dd`1@?c@]mDv2Vw=͍^Nr z6ՠI mcS(-m}(Jsp#Xb-KBnoSd(uPWc57#ٳp ^Nx_:kicuiL}!١NearJd3Ѕ #w̕>H7,<9vUji5oiziRXU9Uhj^TNo~<=s⩀$>e)A?~/[h+jc:X ,nn`Cˏ/gzISTNXUb5( M`* -A8SK6!q̺:9B&qžל. l| 5 S7*Y rej?_/|gަ j/A$<5! IQ*42+ff;,8|t=xJOÕ.M(TK<n7جPՙJJgZ.ѮhpIR;Q"s`"/`-:"KL7}mlZ`7("~C/ƝͱrZL,@/5w"5= +Z/]Qe!&dzP7E7BPg\'[CsPolGk2}*!c, %G"OU d4Lp ܗ.^e5Z΢]"?;2U& ewڸKc$o _12u?ړ3^ C+6c0[=WJ|!3ZwPDdÁ3Ν(;3}^tbIm X iNU_OJ^xr: ?gJDB}t~N'ejR&qԭ<~oW:" ?M/bD)Oi斨Ψſ\J̮־b.fgcmųꭣ/H*2)^RP02Жt&Jg_–ŋ;/#Tf¿q5 (fΡ4r^!Jĭpj^bs]9O-b{Ix6d! ߒ hT/M܂IMJaDa)z^܇YBkHa>U3-"e#˪j/mqi5mEW_&zo!9?-AQJfZzyӤж.$&x,iFi2eK5esyL`Z.T sLDh ȯxD}f )q.F±G@oɑ@(4RYCrSCV_^WL3V9do<Ս+ /5\ҒT̟z٠tDޑ1R5If* 7Cj{R {= @nzܐHtDZZ fn(lg>-n5}* sGSxmY+"G;5)YKXt%}JqU`$W g X ʾaa6&? Y4O!^𸽾S:5ɤoOF7)PY{r[h͏Mr. qW Y[JJH^RѐtL1iVԗu *GO9C apR7 7!tO`Tk\B9+oV^}Xʀo|9W ڐ3qWO4Ş̓/]ßr6 nl=+Ua&C ٴ:ëV9 ='}) 3Τ@N3Ę@(,E@3.p=: yk6:ёgiXUԐc8Ez&fuo:c5Si^E*bDEx-#fcϔeQgg!%)&|ƗѦ?exaUcЩGy2 ToE!cwU~!y~hEU&'hb6W ;LH>K\q 8PL4y+S.a(3ѻܞrbD8,fC{݀~(s{ĄQ ۈRHcIgPc1A>8t*_EWto/*~|d^mC1+n)`ܲ)ZŠZE0䨣baTy7.;CRd}rv,jDH:4eY|%ޗzD=΄ 5N$ҢڤቀQ8FXdfD[,QSb9_鰧 "BDQ Y0 <5\$sqNK4gKB<(A{p𣊠P&+ܓ@$Hdu&#ĸrJT:!N  K)!^!|&ñ9]]c=*I-EӕfN8B \URu %sRzؑJfM5(^a InFwQm3SVX)Hh9h~*zV]vjO_ɽJnQJhbcY+6(>o>EHAiSBju'SZ̩D@``[A|e|IF)ܤ#I'ڛj1SApNsDIEDEGN윂Tzuذ%;^ORkNB}+n̺K)ix h]/UH_-bwdP3@X~dd;ўQe\YMG ER2 Ȓ4!9HFإO_IR(v +}T}1_ACs~pF+.VٛrОH,x?:KeEC ^?SO%m|֙M|G"jσ– VJZI輈dkǁBv b %셪%7Us"rۖ3l rݳ(_Eڕ[o`_uldL έN3ϱ-^}`o9 #aGc$ڑkf@tW"==Q 0A/I1MΏ&CJ,* &B5b6:GP_}#!\+|׾^ 1$b-hI\=N^J4¥Fj!r7EJ|vc@ӽ 0_d 6B"!W^o8H|+oF呱TN{¹A4\H^eH;%"dhO3PnSP| V80m@<)_qDԄ bŶ E;g;ɄJL5q)kAsF9{(׀GDDp H:Tgz{Hp!ixGSg^hGxSo"}|)4M~;5d 0ƝQBZpw -RiF_;M]}Qt˿; E!QN noC=U3\CE&H'͕XzmUc hꬕ!2gKw|={NPB}ވ~\(C wFX^E1D|a!sTbFG3a6ȋe|?%)NӑhZnX(p,rh 4*4j64}? Ruh8Pa稕Wy `])fs`,HIۊYG|op7j4,gI QGqO F|1ű.&N!,` E$j̽ ~4fWc,!ZI߾(A,L5hK{QD<\Oq,)8A?44`I|u$݇*>U6,s7Y \F u7KS~͸H> &p&D\8)eAzyHBu8x|AxKc*[,QpJ=Ia)5h(jes^`a>hFo54Oj'te}Vi%Bq.s#;~kZ+ĩq PK[H1x5WQc42!iK²ʱz4ty])-S*5@Fk4!=-$f*_JAq6*7gLlvO"}[IwY WLY8P"H9=_2i섺XԆ3;vX6DZ̗E(6(Zx$PP͒$:fnK M煼y{)279Nہ46dд\ed,/Ƒ_,WQ##Ex(OqG tE~5QAf/iD0&'/ .*I)䎘TZ%ZA2Dv.f;ZUܨoVU#uJg]*oE k)j#;m]ދJ68/OZy'Mr{Mlv欃tZe1#ѕQu_yeMYrZ9S@mt8 s\S0Fm%y.+rJXI OLŊ{xeUb ?)qIHQ`ˠX2a2Q \ iފ֥pFX8f᧜kV-7qaT e" +~w&;P ŕ4.=dfc!`=58HC} 윦:M)USʒiJQXUFV eEw>C]~"Jt7oG0a«GP":0 sNԜ-~Q}?V(wA`Aݯv2{'x3ciu^ W(:h`pU_1&ώrL1SN=XSvexYF{j:7.N|E{bBL T4<LV&*hIfyhw0Z ao&cSj1COh JP)e>>GIg}ߤBCCqMߋ|nU?h !I/i} ^NF_:`t/_E~,}Tlw/m#].G@r<͟DRNwX!K̒rö\ef3ҚU%7nFJ+qA *qZ}& ğxA\1mTn9XPx[ؼ \*=@ ۹ ] -$~t}緸F^fѓxRк[?ځ {򺀽r+d ;!ݣ5@6#?\, gQN+_4^d\r_A;0aE~_AujXYQŔ_\ucsN/6 6h'GV]___*>(;xL$ogԿMޢPs5wGS=6;k\B" 8Vd3Ct%LD:mZA򵺸HCȰBXh.UߵH.Sq$,nNQABinY9"<7:m ,y! ^uM4M!-"a΁BYA_uЏ5Έkul+'֘W ήhs|#t #8e`kJÓxym.GdyF*}8=%AھY8bj(~, m|x⾲ rFX>p٘pm~2]T[b')%jmϖLy>ltZgb[:zǙڰc;miu}`W8tjWᐛ" >!jB^/!S[ [&>sE# ~hdl j|gj(yNWR-B/!Kf{]I!*2kB|a5c!jJaGyƔH$ð9q;b6l X@_4:Gfo:f ;1){> qxd}n ț.fbn_S 78cC |1f 0GOE# gȠ4>`K[k2'&oYbDII&vߕ_w &6 J(-9\?VuCI> ?qR\ PtrjĬKxeE՜$mN^7q|/f,D h"%gtHe3^;q]ȹXA!x3>D+ *A)Bz%cGTа⭘)!mW@:*&`衞ȥg,9C""][ʳw&yO3b}Be0+.œqO\HڵK='.ƱE+VY(=MʎFӒz;|@gnfђM,o#9Qd8Zbd|⦿ޙS+6_DCk&ޯoZÛKٟ% O`)SYIՊ%5\m}/'pZ`().l,t8\:(j4Vϑ5"q'u.&5_CzEm=JbPk3\$^~[M[ vZrS;^*yIjJ8i$𣹟V9׌"q|.Arpku M e=\YYLLɶo[7)͞ N}}G29ݏֶG)W9ϒHI{v#p:߂?I '0ӯ~4TXq k*L+d'c~|cG5?%9vm{ÛHnDfv'^Y—]h7Ip(ˤM~A' jDl's dniJ\i`=CQUߞoEQ~M螋-ң-BTbgGAw.7YMfsIuSn8tlZaL6`F9-SPDՖ~<հ}9lQ*p 8Vu0ʗIp=[ʤș<h3H#>l@Ɋt[oap- PU20/7bJ !PV}w|ѱ&1NTj6/_lֆC# h:N,3(-1D3[俗=fǬY+pNQívGkꡀq] NJIzm*,]?Tӡ,Hܱv]LG{%kK?S"dХ@Ij A-[a8_@BVmǯqH5*!7ϦQj?<Ȳ::kbfr<-J+)HqcESYYqX<ƄF:rECq!y.D++WO'성0wy_l;{n x́Le1;xQ큿TШQ~f vѳH;vtՕ0wJza[MSZ=8&_& g RcnXeK$lY5 re4EB#݃Y&\[g4 Uġ\CFǀ ᑇ!ATH H[F1(IX;"S1̳&)[j+=ЮJlRoYu:CAG ].$C- %69D3E>I9;!D̟ UOO: /v4P\Kgt 1MJ6A L $yTp?UTݦt0gRNVΰ1}!wi!mt_fiT D]%SRF9x/qm퀘+˹)qX ?)ϙ^؛2wwN*7@(He3xCh$}O$9h8CCq|_C9H0fKjFy|r4i7*g*Yʎf5Fxi!tCʽf1:XЖ\bOӃȜO-b>O~n|YNP$wְᷱIt2ãɮvex\gOq($43P& x]6:2 Y8J V*HoEQM( \σ(g3G3Nʫ[.LX 7K qr48FemflU{̟ŏ աS-+)v#!JHQhNb"/`C/VJFC@JnePE8Pʧ*@}rњRTZ)&Tb,H/~XR}@4pW"…1",60i?mcist^. kT![Q%7 ]Cvk =x OзE:v޷×w 2嶷z zqiPM~Q. s`֛:VRA3/R -"I'u#@E@;q+ten'NS*n.>A)} R8O:#@I,HP3Tԟ BfÍd>F0F?{k$%p}WW$RS7U4K4:nDD20f"e+¾Cԏ3:(C29Tw Z>嫭Q^/hwR8+/~c=Bv%?$3Ls\=1l0gRh.|H|=Tk).8} j󳮮fүX-!۬y>Y3w$*{}CuUlqoQkR3-C~9 )٦aTe&}sUl<˳{'|;&JnB3>~ NFm#d v2,?ӑg.P2 0#^s̬rrj([sRh1)͘_`s|?`I71;9Ў7=0I@;:BTEu%w>kE CQw6bgJmLj6EcFQ"h`;A͊$S1‚Q&xT<i | M7t+`{e^ݩHWR@vl u<`^M"S 0$ fGpT{tsU!o-W/P7aMkGWV"GwˑwהO휃Enxl-AW,$ ʹ`-9vPV3X-IpZ->?6[azC况كbN~r ͺ<%?O>!tA%P7VՙKi;}J7G[MK~ #mZR'zl:: 'pwFZ H]d{YGW&A_(RJ/&Th# fRUpP~_b!)"O-l[[qI{.vj|#gpqqڬAMɆ%N'hozO]W}GK>"O|p%s%C[rXOc9xI6 m.=:l"msL!묾9`ԕ e %&D(bZ4$9zcP#9RIn>1Ԩ-#1 E^U5wG";[N؉ %}fՅ 6E䭈,-<70 L7qS؉~\I=R?/oxI& P\FJr)tN2#j*)„Y'"xM?mPG"ͪ/qd.ƒuz*c8s+ѽQIs:).&X\.M*.;:iXmJ !!]0 Y0'Ǚ7\0 $Faswh뒪_B֝CBB^`c#>R*-Oׁ\ V-\W2wwmd"b&_@_\[AQ&BaE>BP,b'c\\8SAߞ)ԝDDuJp,mgI &U᳧#&N_H`+O.PxNje/&^̚>gӛߑ(?_o72,cJ/s|+cw3I=yys@Gm`r<&7b 3 ,9WQoa"cݣ"/^*.p&F+x[i>]Xl 0+yPɒwb¿gзKA4׍Dn'pWkjoBnHO#Mvt(A-gyj"75nmqKd޴АUK$!.矿#yYoa_Fe">(I4mu3 k h_˭7}lX~u)#= ~nyauXˉ*c=427OMW/f| nj&|AB#EL1C6W%Ԭ)m=<1ϚzKNi! z P?pbb @s^{1znX#^[o.Vyi]9W{ ܑYTL[^l)i#"`r k¤U&~Cm3$ R椶 P䢐sf ?q@Z}?8kjWڔ&m S VD0=ɂHKdt+#.Z)vz1I=1f )9Z填%JʜL `.B$k I M+ݾw9iͶ6i IQ׷,-1?1dC;Ͼ{mBWxjZ/ʡGiF4/5*0,yP[^m7(c)=kn]qhYE p5/|u)u&K%z=j2;X;ҁs-A`*j%DlFz@u-6o ^MH` <p3ʻ澧%E&{֟4&.8U%xQ P ic"u_s1""AѤY| oد߈ҥ?4rsۨNB^",ۢ[^IJ.ܣxê$cD S,2sYDUu\LDu!WfȎtII3ߨ/Us%˶6pJІᄉw1 0ZCĦ!U4s-19ֹAdhf%mx >/Vk H{,tY*1aP303>6"̤N{'@n,{]lGB&w@XL3H-]9IMT"ŹBk+ j`E+X"Dp4yi<ҌޝWKQv`7C/N^e-=I2zC%9~& yQ2~ gm`F'^ ; `_eaԻ֧r``xblaaYFBViW,} BɌ0{Z/  ,ǀdu›*yuQ' @3FwjBATxP;/"Սtag9p5+ڢJ? r( V+WH(nC,jE[,QI >Ã#VKS jImݦF1 &r爄VR< \tF^h:*9aO.Wi|𭣘%OяnA"$Wl'U_³;_\chVhM_ŵQySI"ƗV~&KF~L^TYmy GJEN/RB}/p \ ׉lfz8I4cE~lܦd$qZãx.0Nyi$hNʧ.?`/E%=7mq 5+੬é+>/s> unQn_*#` {/9Ki|ijBlh[nb'w#A\v7r3^C<>m*ak|\Wv]{Ȇuz Ur$}u.[9A_G0z|K)!($\(zlG&ʏ얯RրbhI sȉ%s4Vx< ɦauK!ǣrp u X-i")i"MAK%-5/ٻAJ.*$#YohՈD8FsO#8Mr_O$.(WLh^g SQJş%,Sq`p/>?ANo0(+g,ߎ 3x0Vʳ"٣*|"3rY0!y:l9-2 2NL(*NKB;4Xo/wG[9gEeFe DqAhSnۂr %ي$to. S1S+{py<+x*?ش-TyWUtb6w`Y9[xo`_oԃFOK*[9H}<>jf+.N^%*AF)1B=z gRgGҾ4s:8->yrU,gtewjMм!* f m[qHa~9z,!dX9 G<;G 쟲"}IW&KP9cE!睳Rv $}.~xT*-aXEG:AJrel*k+B2Ob뀟:wF8jݳAU/J?`w&jL99+;?~=c4 !Bbn1AXN0<&WeYvܦ9QY2֙Uj#t{rB9?,_LC&Y,/퓙s s)͆xt]q: ք*.椞_o<~q"pkDǤC׈:>"աqӰB feo5a=oyw>雪a+3[6MzR"|cTXo'bV=#}}؀m.q[ng&g^}5IAw}+t]IEbE~wQ:?N;-ُ 2r`0QFܸ"úHirjzpNos\3d-ͤLb4O&͙2"DB 3T<t0 XSȄAibp( Z+Zpѥt>k(=ߗS)`u>ss4`lFC cōgi :: /B?TʶYкs84's:t|곿H+j)Ng{2G[ h5Wiۭ?ң'P\ c\FͱV="ဣiɻ}eь(7(E)<efQ}Y)8Z$q)w0;BǶyN>ip~3]俯`̶s i#xv h䈳FS_0KfsWTWVZ b` /'EƇb)|lP 4M3A! =-̀]v)I2qdaji\O*bg@]E㑙v!CeK$ac璗F& : y?a}/<3dQ'm༑]j$;b״zu;瞁k.ERWyve2a^ 3 V rbp/>sG5Sƶ5#isJPX ?=8|(jRuf{O{GCt;v'G|'Rz&0ӹu MĚblyyO8iCWSyA'tq>1T4^gh_䡀@ k,mbo]g6S8JˍB,nDY6ohBH!*4,ѷ]j;+Вhhh{"KQ0NN@T(|"|LBt${ lNzfaHVyR#z{L+Ymu, B8>|qn~̂gHإ |zv,2Jw e(1ؖRDscRaҍ>!-ɒ 80D8C¾ "/4(e[d sɷ`fs: ٨Byo}P|i2Mf3 <,bRQS lŪʼn:F:$ `ߍ3{#ڗ `rGX}i oG$si|`>̿AmgXukփ6"Wޚ)͝62IຓN&jЅ'MIŮw_5f٘z`59TbX]嗽lpG KwR޲' V)o5tEn(@e,FJQKTBvК)B&\ǻ7p2rJ3f1;C&C`cRvV28hDc\# _j궳iT98aF@W:hM5 ?9ʦf.rѧG^ !ۧn!8*/Yo#Fݹ).]@,}U3oSޒ1z-u:"RzL53|3rЫo<^ȅ8r}G-lvk= Vssz"H}/̛}2+f%K҈=6"짫n,8]4~QF{ > Cu0/}JӽSjܴ`&QbTQ` dRo*0,o7s 0M;VH8ht,E/ŸZ3RWRՔm|gwѪB22E[ݷ;ժD6o7ٛxU4cs.:%(Ie5w_/T#Q8Sԑ:#ԌE|9Tb -7t -Da3q8X.B++|f \^qr}Xoct [{ŝF8_" #w[~,0O8?$j+ƲW,2v.M[Gxs4zۘbjE|?}|֮]c|çXLJYg@8~oN-񠼪 뿝бgc_(o yY^߀_y6_?F?Ҷ36}(&9Ȟ#M5MwvV'ШI`.Kzx]$J@ mwCE4Yܨl$AE+]Nr?QA^'äeWp$G}GNEM^M2`F8 C- @)t-idBWrSW>UB _/obalC~SY#練7?j<-=zxSo.|_ D J yl%u17|s]{o h ١ݴf^:[ @%'v(s,S( t ɩ(w 0WEjawnw{,zZ VήcѻF ?qummD2ļhNJƥBg- S(>QiPqq0>7 p'T~jy|ղNtnBRbp${Bؔd:1||>~F!ִKƱ% 4B溇a. g0C*+2S䢅o(<-`Y+pJ.6uP[\्~/g0&0QvJk=emwvYgr[Pea!ƫxJ&'q"Ѵ/Ÿj׈H50dž Gӝ Ǘ Vd]!Jx7 pI ~,6 KZ+`龔27=쳏Wk?|8~p㉿*`g Φy#zpFiԥN֪"ˢ j:U &qS]Cq~,}9h<[ǃV@p[o\`OV{9\?cM~设+=u$,2vݞ_5Ku?]]/ ~nxVf[G g?eT.*3ŰڋU!JPrre/ؗ^W4|W_Zƌ(-wCQXi<_ 3=jHj?G@ 2F96V;~a+OO(]9:%2= t+ftl=8i `&$F-_6d0n"Jy A ?Dev F~FAwUZ^v3ǸegIT$i:(!;3GN&rX8mNxPO 4`AQ|k"QljI<0QQ_8ճ*$qNռ(TFd3[1ägT^U$bՓOW<%snm3 `z \/@o,ᡰAzM kEBM͆w" iŪ&A 29K܉s{O Bvmp"xZiL\n,;QC~(c&\b7=ײRdWr1*\˓/qxTeRfB4߭amV r SDĀG;҉ F6>x|}ӅGZH(б9/*~6$;BUJmxÏ4#n)iqߨujvz,#A;f a#3y|+2gDZ89坬a(%nhWt2no)׉N Box4 (eBx;o>vР1oEe߲<1d;|N0wF<4CxZXkݯg`f[aUGB:m=P)m1}l,dAdA]ZVy>Ӻ2]Ud~dko%?WӒ &v@fLL*ub:g"Hkɺ]]eL?vnl`}pVp qspՂTPhK6uF2(t5&5=/ ;MlZchXyP tdS"+/3h6aú^V4OpkaPhl7ye6|)wnr~1~WF:oZ>Ȃ-' -ϥ*͙ut$`;QNަ'k?}Fp`ržkvD0D774ƒeH3C<*Ilae;%Speo?OPε[53ڔd /YEVU&o) jc6m(Zh6I_oO~|b1oɶkoju[:QrٱXOT@r5ԉM׃e)7qewMm `j:]NIphZ)6P>.u9ABgr=՜3ML눙VCG7*QToKFzE$>&o w,N:uI5AQfdg7:n< kc}0 T AT.}Nu+eTvה-"䏁Yn6Xж6 Hmy-#vJ ۖn\ Oaq4,  ӊt~pC+=dqEݽaMTrF.Gk2N&)ocVI+ ?P5 z\~a,C+ݳڸ5;9l5MqHe7vVT(>~ qȞg2MA^zvOa]19݀FM&=8,|I2ٞ}WDe4@CpS%ב{F~lbKd+Є Tlqfh(txbN3F\8FFmPsqNvr"^KˣZ0.G/ !fD mZ|[sy/\\ׅ -ݭ^3paW}jږȝs"w6=QX2TǧF?3v'tQ|CޔkV6ɭɾ%(028xbn%lπҍy?c Frݟ?8AJ:ظr0 RJiݱ3nw{]rkDEvaԅbov(Vo&Z4<exq7,օe4h[;-M r;c:~/& Z-w<1ů$ig fvSo$dMv۔*kAF%n(vk8*9k-[Pg@L;leaViaa992^ax`{ůtۍMtO{r^Pmhy%2(,{!Jd5`= '0/K#̎ouyF-SYUB;/qi2Fhf3-G!uFz_iw3Ɉd*`z bavj/$hwF\T-|sVp^5~T93.s9;X5`CDy5ʼjŠWq 1l,ٶ+k|nI;i0)6иynec>{hW;5],n3?|Yv-g ťT7HR5c.^"źZOj Ppw#oRRB~GX"hJW7 D72h/ӷ9M-ĝ?RLٲ$w_]9Sq[t"f5=O Pp]+MfI\O՗ 2&:dVϢ|@}oXU7:hW鰀Ӡ([D }\٤ץvQ&@_  Ylʥ L[/2J-I6+_m^'Lm,W]jyŖJKre ?ќgU?UyNȺ# @~w׃t؀äӭRi4 'Yk'qĤwl87:Kq!"[;F`y΍*}8q@v F0RT^#Z_f58I8(|XY{E؃k( röm$YWLlme TE^ U+Ii윲)N&_ ?-qVZ]H)f ?M9>ιXnʁӉm]i揧9W=ĸu}0ӎZb}uf|<)0ܶYVI@EMXMY/'p!D/e\ 4 !|S\HD V/ Q٭KX2Jv~A˃'do.G5dcUۻ~ 1Đ2^U Gl6Ϝ*pλHvBPRjua'eHe{ ])G;)HW':ɼ$Gyɽ@V\y6G,bZ'G\%<>2,0 NY꫓K==KaIVv yYTLk!=?جqs`_M܁4vѡc"{lBH I^zXv6w[e>TDF_MIk.HLv!)iG'5% p/$K"X۶Τ+Rg{Vb"Q/ӥaȼlRKVJK37ɇG\z,W "}ؙ Y23+]S^c=,Mët %( 2An?r^4ln#cE(]PoΘ^q-x[:4٣WJKLh1 >y޾u 'k ei\7确h,IU Γ$+պI>x⩬ U̬SɨTNugyĄ5by=;73]= u* ɠDh=ߒG ['R|v& >>Plp~EsJ2]/Fw%B`O}G\郵"Qւ7~˕ɗo\#EɫamL鄍#j Y^pkNԩ'uG.$iB"Z|*, &3~$y^iZ; g&HvsHNRA5M"#C% bİ=W6M}2U[ |]mV;NQuibo(4[$ma,㽪K8fum+|",T>|}"ͪP4F, ;-9msVbweVH,' -vakQ֡/ +2|yz:dn2Wṧ*^e29J/YC,Bo߼YycV- _TFqa~*)xȸp7Z`L=g!-52ijiu]PmmW=32΂tt~慜HG|L<5ð.Tp7f16.'9H4M5m[ap]ͭERS,e͕RAUVlMT+>9|3wN~RS5&G%%՚DžقESO]zlob;+1"cdG#hh8Ȟ&Rd3jr5|p:ƥrŪk1[1b& G$keu >4Nm:G$4T2I0\]\JNK]i5]o]zؘ̳aH.$1AZE|{°<dSVKב틞X}a%$匑.gQ1-UG۵J!O@<<T6(߳fovlyN Am-5:8bXc,w9ig | K<%f&ܲX~-UNsf 4zཋ<ؕ-͓D!"---6B P6vЗ؜+< 6-u"J%Lws?.j:޼3(`K %GNf{1'1Q88i"u';SR>|ޛ|KԋH ѿa3.wN)~F?qat:<[\}2ܘ6֞pt6 N_(TP9Ua6" :mH O =) ZCK=|%t5e}&%: ~tŴSE9 cIٲ@gWy$ ; R:EQ3>}3 Rt ֈ{D7'0CsT}h|ZAĮ*˦>Ƃ?IpӰczNUN*V-e1 #M8'Lj^X~JDvA];ȃkcNp9?~'sˌsfWkv_y$fĬ_9lmqސ cm|)seT囵|qO8,#Tsiif˸a4Wm ^#*&S[>f`*ϸ~E \zB6 Vskd^a <ʆ ڽ:@Fl]E4-6WSS- %G`eW{Y)tкM밗R5Ue;@~J3KN] dˌhZ?.W4]>k|a> 5/L(dM͓Rm{=09=8S aSιa&t) -$x3Cr9'nOo&d'?f+Qa :bhJus)Dtl]ߠv,<Z?ԖMf@Yvli*64"A 5blUzJg#Ӝ>G f_ax{﯀%6l/0ű:w_ڈ[J)=@ф7PФqzU UCI7Pdޤ쇿dĈfRYF"7"V[]vGFW4rK B/%'yu*=*X/aDlyCN4%佡hyέtΖq_gH"|牸F_5aTU Qy" 2I cd2ko%IHY^qZ>aLP& ?)eqF_UV?:=3֮=dx;8{7Y˔Yh jX(5сw]8PnQO <R*18tӂ :Ȩ59?Ќ9<&_L& ړ,,Kbt~l nW+@/=4u Ȥ`o«"Yg;@ \ڸ;x̬;l5s;}˝'y ;9 [v7R2x'z\ 'ű$S#F%L^Ob+5ZX׶>uuݿZz.1 BP2Lja(7/Ϊߺ@~ ^`~L)X Lq47^"9# x^럕74u'm 8 g\fIge@;4 !"BEoxHvq.{^ {ۯfIU5EqJiǟOĶIicW1(K=BY,;fg/y]Y*vgOp;HCʠx~~G4PR!>k%xюLQ?$T~;;nnNhp yqe #_z"zjmMOD%]^,rd4[-;pԒ{֘v.:'Cq `mDȃ%Z"pEsTH]ٱ1n=FĨfR$]Ua`sn4OmpV v\yaC s3WvPkUpTzEe=j1ʤk h7{c:D8Xnl3^gV^@: Jm EI:=']5Zشa^MBP5uu!>Mq鯁a>Vq$*& ^tX1F, 3j l UJ6WOAI/'j G`06Y)s2ݫd8zq/ ( w. S@Q?#9Y jxI%/ ~ٛ8Zԥȥfbaírˁf :gt춅\CFq4gH(UBghBy4rg"m{*jq4%ƍ_ɆxAC:CEX릦܍ɂ_OG}4i7oTAh:XH=hXy;&OvpTU} /5FWTqPȯDʄq}W͍uAg/hxM`y{xGѧ sdaT ;||0)[eQ2K},6Aȿ MYajH%0 Sgcf;-;;y՘t Sϣe)ňW3=ƕf3foSe2!vV-6%˻bKIOioمvL3'<~8JF/#P yzcI$ { lԝ6(25-)Qdbgf6M6qJQ@UsՑcXrä?QD)({Pg CeVH2MXuבؗi&1綱>j̄*:%ՐmwfV[:T=5@5`;A1"wI3p~j~& %'ķVY /2C7D`zLK%m&{o]Z<* ȡ](HȔ'歲20&3aS ?t_U( Q~TNwE["CYgΈjs!|4sZ|ԥlF7HXJ)Tנ.`L3f겮wT-֛`ReJp̐4KOhߙ LCygT:l% :툝Pqzo alS5jpؑ(eUë@˅j)Q法9u`x*傚Vvsfzcg5!-!#:s^[=|:mi#M9 Bxm$8jBha\/y66Sy(eN;V܆!/I+fqgkMސdfk İg 0?`RCQ%2#]*1s. @'ܖZ_4ZD#oln|0Jӕ]  O'BF@g.q*-+X%$\wekƍ.L;x*w%]!B=Gw|~ϪU Ӱ, lwG'C5hhU%% {lqo\QIrA c_` SMĸ J%:!O6S vV"t13}q`3TGk6m#%aKu'bgj W=K5W,8ΞPW.и;L nxxȌ"1B%;?bBZǙkvtv9QIV= sKu!clh8v){P3՗b UT]S4/Ik4IsrE);(Gy+h- Pkf5 q5iu/""jwn&oB_2$3Xz7^<~` c酢B`t w?1k\^1+.gi#Ȱ:Pmc_#=J,?=.׿i&a_8ÿ@krje>}!Smogټԛ`0K-Ȋ $$ q43?M%x)3 T-"7$/_a۰(崜S^X xI\ γ >t(/N['Md9A$rlO@_]9|[~bќ Di[V2mRR"| @u{1F"g":Za4#D8!3y*!ۚFKp}A.5Rҳy`g}D\ϿE)0DLʡ!lʧ^2ǒ,ÓJ C2#UZ(HK?T`)cW)[zD#[0k‘Cj^ prNVƠtFo]G*6OCW7ԐMԬ 9!N(pzsC:Z#:೽ k*`3Wl: zlRxI& 7\j'm5槕롅\I`-b)jɥXfV[C6T„s^I=2>Fc@mS Rm>f9pgxjhkH:};jMjNyG /5maaHg*<˥Xw6(KZ=d `o5Fn+"kOWsؖ53a_z6twP?D.Z έ-{kD>-#OW4|(WCǃ k` e!@Ԫ0WFHB-]5`ƈtD .k6)|+4qt6>ZKX7 @_/[MWWU=ls`\>iK\P'DRj.i0.^Iow{Ѿ |G--ʁrֻ\ڻj~G&|c|UGp̈́TnB6Pg>XYH({d%%8gmۢ~Kq\oL S8RFWY"(ooDqO=0MshrͤobnK%ϒ,ɇbUr{_/wU W,^~ܿؓRs=j +գ=}גLsaވ¿B0IY?cŀn=$6S{7b (I~NknM#hƣ}ay21hk*rS^k < ЦeT|M˱yL;PLXIH{ $u6_Ɇ3PBp-+ .eɛ(XG 5:mtc*͊'.P,AQ5݆3U=cU^>:.vQ/pv۫4QqOLOdf6)۪L B<;t*<IQ -!/%GS/5⨡$Z?'R- fBM#%fRtH{i&-Ծ `Չ%N/UW0P㥇ɳC_лeZ|%g~AןعkF01ljը_ Jxب>mq2_=o+S G.*I0tc86#"UbP6/z;%T,>k];9#;#z!E)Լ%+3LJǀY*F@ݩaF"GR=ǜ/|zpm3#l hFMf/{p4 蕰eLt.[i0̳&jZYF8G͆FW\+~*t\>k\&iSt ұL#O 6p2;<˵;, Wfe-9`i1xؼ<o~%T"^j? [93,%T/ 3 BYfb4`L/^mFnd"y5Ʃ°@G RXRD!,8)Q#xsZB%ϱqA\@ߜFOI&!jjB;e#N $4KvzݛBlyϷ;/z7l§vlK cs,[]UVV]tM|CDYIQj&MzG~+y|J ^<| כ3ڰ37T>FFށ60~) {~pYX(O>ԫ!cqe- %$}aG!ƪ`ya HۖhڮAj֜랔dd5[ܨ S]cR~,0(uc>LB }oB. d:Cy>cZӕe`Hh?Ղh#,>?B"S4/s\Zh-˂qJܒxo'&QJh _E.^nBNk;sBůoJ4[rz #?{ 50umnx]r7Aĥ(5hEŐH){|ۮ"1=eS7;eASQ)*]xOњVV`^NyeDܿOӴ GO&8U+~60lPp{ȝZB\bA0HLU!vD.CjvAsB+3chK8]4U5Ol|&քa+_~2?[Lp*R%)ZޞusV~27 Һj0v(g{YL("35R9*;2մϸ6TQm$4Oq%h П:my!`@h$r̐WZz:cK3Uǥ6obY Gټ@c8XQ9*saSy̪qzCKtMͲz&ᝲ8;ӭa**دr+&*itT *1h aizeR[cԊPMx2=׍)X7MlJZ~M~SiTJEd hB~p{r'^qjDx`dۧr!3DJ'xpDyw.goVY v9\=ZUTĄ4},a56ŵ=<UxPhoBp}&kC2gVoH QK'0n.eGo`N&>QfhCs&}_WgJ5RBjj jPVy#nAV:pcOK;Pݴo[_iWZTi^6"nf%-OO΄sgF&8w@H94&zQ4ڣX4k 96cg>t/jv@A%[X!Y )Z s}ieum[tw+JlzK_{Si18ǽf9GJc1>yKmnɺ鯥5 {áz nȆ'mR4tlĽZg׹<07QK4;$C8l&R*cPڞgȶJ~VV񏻥t[UmW~!WO'ƦAc~:QAS*3SrEQbwl琗 *ix-ԾYa==E_>nx3v^;/k7=<;Mz*3RGLEC͙Epyj8@/$N["ʱL'\^ݏՍ]}M*JuL5&YדҬ9˻RQܜ$XS^MqA#Z8&" ,pA,%L2;⛪ [ q&?,feahVUi,{gJg lQϩ;0P UN7OkZoiJ"QGl ltYct[v} B7Ud}aϛ9MUr Xw<| $,pXXld5п^ ,$ o}GS)V|#}|1Q1k,`Y F. v5]`0er d95: 37wS#*Wt i#q5mW#_ ?w:܍Ӡ9g,UɅ ,j"9unHk^1.`EN \epU6zS#.erM:ɹGLx$Xga|ٵjemOH7dZޘ{*MF-eE IYq}vJ67`~ͫBRݬMMG mmZ đMigTBɈq:-('籫Li.a3ϩ!`(fpJH`j~aehXʚ!JOY^#blE)z`"b/5OU9Mn"(WkDp;wчz}CWiⶬX:]),MSW%3 (={g@,2of=7+lE*]Q8Ic,d7M\1B غe3TK!yXVG ms`pu랶(S_Q?ghO+\>r("NpHF-_2AGH_E߽{+yٽS` oZUN('v8㱫V.A)5^üq#"?6,׈*hqnDgbe{O>l\FQ(FĻͣoJ3$,ӳק.:K0G+7^Pr!;yیH %J+]rS==o0?[5Nelkdk{8^nEkk PCOe !_6?LfyՇ6s<.VwѬ eSG;rfi}CÒaXL SuGe,|[KT3 z>R7% v"bM|1N pYn.܄)'SlRďJrٿ}Ai AqSS}V<"ٝ#|9:h'.%ހ3nL }#BQ~ F>r t7OȊNI .ft :_o#x&"5*R,ʒel^H T`@ڭI>VB;8vZ0W^t-Aqmd3հ9b Nnc0hkX%_%`z^/P\IP hS:6x07tX=ԨЈ@vIRaD ƽ1tћLKosCIK3ʮr!*W]!GfyŔd;oDԕe9HHB@@YX :bo* Ǭ1ҺwsXZ< Sٕ[4&&v(Ct8T=kwJݾzwVa'1iӞ" J+\dmmNx|Փ豉]Az6fzѐYKIZkb)zE:>#2B<E vLl1Y[ 1|fdYTKR.F I߿&7Sˈi'Uj}kaRIy|=wՂa/ETLKT>k8,C_ή3%6ԫ Ywx`XJѼa'3bi> qVT`T_]MQB/'bՕl`^hTiEtaݳ.">-PG#uTd9߲ p; ^(C2{{}x4Tb;~$$Xw?$<ȺMz7NTޗ,Am8`a.1ŷr>S?x?|cY%9;8'oQ.r*Ls̄e҄s'Rae8phNΫH<[M5w36\jl_r㤪[3, ǁVTvR&)DS?=3e9vh^:{,8ANt8S_p`1{9 L›1{rZhK(\G\xr.U%@Ts:_2*MrO<ę8DQ-$h~bnoqZ13"ys>3j" ׆֥͌XH&! s{m Y1 *P5d{o}Ju޲_=[)UL_4,S礘iwV[}TN+40#t#&>+3)d:o=3;%<sWWMmi̇u[g&ƪehE6L!.0xM *Oս>6l&NaƖ,>Xh# g0})A0& σJs'9 7Ќ>fLGt<5݋䶵¦@gq g~͂m92=>ŐxoT:ʍvGOcߊkavކVs d.Wی+B%4l_Rhח9#r]4_Jehcn4AL~8{H"QiاPPHsgc z7UPef9/Ē Jq(fӎK}d'N;,񗨈jA^S ɢǟ~ 52OQ.R y"Yhkz!.ۋ-?29U] sTEhzDL vxWrǼ&'ZbbDL@WMdڭ#ZD^YtkJQgOl+XaA}X*h``Сhc~#@1iEYvV\4ԀP, %ɹ=p?U;bqSQпɤˇP{(*A\Y/zl{ ax3Kc "3j7p 8|[2ۡg0_E : =JʟD,iMC؏w]F@ LȉuWS;CvOP;6)5yG/Pǃ'j߅Κ큛+cq&Pp6,_Wa\4gO5 'Ef+ON/_k'&obU\j/ΐtG@GLBsPX;ƒsaIv71+PE'D¾AK6Rgw1 gpV5G}Csc];WgMUŮl>=l )H~mALJ8l>󺩒y\k9oPLB-rY-* w$-:S}t&=?57"Vӑ$(+qϗn %XQޖOLEѧִ{FزPb# ݹo_}9.=Fۦ Xr6UڠCuR٥XVf{;htQ fJ#T)hj]p`2;zq}9r$zbZ8XCOwJa*-ّ W`0 H;GJwagtD?EqN6+Ř;Xk+jV% 'o:@$ԍ 7}/͍ ddL~ 3yԚi0wT($ۭ vo6 V` 1W*ffQ)7kq;_ 5xO2tTȢ "]+XEJUx/"ȏ< J0Wh/> jp)>m@sv"qt9U-w̱ꯞ{*WA4Eik=,w4mnP|jF<%%(_qIP鈯#"yQTï3U +4{j)[S1fk.7Jyɂ[kw4YΏl VK8q;rtf .Pv*8eBV$ITZeI"]`U6H#~oOjb2*gxdv{$LӘ75QlSi HVbVȬ;(aBnfߍɣ~;E"ׯurт d`Oah2ts4-nC;摾O@C8)L9A?ֳOX^bC`KAs5ּU}z<[R=c"KLd;zЎ=fQEfVU]as.,=cɆQxlȻTg۟iǢ_4yҷDsb!B X7P`YT ꅬt̳im 6H.ˤof'!*̆V `bqZ?&4NG͈:mYFAUs_~cDjF2}6II>HyLmQ`3T?,պC\ѝ,L~r8f~/E]68X@͟*tY&N*8[t㜃ʾBvyІ'ĺw! ;Wuj!%ebg/HvwOI9 NTibٻ>%t}bfbA5HT*7`!./p qӔCw yq5]>>,pbt "LD/2Tg~"<R<1q/z CEf5vi!0x\U1Lz{As(d`&)G('|Cl]8xYߪiEeG`y"6Tөs[rb+|U{vVҶBz(-йLM[yE2IoNۙWgS)&^~֫ B6^ĥhVBTNPB Tu8\0^իGRҘ/7?:fi5"yq}*ms֝U!J5IJnqu)\@,ƒ8$~iloP6΂HQѓKF -8KHŮbBGޏ!OoF/>֣(Qvtdv {G4\T^C7?+7[aza'L^&j0'#i}k\;jVE ))jXߤAES<D{OsBh|zaG$zs_9$1@{ٟiI" :lM2'uc9坭?qRU ?4 3}ifL!m"SVKj}Psp Ynk\YwHe+P!*5vtrޓŇ;4b.a`cjj3469q׫A袓=2O sJÁ[F,K´(p^l^(E{7T]<4bhKcady!cb]No)KvTUipw$:1cLpU=]K)`?TVwM;]S.1_j|rD$]w;sr 6?*$Ld&2pS\#)n~<[` ֤Il=Ư $OVd/5ES%)qI{_ %a's^$UBk 6YwhJk~; Gh[RD ogR͵q5Cgoc&,,1}'ыxΜ`sР&ʔdRq6}N'S5+ÖgDݕV% R&=9pm7 "@( uऱ@Oχ-CG|ݯI=;Klw=4!LC /:H {|+Z'dT׫ "oJ:.B\c\f6rڂo