openmpi3-docs-3.1.6-150500.14.2.1<>,xfo>p9|^1j*n"UԗHslt) &Lūs/8ƒ)^w"d$nc-ڍUu*vؾclQX0r?l@fASy5s*tL&V  >"+?HckDt-%"uìZh~hq+$x1$ ́SP{ "ЛPvĂi+s,ȀG%|iwq}^McZ>;D?4d $ T /HNT V  #X σ 8;d,(V8`09 0:0F1G1H<IG@XIYI\J]T^brcdefluvp z0Copenmpi3-docs3.1.6150500.14.2.1Documentation for Open MPI/SHMEM version 3.1.6OpenMPI is an implementation of the Message Passing Interface, a standardized API typically used for parallel and/or distributed computing. OpenMPI is the merged result of four prior implementations where the team found for them to excel in one or more areas, such as latency or throughput. OpenMPI also includes an implementation of the OpenSHMEM parallel programming API, which is a Partitioned Global Address Space (PGAS) abstraction layer providing inter-process communication using one-sided communication techniques. This subpackage provides the documentation for Open MPI/OpenSHMEM.fo>s390zl315hSUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Development/Documentationhttp://www.open-mpi.org/linuxs390x^ ^ :   :  [^   ,$^   B^#i    y @O L % } \ A  L V\  8  xtx _  64lD ]y ' 9  >Z b*  l 5 W  g ] lt <  R   XBrg , C }  ?   > ^ o . [ b i D"9SN# 8 W b oO ' + {") mW >c t   J "#!""= "  < 2i Z $   T ^ND"j00 = / | #G,}<  r}|% b YH z H:t $# t JQ#$ #M%Cp *Kf xo) 0Y V w g Zw !$  / < ee } }.bh3u IG > J  wG,  < ) 2d  { Y v>E!f c E#"#"""#"""#"!H" +n""!#$""""!#"""#"""!#"jd c#s#[f') {   @  @/AAA큤A큤fofo.fo*fo*fo*fo*fo-fo*fo*fo*fo-fofofofofo*fo fofofofofofofofo-fo-fo-fo-fo-fo-fo-fo-fofo-fo-fo-fo-fo-fo-fo.fofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofofo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fo+fofofofo fofofo389339d6a6411a416b455653a68bae21962a6a067fed49f5e45ab7b7f17fc93f7644123cfef8187ae07790f938b8ea9319322b88532b1afc596b39d849d1039163986b5085ec67a18b6e8cbfcb43e46e09c4fc3c2817cc3c7d1a3b0848ba0322c2051d70d4c5e09206fef7f44a3e11e4d8a0cf6fc2def60558c811c5136cf1baeb7e2b6c633b786cc1359b50b7dfecc1c668a0102e3b5390886b4907731ea5c2eb7e2b6c633b786cc1359b50b7dfecc1c668a0102e3b5390886b4907731ea5c2ab7c4709f78b07c69b8dfe8a3f6995238fb882307355d6ac653b68016577878cc2051d70d4c5e09206fef7f44a3e11e4d8a0cf6fc2def60558c811c5136cf1bae63d803b8281d1a756227161a613552126079835e366ad214fae222e70ebd6f546a3733c8a8f71f6957b0e2c3f9c83da9f8e7d558795e9ae34549d0190bcda8ad65b4b06d5b936d3247b97caee789c128a4b671556e22849b8e19985a17f6524c51059fc5ca7721517c3a4dfe997437868f4a92cf3f637a489d624ddcf9651c499a92f604114bc5d534cb34682cc31ad1c43d0d132870941aab6304458a8668882ef49cc3617fe852745addeb259b51d113df342235f97633452570cc7967586e63d803b8281d1a756227161a613552126079835e366ad214fae222e70ebd6f5f99855957a2a0212fa0f39645d7ae4701a6720d4bee0eaa556a0aead339eb49153fa3c620bf5b7f79c4eaecf50d433c890a835e4a129b87019fdbd48495a9ffa46a3733c8a8f71f6957b0e2c3f9c83da9f8e7d558795e9ae34549d0190bcda8ad65b4b06d5b936d3247b97caee789c128a4b671556e22849b8e19985a17f6524c51059fc5ca7721517c3a4dfe997437868f4a92cf3f637a489d624ddcf9651c4a760edae2d1e55d96ace42f79ffad24b2f482bb3c98b076109a7480058aab1d5c2051d70d4c5e09206fef7f44a3e11e4d8a0cf6fc2def60558c811c5136cf1ba8de7bdae137580cf263c5b40b5c693e153fdf889950a5d4bb9e154513f28a86f52c6b9213c3799d38d368be997b9013f3d8e3b86183d47ef69083511b1c7f6e22bad61a125926bc5c3533c6a379323fad8b3e2df8a2bb4a7fff5057adcde67b81ce5e6055c0d023d7edb81d5d82b3ceee1e26d55c42994b27ee0509333ef66329cd5899eaa79d9730cdd4b46409600ca3beec44319930f38388a579f2e9849ceac98196d4c9aeece1d67d5744f5cf3c49c7f7936d591c98d638ec45b3b1f00bbc2051d70d4c5e09206fef7f44a3e11e4d8a0cf6fc2def60558c811c5136cf1ba0f458e3bfd6ed948157b43e0a4a733afbae5cde150921fc0a26e4e33e15b0e539e872db19ecd688b8eef5a82c8a9d61ac8b6419a3717c8712beae2e4a04903038523cd973c981a7285d2c3797d7c705b0a5263bec50a437c3bc6cc26c852595cfacb05743f6baaebb558f019686a6faf73a09de754434cd1a502e29757fb68c775e0a3deb433917663a53e1c7aae1b3d4ceacbb8a4d598935522440b8e025d28dcf888f1a98e870e1002e596f194837a19907cf9bd2de85d45e7be76cff92d8bc2051d70d4c5e09206fef7f44a3e11e4d8a0cf6fc2def60558c811c5136cf1ba621948aa1680a5897337a2ce67ccf1efb65f10888f83e7c3eca965aea9601c4c3283b73281572507d91ec344ea9bca3de66f9d1af187f0e0e9c3f2a4c028947d9ae6c2279891a3931d4385b29bb67ea9f805a08abd2aeff2d861750766113e882ef17533b1a14f6a9e876e704f2dc08584cb87d7e96404b08ac8750c9f1890061f4ef3521c6056db652d77e6c320593285583847d6aa43645f7b0fe43338145b19d577402f0b9be699c2b38a30a8c099eb2b063b8e3392820b800c72c8b970fc09a3bed2a168ec2c43a687526f28df9db5a58378aa10c51aab2bc9385b8471c0ae40ffd9c577d6254ef86d8933a37d4efba9a16cd1f0a6e499e70f105a6d9bc43076102659a69ab1b5834dbde67e6660065559704304a77922bdc17676e885aadb4dcf0a4be173ceaa3d1cfc79f6944c9a918b30d9f6e54e6e9d2f415e6b7835f0e081e8c9cfdbb10311481398b86f92a63e2d1ca263bf395a37a85dd7d910f9fa24eb9c65f0da211792ce3187a7fc48380c8f7abd3035ceee417546540039f0c083f858d26585fc6e58d32ba618a291d3277798788ede927fe6e5ea77fc326f634e879f5fb4ff37a8475f373f0f900f4f5ca41e39a51101f1e33546150fb28842d3ea4fb26ec2232a5bdea682358ad35449927c787f3b5e433215d070e8b4cb1e24a1da008e2c4bde2220202baf20c114857f9f1a406ce7dda2b8af4e2b29ae14374774f1f925e1a3b79117eacb190c760c631e13b7db332ed4de40c1b444dbe516d9b4e9308d6f299bec541512e64261afda2a87b6907ea9ebc173752ffe2d15dea451fed931d79b137b91790c465d3618a287dc31e799eba79f9e6ff8443b781af18b8a8aa646a6c3fff56684152f0f2f7e45146a294eeb85812832557b84f4b15c614c8274c1f620a8a7b71e761702e1a3a99a006b0f4754b9325bf0f3bacef8662850cb50ab9b62e27e89e0af4c3930ac971a0039dc9d83a12c1ab048a94320988045ecfcecfcbc608ef2a0298596d808d993a8c6b309e736a808cf6066a95f6cea2925db3e0db99a462e81354fb187c187acfa692c04c7ef931abc4638545b07092fcfff26ba4466d9d0e77cd98483d4606caee3546dc133c2f7156d3723e217ded1b895a5904f74ba40e22db1818491fa6453f207e1dbc3e04bb6154e3dd0f2bf009ca921f44c492ef58491f4b8e4641cf4b7b77ff4d6eea423c97aad601ee6230a488cc96a1e9c6728923c9ffb60fdd38d1f04b288c2d05b0b18f1733a4aea8073dd41291a8c6b2482463aea5ebc7ea692e7698da4a1d188593d35aa814726509ff7785bcf12861ee73d45a7fe617610119f73ae946003f6fb91c3d0275bc9225646aedd92f8febafa89ffd6a94ff5af0c51a081e6bd4955f0d644a55980746dc16473212e785ad8115adf460865318814c92cc76005de8edbb4cf5d1ceedefa4cfb3644995a38cc1a7e9ed04d17d39fe3b1331237528e75527ee35b2b783998700adb3ee0e6730575bd4bdc1033d48d2d6d039a8fccc383ab59b476190db36e0296c7e4fdea4a8de4f420ac98ba4abc8b6c120f31ff42ce9a57d98d8bf690112040f05a328d0e988469aa7f9271261305004ca4ef0bf80784eace43d89b140cdf5a1d1a6d2b19216e08f2ad99f0852c43033730dee0933228320d09bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a1793e5ff6a64dd224feeebd7ef7d7163ae7b3e3e488884c4ddc65a9c8b1eca1afe72d0f82cb1c2e97a77564a46cddee0bd641fee039e17c1ffe53dc19873f11a003bc3b4057d25b86b0c08cea00240d3363a90ac7bb7b7c266e572a2fd53aa88214c2f0663f11f08005c8b25d2cdd4f3a3c1beafd367141f126d278544079ce17dead9047dff4bbb024e5a249db019339b91a21165fae2058c86e0e19cec4999584477c2098317c2f8f848c6b2ad51bbdfa8b8f0bc8557c7f7fe9b4c6b28750b5c6d943ce7527ca36862d8cb182b35252860d2328ba2761473c8d8344ef47e925e13998e68a092e86397f9283c1b03ee062ad507c80a121f4bd5dd33f223b12c7ecc3625d3dc02676a7fceb118dfe8a9c45e82b867c26cf9fed1a2f8a6575eae2649643e2b85626e5659bfd804362956c17b5f7f829bd8423d9bf80b1f49ca8922c2918c43cdc66d6cf485a421dc3790f9d1344e45429e9f1d2786f6d2f6978b3238abaeab8d57ec2c0d4b067ce4fafc34e4307c9ba563f0eb605c528c5ee3efcb4858786cd18b28bd2ba90dd44246315ef8ed45841aaeadf36557ae53539ec81f3453b23f9e19d33097e68ace781bfef655394e3c579e3ddfed503cfd09885fe899665ee3ec9720f790d8faddd0c1ca6bd8cb9b7a8d9956ed8018dfd38082ee84cc5938e59a3ca5080c89df2bb789ac430be3aa318353eeae9ccaa514c3fdc184c1c1e1b8099e7ce76b6e4cff61751257342b17969ac850da1f2805b00d30e0f2186ba191de9c3ddcfe69d782fdf4e3f2df2b0ef658acc4ca930f5305df0edd83dbcb885cf790a3e82786cef3c0d145960f1a0671cfbeddf73dad118a1af792bdf4dfad8a3dbceafbca4aec69c209f7bd7401e2dd58bfcbc2b8722327c3960e41a80027feb4b277e2789dbaf7efcca0c96614d9519aa6b92cbd718fe218c4a07fc20e2508327bf202fff28ae5199c2c1db735e8a487c9ba92e06bad07516ef59c22623a9bffeae647730fc9fef5b0579f5ce0eb881ef7002c8e72c4ad311f5b504ee1dc832073e9122c994625d83bd13112c887846ec111e59558d4df5cccb53fa910ef2e5dc7fc63ffc464f2e3aeb1f21ba652318a3652aef6856c62624db63bb21ede5d5ad69afdec1da83f8d2537664f178fa6638dc7294697d8f7e895f783c4336e01470831970b58050185e6d6a562e0f9f64ee220b82dae66a90866dbe8dc543af91791193d221590ab611d1ae03a494c41fa55ed43a31636a7190ff6ba30db8be47dfca5ad56cdc66bef5f67cef81022915dd8707c961ecc0a95f485303b5f1c4e87f38900460912404eb72f610630140c7cc2700fc8e13b707ccb9ceddf3e70dbc42e1300682f15d4e0491a9cb7c5fde72e965a180929e5dba93ed10d9d3917bbf375d39f5d3a3d8fa71935fd23d2845a86eeda8ef8ec76ee07f594564690f1fcc4baf79547b63aa1bcdb1424c7302a6fdf424e16d09ae219449237a0b9929a48b12ba29f0c6846ea15bd241acd2b6444ab18c20e85fa0f47a2537413e134d2e9f8f36f85a01252a6f24403656ce6719aa4e389e459a9d9d84e45d1c0706a8576ff7f3710b1ae9c439296f1e297cca565e6c6c84232b76fd7f017a540bcf910cdb11e988affb084c6d38adbab6d675a4c57a41172c65be5e29baaf8ef75e26aabac4f2037fb0141147e13b21ed48e21aaba097cdf87b8c42711a163d30b5c950f097676017c3bb1523deaabf321ee2d3335e62a1a42738293b256cdfee12b949d5b29018a56203e76f0f108fcc5940cb6568e17bf8d55b06c0b3d6f0480225d0c6286485a59e195ca549edd8b5a154790c3492e37026902f5c2fd061aa4ad65601ff2e54f6b852b450203c8a60a3e7bb92c1c83b490475bf3dc1ff1599418503332035d42e7ba15b70b84d7b05db66d29f3dd37dc7eee142453146c0470ee855c9368ccc7cae5fc9c6d9ff268224b0f9f7ea0f22c66a74bb5d14c6b262cffebe4d5be3a4ae722941343ed65c90c1c0b8843a51168c8e00f34969ebecda4e4b70895b1a5380805636af708b7b8a652204fee14c12bff69948a10ca54fc1e0ea3deb92f9ec3395aee6ead2c2a0f6146c4939b4f55a35d156b50d57a3ca3b4fb5ec627df9fa627953645e9edc4a2781b41fa5c812dcaf77c507d74fd99ef9d157cf0ba8719312fde71c07ae5a1d6e7b1f6d01852cabac38204a9bdaf42bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a5558b5d9022c915285cbf16ad05aa4d7ab7f9f51033219950f6e2ae96ad0f9218aac4817e6fda6dc687cf7b0d01e5f4f98b818388a2b5c92c1f0f0d14aa219350e1659843457fdb71786acd5fe321938c586e426dddaf824d0dad8e9e120a201afe08b32043c8b18bda3e2943d641dff6a7ca345b68c6acc92ae53dee9897256112000e8e6ccb76ea881d9c249f2887e6c789b619de59898326729b8c622f1b9bd6202a717cb1932e7233dad94bcf466821c989cdd8c510dcab67d91e9e28e668b02eecb75489858d38ee6aa973db4babaa64e45ff767844a9f3235b75a5e8e88e859451566d0c1287896d6bdc0ebca6d686106d25975c03a5498c04ef0c43c6509b312260ea551136ae015c4bc8cc8f643b54ee37ba9674a44a5e5e8f1a93f0598d71d5c46f8c6561bb1384594b582dec98e06ba897646ddc52fad930da60ea5004649c68f13848ab826533f9c23f8fb78a9f69d458f675e4db6f1ee75f67bd1ecf3a709e6e26729627fb1a0eef456eedd3c0f584cc95017db881765c00bc5ff15cbf686e7b3c7bf2b1d6fcc492d8ee8a38d2271b85f15eff34a8335551f904e517de853889b06c38daa04cc2418e7299aa0ea518a0a788304425576065dc43c5bacb6aacfd5b01239f94de9165254e428e7c613467979703ffb80c9ff65595dd0c3af3d28704dfa4d24879e5a22d0c599a3639bf395619ab18251fdd567687ee6ac24691c840f8d586adc06253bbc0144ebe0e7a5f5acebcc28f5b2ca6c7aa4e65320e7b3bfd89cfe1d56959cebcceda3159231fc564c04d70ffb6576209975b57c7def787512f736f26308699b7b9fbc7f280fbff0a78e52ca8543191f01ad0224e8e1e556f7bd6a488002ae14d343a6015955093c81b5c444adf0bf79d5085946092dd6f0091601afeda2d2cc93e6c1921aa4b7397059c68cb15437b5db987bba92242cb3f56ecbe11c9ba73ac71a4cc7a3300e64f893d3b415de5ea77c2f924039218631a5d59ab1a8d4675e3ca40191dd1bac73c46d984649b1879608708ddff8ccbc69a00e4b8c061cdfdcc939e465e439e6c194d46394a3fb3b208cde6bfa705b5907cf85d455ac854dd0cdbaba64748387a06b7a9b25abb9bc140ad7b9c687629ee829c2722c6f3a5113cff16264113752ee7777b075bc23b0e57d54c94ba7a95e2e1d73f7b3b4d1de331f14b80acfddb6a77ef5a58ef7d0d6f59bf90d25d07acbc1c64ec9ec7810eba2997783bee10daf4a26f936433f4853c15924229636af297ffc70c875aab1346b26f58c8824acf77cac46b01f7a98036f897bf4d9d2b5172fa36f0be24468d0bed29c548432b6acafd28417a9addcbee56530fa513383829cf9ec3d8d6eab94b4cd57beed7f05b5e0f4ca03be59d7d4401cd09f41b5329a51fa90b69c187d5af1e648f9825ca9fa3ebd8a0d15693812035df9d5be8d1d6226a3c8c53e39f106b76833766adf0b1929553ad702b4a7e19f1a41dec70121b8b59a00ed6fda03f3bbc55bccbdbdabf02d5e874b60de982b3390aa8e019f0684734bf48a1a4101bd28cdc804e9d8aa28a9099cbc94d9167843e070100d693d0717ecf030a41bc44c7d04b712baf74e8e1e3977ca2976d065c6fe6ba9c27b966c00f5845f3d7a20ca7a2b0f73f7b06c624130fff31b3baf376354d8fd62c45612d2b6466dad629c8693d1ea6821f6b77778f3e7f6862be4602b249ff7cee7ed7be80a7d0cc4b3b1cc16d86fa0b1e00f26272b42b7db737efe99df200020be2790e530a6f76b48fd3e9540c6d6567739dc8c372e6b6b59c109913b2999f0d199adb53a4bf3f3d6abb530d07c4dc365b4f2493a69764f07ce04882fc8251399454f7688a18b5a84501754ab5cabe3fe39c5debf8880be5f90810ccdbea1114ecd344a3582cb2026e5fcd4c0182d36543561e1b2568cfa94e702838727de5643223a5858b02e1e675141d6fdecdc53c9540c8c4777f7f0d02d106f7c9c102b1c2a5277f927f042eb60cf381a4031b8ca0f359f44737f431bb5983633cb985e191c661f68a79d6ae31e9bc11fe9f03cf971f19eb252a7034e5f4f588ea15b7d5585c3d37c1fdf41c377171cffa48c231f82fa596ac928fccf046d62e8e0dc90345107d376665d0d0f3b6205a39d8377cc169f62adb4a18c470474f890ea87241af52e5bb0bde24cc945897c8fb65bd907aac8aba6cb7c4d08e01bdb7f32beee837ace6e3d6f2503b18b23308af2db2415941653d045cb1fae800df7f1750767d4217c0fbcb95e4ef37f08eb7dec0b57b3dad803127c350345631e73b908062dfb5f502f3beaafc143df01a7c48000f404d56f1e377a6d3c3f19bedea3789f0b4d89927a5c7f34d0b1e0561ba4ba473a60d4521734ca9b855102207b5e8539397746d66dfa9a9f0db9efe1e0b0bb78da37a59ba159e85536ef33739400f08bcdd37cd5e2013b0a2debbb4e1c66d9f30e684ae9ffa465c755d90ccb724d8665a2a15a569f0ab1805ce3cd084f09826bd88b2f9d8a48cc94f200e454e5c0ce68e371d343dc58d331f1ddeb0c242f32da167554542aabe1cb16a15ae315b629dddd800dd550a2a661212869bb0bd87b28b3e14176c7b534ca8ae5e9f4a680b5e6e44c0fcf2054b64f9032c36d0eadc974482f7c01bda33b4ae0e9f02fbd8feb3f13f3c10de6e3048840cb59b0c6a1ff297602d70ed77b6ea8b0d7afd5a71d67afdcb0821e9ca424bc32d06a781744046eea9694638ada535ac2027040bfa31cb3df3f4db3aa84a879f5e2addf7b5af5ea6a3b2b45f0b72b0e3e64e5d76d42773dc41b3526bd5e8d6c0310cd15f656bd95eda409e5662e3552250ee88b8d9799a32c84eaf59320f42cdbf449c8e227d8eefbdb54e1cf0dd0d427d6bd171546c278069274ff27e5f32a5bc40856feb82f4277b31edc365ce36ed017c353cff0544ee88c6840ebef296f89fed307528d86ad17543b329d722d91bb5d4d27297a2b7e16fd579aa2edb32d6ccccc462db66b8b8ce3d7df3adf98360917696e5c1bda2987e3dcb30fc8486835329e51231985901d9604cb65b60011336be1095a60f4292508f5efbda44218fdd9a5eae919add65ea34c5b821ee8f5a30f1c07091c3ea99e948c75b9a97f27851349689ea15cb8cba17222bad3a3a3c3652a6eec1046c444918851a10f98be8d91142cba0135b54bc62b0af412f7bf5fd2c35bb5b40594249a1eb4e374c911687133e31b270f344dc0f0c7c48579fc3abe5cb512fd710fcbfcbf4d1856bb389e82fc95daaed21b088ca484b68d0a69e42560714e1709abadf7d2cc6eb570fe86d2048643293be454ce84ef53240d995fa91d9aa087d654e8685cea1f62981cfc507611740bd765a4064ccf78c7b4d0e890b482ba12496f196ac7c561acb93136fcc8c32b02a8d27325b67cc9454fd3af894d1ca9e5d2794c8b4e0dbb0f1b6b4fc9f1aa11ab292a7dce5df9a61ea72bfd44e8c2543dc72b951b021e08b4bb82600fd83fb72557f39d52f504239cb2077db4f24cb37a6bd97c389a914430c34845fd0d2f5c9e2ea68e21e3850fdb48f0407bf400c23d3261d0f0221c4f45ebca15565901ec79e467c8f1a052192e9445d1e28b74df93d4eab9c9eed79e03819c027c66b7455de1b60bff1360df3455ef773d5838548924aa8ba3f1843e5af773145bca51e52d5339e86e3c08f244b0d2b32470bf08c39bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a3361f7ab65c3a7b330291654f06e7394f03329523aec938d4a8198d94f84076830cd6baa327cfb49c29d49177872cd868379a41983ba3a852d39485bacd3b19a3d0139afc8434b3f45754501f2c1391df43a041afacd6dca2f5adbf0f4f89228bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a8df6d8b3355a6480edc40e4e3857ccd1f36ee0ec250915e901fdfd3adbc6930efbf45c6542a41d5c7552ecf9cd4caaee743b2dc54e5ecf0f837ff86900d8df8e7ba76eced58a5894b2265ffc3d55fd65b35559f0276ec07c500a68796d8e98c20403802e407170402c28669d3dba3c39c60b2d3c51f7150bb6cad390aadfd4399d0323821bb8d2d299d4a179562550a4f4594b26feedd7ccac7d5057dbd586fc71759aa86517a05cebba40c8460c54ce2f54e1787b3494d5907a0eb12d79877f45bc956fac0a073334f8367902efdd9bbbdfda8c4d07b5c75842d686c2d8580288d0c808d0a4dceead2402e9dd4b06448056e843d5aa1a045b62617828cf99e170f62139bb6de487965b9a249906ba9eba57e9045e67484a7d75f721231be0b4725f5b45d9651d65c63a4a27a511882096bf3323b2bdc620cd1569f3d1893e57048d68e6be2f9d3da364c2bec9b2015a1c0ae072e085690d912b4b9520a2b66fa5f4283ab0e07d746e2c0b27ea36afefeb3362d50b901a85b24da969884b12df0662ed21fa5d69bb42ce7c62b025457afea1abdfbc15179f3c36eedbfc7bf71291bf1eea04d35d1ae9042f5bba91c6609b153ff178293b37c781dc1992542ab8a78b8e93442df355d38c39a1d099eaaa152b96006f3b57299b0dcbd665ee4219f991abf5af6c263744a6f1f75ebbd0a711b315cb0182b44448294d46b00cea375e828656b6f73790b9c4cc7c2a5348b77e35a9b821f0a375c8d21d8b430c0e0e8bb3fe53c664e0dcd66cd78ded8d80a174360c25b02edb253e3d30e381eec78ad6c0edcac7db5501636ca56e50900372990ef15b777af99e8fac286300db01850bc5489ae83d5ef9151262c7c0bdb113fb390434ee9c8266ef9696473e1fbdaf97af386cf8cd3135c88b36a9c10054dceea4fbf49c3be36c5a749cd31f71b3aa7d9318bfa1cda5feb573f92ebd9cb8f1bbd9dcf3ca53affe5e8b1659e44fd1a3fdf310c5cfe4922afd95f5b719d3a5661e6bf236a532cd37edcb3bbda4cb07a5ad6d89996ca5c9659a1d4409358ccc27552dab4e212c3722106d9cd47d1bc1275a945d7aadd1673bdd577c9e7118636a7164731ceb930d2433b892d45af1595a2be1ab5265403c76466388fbbc0c09bd6bc7e34cde2363bb4d25382f6d5fb9c20a9546e47f9bebaaa52ad2fd8b7f47483353c222fffcc67b0afbf5613485b1e933bef6044c873ad4bf59c4cd896eed7673a9092ebb0c1abc0bcfe250f33a5bbabf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304ab61d8b5c9a662b99291b079afb38b2257ea1f6d0fbd8199f3e3e891848b386bb2cc63594627f8dd4efeba6c9b9fd6b20250a04b9d73d29e8cada06756a8d71c15704b20cebdc3e52c052dd144bbcb6af5e1e1335bdd69c401be191e3b7b3f4a9a81aced04bab6e130f1b2e03045c7d93235863c1ddee92fcc7bc8fbbb5e4c17bbf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a53f479ea21571528d6a63ea115e7ad3b63e8fab6cea9f702e05c929242073de86ca3edef4cde81c8e9a8a37c9f7bfbf2e94a93559d41df042859cd094edbc15a55a1854193a2eb9dbc218c4db09916ca97dcc52060d9a09852bdd8e378e268c1a1c7e1f777d04cd3c72d2e97297457dd808092918b439825aec2bd26e27063eabccd855ca2bdc82a724508510b51833352b3515d402c320250bc2fbea4ee7bfb2548324e3bd134882a80726694c69e7d1ba908132f960ef6dc0dfc02a94079dfa137dc350fae80b8175d55f421aec8b9ea191119ab4e875cfcd8ec2b815b5b48b7921435a45756e52ee4f6220a23c3b561f2af2373f291c6a688d470f3461236e9464b6bba605ca57917b940fb02de5faf0c6c7beac8fd656741276671e7f567b1dc2bf5cfaa3830fb13566e27be031938abe24403e03124d05325970fd22fe515ec798095bb26bc1aef4ee71c8df46357fe71f959b9d56366efa74924c0863f5e07f7f409073cfeb1e9d6866f967d70ca39d47b64b568581b413c04406f3448aa0d0d46d39da1602bad033beedeacc5ba5ffb1c671e147aca5c54e3b282d24d58cdf9939e9d8e0f834903d2dd3203d5c1c1235be94eb43dc85e218ed25ab2272780d505410e25908980fa00cb6c0214edefb616cb1b1d051f5c9d58cbf66c0babb46aaa48676a6dd765e3cad5bb829b91dba8cb214d823bb6cfe135dc2703c29d2e63ce01281676b274fb2fda2f568df915fe1de6ff76bc9b47e0764e65e442d36faed7be7ffad1ef7bc0d79a2cd633f6e9c201436eb1e1a7387228db5c98ec550ac4d4db58e5dcab6ed5ad0d6f32ac567a8a4b53424f6a6a0a0e030e3ce0ad39d59b868569fdd9bc65c3cec36ba9c04d0d418693076bff520f559bafe567ac82b0ab9e5c0035c8764ad36412c7bacfecc49592bfd7422704b9c2bc654a5a5815fbccb7b01436be976e5a45398528907f107906dbcb5721bcc76ce873b0e38a1278ab74ecba4f9ceeef4f47e2eca39db0f87b711cd3f07d047ecc957b47f0ad2f0d99af144d2b6f053f074c938f3c9abc84a0131d0546365a48c8dd6d38abac950fde77ae5caa0adf7c36956bfbfef62d7a95d3d25ba2488657deb49c501e3ec22e2a21e9e66318e6c259754e630dc7ebeed2dc34117443558fe10b794d05bcbf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304abf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a69a55f0f4a721b08ecb126eb5f9e32a219eb63f1b308db62054e0d5d8c7e77b5f11b882931d0ec6ca899426ae4a78a5298bbde4c8f75c12b07c85166728f4a5a193991e5066d261cd6666bd56af2a7b1301c9a240d5ddf196a4653977f0e68eb8debac380fe920321024c3e080fbcd0e942b5cdaa7c894de67a87211c8746c9353ca6a06d8d1b5cc26a78da2ebc280e5c98fd40af5ba650aa27ab5ecca92f8fdfb47c9bc70a22afb8fdb845fb4d2fcac4ed8d50a8eef6b6e8589d528b8dce25924028820bfa4a1613834c6c1b5b38b3b236117c2c97656464cffe2304c6913c6bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a1c7e818c36cfb43c2fc76bed40988b796d9a5e5cd8350cf37b4c29783b91f9b8183153599c3494d1fbb0eb60498e0e2026e32ce42b957ef54eca5a6463af5b81bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a2e6b36ac468a72a8897d3afc01b1cbe661dfcbd69e7cb74f4b11201b8dcb6ac638bb16c05e5cb9ba24f8ef302592e03d192d954c8a6ffb905019be365aaf4c2e48dc34fbe5f8390dab0d8a34c1745c01bba7d5921f5798201f07950708bc4c5333f087cf80d3989f75e5d94b45824d25c7af8a96053bd71d74202547bef35acc03e9323c321b67d1034280069ec93d4dd81be8ded3d60790d3c869f7b263bf9fa632630e3002540f05ab3f2ddd20e9acd9221fba63540a7b49a5051355d1e9434e7d4a960dacca6138f35529bdf47d3d3b59e539b1677f301ff795729735c85cd0e6d78935c2ca4c328d0b86f7900c5deda3ab6d4505e68c20ae2776633ead033d88cb07dde239b95252327615d7cecec2bd5838ecb5e2b5d668fff1f18cd2a19db2ba39fbcd10dc4b90af9537baf1bd56aa7b85d4cc930702dae4e1d1d7f61da01657ebd33a69335f0ee5c3229cb0942979bfa84315f01a195e7ef6ad825c4455348c5b6ecfeedf96885436398060670cc72eca8d4ebbe62298d45b01c57aaa5ff8ff686688fa184b0fc17694c2f02201e764e88658a577e26c6ef01da3fcdab68f22e990923d5ce5d1be918a64cb611ff3cdde1a3348f04ba77c46271746d6f4e28883b0689d68027f0f8e7d0dd61a9aeb1af051672846b1af7949e7e3168461a9d47bddd1a80abe63b3f61474cea3823dad91bf89fa67d95e68e5576bf83bde6075f8779e2da24c12072f1019f2aaafad8c699b4db6cd4edc8ec607b9b7a2420611d2ccab66c634cd501f5143a49307cba0f3e37d2aea330e05a36e1f0874de601960d7544ae8b5dbe7f9ea72888b907b97bc119b1c7102467475df1867fabf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304abf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a7b47508be8f154b18d01db8740d3d1bb420b5ad1a423cd20c5c0ffc2762566f9eb5ee31d5c68be7d7c06c8e0f3d94235c02131499d13ec5913747a9f652e6b4842cd6f1e0045f26561670a968a93ba9009a18435b79f93b65c22f1906ad4c95660b79df2267e140ff07924fda661ab5a894c27d492bc16295cbcc7c4d97b935b3a14bff212e22161d6f7d55baceabba3cd5cb595bfdb3d42cbc580cd69c2a4429c51d731a9869f34ff9c632b974049484b15c720fa69c4182718485ec35cc85e657ecfefc62ea27d4c58d3a58bd8144c571535ba0e51a977d33cf18e6b553e7986607e56a000108a29a27daa5dd0959829846605f58b1cb66cde44336e6ce68febd973a17526ecf515ef9244953454e279c1de2a04b0e04d3349aedf260c1b95c8b2945e844f93e682c25dc96ff3c66a5901fcca8d7d6354609237d264684f4130ce87134bd418181e84703a766e2943fd397098194144c5ffc6243a2a10c80cbdbc2a98f56cc9aa1c72abc36527235ec9fb78c8dd2a19eefb7af65eb37176aec9e89ba8bf6c09cc52d3c384177a52e993d07d7514aafec4342f8ddf234e55ae5538186102450924a4374a9954915ced6ed50186d4c96cbc83654ef31cc2419a99650fc504b3c6d02405a1c53d593015f35c8aea5c819df4d1acf52cb3ce18540cf8dafe177a2585d6f0cf0bd1e3c61af54b27e34965a459128b4110dd67aa68c4dddf75bbb868d80666544482733445db32fd174735c35952536566ec7be75454858b4c34f2b678499fac7a04adb19c763b05e6b28d7cd4cc4972ad9ca116d2cddc21e0723245f4cc0882cef2dac09858ad2ac3d9b230fec458bca6b82afe9d830ff0620f010db497adda93cd0c068cabafd2f89d4b2d6c0b513765a005747e18546c0553962630bb4990c258d0479450b796e3899763c74da50325b5df01a668c9e503d3f38986a17b587e11f0c8a1872f47171b1d9111582c9ecf482e88650fbf5f9987878b17766983a5831aa7761b0f7c39c19b416312153bc889f8e9ea42c44e562d075623ad665fd2c1a71d12ed026f0bd0dd326d9832748c33b4adcf7d7b2c59d88fa926c2db92b95949f28671479d6402a10e524e02d864b92d1128d8ac4c433dcf40ad29e3643d36beb49a82b29599d43f1c5ab321099bd0df7a2f625237396b2d7f5d290dbabc4123edaf76848dc39982b7d48e5f0b7dcc15e0769dfac8c7a15612cb6832e0e169a83c583b426da5f35d3bb28641f48dca556b47f2f4c5fd9d4b46384f931a73563fe0f1d33dc7283952558e05e008ffe56ea67fa0d4b746c885e8ec0cb4f3b11981b8d6c2eaa91f17e46e9e83867fc471e12c1899ecd5c6b81272a4a31bb500cf21bf20f2df6df874dc7077edd422c7f9d42a29c8ebf3b19fa4a5005a3ec717e0594316a2f413c4668462b504b7b15002ca8a8f17fc23dc392741fb7a345accdd91a5e4a540618d9baa461d6d77981563374c1fb35e81137f2973b7291f1bfcb1fea05bccbc426cdd6eb4ab2df5334c6a5b364764bf2a1d0d874127590af582736e67c849802ce11d9c943ceafe2c360995d3e35722381c4973232c73774247a52fa90c19c9ff1983e9ba7d3379d03dbedbba08206cd39d511450010aaa1f5319f858b8517a827b18678e2698094a1645d7c49f7712b06f7bcc569141cb22e1ee574377fd1e58388632e1d62ba2a2b8dd629055bdcac07d126963d2d4daa082b907b44e357c7c5267a8109ca85d2d6d1d13766df8d525bc0a0a4533dfe6e1a7a0a59e95bbb297d55643701ffcfdd7be7b2ce206e6a199de1ec1ed1d3f716b3affe0383fb356c357d91c0c6a8c3366fdd9b3c01d2f5eb7232dab955e20d22e14dc75ad87542c5b310899f9f022e3a603396ffba0bf8e681bd97c56cdfb7db93f9d9dd04813a73c3633e0621a254bb38223674798e354086977fedb97b9d8b0ad3314f542132c73ab0fda35b20fbc0ba1dea14dfdaecfe7a206e568300da5d8776d6a80ac85d877e77ac22a7a142856fd6f347375b35f172c7d6b86f241e09555c1c0f992d3d5710baea1a2989d99d7b8d1421451522419379523f84829c295f468040fcb6ff83dea7eb44efce486d84ab87d97e7570a1a8a8da373961080a58f3f58b6f717fb1d9a98d6683b7a8bcdc1cfdc95510a5952b9fc3c38cb5691a3859535993067151d913cff9e24ed667fece25d4903e2bfb81ad2b754a0641b463da9cdab48b01c5d13d633c273a56182e3fff689165569934b919d58d7fa3ca6d6df3b43d87edd3d29266d38170c149cafdbe6c40329de87e67d3988b334c133164e516183f9463687916e911733d7f3ce87cb994ad8f20f5fb8cb601cfc87cb0367c8a330d17028a33ea80085e9ee7b7877f0afadedd40f19f99f74813eca2f3493f8e636dd1cf4be7f1e2d44da3f3972f151e686ef82b03dfd0707f13ec69d694050ca00933438ec6c23989652946b9ad5466782d759ecbaa28be50fd598baf8010065c36a30b2859975bd8ea0c3d8a19c680e7d47d48dca94215bbedd984c16a478c96ae085b1adf66d56e7c049eaad55e207770b56ff53fb8a62aa7e1ca3d60dff20cbd01f3e5ed342c43d8182370803321ed0bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304ac1d52b8656d1af4cd5d4004232738c1d63634830a5079ce82d2d01266ea99d52ac8e84daaf71030b8a17cca51a7592d050b03b3f7451e70a214325381c8206413ca80a4d8364e75a87ef3e565121207536ede420dd8ff647eceb7e222a5cf33d18a420ff76d537543c96bd53dc75217720474aa3d510db991cf1c5d3c0b17e182e8bd06ea1bd1b60a862121022f6db29fe2c053514dc254e4ffb7ea1239787a3fa1438c6727806846b9b90d532c40cfcd03388d3ba0332b852e68c788dc95beaee5c5baed03222b28a19588331a0bb52ada0ec313579bee395f4b5fad228cf7aa8cb7d3f5fe04a791a0d32b67205f4dec1648e7b8d81e4713f7135d9ba543c2d8f0e287c44510ead456336ca90ceb7074a1dc2e503216d8f63c823bb4ac3b2ca69a51130203dec21c602fbb66a44b788caa069f0e704bf43a23a3e1109bf2e6d77c92012b5d88e0ff6bef8be5088c215f34df28a9906dcd21bb35ee707ad247338190524465ac3539a6d375d32ef874cb23b1f623b1bd738e99b0f34038bb74d984eb7d6e464deab664a1aad8a70a60a4f5280ee94031f77a6433f6bb1e0cd8f058800e40eac6049ada804e9491a4cf8efa5922f347d7daaa1f75673c6e56d4ccd24a89e301074b0ea6d4abb99b27b96007150fa0a6aaea7a1b42bc3f583ec412bab248dc0af4e4ec1320bea34cafa3a319c329bfd1108619a05669b2186aee68709a8dcebd24ab1aa45b49eb716775158359822b51855c55cc7066be07273edbf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a40522139b763fd7b4f32ebd671c1851397c1fb321b3e8be1863fdc64bc5d3b5e444376308f32bd6439e0f53e409e8e68c134841a38fbc1f41b1611902b058d8b04f3fa3ef1f7385aff0f9f9de214be8413b24ecba3f065b9e98717b547005c5b4ddac5e255d99231c18fcbfa3187cd9949aec8016353e55385e3a538128b273a4f346684d6455e4bf9e7fba19a10d311eee7e35fe16c1bd1755789676e45acb03862a0b99dbc565615735ea60bba97159f7a686658561f3504c69fd8af2999c89a69609113155a09e9dedfea3b3910bb025d2d9fe0ba7005ecc9691d2d73416667c78fe28b133f8e323f2934edd697d31470e2c959da67dad21dc8bd6a092dbf81a9879f1570efbdaee5ec12fa5606fcda033bcc6edf974324a74a6cce81a4d8966ec6dea5aa6f71e3d3a45878dba2452c38b220196e79b1b6b63f2073bec74f56d61da6bc52375e687f7185c223e3a087b00d0f483fba2d0aa0bd60ccd38a64f7c9b9d6fc53760bc49679f96b380f9991462b420e6671b8edd9616618b4d4a9df6e6c5d2b1bbe180e3c3f1448929cf058f51180201d315eb8b8e8930d984deb678146b86f95bb9df9a552c0ad7a6aa4550585b9c6ac2cf7c0d78b2ac14965bb0d48a206c78915f76b40d769f4d08dae9ee5aaeb4c24204434c3c915a51ba6c44f76e9c2c87b0a4b2e9bb69367f3f39533ddc6529253580c600fc0f72065a8dfeb735051d2fb326159ccae60ef2cf0ae56deb2cbbcf265f02728bff2ad1ef45f81fba8abfa6ebfbf31d5487e566c86025ac5d0d00cf32678da554df946639dab993e07b1f514acb667aa3d27becd737f30653013877fc0f6477257b794353d98105b0b27b7b0b87f754a169b196fedd90880cf969d94d852b2ab06a4792a8ab24e72d89fc1a75407877ad1af0bea2af1cf09e39e4a23e6871e2b04074ba462008fd31ec2c588f0514c87b35ff3087093ec49ec4ba348efe5421bd9e2c5a40f7002feb838ff66f611caf3e91355a54c68011185b61a97db4f5049c9c355a93ad008f9b9c7bcbcc27e00a3b184a7487f244d0f3abc8c3e93ac96c85caf1d590ca9af9c1b2e2eb742a8d7cc44a2c08d219e7518d0465b28f6156ea9851984500bc79ecff57e0191431bf1142f7eced0da9bdd2909ffdbe5b14ab813ddea98e4554b120450a29eb0d3e5940fb3d321b33d21d2d1bee442b585d3c3d8a390033e3a79a480dbacc224a0daf749ad1cb3a12a38816a0afd590016dd9336c80b1807f512de6adb7583b2dde681608e17a8d36460ad5986c55f2038b5a5ccc761c949dfe9b4752d121c7e8403a42b20373edfcbf1bbffb081f02f830bdbb4ced4fc5cfd29372fdc4f7caa8e0d9e08e1ca4e1bea3a93315f009cc45ed3d934d1c4b3b2d914e3045f148c3d92bb890c9597a695227065973e66af26de733441cf37272862a1bf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a4271a1f44f62611d7c02a69a92c21ac1f7b2c527d805202a9d89565bb99646f167cddf5c7ffd3cdcf55f86f08aa86ff8336dc697a4a889c0af2121296d32fadba09d0942031c3bb42c6accfb325597ced6bd6d589251c9be760fc3e4cff2d370225d7e149e9f6ec340f630ecf8ca09afa9f6e811bd002d8a7b46d9b271452c780dfd1dcd46bc5290ebb3e1476801a1308a673499e9c5963f48eca2ee78494c31c1e9d2a4df636edf44343b02605b9a645839dd13a44cda4207ee899682d0b479137f77741519deeca081cff761cb64d962c897ea9ffa68a509f3c109594c2cb9871bfac1a5e204f1b30606f41b523e74c9764226974c38bd384d8dfaedd596bbbf94917bbbe164c53e862ab338b0048280bfa67bbf66f6c97c3010d0ea37304a0316d5f9bedb7d56943e7f8278d955ab5168925a2500f824bae548e0e9e394b1c6383942ac062b1df8a007c713779d492b341eafbafc02ed2820dfdfaf0fa8f4b1a381714f1aa091e8263765f859f281787e01f57dce157bce115ea638505fbff02f4530922ded8380adecb67e450692ad96de5dee7eda92dc2b3cd8759547e56cdc34400453cdf293aee7aaf366842be48b139e49114bbd27fc4a2e3d0801e8802742883d39915e04cca4e5a12b5b712cc23df324d654bb0c677a98067bdf730434a893f65d3387a1fec2e4c64f9663ad75ce7dc63dc7dca8ea098ec710b2014af80995e5f9b5b6a2bf39dcfba68d3d06143495f5ca3fda5b425f88dd48cc6762210598e22397ed706bad0a1cbec63547cfcd64684549ca46ecf3ded1f6d0981d182a84335e9909d5b7672702018add8d40224a2e5c25eeba7f57a23ae17bc5d0f3554fee87c9a13396527e1fd8f9b5c13b73721a9edba19cf43a7fa1893c1eae8961a7f68933726c6abe79cc453cad0902f8cd829069791e798e4127a8dfd7f5de0ca4b21d2c8914b3f94b63d41530f879c0a47934c93ad3b8153149e8e169328dce982e1e53ae6e188bad4fa0f00fc35bb86bc5c696ba49152946a65ae1c9c6b53afdf812ebbbb1029a822482238a111c4071002980c2150753a62c85cc4db0862ae8e6e8122253c1170fb7d96bab991d14ff576bba7091984d8e4b92fd70ad536b3e2e7d7a11f56d8e91ca4abbba83044bdb4eb4de29188fa2e705a97357dadf66be1814d7dee4410e942865a774341c262d7691e68fe95b81638452efe2e80bd9b55d7558a899327786d8f3d478d24c1eefe788baff83402b2d22004d3762fea50db802db82a37542e3201201c52ad0eee1ab780c380112346ebe7b276c64f170c0038048d4faf9f32fe55c2315d90469e1a0ac0a0297f080e753963bc7a0cf487a9069da270293cba14f5d2f398630974af16efa3f723e639977dbb9b5871ea65a0761f2d2fd35ab5c5d8a98beecded2005cbc5d9fe26ce921b9f81b985bba48dbdff91b63438b7f495e677c1b3cf3f114a6bf78bbc120dcad890aa492c163386b3263dde8572bd5ef2219992ac873b530208fb55f717610851669733646db25590392fda4399a7f49856489aa564ca2b546472239e5c3cc2833d6efacfba59edbadd163e540eb080ae0304090bc5f5e4adfa08632fda8c83e5f5f784abc88be5fee598ce1ecb06cf7af6887ea5225626c8f5e0474c7e4f409d2667d577cfae112179ded65a16fa4b44b618cd1e8ce47c55d7e555b6aba7957c807fdad1c61689a222188addb755e181a23d3c04be4e79efb97129829aa3ca4949aa36e8c637292e51926924f8c75f55558fefaf491eb718c7fff5cfc1cfcb238025eb0086967b2eda2a03c6f5d2fe9fa805bb49ff2dcdcc9ce42cade7e4c57f2c6b07801d01162ec366571dd9e9b1d46971d745b8020adf3f6defbb48a03bc7493e5fcef9e55ad0e13f97956b51115300b7012688f0f22079b778d2d5f4db6047e9e733cdf1611810281b0f912fb81c4fbebf1b31b76fc3fe59dba766ec37c541e1b4619abb0db733ced07c246f64c4b444d66229f2003ca2cc9f87ae346c961f8b79e8bd1781d95d8a5cc9fa358b8fcfd1875af7aa1112c01ab1f70a6429734bdca4a3cdf1611810281b0f912fb81c4fbebf1b31b76fc3fe59dba766ec37c541e1b46c5bf91617744e2537702106d6f685187978b2f60a4228ba3cb828513543637d225dbf6beb90f83efd5102b9d8df0651fb90b1a6f15031ba59728a099453e3dec25dbf6beb90f83efd5102b9d8df0651fb90b1a6f15031ba59728a099453e3dec25dbf6beb90f83efd5102b9d8df0651fb90b1a6f15031ba59728a099453e3dec5a571d9f74f73fe1c8cc77d68244383484447483933c71896b78741614b55ca1d6edb0d6c91d1260bf4ec6d580e76d354f3e71ad6db6064ce809d50e796b2b0fa5856e36b155310ff76bcb518aa15e21b882420b76df9145a2f1cf53a822aaad1d5f8b3716470c39ac414f069fa24f6e58399371a16df38ec6b80dd0663f524770188eeadc4b8cbaf13702f7ae74e826f2c2ae2f22ba52ee0f89283bb1c0a26e2a9c91765f7572cd20777935cb1fef37f3c9ab8fe0e457a297f188946efcaf12f4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f63d194ac182f93a85620253c91d302ee4152bc35db42b5e0ff5c4d7625b5415a4ae4491fd454b934870270e8be1f4af707b29cd0d77c8137f2761bcf6da31284a5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970095e4b606f66539364b6a638475b0237a8cf04e68ac80ac2886750eca2b450384f5e4b606f66539364b6a638475b0237a8cf04e68ac80ac2886750eca2b450384f000880302e4fa88df786388982c767bacfdcc520e246bfd8b65036e6db2009e9534bb5ee2bd20cb4a4842a74ea7285e0e48d38bed18a986510dd93f1b9e704dc6487ba5aa868c595eded2018ff4088fc2d9bc1539d15dfb94d2606db0de619ba7eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e92c37dd5fb50ea93bc747a6f506cd8af492e615203b5ff6779e63c2435505731767eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e92c37dd5fb50ea93bc747a6f506cd8af492e615203b5ff6779e63c243550573176a648993793a8899eff496a6787712b382cb8df8b7a67266dd38798b2dd3fa7b95d17bf31f4ee9b0ec69cc5ab10f93bb740a9433633dd80647c45bd6007715776ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6e7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adfa5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3c6315aa174a388a683f81264e9680cbaeb67bbf9d1a848d08e8eaf85c3a9bcd2e7cfea298648f3fb27e975c220da7dd1c556d7193326b767957654e3ff61ab5e3a1c98b15f0953eb1d2af09051364ffe618ad8a4f34dffafe64991f81d4d1ca37eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e9284a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970092304f2b99d427e9772d541025e5259da64a9f2cbf8b9c1b7ed32e4f5f523b21ec37dd5fb50ea93bc747a6f506cd8af492e615203b5ff6779e63c243550573176095b1b05ca46f5561dc5f0039bee9055c118faf3095a0d46121b13ad7e2452156487ba5aa868c595eded2018ff4088fc2d9bc1539d15dfb94d2606db0de619ba6487ba5aa868c595eded2018ff4088fc2d9bc1539d15dfb94d2606db0de619ba06985400e7971b4a428d207528f5a70a4edaa34ee96fd835cd6280c78987812354be4be522ec762cd6ac04e35869f49112f0881613c7c4e501f8c32e136c5662a648993793a8899eff496a6787712b382cb8df8b7a67266dd38798b2dd3fa7b95d17bf31f4ee9b0ec69cc5ab10f93bb740a9433633dd80647c45bd6007715776ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6e7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adfa5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3c6315aa174a388a683f81264e9680cbaeb67bbf9d1a848d08e8eaf85c3a9bcd2e7cfea298648f3fb27e975c220da7dd1c556d7193326b767957654e3ff61ab5e3a1c98b15f0953eb1d2af09051364ffe618ad8a4f34dffafe64991f81d4d1ca37eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e9284a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970092304f2b99d427e9772d541025e5259da64a9f2cbf8b9c1b7ed32e4f5f523b21ec37dd5fb50ea93bc747a6f506cd8af492e615203b5ff6779e63c243550573176095b1b05ca46f5561dc5f0039bee9055c118faf3095a0d46121b13ad7e2452153cdf1611810281b0f912fb81c4fbebf1b31b76fc3fe59dba766ec37c541e1b46ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6f4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6f4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3a8cf995c1afaea25dea64d1a062bb0ec52fbe3852ee7e9fb6e1d4a6811851d77331b69d1c3968a28548ae476ac09d306aa56dc335095aa0e1ec4b6341e53afa3be7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adfe7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adfe7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adf78967d47eb35ba5cd77ca694dcb6fbcfb28f66240e4dd2ae81dce05fea3714bd9196b8b91514a39885945ba13d6f3440cc444257b876c1fcbbf5e98834a57ba5e272ae966e8f53a0c7a871adc6ba36c7ff0926020027b60749ff1dd33e945193d93490f7f7f73b95f20901dd55974aa3e13b151e310af7014b9dc04d0b0b0110052104b69d3bfc635531636f1b26324acc77964035aa0e35d43af23086b3de277140dc67f83b65af597678dffc41a34b33d7b143072ed81b3fea08bb3631056d3c83d1b83c003f8a1558cd11e1091d8f238ee088d8016256b5d2ac4ba946e06f389204ba5eb6766df7fa1f2cb1cff266e3cfc7f02113bc0b5027919979b9bc93269ef79d64cb8a49831c572689f27942809a1b2cd6435e5bf7515f218f1878cc5d17bf31f4ee9b0ec69cc5ab10f93bb740a9433633dd80647c45bd6007715776ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6e7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adf9628f03e250586b1e010fb6408368e424d481907c2cc9a6461693be02110ff91a5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3c6315aa174a388a683f81264e9680cbaeb67bbf9d1a848d08e8eaf85c3a9bcd2e7cfea298648f3fb27e975c220da7dd1c556d7193326b767957654e3ff61ab5eace676a2f899b95d04229e9e0f2f67ae78861176133db36fc0660b710db666603a1c98b15f0953eb1d2af09051364ffe618ad8a4f34dffafe64991f81d4d1ca37eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e9284a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970097decbf1794f0c5b8e39c65fcf1c4bfe7354d66d2339a39af56a482c2f6f6d5bac37dd5fb50ea93bc747a6f506cd8af492e615203b5ff6779e63c243550573176095b1b05ca46f5561dc5f0039bee9055c118faf3095a0d46121b13ad7e245215f617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcff617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcf3230ef6af779a761f0e03aeeb0f98ad503f7b1b7498a933e781091b9053c58e5a5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3a5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3a5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec37c73a9cdf56a9a0b2edc3b396d39b44be34c2e38900bffd4b283944b44a39013052104b69d3bfc635531636f1b26324acc77964035aa0e35d43af23086b3de27e7d218683784f07912c232868f13268231683e231f99fcb4f1c310a145106baff877f8a60e492f66dc99ca8f83b5dd34c2b917ea43cabde4dd538e8d81d55e6ca648993793a8899eff496a6787712b382cb8df8b7a67266dd38798b2dd3fa7b99dabca4d89ad83986a828905c3be349d3e1d576eb3368fabecdfb4146c0077885d17bf31f4ee9b0ec69cc5ab10f93bb740a9433633dd80647c45bd6007715776ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6e7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adffe0f5394684361c434e4020191d94a10e285e1310343d90063cb12c07e1b182da5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3c6315aa174a388a683f81264e9680cbaeb67bbf9d1a848d08e8eaf85c3a9bcd2e7cfea298648f3fb27e975c220da7dd1c556d7193326b767957654e3ff61ab5eace676a2f899b95d04229e9e0f2f67ae78861176133db36fc0660b710db666603a1c98b15f0953eb1d2af09051364ffe618ad8a4f34dffafe64991f81d4d1ca37eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e9284a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970092304f2b99d427e9772d541025e5259da64a9f2cbf8b9c1b7ed32e4f5f523b21ec37dd5fb50ea93bc747a6f506cd8af492e615203b5ff6779e63c243550573176095b1b05ca46f5561dc5f0039bee9055c118faf3095a0d46121b13ad7e245215f617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcff617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcf3230ef6af779a761f0e03aeeb0f98ad503f7b1b7498a933e781091b9053c58e55d17bf31f4ee9b0ec69cc5ab10f93bb740a9433633dd80647c45bd6007715776ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6e7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adfa5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3c6315aa174a388a683f81264e9680cbaeb67bbf9d1a848d08e8eaf85c3a9bcd2e7cfea298648f3fb27e975c220da7dd1c556d7193326b767957654e3ff61ab5e3a1c98b15f0953eb1d2af09051364ffe618ad8a4f34dffafe64991f81d4d1ca37eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e9284a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970097c73a9cdf56a9a0b2edc3b396d39b44be34c2e38900bffd4b283944b44a39013052104b69d3bfc635531636f1b26324acc77964035aa0e35d43af23086b3de27e7d218683784f07912c232868f13268231683e231f99fcb4f1c310a145106baff877f8a60e492f66dc99ca8f83b5dd34c2b917ea43cabde4dd538e8d81d55e6ca648993793a8899eff496a6787712b382cb8df8b7a67266dd38798b2dd3fa7b99dabca4d89ad83986a828905c3be349d3e1d576eb3368fabecdfb4146c0077885d17bf31f4ee9b0ec69cc5ab10f93bb740a9433633dd80647c45bd6007715776ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f6e7c42fbdee10d39be44c27eba97b80d344f2f6bf893c572c55e46e5275730adffe0f5394684361c434e4020191d94a10e285e1310343d90063cb12c07e1b182da5f66123648edef8230ccd302b65cbab9c0bf3f30b1eecd3b7d720e10c265ec3c6315aa174a388a683f81264e9680cbaeb67bbf9d1a848d08e8eaf85c3a9bcd2e7cfea298648f3fb27e975c220da7dd1c556d7193326b767957654e3ff61ab5eace676a2f899b95d04229e9e0f2f67ae78861176133db36fc0660b710db666603a1c98b15f0953eb1d2af09051364ffe618ad8a4f34dffafe64991f81d4d1ca37eeb5d1a3a295f6156b9200b5bca3ad85a230c406842c99e4bab181242ac4e9284a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970092304f2b99d427e9772d541025e5259da64a9f2cbf8b9c1b7ed32e4f5f523b21ec37dd5fb50ea93bc747a6f506cd8af492e615203b5ff6779e63c243550573176095b1b05ca46f5561dc5f0039bee9055c118faf3095a0d46121b13ad7e245215f617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcff617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcf3230ef6af779a761f0e03aeeb0f98ad503f7b1b7498a933e781091b9053c58e5d80aaff0ff633de1d14b6473398d8a2897f301601d1b8b205ae8aa2b58942effb7d8e251e74a47cf97d6a988a45db3803b8420be8711b35e183916e9f774944510d0ba314fd783e244ebdef3ea78de0f3705d3b224b3fd9668be0a4f6e3e2137eaf41c3ad4d57f3a4633a80bbf637f7e41d5166ccdc8e539ec3e63fcd7c791446c6c7a04a8bb6702c2d31217d1d038e69283316cb964b117debd7d089e66571184a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970095c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a69700984a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a69700984a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970095c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a69700984a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e18b40ee0fcbfc9a672979891e383de3ff0b05274a8bab84898151f7ef822619e7db0ff5afc0e315cb0c012385c35202fe51ae8a86e1bdbff4c9324a775d248473cdf1611810281b0f912fb81c4fbebf1b31b76fc3fe59dba766ec37c541e1b465e4b606f66539364b6a638475b0237a8cf04e68ac80ac2886750eca2b450384f5e4b606f66539364b6a638475b0237a8cf04e68ac80ac2886750eca2b450384f6d339d5d5bd12a983a65b48c52d458107cefb2aa1c23b9a5518ce414dbdec26c645726ff8020a8b3a4cbf337d1dc1b381dcace80dd0e56d898724e0c4683168e5d17bf31f4ee9b0ec69cc5ab10f93bb740a9433633dd80647c45bd6007715776ada478d73a689511de0b4c80cf8cdb8bb8a7d048a4ebf100820ef41213e4db3af4e2b413dd0a17b078e5cd6eaa4cfb65e3fb31445cfa42c0f18dfe1afe2b77f610b36bf9f9153b086f1cb8f34d3859e95fc038a23bc3d0d8eea61f26e6ecc14fa4b62389629068512188e178f10d3323bfa25793c249a37a8c1c7daf1dfa32d284696bd26ecd58d4bafc50b83aea089369b2690fdea5f0aee730955ef02d436c3a68749ceb335560c0539d660edc21e36f4e62d007bae36e2ebd2d5a42f3fe076d53e61d604c14f28d92b7ea6392bf775caceec42ead9a2ebf72a52992f0f1c13a1c98b15f0953eb1d2af09051364ffe618ad8a4f34dffafe64991f81d4d1ca36e4306c204767a7bb3b23e61740e51d67aab9f178ec19dba0b07f54b4061efd984a6ff8c8f0f5a4ed77fc241e0f09f250b9b6b82fa182636eb8a8ebf84e7587e5c5c219e54190325a1ecf9d25cafdfd06d59b3b7d65d606cc58e267d5a6970098fabe6324ed1b9821a3d4a03af561c7561d8f2db356790f2ef2f8fea2140b75af617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcff617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcfc6c346535e2e293bf554a551bf757995b18d4f88b497160ee9cb13d302d8295678990b51f43e3861f884ad1c9b69c924829f6e68cf4871efe8df57bb2f58ceb2000880302e4fa88df786388982c767bacfdcc520e246bfd8b65036e6db2009e9a8f3208635bedc40e2b80704f2b86bfb21db520ebb620b5d1da3ee8db496d37e5e4b606f66539364b6a638475b0237a8cf04e68ac80ac2886750eca2b450384fde1b671025b41bc02b5fb6e92362c84c616adca9ccf1693f1e2fdb5ce15596caf617973868212e0922fe4034411b37d44fe55e3c95cb088ca7f4441b89058bcf3cdf1611810281b0f912fb81c4fbebf1b31b76fc3fe59dba766ec37c541e1b463cdf1611810281b0f912fb81c4fbebf1b31b76fc3fe59dba766ec37c541e1b462f6288a1b58376f3f46ad30b27b5a806dc065453d3a98435707352db0c80fb28aa2ba2d3932c637cb9a0484e38fd1a13c8932158d70f30c754a289a01345a72e8d65ac0e1573056bb9845c39a4dab6e4288de8b8b4c6589b8e95c18e1385d58e48130d7a19d6c95176901dd54dff2a3beeb6934ce4a07645ec033f23441f617b9d2abaf59f989ddd2af298d85051044ddee350377a3dd006ad06de3709ae4d88202fa4277da7ad7bb1498c38b4cb8d5b7ac205ec009632ab3bb62a4ff068e9571f9f598ef4c1817f03cda6dd65383971d5398d1dd6d1e88acf8b79f58c411696mpic++.1rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootopenmpi3-3.1.6-150500.14.2.1.src.rpmopenmpi3-docsopenmpi3-docs(s390-64)     openmpi3rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.1.63.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3cc@by@b&b%an@_{^t@^s^^[]@]]@]@]]rJ@\@\@\@[T@[\[@["@[y[[>@Z@ZZ}@Zp^@Z_:ZOhZ)-@Yܶ@Yp@Y˒YYYY@YZ1YZ1YS@YBvY9<@Y.@Y-^Y;@YtXnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comeich@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnormand@linux.vnet.ibm.comnmoreychaisemartin@suse.comcgoll@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comeich@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.combwiedemann@suse.comeich@suse.comnmoreychaisemartin@suse.comeich@suse.comnmoreychaisemartin@suse.comcgoll@suse.comeich@suse.comnmoreychaisemartin@suse.comeich@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.compth@suse.dejengelh@inai.denmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.com- Add rmaps-simplify-the-lookup-for-the-binding-object-and-fix-for-hwloc-2.0.patch to fix compatibility with hwloc >= 2.0 (bsc#1204982)- Enable libfabric on all arch - Switch to external libevent for all flavors - Switch to external hwloc and PMIx for HPC builds - Add patches to fix compilation against hwloc v2.x - Revert-hwloc-bring-back-the-configure-error-when-external-hwloc-is-2.0.patch - hwloc-fix-hwloc-shmem.h-in-the-external-case.patch - hwloc-updates-for-hwloc-2.0.x-API.patch - Backport upstream patches for external PMIx support - pmix-pmix2x-Fix-the-PMIx-discovery-logic.patch - pmix-Fix-detection-of-Externally-built-PMIx.patch - Update rpmlintrc file to ignore missing libname suffix in libopenmpi packages - Add patch btl-openib-Add-support-for-newer-hardware.patch to support newer RDMA hardware (ConnectX 4 and 5 VF, ConnectX6 PF + VF and Broadcom adapters)- Backport upstream patchs to fix compilation with autoconf >= 2.70 and GCC12 - Fix-error-with-stricter-quoting-requirements-of-autoconf-2.70.patch - Always-include-the-stddef.h-header.patch- Add fix-rdma-component-selection.patch to fix bad rdma component selection which can cause stall when running on multiple IB nodes (bsc#1196838).- Move rpm macros to %_rpmmacrodir (bsc#1191390)- Add build support for gcc8/9/10 to HPC build (bsc#1174439).- Update to openmpi3 3.1.6 - See changelog in NEWS - Remove add-gen-p5-chip-pci-id-to-ini-file.patch that was merged upstream - Add patch memory-patcher-fix-compiler-warning.patch to fix cast warning causing RPM to fail building- Drop different package string between SLES and Leap (jsc#SLE-11848)- Have openmpi3-config provide pmix-runtime-config- Add _constraints file for ppc64le for disk > 4G- Link against libnuma (bsc#1155120)- added --with-slurm (its enabled by default), but if this behavior is changed the binding should not away- Add missing Provides when openmpi3 is the default openmpi - Add conflict with the older hpc-macros-devel providers to avoid issues during updates - Add openmpi_prefix macro to openmpi-macros-devel- Add macro file for non-hpc flavour - Enable build on ppc64- Use FAT LTO objects in order to provide proper static library. - Mark LICENSE with %license- Fix bad INCLUDE path in module (bsc#1132949)- Update to openmpi 3.1.4 - See changelog in NEWS- Add add-gen-p5-chip-pci-id-to-ini-file.patch: - Adds support for Broadcom 57500 adapters (bsc#1125651) - Update to openmpi 3.1.3 - See changelog in NEWS- Add macro _hpc_openmpi_modules for modules support (bsc#1116458).- Remove bashism in preun scriptlet- Fix handling of mpi-selector during updates (bsc#1098653)- Add reproducible.patch to drop build time and hostname to make package build reproducible (boo#1047218, boo#1084909)- macros.hpc-openmpi3: replace %%compiler_family by %%hpc_compiler_family- Update to openmpi 3.1.1 3.1.1 -- June, 2018 - ------------------ - Fix potential hang in UCX PML during MPI_FINALIZE - Update internal PMIx to v2.1.2rc2 to fix forward version compatibility. - Add new MCA parameter osc_sm_backing_store to allow users to specify where in the filesystem the backing file for the shared memory one-sided component should live. Defaults to /dev/shm on Linux. - Fix potential hang on non-x86 platforms when using builds with optimization flags turned off. - Disable osc/pt2pt when using MPI_THREAD_MULTIPLE due to numerous race conditions in the component. - Fix dummy variable names for the mpi and mpi_f08 Fortran bindings to match the MPI standard. This may break applications which use name-based parameters in Fortran which used our internal names rather than those documented in the MPI standard. - Revamp Java detection to properly handle new Java versions which do not provide a javah wrapper. - Fix RMA function signatures for use-mpi-f08 bindings to have the asynchonous property on all buffers. - Improved configure logic for finding the UCX library. 3.1.0 -- May, 2018 - ----------------- - Various OpenSHMEM bug fixes. - Properly handle array_of_commands argument to Fortran version of MPI_COMM_SPAWN_MULTIPLE. - Fix bug with MODE_SEQUENTIAL and the sharedfp MPI-IO component. - Use "javac -h" instead of "javah" when building the Java bindings with a recent version of Java. - Fix mis-handling of jostepid under SLURM that could cause problems with PathScale/OmniPath NICs. - Disable the POWER 7/BE block in configure. Note that POWER 7/BE is still not a supported platform, but it is no longer automatically disabled. See https://github.com/open-mpi/ompi/issues/4349#issuecomment-374970982 for more information. - The output-filename option for mpirun is now converted to an absolute path before being passed to other nodes. - Add monitoring component for PML, OSC, and COLL to track data movement of MPI applications. See ompi/mca/commmon/monitoring/HowTo_pml_monitoring.tex for more information about the monitoring framework. - Add support for communicator assertions: mpi_assert_no_any_tag, mpi_assert_no_any_source, mpi_assert_exact_length, and mpi_assert_allow_overtaking. - Update PMIx to version 2.1.1. - Update hwloc to 1.11.7. - Many one-sided behavior fixes. - Improved performance for Reduce and Allreduce using Rabenseifner's algorithm. - Revamped mpirun --help output to make it a bit more manageable. - Portals4 MTL improvements: Fix race condition in rendezvous protocol and retry logic. - UCX OSC: initial implementation. - UCX PML improvements: add multi-threading support. - Yalla PML improvements: Fix error with irregular contiguous datatypes. - Openib BTL: disable XRC support by default. - TCP BTL: Add check to detect and ignore connections from processes that aren't MPI (such as IDS probes) and verify that source and destination are using the same version of Open MPI, fix issue with very large message transfer. - ompi_info parsable output now escapes double quotes in values, and also quotes values can contains colons. Thanks to Lev Givon for the suggestion. - CUDA-aware support can now handle GPUs within a node that do not support CUDA IPC. Earlier versions would get error and abort. - Add a mca parameter ras_base_launch_orted_on_hn to allow for launching MPI processes on the same node where mpirun is executing using a separate orte daemon, rather than the mpirun process. This may be useful to set to true when using SLURM, as it improves interoperability with SLURM's signal propagation tools. By default it is set to false, except for Cray XC systems. - Remove LoadLeveler RAS support. - Remove IB XRC support from the OpenIB BTL due to lack of support. - Add functionality for IBM s390 platforms. Note that regular regression testing does not occur on the s390 and it is not considered a supported platform. - Remove support for big endian PowerPC. - Remove support for XL compilers older than v13.1. - Remove support for atomic operations using MacOS atomics library. - Drop btl-vader-change-the-way-fast-boxes-are-used.patch which was merged upstream - Add Build-warning-stringop-overflow-in.patch to fix a potential buffer overflow warning.- Create missing docs master package (bsc#1091714)- Enable --enable-mpirun-prefix-by-default (bsc#1086821)- Fix summary in module files (bnc#1080259)- Use macro in mpivars.(c)sh to be independent of changes to the module setup for the compiler (boo#1078364).- Only build openmpi3-config for the standard flavor- Switch from gcc6 to gcc7 as additional compiler flavor for HPC on SLES. - Fix library package requires - use HPC macro (boo#1074890). - Fix rpm macro file.- Add btl-vader-change-the-way-fast-boxes-are-used.patch to fix a SEGV on i386 systems- Add a ringdisabled flag to allow building only the standard flavor so not all flavors are pulled into staging rings - Fix baselibs.conf generation (wrong directory and name) - Fix pre/post install call to ldconfig- Add conflicts between the macros-devel packages- Converted to multibuild. - Add HPC build using environment modules (FATE#321711). - Resync spec file with openmpi and openmpi2- Fix VERSION file during build so that ompi_info reports good infos- Remove --disable-mca-dso Related bug was due to openmpi/*.so wrongly packaged as devel- Update to OpenMPI 3.0.0 - Enable fortan08 bindings - Disable devel headers- Update to openMPI 3.0.0rc3- Build with openucx support- Initial packaging of openMPI 3.0.0rc1. * Use UCX allocator for OSHMEM symmetric heap allocations to optimize intra-node data transfers. UCX SPML only. * Use UCX multi-threaded API in the UCX PML. Requires UCX 1.0 or later. * Fix file list and call fdupes.- Trim filler wording from description - Replace uses of old $RPM_ variables, remove redundant %clean section, abolish %__-type macro indirection, remove excess piping to xargs - Add missing %_smp_mflags.- Add support for openmpi2 over PSM2 and libfabric - Reference baselibs.conf and openmpi2-rpmlintrc in spec - Add _service to fetch from upstream github repo- Remove version dependencies to libibumad and libibverbs- Fix module file paths- Add openmpi2-config package which contains runtime configuration files for OpenMPI 1 and/or 2- Update to OpenMPI 2.1.1 * Fix a problem with one of Open MPI's fifo data structures which led to hangs in a make check test. * Add missing MPI_AINT_ADD/MPI_AINT_DIFF function definitions to mpif.h. * Fix the error return from MPI_WIN_LOCK when rank argument is invalid. * Fix a problem with mpirun/orterun when started under a debugger. * Add configury option to disable use of CMA by the vader BTL. * Add configury check for MPI_DOUBLE_COMPLEX datatype support. * Fix memory allocated by MPI_WIN_ALLOCATE_SHARED to be 64 byte aligned. * Update MPI_WTICK man page to reflect possibly higher resolution than 10e-6. * Add missing MPI_T_PVAR_SESSION_NULL definition to mpi.h include file. * Enhance the Open MPI spec file to install modulefile in /opt if installed in a non-default location. * Fix a problem with conflicting PMI symbols when linking statically. * S390/S390x support - Drop openmpi2-ia32-fix-atomic.patch openmpi2-s390.patch as they are now fixed/supported upstream.- Add testsuite package- Initial packaging of OpenMPI 2.1.0s390zl31 1721921342    !"#$%&()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~NNNNN     NNNN!"#$%&'()*+,-./0123NN6789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoNqrstuvwxyz{|}~NNN !"#(,1446:<=?D,446:<=?D,446wxyz{4443.1.6-150500.14.2.13.1.6-150500.14.2.1manman1mpiCC.1mpic++.1mpicc.1mpicxx.1mpiexec.1mpif77.1mpif90.1mpifort.1mpirun.1ompi-clean.1ompi-ps.1ompi-server.1ompi-top.1ompi_info.1opal_wrapper.1orte-clean.1orte-dvm.1orte-info.1orte-ps.1orte-server.1orte-top.1orted.1orterun.1oshCC.1oshc++.1oshcc.1oshcxx.1oshfort.1oshmem_info.1oshrun.1prun.1shmemCC.1shmemc++.1shmemcc.1shmemcxx.1shmemfort.1shmemrun.1man3MPI.3MPIX_Query_cuda_support.3MPI_Abort.3MPI_Accumulate.3MPI_Add_error_class.3MPI_Add_error_code.3MPI_Add_error_string.3MPI_Address.3MPI_Aint_add.3MPI_Aint_diff.3MPI_Allgather.3MPI_Allgatherv.3MPI_Alloc_mem.3MPI_Allreduce.3MPI_Alltoall.3MPI_Alltoallv.3MPI_Alltoallw.3MPI_Attr_delete.3MPI_Attr_get.3MPI_Attr_put.3MPI_Barrier.3MPI_Bcast.3MPI_Bsend.3MPI_Bsend_init.3MPI_Buffer_attach.3MPI_Buffer_detach.3MPI_Cancel.3MPI_Cart_coords.3MPI_Cart_create.3MPI_Cart_get.3MPI_Cart_map.3MPI_Cart_rank.3MPI_Cart_shift.3MPI_Cart_sub.3MPI_Cartdim_get.3MPI_Close_port.3MPI_Comm_accept.3MPI_Comm_c2f.3MPI_Comm_call_errhandler.3MPI_Comm_compare.3MPI_Comm_connect.3MPI_Comm_create.3MPI_Comm_create_errhandler.3MPI_Comm_create_group.3MPI_Comm_create_keyval.3MPI_Comm_delete_attr.3MPI_Comm_disconnect.3MPI_Comm_dup.3MPI_Comm_dup_with_info.3MPI_Comm_f2c.3MPI_Comm_free.3MPI_Comm_free_keyval.3MPI_Comm_get_attr.3MPI_Comm_get_errhandler.3MPI_Comm_get_info.3MPI_Comm_get_name.3MPI_Comm_get_parent.3MPI_Comm_group.3MPI_Comm_idup.3MPI_Comm_join.3MPI_Comm_rank.3MPI_Comm_remote_group.3MPI_Comm_remote_size.3MPI_Comm_set_attr.3MPI_Comm_set_errhandler.3MPI_Comm_set_info.3MPI_Comm_set_name.3MPI_Comm_size.3MPI_Comm_spawn.3MPI_Comm_spawn_multiple.3MPI_Comm_split.3MPI_Comm_split_type.3MPI_Comm_test_inter.3MPI_Compare_and_swap.3MPI_Dims_create.3MPI_Dist_graph_create.3MPI_Dist_graph_create_adjacent.3MPI_Dist_graph_neighbors.3MPI_Dist_graph_neighbors_count.3MPI_Errhandler_create.3MPI_Errhandler_free.3MPI_Errhandler_get.3MPI_Errhandler_set.3MPI_Error_class.3MPI_Error_string.3MPI_Exscan.3MPI_Fetch_and_op.3MPI_File_c2f.3MPI_File_call_errhandler.3MPI_File_close.3MPI_File_create_errhandler.3MPI_File_delete.3MPI_File_f2c.3MPI_File_get_amode.3MPI_File_get_atomicity.3MPI_File_get_byte_offset.3MPI_File_get_errhandler.3MPI_File_get_group.3MPI_File_get_info.3MPI_File_get_position.3MPI_File_get_position_shared.3MPI_File_get_size.3MPI_File_get_type_extent.3MPI_File_get_view.3MPI_File_iread.3MPI_File_iread_all.3MPI_File_iread_at.3MPI_File_iread_at_all.3MPI_File_iread_shared.3MPI_File_iwrite.3MPI_File_iwrite_all.3MPI_File_iwrite_at.3MPI_File_iwrite_at_all.3MPI_File_iwrite_shared.3MPI_File_open.3MPI_File_preallocate.3MPI_File_read.3MPI_File_read_all.3MPI_File_read_all_begin.3MPI_File_read_all_end.3MPI_File_read_at.3MPI_File_read_at_all.3MPI_File_read_at_all_begin.3MPI_File_read_at_all_end.3MPI_File_read_ordered.3MPI_File_read_ordered_begin.3MPI_File_read_ordered_end.3MPI_File_read_shared.3MPI_File_seek.3MPI_File_seek_shared.3MPI_File_set_atomicity.3MPI_File_set_errhandler.3MPI_File_set_info.3MPI_File_set_size.3MPI_File_set_view.3MPI_File_sync.3MPI_File_write.3MPI_File_write_all.3MPI_File_write_all_begin.3MPI_File_write_all_end.3MPI_File_write_at.3MPI_File_write_at_all.3MPI_File_write_at_all_begin.3MPI_File_write_at_all_end.3MPI_File_write_ordered.3MPI_File_write_ordered_begin.3MPI_File_write_ordered_end.3MPI_File_write_shared.3MPI_Finalize.3MPI_Finalized.3MPI_Free_mem.3MPI_Gather.3MPI_Gatherv.3MPI_Get.3MPI_Get_accumulate.3MPI_Get_address.3MPI_Get_count.3MPI_Get_elements.3MPI_Get_elements_x.3MPI_Get_library_version.3MPI_Get_processor_name.3MPI_Get_version.3MPI_Graph_create.3MPI_Graph_get.3MPI_Graph_map.3MPI_Graph_neighbors.3MPI_Graph_neighbors_count.3MPI_Graphdims_get.3MPI_Grequest_complete.3MPI_Grequest_start.3MPI_Group_c2f.3MPI_Group_compare.3MPI_Group_difference.3MPI_Group_excl.3MPI_Group_f2c.3MPI_Group_free.3MPI_Group_incl.3MPI_Group_intersection.3MPI_Group_range_excl.3MPI_Group_range_incl.3MPI_Group_rank.3MPI_Group_size.3MPI_Group_translate_ranks.3MPI_Group_union.3MPI_Iallgather.3MPI_Iallgatherv.3MPI_Iallreduce.3MPI_Ialltoall.3MPI_Ialltoallv.3MPI_Ialltoallw.3MPI_Ibarrier.3MPI_Ibcast.3MPI_Ibsend.3MPI_Iexscan.3MPI_Igather.3MPI_Igatherv.3MPI_Improbe.3MPI_Imrecv.3MPI_Ineighbor_allgather.3MPI_Ineighbor_allgatherv.3MPI_Ineighbor_alltoall.3MPI_Ineighbor_alltoallv.3MPI_Ineighbor_alltoallw.3MPI_Info_c2f.3MPI_Info_create.3MPI_Info_delete.3MPI_Info_dup.3MPI_Info_env.3MPI_Info_f2c.3MPI_Info_free.3MPI_Info_get.3MPI_Info_get_nkeys.3MPI_Info_get_nthkey.3MPI_Info_get_valuelen.3MPI_Info_set.3MPI_Init.3MPI_Init_thread.3MPI_Initialized.3MPI_Intercomm_create.3MPI_Intercomm_merge.3MPI_Iprobe.3MPI_Irecv.3MPI_Ireduce.3MPI_Ireduce_scatter.3MPI_Ireduce_scatter_block.3MPI_Irsend.3MPI_Is_thread_main.3MPI_Iscan.3MPI_Iscatter.3MPI_Iscatterv.3MPI_Isend.3MPI_Issend.3MPI_Keyval_create.3MPI_Keyval_free.3MPI_Lookup_name.3MPI_Message_c2f.3MPI_Message_f2c.3MPI_Mprobe.3MPI_Mrecv.3MPI_Neighbor_allgather.3MPI_Neighbor_allgatherv.3MPI_Neighbor_alltoall.3MPI_Neighbor_alltoallv.3MPI_Neighbor_alltoallw.3MPI_Op_c2f.3MPI_Op_commutative.3MPI_Op_create.3MPI_Op_f2c.3MPI_Op_free.3MPI_Open_port.3MPI_Pack.3MPI_Pack_external.3MPI_Pack_external_size.3MPI_Pack_size.3MPI_Pcontrol.3MPI_Probe.3MPI_Publish_name.3MPI_Put.3MPI_Query_thread.3MPI_Raccumulate.3MPI_Recv.3MPI_Recv_init.3MPI_Reduce.3MPI_Reduce_local.3MPI_Reduce_scatter.3MPI_Reduce_scatter_block.3MPI_Register_datarep.3MPI_Request_c2f.3MPI_Request_f2c.3MPI_Request_free.3MPI_Request_get_status.3MPI_Rget.3MPI_Rget_accumulate.3MPI_Rput.3MPI_Rsend.3MPI_Rsend_init.3MPI_Scan.3MPI_Scatter.3MPI_Scatterv.3MPI_Send.3MPI_Send_init.3MPI_Sendrecv.3MPI_Sendrecv_replace.3MPI_Sizeof.3MPI_Ssend.3MPI_Ssend_init.3MPI_Start.3MPI_Startall.3MPI_Status_c2f.3MPI_Status_f2c.3MPI_Status_set_cancelled.3MPI_Status_set_elements.3MPI_Status_set_elements_x.3MPI_T_category_changed.3MPI_T_category_get_categories.3MPI_T_category_get_cvars.3MPI_T_category_get_info.3MPI_T_category_get_num.3MPI_T_category_get_pvars.3MPI_T_cvar_get_info.3MPI_T_cvar_get_num.3MPI_T_cvar_handle_alloc.3MPI_T_cvar_handle_free.3MPI_T_cvar_read.3MPI_T_cvar_write.3MPI_T_enum_get_info.3MPI_T_enum_get_item.3MPI_T_finalize.3MPI_T_init_thread.3MPI_T_pvar_get_info.3MPI_T_pvar_get_num.3MPI_T_pvar_handle_alloc.3MPI_T_pvar_handle_free.3MPI_T_pvar_read.3MPI_T_pvar_readreset.3MPI_T_pvar_reset.3MPI_T_pvar_session_create.3MPI_T_pvar_session_free.3MPI_T_pvar_start.3MPI_T_pvar_stop.3MPI_T_pvar_write.3MPI_Test.3MPI_Test_cancelled.3MPI_Testall.3MPI_Testany.3MPI_Testsome.3MPI_Topo_test.3MPI_Type_c2f.3MPI_Type_commit.3MPI_Type_contiguous.3MPI_Type_create_darray.3MPI_Type_create_f90_complex.3MPI_Type_create_f90_integer.3MPI_Type_create_f90_real.3MPI_Type_create_hindexed.3MPI_Type_create_hindexed_block.3MPI_Type_create_hvector.3MPI_Type_create_indexed_block.3MPI_Type_create_keyval.3MPI_Type_create_resized.3MPI_Type_create_struct.3MPI_Type_create_subarray.3MPI_Type_delete_attr.3MPI_Type_dup.3MPI_Type_extent.3MPI_Type_f2c.3MPI_Type_free.3MPI_Type_free_keyval.3MPI_Type_get_attr.3MPI_Type_get_contents.3MPI_Type_get_envelope.3MPI_Type_get_extent.3MPI_Type_get_extent_x.3MPI_Type_get_name.3MPI_Type_get_true_extent.3MPI_Type_get_true_extent_x.3MPI_Type_hindexed.3MPI_Type_hvector.3MPI_Type_indexed.3MPI_Type_lb.3MPI_Type_match_size.3MPI_Type_set_attr.3MPI_Type_set_name.3MPI_Type_size.3MPI_Type_size_x.3MPI_Type_struct.3MPI_Type_ub.3MPI_Type_vector.3MPI_Unpack.3MPI_Unpack_external.3MPI_Unpublish_name.3MPI_Wait.3MPI_Waitall.3MPI_Waitany.3MPI_Waitsome.3MPI_Win_allocate.3MPI_Win_allocate_shared.3MPI_Win_attach.3MPI_Win_c2f.3MPI_Win_call_errhandler.3MPI_Win_complete.3MPI_Win_create.3MPI_Win_create_dynamic.3MPI_Win_create_errhandler.3MPI_Win_create_keyval.3MPI_Win_delete_attr.3MPI_Win_detach.3MPI_Win_f2c.3MPI_Win_fence.3MPI_Win_flush.3MPI_Win_flush_all.3MPI_Win_flush_local.3MPI_Win_flush_local_all.3MPI_Win_free.3MPI_Win_free_keyval.3MPI_Win_get_attr.3MPI_Win_get_errhandler.3MPI_Win_get_group.3MPI_Win_get_info.3MPI_Win_get_name.3MPI_Win_lock.3MPI_Win_lock_all.3MPI_Win_post.3MPI_Win_set_attr.3MPI_Win_set_errhandler.3MPI_Win_set_info.3MPI_Win_set_name.3MPI_Win_shared_query.3MPI_Win_start.3MPI_Win_sync.3MPI_Win_test.3MPI_Win_unlock.3MPI_Win_unlock_all.3MPI_Win_wait.3MPI_Wtick.3MPI_Wtime.3OMPI_Affinity_str.3OpenMPI.3OpenSHMEM.3_my_pe.3_num_pes.3intro_shmem.3shfree.3shmalloc.3shmem_addr_accessible.3shmem_align.3shmem_alltoall32.3shmem_alltoall64.3shmem_alltoalls32.3shmem_alltoalls64.3shmem_barrier.3shmem_barrier_all.3shmem_broadcast32.3shmem_broadcast64.3shmem_char_g.3shmem_char_get.3shmem_char_get_nbi.3shmem_char_p.3shmem_char_put.3shmem_char_put_nbi.3shmem_clear_cache_inv.3shmem_clear_cache_line_inv.3shmem_clear_lock.3shmem_collect32.3shmem_collect64.3shmem_complexd_prod_to_all.3shmem_complexd_sum_to_all.3shmem_complexf_prod_to_all.3shmem_complexf_sum_to_all.3shmem_double_fetch.3shmem_double_g.3shmem_double_get.3shmem_double_get_nbi.3shmem_double_iget.3shmem_double_iput.3shmem_double_max_to_all.3shmem_double_min_to_all.3shmem_double_p.3shmem_double_prod_to_all.3shmem_double_put.3shmem_double_put_nbi.3shmem_double_set.3shmem_double_sum_to_all.3shmem_double_swap.3shmem_fcollect32.3shmem_fcollect64.3shmem_fence.3shmem_finalize.3shmem_float_fetch.3shmem_float_g.3shmem_float_get.3shmem_float_get_nbi.3shmem_float_iget.3shmem_float_iput.3shmem_float_max_to_all.3shmem_float_min_to_all.3shmem_float_p.3shmem_float_prod_to_all.3shmem_float_put.3shmem_float_put_nbi.3shmem_float_set.3shmem_float_sum_to_all.3shmem_float_swap.3shmem_free.3shmem_get128.3shmem_get128_nbi.3shmem_get16_nbi.3shmem_get32.3shmem_get32_nbi.3shmem_get64.3shmem_get64_nbi.3shmem_get8_nbi.3shmem_getmem.3shmem_getmem_nbi.3shmem_global_exit.3shmem_iget128.3shmem_iget32.3shmem_iget64.3shmem_info_get_name.3shmem_info_get_version.3shmem_init.3shmem_int_add.3shmem_int_and_to_all.3shmem_int_cswap.3shmem_int_fadd.3shmem_int_fetch.3shmem_int_finc.3shmem_int_g.3shmem_int_get.3shmem_int_get_nbi.3shmem_int_iget.3shmem_int_inc.3shmem_int_iput.3shmem_int_max_to_all.3shmem_int_min_to_all.3shmem_int_or_to_all.3shmem_int_p.3shmem_int_prod_to_all.3shmem_int_put.3shmem_int_put_nbi.3shmem_int_set.3shmem_int_sum_to_all.3shmem_int_swap.3shmem_int_wait.3shmem_int_wait_until.3shmem_int_xor_to_all.3shmem_iput128.3shmem_iput32.3shmem_iput64.3shmem_long_add.3shmem_long_and_to_all.3shmem_long_cswap.3shmem_long_fadd.3shmem_long_fetch.3shmem_long_finc.3shmem_long_g.3shmem_long_get.3shmem_long_get_nbi.3shmem_long_iget.3shmem_long_inc.3shmem_long_iput.3shmem_long_max_to_all.3shmem_long_min_to_all.3shmem_long_or_to_all.3shmem_long_p.3shmem_long_prod_to_all.3shmem_long_put.3shmem_long_put_nbi.3shmem_long_set.3shmem_long_sum_to_all.3shmem_long_swap.3shmem_long_wait.3shmem_long_wait_until.3shmem_long_xor_to_all.3shmem_longdouble_g.3shmem_longdouble_get.3shmem_longdouble_get_nbi.3shmem_longdouble_iget.3shmem_longdouble_iput.3shmem_longdouble_max_to_all.3shmem_longdouble_min_to_all.3shmem_longdouble_p.3shmem_longdouble_prod_to_all.3shmem_longdouble_put.3shmem_longdouble_put_nbi.3shmem_longlong_add.3shmem_longlong_and_to_all.3shmem_longlong_cswap.3shmem_longlong_fadd.3shmem_longlong_fetch.3shmem_longlong_finc.3shmem_longlong_g.3shmem_longlong_get.3shmem_longlong_get_nbi.3shmem_longlong_iget.3shmem_longlong_inc.3shmem_longlong_iput.3shmem_longlong_max_to_all.3shmem_longlong_min_to_all.3shmem_longlong_or_to_all.3shmem_longlong_p.3shmem_longlong_prod_to_all.3shmem_longlong_put.3shmem_longlong_put_nbi.3shmem_longlong_set.3shmem_longlong_sum_to_all.3shmem_longlong_swap.3shmem_longlong_wait.3shmem_longlong_wait_until.3shmem_longlong_xor_to_all.3shmem_malloc.3shmem_my_pe.3shmem_n_pes.3shmem_pe_accessible.3shmem_ptr.3shmem_put128.3shmem_put128_nbi.3shmem_put16_nbi.3shmem_put32.3shmem_put32_nbi.3shmem_put64.3shmem_put64_nbi.3shmem_put8_nbi.3shmem_putmem.3shmem_putmem_nbi.3shmem_quiet.3shmem_realloc.3shmem_set_cache_inv.3shmem_set_cache_line_inv.3shmem_set_lock.3shmem_short_and_to_all.3shmem_short_g.3shmem_short_get.3shmem_short_get_nbi.3shmem_short_iget.3shmem_short_iput.3shmem_short_max_to_all.3shmem_short_min_to_all.3shmem_short_or_to_all.3shmem_short_p.3shmem_short_prod_to_all.3shmem_short_put.3shmem_short_put_nbi.3shmem_short_sum_to_all.3shmem_short_wait.3shmem_short_wait_until.3shmem_short_xor_to_all.3shmem_swap.3shmem_test_lock.3shmem_udcflush.3shmem_udcflush_line.3shmem_wait.3shmem_wait_until.3shmemalign.3shrealloc.3start_pes.3man7ompi_crcp.7opal_crs.7orte_filem.7orte_hosts.7orte_snapc.7orte_sstore.7/usr/lib64/mpi/gcc/openmpi3/share//usr/lib64/mpi/gcc/openmpi3/share/man//usr/lib64/mpi/gcc/openmpi3/share/man/man1//usr/lib64/mpi/gcc/openmpi3/share/man/man3//usr/lib64/mpi/gcc/openmpi3/share/man/man7/-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:34857/SUSE_SLE-15-SP5_Update/c148a7d8b6fb58dce57fd5ab5c31408d-openmpi3.SUSE_SLE-15-SP5_Update:standarddrpmxz5s390x-suse-linux directorytroff or preprocessor input, ASCII texttroff or preprocessor input, UTF-8 Unicode textAlgol 68 source, ASCII text, with very long linesC source, ASCII textC source, ASCII text, with very long linesC source, UTF-8 Unicode text, with very long linestroff or preprocessor input, ASCII text, with very long linesC source, UTF-8 Unicode text-79@j=+utf-88487f78fde9c770825b5d5e00b17684bc9a3945b240f945ce91ca9a2afd91499?P7zXZ !t/B5]"k%n.. 0<cx6d%t4c;g"MNSܑĖFt-"O5mqRv?QY4²OOmͲ^@si5y{=)BrbSxH;xSFbw%d2ovY[#r>ٞ@Yf![ Yr[ckO;lXKV1@\*)15{w^>:Δ]y³8'KY"X&SDk,= (bQg\QɅ6pQy3Rska""t-]ﺭ3tHXtt7~JE6SSNڐJHbp1!'pq+載d$<sꎓ:H xn@,dBm "\Lkipz̡ΐ圴BVqnr7yHy3lUZ :5q$.dz_㥆͠=ӃAQ AYp\NpJ \ ik%NX%;`<23*7Pv!p]p~ܾs|aN7G+x=6ZzK#rcȡoA9ހo02 Ѡ뚳VIE<˾O -:?EsV; ԿI ~n AtL[ʆ0- a+OMoLpoeJێ Q 3X EOڌuˬYs-&yJP`*eIQ"9$U^Q.|yedEw>59)%q#5켮g~Z}Ya%D2Rҭ\nwvfd5ծS%MF/o>7&(?[IVcGt߲|*aFKV$l3pU\#8F1ۉXȟN,s%>W KI^ѧVZFo= i-GS_!Kkۋy[D8`Uve!gzܐ{O֪d022:yjnb?TpIh]Ch)N7 P:0{K<{^~jE>jznlDDֺ-8_|A{}*@ 1T# ~tXC +֓w0lHѥfH'0pbyDݯC$"B':ZX։-HEHҊexHݹuͷN.&n0NʹE)R!6 B.}r,V/'NwAypMi`8DpÅQOi|4!Y$ 7zE5MЏq੬[#ԏxv 8KS) ݮEm`OPX`TA: :xcUC|kh+"T"%Kn[&ФRy&C]a gv1s+y@N'V7vkˑ+U'H94 f QU+>E36]wKU#2Ϝޛ54Vhg5,y|)KE_T%7աEzp[/E睿E;qQk4+Wnh&=JY~mTtŧ)CFÄzƒGʐ %-dI6ONW U;c:0i~㽁bbnyhi"xF竁i!JU>|R5+M֑;&z;ެAgc5Dc~W&z#gIxd;mW1Ŝ.!ї K"B8wY1f,])dSqV/ X{r+rT~g{m_87z"xuW: η&c,kY޺7P7-4l\Xǣ 8hld2H S؉~Iô4ƅvr{+kQ`Y?Hf.)Nëη&j^*L;XkdF`2Trn}7E7Nz/QCJ;D%BWfaNBeɴcyK9fF ѣFb P)3vx`HTwݩY*h3"T˄o%ӱo1 q\# H(ji4Hp H `T6<1z.5+[l& C_SovLR|ؓ5X[tͮdhn'ue=to>QckbJM D" sRXXIkBƭ噖q揢9.Ȭ\O1<԰90S>JO fG0%t0+V5qWN}GD9J/r^ǻ `q c I31|LK#]Qgqd;c_Bzy~;AF[UQ07<:P:vT]mcEqQ{@-/^0#}7K0^5m9tkEWˀ_ W!OcE3גPt .tw [^}AОZ"sLYu)?AkZ$5+i#vJrt2'C@}_ ,MU< d|S$&i{||:@{JBpIcL貂R DpueG87 kv lu~K4j@^y3xp2m 쎣̖G Y ]\cjW=wʈV $^8AH\*ԅ+m-XcPÎn Ki$دg@!u6WCw[7lI{\fΖ@#ާb݅Fy^l[pK9ŷ\k Ƭ=@OowyJ?31{.a& U\%ŵ*W?|wO\K974 ^NbR9!: 'M JB|+t<^&>'{tuHTg/2n(U܍ ö3m-`x0 j1cffI.hhsץ[tƃW %b+Od!a aJ͜N˓XDU vt+-g6Oσs3$Lz)2}DxB˟#p *{ aw=7 ds OZ;.A_:Hl^nڄq7p:fb\ŴKm{`k0FՔύYJ~>p]EVh p^;jƖWM)V΁d(]pЭh |a t}v,LE(GdLZs[ppQA!_ZJv9#sfy”I"N\PR3e˴ ~HY\;Sқk\GT2<(?.C&vLrF6crCPl4R$owۣլLbt&XB҅/*?oʚ#>0Sg/uɹ6" d;.=[e2"+0c.Qŵỏc_YkwxzP5uROmNR*"5kDWͬLƏv[<%A+J+~Ƒ$:ŀ_>Q. yn)aN7pTjXEۙ)]qEtʞ˫ ! V^Y*Ƴ:yJd Y muBoK/Rݤ}| iFYwo"PY)cK }MnK:/:$Gi).q>{a xՂ86~.˟ (A?ދ4wK^Pw|LeFs\E/Wsn5Cop6 䫟|RnUށ#\u(]<% ]!K]0Ʋ?_,G"XN|6 v8oB{z[eg'fnN'Mt\˛Hb4vskπ^+ V rl ("hq|WtIQJvl6Ne8؟(>}Oe_6j5: w-z`JЯBYƯƏn 0@DopёG!/.>Q?Ox8.P 7xثs:0J,WeLka#=iGLY0Ā YZ