alsa-docs-1.1.5-lp151.8.3.1<>,X_򐸋/=„ ^oh LĖ/kNkf~;:x͙¦ԞR E ɫ4%MLjP!&{~oLPP|52DSCcގ̒ޛ'Xw|ht9&[5?TxCܔ"Fad 8%P/HBsNxt{Q` =yޢY^ZxQtp="ĎuWqz2<X1?->;?d   ? +18     (   Xdt(8"9Ʉ":v"FM GM4HUI]X_Y_\`]hP^b0cdgelfolquvz^ptzCalsa-docs1.1.5lp151.8.3.1Additional Package DocumentationThis package contains optional documentation provided in addition to this package's base documentation._cloud114KopenSUSE Leap 15.1openSUSEGPL-2.0+http://bugs.opensuse.orgDocumentation/Otherhttp://www.alsa-project.org/linuxnoarchz3!XhKF+!- i(.tUZjvF5KC ~ }5z?7m8%4:= shU|uYY-  "  q 5% 3+ "- [ gJp`g D m]>tfҭ&^x > '4okM%DYJn"cN #ӘscPtJ<@czޕH_Z\d7k.SF]B6W>]<s6( h]'0CF  3}/9>_b{.@7)JvlKQJ!/{-^+B0 0(04/''9vS5nF@w/)HB 2-9-xO2g-n2+ J8M4,@7T&cҬ<=  f $c* eSA^ L!l'NN _V bQww`ac\gme3H]rXK[^XlZ \d-"c` M!S6 ۜ n.fkx/3E 2:F3:4Fb!}K <A<Y}lQ5 P,FK &i *&h*P,& ::2="b=UM$=sMLEu%CsauA큤A큤____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________da21418bdfd711c8fee1bbc53db5d5752b602c2b28b4d8d0298b0f2a77322df6fe49a3674b224405f96e0b8c1cd1012a210355237f4d68d594e41ed2f41c4895389cfa21ad46f088a373b885a2de8ff4abde0122a557c3dc0671246f6ee45b5cb4faf2f5dcfcf2a6e6ab32b501a0401396bf93c8904ca84377ed8f737359b4fed28838f9bead835a9954baa6195777b970ff592db659cbfaee8b230d2c1549579706402e2b54c175998447da258cce07f9ff2191f3ea440cb76df4cdd56be14bfa8a29e2f0f4f13eb307629a5414d9ec89776d851cabc863533da9b41a07811cd7500e6002de49aabe1302cf19e367b26bc28475e747af55cff16ce39db4a7fee6b7e50bb55eb90c10ceb5c58b53697b111fc7091dd4cddafbc7c11c8a831983b1f589d1ec6592e8ef927019ab96f14e6ab72df2a2df55c7175022dbfb5398026eb7304f6240960bdf3e866a1e5bd571ce20652557c3e4b08a9dfce4b76bd5e99e7ed0ef70f99bb7f763a48ddd95d5990e103bb145eedfd0a76d19c122374be2782b30d237bdbeddfde4aed01f007264cc116b2d4be2f398a7cb74ec7a5bc58be8720d25859c5af96700be9c33c02e60382ca72cc6d1287c8d681d286fe06461137d18f7ffa98d23fcdd459daf127fb1fff1fa9abc650adabc65f5cf6419682a370e9f9023d8bfa2009c384aa60ceddb0452dc95d41ac118eb17d58bbf777f5ec98c02adc57337f58c40aae15bbac05a3ccb364e5adb1d610a16452e92f17830f9bf873c3a51b420b333c20148970664e194239db4755fcd6c257ea5924fcd307e2bdeb1a5eaee90a34e7ec16f8a1422b883d94d8147051c263e35e6907784f5fdaa98e31c2974676b6bcc1f83d9361a05ad07a353ff9a198d1732d4b4cd0152d131fcadf138d260a5a4b41a06fa6a5a77c16a595dc57cac5fe65a1da64f3d8bd0005f479d6be840b1ffd622bcda3cc41458075d61d7225d1e2f9b092de9598808cddc2de9ca2a14b99a2f4148bd05e83c4c9946f76cd8b06693918d9f762f1fd312227930d5d6b3cfb3a13cc806495a55acb3c2b733dd935f5518b364868081aa9566f393bbe5a397ee19896917def988434a24e03a314b24b4efb5e6cacda5c4f856c0fc49f31c663087aa77ddf49c73ef8d10e48b1e91e4e6e774b5c5e6ea31de5406f7b4b6870eca8b79fb97d4be3accb5b856cd117d7496458fec3adef137accf5cbc22072a5a066bd2cc135d81438d577148f846a34b7af387a37efee12366a1173fac32445e37c1ab0effe30c0370e424ba127843881e7bba5ef413805fb677cdcc31d6a7e328b0df32f0d711b5028c537a20fd1e178e38d75fba74d810a0268ab2f4e804a9cc06da1d2eed3d32d09c809fe8ef9e5e77a675f66b816d3754483b11fb64578eba113910b2e02f0944575368ae852cbc931d894ca533e7e2a0cd01ce0dfba9cdf22a983340604ad6c800634acbb1d063153d6aff1a0ab4c0ef7f20c15a7912faa29d1f245c58a7893e95a04befaacc102efb04caa12a2c3a6765be199dd1832c7120294edc90a53f5a4cbdca03ed224ca0ab639a120d38a6bd21ff3438446c383e2b9a67f07e82bde36abe52e077d2b8d73a3c481542ec3399188c074337e45c7540c4daab351b0460074a6a1e873b74374df8d2b8ece77813b33bd1672b4dc4870f73348e250d01a247ca2ce102ca6a6cb03ab325ded6da0dd7e9876f35c5faab8bdf0aebb9cef9ba37d5b61a8ca49c431578a737ffa9414244bbec6d496e2a275040eae8ecd7ee7eae46f3cac9133fe3bf923cf97aed7e46b8015d4022382c98cbdf773ef4111438d8cb7784c96ee6805f268a831323512aabf37716aa25c2846dcd1acde9b5d1c2bf6e294b941d3fef6aa1186a56888803f6b1a7f197b9d5f2fda4721eca66f30c511ed5f4fccc89d721716f7e1d2d67cd41a03ff3ecd393dbbecd61743e80bf048e4d67289794522a2b98b93643e037d136bd10e0e667abffc6a41def29decf4bec2df13e821d9bfd065e43fa18662692036e4c4f0d59dbc06672a4cea008d36ae36e86e9b4d60d8dccc1df12f24d5cd4cb41607a30d7820cc20ea76b4a3b8f57d3d2b7d102b58c8e13ad95e83aa1d95fe86c0291b1e5eb2a4ac28881b88b3c8bb76e5ead42331d1161546a61ef666973a2aae66bbb99f2b57f2ef160182825fa5305444511ca1eca4e1b0b38528b3b10bbf6fdbc2543bc693af9c6a28da8920f8508f0578ef44c1d240fe719ad87d1a5c71ec8019a59df9ad8bffc8949deb3132e4dd22084a4b2bd5bc695eebb870aa36f0b4954c7d9bad61a36cea086f9ad08f451314c9a39ab8a2653a25495fc119ec413b047a78e5a477b052ea16ad084cc030c0cb0767c8ecc7d9a2a928577a1cb661e833459ecb3463f4184707a00d6b6749b0546a5ec80239ba09c2ffcf5b7d36247ab2cd327b0dcb2302e39e619ab89fbe7246af8ba4d92e815d8e74bdba6ca13a1c87edcfbfc91317896452c31a9d49c4768f1b4b46ac32e0907e00a73680166339ff62595dd2d2eed3a79fb9fa0c2e8250e89539f6d678aa2e5e51e26d220b6906567723e2da29176c24a8c58151110d34e9ddd0b9b5985cf831ff4b81acbd8d6ec1a1911b803129541e4f23f528277fb2c0d0fbedc24ac2217a67d32c8d1e455699b89b52776df76b772c8a5a04ab0a3e63d41adbc67e73ba9c5f3227e77e424e627b4bad442b92bf7db1d16a8e9b6aaca08438edfbb399a4ddb8083bacc9e214709d2af258dabb3989f066c0bf1d5ea4a23d609aa904f38fc811898c3240e4948bb3ce083891f6a19e090ae153dee29621d8bb5d8be5c511c4ce782805c221c0d981c3f9596f7abb69f2f59fb562a04ee3dbe5c4224230668680a16c453fb0d156e06a004a0334b0714ff27c639c8fd09d4d044790409784fef2d18b0bcbf480b8d58c1e7069620816adbec4c2e7f65380fa18bcf322c8dfb0b231e3fc4640fb108911d1e657194aae7f821501252ce2149c082cbc0fdde65daad1571ba45358e3386852f6d6a1b0aef4602928ad3c6c18ae6c5ecaebb6ce56044b3092917568417aa3cac920881048a6e511ddf94d0819b8894b7ec7b09bf03ddff6dd311aacfd4d409227dc5a2a98c8d06299d3b0962cbf09c8ec195244145bb65a511f65b283a306d65b230f41da6f439a7b7a05669a24fd86f8f2a1e40aaf25b0338ed8c87c65219c7163473c18279b7be61535a2569b26454a385da98cea508ee23e1f9abcdf8fcdb67061f95b25a9a09d39a70fc24900f231742fcc12cd7959bb8ad9f65a914e960ec725f9360fe606b4c2cabd02682fd557bf11bb271045cdb42a56dad604bc35977ab63c82d12ae7536193840ec67bd23b767705773af3c87e1820c969918df004f0675996e996d2ebbc47b2eb775e03da2fa3103be11f369d0194cd731a8c3e48664e645288013f0b0b482dc6885900cc36347616581f83d9279f7855fe357bd04dcdae39a427ed5c468455a69e1570a746f38e11a9737bd07644042ee947ec810a2c01b07a4371f6758bd9b55c17efc24084b45dded9ee6f150ce98d5a3c2cab85799f3664c75458924e01eecc55b3f9b87efff7188cc155032477f501a55c251f3e9462a0217f8a126d3c738b252e914456a0438b38816a51d75805035c7f123f1ecf8f131bd6efd0116671da2f09077fa55c25dcdcc46bbec70bf0b6d11b1f7a79fbfa7c8fb0aaba5173c8f6a47976a965dae972929ef618ba8137a894927249c77a9bc6484035b4228d5c164a37d89620760cc5f045751098e8abd1c921ccd9a8a1404f7b32fe3bad2e4194c5335c92489fc2cf6c1369244e2b45a1a225ccb78b2aa80ea52ac149b25cb21efdf81786b2ebe4c12907aaa3371366c843a23b185dbd2ae21887ac50ae218d14f2f9c2c272226bad7e23732913bf619e9b2c3facdfa5572f72b6401136893afd73e3aa6fa3a558df8cc6df1bbdae0e6d52ef7496aebc6f0eaaa54fac36d5256246429d796a3ba3ce1cb7ee32d0c9f450ff3b786c75e44cb58630c738b0aa4965e569fce2312d111a46fb53e0e532c5456ff629c01df8fdb6d27938c18ed9f6d27a5e94afc19894698bd5d18a8722ca1f702a96b2bd8bd24186dc87775765d8a9b225a803dcf520a3bf74ba1ff62230a568f73d78d353fae9e72d9cf666b8961f5e9cb59a1852e50c6b6d2a449e8f2dc5266c01ed2cbcaeff5705c0de27b30020992ceecf97038afadcd8762a6a5386d9736c1abb81e8c092fff3df628b558136495a596e50b2f6ca0df671acdeb380ea4582e04b03745c48726732aa10232c2ece4c3146c1cde33fd9035ef7af5d4a384b7222cccc91cf0380dde5f215470aac891e74d250f930d99544f859f88ec6340d8fbba15ed88f0aade77684c406412ceb1dc5eb60c808b276b78e50961047d6f9b2ac8e73eae3d085cf6d9c937f3591ecd9bcd364e9856b45c1f84a1ef27fb76e0b5c86fae51c3c1435b61c1b3685c7dafed6656531d6d945c218d6acf89ea795a8a72ea089211ef1f011d3f7d367debc466139e16afdc2091f13d22c7feeb1c317479d4ae139f9cb9cec97a5ecf86b070483ae7368488636479069a594e29252fc4fd92abc4516ae6378a25f488237639937ea1cff7f8451cf5aba65650b4d0a6fd9950fd34bba97c11e5c5293cc7ef0f08f362378cb62bc96efb57d9bb52865aa00b962c3d8cee5493adfc1bd1496ae46f45b2ae0429aaaf5fa1e968afb204b407d79e748ee857cb375b3ea8f1adead576ae7e0e2122f0e813c49d835c7a50a020867e6fce17da6f630f42cd375d45a452fbd4f151b6a96cd93e88e1da7d74e256ccf690a855ecc52d45c861c4bfa58e1896a31336ef76f418473ad3d38dd832387ba16d7f828e2d6c69d30347a350c5e832e075a251f4c4fc4a16b6cddbe47b48d58175b296e4c119d43ef633ae3ff2a32229985691f9e7b067f257f8503fbcddc5e56ed5521ca0fc3a6d8cbba6b3c3eccb5eb7c4129a21c807d515b6de1407ab9988fcad411285c57a169492e1997de88204d8d396ce791039111f80f33cbfb6322a00f32c12dc4ef2c9daf17d2886eb28d50713a7d7db129dd2cb8edf8320c6cbc16f3fb784ee9f51c7160cf2883044ef637991115e19565e0a59d078d99ebd63a78ad59d4ce8dee3843fc7291d82a4d3ceceb02fc7d1b7e6249fe82f7c7e37031b735851616fcd17bdc00de8a8528f975139bdc07fee3a9ad1db2a05b580f90c3b2e2c7b7e71feff40fe5b91e94c6bb88ba36e4d64ef30b76b3f32d8723b130db9243093aa6868606fe3d537e986b4d5cbc3d82d8f1ecf9a277eb7c17a813a5fdfa3b5e8c7403b0af6bb9818f14ccec026ceda44d7afcab011ecf46cb4395f612856e62377c17d0526c333943494062c753c1d59943fd72877b88fc4d9bdef24052a7bdccd1c866d5fc11dd4a3f30afd3b79a6683f9c219541855582ad7f8b576c3578fb1215d898c4d9c02ccb5697389b1db42479eb5729a6727828537f3db2b7bba3b688de5eda96931d852875fc605097d5ae481c26bb9e24d882b72df739c69d7c379cdc959da7be1f4dd6395b1111c43fcd062c4f1bbb7168f80d11aff85a6aa9a25098938f09350260fc84b9426629a6180e1284a063337b6bebf2d7012c3f434035f4335bc6a0ced5d28eb663ea49c1a74a8df2eb1ba8bde823c2f6277054ad00bcc6a0cb27a36f4b3ab0e3647fc18386387b32c8a2b061423e2d4eb3ba696606274907c8bc9a5b1b340980cb2b34e30f30771b39dff0d872705198d511c674af34a8200379adaf940e3e79e9d11d274246f77a97186f5765021d6c773ea9df644efa96184fb7b7883668c3b52281cda671066d769603cda0012a9c46d1243d2e6e5b31912c60c6881150cca46741eff9fc0eba9a7d80285f3364c8c69227702ecd78a53789c5ab76c9a4cf690c83dfe996af7e40f9936d58c1714223ad887172badb89a88f1494ff873afef1daf4d6e09afbe7005c50acd6f09ef2280693b210fbd85f0aa2408f7e3ea43f77a52d84c447d4221d256c454c391cd1f2e0e485590df1000712497366bed212bb478d57c79478cb05309433f33f0989044757cf8dedb291553599b225283bb59b66adfd7e7a619ff281f88ca144e3e0fb3276b3db7dd3f285096fbc54f21efbcc616134159c522fde6706dc1fab7d87be4b9692007463b6658039d35e9a3d7a38dde16724aac78178a8aa8c9d036882b1fff5c4fedb799cd2838816079d745aaae6657dca47f146fde15d831cfc94879e95b615ebea6e3df725256f54a8ce8a949ba71b4da24554f5828d312cf4749bc46e650175b590f719a61cec7dc74e7b0b7b55b118e3983769d5e1849b6475835aac8c143d86c856b87abdee67c4220743425e5bc340962ba579ba972d4d8190c55cea0b101c626d2883067544ba88ee4260e28632822716bd5c5f204141d547e2b88bb66ea380d543fd28ac6043c9db37467696cea4bfcb8045c45cb38462cfb191403ff878d6ec91bf2c6b238f4b99338eae3e2defeb9295870ca51f0f8646b74666cb5fdd08f7a80727120bb49b23a6eb864b68e389a2299252c97bbbd2207ed89bd46abb8199c50a072a993b1e99a9eac8d2f790cad057c97032d1dfe6b0c5e4b791d0075b4c9a47e0f476483585fa7f3fcee4add4a758a5f6ebb0a7b5a760b047796d006b256d1f793d7afce2ed14e186b2675003e09050129e2ffce23f554acc263af0e946c13e062403ff94eb37d0cb80fc0e919c4a07cd5c92fadf0e6db372d649a3cdd2b57aca474f8492ee792985804a356515ae1f819f596573977b37c4a39039648fc9cb35ca6b2d89e3e621d31ea0f2ec8909bd7e14ce9d101ffa73bd4f3cf6017f084fbc5add8b3a77d8b018c3af703b10a10bf59fb4fa12ce37bb6f821a1edf00b7f85ba4cd7bda951e5caa16d93620f0b08a4e3821b35379e2ad3eada9a4e971cc3f867fa3015aa5ec37c8aab1931e068972bd863d9b515b70f514908871256c874f2cb51a4f29d7b7d0bbff3e586da49872f5d0cafa660dbe6d613104db992b7b2c0161ba4b27a3fad40ead22913d73ef570665dbf6037e5ab4a16a08e967b4700acece12b33d6f307e59c7b939bae4b0352e326d5dbfe45cf806d1db36323e1230d93eddeb2f241dfa46af6001eee1fe13249f7deaf7f5bafbd12409f531f7fc4c40a6e5f8631e0b0f81b93cdd03bf9bccbf24b3643faa734592089f4f1a6cbd26bc44b4e83652a9780d2cd9c459afb772528cffd3b6249cec8e0a2cc519af391bd5d235208c5547370aade526f0fd7d33e414c75409a7e7a419de84795e32327e8084fa12a642c74db75250c07183b7fdd109829d1631a9692a5af0294e37e780bc73aea86954f907d4525220d84d52ea1802a2167e30b6ee6ed810edaf296eee54e5450789e2368694975c37f9809429803a231903b0652d93065db5d6126191983095883398e488d3bd61117287463afe9a90a7ae123e63b0213b1066e2850162072ca50020d0663321b50c0b1f06a37a7d0fe14f8473f6c26b3771b63321030d55b52366b18442e9ef7af23962a0713b23ce2c8ab7240c9abab6f769b518fd9739935f4a6be734d005f3483fdacc7c2d57867333ce80157040e2bfbfee1ba0aff9a6a52f89f713cb9d2efa4249f623f8217729b855cf21578672072f88f36a1d1c276fb4a35b268b3e87e5d6749887bc2d05a99dbf98771f5a6da262e1161efa3d88fd67f9f84ae46513d44765f08c0050e0a6f2de59cf26c80d353ab13fc10fa6a325e7abeb7798c19a34543abc8641eaedf07c5a5ba75da45eae9457a8d9a41a52fcefbb3143a11d7c5e1a53cae22e98b4f912217250eb3a47181277314e182c563754ffc08cecbde8a7e75608308ca98d478c9ab9ac5042c712fb445521a504e52ec505f77553f4bab88f91ecc015405c6d613b593e3b83ec923cd7e7e317369bcc116dc840a054aa6ef69897e8cee383674a58a39243eaff29bf76e2338fb8c6d1dc777303b8c0dfac9901affb21350774cce0f6bfdb161ab423e7c09a6b516e7d4454a73462b0470c35df650d8a9e2393566309e45f9c857c6a1bca1b6e81a2b2be78facbcbdd3947c5c38ef5a285e25015133513c983de116ef795a12d3d2687ad5feba5e90ad6ee0a522769469b9e57ebdb5ac23bd255b4bfa03d3292cb6d50f7608107b16f0db6d7f90295a4c4f7a5b28ba6ea931a647795a95edd0cb86ffc6b4bd3dd8e882ae193206098fc8be8ee573e5f336ef57b912a00c02b7a069fc2823f3f347c59631bf7ad9af6c3d474967f08d3c89299683495dae1fcf6c2c0f8ef7c171c5f9384f0695d0755c62e6ffe2755e687248b91424b0debe4b092f96a3701367a745c6080eafc74013df9a9cc76ebc58bba8f4917033d795c8337fcfd104651549e4842a682a7a57e60bb68d51bdb0325c3313d529901b0580ee343083b91804c929ffc9b7aade531d9820035521392a5579a35a19b1fdacd19dde0857889a7c7473db84b324bdc6a72666e1b300fdfc5ecf102714c9fd57df76fdf47139f8dbf8ae59863643171164c16baa5953c17821a7ce5feac673c05a56b287453ce3a0bf5048f0999b7711604d6cdeaf3cdfd661fa21fc5bf18de929671c801f00415eaecd35abda3a04665e9dd0ef5ef2c6ddf02b4a12472984485adb027fd12ae6c60ffd203b1a46a33b047709ac639068ab5a17090c10926172d713d364896a781ea0dc73988438f4db790647babd207bd666fc707a2b252b6fe1f7a2cf2f0a1ddfbad1f08040ec735bcf4f1118da6acc1d3a60aeeb64833cd79945eff7633460accf03af245e3dbebb2c6c3da96006e4e4bb687c739c4c49bda20f609324bee00c6c2d58dee01a2ed1ce55840addd9c6852f00f7887d301a766a925f7677bd54e7547d8c51a413f3fc1b19228546b7c0f5031d61b0aaff667a9e4ba11a58e1720c91dbf53e8d3807daef9f748ee581acacaa53c693da356062a2de3060eaf634cefc03c866751b36f09cea136c71345e00db9a5ab9f1965118234bb25a858b5c36935a97ab6669179f9efdbdc8f8334b3933f026c4d4238d26b6dd57da7d12894b2dd580692d779d2b90b7fed157463a59ec8c4e38a65e7026ab0139cbb2e73c30f3a8b5886a7bcc6b54ee22d692ba9f43fcb31e56d107fc06c4b523ffa1fd47661a966fea96f6ed2321fa3ef134e834a5f2f39b8700915f5b2521899e183ce118ba26e8eb55a6014adede5234f488feac3c46bc00cd5667b04a2e8138f91c94f25f563ab7953c2f7c350800f9abbf089e2a9c4b82360a58fc910eac43be37c7fd2d1e7cfaa0d1f3ca7fe7a390670fda47416812484586b18212d8d3143ffb3a5cf5f5dcb0dbf4f2b72aeb73ea28f4888d25c0dbf000ef73d87f8ae299cf8a4912b56abb18b47f3867c82ac03471b09cbdbf7d1f0f595ebb605484ff574458d2ce765b4bc910d4ea5681811bcc791c08ce5ce5098d92255930679d90e2568e5284ad8d78453f1196f837fae4afc1f4fee0d7cbd21f48584a5686953f9a81099484452c6325ad77f0475eaca1b06e5301c0478a80d970d3db17c26567f90e0a4835e8844d6eb08e6e0740999563bc936ad373ede364d83322793ee2a21dc9035b37e2698c53fdbd4f095b91ef0a1c40d499f5fc9f92b826fc984d3f23af7e5c686ea5f3e8055ce99d3622a3d3ef53b780fe80c4a23614a9b53f98339c8e596c42de5b8b3d870c4fe18ef87f10e92a21bf0fcea89e9a366a8b876b477cfbc285e9427b4b37d4eec39082246710f4dbdece25acc6a7369139beeb7833828b14368d6cf48828b186acdddb0bcc0755a29a756e29dfe18e1e40d684218dae92e4c6c7279957f775ad696acb97ae640f727fb5501ce710762f31f4463ab81c17145d894fbed543bb2b9b0fb87fea091f91b36b31130f28f197de8d048db1541a6cc27d6b877a2803293fa9e6f67e10b0a370b8790ba2bc828364fb8a99ae76ae673323eb689ee44fd307ae3783de2e012ab93fb288ff175fa96a5fc7def38b610ac55ec4786b9376c8a86d00b729f2ef8942b2a9216e36a8f2cac298418ff943a8b58f4f5cd098eb2a9627ec0bf48d45990742233a471065ea2041bd1cf2eb87ce817aed36ec01d41ad239a3ed883121b2121c3e074d0eeca347c51a0923969fc8f37b866408ab0e7596ceadd837435155d8c176287e115800bfa8cf3a84dbbfc2e5ea94153cc754f540ae15651387ea5070f48b1b473bd4ee01a76aec66f25407636679e8a0e4f251d2ea8070329b9d97089f19031f79a8c5d81032eff9259211b9ec7daf27ddf17b28733274e818be1dcb24906ec9f5632f0f8d445c41b26fb56703df73df274c812dfc6312832b38a50544f2b4717504a3bf752b043e9654cfe311fd212d4b84c54b52e9f0a6f76f84b190ec604d85e53671296c782cfd78c43c5e2f52c815c817235185f36efd6b2a416a3ae2216ff34ddeb7dadc1fbe0f7fb5c81d943309a15d5e8256be3ac33fb3080dce650ac38b973a029842254b2f5a96f5b9d747b241641882d231737b88e32e2cc227fe61f43ea49aca06ab8bebeb2c6281f0d3bcbaaea36712d7a87b54da97c01990e8ed59a0ed293fc383fd654aded319d550f763e37c6786861216363bdc47d1b1757916c90bf662cbad00404084ce225540c9f8c5396f7c453984665b54c6ac66c0969f43c1f762d687ed7f6e3f086f8b33e6c5149aa3520f9c013aa918d29980562e8b9f7fc60c4706c9ba22806839cc0203611f5aff8e38699e769f2de8f56b0063ae315f24af7c40785d29094b1b724a3d81817a968fd1f699e681383013742cddf90ca0e5127002007f851ebade6e0c11f51352b5b5df010eab33580898b733452793ba68276d56d80aba0e0e8e4d3d25b493bd6e7222b64e93c37af3cb00d5ff2f1a74cd379e671bb4550a6902de7ffea5e29019ce62a0cfe4e9ad2fa8d8559cf4877806be19f8881ea5e4300e1acfa5bd1f546ddefa46b736f368944ea93a9972b249a865206d32d092a5de981476e2b6ccf6dfc1659bc0b551f9006ab13f46fa8f3def025e6fe38d899ab1b6be28bed3a986fc8bd01202fa4bede8187c1c09d6a8ad7650ebac6dc21b6571c9aab067780ec5d72dcde0f60ee0481d9cca2c552ee87797d524fc8c1e3ff72d9536556fdf5e172154d79470e377e9d885ac81326de49abe2f8a1f1485095e3eabe1103b8c5b37fd2f535fbcbedbac4e8a4888462364705c4a7504bba9369d6e454d9058e6ceb4bdae851e5d5a7c35f0f0b3ffa1bdd0f6c9d68efc5a4a602ffeb845f1c70122964479082b0283fd7e9e43ee774b78de2e1dfcd67c2223ee26d3d67eb528bb15c6649a9ab8866951cd591c4d2e9fdd30f8f394f8353dbb2aad8443b2912402917ed3adb45b00dd47c47152beb0ac27a89c03e713242ee253adb1b516310ecb4204f1f8c02f3f0a7ab9de1ef272014535ae22a777950d923e05a160d584ff88c3b1b2d7b8dc850b2b88a4be71eae8f43dcdb7124a26ba92a078bd929e6512cf343dc68278842a936febad1823872871c78ae5875ea44b9daaf8fde878e2cfdee8e2cf4000c474c8cd929a190fae5e45964b7a96101fb68a86e95285a23db86c6e69a04f5e3aa5a3290e1ae61eb9be7581923479b40abe704c409f967ef87647c1652e5ac929aee184597139e956cc2cb3a472194da8f92738c8729cd8fdedd4dde11e5e8df363a87c7f75d7b89a135b902b33ef63399210d446e7c917f883fdfda2b0abdc93eacff224fd4a2ac49879c7a4683f627e83c465f6e1b4d3b2ee93ab016b3622b2593ae1450e8d9f2fd9e4ed7687e9eddb459a82f73048e257c2482bff36061fc6a7e3b0d9954b241fadcbc76b9efe00e651ee5121d80c01e64c9749bb62250cccbf44c5e389ded920bd9ed62f1d8ba4ec61d4e3131d13cf75b9ee9280cc0e11d0d15140deca2244a856df25a6053381937113ea22fd2b8fd2a577993574140707045cc847ba2b4915e2eed1983f466b11a95d1645ca2e3dde8b25db29d5e021620ab75840d8b8c8d936f5553269ff83cac46ecfdca9a4050b26400ebff0382cf103d1a8e19be4c61efc5f0ff8db542eb75e2dd9c510995fd742e5214d99e3847a07a9f4e45bd6c189f1cda8c4d3d7c7a9c43d93f29581c874949ff33f02739d4b78c20b2edb2f64148b85175950b02b84b1a66fb7bfe047c471accbc67518f9c6343d9aae6b237327c7f14f42fbdc56b70e831df2971ad5f7c58500a883eaf24df8bc599795a6e0616e9178cd5da4ee6e7829045f7a381c84783ad855eabcce6212651dd445ab8f1bce83e82e0e986140ce24327ffee84e6bc47f0bf72b9197abc1bae495dc080fa0416ca7a92201adb43292cadd446a4de559f51929cfc55cd5b511f4fb200c99620e35ecc1ff31f14f4a24c405839aa64816e75c48f1ac6b6246059421f526e2a62e0f3f8d61d67d040bd649684a7de630c578a24077281913b5a9948e86ddbf389d0df83d03b4fc6a9eb89e6ae1833bb07abbcf0490ab16262df6b246470794ae117b3e055c980e3a51b64c6f8c1ba4aacdb3c9f86f9b8987a2f61bf63adc81d553a28a0ce50acffe4da075a6104deb78eb602cd4ffa2fa9405ad084f895f896968c9641b373d7aca9a1ffe3743dffafce5130e7f741c7aea24eef77bc47bda2fde0e512d170f52905a52c3b34c0136cca7d2b2b19e3af0f3b81d1ca41ea4eb439e562f3acae9a6e2ef4b65b9e4942da9b1fe198026c495e85a9b0ceb98361d0636aae8e3cdd9c30d267424610df41f52e7fcb12548267d7b6511407c369461264749cc4fc11f4657a0669c82f617846c7bd945c2505ed3a9f7454b9996d03ba7a02e58fb5fb9f19ba2e0826951b5f12fc8684d7bfa319010597eca754351afd68946a798732c8466230c105a2942d452bfdb96899c882568a4c2e3f554aca13ce94ebcdc4dcf5f738f43bc9c6ebed42d9b632fc76f4b9f2cadfdf7b4bcc056990fa12c9759cba1213a761612cfb50351e49cd723b1e11c9d0c6c8aa762d4cad491bad23f05b40a2ec2ef16d1a187f167f63c79ef6eb1d3449c4157f13cba9fea540652efca373c12cbec11d43e7e458364e747e2a7c036c11206a4f55ff83bbf95326b588c427f27fd5d1b05634ab5554ef1ad19e03066cc41b342147a780508acc866e0944f20574589fa4948bde7660297f085bf2d4ce38a30eed2dcdeb11dc063b43f40802619b07a25e1ab2d0eae36994b4034eaae6fbf04a1ba9a08141c366064ee229441a1dd73b31065a4c9cdbedfec6b2fd7d503cc54921e216d2d6d8e41d392fe1d38c4e94ad6557f1ff73512d980bfc739063baf8415c0fb27233d9ef3f795b93fb7ce23f71b9e834a2e912777e54a055f32b9ba4459d45c5e912a733fdcf5d578b9a46cbfd77714a1617480b5f041e2e6ff8ca42b5c19bc5eec8f41b1395fb6c418e4de5068761295460df8fb5959b00d261e90ee0b44714167ebcb3bea9b708883d55d2a6a1e398183fd6adb1ec63a1c5875ffedfffa3c1c90a237d8c81c732bd89058af27d71c93266f106690780616a7ac68dd0b6c1d899063aa87f64860516c6b3aa2fa4191ed6c60cadb4ae2c7bd6b14a983e0c17f1b36ad8e090af996ed49ae55a6d03d83826d30ca4ce79e31dd61a9a96d2f721347c08411fae23aa8490698dab58c07ba28c99226f6daef2bf4c1d173b04bef1566b93aee526db01502eaa0ab8902efd608cdf868a79c68f26328cae45c342540e377a44010d9ab3080b8a7da825ae165cfe664f97eb44136368e83586d83716410709678bc5065df05f3f767027b4ad748fc9e54bb779d453ff85a3e32bba7c8bc6259c6f63b4fca9f982c3a30ec763906ed937b434ad57abbb2f36626f12f9acd64fdad25fd581f9c12c7463bf21e0e7351ea6bdb41465d7fc5b5240d628066ca2fca326100736e1a93a88d4ea82d0c38282031b482a63e6bea8b54d9e7e537f209242f0863ab8ad9769e7be670ba68ba4e8d48b9dde9e32d80173890e22047d5cd41c7bc8d57bd8136cc9ed3e3217b905e9168469720b9f854a36cccec2f950526427a982c04ab894fa28092397bf26103a490774bdf6722f506cf4b7ba79e8d79520fe5fed0685caaf2122d4980dc5f6ef0c4671fc9b4822d6308fe74304ee1cfbaf84cb7953a74eadac80358664d514ea0d47f7518434267737e0dd935da6fed42d439528f07b55648fca13d97b3968a8d1e15427c4ec5cfd6a5165cc8de0cfdb57c068c6c4de21290e52064ea72b0aa369715a42e6d3a7666ec9924173bb708ccf6feac3fe3507b3ab17050fbc9d6dd12d01519cbbaa35fafedc6f1855dbac792ca32331bd5a55c1f90fd2fd4f411cc3b3ad0b42d576f516705188980d826db42d617fd14223100f0e2204684b07941fa843d4187b5a62ecd7d6243e8b4a43c32a501140ccf34ea3b2830b66e2b7482bf0c702cbe1d505ca7604b56b75d0d2450ce4a2e34702bceffee616e9b01418dea7b73e3625081b7fba150d313553fcaaace35cd6401439258a831cccdf24cfd4e142af7145e8a36b2c30021947c4dfd8d3f28c42491ce466d9d17b8abcd957a7aba2b742bbb70666ff4a772d9f4e45b2d9c5018e5ac3c11de952b17611ea837b5cf6ee9365c0dde71ba51736ce7a49d5033feafe5cfb62bbe050f75f0238b2dc33c68bab8b4a3ab72b3022c81f335b759dca6465e532bea649bdbbd9d7207195d0da764168126ee47595dc3fa819e0aebcb7504a849584c4dae3381425ad789a11c66910d898191b54045a4ab4d7f994b9703f8c1ae1729d7104d052605019137e9447fcc0e71d9a630656e7c79f66d13d5bcfa60ccdfd9a9f4cc03ba8fa2143d90db6de054e8d14b02c76b79116877d883f46ee1551de45cf86cd6a7c0958ba7685d96e321693d96d584e67ccac6b647a597b54fa764e04f8e0666a061a1245d75c3af490d1f6e1d0d4e758bdc7e7ce6d072c327853e93f62562bb65f98e2d005e5f810e8579711c6f483bc42fb2ff18709174b5c4d7b8f0499caf807f318156660459f72a0c46ac92d03a220930a4a088ad111087eea2118b9d0eb49a24d7727d76e5adaae1b3905e731e369bb2e1095beef3b935615803e10b88fd883f20fb02cc781a9a4a8002086b44cfda696fd4ac32a64cfe472df4370bfce635c1bca2de572636ee03110b85df703c121c480765646900eceeef5d3cc8beb5e2032ce2c40f2c2bbaca7ba0786ec91af0d70df1e9a0a2640c296ac2049f1a63ed8fa95d849e131f9610af12eb6214e6d777daef377c081b8669a4d86a98db94815e7b184661134292d875dd4463fedfd2fe100214207778af62f3f7bd20c4d35330316d0c35ad2a30c977966530abe0db0c9ef5371cc48d96c3b826ee83f9e1a15f1f2c5afa0f459a6c2fc2a884a2a230fca2978da3d478fae7386e25a9c7fbea496ac57b3ef70364404df8b6641246d940dd5b8a012707ea63e13264ef9b63b563d3313bf929ff6f5def52adc10c86010926e52a53bffcc9a887b9eccda00e4cf24f2b844d5a7361384c72e5e8c4fd3dcffe4bd7ab722c3d6c4e6460264bf8d13a74b9526ba7a9dc043cab772b76478d8fb7b3b3fad4d73067a94b3c7ebf1f737f6af537aa27f3907efec49da37048d9ec4adc2fe66844ef882673b3105c6def6e0bda7530e24148fb38ae1ff3ca9fd98cd79f5ed3cd25a81f7814bd7bdb6373aebfee93d044254b7403751a2a2c37add2ba0b6cc79df883a9014ed8a99a36fea7acf111d3914b8868ebf14f555817d8fe711b7ac93d96b4ae6cb1f3479ef2ef21344faf8befdb7318313b37b509162f9e3ef4b579dff7db5b69a43151e9400bd18e9242f244caae08da4deacb7fa8a1228ceed3ad3357b9aa903b0fc1ea3d82f631a45892931925843ef99e8e1d6896e33dd8441bbc44b259d4f50df720294b1915ab2c3d13437d3cc0af5ca75ce09d71a9742071a63b969839f378ee731e95882c8a1a0336af42fbe34cdfc79c116d0266bedcc03b2eb14ceb22b57da0b26c490ffbaeb06e429b00e75836ea723c4fedbb50ae32b57b47e19209e597e37fbb2c06b3f78cbaa02f2a2fec444b8a0db20f929a811aa0f8c92c3fbfc874a826632313488422ae8aefc3d990adf3771ff0b1c06f89d239261a68812ae2bcf5388754fdfe6a465d2d40610814cfe43eee76aea9894b98877a6849a757c89d86232439bb48709022ddf02545c62afde5d973c2938c84c722ca7211e4ea3740c6664c24da949609359704b9c24ee73e016094fe67f1f43af80c8b02cc8f396baf48adcd73016a1c0b0cc0de9c64b503370f75cd095660e0edd1995b15ccd0b6ea81e676b3a0bce94269205ef63fbda7fd9b6ac4d9a03e1724cc152fd96fe98e6fd3576eb2f6eea7e5c864200666e604c8ccd2bacb80ab7b4cb0d55fc1d87d07b2d4048d1d75f3e2cea47dcfb177df42e3cd72e225c853a7abcc67af581cd4b40b68195058d4190bd5807cfd4ae9dd659c1ef2f4ecc75f2b3720aa010b631faf56ccd0fe4020beacea21f1269d869a91cc1bcc9d5d59e39a3628b4e8ab2a5e6f62ce9f4060b2691bd1f56b56e7dbd1dc8a4f5f23c25e66c52ac27eb823b15f6a21b050e9bb2892e6ccc835efc25803cd29c59380389ec7284e732d4c8176f8c7a5b7558920a466fbf8cb6947f1cc0593c54663b99c138462a74f233f79d9592ed7a2e8b4d2627ca5520f2acf6ac2946b1cadb5f10fdf446e34da39910a04d4ca13269383e6aa6fc890abb8786a7a0c32fcc2d4a1f033747fa577e696969a8ea45585735faf6e59742a9f8c1b3c62df103d2e35fbd6772fec3f0b6d4263f5dd4ad72b5fd9e9764402989c9195b85f303090ed94049c1cd310cf6a282999a43746bc75a539335a24bc61dd4c7e0231794bfac48527d987671ec47ae9e4fc62ffad1abdb79929c1bc1ceced9a092a2c77026106a6cabb5eb918d9c9611c82fba4e9c6a1161a4372800990752c95ba61e3a04740a464a1b6619069225a84c17b594ba3ad6ccde8da70ae3b23965164cbf8805f420a03f9d99af7310f9c2f8b94fe860bb079d9c40e12ec62c2becaff717a697515c45e447972fa17060893f2d8277fda6ccbbec94faa6b90bf35002f3c226d4ce72a10a47715880f5272bc4a55ed9d6d3bcfb1f547dbf76c3a3a139cdc8f862127f96985ac1da92f544dafc80133ae2a333e9c13c1ab124aa889c9db03f25126de44a05218ec61efe9c733102ffc673abede4ff1a19b9f9aa5b0d83ea3753f1c92f49299573ac6165101e0fb5f4e8e1fb796e4e25b2c0c03c17324c6ba9c8fe6ebf7e866101d391f2589b0f5a008c31a367ad03da040c09c95d64009c94f4c8a4e8ad241322840ece6a09a4e14aa0d3e6e43bb4b846af1cf21f8d91ca29764819ea45f8b50e3db6679db8ec5ca10b7fb7b2983f089b4239c3029116e6708c3ecf62b916151a336f1cebbbd82e6aa2ea9d093f486070aa1839d4ddac2834636d19dcea2acf8725e0118159d886aca76969b84c97bc4846cd05223fe2afacc1eaefca7f09419c7bb528f053539780677b81b0a972a3fbfa5b5966329e7f695cff4f6cd945eb1ca7a54cb58ab8456ac00208ee99afb29280882aa685872c0abcc4cf8faafa55cdabf31af0b7d67ffc2e953b39d844da7f9a45d31b8441a9427d3b320d912c210a5f238a71b13e6d2f26de7e98b36dce58d7b68f96f4192d95bd027eb7c7bfc58bde7a6d985b0a95a37fec420fd97f8c0b2c29dde9bc4999baa4ab2261382202bf21b0b9ce80077e904bd4694bcd4cba8aab4ae4e80b3b8325dcaf116c8b9c169314f07d7a2801ee398281c0860a86b09e64eee1fd38acc56cb0a6f60f13c2034c4907815d56700dd3ad1f04933f03343a007934c06a89931e38719a74bd42e889ff990b0dd6185f14fa4a15f0990187af476c430bbcb133b913a439fb653ba489be53e12ccc3098ec3900a77c6140cdbfe0b9c49e93f0de5abd34da731384d3dbea8549b41851d1fdbd85173c9f58210c9f9d3e1248a41d0de3f23865a7cc824e8eeb25dbb28b916429aaefdd787ed9a03c7d2626489bc885ecb871d82994edbb4993aa15ea82ce412d2d21686f7f481cfe6656a3daf98005d8596a602c60159dde1e0ea0dc9085cf8354ef422838dbae166de75318637343c80a4b12bcb6fd1095ca7ebd0911a049ac833e6f70f59216319387440aa77985033a60ead99f4b08cdee8dfc2f5c1e3734112919e4d7f8333af0facbbf5f2fc3311a67c2a5ff3743f7654c40ec91ac5c6846605c914d61de32c1c5922c635a53dd8975cb3dbca2919edaeed7e599b7969358b1f53b6772f047db42bc774de1af063c7f5ab87f9ea28e11d440aa6c6f0d8f65ebaf136ad5b5deafde1b2d7b8dc850b2b88a4be71eae8f43dcdb7124a26ba92a078bd929e6512cf34326bda14f82fbc6da442d21fdcce1a03cf5e1f15f2e92ce76a0be5e9539ed73d62cf4000c474c8cd929a190fae5e45964b7a96101fb68a86e95285a23db86c6e6ceb855667d9bab072819ac1e64f80943c4a6c9adc0151e1988912cbf18936b4dcc87ca5d997d0bae6ac7b16d3b568b11b163adc3722ed9636730039386c59a814ae4f14c26018a409f46028d31403f41fd50aa8c7f5e54cf81f1cf1564fa58511f3a468a6f4a37df2ebe133ea01897f97964be6e1910f0a5ff5fd0d265464bcb24240a156b8b6d2f9beffa4cbc840aec77a5015d557fa789cd64e52cfb1576aefd467a2bb80c541c1a00daaeb559bdeba5abfd70f9fcfdaf6e089a1c3d66068a636bde3f17adb3b233dbb3cc56d13e8bd2a82cdd1e52cc756fa520bb41b839e2369760a553964f62fa1d2304f7638793e8e200f173faef3f6fc3d5af5ef681c81c8ec3a277cdf182882db3eae64df96f1aa25b8dfe3e8a1c2ead413b2db2513e359a269346f866f9e6630103488245c68cff496872a8ce821355aa52cf24d93b81009cc9e6ca4d373bbc2b126590ea564e2ee2d9bd6ef9417709fe0817b495f4e909ec6be6886318e68ba8d4c97649ebfdab6ea32cde2c1bb3349016bab6560f8284c53d250083f4a01f58928681738b84a0a661d611bc9bbf5d291e31667fe89a0c903d246300601b1614c26cbd0556179c27e11abacac2da63ac05ba4a5985f56014b89eb22683d7393da7eacb4d652d9aa818c12068364fb6bcd8ba325d369cfc55cd5b511f4fb200c99620e35ecc1ff31f14f4a24c405839aa64816e75c4dea5c0132021604862d34382aaef20543a6e2ede64ea1c2b391b1f67eea8ab6d6f38b04a8022f7b1e6135d6e22de3dd201d15d92ef6fd660dd4996cefb70a55b75dcb2822b477a386eba179069898352c05bf55797386e5ee7ac0c32c55d9e9511bb7a8293e79e6dd0d1f725e8e0a4c69ef8ddbc2b67ec8015ff3c457a49c4826350cdc0c81f04af79b49bd86a52039653b20be8574a0d98a875b88ccaad2b6d4243811813a4cdddf989228301387ff8ad1ac2afaa12a4cd19419d9385224c4f8189fe86b3851bdc8defa660e4b3d06430431fe519f4220aa7329582f4773d77f284b836281507b33d1d549c025c6c5425e517c4a6c641088683bed18fd9d67b7aa3bdfd857a3f562f8c25719224af49af9a1456042e42dc16be7594a2310e952505ed3a9f7454b9996d03ba7a02e58fb5fb9f19ba2e0826951b5f12fc8684d74c52304b5985f89c3171ad09e03af708798f92bb71f3039258fbd87fb7d59622cee5470dff6779ad51d4460709bcce3c2abb8f8d783ed35a58f47223fd70a000be945158fe77683b92b65aa12107d2481ccedb030e1d2b477b3b485f358d3bebe13fe3053c5b024532aa644f5d4f08a04f33c360bc011da7aa10fe27cdcc8a9b12b55278c8bcabd6ee7f0b7ff473c1c8d5fa776d7fa2b9787d4716b431e24f4fe8c825c06645f08999ea0beb68916d54a1ab46b34e53b5bba6130997b87220d1fa1900b4662fd1c315be714650999d9e769b5fdaf084cdb11db5a9a43c1357311514d84fe5ff783fc9ea07da1c8bf32787c688e52e4c00f96022f3644cd63bdc46bb592be5cd8e83cef73074569e123af03f280aa39859b579e1d3232c5e40ade89424ccffdf36803cefd6aaa06f88cd23402dd488c515cea18a6df4aebfe95bdd92cd77ddb54f362b589d9b29e32349a7112eb2d6a6aa161f683936edbf14f3683d4d1ff26916de295defb99a8f8798f1b75dd91b3c8ee21431fcfcafbf69851ec1b41c4fcab5c8f2d8db5bbe47957f608af09cb5aee12c90d69bd8ca4823d671f2cb422570b2aa2fa958712ce40d1edb911d99b8b518c12a7cd3216b673eb863fe33008ff29eb518c4e943a030b8543818b2d5f715c7a75bf828745805104c45e342a3c7e7c20c8b43abcfda9c1bd1af9e4164a2412de2221598733dfcc583ae730af7cbc5be48113f8491c9c020eecba4bf3365fe9708be5e504f47ebd2498ced9961f1c8be1bd908b942e9243dd859ecfe52069b54a23c564c605798f69f1c555557ca84ba3598f52c281780dd7e22655db21ac383712e62d4540a1bc5250c9e25c69e18c6c871009e1754a7c3e5edb794cf8e0045654d3115fdb555e525ac642f490ee13be69272b77a892d066a80148057ded1b80db711dc2b66de18730e5f5a258aa3457558e91e1a48c4277a38467628a603bd629dd4805d6b36bd31bc348170d19e0908db6679f2c2bd262fc551127a56fabbdb2cd61cbbb0b09b15ae25e7e2387bc4ca5f932ec1c8c52f4a1c4fb5b51b5b54eec86d5c885bb3062f3ea191181dce3c73b56c9dc6846e5135d91b078438ddb89dfecba0eb51675f582c874e4fc76ac6ffcc0b96627c548101a0fb5e839cc0772bb084b15d11cfb5f2f41aac9f86a7f7da81612405258e6d870b94379edd78088bfee3026f4b2f75f797f388008778ab22059e216d6324f3d31d57606bc315fac5ffa19a1cd99b571f154afbe76fd7ae198e08c432e17786e364e297792feaa3738580ddb49f0b193b9335f66326c3e11204f026829878e7d798d6c4856d1cad477f7d724928ef6aa0872bb4568c7ad36df81e25a23dd62a6834e447571202628581282355175189c70471cfc2f82c6dda28040bbea4aa4360e7755a0de3462d2a44cc41f835968fc86c02e0e85223b0888254b8159ad8f4e7ed65959948e6806ac6bcd34c015bece9e1ace84fb7ffeb43c5d4ccc4217c2c04a937b9c6bf5ae3b9bb579c11dd93952833e02533710c42aab5619683c59d1905411799bd70556aabe0e83d962ba27697c6378be8e047681e2b56f0a072e1c57056092660814f650078bb83635c7c00780a832491fbc9244c80dfb4ef141ef9aa812b520108330f66e1b65f20c6c330250ec091beec4e9cca5c0292b8bd7ecc19102a218f790cf47be5ca09d567d31cc2e430be23f8981a11d711e7dee77f2b04815b260a74158904c927b31c4f4c92d922682066456aeb8f618d43fbab5d2b3232d5be1ab3cdf54230a19bc17ead1fe8403b9945b0734633b1c3deacc9328bd36e236be956d3145feea227d3766768b39b1c75a0bcca1b23c387813fbf0ff22bd814364215caaf930feee41e285a87dee93d735a4758c27babfa2e57c0f010352b1db6a00b679c3c7ef7b402de25120c655c33e4e6ec959a6489273121c993351a2d4595346680662c137c6ea73ca69e3f09d63e356d4f4e1423785680ca124f861eb6695b46718970284dae4cf60884bc7a9081503b4e6189c261fcacc44b5c03172ce06feebaed901d7f81855ddf10d900658211ee3d92dd6f96dea235443445d6a8f8f04c1505995d27fcee25085708ebfa3e67343c0c1762cbbfcdbfae879321db858550053f8ec6361a4035e232c12c27be70f7696786f2fedeeb04d748668055b46be58b1bbc9037ea499f69f44d816698cdbe4af138efc011baf8663eeb09e7620e7e05addb6bc8faa6c3204fa86ddb10d79226ad4d602052d2699d08ae226f8f271fa55c04d0d06241526089d437619e99f280442374b9c4cf868db2db977a6bb62ac767c82d88030262f41a8b92267d1017fc238ed692aaf74cab6df8c0d2113f9d08ff93b185d06bc931b949b1d9d604340c44b65b10123bd5bc3fc0358961340da0b9637c6219346a2842812446b59975cae5ff09a3cf31d35af9abb26711a506f03d733c07c34bd2b31ddf048d4d2912f2b5fd768eb296fc7d8d8619cb1dde935d0ccfd4c97e8e52ef63af79af61abc4a69fe0ec47de3a5ecbf72848e71dd896c0312b9cf87e25514b9e10dab855c5100bac598f3c47e1c244bf007b56fb67bbe69efe97962c2e4f98a055101ca16c919462d333b0ef2f1c0825705ae29300dffa902aedfbf47e0f338c91948fdf3ae13f77bfff2f3d06080e58fc5286f2df96ffa4642035fc3d25407d6625ba9a46970b4b35cca06bc61fc163cb7dc3bcf7bdfa0e725585e598853c9aefd9b53081183de9d670126b8e960728953322962bec0c0745e464896f77ecea86fad2f6570ca991ae014cbf3293a1ac40792731bee73dc25e2389dbe3d7e9ab6210af0ea5d76fe8a9e9d07ba873459abebe3b641c020b9734abbc96bcfd78182feb8eedf36b9490620c02054cf36fdb6799b40909978687db81802e9b9ebbd207452d01153412ff1ca233dda45161f13512f01fae6b9dee13beeef2af74dd5a09330bf8520dbee8783d725137faab76dd668e2dddc7d718d857d09d2a98b385714bbd111880843d83a784db9fd462962a89f799caad107e70d9d691575b8dee631679e17a01f53dc22cd2b2fef07c8d1a618f70fdf5dd384d09448e1b975313fc5cfcc4c550483aae608851755b3b844ff23c030051d64a9df6414688dce9ef605c074c88d8445499fa2903e0dfbc7b09424c12997cdc6dc02476150d2f171639bcba0c183ec442cc90fe27a2dbafd4e1c791aff374b5326ba16880a16d98269abb731904dd1f8eb00aaea66bfef72d5252931d84cc01cfabde3bea854b5b145ddd37bdced843340e0679b6b4e7ed2fe318fd0cef76d160543722e0c3eac11f901ae15db25905dca7a17b81c6d51869fd12ea569fc4b072d217786b4b4d73bde4b9bd9425bc87b33d6b1911e6398673939aa2f15ac505b9a1ab029b8452dd0869f392daa28adc942272615ff2db16bcf084f01ec9fcc2f7f6a632b2bba8c468655e985a3b271c25952b7ba3a9142a23515947e79dc051e75d70f84249a4b15ea12f102512f326c48bc8ce85f92446d5f89a968278c796560d59dd033345569957d3a9fa3727d9bef1de9cf4f1455f6ad08ac247aff15831e98768238a7927697e64ff91e533b6e025617018ef9a9765d7a6a0eb2110a027133800ab2ea4fb1e32571c720f356024feb560e65b7cff7635bb790ef8f250e671aa13dd33aa97490a531d6d454af56cb030c25a236376eed9525b96af2b4542600c93b50bcf5ea336566d0dad80c3fe486346bdd7a02d8ee620b05fae9d473b3fa0d58eb0ebfa70d76f986581c746c54959d5fb75e1c3a49193e4bd8579c4d2c9e54b3fc321b5d99df2ff24d242a9826d0ca1c6c511a5ae3a31c41fa8fe4f6671add1786554b68527069ad2733b4a754f38e63c7770a6e2dde91a4dfec4d52e0879c30ad97027c55ce721a04671099bf7085863662b2b9a789acc1ab32dd2c924cba72a7a1d4ed5429d9a3565f3bba475bdc5ad5eb9a006104535629eefe9da94b92761381639b2a7df08671b46c145cf0e173e19cb322210e647fa4b0eb486f93c655e3d43de7dcf60e0a5cd1da3b65e8268a84c99ca77ee7f6e5c7a91836136533f6e71607e753570a84b5851b3f28d3b1e19ae4d6da4cf54761e2f196379a804d7b63e02d5656715133f6461eaf9dc97e41030775b4a3ed986c523228b336f223007ff4c9a97rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootalsa-1.1.5-lp151.8.3.1.src.rpmalsa-docs    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.1^n@[uZZ`@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.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.deLed tiwai@suse.de- Add UCM profile for ASUS Chromebook C300 (bsc#1171246): a downstream UCMv1 profile. The upstream took already UCMv2 one instead.- Fix UCM profile for Dell WD15 dock (bsc#1112292): 0104-conf-ucm-Dell-WD15-Dock-Fix-incorrect-device-names.patch- Fix UCM profile parsing with longname (bsc#1091678): 0101-ucm-adding-the-folder-of-card_long_name-when-finding.patch - Add Dell WD15 dock UCM profile (bsc#1091678): 0102-conf-ucm-Add-a-UCM-profile-for-Dell-WD15-Dock-USB-au.patch 0103-configure-Fix-forgotten-ucm-entry.patch- 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.patchcloud114 1595404944  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     1.1.5-lp151.8.3.1alsa-docs_2test_2latency_8c-example.html_2test_2pcm_8c-example.html_2test_2pcm_min_8c-example.html_2test_2rawmidi_8c-example.html_2test_2timer_8c-example.htmlannotated.htmlasoundef_8h.htmlasoundef_8h_source.htmlasoundlib_8h.htmlasoundlib_8h_source.htmlasync_8c.htmlbc_s.pngbdwn.pngbug.htmlcards_8c.htmlclasses.htmlclosed.pngconf.htmlconf_8c.htmlconf_8h.htmlconf_8h_source.htmlconfarg.htmlconffunc.htmlconfhooks.htmlconfmisc_8c.htmlcontrol.htmlcontrol_8c.htmlcontrol_8h.htmlcontrol_8h_source.htmlcontrol__ext_8c.htmlcontrol__external_8h.htmlcontrol__external_8h_source.htmlctl_external_plugins.htmldeprecated.htmldir_381a0a05232d68d0a2ebe5cd502f4d69.htmldir_5f851d935025f1be023c2c62bd843fe2.htmldir_68267d1309a1af8e8297ef4c3efbcdba.htmldir_8c35c1873c2690b478a9950d0638d637.htmldir_b73df3c68338d0823ff9d736eb268d89.htmldir_b81b067251166617f9d0a8c0cfc3a4a9.htmldir_d0e40b335958b6212fb6f781133eecbc.htmldir_d1b0f45016cd06bf2eb252bd3f501161.htmldir_d3519ec5023707b37568b471096da878.htmldir_d44c64559bbebec7f509842c48db8b23.htmldir_e8b3d2be6db305a5d41d291dd9fd6e9c.htmldlmisc_8c.htmldoc.pngdoxygen.cssdoxygen.pngdynsections.jserror_8c.htmlerror_8h.htmlerror_8h_source.htmlexamples.htmlfiles.htmlfolderclosed.pngfolderopen.pngfunctions.htmlfunctions_b.htmlfunctions_c.htmlfunctions_d.htmlfunctions_e.htmlfunctions_f.htmlfunctions_g.htmlfunctions_h.htmlfunctions_i.htmlfunctions_l.htmlfunctions_m.htmlfunctions_n.htmlfunctions_o.htmlfunctions_p.htmlfunctions_q.htmlfunctions_r.htmlfunctions_s.htmlfunctions_t.htmlfunctions_u.htmlfunctions_v.htmlfunctions_vars.htmlfunctions_vars_b.htmlfunctions_vars_c.htmlfunctions_vars_d.htmlfunctions_vars_e.htmlfunctions_vars_f.htmlfunctions_vars_g.htmlfunctions_vars_h.htmlfunctions_vars_i.htmlfunctions_vars_l.htmlfunctions_vars_m.htmlfunctions_vars_n.htmlfunctions_vars_o.htmlfunctions_vars_p.htmlfunctions_vars_q.htmlfunctions_vars_r.htmlfunctions_vars_s.htmlfunctions_vars_t.htmlfunctions_vars_u.htmlfunctions_vars_v.htmlfunctions_vars_w.htmlfunctions_w.htmlglobal_8h.htmlglobal_8h_source.htmlglobals.htmlglobals_a.htmlglobals_defs.htmlglobals_defs_a.htmlglobals_defs_i.htmlglobals_defs_m.htmlglobals_defs_s.htmlglobals_enum.htmlglobals_eval.htmlglobals_func.htmlglobals_func_s.htmlglobals_i.htmlglobals_l.htmlglobals_m.htmlglobals_p.htmlglobals_s.htmlglobals_type.htmlglobals_vars.htmlgroup___config.htmlgroup___control.htmlgroup___ctl_plugin___s_d_k.htmlgroup___digital___audio___interface.htmlgroup___error.htmlgroup___global.htmlgroup___h_control.htmlgroup___hw_dep.htmlgroup___input.htmlgroup___m_i_d_i___commands.htmlgroup___m_i_d_i___controllers.htmlgroup___m_i_d_i___event.htmlgroup___m_i_d_i___interface.htmlgroup___mixer.htmlgroup___output.htmlgroup___p_c_m.htmlgroup___p_c_m___access.htmlgroup___p_c_m___deprecated.htmlgroup___p_c_m___description.htmlgroup___p_c_m___direct.htmlgroup___p_c_m___dump.htmlgroup___p_c_m___ext_plug.htmlgroup___p_c_m___format.htmlgroup___p_c_m___h_w___params.htmlgroup___p_c_m___helpers.htmlgroup___p_c_m___hook.htmlgroup___p_c_m___i_o_plug.htmlgroup___p_c_m___info.htmlgroup___p_c_m___s_w___params.htmlgroup___p_c_m___scope.htmlgroup___p_c_m___simple.htmlgroup___p_c_m___status.htmlgroup___p_c_m___sub_format.htmlgroup___plugin___s_d_k.htmlgroup___raw_midi.htmlgroup___s_control.htmlgroup___seq_client.htmlgroup___seq_ev_type.htmlgroup___seq_event.htmlgroup___seq_events.htmlgroup___seq_middle.htmlgroup___seq_misc.htmlgroup___seq_port.htmlgroup___seq_queue.htmlgroup___seq_subscribe.htmlgroup___sequencer.htmlgroup___simple_mixer.htmlgroup___timer.htmlgroup__topology.htmlgroup__ucm.htmlhcontrol.htmlhcontrol_8c.htmlhwdep_8c.htmlhwdep_8h.htmlhwdep_8h_source.htmlindex.htmlinput_8c.htmlinput_8h.htmlinput_8h_source.htmljquery.jsmenu.jsmenudata.jsmixer.htmlmixer_8c.htmlmixer_8h.htmlmixer_8h_source.htmlmixer__simple_8h_source.htmlmodules.htmlnamehint_8c.htmlnames_8c.htmlnav_f.pngnav_g.pngnav_h.pngopen.pngoutput_8c.htmloutput_8h.htmloutput_8h_source.htmlpages.htmlpcm.htmlpcm_2pcm_8c.htmlpcm_8h.htmlpcm_8h_source.htmlpcm__adpcm_8c.htmlpcm__alaw_8c.htmlpcm__asym_8c.htmlpcm__copy_8c.htmlpcm__dmix_8c.htmlpcm__dshare_8c.htmlpcm__dsnoop_8c.htmlpcm__empty_8c.htmlpcm__external_8h.htmlpcm__external_8h_source.htmlpcm__extplug_8c.htmlpcm__extplug_8h.htmlpcm__extplug_8h_source.htmlpcm__file_8c.htmlpcm__hooks_8c.htmlpcm__hw_8c.htmlpcm__iec958_8c.htmlpcm__ioplug_8c.htmlpcm__ioplug_8h.htmlpcm__ioplug_8h_source.htmlpcm__ladspa_8c.htmlpcm__lfloat_8c.htmlpcm__linear_8c.htmlpcm__meter_8c.htmlpcm__mmap__emul_8c.htmlpcm__mulaw_8c.htmlpcm__multi_8c.htmlpcm__null_8c.htmlpcm__plugin_8c.htmlpcm__rate_8c.htmlpcm__route_8c.htmlpcm__share_8c.htmlpcm__shm_8c.htmlpcm__simple_8c.htmlpcm__softvol_8c.htmlpcm_external_plugins.htmlpcm_plugins.htmlrawmidi.htmlrawmidi_8c.htmlrawmidi_8h.htmlrawmidi_8h_source.htmlsearchall_0.htmlall_0.jsall_1.htmlall_1.jsall_10.htmlall_10.jsall_11.htmlall_11.jsall_12.htmlall_12.jsall_13.htmlall_13.jsall_14.htmlall_14.jsall_15.htmlall_15.jsall_2.htmlall_2.jsall_3.htmlall_3.jsall_4.htmlall_4.jsall_5.htmlall_5.jsall_6.htmlall_6.jsall_7.htmlall_7.jsall_8.htmlall_8.jsall_9.htmlall_9.jsall_a.htmlall_a.jsall_b.htmlall_b.jsall_c.htmlall_c.jsall_d.htmlall_d.jsall_e.htmlall_e.jsall_f.htmlall_f.jsclasses_0.htmlclasses_0.jsclasses_1.htmlclasses_1.jsclose.pngdefines_0.htmldefines_0.jsenums_0.htmlenums_0.jsenums_1.htmlenums_1.jsenumvalues_0.htmlenumvalues_0.jsfiles_0.htmlfiles_0.jsfiles_1.htmlfiles_1.jsfiles_2.htmlfiles_2.jsfiles_3.htmlfiles_3.jsfiles_4.htmlfiles_4.jsfiles_5.htmlfiles_5.jsfiles_6.htmlfiles_6.jsfiles_7.htmlfiles_7.jsfiles_8.htmlfiles_8.jsfiles_9.htmlfiles_9.jsfiles_a.htmlfiles_a.jsfiles_b.htmlfiles_b.jsfiles_c.htmlfiles_c.jsfiles_d.htmlfiles_d.jsfiles_e.htmlfiles_e.jsfunctions_0.htmlfunctions_0.jsfunctions_1.htmlfunctions_1.jsgroups_0.htmlgroups_0.jsgroups_1.htmlgroups_1.jsgroups_2.htmlgroups_2.jsgroups_3.htmlgroups_3.jsgroups_4.htmlgroups_4.jsgroups_5.htmlgroups_5.jsgroups_6.htmlgroups_6.jsgroups_7.htmlgroups_7.jsgroups_8.htmlgroups_8.jsgroups_9.htmlgroups_9.jsgroups_a.htmlgroups_a.jsgroups_b.htmlgroups_b.jsgroups_c.htmlgroups_c.jsgroups_d.htmlgroups_d.jsgroups_e.htmlgroups_e.jsmag_sel.pngnomatches.htmlpages_0.htmlpages_0.jspages_1.htmlpages_1.jspages_2.htmlpages_2.jspages_3.htmlpages_3.jspages_4.htmlpages_4.jspages_5.htmlpages_5.jspages_6.htmlpages_6.jspages_7.htmlpages_7.jspages_8.htmlpages_8.jspages_9.htmlpages_9.jspages_a.htmlpages_a.jspages_b.htmlpages_b.jssearch.csssearch.jssearch_l.pngsearch_m.pngsearch_r.pngsearchdata.jstypedefs_0.htmltypedefs_0.jsvariables_0.htmlvariables_0.jsvariables_1.htmlvariables_1.jsvariables_10.htmlvariables_10.jsvariables_11.htmlvariables_11.jsvariables_12.htmlvariables_12.jsvariables_13.htmlvariables_13.jsvariables_14.htmlvariables_14.jsvariables_2.htmlvariables_2.jsvariables_3.htmlvariables_3.jsvariables_4.htmlvariables_4.jsvariables_5.htmlvariables_5.jsvariables_6.htmlvariables_6.jsvariables_7.htmlvariables_7.jsvariables_8.htmlvariables_8.jsvariables_9.htmlvariables_9.jsvariables_a.htmlvariables_a.jsvariables_b.htmlvariables_b.jsvariables_c.htmlvariables_c.jsvariables_d.htmlvariables_d.jsvariables_e.htmlvariables_e.jsvariables_f.htmlvariables_f.jsseq.htmlseq_8c.htmlseq_8h.htmlseq_8h_source.htmlseq__event_8c.htmlseq__event_8h.htmlseq__event_8h_source.htmlseq__midi__event_8c.htmlseq__midi__event_8h.htmlseq__midi__event_8h_source.htmlseqmid_8h.htmlseqmid_8h_source.htmlsetup_8c.htmlsimple_8c.htmlsimple__abst_8c.htmlsimple__none_8c.htmlsplitbar.pngstructctl__access__elem.htmlstructsnd__aes__iec958__t.htmlstructsnd__ctl__ext.htmlstructsnd__ctl__ext__callback.htmlstructsnd__devname.htmlstructsnd__mixer__selem__regopt.htmlstructsnd__pcm__audio__tstamp__config__t.htmlstructsnd__pcm__audio__tstamp__report__t.htmlstructsnd__pcm__channel__area__t.htmlstructsnd__pcm__chmap__query__t.htmlstructsnd__pcm__chmap__t.htmlstructsnd__pcm__extplug.htmlstructsnd__pcm__extplug__callback.htmlstructsnd__pcm__ioplug.htmlstructsnd__pcm__ioplug__callback.htmlstructsnd__pcm__scope__ops__t.htmlstructsnd__seq__addr__t.htmlstructsnd__seq__connect__t.htmlstructsnd__seq__ev__ctrl__t.htmlstructsnd__seq__ev__ext.htmlstructsnd__seq__ev__note__t.htmlstructsnd__seq__ev__queue__control__t.htmlstructsnd__seq__ev__raw32__t.htmlstructsnd__seq__ev__raw8__t.htmlstructsnd__seq__event__t.htmlstructsnd__seq__queue__skew__t.htmlstructsnd__seq__real__time__t.htmlstructsnd__seq__result__t.htmlstructsnd__timer__read__t.htmlstructsnd__timer__tread__t.htmlstructsnd__tplg__bytes__template.htmlstructsnd__tplg__channel__elem.htmlstructsnd__tplg__channel__map__template.htmlstructsnd__tplg__channel__template.htmlstructsnd__tplg__ctl__template.htmlstructsnd__tplg__dai__template.htmlstructsnd__tplg__enum__template.htmlstructsnd__tplg__graph__elem.htmlstructsnd__tplg__graph__template.htmlstructsnd__tplg__hw__config__template.htmlstructsnd__tplg__io__ops__template.htmlstructsnd__tplg__link__template.htmlstructsnd__tplg__mixer__template.htmlstructsnd__tplg__obj__template.htmlstructsnd__tplg__obj__template__t.htmlstructsnd__tplg__pcm__template.htmlstructsnd__tplg__pdata__template.htmlstructsnd__tplg__stream__caps__template.htmlstructsnd__tplg__stream__template.htmlstructsnd__tplg__tlv__dbscale__template.htmlstructsnd__tplg__tlv__template.htmlstructsnd__tplg__widget__template.htmlsync_off.pngsync_on.pngtab_a.pngtab_b.pngtab_h.pngtab_s.pngtabs.csstimer.htmltimer_8c.htmltimer_8h.htmltimer_8h_source.htmltimer__local_8h_source.htmltimer__query_8c.htmltlv_8c.htmltopology_8h_source.htmlunionsnd__pcm__sync__id__t.htmlunionsnd__seq__timestamp__t.htmluse-case_8h.htmluse-case_8h_source.htmlversion_8h_source.htmlwave1.gifwave2.gif/usr/share/doc/packages//usr/share/doc/packages/alsa-docs//usr/share/doc/packages/alsa-docs/search/-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.opensuse.org/openSUSE:Maintenance:13442/openSUSE_Leap_15.1_Update/04b60dc0ec9ee15c968b718e93d7cd04-alsa.openSUSE_Leap_15.1_Updatedrpmxz5x86_64-suse-linux                           directoryHTML document, ASCII text, with very long linesPNG image data, 8 x 30, 8-bit/color RGBA, non-interlacedPNG image data, 7 x 8, 8-bit/color RGBA, non-interlacedHTML document, ASCII textPNG image data, 9 x 9, 8-bit/color RGBA, non-interlacedPNG image data, 24 x 22, 8-bit/color RGBA, non-interlacedASCII textPNG image data, 104 x 31, 8-bit/color RGBA, non-interlacedUTF-8 Unicode text, with very long linesPNG image data, 1 x 56, 8-bit/color RGB, non-interlacedPNG image data, 1 x 6, 8-bit/color RGBA, non-interlacedPNG image data, 1 x 12, 8-bit/color RGB, non-interlacedASCII text, with very long linesPNG image data, 11 x 11, 8-bit/color RGBA, non-interlacedPNG image data, 20 x 19, 8-bit/color RGBA, non-interlacedPNG image data, 2 x 19, 8-bit/color RGB, non-interlacedPNG image data, 18 x 19, 8-bit/color RGBA, non-interlacedPNG image data, 6 x 1024, 8-bit/color RGB, non-interlacedPNG image data, 24 x 24, 8-bit/color RGBA, non-interlacedPNG image data, 1 x 36, 8-bit/color RGB, non-interlacedASCII text, with very long lines, with no line terminatorsGIF image data, version 89a, 290 x 173GIF image data, version 89a, 268 x 151BRT/5;W}N<)futf-89238c01bc5a13b376f5bab980a435c3ca56c5537328c443c8f5bb82d3911bd3f?P7zXZ !t/ o]"k%rI\L<3R?kDXf-]te?d6W'}|EIbD~ n^1b^eeeyOe~( ḧ́2뽪kswf' byM ـEYy(3jѬFP]%ˇigJ*}pQ2 c[]ݒ[5`2yj]=pѧIXeEt :iRLp:0[\,YB`.LTq!$cxD XTƜEMHZ\gox>+zK 7aOkM}]0Sr"P?bg@`d vKd5T ,4l9ebx+DD6*+MEb`/|ZT+:sz@b'fGD_ >3HϪ$tUf# 6 MkWs`"yZ#^;a hªi~U=sr0GQd}<-fNx0b-/ LCohD-VC\ǫ/geBX/N/:خŀl`y]k ؊侣X;ByZC2h4n_6ޏ񢻢o܆0_dѦH˲Ho{xBT^t8}^SQ&='%0/Z(9?7ccds(Db6* rU!7أ!R̳UJDP T1PyŦoaSk`Nj5 Fmnu4?TCQb@m-G'W:vu tDR6\_R͆v5X|,Ȕ *МU=W4ԝqߡ+}m7' 8̼0q3 1O7LCV?6BQ B0-sb=F_–ʃ[}kE^2<}(m3*P %5 w *:e<˓M:`! 150 \(:)0>G4u s EقdTJ\Ӫv}>k2#نb2>)=qq7 ;xcՆVRT|5"`{/!F825}ƙweq"fKfϘKٍweLtf(YgI[B)RFPY'U㉡NL\cs?e6U'GED$lYcd JɐO96u' _RP88l0+5*[>EZR +n@VV -ͨ&$J1k :FuEXSlW u`t?)uD{ 4/_3 g4-hTD\"1ZQȅQᅨL)fT{8IQECP3EçPm rPLnrk &`ю؁`TVd!SaCVbivɞr ~Ƕ~7:ͯn%>zRrI=i}0EVMT:H4/9כQ\ Bh\wåc!0<;ǜoqnEwړ(]C37R3*;PXWj8~2Zc+3/1Q UƏؚ}Xl*#Ĺr 7IY1r|?~I*y%}j@0-zW8"9L:k c1S1_E5AJNb2dV@^(T#' Vc4 Q$cx(&CNw|9,[ܓ/2jGZs..uT:jl{+ (w&Ct)B,A3g*Ok.^\R9(CֹY9zCgLC;@IZ~OaYލ<=-τcZXAԹKlGj:iWNW5tt8 AT D(z+u.Zdj sQAǻI$r_M)餪 ̡PhV~p۪|kRg'o< xc|@9D lhe{hB!~?m$~H?fG`<Z:Au^~jtiJbCmcEBW0[wW``XadH]e*LT/Фgg8R7D 'X0RJ5y_ZKk2+"7~32/60j*[Xvi=hB -[LF侦L(0}{DO> EzeVw5Tg.Fȵ7OFzVGս/%3{7jvL εU3d+!~DɹE ')ڪD훘t$XIuoc똂[@zY!|3d] 7FxC)X,º -ގJՑ^]Y T4[Ri5+N(v!oNsXPA'x(`R%SKϳX!QOqI Po0B/4S[283J* teV'߰G z;3/~cUCK\+D.SBD (H}˖KZ-GQpw/cgGT϶/.ָhvpEM,dhnfm;6 B<ַiLLt