python2-numpy_1_16_5-gnu-hpc-1.16.5-150200.3.5.1<>,&(b9ڄp9|5=<-ttTEGu %P{:ܝc]5f@XV;@#xplvQպBic 4>hqJ EkAw0@qp̱Fh'`dU R R0 Y8ёc5m%I#sΙO%XC}Ƚu}'^~> 0+@ʱz\dK#l Y)T0{,p XW'Cr@>At0?t d& 3 t )F\bl    X A ,]$((8797:7B F<GPHI&X(Y(Z([(\(]0^I""bRcSGdSeSfSlSuSv[wbPxiyqzsssstCpython2-numpy_1_16_5-gnu-hpc1.16.5150200.3.5.1NumPy array processing for numbers, strings, records and objectsNumPy is a general-purpose array-processing package designed to efficiently manipulate large multi-dimensional arrays of arbitrary records without sacrificing too much speed for small multi-dimensional arrays. NumPy is built on the Numeric code base and adds features introduced by numarray as well as an extended C-API and the ability to create arrays of arbitrary type which also makes NumPy suitable for interfacing with general-purpose data-base applications. There are also basic facilities for discrete fourier transform, basic linear algebra and random number generation.b9ڄsheep07SiSUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Development/Libraries/Pythonhttp://www.numpy.org/linuxx86_64w{q ryK K >-Y%&~$x ( jI%) xmx/X(` ' g(`#$IJ[@g@.IFTATch*f#s-\,YiEJvi)mH@3;nqp7 CjErD +k\J R %4M'e]>?x^J?Sg L # q%)& &YQ*+- .  tQDE \ (q _ I 0c8grk  #$ D ? bZJBN@ a 3b? -N^[:9>`%&$J!xq''56=5>.%&/$efop3(I u  N U-JzXYD%` eV]U"^&e"# q w /q%,2C&Nch{)h^o_elQy\mRa`Lq{Fd#KuXbn9jCr{O^#%kzFP DA  (&HJLfW2V8mޚ?i9^<(}+3<;|&Q,6wCQn `y}q]ep- 40my h x#7+9 4=P#DGQc5|.GA | A&q AAAAAAAA큤A큤A큤A큤큤큤큤큤AA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤큤A큤A큤큤큤A큤A큤A큤A큤큤A큤A큤A큤A큤b9rb9sb9tb9sb9sb9rb9rb9sb9tb9tb9sb9sb9sb9sb9sb9s]eEb4t@b9s]eEb9s]$b9s]e6b9s]e6b9sb9s]$b9s]e6b9s]eEb9sb4t@b9sb9s]$]eE]eEb9sb9t]eEb9s]eEb9s]eEb9s]eEb9s]eEb9sb9u]eEb9s]eEb9sb9ub9ub9ub9u]e6b9sb9u]e6b9sb9u]eEb9s]$b9s]eEb9s]eEb9s]eEb9s]eEb9s]e6b9s]eEb9sb9sb9sb9b9]$b9sb9vb9sb9rb9r]eEb9s]eEb9s]eEb9s]eEb9s]eEb9s]eEb9s]eEb9s]eEb9sb4t@b9s]eEb9s]eEb9s]7!b9s]eEb9sb9tb4t@b9s]e6b9s]$b9s]eEb9s]e6b9sb9s]$b9sb4t@b9s]$b9s]$b9s]$b9s]eEb9s]$b9s]$b9s]eEb9s]eEb9s]e6b9s]$b9s]$b9sb4t@b9s]eEb9s]$b9s]$b9s]$b9s]$b9sb4t@b9s]e6b9sb4t@b9sb4t@b9s]$b9sb9s]eEb9s]e6b9s]eEb9s]eEb9s]$b9s]e6b9s]$b9s]eEb9s]e6b9s]$b9s]$b9s]$b9s]$b9s]$b9s]e6b9s]e6b9s]$b9sb4t@b9s]$b9s]$b9s]e6b9s]eEb9s]$b9sb9s]eEb9s]eEb9s]$b9s]$b9s]eEb9s]$b9s]$b9sb4t@b9sb9b4t@b9s]7!b9sb9s]$b9s]eEb9s]eEb9s]eEb9s]eEb9s]7!b9s]eEb9s]eEb9s]eEb9s]$b9s]e6b9s]eEb9s]e6b9s]eEb9s]eEb9sb9tb4t@b9s]e6b9s]$b9sb4t@b9sb4t@b9sb4t@b9sb4t@b9sb4t@b9sb4t@b9sb4t@b9sb4t@b9s]$b9sb4t@b9sb4t@b9s]$b9sb4t@b9sb4t@b9sb9sb4t@b9sb9t]eEb9s]eEb9sb9u]eEb9s]$b9s]eEb9sb9t]e6b9s]eEb9s]eEb9s]eEb9s]eEb9s]eEb9s]eEb9s]eEb9s]eEb9s]eEb9s]eEb9s]eEb9s]$b9s]e6b9s]eEb9s]eEb9s]eEb9s]eEb9s]eEb9s]$b9s]eEb9s]eEb9s]eEb9s]eEb9s]eEb9s]$b9s]eEb9sb9t]e6b9sb9u]$b9sb9u]eEb9s]$b9sb9t]e6b9sb4t@b9s]eEb9s]eEb9s]eEb9sb4t@b9s]$b9s]eEb9s]$b9s]eEb9sb9t]e6b9s]eEb9sb4t@b9sb9t]e6b9s]eEb9s]eEb9s]eEb9s]eEb9s]eEb9s]eEb9s]eEb9s]eEb9s]$b9sb9t]eEb9s]e6b9sb9u]eEb9sb4t@b9sb9t]e6b9sb9s]$b9s]7!b9s]e6b9s]e6b9s]e6b9s]eEb9s]e6b9s]e6b9s]e6b9sb4t@b9sb4t@b9s]eEb9sb4t@b9sb9v]$b9tb9tb9t7caec4ca71e116b1935c71bcb9a7093a8bcaa0845910b26a18d87fe07f4e813e44c5b3e02f6586c904f5c0db1c36fecf999c98e9113bbcad36403a227f05c405c7d7f28e5d9dd44dded98a60d3340a4570ecd8c1803223357986122c1f7c4926d211e533a1012a1331ee180b62d9e9578c6fc576bed98ae05d7bf9a1decd440801ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b12f11f0c43f6a0130d183824fec97a9eee671f06cc9f51bf6cdfdaa22088e19601ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546be09f656c130b9c08b2c5ab7187c891295e449ed77febea2a6ceee9cc98ccb0fc6b5086f61fe0c71564a79304ecbaa60f11fa3f3debf82f73d16a611cab102adcaf071e8f567a2ceabb85b44556e0bdf4b3c629eb8fb33c5ebbcd978962fc7d683d1dd6acafc6396690718fdd1c12b0d2cde5597fd2063b695459d2cb24ed6c24e9ba95ebf3add32b201e50e1d2685aa28c21a3ce5ce460b9384b7266b49c77d503dba1f786b6d8b36304d68e082621f39f4fdfe709dcc5416003364d2653d71d2203e448adc7f5b82315e51f5ae5e18caae07ad425e73b545bead3ca31872b77977dadda5f02f663896738adfd0804678fdde818702652a6a6d160ee2b3327e6a7cc7111166cc6318f51657da4c6378f3ef9359c432e9a4678a6876d81820ea3df8acf9edaf4e80b2e925d87eaa6aefe6dfea7f6436a23b068dfe5f9a1d862f578b58cc018aa6a61e87aff3e5659adbc26b157f822b6a2bb8ecf94923516e2ab3d00a1767ed7c745aeee88b06733e805d5272b4671e0a0f1c62a2119b0fd24ba30795ee2025cad7875c3848dbf49b3e6b6d44c08c0cc79f23b7aed6d25b7014a162d60918cb75db3b0cfa00e682434a5a3e491388a1093d8d43924c2727deeb7c44226505866e150334f62c98f655aff20c01c9b1dcb44704a2d49c0e3a1ca45fbd2c1426c85082f8ffed6d029d4d0c4e78bfb4e51f2d29b2dba70a819c9e5fca4112038812c6b27137220dc377dc3b7659d340f1cdc906dc644aecc0da0f1342d8fa13ece75977a17bee001fa96a63bc42d36e8fd9543933622ad40ded18cf144425cc0d53b11b7f00454b51476b3189714861e74ff9818b6daf70527330a2329e2edfc16019a5b6bd1edd3f4ab5117c5025f000c57a0fdbe9303ea03f87b00e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855288fbb46edc86b94f0181981593337423aba1bf0853b35f5b8877efbd31e717a3109a28715f28f16e7d65f4df7b0c555ec273753dc1409d6a013b8d38ba70b0e1600cf976d6a11a30cfb6b7d42029760c0031dde02d8ca6331a768857a45fcf8fd009a83f7527006ad20d657f2694370675a6c07a6913f22abd1a25968168ac13d0d37b7bd4892c0ab24df30f4e4dab5c469b83a78490170045a30402c301c3cbce8ab90a2f0fcf06c3e98dee2611bf1f1f4181be11187a9d7796bd15306d20672ee500c93707a55dd1eff51f4c6c5553f143bbd82a09cb3f913498204f80ad9e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855c531a98c87bc23241e666ee85fb876283c00a2f99561d8f489e9102cebd6574faef69e39ffb2a6a851adbe3f0258edd825d7eae66b5f4493434a50c255d32afe85e3284f45a119564787ac414c47a2f66de38277d5e45974bd50ffcb0b213a63b2b54f488ea426f5e3cc8be40500d4d62b407d3faf09929eca3802177c82fba422f28f6d4ea0b2533a09f0934382389a2edced62ac812111514870edcacffd3080ce5781a8d0fe2d1642d96ee266e1e3980910ef16ea891a397cc33e65ad975271cd8adcac8f6e261be8c3510b040ed5217ae91af0ad6f8f65aa93b72fe4c78a29e01527ac085763ee28c960bde30ac984060d4000ed02098ad809cf2e84a336dd00d4276140377d7bc94e5f13a94f74580156b9c16a2627524b93bb5bd69a852d6e65511b22a7218fdbab0717a8ecc523f1a835f2f32cf5838b24e686ee7b2363a45217bb78085a75030339d8094872b24a5f76da07fc0f30e8406d79be38115fe936ca2377574ebefa9ba303350d962d19ace2414c6fb3ffe9a1b19b6145c7ddddb41bd09af36bb7c0cbfb7275167ce43825fc367e1b22d49d29120865177c89a05f673acb5067dd3ca3b48845508e9a793022df7fe8070de150bc3e3d785f34618685a15d539786894023dc64c80683a05ace2bf5a4cd96c136afd3605fa4613a8fec38336fa77bed1fa8addb2cd64d2f03d96cb89f7ab4c160e3b5c8f088f3840690dcd1b652066561d6bde9b7c5af895e2a7a39f2f892b2ccd985af4f7a140d8fcf938aa9c2e5d5028b24dbbe1131c8cd0d628b72c7e6949d1e16647d90819a7c1311e6b45d6ae81cbe0a9ac40759ef7a7917f2193fcb8c8e64e1740a30f9bf0b6e4ef0c9d5a7f75d93d83d475fdc5dc1676478f2ee2b8a7f4ee606442ff7e193d398a2299bcc023868375014ada43507345a5a69aae7f9f47963e9f4bedceb4ba25d330eb53cf08d2cee1cba72bbac7a9b2fad617fe1a05c197b84b765ba460da647a2d02a22ec339c6eba17b83a1773a925e6877199ccbfdfda6ccc0dbab125d40feca77730787e1ad54f6e49825f7c02941e4892b2ce10303afd0e7781199996baf2b8b80d40bb058cccd9cf85f68459d3673cea7e4a624d6c2fb612422fcd4ce5b4c60a1532d22a6ecb3d0693eb49a8e2f8529ed33c3ac0be4dee9cf8ff366e5b4c3068d4091a588c962884674fa712c4c6e70695624b300ed7c43c7ef926e42397b2c02fdd0ddbed0096bdb0a2fdcc9ab2234b6a6e2488f97bf9968336bbc46edb58c58db6b434995e3bd7d1561e93809a4dbb2e7857b1d43921cb69526407b5e3f9deae2c792064bd70283eee02c04852243b200f2b5ae1fd21c92fbfece5fce03a223c05913aa7b81b4325bcbe8c9bf0aaebb603040fb52a88fe668132255b4469ab0ffa0e62e68aff7e04ec39b428b62213e20edf01892e9341d090584ef7a451e272869ed030ab562522be2fa9553617afd7acb4176a97da9520662f389ca55f4e0256583b96fe470a350f225a505a25a9bbc803322ea28c1dcc651d7970b0f06016972f0c0932fac56132a010eccef883a5ce3b49b4bf0616561eb559efbf36de29e60b39efd283a44470744a5f381503d6feb4e11169f3e43da9efc1efa62c32c5c3d594f74c7633b9eaac213df49cc10f5f3a5dae51e29ad9ddf5c950fcd2f28481fe4faf926d0e39d58dcd832df89745642eabb293e7074a30ecf447ceb30132f8006052bf5fd3dbfcdec51d866c055d195a65b3860a70a983829d57b81e50e6a12b7a21e4eb97b0c312ac93d734caccd47dd52f7f57a2fcbb16575792b4dab085d8983dadb9dfc18be3a7677d5c13e0cac8d736eca05c91a99436b60a0265ea41af0170dbfb0f9b0ba8787a6e70a1334ff9ad90ac4df64ad881feedd02168f9e514004844832e3bfff3ae740c4f2fb8277b7af8659832c0a4f04f83c34baa7fa658ef1380a49ac0b284db7de833878707b739fa76b376e1212d49e8515fc489b46b1e30fd619b82e0ad1478a0b6b6d309512d4cb868958c6dda70f1eea9a2ad6fef170b0ecbd334232b52e67002a8f86187baabaa1632a688d1a1c395b79ac48273673370197a901de43f7c69b23fe656d4bcad531c991b6400c09c1b78a965e48eb4ab9d1348c0e4f14d5a8f5d90ec4afe29182c59b339a2d0c6ed4d42689e8690b904744b30120a5d4aa2aa60d36aa84882f37c2b93eace1d1a1b4adce5665540c3443afcb01d0436cfcf38f51d4c312978feb08da4f1eb07e33a525a08d49dfa5ef422b40f932604fa2387a8962c6103cdaf4f8b617f3061e528020db43b412579f9f41d2764cf7626088c4255a460556b671b3aca392912ae10bb765eb770af4faf4aade17e6b32c074db930da0f57efe8d7954d3b4eec07cbfe94459df12d20c98ac0299f9bad51587c740e88611411dd3f80da4e8df68ab3e7727fe5e18fb11f43c65b6463125dceb680d9d262974c418aa266e3906be68365e68ad1f337590b654478ce132618aed5e238c74449eb69fd36bac6b5a0901d75a3f33ed4c670f222006ef15b22ca853507245d3d1d2b43a202fa8daba6ac8f9e58d8085918d656b1ea07159c90c5b975210c6008f2520e9df9021b9826cd48526d9e44f96393c91fc5fb76bb83f4bff1e46e6d737a5e48319180b978e68ad5b1b9401de1aca52c4aec790452d61dc139cd1b0235536ea7114d87ae128e9e498ece417cb274ad4e8f52bc65fa1364eb27b921cae96d435b0faebb530f8e08b888dc6e3dd9379bbb053ebea634eed2a30a973ac0630a8a10a5b71b4add1228c30af2429695af305094551525ac0410fe5ab88de34995afa14dfa455230d92e844c5c56a5e9fc93c85c15ae60c43ebec32358556514c0a0f6d3e20774abe954136c7fac38c957cbeb60d7e52786decc29a695e30b40611ea641835b5fdbbc9c811ea37874a6f973aa6ea1b979bc1b275b60078d2bb5076da4e9ede5ee2189760122832aaaacd0d9afc33372b0e6a4ee4b4fbebb2b9dc681d682cbfab57bae31a3e3b475d000115585f0de7543a9c87e432a47b6140e4e6ad18f0f6f5af071e8f567a2ceabb85b44556e0bdf4b3c629eb8fb33c5ebbcd978962fc7d6848658776e1107db096bd1ff05a98dd4a8c83a7f00202198a93c14de9c6ed24c16fddc76624691df482f44f863e25e4e8f583c10dd24c9e2b973bf1e8f8471f5920336707aa784decaa2691a14b876e295fbd50c88355b2345ab2ac1e33c6c00a4924592af19fbe0fc6a586d75ad23981a4cad0d196f670410b236085a697061fdddf57187be2bcbb2fef45c4a693fa16ea2438165a3c4729b90dbab2b4f9f46ccca8f2e7a930e9ead83caef587e69fa57f47627d997901d2329bef6225703aed43c02b221743278631f9509a9441bf6f7eed838f12b9828f23d9d6b05d3cc8f37bdc83bbee0135f72b4ff4475c993e6bdd6a5b0c6b40eac85576dd8ff5f6d83f41bc72d3d34459589a90020a4096d45da5bf57652cb7eea4881d481256a7b2d7979afd698c0812ad43f8925cf16154c40064e88a76f05a512bfa24ef048b45915acb39d24bc418078132bd6f1e2c02c5d5babd9e287cd7334486e1ca531e9fd545c96c0c1e7eca51360f6fea3a8e09f579b1f58c7df5fd15076f1603f5bb0ae8348441cdc7656890b95559f259a2a29eb731cf6df90bcc5f4ea1e457597e25cfae1848c85ce47793468ba95969fb78e0404f641df364544373be649496276f0f0e9da63dc505ed714502c9e6bdb5b77decb4d862ad281b0d8a715ffad36be865e90f5b0ee6eae567f04752b9c280c55de77af76b330f446afb90a4bf6c69a0ae385c30c9f5e667bcefc3ca5b39c96b0a73fca4080ac64c18e9d8eb75ffc21137fd8deea48fec95e920324d82236be994e5e3e69d7f6841daf85f7f9c9d073a08e3a3cc3b1b59d9fa48cb43a9e8af656f21f3c96490bc92a6e1329fea5756a4ac4174bf675beba6f4eb4e351bea6f67d6ea68f73963a38a39c9ddbb4aee4b25f49f37b4f9ffce5aaae144b60315b176317b78ae63d77acb413d8d9b4c95a1ca1ced30462f3d2f6b43d6eac117f9a523b17773be1b926c91a022b3229b5253c2eeedea50bba46168f868b1456ef319359bf17b8ad75a366dd5290a4d7ea334abf8cded7d8c70610b726080a2db2fdc20b3d237986ee5b3e57635bca4be578dc2043726f00a9bd584dc48c8bd89b2d8d4fca0561ddbb7a7b8255101e0768c7b017869497665ff1692d302afc7f5bba6280256e53525468effa5cffef24df38a0bcd37be6fd301290062b54056a8a642934c5a6c598d3172c72fbe5788e67000f6e70f1bef16a52d28f097cc709f0b60ce41c3019baed8911757c967816b76d81501ba167d293162b5a1aaaa500f401cd516a3ceb63a0938f1cf31361864fcc9c62d48a253124fd8fc36be75560e1c075fe1cdf25f18e513576cafe849c58d26d0f5f0ec4d6a64dce31f448dc16e7655917da33ca0247d2fdd0209d94216c5e495a49d8339ca384ab462a1ff7c19c2bbc44012d81ca95dcfae1a53ed224b27129170e7fe7aedcf77ea265781dc9a4b683612d00f6c4a6e850a06a7190ef0674b5947a5d882150890b88a5fff199593d36397b8a8c18f42c469fd2916d4f80f5e05f8f2ea4433fd7044f1bb9d5070756616d3506f0b6fafc50580af8e73e5adc2fd39a7ef6fe48b9ad31a85cf90d7590f6462ece836a99c5c0f3c076ef108647867dbf924e33c2d0bc8ecb0f5054373b650a2cadc2450f1387856e6c6b6be78bb74b5ead50edc56c5fdbfdefcbcb7d6aa1df6b078c87036cfc9b69a1eaaaf2d5ae3292c33decaf0de54d68dc7819e044ee78c1546be897ffc89b0891c84c6e7e3a1b9ee2593c3ddedcb6b013f01f083f10486042165265ee92b0a75f4d2f516d447d0b324bb86b0da6e959ba264ce3d1146a7e2d8c88f2d6859a77f48ab5ddb0c9d3435b670b7e268a3cd33ff54dfc40fa62165e6d8bf4c9a1e192e1b7b1c0baf7a8a7491969b349177c766f9eba46c19e972aab0bb18c5036696781dddfda9cae376b479a56f44730fcc74e1db303d712e6bd1ff6fa1ae1d66355778589302432af04da16ed3d291150a429a946a49fd370fd01c318f346c76b5303dcca20d5021f1c73916f098098064e6c9edf84026132242dfb1706f98fbb8b6f802c1735d894db280ba80f8714ecb91aa1f10358f1ac0c967f68b94a3f0055ddcd96dd4ba4ca96268c363a1c2f119b3b1c8b16022bfe7c32f3308bf715ebdda7529c3bbf245a17fa839626fe7e1af6ff159dd821f6c1b3f05bd00db63c86d47d52f67dcc8ff9ff4634dc960d30aa7e70fb269dadce9f6f381572789985f25b20bffc5d96de7d887561dc0ba6e7a41c2e5f8d460b1167758ae4e1aff00d67096fd6b7d3f38644a3d3083cc0ecd0d4f8a63760eef1f62c2b009f2a1cf8451608489347203e14e408b7185c0893062e57e6f7df9becdc62b2d231cd7e1c9436ab0926b3fc68e0e8995a328c59d7b0f923472791471ef78c297e04e5d63df15879ff03f8e2b1d72efdd454226098399e2c25a0a62c428a86a200a0e52e2d1f0ed32c685763984126eabf363816fac3a878405b792109c05878d7599382c17b073198b28eb559fd2a80672dff6ff067bee174c0a52c244dff47fe1740ad8082e6dd4277909f69643dcbf7ce4e96ff1417088e47d346950580e2e48812ba0ef3ac640ac6997be10b3f92c9c2547b101067e6d270fe6f7b50a7694cc05038659f91fcb4188de06a9bd5b00a6e3e6e1abf1da460cbcd12096dd5275d702d17fe64e09aa7ab04d6bf2fad415b9e34eb6e375acbb58bd08a1bf808007418feb04b3576cf21442dde54174e1763ba56a511d57a6f9f287dc130d78528ab9f9a3606e524ca8b233370989d92177cb578512a9a0850553efd91f376382743735e38bf90153ffba7a1b2b603666f92e93339c5cfe9ad707d92cec1141694b96d259d82b625ef6699cc104d4b22f1b1e2b4437d90fc9bb689af823a9df8ccb114ac15eaecf686ce99fc5cac8ca6b2baf11440bcebf22a887e8ec0fd278643b0796dac69c9fc0965c542e1cba88e1f72fe949e0f970746501f9df2693538c2626209a0851c02ed3ee97ed5401d1e7a078a9243c9f8ac48af7f29d92fd40bfc8431d8dd46cb00b8167c13bb71790f01956bdb12e754b29c3aab7d0adb229c1a176eb31bf2f8fa96b0cd33cdaf0c8c2c6935fcbbbc22963e727933724f9e33007b028101f28de61157de1bc42f6cda356ac5b86da4a2b0777976aa4114a88324d4d29b44109e5dae1124528e617d02deba802ac16db56faaefcbbdd5fb6bd300d7936a3486360d73ce3d416b535cd1795149cd5d8605d4e9f11574e0a5fdd21e3f23621b62cffd918141ba65712856f5a5b01b6f6672e91647bba13a4c08360595c70d494596901da9e36da2c105115a4b659c60c5ee577123af3d241489ed04b14382957e39bda33afb8a5dadc958ca49d3ec60b58c3261782df0994df0f15e618116077bce98590dc7a514157cee36f14eabffa887fed81128d2c24e8ad8f203ba0ce76a85bed70223c1991f1ba3e2312e88d6475a22d155bddcfc4fa4741747065c61f7c3d5dba7965416db0d7d0df7d0d6573863b0e2366500540ea7db34edcbb1939a466bd1af9d4df1a827fc27a24ef068a5d0a0561e7e1c34ebc956d1ad8bdfe2bfd2aac7b59abb93b79065a6da26ec9404862c535da84c3aeb536c4ad4b72e2f8e3473c6c838e118bd42ca837a69da0501ff229c841f083101ccae5c188de12c8596a479905eec7c8890df0d6f19dc1fe9797889a4b324f7232fc3cc214017a5c1b89ef0cb87f060976e4dc5dfd49301df43c34a836903563ebca3d105e34ed177d28b476f550bef7637d4428ce63dcd5b6ccadd0fc73f3a5f2cc1589804bce10ac52e5e23b16dc124e0eba1b4b8d3df79d99b91859f0a183551bc412aaa36e517a7cd2549375054b510f0daac7f1272b297b77e174d2b33c2786866029abb8ca925debe8b51fca1beeb324db50d0e91a6bafdac4a78a69ecda7c902c0e7345dfa9dc5ad625f43bec8f24f312471c6ccee4beed303b6a846a1e15d0e6bb26c0ac5fe7fed29a89139dcab70d2c9db5f96209b22aae2ed8dd0da36c26a6e5c0de70b8cd8566c625d51e34bcdfc04184c24d2238260755aff27481e01acee4f54f37671056af27015e2e3a63b2751312e6824caba8f591377953882f1620ad335368fbce9d9c74f12939fa201357d39cd075a33e57563a926682dd3a46d84af2fd695a2fad81b2d3c5686cbf6994dc5485b267cd68c0e3b3f623ff4d5beb6e56b8c6ccbeb68c70e5409de9a7a18258986712f0c089e5812d7e95f38141db573b1af4db0dd3ec64f19b7b8a60d0d6acebe8f3318b4524474354637aedde0ab0c3d1b027e19b7bdd72c502a589e5139df1a6af6877fc2e462095d9954cb9d907fe9088fce6894762fb7175564b0a4560f4129b941e8c48b9cf55cb20c21f677bde382c7461b63c12958ac6a795551705e23ca2235a0708e007d5a00c2e9389a0bfc2cc176ba35420a07e1919cd4b6813b67bbe788a29f8625a3b14dc25060ea73ee75732741961d85585ff84dda0a7d7fad95ac75afb274daf984186cec46221332ad4d8a86d62665a0b792fa0a0c87cddb4d75383a62dbcee741eef8b7b9589ed3ca9d93bda09869b7a54da50ed28a8db5601347fedb042695cd6685c9822ac4a7748091a713024f175bb0764c8e1f53441efc170864e1678f0cb8db701f1075d57a96f26b25aef3df94c43186680a9a9c65e10c53c7126ed734bf846b1eec5b3e088227e848dafb51f41c1f17bd26ee39bc6899ba0738c5f6345c1e0f90bbf4ccca8afb69cecc05648566e360c89a60468d6931fe153028e8b4b513d52d0999c770b59e61ae18041dfe1f73e044ee3d88cf169de76104881b5828371b8e972ee8dd5331f87df93ce329c9c0779f7410261a0b208d28f4d03f41ad8dae716521b3655922f22c5a96b71cce56359ec45251db81d2810491b7033804f780107941678f41dc0fa33bfd83cdeef742b143809339fd3d5ca15ec742a4f0665264606cdba24a5991e41f8c1429872767a93797148e0bf22744148675d6df6ef30b4531aa9c4f8b9623576a4c1d677007f78679870a6f37272feb5c7d14eeb422a145837c559afacb2a73cbebd6a950ea395b9c45b53b15b10bfd67dac29dd10ddf0b942735d16e02434096f5c5f7dcc8495e1bf71714c5bc28e124ed1851b9a3fb48b8a83226ed130381e3234697e5808163368b8e4cbf2ee202cc6c95bb19d4f4465b03da75d5d7f48404d663f507694f9c5011af66a76f2f14b45d26ad2cba30246b8d5f1be2eed46b4b88b985f7494208b0cddebf6b9332c110870241f776d2aecfc70e4f8b354590cebc9206e1402016facfade4bae74c7e54529df8b6fb34fa1501978c6b71145fcffab0d8991d87f1bc2f0451bb77bda4476f2c5c203cd178deaa9e8ef5600e862979167b2affc9d73a8c4d3f3634cd4ca55e183742cac50afc5b074825ad05b7118d920b01aecba212fcd8ef360b394330681c0851f4cef49edc9f434b085d0bde0bd37209e8e33b1e7dc034ca3c88ffac66d48079b2374422e9d158916316b001b724d2195031c95feeac0b5d504f536560e8c9d592455c3405af41727f88087cc89ca8339b9043a714ccd22c36178b618c1918aa32175f9ec5e4a7c8687f3131debb37a261d452e43575433a9689c5e5b84380ed87834dada23318679c1a41e1b7454f4a526e72818fe311266983d4c434ed1db330adb65ab9bf9217bd78cbda95a0e40b66bb0512d8afdd0a928daabf647bca24e3b3dc539703d87d9682127ec2c34f437e9d2ea1f2713df930b1a41a4d28eef13c223a9b265d2c361776f31bc09d90abe253fe62cfb06e1be6c210aa0580b5b0d479b1333dca1b229cca7b1050153d3ae688af7fd8d40290e63228ce8f57f904662418245587838b6bf5b26db725dc0f59c1f6b88a172b1781aef09c0eb822662a6e94a7c9dfafd1d63defd2c9363607bce1bec550dfa9121dd7a74a5ded4ec32ebeb657b12332544ee8abdb2bb789080c72dab8fa2f353809749c6f601e9d8edea77b3c49412527ba2dc288ee62db470fde855002c35a0a8f58e6dc5be6470d03009dfa38d88eb4ad147da43a706f8f9811047ca69d624a9c640313a24c8c6db6e10108827e2e4f7e69060cc4ecd56e27ac0a548cbe073b169b8afc5e1a32a2b612220a3fdea86e3cd4cd55c6527e934f9a7efe743e24f7cd24a3b027685f47bcf1f74436d12069711c0f0e6d23b8f32f30f92e3bf564e3888fe3b43de83613641a5015779996fad1b24e23fe20426153a17b1d5f829664f9e6cf48d1f763b1471b3af1e917f32ce6e0cc587904a72d768aa186c880786ffb636ae0ce2c23e75e45b30d3014be1dab5aae4fe8dadfed33b8c23efcc01c694f7163f513dfb07b6f5e653e6991db44b167f81d8d63454e3cfc58a7a96fe32c95d19228fea0af2c2016c436b4ae1bbb14dad39a95d8d62b0ee4b9e78625cba14a24fd0f0bc4ac5d86e69f8a69287ded655ae993f59d208357d25626aca260bdaaa1231501bd100bcc3f3e6e65ed92f1c7667d0f98a5814e14aee9e9bb9b6c58066e52fbff1218195aa1482a8dfb26d02212709505c6dc01d182c48501855e3285da7643bdbfe7416ba2255ebae26bd04b864e242df20192cbc87df5f9275031120aae347852a477df8d50d04b273f7b18068a52eb3e7bb023402ab4496dc9b5fffe0863f756fbdd0817706a5877c806970a0ef91ed2403c1efaaef333469ccbdc9ce5ebf1a9c1a1205de6322a5f871831361e9020a4bd42375bec02408b10c87b41aff7c7859b0cc637210b0308b74e0ae07fe8fd9a11c54b8f0e25602c7530958f39e4408805127df848c3a2ab68169947cb90772b3e5cb8f499dc32d65d016fd6544a3754e51b8f3bc667b1a4915aedf69a05d9e77b19b71c99ccae4998e15df7d046ceeba5fccd5336b62331298f4e4aa128e305e68b9160471c9d9421e26f1f87bf8dda80443ce8f3d0eb3f9a3015336b6f61470ef3c3dfdd91cb5ffe2108d4c1b558ac88e243cf52caa8983c063cb9f77bffa06d8880c9a792c01c3322dd2b44a8fc3b1e427d336a586703b2df952ee11efa3b4025635d31ac7c97b11128bc1133636d7a7708ecec680f55a6d9f421f3f3b5d14ccaabdac41c1f619569a9af284d6b412632794094308623819720b0bd09950457759ec0d4eff4721265992715550b87b1b3c1e888390bb2fb360bee4d9050c50f49038233e448829e71c88a2e7ff187e5c1b85b76141d363065cd4b817f27cf2ba531e753353da33229e247e373808eb71342e880c49b29dcbb59ca77753bda1e93f40a9f05b982e75d7c3a2f54a438812ff93821876d7ef60ad1dd527935a5bf0f784101955c8877b63d5a0d767c37dac310016f4c4861e9b9bfa67e031d902f12a15fab72a765d2554a6825e1b8ba0aee46e24fd1b23bde2fc43cbf124ef314bafc1332aa6931829610fdbe5f647de4ec7b1fa8de5e06e0eec65b49f1fe755a9b460f7baeef6c18327e7fa6c057cb294c5c552f256ea89bc825c7ab6142a924afab44732d5842f5efea5d6bb489743f1d0ceb816ceadae1d9bc8c31b26e5064f12b201bda84a9eeb17f1bd657618ff2b4d7702cc7726f51ff2bd965a7ac1724933da1dfe1349b65ea5ac5fddb116b330017674a5d01fda46b0c77312199b45064688b81a3fc7e3b51e654a3af37b9bcd49300cd55df56ab383e7fb431437f7e3a32221c1076a679ac6f7bb41bfe46d5e1665da544992d1418391baf518907a1c17bfd1482a26a15352ad2a5207f98687a2e056c47200c2ffdf9a5e102d8415c149d4cdb9f28452e6a4c47c7ce16b0198dbc26176e421c125bdfdb3adabd07c0515e8232027743b5f9afaa575811393bd102a93eea3a957d38e8955a4e3c5b7505e093e74e6ec4dbbe2f28e7d4736b5b2d5cc8e13bde2195b6965c8f2dfdc21a96fbbf2b9018d4b0d8416afa680608bf6ea0d2f07f2d05d779051f21ac4e8436c200a59ba007ad8220c85935806b9b41eed55703b264d9ca5189fba4353e4d100459ce83e5f81f8b60f6f2c9c1a1aaabc2b20cc3106ea42e59c925470f5e341fd3b36de0a09e3cdb193b086060b3bd51a9542b9d6b534fd75388938b57c72a9ade9a7e34046ec2cfbb3711b6d25279c495c8566c1643fe12cdfc72703270e46b490c47950c4a796d67b5dde45414af32925d4ed32fd9f58dffb5bc655d70e6f928f15324d7e9deaa9a9843a9e3a1550228798c93216402a61e587e1c199afc35f2a22fb3a6545d079a4e4b33ad647650ad2527c83a017eb0dfd5a90a35547d95e909390a26c60c7d10371b0b328ce0062b6d488934e62347adb7f3386612e30c378717c1d6593626d0efe6cfcd8cba9c7cc59f742bb9358059458cab88be6390ac8a09b29003a6a2906dedff99564c2f33b4d79bfffad909c4b00c315d30217acce0b3b68c0b064c9e4357ce780effb343ef853cb701110fc4744b64382166d8179ae49667fb1855feeabc4886fed1a2a44ec5a2fbbfa357bf2283f7a242b2b35025729f6f55e8d9f3d98d66291cd8f13ebd1a27e93663c7b85fac07307c6ff1dbee32865814ddc3fe9c91421f9e221d8a49200700f2f2b89a1880fcc7871d39ffc3be7842ebfdbbdc2273c8e7350370a448380444238fa29dfbbe629ddbb71bb0bf796c8c933cd9976187db7af1d42bcceea23e285d804fd02b71ad4927e960473127147718920dcb5921fb1592df78e39af9c24f60be48b87764d809025a890635bf7aad95bf020bbcf734f5b5760635a55a95ba8c28b637bcb354f75bbecc157e5e90fd21913f686e93059126388be4e89d49f749224bd9a3b01e3d2a9830b8092628667f439a0f76d4bd06ebf599ec111fcec194babc80f16afdc4ce5b15411e0f37d4dc22088df7ba22f1db51bb9050b0cd9b85c437e653c9fed8b1b81499b6cab50efc7c3d9df156094ad9e90d5e3dccb6b0ff15b9766142f2c0682874bd820551d5ba1e7bbc5977794e415449df4f37234918aaaffe442a3a08ae942bc2eca45c39e4f0044aabf1134f5c241f2180361b494b77d61f853d946c6e83d09bf70360c14b8968009b405faa77d54bcba0843f07191e4d4611d58f5b452164f425f69035ced5eadfe9a843bcbd0c1bcef70884fd6d7015cd2b3ab8230fbc7e40f58a8a3438cf4b4abc089e070fd23a20f809126af630dda6fb28a7c9838906a675cf7f525d6d751f2cde501f831751a92b51cdc6205bac94616582d058c4378e3a3244454159d578daf26abd4fb01076d3b6470a1b94b9a60dc7e19cbf624f4c4e142b9fa9a04b64c8a627efe583b84d9f2ccaba1f454b6d2d4d121c7508d10a635f28b88e436e05f546e35b3e1557fc59f5e3fbfb662c3043582b40f5f7fdb5c1b6720329314c7ae79c5d4a67220f704fcb5f9eb8fa4bce4038b4d43f14337987c740840cdd1340172f6e953323a3d1723387f5ea7235afe920d20da006485c724e3de59b20afe1508cfed18b9c36786682a8278b0a3f1f116eb79a55c76942af8829426ca3eb6361c869ace355f82742f6a85e5aa733ea48246c48dd4eb3c015af5c2e3a7aa04afa67b3504b7823de97ec2f4008df1082deeb65af9564f2487f69e260d236aa1c92513e63ff7825d3ba4f6e4998e0626a77020668c6723e297ce4c02fac39e0a2424d8ae0041a3f90114d9ad7433c1423766107dbce502d0fd517d8155c6f666249531c966ab98ea4dcfcae115fb3f1afdefc7c881f4bd8b5707d404060bd19cdcbad74e392735410ce61e0bbb4451114929d109f0404f9020684b4f53712329ca751bbf11e614806881222aa0f1f84807e67e0da4f0c1ba03f117885c3fc648272e8210980f599f942ae69e578b8e9754fe00b8cb9a8dda8ddaa028cd6464867a044b4da10c98e2706284d3591d5e66e5443bd1c92c2936e867c682ae2dbe107d607d56373f35d91c2a1bfb30cb79b242371c2968c2c56fecb2a91b34c12a3e26a3310f0667c79400443620c957efea2352f0b605d851d6472688a1c50a1bb09ce54eb7646eb7ebdb14244f380990ac8df178282bae4d1b7cca3b2987b7a3338b5e97641592bcb767c06afdcb068f91eafedc3ab6bd01d737b2061e25171a179f86a31057d3944090a8201d886699d9a7bb5deffb0c16244372a1573317fa42fc23190b687669d6f61c7cdaff5a85dea234eb98f8441addf88e6c36c103cef7386e482a8ce3db90afb630ddfccdc8837875e935778a25fd8e2c19e3a2ab4d44ebadd9ff4eb141f21460aa65d893e4b30aa169011eae78e73bf41f7c60564c63cb7a3787f9c5a7a9b5f1e6f12c7c005d15adb3c48ddacb250de8ecbb059a1d2678ec01269ce836747557c7b69c026feb503c21bf445a660544b88488b1aa15a14bd43e17bf794c9ad18a35bf166ba0d98c47d563474d9ea4a83b40ba76b8ee10e92857396797dd69934bd5b9c1c413138a9ccef88a8b534917a6eb4c22ae7722ed0d604197cb2333e50868c273dd26af88cf238456647699ce837c524d238b79dcfe656b918b57bdb46ec04b85077fe10cecd2ac27f858a91c883551a4be6c791de23094c7fa25fbf1b72e17f240e36e6a6ae0bdc896f62dc8b7f8625c777227db105eecb52a4ee39532dfa876e89292b6320ae5366f3095fb8ddf96ccfc7eae6dde66661cf80bf429f93f6f5b50a0853b43f5eb15137b4c6c156b17ff2bc0e98646ee2995c0e8ad80e5f6f222ed4174a43a3fbe22156f58a537d28215871cee33e201649e6f60c66fb2ab9276df029ad5708d22e9a28bc0e3a2a2cf5e57dc12cf04d095fc5ea10df7818438c0e8f5ffa12fa9c44e73c3f219b119ec6de42e25c9c2a95613b31099954666c3f816ffe444a2f845f453636d6c2d4f545a543b3d5fb19405c95605fd926642d9858df16e972d32ff2bb6dd2074cd8bfcc255821dde8b2b06580de50d2d0b84e938116e3e66427096b8e3a41c66ef3fb9280877462e0df52b66903c83dc026a8b28ab2763e1d9c3f792de1a94a590575cc8e059ae30d0e88c2461a4d8a2fbaba5da432ac4010156c0614e730aa498cdcc2e93b4a8a5a3f8cf43d67d1a1ab18fe978989cf208ce72365966e43536469383167ff90c941121809b4ac6e196602febc60c3bc0034df899252544eaea805ec497b63f1b1e4db68aae0d359a70a8c28f33d16875db583562858bade866a71deb89309a6bf483144c1bf8c0bc1ab1aedc1d69499c7561174788011711f738d5d7fe2d3f14942fd2466734e838409ec5192c744ec74a79ea3c3a194c1c6a9fd66a5e02b28528c726a7fa71c7cac27808198d54551ddf2b6e8ded5889ab0273ee724f9437cffb4e0b72af221ff72a05b484b31e5c1c2723fb63f2fa887ee6ddefaa77329f93ee2ccd4faa2200852785decf2d9f378b37e2a850b1e8a1b285c82ff26d361b91c0cebfe18ca13398c2a5e1f7ea3fe58f9fade97253de9078227deee8d6e7c530949ae3c04af99ba3391c55bbc6acfa682e03e06a1c56f2c1a3613f6ab97f25a164473ec6172bb8511c1d699885204e592afade2f548c4f31ddf9d216a2c173aefbc63e9ba49558d0907786d3e1415252d358b8b846d6db774a65f3e41fa7036c56aca5adc22b98b16c6faf312bcf79d42df18d665aa35b1463e701b5cf61869b24ae489f417d20c93ea15599803c846a8538e569eae91b6e089b586f3decb926a54922c62c50305feafb5a3a031556531ffc85f6b0ee9499fcd17de5244700b405da268a7ae33673f91a5185ed36e1aef02a9d72c007049698baad9b8a364daeedceb90a9f32b2c07504478248f6ae0c295c81817a378758d92ab62835f478f14196666d78780a403fff3ad3da375c95985470e8e5ffb2bd42639355f811f45600216d2587dbf168a897ffa93e710cb6a511c50f07f45c051d68d65ad029102fb4f505dd08c653e04e7eb1cd60ed68f9a84eb1f6e52fb226cdd87dc98c084953dcc9829232065615f21006e3b967bf8f535552213ae5e00cbf2d1e3de9f78cfd6e3d643f848c44b356fe728acc7a2812a6eeceefaa2e1f00c7e56952568c97e714973fce9d1dd8db83f22f92a31dae1dccb6dce4ae939405e03e80b63366c18e1810cdb773230a81bcb5fafe6669e298a7dcdf3a6556c0e450255152f7d1fc4275d76c9cc94b3a0702c65f9c6bff88aa6eaec8df101e7733707e0885fd311f9f1dcd9521a564419b4a44ab5366b9481550878e12ab52a5890cb488d698e63a6060bb2c2b3ce04bb15f86567704ce7d8232dbb0d6fb094ca52c35a581e8cfd723d0730e8e0962d82924148b582c9cb4a49666d994feb02fa584f78fc122b6ebdbc8e146e68893c0706755d417d66843fea07205ecc1781fd1d613261ce654c711f7ce5c80d89265ecc0d9208cafcc2fb7f0a78a58056b72d98e7980ff71c689074a7946bfd608010b5f4083b5b0a2bad75d685fca06f9b38236753cebe3141c87fb2ebb9b4299232c841e370851bb1ec38c6c42774fa97e5dfc1099ecb2f3fd2cc78836b1e6ec54ed4fac549cea880bcc453bbe33aebb656363558d5b8b6dfdc9176bc2fca09e86bf00d9009992ab79f1283d6f08fca40135942a4350327c7ccdad6cd54ebc7a79b2fd1e0a501241093c70246d6b932bfd1b064424c4960ab738fc6ae223c66ee27d6605c68fdb743ae332ad82b7ae22e4e29c0c2a9240994135b354e96e0aa0741a43a2c9719bb90e3297332e31332cc1aff4087bc495045598195bad367c693ce51fdb6cf28e57d23088838982091484e1197a6df93945f95684e8e704a8695382fe58369fcb3a0d232e7e2bef0c33221ab8df89b09552bbb3ab9170425e51c0721fe5a8b9ba23f49034ff264b06d6209ab6cd5bed9b8bbcee316418e54d629307da04fb9badc6246f1ccfcf321e633dd160f0629e0e0e08e3c587b384577c941ec9a2b6cdd4821c68c8325e0b66692a81822dd6d47516c81aa514365db880bd5e229389b090a2c9035cba0017b3b52798af6916bf28e592a72f9c1bc8fe130e26bbf06e197941b808bfca724f7d78e85c5df704fe60221f36e30a9c6417a7934d083fcbe942ee4143284ab7d7ae6d03ea71c784c77a52be8a12c65edc00e926faf147a790c69b7daafac3783e5d6fbbd4f0ef6e8060b1bcf646be3da414f218d4f74e72d14cf49abb28c135e09519e93ba1433c21aaa27eedb8778587bf1b328dc21ff92b1c7d110a71c3a0e16cab487f1501184af8c83e8e9cfb4da3df0c7f4a79afcbedfe71264dea93446de99630000db4d871cb446f32272b6209b008240a1aefb10f8062042bc5dc397929c4e2c6549defd85c7dda941e002d0687cde196474e438937361e275d8ab028199b8ce783a24f5cd977fbdf682f55adacc171214cf45748a32e2668c2986e04a6cd7e13007ed781484d818c0d0cd92ec008bba4f021e4bf121e0eddd4e2cd71d19952dd7402ac0bbe7bb5475738a3035b827c12ba5d0065d4e516c6f5d16c8733fbdec107fe36e5e6f25ad1e6cf32962fdb51abaf814b17d29d3233e130b6f363eacace6ed5acb7e583fb5e59e4b9283ff3058971edc0420fdf16a5749adae6a93337ae4772a3766f8148bd8afa561aa3c893a84200672cf0ff669630313f9e285e941f6223cb39596d4ea21ef9744e4b35769a849ad4cbd23d8a32a0bf010b97e0530bc08352f84e9dee92caf04a8f90c8606c9f0fd6eefd170ca800d8e5ecdb56484147cb9ad9683256a4453160a605b1bf77ef0b108cae48c3b8087686f1e86a9944bf3cf572bf271993bf82230a0b49d3775de8048d0c87bc1f472b10e6bb31bb2d5132d3b2dcbdf3de9d2311b92be3292ecd5626d10150ba952af310120a7ce8f7e8b2daa034dce1673225d08fa685d2f21458dd81f7d0f8c9df9d10c48c3980ce2dfde13ae714da900b0549ab524f733ada02f4e3eda95507d91fa9435c1f4cac3be53ca21457a261effd2305ba0fa772073e6a7a2d656ce2d6c891dbbf16d988ff95083457d15a50a662e0bc8d28f58d43dbc1d7cfcb8a6db64a4ffbcd491a3c10c946f2870ba1a93c211c65d18b6220c6dd11f9bc46c97ce90be1f3348a07c10000af6c6e9329824d4a512195c7976126b548efa21a9bb2e33ea5612043858ab8ec3b33cb56ffda03b9312eef56746891a8edbfc80db5eb73d6422dcbc30ae1b37171387a957bd814f9af8b4dad742e590d9bfab0e5e89d4504ac438dc8a43f637aed1f0fdb58d88cb89a3cd48adbff86ea96d2a9fb7c60ddd29dec538fe361cfa7666fab6737bcafa196293fa8f6d62ad835729b400c876b4dc04fecea6d59f817d4e2d8dc5970a4ec2b6710d22ccc67c69373a561665ddd0cae1c78d13bd03d9c49e5d4740030cd53b1adf1784f9dacdcfee08ea4426ccc317d97b77e3e1e812909be1a00bbc018c66c59a5c2aee336ef3b51bacaf103e3d48801ada6b2c8e63830744ae5e8a6c2b0bd444ef6dc794e70e406c6ee4702643eab095c557d6c6759d1bc62f2552c0014aa72500320ac3442829b48dee1323d56dc2df1d807ca072ae3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8555aefc9de81091eb99d1bfe76430f6866033bed447c80b91d0bf7940614e13894252201b101f8b75add31caf5f827f68c127a097cc81841726685b1509b9723b30b4a28dd76276bd21c7e300da7501cfb33450edb98fc9aa101f5ec8d6d958db99d8b55d7a29ca2a01c1ecc1f60efaee9b448ac306f0afa6a8c235f97bce4f9203d112b2825f7c2c4afac2e07d48fd9c60af38feca75ce278a126f33d19d549094b59c4b4306f353f3b66bb7c5e6b92548056a5a9c9c23b43d5889195c7fb7a8057c116da326c326d8205243163fa21fb3f45cdb9a6b9c6b78f0b157e2c45c1be4bf72a05e81dee477056ad6483f0c09f2c3014f4ff8356e30c9ebe2ccab42ceee0f76242ac8958e2bbcfc614d48da4789f5fda3f4699527087bc9323c68d73827989fbab04030e609cf6a56fb331792da8b7f35100eef1a7e6d05c82bc43b27f0b2fac90e8277b1d8e285b7322a3b244dd1f340b4111d1f70efc2fa1a7f2e65f04492d9f43ee5659a0510ff3195357bb4c10621dd6d3f6eeeb52e740faf1636de86d6331a55c7ba3ee44f1d373bb794d0ef01d05dd0e36d9aa6ed2129dd6d75989998628f1c019022c86c10e341fa82edee01cfcf1d81839ee86adfcce0ce571b70c181bf2a386879bcf0e4c011c6190fb22eeb6ae7038644c7a231ce512d5186acdc4d24852913b1e091a72bed3924aae1f258d4ad65aeb03221c5ce12b4ccaa4fb40679366fe7fee201b1002ca61447cd8903709e7d524d4234082b675888906b14ace8dcf79a8b97a471da6f5f70a541268feffca7f74d1a006d9fbf156fc4e850509cf4eb8c7ee216fbddfee498568b9111de5420ea395708799213f8cc0c3048ea8c5d70020a8e4af791fdbbbe3a6c5036540373dd8ffeced2a4d07a4b622c52252510d6b306ffc17ab50cf6e889fcdb00c51bc992e9788a8893de76035dd9db01c47367fed2566b743b9e01d6def7a290c350ea33f685a2c79af5546d661dc80404138041a90382bfde6d59f18aa599b0c839c3bbbb5a992d7a6a4f0d9a3eaf926c9463204a71daeae2ae4efda8d2c70dc1f13ce31f7068367888c6eed3cb5c21252552ac67a120d41709602153b361d4e534794aa0536992ad71d4cf0588f9f1bbf03f1b2956334be22a8f94c09b3b98afad40c51eca04a5deae1b485385bd8586c3456bd2d6f616e391711b7d0bf6c69fe967855ee66e44270802e8eef4eabbf772c9746b673589727eac5af1fd8fdc692c5e66d342cdf3920425b72rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-numpy_1_16_5-gnu-hpc-1.16.5-150200.3.5.1.src.rpmpython-numpy_1_16_5-gnu-hpcpython2-numpy_1_16_5-gnu-hpcpython2-numpy_1_16_5-gnu-hpc(x86-64)@@@@@@@@@@@@@@@@     /usr/bin/python2ld-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.11)(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.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libm.so.6()(64bit)libm.so.6(GLIBC_2.2.5)(64bit)libopenblas-gnu-hpclibpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2.5)(64bit)libpython2.7.so.1.0()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0.4-14.0-15.2-14.14.1b4t@a]rJ@]fl]>]:@\\"\P\\\@\y\mA@\mA@\k\Yz\'@[[[!@Z4@Zb@Z@Z}@ZyZaZV@ZOhZ @Z7Y@YY{Yχ@Y@Y\Y6@X-XXXX~@X43@W֘WίWWW@VVV@VV@TPT[bmcepl@suse.commcepl@suse.comnormand@linux.vnet.ibm.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.commliska@suse.cztoddrme2178@gmail.comadrian@suse.decomurphy@suse.comtbechtold@suse.commcepl@suse.commcepl@suse.comtchvatal@suse.comtchvatal@suse.comtchvatal@suse.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comschwab@suse.decgoll@suse.comeich@suse.comro@suse.deadrian@suse.deeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comarun@gmx.dehsk17@mail.deschwab@suse.demanfred99@gmx.chtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comdmueller@suse.comjweberhofer@weberhofer.atdmueller@suse.comtoddrme2178@gmail.comstecue@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.com- Add CVE-2021-41495-retval-PyArray_DescrNew.patch fixing CVE-2021-41495 (bsc#1193911): "Null Pointer Dereference vulnerability exists in numpy.sort in NumPy > and 1.19 in the PyArray_DescrNew function due to missing return-value validation, which allows attackers to conduct DoS attacks by repetitively creating sort arrays." by reviewing return values for PyArray_DescrNew.- bsc#1193913 CVE-2021-33430 fix potential buffer overflow by adding CVE-2021-33430-bufovrflw-ctors-DoS.patch - bsc#1193907 CVE-2021-41496 rewrite creation of the exception message for Fortran files CVE-2021-41496-bufovrflw-fortranobject-DoS.patch- as bypass boo#1148173 ignore %check error for ppc64/ppc64le- Update to 1.16.5 * ENH: Add project URLs to setup.py * TEST, ENH: fix tests and ctypes code for PyPy * BUG: use npy_intp instead of int for indexing array * TST: Ignore DeprecationWarning during nose imports * BUG: Fix use-after-free in boolean indexing * MAINT/BUG/DOC: Fix errors in _add_newdocs * BUG: fix byte order reversal for datetime64[ns] * MAINT,BUG: Use nbytes to also catch empty descr during allocation * BUG: np.array cleared errors occured in PyMemoryView_FromObject * BUG: Fixes for Undefined Behavior Sanitizer (UBSan) errors. * BUG: ensure that casting to/from structured is properly checked. * MAINT: fix histogram*d dispatchers * BUG: further fixup to histogram2d dispatcher. * BUG: Replace contextlib.suppress for Python 2.7 * BUG: fix compilation of 3rd party modules with Py_LIMITED_API... * BUG: Fix memory leak in dtype from dict contructor * DOC: Document array_function at a higher level. * BUG, DOC: add new recfunctions to `__all__` * BUG: Remove stray print that causes a SystemError on python 3.7 * TST: Pin pytest version to 5.0.1. * ENH: Enable huge pages in all Linux builds * BUG: fix behavior of structured_to_unstructured on non-trivial... * REL: Prepare for the NumPy 1.16.5 release.- Make sure to provide oldpython names- Add python2-only version since the latest release doesn't support python2. - Remove python3-only patch fix-py34-tests.patch- Disable LTO in order to address boo#1136831.- update to version 1.16.3 * The NumPy 1.16.4 release fixes bugs reported against the 1.16.3 release, and also backports several enhancements from master that seem appropriate for a release series that is the last to support Python 2.7. + New deprecations * Writeable flag of C-API wrapped arrays + Compatibility notes * Potential changes to the random stream- update to version 1.16.3 NumPy 1.16.3 Release Notes: The NumPy 1.16.3 release fixes bugs reported against the 1.16.2 release, and also backports several enhancements from master that seem appropriate for a release series that is the last to support Python 2.7. The wheels on PyPI are linked with OpenBLAS v0.3.4+, which should fix the known threading issues found in previous OpenBLAS versions. Downstream developers building this release should use Cython >= 0.29.2 and, if using OpenBLAS, OpenBLAS > v0.3.4. The most noticeable change in this release is that unpickling object arrays when loading *.npy or *.npz files now requires an explicit opt-in. This backwards incompatible change was made in response to CVE-2019-6446 _. Compatibility notes Unpickling while loading requires explicit opt-in The functions np.load, and np.lib.format.read_array take an allow_pickle keyword which now defaults to False in response to CVE-2019-6446 _. Improvements Covariance in random.mvnormal cast to double This should make the tolerance used when checking the singular values of the covariance matrix more meaningful. Changes __array_interface__ offset now works as documented The interface may use an offset value that was previously mistakenly ignored.- Fix python sitearch paths for SLE_12_SP3/4- add fix-py34-tests.patch to fix build with python3.4 from SLE12SP4- Update to 1.16.2: - Primarily focused on fixing on Windows-related bugs - regression fix correcting signed zeros produced by divmod- Use direct number in Version: tag.- Do not bother with standard flavor, just make it default - Execute the tests only on standard package for now not hpc variants- Add constraints for testsuite to not run out of mem/disk space - Use %license macro- Enable testsuite- Update to version 1.16.1 Changes documented in release notes: https://github.com/numpy/numpy/blob/master/doc/release/1.16.1-notes.rst - Update to version 1.16.0 Changes documented in release notes: https://github.com/numpy/numpy/blob/master/doc/release/1.16.0-notes.rst- Update to version 1.15.4 Changes documented in release notes: https://github.com/numpy/numpy/blob/master/doc/release/1.15.4-notes.rst- Update to version 1.15.3 Changes documented in release notes: https://github.com/numpy/numpy/blob/master/doc/release/1.15.2-notes.rst- Update to version 1.15.2 Changes documented in release notes: https://github.com/numpy/numpy/blob/master/doc/release/1.15.2-notes.rst - Update to version 1.15.1 Changes documented in release notes: https://github.com/numpy/numpy/blob/master/doc/release/1.15.1-notes.rst - Update to version 1.15.0 Changes documented in release notes: https://github.com/numpy/numpy/blob/master/doc/release/1.15.0-notes.rst - Update to version 1.14.6 Changes documented in release notes: https://github.com/numpy/numpy/blob/master/doc/release/1.14.6-notes.rst - Rebase numpy-1.9.0-remove-__declspec.patch - Rebase riscv.patch- update to version 1.14.5 Changes documented in release notes: https://github.com/numpy/numpy/blob/master/doc/release/1.14.5-notes.rst - update to version 1.14.4 Changes documented in release notes: https://github.com/numpy/numpy/blob/master/doc/release/1.14.4-notes.rst- Fix issues with some targets not having certain versions of openblas- update to version 1.14.3 Changes documented in release notes: https://github.com/numpy/numpy/blob/master/doc/release/1.14.3-notes.rst - update to version 1.14.2 Changes documented in release notes: https://github.com/numpy/numpy/blob/master/doc/release/1.14.2-notes.rst - update to version 1.14.1 Changes documented in release notes: https://github.com/numpy/numpy/blob/master/doc/release/1.14.1-notes.rst- riscv.patch: Add support for RISC-V - Don't use openblas on m68k and riscv64 - Avoid misparsing of indented conditionals- Fix summary in module files (bnc#1080259)- The HPC of python-numpy expects openBLAS. OpenBLAS is not availble for sc390: disable buidling on s390 for HPC (bsc#1079513).- add s390 to the ifarch conditional to build without openblas- update to version 1.14.0 Changes documented in release notes: https://github.com/numpy/numpy/blob/master/doc/release/1.14.0-notes.rst- Switch from gcc6 to gcc7 as additional compiler flavor for HPC on SLES. - Fix library package requires - use HPC macro (boo#1074890).- Add 'family "NumPy"' to modules file to avoid that different versions of this get loaded.- Add Requires for libopenblas to base package. - Add Requires for lua-lmod - Fix '-' in environment variable mane of modulefile.- Fix Requires: of devel package for openblas.- Add magic to limit the number of flavors built in the OBS ring to non-HPC builds.- Convert to multibuild: Add support for HPC environment modules (FATE#321709).- updated line numbers in patches - update to version 1.13.3: * #9390 BUG: Return the poly1d coefficients array directly * #9555 BUG: Fix regression in 1.13.x in distutils.mingw32ccompiler. * #9556 BUG: Fix true_divide when dtype=np.float64 specified. * #9557 DOC: Fix some rst markup in numpy/doc/basics.py. * #9558 BLD: Remove -xhost flag from IntelFCompiler. * #9559 DOC: Removes broken docstring example (source code, png, pdf)... * #9580 BUG: Add hypot and cabs functions to WIN32 blacklist. * #9732 BUG: Make scalar function elision check if temp is writeable. * #9736 BUG: Various fixes to np.gradient * #9742 BUG: Fix np.pad for CVE-2017-12852 (bsc#1053963) * #9744 BUG: Check for exception in sort functions, add tests * #9745 DOC: Add whitespace after "versionadded::" directive so it actually... * #9746 BUG: Memory leak in np.dot of size 0 * #9747 BUG: Adjust gfortran version search regex * #9757 BUG: Cython 0.27 breaks NumPy on Python 3. * #9764 BUG: Ensure _npy_scaled_cexp{,f,l} is defined when needed. * #9765 BUG: PyArray_CountNonzero does not check for exceptions * #9766 BUG: Fixes histogram monotonicity check for unsigned bin values * #9767 BUG: Ensure consistent result dtype of count_nonzero * #9771 BUG: MAINT: Fix mtrand for Cython 0.27. * #9772 DOC: Create the 1.13.2 release notes. * #9794 DOC: Create 1.13.3 release notes. - changes from version 1.13.2: * #9390 BUG: Return the poly1d coefficients array directly * #9555 BUG: Fix regression in 1.13.x in distutils.mingw32ccompiler. * #9556 BUG: Fix true_divide when dtype=np.float64 specified. * #9557 DOC: Fix some rst markup in numpy/doc/basics.py. * #9558 BLD: Remove -xhost flag from IntelFCompiler. * #9559 DOC: Removes broken docstring example (source code, png, pdf)... * #9580 BUG: Add hypot and cabs functions to WIN32 blacklist. * #9732 BUG: Make scalar function elision check if temp is writeable. * #9736 BUG: Various fixes to np.gradient * #9742 BUG: Fix np.pad for CVE-2017-12852 (bsc#1053963) * #9744 BUG: Check for exception in sort functions, add tests * #9745 DOC: Add whitespace after "versionadded::" directive so it actually... * #9746 BUG: Memory leak in np.dot of size 0 * #9747 BUG: Adjust gfortran version search regex * #9757 BUG: Cython 0.27 breaks NumPy on Python 3. * #9764 BUG: Ensure _npy_scaled_cexp{,f,l} is defined when needed. * #9765 BUG: PyArray_CountNonzero does not check for exceptions * #9766 BUG: Fixes histogram monotonicity check for unsigned bin values * #9767 BUG: Ensure consistent result dtype of count_nonzero * #9771 BUG, MAINT: Fix mtrand for Cython 0.27.- Update to version 1.13.1 * bugfix release for problems found in 1.13.0; major changes: + fixes for the new memory overlap detection and temporary elision + reversion of the removal of the boolean binary - operator * 1.13.0 Highlights: + Operations like a + b + c will reuse temporaries on some platforms + Inplace operations check if inputs overlap outputs and create temporaries + New __array_ufunc__ attribute provides improved ability for classes to override default ufunc behavior. + New np.block function for creating blocked arrays. * 1.13.0 New functions: + New np.positive ufunc. + New np.divmod ufunc provides more efficient divmod. + New np.isnat ufunc tests for NaT special values. + New np.heaviside ufunc computes the Heaviside function. + New np.isin function, improves on in1d. + New np.block function for creating blocked arrays. + New PyArray_MapIterArrayCopyIfOverlap added to NumPy C-API. * deprecations, compatibility notes, etc see full changelog at https://github.com/numpy/numpy/blob/master/doc/changelog/1.13.0-changelog.rst - dropped xlocale.patch (now upstream) - do not apply 'sed 1d' command to exec_command.py- Add xlocale.patch: xlocale.h: don't use obsolete - allow building numpy on fedora by making fdupes dependency optional- Update to version 1.12.1 * Fix wrong future nat warning and equiv type logic error... * Fix wrong masked median for some special cases * Place np.average in inline code * Work around isfinite inconsistency on i386 * Guard against replacing constants without '_' spec in f2py. * Fix mean for float 16 non-array inputs for 1.12 * Fix calling python api with error set and minor leaks for... * Make iscomplexobj compatible with custom dtypes again * Fix undefined behaviour induced by bad __array_wrap__ * Fix MaskedArray.__setitem__ * PPC64el machines are POWER for Fortran in f2py * Look up methods on MaskedArray in `_frommethod` * Remove extra digit in binary_repr at limit * Fix deepcopy regression for empty arrays. * Fix ma.median for empty ndarrays - Further updates to macro usage.- Fix macro usage.- Fix -devel package dependency- Switch to single-spec version- update to version 1.12.0: * Highlights + Order of operations in np.einsum can now be optimized for large speed improvements. + New signature argument to np.vectorize for vectorizing with core dimensions. + The keepdims argument was added to many functions. + New context manager for testing warnings + Support for BLIS in numpy.distutils + Much improved support for PyPy (not yet finished) * full changelog at: https://github.com/numpy/numpy/blob/master/doc/release/1.12.0-notes.rst - changes from version 1.11.3: * #8341: BUG: Fix ndarray.tofile large file corruption in append mode. * #8346: TST: Fix tests in PR #8341 for NumPy 1.11.x - update to version 1.11.2: * #7736 BUG: Many functions silently drop 'keepdims' kwarg. * #7738 ENH: Add extra kwargs and update doc of many MA methods. * #7778 DOC: Update Numpy 1.11.1 release notes. * #7793 BUG: MaskedArray.count treats negative axes incorrectly. * #7816 BUG: Fix array too big error for wide dtypes. * #7821 BUG: Make sure npy_mul_with_overflow_ detects overflow. * #7824 MAINT: Allocate fewer bytes for empty arrays. * #7847 MAINT,DOC: Fix some imp module uses and update f2py.compile docstring. * #7849 MAINT: Fix remaining uses of deprecated Python imp module. * #7851 BLD: Fix ATLAS version detection. * #7896 BUG: Construct ma.array from np.array which contains padding. * #7904 BUG: Fix float16 type not being called due to wrong ordering. * #7917 BUG: Production install of numpy should not require nose. * #7919 BLD: Fixed MKL detection for recent versions of this library. * #7920 BUG: Fix for issue #7835 (ma.median of 1d). * #7932 BUG: Monkey-patch _msvccompile.gen_lib_option like other compilers. * #7939 BUG: Check for HAVE_LDOUBLE_DOUBLE_DOUBLE_LE in npy_math_complex. * #7953 BUG: Guard against buggy comparisons in generic quicksort. * #7954 BUG: Use keyword arguments to initialize Extension base class. * #7955 BUG: Make sure numpy globals keep identity after reload. * #7972 BUG: MSVCCompiler grows 'lib' & 'include' env strings exponentially. * #8005 BLD: Remove __NUMPY_SETUP__ from builtins at end of setup.py. * #8010 MAINT: Remove leftover imp module imports. * #8020 BUG: Fix return of np.ma.count if keepdims is True and axis is None. * #8024 BUG: Fix numpy.ma.median. * #8031 BUG: Fix np.ma.median with only one non-masked value. * #8044 BUG: Fix bug in NpyIter buffering with discontinuous arrays. - update copyright year - changed from tar.gz to zip on pypi - Remove long-unused atlas support. - Use preferrered pypi.io download url. - Add openBLAS support. This can improve performance in many situations. - Remove numpy-1.10.4-cblas.patch since openblas handles this.- Fix cblas handling for SLES 12.- use pypi.io as Source URL- Don't include cblas-devel on SLES 12- update to 1.11.1: - #7506 BUG: Make sure numpy imports on python 2.6 when nose is unavailable. - #7530 BUG: Floating exception with invalid axis in np.lexsort. - #7535 BUG: Extend glibc complex trig functions blacklist to glibc < 2.18. - #7551 BUG: Allow graceful recovery for no compiler. - #7558 BUG: Constant padding expected wrong type in constant_values. - #7578 BUG: Fix OverflowError in Python 3.x. in swig interface. - #7590 BLD: Fix configparser.InterpolationSyntaxError. - #7597 BUG: Make np.ma.take work on scalars. - #7608 BUG: linalg.norm(): Don't convert object arrays to float. - #7638 BLD: Correct C compiler customization in system_info.py. - #7654 BUG: ma.median of 1d array should return a scalar. - #7656 BLD: Remove hardcoded Intel compiler flag -xSSE4.2. - #7660 BUG: Temporary fix for str(mvoid) for object field types. - #7665 BUG: Fix incorrect printing of 1D masked arrays. - #7670 BUG: Correct initial index estimate in histogram. - #7671 BUG: Boolean assignment no GIL release when transfer needs API. - #7676 BUG: Fix handling of right edge of final histogram bin. - #7680 BUG: Fix np.clip bug NaN handling for Visual Studio 2015. - #7724 BUG: Fix segfaults in np.random.shuffle. - #7731 MAINT: Change mkl_info.dir_env_var from MKL to MKLROOT.specfile: * require setuptools - update to version 1.11.0: * Highlights + The datetime64 type is now timezone naive. + A dtype parameter has been added to randint. + Improved detection of two arrays possibly sharing memory. + Automatic bin size estimation for np.histogram. + Speed optimization of A @ A.T and dot(A, A.T). + New function np.moveaxis for reordering array axes. * full changelog at https://github.com/numpy/numpy/blob/master/doc/release/1.11.0-notes.rst- Add numpy-1.10.4-cblas.patch to build against system cblas. Numpy assumes either libblas.so or libcblas.so to contain all CBLAS and BLAS functions. However the cblas-devel in Leap and Tumbleweed contains only the CBLAS interface and libblas.so is also needed.- update to version 1.10.4: * see https://github.com/numpy/numpy/blob/master/doc/release/1.10.4-notes.rst * There is no 1.10.3 due to packaging issues. - update to version 1.10.2: * see https://github.com/numpy/numpy/blob/master/doc/release/1.10.2-notes.rst- Update to 1.10.1 + Bugfix for build problems * Compiling with msvc9 or msvc10 for 32 bit Windows now requires SSE2. This was the easiest fix for what looked to be some miscompiled code when SSE2 was not used. If you need to compile for 32 bit Windows systems without SSE2 support, mingw32 should still work. * Make compiling with VS2008 python2.7 SDK easier * Change Intel compiler options so that code will also be generated to support systems without SSE4.2. * Some _config test functions needed an explicit integer return in order to avoid the openSUSE rpmlinter erring out. * We ran into a problem with pipy not allowing reuse of filenames and a resulting proliferation of *.*.*.postN releases. Not only were the names getting out of hand, some packages were unable to work with the postN suffix. - Remove upstream-included numpy-1.10.0-remove_Wreturn_type_warnings.patch- Update to version 1.10.0 + Highlights * numpy.distutils now supports parallel compilation via the --parallel/-j argument passed to setup.py build * numpy.distutils now supports additional customization via site.cfg to control compilation parameters, i.e. runtime libraries, extra linking/compilation flags. * Addition of *np.linalg.multi_dot*: compute the dot product of two or more arrays in a single function call, while automatically selecting the fastest evaluation order. * The new function `np.stack` provides a general interface for joining a sequence of arrays along a new axis, complementing `np.concatenate` for joining along an existing axis. * Addition of `nanprod` to the set of nanfunctions. * Support for the '@' operator in Python 3.5. + Dropped Support: * The _dotblas module has been removed. CBLAS Support is now in Multiarray. * The testcalcs.py file has been removed. * The polytemplate.py file has been removed. * npy_PyFile_Dup and npy_PyFile_DupClose have been removed from npy_3kcompat.h. * splitcmdline has been removed from numpy/distutils/exec_command.py. * try_run and get_output have been removed from numpy/distutils/command/config.py * The a._format attribute is no longer supported for array printing. * Keywords ``skiprows`` and ``missing`` removed from np.genfromtxt. * Keyword ``old_behavior`` removed from np.correlate. + Future Changes: * In array comparisons like ``arr1 == arr2``, many corner cases involving strings or structured dtypes that used to return scalars now issue ``FutureWarning`` or ``DeprecationWarning``, and in the future will be change to either perform elementwise comparisons or raise an error. * The SafeEval class will be removed. * The alterdot and restoredot functions will be removed. - Rebase numpy-1.9.0-remove-__declspec.patch - Add numpy-1.10.0-remove_Wreturn_type_warnings.patch This patch is already merged upstream and should be present in numpy-1.10.1- update to version 1.9.3: * #5866: fix error finding Python headers when build_ext --include-dirs is set; * #6016: fix np.loadtxt error on Python 3.5 when reading from gzip files; * #5555: Replace deprecated options for ifort; * #6096: remove /GL for VS2015 in check_long_double_representation; * #6141: enable Visual Studio 2015 C99 features; * #6171: revert C99 complex for MSVC14.- Update to 1.9.2: Bugfix release * #5316: fix too large dtype alignment of strings and complex types * #5424: fix ma.median when used on ndarrays * #5481: Fix astype for structured array fields of different byte order * #5354: fix segfault when clipping complex arrays * #5524: allow np.argpartition on non ndarrays * #5612: Fixes ndarray.fill to accept full range of uint64 * #5155: Fix loadtxt with comments=None and a string None data * #4476: Masked array view fails if structured dtype has datetime component * #5388: Make RandomState.set_state and RandomState.get_state threadsafe * #5390: make seed, randint and shuffle threadsafe * #5374: Fixed incorrect assert_array_almost_equal_nulp documentation * #5393: Add support for ATLAS > 3.9.33. * #5313: PyArray_AsCArray caused segfault for 3d arrays * #5492: handle out of memory in rfftf * #4181: fix a few bugs in the random.pareto docstring * #5359: minor changes to linspace docstring * #4723: fix a compile issues on AIX- Update to 1.9.1: Bugfix release * gh-5184: restore linear edge behaviour of gradient to as it was in < 1.9. The second order behaviour is available via the `edge_order` keyword * gh-4007: workaround Accelerate sgemv crash on OSX 10.9 * gh-5100: restore object dtype inference from iterable objects without `len()` * gh-5163: avoid gcc-4.1.2 (red hat 5) miscompilation causing a crash * gh-5138: fix nanmedian on arrays containing inf * gh-5203: copy inherited masks in MaskedArray.__array_finalize__ * gh-2317: genfromtxt did not handle filling_values=0 correctly * gh-5067: restore api of npy_PyFile_DupClose in python2 * gh-5063: cannot convert invalid sequence index to tuple * gh-5082: Segmentation fault with argmin() on unicode arrays * gh-5095: don't propagate subtypes from np.where * gh-5104: np.inner segfaults with SciPy's sparse matrices * gh-5136: Import dummy_threading if importing threading fails * gh-5148: Make numpy import when run with Python flag '-OO' * gh-5147: Einsum double contraction in particular order causes ValueError * gh-479: Make f2py work with intent(in out) * gh-5170: Make python2 .npy files readable in python3 * gh-5027: Use 'll' as the default length specifier for long long * gh-4896: fix build error with MSVC 2013 caused by C99 complex support * gh-4465: Make PyArray_PutTo respect writeable flag * gh-5225: fix crash when using arange on datetime without dtype set * gh-5231: fix build in c99 modepython-numpy_1_16_5-gnu-hpcsheep07 1647958660   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVe      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopuvwxyz{|}~      !"#$1.16.5-150200.3.5.11.16.5-150200.3.5.11.16.5-150200.3.5.11.16.5-150200.3.5.1    !!python-numpy1.16.5binf2py2f2py2.7lib64python2.7site-packagesnumpynumpy-1.16.5-py2.7.egg-infoPKG-INFOSOURCES.txtdependency_links.txtentry_points.txtnot-zip-safetop_level.txtLICENSE.txt__config__.py__config__.pyc__init__.py__init__.pyc_distributor_init.py_distributor_init.pyc_globals.py_globals.pyc_pytesttester.py_pytesttester.pyccompat__init__.py__init__.pyc_inspect.py_inspect.pycpy3k.pypy3k.pycsetup.pysetup.pyctests__init__.pytest_compat.pyconftest.pyconftest.pyccore__init__.py__init__.pyc_add_newdocs.py_add_newdocs.pyc_aliased_types.py_aliased_types.pyc_dtype.py_dtype.pyc_dtype_ctypes.py_dtype_ctypes.pyc_dummy.so_internal.py_internal.pyc_methods.py_methods.pyc_multiarray_tests.so_multiarray_umath.so_operand_flag_tests.so_rational_tests.so_string_helpers.py_string_helpers.pyc_struct_ufunc_tests.so_type_aliases.py_type_aliases.pyc_umath_tests.soarrayprint.pyarrayprint.pyccversions.pycversions.pycdefchararray.pydefchararray.pyceinsumfunc.pyeinsumfunc.pycfromnumeric.pyfromnumeric.pycfunction_base.pyfunction_base.pycgenerate_numpy_api.pygenerate_numpy_api.pycgetlimits.pygetlimits.pycincludenumpymultiarray_api.txtufunc_api.txtinfo.pyinfo.pyclibnpy-pkg-configmlib.ininpymath.inimachar.pymachar.pycmemmap.pymemmap.pycmultiarray.pymultiarray.pycnumeric.pynumeric.pycnumerictypes.pynumerictypes.pycoverrides.pyoverrides.pycrecords.pyrecords.pycsetup.pysetup.pycsetup_common.pysetup_common.pycshape_base.pyshape_base.pycumath.pyumath.pycumath_tests.pyumath_tests.pycctypeslib.pyctypeslib.pycdistutils__config__.py__config__.pyc__init__.py__init__.pyc__version__.py__version__.pyc_shell_utils.py_shell_utils.pycccompiler.pyccompiler.pyccommand__init__.py__init__.pycautodist.pyautodist.pycbdist_rpm.pybdist_rpm.pycbuild.pybuild.pycbuild_clib.pybuild_clib.pycbuild_ext.pybuild_ext.pycbuild_py.pybuild_py.pycbuild_scripts.pybuild_scripts.pycbuild_src.pybuild_src.pycconfig.pyconfig.pycconfig_compiler.pyconfig_compiler.pycdevelop.pydevelop.pycegg_info.pyegg_info.pycinstall.pyinstall.pycinstall_clib.pyinstall_clib.pycinstall_data.pyinstall_data.pycinstall_headers.pyinstall_headers.pycsdist.pysdist.pyccompat.pycompat.pycconv_template.pyconv_template.pyccore.pycore.pyccpuinfo.pycpuinfo.pycexec_command.pyexec_command.pycextension.pyextension.pycfcompiler__init__.py__init__.pycabsoft.pyabsoft.pyccompaq.pycompaq.pycenvironment.pyenvironment.pycg95.pyg95.pycgnu.pygnu.pychpux.pyhpux.pycibm.pyibm.pycintel.pyintel.pyclahey.pylahey.pycmips.pymips.pycnag.pynag.pycnone.pynone.pycpathf95.pypathf95.pycpg.pypg.pycsun.pysun.pycvast.pyvast.pycfrom_template.pyfrom_template.pycinfo.pyinfo.pycintelccompiler.pyintelccompiler.pyclib2def.pylib2def.pycline_endings.pyline_endings.pyclog.pylog.pycmingwmingw32ccompiler.pymingw32ccompiler.pycmisc_util.pymisc_util.pycmsvc9compiler.pymsvc9compiler.pycmsvccompiler.pymsvccompiler.pycnpy_pkg_config.pynpy_pkg_config.pycnumpy_distribution.pynumpy_distribution.pycpathccompiler.pypathccompiler.pycsetup.pysetup.pycsite.cfgsystem_info.pysystem_info.pycunixccompiler.pyunixccompiler.pycdoc__init__.py__init__.pycbasics.pybasics.pycbroadcasting.pybroadcasting.pycbyteswapping.pybyteswapping.pycconstants.pyconstants.pyccreation.pycreation.pycdispatch.pydispatch.pycglossary.pyglossary.pycindexing.pyindexing.pycinternals.pyinternals.pycmisc.pymisc.pycstructured_arrays.pystructured_arrays.pycsubclassing.pysubclassing.pycufuncs.pyufuncs.pycdual.pydual.pycf2py__init__.py__init__.pyc__main__.py__main__.pyc__version__.py__version__.pycauxfuncs.pyauxfuncs.pyccapi_maps.pycapi_maps.pyccb_rules.pycb_rules.pyccfuncs.pycfuncs.pyccommon_rules.pycommon_rules.pyccrackfortran.pycrackfortran.pycdiagnose.pydiagnose.pycf2py2e.pyf2py2e.pycf2py_testing.pyf2py_testing.pycf90mod_rules.pyf90mod_rules.pycfunc2subr.pyfunc2subr.pycinfo.pyinfo.pycrules.pyrules.pycsetup.pysetup.pycsrcuse_rules.pyuse_rules.pycfft__init__.py__init__.pycfftpack.pyfftpack.pycfftpack_lite.sohelper.pyhelper.pycinfo.pyinfo.pycsetup.pysetup.pyclib__init__.py__init__.pyc_datasource.py_datasource.pyc_iotools.py_iotools.pyc_version.py_version.pycarraypad.pyarraypad.pycarraysetops.pyarraysetops.pycarrayterator.pyarrayterator.pycfinancial.pyfinancial.pycformat.pyformat.pycfunction_base.pyfunction_base.pychistograms.pyhistograms.pycindex_tricks.pyindex_tricks.pycinfo.pyinfo.pycmixins.pymixins.pycnanfunctions.pynanfunctions.pycnpyio.pynpyio.pycpolynomial.pypolynomial.pycrecfunctions.pyrecfunctions.pycscimath.pyscimath.pycsetup.pysetup.pycshape_base.pyshape_base.pycstride_tricks.pystride_tricks.pyctwodim_base.pytwodim_base.pyctype_check.pytype_check.pycufunclike.pyufunclike.pycuser_array.pyuser_array.pycutils.pyutils.pyclinalg__init__.py__init__.pyc_umath_linalg.soinfo.pyinfo.pyclapack_lite.solinalg.pylinalg.pycsetup.pysetup.pycma__init__.py__init__.pycbench.pybench.pyccore.pycore.pycextras.pyextras.pycmrecords.pymrecords.pycsetup.pysetup.pyctestutils.pytestutils.pyctimer_comparison.pytimer_comparison.pycversion.pyversion.pycmatlib.pymatlib.pycmatrixlib__init__.py__init__.pycdefmatrix.pydefmatrix.pycsetup.pysetup.pycpolynomial__init__.py__init__.pyc_polybase.py_polybase.pycchebyshev.pychebyshev.pychermite.pyhermite.pychermite_e.pyhermite_e.pyclaguerre.pylaguerre.pyclegendre.pylegendre.pycpolynomial.pypolynomial.pycpolyutils.pypolyutils.pycsetup.pysetup.pycrandom__init__.py__init__.pycinfo.pyinfo.pycmtrand.sosetup.pysetup.pycsetup.pysetup.pyctesting__init__.py__init__.pyc_private__init__.py__init__.pycdecorators.pydecorators.pycnoseclasses.pynoseclasses.pycnosetester.pynosetester.pycparameterized.pyparameterized.pycutils.pyutils.pycdecorators.pydecorators.pycnoseclasses.pynoseclasses.pycnosetester.pynosetester.pycprint_coercion_tables.pyprint_coercion_tables.pycsetup.pysetup.pycutils.pyutils.pycversion.pyversion.pycpython2-numpy_1_16_5-gnu-hpcTHANKS.txtpython2-numpy.version.1.16.51.16.5/usr/lib/hpc/gnu7//usr/lib/hpc/gnu7/python-numpy//usr/lib/hpc/gnu7/python-numpy/1.16.5//usr/lib/hpc/gnu7/python-numpy/1.16.5/bin//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy-1.16.5-py2.7.egg-info//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/compat//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/compat/tests//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/core//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/core/include//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/core/include/numpy//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/core/lib//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/core/lib/npy-pkg-config//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/distutils//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/distutils/command//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/distutils/fcompiler//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/doc//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/f2py//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/fft//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/lib//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/linalg//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/ma//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/matrixlib//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/polynomial//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/random//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/testing//usr/lib/hpc/gnu7/python-numpy/1.16.5/lib64/python2.7/site-packages/numpy/testing/_private//usr/share/doc/packages//usr/share/doc/packages/python2-numpy_1_16_5-gnu-hpc//usr/share/lmod/moduledeps/gnu-7//usr/share/lmod/moduledeps/gnu-7/python2-numpy/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:22423/SUSE_SLE-15-SP2_Update/e85ada395aa08eca9ed2f8ed34ef7966-python2-numpy.SUSE_SLE-15-SP2_Update:gnu-hpcdrpmxz5x86_64-suse-linux     directoryPython script, ASCII text executableASCII textpython 2.7 byte-compiledemptyELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=b4dce62375fd1b303777b6415de47e81f6b55bcf, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=a917387c09780e55a05b1fac553b3400aa3b5d77, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=5640d50bf1bb933cfccf1b8d8ae57eb1c1547c6b, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=4973612bccc0fac7011de553d1c610b2f586b9c8, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=dabb3bedecb1a59e86f8aceb6b80301d496d8ebb, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=876702401ae02d6bc3d08aae1fc0e5b6dd91d22a, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=928e85ab0f6029473f02b7bb1a4fda4ed27780b5, strippedPython script, UTF-8 Unicode text executableELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=79ae9639786a15cc37e8140cb07ad338a6b308f9, strippedObjective-C source, ASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=a2ec47913e381a2452c860d8fb63bcb5b6a0442b, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=b6553289574218c1cb386053729953665b9d4c76, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=7bb1401bdde43f79ac7be8be06fa0f46e395716f, stripped 2:HR\ht~  RRRRRRRRRRRRRR RRRRR RRRR R RRRRR RRRRRR RRR R RRRRR RRRRRR RRRRRRRRRRRRRR RRRRRRR RRRRRR RRRRR RRRRR RRRRR RRRRRR RRRRRR RRRR RR RRRR RR RRRR RRRRR RRRRRR RRRRRR R,da;h8 ,iutf-895a61cce2c4b1b44aaa215337c6e85eb25b5059dca9511ea0a627f575d2ec393?7zXZ !t/8}]"k%.pa k] DYPNͤd%#)+Aֈl.]]lBW2?)nu+^!dkVN^`op EZJxÊCbi[;l<3ɷ/=|!^N\tw #Fz)4vl"Yv@y3 r7cZ.?{'2ecX=ckc[R]Feڜp@.9%<gwz|5_\8uۂW^ %VQ@`ۄ5v!ݹGqO)pZ||œF5(7BIn5~V5Uٗ$BkW{N9ԶS@=ws|cKZ /*d`c`A q|1&YxͶI({$ZId YWdA{R{3OE٧Prd}]4Y :ܺu6v'MX+Fovb˃ gÿQ7nk5}N"Ta$r Okb=Cvzί'$;pf"WߓF[*ditj~18d©+iQ?pT x=wt*BС΢ujSzN,ȹODÉ1 Kt]s0Sbݖ"Fc5Sm/My{k}ތЎ OhPID.nؾc JqpR~GZ6ӊ<]Os&ͮ>&n;^P99c4`ku}/$Aa-+_-ߘe[3+7w[{r_^KbL +D}^(Ug7C&?Gy%eSV U7ty.q4>Id_%N/c:eFr 2Z聹jnȂi_&:z2J.-Oa2'%)mX_P?&/Mb\36־ fmsӸ%Eu!`k/Rݢ Y؆(9XϱW`f!Ɔ)<-]E6޺Ř^ "H1:t]Zˆ%3$ OEK ]GizYu'XA{`aFyIFBXjAE=)[O,(YJ!Dz<$e,Ťe5JW)u_9ft ^aNiu.{oH{͇8eDs]|ltkZ: uS\GU}PK LtK4o4NدfD þFt4yj:{>΁S#"L>+s&.|k]/ԥ9.ZlS}n?j+g›陋Riz0Bg\G%{Ȥc?701fV^#4FoZzIeFdTLߚyȾ<ݐR`U{5,7IcТT$1'h*_?A΂uE(qu(䴄JpU ]1 C\%o*r592,Ϸގ!l;{#* æGro4YFl!rjHY®QʘE~_w#T.j72sGB]ZF&# bAyՆ篊(+ ~j\ąD{ zn > iƦ_ Sk WiZ[ œ pz0 Ogf1S~_p)F|iA*ѣi\ ;9rd.3.+yב#݋{t ˜@Q2e%4ӓHx7&# 1 =z~ת/nFF:X !htj Bt͍gjIU+t`ݺdeT~/^u Y3Dt>`kAsUz)pOS;ӦfYIڝD!߿E]b$NH5ģ:=?]ܫ,*gz"oͼ5Q9~t".ckd8PN;#Ϲ'>2OiCK(4_B%G&w 8TT'\v:G  r^ Y[9|/C }Jw?5Uis= |?Ub=Z>1pXKs((b?^ !;GJf]{ל7!YvO@yeL{ dUƃN$^ yyW 6l-ٹZ5!=G"bJaLH7o֩t SgÁ]ܟ.rr^| G?D4*RP:)&2_-Jyq_I9휵]Qd#T"h&њA`2!*3櫃`8Jm1"c(ۼ )O&-ݝH }*T=x+"#ӡp?^:~X9C%MjbߐzOM@%rя(/{QTM}%4$@Of~НT7)^XI$Mr |(!ݘK8Lս-} ǁq);Ks1:/l= p.f#Q˓ * MVK9@sG0jyj% j} nqʝ2-) 8Ԍ"N}ʟɦvKǜY[bΙ5-$]$''\f윈US5F* Ӂw*:?/olY`k3w㽢ךC}|FMMK -Kc5g ۰.b;A6}bZ Dٓ.C$Zǚ2Znɴ„#d]onҾ/P=HW̤3^j9D@hln/|(e,qxA\yOFW/RϛA gR0HTDh-(%U×mY9MFnK5eOx_EOv)=c8#xx<=N{n"_|EgdXKXmK~MȊsc,b* 7xej}0e )-SێKAGnf`)HAq-[Xeц"ӱfEd`DW [C{V%4$I=!oYѤא;O+:j U|_z/*hbi;B;V"ݰf BO4cJ\,'yxg㓢43)eWPb8,qjb藘L(l&'Y@i`|o ݌%((YS8|VcRA0,/00)6}p-c7<hE:6HmdI*#?'ӣq_yL~E6n*q#''*X'3آͻ S*eإ{Rz-ܖuzW`#pEw^OI4Ͻ ~;xlvUW"+V5a=2'FmNiCbp"ʸ1RO\5wAL/cшW]2%X(qR_Ƃ>%?3aw̎9gW}iˌ`QHvQ~eDe#yH߉=B  \TE>E v,`mr-`MBI^|rq&E 3T "81c_M}ҹĻFch_BJ( 0m ’@^YYq_\ a6{B|H TJqWOY.XA_K=9$?r؈ǀD*dq[]إ{ѵYzhܞ6C@?EA"B3)c;ց\Pl8|"x8ˬ2gΘGl$0`?g8|#;Kz $spz_|:KS 0!Y:T A\2>y9r&oוM?C6Aj䀒!kG@"8 Hb <̀Q1Xw*Y{3783pЪ+v+ϖ"7򔔲Dz`Hϟe{G?KNVtder!B8q&0Ym AZ6a:-R;'>eDkWd>%]1rsW)"x@f p_Y,)WROՉ!r'=N8)A lTKǙps_ =U{qWp(o‘K{?Vfl4%fORD),wtsVR7 7#S.غ-NGQgX[E¬8 4hc[=3 Ʊع!Y4I] ftRCms3 Ai(Xbu+['f_4źcR49#u>+A=.ẻ$` @O@sx33[!n7~Mdcm4`DM:uP.Bk?7.x9gѱ޴%pB6HPjݐ 8b]vN}w&7T aqr<sۚ`_칃p(1 mJHm{|Pz'&?_̨'>RQ L:CyqUlG\'D JU_3*e tˊ%ms3zVέ 'J~ʅ>)I忚?fGI^rC s ?`?1#ay1-{cvw9&9J!:<s*ZAoƒ}q`ڴT,FHwYU(LzVВ;Q Sn708!9g9?r V^0şG9W%Hތ&f3eȇxR4guOgb8&Gѐ C3$&R\^jWBӵ0- U%~i둸~;0p3~_Y#Ńw4S8iLrU>'.F3 lVw\:|i}E`Ƶg zX6٩>'gNzِS6:eovLk&r٘1(5Re2c-ΟayELq 󷍩 vĘ*(M.qd&y:\y9ck4{8zĉp)JݘrMۜ`$+S  q a?J3ȅ6JA(e->x6*fk*s[ 3 ˋl W; ;[s:b6>tE'ܳgB`R 1l?y(@;Mb/xp(XY@Ty0cC:=A+%ƭN.";.dX=}obP4Q{!{.,Ǿ]C0lbX)vVSB[mڔNaF Znzh|F!T>#Цeltﵱ^N\ 8n<}2J CCT N:d~P(Y;(ˬؿHB@Һ2"9 wI t 5Klu 'Y\V;}\t0yȺ!Ѧp=YT4i ru%yN{h,&.]wD>wG s9g&rN|k>L~Zcn5 fFY4^ t,Dp^gqou}:qݳYzr*:iKjVE]F"Dsb촫UC@#n \FԴ\Ak5%٠oCI !ŒTF1똏84q4qT|X^Zy. hx|3a棑#k1D hxc`@bѾOyl Y(Ea*I >E+MF}d/Ii ~5K$)Y_zS>--\,ێPO!Fǒþtgu2Ҡ*)1O}#jc=AHd\S(p͉z6t!)J@y'چ#OR?q UUV1e$;pnlW-']3hsݿo9U؈叡 3b=&u)w:܎Ȭ̽D>@l{.>Y*mZ&Y*8{v`Law*'p+4h/w|_joWd+豩v.GЀ^r<ӷ+K6]PFcx:eBa 4?9S]G?AFnDq`UBE᏾^bqFdjvbkҡJtXM\"NxU ?L+S9Gy_I94I])6:LϏ(p x5|Tme"*;p&/rH>3K# O7\)E8W)grYbiʫM4[b`EG^c~)}*M 0tu;aB-tEkfJ>q{',,Fps np?^}aH58Wx]r@W4XbUSU-JQ礂>c $/O1 ο n]VպFc)H2nwq}v%ظ֠@ Nw&<BDiW!2 Z̰ #ř'.Νе>oc/RPPeG{6MsO3ј1< Q^3!ѭA:TvAVe 5;(ӥ%=0cU7 <}:?ăNM`jv1H=|s1`!8kd} rjxƼ7I3;ωS/o0joe H"ϰd*>ЪjBQ(יq̊Lp9}sg,J[C{,U4+'pnڰ9d''aM umS|mm9;<*&:6vrWi(@y,yܪ)j{0}ߑABsH}F$JhWO703/6ee\>|,uIs1a`;S`xWL'iEɚnr.XnK0r௺8"͆M?,(6en At2\U`3bӡ;+S$9A#!h2<^Kma*ȁqQVvxp+J 6~6M+|*s5 鳛i4K0_V `eS"Qn7lB$ M2WOe2g_&'?\k#t ~cUMeiztP摆J@0Υn۬8o-,+8yܧ4ቷδ&/ yۙw>xZVnٓN'(rveF6:;X?wAU-䐧NZm)Nsb8A/)%6&"Z q}A`fڵF`(3FyrZd_/d:ktK$"r\3' I eS扅ek41aS<^R( eobB%Z~p V̘ٻy`W5=Nm󁷩].@y 6Sq|L_(<#pz| .۴V?fnj=ޗHW>a48)UyDw2'"ԨXޙܺAfڢI]R’ 3G34Vtx7?Pc̸(BDQOVBƑkR-['>:6?c3)VٓlC:*nJ] Z @sLw V;",FY`dd7\,VwK[؄skE~1Ek3G,܃|uhYjy'stGN8!*GU Y$ʛTޜ.<>b[OpȪw=<2.zfyWKΐ_un&a['<5ɥfBӢ t I#VG-^Yo5{a;xG}=m셨w-0R`^o1g"D,1@'az]Q܌mdo@(C|GK~ ƚz?yӄo9(QƇ3((5糓W5p uCcvcyA6yC", 敌zCE3q[;2Lox n"Z[Z#Q!> D5 IOE 'YsHV󹘖n7k0Dx%_tCJ-)h*N <] ~O̬ivhYO66x !<ҸMUEvAT)?$6~}5WKFfblZV>)-gkCգag PpwOQMh{ϖᗂ%|49V♫ 4섾ڦ-ǚ@7k<|~v; ϛd 0$֍ `vQ2NU ^'_t/a|7g:M{ǚC#}ȳ$1ꋡ:zm{a*cFkjIQiNү</i41n]}֍K7kI.I_;icu!Gt$ ?nLl5ʄX^FJnoD-{ybJV5K[5:12i9$qN2ovkMٖek2MDmc_֙̓{*0]KfEs9% Rڝ= P=F`q @Ѧ`$Ѯwq[%+Om;aѹjCc{LL$0I>^\Dnuwߓ@x oK/Np/o e98HAb YI>$+|_ J,7%%Vb62&XF@AVZZ /Ov3l>ih]\ahBSySq3^ǫ$"Y]|=x5!z&V 9N}UDT]6{:BV@uTL/aC~&w&\tulWf aeYu 1]Km 5_>#&viKVwiB7ڨ[=X\hإЍx. p4nU "ho͏f[7$zifE O+e~:.H[ۍ?Ԩ7G4a|rmĎ邆l4.șcFj}_IRO&]A"BT~v=D6=צsަTE2TQ*ԩڕnʅr;kB,#GS}W2ElpHΓM;O:FN>fVbG:yCUO̤~&}P\鵹.BLŪ}MuU8b-4c,BA۴ ?x1|A9[[1$L!ug@gCQAo@D>[RWFL}a mJ]*-@!UBN2dTe _A;7/DGZ v$DpJ5dץ8ZۈɃuLpQ$0'n`IYU:Jfs@LUJ4brteHi}*-;YNx9!`K\n;cH_ ]rPڭI>LTl}\_vw*xl_%3aZܟ>Ĩ#sY[Q g{ QY>z_GCrf \J[D&jJ oCdT ҄F&ڻ(z y|& <W 8L6YN ~1~i[+~S?聠0HxnA-%=Օ4qAZDk7?Tk(+ .b$wl%wǾOxxÝ|J[l^5iݺqD_waw!n+*v!$`(Ng>6v9-)= i4?]CgzM5|Dd#&6dT#+VB m6Qy넓-IWm.K8T ewsVCYZ/1aqP%gn\jA (X@zA$90s7zͣWA7K8;)4&"x2Ћ 5&1| ]0k|b*4aZ\,;;1E)ގ n~|;)5bL!:~v~bLݑ|GA`#7V1'9K%Iqɂ`ٍ7x?0vm)xlMj-@ M(*r-Srp2|[tz><2eᬦ QdFt\>)ߨTApm?w#^$RyIV g#N\LgJ#q.įOKpÏmh[oVWQݴ OnD4Ub 0SM:Jal ef¼fe1d8lŁKbˀ8ī31BZ$(!_&v"ƃMu|}`fd^p&ɛ)+[K>&*MHGEmiҪ=2E:p5:/"h *Dg !J2M/Zd'SX!'o 2l0ȡA6z²*!'=mBFXͥ & LM[qpWڙ-?:kT8 ((w9*t0T R+";vU`յ`&L)5zD`i%¾˂#@ՠJS^6Rh6!w.Ro&?רq?!#}P "NB\h/̋{9ފW5B=m r0^S~FB}k&?GImE$] tbܟ*͋< IdeY  Hns6{9@0:h&N(5u#6b7;}\S$,wœ0>% G-5J53a;sey̧Г;najEOTf@U# N+t/(xx[ A,Uߕk{PbQR Vcv{ݚ/78+l}QQZm2wM0mޏb~c#!h@F23@xCĵ[=, Q@e~ ^U>9 *@D8[i`[䯟z0ZR\G]d{G ,9X]{ J^IzԨdsB^Èx,~CLzElӬnQ8./ kldbgֹd?ꄸaTu Ck0%N_wLbX~_ IhM`vjq4\\ڦ~A[E!EBdI i!$MnUpi; /یbU;%NCUW`k|*?9TϸX%lZص2aI\Rͽo`?Q]*AG3E"h}ϨtƍcU'޼1N4Tz:W?= O0M? Պ{BPts=m/?%_$Pٿ wF6hןV!pxۚ tAzg鉤6 X,zIpD|Nio:0VV4Ӂ$MBvFO$m+F$JTHX:ùc`>ZYBDA@xvJ\U#(R iO$I*ɼ3)麊Vy; -$Voz=!/?@@Fu蠑fEGP&u# o9 dGwir8.)~T_Qˈ{3 z6fh(*OoH0mbNM bzE$=NpQѾZ;+9ͫ'1je;I2Y$\]11XF7iiz)z3Dk׮@g|Uym}(Pj6O08`e !I&o{#߿lJΦ T⡲?_Gd$sk:qrXL#HDW-\'xnxHh5<k?ʻfُ@P4Bg.A%Rc}@R۾ʎ!) awy _94Cոnhf#t GtPeD W)?!HҫHk㏲촹= ϵCa߭uc I9F^d1t́6|)-j4~sx݈Cej~g]Ur Dn@|4.4ܹC=oC?4T?tb2a)m9CU, VhUY7@c <914V]uR =wkoeͅ_}kj 1DUv2TJexȀųt.?a*BZD^@F͆.GGmrTé}), ^,Y!Zc-'chHA|cO@1Uw{FV'}=Ӱ}pN@ ;y%VSݷ=7N":e0ش)+[LwQFY @s%S/zg|.z3 閃aJXqgUcQ*aЦon[WZɌ>=J%qhdM2fX#!w+lF Z*$^e/>tnLB-\p܀!k?N/jZڍ~K'4.4f!ՠr=[#'0@-[oeaĵ{UVWjvMxJOC(F܉g #(%4uPC7? f睶{CHx4:Y3ELЃz1~g"N։+OYRbAⶋCM{ %FU,RUPGrc/J]Q{OJJ#/;,OHJ_g]৪n誀3 Z*_|ζ<۞L6޽+wR קJO5/94T]O+,O)܎`N%Ԣ/ja"h4+þOJ>vK%&xzZx(-gFAuk%W~SrI6&߬d۾cD%o󹡓(E 05iV~|dEu 3H`iO_C0\*oKUY?\\?4:dKSHޜur x|f@,+ vlBhe^)B.IVelnΟ jg ? QHs-NR< 3.Vo ,E2=2h5Au^13QG)b& G40bdӗ}n~jqrPɺq6)H9 A|˸6"SL^|d*b([l;kϡچ]~9;< ,L~y=!`x-[P<dɌY~!e},2X'2NCB{^p3TSOSQy|c2gړ1Ü!DIG^ 'EZlFMd.z>ʓ0"sj6@v~2=7c4 (S6ъp@KMDt~UFM@zݛj(c'+>ܵtm$Op%A~(Z$:Fde/{9S cc]&_Gi, }R r'q ufc؉/\bYc!73KK!dzNĕ?9!ZyNSLk-GލW͝w ׉c/?idGTj<}'*?>,$3Ad;sR,gL|=y}c!>X@ʣί!qF~q6^7$Rszu+.N@ڗHg }0֫4K 尯*-8r`Ai+WIfm 'ɕ-qyd:,moޗ83@MitEܪؼxPF.vRAK|C\KG3"ѯ G3PIBF< v&S#Zl37Ȏ_A ؄e6g/ K)c\mL ƣkcz ~cLUF,{Jҍd*8EE Jq%2b+,GwC5Wz_gS-hkmEa+z6u/FܣlPbIE*кh7aA,HmTwD$9Qo .3}dk^{,D=HI&W8o;GA%5\;X{nA\jÌRاDU O8× EN]w9ؼNvŀ24")PBz2T4}T:Сܗd&Ҝ^9&ӏS~o Iɴwϝpˮ a2;^R8!_kґA`CЃ|;U"J[&M2ZDH]yݠ6hCߢFkm<EsK=%6Vꯣ]-^ݺH/4o_^Z$>`0?<ǩeY8r4%t8"HdJ@7YH.}g\R;i Up$ Sh5v`́et>3?ZDpI0\X;V ;nF\^i*?. .Jʅ 0]xĮ{#L&'c}0Tme{N՛,*هxxJOoo .{.(xI[ 딟FΤPx GV8M_dW8V4_n=sE"TtG7@LyQy[ra]Ļ(2 `سC2 'C'"6 F`Sp+[4n O%hٞ<s1uD2TԖՌL0 QZQmӖ_T,S&=d'D =fx~f97ۭ=<vBcQ:3oU͊sHܣ+\4! /w$lRB˜KX{opWYLh8^SŒ i;IإmKu7GQJ$^W]p&Mk> SDjPѢkORvl4Osy ُqv d'3 dk`K: C<-|]Sa9._&wa74)HkwOIE+#Lwߖ1|otS;'ZBF}` ֯4>]\N/ep{zg~ 3 x04xBv ;qc j2ba;ϠCXl<@rIh&5aoX(bKڹȈ|GVZ K[Ohp(:3J-w|e+xA℃/"skᯟz:|9CC9iYGk//}RŠl?[ӛI0,ˣ9t <̥J,hNPB.&:$*yԳhHTe:`JǠ6r@/Wo+2|1TP^GZ )Gݝ~ fI_LTd6%CͧQͷ~$f};*ωñ'17E-iu9A " |5Y!mnݫ }Jx%J/!~yQ-`־0fX¨|bo6C  f/kCn/ޅaօ֩˔0Z^懒?Ukv8tE1߀\zNGhXm>RĒW]\ۡ(3LhTWZDW9ӚV{dNCш49(h-WzM b I[GyifHՑ4n8՘FY!/†Yxvd:|k,ʅ8ZBn4DL- /0C#M< z~A`Jf-:zsDcUc) ߰a|ܾ P@Z}P.*vqzEIWJQ w*hǟ^S]&5Xn1QP]±Qc2 8mci1m{3ZVM;H1,6])=u cm,.G޷.$QDˤxf8 ,rFO顑cCQA-/%فE! 6 L\Bx}dZ 4r^ M%(mZ?;Vpmܸuږ#u e~@Jz&aj04Ni..CZ_MNqb`;;qfՠAޮTF>k@aq=YHq 6q~y>s䰬3V;w%xlM˪ q?8u +c/ #wgȁnV7mQG2gE7Cwm%\Vc9ޖuhXQ$i.2x7iUuѶR- L uZhu*{h _|O.{H7[S-ů-)q|e[+FIrgL z?f'zvyx'?[Eah.JiօX{L/X^u@ D&U¡Hy?u>Oeg} ˑ⮘57W= "ꥊ YSe7Ĵ/ܺQ۪H}?%fN['BThݦII/g\ߐfShqaa@4.ew%;E40 ?<"Òy4Z =D5NveɍCUr)q=oNz$f SpJ!Bc,PӈH/2+TkV`nif[W::6*tvt~Vzȕsr|4$ 6" D|V4̿v㄂ N 5 ]c^O+:f SrU>. \o۔8>%= L;ƜJl z:˪d-éNiP5uėU먎T(Q6w\k`-<9_eet@'1w'?S?ÆumvG!K¿TO1+nH型t\8f +ijIg'T^x5L_UkaHȋ-TcMj'\ciCI>ʙn\-blwK"cFp ]~p2'#%Ѐҋ l;QT[{Հ|%eV*#m%TK v!=Gt/~YF&P`9*rxh`1j炜WgȚ^o2Pޛ *դu:ipHɝf)¨k,VY#*_@,vI6a78r:at߼Qmp oq T-[IW5/+`V9)_(K̚oG[Z,w}BۙdvPss|*Hx%KҐ|ϓ=CGfho>;`t0-P%e0[.ԋ #kJ R)=Jc7.bZEn$F d}\[Mn-CPCG%2; Vkˍ޼!`97+{2/yTn(,DON߁$FpQtJ"FKfD\b9`xUE6vf:*{)ּ77Sr;MVC)Q;Z{L s`,I`R ̹> ߵ^*}m& O+0.)wĒ:.?T3%":wp` ;0rns`~#+$,cAj{:m5H[Sx,Z4}{}e(ai ;ӿt0<4\HZ kk䴙6L]A2&7lYen/-Uo*QZM}d(Q1_Rs1B#kR sa)<+PΥ"*מNBvXTzLփq/&ߺ^= ~8T(˾$;[Bhs&;s^O -`HOlP$qw[kOj Oi mԒ^n誌6NnY8FO-hAekJM~u$"`C>`6]ZeR4(pЦ6mfY 5rt;m9;>ɐa@3$uxd$VIu诰vyS%ɭ?+Y ,QX (V{:tԊX@T';}E)uAnmv]~M`8TO@ @yw1i Oi riq3FY>[7OC݄Ybt@1 .nAX*CA(b6%{xIGy1&w*>\|jM˳kG.%"uNrolRcy;W!ܔ65 'Yh TSϴ)8egRo"eos \;`F&̞Lro V>/Z v-̢j{(<+*K&kuxN1T~/dq%Ҝ( a% [kKWG$jKQƽLe+*eo,З_|`pY9#&10+#6j\$jNJ2OsG_2Jb5ªnDzt[WQ᧱AqAb7\vq1q(jЎ&.@]zf_,49vu mnqUC2̃s~^TbCW ấϸ/I2U!-1F-BnpE@|O>Sw4]7qQ3rίg@ɚB&67{wzJ0ZI|u6US83y-+1E\=\>n&*{uvTQ!dnpМ.CPAIAt"#nQ?p"fLqHY'C a!ں|);Wl5[voe nBUFvU&wKOܧΛz:/4Q&8Ӫ?.i!Hߕ㬙՘V4AP$]& Þq5RMժm2]>ncm*{+y:*}i`>N @ϋHE>dOGSB$0\]O I-Ns;<'qN$oHmCpwŦ'jbfz|՚YMEgÂXos~it2`rH%cƳfoŴt8ajcma&v?ev"3( w'|,uuKWr\nh1[8 DF~0ZS5'#J &^hfgߚHrCv;IKy݃s ƆmtKqn1u{.@, Aa-)PLDQeƠȤGH?ycRY 0v\==\2$j?PROp nt쭭ck2A*LX,@_WJQ*iqvHK-V&)b]髯0_AsV %3gAo5^F†be77[` 8*޾ r H/ LXIa,v_s|JXC"M*i^ƻ+L$Sl]G`2^_?|,?qB iIGP|3Gk4/|+hRRuI㸮Z^$Lʵ3-2gGq|م I:vi0/C%R1crΙhmФy7n׺h.EO4gJ}IH[վo Rb,WvЮW-S-ʕMVE&;k)y[ћNd(G; `yk׾l{M6s:$,[F M i#U48{z5ۛ"x43i sCߨIdC;=c_&v_b*M筰3u_lTa. ߌxQY"xȻ8"Q|zO)]!]`ug=XP{gu JazkMfBO J:g`OĥਪLѕ4S}tcgAٿ]j˦,>Mݦ`!9nŝfdN6].ًFDkzFLR@ڄ<T6k)5Ht׃n]v5@)Q<=u]࿦'.1  㙏{|Ij23ʹc[tJnD$`-{0)$(:lL|#iL 6L߃Sg=qkL2r4Ҝ9H)<{՘Ջ;?v>\e*5cKbߋ 0bᄩ-L8*̜?" ߛѣ]jtȉaSKU;p7w#36[X ,1ڻb<2 ݿ+Uɐ,l,֣$ecFq.uDg~"\=Z#FdB⩁GUGW4>MtZZ+Ɠ}>G}F7KEs&P<㍒/3å M1A}A9wL처hJ֙sYvߓ$ ݚA"Q6.תJ4+ñDC RSCq,b) Һ{\!E >WB>U"v,O29m<R#ʄn&A^[׈WXFYAAA^eʵyg"OR׀YƯggMq]6@/$|͐pC4v=  {s_Lx-%܍c ȦmgM‚ro5ukᭆhY([#FEr2\#3Qd?$N0 ;-[Una48uL^FQ‚^;ZC[ߧVt`q3a2݇yn<QuO"r5ވuVcj2T}.i HSxkvc}T8 >e+A\ɈcKLMWaL3Jl!2qư9u "H<{ JrKoBDKE&F~Sgv}B(P C%RE-`!~^ˀ6pz!V"XQ|\$D}flJq]Tf.'m!Edg5[VU [Oǎ1 R@S`R]*K}]l@7G00tPʭv ۦ(W=.I lwy/6!-߂VwMvoE+IG·fa:Nzĉ[Yls|J:F;?N`7y":;סbe (r=JY>"FRVcB7)S&-XwZVٲ^s;^P"G-3 W_9m;pq=Jp9jSӃ=MxyF?{IwwF9Qy;HLn'K2KljUkkl^b4q[?Rݛ6'm*F="n]gכi-Yhes+;-LJ.`|'>G"ja@w9c>"zF<[/vAۇiF$}N`ˏh=@ v`nM!a$Z iهgXe4٫ ?ڭu:Y0+)62M-G828M,s;iHj),_'J:ZݮLdH*& xexF~ŪLwaTt(}/Ȫb" + _oDp{ʷ4Z^nGLuWhճhZ帡AȦG$t#q7<6RE8P7]Ʈ_]ohAH}Q@s y=h[rƝ@srnE~*V&'YmI-ϸНQwe* u,d6BrNlx}c[5LdkȤo/Uaq5Ĕ^3d MQႤ3 \jk\}.:CGwƌtpIJ(82M_6!~qԪ1z7nP]Uzס)>HIGXtX^v Pwܡh;ʳ|M-=o#iq׏@Iv_s  Ѫƍ+-^̊Fތ*IOoyٍuTi&>CmKc& ?xtivB0:d3xD3 F~tHC>"R6SPgƹlhIAw O3ZiMѸ&!-nw}ȇ rh>n3P6GFjQnBS%LG[X'kV(޽U(Az$a]ALV0آ WAEswtc^AEk32} xZi͆Su_ݙ]kUKP{_EHn/u)Wa6 eoo ZNB98p`(~aF{:1U )'}CG<ݙJKXEs*)x(4HY#thu6 R{RÝӅS/\ #Fo6Cˁ  }1RKԌe: rA&?aBӝ-=~t)'FpYzYvl6k{ k$3tbqj '3XН?/ zɢ /hB~'C?w_ n %ᶾ}WLTx >n~ĘB<$0F8?mp0oDA#FDFO{aK>xS>oo2\-RL?MRNuP 6HC\ (9@O=V9 x}E'T!%3/+zX3EEG&0 O0q׊Z1@J/S,``lm_ʖ ㌖DCoN(`zT0}!j'D"\ޛush\,d0Ս50~yjY+=Pͼ Sm(;ҖSCK M^p1vh9/-%AcMlD+AOzdbĥ2v2מ1Wes\݃˭"_fmRFD7.ؔ,7qv5OTAzb>AxwPRZn<"iQS `Z7BZevV %,śޖc+[l.V\ʢg͡󚷣 OK!a?3lc E5 yo*+8$_|:S}/Fu 0aeǙ&dN.| 0`/^ڑ-u./TNPΒ [zaȋ)8Ʌ|I%_p`D-|8*zM>~/'2vO3T ?wb9;j7sq=KEc06dDdZJ$6!i ǽɧ/,3۸ШvU1@UR]ljr\ԩf]OGuQNl4,@#zh<fR `Fd#N5}+g8GCtBWFfD|jצKož]Y⛜h&\t w9=+yh@Ud%m._)!kĩSA 8(kfUֽgAzr@OE&)U;SAl]<|G,I̶7u,CԧuEI鉷;%8ɭt<ƫi@*Z~6/5 rjK9~1µ49!a:Sdeβ)j%Hu[+\#Low`3<\C Jp1pD& Ax0ȡKG$V1jO[Vf,$> zFə&WRn ,zQɣR$?C"Y_L! 8:wSvkz@տ\#؎|. Wؒʏ_낟vb-u{98AwSEΏeH :N8'c)*5R%׭na7OS hEUPi`&p5Cw?mg)nJA>I1Xӽ\ѬQ=bfUl5`/&<00!3($ӢX Pt՝}p,a h:]uYb*s‹!pws?B"H=a0Mmvƚu5]sAR@&]bƽ̱hv'*IqEu<%.xJR>FϜ!6\|p;L-13]ȷ=aa}HV h bGWOVaYAO0a!lۋ3؊6r3ؠ4w+a""$S9ԚxCɳ3eCM.*7NFu}L[Uՠt~$\pNjF4 5u^Q^D/\Ǡڔ\^;gt# Sv"7m0Bݘ䞺\9դA0"Ļ^zug{Zf/<X6ܽP׻M!hg Up>EJRNn2L p"NFF0v cbFO/V7mAEFl8D5CsZ9(6?j"0`I#&9ȺWg3ӗܿ Ul.az.C׈hDٍ%S*rq@1%VաsɌcb~iC{ZW{OT@}o5@9R7hc9"h,ىU;2Wֵ2UP3PTكkce veoeŪE~6 eAoESv쎧U*.yxj%ӑ,cЖr-ƱUƴP?-nwh#^-.?A~79;r#9&ڕuF'>")yc^WtPe5=ڵsTwm]@`ϔN);ׯh R{$YVg.FH~+Q 7Lg܅t P_tNTkPF)ǟ"ch}5ͨhV10P0 r&Ot(GJ`:eա#u z Bӓ3|i@ K.l;0US`TsiZ/C*~86dFJAt8Z8ԠS* ($'7p+.r};8XkA'Qp{ ?n0Z왅=7隘 ^zY> Ec1"wfft`M.sĵYN;_T Q2P|*$FOK"讈5r7?1fI,MrT…ơRC +Аxim6 CZctݎމ `V^QJޝ<*U:CU]bO_Gْ1:A r/8Sx'_Ey隨VuDA?I) uv@ \I(&ȋ7ȓfJFr|dCVycAۍ}KBMw6c5'|'Mҍ}bI,KNfg7ɸ=g ta8zC-UW>[zĈZߖ(kCmg %nal'TjڌT-86YD.9dHrqqd,!J.Sy%Ԑ+̉Iu.yEלO؉?iPY;;\w= תL(s͡(CISτ^A&{OKޤ)F+s T8 ~#P/P3tVqy^ݑ̌f[2FXQ޼fV)v3%5~WƾQEly܆"/EsDF:G?o2 ?Ӆɯ9)Kg0w=U.#c(̓Cj vE fzxEJ}cnlh/lA=\椐t-G[ѫ YyFOt'[<16SKoůRF/F WU}FUiEeYHͶKȣUޕ-% pd. $2ti^jpֹJZ 0xi!Wq4e҇?|L12&VmS9AH!5 9>!c&y'<N \C#U-n5MlhH$7es6lSAx!#ȟi؜sU 0 +C$!W7w:[ҏ# G.2a6 ew+>=<[~ ӪT^揄3Rsݸܒv݄xٺbs-b0NrDU*= b8V28>v$ u2Q=ifC5c|\{@xblZ3rr(_w}@+䉨[BJ#=qb0yL9Q/|9Scʞ!j_24(PѮ2le^7ï_Nܰ‚.V9՛paGI\~G^$ocyH(n{_HAgTscOzx[N@5b)ɟe+L% \#)6L `χh OJ0޷)K5.>2>'w0^G,ę󞏇`zz7ڒZJpN-[;VL |xM+8H2P<-{,M|HWeeۏtzFGsybˉ}}.㦡ZI\kz?VK`-4JC[{JFP.XkӅK{ԨOu] |}? < {\ 6N9}ż)5'?ZAm3GRT7^*%P TS2S08 d4>*s*F,$gU*DŽbEx+ #&{rw^̀ `ZuCF ] I؅Ҕ鷸..MDݷڝ[h`i>}W..a$Ӈ, mnecJ{$KB.Ǡj-hg\Y<EuC|cO:jX}GDS)SVpG j'4<3}S:õ؛ Ga B^5} RsNy;N]/.@?׆|TLc0`ϑ\ꨞLQYXeqr,5ÊL"]V q@+&"W)1͒U*)׆&) 8&h,͆F79'HS{GW2]!JdwD06Rٹ+a VwCБ&ܒ<^Ț X6q:gOĈs=ebg51 d"k9Q 銘`Nlc%!l=4C: (MP_SpTA-|/ѐ $"sĭU/C;_pk 3[kq”Obibm8A|cwHe5&jDNg;:s֜YH5FG.JJ,o Iǣ)D[fZ>5yWij(S\EFSRnQO5>s  pn=oMY>p n$ad`zsqٞڿmQٓeroG.*S=-?@5ޣ!Ue޳@;GtqvL [m`?u|'M`)vU_bw?=u>HM" ZŶw&Q@;^+$+dM@РCLUne?2$`@P$b?&ht)-̙F׭u 8ui9"w߷vtv#V32 ryt>Hd7D+Ʉ?9Vݯ8yv)tI|7_Of@vb7RXd >kfM{Z1GO>;7szl/xi%^s<ࣣ0֮&K1Xlqbݯj& Z]QZpO5LOё֣Fȯc|P̳kTFk[Zz]U8[+ζwăR)z:w#l8CۭSs1Jp!f4+iP2C&Pm:SAfi;'D<5:o\H=X3-A_\}O8s /^7lܳb(GWjڀQ$zR}' 9fm;VaWچP  08ؗzE|1X[e%qwY9' }54݃Lc4lqnh Yl=fKP-MOhUT#}feN&O$Da3`Og1Te5=+g\8@/X2zV}*Aw SR1TB#,s硄8HBxSB\q*Ь9e(iCg[ ‘XpYB]%w y9,RP'ס V"E\tr/xQn!L\.M˼HVHJ]Z#P&uEzb vP{S07 sc~ \Vp^7_ /;PE{0鰜f/>.]<,N۪̄#ko7Ib&̘dBѩ>M d&I`rsN;@϶-,q#YY̍BٽH|CvCI5ƪ0_9k+pNhElwl0fhC+5{9]Apv` Aq4~]C3HCL9wx KLu8EEU3;Y0e=Ҳ:cmpn@[-/E ..i|k~Aw?c5?| }ɬRfPՅJ!?ElWIfm?_K$@BWL}>ҲQ aNmD}r-n G5Efӡ.wGce0o 6J{YZ乽K/M;p,dipG~޷'8*G<5G3~#/[Yn)B4M59J1[Iv( 59=HD;qǯ?Nzw|@ 7l`6P:]$Ks\G9DD2Hkj4^}w'MA)M1D 2*$>käR۰q\KWڋHbd#K J>WoJ5.+DluDh=l`fF@04N)A)#@G@#b _ifd4dCkfz-V)7!yr@pؽ* Ͼ`.5KO@bErfFyxWOrXכRSe+^2c oX0H@HMG<1`5 72D٪*teڥq l^S@j%My't2Y#12hȳњ`s$Y khBS3 8{+YEv&2޳#'7a[YwDZ(Zj2@Ve{Ef Rk# 6cߢKv&e}:3Y]yf/ plqDgڲ3 ̘gڶ YZ