llvm-devel-3.8.0-6.3.1<>, [.B/=„i~z W7r;[=K6HV4-ˑ c B"&tR<)HJQ[_&=h#V Z,_kFN12~9Cq $-R,ho!nӖtO\t0f,yΫ-{ԑ{ ߯$Re~Y韒pՖ$"@qf4vLvtDRKŠ{ONx#lv}ejf7gTؽDZ)E>:z`?zPd   / "(04 6 )8 =<  dh m#r#77 8 9~ (9899'`M 9-/A . k'+ (Boe. b 3"?zm#j0>*X ? +AC07/!owhF-T; Sy!QE) y*6k&! ,=r! JH D m] vbHr)U T6 B[ hpv6O&QR '  &Qe-/ 1c )'.upG .[` = >zK}O2"T| x? <I:HBeW[%z &7 yFI$b 73 <4  ; 'MjY Di}JV"j$4?? m _}?[Y4S GS-h7J1SH^a<#t,u+>Ue r@HY6QZ*C 3C d#[Jv0+m $" * D[*pG6*!FIgd$(xR 9mr% <LG+3LS/d@AM`K,9j]?I ".)0Vp?c$60 S3"_ 8%tM- m$+FJ=ikMcF ]& AQ 6U& I34'P9L6%@t{|m[T*ng9I\'> lEGf -t<}3 4J5Z &S `15 <:f"  A `HUluy8`^ <=D]GfEp8 ]u$Y%s35^  a# \ Krd5l t Z  N D g F~zHrW#T6N WIT 0924X?-Wf:c'p %LjP/]^Jp721>!/ Az$>1H \R]-O =} ( s7:m( OS Dz21,D? { V !5f)e*  v ~ \  7-`T5 s  b""  vHOQ1| A)% ?bwJ^;z7`V7Y | cy@/scF?XʸMQ {I6du 7Lv-R/. &G0{&L{ a ^D b! -1{)` =`  >l?l K?Xun18(!!!!.rdhB+15ZcfX"s5U7zEUKXD'!jH*]5<+\+!4 4REJL5% 2`L.=]Q]TfIFBn 8$<xC)75X\b:vh4Hv"H"W;kXHh;"e.<6U"&T-Vv;БarX!@gX0I+*jT5 ^{dQ0d).f_AA8- %"u  P'd?? PY +v f  g||0hH:bX[  ]@6z!z\1=nW+!9d }u WO%4}% A[Q-4GL-|3?,S2Ax763/jUUYoIzM{,@3.O,*5!'% u[[fPv*[ &I`/lYYc9bq6 U^>~׈qzqQh] r"Y(:]{S wqeI < s :mE%D,.VF) AA큤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큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤[%[%z[%zVseVtVseVseT*VseVu/VseVseRh VseVseV8VseVseVse[%zVseVseVseVseVseUۙ=[%zVJP0UDU' V#VIU\PU&V V#U&U' U)nU+UU+Uz@YV HV HUyU+V U޳V HUMT3U /UVjNVVVV U+U+V]QV)mV:$ViU(U' U&U+UQV HT#T#VqU+V\gVF0V\gULU&V]wVV*jSkU.VBbVBbUVBk[%zVJV1HUV.V\VtTVyVOnU+UrtV(U/'UPKUU+UIVrVdUVE6U+UU+VkV0YUVcV{U+U+U+VVcUqU+UbVhQV@eV=QO&VqVVFU+UrtVxpUՊkUUUrtU+U+UMpV-]TU+UȥwVZUrtV7uVsU+UrtUU+V`UJVSVSPUrtVeCV][%zUטUט[%zU+V8UV7#VqSVoM[%zV|VVTVvIVvIVXVkZVi[%zLUVcUeVhV3 [%zU+V)lVhnU+[%zV9H0V3U+U+UU+[%zU+UgU+VVSyU+U+U+U+VUVV@UU+U+VnVplVvU֑tU+U+VqVtGU+[%[%[%|[%|[%|[%|[%|[%|[%|[%|[%|[%|[%|[%|[%|[%|[%|[%|[%|[%|[%|[%{[%|[%{[%|[%|[%|[%|[%{[%{[%{[%{[%|[%|[%|[%|[%|[%|[%|[%|[%|[%|[%|[%{[%{[%{[%|[%{[%|[%|[%{[%|[%|[%|[%|[%{[%|[%|[%|[%|[%|[%|[%|[%|[%|[%|[%|[%|[%|[%|[%{[%|[%|[%|[%|[%|[%|[%|[%|[%|[%|[%|[%|[%{[%{[%|[%|[%|[%|[%|[%|[%{[%|[%|[%|[%|[%|[%|[%|[%{[%|[%{[%{[%|[%|[%|[%|[%|[%|[%|[%|[%|[%|[%|[%|[%{[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[%[V{UtSRvkUHV VT|STm[V VV[ [ [ [ V`8V!yTّeV*[%e8ba427b06dc2fa578805a6f74295ce06a381ccbfc544856195c5c499523d1b553ee9f9c3c83092cfa52ef7b6427d6bf4b2569d4ba6f690857f92fca313febbcda3898a9a065aa3223bb35f985801787532e6de551d295749d16c97648d4044cd1fe319bb872fe77468148cef82cd926e6758dae363fa544a15f9fe1a92e4c79ec21aed2a7b073dc82885cf6e31ace0e0fb9dc87fe0fee75e9f6bb0c96bc96a49934d193872a0db339a16474ee88398b9879320bf3e0159435741a383926ec321b4c9e78752a08bf15a0a37e05c6438621c8b22b35fbf7232048ac63b6d76584892a1bd7f6304fd703771a0c6e5b64ceea9eabd8ae71d9de34afddd1e4372e8d973d93126fa8d0b7a45701ddca7e8e59aadf245bd685df7b72cd805b107e2771dc56eed2e68161ca352d0cdf285debb2e760bce2ec0f63f14e05715ebbe5589c892888826247ed56f7ae05d4a7e669b23e1af7b40a10ff416b082e4dc4b64ecb62a82f8f033c5788a281fa217c0d41190e5d7154353da118091c1c04b5b8c0c5d221cf452a4efe62eab9aa66dcba03fc3c74fb5d4bd73d3ec7553d0b0dcb0f5f5063c08f1b92dd3e342fe0c56f2d9984fdb8d24995aac5913ec7cf4401fd453684405d4a67de4396047cb08860bfda39e84c812e4d28f094683adb8b0aa3c0bdcda5568e1c81d251ca19439de3587847bfd5db4feabf0d61e785a7c726dd1fad8e5833fc7a09e865d1cc94f3f230cf24d9484050e650f93d8baa732602c84e0416ff087eb8b6d8e4a53ea17e28d5c1193cd4a31465a84e95bd1db1aefdf0ea756f5a6e9aa6ee48abff33432b545dd916ca7340c40c3dbe41b4c954bb8b2294a4e74c453d607faffced8a12f630266abf394fd0add26a7ab3e74f0c3863d3dbc38daf561f3c610bfe1d075a3c165e76f459d506b2a2b5a20522144c33f1c70d9f5fdae488b867324810d618c6afa7ae325f0eaa870d0cb8ec820b93d46b3bfd5d74fd7b119f9559e3f382795115e85f5fa5f816c04b2ed9d0ecd1f87796fcd7c88cf33162bc8894b7ad3f3eb71f0777c400a7dd8e5c4288aba9ed568d648cc80ea23bf8ee28548d4fc2eb4a6afe087bec963f7ba4adf7f876970c053e779361bbe3d319401ab832efeff3960e04f570b410912cd701ccda3d8e6c01e1f87a9ee2d2c3face808de062d7dfd917dd22fb29931170fee2d1a8c676a731603306da3d4b1feb0bee0023c610f711af6f09f21b13f74980744ff4a051392bc3cfbbba3ff6e242c1018a4ce44caa919a401a89ca5f26c142a90eedeab76ec63fe1ce376f4b714bb79d4b85fc1b5acdbd308087d27ae570ea2ae0050b0f8f7dc9f2adfb4b9c1b61137bf8ca91de559c03c4a8d5130f053544d44b95776023035d135d2bb4e06ce9ce8a5d901c86a148633bdbeb98ee1e7e08f7dd5685e74107cb1edb662ba7224f18246f38d2674c04d91c01c1809f83536746b0a3fa21966eec1b12850d1ccd13b8ea62c2cdfb3de9a2d82a19c91eec0848b6224a7197c6b3b9a2da3070fecf8740df2ed7a5c1755d061f711920b644439ca90f1b64793a7d1853b74650ac62bcb9f871f04ed57fafef33cce569fb7e66a8aff94f8b56791a34aaeae644a310c69a06692424ea4c82fb197f9c3587bde9a97cb4653d3e2107605d884d70eb48ea08e6dcd4736ed0158cd70c5501bab1d78e9b2d05a00ae017d67622758a49fba82ec6a82b3577c986155af7fa5b1f48b26aefdce7a9a80b2269031c80af66eaf70e2f65ef8ae502022c0f828c03e4a3ee6396ec62e83255b93e4d4fe1149315476a223bad031b861459a2f364ad50e3f1370abd44681d3da158b47122e0b7f941b2f1853885fb5091c156a6b1a102b7261ed2188e6e9e35840f37bb532682d9a48fe168675d031bc96fc63d96621aa5aefadbd16dd386bd728d0e3d7a9327c9c7689d66a9f775c2c8bee6b324020c7a7f30ae4049a06fa298992f84dc59461f0098914ea07583ac4d90c956e838dd73ef3139a913ac001dc59464b7f19b422dc3dfc3969373a2cc8367791b8fe26868bfb0ea94103ee66ec04fd115091c7b3448427bddce8bb1e5fee2e9e92720389c8c5350ca3624b9dffc37968e247180701ffddefb936ecedfbe6c093b72bb431dae357fb47d126332cb259c78e5af3c5862f12476e48758b217ac3e5b869a236d0d2b282d9cd1aae298c74b73bc86a716dc7c80bb1ffc9506713d68c541d69f6dd4f3853c299d319e18f2928ca40039fba68263a4c8b3bcb90bbc2201f2cc37ed175a0e7c29f58d382989cfbaeb788a9f9bdaac99c98486e49153a5fcf55fdeade9fe82271a0b810fc8579cbc95c050ac8ae400ecbbb3e24a012d87c6759640f95fe47706e60e8fcc6fe329ed37726202300bd89f30261a98ef5ac990729d65a3b202639d59980d1e8266053a16c708fddc37c8fa2b43f041287a28607cea7a5f343ca0e84b7acb70826e034ca7a8e733fa31e7349f1ffac05f682eec27eafedeacc325caeddbed66d93475d9f37230b4fa80426ddae4d2e9ac766670765688e45f6fe058f1573593c203e0a8881ed63bf71e2df01d21db081bb9db34fb03f036e8aeae3b28745c5d177b14cae4dfa7933ca6e60904c86333806f283db3773b085db56d1cf670a994cb4ff3a565591ad33306af094776fe2fb57fb44908e2106b28936ee973ce6a2b48ef51357dbcf6391f3d78f30fd94ccb5f648a14fbd271eb955710cf61945f3167b0e4b066502eec3ad4632701545979f36a98a57a8f510f1a0228e28d20ea20c01ae03d5fe72eeec8b2d0ac656df7d5cacfa179bb1e51b56bcd47d5a8466416faefd2d894c4c2f835fe97749b2faf300325cff3018b28417fed97927e325ff0f12597e58bc51e6703ea4b0d6c01a335971397c8ccb570267d6d2c0f67d0f96237827264c733b91c3fcb5fff91755141e155e562e7a0c10e0f6753b30fb6f712fbd60b0247feb2db35825655977b3998ec47c6e865d19cae1e5b6f0c9e25c0ea0998c320608c763560b1f5bcfb73c49f500010a92982240963282e16f10883845bc090b33a36d236ba905084f852da86de41d601ebfe660647e39b59edb126843b20a1ec06e13a760a56a8164932ebe49f3bd6b2fb68546518c9212ba8c3cb8124f436d98acc5c9aed945681fb3c0f02579dbb9376d6be2e1a0fd7c0eab190f360a921a2064027c7a63e212f3a3ff35e71f6800ad1727ecd3dfab18c07264424f800d873b018ea37722a4bcffd3ab423585f89a819a371a39a9491c24d6849ea47842203b8599d5afa7f478783a9c6aac497f4531d5e6d4078313d0885fdb66a5c81a55c72601a9ecb2751d7006e7af22c9a3355426f46666056ccc9632ed4049ef3fa1dd5296f0c2aa94afbf4215bc7f417aa1846fb5f7dc885f60c90405910ab3da7e915b30a0761abda920e0dbed2459aab9a64e35cf6e4becc60dd9e57f30181f0be37d3fb3163a73602109e6ea70844d1fccf2445c1178624935ea257b39392a591b898024e010f604d7e81dcaa42a3b2d31dd3ae74a32f4ca80df5da050a21a52324138845a8090f697db0d85c26530d4718a449f3f05f620b09e94138a76a4675841016248d3992daffe21213851a97d1ece011f738aefd8b0d5b12fc3325068e78c6fb2d0c3d4e58afe886a047c73cf03a875f161c864a5b8ceace6055856488178fc1109f6915d85dc5dc003f8fb759a4a08cd2434e3dd27a4fd71fdbe6f75198e605f11b2e47f07ae13503936a8d494b9bd5e75b15a90e7bf017350bfea1d1fe8536616a47d67d1d7f61d80fc1c13f50965887b08118aa7e9dcf1d3fa69b15c62e6eaec10feeffbf87251b01f104cc51da2294d2fc50bd6e01b64519f92d67c05f4ba6fb55d6c58577138462115a8c722019158d772ef58102d405c02fd4be01496e3e0c0ca47cc820b9f034b4ce61bc5d237f3c325c82f6c2a700980541e0a5dc45933b3dddea83aefe99bb586c4dde4cd06ecc2e2991bc2ef677aea2eb768ca505ce0ae3bd7b7bcd715b1d9551153c6f51f9db2a87652c9dfb40486bfdcb1527bf4ca371257f504d8d4a6b127bdfd1fc4252de1033f4102cd4252b41497c731855f2b0270d41e031d1b92fa5ee40c7bb1876c5e8ee7362744f6372072a7c241c3242e939f855a0b022236279844c48542ca1d8e636d37ed4d54de8c9e262c374c4702d0b2e63232e2270ec0702f6f5b898c2454163baf7783333dd953f607d58e73a641ae9a1b4b0b4fefffdf2feaf15ffb0e4b4e203717880f7300a774623864c3886fa4b903999e7608c029c083f8e0a56cc3230269c3f377b607b01c8deb4905e3e4c3118b44ad2557a26d43bc69437b1e2ee6bde05c2c7ceb121598cb91d3f0fa8eb008ebde1e938961837741228f0ba0429759507ebc86f0de3d25c7b5e8b1573d04683ad83ccba65ae3dbcdc368dcd78ce1db14ef007bc4fd2b5e0bb50388b122624a9579819ce57f417aae02c63b6656728285b248fd495509807870a22858fd0928d391df50c3f7ef0070b6b5d47f7344d1ed30ef6e25a44ed1d40b216e8c99df8ea09c3fa0c4c577c51a57e8260bff8f3fb54acc1bd5a179241dbb5ba0615cd28f68b9a29ec2bdec7ede17eb0b1ed012598ebdc13233197f7536bfbdcbacde0d1f85e88caf426726e17c79cc0c3ac3084ac95cf5dd782c5a32e5055147befb746266929f4dc5cd01963cf975db19cb88a8b34a97062895803902848597695aa231486e4907b389210103416bc9594e86a9680993a998ce2f36d35a138b6395377efe634daa24d2abf89afd67f461d95d31548df4726ac987c96128e332cb56b3af0b4882048daf760fa7ef6207a71a76f0c7ea2a155ca8df69ba4a33610b29a007fcd7721b5022682424a1aab2d5f9cefa59480346ae0d98b0d824e1591afa148efa30ec26754964dfb370d85059aabd3428f55fa573fc28c4ca312f20670806651e72186ab4ae1789f9bb6be40cc3a7dea8d7abd3c6f0064551c9af8e694cea34cc6488ddb7f284389101167a5ba903f5e846ac05ccc55ad11806c1c5ed53465fdc4b2778b7abcb72c65491cb9a5e51d3c00c66d0b002c56a081c41592c60eb1240ab3727356f770bc2f659e3929f9936c21aecdd5ab2a63f3012060d7fccb24f6380f5c870d77db402ad1462982a123cf0d542dfaeef388238954144e9c9eed7a34b7d9010fcdebd646f36d42f9228533e65fae51479b8e827e34db076fdc35355ba555982dc34947f8b3681ac1c81be3d5f342aea7eaf386daec8b9cca595d443fca4dbc275b3507b186ed1d7c380e33c8ad018805f909bf5c4d4ce9d79ffce76d2cd10bbbd1118d60ce0bdc79a2009ed647079aadbb2829e920e2fc3dd0761e712b76df23beef49859bb8880a9dc8426b5784c0a74ddb5f67bdaf5b8f1602258f4182aa605707141b374ac88fcbcd75279c0fcc9b172facc84e1e3c1f3a879452ffd87bff63720b84663e8d6272cf441479223271ed4e9c5adbd7882c7021ac93d44b6c510ef6c346b1902e825bd36aced382574ad28665a5cb0d92ab94c955708f97922853913dd653e405c722d5cc8f7b1a880f82815838dd76323c1d353748059ab5e284de56b1e3a79e8af6f2af58d20b27883a0df626f7b1ae23591c53cef83f94f019d9889bc55534e7ce7917f67929868bda96d95510cfe278635c1b0825d1fc8c5a1066527165753b2fdaac5e008e686fc0c94b389ad728407a1da9f1db3b8fb271889444ad7876dee7994b434b3033b82e164292794127f753cd4b18c1949854aaa23e3db4b7c78fdc6255992492b2bff34e9c2901bc550fd2221a6790bbf35539fec3a276ec4c3afeb7027843215e476d8c4d650396f36d24bf2ea9478148442dd0aee2ea88ee2ddf50d33e6db772e5129602d48af7b48948bb111701c4fd55f718d92eed75141bfb110b18a013a189f542b532f4da1853ce7366ee923c0cb0e4f1c582ddc2c93819dfc7ce66f18f17c2cd565f21eb85a198166cee51fcf839c8226f68b19f36a81aec7ad54c33bca6e05ba1fe49d3f606fbd44a73c1a8bfcfc88d8048e9c93c79063515069ebca8dfa6997310d9db5a187f57cd5c1c861e9234ddaa3b62d000bfc8b661a0dd67d488b33914be7ce29df89d7be0990d148c8c50e7f77b27f064b56cacd1d5db9056af376caaf339bde363d9c6c1dbcefa71fc24bd432d91cac3c23dac2b3bb7ea4a4fd7ce2bd5217491e01d1e00e9eea326967be99df7e218594ca08e163740974077cafd7247aea59bc9b1675890ead6a6b0aa2d9b4847ca628933cfae0004049b0ed4bf07fab3b2120c9b16d118728f276a846ca43718b7f646f452329fc81d9df2345c39b19d90cbec17edcec046e8570d9a9feae2c8e9cec7bc4d45b3a18151983edb0e062f3fcab812d7aa9fb21c2a811fefc8d4ac5e38dcf266115d58393f6514a2c54a3a7287544a92e20cd4df0146581d26f98deffc2ced290b2004f66a3d4497d55dd3583777aec327d6d8eeee17826e9a5a6ae25958d38250d8a39bb6ce7167a1549c10087c6c05dab640201d94a73ef3a64e42fd46ebe0c34c7934e5f64b69fc303d75712545e5508c4449d399762ce4c08f7364ed28c9829b06c2c1f5d8a4e343ecb8b2121a5faf68dd2f677993c6b211f20ce1b24c4f893190682b2d18f984e0ac19e3e4d3cbdc803da7cf79753d42e33b2289c4995d64277e3e29b6f4e8570c66014b492ad9f921de5133b57fb286e85b9a462ba9cff46d6a1a74f7745998234cbaee7b5970059000310db98ef7291b68cab9baeeeddbcb745d17effe148426d00e9242178117ef7b0b0f9aa1c74d921bf529cd0b2fbe5a2643c4b8054a1e1428458175cb8a3297208fc9b182f134669683d6a557a6f8c837b9a484e94a4b3afe5be7e01b518d69f95c89e7724e8af6883193a45c35623307861818c188105a6fa2484474af79651f85eb5195c859be2c8bdbb0a3c78c5b7e65ff2bb69440f942fde1be3d3d38cfbd5c8835ce54248bc5e87b25a0e9e2d979e553ed97f10d6643e9d70b039221a072052907a4795d4062fc81f34860f8cbca7f99690a2016d53acb244fc4114299046c1cd1d7284d88e22639820b056b2ca7939e984c15c187b8e66dba93163d86f12aa9940cf67b5e09bc46238a307d5eb10779f44df89b515e96486fdd7936c0ca2575bc6c7a72968bf62cadc8ac4aad2fb4d309f71e399f3148121dee5197e76f034940794bb0be7e642fe701bb80ab7674ab67091f7a7f2f3a700b2ed9543976b8474869c1ba9d90e0e91dc329625f50ddfbbf96c029a93c5ed17ab81be2d1a04eefd68dae2a29a0e5e71601d4d74beb2047b49ef602547a44482c1c82e3980c399336c859383c833ae5a82206d6daee5226e22d848726e8c9f6eef5e793d5c7be7dfec498bf079e14e2e00aacaee7494d4669c8db79f61f88750791bc490878f0f5eaa6ea9ccb39ed1a666638b63846dd71df8f7dfc99d572ecc7f9f2bf1d22ff1abc39002da46eac13920cd43b72300d3e800d7131f060437cd9d20c8e72c1587615d7b5f86a44d6a9dbbd9ef0643747f3314302da3ab12777b401a0628e4131e3aae1f21125f90e6eb5212e9e380a26854ba800fc29fbe1954d16caaffb6fbdea95d355a9ac5adcff3a20c61bc46bca972823f6b90a650450df272cc7218964bf8c792fc40635d6e9cd8f6cd275728ef97c4859c37b750f2abb2fc0581c5374a4a6c624dda51e7f0f87c9a10ce094054f7f616bb9bb0a42a050d27bdaced8fabe2d31d13bdecd95e0f03e2414a45f5cfc35dc65b105547e95fd0c1fd89adb3ea90c7a0894e48d97746924f9a5309e700806218ed9c3b0178370a447f8f6a1094bc8fe51b3d122583bc3b827dd8ff602edd70f0ab212d3efab5f6f6b7afdb7a06bbfbee0cb8f245a1780895f82eb957764647ca0cee6ca0cc911aed0d39d3ad71c6d2d8c888eb6d3bae98576318f73eb12e546af5ca9b486647499d518af85ba2e2d99ba3dce5cd0a056acb3a269d5025c1ebb7e049fb2f7f7721e45ea218ab6ac0fe6eb1dd406a5143e67cbc065108f44b18bad771501a0769223f9d884866a31f7c5b59bf83c543208f1d0acd4e7e9a14653281da492e50eed13db62c52879098eacefafb1e0819587bf8bc11586213cb09be71ebdcc587892366277ada6742686a19bd9ac36667ca590cf419fd57c9aa6b1255533d77c8753421de42f9b49a199d6d95df37dc7752e3bf937cff9f431a2729ebd9c02a9a6ba11820313903bde595be18998ce254faf3a4d51421d5bbefd3ae54065feb509bb3fb1f3aa8d06d357128a95160fc0c2fd7fd70ae4f55e1390a75c4faba3be6bd41920ab172fcfb44206ff5c8e35e7b07e60eb373494d7d6bffad63c96a5a446738cbae247bc50e6406420fb19c1085619eb207c7cbd267b9fd1e6b9c3843baebe182677b572fcf06509be345f52e18cbe69d9f0c3f9203e729ff478259b74c69a405b02fa3cbc60b1fee44ff8cf86f1bbcec5faa0127d007abe046807981b79fc025d2aa598541d74d3ddd50e4e52751e35962837d0ac1577d7ec4567335a14b77f0f4da941c64d2f85429589d3ccf84a576d1cc367712aea2e8003aca1ca5d7b82ba1b5cc13d1a68eaf0b834917e5013b13862d3dbab465e722307c9f5401ca78e0d953232d1c7aff69f750941cf87288b8d4a306f035791959bbf011444e974f33a36df19056f1ca57874195b07ca33f0ffe020d32fa2453676e669f3e9bfb4c0b84bc0d37d97f636608c102e9ddf4f6cfd9b0afa754e88c9f025daf6116af046f3b7e92dbd0f3f6468974f7cc565cb5708d72682955ff34deb9066b2ec2af75b593f97695cb5a6b344198b0fdf9f930d78d700407bb68f86c1d03a52fe629f166b0d5659828203795e0bd4cb0a7c1015d0d16f66f4eb6cd1ce95b6e3a450cb7f8e3bb04f54b023034362eaa196ccb0971e31e1b2ac01720023f4741746d812f5e03069af40ef0b208cee99f27a38ca80f9d020df16135cb171efa2fa6e76db56291248195ae6dd94a137b2730207aa8134c5f44cd07dd18bf7a1e43dafbc2aa35da066400f193c44722b0f61b8b006cde0dbbdf9fafd7b9f38df6fde8298cf8c20d730f28caa0d29511656c395bab378dbe2d571d1bbe23f8898b1d1a0bff72e6b04a3abf9182efe865edd154d8e4051ed91dc90404f65826d9c950329b67945cc7b83057d7111a7f04ee0662acecc3aaddc03249451fd3143bbac60b12755f11eacc78690f4916eb17d749342ac0ac06625527588c94da394a620bd99fb611e79121dbd219b4f278a5c65a37219bfcda11db69303f8fe94ad4693a274d7631658da202c530c21e557905ac7aaa655330436557da9f72f1c54e10696e3318a43b87aa618a81eeb06322d7b174c23891b8cfad2a3d3d642c1e7e2f456dcf407c59e71b9f9b184c1c5b7e6ddbcf4efd42ceda3b8cea212b9a1a543f8bd16c93e56b3091c8d82d647bfcc7235b104e643f3eaf6286a54b41b5afa7aedb15fce0cef798cef3455671e7bd40c2bf9337ff53dc46f0c3d5493b7401c420f49180f7030856630eca4141a47111bf1bea466d5631f531fbfed574f81b83b4243980ef21121fd3e92d1ec935aae3ded14b105f8496bbfbce11a029ad4c757fee6e7b1a93ce56246c7a561606e573c449074d30958d7035ca040eb643e525cb35c2a2222279ce9e17538bf3b0ee3c7b1624dc02f87417b40dd9ea65aa4f6d79ab9267b36d76dec128e5c0187703e6945c3d9fa3a5d914bf6ec54aba3ba5c01bf6c23d5bee4c4b759b7e694418e183669428aba454f4c7c4722c9304e3fba7837fc418a08f3ee8515778f39a3bd5f7391e53eab58282cda4bf05d24233d8b1b794b11b3eaf4af0f5f80ac72e35491854997ca83f505a947d1be04446b77bbb8775448682ca381aa10ef97b22dbd27f25660835a24a9de087a67b8554c79f65d2fd9336b7b212ecdcce92bbe2c8532323e2c5d26c93c6c5b8b367e03bbafea5f431952a5749218a66dd53c90c946196ab0af70ccdc1a9a8115a64c07528165ab629e6f885d72fe350bd7c41bba670c25331d303cc4e0fd52fe26c800410d6d67dc0c723b57da9092e279c937d6ae0f0045f71d33a452ffbf8617cfc6d8015cd43e48474a6b5af8ab9f70a949a2cfd1ea5d387f0f7d57a95a263ecbf8ec6b0061aceec83218a0cca5dd4a439ade198c5e8b2e7683f02f8e0db0ab6cedf65f7cd53218b407d57abc80ded72373a280ab254b42729d10ccf9cd97c984295c199d99c985bb26fbba73db0de50624ff5a43f8d221f508c4288f83124d2ce293c971fc8e790031e8cf2cb18c8ff76d70618b0a1f1188427d18336f496e4548e296c48480a4c73119f339b1d93edfb5d370826ba5d6240fb59c59203333db8da6befdd3f519a576b68479bb6daf8915cc2407fc79c0dd6a566cdaf2492a8caf3cfae482d8a1ed6bc378d414c2ad73fab8d5dbdc8dcd32ed56f29e721d0e3ea24ebd83aa4c6aded159e7046306311c8093c2a7b6247b92494efbbff0416285e6ed1e8c28eb982e3a7e00e0f4a8b10d11dd2372d960c073c33dac95e6e162294dd65ff974c411e2d6de954862ecc353c97821e6e380533acd61722deac8b85ffe9f8f8e5860951ab67662942ea72be1dfc751b89f55f41c98e53d10bc6434cc028714cdb511f74ded7d3a7b912e08a8c2139a68aa119ff819a55c548e62a2da65beb1aa25ca3e33e1d3f128829835dd2c5a6d6fdc752a48b88f7f0b7db4ff536a837bb5fd4bfb301cf7311ae31c68e1968a19b48d91b8c40895ecbd9be2afca02f5a156e7acf57b0b8e41a2d4670b8de3c6b3a1e54d646e1057a5cce604008cfb0e50f7eba4e09972c1e26547a2d2e3af71e6fdeab6645a8ae3bd9d4d4883f649332244200b8f2a7940551ded9e8333b53ef300aa8b6050a6ae3289548ea4862257894a8f6292d113dc40dee7342115fb3adb7490c83e3e056fc5e6aa88ce2286765ad039bee3b7601da331535d6ab21f0db6b9fbc0f151a4e7e8b546cfd8ff8b3dbce9497af59e18931520c253e19e2f74eb843ccbdbfbeba1df709944b25b2a24335cd5bcdf7c4ff546207b61129109fc5321f2a7fb8dcec656a86138989439d10735a80862c4a542d0d538858cb616521b335843b86b3960e98fcb885d5fc35e67fd17c1cd89c61e21252886ded7acdd863625cbc34b06b9e2965b9bf3786c97ffda40fbddba1e15692f05f30699a9e9f29e20135258405d7b25d76bee5d413fb5eaf2e40d9bb1bc3451312f687998af26015dcc89ed8bbabce03d39c18a3497fb9663bc471e66652c6bfe835bf3cc9fc5c81bd69e347ae42767baaf0e0b65ddb08000bdf8d89a54881c4969eb6d63fa43ca21f9ac12103e470c9bdaa7c4109404efd14735aa0425c84e4ff5561d03d8b5e375446024a9da552e14a31c785e506a3ed0930b78cdcbd21b722c5bbd0737ffe6fea1934f0fb68ae93f69cdef4396ed290befe5830c84601c8f4eb45b866aff31f105fcb1b542cce1a2cdc5ef896d1e8d0c7f9f882c80023fbeb1c7d0c4044f6447e00585e40d1386dfd03939e2a1de863d958b7823c073d4edd301a19766538887164a4baab0bd3d9d0f54a6970fb9bfc7c74a61c232e8a30e63ba18f9a47d9618509e146e8534ce5d89245d51caa9785ebd7b1421f63f588e6ef22d2335ca00d25e80311309aba7daa7a5a8cfd5a5bba6c6574eb1522480eaf9e4da24b70bd4af11f4788c0fcf7abcb37b91498da0fda59a95ff52ee1b79c0f3c56a0e2f4291bd820f9d735084ba2fe45645fad326c506a7ff27e6915407cc31e49e68bb9a56cd29bb318540c016be6e272fc0ba262f986bf41090f5f4bdf847656d7bb3fb095da27098389679ca95e1ced836cb7698d265d6b6e13e0a95a8c5aa58e4c810aa61850e7621eb45ae09a2b04130c1740f1fb9453bbda35b03f9b935810814daf4fd32121ed9709a986f472bf97e1cafaf245fb3aac9755a8973e23062057baa8c8ce57063e8bfd774275d95ef1ad385b85ecad24dbb40a007dee287e5eda55a0216ad4d15a1b0b4b1db4fc35f3f76853e1d6d2c38f6d756e8a690263233b04b7ea0235f02824b3a4f8c3c41e8640bd15e9c3c5dbe97e86803f108d14a6e724d4ecb10e0de8df29a21445facda2775614c64534f1e4f93a72d419e391f663e3e24395e0a29840ec20434613659d51e911734eda5d1a8a57a10059ee550127453cd682e42dafa16a0a1f350e413690888d45ee0853dc3937fffbb39474d99098fd6429c1bee277280b7d85fe7371cebb66a88c0856fbd9f3cdbd87dd78a339c4b3f92f82f952fc0d6a94011f19099cd755f98d2ad684af1fb1a51d5e0f9adb01645a60c837fc859df7e1aaaddc20044ed0098d093e090cb3b99c1039fe211da5687c44a3b3de27ff916a0e82d22f94f145a40739ced104649f76d7ce3fad79f5eaffc813394d84cf547856ba07556d4b3308337e781e29f4f8b3c388ea9c13bf0aaef293b0bc4f4ca4d3f48f1dc35a1275ec8739946dd6f1fda9e146397b53a348d1d7eb2b9a45d8ec3a84150cd1e2a5d9950f77c9ecb57b38207cc2087a5634457a32ccd3351c4bd4b29ab4786d745d643d3f60b18a4c8f3249391e232dd4e781c13410dd97b7a63d6ceead5a79cc939e3dca7a470d7965f82117222f71f236b19d79f4ab93036d7e48041e58f97202a804185d671328581321e098180cdf8a46d452f7cd30ab1a98b3a5dd094b84c4ab5091cdcff7373d8a3b5433acf10809af8612b4b595e6a77b9cab68e54edb8eb3045636170bc1020b27194aa17663a120980c0eeb214591ddfa9ac8a498cc6feabf98c38d8904c5ba0d8e11984d22a9301351627580d686034f19fc45bc4fd49749a6abcec956ce03c93d4450fc50e04266d71ef2ed6936f4de58bce0ef03aca59e3ba78a471afeb65dad72862fcf47d66d207acc9d419584e85fbdcba8c61dc01c066c56c6d88f680ccabce3007f2d0b08ebffe9a28b375e2e1de1738f2cd46b9c328512eb689352f25791288f5ed3a9df26d2096095d8da8924a20e931b34301cc03e2ee411ed63206a74e337beb7ed51af4814edddfe52d39044ec7de4b078791a8b23668421b10dced7220fbc2117ed0cacaf805265c35e5188cb9e4c841801e0ff0a4f90aad0519f87dc03502051c5767375d1c34f48806ddc2960c2e77ecf38c99757cc0c668ca4282d182c8bd913a5ed4bb9dccdfeea3556dc20cce9916de2fa8c75d7a801ae6fe20aa2762c40987545eb74a9617735277ca7edadd4d612fe5250ec9f303a5825d93eb336dd8067bee1ed9d902a1f33e0ea42ab2befaba4f1d6a9146b2ac497d536be63e3b50b4e9abf2c0ac7c49c66b2e3c08da76e5a351e7c3631d125794408d56b009239010cd198d64d16242f202ee3bf57e8dcfca6749ef01190c77dc814ed8da8e9d3e38a7022773341b8b1424676d7465c689c02ecb9710f0cf140ca75c18b63102e81f05278de265bdc104a987ceb4467ed204218c7e389dcb22a41dde9617704e6448308f081577dba1cab99ba53028634ba6556d7aa192e0b845161a2ba8044a9aa0350baf4bec58b56e41d2ea2d9151ba4135914b717c70e2071748feb34ceede211dcf4032d70b17756cdcb28eb05de462d529dabad684688a6a30d4146e5c40271ea2b2c40987d67373c7ea4344b8ba899d150e9566f0f34541bb02cddc7aa320804c71150fe99585e4d180be5b0fb317e0a4fad614e08a263605fe63e0909dc402c73a89fea0ed303de2cc792709eccbd4e9c0046328d95a2e450e8ab7ef4259179715b86e811b91c4790d6302a92728041a331e6289bfb61bca74552f0a33a7e3a5c2cf897163bca1e973a75335e0c0c9bb8ebb80c3b7b95076871079a09befb3cafbc9338d8d5cbd81e019fd9d03ceb1da212b2153656ae1250bc1fd59fbc3553bbbfd4fa7712bbbe16d53fb64e0d1116b09a8d64bcb328480558524e60658433a825aa2bb75c1c784828e6484ace12b28aad2d16f0ccbf695764bbf075149e37fa778416c3e90d214d6d82ec1d9e4ec4d7903d7ed812d8aacf9e0b0c486e41c6a3b6dc4ab5176d93f077803790d31165620b67f1224f710a37a9b3c4e7877e479561a80106ef55f2740d3400028690f2f9eb919916b9fddd3364fa31e60ed7cb65d03dcb84e9ee550cf42b7e57700eb4f0153ff61139cdd3f3d59c664f81ac7c4f33bb35e048a2266ab889596445df214762a71d13eb325fce0392cdefa2dd0119c0a1c11a7cd737643518bf67f1e8401b1671dd1cecf913af99d2b0bc5aae1ecdf1a7a88de9487a7ae14b1d1bc716ff22f8594b0de516ca7a965bcaa5ec608d88b3081ee1e71c0760822075c6435a18ee11aba9427f3ce295c6fb84220556fb23ab7a53bf32169b454900c45ae890e8b5f27a1d42230cc6718c60c762756fbf13a45e3615a7cf20199c4bcd3330df41b9759d6b9c80a89e0a6ca2b1b68e94f901a827967bb09974e942142614dc35dfce12708c43174ce115ec1aeef2d3b336389b01835f3f56afb705ddbb1d49bb425f224cc5d70bd18fcbe667be030f773ef89ee6bbc94acfa8993b94e669adc9c5b96a125a7cc1bb6b73b84a78b7dae9ee18b1f88fe6230c89d3d32df9351e5767b8e0cce46b0fdde4182379eebea902dde7ca7e8aee387cb1a2d25bc397113cc28be74e5c1513addf98b746902a542458c78dc0c5d8a2efc69c13733765fc4b0c3f85619248bdeb7b552faa23fa8bba9dfa5efb0e30306f6f777f797d375a10b599ad89d3a8cc9a8a4c3fef4dcf0ab1e22ddc3015bb1a83ed83b95921f580968b45b6fc12d77c6d6eeae7848f8eb420e4515948dfb3e6b951de29164d9ed3f2cde8c6eadf732043267579d2622bf09465f4e8a0142ab77db8457815c881a64e5f45520b76248dc26372de10ef77653620bdde98a8802751c2a040a0014ff0b55b2607838b22ed6423831ec40d5a0d6d5de8b91d07583e5f330f885702a7933c696e135650dbe4611a0f2aeee642c171c2c383eef7bb32a0220d102e52d47b563353778f8f74b5e643f9d9be2fb388ecc4684986c03435151a0086b8aaac964939cddb8e6a6109039085e2ce35a401e9b34945f851d87674b95be503ded3a3da928d9557c99c1a39c964bbb3359450e6d7adea8008643f1aadeac7ed24df786ba3c0d703c603bd39d3e8ffd7f89b8d12440ec181e2b56858596c6359aadcb1e4b941114c7abe0f13a95996c4b66a4e0b86429eb1722a4c7a95e26334f6dc6d57bfe99740a4a94907dc1c8b1e77250fcabe712b3da42c2c3be717176f953b2314ab360b13accc9a18be24c7bce3afe5306acbe8a9f27143cc93b5ffddf4c00a3b16e811401dca3cc0b8690b940b780ced362cecac89f06a19ca61cca0ea98e83c8f212223d14e9e1d4117256fd66c58186db497c516636d873e9b96f4a482f935b72727ec0440850916ef59e0c32bf3193ec64a3a74062e4c17a00f06059c793bdc88b356e3fdc3b2279d6df6dd50f58bbddfea2132a60e46f0d1e3ef4a280b1fff6cbbeaf2de83aa18f6fb8c82e995ab91a103363831fc1717c72e0aad3c0269194e135bd1258e80e6266e76fd4246f3d98a947cbb78bebc0ae7b26da8b3db0eb05dedf8a1ae7ccefd6dd6e6078355486f981feaa213210237619b4411e87642088e2aea190e43204f728ead11c21118a3ff8f517f6706b960adf7d54ddf8a2e0ecc325e6acbb59c838ab4c7e0f8f50f21062c2d3d79b132e76943d21af1d671caa1767d605cb0098a8c868ead8880c0cb9797989fec22bf56bd227dd6def65303f6a1950919f079dfd319132f50091ea9cca90a4e7c0e71cfa80c2c83a5767d5fc57e6bde286336e8d1a2f6d9bf1ef11457af810484e87d9e13967b11655dcc04d12cc9179b17fc46e171d3d038031a9fc0456738a2f5e51f3a32ab5bc48f5da4e4eaad40f076f6da8e7e824b6a1084c8d86d9098c4320fdf9fa22e9fa06e7dbbb69907aab7e41cacfb75c57f6c1c9728541aa8429bcdef9df2463c016b98d9d165b909905422a46ec99cd9630bfe06c23366a74b01199b2ff74c4e0089db6217a45ffe8b79bd2aa55dd731029be7350d2e0d623e358ca6cad799cc7a3f448d6e444f4c58132eb221b39db3bb5fc400864ba62f9124d87021c73c0e91bbea79d56f0e485c8251be38782718edbc7de08b2f7e76a7bec8983bc96995dc68c625e5e38ebd93d7e512b6ea015c2e45ed1cb60d764058c5d8f307fbb59426a94f3ce5c3a54804692a53f67e03fa41e63087704dc4247e2e513de7fe7497a0c220ccdae6b7de89b73c1fdafb86ccb82dc9eaec8783a62c9c7d520b77ee6b797681e18f4296dc90757e1a74fa2a56fe707751cf7d43276f24e7e198f9ab6d65bf8f13ad7176b4fdb7f6d9485b71f3fc4887e4b9e36a8a91653c81d236f4223216f0f8c6fcf8011a23245da8f595ff858c126fc8fe5d8b4c5293286c26852a1003acc78683d449fda40e51388ab80b9abf401dbdd2cdee71f7f8c2096f73783613e06596cd88700c13c4f69d4644bc964098aff461102e00e5413f1d7d791622481630869bc06e0016d62104641816f6df0e1e59c8e0fa5cebe7eb745520aa572e00daab20dc030f8fbf6b651fdb58d8fdbf45d61577ff1688ba39e9a3c0fa8c99d80d74b23c7fde18d69c9f124d4e1e297b107b8f024701378008509f238526439ae669eb8fd526930c74f68ddd675bbb30d93c252684b283aad744e439d9c645e9430f85ca4d0f8a73596ce3f61b9163d7759d1d2b3b3d1bb3ffd1f37d67136a0f421948c97a308d65b1157080baca6a156cf5599eb1cbe8f9edde7b9da2b10236b52c01f3807df9e3c71c2484271d772f2f70ebea3ded96ca233d6bc9f10933c9ed27f1c18339ea162f3ed71bc13c651e13b4aebc7f2f757a995077192be3d6306c17076e10854b0c4a3dd66db29d0f9195520265fa5f00824bc0d5b5882f69734b270c095693e7647d3b85141a8a2aedd5200a4d4bf5bec2bcf56fd40e08c89bd63d5470ae077fa73c09a6f1dc33f3fcc30b6cf4630b59f1b282d23ac3175d3c8e0607e59eab2ff16ba08023cde2ad59db1647c729084c7f273dc947ac0f4e369a39401778abe07fcf2d3d638342da8dae3a6e54d83388b323f5108ff3bd4cc10b7118d988b8823580995d9e41d66e79b150a7574f939c79043cc40dfba1b88f463ae8c14a42634aa0b6b86f880c90630b1fba268facac0236072cb0cd2d77f7d2e54f605aa0097a98c10d31e07f213427454ff85b08f4a4fa923afc67b6bde70c8406e5a8e2e55792696d43bc4c0b570f99a0961ded45f1527133c4a96aa73182b6431dc64f6e5f37ef4f980ce2edc634ecbd5b54e922bad5409be66d07cd3fd5d11a16280715638f068416b5e2bb57778e7f706a4a547ae7ef4491247f2f3ffe68e36e98418e8da145d3dcc6df577dfdcb62bf8e269597ac9a6bd551206e56d20642cbb29c43215245370695cce8dc0eac6c6333173666a72fe5e65da6870c662e05cb484083269cabdb2dfb5b5e6c567f7c0e97660e5ce599e6151236e0e909b4179ad0175bd061ce0227fced2e5578c9c082bff5e08198863258a8cc56c7bf1e4f5009c9caabf46e86dba2c23b967bc1271d0b341387bcd761c72baa429493bcb1b4f322223f224d013917fe291fe470723302b5a3b5a2e144949812093910861fd805bd18ea5548ca930da4c749e379baa3af7125dc07784b9c88904818d89e0f6a77c28c5c8c2a01933a089a6529fae68e79e8b129ee4756a4bfb79fd2f8887a51801cf3036e660b0b118fe4ed7441baf5d67db048fdd1f6349bf2a74ad485ce3e880d9921bce921784bd4d33e49ff81ac536985f0e4dca19a5d01a8a73fa871eae85f342f08471512039dabcdd70cca492790617eb04ab71650c5d81644224ad66a9574da2adc4dcb69f97bfcb2b0a5c723b0eea5e30ffbef7ff88afc3afa20c7d51878bc5516bc8a625084d219d2349075309378327905e21d84a4a1c531a3ff70bff65e0ca75ff32eaf09450490a23d69e530498bea2c07c927c9450474bc57efab457cb8bf54c1a943daf24754a2ff0bcd756a434194f024bd4ab7ec321283a0416cbc4c95f665fd24b5730d86beb78cc69acfbe271e85ed3692d6b857bdd117aea9e791678e8bc443a73336ebe905fe673241cde1cf2dc6f5baf2a35d06c896d97485d4d4158e6d75fe774f154cd84872c27e4627c429629bf7bc51f63539daf3ded5d8f028d9e444642b99fbe23b4bbe4166d8fcf3a2c6b612834f9f21fc81be19b9ba7eb5c8e887ce272260a74e6ba73184630cdcbde27f5e4038a78941111a59973359d6f752ef9d6d683ce9ee39f3492d2501f647a60815ccc315904e3f5ab509989b90e15febf76cc44ee73e606aeda4ed59dbc9aaabe3a3e856498b85fbd2e75b26baa427da06d5b4740faf86a486643c10f836465e7b529a3a546cf37c931d366b5e565a5f74b47f2580baefb834b8cc9e2d0a9247b55d1f2b066a37308457b02861761165b2961f0d99954b610a815a4fbdde4eb0bbcdea22bed71a2dcd5e0b7354998b8616ed058eb86cefb20f3ae0b3de77e05fd332b002aae243ed7b66cf83f2e7195f9a9d2c360674fe768f9f5750486dc469d79077780212842df121518829521e8e1f695b0660b57a2c9c09c92aade9b024549c8d0aa4a0572591d6a644b385db5e7c1ecc21ad46988dce8ff455688c8545db2d187df27136d57966b75d7531da5c06a96b0552395cb18903ba4bdd4749ca31dea624d813e6a013ddb827f6d088769903912fb4d937e11f1dcd7568c4885730e45a225e80f9520be244130b8cd926706bae7d2bec6a88dcb8363074e34f0f9d236dc005916046861a1cc3acfa863640569eae76a88eaf4c857071642144be9a0ecb49e35bcbfb852f8f7b52b6fa25d385252e74af6750891fb8807687a4f9f34cab5068121eac03490bb42bec3246f9ccb6f5cc56fdaf7744678fc17cf11f2322b0c4c167707f117aac892ea4a07428b6b248fe22b5f4f31be65d80318fbfc735f41db17ca9b488130106285b02535b70cb8def86649c2dab69deb82e58487959dfa2d3ff72c28ff2b02279794e978273af868509fe5f864e3db0bfd1560d5005eb70e376df1186487a8d9484047ea6a1da8a59be944a4527d52391e8a14372e116d085bc483895166b58637a9e3ae88229b4a955625075456350e5689f2a13871599236ec119ef2b8c2ad8c63b7a7870b04700412d413cb92190884c93ae931fa41851efb537b3cfdb34c9187acb25c3d77c8e969bdcd690c005e36641e42978ee65ae05e0c54daa324ea959ead1f95636c25d3c150487a35a51c6092b80a627e4cf6d67214949b01b16040ed5cb5243dacbfe785f295008d8a3172963495618a21daf498df6fc79cde534293e9b503dc89bcc651e7e74484ff5d491b3215a919bc34b0b3ba7ff2d708aa2c9e2e41fbe9d1092d80c3c076840df6188247326be3eb5b63355123e71c74ce51baf2a76a37d851a44cf0bd0439be769f3f33b3052214ca45f0b1a8792c84e167a5473eb2d0e2fb1e187f636f004d817ef50cb2b5bad8f9fc98cfe18dc47bdd954ded06f1c03f4abca80d5e9d96b309729648f0c8c680591353758ba35ad55f33616829a159e8543b77c572b9127c979143149f1ab14b546911620ac4fa85d07805152d0a969c72654ec898b55fdf9b0de020785c42509aff83bc9a3c485de0ba80ad44911a65254a4d50a6a644bcad330f8f866184451e1aff8d7e73fdb603e352e65a18cf1881a6a861f8405124642188f05325b6f4c87c009af7161bfad464a33eb0d01adac6e5fa7aa39b709e63bbd647252dbe5503f66a6e9c657e314216d01fb1b5a53c715c8ca9f40715e3f73e5be65dba322c9453999c3ba7fa9896c5605ac2324d9c821831144723f72d2a34e08fd50a9d13fcc817bb7e9be72d01bde1e1f8df055c8a9a6ac80b3a69b4816e358b4b610f47f3964b950ade063ecf15a1d8aac81ee2a4065709346c25c0465703883eb0d69f46657e25a9a261c2f3cbca6712caec73977d6f634cc8d01cac6a3a37807b8708a6640fdcf02f4e35f23b131410f54c840ba34965215f83a5d37fc9fefe84a3888203ffcf66f3a03c3e52d61fb6c48a8d5e14c689e8bd556cb74c5b8a7f33d35453dca4d4090a00ecb2ef293db8209e14dfc17cf654f2106d96975bfbede07e611e5533a3f297fb2246238f4e8d73a4129207eb7cd94bbfd8a0b4deded66888f3fb22ad474a11d9776b487f0bd7647a0b71f9d1457e485edaf28dcf0c0a69e3a5d34a6354648568b91983cba189dfffad3bbbe571c3d5b96e3234b3655e1398069da611dbbb105f883359f33cf2cc8d7bfcffe01b4db7aac8b2f0dbdff1e8f4ac281f037b7def6987e4ecb16c099c4b63fa8ca271005834237a47885a313e377b1e3c419686525daa20ab5c78ee569c45d7424c303a0dae73a1016cd3748cf38f18e0bace848d68aa27932add57b47aaa2871162667f214b9ce1dc81bc060c613448b272c832c46ccec419cba5066d70483c93842663a1f3b33078364b3f53788b2d11d51d1492f05adf2d7a58b3964130ad396f24d26f4ce1821cc6326630259076501788df0b163d28db85f37896955627139359113e91a936e0fa4ee915416a445fe90c05a3b2b004f02b4d9559d6e756f1b8fd9ee1abfe7a35e7202ade326e5123d3ed145fd3dec4fb0d923c76c036cede85cc9b9693a81f54db77982680dee5366c99a1aa26e5d93816cd3e6624c9f526a201f74a973d1147dc3acfb659453aa463abc4947763cab8a0a2f88a7b31d7d25974b9e24524c88ec6aceede694a0bca07516fa2cf3bc19a6eec270678b1ddf2cce85877acca8d8a73ac268adb8c0351e5f56c15cf6ece70ffe326f8b15ac4bc685118fa72b68ddbf33f06c2005f196afa836e16fb9b911aa365344dec5d4f34a034cc8918657b422263b21d8af86233177c9b94aecdccf476c7364ab42d65a8102f79fd821df4d8e3868e207021b752142e36bed38761b65a558c432144f2366e2d10791d5d231c0397fbd004d008a32ae3ccdea9ea78729c06420c72ecee4bd886e5d811396422ca83ea37901ae8c95ea8051f332369a6fc5131da66a97b0b12c9194647933bf1a342851ae0e28aea4bacac896ed12327d82015eb3a75d2b6f34a119ed7627a4f6c675ad46c6a79d0f79572a405208bc1ea1fe229fcca10e7b19ae0b3e9339155b1439732fa9fbf67b07814a2e7f2dc54218a168aac468c6b32db2714234a3e6b61556e0b00f7746ca66fe3d056f79db5ca0782a2ef885eae3d19719fc436a3102c611e62da88511809d12b3c4cc444d794cbf06205e418523cfda632e639f8a832f59cd6e826d6a0e99e255bea0e941d83902c8f4a0bb0fef2da03c9bb0b3ff57e13b6a08511a0011249a735dc19ddce548dcdc4de7a7e307f11d89822a7e0770f2c7c88434c18f64175a765e9e6b5cc1f924f88da4ce9b4aa6b62e8489fc13ddaae7eedca66d0fd3663f6c18a88fb03ab7547cb12b334a7290c9831b753d87832372175487141efc5821682d77775d928ccc881b96d2e8e8a9f2c4929e389926896fdcb67810f19ba01dff67f34e90c81b016346f5ae9ff3773598cbc898521194f37290c0e8efb9dcada0554ad9c49f952d230c08a696854fa59572377bc6a369fa467ec5174f7514648dc183342bab518da9e4b90fd639a0d244b7d7836eba93ffab2e14da32ce7988dcb4b144a0580f86e5f14861630bb81fb08371dc65e625db4e06799ab94d5a25af783191f9039a37a1131a6527ba58491d37a943a3cfab5e94b82537e3c1a90b1e173d83f56ada9958aa616d4da5bfe3eb01b5f9efeca7049661f6d2a69bf294fde7661c9f2050ab91b1e1d513dcd7fa7cae22deeadd5bb74493b833bb986995034cae9b8e4b9f1a9d5d788d73c33f69201b81944c2d9e56ade5e0c25f0a47eba440e3c4b02f6fbc50379d1e803c6d1c7125a30959a539bbeb558ce694f78c0c5f52cd135db25d55cc2b71fe70a74289abece3d0889e5940af878848ac834e92ff1c3fff8bd58ddf9c9be2281bc7ea4511fd72579448c9c44ff9eb4983dabb9e1a71fd3e6d9a8a6548e4d22aeb62fcbb1f6871478d08ff0286ac6e8079ebf9c0b84d3c59cc0126f7305bf89762ca5e47318277e3e55979f266db354372f27c013c960e6a56f2dbeb6332fc73d70e9e1dc803a0a4b2c820a2d5b8089cb39d6ab057c9aeaaf44ea270a237b37c73774d5a88b18d44bcceda96f7a44c07d74d7b598055fe75bcf0e437c4060f74b09f7502ae2a6f0606e2747ec870b305099761663756203e6bdc2204549ba1395f8e16738357b9a231c977d362190ca354e4d5234e1eeead90af6cf0ea9bdf2b76518068c12f8d7e51f81916b26e26cabc147853982bfc387cc538c311a9a0ea9974e771d9cc3aa100b1d423563bd2bacc267a77278ab313e13e140b111a41923c2388c0599e21092f01f6a352c23f18ead315403123eae75ba25a515a320d7451ace3aecb31780d5e2768318ddda1fe8e0934fed42aad8b76e3833d8a04bcd7f05c37d286aaaf7e6394139fd33b953e25a736f885f51c78c99d7973beeed1c5552255ab55af80446c23f3054130a719771bfb8236000385ea08c5eb88317d1b583a001713ee17ed2907674070a12c747149b2a544f2ddc51cd106eef67c3891f4f1229f589775aedfa88387b58f3339e002fadcf9eb985a475355e9326f248db6472c0f3b4af30424c4429f3797e7e42a1dc8cc46eff61bbd504a67f1f5258a0e95ae0afa710377d16f4d808dbac70750f0d1bce0c98aa2b370fa9c0c6933b5861e4e86bb52becaca3b8c7e284610d10b27353522811b943db00c219b17a8dd43a9611fbdc64a7fbae01574cd5e9abbb42c9d7aec2c0110cb1d76205170d4e423f6ace61eb698bc15ac8568e894398c19848820152f286b217db4b46b62a72f7dcd7799575c889881489594c524f5be5c482adf7881ad9dc4fee153ec7a29b04c37bdb3cb4a71694852d52b1b637947f238d49364cbf1b4d63de4bcf28487115df4d10c8135d85e30d2905ab2ee4b2c249271f4c8e25e45baf64728be83ee4fe1e7b711e87bc2361e31bab96067b0030bdeedd7d1e8d233dcad8aebe004af48913d6e50fe64cbc2d651a432b2d0c4dfa99b3b721300d9bba15b02f9bb4f7ca77c012b692d926c169b12a6c36dc3983bfca2bcd835101f521fab62fb6037921385548b7416916427cd4a686901ffb0f7091d738d218ff54c52379702a423ff2816c6063f5856f3ff05fba9ea8bb2cd0dc5989d6a217082b4e7885cb1526c5c1ae907e8eebe76840e9605a1a77dc0ccddbbe4258d3565cf3ec5513f6e87baf60976ae6667053ad118020b8e68ccf307b519ee0e59fd9ed7805a6b8b5973d53cb1800c850bb4920b581bf5e5dba5fa493a642635dda49c823e8122d4d11ed385f33d882e40f3d6a16c6ed35659b105251525a5474dbe206e8cba36b5d70f30f6556cbddd64d603f00bb6e196bf94c6cf397871f5c3a4c398f4fe22a9494fdf7a01926bcc489d1138b05d8bd82273fa63a6d2bcf7eb06f6c72f1cf23eeefe71195e633d93b072d14f2bd1ede58f4847f537fd8101d596b2b8fa35fe3a634ea342d7c334ee9c583c601b6ac172063978db809727f093ae0c053bf094e0ffaf83ebf06e6aafd5c445fd9b9b1826055f4056185e4344292515bd554691de1959adc1379b611d6118f1968c8bd445ef0e1a845e92879ca17aa9032addf0bc0a047fa8777f90680331edb32156fe420df2ec7fb04e9d5f0f10bab30643607023ec8feac46b7e6b0c9e2101780129236299138aa0144eb64db36175fefa3e36b9e57606512cb538b8a3ed2c5519b19409eace25c38bb40e1299cd69ebd73f81d66b09f4b271312cfdc6fc45b7154332238f1950ffff61952dd30636397d19b691a46cc70cff1a37e7e1175649cab8cd30d418d721bf5c5000fcb1e0d3b329b6af05238945daef2389f1b9e733867c70e0da62f208943c9a9d78c137e0ef3dc3d2e62fdc893fa789a62d3cbbf542aca80210b7de3781bc9c4faea19813c0ba2e12c5cbb2bfd4279a48229826fc90fcbe1da6880e76a64e46426e4e9944e3659005e6af6cf44dd0ebc792d84812026d0bede8d681cb893ccd881510d68944a6dbecdde05ce420348bf28ede27560fc036861324a01b981744f933b4b7b4fb454e6e5f7ad8e99a21ae04911bb17c2204131ea9dca9cc117cf771aa4408109a3a221ec8e8af7792817c6fd481ce119710bfa1359432402c352c319d6fdf24a132b901f63054c0c4bdfe0ed4310988f657b0b407f32de4e2a2825a4fae0cff6c64372fee850b9010a0ef1062d0f40fd94ec805f0d2cad049610cafd10664957cfe3f9eaae678a7cdac5f92ad4f52ea4532a8f9e278e6d946cb04885f47630cae94b77646100e52e1dd785d18802e29971246f0885dc40cf02d257f425a5c9aa5077a6f0240425a7977333437debdeecf882c5a70fb8a0ab0e8e5472aaedabd97c6fba1a49998a6b6d88d1e2039947ae149622330acbb8b830be78cb0822d1386ac1f67b17728cf76859009b1ae9bbaff526973a09134d2695023ed21fc5ff37ed50f20438163a3e79f40993cf2b0c899b5a21428769d6ad9463e905468df01949357e91620af18cb745b65292eda7b5cb801ab65e89790fb2666681d76d2994b8d038b2524bbd28c27f73869bfd2b0bc65cb05c9b9fe70f62aeb113e99d45395d1cb337f76677bdaade2101b7dba78e5abf47ca7dec082c383cd431bcbac8e89d5690deea40316ff54c0e07fec45ff1fa2a5519b1d3ab188a9ddb41001e632a6cf133e2a42e6cbd47cefbcd3a86eab78c89d2443897bb77eb66a68278827ae20353cbb4fa797346658d797f064025df9316f0106839a7b940e2c866a1e199c34d248123c5e0d6aa5523fb1bd0b7ad1f25c2f480186b86ee2f865e2e86af4a506fa9ad2a0499ba669libLLVMAArch64AsmParser.so.3.8libLLVMAArch64AsmPrinter.so.3.8libLLVMAArch64CodeGen.so.3.8libLLVMAArch64Desc.so.3.8libLLVMAArch64Disassembler.so.3.8libLLVMAArch64Info.so.3.8libLLVMAArch64Utils.so.3.8libLLVMAMDGPUAsmParser.so.3.8libLLVMAMDGPUAsmPrinter.so.3.8libLLVMAMDGPUCodeGen.so.3.8libLLVMAMDGPUDesc.so.3.8libLLVMAMDGPUInfo.so.3.8libLLVMAMDGPUUtils.so.3.8libLLVMARMAsmParser.so.3.8libLLVMARMAsmPrinter.so.3.8libLLVMARMCodeGen.so.3.8libLLVMARMDesc.so.3.8libLLVMARMDisassembler.so.3.8libLLVMARMInfo.so.3.8libLLVMAnalysis.so.3.8libLLVMAsmParser.so.3.8libLLVMAsmPrinter.so.3.8libLLVMBPFAsmPrinter.so.3.8libLLVMBPFCodeGen.so.3.8libLLVMBPFDesc.so.3.8libLLVMBPFInfo.so.3.8libLLVMBitReader.so.3.8libLLVMBitWriter.so.3.8libLLVMCodeGen.so.3.8libLLVMCore.so.3.8libLLVMCppBackendCodeGen.so.3.8libLLVMCppBackendInfo.so.3.8libLLVMDebugInfoCodeView.so.3.8libLLVMDebugInfoDWARF.so.3.8libLLVMDebugInfoPDB.so.3.8libLLVMExecutionEngine.so.3.8libLLVMHexagonAsmParser.so.3.8libLLVMHexagonCodeGen.so.3.8libLLVMHexagonDesc.so.3.8libLLVMHexagonDisassembler.so.3.8libLLVMHexagonInfo.so.3.8libLLVMIRReader.so.3.8libLLVMInstCombine.so.3.8libLLVMInstrumentation.so.3.8libLLVMInterpreter.so.3.8libLLVMLTO.so.3.8libLLVMLibDriver.so.3.8libLLVMLineEditor.so.3.8libLLVMLinker.so.3.8libLLVMMC.so.3.8libLLVMMCDisassembler.so.3.8libLLVMMCJIT.so.3.8libLLVMMCParser.so.3.8libLLVMMIRParser.so.3.8libLLVMMSP430AsmPrinter.so.3.8libLLVMMSP430CodeGen.so.3.8libLLVMMSP430Desc.so.3.8libLLVMMSP430Info.so.3.8libLLVMMipsAsmParser.so.3.8libLLVMMipsAsmPrinter.so.3.8libLLVMMipsCodeGen.so.3.8libLLVMMipsDesc.so.3.8libLLVMMipsDisassembler.so.3.8libLLVMMipsInfo.so.3.8libLLVMNVPTXAsmPrinter.so.3.8libLLVMNVPTXCodeGen.so.3.8libLLVMNVPTXDesc.so.3.8libLLVMNVPTXInfo.so.3.8libLLVMObjCARCOpts.so.3.8libLLVMObject.so.3.8libLLVMOption.so.3.8libLLVMOrcJIT.so.3.8libLLVMPasses.so.3.8libLLVMPowerPCAsmParser.so.3.8libLLVMPowerPCAsmPrinter.so.3.8libLLVMPowerPCCodeGen.so.3.8libLLVMPowerPCDesc.so.3.8libLLVMPowerPCDisassembler.so.3.8libLLVMPowerPCInfo.so.3.8libLLVMProfileData.so.3.8libLLVMRuntimeDyld.so.3.8libLLVMScalarOpts.so.3.8libLLVMSelectionDAG.so.3.8libLLVMSparcAsmParser.so.3.8libLLVMSparcAsmPrinter.so.3.8libLLVMSparcCodeGen.so.3.8libLLVMSparcDesc.so.3.8libLLVMSparcDisassembler.so.3.8libLLVMSparcInfo.so.3.8libLLVMSupport.so.3.8libLLVMSymbolize.so.3.8libLLVMSystemZAsmParser.so.3.8libLLVMSystemZAsmPrinter.so.3.8libLLVMSystemZCodeGen.so.3.8libLLVMSystemZDesc.so.3.8libLLVMSystemZDisassembler.so.3.8libLLVMSystemZInfo.so.3.8libLLVMTableGen.so.3.8libLLVMTarget.so.3.8libLLVMTransformUtils.so.3.8libLLVMVectorize.so.3.8libLLVMX86AsmParser.so.3.8libLLVMX86AsmPrinter.so.3.8libLLVMX86CodeGen.so.3.8libLLVMX86Desc.so.3.8libLLVMX86Disassembler.so.3.8libLLVMX86Info.so.3.8libLLVMX86Utils.so.3.8libLLVMXCoreAsmPrinter.so.3.8libLLVMXCoreCodeGen.so.3.8libLLVMXCoreDesc.so.3.8libLLVMXCoreDisassembler.so.3.8libLLVMXCoreInfo.so.3.8libLLVMipo.so.3.8rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootllvm-3.8.0-6.3.1.src.rpmBugpointPasses.so()(64bit)LLVMHello.so()(64bit)llvm-develllvm-devel(x86-64)@@@@@@@@@   libLLVMSupport.so.3.8()(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libstdc++.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.18)(64bit)llvmrpmlib(CompressedFileNames)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsLzma)3.8.03.0.4-14.0-14.4.6-14.11.2Z]@Y[@YX@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.comfcrozat@suse.comidonmez@suse.comrpm@fthiessen.deidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comsndirsch@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@suse.comidonmez@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.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- Place gold plugin to the right directory. (bnc#1073210) * It must be in /usr/lib/bfd-plugins on all architectures. - 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).- Increase disk requirement to 20G to fix build on i586.- Add llvm-aarch64-relocations.patch to fix relocations on AARCH64 bsc#1032686- Added llvm-fix-unavailable-functions-amdgpu.patch, fixes boo#1023614- Disable libcxx/lldb/openmp for SLE fate#319582- Update rpmlintrc to whitelist libLTO.so fate#319582- Update llvm-remove-clang-only-flags.patch to remove - Wcovered-switch-default flag for gcc compatibility.- Set disk requirement to 15G to fix s390x build fate#319582- Update to llvm 3.8.0 fate#319582 * See http://llvm.org/releases/3.8.0/docs/ReleaseNotes.html and http://llvm.org/releases/3.8.0/tools/clang/docs/ReleaseNotes.html - Drop clang-disable-ada-extension.patch, libcxxabi-exceptions.patch and cmake-host-triple.patch - Add revert-cmake-soname.patch to fix soname handling- latest version required for new mesa on sle12 (fate #315643-315645, 319159-319161, 319618) - obsoletes patches: * backport-llvm* * backport-clang* * aarch64-workaround.patch * clang-mainline-backports.patch * llvm-34branch-backports.patch * llvm-mainline-backports.patch - 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- enable ppc64le- Add backport-llvm-r247694 to fix bsc#945912- Add s390 to excluded arches (complimentary to bsc#936459)- Disable make check on aarch64 as other ARM arches - Add aarch64-workaround.patch to workaround a gcc miscompilation - Implement fate#318027 and fate#318040 bsc#936459 - Following patches are provided by IBM: * backport-clang-r206364 backport-clang-r233543 backport-clang-r233544 backport-clang-r233574 backport-clang-r233804 backport-clang-r233807 backport-clang-r236531 backport-clang-r236532 backport-llvm-r195471 backport-llvm-r196578 backport-llvm-r196579 backport-llvm-r196580 backport-llvm-r196905 backport-llvm-r196906 backport-llvm-r197030 backport-llvm-r197032 backport-llvm-r197170 backport-llvm-r197234 backport-llvm-r197235 backport-llvm-r197236 backport-llvm-r197238 backport-llvm-r197239 backport-llvm-r197802 backport-llvm-r197804 backport-llvm-r197908 backport-llvm-r197909 backport-llvm-r197984 backport-llvm-r197985 backport-llvm-r197986 backport-llvm-r198862 backport-llvm-r199114 backport-llvm-r199115 backport-llvm-r199116 backport-llvm-r199117 backport-llvm-r203103 backport-llvm-r203234 backport-llvm-r204049 backport-llvm-r204200 backport-llvm-r204451 backport-llvm-r204452 backport-llvm-r205625 backport-llvm-r205626 backport-llvm-r210263 backport-llvm-r212242 backport-llvm-r212610 backport-llvm-r212612 backport-llvm-r212614 backport-llvm-r212661 backport-llvm-r212701 backport-llvm-r212702 backport-llvm-r212703 backport-llvm-r212707 backport-llvm-r212711 backport-llvm-r212714 backport-llvm-r215409 backport-llvm-r216131 backport-llvm-r218560 backport-llvm-r219069 backport-llvm-r220945 backport-llvm-r221336 backport-llvm-r229652 backport-llvm-r229654 backport-llvm-r229658 backport-llvm-r233541 backport-llvm-r233688 backport-llvm-r233689 backport-llvm-r233690 backport-llvm-r233700 backport-llvm-r233736 backport-llvm-r233803 backport-llvm-r236430 backport-llvm-r236432 backport-llvm-r236433 backport-llvm-r236520 backport-llvm-r236521 backport-llvm-r236522 backport-llvm-r236523 backport-llvm-r236524 backport-llvm-r236525 backport-llvm-r236526 backport-llvm-r236527 backport-llvm-r236528 backport-llvm-r236529 backport-llvm-r236530- Fix the sed command on 64bit, this should fix the dynamic linker problem with clang -m32.- Update ppc64le patches (bnc#887778) - Drop llvm-ppc64le.patch and clang-ppc64le.patch, obsoleted.- Update llvm-ppc64le.patch to remove XFAIL from llvm-ppc64le.patch (bnc#865586)- Initial PPC64LE port by IBM (bnc#865586)- Add clang-resourcedirs.patch to fix resource directories for libclang case. - Add PPC64LE support, just the ifdefs for now. - Remove empty -doc package.- extend build constraints from 4G to 6G disk-space- 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- 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 releasebuild83 1542204994  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~3.8.0-6.3.13.8.0-6.3.1       !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!#######$$$$$$$$$$$$$$$$$$$%%&&&&&&&%''%%%%(((((%))))))))))))))))))))))))%********************************************************************************************************************+,--------------.........................------------/---------------------------------------00000--------1111111111111-2222222222222233333333333333333333333332222222222224222222222222222222222222222222222222222555552222222226666666666666666662-77777777777777777777777777------888888888888888888-9:;;;;;;;;;;;;;;;;;;;;;<{hEnueYCc_aYdk}?bB@uŅh'-|[]m\p-OauC4n|'ɤPfآՄLB 7Ш>{G |SΑM!Ye c$_oYbk2eO`TB׎7WTwnX~)`sMu !|@[^I*.-o_)SӦϿN}_tCbxjRg0P*&~ fPzE j2LUk6E4tJ{o5Ox>-50]&mr!.UQ n\pdZ0 oc':ЋC %:n ^W}=T2 DF$Bw+(Qb-ļD*'?:x/C^ba๦bK;ͰqBb" u+>Iei4;o4x+-I^Htс HI ,&FX%Eu ph 6h~uJ@ c~tRׄڝ(fKu+VfWu}Uɥ$=M]Bg_ya.Ps_)+WFSelW˺2jd4ȁhUa В#$*;،h izUd.0/Jt +.D}-R7׺)|p!2U_Ff^]c n`Z`V3[IyHkJS"kVo]ٚC{QBEe :42 %zHT*vj v?Bxf 8 !9AA}`4rFc GTͪh%{0@*ޡjxE.1+On킟#&!yX"?ꡣGsB&+b^phdnN;٫9cuv:m{Q@yg z-gO$&2 brDT852;GbDaɖl1 UϿef+ '?^'ir p+xygD;#7OpO)TyveM[ƹFS?qb/0#`VCz|qYI{jmtX9&Xk {Cv;g=5"`Ei\ȗI_;6m}at8hL=)6wt˺JVaL*ݽJuZ>lk]onbΏJo/œ͎~\ČWYЫ%I=m]^(ÐHO0? `WqRQř\^QayAn?,k WbC*X5Ķ3Kola NF5T w^Dc!$+(K3:B֏·WF3~@adyrM6 !0 D Rq(ɠI`7aA 13ty㓬=J8 ÂJ^v`aNej،DWݾobtȬ1MWEC7e߇5Lgq[V wEij4bC5.\th]\Bis} N|x]T9`B]bX d Hղc)i@ekH$V9Z_)qCTk&BDFEB;-!^#Yt?5]-`RHҟ#l㳥S@g=|['Dyr"Tl!nMKdǖeS  ;Em%,TzlBUS05t]y:9@@) Kç .#{K%Utec5Q&e.OpuRwkcx 1%+Hԉ{hU#/8k\OUWC9 ®R}k@Y2d_;LdAXMĥQ'q$(dn-Ɓ mW.RdG6oE%q *!Ǡ)C yXI9s9>&j9ti=}bxf=㇈HʡW+Hv̶@zUPc;!ԂqЂō$Z%[Q0 "Hj )Kqx"Ac9*}WdbKsUJ-:W ?[ p 093PrFǪbQr%4PeGVFDVY+T?^YQ_&,\<.-@p ]qQl6r<̤ @b]@)D" g:oOEZ#[N[TKu$EX؞b qO2mE B]Y CGuf{UQtGtmUXlVX9d~G$2i#'~쪙=k&?4YеaZSس_D8ye>d* 8U=ŗ gfnNKid xӯ rfK@SL]Y>FnBO#12|#4n\šе'7{O2{vw1Eum3L܁e<2I.|(D=o xAug˛*HyKY1.5IGz/f&v&M[!Cg@{*jޢk J8 ,@50_w0yQl$=nv FvpD "vVM 58՞RXNn*]/op\WkTIos uD` _nG[ʴogSlщaq:~NjիCP5^@t_!噰SD5GLQpee>+c)N0Ʒݜ_W6K\iN]96& yo3x'8[z!yx ,z_ŷaaL;%;7pВ)l$Zq埲R~O0^SX V] x% ^Hhg}C+EmiS,S@J7$3[QHBӾ&'Kʧm ^XVbQ2 ȋ;8)oF7DD:T>m&"! 3{~ƹ b_%݂R˷ :9`XJ^hfkIOh_=c*/R[jZe)ŚLuTS<_]E?iԫ_1c75}V"si&z Uá5Pu[|pfC͝w3KDE\|l^f&G{~SUJ\' .^*`*kixQu_9e~3Wm ,34 unZᐝ; 1y}JǶ^2Nr;5KredM' 98 qy|5SpNrZi̚тx.O(}74Y/;kj}x4慆N>3mnY*I¢z'/ڶp Mj.hAp,b+m`m˧-U)= |J'ueI#/bAt5s / isY6CDZ̴qb?)fBk\sĞ[<`f&XDq| ݙ5E46(q//Za3O-^F scařF~`F26pY%238O֨;N!k"[hLd欪Q!r |F`uGO6 |Lh}= @\lGp?zP尡cBt&jcG(ѫ{ b]cŽpxAc%0w3$ Vs aw Q'!k p]A( twSikkbk==bTwU?Ѓw VK="eYk|0([[GK"Fy}*M zS_Utrc.=w_{N;2A*/wA:Ӓ!@kJ6G8t9a<@݋[ ˝|`8RDSbE4`2Af#i- 5f@<ê[4ǍRZ@XT^y+*y\ɂ[T5n)0EFj t kANBfBoE u-33YB]?B|q0xu$ Ǡ,ng|PɈ[~ڿ``'5 H #UjT7."Qy@7c[N1>0@kq`r]@U_3 a]a019cdL*f8bcs)˕|4}:f f cK8vYvMNwAf'dQ!NqQNBC@Q*v};MQ(A/^;tJ?EGtl]˽G4|NĞg| dkЯ odB``<` n%ʇM4GlJQ't0|cɊSx-~ f= !` oPRO@"鹔cuN.kkj=GD*S)yuF; !t 0TmMĸUמ2:_EܣFWC?jh#gǃ`|+cTT\k+>6`An)hxނX>L؏ j~nh0Rw Cp2X"-'h?H)IPIl~R=@bpq]q?i.@S $)Lmj^A! ΒV#TvV4Hzivp2]|.A~v 4t#m*In<'0{h;NwnΞ؟kc9,PYJ1- N5??SUiyÒlyy^L1g>"5O> fZ JH'zDu}SupS-4cZLzc6 vNPKkY<=ag qX)ngַ`4': OL!18m^(aXp?z}DpPD_o{FȩjV͠ja/ZSJGdIFH|F/vX^o6M|q _䤪p`iPQ%gI\{g+B)v"Ž0h@-s~kPhlqޝnp&)&T4c'!##! !緑Q#*ͦvW]EK7Q>Y)˯^T/x-zt>?b5+炭@,(ZL—-!eg&3?b)#wOzhu Jos8@xW0ЃS漪eK}=]A3YG{lV;WI8?#|N_/MjmZnNᆌW̓'fVC'S" \c)U^aJ,x>pB?N WbLZH0MxEMgPqXlî4md6W2YI]jXR/NG۳݃y,鳳pOIkw ڸGE: IŠAs> 3t7ohS iar8W*U^b߱*tte.JTΕ 5kA7zh Ub!-tͺff澬 uoBH9E UYǽr t}(`'1MF~kbGHM||ʹԈ4kLmY7gU݇EB[]뺶ed' %vo eǭ(L? xG76~;Fp.Cb~a*oQI=BOv_ sw0j9DEӇⶦ=PT#ye@k|KfҬ-AؠEnnCGo/Ȃ&֏bEmX[Tr=̊}eL^p'55C<9HbK)#l6eKQL"h(< EúCW w@ OIB>qf+s֝{4B,Ĝ47CQIEx3{lҞ uLIȬ.OLhjFc#z,2%Yw1% rx]']s@4-ah"%)E{6YT1b˚hHbmk6j# h׵P*bL֥4BGxR{ujqBGo$eST^Zh\ 7b{ fVtZze gLDY5X|IP5v ~I\ h}nA'V\*cQB AzF| vϽ0_h'k344[xb?pkt A貊f!Kp5x;A! M(ЬIf.7?Dv"Y"$Lnu4i29,$2c=n2Xȃ}E/ŀ3Z jFtĠsO"c+B?λ[ǁ  gBm0q?bT R2Rzʑ?HA"feA.pVK:h)&5F7ަ? 32!q)ivJ-h4Aij i(u VaNcV0p2hV 3=W9#T: >MB2ZEa>gy{/$b&#hɶ*HƐ5$ǘd(w 8(:'4]~Df%>OOѣYyQoPwO5j_,\oId^ Y_6̒]J*;ˮK9i4AISC'5ԖJ-p 1^5|#]WNQ: '^CNzfQ,GCk<%ɻ iESծxze\M˯ܬ^Juv P]# {PAr|n\"Ccj5NGEǂy!E9}&U"̾1MIvq ~"`'Gpel zP_ӏܜ#ONl,3(ZM 6,‹nL\ſm3څ?)l1jnw xlgH|,ub2J=D "8$rZe(;PP4J$ӌ5uQVqz(=A"vLLXKs"o}k/yewxۺoݸ'wRCOD wNA祿rSU+|RUoO0Ph"-G+ %ʷ!bn`y@,Z,Z5.2ݛZ;o$?uUa{Y)R.#aNjlp?W^ȵ)#DZJxʩH/m҃H VeD+d_y-uDO/I&>Jǖ>HGuu%Zx 9;[Ik$/dͽM }9}4 #tO%h>#mSb#QTPEWX!,IsL+o O ԘQ?{ԾZ}^#ӿ4bdY& ̦5d Y4*Ql ux}U`#ho}䏜)0 !2Y FJ?пmJWC\6#N*!:ی͈rzR* T 1owK5 _Y+o/j[Ō~!1?Խk ^Lm<&f9ΊG#Ah"8@jHXyt# gL[YHQzXRY'=c)mgt,u+*Ӣg{]mw4A;199IU = V ڸ?R~Kz lIio+ }k!|¾兜[T$c`FĖ 5o^gTx0j>".oW31I^oE7 y x0';:7uK`Db` 5ݪ9.jȒX1J@$PU$ s÷D h,4mYy & wǫl Ґ] RJ T/&^}OC@R`0sѹw7AwWWfO(ϻU&-ͭH|ܶ$+4~wBe)iǚaQ"w+!Zv$G~nY^v 5@GwuYi,HHX/ko$2U0|">jJKMsDīwṥ,=Dg7~nb!Pɑ-Ɂ$_J6:H\ q(L-0N>;PӨN|U`E'E X[11UcLh]Y⿖-U~4Xj(4i\EQa6I=/S{Tղ/Ŵ)/C{%eϖVP{FA$lzww !bJW+m+; \1IM$[K, q+6c~3):G( OaZE{o0yG#GO<[[50ۺwu`Ow.ɈeRE\EQK /Ÿ[ұP5 /G~8Kdjo LgsbK1kWulì4^2у'VGVPBS\Q؜?dTyj,Ҟ  *GF;5K#QȅDO:IXJ>ȋn)"o.b}W usMK_dp(vpNwӮs`O?"^ hM٭~rY3a y{Mm<2ʓnzT}`>r >ytyĿiאuv%[&ٙvO~_+l$yMzN$:JغT@Mz"UXOOt@T C_9mR}?T7 M֔PEݞ3Av>9M*}M2,r {#Dw?1:Ydߥ1{/&,h~[ a89@y|a| wV;4S7~>ψ=,{5KRolC2c$J1(tԈyʀqC|@s 1镉_{Fo&^\BTG 9"%D5vgzH`-oHvv24+MU^f`FBͮR$5Iyxj2n6 7h ?XA_JT!Gt(̡X,{0qnb phC .̗6nHR3u1;eMUm }8xQoLdO#@4oC8}qn׾X\'&}p" &eqG5, ٭b\PYQa م>Iv^ SIZio4 --2YfHۑl嫳/e\ (2a7+H V !|:`9=k~=Ưq~8E+ӵ ;5&.O{F1 Sg6EEko ='^Qc\ VM=Lz^{<㲇".o ^' @C'kS^s8. SPgu4eukP-@Qt uyGjti7(9̏P>NX? eAlIY,%еn\{|Nr9 3*wrdҙ*NSm %<ә6a%y܁UD!]fӋLk(\O⺶ l=2twlG箝&rwہȬ+{L^ÙX~%nCޅ1B465sh3 TpAKd!i{1Rdt"]XVbF\xHqvٝ U֝w7ic_^.rh.CTin|=TƧVB?N%XQ;L&Ff =f,\N$@{}oO5(%%GOZS;;w"_l^t 4t+yQN>S^qrqp[uZ–vY_$ܑ7O̥tA?oWYkR* )=Rx-#ʔI`/#=xST]. ?s{ь/k7-&ۈ[%]+;:@-wzqC {&nmr-`qtjl%}ތ`-W.XNvAE)#{ydU)n՝؜!5@!*%7- 6D!S"A-z/BAaVae )YfpU.i> |VBZIkA5-]|GQCGͷK?&Uz\^|jԜga ~lv$6ؤ!|}XCL3Jc߬ccbnzW(#RH<(::[iU@#/&AQ_@ $ΚipY8ch59͖̹ts0нqL,$bȒ>Rf߆)q)@ t Dr$TvWr],Lѯ_^?kg S/DS %`X@χss@~1(Km_Їu7qv6ب)vwCζb5+q;0(vVORb)>lzjRn_͉7 &!Q(nXNN]Ux#ы$tQf/_lDKvfziڻeW%vWP|?Eìj™]N\8O@ږ9SEWMK$ؔN)y5@>ڍ@z.*?N}UHX-9/yQ#ytɭh˙CJ:r`l'L>gb;\&^4mW9ق+ (h~ ;{`38TN0Z¶`hSEΣ^mS)0ofkQ\&֭{tqlP"xxŠ Y %$$'!.z