dpdk-examples-18.11.9-lp151.3.8.1<>,̉_se/=„IW?=Hi;*׍3coG^؈D5p{QG-ܐ5g3X@N}KmTzgˏ(4Yz.Bg-q&c*K4.Iqδ(CǾyJ aX6yL|*{34E~f2̏NJCRQ}ϙ9:ʘ]{ߕ7l @PlO$6*jL«d{!cطu_~}<>P~?~><0? d $ T ):JPX    ,  |@P(8<9<:<GFHN(IUXWYW\W]_^uObctd eflu(v,Cdpdk-examples18.11.9lp151.3.8.1Data Plane Development Kit example applicationsExample applications utilizing the Data Plane Development Kit, such as L2 and L3 forwarding._selamb67=xropenSUSE Leap 15.1openSUSEBSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-onlyhttp://bugs.opensuse.orgSystem/Librarieshttp://dpdk.orglinuxx86_649[*xy`Y9(Jp_0jxY.z j@)8|YI9(-`(;jI8Yi yN]CQ2A 'CR5O`5Yf&2C:@ .|Pw N st0da;c2E  R     } L%3.]1v -o:o1;'=y/-k7FPR.on>T8#$3h= ~NZ I^H>cژ5Ug7O z, ) tF *dTGi`C3S"P:D/s o+C 2hQ01N9C/}#G?1&}(i_]0 $<; G3FwfCMEM K$Kz+3@p0%!`])d )CY,?/fC#w"5$ pdq# '-BD /( ;*55x2E./f!0X~ ( Ka LC(GA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_s_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_s_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_s_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_s_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_s_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_s_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_s_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_s_7y_7y_7y_s_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_s_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_s~_7y_s~_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_7y_s_7y_7y_7y_s_7y_7y_7yeb9b98234cf9f0514be94942c29b06e273b53d4fbaafb3a25bbf0772aec3ee6d7aa10d763efe2e41f1f48f53de04bd636c80ee86d9f59d045643378a6b8b3e4e33fcb2f6f72a62ef3eb1bf4d2070b93a548b21da76679230774b8308100081e76a06b048ebf648c20dc62c5bd4c7041b654a2f0108bf8dd36fc5f7f52b5f1b7ae6c36dd194ecd6f3efd3d4448f4b889bd41c457fe47a15d6c9fd58ec2c2bcbbcadea4b4b5193bf80cf687085ccabe23eecffc4490eda8d93c783606004379bb6d12cef03ecd86b4ef0b416949324dbcb2cdc9572f208e871f6f5d9724fa299e1bc7fedcb9f412e28d9c50e2b9dda3d69b8ca742fbc60c1ad05871b2fcfc2b00ec7760873b8cb5d11cc497e3270ed9619d559de90e09aa96543c4634936f7a20e77cd308fe6c139a6e7bc4635a7be7d5111ce411d30f34fc985ab71313937bef8631fbb28e0c3b952dc4a288d04bfea75a7c514ff1923efca614b12dd06c3aa0cd99367f6c7e7ed148ede424fe5bd6c53885832d86e9d3f89b7fe708a20bbef4aef5b2f3721bf6ea9f6b8de77f9f688ee0682716ef0acd6eaeba304d30d163735596f1584e4450732f6606334c4bcda927b52d318c282b1fcd378d91e640c71e76b6c3589e0c245231dbc207e831de0122e58cc1be6b718078caff6c6489fc6e16a924d40a7d451bbbe1511bc8bb7067831e5126d3f7898cecb0088a69d7328d3242ff9cffc844630aa170a20d25d6980974df13b679a0cfc023bc05dd75746b192767bebb40ac621bb66e069692f0502106698cae9dfad532c4ad20e04e44b62e73329fe7f438e0a1d8732063e12a4330ace09c43a1eccf15378827d2c1b0c3aeabf647e8ee46e41103550fe0901a312276f9fce73944e40babe5661549451cef61698cbbb85c3c8a6bbab8535c95a142f02672086e62b65ee92044474d7f69176cb64f2018478b69dfea2074bac6ecb5722914e0be55687d72f5c45eb95982424e2e03e529d2476028429064dccfa0fdd1bec9e49afeab3849950c3d47e720e4a5ab8290475ac0ead86cec803f83732e0fbc8078419188702d8ae2b938d091fca3444f32a11165da0bdf53edb1eb4221c02cfff1dc75975ab0d71e4c3635864b8e9428cbb2be89750c9b274913a24bbd9332d0cb037a021b4a325c804e3c6c67078b4bb2be44193a9e59a540e6f720087b98e2f7d6e134b2c79c22aeb4fbcdca7e6172b40e5de565caf88d3b37b84ab32b4af3fe1256cd390639e5effc8a2c5ea1938d240ab67d1985cf23f5c29ad90a7897fdc4137b13c198377cd215dfc0a84dc7195741c80b89989986acdabe38cb3f986929bcdcc6290b5eb56907d3298149656b740e5e6cabde97914b9b3aca38593028edc207508abb0bd1d439dde17d24a9c8ed1f5ed7e3bb2d5d99cbb573152421f6943c5ced68aeb226a5166ab79307093b63641b69785da298ce5ea8b7f8a113f01d68f94e19881a14627c651a7249bfd66094c714dcb146114984bc0f6b1c93657b17e82d269b2e95bd91f3e32047025cda709b16ba2ae68c028c00f24ab61a4fede37576414ca9da78dd9e7e9deaebb7e59bd6dc1deede05ab11740e6fc4c20b7b22bb05b3247740358ad6b51217ec44256f0c9229f094646286f1f9ad4a5c5b8de2bc18596969feae3f300536f1e4cd8812dd33bd4e8de6b43c785f4616dbcac9fdf50b11b14dcba97fca1be0ffe7deb56a57652d44ab01ef3e9401e968f5bad565193f51539ba87c72973b39898e68dc8159075b19d26b5796a83e228dbb2026235bc1b843ef64e3271c54796732e6572209a6a1374045dfb1f5ad2a03525dea514bf6dbdf7aa1583f26662b0ffd6050f903ceec9f12f66ceacd6af91521fd368b938e4172306102f95fd426ca1100707e73075694af91ffe35b1a2b9ffd03fc1028572dfd5f1ba03eb2875a90cb9902c187b771e835e8f1d1745ff12d0601fe8cec89b8718e9c36b1297da72b5ddf3fc5c954f49d36576f76f23d9a90596edd5fb84620e2168ae0b66a11f401481022be0cf1400b4558ebce6366eaab6faacc5b2433e50a59487ff0b1f514ebb250803d16ff1505a730ccb778492abd4d7a111499a4877a4567fbc5d3b0f776e497c571c4ee68ebb9ad658456f8adbd9e190702a3b8c08c3feec257b3b3049f29d03f21ccb372f1b2ed1286ec81f492a686444b53e4693d3ba3dd2cf7878c910efbef36df3c1bf49ec5467902b7205b4848ff932acfc60a5d5de353d061d4a31602665bd02a3f05c34dedba518cfde397d7a64b06a6e3ed6751785d15b7b3ce01d7715edf0f828d79f568bc0314aaa44217c68a41ad198121c2a97d956b861dfbb515dcce1d1c8f491adf013b7a23d62618b800910b98b7637a7f03cbe2ebbab7e81b58ea848a5fbbc74b81053530006147b691d812fe20fcfc0e98fc9184b8705d73359d0531f54bbe6bbc6af2a9f4e80c1fff496226ce699eebf3c025003be30fedafad281e9ded716b403a3d98adfc9afa922d32da406650f7c87137163d89e4c7393964276338a14f2073f040daf1419900185b6bfbeba44d2c64750b867078d2f424f3ff748a9c17beabfdb7acc624d927630ba688624a19d03e25f7f7230856c932613c16ac1abd6e5f4693cbd5fc6258277fd001562653b39164161de67dbcf1b23e229b9864bd4d2cd83d0badd3deaa2c283d18ee417ffde6632cc88972954080bca1b8dcb2d503b738d311f3de4d7b42bc3e7e6ea22c249781a0b892d753d126a7e82d1b629c4cfeba19b279580a274ed56c7ef1c665023e8762e9a72c4e35929eb388270ebfbec6af8809ab4ad62f966cb6b35d9a0db63b8ff7a6d6c9ffe145dca146e22ea01146a9341268bfb2aaf4eca4cfffdf64e1d2ca05eb4408643bfc430fcccf14d778ecc39a29ae53bc70ae80f685a8971b15bb3f0729511fa4d56a6d94aca4b5f3a9724818700965fd5ce6a235b1f1cc2b22a11705a48517c75a724bf98da009e624e6f2ba61f829bb719777c415c6093702ea40ce5f473c6884bde4ad5b136a3770d0a54e7eb6d8adfda10037f544e2d6c092637f7fd7b818dfd9fff6757fae37d49aa8d8ae6bd8f4df38e8a5d6d40cad65a88f88bc16131c3c762a4fa0ae63b70c54058f8c48356d32df24377b12bd4a523d52292a4dbbb09f55b414ac95408b8775b5e58c20210bf02378e9f7dd771bbd0adf84e65fba44014b68587a97ee211c586d3f2c86b147ad955ca13519341dc99d48af22d2d0171fa2f5e80dc851edc9b19e75da2f57de8c935180c0d65784bc86fdddcd333556aecbf01ab1c3316fb2f05821c27a996bffa377bf39f63116554ede1a5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62e28d4a595cc8b9321d801e9b27960229b4bbc466c505d38007892bc2706f3434f28b4d9b201c03d34ac71115aff39a495afd14c2de214ab5437fba16224df4c6e25c5644c14d5873922d69b07ebba98cbfdd37980e7f3d10982d585f84500bc09ec4d5120c5baa6de73a6bbe59b1ba5652b8ca88948829daa717e2d6c201a075ef67ded82220e9b7732ab93c0a3cfd8ef2faca87d31d8d902969bc891b3c139dd15c07e75f02b46c9ce01912452109ed516bf90722c7f63e04b3fcdcb9d2428aad66cb12802d253b2dc961aae3be969dc8d8c8580aba5c63ab0f9ee0d379600346830d5ea05653a096becd7eb90cc4f7c21913043399f4de8ca13b56c1e6ad363752ed09d1004e08ab9f7f872d5572730fe2fbe73fedf2127abd4fbb09f697b75b28030a7af34cf74d75439cfddadc0f21fafa5fae69e4e1267c56ebd6662fb4a3ee784eb89a1b30a07616e65a6c88553ffee691ab63f71ef246455be662c651f132c990f4b27cc433282d66d70cb364d46cd5909bea90db3eac0e8acee70b568c5a068c2dc0b491ea5f3d36abc78bf7b997d1f197553e0ced9d32370e97ffef5901074c98147cf36da173c59a4b08ebdaae99934f5cfeb8a0c234ba36660947bc20d636c804aef706dfc000c0ac2b28ed7f92fb2be046ed349effd0e91742ebebda4c09c6a11ea7d7a0c759f0ae6b7bfadc9179ed3a508eb855311ab89affc51d4a12edd2b9c75942d451bf07acaba856f8c5824f393614c965ec4be2b67d467fc6d4aebcf76a12698fa55055fa87541f11ee85c9819bb9fb0c1b4a8a9e753e0fcb2808cee33447b1ea1d3db697830d24d39c81a621a4f01cf736e100084132bb83541b2e2b5738faf3107c708ba7b22819d40a5ae50dfea6767d8e1901c3f24003206fb7abf0560c8a2a24cefed46f38ffa3d3b494ff74920ad85ceb58b8153a5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62e945f894d189b282e0b9b8416844101f6dcb9ccac3749a65500f1fa4038b6b318ef6f20d5baf3003348a8e78804e5d034e99219ca31f179151b9a2164349cea83095521cc1ec49e48bf17d94e776deabfa4418e6611489e50849e3305a4861ddcd2e252806bb2b52082ca33501c2fd8fa5d61af21930655731086bb840df65bd1b19121324bf4acac7b9d7cff94b3c9190c623f6f1d12d604a299e84b021d3106e23809fd8f7c53bd6e6b35c5a1cf467e28723b96cae687703bfba9ea80843cd9a871980e3df7f1872e93fad4fab99b705d70ffa494a1d68334f8a77116c98071af415f01cec8dd98736a2a3ce4d9279b14c908d19800c932a85f8a0c7c0d9f9a6f05bcf0bd576bcea73bf0117eadd1c99dc437447226aa36d574331f2101738a6d5d05751e5ea55fff128a257675fd5f46708b590757fbfa369b447269e7c6e31c5ba533d8024c3d292393dec38594548c784c24c54de8532da5452649b83917c4aeda9a03207239e2b46d0c94d5470eb5ea2f278423fe9cfbd8c6a6e9f8a0aefeb32d6e62f0df2a1cb19563e2c959ce4c5831454fce83dd7d815bf50d8cd64b2b28753bbc859e1638b8bb94817c58c52e1693140455bbc3f4381f4171234cba6f04e9e9aa0c16395aaf82cb91ca65bea3ef74a07210b9b7008a061dc5ae20a1780ae77f9dbd95c4978655db9b216dd15ab9d2793972abfb547fd26117d9123a9e4f8d251e2ba02d8a2534edd76c15f6fe2ae3c383c55f074276b813b1e1714e51e124f53e647d5b18588bcd1fc1922fe51b4f8b4ced445c185dcf55141a33ed38a93a3ed520e2ed7b7fd7d02fdc602bc6dab4ccd6f288de5f4cacf8a27e07cbd3436dffd7364a609ec4af546d4a994e7315193c5b3d4a5f626b4ce3c1c248e79a9dff8761138911c9325223a21664cf2c430883fa259e4966487d2cbdc8d7617e14c00a3eb8ab61db274e42cad0846cc4639fbd794d93c70fbe16b2af3ce605d5baaa7c72d517722cc83364ee1f2d23891a8347192af526ad716e8e278c604a3f538265aee853e4c49e179d2e14e9284fd4152714a56d4f99bf75805aa3e9eb58681a6455155f04c9d5afb513dcab8081e92d4c1d9dca5bcaccd8c4afbc4b11beb6c9011bcb6a3c94ec23e7f5924cac8c51446a0cd2e15526082c7021fa3bedac7fc2d85d85b38b1ffad094026cb0a998b178fa09d5b9a615c6626b9ff93cf86f57f238510a33691b0afcb0fddddc59710ddf4d7a991dbc3100d816e65c1ffc76b3bd1575fe3999292404a90c5db90eddb4c993cb591e43195ded1e4343861b15b9aef6599a17bbdd56164a2e1237d4ebb206a4ecc67bc66ca5715597f8f147c43aee8f18191b526bebb58adf5c137704bf4e127d036a0d4f51b6b6f8eb3552583889d87cb0d00ea2cd22f85da5c466b520f7359098957080f7d749ef86abfdeccbf264b4b670d005e52ff5b4ea584cd0eef78de3e9381abfee5a8b42f2711b2500fb526304c438031cd93aabad2d470d16b580ac45a3544c4082a931a8bf63825c7e68d79559ecdf35853bf96d9505a3b8e40f2a7deecd1e30f01c1815f57686dd4be74638e9a34757ebd4a36867f79a29c9cb4400b8e08c6004e070c01ab213c6fe196d92c46980d2d4cb9cbfff0f36af5842ca4812f16fa402dd27545582aab9f488e364d84c7e705862e2f3e9fb88a686e8c953720d110aeec334d6fe9efb48597ff6557b8b6367b0bda3ee7090d566d8e640741e093ae8e095bd97a2e3061ee7b2847d38f51e6f306a71239bb9f241c9fc2e86565a489686339af537b402fd83225d9abd957b9947928a3f451870bd2339acf8d0baccc55232b418f705b9fb88233dcd2dc51f34bd7aa6cc7d8ebb562c9dcf195af367d9688c9ba7248c465d73f14bf4513004fedf2177fdbb184ffe9dd247e222d8f8599ea4c01d1cc1a1866dd16b00c8b497b593f35dc49e44a05b658435084d9a7cd4e715d1289e85ea7d518e5cbabdcd391cc0fbd68a9bfcb3717f926bbef09566fcf722b757f9198292d4bde1c732798549c517c0a2a92b65b6226553c1f8d4d9f55b5aaa6d4d8484f65c7d478908f53e00833d716c3068e3c991b1c3271d1a6575cb3ed5a4a20d86e7de362b55259190cac2d191c5cafe6444cafc3fcebb97d401aee72cffd23f9c148ecc68ab5eeaef08842f326b4e61e10cbe6ac747bfeff2e2aba7e8cb2a00ee84e21bca7333a60e44f9fc1b87c5dbef50f438be7522e8f28f1ce25dd28c6e9f08be8a593bbe046979f2f6e989350c5471844b951c9d9d2f1d95f31081e616de113a398bf39c89ced5c3e73a1a895cf7389b52e73af1d661e29f60c171091e581e24ff9c92eaefadd41547ea7ef3832ec6ce90daf4aeb57983d5eae9748f56ba0bc45f879de76fa5b50fd385b47bc68d184beb0f1d721fd71f0be608891d041076a8f4c8db68efbd980d050e7bbaf50b62d8ec051d6482f0549821710c1778c7147a8aaa1d78d9f14299b3bea28f60abf14e0b1388d51da989a9d0451cba96cf571b7a310f8263d9dae73c87babf97b1e2d868c72217d63b2d8a643070652fd6a7cab1f930d0ad7316bf0906be26ec0fe4baa6aa6114e98e96ec4f4e2fdb5372d1461ddde2a544192c4c44f622e84fde20ecd49714af8e6df6a74e3d29042f6ef4d5cb535e15c38e20c57ac984593f13e82ff8ae7a16e31b76364edbc225a96ea91929241deaa83a7a6906084cfcf447194054897355f10ba8c35d0a0e1370b4748e9672c3c4f9d2c839ca0bb834fa703926863f0aaaad308b187ad0ed4b2377cb2b56b741a52d0b8a7b2d51692d939a4fc3088abcb832a6fed63a753417022c181432d19273d7fb093736da2aa8486a8d31675f3411f0375293deb64df76a5a6219c87dbd433fc1dd0b13b79db747cf170be0fdd6c5d1e892bd58c7ebefc3a3dd174522537bcd67f6d6a3bd9e6cd2207d7a4a61edbe4d436b51f6cca7d94d5c68a9c9d6b75b936bb1344d3463391d70f536c7da5f54af2f2d0dea2613dbcd3d3d5405dc4a74fcffdd7c0da7a43f3ed245a2f08e2f18ac9192167727e4941cfcd40e024e0647276d2c26d93f732d7d01dcba88a020070c8c0ff8a0a70297ce39fc7d4d379a8467069d2e2a060afa05cc004962ae95fad34bbda65d2713d961674377f776d9caa2dc2b10e7db2f0357235846c297c2a6b2a8eb27766e6b851be2e9eff9411ffcf32eb501ab3e7aee2c36ae1f391b3640b6cbd73ff064755f7b614d024616b2e92a05d525a8eefdd1aa50bc6fed72caef14fe4ee719ef52c2e63058b59916407bc020b07c7642e86f33c29741f6850c6f6ed32fcce8b407e2f9a6170f8787649c1103e1e2e649dfc01050fcd9c17ee7636bfc4f453b35fcbcc4d4a7d065816f64b0943b45451b82cd7e1eb5b9dd5d6ec939d051626b90ae812710db1157667c664d0767de316f94e03a32891f8ca68fcafd9c2152a3008a4bc3b5fbbce7f999cf86aeba942fe9a2a75dc91cd1350103d314ae1871045c3900e2c40f1c2dbf510574ca69c87d8d189ca7d8fc1c0fe95cec30bb1b8d59396ae3d3356aa3148d06e37ab912dc560adb09965f751fdb9660d9d289cecd46be635e301140513d97bad21041e86c02e4a3d2fcc2a12dbb7123f27209ce3a6011579a42f1184a31bc78c6ddcd51bdcc3704d33ad13e8d53a93838ac1465254ffced63cb8db9046c206ec712d1ea3d5dac5b0a63a3706363290c7844e9dcfb8bc2ef95424318ad208ef4fa4dcea7ff87e23a82a99561e1d190233499fc8e4052c46826bb8b7cffc372096e89ee3b077e3a38db25a26aad2839387de50272b3331d26c329c59929d29d51b8cb97e4b35ac86cc997bba7cbfc7197570c5c6fb4825a2e39918f8a89cb61755d227dcdfdcf0e8356a51372b842eba951f9997d152950c907c7a5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62ef435275f4e6c32ded6c3041a48f5b3c33508982017fd4a80bb4769ba9546225bc205cb3cadac28855e3d54c0c1a775ad526be5544ef9f8812eb6493b7b7a095598c2b60ef75dac08eb6d00b054ced65691000d370bb66981a7d35700fdd6a8349e423e6cb524e3ba7544b185151e0c72b4c90b93e5fe7d04ece5ccdd40cf3c6e3991743375109ed70ec2605afd279c331d370817c8c56ef902a4cad7765188d51ad16d00bb4e34dfeac53f20562698a553a928617f88f3efe0c4a28a09e5451b3deea3b72c8701903f869123bd9abaa5887c5b3645bfa66939206e3f4d28b5c81c9cdfe203cc1d99e16691bb5433a89e6c09cad24cee54f0ea7f0685cf8515312598c3673f68fd2250e2fb12c427539d5e96646f32813e783393a60e662575ce73f8698522374b45318b0425e409c7c260c7f10b8d7106f7eda8fc5098f789a33aadb42bba00c4e9fcfb438caf9c755ee4263a523b27b709fe6ea620e7e994663a7891a17b061bbca27515203af616ba804feeb26d925286abc4954fc4b92bc4ebf289261083d62dabd45b5d8e8b6bbde3c4a521e10e2537f7d638dc59cecea958671b1880db1415586c83b6c6c5f8ec795af7a9e6a881b72ba030e3da98288c972795e8c64c1c45c33622743aeb3b5ebb580ba3e24e5e2bab5684e64a79a19ac047a818866df3a4469380c544822d8688b3ac63ce189e85afba26cb222e9e04050abd388d71a314c3d9841eff759458065ed58b89a2fafbf5d58b4d3dc976b76c57f2ef56406a3e1eede68b66960ed14177fdf649476c7be252ff8a9c6aa53420dd244bb59d52055def8353a2fe1b7b66eff409ff9658e212c9b64eec0a3790736af3ca95c6875133e459068005d60825ea127909fb32eac3f2e943a2ac06d842d42b66d15b2d3822aa9b7334d166bf9b4dd3a8c8c4bd5fee1875175d38b4c842cb834fdd4ed0a526f7c864a00b0221fa25cb2aa8823740b79391055f253a631f4f91ae958124abbc6ee0613e9f8235be074bdadba8ad68f9be32a4cc87c59ea9e8715aca7d4637b6adea1c1c5b3c5b66af709c605bef84186bae489e5b81845887afd6fab1a22993a52079e2a39eb83eced34ae774295e0d4dea06ff853fd040a80f1d1aa2fd70f2c7da711f2fc05428b92bfcd4dab040dd0c47508a6542ff6aaac1d662cdc6561326c7f59627bcf5da9956f660bc6673e578ca5aba05eecbfa7a5296d1d99c9af6473eca0508cbae4d144ea8aae51a37f5a9493e2773c5e67fad29a774d0f8005fb539c686d4be37b44c986c86e365d550e1fb022bea494ee09ae41f5622d7a49efeece0e9151a855ebd51ff0a43e351a8073f9a9dee714e3a9842930988ff29f6b9b6473191b38e8160cadd3db4e97fa7796abadb1978c410774ae90c2ba769dc209114ce2503649489106c04f0aa83e135b412810754b07be3e3bbcb2f23a1aecd96d1a31332d7cea14d41ef70ec109f70811e3c6b26d4a5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62e4f53062f41f40b4d0a638b953f2c2a560fe548b230eb9d2ccb21dbae4c09d54ae9952e4249ce5b242e9b008f10c287a37f3e592586546e3ea41f1c1d608ff14bb4e9d5f80e1f2188f416dc113c87d4806ed975d1b926b587502fe732b4e9746f4d0cd1f9df2d6498a3c7df157b374011c382f93288b4ab42a57992e3f82e5f2defa479a291967dfffa5c0e3a20e9a4dff373b8d12a189efbc03ba9beefa76610e40233d09043af82c7ba5b729092e3825bc8edb88c18e7d3c3098a01d1521213166e8d7626e483448bebd2c580c0c255ac158f30c205f805aa30a65b93ce54b337a3be6bcf13eb0cb99f15481e7a5c7688d6942385107db1d56291649333f3c8ccfdd476e447432f97cee62b9b522493094898c1f02a57692b194ba569dcdcdecb6bab6bd3e9b6aded38fd3f079a807d2bb8b41399a5289f51cb1f587bf35a11346f549719d34ce69f47b9b4c95077f88d9a8ec2e8f061d9095047a9b5d60d0fe52b62785a3fc4f08dfbcd1850bcde511d8550209f1a6ae2dffe8b7960e43b471b5491e6da29caa04fc239407c1704e310693dff28f878d21b2ac3fcfbfbf16e118ec7b300237d5946fd4c443b14298eb4b554b1360531a52cde83595d0427ca067c34521cffb6dd042f8ddb002b3cd7fcf2972d833f3cb6af24ff8c3829e428816f165606c41e8f686f8884e2fe453c6f87a069fc5df125225fda226a2e95227874b4c72a155383690542eb985dadd338c99a74c9cf7728b4958e8eea417cefcee22ad7f82bc1159a15efd7001929f74698fe2ba6255f0582e7158ae11cae1eb3bed899bca516714db68079a997a9bd470fd07b24b5cd4757369ad31465088d8efc2931a2bccb16f0c54e2e291d2d4ece1ece4eec785b2c08cafe21a55832fe7ca9c873a53917af29ad06bb3579ce0e481233116e0eb0b28744b7756fc453618dc47d43907cc8190e777420b6c093d78436b19c41b6a434f94a0c6ef5e968142fda70535396ebaffeee4ba7649f19ca432796c0ba33622db0286a9f462f99f0729511fa4d56a6d94aca4b5f3a9724818700965fd5ce6a235b1f1cc2b22a1170e89b2f7c07ec20d5f4930a6779258137436651493872c58690e8c35d3c0564fb362d55269aa9e81531e8091201985b9791bb4acc728e9daa6d39df4f4d0198653e6f72c98bc2ac416d47ac18b0f2d3028030f1453b53086312bd20e3cbb99296cbccd490528432f8e8a1dcade195f037c03cb62bc354f6f97acb795e317179791ce11cdaf312c966cc6dd605d100979c1c76ee7b2fcf100039986c5f9ee2d3be7cb2347e73467b1b92879f54cecdb7c7e39c6b21973e78e1a471b8f8713616f9abc15d6bc8ec167083eb472b28d259598bc114342ec90d6930415af723a04f63181b8cbc20d1ffdddd5f94e5fe11b35cd739d7fede4674334cef619bb4c35ba049a264a1d7a1796731b09889bee5672cb8d56466e294e1b39b31541bef9cc3f955f5a0601a92f3a6966cb90d668707ac20d8efb1880a901a8d3b396f5cd575dc15ab0e40923267dbbdc4dccf4c53e612d72e72a70b936dc520827a9388847db3729511fa4d56a6d94aca4b5f3a9724818700965fd5ce6a235b1f1cc2b22a11701bb2e29df14212dba8d65f4b27c467f8030126b3d503d5c36e2c75ff617b4ad729ee3c6ed9148e6baa369d493108f7263c34408de1b203a5344e2a7cd58bc0d86587ee1a6e85370416cd4937470296c0fe20775eaac68926cf8d807b3fc249f8af92fcc0265a0f98b5c5977eb3b246d7a825ab4cd8de2786cba0a7695c62e59c8e3761bf3e754dcdb5f55029de2739024c66dca82ef3602310c728a9b94d8277f22e3606180c046ba9247f93688967737bc531405ec8c0f653f4703e57f31c5d133a04b3515cd18a473618ce3e1c01616731070a2e7755ef4a33a62b5a991e02b9246a066c508ed21df9cea46c8cec2f7aea8552531da85edf79c62fb27a63c205bb44b6c645dbd1c9a26a3ff1c9b6a1d3615735fbc0d2f38ae8d57ed17adf22959f3e16029bd44e4ee0939d56ee617468a829a424fec5a52f64d9f3ef9eae6a2c3c1aaf35cfade70c7ee2f8a656c9b682c068ac95405891dc58638bfd1a10474e9ed8ce27d762bcda95e922e56013a04f21d294ddc0a5b720847782b906f7175bc51d0ea5b6830bb9aaa7727124d14dce62bfa3277dfa3320a55de8308bcac97d350a958f7da6d7edb1c242bdabad03717dcb128eee027fb16097fd700b26d558d6cfcd85617f1e1a53753dc22ef780cebecee3de68956e321fba4792778bbfafae60d4157eb82e6d8a7bd74eec9b879c882444b9a5b29d5de5db8b165f2d021322d541b0c2961b9cfce7581ac4560c715144aba3a62ead62b5843f38d63fd1f80de095567738725820170798cd1d075000154bc813ae683e56d4fea7845e8af74c91e2a7ff3d7bb585e7e57337a5b1c4c831b3ab6d1ae145473453beb15a4e7be2fd821a65107bb1226a679a80897d8548512207bd84e3d721e1266ec70537fcbe8a5d6f92c6c11bea0cdef828f9e362ce033d8a98b5007784bb99fbc49e577b05ba80ed9e4751517eca42b54fea51265e2dabee188ed3fb5cb6bf41f1348731bfd6c719df3ec0423007190f9918505ca67ebc081833edfc2100a99fe1d548b41ecadaf6d8d96a2af186dce60164a001bc27d6cce9240e78cd6df66b7690d282882f813f2aa661f50f9d3b497e6875488740fff39acf113751a0483a5030750f2f6024ebcf155d73d0aabf87ce2d76fb378f1caf6c59f7ad044569c987c5dcaf207022d5f78ceffd21ed3caef5c8910f0737d3c2377ad417d3e1f6c46df96db079513acc9ac66ee76d9940c07f1012275664b005cd6c987aebd9f6de1e11c527f274627b1048889bb61ffe6b5360d97123bcda35e89d11e99ab032f78f48054c71debe7b1c05f72cb1566445a7d0fab4989fe7fc53e8476a5cd671fed3536338b8531a10fe133a92b5a3f3f6e4a7772529cd5b9e1c4394efb6f755b6eb799f28f67d51773c81610b6fb407778b2d23f301f54999588af87868a580f180d8c09f1a9e738ac4c71d4ddd37533f74218a7809292358e84bae3dab36d9f52780ffb3be25a28c1c5606937bb7dfa999640e7e270ffac1695a649be457a6c9ae890901f0e1d78f46b4a8ea32b80eeafdca4fc51dfa992ba08b3f4a80299e3b3cc883729511fa4d56a6d94aca4b5f3a9724818700965fd5ce6a235b1f1cc2b22a117055037c4c230d4cabcbe8f8f962bf1067f590529945a3579114cea55300e79ef1503e63bb7d5efe4653d54e4462a48283ab8d891c91976e910678a10916a78bdfaff72a82aeac25d46e8c51faa0a778b1ffe0483b4cb17341ab10a7fde29b8c8c83c76079c15bef6f19029e9db2a8a574ec351b1b2b106006177e95e7d4d1a7468b8117cdab2a7edc95c39916adecd9fce1f6b867e9cb260a227460ceb17a41454925d840acc6b257562382af0644faeb43de21a4136d51b66465aa9888ea9f8cf44a85ced34ec972654cedde30b64d7146f288e3b81f6478dca9e928c31fba38436fb767a41b55847750ddf7e23516d8e4a60ac04799139ae4abc5d1ff42a590f9d71e1145a9adb3167531b38addd797a3cabc62eeb4b0f719f6c2d7c165a10815ab42e4e5ad70e315cb1f9b1f5f489f9e9d2c75fa2a5724c01715e7dc19aea8979d1c5c7c5f79561c0ffb457cbdcca932bb5ca4e63ebfd00342aabc26352c95b90382ea89aa594422d2010c2e82a04bf55f047a7bbab1f7217ca1bf0ea953beee5c980146d08224c62d961a504b1069116dbd964b8827d2d0cfef840974578f0f0b478dd42e77845799e450280ebf3e29cb0b502836b311c0c8394ab2b8ca5402e8a95ce1dfe096fa85a5c1b2dccd92b08f817291c427616256a4dc25d36baecabe42c17ad82df2b6d89e1656cc89b5c080c5ed75a243acbac7573dc3c051b5dc673d66c668833527be9dd19344f63229d462a6f888890445770b82e10d6a8481b6afbeeffd28a1afbffb484d926c3a58ba686047bbed7f985da7ea986b78275bf6b4aa7f95341769cad1401cf3640baa28fe8a58bfc267c0ba4f29da55123380cdbfc7c2b141c7d306186d33b938ccca3f5d566e2097a8ca875d1aa3f887633c45796e27594afe98172e238fa83136d61eb8d5bacd87fb49cfe944f1a2f0e2a1bde60a40af51002b6ec9a0dd9f5450534fb6ffcdc9d6898446e98ae52d9d079a288c085c97ca2a44134e75db8d567b1a61043945830b22a21ab0741e235c11f3d8c7f25e01ab2d63d956d1c9d67c9738fcc95db9def3ada8ae3c73443a18af77dfd362793ccff25e412fe82029813614f14714f48550a2f5d5335e464af87afc8c9b1b293f44e4a43ece9b14b2a507916d3cd34f26e7f434885ff5e3afcbc43976b5537a22f884f6071719b88ffdc7237dcd6fb67e1a2ce49077c68a92f64168b3df97bd97bca8663027c87c2162f231a1f13366286c6e8238e0f46310f3c1729511fa4d56a6d94aca4b5f3a9724818700965fd5ce6a235b1f1cc2b22a117045de11d8cd0253d8689307ef373644fd12f7b72ac3df3dc137b9d98eebe3b27013be1c2b6c4e39816eed68770185a8b4d3913de53c238cf57b307e7f1555d1c4a318808deca554af58d89a1e698dfd4cd2c500df2e82a72ee6fb54b958339cfeea60d1cdfb08719825ca8230d5ab2089ce5b3ab8a2f9cb32d494897ae99cdf39e9ead7814ba14d17c6de3df1c22821479ee19f6d48061b239929e1b80f1e1eb841529de8a0f3bc2a190e65bbf600592930fbdb3aa427d3f82a2e10177d424b9f99624a5d3c0ce583f809e57bd923f583e0be61c6635a3a52fed8cf605dadc4b480591d06c2b083bbef7627428801eed91b238e16b61f806a4e6f3d0208f2e631371715c3d9d00fc727d638412d1f10835c81d177a86d838e32b261802223d06227d0bd28edae39288aa475ec07d4f42d64d64b1463fc14e89adaafe93ec3959eb833146fd43b6ca870e244a003b40039d29c153c78c8d9b5c84e51e2aa8d95f74b260a5cd9f6988ae7173d536292407ca78270d4bd4753a7d2e6c7f7f1aa31cf8810e06185f3f18637e877cc3ac0bcb530ffacb2e5c12b741c054ffa96d4a446269b798c38b1dc89bd3b24da837a764727405ac30e7d70d7efe4b31321aca736a5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62ec9f98645eec4e7f6f918ba60cd94196828142e9acf2cbdf9ea73453553e56c99729511fa4d56a6d94aca4b5f3a9724818700965fd5ce6a235b1f1cc2b22a117041f75cefd756fbb79c447e7d3033e8f688242e0b7a8ef074534066e5b480434dd601f8c2d50485a04f7113001c564b821cfaaceb112842a01fbb2dd5944ead2b57bcaf8cf7be8cc007d01f9300fcbb3967c8d268ecfbf5f9ae06daec092185a67c66714e2fb5467b7bd6c97da777c7afa12e9a721efbfa963e431fb32d9a1f14a98eb87c6bcc7503119dd705bf6c52080229b4e2a025f87675cd290beda2b7702265e242959ace39dc7f657cb9b8b8949ee01fcb150441c0af509da8692267fcd95dfe07dffb8664e470185bf43033fa5eb5b9d313dded82be20a4ddece8c420cb2b52a280048b58fb796d3f16042d6cd7b3bdc558998c48d506c8a91ca1f18b1eb7be2ba5eee8879ec6bf9d2bf4386c0a70deebf03500c6f99c54f0804cd6418c9464c9348766db666c1f9a05881f9cc19b3bea2c3b5efa44794f4147109d7c2c27f1259c8b865c492bf483cf9d1aff6946e2954899a55853acdb1a08f5ad23a5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62e404f82a7b8e8db5e2b55f9180747509010d6df035570fac7f54318afaf39d3fa35b2533ddbb21ad4e456004e3196f8b89bf9366bc74469b68731c917d3e56829cd29d915a806255bd0e584ab2999e75fc63a5a71b31e0f00824e79eff4befd42a0bee1dcf5fd50fdf460412c755dd4e6c98f8fb95bcb32e437adcf9303c57bc73074a66e26b550297824db13a1a6e590fc5e1172c2936e1f65794306ffbe52c08f1da3e7e93b58d083d6807469febb6365ea1a71352b47ba6b1005943e680ed96c0afd39380b5918ccc3bf68a537bf4b11294e030d636708a8f4bd27112b7152a6f0ef7c7a5f812520295fdb34a0b6b34ba9059c3ffde9b5f702e994916ddcbe5a54e17652619bf8923dd8399d9756eaf608240957d1b6c498db8a7a9f00d9a762b4ca103007729e08871d1947cd8d301d17ff95310a3e37074a25c4f7de47750f99af737e1f4809e163e43c736e39b7391261f92dfe07635ac21c6390287da9f355c23e40e2a17006f031edf06fc0e3f096fc323368a3207f010f86d6c15f50d01ff545fcbbb9e2f9fe189e15eb86ee8814c7dc245e850a192a67e2fb30d93251a67893a6a604644eaebc33f0ef3572e2967afdb196be635df715297688ab95248085f26eec1c1e49c7602da26a9801f93bcc19d5addf7f59852f0ecd7199dd2dd23f40233669cea465aa3d6d1f6c794a6168823f1d2c6324101cbccc05e74d48860234c584c29e1364d683159a5c4c4d91cfa61846c99cc392977a1e10303b7dde7e78b9bb6120c53275ac522f402d2b1f6ca149214c529c14ad01a53d787fe71b925d96e7ba00592480d2e002f8bd07a5650b356f76df76132f4daf3dfb941f80ef30f386dd8bd26baf564ef519144cf757c911251b10e31abb20efb6df25873bf9cf28a94904ac6800c3238b8e29f5342ae5505ad50963cada08a754c92425790180c09bcbcde8691b21f8792917c691077cc605f31bbfcf3627a96ab08f3f74965862969b75de9ed6508a37cdf713a1cecd77c6263304010629ab1731a2577e138fef8ff41a904ec072c2c9720730eff31a805d564874e1a304bf996f1036eff7be6d4c8bc3ae63863d33414c6fe1e6c76c3c70ce74302231a51b25f1d619d038815eed4bfcf029c9f7e8e843cbd12ccbe318cfcc4e2d695780628b51c247520a54af419b9b50ed19bbc838e7b43deed587f1fdf858827fe8433e363c971b41e2876205f69e26818c528851b770c6bfe288637b898855bdb0ef48dd389ddc1842884f32ffca2db21547a7f7d0fe8c4dac5363c955fc0803a89eacd55e25c9a39af1556031c443c5c39a1ab5f786a11db0e09e1cc9fb4de47b1afd572fbfb90712c8eeab5ead7482071a3399968c2a822d0766ec9c9b9b86da4ad52944e2a291d62ae9eafcbb23295972100fb85cad0753e34349d34969b691f48c343ddbd3293e2877bb56f2d9502aeae682246003d508079bfd073e42c56699e68491064904a628b3f1ae961a520d2d29b7e3faea66e013c2a43b79257664d3243d601da77f63dfc5094bd3acf0cab5cfba161b8d4fa62b3e00de01ab7f725801b428eb66c64da996a1b6a678d0f4e2514cb8a29b2655b5dd4d5576c05086b64e9d95837d905f7be964bf96ecb4de8c0d533f359d37731bbaa06415b4ce8959bcded51a621a7af5650afa96ab2e302a2d0fd96b5a51bdd5544ce3e5760db8be6cfe72feee502112064fce470df76d1461cf35ff04c9ebd9f85ef2130bfc5a1d529721768e0c94b531b9c22873ab8cc6cbe879b929cae753277b25b0a55d650e735ea7405c685d848eac07834fe693eb9537df199d0374150c351d28c96228fdb0dda1ff31c1c2b3845c302bedbcb272184c61803c8caf46979c41075be45fe1776da732f10e02db6e412e789100b55d83b6de4da98c26325736ad7846297f4c4f8b790aeca23b80bdc644634993f7ba3e028da4f2171b84a08e8a80f6f1a14f9b841f9402728431f07f45f069ab429797f8754fbbca05d797037143358c7c24753cb893cfcb7f2e62ea375c19b987a95f429bb61bafbadf62e4e3d5d716d8504de744945be3c6ee9531f43c21da7d7f75d43e611549b972dccdded9c313701d7a3c8af6f403ebc615dad02f6c67ba7a0997aabad6470a5b34e58fe3233c7064f13906d3333170a7674c19349fbd9c07001abc0df53f336d846a9ad6bf2a378b38e129482a0cc85c83a9b17d2a6ac3d2f893125211435d0cbd1ba7a64add003e655eca2b4c975b6c2f64ab0348b0ade7b8d86a89743afd6707e71691ded7e006e552b9a7623440e802facc976790b3cbd6a71b3e5d28b2198f385815f45e056b42db38c89eec75559395291dad3f9094f24d7bdc6a124a5efc3788c8eba05748f188cd0bf208c6a4527fe546d7e7b1a8119f6aaddfb9f004e1353423fcd700a60f02166e7890eeaed92f36b22cc8983470e18f744643058aa3a5e378a91ec733653496d715a2787b70b79e2a65a0d1eb30c5c5279d80faab32ba20c5476e1f3308afdf97361c34fc9605cd0353a7b9a1df17d6bb4e03e93b87eb049904ee92dc0fb1159ea5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62ee80b1df93e670d2cca746ef43da28eaf9e5768c756349738c0d381ea8eec9edd8da28e5b2959471c503819d16f83b2201646cf717579e5312d26859fa0f1373ca5a4b8761c840a4d5660042f16d795de70850ff19f2d24c5f956007291bfb62erootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootdpdk-18.11.9-lp151.3.8.1.src.rpmdpdk-any-examplesdpdk-examplesdpdk-examples(x86-64)     /bin/bashld-linux-x86-64.so.2()(64bit)ld-linux-x86-64.so.2(GLIBC_2.3)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.10)(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.2)(64bit)libc.so.6(GLIBC_2.7)(64bit)libc.so.6(GLIBC_2.9)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2.5)(64bit)libpthread.so.0(GLIBC_2.3.4)(64bit)librt.so.1()(64bit)librt.so.1(GLIBC_2.2.5)(64bit)librte_acl.so.18.11()(64bit)librte_acl.so.18.11(DPDK_2.0)(64bit)librte_bbdev.so.18.11()(64bit)librte_bbdev.so.18.11(EXPERIMENTAL)(64bit)librte_cfgfile.so.18.11()(64bit)librte_cfgfile.so.18.11(DPDK_2.0)(64bit)librte_cmdline.so.18.11()(64bit)librte_cmdline.so.18.11(DPDK_2.0)(64bit)librte_cryptodev.so.18.11()(64bit)librte_cryptodev.so.18.11(DPDK_16.04)(64bit)librte_cryptodev.so.18.11(DPDK_17.02)(64bit)librte_cryptodev.so.18.11(DPDK_17.05)(64bit)librte_cryptodev.so.18.11(DPDK_17.08)(64bit)librte_cryptodev.so.18.11(DPDK_17.11)(64bit)librte_cryptodev.so.18.11(DPDK_18.05)(64bit)librte_distributor.so.18.11()(64bit)librte_distributor.so.18.11(DPDK_17.05)(64bit)librte_eal.so.18.11()(64bit)librte_eal.so.18.11(DPDK_16.07)(64bit)librte_eal.so.18.11(DPDK_17.08)(64bit)librte_eal.so.18.11(DPDK_17.11)(64bit)librte_eal.so.18.11(DPDK_18.05)(64bit)librte_eal.so.18.11(DPDK_18.11)(64bit)librte_eal.so.18.11(DPDK_2.0)(64bit)librte_eal.so.18.11(DPDK_2.1)(64bit)librte_eal.so.18.11(DPDK_2.2)(64bit)librte_eal.so.18.11(EXPERIMENTAL)(64bit)librte_ethdev.so.18.11()(64bit)librte_ethdev.so.18.11(DPDK_16.04)(64bit)librte_ethdev.so.18.11(DPDK_16.07)(64bit)librte_ethdev.so.18.11(DPDK_17.08)(64bit)librte_ethdev.so.18.11(DPDK_17.11)(64bit)librte_ethdev.so.18.11(DPDK_18.02)(64bit)librte_ethdev.so.18.11(DPDK_18.05)(64bit)librte_ethdev.so.18.11(DPDK_18.08)(64bit)librte_ethdev.so.18.11(DPDK_2.2)(64bit)librte_eventdev.so.18.11()(64bit)librte_eventdev.so.18.11(DPDK_17.05)(64bit)librte_eventdev.so.18.11(DPDK_17.11)(64bit)librte_eventdev.so.18.11(EXPERIMENTAL)(64bit)librte_flow_classify.so.18.11()(64bit)librte_flow_classify.so.18.11(EXPERIMENTAL)(64bit)librte_hash.so.18.11()(64bit)librte_hash.so.18.11(DPDK_2.0)(64bit)librte_hash.so.18.11(DPDK_2.1)(64bit)librte_jobstats.so.18.11()(64bit)librte_jobstats.so.18.11(DPDK_16.04)(64bit)librte_jobstats.so.18.11(DPDK_2.0)(64bit)librte_kni.so.18.11()(64bit)librte_kni.so.18.11(DPDK_2.0)(64bit)librte_kni.so.18.11(EXPERIMENTAL)(64bit)librte_lpm.so.18.11()(64bit)librte_lpm.so.18.11(DPDK_16.04)(64bit)librte_lpm.so.18.11(DPDK_17.05)(64bit)librte_lpm.so.18.11(DPDK_2.0)(64bit)librte_mbuf.so.18.11()(64bit)librte_mbuf.so.18.11(DPDK_2.1)(64bit)librte_mempool.so.18.11()(64bit)librte_mempool.so.18.11(DPDK_16.07)(64bit)librte_mempool.so.18.11(DPDK_2.0)(64bit)librte_meter.so.18.11()(64bit)librte_meter.so.18.11(DPDK_18.08)(64bit)librte_meter.so.18.11(DPDK_2.0)(64bit)librte_pci.so.18.11()(64bit)librte_pci.so.18.11(DPDK_17.11)(64bit)librte_pipeline.so.18.11()(64bit)librte_pipeline.so.18.11(DPDK_2.0)(64bit)librte_pipeline.so.18.11(DPDK_2.1)(64bit)librte_pipeline.so.18.11(DPDK_2.2)(64bit)librte_pipeline.so.18.11(EXPERIMENTAL)(64bit)librte_pmd_bnxt.so.18.11()(64bit)librte_pmd_bnxt.so.18.11(DPDK_17.08)(64bit)librte_pmd_bond.so.18.11()(64bit)librte_pmd_bond.so.18.11(DPDK_2.0)(64bit)librte_pmd_crypto_scheduler.so.18.11()(64bit)librte_pmd_crypto_scheduler.so.18.11(DPDK_17.05)(64bit)librte_pmd_i40e.so.18.11()(64bit)librte_pmd_i40e.so.18.11(DPDK_17.02)(64bit)librte_pmd_i40e.so.18.11(DPDK_17.11)(64bit)librte_pmd_ixgbe.so.18.11()(64bit)librte_pmd_ixgbe.so.18.11(DPDK_16.11)(64bit)librte_port.so.18.11()(64bit)librte_port.so.18.11(DPDK_16.07)(64bit)librte_port.so.18.11(DPDK_16.11)(64bit)librte_port.so.18.11(DPDK_18.11)(64bit)librte_port.so.18.11(DPDK_2.0)(64bit)librte_port.so.18.11(DPDK_2.1)(64bit)librte_power.so.18.11()(64bit)librte_power.so.18.11(DPDK_17.11)(64bit)librte_power.so.18.11(DPDK_18.08)(64bit)librte_power.so.18.11(DPDK_2.0)(64bit)librte_power.so.18.11(EXPERIMENTAL)(64bit)librte_reorder.so.18.11()(64bit)librte_reorder.so.18.11(DPDK_2.0)(64bit)librte_ring.so.18.11()(64bit)librte_ring.so.18.11(DPDK_2.0)(64bit)librte_ring.so.18.11(DPDK_2.2)(64bit)librte_sched.so.18.11()(64bit)librte_sched.so.18.11(DPDK_2.0)(64bit)librte_sched.so.18.11(DPDK_2.1)(64bit)librte_security.so.18.11()(64bit)librte_security.so.18.11(DPDK_18.11)(64bit)librte_security.so.18.11(EXPERIMENTAL)(64bit)librte_table.so.18.11()(64bit)librte_table.so.18.11(DPDK_17.11)(64bit)librte_timer.so.18.11()(64bit)librte_timer.so.18.11(DPDK_2.0)(64bit)librte_vhost.so.18.11()(64bit)librte_vhost.so.18.11(DPDK_16.07)(64bit)librte_vhost.so.18.11(DPDK_17.05)(64bit)librte_vhost.so.18.11(DPDK_18.02)(64bit)librte_vhost.so.18.11(DPDK_2.0)(64bit)librte_vhost.so.18.11(DPDK_2.1)(64bit)librte_vhost.so.18.11(EXPERIMENTAL)(64bit)libvirt.so.0()(64bit)libvirt.so.0(LIBVIRT_0.0.3)(64bit)libvirt.so.0(LIBVIRT_0.1.0)(64bit)libvirt.so.0(LIBVIRT_0.1.4)(64bit)libvirt.so.0(LIBVIRT_0.7.3)(64bit)libvirt.so.0(LIBVIRT_0.8.5)(64bit)libvirt.so.0(LIBVIRT_0.9.13)(64bit)libvirt.so.0(LIBVIRT_0.9.3)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0.4-14.0-15.2-1otherproviders(dpdk-any-examples)4.14.1_h^^.\mA@\I[["@[;e@Z@Zz@ZZ@ZZZH@Z\ZTZ@X6@WJaime Caamaño Ruiz Jaime Caamaño Ruiz Marco Varlese ndas@suse.deMarco Varlese marco.varlese@suse.comndas@suse.demsuchanek@suse.comndas@suse.dendas@suse.dendas@suse.dendas@suse.demarco.varlese@suse.demarco.varlese@suse.dendas@suse.demarco.varlese@suse.demarco.varlese@suse.demarco.varlese@suse.demchandras@suse.dendas@suse.demarco.varlese@suse.commarco.varlese@suse.comndas@suse.dendas@suse.demchandras@suse.dendas@suse.dendas@suse.dendas@suse.dendas@suse.dendas@suse.dendas@suse.dendas@suse.dendas@suse.dendas@suse.dendas@suse.dendas@suse.dendas@suse.demarco.varlese@suse.commarco.varlese@suse.commvarlese@suse.commchandras@suse.demchandras@suse.demchandras@suse.dendas@suse.dendas@suse.dendas@suse.demchandras@suse.dendas@suse.dendas@suse.demchandras@suse.dendas@suse.demchandras@suse.dendas@suse.demchandras@suse.dendas@suse.demchandras@suse.demchandras@suse.dendas@suse.denirmoy.das@suse.com- Update to 18.11.9. For a list of fixes check: * https://doc.dpdk.org/guides-18.11/rel_notes/release_18_11.html#fixes - Add patches to fix vulnerability where malicious guest can harm the host using vhost crypto, this includes executing code in host (VM Escape), reading host application memory space to guest and causing partially denial of service in the host (CVE-2020-14374,CVE-2020-14375,CVE-2020-14376, CVE-2020-14377,CVE-2020-14378bsc#1176590): * 0001-vhost-crypto-fix-pool-allocation.patch * 0002-vhost-crypto-fix-incorrect-descriptor-deduction.patch * 0003-vhost-crypto-fix-missed-request-check-for-copy-mode.patch * 0004-vhost-crypto-fix-incorrect-write-back-source.patch * 0005-vhost-crypto-fix-data-length-check.patch * 0006-vhost-crypto-fix-possible-TOCTOU-attack.patch - Removed patches that no longer apply to the code base: * 0001-vhost-fix-possible-denial-of-service-on-SET_VRING_NU.patch * 0003-vhost-crypto-validate-keys-lengths.patch * 0001-vhost-check-log-mmap-offset-and-size-overflow.patch * 0002-vhost-fix-possible-denial-of-service-by-leaking-FDs.patch * 0002-vhost-fix-vring-index-check.patch- Add patches to fix vulnerability where malicious guest/container can cause resource leak resulting a Denial-of-Service, or memory corruption and crash, or information leak in vhost-user backend application (bsc#1171477, CVE-2020-10722, CVE-2020-10723, CVE-2020-10724, CVE-2020-10725, CVE-2020-10726). * 0001-vhost-check-log-mmap-offset-and-size-overflow.patch * 0002-vhost-fix-vring-index-check.patch * 0003-vhost-crypto-validate-keys-lengths.patch - Change constraint to ssse3 to fix build issues on x86_64 and i586- Add version to the PMD driver directory to avoid loading previous version drivers (bsc#1157179). - Update to 18.11.3 (bsc#1156146). For a list of fixes check: * https://doc.dpdk.org/guides-18.11/rel_notes/release_18_11.html#fixes - Add patches to fix vulnerability where malicious container can trigger a denial of service (CVE-2019-14818, bsc#1156146) * 0001-vhost-fix-possible-denial-of-service-on-SET_VRING_NU.patch * 0002-vhost-fix-possible-denial-of-service-by-leaking-FDs.patch - Changed to multibuild (bsc#1151455).- Added 0002-fix-cpu-compatibility.patch to address issue with older CPUs (bsc#1125961)- Update to 18.11; some of the changes are(fate#325916, fate#325951 fate#326025, fate#326992): * Added support for using externally allocated memory in DPDK. * Added check for ensuring allocated memory is addressable by devices. * Updated the C11 memory model version of the ring library. * Added NXP CAAM JR PMD. * Added support for GEN3 devices to Intel QAT driver. * Added Distributed Software Eventdev PMD. * Updated KNI kernel module, rte_kni library, and KNI sample application. * Add a new sample application for vDPA. * Updated mlx5 driver. * * Improved security of PMD to prevent the NIC from getting stuck when the application misbehaves. * * Reworked flow engine to supported e-switch flow rules (transfer attribute). * * Added support for header re-write(L2-L4), VXLAN encap/decap, count, match on TCP flags and multiple flow groups with e-switch flow rules. * * Added support for match on metadata, VXLAN and MPLS encap/decap with flow rules. * * Added support for RTE_ETH_DEV_CLOSE_REMOVE flag to provide better support for representors. * * Added support for meson build. * * Fixed build issue with PPC. * * Added support for BlueField VF. * * Added support for externally allocated static memory for DMA. all the changes can be viwed in http://doc.dpdk.org/guides/rel_notes/release_18_11.html [- 0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch, - - 0002-fix-cpu-compatibility.patch]- Fixed a problem with ABI compatibility; API/ABI compatibility is guaranteed by DPDK upstream community across subsequent bug-fix releases. However, the .spec file broke it by defining the wrong version which included also the bug-fix release number. - Fixed a naming issue with library: did not reflect soname- Update to 17.11.4 stable release. Some of the fixes include: * app/testpmd: fix buffer leak in TM command, fix DCB config, fix VLAN TCI mask set error for FDIR * bus/dpaa: fix buffer offset setting in FMAN, fix build, fix phandle support for Linux 4.16 * doc: fix bonding command in testpmd, update qede management firmware guide * eal: fix bitmap documentation, fix return codes on thread naming failure, fix invalid syntax in interrupts, fix uninitialized value * eventdev: add event buffer flush in Rx adapter, fix internal port logic in Rx adapter, fix missing update to Rx adaper WRR position, fix port in Rx adapter internal function, fix Rx SW adapter stop * hash: fix a multi-writer race condition, fix doxygen of return values, fix key slot size accuracy, fix multiwriter lock memory allocation * kni:fix build with gcc 8.1, fix crash with null name * vhost: fix missing increment of log cache count, flush IOTLB cache on new mem table handling, improve dirty pages logging performance, release locks on RARP packet failure, retranslate vring addr when memory table changes * PMD drivers: various fixes fro bnxt, dpaa2, mlx5 - Fixed a syntax error affecting csh environment configuration(bsc#1102310)- do proper cpu compatibility test(bsc#1099474) [+ 0002-fix-cpu-compatibility.patch] - change %doc to %license- workaround kernelrelease error- Sync dpdk for SLE15 with SLE12-SP4(fate#324872)- use gcc-7 to remove EXTRA_CFLAGS hack that was required for gcc-6 in the previous change(bsc#1090668)- Remove fstack-clash-protection from EXTRA_CFLAGS as gcc-6 cant recognize it(bsc#1090668)- Update to 17.11.2 restrict untrusted guest to misuse virtio to corrupt host application(ovs-dpdk) memory which can lead all VM to lose connectivity(CVE-2018-1059,bsc#1089638). Changes: * Add deprecation notice for rte_vhost_gpa_to_vva() * Patch vhost-net and vhost-scsi examples * Fixes checkpatch warnings * Take VIRTIO_RING_F_EVENT_IDX into account when ring size (Tiwei) * Fix next chuncks translation access rights in Rx paths (Tiwei) * vhost: fix indirect descriptors table translation size * vhost: check all range is mapped when translating GPAs * vhost: introduce safe API for GPA translation * vhost: ensure all range is mapped when translating QVAs * vhost: add support for non-contiguous indirect descs tables * vhost: handle virtually non-contiguous buffers in Tx * vhost: handle virtually non-contiguous buffers in Rx * vhost: handle virtually non-contiguous buffers in Rx-mrg * examples/vhost: move to safe GPA translation API * examples/vhost_scsi: move to safe GPA translation API * vhost/crypto: move to safe GPA translation API * vhost: deprecate unsafe GPA translation API- The vm_power example does not work for ppc64le since it uses the IXGBE PMD driver which is not available for that platform(bsc#1082154): * Disable CONFIG_RTE_LIBRTE_POWER for the sample application; * Disable CONFIG_RTE_LIBRTE_IXGBE_PMD for the actual PMD driver;- Upgraded to latest stable release 17.11.1 (LTS): some of the fixes include: * location changes of the GPL and LGPL licenses; * net/mlx4: - fix drop flow resources leak * net/bnxt: - double increment of idx during Tx ring alloc - group info usage - check for ether type - size of Tx ring in HW - number of pools for RSS - return code in MAC address set - link speed setting with autoneg off * net/nfp: - MTU settings - jumbo settings - CRC strip check behaviour * net/sfc: - multicast address list copy memory leak - DMA memory leak after kvarg processing failure - fix label name to be consistent * net/i40e: - VLAN offload setting issue - FDIR input set conflict - FDIR rule confiliction issue - setting MAC address of VF - flow director Rx resource defect - warn when writing global registers - multiple driver support - interrupt conflict with multi-driver - Rx interrupt - check multi-driver option parsing - flow director filter * net/qede: - enable LRO over tunnels - reject config with no Rx queue - check tunnel L3 header - tunnel header size in Tx BD configuration - VF LRO tunnel configuration * net/mlx5: - Tx checksum offloads - un-supported RSS hash fields use - device operation type - pedantic compilation - fix pedantic compilation - flow item validation - flow RSS configuration - UAR remapping on non configured queues - secondary process verification - port stop by verify flows are still present - flow priority on queue action- Enable(disabled by default) MLX4 and MLX5 pmd(fate#322609)- Upgraded to latest major 17.11(fate#322609); some of the fixes include: * Extended port_id range from uint8_t to uint16_t * Added a new driver for Marvell Armada 7k/8k devices * Updated mlx4 driver * Updated mlx5 driver * Added SoftNIC PMD * Added support for NXP DPAA Devices * Updated support for Cavium OCTEONTX Device * Added PF support to the Netronome NFP PMD * Updated bnxt PMD * Added bus agnostic functions to cryptodev for PMD initialization * Updated QAT crypto PMD * Updated the AESNI MB PMD * Updated the OpenSSL PMD * Added NXP DPAA SEC crypto PMD * Add new benchmarking mode to dpdk-test-crypto-perf application * Added IOMMU support to libvhost-user * Added the Generic Segmentation Offload Library * Added the Flow Classification Library - Removed 0002-kni-fix-build-on-SLE12-SP3.patch since patch merged upstream and available in 17.11- Added missing supported broadcom chipset family Broadcom NetXtreme II BCM57810- Upgraded to latest stable 17.08.1; some of the fixes include: * net/qede: disable per-VF Tx switching feature * revert "net/virtio: flush Rx queues on start" * various fixes for mlx5 PMD drivers * various fixes for bnxt PMD drivers * various fixes for i40e PMD drivers * various fixes for crypto PMD drivers * testpmd: fix for non-consecutive ports * ethdev: fix ABI version- Add missing libelf-devel dependency- Updated to 17.08(bsc#1050250, bsc#1046598, fate#322913, fate#322608) Some of the new features are listed below: * Increase minimum x86 ISA version to SSE4.2 * Added Fail-Safe PMD * Added support for generic flow API (rte_flow) on igb NICs * Added support for generic flow API (rte_flow) on enic * Added support for Chelsio T6 family of adapters * Added latency and performance improvements for cxgbe * Updated mlx5 driver * Added NXP DPAA2 Eventdev PMD * Added dpdk-test-eventdev test application * from 17.05: * Added mbuf raw free API * Added free Tx mbuf on demand API * Added VFIO hotplug support * Added PowerPC support for i40e and its vector PMD * Added VF max bandwidth setting in i40e * Added LiquidIO network PMD * Added support for NXP DPAA2 Network PMD * Added support for NXP DPAA2 - FSLMC bus * Added support for the Wind River Systems AVP PMD * Added vmxnet3 version 3 support * Added MTU feature support to Virtio and Vhost * Added event driven programming model library (rte_eventdev) * Added Software Eventdev PMD * Added Cavium OCTEONTX Eventdev PMD * Added NXP DPAA2 SEC crypto PMD * from 17.02: * Added generic EAL API for I/O device memory read/write operations * Added VF Daemon (VFD) for i40e. - EXPERIMENTAL * Added generic flow API (rte_flow) * Added APIs for MACsec offload support to the ixgbe PMD * Added Solarflare libefx-based network PMD. * Added support for Mellanox ConnectX-5 adapters (mlx5) * Added ARMv8 crypto PMD * Added crypto performance test application * more details can be found in http://dpdk.org/doc/guides/rel_notes/release_17_08.html http://dpdk.org/doc/guides/rel_notes/release_17_05.html http://dpdk.org/doc/guides/rel_notes/release_17_02.html [-0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch - 0003-kni-define-HAVE_TRANS_START_HELPER-for-SLES12SP3.patch - 0004-net-thunderx-sync-mailbox-definitions-with-Linux-PF-.patch - 0005-kni-fix-build-with-gcc-7.1.patch - 0006-kni-fix-ethtool-build-with-kernel-4.11.patch - 0007-igb_uio-switch-to-new-irq-function-for-MSI-X.patch] - Use updated patch to enable HAVE_TRANS_START_HELPER for SLE12SP3(bsc#1031705). [+ 0002-kni-fix-build-on-SLE12-SP3.patch]- Enabled CONFIG_RTE_MAJOR_ABI: libs SONAME equal the DPDK release version- Split libs into a subpackage to provide multiple installable versions on same sytem- Do not use obsolete pci_enable_msix for() kernel > 4.8 [+0006-kni-fix-ethtool-build-with-kernel-4.11.patch, +0007-igb_uio-switch-to-new-irq-function-for-MSI-X.patch]- Updated to 16.11.2 which provide bug fixes as below(fate#321541): * mbuf: fix missing includes in exported header * eal: fix debug macro redefinition * net/nfp: fix packet/data length conversion * net/i40e: fix setup when bulk is disabled * pci: fix device registration on FreeBSD * net/i40e: ensure vector mode is not used with QinQ * nic_uio: fix device binding at boot * net/bnx2x: fix transmit queue free threshold * net/vmxnet3: fix queue size changes * kni: fix build with kernel 4.11 * kni: fix possible memory leak * kni: fix crash caused by freeing mempool * net/i40e: fix allocation check * net/virtio: fix crash when closing twice * net/ixgbevf: set xstats id values * net/i40e: fix hash input set on X722 * eal/linux: fix build with glibc 2.25 * net/i40e: fix incorrect packet index reference * net/thunderx: fix 32-bit build * net/thunderx: fix build on FreeBSD * net/thunderx: fix deadlock in Rx path * net/ixgbe: fix setting MTU on stopped device * vfio: fix secondary process start * net/virtio-user: fix address on 32-bit system * net/virtio: fix MSI-X for modern devices * net/virtio: fix link status always down * net/ixgbe: fix multi-queue mode check in SRIOV mode * net/i40e/base: fix potential out of bound array access * vhost: fix false sharing * net/thunderx: fix stats access out of bounds * net/virtio: disable LSC interrupt if MSIX not enabled * net/i40e: fix mbuf alloc failed counter * net: fix stripped VLAN flag for offload emulation * vfio: fix disabling INTx * net/igb: fix VF MAC address setting * net/igb: fix VF MAC address setting * net/ixgbe: fix VF Rx mode for allmulticast disabled * net/bonding: fix updating slave link status * net/virtio-user: fix overflow * net/i40e: fix TC bitmap of VEB * net/ixgbe/base: fix build error * net/ixgbe: fix Rx queue blocking issue * net/ixgbe: fix all queues drop setting of DCB * net/ixgbe: fix TC bandwidth setting more details can be found in http://dpdk.org/ml/archives/stable/2017-May/001809.html [- 0005-kni-fix-build-with-kernel-4.11.patch] - use default gcc which is now gcc7 (bsc#1042372) [+0005-kni-fix-build-with-gcc-7.1.patch]- Add upstream patch to fix building against linux kernel 4.11 [+0005-kni-fix-build-with-kernel-4.11.patch]- sync mailbox definitions with Linux PF driver(bsc#1035993) [+0004-net-thunderx-sync-mailbox-definitions-with-Linux-PF-.patch]- Enable HAVE_TRANS_START_HELPER for SLE12SP3(bsc#1031705). [+0003-kni-define-HAVE_TRANS_START_HELPER-for-SLES12SP3.patch]- Fix dpdk KMP build fails(bsc#1031750) - enable igb_uio kernel module(fate#322394) - update kernel version for SLES12SP3 4.4.59 for bsc#1031705 [*0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch]- Enable HAVE_VF_VLAN_PROTO for SLE12SP3(bsc#1031705). [+0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch]- Disable dpdk-kmp package for ix86.- Upgrade to LTS release of 16.11 which contains fixes below(fate#321541): * app/test: fix symmetric session free in crypto perf tests * app/testpmd: fix check for invalid ports * app/testpmd: fix static build link ordering * crypto/aesni_gcm: fix IV size in capabilities * crypto/aesni_gcm: fix J0 padding bytes * crypto/aesni_mb: fix incorrect crypto session * crypto/openssl: fix extra bytes written at end of data * crypto/openssl: fix indentation in guide * crypto/qat: fix IV size in capabilities * crypto/qat: fix to avoid buffer overwrite in OOP case * cryptodev: fix crash on null dereference * cryptodev: fix loop in device query * devargs: reset driver name pointer on parsing failure * drivers/crypto: fix different auth/cipher keys * ethdev: check maximum number of queues for statistics * ethdev: fix extended statistics name index * ethdev: fix port data mismatched in multiple process model * ethdev: fix port lookup if none * ethdev: remove invalid function from version map * examples/ethtool: fix driver information * examples/ethtool: fix querying non-PCI devices * examples/ip_pipeline: fix coremask limitation * examples/ip_pipeline: fix parsing of pass-through pipeline * examples/l2fwd-crypto: fix overflow * examples/vhost: fix calculation of mbuf count * examples/vhost: fix lcore initialization * mempool: fix API documentation * mempool: fix stack handler dequeue * net/af_packet: fix fd use after free * net/bnx2x: fix Rx mode configuration * net/cxgbe/base: initialize variable before reading EEPROM * net/cxgbe: fix parenthesis on bitwise operation * net/ena: fix setting host attributes * net/enic: fix hardcoding of some flow director masks * net/enic: fix memory leak with oversized Tx packets * net/enic: remove unnecessary function parameter attributes * net/i40e: enable auto link update for 25G * net/i40e: fix Rx checksum flag * net/i40e: fix TC bandwidth definition * net/i40e: fix VF reset flow * net/i40e: fix checksum flag in x86 vector Rx * net/i40e: fix crash in close * net/i40e: fix deletion of all macvlan filters * net/i40e: fix ethertype filter on X722 * net/i40e: fix link update delay * net/i40e: fix logging for Tx free threshold check * net/i40e: fix segment number in reassemble process * net/i40e: fix wrong return value when handling PF message * net/i40e: fix xstats value mapping * net/i40evf: fix casting between structs * net/i40evf: fix reporting of imissed packets * net/ixgbe: fix blocked interrupts * net/ixgbe: fix received packets number for ARM * net/ixgbe: fix received packets number for ARM NEON * net/ixgbevf: fix max packet length * net/mlx5: fix RSS hash result for flows * net/mlx5: fix Rx packet validation and type * net/mlx5: fix Tx doorbell * net/mlx5: fix endianness in Tx completion queue * net/mlx5: fix inconsistent link status * net/mlx5: fix leak when starvation occurs * net/mlx5: fix link status query * net/mlx5: fix memory leak when parsing device params * net/mlx5: fix missing inline attributes * net/mlx5: fix updating total length of multi-packet send * net/mlx: fix IPv4 and IPv6 packet type * net/nfp: fix VLAN offload flags check * net/nfp: fix typo in Tx offload capabilities * net/pcap: fix timestamps in output pcap file * net/qede/base: fix FreeBSD build * net/qede: add vendor/device id info * net/qede: fix PF fastpath status block index * net/qede: fix filtering code * net/qede: fix function declaration * net/qede: fix per queue statisitics * net/qede: fix resource leak * net/vhost: fix socket file deleted on stop * net/vhost: fix unix socket not removed as closing * net/virtio-user: fix not properly reset device * net/virtio-user: fix wrongly get/set features * net/virtio: fix build without virtio-user * net/virtio: fix crash when number of virtio devices > 1 * net/virtio: fix multiple process support * net/virtio: fix performance regression due to TSO * net/virtio: fix rewriting LSC flag * net/virtio: fix wrong Rx/Tx method for secondary process * net/virtio: optimize header reset on any layout * net/virtio: store IO port info locally * net/virtio: store PCI operators pointer locally * net/vmxnet3: fix Rx deadlock * pci: fix check of mknod * pmdinfogen: fix endianness with cross-compilation * pmdinfogen: fix null dereference * sched: fix crash when freeing port * usertools: fix active interface detection when binding * vdev: fix detaching with alias * vfio: fix file descriptor leak in multi-process * vhost: allow many vhost-user ports * vhost: do not GSO when no header is present * vhost: fix dead loop in enqueue path * vhost: fix guest/host physical address mapping * vhost: fix long stall of negotiation * vhost: fix memory leak- Fix broken dpdk-pmd/* soft links(bsc#1026804).- Do not disable cryptodev as EXPREMENTAL tag has been removed. - Remove CONFIG_RTE_LIBRTE_MBUF_OFFLOAD as cryptodev is not depending on it anymore and its removed from the upstream.- Enable rte_kni kernel module for dpdk(fate#322394). [+preamble] - Build dpdk-thunderx only for aarch64- Update to version 16.11(fate#321541). Some of the new features are listed below: * Added software parser for packet type. * Improved offloads support in mbuf. * Added vhost-user dequeue zero copy support. * Added vhost-user indirect descriptors support. * Added vhost PMD xstats. * Added virtio NEON support for ARM. * Updated the ixgbe base driver. * Added APIs for VF management to the ixgbe PMD. * Updated the enic driver. * Added openssl PMD. * Added support for new gcc -march option. Detailed changes can be obtained from http://dpdk.org/doc/guides/rel_notes/release_16_11.html - Resolved fixes in the updated versions are : * enic: Fixed several flow director issues. * enic: Fixed inadvertent setting of L4 checksum ptype on ICMP packets. * enic: Fixed high driver overhead when servicing Rx queues beyond the first.- Added gcc-6 as default compiler for CRC/mtune & other optimizations. - Fix possible parallel installation of dpdk subpackages.- Add pre_checkin.sh to generate the dpdk-thunderx.spec file- Fixed paths using %{name} to have the dpdk.spec aligned with dpdk-thunderx.spec- Added back in all the architectures to keep .spec files aligned * Driving thunderx platform architectural dependency via the ExclusiveArch tag- Added support to build code for Thunderx platform(fate#321960). - Introduced new dpdk-thunderx.spec file: * Removed architectures not supporting Thunderx platform (e.g. x86) * Added dependency on gcc v5.0 for armv8a-crc- Update to version 16.07.2. Some of the fixes are listed below: * ethdev: prevent duplicate event callback * hash: fix bucket size usage * hash: fix unlimited cuckoo path * lpm: fix freeing memory * lpm: fix freeing unused sub-table on rule delete * mempool: fix leak if populate fails * mempool: fix search of maximum contiguous pages * pci: fix probing error if no driver found * net/bnx2x: fix maximum PF queues * net/bnxt: fix bit shift size * net/bnxt: fix crash when closing * net/enic: fix Rx queue index when not using Rx scatter * net/enic: fix crash on MTU update or Rx queue reconfigure * net/enic: fix crash with removed flow director filters * net/enic: fix max packet length check * net/enic: fix multi-queue Rx performance * net/enic: revert truncated packets counter fix * net/fm10k: fix VF Tx queue initialization * net/i40e: fix Rx hang when disable LLDP * net/ixgbe: fix VF registers * net/thunderx: fix Tx checksum handling * [The list of changes is rather long so please consult the following resources for the complete list of new features, bugfixes and other changes in this release: - http://dpdk.org/doc/guides-16.07/rel_notes/release_16_07.html#id2]- Update to version 16.07.1. Some of the fixes are listed below: * contigmem: zero all pages during mmap * crypto/null: fix key size increment value * hash: fix false zero signature key hit lookup * mem: fix crash on hugepage mapping error * mbuf: fix error handling on pool creation * net/e1000: fix returned number of available Rx descriptors * net/enic: fix freeing memory for descriptor ring * net/i40e: fix dropping packets with ethertype 0x88A8 * net/i40e: fix mbuf leak during Rx queue release * net/i40e: fix null pointer dereferences when using VMDq+RSS * net/ixgbe/base: fix possible corruption of shadow RAM * net/ixgbe: fix VF reset to apply to correct VF * net/virtio_user: fix error management during init * [The list of changes is rather long so please consult the following resources for the complete list of new features, bugfixes and other changes in this release: - http://dpdk.org/doc/guides-16.07/rel_notes/release_16_07.html#fixes-in-16-07-01-stable-release]- Drop code for generating our own linker script. * Commit 948fd64befc3 (" mk: replace the combined library with a linker script") added upstream support for building and installing a linker script so we drop our code from the spec file which generated a much larger and possibly broken linker script resulting to linking issues (boo#1002534)- Update to version 16.07. Some of the new features are listed below: * Removed the mempool cache memory if caching is not being used. * Added mempool external cache for non-EAL thread. * Changed the memory allocation scheme in the mempool library. * Added a new driver for Broadcom NetXtreme-C devices. * Added a new driver for ThunderX nicvf devices. * Added mailbox interrupt support for ixgbe and igb VFs. * Updated the ixgbe base driver. * Updated the i40e base driver. * Updated the enic driver. * Updated the mlx5 driver. * Added support for virtio on IBM POWER8. * Added support for Virtio in containers. * Added vhost-user client mode. * Added NSH packet recognition in i40e. * Added AES-CTR support to AESNI MB PMD. * Added AES counter mode support for Intel QuickAssist devices. * Added KASUMI SW PMD. * Added multi-writer support for RTE Hash with Intel TSX. * Improved IP Pipeline Application. * Added keepalive enhancements. * Added packet capture framework. * Added floating VEB support for i40e PF driver. * Added support for live migration of a VM with SRIOV VF. * [The list of changes is rather long so please consult the following resources for the complete list of new features, bugfixes and other changes in this release: - http://dpdk.org/doc/guides/rel_notes/release_16_07.html - http://dpdk.org/browse/dpdk/tree/doc/guides/rel_notes/release_16_07.rst - Or the doc/guides/rel_notes/release_16_07.rst file in the released tarball.] - Removed patches that are already avilable in dpdk-16.07 [ -0002-examples-ip_pipeline-fix-implicit-declaration-of-fun.patch - 0003-mk-fix-external-shared-library-dependencies-of-libraries.patch - 0004-54f9e32-vhost-handle-dirty-pages-logging-request.patch - 0005-d293dac-vhost-claim-support-of-guest-announce.patch - 0006-d639996-vhost-enable-log_shmfd-protocol-feature.patch - 0007-ixgbe-fix-VLAN-filter-missing-brackets.patch - 0008-app-testpmd-handle-SIGINT-and-SIGTERM.patch - 0009-bonding-copy-entire-config-structure-in-mode-4.patch - 0010-bonding-fix-active-slaves-with-no-primary.patch - 0011-bonding-do-not-ignore-multicast-in-mode-4.patch - 0012-bonding-do-not-activate-slave-twice.patch - 0013-bonding-fix-crash-when-no-slave-device.patch - 0014-bonding-fix-detach-of-bonded-device.patch - 0015-bonding-fix-detach-of-slave-devices.patch - 0016-eal-linux-support-built-in-kernel-modules.patch - 0017-examples-l3fwd-handle-SIGINT-and-SIGTERM.patch - 0018-fm10k-fix-VLAN-flag-in-scattered-Rx.patch - 0019-i40e-base-fix-driver-load-failure.patch - 0020-i40e-base-fix-missing-check-for-stopped-admin-queue.patch - 0021-i40e-fix-inverted-check-for-no-refcount.patch - 0022-i40e-fix-overflow.patch - 0023-i40e-fix-VLAN-filtering.patch - 0024-mempool-fix-leak-when-creation-fails.patch - 0025-pcap-fix-captured-frame-length.patch - 0026-port-fix-crash-for-ethdev-writer-nodrop.patch - 0027-port-fix-crash-for-ring-writer-nodrop.patch - 0028-tools-fix-unbinding-failure-handling.patch - 0029-tools-support-Python-3-in-bind-script.patch - 0030-tools-support-binding-to-built-in-kernel-modules.patch - 0031-vhost-fix-leak-of-fds-and-mmaps.patch - 0032-virtio-fix-crash-in-statistics-functions.patch - 0033-virtio-fix-descriptors-pointing-to-the-same-buffer.patch - 0034-virtio-fix-restart.patch - 0035-PAGE_SIZE-constant-is-not-defined-on-ARM-since-multi.patch - 0036-examples-fix-build-dependencies.patch - 0037-examples-ethtool-fix-build.patch - 0099-mk-fix-gcc-5-version-on-suse.patch - 0100-kni-fix-build-with-gcc-6.patch - 0101-ixgbe-fix-uninitialized-warning.patch - 0102-ixgbe-fix-constant-sign-in-left-shift-operator.patch - 0103-e1000-base-Add-missing-braces-to-the-if-statements.patch - 0104-igb-fix-constant-sign-in-left-shift-operator.patch - 0105-e1000-fix-missing-link-interrupt-check-brackets.patch - 0106-app-test-fix-missing-brackets.patch - 0107-examples-ip_pipeline-use-unsigned-constants-for-left.patch ] - Created soft link for dpdk_proc_info and dpdk_nic_bind(from dpdk-procinfo, dpdk-devbind) to keep compatibility. - Added a new binary dpdk-pdump dpdk-procinfo- Add _constraints file to force build dpdk with sse3 enabled x86 machine(bsc#993462). - Enable compilation for ppc64le with the help of Rüdiger(ro@suse.de). - Enable example package for aarch64 using Rüdiger(ro@suse.de) changes. - Do not enable PMD_RING on ppc64le (missing rte_eth_from_rings). - Disable examples that need LPM which is disabled on non-x86. [+0036-examples-fix-build-dependencies.patch, +0037-examples-ethtool-fix-build.patch, +_constraints]- Added support for aarch64 compilation. [+0035-PAGE_SIZE-constant-is-not-defined-on-ARM-since-multi.patch] - Disabled aarch64 dpdk-examples package for the time being as it contains lots of Intel specific code. - Added proper "Group" field for the subpackages .- Add upstream patches to fix building with gcc >= 6 * 0100-kni-fix-build-with-gcc-6.patch * 0101-ixgbe-fix-uninitialized-warning.patch * 0102-ixgbe-fix-constant-sign-in-left-shift-operator.patch * 0103-e1000-base-Add-missing-braces-to-the-if-statements.patch * 0104-igb-fix-constant-sign-in-left-shift-operator.patch * 0105-e1000-fix-missing-link-interrupt-check-brackets.patch * 0106-app-test-fix-missing-brackets.patch * 0107-examples-ip_pipeline-use-unsigned-constants-for-left.patch- Removed unwanted files(bsc#984437).- Added missing GPL-2.0 and LGPL-2.1 licenses.- Update tarball URL.- Applied all the fixes recommended by upstream for v2.2 stable release(bsc#981996). [+0008-app-testpmd-handle-SIGINT-and-SIGTERM.patch, +0009-bonding-copy-entire-config-structure-in-mode-4.patch, +0010-bonding-fix-active-slaves-with-no-primary.patch, +0011-bonding-do-not-ignore-multicast-in-mode-4.patch, +0012-bonding-do-not-activate-slave-twice.patch, +0013-bonding-fix-crash-when-no-slave-device.patch, +0014-bonding-fix-detach-of-bonded-device.patch, +0015-bonding-fix-detach-of-slave-devices.patch, +0016-eal-linux-support-built-in-kernel-modules.patch, +0017-examples-l3fwd-handle-SIGINT-and-SIGTERM.patch, +0018-fm10k-fix-VLAN-flag-in-scattered-Rx.patch, +0019-i40e-base-fix-driver-load-failure.patch, +0020-i40e-base-fix-missing-check-for-stopped-admin-queue.patch, +0021-i40e-fix-inverted-check-for-no-refcount.patch, +0022-i40e-fix-overflow.patch, +0023-i40e-fix-VLAN-filtering.patch, +0024-mempool-fix-leak-when-creation-fails.patch, +0025-pcap-fix-captured-frame-length.patch, +0026-port-fix-crash-for-ethdev-writer-nodrop.patch, +0027-port-fix-crash-for-ring-writer-nodrop.patch, +0028-tools-fix-unbinding-failure-handling.patch, +0029-tools-support-Python-3-in-bind-script.patch, +0030-tools-support-binding-to-built-in-kernel-modules.patch, +0031-vhost-fix-leak-of-fds-and-mmaps.patch, +0032-virtio-fix-crash-in-statistics-functions.patch, +0033-virtio-fix-descriptors-pointing-to-the-same-buffer.patch, +0034-virtio-fix-restart.patch]- Use fdupes to manage duplicate files- Create DPDK packages for 32 bit x86(bsc#977639).- Add upstream patch for the ixgbe driver * 0007-ixgbe-fix-VLAN-filter-missing-brackets.patch: Fix VLAN filtering logic by adding the missing brackets in the 'if' statement.- DPDK is most common vhost-user backend, Adding upstream patches to help qemu vm live migration with vhost-user (fate#320713). [+ 0004-54f9e32-vhost-handle-dirty-pages-logging-request.patch + 0005-d293dac-vhost-claim-support-of-guest-announce.patch + 0006-d639996-vhost-enable-log_shmfd-protocol-feature.patch]- Move the combined library back to the devel package (bsc#975123) Ever since we dropped the CONFIG_RTE_BUILD_COMBINE_LIBS=y option, the libdpdk.so is no longer a shared object but rather a linker script generated by the spec file. This means that it is only used during linking and the linker will add the individual DPDK libraries to the DT_NEEDED tag on the dependent binaries.- Fix shared linking against libdpdk.so (bsc#975123) * Restore the 0003-mk-fix-external-shared-library-dependencies-of-libraries.patch patch which sets the correct dependencies for the shared libraries. * Drop CONFIG_RTE_BUILD_COMBINE_LIBS since a custom linker script is used to create and install a more lightweight version of libdpdk.so. * Include the combined libdpdk.so library to the regular package since it is also necessary during runtime.- Removed unwnated patch and reformated patch file names(bsc#974903). [- dpdk-2.2-dtneeded.patch, - dpdk-2.2-examples.patch, - enic-pun-fix.patch, - dpdk-2.2-warningflags.patch, + 0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch + 0002-examples-ip_pipeline-fix-implicit-declaration-of-fun.patch] - Added CONFIG_RTE_BUILD_COMBINE_LIBS flags to club all all *.so into one library- Intial version 2.2.0(fate#319169)  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnUpqrstuvwxyz{|}~UU     J !"#$%&'()*J,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVJXYZ[\]^_`abcdefghijklmnopqrstuvwxyJ{|}~UJUUU18.11.918.11.9-lp151.3.8.118.11.9-lp151.3.8.1      !!!"""""""##$$%%$&&&&&&$'#((((##))))#**++,,+--++..///001233324441111111111111111111105550066667778888889999999999999::;::<<<<<<<:=====>>>???@@?AAAAAA?BCCCDDDEEEEEEEEFFFGGGHHHHHIIIIJJJJJJKKKKKKLLLLLLLKKKKKKKKKKKMMMNNNdpdk_example_basicfwddpdk_example_bbdevdpdk_example_bond_appdpdk_example_cmdlinedpdk_example_distributor_appdpdk_example_eventdev_pipelinedpdk_example_exception_pathdpdk_example_fips_validationdpdk_example_flowdpdk_example_flow_classifydpdk_example_helloworlddpdk_example_ip_pipelinedpdk_example_ipsec-secgwdpdk_example_ipv4_multicastdpdk_example_knidpdk_example_l2fwddpdk_example_l2fwd-cryptodpdk_example_l2fwd-jobstatsdpdk_example_l2fwd-keepalivedpdk_example_l3fwddpdk_example_l3fwd-acldpdk_example_l3fwd-powerdpdk_example_l3fwd-vfdpdk_example_link_status_interruptdpdk_example_load_balancerdpdk_example_packet_orderingdpdk_example_qos_meterdpdk_example_qos_scheddpdk_example_rxtx_callbacksdpdk_example_service_coresdpdk_example_tep_terminationdpdk_example_timerdpdk_example_vdpadpdk_example_vhost-cryptodpdk_example_vhost-scsidpdk_example_vhost-switchdpdk_example_vm_power_mgrdpdk_example_vmdq_appdpdk_example_vmdq_dcb_appexamplesMakefilebbdev_appMakefilemain.cmeson.buildbondMakefilemain.cmain.hmeson.buildcmdlineMakefilecommands.ccommands.hmain.cmeson.buildparse_obj_list.cparse_obj_list.hdistributorMakefilemain.cmeson.buildethtoolMakefileethtool-appMakefileethapp.cethapp.hmain.clibMakefilerte_ethtool.crte_ethtool.hmeson.buildeventdev_pipelineMakefilemain.cmeson.buildpipeline_common.hpipeline_worker_generic.cpipeline_worker_tx.cexception_pathMakefilemain.cmeson.buildfips_validationMakefilefips_validation.cfips_validation.hfips_validation_aes.cfips_validation_ccm.cfips_validation_cmac.cfips_validation_gcm.cfips_validation_hmac.cfips_validation_tdes.cmain.cmeson.buildflow_classifyMakefileflow_classify.cipv4_rules_file.txtmeson.buildflow_filteringMakefileflow_blocks.cmain.cmeson.buildhelloworldMakefilemain.cmeson.buildip_fragmentationMakefilemain.cmeson.buildip_pipelineMakefileaction.caction.hcli.ccli.hcommon.hconn.cconn.hcryptodev.ccryptodev.hexamplesfirewall.cliflow.cliflow_crypto.clikni.clil2fwd.cliroute.cliroute_ecmp.clirss.clitap.clikni.ckni.hlink.clink.hmain.cmempool.cmempool.hmeson.buildparser.cparser.hpipeline.cpipeline.hswq.cswq.htap.ctap.hthread.cthread.htmgr.ctmgr.hip_reassemblyMakefilemain.cmeson.buildipsec-secgwMakefileep0.cfgep1.cfgesp.cesp.hipip.hipsec-secgw.cipsec.cipsec.hmeson.buildparser.cparser.hrt.csa.csp4.csp6.cipv4_multicastMakefilemain.cmeson.buildkniMakefilemain.cmeson.buildl2fwdl2fwd-catMakefilecat.ccat.hl2fwd-cat.cmeson.buildl2fwd-cryptoMakefilemain.cmeson.buildl2fwd-jobstatsMakefilemain.cmeson.buildl2fwd-keepaliveMakefileka-agentMakefilemain.cmain.cmeson.buildshm.cshm.hMakefilemain.cmeson.buildl3fwdl3fwd-aclMakefilemain.cmeson.buildl3fwd-powerMakefilemain.cmain.hmeson.buildperf_core.cperf_core.hl3fwd-vfMakefilemain.cmeson.buildMakefilel3fwd.hl3fwd_altivec.hl3fwd_common.hl3fwd_em.cl3fwd_em.hl3fwd_em_hlm.hl3fwd_em_hlm_neon.hl3fwd_em_hlm_sse.hl3fwd_em_sequential.hl3fwd_lpm.cl3fwd_lpm.hl3fwd_lpm_altivec.hl3fwd_lpm_neon.hl3fwd_lpm_sse.hl3fwd_neon.hl3fwd_sse.hmain.cmeson.buildlink_status_interruptMakefilemain.cmeson.buildload_balancerMakefileconfig.cinit.cmain.cmain.hmeson.buildruntime.cmeson.buildmulti_processMakefileclient_server_mpMakefilemp_clientMakefileclient.cmp_serverMakefileargs.cargs.hinit.cinit.hmain.csharedcommon.hhotplug_mpMakefilecommands.ccommands.hmain.cmeson.buildsimple_mpMakefilemain.cmp_commands.cmp_commands.hsymmetric_mpMakefilemain.cnetmap_compatMakefilebridgeMakefilebridge.clibcompat_netmap.ccompat_netmap.hmeson.buildnetmapnetmap.hnetmap_user.hpacket_orderingMakefilemain.cmeson.buildperformance-threadMakefilecommonarcharm64ctx.cctx.hstack.hx86ctx.cctx.hstack.hcommon.mklthread.clthread.hlthread_api.hlthread_cond.clthread_cond.hlthread_diag.clthread_diag.hlthread_diag_api.hlthread_int.hlthread_mutex.clthread_mutex.hlthread_objcache.hlthread_pool.hlthread_queue.hlthread_sched.clthread_sched.hlthread_timer.hlthread_tls.clthread_tls.hl3fwd-threadMakefilemain.ctest.shmeson.buildpthread_shimMakefilemain.cpthread_shim.cpthread_shim.hptpclientMakefilemeson.buildptpclient.cqos_meterMakefilemain.cmain.hmeson.buildrte_policer.crte_policer.hqos_schedMakefileapp_thread.cargs.ccfg_file.ccfg_file.hcmdline.cinit.cmain.cmain.hmeson.buildprofile.cfgprofile_ov.cfgstats.cquota_watermarkMakefileincludeconf.hmeson.buildqwMakefileargs.cargs.hinit.cinit.hmain.cmain.hqwctlMakefilecommands.ccommands.hqwctl.cqwctl.hrxtx_callbacksMakefilemain.cmeson.buildserver_node_efdMakefilemeson.buildnodeMakefilenode.cserverMakefileargs.cargs.hinit.cinit.hmain.csharedcommon.hservice_coresMakefilemain.cmeson.buildskeletonMakefilebasicfwd.cmeson.buildtep_terminationMakefilemain.cmain.hmeson.buildvxlan.cvxlan.hvxlan_setup.cvxlan_setup.htimerMakefilemain.cmeson.buildvdpaMakefilemain.cmeson.buildvhostMakefilemain.cmain.hmeson.buildvirtio_net.cvhost_cryptoMakefilemain.cmain.c.initmeson.buildvhost_scsiMakefilemeson.buildscsi.cscsi_spec.hvhost_scsi.cvhost_scsi.hvm_power_managerMakefilechannel_manager.cchannel_manager.hchannel_monitor.cchannel_monitor.hguest_cliMakefilemain.cmeson.buildparse.cparse.hvm_power_cli_guest.cvm_power_cli_guest.hmain.cmeson.buildoob_monitor.hoob_monitor_nop.coob_monitor_x86.cparse.cparse.hpower_manager.cpower_manager.hvm_power_cli.cvm_power_cli.hvmdqMakefilemain.cmeson.buildvmdq_dcbMakefilemain.cmeson.build/usr/bin//usr/share/dpdk//usr/share/dpdk/examples//usr/share/dpdk/examples/bbdev_app//usr/share/dpdk/examples/bond//usr/share/dpdk/examples/cmdline//usr/share/dpdk/examples/distributor//usr/share/dpdk/examples/ethtool//usr/share/dpdk/examples/ethtool/ethtool-app//usr/share/dpdk/examples/ethtool/lib//usr/share/dpdk/examples/eventdev_pipeline//usr/share/dpdk/examples/exception_path//usr/share/dpdk/examples/fips_validation//usr/share/dpdk/examples/flow_classify//usr/share/dpdk/examples/flow_filtering//usr/share/dpdk/examples/helloworld//usr/share/dpdk/examples/ip_fragmentation//usr/share/dpdk/examples/ip_pipeline//usr/share/dpdk/examples/ip_pipeline/examples//usr/share/dpdk/examples/ip_reassembly//usr/share/dpdk/examples/ipsec-secgw//usr/share/dpdk/examples/ipv4_multicast//usr/share/dpdk/examples/kni//usr/share/dpdk/examples/l2fwd-cat//usr/share/dpdk/examples/l2fwd-crypto//usr/share/dpdk/examples/l2fwd-jobstats//usr/share/dpdk/examples/l2fwd-keepalive//usr/share/dpdk/examples/l2fwd-keepalive/ka-agent//usr/share/dpdk/examples/l2fwd//usr/share/dpdk/examples/l3fwd-acl//usr/share/dpdk/examples/l3fwd-power//usr/share/dpdk/examples/l3fwd-vf//usr/share/dpdk/examples/l3fwd//usr/share/dpdk/examples/link_status_interrupt//usr/share/dpdk/examples/load_balancer//usr/share/dpdk/examples/multi_process//usr/share/dpdk/examples/multi_process/client_server_mp//usr/share/dpdk/examples/multi_process/client_server_mp/mp_client//usr/share/dpdk/examples/multi_process/client_server_mp/mp_server//usr/share/dpdk/examples/multi_process/client_server_mp/shared//usr/share/dpdk/examples/multi_process/hotplug_mp//usr/share/dpdk/examples/multi_process/simple_mp//usr/share/dpdk/examples/multi_process/symmetric_mp//usr/share/dpdk/examples/netmap_compat//usr/share/dpdk/examples/netmap_compat/bridge//usr/share/dpdk/examples/netmap_compat/lib//usr/share/dpdk/examples/netmap_compat/netmap//usr/share/dpdk/examples/packet_ordering//usr/share/dpdk/examples/performance-thread//usr/share/dpdk/examples/performance-thread/common//usr/share/dpdk/examples/performance-thread/common/arch//usr/share/dpdk/examples/performance-thread/common/arch/arm64//usr/share/dpdk/examples/performance-thread/common/arch/x86//usr/share/dpdk/examples/performance-thread/l3fwd-thread//usr/share/dpdk/examples/performance-thread/pthread_shim//usr/share/dpdk/examples/ptpclient//usr/share/dpdk/examples/qos_meter//usr/share/dpdk/examples/qos_sched//usr/share/dpdk/examples/quota_watermark//usr/share/dpdk/examples/quota_watermark/include//usr/share/dpdk/examples/quota_watermark/qw//usr/share/dpdk/examples/quota_watermark/qwctl//usr/share/dpdk/examples/rxtx_callbacks//usr/share/dpdk/examples/server_node_efd//usr/share/dpdk/examples/server_node_efd/node//usr/share/dpdk/examples/server_node_efd/server//usr/share/dpdk/examples/server_node_efd/shared//usr/share/dpdk/examples/service_cores//usr/share/dpdk/examples/skeleton//usr/share/dpdk/examples/tep_termination//usr/share/dpdk/examples/timer//usr/share/dpdk/examples/vdpa//usr/share/dpdk/examples/vhost//usr/share/dpdk/examples/vhost_crypto//usr/share/dpdk/examples/vhost_scsi//usr/share/dpdk/examples/vm_power_manager//usr/share/dpdk/examples/vm_power_manager/guest_cli//usr/share/dpdk/examples/vmdq//usr/share/dpdk/examples/vmdq_dcb/-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:14292/openSUSE_Leap_15.1_Update/27546aefee0c6b9191afb4043092a567-dpdk-thunderx.openSUSE_Leap_15.1_Updatedrpmxz5x86_64-suse-linux  !"#$%&'(')*(')**(')***(**')*('(')*(*')**(')*(***')*(')*********(')*((')**(')*(')*(')*********'(((((((((*******(************')*(')((******(******')*(')*('')***(')*(')*(')')**(**)*('')*(')**(**')*()*****************(')*(')****(*('('(')*')*****'*')***(')***')*')')*'**('**')*('('''***'***)*******************')*+(')***')(*')**(**')********(((*'('*(')******')****')*('((')*')*****'*')*(')*(')**(****')*(')*(')**(*')**(')(****')****')*(*****(*********')*(')*(ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=b44310deab031aa52fb0ea0bf34c4ba147b89bc0, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=1c4add6b98dc1c14c34ca8cea90d074652110544, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=29457da591ecd7006bb343e8acf4dff297e2c489, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=922fd8c097ddac7ccdde9d1d32220d4ae26f57e7, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=1fc26fc7593001ea63d0018d44962e02704d1b80, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=1067fd7beaae5af9fecbaaa19af0a92294b99b38, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=aa2e4d49c4ce2ddc8f7c52e558e0fc7b4285bd22, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=75981e270d789b5674db7ab755eba196ca10e1f3, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=835e8f2c106cb1488738ebca757510aab84cf47c, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=62dbddcf9c694520e05a40c6f88fd7cffc28a0b4, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=71328f9995ac4865441cd6ab239f9e9ce6c2f48f, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=c2483f8cd64645a5a86adbd07f49147c4ce189f0, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=537cd83a3cf76fcde214d9ccc1c5e9566cdf9cfc, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=84810ab1be04c9abbefdf99eda9ce7a30b1dd044, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=6bfc2686c899149bcdd9d72ba24233abb5b1b4c8, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=731772304124d59fca72992d1a96eac9bdd6d6f9, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=b71fb25d83bee41bf5fef4d1488add746dd1a420, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=234dfc24ac6411bd2ceaa5b1fc3091e484ffec39, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=fa79d4da0d51e2b234babe393f1a78a877f93f28, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=05333da5b655b10d3953c14eaa0e58d5e7eb592e, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=a58effc3ef712198f48c9001d6960c90529bf0d6, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=e1ca8e275c71790c485ca8243279207f236fb047, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=8ee84849cfbd0e12271cbd49bec477ec8beb019b, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=e73f79ccc00bd5f18f8c7ecc59eedb7cd0430645, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=5d1b9c1495dcc93877ff1f318a5336db5fc78e04, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=2b55516931f032d56bd60063bf5c0c168aa7b77f, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=2a47e6fbdbdca2f0a4fcda660e38192a14286a14, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=4c587f0aa1e5e327a1110c3dd692b2f7f829682a, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=ec073a903f27935ed27d5be61d09b7796c83d02d, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=27c31d08acca78bc6797b299e141e2794677594b, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=0588dcf97e2ae1e8ea98a5c2d0c0fab21887f47c, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=9586ba0af683d96e5d2ca05c1bfacde1d2015d12, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=e6f958a957e186586ba2bc86b9c04bc1aa8019dd, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=a171e4541e84256316ec3326e26f12ee1166cd52, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=a205dbbe1bd13d3eb8a10000e876c49fad1a1b3e, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=e347357bd3b385ac10189ef79abdc495b2d4102d, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=04e130e8f1c212bc43582ee0f223178b928ec009, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=c2f3938ba2ad4cccebde1a7f7afd18df2bf39f13, for GNU/Linux 3.2.0, strippedELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, BuildID[sha1]=4dfbac6131d41a97b807f80ef777e6d64133ca24, for GNU/Linux 3.2.0, strippeddirectoryASCII textmakefile script, ASCII textC source, ASCII textBourne-Again shell script, ASCII text executableutf-89d0d5d171dc42b2dfa75a1c7e0e427d3fddf542854822258309b45f93e7e4973?@7zXZ !t/0]"k%HW"<ߊ)*DẉcZX .dk27uvã*̀&:&a%1UDnAKRF %0#jL'&8 9j?;|x9\mk~@0С` rGgw~C̯<Bm)_4o`AÛe8/ }CIx[x=]+[8KIL?q|IE4'1?kH?EqNh}6ӿYDnI1Zd/}I5-㐎hj^)O/Hܫx 'w zAPt'@$0Ktk~Z7x6gQ:t {>K F͔FeNpsy*;cTB h^lUe}5%~ڈs| 7~sp t}*?O" :++1E~ĨiͧDD+jeA:ILzX#m@AdK 4:7Ϋ#`sd(%Phv 0.`==SFÚ*uʷ(!u`p <-Rf*6:@?dQfHysC:6C߃--'z0'AZRFω3A`32W '9|PHpIRZ/ӲL/;z?}7*!@Xn-t1A#\kޮt{1:^^)|;kM@?T"[M"Ѻ}J"-)L,,տQy%MZfзj` w]k~'3vnz6Dʮ<֧UY[J-sVbsJ)|[e [|KAwff\QCix>ZP`Wčq E8OtELʁQˈ_|r;].ƾ=FQ7W;}Y?V7C1%[daa";ezKw?틷~Z\Rᔖ;2]YB­5P?NjiiŔ9[p HC ::s㐘?_}*?ʃ]xr|ca\/Gf׍hv;"WWv}{ Xi=~Lh-zѮ{9a5S}B+< WH?tWQSgw(hgd1ݮa%]2ux*XuKH;*ִpO?aD]ZT| C675~|8 Uqp]k|c{$3]=_ÒV&9怣 lCxOHHCަW(% ;G;/oxE4̃]0?T`0%te>!U;l)CjEbZq?$rNU׈y`wMWRbcF!S&4OF_fd%"!A'Ŵ.oq ?rnؐ"ysϬt>@o!-b ȏ ߆ulmgAZKSzgvMkH͜Cxuhgč >ϬUi8*[Wc9C>r +AdTSPx}K !p@~- ϑ"ޙǔoVe!'W.wsL㠛^B*=vwp|c=\R3f"G"LBmoTauL%>K=B~Q}lguV_c!+YF @> Tw9&Yx"j;K㟭gcHGE†/r ӑ265ȫ@!b7gH79 g5-{@Ϣ*ݠHfp~0? Lo N̈́]l=DHeZ2mN`OBuhi#݇$$ $S i==2VIp8HF%"^ե|cV"9̟2ϒQ[45!cmhorﭰ5am,\0stzps\:97mKpc˅iq | 7j,hDi=rSu.G?ek*xh2.LU11d`p~D!w./eZM{AMSc7_GvF *?ѩk~m:L#KRڮl'ql=gJ;Aw CezBٞL,  At !G)fSt&8]~~eh)b?WS{n,M}¤T.gpe$^&//ܷsv˻7hSF"_ᙎb7ԃ=~"usm 6limFE͹T8QDMWI^2:bn?_'1[([LR *5Zq9އ6oI-n9)c~V=UFoLr:`z=cđAdJe!Typ21&9DW/x崎3ZE0e6p␷,z);|X9^'*/m9_))Ao6Danr"jHr5T` "fKݗ;reYZɎr.aObwyUdԙ\dp5"t9tx[l!wo6]s1sZ~ b4Cf{ W7N1%'$?6k[a 9g'(, j0˺@/F" ]RMb S Gp> 4@ `˧w/2?wꊚ`;~.LVw1C9rq04@b$ֶy2C#e;-Ҷӟ-LШb2Х P3c5K`qM[c cd^"NH+N= WFi渢*oԘݰAqSKe.Yobf4-أP4$ zNvA^CBn37KduY&WLf5"ٕYr\Iòxʧ' Љ0oO]! _/p :~"- ݰn:y,lpq:~]tZD=ٹV,NJ;0݉}LeI[h c%'ZN];B3U_ʧvоrre%û5AuJdyiëڑ.G:oc2P?h[9K^OPZ1QSDՙ*R_k*~ު]qW'yQ({۩󺵂끷<t (VV#x_q)1Z3}M"_NY'1*6yv2OJ)g[,&hw*(DjH/}Kw0g{/cD*\CZɸ&N|ct[4`P3c` PRvڜJx-=0]-1s2=`|OȁHufAfH59%_7j']B-^?]Q +EXiѷo6.k]lyw;J`?6ŭv\@9tCgW,;{Ɠ#SL y(5؍cw 1L,\inqXTMGNT/fյYAf~W=*mͫ*"=`}ȉԞ'J˷Tߪvrjv#W_"D\f^!ϑeu0jl ΐUXJ 6e<8t 4E~BZZ ,#$p$LӬ{-ţ *J+bCY\+˰l>v$O K^1c/0ߦh9|MfP6x41{$ ȡU ەgY4cRAbELY+Z 0 /r!+[-Qnt m jy>jnU@*$~E ; c rWbFl'h1"sŹ}AuEϕ \ڋѪѤOFƙ6fr1(5hG@ٜTR;\FM,E;\X9?w/Q\٤ȥQG-;1{!1TGMNjdͺϪpVvK03E(3?69"#^ݜЅ1 k~J*xׇ&XY:e;CzC^[X!g5;09&kI0U,? 7=`J0:0hͽ %&$ӣ}:D>-h+VO/2JrA%1 vM۳[|I,T݋ ˑ1krChe(X?ma >i|Qu#\`)ȭt{yE[Vy3~rrYi-@^/ٹ9x6\yCz|ܚ{5\E ߸.9ZGi?%ԕ]y@gYh(h+Ua GE,wC-l%XN)~X$<=QG|3Ȃq>?~z  eE9;!s*o>MY9֌0,r+P uj{썬ɖqCeR`^ !Æ2Y*]{s}7~HU8sGʣ'~)5"qT3(rw^AJתYqX}T`-Rsʁ@o7"RM'TWi&՞ݖJÙh"j8ġ %ՍJZ&2 CNw)E?n_tGZbQ ھA|ھWk; ׯHfi-0)< ڞfS0g9&(K@wyT| 68߉ KfJ9lPlpnO4p !$jjg!Xrdgb;|÷<^W̧:-B/ e,3ce+X߹+M2ގXw[Fu t'ۃ*s;͌҆2 -$+XX&Yc Y (B5DPNpCfT(݈o#DɭAUP٤<C1 l (n& +%l~Alg`3^( e\h|cK]yPfWM.w{"I[NHbNր%…(.iDzkOfejL 1VM@n.J`rSR,e/a!/!=o|3EY=_q .o)ΣG;<3V=Qkg$:}KE`~otlE̗SvvRKP<¨^HjSI_hʄiFaVOYlۤ*\U].Xo:ZN_յK8\Wp=zf%p ٮ¼YL =ѓ!OWy5[_fFPp^yިĖzA{f.^)Ɨ`QȮpV]m{"aYFoJM웷 ЖNvYKi'ux,YjTq9߄Β )(n![hom/tƽ>7#0UAK\)4iH!od4soWzA9dWϪZp@XXԑ#7|KmSCW/ķ߇p۹zh(,G)r#Z #\(!౛MTڬ 0!o+SgMF!cL,g.[1TnUtn˖~W?[?ޔklslZ ]ܷ 0@40WMjg%2۬e[l-*^2f`zu7+הO9L+1a肌#@Rod{LND'JH}A/X_ΆCGR{4j9D7yq^;f;+Nj-eX(T WgPЫ5P%kKa f^]+} 4'XS2oy$}h>d4#/~ _ ep xZ9 RE~ Ɂ7&R r`U#jmV5s FxrragJJt=Z hKS?}h4 A>[@-i>ĿH_/aam\5:p"qW͘W¹UԪPܬ3< D{ 6 nRɁk/ޚvt-*;'Ɣ=a\MT!\7Xp^J58xBJpߙ!s_ؽ͹,]IϼYy#>ayz0 ;cʑV}܂ɻ!U1f \p_M|YV,Ld٩`O +B83 qI }T<_{yodH^B=+&:ze[%yV}d;3\&ʇ Q1>7̩*ZCMڏ ,(<%%9sQD:kCBKP31IE*^`;`L;Lӎ>i8~ AAOʋ,XvqBe{Jxt I<TTD}JdT;”g Ga:bai_%hZ@-oȠAXwA7{kR2/,=O+lb۰WDԶ炝5Bs|bSˮnBn4q;ΓJʜ )BlY毇էʭZ+! )J59!Z)frn-S±ZncBcc'7EڈN p+k`+iX\lmj?KcK?q8V3 G^ԥH Ș9(P~ъ=^%I"ܢCs "D)so 0#L@'d\+X2ZsJ YCAԻz;wF 2>Ky +Gv8^mi_<16\JbZ90v0 [^Jm^12% [,|kO)P=(U0S_bqp1UEOBݗf-d]+ETQ#ղ??}PW6ÑA5.3xOsfO@rhY:z= 9+4ӅܭW80W?}Ox2Cr2Y2_Q Ve%Lw$Z6е;s}~g.f@齆m8q;4JCIAr [X~$mct$ĊGTt[Uޘ}A.p<x^l'$tėTƆɧ-Ą!+b}hn~00 2͋FNjSCꂫH[a ˞,.gK˂~Poncp'lRxWO~/Q3C rO"SUxG]9wVz:KaNh\iWnsQtHsN&YF/v3 w0T5"t<62SL2m |nH>h%jѷ'q"I5hx 灬ai kӇFot>|+< ke +&֘{ł *U(ڒdA yUȎܟ~9nB aw1} KciLu׉IDžg 9Wٿ3Eir#ۿDŽf[%9DS}>ϾDul-¹ X`ЙW5~$RFᲉ,7ϗ4+A"1Ի]*q\DT!Wz%B͑23p?&ĩN\כ  Ц@0_pu"j|DɮgBn޷PN[(hqfg$9&P4sQKDIʶKMv9Ƅkv^ZV_ǜ q%Pg+l7z^\&=/jSSqU|ָ$-I&뱎)<ÕN$'A}DjJO\T.{{~g*nCe,zHqA[H8̶Z~Xb=h'2}nAVjD6t/Q$wfψɋHǛ}92hN];iVֆf|54<ɑs 0'yZtpUdsF, IgI^hUp]L ݉ѐ)E{K7> G|.m`d0QLu6Ǐcٹx5>'yYbRB+ԜyhD̋sp++cՑ8 -lYZHﯵ#1~7"'GI("Sݲ=5~'!];J(36[8Wk:HVVx`I a-0 KvpqbM=7?8O)ɷ:8{)=&,Ȳ/3Q(Y&5.6 2̐UDR6 iy)RgL˾k+X]Mn]j?H Y$Ϗu,~PNCd5IH  _f{(0\yɜ-MpG>}=_,4jηо֤T9NJ8LqFh28}Kn;ڏS_8eD plx/k#k :vbV(MH Ŵz)*Pi6|S|0TEkNf1ܐUf7GC:^C#QUߕ'~$1!O|ybbKȚ.u:5KШN:cMw \lL]70s_Gh5M l&+f"PB.my6a?EyCɅVrݏIl[MlN;/e*uߋO֫] -92@oOx}+JB^-cVs%8w;/9UsEj5H.$waŁ|'9Kd/h7.0S*/|AtՆd^MFGs8NR9ݎRT8 4 -MȾ+\`Z&I& ` O&\x<+=XӡK'Ϋn;^kxGS,xQ1g. Èb|B`x&G Lu7J214*!6PY`1JN" ?UM6lgX)/K0J6.~^)`lN$<=k*0A[3% Le7i<@ˣyORDW [o {ST|Jh%OscO2EEf w(QvsdfUXܰ $/22~or⴯1LG,_89!-"kz?AHqqzI;6Y1߀'{T۪c׾ TI$杙;g&yHVзa`646uTvq q#[u>y"ZΕiΛH#@=pHq(7bTN/ Ϭˇִ77gMGP?U%|NU4P[) RMgAS&=Ç;!@!oM!V8gIXs%T~Eqݿ{4?P'Mt>Aykp#c/(WyS(L`:Hk!ٲ_n)+DW#]ETsb 0C x>>Y2p9Z֑D:͵IW_PɃn|d|W܊V൨cZg% =ϲ{5'甊<& &RyE6,/K`(^Iɣsǽ5M&p31๣)g"ka^R9r $ YfDhAHm>mp/d*N}ȏM m[)ބ?c>& ] hۊ{ rthQsD IRY:s!YV߉hwtpC J" ^&4C a*88qDSdyx1)j>Ho0Cx&fՋ"9ť}?bbMU si>Ҏ:݈ܥ6R0 p~[k~ ZN$RtzȘ) ݬY<oe"0)gC6m2ƝKd>$ҸT7P2B-$@j9uR˷OI3/4BJ[~V̥g!.oOxDƌAŋ韏~k٢Xh?7FA;oqsdG;g ,.u[۵YKH+Xp9A#zeiw&5Ron;^Fc sG 4q8i:hjBo`>yzzB Hȉ?1av))97~XK8h2Ȍ0lU1-FRYȽdmZ/Z}_;1ݶfſʒDPPBGWp],ȁ0͘{Bcm`_/9*LrSDPqt!WpXaW 3 !#W;̡w߆~q$ JP2T |5r>&f5U mh-#|A]fm%1/`긵hQ[ke(|ЕX|M3f?߲{H.f5[iդ{{NM8o\f&Du[ddehEO][*=I xSCjI0sjR:tƎX%oxKoW(?;RkdX/KZ%dV}{K1ne%-ӵR܀ZiY#$1(?&]*GnO{_=GW D++?Lqxh1W8i=ІP۳d8,-'6Vz0*Ivh+`A%ee6vͷWt̏MY5ۛ؅{&vyVGZ: :$ F{ d+RG| JKbMk͖iapG*=Uyւb+LcsH?5z=w[: rHqO1 M(D2l{^ el2OɄum׬=򬛍zhV&#Ư6gw\K@3*$"%,*U6D<(by+ yv kRr$hXEb0>uWgg XLor~gӣRv"y:[;_N8עؠ#O7ߗl,(>GD5d$'߮~vi+tODL=M5[`cM(kNEI܊nabEڈ4;J*bF}nzBbA/*dUy^pp/)2y b:61*>ɕ},ѓ6LҟnǓ6y954E tܾMuGXFHwmCbD >Ywi/Ru8gzg Ij[8 Gd *jѩu,$联2< l~1jW8mο!{#B e eTӌYEISFCrm 3ڰW!XO]=ȕLc|e^.`ӃMщσOA ڭׇѲrRY_"QFש(8{[@l#LfG;"޽+He.Ā[4Ej"0{H46.Dזɂmz%_YvfXhQ2+# YxH:D,8fXs%6rrηgF/ Y '!xr6KVk֋TQy:!@:@k&&@8Y/՘VMڼ Kö{,laC^a{25e(ߖ&Z(jT杆;[d @H?3˫E&5 E9Voǃ%CG&0 JL~\4s2,>:Hkke ̢쮝3V_ Ox*3_ Ib9p Aae|,bKSINVVTƔ^qM!=*6UlW㯫-iTTObT8y_&@v2(AQ+6o>̘yg/:ʣbBßv0wg?q9VAW4tVXMC_+/EtaN.=cgg8{'-N< RGo0rmX#b> qHpkP}-Pc^קּѨŀDWȗ7ecn1\ff)VG=AgF7񁐎'. 0Xy_塚#:RsNmE;Ե#nF\(5몖ߛO7U59pҽtO֭5!H~-{ niVeBxcpOV ^JYmD?`FW#ejڑcKsխdNJݼVdu9s@#w?ܰr=qGf]wY_d{Go$Ч Ȣ8g PY,nDtCL _+]FEIˊ7ʲɎr1Y8ܯ#ƺsa(L]iCa"uSsؒ!ˠz86ea vA`w@:bAq!6n5XbUo*Arܔ#.ik~JQLC)~g W Dbfr /ibkk%B9xo≰k=}b_Ա$ D*dnwBM[سSҐA5!O׍idsrpxG`_*lM5BNkgVc5BJP3t ]1T~+.:[bkֆ腅#}/^W :,ksJ;& ; K4JEzdt7𤊢@3Us aGbYr9!MX`] *] kl/hJ@k8\ӲLIн <[64"L"1{3^ ,CP5MΈܯSPDC^~\n1\Ix/BF_3.j % ֖:HUtqPT'YXGN_W*.Bp5> 2?cPgm"g}! n_̞t?a cC c{LNZ^6S}@ C ۞y(F' {N)ԠJL~>i.DқI$qkdpD_Gqcodȭ5yJ1#3/\M]8L[wQEi`djvB}~e2]5vRw6 -- ˥3u[EYIxZ ' hkIۡՙQ,f E"&1e돽ԜA#.闷ڳgA%6+P,pYIe7lb;Xh;nSA*$;_nxh`66?RR"{M^ef FZr^?mԌˤHQj#d>NePg=o۾ XA~0l})= I|vU?NOf?Փh@ Ӛ ؘGHc{z X?{ARv3_u3hP"v [1%18*${g'ôC_ŲE ;ÿ#o, .`E 2hwJpm &#v:0p) L 9']{,Z@}i&[ͨi _$q4겫c mzhm>ܘsDn#%=[4/o/BpQpɠVKȘ5(r,H ~a}u0(z~S_n[xU*̪R^T p(.~j&!edOJfrw)ՓQm[wkďy(hP]?2$%'8je`Iݥb~wޟ;N> u;wǦ ^y%*!f_mI#%d Ǝn1wѤoȫz-- Bc0B!,v槺l~'O]HL0&hSoÌYQ`DP8 {vÿSHJYX/+` xK|׌=%:}wF(;I V*v$(.IEn2=,%{C"QVwRN2g QvJ4V܀kfT4 ɖh4HlmMiOE+uS\P gQ&+umb*Vf-i;R+}*D⶙qx#Vf&SlED[:ѳꎦKU6pVF~c|e /fX@a =V]tM?(.1#O\5Eϛ:CqL@)q<݄'3y1V00̾VXms`sJVD6:tRzWKl-sPl3T.ͫxj6@I  d0 [4*E;d]ChzƋ~KGI sf{ZM?uqaNGz$8nJ&YJoڲx} a)X+xZx+X4[#f|ʬ=[׮PǰP{CF?Llߨ]My']6؞bbDJx1h*ekuVEI`/T%RXQKDQ?>붌UGSl%!2*Aʌ?pW hƟ 'D `a8*ENl71iddlvt\Ëg5؟##mOj8FlSx,/}H6@;ظ%&i &O;x.$bmIrA>85h@*q酵#fxl 65O|)2VuQ zh'nMv_{Y IS' lr\bTI1nm 9ٰ>!5!hUNܱE)n<.^kF"JԒ]9J`np!c˞T`"!j^E /+[F%]z0{eBCk*dz/g@ `3ĺٶbf)Z 0fj t֜( o:gc/yqr]-,xzmnhGu|WzJ@0/C^6\?EȰ++ ]o%ӷBݶ IS31}a>z$X+eƅZ Ul^; Ҹ "}6Ic]%nJrG2 f/1[?Wi< E.5 T*M;'<:t򊖮Pawx^&VXdR^;U+rVRFĨ&W. LgQ~%&b98X#AEEښ^?MmG 6 d H?t) 5} Ԙ7;(zn &0LŌrG>4f.eu])wQW%j p^3~zmDbF󠺂1DL5]"O9p&5݁F  |_qw6(dV)?)_ 6QaIHFl@v[j[6񽟣Y9tjA\UkIO<|P̏Ap(0ңU5m6D%GڷLw]8$^ VzxOa BEUy0MFY{^'ch(dv 3 "3+NƬGSL-EyA 8MrA!V5Aڃe&Oro-ϰ\>dXvaȶ'#[c`:W\8!agu͵%a#~8Z5"2]X^a?!.~6'ȱ>pLzԐ^ŅS k0αSgJNH2߲&MҒ߷wi lz q^=)!\TANh!\&3V.B_v4V˂Ř&OA uep+?a`^ Q En?UzSMP~xZhȰ̦[J졋zZ,Ue % ,›Et'p9>b@:D'IJ">Q-}0.RVE֭A0>68Nf=P@iB~%Sq:".O6Q91=;ܔ 4-RI.1T/ n.bmq-v_˜׶*X^]N1\y, 7dGKGcT65l(ݏl2_>{:kT5p_xz{`.ʻT􆟖1ٙ{GKȄ |2Fw~?,N.3Ն#0,rO$i-StપT,\Y.&+*ڙ ͈I.ExT `Ny-D:e!$NiӔ@)EBL l\)| ZjkHZq){=l<%P+ir 8xQ@vj1ħ?i~ }ecj6IA7K3?HzVӌjF$ Sߧ<33C\2~\nx|} ~Ejn(&70aR5B*Da{$nH}u8D3d&P|{[=x6I/B$(3E׳-0Կ'ul,P:ipph+ EAP'cgMo'o4YM#KA\ Dх3zxݚ]y{1Edjِ!(8 O/B@=)X 9WّlLWKG[e;n ۳B}\SՂUO$`;00LrTj>b!&DfxYZ3ҽ9E_6L+-3XIeZB#=Z;*6:(Cͯ'2flV/%K0:p ?Htφ*M2Ƒk$1&_~F̫F {!|`Q$H9umb*Mp;u %ٿw ׏!׶3b5eJ>|{FӄIRZA̟%Q|}!vR M!@!1XhD:Niv2jl>4,Ij fpR/%nv;w6XdhiLge Lu3܃O t!:hOPbD΂X`i0ZXu E4b5nj?Qt<B}>3VJ%F^>f[C#\}" ?%^'dƠm1+Um ` =OGK[-nۍtU8j¨\]ԁO+>QVo#! hקrHZZ "l7kl١˦jv犫y.wܥD#m:& 3[yk Ö eY{p`A6-+j5R߷̯JPPb|>9H*mZFA}6]Gì,RM}G ;\YIx0iRD hIy2L>B;k;x+q}}5@lXN{,O2F+ */?ΞK˝uЀ +.vwSYZPnf@׃/`!x\"]Y7d'$i\asԓ 8][e;#S 17A]TOBR&u.΢>#e?o_ޅ_X:C; >L6}^z!÷ T(R=;~Eo!`rTw;瘃 xɴ ~GǷ RX?EWL,*|~t`*V~ SOКOnqTb^$HZ,1Vd6 4,a]'g.̖5o@OI{pF=ve)Î8lWYG<mZD"qm^N&I$EcdS?˲RL> q8stT.ur&>,nJQ'3]69u~)@tV?9ѕY (bLVJ VUgl_+MWp՚Y^u>礘,rGpnhX+ ]O3$|'Ӏ%sN .867/z 򁿖>֓y%i΢l׀YXIݝ(KiZUa\uj.ː' kwu@+UsNbt8ws$gt;s8C[*Z i7p%(2DE" 1oy9$5\@hƐ+rrkԐf$k_褕Cb6(='XGgZ aWS>:޳t50#a@ZiQ;uViu07Ѥ;)%6I0X'N,Ʒe0ˁ{?YXVc2y6Ǫ8GHn.!"䘟2:cY"|ʸ+=Bv'VS7TuZĉ)a)t3OxƳp>z,:b \ Y(?&Hi V&;s8}DɱMpຄ- $Kkʀ U]Y22= [2 )Ck\5y <ݸ㎿* ,ۙoq->IQ'.ܗ-(uB=-.)^!'_vlMg>+/lMbNgb;hdú2k\X%Noa0{oL)Ӗpү#q=wy#^e:u E>[_y2WjQԗێypƥl䀀8WH?Q]UɹJ H@.s4^n@gc 75l'[^v50 Ã^4tdЋ eRAXrvh0 Y7Q'O""/-(/\!ə8Q=+pC8\]̍PcNb=`fY>p*@ˏƌ JnH&'t/adB@SrēЩ{hݥ6j#=2. B3tdf5GX-3m*W `_ pKvF/ |IRXȴ{P`}D'&YyXFHTgH4dqFn};.@ fR2NOOqSH,zh/C&TZQNݬ` *ƒQ2` IJo蕊,5Od(6#4r 贫D^~HQՑt`˂1=' ܕO]%O͓h[̻/)x8-Gd4NWRYƪP2٢4}>{GxNג$rCIm$\*8fV}T)/2_}-jͱBmL1ZQ Q)bRMlCA3 /q5~~F[i<,ؚ36@RAR)+Ч\\&"RkA\0Ri$w2ʦM}pΜػcӰq1t:f՜QgZ}&h-K;OեC-;(3}qAjlq!+~S-Dca,]&o*'> p㵋ԣvJ驻߿0c*@**TYTE*- ͻ/'iI;_3޽ x{^w(:$x~I|S0﩮"ɟszpMF[iU*ÎM =˳'gvPHCpc]4D.yus!g#tTS__RUn%vڧ?NWk Xラn(k@ט2e6o0jCKiD3.zA"`߲?bIdV[MȢj5YcnP7ϐb6IFUlX)T(鼱1i]BПe ?/~i;W i&ͭ-ecKL - JoOѹZ5jm< HI I:j=oK;BFb X--CbbtȠ &{9 TjP `'HN1Cϰg|R4ޫFG n*^[9QTނ "3$O9&E\yF?fLFN\c> OLed&+lx5IC jB,Zft%B  %i1@æabh!1.}_K7Ns3&ĩ}8Lw5g'hBdZ@b_|!԰a5Ezd,ҞwHPM%ĊyÍD#;O ӏxÌp{A<+r؟"DYר) q f4& /zHH}RtK]{)fyViYbMoX"00 P)>{bӶAm "#)u:tr/K(`Vz!KJu}RQ[hKGQ[@wKI}TfzI=r3W ,~waZ.EfJ(|25+iƊDx=.tfsory=g0h0rت#coMe5۹HEnŗF*njNkE3z3 {^A7O-wl7AF$K'uqR'%찖 ^Z`@`U~@*h;jw1UY8)cѩւUCţ"~@?sjǷ|13ZҶԟf"c4>HjLwL]D$ 򪰣QaĶ`S5:@R3 =?6.߉ЪQ)=MPHf>[6Zp1g >_P C@ɧЌ3_ ܦb90B_]}1OHR*1bek|DW";uF4WTcup#oy|[iB*a#&&wCTsrkB g ɼtГC6v_oS, ZbHFZ^0jM+}@ IչHTJ+\O!zKW5(DTX[Q>=c;E\,FC9 󚘶ě) Ln4إE拿|}(`AxH5EUp4A<%Q=Al==0|D3I #ʢzLj-@brXW.Y c`DŔj-&x0sk[Xf5 vtM^-lWOf?-̞[فo[ r0yi}eD"1_gkdH55s{1B9U3*F$ Z@KZtȝ&P؉}ucGk:ˡ7 Dg8}ۅoPxXٙbΈ~ݒ P6m;p 81Z[" VRER55I#j7\b@d23̖JhtB_SCV ,%r.0I205$&2v4+coʜtfzM~9oGE G6cvLQ ISX7mx JD>\^&uM/FdyZ,rjv[{u-Web40 *R,j!p_fl ݢ$k2؂SwW.1 *r8BW;ʠmV4ܶk DQZ.z[mj#N^v-jz)w\'KKx|(bS须^S+qY? bHK\/gUP N9s SiP[KE")ú4mo](F+ҲBf9zq~Ρ[̭#HI7sͦM=&dЍ34iljd卶8c}nb<^ ͑++YɊbt 8sa*|>}#t chUAY-+ I"$[h E![DAM| +61ΨW?*M J\ڏ.mx?qUaph9,4gvR][w{y2W=k> ˖A8؟@肋E9gf+k?lPsY;@qѱ !jrI,Y+j{ݭ4SLa7VZ~Q郥"jѕ'L)k9R}=i1UhRD/ X4L 9;6}^|0y|+ ^yIxQ:y-3 0떁t;B{ؘ*݋\{ T'ӃdB5c y k݀ic>1ʼnxj#%j$ž-)j@ sKE_E2"۲Yp9.&2nIvڵ̾ ~+Vj_\a_~??O8٦+Xc; Sѫ^$kUz*z]f}&^6BB3ѭ&.F^WM*LH$LO[⸭-[@$*-!oa'6!.yD+1>mN\kR @%vDVʄ"r?QN.]㊬h Q6ƌ5o>@,- QqQoK[7>x 0}kO!USt(^}k0Ltw؇UZ͂ !"@7x\#/{ӳ ~&MgiT2hD%6ˡT `qa ]`/snoΩm㋆Pp7dQω o>Jt7s!r";XPr1d1G(--3̲BVo3hQU=>U-5NcM93w8(˃-x>U ?\mH!?[!|ڤ/1sX(cܹF[V3s+* OaG˃٪%'eQ0)wƙEh8 짠2_xE;I~; 'L+T#I TYQَ܁:x7[ǩcH0@dbi?k41wZBUctzu5.VCpA~~R G٩C>wγ7U~)jS&Mudig[m-(1UQ݆ƥ3EX:܊ EJܩP͵VpT.뢸̀[ي'A+ǦIhUv&=KYUicή4rϹ"qNO' CѯFsnX,J"l]fb#AfWzp%ծG&RgwtB%1 n8чk`Is̡ur5܉吝XX% u'y(vke@e K5v(<OՂ okBU@mѠooxTaSqͮ-pA3"Ru[Ke@:T"H0*I衚`cTP<>?uz+-Rbֺ(PT4{Eg."8.&dx=3ib8\sGؾpLQ{qu"%.vʋܒ;О>@OcŜ$ wʝ1sm|S6`{4ߧ[< <" UY3#i(_\S~ :1.cid!~iзhb:_Rr0#kVrM,> gt j'Zde p~({]F:&R 9zȄl>?'u8TSc虾I5M^62yNh'mysH?<2}c B+Vk1; <ƊD/lM`@7ai.yޱ$s;COR B :SIK\)(6WɁڹ  Ke t#C~/HEg{ fc6rlKTtˣ,8ÿ9ۣ \tFGF0iɓT!e464#vAc#9 ?)HxWt!80c>Hfy5O_ȿN+_?B!ڬ`-͖ʷObN| W%NLd`3ĝk=|$;E_{Pxf1_^ Oo ٸ3ؼ ٰ>By"uA-6HL7M,)J }YLy#6GxB]J3`TyyfO VP+^'L1e"v dD`L9)gz΁0?qfǼaa{w9u %HD1Ln7j/ΒEoPU*Ӭ(AzO3v0P|ᛒON.tjl먆x,'*/kNyoYkH7 0Y? /k,{5AǤkpjH4l0K{tK[s],Z6@GN wCug NՇe1T)8lBD/s^W(k*qk.$bk=ه sJFte[;w֫m+0#NxzR4h:Lႃ> !#'K7X3bـ14OX pi*Z-ϵŨ3|ź{:щiiF%܅q/kouJ6i(兕3C Y}E!kjoPS*@_i,6PR+{ȳ}{~&>ܜ l/:1]p6O2xAbg m^ {yw^8NHzmm'1dBXI/-g眨~ N~@@] KQ@L>'LY>Ɲp ?S}#zl@l7K!:^JS>Nf`b{H6؛x8d[r4.u0>1r%  Laζ]-(Q š}C}6ʰ!6-0%R 2=>d +{5ӷ6J8+ e-F ;ѿmwb`TVJNǵ Q@Z{31q0/S+YՄvC&6uQu!L,}*Ymm kPYN0eP$ܗնC5XP8)@4ֳCsl^ō|*yE /8pWƳ:κwTV *p:PӼ x4"MD7{ܻ 0@v>  x-)#?ė@1`}iH;RL|x$_"| O~[%YF(Uj"Wq&wPDMGsj5mv'4Gż4t*"哖~42sg 㤂1j?1hݎ6܆?%{̾ PlTLZk*Hl?"f/HÖ&M˄x__" '否BբKn U(1x8$y:82&ҎR90vMOLPy@Q],J»{!4C U%NdGUL#]Qb0 ltD}_ #OCKoNx]v^bdf2re>iW۫O@w:4? Ǹr,s[ұǠ#MFgt ҎXoSoB>0 ݲVi#vԄ/Lz}a wR`V g.>$Lp&^MgTP$ WU'ͫVpPF@O(J ߞvږ-v.V|~l V=STdv{43svk+l\dLY6]H\7٫ l2غ nK!m=%Fa(Y7 w4$_ p`(aRDCVMU 9@y- Vg)--b*D_7Eo/UHOuv XHw)ws T @ߠ;]SL˵`̕ə y3 <Ѝke ~$Jʅ%BY l eJ'I9T<,Ds@VFvї&fn0ahzzEKO%&3b/ uG :oTdUA\nW_(kv0>?7&x2}pxqtf Z?[}g[/ᅖ֠N]jƳ2W% =BN3Pk2y(t V*(-Ki?)QS3Ɤ( !_:\MiP"a.`7X%8gUzè"ݏ~5O9.~laa tJϽy??GV`tKiuHGxlA, 4ǕMLLጸfgqɁ?EJ1koye̕Phi,0)B TUv*Qݗ-o*by9Ds2>x+HԵ;_n#څ=C`߱?*+S i{  #Ѫ& ^Ϗs$ͲO(ˋ k!/‘v%.2P2Y OIL,EҶG\T~ xޓWrH\khcrF,*g>W*x>>]GͺP>f6۱ wrG~O#HU!N9kC'PilLlil@|K;_QL)*}m"$e:4iѥ+*O+ps?͂Z zͶDV6pnެc0|PS)ޟ,Ax GCyj}m6_+`Q)˰ZMs\ҫ37i>x, ]xyU9 } 5 #6Khٿc ߆f\!ty7EA?ԋS"|b9\ Jkk \z-)rO1\s}|,9:\?$5Dk\2WʯK)how۲0e.[ M8YZEQO- *Mzxt1q VS!bi-G6z )ͪdnAO`e\-Md#UG[D)aewuv kn oL:L$mDSYfL ݷܒ/&*ca(w NkZۥ%T, ['#GACƑ3PG ޔ+b9|"*ЮHWJm 7a(Al)ՆmYȘʜ>Kwou:!57y SY(ѓvX1H=te=33y›k ì;$;X\rtϽߤOeq2^ S8E~^tdBi1qBiWT3COޗ:(IZ [+[ȩH#ޡ 'qyr7(V`Kp|Y ^ɅRt'T 4"{p6ݽ&j[?<vcd,++ܼ,'/K׏TU 4]7Tp3ǞGSVF$ȴ܎1XmMJrAZsۣ2nХ)c0ѴaaX's97M'5xv=tŜѶ5p؉bo1bc1eHc3)I_7`M/G; E"c?]rgn벻%Xߑ<_+-F7"q:#^׮EJGvӐZ+VTN~A UN͖=@z'qsCqiW=C0NGZUߡ-XޱD[W88WZԑf^paJK[2~]Dbt ,ү/VKHQD{1r0Bd -Jbs{`ʇ۴٢!Vcz#~h=3Kܪf;MP=Tq-21D$78tu5 >ŒDY96xr+Yͮ={-1V2t#„c=.RRS!dhS(}"Ku^=)=|҇[I ͪ«5hXFU2a=x]N3V}. 6{j [ˆX)* WVpl=kV2FϊӷbVWd2njb̘Vyt.{ü|g`l?_秺L9hTQ$*~"a"JhsȃŶpHN5`Oߟ&Pz_Stұw"W,ߙ4ʧ[^AshPx[y&ڶѿ8mUHHv 4d N19R9R0/.d_A7/ +fDJAYS<&?* 6U4+a|{=SgR3hAXh3U'VBNaԁ>,joKϕs l'G] _]zR{} j6'DuK7\!mha5ch<ͳv ;}s3u$SEHHW/@uqbҕd`O4=v\[HAݿD˯վ"SƹX,5^]i\&X) <el$ tt#;cq5WIk}#r"&1֏Qb0Kj&QVavAQ`ynޡ/ f:L77|QI@_kjr$Ve*"݇M8&8)SOStǼl;, M"g5y5H%Tc(KfZ+d8 C(H^tqF^ścd햱.xB6,>h3y4CX3P+w}Q?44:jLobm$.Ip)rN QHlM=kA7baFm:pNXi;2~.3G=ʏGQV)^F1%˜K3Qp֝!_݁"{oL*BA7lyራlpfJ|v6?uXy\g@N^2}t0m.]K2pzI 0o[LM]ٵͳ Eݗ>9ΐDEZ% - u~x "F1Dʧȣ)f EQe)|؄_rG7 WxaK_fL{8+?_RćdM!whx$G c%O@'SJ')ܬBo4 \x6GeP١IwV%!J흫좠ws,+qRV9+[&UQKqYH}beRA0@r}2?G'GUccipA%/VƕD AjFb,\\I,-^CZg]{ի.'4H52g۲gLclHfS˲ɮ caG21ENJb6M<Q"5e$-鄹?R~<I( uOxbN{M/1,5 X|a0_@ξ2tSL9#Od/AaItdӳ>x\xb` b7@|X<^hAz r,*{2R\MhK }-674;^m5}m 3LT ۉ{& Vsf5msU)L+N % w5 `<:XcE^-26uuD .Yj*Ei6*c#wij'H} H(B%ӕx6mz }STG?ڷn8,[wd$Qp7# #2JBٺ~HLT:x4U-i.uM|F/#ԀjU5'L׻)JrIg'RG#H /?/NvoJD5J_V#;985.vk%ߤ H+0o50׼wз*0I)*A@zn@g4k]W)&K|EBDwqQ~ũ\ y.\LEf׏fn:e>rxov{ʥWH~鍧.;J"@?G: JTx~C-h$N=aV1pCiEctw2uĖB&G3V#rMmh(p6yjsQK;Ψ\LM]!;J:+dw/bS&dkPZDHd[g~ћ){&%~;np"N<>PVsTɫ㑙~|ͩ0QoeY3"7dl@%SwWh ȉY="jUm(ej ~/Yh1N/Nl=RaSdUq':ٌp]ѕe'馻Ap &%=]uYsKSb-^:\nCl\]Q\&ƛXP1ΉٵhoNl"3h]!zi2ېKq UsRέͥGZC21y&A;6Z83*5۾bեO0L3q9Gd:[gE73R>d-}Dagy } l~G2r=B?][fEbq:@1:8D%$tYp)j+T`u2C:/?˿iM ŠVv .MPe*AXhxO+~sԉę)+\ S_; = 62Yp사/ CIl>ҸZ+Fquo~s.(l^~Bgq֥(Rg傆%PpcZuPEØ=tG8XWo&i`[ 7z)khy'UQ&lRFUٟq3 D"U@vjk<[θVOqvD#5#_z=-%x)m<7meP:*ih7ܕSR=>!;<QYy 'L:Fj d0~Rw7gcqEWh妭5.D(oy ߥ+zy3Sbg`V]Uvx;3 LT#HR1MrqMwI ) R,"1+Б,0櫄=y`wS+Ŷz}_8xZee@D;5QOȲ4m.L ڡ,s|%fP_!D٠E+ ‚ؼ:iթbRjdW[d)V lJ<$g~x 6b$g>𔼞O5=y^5dʊGe>KX,36K'ڔުs'ŤWK{],ފI0H9gkAr٦|J?r֣y#wltM(#t@]c/)Lh+#!dl,a1;#Oħz7-')tx]%~ 7dx*Y f\`%lNL1GlQaju]8İ_b8w/m2-}68@:X%k4ӶfvNFz!gz0V!dscήa/ BZ2#_VhI|l^cXRre:h@ ;3ttYu)X?֝pA?s xM_F, 0"\&CldUk{'R?~*ׂM| ;:^׼ߧ&`'X0/`scos<7~ŜUVzPƫ~v]&I.wB?Z<fB>VyXNZv[zUkTT3}ǝHOMJ;F&ckx(>Mfm}͋q`巏 m ?ov+ 4lˇ*Xz+!bJ}u/zl9C< 38-=K>p^qM+{ќh\_Mp3&lJ4DDRܸM}ӪűԵ|+7EH%a}yeRU'ƭ2>=s=3pmIkg7iS 1Rp aa穂<^e 5mJ}[Sƾrۭ]DmJ {r[\ I8[3J:闪cZ%~: F`@5Fe:@p;MZ6PNjj+5٩ Ø֪;,Z1ܯ>JѶ7c>PŲќ&Xi+">iOe$*3V[>/yp(_u{2vB{YwX]ˡio.%*4];$X>71(T_) Zc;+QF֊P)y;F^VidFcb@|Sp φkBf. |>ֈJSK2& zKaFS >YyR XVɭF82^-"f!e6Nڟqlo ~>Ww-FF,6e–dZ<CާL\ p؂ғ|ݱFte;& :LÔek7ʿh>5{f50՛f΍ۨzgwt:97/ 9?]&NuA iZ`oc 4lx#RE QEx܈3r0<2-tp\w=)e Pivc%7D]4׀Jw_u!ɦÈ"~H 7JK Ôca4 8 ֯[C"oi +FYG{Xiپ B2:#iBX6 M[hWeq$p;pa=@N&f&MR{W,޹pk{:Ɋ;;E)3;[SJ!Ð]T26-c/]ehZ F_Ja*/%+23zi""ߠiҤL連*ZxoLzSM,@StVK(+T3P=5ew3.Ól&&Fzϲ$4l "`lbU XiO4\S;!+[|- >_Y L2tZcB9; ; zPdm}(ꗻ"sR + `8慨8TXcJU9Xq\>23F5^R>k?$јz~~kӡy_u'DȪh@Rη-.Y4_BO9:$mH љ-kIE93(2EF%ROU]^RNMv^pz,kޕ A΢YCPn͆=De=l1e.]++~]~j~c#8(25&!,Bf dn]2^~?@ٳޏ!m?4ly%7,mj6+SYp؟ɯtk&qz/t5w7Tmj9})Q))hRAjۀc` P2*I?qR~? s^YJd\5 r~ yCE>Υ$ {@e&'O9%Hӑ= D~Fy0O1QGfeXk rE,]H8ބ+W|A?_Z/}?P {m9*RqPMQz&`%sF-&l?v+Sz6K^RU8+Zx`+:/a+F<ޤ%R8a\ӻVfcLciKw-i_t!+w嘔 Om42uGwT (W|GuԾHn$u3ɟxVe2/(Di9 Z+9 hq1"O01-v`(&~tAqMnX2C(pBS\$b{k.] E~ZizV7v>*4SxN,G_=D 2A S@БJ6 e4Ð6AevĊNu]F2#,0g)$QC^|kF #L|zqtC* MXJXϠ\y8>{SQaH^mx7ojvOIԪUOe[ozt̴CSBz}DUH Kʋv{Q)Ԋ"uo"Zǜ^ CD,p|_%Hgo/yJIi\odؿ79Sޟ⤏a=e8?2:O~_ B,sjNs!r7M/DgIVSN XH}|5|䉏קd{FKBņQΙ^nx&%`ƴaȱJa&$[,(PSV]3c2Cȡ Aֵ% Z֤[ҁ1W}IA-T|0Y>_tmi"$Z'65c].|Q&]p5hzI ژ#m(L_FiL!o;(onBRl}ׅ|E$MB Il9p% gן.VB8`␀Xׂ ]e)EaaֈF m|x?MXY4Ax`%\00V-$P y棊'$EPAJ5CQb=|HfD#]*p+s;"bQJ&:bwe-DnWs{]2-%A'lrݴIB2gdQ^wƹՠ2S s\pw~s,Gd/tdҪ8C}NZt@In*ht:Z9ъ+O^7ʼn(h;ǩe &;Ӯ%Q?NNꕝ"WUy;¿y ;d CxX9ҋ@'׸"IhUlCeQ*b𨓷sur]'i -R^{ULفTĭŌswn8ޒiY{dfD荦`'C932&5FOFFK=z;~κ$F+2̫{zn R'\z'~4T}jZRp3hu)CB 0>88z N=%u*Nz6AߠZ]4{ްgzUF-%?{k5wfiߒ`Iʬ_n#Y H¤aҗȁ;]}̒D7ҶjܢTŅ[ GUx6ekqy*k~ڇ4jLM~O9E1DnODZ6Ia7KbA3Ջ9-7¿ 0'ͩ,C4FJXDr<{Msyht(^$v C<*(`2Ilrp4\OR2Sg^?x*N#9Q *j&E fZNBpGZqѡYs} ǨD3=քgNp>&rц󎁗_i! "͓<8',W4p$4БJ\Y'G]|M;@]=¸Ӯ-qI@>MoVۛSܘE %` f`_/ZI82Aj,WY|@΁yMݑNŬC/u`F!mM!%IKfʪVy/WԳ1'r򦊂-ùE ZVLA̶sU} T# n,%g|J6FB:9ۄ3_ Ȫמּ{Gms+| c&yK) MxSf8ru16zpZ7/cAwbPϒ -ީQ }'@<.{X _>B, c5@4yoh6&\٬c $Uoڞ53<X4[^@8e!Zs3e~S1Iu]H'?}ӾJs:=}dhlB3h[3t) .AӍӍF g>nN]?B"+4-myȉ#E<{d-9 uf@`F~# 5$js4H/a^q;5{@er/bh,Tȉ\JަH D?M KS{Ѳ/Bt*ܯ S>fP-st.\q]/ @NH'9qQmL)By(=Ύh<{1.$ǔX [$S\jH0==dF|po nAI0 Ts@{*x^A IWop@̲p c%^T"Be6gQAWCY?L]*&T(Xvj)sutxʣ&Õ#7Q=!x(YP.aC/ "\OzضXZ,tqQ <4q+8VS$3Sy)g1:G$Fc\ %_ހ/k*Ud8wC$KvSBg/*8B?0HsnQ,Nj ZRؾ5/ 9[vS:- sei+#^daAabNS6e-.cJf>ȃ$.2CV<=*H?(Q=,vG葹d7+ b#V5MFa YK;}XReI(ye&7?f:1spֵBω޺|00CeB2ZaNXe'0;L  >Ky40}`FsWj:`EAYf\ZFj XOk"uӌǨnN!>A~31q8Z&IMaf^f`4.nSG;Zǩ)  @zZ⬓j:BuHcewOfdc$]UVHPe`r.4c%dSە~)z+EJ| 4/_nJ?uvSRPs=E`mv k2>B"9}OV6?B;AW(x8axۋof?+ɚ=56c#E|3z~pDܺdଇɔG;dBF~%9#S5W0qkVsO3}r,9",す*N˥ҘyONCYYCo r}k)<֯*HY;%6,WRqFkB65udBr "'B 9҈|+2epQ{ /_9r42+{N9t*/=nE@+evS=)cM!%_)AF$v}>7 MJ]T'iK*jw`ʵҏYV&nj x9 J_pO>?4:0[cћ- NwPP쑦s:nNBdJ[8ىܱhʂTϥTzG _yc mVc\R o. SȽ/Vc,q쇻6Qa?Лn|(n; ^v ȟam߀F~B5Ƀ(2:@FF&]> AJD>2r?nf !-6_L`HI* T> goٴ9Q&RS9s^9dL8`JPm4Of0E36aӂNX٨r)8@Wkm2-՝F鹃-_9)w{ 9X,ABr0e:g xN~D`FLe/y'cԆ4 r7ŠuQ_d1},iIpmUbV1x4zNj  [> PNY)r pЮ~(Ù85| ( IP0Gbv KT&Ϛ_tZL]\=9Z_xFG\yrS) 1fI}@Z>D4R\m|y([N27pl gFi( f)iP=RNC3`P!ڗT>H|TR,(؈bA}ϡPZoԟ 9Lt!KEYuԠj,X|m$oc sֳx)Lƽ1W3#QW>NF;QCy-jYW zlBqcCܲy֬e%Y9A {(({7]6ڽ$R\4Gv y:tt]N^z u2du{fۉ:=AdZ=U#;TE=|7C 4X.Tz 3J@dŊNin$ݳ>N=^ePD_W*eCQxXv"T('; l1ٳ2Pg`t]XQ3͔Ofu%u ڠojWfLfo9R#G:Žjie (hGv>j/xNze'MKQ`MFxjBǮ@L&eeT@s?| 4 J2h?1MKT bX-G#B9Pd{33:p(,A5ݽ`E7*l~KBIFClLMF!bGa44eĖiqR R3/!WH93a)f=_a&} Z^CqeUVR-bz ܗaSWf(y}]jUG2LzWB"C#nݔ!AqBC둋uh^ t|^z3czQFʒlb2xX===e@-`Vszt*zDJ9*Ag}Vd(Ɇ"YJLFlIp|U*_fNgqDh%wiwV{*CKCC A#P}T;m@ZΪT?)ZfwK>2kJco& f_G^dfL/,r'Ԏ Y5Y1<`JH'^Jo*+Aʵ9S q&VG;O/D8hJY%k591ly%lya=XRv9 zQՒIWE43ߥS򕊆)§jD]a#^Y\SmU!W@5\{%~bēVc do CMujo"nkyW8к/$ c%GW@ HrkP= 6H7%& {Ȓԥpq`getc%5p N^}>J:pe`gΘ.(cB_YeƧ16ii/A /raEoDSy gyNZ5Iק3JC¹HsK/P6_`|} nθ`x_u(;4 Q#3t|1bGQڤ\lWO2ݣhC?ɪ FgWpYXyg]J\lrW_EA | /^\Ҕ8x ċ njśj@_XgsYNq8/zԃr$ x59sMz#;X{jZi,zK^Ml[Ҥ7.ah@CSoYb&5r?_T> -%_8U6kg*l}2 ZBEco:hWF6X. o>2Mvdk= ~\Z@82rW+f[s|_#7*gje&lZèW-EwG#25²\9 w/n?=&4qj$vߊyQ-X ( Q'Hݾz4c+5qo~I1xW{ HϺԸ n fQH[G=&,3P J$ cgHWN#a*1kM[5`3PQgZkLI)2|ފ"y,ET.mNZ &{[ݙf/y ,xL_}wZq+BS9TDG;$Z!Y7W10ժs8@)/@=G5`"82 I /oTPL`W.N}F猒]j\v5Mwik RG<QxR<"%rpڰu5 wM%QG64N\%6g8@gyX~@T3 0EtgDYJ`s:m7c-˘<*^ڲ.yCY!"*f]y|[Nߒ$,X+-7d$IfPb~twaGW㢷jB@{aΎin3S+aH->#t3ēpp_֜N)7b>Lqm@i_xW(`[r~;8WT)ysB38 .Ĉ6:f[x.>M]^o$TjO}ruzM` m4+( brݓ(Wـkr>zB)J7TJIzu3ㆴcV_YW Vw8oJfO(Utn-f@gG ygÂ/ ȵtד_h ߬;RHwB z+O7A3=N|HPBS{ sCi WyD*dQ}۔#$ȅh#*q\$?.?~;J97yPIF%Tv*tpJUdK(Wb5*ydH_ Oo9a,fMh1mlCB`Bn'I yV{Z9<;I7i9ҢF#+M>eN<)"+Lwih?OǓk>όj;g5EG &wu ^qa٪ġ:ٚ߷wy~ 0[,)krg}IJ#0Y0Y!FeX;=TGWM}IJz蘆)-[ABH enNp.>S@ ﭧ|!97zb+h)?f 7'a?4$7 pkx10o09WB) rD9[sC5mΝ_w z.bߤg?u?ߺΕ^ \MU3yujH ٠&{-2=0O N;ԣ.1 x"\@JV*ݗXG|AlfwD{+8J3R_fяv-F(E㱵|і~чzhNBA!H Ϯ X$o`2QlM :ce^Jµ.=A4}UŮ֞V*xa姨Ė#emn &-6-`z}*XR=VŬP>)>iMdWM{2a)082Y%,HXuyYo4êN Oΰi{KM VkCTTQ ZsB- _R?04!U׽i"`!r5k;^5ꋳS/$[ ~nBh*lEJeLDt(yʹ;O]x_#I˵J(8@*;omB Y僰Z˪ Y^H t[YsLWb\>߆7v髁>aS3p6a[Q\R]-|*+A%;{ lZ`] Gj"rRˣJ |iEkCn a;'$~9pȪtnLt =f~E?tX]Ţaͅ6 t@H㘽[c9rhvC!BQ^$Տ_h]deպ tbp'9r/xU j|47լs.8X==]Ϩ:Ev&wP 76ٻrȃ9xc?@w+>&{) WgBa|GlYsI(~̡\!פhQ5xQ:Cf} 3DHoG$~閖Hn!1h7STҾݠ2 7S0 1Si?!)+C<~7t](lю3`̮JTp͍l,$\W]r&;(]e͢H ٔj<$;4W_e~t>khQ`n K <lͱ|lFm ;S܃埣 0f#GLvtåڅI%E-;H rŖ;A a_$8\ōB©?-ﱘ&OB? #'Wdž_".TINrkj)r*k[E)m/($mlGi%3fӯ{zc8Z^?(a'T)fεZ -QK_J[*Kxyn-iJboz$Wz% [` 3!#5Sq=Z"| ZN^Gժr7`yXWF̍AM&\<8+;`CUme\|i/AQ%;}Yeϧ8;ZDf P%C)yl4+^t_7~Tzҗw; M2Ͷ1Y-Abxx3`V A5$Ŵ3 ?Z˟y{{4 F5[ynpzs\T;8Cs9 +beGXX|A *1JZYSR8 75n6,^6:= (#NYՙ׈WkRX~]%f}V M uttu cƍ12xO~w-R }by+ɒV3qﲷZZrו؍>/#;*[\$1uF\vklUi|T9K-L4py%j.䷵-PGÚK"GTiN3V]鐅4r-!ٛ쟼qlZR\FmZ-XK NH^޾w}UReQ[X?]~ȿ_x HT#" 奣oj 2a vd>d178 _=ٻgj!6D@%v$e);…D -[)|:JNulTSg.=5T8kc#lzhppCו*Пxt:Oʌ6BbfΠf X.LU/⑓S[^hs߲0.բu 'llZO#ّ%׼>c6U+1ǛZ*Žm),'N$6kyod5Z3dt#1kK7+D5c..Bۃh cw6%Te,Vy=N# 7ÑOGǧߔ1SCCwU +SK+V3UHXpŽ4"2(h`C0">ƌ,}cLˈ)-ĀGGj4cd'RpӢ) Z0Ao`$o7U4)Kع; uGU5%LaڑI>JE&xXAGxS T}M%sVYckʂ]s\WLg `^T6])b8D+zBvmq:UO&}imY6SVtţ ǔ*PAI1=AB#,q/TBS Q1+H 0Rn£HFt*iF-{yGS)˰֕`ңXI}͒SXufDzio5Z\oKaPNG}{EArMꉖ*+_,OU,`*%FGJZc( V屜Edވ( ^9#|@U2#ae~Ӆ(sٖ&kl Ѳf $|z/?uoMJLsLQgdB[*1qo9E扟_;7a5w[FbvUEHMoxH!6JsD9L:@UFt ~ c`7#K! lI7Md U]L*<4ðw``'(>? y@|آ26F.?Fh ht n]Lm&"Ӵ8ǒw *hdJts g@b*`"y!JZ><ݳ0df{ַ/2Ȃ4Ql6!nJԂ$n*kUp|YVh .2nM M|RpoctD-6ڀ%r`zef6MI `*CRM-_7~k*xRmHv$Z HdV 83s΢v:[I&Pa3Tr1 p{ֵ{YWFߒj`O C.dvq JdQv6">۸s(|wO㎋XTTjGMpOlc< 3 8LwN"Ѻ M>9dG^֗2j=u~_AZpy)K|j1 voG\#Ԛ)ó+FDfjMZ;[\/iu BzZ Q{$ G "(_k\x!+r}[Mu?a2j Ǡ+[6$|pNDl"X7 ]o_ъz?*` 10*C+rTIF5G cMS S߶ YZ