llvm4-devel-4.0.1-5.1<>,+^Zb/=„_;RPmLՓ%Jb!f8$(ȷӑ9{\ۙ^<05ˢ)+$&CuC+?@=B3 JYzX/@XƅJ67 Ef3j6"ѵW.zEp }Nj)cCj^ ?$?d  . "(00 # /0 F0 0 4Q|Qhiiklll?(lB8lL9o:~`>@FGHIX"Y"\#]:^Kb"cdReWf\l^upvp,wäxڤyzCllvm4-devel4.0.15.1Header Files for LLVMThis package contains library and header files needed to develop new native programs that use the LLVM infrastructure.Zblamb76openSUSE Leap 42.3openSUSENCSAhttp://bugs.opensuse.orgDevelopment/Languages/Otherhttp://www.llvm.orglinuxx86_64S9X / 0u/<RE /( L <Tcf,CAu j #)p (xq e.K? b!X Q m?6*\ S!+!! +#b@@v!tsbG--[Czza$Q&RYF y*67 'eL* ,*x ;,#:H"NHDD L. ] '& 2Bs5)Uv[Jy]SzV @ *S ',0/   =&a>8  #Z>Hb c )O 5ާ\F +^u 3# K ? KQ]Z Z <Sa<BrvV_4+5z@G Oa jtdr &7 I) 72= ;g ; * lD O#+j ,% ]t j;@\We!SSDZAZ1SS 0+/v6uEt-),es&A0p>Yx7rP 0 g%EQ;C =n b2  Q.z ] nX L3K $k" F * 6dD[=, 3  s&F "G;s!j Cyu$ u,( KoX^ (7 z7=ur"+8  E/: !<  '*fSMY`#Q$84rB-5?x$zum y@[* */Y]P 9&ZG%e84YN<oJSH! ^!  O* 543W 8ABlX_tSo Ǫ<O0 lEg  y{l #P& Q.= /c ~>QI5Z -o*& li(08g=GWCD|$B+]dA&    5Zlu<9+ c^ pqr0 D`CEp@ `$Xp%Q31R"  #d" ? K`5o v  _O RF~az @]J} o<956\#d"  @-W;&w.j8Y bP< ^ 3ZDMj"7 Az>h3: \R\ -^D_z*7:`_2l-|s D 2Dz0  V# l;% !6mG&wR*  v / B l 7-`X9 e!"d H mm 1|,& )$?bJ\; XV= dm m ^ `y@v3cHwYX=Q _2";\ KC-6m1YjId#(&^ v Jc <=\ @(^6_K7_ `pa!JWo'09g g    1{,/ /$Cv Q  pG) T66q V?u1n 6-s W 9)ՁI r/<  :x%[lO\) V x 4 ]a{@3_6[)x0u'Z*n8EUKeE4"xdU7j5FL,$+;2~5[TL]7Ɓ aR.]a~`J1A%$CmD*D75\;)i\4z<"^?LaI1'U7j&^6" MfxX%}ZEZ.2"E4}V}9@TrWB72OgrX!@gX0I+*jT5 *{n0Xd)v>ʦMG}=@- %"u  P/wd?? PY @ov f  RIi04C:bX[!T\[xb6N6z!z\1\G+!8 6}u$%igFlj  {lb#t W'Sr[%>&% AQ-4GL-3?5UV;!2@"9KA!b0Xj~VY)oz\{. @3'.O,+5!''=WQO[ &ZZ+c`/lcmK'Jkȯd;$vQ nEa$HeށS#wdAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤ZZZZVseVtVseX^VlxVVu/VseVseRh V-VseWPVseVV¯|ZVseVseX[dVseW\tXP ZXYYXvXvWXPZTXHW3X OX4 U&X1X`YX4 X5ZXPWU+XPU+Xy(X$:XzWPhWnVVTmVseX*\U+X# N/FXtXWWyXvX WTWW)V0X1ZXb4X׾Xt}U+Xb!ZXXY%TuV)CX2cVÈVW=V c{VCX]U+X<8VXWW)XzVOWThW#XSQVW]CXU+XumFWFZWuZXu\XZXu Xu Xu ZZZZziV{W?XE0Wk'Xl/XvRvkX%HXT|SWTmZziWV8ZZZZXO/~V!yTّeY>WZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ73def818b59df5b7d2b18d89bccbbae72339bde8c932da4825b4fde16ec537726a381ccbfc544856195c5c499523d1b553ee9f9c3c83092cfa52ef7b6427d6bf4b2569d4ba6f690857f92fca313febbc570640639b2d0eb136bba626996bced1162a401783dcb05f8697019ef1fe19d5d9cce74e2d9fecba7f2080eabce49098e6758dae363fa544a15f9fe1a92e4c79ec21aed2a7b073dc82885cf6e31ace0e0fb9dc87fe0fee75e9f6bb0c96bc96a49934d193872a0db339a16474ee88398b58e4f45f6cb93680ab12d3b51e6a734e1b4c9e78752a08bf15a0a37e05c64386ed9ac8a4c23d485f8451724435e2c6ca892a1bd7f6304fd703771a0c6e5b64ce0e4239e95cc1bf8b93d466ad317d85353603144c10ea662ad04dc6a6725d68a5aadf245bd685df7b72cd805b107e2771dc56eed2e68161ca352d0cdf285debb2cdc353a9d78f89ccc237cacd9e7443c3892888826247ed56f7ae05d4a7e669b218f7d9d56e0f3d957355f93a6321592a06bac19a74503951b498e68d519134bd53e62b0441ab8ef0afe3a30f22a5dce99c9b95ef46711b3736bee23bc4ecdf0b666ee8e19062ef7ec398e229484eee63ffbeeb5bb1fb0c2c3e20b82a402958a64ac9e034865c46a97173de1ec194b04f41cc9dda1b3781c71ca781c0106fc4668cf605263ea36724331581b84a4f235ba044fe6458aa185d2de0f8c828b461aced0f6ec9d01075429b13bae0ac5f1575e84c812e4d28f094683adb8b0aa3c0bd7e28f1c3bbba5de1f5b31d0995025ebbbfd5db4feabf0d61e785a7c726dd1fadf3b6f858914f9a8d7e5b9a949991cae45995da365ecba86a47e21d9fc117325421a0021b6995ac4da61509c05aca80bc38d1922c057176951c24196334bbeb5ddbe6295704e64420f165056240ba2fb0a43520b3833e13d962a49b24ceaec9c305096c47185ac14d3421e0252e78423b4feee3b105018683ff92ca2a5aefac0c799296b44bd31e85f63924dd6b9c1adb70d981eebccf7c31710dc48c0a51a8c05fdae488b867324810d618c6afa7ae325f0eaa870d0cb8ec820b93d46b3bfd5db0c34d2302535e29838cfe19f9d2e99031e2e1988f029ef81a6b7ac29ae22cfbb086b063e7d499a5505d43efac340bb700a7dd8e5c4288aba9ed568d648cc80e984412a594cca62bd74786b1f84965da8faa0630f52ca83f2a8e8ba85e186da6b6ec00be922914795078e4e2ef267e6710912cd701ccda3d8e6c01e1f87a9ee2a5afd4711b792c5463b525bb025a82db130f0d9a50604e2390a7bdd410526be1b5ebf28c2d09a0b8ff9e85b1efe80025aad54a5b3fa77e4efaeed63262e61269efd6ba20555a3cd5f443c8104042a86ebdd072b065f7c41e68588a60cff0370d9c0d0ca60916015dcfd87cc00707c5e63a4f2cdef564b19d1310c7ee6e99c01b1bbc583d031444a5c889c910b8919dab60dd740f056e192556a2cf4afc7625857ae570ea2ae0050b0f8f7dc9f2adfb4be04365bdd3892e84805cc2ab1bb1638e3ce14f4b0ab34fb1d3167b1c9b2f8b9f1363c122f39c3623db474e6b5c9390f1fbfa9e8c7eab93f4b395fcbaa33d2333d4dedc7b82e36a4ef0ffbdb8525a0379f0e8cacc74d198b53b032faaeb2e2dab7826b923437a82fcee9f0628251e4500546b14d44c2fca06d9dce57a6c0702aeaec161a7a98e64a739cc1b8d7f9c95ebbb4d201e664da00ab4d32d5fc32f5a3b2b431ac46fb79328db1d88a5bd1200c367cfa6412ba0e3e93494e3fcd9e681e746c3c85e32c2c3334c61c8e59a4e6979a95bc2b917d11f2841d58a95340539afb5ba97ea9f078c83290d780ab9f83caf44b1b96ea832be145e59cc5da79630fb7fc2a8f93243d3d3ab4098fef00f89c9461ef96d9ac431c14bd830fad93340d066eaf70e2f65ef8ae502022c0f828c03e4a3ee6396ec62e83255b93e4d4fe1149315476a223bad031b861459a2f364ade40ff54c4444f1076a9877664f73dc825f9e51477504ab66a05f13e65a7d66f4aceaceac1f4d8c34a501fbc3e972035590cb9fde88d54406016f6cff09b60aa5bbdc102e133743e51d850e8824619df4dd8bc3bbaf02ce20f67e9907a24d0d4758a275eea6cdf693aed83fa8b558785882d9a48fe168675d031bc96fc63d9662ecdb3e8e602c6586f011f47e0bc3da6e79fa62bc2aec9405af2426b59f268c10917b11a9ea355c7bfbeead8b60dbcbc03741775d10cf4757a5a064b9415a739513fac6581c3d4f54a73da654e88b82f0262e6cb136434d968fbc8f65510e8d4bb626713793be172384eefd5ae0b308216cca5ab03003d3b853c79b939f915492eda08c1a87c1bc504c90f1a19a9e19357b3448427bddce8bb1e5fee2e9e9272005486d220b48f38f7d0899814d518b0a7b3d106cecee0e3e03b3825d3e6604e0aa0d85fcacc2772519863dc05f519acde546568f167d493433635dd6f2284a2b8d0927cd603a5260d10242ea1b90e0837acec142e86d0494c224d9f0782b6038d10a1383df8e3c96e034f87d9b054dfd9f6dd4f3853c299d319e18f2928ca4005588d98e3f130b20a01e31ff40cf413e19712a64f1cee753bc9f7e539baa8da38a9f9bdaac99c98486e49153a5fcf55f2f31e2bba5ce842ec4c6885b485bf6adc52fa82669076e19f0fc582bbbb9830d40f95fe47706e60e8fcc6fe329ed37726202300bd89f30261a98ef5ac990729d9e260178f4f44b44bfdcbed25516e72f08fddc37c8fa2b43f041287a28607cea6f5a563ff3026ac8d75c2b5ef5def49d0ce9829a5c51cb4944195e3bc4213683e50ad28fb2611c2c6d8977d94d5ca7c20f3bf8b4c064ba19dbe7da6eb0ced5a69d36e59e63b70ecd1a2c5999e557f62d6baadaafe660afa3d54926d860499191acd7cf0e75bf9d4e7214dda7e334b561b9ec241a744623e3ef1511afe0499b55f036e8aeae3b28745c5d177b14cae4dfa7933ca6e60904c86333806f283db3778cb712e6ab0d4018a8a99f67d15bd0d861bdfb2831781cf0b1f29109ed3d3353d1b91652227539d4f9371814f23cc9f633c03f50fec8ac8469600641731de608fe607e701f92ac6d58c219b6aac5e21bf6391f3d78f30fd94ccb5f648a14fbd29094be0b0f472cef9e006806767d17db33dbdf1444efe1c1bdbc88aa52fa9da8b12bb46154e5bbc0ea4850918e5905fa12fc257307c1223b26a4d4432220d8176c3610c8733b002f11939aa0ad9a25e998375d837c0278ff7370bfcd9c478ff95cc59c38048b57ce33370e1a41c8456c596112d3daaa5950451943d8ea7cc38907abdfa63dfd63520bd13e8b75bb25c8a274a9c3a184175e0c267de86744ea3cdb9145eb4f2efd53909ddb8cd0d0710cbe5c720fb23c2cf078a4d8fb1f560c9afea0276151edc1792f4a1bd8cb19905cde1ab414341a33f579add554a5b031c2426a39ae7a47f670594c775ad20174e28d076c265e2718fbefca036af492cb0a9cae1e5b6f0c9e25c0ea0998c320608c763560b1f5bcfb73c49f500010a9298285e88fa75c8d0bc472c0050744ab686140fba7a3dfc39c932a2ae82ef2b80bdc5e4eb265035d896512c73cc2cbf81038660647e39b59edb126843b20a1ec06e10c5d0437e9741af7956c672908f7a043a6dac554759a29e1bf463cc76fce5ea345a353698829838a5e76ada70cc4688acaf1ed9780da4e7a06a3cb7c4c532fd227c7a63e212f3a3ff35e71f6800ad17248dbcfdc0dae83cbedff02a0daa3f29b78f71de9202b4490bc7782ff6d7d8c1f02cd6bf2e233d7bde4a358093580793528aab7a3fa97480524136aa3d67d6b486d4078313d0885fdb66a5c81a55c72606fd57e95eb5275049e91684efb025998d6d6e5247e718cfda0c92fa6858b7d98d0eb044890aaba0230e123b8158aa3afad43b32891f6740b2e55c730ff6a0684244a8faa012acaaddad5c9b311c06f4e4d722c6e06d7b6f192dba159d1137fe1d36f0fafdf83d3b6c1188d7bdc352c5745c1178624935ea257b39392a591b898a92ce05779702a1a5393e822c37e5feea93596dfcd88e3269e2ac9040788e7ce3aec4c8f0242de5bd1c95d60835deeec9a4e9fece96671ef1c9cb81ed62873a6a979eb26ef7070dd231bdcc5f1ce15c116248d3992daffe21213851a97d1ece010ba2be3367086cf17e7127130db355bed35fb1b1e6872a0f67cca36090375f05d310097d4c1b74595cf43f0cf7a0b18c04772ad538777d92b03d274d80d56abda3941abc361943e348de5cc25645f6d88da26f1b75d31dc3add8ee96023cb86433fe622b24b82ee6686e549b2ea2d1aea9eca25ecaf7de0e55eda9aa5b1395b18db666372255dd20ce05520e192a5c65887b08118aa7e9dcf1d3fa69b15c62e36af244767628f027686be6702a0bcfb2294d2fc50bd6e01b64519f92d67c05f12d596a7c4e1949a42cd3e3a82933a5abbab79118c24f2477897c120f07f61c26e3e0c0ca47cc820b9f034b4ce61bc5defbb887afcd03d9608c5dee7a6990e6b5114d2a5ed8c3949273f46bd0ccbf2ff46d024d4f81326612a8671de669b127b05ce0ae3bd7b7bcd715b1d9551153c6f51f9db2a87652c9dfb40486bfdcb1527046860635aa99fc236cbbd8759ec9713086a4cfa5ce68727a9d6f2b14f557b15fe7517ec24b296a600525331e18c13e921c124d7d553524a1f529d5af3c672dd3242e939f855a0b022236279844c48542ca1d8e636d37ed4d54de8c9e262c374c4702d0b2e63232e2270ec0702f6f5b8a17142bfdaaa3b6689f40fd53977c11575c51481d5945d33d627e48724dcb3956079c82878f2e083d60aeed4f42321ef82e471531a96a12b81611ff66267f55f6ee6bc921e17ef894d8236996cf086005d44724c39de8bb80ff889ac0c9279f76fefa1f0cc9ab223907492b1b05c2d8d3edcb3d0dc2e48b3e7e88e12fb60f00606e868606bd2c368b8042a1f8585d7725cecb4cba65313c2eb4979d71a8764fbf2e807804ac2075086ff7f485b106c415624bac9dc6000ba22e854968b0322ceb942ba43d7ad8177ac001d9dc008985282c821812dc991bc798da0bfe4fff5857c984f548f2af1869ac4139a9976956de73a641ae9a1b4b0b4fefffdf2feaf15ffb0e4b4e203717880f7300a774623864c3886fa4b903999e7608c029c083f8e0a56cc3230269c3f377b607b01c8deb4905e3e4c3118b44ad2557a26d43bc694cd0aa57d00dee4b4ee0b1318acac13363c338b12c98b34076c956fd26ce556a4f0ba0429759507ebc86f0de3d25c7b5e9adab42f521d9672faf634859676b7b1612afdccbc76f4f842751e12ff3d0474388b122624a9579819ce57f417aae02c63b6656728285b248fd495509807870aefc01e78d0868275fec6a384f689cc0fd8916e4de0edcbaf020cfe0f411a41c576d41b2b3ec956e6f4418533240227b1a702dd10f6dc720d9170bc643bbfce9b8260bff8f3fb54acc1bd5a179241dbb57aefa6462ce0a373f02a7fa6d9b06c5d8a8896ce03f3d3c20807a7347ec0e8cbdcbacde0d1f85e88caf426726e17c79ccae4a0af9c9a6c44d8fbad72ca9be401147befb746266929f4dc5cd01963cf975db19cb88a8b34a97062895803902848129d491b7c83cf62b361e83e3a7506035a2be850a4913097275bdb348e34edbfc008205bbdae7a25fabfbfe99b394150332cb56b3af0b4882048daf760fa7ef659e43fb7585cef15cb3fd884e2864fec5df9a4bf9070406f44c8263977f005d2ffb45276a4889476ad9497cadda83b29283d3f0c0ab037cf592f7ac8b47f67aaa951e4bf2576e8a3a056f1aaacfd880385059aabd3428f55fa573fc28c4ca31217eee2b44ac7566977fe95768b1fee4ab923bf2a7893827f59344e0a852392722fe20789f8081cd31c0cfada1c3c2fdd64831f5b8fa79007c4a869e493b7874f9fb59867248c2071ce94af108b2aa67bbeebb894069b9c192af7cec4845919c21592c60eb1240ab3727356f770bc2f65444d1382ae8e3aeaa3312c1cfe37a4d0fbc09dc07873f7b2622dc4f661b224b5d563cc4f42c74f53a828b04ddd6150072b2242d9e12725798ce2e3a37c869fdbf57ab2ac1ffc4d995197616312d7644126ae173340114cde0eed46d0f74b55bf681ac1c81be3d5f342aea7eaf386daeca7caa4c8c273c842859d97098b2f28c09ca2dba3dab0303bc1d35f95914aa14d4ce9d79ffce76d2cd10bbbd1118d60cebe49e7ef00a708535a4b739a0726984fe2fc3dd0761e712b76df23beef49859b28d14c201e58fefde5418bf477d6e4c0e44a1155da53425d1924137eee69cba03e580f95c52bf86a98aa24d50ef8816823c8d7fe5de7311d45ff6e4020abee1bbca1d323361fe018c8ad632c5517621b3e8d6272cf441479223271ed4e9c5adbd7882c7021ac93d44b6c510ef6c346b10e1f6729aaada5f34a1345e469b0bbe684c41c23795df32e79f66a55395c0ccbd37e82713bd7c34b68597c5a2c83ecaf0dbe2294e45576018929f811355bf7309afa6c19a43aa90653f971bc60177875f89fe077e7908fc0837231bdeb2fbb79483a68a413368e9cfa81d5c8ea989c0aa95b19e55ae238d9a3a928b1a15568b15534e7ce7917f67929868bda96d95510e1494361a528b71929a73873459cf01a65753b2fdaac5e008e686fc0c94b389ac3662d4e614e837dd1f6307aa0fc5ab69651c59b6653f41627c96884b525b75f1d7d543fc6591a97adc750827de29589352e26f68f27dd915c4bb59ab1bb8bcd0ad9623ee21d28fe59e127009a4c0a9cc7e42ea2b9cd38e34e6762b45b11b09df26123d32e3ed562e1bdb21ef6dba6e150f7329f07c9876115fb106d3f516c064972a577f4c9b6f78c2f4e1130cc7b726d239fd420f66dd61092853cd588f3cd51c00b6ada2a9787931e3d50df0cc1a1f7b48948bb111701c4fd55f718d92eedc848ab940bce076d62d12a60ee49868135de6b18d251d26db78eaf1a168104963b18190ce9661af14affc510835451dcc2c93819dfc7ce66f18f17c2cd565f21b66a48fe83992f1f963c04c09bfe89b9355d3db6261e75302328bac268c41fcd7dda494480960d09f59a3a73a6a3b0a68c6b5a1b9055611a7ec5470b5e6852897211b5d990daaf56edb862cc4ecc8ba8d0c0cf183ad3f05bf641144842db59d28e3aa777427892e3bc31435f69fd179cd9b560370cf89e358897d78dc9f3d6d3f9517ad7e1052716e829a55cd1c1a58db989cf373bcd5ea552045da0dabcf82dfac40337dd11929b0a4f7cf3ff9c31edbd32811d495eb79b13cb7c2f6e1d11f70541e835d3bd83d4c538acf137c4fa15430de9dc31d7ea89fc37e5966076036fc7d879eab2da64fc622a1a10e6d384f2b733fadf760ab6435f81321633bfc2f222988251a4a1e9be02f1dfeeacc8f671cac3c23dac2b3bb7ea4a4fd7ce2bd52197f9adeba309c4712a2d942549dd8826b6f9422dd2bb9806e58aeea7cb4ba8ac857c49452117b6f291019d5b7b3c6151b4a940c970a3800d9cd01f3c35f4cbfa7b0518240a0a7c449e5d99bdb43035d835012cf2a9651d911c84a5a0405fede07ee186fce118af58acf76521f01b37aeaf05aa320adc2b852679faa209ca258414ae5c61d4871c6a18e495dc75055b186157268b5fd0b5ec3ad97bfc74b50f8670902a419a72392aede37b3c040a3f24e81a64801b30339b4cf91971d9e6bbd3ffee52fd42e4bccb9ea30b17f0c18416dea2d7c193bb64a6eeeefa230d46bf5ff49301afc1f990217ef52baf5866be22668c0533da33021f068da5dea86df87ee7f54e2400f58c7dd7d108d136a5b68fd41d8cd98f00b204e9800998ecf8427ed0e58b14172e2838d50c460512bd85eff28cdf258246db8201047e034fc0e6dd6de31b868189eecc4c2a93edc31aebf4a636f662f37dbcde41f0a48168f5aeaa78e794d101087564af231b164d33e201989232192150bbeb87b1bfaa2dfb0bcc4f383a425708d2657e572a4d75b53337ec671979b4290c84f432d55cadfb4cd99caa4e399f45156cb439ee72c0106f8087cfcbedadb2a5c0e30782bbcd7e9019f87882c054d3ca5dc6dd08676b0cde50afa18f7a852f58f210d4e08775ef2d250e81221e0134dfe76ec8eed7cc15896197220178f974cefdc5e95bf65cf783e0f85fe77b1520d54116543202a897bb4f21477c6101710f167c37b02b963c1c0ccb720e5a89a4263ed2d8d1c09585d33a56a67a9acd5cf9f1a57a3467c0742ea175712545e5508c4449d399762ce4c08f659fde68363e65b017041d7805148a96f34916e87eb050229401ed62b7f8d4b51d92ae62384206588a61bf68eab0163019e3e4d3cbdc803da7cf79753d42e33b6c731209a54333487621bddf9af2a6a89af3bbb01bd55d476030db27664159ca014b492ad9f921de5133b57fb286e85b4d53bc323624b6d8fdbba976a5586d497f45c62cb8265330ad2e7ff32946c735d645ebd90af11140693ac4d8df5d8ee3baee7b5970059000310db98ef7291b68cab9baeeeddbcb745d17effe148426d0dfafed9b9a1d60bba32ee7986ed04d4456030bac9a27ddbddda65a3042d670b1e46e6430265184ffca2a17eea6b602a83fdef8cc53e9ef700e4a25c4b40c1ce8bb14ef2143cd8f2d446e2f0f4e82e53de36e2a7934443a677028cc5eb3b0868d7d776db200327acc40b485daf12a61adea1d30f5a1da78ef47204d38ae01b332968f39401e7f0cce664211fcf4013cb9e8a59d96006d687f0c8e5bdcf54542958bc87626a04f3a3c4e548f60b5ee031ff531fbd504806fc4e21a2a25389b48de6a1cc6444dff4011be655be93ceb43d71017c7f18a5655fa4bd3fd81051ea11aea89facd0257d3639821a41e0a2220378da482a8b0e107e0849ec635648b02e754e75ac0cddf748589e8a5e691d646d2326568fc5ab9b1a8205caaaf73ce0703163c8ec0cbfd22ccc777c21eb364e84025c7ac8c72e039025d36fa1be0b78bf2c7fc7cded1ba0a33c755bcc83a182d20fa3ddd0824dc2f71cb92e40fdabe697c6638dd8b298a9001e06c1f5e0168318dcf2ec1a4b3fac04a4dee736565f46409dfd17059797954882eb84637489eae28915f159b584819bfadf2e93b226347f85db44ba0ec793e952deb35b56d5d4895f2e476a38e15d6716e7f5be1b3a5321c69e6477d4b45fb74d8f66a80a55ffc867ce22350bf47c3e2000b1441161dc874873d28fd53ea5fe41644051ac3b5ab122035181f5b2bbacd6882105d61b196245b992ed8bcac5d498785295922b7df3e96ff1fa13f770d234513c7b9a23c512de71e7d8593242222efde5b0bb9984ed1d9ba4335b851c08f12cf3f301af37b359d35ff720a1c53d558fe3c9c31be1c540c90e63b9fc2fa20f5d2e1f4373ff8d4246cd6a57a684ffbcb7726e1338aa6ecef5ccc6ee043a2f3c42f91ed34fc6206da05bb3843efe023ee93a637e3658ede396bd0e0e042eb758d3373722e1a243b6d4f9254a69b2bda74068ef2306f6c57a6afe50f38d2b18bfabaf1cc9d43c9295be6caadd8c827519e40ccda1da3f8a453793fd085aef8ab42e85a85d82058b1a55ee0d613f7aab3c7e7afd6de17216a430822bf4b3f50d9092d41ab0c3a00add9b35acea61a8bfed4a91cbc637a940e7f5f8f6b5c83b489706bcf51179b9820b413c53763e296e22fd47d2a87c9a10e1503255d2f0fffe0bbfe465444678e17944619a929a1e389722c776357ebc701ebc0250856cd4e0e8aa79f111a5ce0110751d9a492d27bfb94f703eca74939219d6cbe8bc69130c3be53c4dcfc9141f78f7ebc24d8f7b5788e5b9b94643b20f9a17b48f7d94a9d2b1b963504019d547af10ddbc5c6a95190ec2ce46a0f466648d894b2b4b32efcb93ebdc0454b7d2a328005e242c681edcad4482c1c91cea1c55a10d3aa9729907ad01d5fb7ca20bf43b9ebd9bb4022560b052939ff1d964f97cee9ccd70a5a6a07f5547562f8cfd3db1566f5adfe4820d04fd1296a6a7fb46621f24ffb102a4ab9124bab53835762a0b9e0586cc83692a193d7101f4fe14e3e3f43cc3da604087eee14d895eeb89de546b643127c4581dbeca11ed4ba9a4240bf1a7b54b447a766c5afbfacea73c145539bb899a8fc43aff7b86d0dce85122ebea9e935c20c9338328d3f25b2549225ee254362b8a21fa2e870f85382d2943a535fd0cdeb8cde7cbe19cfe1cfcfcbc33bcbf39c118e75c91e8107611ed04dd4e3e85581dbda12368a48fd8588028ac5d3c0c23dca9d898be30f6c8b48117789e7c8b670c7c40ea09e35d125188a932ddaf79041ba0571683bc201f9bb166034e30f120697d7af088e0ac80c4cf164c1092c4794b374f53e68da2f9207440b3063b61454385ffc575f02ab6908d63bab2b37f1e90332571e25f2c4a599242d0dfe9aa2acdb0037fb997c15a0428a84eaacb64fad29e5798d9a7ff157b585a1841135c563a7be96400d359fd24498f1b8dab3b9e32ed983695a03afb1f5558ac3921e4851aabb7e1da985821de7ae29629dfc98a4a7eb3251f136bf86faae0f6c79cad22a6f56b996dca9281a0389a30133a9f7306f9385f476fc9f590b000c0040b6fb79f05c0c6f255d7e8323b4521477741e5efe042f50afbfc0f73b235686582f1c264fd7377fe3d1f5b8c704d52d28a653d28d627d3c5c2ea2892be3634c5914cac137c2a3076355b9194c1f4ffd2567aa53c45a08fa79ac560333e457e13b0f27c70220d93368f49da210b81fa52b6a87236f25ed7c61036efd10fd0b6de6d165a01bb307f93c1c1336ca2389d42f766bbb73fc2bd037f8e6f89b4c926901a36f7295199a835244dd8e563a1ebc7c8753421de42f9b49a199d6d95df37dcfe538c0826070abd199c662a879b6eab791a1e1c1d0d0d9d05690225a168c6b254faf3a4d51421d5bbefd3ae54065feb509bb3fb1f3aa8d06d357128a95160f29321210c6afc0a11cc4d38cc348c164344537b035b60397967bcf6ad510a6b309a69e4bbd43a4302de78852d8e5931733d889c46b1eceacf8d321a688fc89f8be3d38161a37dc67fef306ee60b82ef12d4c1ddc06408439a8dd9042f0c18ae46aa357ca0376baef10f1a30047c7c96c98a664756f53ceaef6afe73df83d05f74b2abc42a1396977c32df76ac5ad94d1739731abfb27047d944bea1a9c8aea5b64745babdbf28b8cb25424c766aa908791433eead29892593d9e938f7c212c8bb8cd843d93b5863c1cb75e80572f693beafa14bcdd714ee2247e457e6ed15cb50a8076aed8c1bc7109bb4e3c4f9a88941aa5fea6aa8c0f3187b10a50e3efdf54d4838c4f039953245e1b0a4b776ae74a6cbaf737cbec7b54dcd0b84b1b0a6f20e4b07444fd1be664e8c3ed2066debae4bb2a24299de10ef05abecdc79e12468cbf814dc94ee66587d886a648c885da94a8d1d25e43e251d05e087b0fb3f64449ec2af75b593f97695cb5a6b344198b0f715b7d45ccd07e03d34d63384cf1e12ef8f7ac2d8c36c13c9b026d3831eee5ba8bd14a2e945e605479f1b1e5da4555306f6b143b0448638d42de15a49c935fe5bf55d8fe4e51f4d2d56b36782e7f64d446d812f5e03069af40ef0b208cee99f2dcd23b2e1066744ee850ca4d20c84a7f7fd39e589b9eeda83e3e7cfff8d45293659bfedad3a0c6ea630342788da59b8b3d90c5242b1b0085df649a1daabfcba20c0398831ee899b77707cf70b5d85e9ec2c1067605782c603f8f24fbfbfc34411c75fa598c89cf3ab9f13df06994644f33a6b594ebc2c151bfa015776cf96e97abf32b34c3d0da78fa21210d14224d078d78cc801d6b1dc7b51f7ed26f4f2c7639c8be596260fe7c82fc88eb10ab0114de2601a22ff101f9c6f195a85a790b8816d87f501e67d7b6e12a70abea541cace4ce662d2361397fe28f5fa6fcf5ccaaabecdb3453ba7c3e1ce6faee5c69b76e36b3bc1dd0b218c9b0bab17ee9073223a1dba695625c173ea2e5790040440e98e15f11a2d0d421e2ec1915e594862a503c71a2df15d144d5454662502f291c1817f5e6b451bf5db12b9e0ed0dda745d291d9db58e9840b79027ea8c5e972343e24c02978e1bf8f9cfc49dcd58db6929dbee5068f9cc5eedb7eb3b96cd215e4482d70b3e183fbab9fed93ba1f544c730f429c725bc83cb30f85a6392e05f3271291dee436160822e64597eed455edcc1af5a9b37e64b25510d312c9b6a616f0c3a2166e3be57b9f97b54976600d26021e111f7e98c79c4d1f034bf4d1c7935edb7eafc7e3c45e0501dcfb3462f06d35d0e4b99b3aaf4a889e9ba63f42cb0e975e608dbe4b7fab871768d2e3fd2df75f6d1fe68bbdd0d671d1e0a13c8cae12b60d78de10cf491d9efad2783f3403fabadf8fde96bfe8cdc2d4f70d3e7b619f8d91754e6531beb33dd8209dc3710248253923d5bee4c4b759b7e694418e183669428db54d19c520f564fd473216c835f508418a08f3ee8515778f39a3bd5f7391e5d1664123a440c6572450f76ec37f5f4ba91bc9338fb5938ac3ddc3a79bf4b4604d706a612db3f3f30bdf7342e16a06a24af56c66eb377a433092ac2d3f1300f9322fc6e1c63635b80cdd77645f19e2130df62ffd36b8bd2306ec43cddfaad4b60ef3a684fc6bb6a3908921a78c1a767c3d5ac16a977c0603f96e7733a1d841e2839dc47b37f7b4846b5462d4d87853f86f885d72fe350bd7c41bba670c25331da695b4b7ed43918b348c8fc876a2ae35597500dfd41777ddf83e02fa1c17427c20b527979261c2b6b73226a4f5825f6b08587f628a90eb648f7faa82f76907d1f69176b211f866b82fbc137ed2a0667293077339cfc2cf6b0aa1f6873c21bfd485199ae2733f603f70a4c4df8293cda8b407d57abc80ded72373a280ab254b42ac4972ee3bf7084df6e0cd2072af8c83bb26fbba73db0de50624ff5a43f8d221f34c9b75c6e29ad318ccdffbf4ec41cb06ada300ccf10902c6ac7135ab9702afd4e1af608caebcbbd7696a19a8a1a4790de944b9b48305676d9aaabd12dc15b3229da61cf2752ccc1634270660b08678679fe55839908fd5a6ef8a52671059c17a2f63130524ca1e1bb9515310bb998c02e6c1e6a80376e41f3ed1cd81e45bd8e66acda81a47bac50d94de5a093b22741d1839e9a4b7ab9942471466c572947ca0ae2ebf1347d2f979b6a18e682b5ca6ded159e7046306311c8093c2a7b6247bac5de32a7593decfc9c9899b9bb9402526a6e7c67c43b6bdc033e8c68bfd6af14c94f655eb12560a772df63730eb1f89440eff5fc4eeed7061a316b017afcd8a606a1ece9386dd0ee1382be66bec26b93acd61722deac8b85ffe9f8f8e586095104376239de218e7528dd020fecd11ffb17fc329a506f4de23c24c210754a7fc5f7f57425f4201e463b660e47f81f3d622e0e8f87ad6cce75bb0f0ec950f076abc46af6ebb2a41662b78c8423a17f5a933e1d3f128829835dd2c5a6d6fdc752ad0aaac1666f7afd1882b779a442bec2b8b653b4bf81af7c20b51f9a2d9867dad9411ce4675f872b5e78cf7add251a33c1d2d103fbafa9df5a7451a4b654405b9cecda6491cdca2602e5f322a9123818be463db7e6d9b66edf7d983198ca81df1975a85d826471712b783b7de1645940cd2befe41e65acae80f5c2cc91dac177e2472461861d33a2fe28cb6a159e8097633b5c17fb2e80c6e8f84dcc4cb66e83082b830f8cdc0806f5837775d4ffa4a6bd9b4c4b96e264eeb7d3a0d9ac106e4fd59c0e18afc842a281b2eeaf4540cbaf02356e763b09574af17dc49d01404173e1eea5385dda43f4cba691b711da9847b19b8e33ad7f3ae4ad1e0133a9440906ce7d65a3e7da762c2cec081fcb754bfa8aaf49bc101ea60b805eff07f9f880c02d59e1aede40e392ce9bb488dcc27fc43c4b1ea5eae9a9e1cc56b9f4f39e066c198d292e51e1d71b3a010c9ac75d29bb8ec33f546194d2cd4651c98be6ad88fafc2856912a99c30e14c6605b89cdc8bdc0e983eea5fcb6619bd74f66ac3088b00cbc65739f98b03c170aea9ee24550bfc934585aab03105d74621f685d5bef4d233bcb73ec5d3bef993eb351a86f4bf84c220b11dd44940da441f737a674f8d0259502b68375072675fe001411046b2497c44bab0ccc04f3d5d553f580334a4039bb1bc3451312f687998af26015dcc89ed8bbabce03d39c18a3497fb9663bc4760c3e1d3e3e966f57cb37cf0c73cb4b9347ae42767baaf0e0b65ddb08000bdf87c1e2d6bf935e3e89520d49b0f9c132712103e470c9bdaa7c4109404efd1473508776c5d5c265695b65172fe33fee880030a0614e9ce18d7ca68bf6f0fe67d4f1a15509740856f78f67ec40c6921cfb5b58b08d13ca8e99369c791d057397fb9e7e47e4f79025e3e30213aea34fc473cb179ef2de1b7918c0affc1b269863737f1ba0958fe401e631958633c38f039580a22fee7a87855d58efefcd1b0bc127e048aaf72b32e86061a6d5663c5274ddc3b392d112fe5cd108062d61cfe05db4932dfd75bac0e5c5f48bcef0da10228ff4baab0bd3d9d0f54a6970fb9bfc7c74ac36db734b546d0df59af6cd027e3db0b146e8534ce5d89245d51caa9785ebd7bb9dea6c50ba0a9f52a514cdc26c2b7cf311309aba7daa7a5a8cfd5a5bba6c6574eb1522480eaf9e4da24b70bd4af11f4498f78cb809ed2befddad61d82c1a1e5ff52ee1b79c0f3c56a0e2f4291bd820f8a7ed89a3596f515c62613876f0c8561edc7808338d0315006e1531925d29cdea0449020b0a037bdf45251a124d4ec421090f5f4bdf847656d7bb3fb095da270f94fea052646372aa88cc02759eebbddeb1f6261cdf50e58b9bfa8d843b5cd46147051ae649e18e580320388515ff97bb61695e4322739215ae053aad5ac7192da4dd06d8ca63fec71ea903990b56aa1aac9755a8973e23062057baa8c8ce57053a9337e62347fb537f6b473e76570ff6ff414147f3faa81d398b8160ac0e9a478362eaedc5c0a24cc0be863684af9df5f55a91513c7309eceb01537b62c1e6802824b3a4f8c3c41e8640bd15e9c3c5dbe97e86803f108d14a6e724d4ecb10e02d8bee708ff33b3ae1654f4522f5f6fcd7eef1f9161682498b6e71b4407733401c30dec54502d0a72e1eeea0745e5c86ed204281007d56172fc16f278e28caadff5849cfa6bfde677d58f40401438ef205e392c4f6ec637cdffd8c8148718b89ee277280b7d85fe7371cebb66a88c085376b665c9a400ab4a3e58f2b50c09ef535d53894dac2deed91c3616e384033fe65e0287cb81e2cf413e025431ef139127fc859df7e1aaaddc20044ed0098d093e090cb3b99c1039fe211da5687c44a3b48e754fcf713715fa299675dfe5b1394529afb8442916058c0e186601f9c6478e6476f58e38db76fa098d4d9b4e477c646dd6f1fda9e146397b53a348d1d7eb25015a367f1177578db6acda26b31cc8a9ecb57b38207cc2087a5634457a32ccdba74691d1b5d9030a682ce3468a2de75f2be96105113e1465d678dfdcc6599c6d97b7a63d6ceead5a79cc939e3dca7a46573b57f396c0cf60bb740714ab53967014ffbfbf3d12b49e0d34b84237db63c69e9878127c392063e65572f2d077d1e943e2c5acd400dde7f5313873f009941d14e9d11aa4d2ab108304fbb6dd0835034cc3a0f74560f76d81a37e6476ac614a695e348a95d3a9a5d330a27cd92ac53f6fc885bbacfe42e8c13a8e448a4d788c52e2263820442b226795dd95742397c2454da28a0dc6df7bdf7526f672c082ee71743e0e44fbffdae778d960b199635082dca075f3dbd4875ffb9d87b6a72c3bc9aba5609e0efec2630ab811cc893386028fd007295b27ab4b98db0604490dd68cf800e602a6812480f2e9f02a06922753b6203ac35303f12ec2e53ca3e740fd369d1c2880f1e6dc7d66bbde76f170bd8b8ebead52208606491e06fb848f304b27f2aa1c682f73a2c97fcfb89430c99516ba19c9d273e77908445e45c5f240c80c3e6ce3d6b53a544ebd47d329d649dc0c400d666afdeb94bf707710f0a153a745a448c2034fec70d36cc8460d7fde9bb7a8671563c7202436075703512b55541c967bd7a8319faa3d6ccd53e6f4e922a48f20cf94e7c318a92f1614aa8edfee8a69cfa12cb2809bca910fad6998c12f0a1899b9160ac60c28d2d6b104d73330cedc8b105aa1fe0d1b4b929aee16bfb6afa36a731600009f85e7904a967e809757cc0c668ca4282d182c8bd913a5ed49f026bac2bd4f3fa3b8a150192c205e1923b90e48b818eebd6c98a6361736587b74a9617735277ca7edadd4d612fe5250ec9f303a5825d93eb336dd8067bee1ef30e69244ed88d4fe9ec8d8d2cc1679b364c4cc899f6d9039b317b2b8f939617f782e61aa6ec1b9f9a941c2b4dd40462f96555972a0af78a67aee7a2791b48bc5d0e33d277fee0f8c3d7b4f5c0854d8639b442dde8d1d9f048c6498b17a39d4fd65ce57cda98a92fe67b044c712dcd1e76a59edfa5c82a208611221ceb84eeee4394b8811683c22d7b1854ba218a64c126e4e2cf190957711548ca6b68aa110d3444e7e030d8dd35d9225b4339ec6e86a5101716a88021b45c1df639d7de86d01088d011a11a36bc990c2eb4431eb7220e6c3693d2d759264f082ebf9ebabb6a2cca4f9e6f1dd951c1d5b78ab14cd5fe905a664c567dac1308fb560a6cc96e99031e8a6760b547d295ff276dd7846757213b716594585402fc3ca70924ade00eb1c749619f2638bcc04afec316470a9d1dbdfe52c2e2496e7a6c89bd53d74e38d614e08a263605fe63e0909dc402c73aea9a956ccc37cedf87fd8d055549885e046328d95a2e450e8ab7ef42591797155f65cb63fbc266e003407e9f667de106a5f2fde8021899ee3dd76b4fcd535061198f4c6bbf08d2c9c2d329eacd4924619aff57e32c68eada451b8ec4f189701054d59661e2b2eaecbba444be7cc560cdc9338d8d5cbd81e019fd9d03ceb1da21d04b76f0b042db01e3afa52a38e3fb73fd4fa7712bbbe16d53fb64e0d1116b0948c18b352ca79596471cce491a7a4c9a5aa2bb75c1c784828e6484ace12b28aacf6b590fc9f1e38f599db8ecaf1ca423d2d16f0ccbf695764bbf075149e37fa78687421aa2a6340cdb616145eced4242dd6d33bff6266e345b7203fa7da4d312f347f2c7cf9d64555f80582bb1662fce5757be21c8f9a135c961348b42e574e5df6c58463ede70db82c987c1e75a2ad6df2541c8d051e11fcea2c35c81402764f9cf30048763b3590476c213651d1e3a0ff914599379f126daabdb5771ba1c0600ed66bfeaa09a077947ac124369db1c53ff61139cdd3f3d59c664f81ac7c4f38dd3d463a0dd14ad151b310b48bab5c01ce74e5783bd92047d5611dd50b973bb6ec2c1f97358add2d7ca4638127a259b312ae4ca3fd366e3b5d6b959061ca49588528223351ae67019c0569d34201d2b3081ee1e71c0760822075c6435a18ee12a84e0071715d0626747a9e7c965d3261a2c59c176268bd56faefcf6742e5ec3e15f6f040f93bd3b951606456bdfc81a27a1d42230cc6718c60c762756fbf13a45e3615a7cf20199c4bcd3330df41b97bc626d65c193a260cb11026308d3911bb8b17b8dcf57f27e7e8cb112f1f6460c6a6f3ab437c0f195bb214a8e4a2005e1a4a36d31f05f8e59edb7346d0699bb9d2708c43174ce115ec1aeef2d3b336389b01835f3f56afb705ddbb1d49bb425f20e0eb3db8c0c064d46374f27ddcefe4e24cc5d70bd18fcbe667be030f773ef891cb1e26e44e4d240a476bbb71c3fb6e4a125a7cc1bb6b73b84a78b7dae9ee18bdfac2beb06d862b63b812ce4d4b5b305e53fe6e7de9cedbf1beceb9fcf72a0d50513fc973fc2ba75779a01b359e8b009bed25a5838c24a06a9cd04fb56fdf191dc0c5d8a2efc69c13733765fc4b0c3f85619248bdeb7b552faa23fa8bba9dfa551e089d198912d025d6ff5fca1ab0592eabe1450cad7a30b85d444365a2fd02f942794583d88570dfec585ed5e9ae22b0c4d6282af457f1ede57eeba84fa8bab4ba173c27b1bd7dce343e128b9f0d2d9948dfb3e6b951de29164d9ed3f2cde8c69a7cb2a24125f2a8eb7c12f3cefab56c38bbefdc5ceb0059f079ed62508898a727a26b63ce1ac380c4a38c8d808a5ccaa183ca31a716235ff647007e1e52011feb2ed86beb45cf671bc3b48eef66fa6940b121bdd142a88c42a17377ba46c5c8a0142ab77db8457815c881a64e5f455f31fb2b8a3c9340c01867751071f3db4eb52afdaa5ef43c60c7789d565961a1e44ab4959323cd0edd19bad9067da3b41f518696773e4d7056195d5d953280b7917f999abb0f83ebc595e92f478ac3dd8e0b3dcec4d14bde05e52834e0c62a20ca1745e0c759f39bb9b327053cb7e152e78f8f74b5e643f9d9be2fb388ecc4684986c03435151a0086b8aaac964939cddb8e6a6109039085e2ce35a401e9b349491297ae357860d04e96cfe6b92a9a13ee549f2d0c3b4b24a04d26642f629a2fa68fc0970cb7f48013db6e1b53e2f4e7c02132f539ee043d31451ef6d1156e8a2395e104981d7d95c770c1cfa0bc0a6f02ae013b5c7e1ef3d90cbf5fb420fcef7b771736191433536c4bc694ded4b51b5eb1722a4c7a95e26334f6dc6d57bfe99267ef9ae26e7b07af1c32fc5c384939eb13accc9a18be24c7bce3afe5306acbe8a9f27143cc93b5ffddf4c00a3b16e811401dca3cc0b8690b940b780ced362cebdb6f06e59fda0a07fa8fc1e588d71a9a67cf1468826d9e4d87bfbca55bc35515f0bcf3b2da4c0d9262b3b794ae183c3fd66b4024dee404efbd962971a09f9807ec0440850916ef59e0c32bf3193ec64e9f9c69314b3f28c45bd0f1f86673caa9d6129f8c70364fc3d066612bffd57b23d4966cec7c287be63ef288b4fce3cb8ee41c64eba2707f2ef0df4969d4fa02f806cca16051c5fcb076b43fba1afaa093c7c2d82467ee590b0a43a186e6f0790d572c1a23159041dfa94359756784989d398c54b512924c25f0ce70751fd5fbd7b092d979f4b8a3f0dc51e7dc14ee47280a51084486d2021c0962cb01c1eb5321455f70644cb79ab1d73630b4f32db355a5416db0cc75f4147fea7213100df58849203da8880dc1c627463d383f7306f67d605cb0098a8c868ead8880c0cb979ed65d9c0ed900f7cda1d157a4b3713b6aac053706a7c08f69a2ae78b5accd7c7a084d8f46f10a142185217d64e69072a90a4e7c0e71cfa80c2c83a5767d5fc57e2e9a28f7a3e820ba3ec3ed337105f40f810484e87d9e13967b11655dcc04d1256738a2f5e51f3a32ab5bc48f5da4e4e5dcd7a6f39d26c2f17ef4a8bea96f56a9232e1b69f8a59dd879636542996ea95907aab7e41cacfb75c57f6c1c9728541c01ba40b3f33e3ad4b2c19647ad0d62c02d7ee76d9c31ed60ee1fcc0d17f3051083e7b78a7b1535b8d4305e402c64e7c6a74b01199b2ff74c4e0089db6217a45ffe8b79bd2aa55dd731029be7350d2e0c87829dca7141d5fc4be112ec95f774d5a78489ec18fd8cb51f81230a0f95109b11b19a15936e886ada12908178a9860e76a7bec8983bc96995dc68c625e5e38ead64ee5434cca5befad49c6a6e206e216d528f29c9dc2545f4613c238c561b9f77d168148eb922fdb51ed9645daaec8a830f4a71135ec5c5a743a6aa401120f9cda9afbbc6afc2531cfe50726b35aeb4247e2e513de7fe7497a0c220ccdae6ba88aba84f18c7d4dc5fa2001cf1684c4dfd6a5dfe417abb5cf94fecba58038043a62c9c7d520b77ee6b797681e18f4296dc90757e1a74fa2a56fe707751cf7d43276f24e7e198f9ab6d65bf8f13ad71796b0337b75536df30b5f6bdd31be3d2d234953c5f86ac301e9410b33f60c23c08011a23245da8f595ff858c126fc8fe5d8b4c5293286c26852a1003acc78683d4b99d4d7165d61b9327816eb61dbff096d663721d83f0f441e513e35cb765eee35fff1e9d3dded62954553dede0b6fa64481c11512b4712b6a870a44e88376bc974114646a9a756d1fc03709dd5776b902e00e5413f1d7d791622481630869bc06e0016d62104641816f6df0e1e59c8e0fd83221e62746398cd3b878927aa08166eff547fa255f424ba63a9920fcafc428fda1715d04b87cb20473562959a7c97ff1688ba39e9a3c0fa8c99d80d74b2315f68ed6fa3656861807fc5ced231e3d24701378008509f238526439ae669eb80d6bbe3d9822a7d48a93601cb90a3e5a3ca769b21b56d33aefe88d4d48c1a54430ec61e5dd1dd2da908ed66799e97c0bc18c3de1e32e3651a1fa66e8ed4ada983a57cb37ef4ecb9e8b8bd409d33eadc950c345c66ba328121a2a0e546c8856ea86c4f180674cb9ebe598e3f0d3fdca29d0758af4d61a9a0909c6d814d3d60ad62d196be54da6f56085d1080b135361ae7b9b5ce0eae3669f6c92cd0ea0c1909d2bd696269322eaa11c53d27c35712ffd2bef1e0aa5b8e29423680ac5889a57d94a491a0fecb524108bf98bcce59488771f0acc0fcc1a50cdb64e0e7fc8e97fbd1204fee96cbae373021e580ba3b2433c503fa4e5a9858afa4841aacbd3b089e6d29fb2c316cc2c082254dc53824b752f6fdc1a805058844ab972548b29fca20fb327c7ec71949f0c18bdd7e8efba72507e91810ed37d7aef9cff78ef70f68b0297c651aa9908c41e7e2309e0aecf6970393c8af1bcad294cb0602f6c7d450508f45075122d6ca4a0592e7d342bf75664b7430dfabb93fc4d71bc992c0672c66ac3c0ee61930787e2e676b75befe677583918ed01311c6126c63fb4471fa4860f93888295fe45e8fc6dd3d7b47145ec159908ec55dcbd8a16a53829146bec1c3c610f3ea4a058a1009f32788702884b121de2cec93522c9508f9481dd4262a6302a126e76834eeb6f26c7c920c7b9a4634298ed2a3058c1201a6d69f18688ce0a325bf1a057d06f7ead0a50a8534bef04d83ff8b9e09f6150b410ddb41bfad15588d0045c2df6457de9ba5dd85100e6a05b9ea5d8f521cf82745f15951009150d3085a9882a34b5d9d83c4eb0fd06bd97a274357f0484584f55564938b08f984fb9bdb28bb39214b84610318d3b195a0062cb98b31a44bb3a7d13688187ef78161541580a1eaafd5b78c087588e670e007daeb390ceb9d6134803b396f55d69fd524326cbee57a32ead7243716a9ef80ee2748b4f458432a5ff2b246d16a6c792316e4662a5d9b315b279a129d1a77070fb4e30fd4a0d3d6ef77b9da026769a3fdab82ec3c0d269dc05c8caa6ec29e3426280715638f068416b5e2bb57778e7f7ce71771197895edd6edf695086097f0e14002e6dd79ce00bc0ae08a1cc4362a6b8c8ef79d16a2fa76c4e104b2abff682ee90d6c1abbc24adccbeb7a0937ab2825dd941f1916814a0864d8d430085f787fc45b32c13771085ffdc917152fd49dd7a2f6bd927ff256cf5e047bf3cfbd249e9bab00abd5bd840f922328f5e6b450ed24479ef4fbd7ec86a54f5833e4a2d3b71c463679aeec9c063d6f36f194335ccdd56e32208eca0a8ffea70e7f4f8c26d98017cd451c19c7e4ccf2e6c7040ea6215121c9d4cd9fd7f062180c017a5e76c7a2a0e0ca3d2cf9003186b981cd77559ca075ba13923f0c4c49c8eb56297516dab72a9296906f37890a98b69fadb153107250a66135e142f27797adc5732bf78d116d6137a0631dc80bbc9e9721154529d9809993eb5243bdf819be78b5ecb7a78b1135cfa4af123238e3a4c5c3de93e34e128ab9ca03c7d0790edf3648c10b0144af00087cced18a3954865367d25f9b5d7126118906182e40403759e326096913b686146b47a43df0297461f06500dad21ec1a7c24af6e7bec181a7a427149a2cf51a3ededea3aa5440b7b828b186f2fd36fef418ba7f5607552d2aca805b56163b4001277121884ee49a193d8e6ce193c3e9d2ecbbdc0f7bd3b52489667a5266e52cc66dc8f6d4c53cd213d400037970b290e2097662e09d1293da93b1867e3e4c95f1e1aafe17f35ba01cbee23e974b8df7d825b84267baf19874b1a423c214c301bbf4b624d1963710b479b8d72fb170e851a5121b43bac80f73dd5891afe2fd88b0ef0b1a7b6bcff09ba06b7a10d782aaa49ba40d1a5b4e5f622a0a74e4f8fe5bbb7b98f93e45f4717a3223040b3d17cd5dd223bc68e1de0246cd1020771ff87ba2862dcaa0b847df4e7d4dec00d0ba5f405463295fe44b4bfaeffdfb8fd95ad75ff9cfa166a022bbbed3d7c60bcc8aa47f1699a5a6b04cd85f744f1c2efbb8d217a79fba25b16356c918f3c84bc4d72f8866edaf91571c11ab77ca935480c0f3885196dc0ce19887354eba82e374064ae2e0fa9c3d946234b8dba8b1b8ed1efbc9c7e7b6ca6f0a2d1bb9bef070fffad030c557e7e82f7803c56fabc18f805865e3fd944fbb91dbbb28415b5a5009c9caabf46e86dba2c23b967bc1271a61aa41498fa6c2b1e37a6244cb5d7bc3fb907d03d627b0c4d39722fe26b1edff7ffc0180faf8016272b17f0192f4978805bd18ea5548ca930da4c749e379baa8138e6370b9402622766d4f70fc2b27db001fe1c305d577d21a02e763712a226fbfc2cb4ee26252689bb9a13b3dc70e3d2cbe5958564d364d8080ae1d78842f43af7125dc07784b9c88904818d89e0f6fc0533a278b8427dae9c05811931948ba77c28c5c8c2a01933a089a6529fae686304bb39a8a5f7d9cc884d386bac913f950fd006fa4ad0499e514f124817e1f0960d929d8d3e78ceaa9bb29819bb907c9f3b581cc09c5a529a00f9f52bff53e7029cc49efd384095d119073c8d8db7b85960a8196e3130b389be5e898def4e5d796d100935021595af08abd94862666d77fbb14ab11ac73c808310933b01ebd274f3d596659c3a0e7476d4e44506331032ac4f78aa8f1f79a5eceb24a72a2c10e8190a11ecf3825163874b8c63285ab646f3c94cf477eea58cf2ee969f891b5bcf73e975ab81e30e2244fe937180abe238e4de7878fb82e02be03ad90cc888afd12217264eda6e1fb7ad081740a2487cb18301fe182c0285c5d832cff4dea26ae455b09f0437f84b6a3d3eb5d52e0c510df314dc1727063288a8f85679072ebf17d7eeb41158b15e8b22b002bd2c01e4bfb9fd56520e7a8019cf89570e4e2651f70bff65e0ca75ff32eaf09450490a238c4df7bac079f4d6e46871ccbc9b25026480a146a3666bc9841a383a8bbe44c70cade0dc5f127145b3cb6d4f093d7c02fecb792e13c8fec030bbad8eb3f95a6a248539c8cba1b3cf2b14cd9062ce0cb8ebbdbcc5571f52abfc421120e2991d96b8e2e8c996e2159cdd9cf4a1d39e3dc74bcdcf76560d07eca89ce0d85b3a98541e660f67cb1164bfba7d4f177319473970e8ec5597781fcf246620a05ae4e2080248110c0df8a46cb85a3f4e88acf2c0e8e5472aaedabd97c6fba1a49998a6b6a9cade0bf2e41ab91c20444140f3f66d8e9e66a42913b79db1620896c008255c0315f3debb0fd21e69c879285350ac046bc2cf351c40f3acbb1746a436de7eee6f36a708fec82bd19a2e4de2c341123c859009b1ae9bbaff526973a09134d26915e775d5765fb988d1375ba9f024a0dfbe52cc6827a55a7d8270b1915fc851a4463e905468df01949357e91620af18cb745b65292eda7b5cb801ab65e89790fb83ef4c362b63237fdc11b0936caf0e4f2666681d76d2994b8d038b2524bbd28c432b77111f6d884bb6212ad0a4a653eb537594ae616a530b307f2aaa44c03454ade2101b7dba78e5abf47ca7dec082c33f08663ce89b30f17f4c403918866bf3035db5996e8b142e9fcca135c48173d019e0abc11344fcb04f445dca60d2bd05605b86e84005ff5066077989c34e3a0c1cea1fb99baa868ae01c9c7c0d108e4e58d797f064025df9316f0106839a7b940e2c866a1e199c34d248123c5e0d6aa507fb32d55c7fde19799cba6aa179d24d5fe400303e257f3f354dfcf71b059f9b15180dd027879a2fafcfaf6861c60b251dfbae751f54dff1e8958ac56a490e6bbb491a2d6645d0ea605b8c482f6c2557e44324fc25209b0de6a9841b4ca9cdd1657a89e011378d453f92d23f7409577bc980105e34ba1593ce495a9042227df5cf0d2e6ddff9ad4e0835b005f5b9f6a5a902c7b0f4ea14979a7970ff82ade68b489825e390e10b007738e99ab583fda15ce1d8cf94428ef291564cd9cedabe99efdd3cc216fce15935ffe4fb0e6a2da7500f5b3a7b05e719e1600f9c2fb9504b5eba4146496270af6d30d735efa19891268722f62163f8e68b99197c0eaa34fa9b8df7f44d4e77596a588fca97547bb0cfd1535cfd468fde11ea522e2b6a7e0394c0953c992bb4a00c8304c27077b404d4bf809950bd9f625cce7ffcd5d1f917f651b7910e708658ab592fcd2afa819823f34f0fd47f01e5c994f175bc45f5eb9d64d4c820cb5e8be5d755b8e6c5e8f6e088fd86eda9643cf587369652499cdbfd8cebfb749001b461c8fab356a87e2ee5c147fcd04d081a56807a84a579099a6f49e2ac94db3eca5f839a572d4b5a5d30f0a01f3cd0ec010b93f15743c64357cb2044e3eedcdaf5c32a207b8384611bd62b99d05eaded544f679f6a345580e71b0ffea012b623e5481eba8ba6da55e10c4d8a00162528ad9251b33a46c6d0e4ee390d858ae826e463d23ed7030a44d9727bd8f37d1622c0e3c90e2f0c2f78d523fe19e18260220d9e021b780f7307041d0573e581bbd34aebd6d0e4cb33910340c6aab5f4543b3e655d77220b776a04958082959758264a3e3000cbf67b3f85f4590ebe71be87292a3d905913759d0af7adc41effba6f7d4ee508936af3b6a1fb7d7c926dfb9b5e93323caa857a545574f91afa8b9054997a84ce241ba87c7b695628aacd1d8be1a167bc30dd9a67e004b0183737bcf6d7bf259de010f0a56ecc5336fab6e35558b162592b042122976c06841af500cb2d608bbc0b7f9b0dbac30984b5d7981ae0e469643ce17d5ecbe4aaa0bda50954363ce374fcd10405ed9f7dec2b092e96bc126395dee2aa34c54252b3b26e7d4421dfcf45d8c9cb3c9f557bc575c110a42bd5b3cf133ff56e00e1769e6320e4003373ae337c57ab5e59cf3032d95638cf7326cf4b77c1e3484f53d39a49c1e8def72987b390042e129e5d8bcc722803b35e8b010c059ec877cc12a4473f81911d640091ea6ecb25a4c124b1803c8345e37a35a0ed08cf3e59b07740cadfb77bf120fdf3516a12d6c64e97e4189cf1a1f975cacbeff6b0e80cf3e525fbf6bbe7c126453b919b6df8905bbb2225de5c48a8c2b69a92e093952856ddd62d14d713ab5abdb130fd8f1aa99447939dfe7310b31e966cac847a935d517e921d9525ad6e3f0c8ce5802a2acb469342f3830da379b8a585e452a5ca590e1b1b9a89e90a7aff56fec10990b38eeb4f285596ce52f00c0a50cc233b92db3fab37f6d17ab91fa58c48c12df1af446099dd2113569c10037922f63b8c19f1dce8feb582e0c4119a7cf0d7b0413ac2eeaefdcc70d6f1aaf1e936fb2605a32220df2c094c17ece104bf3e3f8cb9ba7ea737835e1d318bd0f9a1031268ecde897a3e9aab20b4b98ad6cfe82b78cd27f7eedc1b291df0fc6d8352ac8742e1974ac154bef89c6bb6da7cdd21e75e5853095268ca7dc21edbbb7553b4a8ee4a5da42ace3bb781374d22eae555360e04fc77c90255edfa5d3771904c4d66c336588f6400f0c465ed27bc782664fbafe69a6e7c5b6c965304b0fbd944c8c5a21767f845cc97b8b7a5505c253e1d1726eb6ba8ec0e269741e19a7cfc68276977471bc7332bbb32f904422011b27fc3a42dea5597d9ef65453969786da91115bc7b808021c440481e84dab09dc2f8f64db025e4a05ba8af87c95a9856e98c795c9ff5e8ca4a9732147806cadbe06fcb3b6423bafa519dcffed0ca1508dd85039931ac440ca25a296e3d49b78b6496d8ab6168e97eb7ba92673cba522d6239bdfdbd32820aab45511f61cf703c06adf49d35ce9b46aca299bcb2e37881b98f14fcadf7239f264f0092cc4d2c62abb6e49784783b3408ce497b5cf839e810a1a22926e48d7e87a8f22813e6f22e1d834512b995e3e0353296a73b4a4d50fcbf266166d95a024048f528375b66f333fec497f48ca71aa17ced7545e7bd0c566633e8918f8ea1da39220ff5238d64024bfac3175422dda85105515dd2fb7991b55cc374e31e6a18f02ec83255e195bd9366400e60f396a0e91e7e0539f713faf9f359e678fe0bdb4029024999438a3ed80b65343823cd9cf3af611686c0962748d479f1ccca401a64b9047502febfcf4933d97f978435874365ba7ceeba6fecf258880b1182ba30a09226e7db566d60a321cdfe75d380881a0c69a9f551808c2c60cd02483776ea550996e116a6a1298c7c5111eacd550d5a9bb8e6d8ac1005c904f651d13797f1d6bde039b5f1229d2ee334b37cbdc2c0b13b61310d514fa30f0757fa70979cf81891ad50d734ec595093b8a38e9fc5cf0c1c124d975531776ef342cb7a49c2988574ffb3ed1f4007d3ddbaa7e11013f8ee7148d0d4e31e2d383fe507901bc73286aa3a76210668280aa3e79649f89bbf4ba8845366b21c2292e9251c615177e470b4f2d2c8087c08e53988eccc3001d5c25e33a6914c39c4fca8e8a41f268cf15f5d9a86fdb9a28d0718a7c0da1da2037b7def6987e4ecb16c099c4b63fa8ca271005834237a47885a313e377b1e3c419686525daa20ab5c78ee569c45d7424c303a0dae73a1016cd3748cf38f18e0bace848d68aa27932add57b47aaa2871162667f214b9ce1dc81bc060c613448b272c832c46ccec419cba5066d70483c93842663a1f3b33078364b3f53788b2d11d51d1492f05adf2d7a58b3964130ad396f24d26f4ce1821cc6326630259076501788df0b163d28db85f37896955627139359113e91a936e0fa4ee915416a445fe90c05a3b2b004f02b4d9559d6e756f5756d459482ef3c0cabdb8bca3c87b9093ede6236548721846a06a6c2d93905114905077fb726f40732876eed2fd67ec667d4452ec95c82571ca94d04bebc4c066c99a1aa26e5d93816cd3e6624c9f52e433285a6404cc0467886e08eb8b175e25974b9e24524c88ec6aceede694a0bc14c218ca570254608598b008c765d10e2cce85877acca8d8a73ac268adb8c035606acefb5319fb0c98289825990e66d5250e37d4893cb61b5a4fde86b9b702d0667633cedab58cfaaeeabdfd3bc8df2e7d7328ee84655685cec02cab81b279aa83def7d1f4d6607c2b42e00eea56bb8ef1aeca800b45894839f12d86ec808ae8dcbf29d41722ecf02afc9e97f73646f02142e36bed38761b65a558c432144f23bcb2d1f807ffc0ec630c2b20108ffff232ae3ccdea9ea78729c06420c72ecee4bd886e5d811396422ca83ea37901ae8c95ea8051f332369a6fc5131da66a97b0b12c9194647933bf1a342851ae0e28aea4bacac896ed12327d82015eb3a75d2b6f34a119ed7627a4f6c675ad46c6a79d0f79572a405208bc1ea1fe229fcca10ed731667d7cee52279104ccc6e80c60b47b07814a2e7f2dc54218a168aac468c6b32db2714234a3e6b61556e0b00f7746ca66fe3d056f79db5ca0782a2ef885eae3d19719fc436a3102c611e62da88511809d12b3c4cc444d794cbf06205e418523cfda632e639f8a832f59cd6e826d6aa70d748f7a203e76637f59d291e07dcf1332c5e271c5d6f8817f422668711f08eb251f44e2b1e21458684c21c6008a6407f11d89822a7e0770f2c7c88434c18f64175a765e9e6b5cc1f924f88da4ce9ba4463c27909d5663f3243309d7b95e28d3663f6c18a88fb03ab7547cb12b334ab6be8415f20d6e8ba79b762d91c6f2f7d64cfd1f43dfd15990ca73201976d8f28ae1c93ef3c8bed3ae77af9ccd30e499bdcafd54a35458fa533f0075160eeeb15dbabb269b706ca5b1b003e2f83038b2f3773598cbc898521194f37290c0e8ef8bb9b20eb8b2c8511ff49d96ad2276084e9f8648e62782bd8a62e16216e61a8e7514648dc183342bab518da9e4b90fd6d08a24ce3c786bed3fae8a3ad73d417606a6da98101bd7dd0e086fbe32aebaef0bb81fb08371dc65e625db4e06799ab94d5a25af783191f9039a37a1131a65272970eb872c03c5d4945c850e8e566e21c074472d3de779e8629e0d0af818b317d80ca1b0a03120e7c7406450bcfac3f5336abcda61c3de4d2c45af2bfc21f8ed54eeb9b3b29c77b3b4e60e1422f8f8a40a24523f30df3cafb93cc20b6255665818c7dc7a7b1d43b32e81acff55675408c33f69201b81944c2d9e56ade5e0c25fd58ba57e5073b4f5b736f59469634cf39878bd69cfed5d85d29c0f1dbc7da3aef78c0c5f52cd135db25d55cc2b71fe70a74289abece3d0889e5940af878848ac834e92ff1c3fff8bd58ddf9c9be2281b61716109dd47a5cdb44d30274c90ac4df0e496fbe526177ee6dae7f6d60532da5cddd98ed6f1ab4c92167692aac92f9b9f08fa172feccb04a307f4818027b19dd9cc351b7a16c70b0bf2ca0bcfb3775abb806b86f5f48d9125322d5ce8145968969be27a0ae4667a84536213ced54fe59d6ab057c9aeaaf44ea270a237b37c7358b5fe0e7b009291364dedde62b118e2ed4f80cd3f7ef4953bbe1b152932b991abe36ffb15101ddf21088ac1bc91a45f936974d6e20ac2a5e07a259c72acce82585c44d6ca4a88ab7bc08bc1645d6deda5873da67882608487e9b17138fd8a0efe0c50e79279999c2ccc66f4f61fb1f986632101b1fda0c48410baacaaca1d48300dd89e44003560e232087034d121ecef5223a31ece21ffd028426ed8360dd29f6643f595522d446848f744a3159175d33fae6466b66ebe4ea1a931098e3edb191d3f52e6d5723a31535b259defcabc5758d7c2bf57ca10d8dc7fcd60bda81fabd890c194b79697725199cc1e6110e8f86189ca591392655778eda4a6b2ec5a020db3d3ab3612560ddc34bc9b29bca4e4d5234e1eeead90af6cf0ea9bdf2b765af18a2de751d089a0387a4afcaaaa71109638ea1d945595b505a3ff0a5fd35dcfb91cf23a175e94bce1aea9fce97b34267a77278ab313e13e140b111a41923c0483512cb747e34536a422ec9d07280468b5ce30e305f7db200c6739b83763fdd315403123eae75ba25a515a320d745140e3a304647c391e55679e54812591de170dc9e107a7689bcc208864227a9a21af1bbe55e3ab429c9075d88acdfcf2282a01c0a599bea11b6a05dedca0f0c64d5c37d286aaaf7e6394139fd33b953e2561c325eb9df07b3f180f3e5f8fe74065f64370415bb3963a76cf17c65e02389a1bfb8236000385ea08c5eb88317d1b5839c86d76b00f0bd5b22112bdb832533849b2a544f2ddc51cd106eef67c3891f49b3ee40035612ecab5fc6087d70488d5352edf334a5b23e2d9234da9eaba4a930a1f3df21fbce53ba2c6e659112d910b1dc8cc46eff61bbd504a67f1f5258a0eeb18a6bf3f96a37c3178bdb95e740c06de5dbd8627b649a4a5332436be7ac02203bfd7584544f731325d5063130ab6a81e4e86bb52becaca3b8c7e284610d10b35a0534ccfa6c266a5206f6536640dbecce77eaf7acbeaff6ca2a1011264de728c6988f6c2bfc5d96c0f2cb7dfaf6ba2907bd3e2e0fda7be948bd0a94dbc052300a1474eb959e4c5e49b2fc48425717e267efdcd1da3b0a44ba49f029b800621f76dea1588df49953624b22233d79a898013c04fc6ef19a5dfe5f0b5923962d3cc4b54c249634ab9473abe216419bf657f3214cdc49ca744f9eff954fd24e75aeab9c41d45d0d9f111921e490449b54c57f91c2ee09908dd9bb8682ebcc3e7b5a43f91597a1582a457b0092c012e2162407732ab21e6060f29cd4fcfbe65a1bbb46dbb69d0e734999bca2be48395efba0f43c4b19340f1ba73c95bbc4c9da519b7d83e25146733416c51de156ffe83c7acd4a3cfe36204fba7fc2de2d5061b958df153ff9ea1bafccab0d62114eb12f09e8b855c6abda674509862f7224e6dca07c3b2eb5d105f062586fcaf197746419b3b721300d9bba15b02f9bb4f7ca77c012b692d926c169b12a6c36dc3983bfca2bcd835101f521fab62fb60379213859dc167c5ab3c71e1d82f7111cf1606eab06fd22902469d132f577b16f26399eba6e43dde2271791d4d9953b8bad9cf62989d6a217082b4e7885cb1526c5c1ae98bb6bde498e524ceca6948c465b91995e4258d3565cf3ec5513f6e87baf60976ae6667053ad118020b8e68ccf307b5193ca7b80a979496e6f715064f43653dbeca43c60728796aa9160b7027b36e01a683e7b2332e16cd321db50e26111b9cc87ed0c2b7fb278cc440c76768afe74662a5474dbe206e8cba36b5d70f30f6556c80261ae9c88f0ddee6d05d59179dcc47b7476a4885b1414399e86b671db699a224b6890f892eae0f6f71df68c0debbceba0c95766a77a6c598a7ca542f1db7388777f761b8463a858236c246bedbce9205e51b1db558320f1939f9789ccf5c8f34ee9c583c601b6ac172063978db809727f093ae0c053bf094e0ffaf83ebf06ea4e80cd851f499b0dff7220cd85d49fe4344292515bd554691de1959adc1379b36b1a4b05451c7acde7ced60b2f6bc21879ca17aa9032addf0bc0a047fa8777f0d7849fd4d4148b7f78cab60a087633ac636370bd4e48d6b9083ef8ea1194f4c81bedf552a26f475b652524a6e3f99294eb64db36175fefa3e36b9e57606512cb538b8a3ed2c5519b19409eace25c38be4c170583ce14925793a311aa18476a8996d2339e806acfcace088fcc2f66228c3ca9223543f6a30f9616a65ac5c34c4ddd8e171e7cc0fd952c117253517570efc58eb3de6594670492bd13d3a9875bff8d5dab2aedcef67f338bbaa27dc25a17e78fabfe72a2987d5a8b877c70f27445744698aae20e8c03b5d325d84d2506c95c669bf6c125582c45dc152f6e46ece2ca99d0f2a89042a67c42cb76e247fb08a39d76d787d160bfc22443b1399fb113420a67c212ec546bf36b7ea2924b6c47468fee10a1cadb291e160af4eb31b64d19fa5a00f5d14288582eb8994524a3d6e9c3af599b09b58a562a72d4f218f3162b84fd5e17b83ff31439ab87455b9e648cc788b80b4fa2c4e54f3089ce0e785b586b9bf0af819e7437ac00c5d042535a6667d68f545a0c50062ab41ea6db10cd02c48e0694ccb266e0082731c8d3c1301f2a13a81a0565317da86ebb4c2782f42680a394ee63ec4d87a1d2065bcad406d28ed4fea920f0a82ea5bcb06257d11afd57f3424d7af37d6acf67d88031bc86fc3107694629f53f4f1603215c36e16fc4531b488859a9ab664ccb4aaaf03c1fe8f4fdbfa8c6290c627d0bda5ef1d3509f8848d561103c036a855ede8c8357eb4870fea5d7d01a41aa4fa7b6370e4c4a65d337e5d69f30d1576f2f9e0e2254a887e557a3b7509c23599ab8ac516ec3556f143e177bf793cdd742d2cd27fc268f3c982f49312bda2a67bb5f2a8ae25109644c52ecb98989819ce6ed155d36d28libLLVM.so.4rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootllvm4-4.0.1-5.1.src.rpmBugpointPasses.so()(64bit)LLVMHello.so()(64bit)cmake(LLVM)config(llvm4-devel)llvm-devel-providerllvm4-develllvm4-devel(x86-64) @@@@@@@@@@   /sbin/ldconfig/sbin/ldconfigbinutils-develbisonconfig(llvm4-devel)flexgrofflibLLVM.so.4()(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libstdc++-devellibstdc++.so.6()(64bit)libstdc++.so.6(CXXABI_1.3)(64bit)libstdc++.so.6(CXXABI_1.3.5)(64bit)libstdc++.so.6(GLIBCXX_3.4)(64bit)libstdc++.so.6(GLIBCXX_3.4.14)(64bit)libstdc++.so.6(GLIBCXX_3.4.18)(64bit)libtoolllvm4llvm4-LTO-develllvm4-goldncurses-develpkgconfigpkgconfig(libedit)rpmlib(CompressedFileNames)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsLzma)2.21.904.0.1-5.14.0.13.0.4-14.0-14.4.6-1llvm-devel-providercmake(LLVM)llvm-devel4.11.2ZZ@ZZ@Zz@ZqZp^@Zo Z`@ZV@ZTZ1@Z.s@Z%8Z!D@Z@YYYYܶ@YYW@YYkU@YWYP@Y1S@Y@XQ@X@XX@XX @X@X@XAX~@XZnWW@W$WҤ@W@WW/@WW-@W@P@PP @P~@PPͷPPPqP+P7@PP@PPpPpPP@PPPM@PP_@P P O@OE@OO Os@O~O@O8O8O@OOO[@Ohq@N@N@NNܲ@NؽNl@N@NåNNN@N@NvN@N@N@NN^N @NNj@N]NoEN_sNEN98@N%qNNBN@NN@MoM5@M@M@M@MUMtM@M@LL@LGKK!@KJmsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.comdmueller@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commsrb@suse.commeissner@suse.comschwab@suse.dedmueller@suse.comjimmy@boombatower.comidonmez@suse.comidonmez@suse.comidonmez@suse.comdmueller@suse.comafaerber@suse.deidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comjslaby@suse.comidonmez@suse.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtoddrme2178@gmail.comtchvatal@suse.comtoddrme2178@gmail.comtchvatal@suse.comnormand@linux.vnet.ibm.comschwab@suse.deronisbr@gmail.comidonmez@suse.comidonmez@suse.comidonmez@suse.comdmueller@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.commimi.vx@gmail.comidonmez@suse.comidonmez@suse.comidonmez@suse.comro@suse.deidonmez@suse.comidonmez@suse.comidonmez@suse.comrguenther@suse.comidonmez@suse.comidonmez@suse.comdmueller@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comarnaud@versini.eupeter.trommler@ohm-hochschule.deidonmez@suse.comro@suse.deidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comdvaleev@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comtermim@gmail.comidonmez@suse.comdmueller@suse.comschwab@suse.dedmueller@suse.comidonmez@suse.comschwab@suse.deschwab@suse.deidonmez@suse.comidonmez@suse.comschwab@suse.deidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comcoolo@suse.comidonmez@suse.comidonmez@suse.comllunak@suse.comidonmez@suse.comtobias.johannes.klausmann@mni.thm.detobias.johannes.klausmann@mni.thm.deidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comllunak@suse.comidonmez@suse.comllunak@suse.comdmueller@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comguillaume@opensuse.orgschuetzm@gmx.netidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comcoolo@suse.comidonmez@suse.comllunak@suse.comadrian@suse.dellunak@suse.comllunak@suse.comllunak@suse.comidonmez@suse.comidonmez@suse.comllunak@suse.comllunak@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidoenmez@suse.deidoenmez@suse.deidoenmez@suse.deidoenmez@suse.deidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@novell.comidonmez@novell.comvljn@ovi.comidonmez@novell.comidonmez@novell.comidonmez@novell.comidonmez@novell.comidonmez@novell.comidonmez@novell.comidonmez@novell.comidonmez@novell.comidoenmez@novell.comidoenmez@novell.comstepan@coresystems.dejslaby@suse.dedmacvicar@suse.dereddwarf@opensuse.orgismail@namtrac.orgismail@namtrac.organschneider@exsuse.dejslaby@suse.dejslaby@suse.dejslaby@suse.dejslaby@suse.de- Do not build stage1 with debug info. It was accidentally added with the use of %optflags. This should fix out of memory errors on 32bit architectures and speed up build everywhere else. (bsc#1092697)- Add appropriate Conflicts to make the package acceptable to Leap 42.3. It is required as rust/Firefox dependency. (bnc#1091551)- Remove liblldb4 and lldb4-devel from baselibs.conf. They are only build for x86_64, so no point having them in baselibs.conf.- libcxx.glibc2.27.diff * Fix build with glibc >= 2.27. Various locales in glibc 2.27 started using narrow non-break space for thousand separators. libc++ tests must be adapted.- Use %optflags, except for FORTIFY_SOURCE which is not compatible with compiler-rt. - Exclude static libraries differently. * Drop llvm-split-static-library-exports-into-their-own-export-file.diff * Drop clang-split-static-library-exports-into-their-own-export-file.diff * Update llvm-do-not-install-static-libraries.patch to not use EXCLUDE_FROM_ALL which is not available in cmake 3.5. - This fixes build on SLE12. - Do not force gcc6 on OpenSUSE - fixes build. - Reduce the amount of concurent link jobs by increasing their memory requirement - to reduce stalls in OBS.- Cleanup %ifarch conditions, remove targets unintentionally added to s390/s390x. (bnc#1078436)- Limit the amount of parallel link jobs, but no longer limit compile jobs. This should prevent running out of memory during linking while not longer slowing down compilation. - Remove build dependency on procps- Reduce disk size requirement to 30GB in _constraints. We no longer need that much since we stopped building static libraries.- n_clang_allow_BUILD_SHARED_LIBRARY.patch * Allow buildling clang with BUILD_SHARED_LIBRARY while the rest is built with LLVM_LINK_LLVM_DYLIB. (bnc#1065464) - Remove clang-devel-static.- Place gold plugin to the right directory. (bnc#1073210) * It must be in /usr/lib/bfd-plugins on all architectures. * Remove llvm5-gold from baselibs.conf - nothing needs a 32bit version of it and it would now conflict with the 64bit one. - Reduce _constraints requirements on 32bit architectures. * Since we had to disable debuginfo on them, they require much less.- disable debuginfo for arm as well- Rename python3-lldb to python3-lldb4 so it can work with llvm meta package.- Rename python packages to follow naming conventions. - Remove unnecessary dependencies on python3.- Fix %check tests when used with python3. * llvm-lit-Make-util.executeCommand-python3-friendly.patch * llvm-lit-Re-apply-Fix-some-convoluted-logic-around-Unicod.patch * libcxx-fix-python3-syntax-error.patch * Define LANG=C.UTF-8 when running the tests. - Add explicit Provides/Conflicts to llvm4-devel, clang4-devel-static and lldb4-devel. * These are required to be validated by obs repo-checker.- Switch to python3. * clang-add-python-3-support-to-clang-cindex.patch * clang-bindings-allow-null-strings-in-python-3.patch- Use LLVM_OPTIMIZED_TABLEGEN to speed up build. (bnc#1064786) - Fix files of lldb4 to work correctly with update-alternatives. - Remove Conflicts clang(LLDB) from lldb4-devel - it does not exist. It would be provided automatically, but no such cmake file is installed.- llvm-do-not-install-static-libraries.patch * Do not install static libraries instead of installing them and deleting after. * Reduces disk usage during build. (bnc#1064786) - Do not build unnecessary parts during stage1. * Speeds up build a bit. (bnc#1064786)- llvm-normally-versioned-libllvm.patch * Change libLLVM naming scheme to match our naming guidelines. * The reasons for the original naming scheme are no longer valid, more details in the patch.- Disable all thread related tests in libcxx. Many of them use timeouts to detect failure. They can fail randomly if the machine is under heavy load (happens often in OBS).- Drop llvm4-devel-static. llvm4-devel contains shared library with the same content.- Use LLVM_BUILD_LLVM_DYLIB instead of BUILD_SHARED_LIBS to build single libLLVM library. This is the recommended way. The old way was causing various issues. * llvm-split-static-library-exports-into-their-own-export-file.diff * clang-split-static-library-exports-into-their-own-export-file.diff (bnc#1049703) - Add lld, linker for Clang/LLVM (sr#517692) - Include clang++-MAJOR.MINOR symbolic link (bnc#1012260) - Remove unnecessary dependency on flex and bison. - Make sure all binaries are managed by update-alternatives - Add llvm-add_a_LLVM_USE_LINKER.patch and link using gold to prevent memory exhaustion on some build machines. - Reduce debuginfo on x86 architecture. LLVM libraries are so big that they exhaust all memory on 32 bit machine if linked with full debuginfo. - Speed up build by skipping parts that are not required in stage1. - Build lldb in-tree as one of the llvm tools.- clang-ignore-stack-clash-protector.patch: ignore -fstack-clash-protection for now.- xlocale.patch: don't use obsolete - libsanitizer.patch: fix use of undocumented types- build fixes for armv6 (skip testsuite as it requires 64bit, set the list of targets to include ARM and remove triplet hack)- Include provides and conflics in baselibs.conf for llvm4-devel, clang4-devel, llvm4-LTO-devel, and llvm4-gold.- Update to version 4.0.1 * Minor bugfixes- Use gcc6 only for SLE boo#1041469- Package libLLVMFuzzer- readd arm_suse_support.diff which was accidentally removed in the 4.0.0 update- Enable AMDGPU and NVPTX targets everywhere except for S/390. The AMDGPU target is needed for Mesa Clover (sr#485802).- Use gcc6 on SLE12- Package license & credits- Update to version 4.0.0 * See + http://releases.llvm.org/4.0.0/docs/ReleaseNotes.html and + http://releases.llvm.org/4.0.0/tools/clang/docs/ReleaseNotes.html + http://releases.llvm.org/4.0.0/tools/clang/tools/extra/docs/ReleaseNotes.html - Drop the following patches, fixed upstream: amdgpu_revert_r280589.patch arm_suse_support.diff clang-fix-substitutions-abi_tag.patch clang-incomplete-field-types.patch glibc-2.24-libcxx.patch llvm-install-CheckAtomic.patch revert-cmake-soname.patch- Enable BPF for all arches bsc#1026191- libc++ must depend on libc++abi- Stop using otherproviders() due to an rpm parser bug, use self-conflicts instead as suggested by mls.- Add amdgpu_revert_r280589.patch to fix an amdgpu regression bsc#1021577- Require LLVMgold and libLTO in llvm-devel, otherwise we get in CMake: The imported target "LLVMgold" references the file "/usr/lib64/LLVMgold.so" but this file does not exist. This happens when requiring llvm3_9-devel directly, not llvm-devel.- Update to version 3.9.1 * See: + http://llvm.org/releases/3.9.1/docs/ReleaseNotes.html + http://llvm.org/releases/3.9.1/tools/clang/docs/ReleaseNotes.html + http://llvm.org/releases/3.9.1/tools/clang/tools/extra/docs/ReleaseNotes.html- Update to version 3.9.0 * Clang now supports the G++ abi_tag attribute. * Clang will no longer pass --build-id by default to the linker. * Improved C++1z support in Clang. * Clang now has support for all OpenCL 2.0 features. * Added support for all non-offloading features from OpenMP 4.5, * The static analyzer now checks for incorrect usage of MPI APIs in C and C++. * LLVM no longer does inter-procedural analysis and optimization (except inlining) on functions with comdat linkage. * LLVM now supports the Intel CPUs Skylake Server with AVX512 (-march=skylake-avx512) and Knights Landing (-march=knl). * More at: + http://llvm.org/releases/3.9.0/docs/ReleaseNotes.html + http://llvm.org/releases/3.9.0/tools/clang/docs/ReleaseNotes.html + http://llvm.org/releases/3.9.0/tools/clang/tools/extra/docs/ReleaseNotes.html * Fix the following patches: + arm_suse_support.diff + assume-opensuse.patch + clang-resourcedirs.patch + default-to-i586.patch + glibc-2.23-libcxx.patch + glibc-2.24-libcxx.patch + lldb-add-pthread-dl-libs.patch + lldb-cmake.patch + llvm-fix-find-gcc5-install.patch + llvm-remove-clang-only-flags.patch + revert-cmake-soname.patch + set-revision.patch * Remove upstream-included patch: + llvm-nonvoid-return.patch * Remove patch for removed files: + glibc-2.23-libcxx.patch - Backport upstream patches: * clang-fix-substitutions-abi_tag.patch * clang-incomplete-field-types.patch * llvm-install-CheckAtomic.patch - Add clang%{_sonum}-include-fixer subpackage and associated libfindAllSymbols%{_sonum} and libfindAllSymbols%{_sonum}-devel subpackages. - Add sanstats to llvm binary list.- Change update-alternatives to use %postun instead of %preun, which is now what Factory maintainers are requesting. - Use the minor version to set the update-alternatives priority so the most recent version of the LLVM, Clang, and LLDB are used by default. - Add LLVM rpm macros so downstream packages can have some idea how LLVM was built.- Rename libomp to make it possible to have multiple versions available.- Split the old llvm package into this version-specific package and a wrapper package. - Implement update-alternatives to allow parallel installation of many of the subpackages. - Rename subpackages that can be parallel-installed to a version-specific name based on the associated shared library's current .so number. - Various fixes to support the above changes.- Sort a bit with spec-cleaner - Remove the latest switch for now, things should be either coinstallable or not, we don't need to bother around with compilation like this- Update to llvm 3.8.1 * See http://llvm.org/releases/3.8.1/docs/ReleaseNotes.html and http://llvm.org/releases/3.8.1/tools/docs/ReleaseNotes.html - Use versioned libLLVM (to libLLVM3_8) and libclang (to libclang3_8) - Change versioning of liblldb3_8 to liblldb-3_8 and use a variable to control the name instead of hard-coding it. - Use bcond_with and bcond_without to enable/disable build options instead of hard-coding them. - Put buildrequires as requires in -devel packages to avoid linker errors when building packages against the -devel packages. - Add ffi support (disabled by default). - Add oprofile support (disabled by default). - Add valgrind support (disabled by default). - Link cmake files to the normal cmake file directory to allow autodetection of cmake interfaces. - Remove unused lldb components from main spec file. - Split llvm python bindings into own subpackage. - Split emacs plugin into own subpackage - Move additional vim plugins into vim plugins package - Split libc++, libLTO, LLVMgold, libomp, clang-chekers into own subpackages - Make python-clang, llvm-vim-plugins, and llvm-emacs-plugins noarch since they aren't architecture-specific. - Make packages besides llvm, llvm-clang, and the shared libraries conflict with other versions. This will be important when multiple LLVM versions are supported. - Various spec file cleanups - Rebase patches: * arm_suse_support.diff * assume-opensuse.patch * clang-resourcedirs.patch * default-to-i586.patch * glibc-2.23-libcxx.patch * glibc-2.24-libcxx.patch * lldb-add-pthread-dl-libs.patch * lldb-cmake.patch * llvm-fix-find-gcc5-install.patch * llvm-nonvoid-return.patch * llvm-remove-clang-only-flags.patch * revert-cmake-soname.patch * set-revision.patch- Start conversion to use cmake macros with now introduced compatibility for ninja - Reduce number of threads if we don't have enough memory - Add patch for the nonvoid returns: * llvm-nonvoid-return.patch- for ppc64le set memory to 4GB in _constraints file (failure in Factory:PowerPC)- glibc-2.24-libcxx.patch: fix libcxx testsuite for glibc 2.24- Build LLDB separated from LLVM. - Re-enable python bindings for the LLDB API.- Disable libcxx/lldb/openmp for SLE fate#319582- Update rpmlintrc to whitelist libLTO.so- Re-enable glibc-2.23 patch for Tumbleweed- fix arm_suse_support.diff for armv6hl - adjust compile flags for llvm on armv6hl (fixes Mesa build)- Update llvm-remove-clang-only-flags.patch to remove - Wcovered-switch-default flag for gcc compatibility.- Use gcc for stage1 bootstrap - Add back libstdc++-devel dependency for clang since libc++ is only available for x86-64 atm.- Comment out glibc-2.23-libcxx.patch until glibc 2.23 actually hits the Factory.- Update to llvm 3.8.0 * See http://llvm.org/releases/3.8.0/docs/ReleaseNotes.html and http://llvm.org/releases/3.8.0/tools/clang/docs/ReleaseNotes.html - Fold lldb build into llvm and disable python support - Drop clang-disable-ada-extension.patch, libcxxabi-exceptions.patch and cmake-host-triple.patch - Add revert-cmake-soname.patch to fix soname handling- Add glibc-2.23-libcxx.patch to fix test failures with glibc 2.23- Remove FFI support because its fragile- Enable OpenMP for x86, x86_64, ppc64 and ppc64le- Enable all targets on x86, x86_64- Update to version 3.7.0 * See http://llvm.org/releases/3.7.0/docs/ReleaseNotes.html - Merge aarch64-suse-support.patch into arm_suse_support.diff - Refresh arm_suse_support.diff, llvm-fix-find-gcc5-install.patch - Remove llvm-fix-parsearmarch.patch, upstream.- fix build on s390x (one typo in ifarch and one change in filelist)- Update to version 3.6.1 * No changelog upstream- Add llvm-fix-parsearmarch.patch to fix parsing armv{6,7}hl archs.- Update to version 3.6.0 * See http://llvm.org/releases/3.6.0/docs/ReleaseNotes.html - Add python-xml dependency for regression tests - Removed the following patches, fixed upstream: * arm-remove-xfails.diff * libcxx-libdir.patch * llvm-config-lib64.patch * llvm-fix-intrusiverefcntptr.patch- Add llvm-fix-intrusiverefcntptr.patch to fix build of LLVM tools with GCC 5. - Add llvm-fix-find-gcc5-install.patch to properly find installed GCC 5.- Add a gcc dependency for clang, this is heavyweight but we need libgcc_s which comes with the gcc package (bnc#893359)- Conditionalize libcxx{abi} build on build_libcxx variable - Turn libc++.so into an ldscript so it links to libc++abi automatically.- fix constraints for armv6l/armv7l (there is no 4GB RAM on 32bit)- Rename llvm-remove-werror-date-time.patch to llvm-remove-clang-only-flags.patch and remove more clang only flags.- Enable shared libs on PPC64- Require llvm-clang not just clang- Add llvm-remove-werror-date-time.patch to remove -Werror=date-time for CXXFLAGS, gcc does not support it and it creeps into llvm-config --cflags- Remove wrong Requires from the llvm-devel package- Add default target triple form ARM, fixes bnc#893359- Use ninja for building- Update to llvm 3.5.0 * Major update, see http://llvm.org/releases/3.5.0/docs/ReleaseNotes.html - Use upstream pristine tarballs - Add libc++/libc++abi support clang (only on x86_64) - Add libcxxabi-exceptions.patch to fix libcxxabi exception handling - Add libcxx-libdir.patch to fix libdir on 64bit arches - Remove asan-disable-hugemalloctest.patch and cmake-patchversion.patch, fixed upstream.- Fix the sed line for minimal damage.- Add baselibs.conf to source files- Add cmake-patchversion.patch to sync config.h.in with config.h.cmake- Update to llvm 3.4.2 * Minor bugfix release - Drop clang-max_align_t.patch, applied upstream.- Add clang-max_align_t.patch to resolve issue with libstdc++ 4.9 max_align_t missing declaration- build compiler-rt on ppc64 (don't delete it)- Fix resource dir for libclang case (clang-resourcedirs.patch) - Always build tests- complete ifarchs for s390- Remove non-existing doc subpackage- Add a dependency on ncurses-devel since libLLVM now links to tinfo.- Add 32bit libclang bnc#857131- Update to final llvm 3.4 release * See http://llvm.org/releases/3.4/docs/ReleaseNotes.html for complete changelog.- Update to final release candidate (r197980)- Update to r197866 from release_34 branch- Update to r197490 from release_34 branch- Update to r197142 from release_34 branch - Disable assertions again now that PPC64 backend is fixed- Update to r196899 from release_34 branch - Remove compiler_rt-r196612.patch, merged upstream- Add compiler_rt-r196612.patch to fix ubsan failures on i586- Update to r196762 from release_34 branch- enable ppc64le- Update to r196503 from release_34 branch to get compiler_rt fixes- Update to r196487 from release_34 branch to get compiler_rt fixes- Ship cmake files for llvm (needed for lldb and such)- Update to r196371 from release_34 branch- install python binding to libclang- Update to r196358 from llvm 3.4 branch - Add asan-disable-hugemalloctest.patch to disable ASAN HugeMallocTest, it requires 4.1+ GB of RAM. - Refresh patches * aarch64-suse-support.patch * arm_suse_support.diff * assume-opensuse.patch * default-to-i586.patch - Drop upstream patches * llvm-disable-pretty-stack-trace.patch * r189852.diff * unreachable-code.patch * llvm-no-visibility.patch- add r189852.diff: Remove vtables optimisation that breaks ARM and PowerPC - Disable testsuite on ARMv7, takes forever to run- Fix file list for %arm- use %arm, not arm in arch conditions - add arm-remove-xfails.diff: remove XFAILs in testsuite that pass and thereby make check fail- Set DisablePrettyStackTrace to true since it messes up signal handling. bnc#839074 and fdo#60929 implemented with llvm-disable-pretty-stack-trace.patch)- Fix filelist for aarch64- aarch64-suse-support.patch: Enable AArch64 suse toolchain support- Add s390x support- Remove unused chrpath dependency - Re-enable ARCMT since libclang depends on it- Define host_triple for aarch64- Fix ARMv6 build- Only enable PowerPC on ppc64- Disable shared libs on PowerPC - Disable ARCMT, it only makes sense for iOS/OSX- Fix build- Disable building unit-tests, should fix undefined reference problem on ARM & PowerPC- do not build on slow or low memory workers- Drop disable_neon_in_armv7.diff, neon seems to be working fine - Add cmake-host-triple.patch to pass a host triple argument- Create libLLVM and libclang subpackages.- Fix finding internal headers on x86_64- Fix ARM v5/v7 builds- Create a baselibs.conf Provide *-32 Bit Packages for x86_64- Initial version of a cmake based buildscript + Updated arm_suse_support.diff (patch6) to work with llvm 3.3 + Set version in spec to 3.3- Update to final 3.3 release (r183898)- Disable debug symbols on PPC64- Update to version 3.3 RC2 * Small bugfixes- Enable ARM64 support- Add unreachable-code.patch to fix unreachable code warnings on SLE- Update to version 3.3 RC1 * Added support for AArch64, ARM’s 64-bit architecture. * LLVM now has a new SLP vectorizer. * LLVM and clang now support IBM’s z/Architecture. * The R600 backend was added in this release, it supports AMD GPUs (HD2XXX - HD7XXX). * See http://llvm.org/releases/3.3/docs/ReleaseNotes.html for complete changelog. - Drop upstream patches: * pr13303.patch * pr14795.patch * pr14831.patch * python-ulimit.patch- pr13303.patch: reapply, was temporarily reverted upstream- Add pre-generated doc files, remove sphinx dependency- pr14795.patch: Fix incorrect line numbers after -frewrite-includes (PR#14795) - pr14831.patch: Do not incorrectly warn about pragmas in -frewrite-includes (PR#14831)- disable cross-compile mode in stage2 for armv5/v7- Update to final 3.2 release * No code changes since rc3- Update to r170281 from release_32 branch * SROA fixes- Disable compilation on PPC, only PPC64 is supported.- Add python-ulimit.patch: Don't set a limit on address space. This enables us running tests on PowerPC.- Unbreak PowerPC support- Update to r169678 from release_32 branch * This is 3.2rc3- Update to r169391 from release_32 branch * SROA fixes- Fix ARM build- Fix llvm-config --libdir to return /usr/lib64 where appropriate. The old method of using sed on the executable does no longer work, because llvm-config is now a binary.- Update to r168987 from release_32 branch * Crash fixes * Miscompilation fixes- Stop excluding ppc64 architecture- Update to r168357 from release_32 branch * Fixes a miscompilation with gcc 4.7- Update to r168286 from release_32 branch * Fixes llvm PR14309- Update to r168031 from release_32 branch * This is 3.2rc1- Update to r167720 from release_32 branch * Thread local variables may have a specified TLS model. * LLVM now has a loop optimizer. * SROA has been rewritten to be more powerful. * A new optimization pass added to merge stack objects which are used in disjoint areas of the code. * LLVM now merge consecutive loads and stores. * New TableGen infrastructure to support bundling for Very Long Instruction Word (VLIW) architectures. * Added a new target independent VLIW packetizer. * A probability based block placement and code layout algorithm was added to LLVM's code generator. * The ARM target now includes a full featured macro assembler, including direct-to-object module support for clang. * A new IR-level pass, called "TargetTransformInfo" provides a number of low-level interfaces. - Refresh default-to-i586.patch to apply again - Drop following patches (fixed upstream) * arm-suse-support.patch * pr12463.patch * pr13141.patch * pr13303.patch * rewrite-includes.patch * clang-fix-mips-test.patch (fixed differently in spec file)- add explicit buildrequire groff for man pages- Fix debuginfo generation- make link time optimization plugin accessible to ar/nm/ranlib - build the plugin properly- fix arm build- change rewrite-includes patch to use options to match upstream changed option names- fix debuginfo generation (PR#13303)- Do not reject PCH because of -DFOO duplication (PR#13141)- Update to final 3.1 release- Depend on python-base so we don't pull whole Mesa- make -rewrite-includes support -C and -CC- patch for -rewrite-includes feature- Update to svn revision 155819 from 3.1 branch * C++11 fixes- Update to svn revision 155700 from 3.1 branch * Crash fixes * C++11 fixes- Update to svn revision 155574 from 3.1 branch * Crash fixes * Correctly enable compiler-rt * Remove unneeded runtime python dependencies- Switch to 2-stage bootstrap because we don't do build-compare anyway.- More fixes to llvm-config- Fix llvm-config --libs output- Update to svn revision 155320 from 3.1 branch * AVX fixes- Update to svn revision 154914 from 3.1 branch Major new features: * AddressSanitizer, a fast memory error detector. * MachineInstr Bundles, Support to model instruction bundling / packing. * ARM Integrated Assembler, A full featured assembler and direct-to-object support for ARM. * Basic Block Placement Probability driven basic block placement. LLVM IR and Core Improvements * IR support for half float * IR support for vectors of pointers, including vector GEPs. * Module flags have been introduced. * Loads can now have range metadata attached to them to describe the possible values being loaded. * Inline cost heuristics have been completely overhauled and now closely model constant propagation through call sites, disregard trivially dead code costs, and can model C++ STL iterator patterns. Optimizer Improvements * The loop unroll pass now is able to unroll loops with run-time trip counts. This feature is turned off by default, and is enabled with the -unroll-runtime flag. * A new basic-block autovectorization pass is available. Pass -vectorize to run this pass along with some associated post-vectorization cleanup passes. X86-32 and X86-64 Target Improvements * Bug fixes and improved support for AVX1 * Support for AVX2 (still incomplete at this point) ARM Target Improvements * The constant island pass now supports basic block and constant pool entry alignments greater than 4 bytes. Clang Changes * New: -Wdangling-else, -Wstrncat-size * Improved: -Wformat, -Wempty-body, -Wliteral-conversion * Clang 3.1 adds support for anonymous structs and anonymous unions, added in the latest ISO C standard. Use -std=c11 or -std=gnu11 to enable support for the new language standard. The new C11 features are backwards-compatible and are available as an extension in all language modes. * All warning and language selection flags which previously accepted c1x have been updated to accept c11. The old c1x forms have been removed. * Generalized constant expressions * Lambda expressions * Generalized initializers * Unrestricted unions * User-defined literals * Forward-declared enumerations * Atomics (both libc++'s and libstdc++4.7's are supported)- Target i586-linux for 32bit builds- Add upstream fix for llvm PR11642- Don't run gcc for ada files, just fail instead.- Add clang-glibc2.14.patch to support glibc 2.14 headers - Install profiling support- Switch to 3-stage bootstrap- Build first stage compiler with -O0 to workaround gcc 4.5 bug- Update to final 3.0 release * No real change since rc2- Use %{_lib} macro instead of checking for x86_64- Enable ARM support again - Switch to optimized build- Disable ARM support, VM goes out of memory while compiling it- Really enable ARM support - Remove forcing -frtti- Update to r143961 from llvm-3.0 branch * No longer hardcoding include paths- Fix LLVMgold.so path for x86-64- Enable ld gold support- Update r143456 from llvm-3.0 branch * llvm/clang 3.0rc2- Add llvm-pr9614-part{1,2}.patch to fix LLVM PR9614- Fixup dependencies so that llvm-clang doesn't depend on llvm-clang-devel- Update to r142912 llvm-3.0 branch * Fixes to python bindings- Update to r142641 * llvm/clang 3.0 rc1- Enable ARM code generation- Fix libdir on x86_64- Update to r142341 * First build from 3.0 branch * -Wc++98-compat warnings for the lexer * Add flags for the remaining shift related warnings (-Wshift-count-negative, -Wshift-count-overflow). * Only warn in -Wliteral-conversion if the conversion loses information * Added clang_getCompletionAnnotation and clang_getCompletionNumAnnotations to retrieve annotations from completion string. * Add support for -std=gnu90 and -std=c++03, for compatibility with modern gcc. - Switch to tar.bz2 and remove xz dependency- Update to r140780 * Code cleanup * Crash fixes * Add support for alignment-specifiers in C1X and C++11 * Introduce a new compiler switch: -fms-compatility * Emit debug info for c++0x nullptr.- Update to r139589 * C++0x fixes * PCH fixes- Update to r138939 * Many crash fixes. * Performance optimizations. * Allow C99 hexfloats in C++0x mode. * Add missing function _mm_ucomige_sd to emmintrin.h.- Update to r137452 * Fix problems found by PVS-Studio * More AVX fixes * Many C++ fixes - Add assume-opensuse.patch to remove dependency on openSUSE-release- Update to r136773 * Many AVX fixes * Support for C++0x unicode string and character literals- Update to r135431 * API changes to match Mesa requirements- Update to r134888 * Type system rewrite- Update to r134813 * Mainly gcc compatibility fixes- Update to r134698 * Up to 80x speed improvements with -Wuninitialized- Enable RTTI support - Disable assertions because they are not thread safe - Update to r134611 * Many C++ fixes and speedups * Updates for AVX instruction support * gcc 4.6.1 support- Fix manpage generation (bnc #703591)- Update to r132667- Update to use cmake buildsystem - Remove unmaintained ocaml support- Drop ocaml support because its unmaintained - Update to latest svn revision 132050 + Start of the upcoming 3.0 version + Support for gcc 4.6 c++ headers + Better support for C++0x- Fix ocaml dependency- Update to 2.9 + Type Based Alias Analysis (TBAA) is now implemented in clang + LLVM now generates better debug information + Inline assembly now supports multiple alternative constraints- drop revision from Requires: fields - update to 2.8.99 revision 129008.- spec file cleanup- Do not require specific ffi version but gather the appropiate one from the distro- Fix compatibility with C++0x compilers (g++ 4.5)- Fix C include paths- Fix header path for openSUSE 11.4 - Enabled PIC for x86 for loadable module support - Enable package tests for llvm and clang - Disable package timestamps to silence an rpmlint warning- Fixed the build on x86 plattforms. - Package the clang c++-analyzer.- update to llvm 2.7- added vim plugins- added libffi-devel to llvm-devel requires so that build does not fail - fixed build of explicit constructors with gcc45- Initial 2.6 release/sbin/ldconfig/sbin/ldconfiglamb76 1526045026  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~4.0.14.0.1-5.14.0.1-5.14.0.1-5.1   !!!!!!!!!!!!!!!""""!!!!!!!!!!!!!!!!!!!!!!########!!!!!!!!!!!!!!!!!!!!!!!$$$$$$$$$$$$$$$$$$$$$%%%%%%&&&&&&'()))((((((((***********************************++++++++++++++++*************************************************************************************************,,,,,,,,--------------------....////////////////////.00.......111111111111111111111111111111111111111111.2222222222222222222222222222222222222222..3344455677777777777777777777777777589:::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::<::::::::::::::::::::::::::::===========::::::>:::::::::::?????::::::::::@@@@@@@@@@@@@:AAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAADDDDDDDDDDDAAAAAAEAAAAAAAAAAAFFFFFAAAAAAAAAAAGGGGGGGGGGGGGGGGGGGGGGGGA:HHHHHHHHHHHHHHHHHHHHHHHHHH::::::IIIIIIIIIIIIIIIIIIIIIIII:Jmacros.llvmllvm-configllvmllvm-cAnalysis.hBitReader.hBitWriter.hCore.hDisassembler.hErrorHandling.hExecutionEngine.hIRReader.hInitialization.hLinkTimeOptimizer.hLinker.hObject.hOrcBindings.hSupport.hTarget.hTargetMachine.hTransformsIPO.hPassManagerBuilder.hScalar.hVectorize.hTypes.hlto.hADTAPFloat.hAPInt.hAPSInt.hAllocatorList.hArrayRef.hBitVector.hBitmaskEnum.hCachedHashString.hDAGDeltaAlgorithm.hDeltaAlgorithm.hDenseMap.hDenseMapInfo.hDenseSet.hDepthFirstIterator.hEpochTracker.hEquivalenceClasses.hFoldingSet.hGraphTraits.hHashing.hImmutableList.hImmutableMap.hImmutableSet.hIndexedMap.hIntEqClasses.hIntervalMap.hIntrusiveRefCntPtr.hMapVector.hNone.hOptional.hPackedVector.hPointerEmbeddedInt.hPointerIntPair.hPointerSumType.hPointerUnion.hPostOrderIterator.hPriorityQueue.hPriorityWorklist.hSCCIterator.hSTLExtras.hScopeExit.hScopedHashTable.hSequence.hSetOperations.hSetVector.hSmallBitVector.hSmallPtrSet.hSmallSet.hSmallString.hSmallVector.hSparseBitVector.hSparseMultiSet.hSparseSet.hStatistic.hStringExtras.hStringMap.hStringRef.hStringSet.hStringSwitch.hTinyPtrVector.hTriple.hTwine.hUniqueVector.hVariadicFunction.hedit_distance.hilist.hilist_base.hilist_iterator.hilist_node.hilist_node_base.hilist_node_options.hiterator.hiterator_range.hsimple_ilist.hAnalysisAliasAnalysis.hAliasAnalysisEvaluator.hAliasSetTracker.hAssumptionCache.hBasicAliasAnalysis.hBlockFrequencyInfo.hBlockFrequencyInfoImpl.hBranchProbabilityInfo.hCFG.hCFGPrinter.hCFLAndersAliasAnalysis.hCFLSteensAliasAnalysis.hCGSCCPassManager.hCallGraph.hCallGraphSCCPass.hCallPrinter.hCaptureTracking.hCodeMetrics.hConstantFolding.hDOTGraphTraitsPass.hDemandedBits.hDependenceAnalysis.hDivergenceAnalysis.hDomPrinter.hDominanceFrontier.hDominanceFrontierImpl.hEHPersonalities.hGlobalsModRef.hIVUsers.hIndirectCallPromotionAnalysis.hIndirectCallSiteVisitor.hInlineCost.hInstructionSimplify.hInterval.hIntervalIterator.hIntervalPartition.hIteratedDominanceFrontier.hLazyBlockFrequencyInfo.hLazyBranchProbabilityInfo.hLazyCallGraph.hLazyValueInfo.hLint.hLoads.hLoopAccessAnalysis.hLoopAnalysisManager.hLoopInfo.hLoopInfoImpl.hLoopIterator.hLoopPass.hLoopUnrollAnalyzer.hMemoryBuiltins.hMemoryDependenceAnalysis.hMemoryLocation.hModuleSummaryAnalysis.hObjCARCAliasAnalysis.hObjCARCAnalysisUtils.hObjCARCInstKind.hOptimizationDiagnosticInfo.hOrderedBasicBlock.hPHITransAddr.hPasses.hPostDominators.hProfileSummaryInfo.hPtrUseVisitor.hRegionInfo.hRegionInfoImpl.hRegionIterator.hRegionPass.hRegionPrinter.hScalarEvolution.hScalarEvolutionAliasAnalysis.hScalarEvolutionExpander.hScalarEvolutionExpressions.hScalarEvolutionNormalization.hScopedNoAliasAA.hSparsePropagation.hTargetFolder.hTargetLibraryInfo.defTargetLibraryInfo.hTargetTransformInfo.hTargetTransformInfoImpl.hTrace.hTypeBasedAliasAnalysis.hTypeMetadataUtils.hValueTracking.hVectorUtils.hAsmParserParser.hSlotMapping.hBitcodeBitCodes.hBitcodeReader.hBitcodeWriter.hBitcodeWriterPass.hBitstreamReader.hBitstreamWriter.hLLVMBitCodes.hCodeGenAnalysis.hAsmPrinter.hAtomicExpandUtils.hBasicTTIImpl.hCalcSpillWeights.hCallingConvLower.hCommandFlags.hDAGCombine.hDFAPacketizer.hDIE.hDIEValue.defDwarfStringPoolEntry.hEdgeBundles.hFastISel.hFaultMaps.hFunctionLoweringInfo.hGCMetadata.hGCMetadataPrinter.hGCStrategy.hGCs.hGlobalISelCallLowering.hGISelAccessor.hIRTranslator.hInstructionSelect.hInstructionSelector.hLegalizer.hLegalizerHelper.hLegalizerInfo.hMachineIRBuilder.hRegBankSelect.hRegisterBank.hRegisterBankInfo.hTypes.hUtils.hISDOpcodes.hIntrinsicLowering.hLatencyPriorityQueue.hLexicalScopes.hLinkAllAsmWriterComponents.hLinkAllCodegenComponents.hLiveInterval.hLiveIntervalAnalysis.hLiveIntervalUnion.hLivePhysRegs.hLiveRangeEdit.hLiveRegMatrix.hLiveStackAnalysis.hLiveVariables.hLowLevelType.hMIRParserMIRParser.hMIRYamlMapping.hMachORelocation.hMachineBasicBlock.hMachineBlockFrequencyInfo.hMachineBranchProbabilityInfo.hMachineCombinerPattern.hMachineConstantPool.hMachineDominanceFrontier.hMachineDominators.hMachineFrameInfo.hMachineFunction.hMachineFunctionInitializer.hMachineFunctionPass.hMachineInstr.hMachineInstrBuilder.hMachineInstrBundle.hMachineInstrBundleIterator.hMachineJumpTableInfo.hMachineLoopInfo.hMachineMemOperand.hMachineModuleInfo.hMachineModuleInfoImpls.hMachineOperand.hMachinePassRegistry.hMachinePostDominators.hMachineRegionInfo.hMachineRegisterInfo.hMachineSSAUpdater.hMachineScheduler.hMachineTraceMetrics.hMachineValueType.hPBQPCostAllocator.hGraph.hMath.hReductionRules.hSolution.hPBQPRAConstraint.hParallelCG.hPasses.hPreISelIntrinsicLowering.hPseudoSourceValue.hRegAllocPBQP.hRegAllocRegistry.hRegisterClassInfo.hRegisterPressure.hRegisterScavenging.hRegisterUsageInfo.hResourcePriorityQueue.hRuntimeLibcalls.hScheduleDAG.hScheduleDAGInstrs.hScheduleDAGMutation.hScheduleDFS.hScheduleHazardRecognizer.hSchedulerRegistry.hScoreboardHazardRecognizer.hSelectionDAG.hSelectionDAGISel.hSelectionDAGNodes.hSelectionDAGTargetInfo.hSlotIndexes.hStackMaps.hStackProtector.hTailDuplicator.hTargetLoweringObjectFileImpl.hTargetPassConfig.hTargetSchedule.hUnreachableBlockElim.hValueTypes.hValueTypes.tdVirtRegMap.hWinEHFuncInfo.hConfigAsmParsers.defAsmPrinters.defDisassemblers.defTargets.defabi-breaking.hllvm-config.hDebugInfoCodeViewCVDebugRecord.hCVRecord.hCVSymbolTypes.defCVSymbolVisitor.hCVTypeDumper.hCVTypeVisitor.hCodeView.hCodeViewError.hCodeViewRecordIO.hEnumTables.hFunctionId.hLine.hModuleSubstream.hModuleSubstreamVisitor.hRecordSerialization.hSymbolDeserializer.hSymbolDumpDelegate.hSymbolDumper.hSymbolRecord.hSymbolRecordMapping.hSymbolSerializer.hSymbolVisitorCallbackPipeline.hSymbolVisitorCallbacks.hSymbolVisitorDelegate.hTypeDatabase.hTypeDatabaseVisitor.hTypeDeserializer.hTypeDumpVisitor.hTypeDumperBase.hTypeIndex.hTypeRecord.hTypeRecordBuilder.hTypeRecordMapping.hTypeRecords.defTypeSerializer.hTypeStreamMerger.hTypeSymbolEmitter.hTypeTableBuilder.hTypeVisitorCallbackPipeline.hTypeVisitorCallbacks.hDIContext.hDWARFDWARFAbbreviationDeclaration.hDWARFAcceleratorTable.hDWARFCompileUnit.hDWARFContext.hDWARFDebugAbbrev.hDWARFDebugArangeSet.hDWARFDebugAranges.hDWARFDebugFrame.hDWARFDebugInfoEntry.hDWARFDebugLine.hDWARFDebugLoc.hDWARFDebugMacro.hDWARFDebugPubTable.hDWARFDebugRangeList.hDWARFDie.hDWARFFormValue.hDWARFGdbIndex.hDWARFRelocMap.hDWARFSection.hDWARFTypeUnit.hDWARFUnit.hDWARFUnitIndex.hMSFByteStream.hIMSFFile.hMSFBuilder.hMSFCommon.hMSFError.hMSFStreamLayout.hMappedBlockStream.hSequencedItemStream.hStreamArray.hStreamInterface.hStreamReader.hStreamRef.hStreamWriter.hPDBConcreteSymbolEnumerator.hDIADIADataStream.hDIAEnumDebugStreams.hDIAEnumLineNumbers.hDIAEnumSourceFiles.hDIAEnumSymbols.hDIAError.hDIALineNumber.hDIARawSymbol.hDIASession.hDIASourceFile.hDIASupport.hGenericError.hIPDBDataStream.hIPDBEnumChildren.hIPDBLineNumber.hIPDBRawSymbol.hIPDBSession.hIPDBSourceFile.hPDB.hPDBContext.hPDBExtras.hPDBSymDumper.hPDBSymbol.hPDBSymbolAnnotation.hPDBSymbolBlock.hPDBSymbolCompiland.hPDBSymbolCompilandDetails.hPDBSymbolCompilandEnv.hPDBSymbolCustom.hPDBSymbolData.hPDBSymbolExe.hPDBSymbolFunc.hPDBSymbolFuncDebugEnd.hPDBSymbolFuncDebugStart.hPDBSymbolLabel.hPDBSymbolPublicSymbol.hPDBSymbolThunk.hPDBSymbolTypeArray.hPDBSymbolTypeBaseClass.hPDBSymbolTypeBuiltin.hPDBSymbolTypeCustom.hPDBSymbolTypeDimension.hPDBSymbolTypeEnum.hPDBSymbolTypeFriend.hPDBSymbolTypeFunctionArg.hPDBSymbolTypeFunctionSig.hPDBSymbolTypeManaged.hPDBSymbolTypePointer.hPDBSymbolTypeTypedef.hPDBSymbolTypeUDT.hPDBSymbolTypeVTable.hPDBSymbolTypeVTableShape.hPDBSymbolUnknown.hPDBSymbolUsingNamespace.hPDBTypes.hRawDbiStream.hDbiStreamBuilder.hEnumTables.hGlobalsStream.hHash.hISectionContribVisitor.hInfoStream.hInfoStreamBuilder.hModInfo.hModStream.hNameHashTable.hNameMap.hNameMapBuilder.hPDBFile.hPDBFileBuilder.hPublicsStream.hRawConstants.hRawError.hRawSession.hRawTypes.hSymbolStream.hTpiHashing.hTpiStream.hTpiStreamBuilder.hSymbolizeDIPrinter.hSymbolizableModule.hSymbolize.hDemangleDemangle.hExecutionEngineExecutionEngine.hGenericValue.hInterpreter.hJITEventListener.hJITSymbol.hMCJIT.hOProfileWrapper.hObjectCache.hObjectMemoryBuffer.hOrcCompileOnDemandLayer.hCompileUtils.hExecutionUtils.hGlobalMappingLayer.hIRCompileLayer.hIRTransformLayer.hIndirectionUtils.hLambdaResolver.hLazyEmittingLayer.hNullResolver.hObjectLinkingLayer.hObjectTransformLayer.hOrcABISupport.hOrcError.hOrcRemoteTargetClient.hOrcRemoteTargetRPCAPI.hOrcRemoteTargetServer.hRPCSerialization.hRPCUtils.hRawByteChannel.hOrcMCJITReplacement.hRTDyldMemoryManager.hRuntimeDyld.hRuntimeDyldChecker.hSectionMemoryManager.hIRArgument.hAssemblyAnnotationWriter.hAttributes.genAttributes.hAttributes.tdAutoUpgrade.hBasicBlock.hCFG.hCallSite.hCallingConv.hComdat.hConstant.hConstantFolder.hConstantRange.hConstants.hDIBuilder.hDataLayout.hDebugInfo.hDebugInfoFlags.defDebugInfoMetadata.hDebugLoc.hDerivedTypes.hDiagnosticInfo.hDiagnosticPrinter.hDominators.hFunction.hGVMaterializer.hGetElementPtrTypeIterator.hGlobalAlias.hGlobalIFunc.hGlobalIndirectSymbol.hGlobalObject.hGlobalValue.hGlobalVariable.hIRBuilder.hIRPrintingPasses.hInlineAsm.hInstIterator.hInstVisitor.hInstrTypes.hInstruction.defInstruction.hInstructions.hIntrinsicInst.hIntrinsics.genIntrinsics.hIntrinsics.tdIntrinsicsAArch64.tdIntrinsicsAMDGPU.tdIntrinsicsARM.tdIntrinsicsBPF.tdIntrinsicsHexagon.tdIntrinsicsMips.tdIntrinsicsNVVM.tdIntrinsicsPowerPC.tdIntrinsicsSystemZ.tdIntrinsicsWebAssembly.tdIntrinsicsX86.tdIntrinsicsXCore.tdLLVMContext.hLegacyPassManager.hLegacyPassManagers.hLegacyPassNameParser.hMDBuilder.hMangler.hMetadata.defMetadata.hModule.hModuleSlotTracker.hModuleSummaryIndex.hModuleSummaryIndexYAML.hNoFolder.hOperandTraits.hOperator.hOptBisect.hPassManager.hPassManagerInternal.hPatternMatch.hPredIteratorCache.hProfileSummary.hStatepoint.hSymbolTableListTraits.hTrackingMDRef.hType.hTypeBuilder.hTypeFinder.hUse.hUseListOrder.hUser.hValue.defValue.hValueHandle.hValueMap.hValueSymbolTable.hVerifier.hIRReaderIRReader.hInitializePasses.hLTOCaching.hConfig.hLTO.hLTOBackend.hlegacyLTOCodeGenerator.hLTOModule.hThinLTOCodeGenerator.hUpdateCompilerUsed.hLibDriverLibDriver.hLineEditorLineEditor.hLinkAllIR.hLinkAllPasses.hLinkerIRMover.hLinker.hMCConstantPools.hLaneBitmask.hMCAnalysisMCAsmBackend.hMCAsmInfo.hMCAsmInfoCOFF.hMCAsmInfoDarwin.hMCAsmInfoELF.hMCAsmLayout.hMCAssembler.hMCCodeEmitter.hMCCodeView.hMCContext.hMCDirectives.hMCDisassemblerMCDisassembler.hMCExternalSymbolizer.hMCRelocationInfo.hMCSymbolizer.hMCDwarf.hMCELFObjectWriter.hMCELFStreamer.hMCExpr.hMCFixedLenDisassembler.hMCFixup.hMCFixupKindInfo.hMCFragment.hMCInst.hMCInstBuilder.hMCInstPrinter.hMCInstrAnalysis.hMCInstrDesc.hMCInstrInfo.hMCInstrItineraries.hMCLabel.hMCLinkerOptimizationHint.hMCMachObjectWriter.hMCObjectFileInfo.hMCObjectStreamer.hMCObjectWriter.hMCParserAsmCond.hAsmLexer.hMCAsmLexer.hMCAsmParser.hMCAsmParserExtension.hMCAsmParserUtils.hMCParsedAsmOperand.hMCTargetAsmParser.hMCRegisterInfo.hMCSchedule.hMCSection.hMCSectionCOFF.hMCSectionELF.hMCSectionMachO.hMCStreamer.hMCSubtargetInfo.hMCSymbol.hMCSymbolCOFF.hMCSymbolELF.hMCSymbolMachO.hMCTargetOptions.hMCTargetOptionsCommandFlags.hMCValue.hMCWin64EH.hMCWinCOFFObjectWriter.hMCWinCOFFStreamer.hMCWinEH.hMachineLocation.hSectionKind.hStringTableBuilder.hSubtargetFeature.hObjectArchive.hArchiveWriter.hBinary.hCOFF.hCOFFImportFile.hDecompressor.hELF.hELFObjectFile.hELFTypes.hError.hIRObjectFile.hMachO.hMachOUniversal.hModuleSummaryIndexObjectFile.hModuleSymbolTable.hObjectFile.hRelocVisitor.hStackMapParser.hSymbolSize.hSymbolicFile.hWasm.hObjectYAMLCOFFYAML.hDWARFYAML.hELFYAML.hMachOYAML.hObjectYAML.hYAML.hOptionArg.hArgList.hOptParser.tdOptSpecifier.hOptTable.hOption.hPass.hPassAnalysisSupport.hPassInfo.hPassRegistry.hPassSupport.hPassesPassBuilder.hProfileDataCoverageCoverageMapping.hCoverageMappingReader.hCoverageMappingWriter.hInstrProf.hInstrProfData.incInstrProfReader.hInstrProfWriter.hProfileCommon.hSampleProf.hSampleProfReader.hSampleProfWriter.hSupportAArch64TargetParser.defARMBuildAttributes.hARMEHABI.hARMTargetParser.defARMWinEH.hAlignOf.hAllocator.hArrayRecycler.hAtomic.hAtomicOrdering.hBlockFrequency.hBranchProbability.hCBindingWrapping.hCOFF.hCOM.hCachePruning.hCapacity.hCasting.hChrono.hCodeGen.hCodeGenCWrappers.hCommandLine.hCompiler.hCompression.hConvertUTF.hCrashRecoveryContext.hDOTGraphTraits.hDataExtractor.hDataTypes.hDebug.hDwarf.defDwarf.hDynamicLibrary.hELF.hELFRelocsAArch64.defAMDGPU.defARM.defAVR.defBPF.defHexagon.defLanai.defMips.defPowerPC.defPowerPC64.defRISCV.defSparc.defSystemZ.defWebAssembly.defi386.defx86_64.defEndian.hEndianStream.hErrc.hErrno.hError.hErrorHandling.hErrorOr.hFileOutputBuffer.hFileSystem.hFileUtilities.hFormat.hFormatAdapters.hFormatCommon.hFormatProviders.hFormatVariadic.hFormatVariadicDetails.hFormattedStream.hGCOV.hGenericDomTree.hGenericDomTreeConstruction.hGlobPattern.hGraphWriter.hHost.hJamCRC.hLEB128.hLICENSE.TXTLineIterator.hLocale.hLockFileManager.hMD5.hMachO.defMachO.hManagedStatic.hMathExtras.hMemory.hMemoryBuffer.hMipsABIFlags.hMutex.hMutexGuard.hNativeFormatting.hOnDiskHashTable.hOptions.hPath.hPluginLoader.hPointerLikeTypeTraits.hPrettyStackTrace.hPrintable.hProcess.hProgram.hRWMutex.hRandomNumberGenerator.hRecycler.hRecyclingAllocator.hRegex.hRegistry.hSHA1.hSMLoc.hSaveAndRestore.hScaledNumber.hScopedPrinter.hSignals.hSolaris.hSourceMgr.hSpecialCaseList.hStringPool.hStringSaver.hSwapByteOrder.hSystemUtils.hTarWriter.hTargetParser.hTargetRegistry.hTargetSelect.hThreadLocal.hThreadPool.hThreading.hTimer.hToolOutputFile.hTrailingObjects.hTrigramIndex.hTypeName.hUnicode.hUnicodeCharRanges.hUniqueLock.hValgrind.hWasm.hWatchdog.hWin64EH.hWindowsError.hYAMLParser.hYAMLTraits.hcircular_raw_ostream.hraw_os_ostream.hraw_ostream.hraw_sha1_ostream.hthread.htype_traits.hxxhash.hTableGenError.hMain.hRecord.hSearchableTable.tdSetTheory.hStringMatcher.hStringToOffsetTable.hTableGenBackend.hTargetCostTable.hGenericOpcodes.tdTarget.tdTargetCallingConv.hTargetCallingConv.tdTargetFrameLowering.hTargetGlobalISel.tdTargetInstrInfo.hTargetIntrinsicInfo.hTargetItinerary.tdTargetLowering.hTargetLoweringObjectFile.hTargetMachine.hTargetOpcodes.defTargetOpcodes.hTargetOptions.hTargetRegisterInfo.hTargetSchedule.tdTargetSelectionDAG.tdTargetSubtargetInfo.hTransformsCoroutines.hGCOVProfiler.hIPOIPO.hAlwaysInliner.hConstantMerge.hCrossDSOCFI.hDeadArgumentElimination.hElimAvailExtern.hForceFunctionAttrs.hFunctionAttrs.hFunctionImport.hGlobalDCE.hGlobalOpt.hGlobalSplit.hInferFunctionAttrs.hInliner.hInternalize.hLowerTypeTests.hPartialInlining.hPassManagerBuilder.hSCCP.hStripDeadPrototypes.hWholeProgramDevirt.hInstCombineInstCombine.hInstCombineWorklist.hInstrProfiling.hInstrumentation.hObjCARC.hPGOInstrumentation.hSampleProfile.hScalarScalar.hADCE.hAlignmentFromAssumptions.hBDCE.hConstantHoisting.hCorrelatedValuePropagation.hDCE.hDeadStoreElimination.hEarlyCSE.hFloat2Int.hGVN.hGVNExpression.hGuardWidening.hIVUsersPrinter.hIndVarSimplify.hJumpThreading.hLICM.hLoopAccessAnalysisPrinter.hLoopDataPrefetch.hLoopDeletion.hLoopDistribute.hLoopIdiomRecognize.hLoopInstSimplify.hLoopPassManager.hLoopRotation.hLoopSimplifyCFG.hLoopStrengthReduce.hLoopUnrollPass.hLowerAtomic.hLowerExpectIntrinsic.hLowerGuardIntrinsic.hMemCpyOptimizer.hMergedLoadStoreMotion.hNaryReassociate.hNewGVN.hPartiallyInlineLibCalls.hReassociate.hSCCP.hSROA.hSimplifyCFG.hSink.hSpeculativeExecution.hTailRecursionElimination.hUtilsASanStackFrameLayout.hAddDiscriminators.hBasicBlockUtils.hBreakCriticalEdges.hBuildLibCalls.hBypassSlowDivision.hCloning.hCmpInstAnalysis.hCodeExtractor.hCtorUtils.hEscapeEnumerator.hEvaluator.hFunctionComparator.hFunctionImportUtils.hGlobalStatus.hImportedFunctionsInliningStatistics.hIntegerDivision.hLCSSA.hLibCallsShrinkWrap.hLocal.hLoopSimplify.hLoopUtils.hLoopVersioning.hLowerInvoke.hMem2Reg.hMemorySSA.hModuleUtils.hNameAnonGlobals.hPromoteMemToReg.hSSAUpdater.hSSAUpdaterImpl.hSanitizerStats.hSimplifyIndVar.hSimplifyInstructions.hSimplifyLibCalls.hSplitModule.hSymbolRewriter.hUnifyFunctionExitNodes.hUnrollLoop.hValueMapper.hVectorizeVectorize.hLoopVectorize.hSLPVectorizer.hXRayTrace.hXRayRecord.hYAMLXRayRecord.hBugpointPasses.soLLVMHello.sollvmAddLLVM.cmakeAddLLVMDefinitions.cmakeAddOCaml.cmakeAddSphinxTarget.cmakeCheckAtomic.cmakeCheckCompilerVersion.cmakeCheckLinkerFlag.cmakeChooseMSVCCRT.cmakeCrossCompile.cmakeDetermineGCCCompatible.cmakeFindOCaml.cmakeFindSphinx.cmakeGenerateVersionFromCVS.cmakeGetSVN.cmakeHandleLLVMOptions.cmakeHandleLLVMStdlib.cmakeLLVM-Config.cmakeLLVMConfig.cmakeLLVMConfigVersion.cmakeLLVMExports-relwithdebinfo.cmakeLLVMExports.cmakeLLVMExternalProjectUtils.cmakeLLVMInstallSymlink.cmakeLLVMProcessSources.cmakeTableGen.cmakeVersionFromVCS.cmakelibLLVM.sollvmhtmlAMDGPUUsage.htmlAdvancedBuilds.htmlAliasAnalysis.htmlAtomics.htmlBigEndianNEON.htmlBitCodeFormat.htmlBlockFrequencyTerminology.htmlBranchWeightMetadata.htmlBugpoint.htmlCMake.htmlCMakePrimer.htmlCodeGenerator.htmlCodeOfConduct.htmlCodingStandards.htmlCommandGuideFileCheck.htmlbugpoint.htmlindex.htmllit.htmlllc.htmllli.htmlllvm-ar.htmlllvm-as.htmlllvm-bcanalyzer.htmlllvm-build.htmlllvm-config.htmlllvm-cov.htmlllvm-diff.htmlllvm-dis.htmlllvm-dwarfdump.htmlllvm-extract.htmlllvm-lib.htmlllvm-link.htmlllvm-nm.htmlllvm-profdata.htmlllvm-readobj.htmlllvm-stress.htmlllvm-symbolizer.htmlopt.htmltblgen.htmlCommandLine.htmlCompileCudaWithLLVM.htmlCompilerWriterInfo.htmlCoroutines.htmlCoverageMappingFormat.htmlDebuggingJITedCode.htmlDeveloperPolicy.htmlExceptionHandling.htmlExtendingLLVM.htmlExtensions.htmlFAQ.htmlFaultMaps.htmlFrontendPerformanceTips.htmlGarbageCollection.htmlGetElementPtr.htmlGettingStarted.htmlGettingStartedVS.htmlGlobalISel.htmlGoldPlugin.htmlHowToAddABuilder.htmlHowToBuildOnARM.htmlHowToCrossCompileLLVM.htmlHowToReleaseLLVM.htmlHowToSetUpLLVMStyleRTTI.htmlHowToSubmitABug.htmlHowToUseAttributes.htmlHowToUseInstrMappings.htmlInAlloca.htmlLLVMBuild.htmlLangRef.htmlLexicon.htmlLibFuzzer.htmlLinkTimeOptimization.htmlMCJITDesignAndImplementation.htmlMIRLangRef.htmlMarkedUpDisassembly.htmlMemorySSA.htmlMergeFunctions.htmlNVPTXUsage.htmlOptBisect.htmlPDBCodeViewSymbols.htmlCodeViewTypes.htmlDbiStream.htmlGlobalStream.htmlHashStream.htmlModiStream.htmlMsfFile.htmlPdbStream.htmlPublicStream.htmlTpiStream.htmlindex.htmlPackaging.htmlPasses.htmlPhabricator.htmlProgrammersManual.htmlProjects.htmlProposalsGitHubMove.htmlReleaseNotes.htmlReleaseProcess.htmlReportingGuide.htmlScudoHardenedAllocator.htmlSegmentedStacks.htmlSourceLevelDebugging.htmlSphinxQuickstartTemplate.htmlStackMaps.htmlStatepoints.htmlSystemLibrary.htmlTableGenBackEnds.htmlDeficiencies.htmlLangIntro.htmlLangRef.htmlindex.htmlTableGenFundamentals.htmlTestSuiteMakefileGuide.htmlTestingGuide.htmlTypeMetadata.htmlVectorizers.htmlWritingAnLLVMBackend.htmlWritingAnLLVMPass.htmlXRay.htmlYamlIO.html_imagesARM-BE-bitcastfail.pngARM-BE-bitcastsuccess.pngARM-BE-ld1.pngARM-BE-ldr.pngLangImpl05-cfg.pngMCJIT-creation.pngMCJIT-dyld-load.pngMCJIT-engine-builder.pngMCJIT-load-object.pngMCJIT-load.pngMCJIT-resolve-relocations.pnggcc-loops.pnglinpack-pc.png_sourcesAMDGPUUsage.rst.txtAdvancedBuilds.rst.txtAliasAnalysis.rst.txtAtomics.rst.txtBigEndianNEON.rst.txtBitCodeFormat.rst.txtBlockFrequencyTerminology.rst.txtBranchWeightMetadata.rst.txtBugpoint.rst.txtCMake.rst.txtCMakePrimer.rst.txtCodeGenerator.rst.txtCodeOfConduct.rst.txtCodingStandards.rst.txtCommandGuideFileCheck.rst.txtbugpoint.rst.txtindex.rst.txtlit.rst.txtllc.rst.txtlli.rst.txtllvm-ar.rst.txtllvm-as.rst.txtllvm-bcanalyzer.rst.txtllvm-build.rst.txtllvm-config.rst.txtllvm-cov.rst.txtllvm-diff.rst.txtllvm-dis.rst.txtllvm-dwarfdump.rst.txtllvm-extract.rst.txtllvm-lib.rst.txtllvm-link.rst.txtllvm-nm.rst.txtllvm-profdata.rst.txtllvm-readobj.rst.txtllvm-stress.rst.txtllvm-symbolizer.rst.txtopt.rst.txttblgen.rst.txtCommandLine.rst.txtCompileCudaWithLLVM.rst.txtCompilerWriterInfo.rst.txtCoroutines.rst.txtCoverageMappingFormat.rst.txtDebuggingJITedCode.rst.txtDeveloperPolicy.rst.txtExceptionHandling.rst.txtExtendingLLVM.rst.txtExtensions.rst.txtFAQ.rst.txtFaultMaps.rst.txtFrontendPerformanceTips.rst.txtGarbageCollection.rst.txtGetElementPtr.rst.txtGettingStarted.rst.txtGettingStartedVS.rst.txtGlobalISel.rst.txtGoldPlugin.rst.txtHowToAddABuilder.rst.txtHowToBuildOnARM.rst.txtHowToCrossCompileLLVM.rst.txtHowToReleaseLLVM.rst.txtHowToSetUpLLVMStyleRTTI.rst.txtHowToSubmitABug.rst.txtHowToUseAttributes.rst.txtHowToUseInstrMappings.rst.txtInAlloca.rst.txtLLVMBuild.rst.txtLangRef.rst.txtLexicon.rst.txtLibFuzzer.rst.txtLinkTimeOptimization.rst.txtMCJITDesignAndImplementation.rst.txtMIRLangRef.rst.txtMarkedUpDisassembly.rst.txtMemorySSA.rst.txtMergeFunctions.rst.txtNVPTXUsage.rst.txtOptBisect.rst.txtPDBCodeViewSymbols.rst.txtCodeViewTypes.rst.txtDbiStream.rst.txtGlobalStream.rst.txtHashStream.rst.txtModiStream.rst.txtMsfFile.rst.txtPdbStream.rst.txtPublicStream.rst.txtTpiStream.rst.txtindex.rst.txtPackaging.rst.txtPasses.rst.txtPhabricator.rst.txtProgrammersManual.rst.txtProjects.rst.txtProposalsGitHubMove.rst.txtReleaseNotes.rst.txtReleaseProcess.rst.txtReportingGuide.rst.txtScudoHardenedAllocator.rst.txtSegmentedStacks.rst.txtSourceLevelDebugging.rst.txtSphinxQuickstartTemplate.rst.txtStackMaps.rst.txtStatepoints.rst.txtSystemLibrary.rst.txtTableGenBackEnds.rst.txtDeficiencies.rst.txtLangIntro.rst.txtLangRef.rst.txtindex.rst.txtTableGenFundamentals.rst.txtTestSuiteMakefileGuide.rst.txtTestingGuide.rst.txtTypeMetadata.rst.txtVectorizers.rst.txtWritingAnLLVMBackend.rst.txtWritingAnLLVMPass.rst.txtXRay.rst.txtYamlIO.rst.txtindex.rst.txttutorialBuildingAJIT1.rst.txtBuildingAJIT2.rst.txtBuildingAJIT3.rst.txtBuildingAJIT4.rst.txtBuildingAJIT5.rst.txtLangImpl01.rst.txtLangImpl02.rst.txtLangImpl03.rst.txtLangImpl04.rst.txtLangImpl05.rst.txtLangImpl06.rst.txtLangImpl07.rst.txtLangImpl08.rst.txtLangImpl09.rst.txtLangImpl10.rst.txtOCamlLangImpl1.rst.txtOCamlLangImpl2.rst.txtOCamlLangImpl3.rst.txtOCamlLangImpl4.rst.txtOCamlLangImpl5.rst.txtOCamlLangImpl6.rst.txtOCamlLangImpl7.rst.txtOCamlLangImpl8.rst.txtindex.rst.txtyaml2obj.rst.txt_staticajax-loader.gifbasic.csscomment-bright.pngcomment-close.pngcomment.pngcontents.pngdoctools.jsdown-pressed.pngdown.pngfile.pngjquery-3.1.0.jsjquery.jslines.gifllvm-theme.cssllvm.csslogo.pngminus.pngnavigation.pngplus.pngpygments.csssearchtools.jsunderscore-1.3.1.jsunderscore.jsup-pressed.pngup.pngwebsupport.jsgenindex.htmlindex.htmlobjects.invsearch.htmlsearchindex.jstutorialBuildingAJIT1.htmlBuildingAJIT2.htmlBuildingAJIT3.htmlBuildingAJIT4.htmlBuildingAJIT5.htmlLangImpl01.htmlLangImpl02.htmlLangImpl03.htmlLangImpl04.htmlLangImpl05.htmlLangImpl06.htmlLangImpl07.htmlLangImpl08.htmlLangImpl09.htmlLangImpl10.htmlOCamlLangImpl1.htmlOCamlLangImpl2.htmlOCamlLangImpl3.htmlOCamlLangImpl4.htmlOCamlLangImpl5.htmlOCamlLangImpl6.htmlOCamlLangImpl7.htmlOCamlLangImpl8.htmlindex.htmlyaml2obj.htmlllvm-config.1.gz/etc/rpm//usr/bin//usr/include//usr/include/llvm-c//usr/include/llvm-c/Transforms//usr/include/llvm//usr/include/llvm/ADT//usr/include/llvm/Analysis//usr/include/llvm/AsmParser//usr/include/llvm/Bitcode//usr/include/llvm/CodeGen//usr/include/llvm/CodeGen/GlobalISel//usr/include/llvm/CodeGen/MIRParser//usr/include/llvm/CodeGen/PBQP//usr/include/llvm/Config//usr/include/llvm/DebugInfo//usr/include/llvm/DebugInfo/CodeView//usr/include/llvm/DebugInfo/DWARF//usr/include/llvm/DebugInfo/MSF//usr/include/llvm/DebugInfo/PDB//usr/include/llvm/DebugInfo/PDB/DIA//usr/include/llvm/DebugInfo/PDB/Raw//usr/include/llvm/DebugInfo/Symbolize//usr/include/llvm/Demangle//usr/include/llvm/ExecutionEngine//usr/include/llvm/ExecutionEngine/Orc//usr/include/llvm/IR//usr/include/llvm/IRReader//usr/include/llvm/LTO//usr/include/llvm/LTO/legacy//usr/include/llvm/LibDriver//usr/include/llvm/LineEditor//usr/include/llvm/Linker//usr/include/llvm/MC//usr/include/llvm/MC/MCDisassembler//usr/include/llvm/MC/MCParser//usr/include/llvm/Object//usr/include/llvm/ObjectYAML//usr/include/llvm/Option//usr/include/llvm/Passes//usr/include/llvm/ProfileData//usr/include/llvm/ProfileData/Coverage//usr/include/llvm/Support//usr/include/llvm/Support/ELFRelocs//usr/include/llvm/TableGen//usr/include/llvm/Target//usr/include/llvm/Transforms//usr/include/llvm/Transforms/IPO//usr/include/llvm/Transforms/InstCombine//usr/include/llvm/Transforms/Scalar//usr/include/llvm/Transforms/Utils//usr/include/llvm/Transforms/Vectorize//usr/include/llvm/XRay//usr/lib64//usr/lib64/cmake//usr/lib64/cmake/llvm//usr/share/doc/packages//usr/share/doc/packages/llvm//usr/share/doc/packages/llvm/html//usr/share/doc/packages/llvm/html/CommandGuide//usr/share/doc/packages/llvm/html/Frontend//usr/share/doc/packages/llvm/html/PDB//usr/share/doc/packages/llvm/html/Proposals//usr/share/doc/packages/llvm/html/TableGen//usr/share/doc/packages/llvm/html/_images//usr/share/doc/packages/llvm/html/_sources//usr/share/doc/packages/llvm/html/_sources/CommandGuide//usr/share/doc/packages/llvm/html/_sources/Frontend//usr/share/doc/packages/llvm/html/_sources/PDB//usr/share/doc/packages/llvm/html/_sources/Proposals//usr/share/doc/packages/llvm/html/_sources/TableGen//usr/share/doc/packages/llvm/html/_sources/tutorial//usr/share/doc/packages/llvm/html/_static//usr/share/doc/packages/llvm/html/tutorial//usr/share/man/man1/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Maintenance:8086/openSUSE_Leap_42.3_Update/6254b8849445156ff942e281683f34b6-llvm4.openSUSE_Leap_42.3_Updatedrpmlzma5x86_64-suse-linux            !"""#"$" %&'(' "$) * +ASCII textELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.0.0, BuildID[sha1]=20e988c9600102a0bccb959d0831320a1984c407, strippeddirectoryC source, ASCII textC++ source, ASCII textC++ source, UTF-8 Unicode textemptyELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=a4340d288ebd84fea60d60b8ebd8273d0b9ad319, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=1b5cdb5abd24ff08fa02a2563a29fc6ababf7b56, strippedASCII text, with very long linesHTML document, UTF-8 Unicode text, with very long linesHTML document, UTF-8 Unicode textPNG image data, 606 x 326, 8-bit/color RGBA, non-interlacedPNG image data, 626 x 459, 8-bit/color RGBA, non-interlacedPNG image data, 604 x 234, 8-bit/color RGBA, non-interlacedPNG image data, 560 x 234, 8-bit/color RGBA, non-interlacedPNG image data, 423 x 315, 8-bit/color RGB, non-interlacedPNG image data, 495 x 254, 8-bit/color RGBA, non-interlacedPNG image data, 543 x 399, 8-bit/color RGBA, non-interlacedPNG image data, 381 x 315, 8-bit/color RGBA, non-interlacedPNG image data, 531 x 687, 8-bit/color RGBA, non-interlacedPNG image data, 489 x 339, 8-bit/color RGBA, non-interlacedPNG image data, 555 x 495, 8-bit/color RGBA, non-interlacedPNG image data, 713 x 331, 8-bit/color RGBA, non-interlacedPNG image data, 437 x 286, 8-bit/color RGBA, non-interlacedUTF-8 Unicode textHTML document, ASCII textC source, UTF-8 Unicode text, with very long linesFORTRAN program, ASCII textassembler source, UTF-8 Unicode textASCII text, with CRLF line terminatorsassembler source, ASCII text, with very long linesGIF image data, version 89a, 16 x 16PNG image data, 16 x 16, 8-bit/color RGBA, non-interlacedPNG image data, 1 x 40, 8-bit/color RGBA, non-interlacedPNG image data, 16 x 16, 8-bit gray+alpha, non-interlacedGIF image data, version 89a, 16 x 30PNG image data, 250 x 88, 8-bit colormap, non-interlacedPNG image data, 11 x 11, 8-bit grayscale, non-interlacedPNG image data, 1 x 60, 8-bit/color RGBA, non-interlacedHTML document, ASCII text, with very long linesASCII text, with very long lines, with no line terminatorstroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)  R R RR RRRRR RPR RR R RPR R RR RPPKrަʘbL3)K?]"k%a"È^ :#SJw*4}Wz^sD7Is{"ԈQ[т_ƽt[_@Wk8 Ɇ7mu={мd^,w-.xWZop i+kZ/Og]4JF+?p~E+ =p6 9( Pr]{ӄZ8~/2 n2qyKG$0k4n_۞hy#w(:DDaw 9_uü.+`̸B)Vr)P+`(#!Z}G iN:TKW)],J(_uܦA'zd769(Pu*VDI> v`x$oa*os6 7/Di\(!c|$(|*^av|(;mE$yMUgQcA /XDfh[Ad0v]+%{ dxCq$~g.tf{/fuB<|XnT->n F/K+a-e-yz9q ӭ54rwi|Z^{EkQ8fP%f<ӷRޙ|8XwaR$ȹ@(s!d;4'?F0⍹їcNC:}Zfji5h!R )4/DH TZa6{8c=620 !4c42#_n~@jh(쇐:DS~:{p *%`X%"7=OTg}dkTx`۲UsW~l,"SnxsJVK1Y 7:Ún4[-\Dw˾]tecCwoC_0!VҵISC;;NY_B4 -k~8F|4 JFmo#ZZ܀yZJ }`=yguL',eJLܻ^&ǝ)m+{~bEA " FB5^'yq{=+KA[1c]`)nNG#iS"j(U x{pw<7!}6,ibBay 3uwC$_?XRcƂWe6kCGY45I$S"=-ߗaxzdX$WEfSڜ)~>}P.WLXaM,F.t7җB6@'t}P7fX gy=bYxLo:<~ ElM2Ly\[ - ? Mo㈀(g{l{:rp :}[v]^ug_4al|1ԝgҗ W?ұ&Z91' TQbZ  + sY+7VyF;.$[yeBi7|#$|:@A)?R=!TN/y.#֣܁i*̸tVU^,pe/ګGGR4:SHOlowLD]b6FCLesQJ c_ j7PF~ 4G Ma*Z'-_-Vr9F۲GFUyGAdW':<sp0lj++Ʊ"7xP*dq2k9}a3 c+$J^t&+}liD JI*3› 4B} OyL$t 5/o3;44p .= 57r|؊}ue<՝u#Y-+4ޞ,5...=Er75xL1o ¢?cB& ^Yr(h1vl#L0@? FYvf17 UD5I'8viUQAX;HY^7N#Wkwtv|tPX-<Эi2 ݸӒ 6@vzju9#J6yUV.h" W-ayM- qN`aG[1_PoDOlՔX;Ҡq> 2_Ưo2 ȗݳ@Du2NPO+-,O2IEl7 [χm7쓩y"%MJ5˅uWaNLYCC:W*b w(gJ<.+j ?RFB5c4pe<u1w´Z)>W`T;*^&s)KdM<@EA>Qh6qH;͏f(n47d\y?1 xVW(-pqEuK@%Զ;aOhpGvCQj?ϫ$GD%$h@>7tɹƭQ4M$. ^_]@O;9p<ul폻e~Ii܄d <-J0d)uUCp&jrh#Cd}MA wQl|l1Y݄ $5¿ebQֺfGVi-sP|?!Q.%lz߻ ؠ 8a}ͼwQ;>UJH᝼V(!W yeVnDί7ʔWv7{lnVFfN[ P{Cn"`//.I%v|x7gO)yڳ*7F>!DiӶJ\0S2BR`Ase$ iH̿3q[lxu"YĎ5xn3s} B `ߺDr} 4@ 蕰#r3zs"cu.(}~n"YٛUȾ$"".|95'l8&׬N /'FK?[VyqžZT0 nx &FGXE Bj}1Ҁ!j 1OiK_ }*i-f%vY9+^ l~b3~H+V҇>vUʼnxܪ^!g^V-/ uɷ6; 4EcfG>) r8mڮD:k(i `8%o=tʄUNC!Cy N"g;z͂<^c :l1D @WSZhɁ(BU$(wp|jqVfpI׏v ׂ1ծ{Xu\Q@^ruzfbAֱ ֑mW"}AnBr|b:f(_YDr"gTOހРt =ɼe+Ԙ)*.NOe}<{43_T^% oa1mΘ,M;h8#S0$HҾsC,Ǥ TbBx'OBHVMS5VӶўx6 Je6)4r%GgW;^ɏ k^S΁>rCO)1n&%Z>A 2ONmHRGNcrQX-֠΅C"-XfΫu"7hߧ=r;I&ֺQ^{'GtdX ԮCS9)LY7I%=~&oIYo{[ɿ0z J߿l7P}{3o1:ؑbS +Qτ]TT?"Knf<ނma}r!f{bWI0]_ M6pv]yc~}?ݣw:cTUMT;ЃEOYy21UNZq(S;Α@Z* 0QKaXIu|Q lLIǘ qJ0;jl\U.ri+'h4 /ᅩF$ E2o&BoYO gI >xƣ#*[j5hp;:!o-p(![-ۚ<<]mX9IӽA` *Ha ^n[Wg,I{0C- K Q5X~6^i+(GAc$>vuf,?iv*mՇU Y{ !mJ]}U `xLp=n E]/^N) _vBg6.keߍ261.wTjEqdw ZGt++>%>?WGj15q)l 1W/k544FѺ,"',׃^wCڶ1$:h!DM+z~Ne$$3]BCmE_o\XBUg,g~~(ƚKz-Q͓*tM[i̤+,;L{4k-mԏKh;J{hW,NYj'bPfGT}AT?={r k5S6 q*A(#@$> ~fA($ _dN~b,V>Sb lv٦=za!AThL x~cѣ4%|Գ5r3JcNjJgm/XĎ+dN{ xJtziFfI,?,V- ?5ombᕇ;c0ȯ6DH r3MבOE[oGc>x)iNliI ^;4che0}#)Fe?F˙9weMu~vx`"{W2@R["`*OSp6K ,߆}T^ ;7*tFMR^PYqv؝T\j#̌J'# ZqE,E.B8J_#%ZV#n/4;|bEeD^\m3X6uម:!!Lf2|wAVٜ&TؑG"S>JɊHCQǔג;7,RlRhXW|ƾޡ;JC;|腀. &`h[~&F,+ ^Fiqx ǪH"ut{OD몐O/fIN5ffΛ2DN,1OO~">O~q1{-c@^~2ѬHǰOHL&tgle͵>u&pHd8CA+__آ,dl[. 0K)7nN}{IQi.${e}#O E= _ pv-iK2^;bW ws>w`^{nr-Sgvyo*]$hĒYէH‚\#2p sBs-Ra{'J<&0Es* 캏sš9/9x=ҍhC L.ɫ eU\hFq+k= pj[{HSݻ :=|(xY)*˧L$Yѧ+w TvfRrr_%Y''گ'?``3R-Z)6`"7'MK27OVQS Qzۯ!h`7g:KSV*y,\I%7Blpuу'Qs 0S_TCE ކ-|_Nݜe9c` K&+sYS?:w8u{^`w}Ut'G=Wv?"Gg]Uǝ`{*tj_)8c0/g" c=)b+EFϘT$52o], sOۑ0/S.kصvaMo sKxj4ר8 ]c]46{1Mzilka MK[9_J=>|[a\K,^0HΗ72p28϶2.n3Mfʚ5x߅0z H0iyj3fR52G[MTZ>/w"/Drυ?HZ%TfWUAr҂.{[FX+bƣ/L;|YYbB(]EP^0h_\лSQi[ i rH7J mPS)^D˨Y\ >-Pp QnHʗM| 6cΉs85 Ҏ16B/G R>Z7^'UG'd $R_&[rx A/b9Zg|-0D0ebb~vekZ0ߓ%aŽx4f{3)`$\|ri#%ܯ6kZ.X`( բ)]DKk,7 qfhC';OM]+ɒaޫc {&I4?ocFà3Ϥ癒fbQΆrT^Fh2h3#[φ4b7h V ʅ=j!t$q&%e_0'}yFk-O֤Hi*V@ϿʃX.e|(s _])MٜLfGWY2)k"eM #}2DM|&9vzn>7^гy7+:bB\ډҪZn~?P1uRoL!uTey<[6v2znsM6E DhNqqTpZd mVn tݲnToV5o1BЅ|TdA |+,{[b燹M[RWW=Cz߄f_'~b!԰uxR zJ~e߿_^899o`4 #FB׆@ ?OYsQ;D{or E/NưG#5.f `ʱkbyP@翫@,=h7G7=/@6oT|P9zj=$injtgp#JUsVqv^M,q,&!I9PlbkƏG%}:L~tt5ˢǨPP0XO8//~v#/jT3)ص_k;ʵ!Jy2>+ -hdL=cʩbJ5Za\e`Y^警5IER(vïFU݁Fv,06\ ]Ke~V8Sb;z4e>U>yٙMϙ=`vo.+^e(bp5Wy|5y/55@eVY8W ޅ'4{Yj:Ez#"?[_u EuTɼ`}a&\\Oy%@vq! 8ρn[{Lסj.A9SE:>%zq{>F'AaV:|_ܝ0,1W'  8EGK3ULlaYը" "9NdJR]*Չu_syĀ0b2 dTT)@19G=:ٷ e![pc\1&!b٧& aJT9<`RCJƴ{E׊˲YC ΰ<Li,YCA47{6~0'Oղk<%-<5Q\_s7 @|k"$+gc_ YZÞ+Xfiصm9ž@bL *$-W(Rh6(e} ౵%-ԕ)Vސ) ttZ1DQZvC$~|}oo{FZ 2wAD }*? {' *1S>|=uHX{&@&v륋8LjؖCXhL|6$%e}εz%ʣO֬2 Egp=M0d>^A8j i-+9ӦgaPE/8V& =o~b$RPA#}V0f >">!y "&w(wzy),q :T-HdR"doB)]y>p3pTp?;Km(8B_U7zL(=¯-w_T-j 2tyo :gt7l*_>+_,i*3߱ 80Pn&b`5Ҙ)rɋ{MHS5° TP߀陣'"/($Zy4J}>rϮ!wQnjkg2f~5'Ez^ pE᯴SMm ; {\<$b0*^ɐozv e|7 #]}22q֝ws~6hh #ion+SlSIR \#ٰNXhq")3rVAUR"!+jR0?ښ<}{1SL7s)66d#4?]tබs ::ѝS-YzQ(??4x&V˃ahO8B`9_:׳P&3F 223"ԁtCS=cgHME e\]+A8j^_ZRț<,|к3ْLrnF|Qjw޳G(k')CHivlSq\h CiH>?zў&҅+O0h9w!vәmZdʬ#T{aO3oMkN:$ ?qQQ뿾)%ּ00Re<[.s$Ͱ{]g>k)V()n\