ghc-base-devel-4.14.3.0-150500.3.2.5<>,1hde p9|007 TNa6ݤܴVGIU_ѻIOCU^Ni;?/OKG_:SA1 5y-*xvF+|v5yA@z )kHGt;4՞!KukzV#jx ?RV8oޅRx˟~ Ŝ$/M:gzpnRkDb4YAJ \\߯SN-6|^Gp7SG,>B?d ' N :@H  ) = q vј(]8dh9h:h><(@<0F<8GBSD-3-Clausehttps://www.suse.com/Development/Languages/Otherhttps://www.haskell.org/ghc/linuxaarch64/usr/bin/ghc-pkg-8.10.7 recache --no-user-package-db || :/usr/bin/ghc-pkg-8.10.7 recache --no-user-package-db || :w}wzw{VVV979495000(((222"""gWgTgU u r rIII;8: MJMGMF(%'  hhhehfURTa^_ W! W W^^^tqp$L$I$K ~{|   rrrorpKKK a ^ a+(*)&&]Z\OLNN^N[N]ħĤĤvsu III967000Ձ~}zwwOOOGGGzwx))))))j6j3j4ooo      !S!P!O $! 111^^^]]]+q+n+nNNNZWWGGG555?<>   '''0x0u0w`]]pmo@=?zzznkkurrQNQMqMnMovvvJ4J1J3``` M J J1..999UFUCUDUU Ud#d d!===9h9e9h2225O5L5N   KKK|yz OOOwewbwa"@"="? RRRSSS***^m^j^k[ [[khh000777VVV***fUfRfRx`x]x]+++HEFF;F8F:@==)))KKK  EBC413BUBRBT 5 2 2856)))@=?JJJ!!!!wtt|~;;;a2a/a0  ~ efecec!!!>>>MJJc`_)G)D)F/'/$/& W T VnnnUUU000 . + ,uru *"G=Q޹vss|#| | 7 4 4hegܝܚܚ*''|/æ3Xzu%}MJC@ ]-A(H]O-mgQ 7 g\>( 5 + %Gf$!)W <%*fX4C.W>99M* ;;; mjk p 0{ts gYpZbtP=$EDH6(Ax3#^IEPN.f`i~%~Ǐf9B57"(wѳA&|,>Fab]   _<%T/lY.&{jKYr +XIla|!C k8i & ]<F M*? \*ir \] <ir$&3L@ #8s, ,pL +dkS"6"6*f6)Q_ҿC($m.=^,EDE _ ]. ^L7!&Y5._P;sBse.'6ɏ\; O2B0ZYX%X%C!XG P+Je[U ~  ] vH! i '}$2_^>,wu=1'6 <dw ~7b72 ki,?} !w.{ : j0,)Y"Q'% .V͢U+^2-O g*\AB-4 5Z77 72 ki,? li7 Q|[72 ki,?A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddOddOddOddOddddddddddddddddddddddddQddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddQddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddQddddddddddddddddddddddddddddddf7375cfbb9c2a691e73573b62b49ca9dc9ed72ecd997cccc6b58ac712dbdffddb4b338dbd493127bafd5ad3817d0ba7038eaa6279be9f72e0ab931efbe6d3ec90cfdd979f3d9a85c364a4cec652f232e68f9ca27f878260dcd8e222cff2165cf62d7fa8cf7404a014ac6cb27b3c3fe47d7e89b3accc6831d766d050f3cd396997e75547bd7aad936d465dfcb3b8e3083e0019bb633130681e68a91d5d7afc9dc6d128cece96962d862e18fbcb76836fe907ed97d71b68559864d4340165bf8dbfa7a810734f885f27ecce6883de7d7f4b9c122b7d3dab380a32c6294ac56292e739937cf7e5d7cc5dde987893823da5f782c98caa1d34a04d3be772cf30ace92cbb4030acc32fcc6e232243103a1e8b7043925e7263498bdf96cd140712074d29303bbbb810266d09b87bc43e7ff8512f9164d7784bcc5ea76434d823e77cf4c9f1fc36b472795b2b40566cc35bf57efc92030df51e123b58f90bbe8ece291b1b3aa45dd60aaecf5cd468284b160d6b3dcdee80416add3e63f25d60083240d4e24f9f89c1256bb922bc8afbaf1402a6ad238340f6ff89cb80856aec955e90c4563b50120b51b9953644622436caf5b2a203896213b83af328366ad5aa94d014981d4597f25b15f8c69fea38022ed7fbea2c7d5f33deffad7e445ee756ef28970da360f3aa36d08509f6e0bddf0ffff5b966bc01858774ce7ce9205381e6d7709d254aba3e2cb4333753e5f81f82948d6ae6e6b1c2b6c71fe6677f9b24810b2009d5e53c9ec320b7c4e780b521e15b6ca5d33df5539b9a44b191a5e9b102e1d07aead1de176c9196695a11a7ade51025e9a5e1e6c0cad486ee2d30da93c893e12d04b1594838fe02d7032a863815887198996d16a81f2b81ce54cc527ee598ad0e7cae9a5aeebfdc14629c18e691641833cf8a7ec0e32f4105223ef1816b2a82a84d2cbf99bb2aebeb61e69554033aa2926e6b0fbc0dea2da0a45811e7a6003021d936c3815e909dfbed34b61a705b1ef89b8d6e0dd99404f1f548974206799e499541c10bf638998235720038586efcef638cc37328e3d902bc37104f91d9fe6cfd45f45488fc4a06f5bdef7d37bcabe7e1d03cbca3167594579de0821fbe76442fd0ac8d9b3a8a7963b8aff0937defc8008b068d8dce24b358f95adde22f45b4ca4a885e71d8dd91ace1af2288eaa27b897b90fde123fe9482a58d7e44c87b290481e90727d2a557cfe4c4454366535350267c63e565466b656bc6589192a58f71d9bcab000bc419810cce3c93aa959294f7c48b0eb3adb78287b30f855d79574e13ef977c7cb7ebc482fb62a59d94b9e19895f030433b40c70f0df0516a5108934afb00300f0eb39d2b2e2a2719ce59812f3321939bfef816820026f1f1717568517ad92ca7967a2061a06d0831f5d1550eb41a2c798cc23ee8624a75b1bcc3b331a6e1bb88024e7c1b4b3517cab8f6a52daec242bc45b74dfc6b7cee7e5d38c5b00660306119022cfb6449bfca1afb8000a057071dcc033df783854cd6de5bc916e3f6d565459669e1a45fc0dea317bef628ac92b9c6191f4fb9878cbc4f127a01a8d878125b85491b97c2997013789a97764857654ab8e57aea60bfa49032200e48993b6ddbddaa2a5b4cd3bdb4c6c59e53ef6009918a477f842711df0b05f1762c369d46d50563c2e10739bfe0b502eccc0bd6c181d55fdff7fa7726287716e34d0e370cdd1e14f85555afbcc45ea0bf47a1b94546e1e099f4b4db9767ec6483d40d246e9677b3f96899d8dcabcd1ff518dd86bb3d74f15891dd64338efed1bfa49490673fe2782fb184506c09889a88567be5b98acd5b47a527838da31cea3c3253caaba7ab5ed3ef34ea61e71f95303131ddabde88697d702f101bfe4836473f4e52f8e48ebef61eb0c50a24a68c54eb3435e1d3a5842f9df72225238b997c9bd411a68808d0a1fd4a336eb2784b4141784b517ac1162a5119aa362038e95ee85701e0069971a087b6489cc50d5d6bd1878cd1f283022657290e53060a88dd8dbc53d4bd9263a30aae1fffe24d87ec8b166e2f205301fa745610adc4363f6c4831361eff829fa57e7b4fe70e12a59e559d565e5df891e14c218b9c8a2f2260aa3c7844996151a5a82142aa30c6778de9e307de75f6f03f0068a21fc52f8a76816b0c871f02778fed5821d65c0a3438f3cada230bdbc6a390f8a683257fbe099a5a2c328050eb9731c27222de63a7503bff888db6dc0349a7782c96e0d8172b5d01c797e88d089f51b72f74c4d5516742d863385f3d7a7109cc0337a2f1bc68786c55789f10a48f4f2c1a9c19ab4aa98e981022c8a190e17faf315effcc4a259dc7f20e0d540c8a001574fbf68f8c162469e56a88d661c77132477904b9ec054d1e9100bfeac21972da4d9bab179a90e73088817214dbd4c0839bd1b1cfaec537120a5804c568af21357fb3e7aca0922ec19ad996e7ed966f41c103a19f1a5e78d33a136d6c139d251289976dc9ed8df529cc7b23838f38a1cf243cc2db44dc0d780a78574bef0a8c2159ba392959884080ec18709e362f0106f3d96b244221fcf223f091988d0188d9b502aefcc40cef49fa20af3171ff0b70990087665f7766cbd89667fbf0302fa35a14caea61f6c8c153fd5c896fdf19738b2c52495b15189d4aa5da81086803de24cbc5f19d9589c31bb064e8af6bd7547243e7a9fcc30e7b7516de37fe4e8863ea1013154a3d6a89828c81e4b71b68f382d59a7e5f69f7bd6413416bea63bb8eb5c1620521c71c4d71864696c84873872612fb5d0911b8197c4721b813d8c08fa15ec20c72b17fed3f6bab5c4d98e3c539cbb93b6b845fe395ea080c22951bf9ace7df65bc8aa4078464c154c4051d85782020930d6e5a3ab0cf77a4f3bf8a819bcd100e9725a3dae989432eb995985e8a6b5e3df4e4d3796cbe3e44e426703c394e75c9a793b5337fbd2c07bb64ebdd0be0c213d935b0e733f198c25ab1954757a75b32c2ec5f0f42faebc3cf3be812379867082a43cd5bb60b14604c57f7896dc5c3e65f7efd9df89781f193f815f85dbd2d321bec4f47c5b67a88a00155b5653ce875d9165aea3f2583695fbae85a8f9f091c1255bd764f2a5e37ece752bec9353f1dc4a959577ab94e2625336c787241e7f9b4daf531ba34e7810938f05f2022036dd314733225923a4177e0e57104e4fc3d713bc5b2c507bc27e31a517c39e5af9de2c31d67d32268393d697054ae6b73ab97de3d217fa30856d613921835f796ce0d52438fde7cbda9661bfba0927d0e7a67d6ae9b04ed2f7e6f96db607a139818b00ea1f23cd2b13a3bc95cb625e798994a5945c9045c9611c408ac3bab620d43d7e0938c49de8c2a4a2b5e43ac9af3dccb4f13d620eb499f3c514e8c2ddc3dacd8ab889cd885ad09d96b0c01d62fd85829b714b637d3dad2390e612df5ae62d30946616154b2ab66117fde5fb4b9bb667fc5d2d842e9d0567c8138fd6ef6623f8696d232ebde98923bc5d4bbccef056f4bf658e576fcc3eb1c7c11a819f992daf6f896909d21285d5720f56583714d40dd8b1a1e99b6dcf32f064e8dd5852115a46a4ffda2de4df49b98d5a0a4f3f45d6e918f4143ec854131d1fc65d2762ef2ae8906ce4807419ead22e962edb896d7b80a6934af4dacb5408bc59e8c4e7d7bbf887c95876740a51f4ef63e519ed3777036c749f738887a281421556a8e1ff235b0812fab41ddf2a806ef27b811b344097bd5eb2a05fcf054ee2f17074106cd0bdda25443db4bc025ede84ea096f6cfb1a9193bf121f621566a06f084803041416daf6dfcf1c91da2f61485563f377d2a9118aad6f1f592ceaddcee8123df7d02d79326f829256ebe0a828a779f789142bea6979dbfd0befaf8ef8d0587947edcc89d4a70d0be27e79efacd3e3968a561dfc695c442014325edab7f0f56e48c4ff593339736d9c448a5db3fc150ff7661d54538d2a82e2bd151829abb8f349bab2985b6a2292736312e63dad19667b68bd3c1ca45b791bac8eec17ca7162eee5412eebc57a5a6fe10ab0a10fa1af7d37a9a0898871035af1565726f026e433847be50bba48c38e2da5c8d69a6d61ac34ad4120f19687f7bf965cb8988767ced171d9a5615a7133f628117349b3084664752040aa95154e52168b832419fe5ca968395e35adc04b398202ff1ee1d28ee0a27464e5b2d8a6964803b5a17275bacee5ec62349318819069d7ef99b94b384f8c286590e6fb1fda890f3381ae4c689834e681587a65148f6e50b5991f625c6e2a3d4fa8461501241a00eedc39416e1fb87927be0014cd1412c2d0f6c4411727c416eb5d324964f29de2e0efd4a8203096372bb4df375534b93bf707231eb40261890f4a79f7587468413091e9ce35ad95a9dce087393f88fe5d01c9faca5f371296b51f3e07843376bd7bb10b113a5bad7285ebb4fe9c992d7a327d1913584560b873cf5e897eca845976a47f2c41d8bfc2295317f0d826d99fc4c2a44c0e821ead113ed3ca709d2aeb2450722679c9c6c4e7d0b8e929d022db6858850453fa101cc8a13d8b63058b989e58a2bc007ca103d8ccff4e732da4680b91693656dc28a3585e8c84c9a3d2a17e7122dd124c9f5132a3a045ba4a9ccb0a1c97dc370c581c33bdc7bb84d755b454fa2f7097b62eb9403862c54419d4cce0d35621d4ca5c66d70ed55ada8bd441983c8fa3359a0ecabe39caa0d2c01b820974cca1728e3ca89c68b99138bba0ea918cc9f1996b92f61e056ee4478ea5abefcac698e35d63ebcab8cf448714ecfdf0371a241983cb93a60b81b297b1619c24f6cea03f8a79adc53fc4be9372cbbdcbade2934bfa34ed0441b3ab1ba5b291751592606fdca312932aaefecd0529118bb93fdc5a37df6c926ddffe9d0da5be8b3c3af70c6abff72bebacaadf918e7472a4297fcb2cec4fd85dfb26a896c303e9cff70fec111f5bbb1226b75e40804cc71f661c7e2e0666985b07e57da8b84fb59ecb5a65f10fe994f049251a3673ed9f635b55556fba7cadfdc72eacdae38c26f66974b61c66d2c358ccbf4e9a029d1b042f56c024aa1782061adc3e31424fc25bcf3a707771ad6a665f68f8b435508ee793664696de50720115869081c710eceba42679d640b0cafe176a936d2600c33767063a40d95118562f01185c72e9358727e617f981e5a897b62de873a129fd3416ec1d462c28e31b38e3fcadced4c801effbc9cc604ce83ff25007a937333fc421661bdd025859c981c77fb767786474a31f41c308af833846caa4bed9bbf513ee78eed33e3e50507c75e7d33553b546616e110a6cb609f2d6aa038046a93830fa31e5548b5102d03d54db8404115e5ec643218bea50a0b3cdb273d5c937aef36031a70f37281f07d89106b854e8d6473f33de1a067c854fc925611387367777970a8b1ee542bb3ac46f9426ef29a42f664296589f0e4c12a31d8c70d9a57c296039a943a16459b5b7db6924d907e5f4a193354a1476a568b865cec344ec240aaf11089fbdf5a9f8391afdc71313c52ab9e1e2431fe3cefd9ceb8bbe51f61fdab1b44230990b1da61202e043fe809ae2f009ed4dcff32dae1d6675b722204e95a79983c887267e6033efe76ffe8af6f12504de58f40d2bc6e524a16b091e950abc3072a2707bced89df682439642babce66797ddbbae96f4b99fa41b0f7b1b4e8d38fe42f0f0765c73c1d5b1146d4d1eb3ca931f1a9cf03d5e0c32bcd8bda1efbdd1c4fff230290beb093019c07d85fb305bb18a282ed4b2d155627f416a8ad84866f50e84b8e8ca953fe043b71e13a5ce7befdefe645a01bdccc84f752b7ce518d2d513afe0ceaa31b75e2b7b2f9b5bee13aa24efb72e5bdc78e3c5d9c230bd72770da055ac007149a354fdaf39db292fcaf88e0a40d96bbc3408a92399437110bb5ebd10a557396d13d2bbc66510282aef0a46e9fbd17d2c29447527dce2bb42ee4859fd4b2aaa6a125b661629888213852d3ddbe1abafb584cc16c88b53c8a1bef56b2b86179e6efc52644e44fca683d1a80455eb62cbf1f931da77b4d382679f1f338dbe0802d87aa27431e8ef882a05e6fafc9c8622e88214e4eb96065ee89812cb02ddbe55a564b73791d5f091ec2af9ee9e1ee783aaf0f4e8e2fc7d6c4b35d97aa86159f2554a7ab80db82a42689930c420359d78ceaa651a2c29b1ddd7492c641c254a2719269157fb2288de2076f8b1fc293c6de89acea11c6e35d6b455cae1f44ce75dfad952afab8d937c5ca058a6786994c7bc1c4e009c84f5b40ad9b76d5d3fb63f325869cf2d727685abdeb2c0e311e0d53ba19c44e622ad56212317b0500bd7245ce2b152ae21252ae82ec378ad735a4bcfef029bd1b631be81a0028e87ad4fc3554d7e3db476674e01aef7f0c2c0acc3e038e1ca511345163f09d7c694ce374940516d62f574139bdf8e59926ecb4e0dc999641709ac315f65421745e4012f9ebb1b00648718a4b0ab38f9a6ed455ebde56db81cee54b39864a3610ec7b5f4910010f3351b8dc734b32406f1e899149fc126621802a40f2d7a78df0314aae14db5f62a3793d6657fbd248bcc5c35822da0f45acd0aa6f7dcc57617ec69d8d964e7994062630c50cc47fc5c529d37bcac1901db4a0b2dde3893180531bb7be45644fd108d3517cdc3fb509e06601563c61715d2ad77454b943eddad5eb3a3db94d3295f8a080d82d67ace6e7508a0dd9e58e83ea7b6c257387ac7b489db85ab61ddcb8c9b09dc10100c99520069836426f9a78aa35bc98ae0ba5cc28c1aeb9fa5bffa144ab4551bb8922c1758e95339273bf4c52b53203c71aa7ac8bb0d50202624448bb9b06e1406744ac91eac1609fa595a940918d17faf0eac2b84c0d5cc92b6f44837ac8022e324c517dce5d7427bb031e1c4f16ce9714546c6ae0bf9194d505ccb3cc65fb306296200fba498ade09866d820816c385c48f9846467c704e5cfec2bf09a245260a9d246c5ef3cd059ded5e9ef1c98786dba4c1c30465470af2e7f207f3814afae24f0356dc7a0ecbc9e7943327ffc5418fce1d488233f1aa63c18d50e0a2a5f8a404c5ca546d685f4e79fa61367fd52ea1755b3114d2db5033f9f9c60a7dfaabebbaa791d9929f545bad06b5fdb3aadfbf67f7fc12ba495d4b64ae2282485e25c8bad599162f0de32c3628c1ed150219627a2955b12dac5288e02552d29f309f4d9af500a417d4fbd69481726ddc643d582676498e8aa1b2a6c0d6ce528974bc283df4900b38629bd0e4208febb8474e8f8223d25a4dd060034afe5b964359ac62a681114add6be79072b7412a32ec415e7cb02231a807a4aa4319e3d02a12cf35dd557bef5b04edd005de14f213af26d281431dd1a8ec1f626b6b37f4a3a56afb93fa51c44b2dbecb4a6277f506c6b310dfca388e991f498dc1eefa817628617d6aff23e79015d2d7225d5c9dc6e495386ee867b2814f3c9d58f44e5824a89bc3f0febfbbacaead256743976fa66636673f1b94ce801e05b2d2ff51253acf155abe48e9dae5f0fdb6148f1f3f240c4ca7c514b62e9a850bad0a066dc3b2dc908e63800f5fdcd94c5794c66d289a870144ad2769a3f12b515484da9d9f73bead37f9210ea5e850cddbe16d094c75681cbb07284d14e765ca8fbe3639e6bbaedb8dabf9a7292a87fde7c789a6a7ced57f2ed2a315e7b9b6e58cb86a60a19200ad27249d487c3017b25f2251bc502181b102dd8688df4a18664ac23159ed0de54a0d2f501a21b5b037a8e2acc971087361998c62bbc2a75002ebd1e925f8a97405197bb936353bfd20a4b417fdb5e8ec637a892a2ec222144ce22d2e0053112d33390965ee2a4eef5b0f317ca2885cd1e3baa41abd802fb711c02ebe8c5b3098a4e885eebe20b6212550a8bf88ec5dcda2f91116f841b0b9cc57545d1257b56856302dbb1f6672a17b5d3e6cb9fd9059f8e90048a7af0ae5442a9669d4a9594f91db5c0b6df2f3c38f056dcea0141d646c28b50ec6727b82a1e9771238ff9145d75d77fc7a453f6e9167231f91cc012a5fe7002e24adb51c6d8192881e37b91750e4348d32a0c3f8f8b59dfba4c7fd2a73b750c65dbc593cc98e555741dadcb3aad04dfe322dfd0d850748eddea933211630584571a8e0ddd7748b7066474b074d47f3123e1ae66499538229779d5cbdca9c8191902a6ede0af4c422f144101a5b15dcbb2c978507b0900dc2f2fdf08cfb1b8e0e86219ff4a865c4b0a5c3b0cca0788f797e7b9d5d4804847ab49ece2a82afdc11f514a1e29f915c697ebeba635c64d1183391a33fae1390bb84d8bb5f61b73e856ca923dc2a6d598119c8b4d50daa3db4fa01bc057f3e54fae2e58f814fc3f82b119dd0f15c6eae011116d4a8904414e2b6a4913c3638003b2470adc8a20b3b640ac064e61a3eba012e9b133fef27d2937d60faab656964ebb58f0c765fe35704dd4a28149ba227e00f0a41727bc70916ed33f67ac6740874820f17a9aa597a186bea054e859649c5f50052053c89ca2a466af6f03d548e9d45faaa5034d7b05bdebfdaf313888149356f85847b1008191e1c4db194cea11993fb60cd427eb173d58dc6d2d141eb19db137dff7cd3d9ea0b70502b7fd4a740230decaef01a1f55ba74e418f844a9b2fea763338f8001843b5560f2e9e6e8d700a8f7f59533f63062adfa8881646465b8e1d6fb4f82a0b71addefafdfafee45d0e4ef86188dd7adec91b5408ba3ebc8b797337c7ab9b5e94be327dfc8191daec54fa44a4a50702fadba50f54455c4b8de44fcf2c6da5fd0e590cc12f507c50d92349645b23321042ceaa91ce57288da2134fa400e2fe3bf432a4264ced13e2ea1c0ac1f3cbd1b1d01d0399c1c05eae4a142d9a3a7219c11674fc98d7e8056a8510f7acc54bf6d90cce87a30ce2b57984b07b68a1392d0e94194815283a99a1c51cfaf7955ea3ca3306222f6614b65a546222ac1c7e60026b2ddcf99cab4ea67e4a1e7c702d95de6508e9e8e798c61069c9b9c878b2e519d653128d1a157fa004a0dc4410fb6523d00fca4cd32bea85a97f4005b3a9d91925254f8782a1d91dfabf0ff5d930d9d31c1b60a7809306d53949ca35236671eb0d496c5d67f8d1b7500ec27f9ad7b96b2f72d3ded8418f44513cc8d1dda46539ef7fb9d9d7a98c4ad432751a5783af38ce08d4c969cf334e1d3859bb98880082c0f4f2b98727c93f38621fe05898d5e4c3eb76631556d195f3c34e2526d48142062b631fa9ad696698c9b878bda0674ba8d152611c7ccf62934c3221f4e840f1c6a338f19e68b14d0508075ba8918cf811dc3c8267b8101120c66387c7267b348d40d5c494b4f516dbc9a2799b2f64d4975267854fc3b530db1166e1cde1f80bd582c8d9160f0a4597344552ec39aa667473612ff1ded7e86c161065def4a48b22547dca33bbd561b81aa6bc9d84946dc8459fd271930e16521bb4a1639041fc7e601746b55e5db6995f51c7fa351805e43e31dfcea9388b79c422ff4d97faf7462dd46ddd8920c479f817b3f3d48a65f4b91d2ab7078657b27f938f9b99894c68154eb723640214e6912cf5ac7cde77b3dd40530241607b960dcda192148a882e8ca9a720d073d253d4d3b08d7cb53ba0dc87b3cab9fbbe7f13c3970769500a3f8678dc7004125775a5932750d643c2c4126528437cbd2076f65eb19e643f0c6d6b6447cd09bcab35b9882e4461b25644ac5606851e0873a8c77cd34b98ff5983179da9173657920ada3ae951bb083ba9c24704fb96d706640e7cc5accd28227923507cf8fcddc763a5e137a99c2095a15c1774244cce216cffa50311e1a9e65361bb5d520a14561d46099ee80a4076ed86d96c3ad97456bf1c02c37120df0f9a192a5678c4a80f0b332ddff453a73cf492c987dd3b109fe63722cf6112db5d5e474a644a52001766a49b652efefe0613e731a5dde15c8ffcd4396aac95fec9c02ecb93c63de43b92165f8566269b06906d66743db76255f21095dd75b24d779daf50663e9d744ea689912c90b582e3585c016962719f9db8590fc22d1942ba904e395cfb5b737ad00d4e6e5d7205e4027a1ef0170b16fafe86228105d30b5cd1abcb26b438a2c8ffd4a882973649c04b72db713b61bd98c8a0a1ad88eed77bd1d27fbdabdca1aca4794b60209c7bc4b1c53fdb96dbf3da3ee30a7e0f63cecd69b48bf6302686e2f7f9fd5f64178289741c66f4856cbb391378e6799a40e5b81b2ba893f568fb468e6608625e417697386fc771d6a602ee21fdc9a61281e280a1040e4b24171e8fc1b8d320f0665a14c923d997b7bbd1a8468c1022116baa416a38814274210605fc211534891703ea7350256c0759cb50ad6cb3620f32dfb194e82b4dbe294afe717fe9957c39ad61020143da8aacb2fcadff0d7429fc490ebdd82045938968e703b96ff6a4ff969bc51d74e040e016e5d5a0857ede3f788170fb3676c4a895b1bd64d9701b9687e53aec54046bea9ac38395f4db78dee9c1a659bc029409b54bbf2c17fc02e26d33bf720bd7df0a48003a2aa9cbe3173436578fd10a0265c07ade597613a28507ce5a0760633f1f843273fad80557fa6f8250028c99dd3574ed55785015e93d061a6f3923483199cb7e89cd617e0626650ee53773c245f4f8ee56a487f2cf1c7eaf75595d935e90854e3dbc09a70d4b02db25d25e1f74ab0f878f9e72d734de278c7dfef12221a8fe2432719de4707edf858acc4755d08fa886256c792833ca0a986f277b81656e5d0129fc5be2e1648c1e96ca9236a9d6bf0085447e48e744fb42382dc7504d1c2ef803ae61a9c44200bba9166cc1590c8b5b75974609d5725be6686b7a11f1adfd0cb8014ebb69a8648ee022e2c7b67a60466984095532df6d608789c38fd3a2a07eb863cfd7c7af95100d53656c239f659d413d509528c7e80d7f23239e97cb7d98ac9a64da6c87db914f89703df11751b44ec151f27cbe725b2987e325bc4753a1db37547c713584cb8023d9e2f2285374317da088621758db67d8a9fc4fd28d044f29465b47a9d11c17a2fc2a0860f7db17014806b8602e02b39182a0da48a0c3b7c65d0d8b66fd2a9222fc270ad53f2f2b858faac12c18aaa610d271698fbfdcccac26a03b07a75e95167167ca6cb9ec9111ef971c20bb4928bd8f5be65b6f0e4f5b7e40fb76dd3e2f7c7db833112a5b75c7ad042e1a16ad3dea2a923cd02b9b93b881d426c51f1da9d8afa1d1b45da6d4732247c69cea51c7028ed932bf33466e93626a2c35de7ccde7df3ef7325bfe854d196abb938334ddbdc8e50722ea1029f41c283179a80bafc21a0de6ea80141374780553fc31112531d63c34ee79e4c0fa19e63357dd6bd71213f876e2db66177a92c455f001440699939d8b01ed6b0392a95c2b7f88b2e8b0bb33d0c8528664ae7f48378285abebcbf41f29a22ada30b13ae8416feada6ff5ef5596a68c388f457a708fbe4cd4960763b71e14f621e35ef52684f23197682232b17057a3e80497935d628eeeec488625d0be7a474d6d7c5608ca54236a10098bc00fff379c189d4f84cc6bbbc45ccd480bc8d578740a727fbab7998ffd284f1ccb564e3e4a87f1f0784d537c29a423d937fa440040e0b0b67360bee87874c7b2f9d42efa3b5b53a729c50f69e5e1b5799f3a468720793b1249bfe79902af6c9d2fdc7960cfbcffaff13b74a5b77b733fd1c39b4300da3f5724776d0830f6f192944107110957fea94d6a52ae4bb28053aea4c4c44506c205337a18f1b2bc62268b47643e0f05449b9a22526602df987d5bdacfb5b96cc2e8ff0baf4c329d13e1013f987c8d73412300def0c3042f1d008852f9ddb1df3da89c1b2f9dade94a0d41c3dabcf12484e79f4fc690212dd7c747cc950cc5d24f2419a0bd8392952169c545e3d400979a4183e5083b888dfdbc3a8596416c27112b1ed8f560ae7a68be48d9baa84ab000711628f776440e81052be44d4d0d61a55014d4849d900ff082048d1576ae075aac8338050c73d1d725d6e099945f29bdccb5ae73a8b8fc9fb946dc79a78a827b3171b7d1a4951ad94acc2cd036bc478290d67cf1be7a826175863351abfc5c561a3d9ed38a5ef52aa521176859c19281df9693e96e8eb1d6c1464d7332624e6d87c3d3f89705f0ff78211e04a035e9aa51f3ecf8951e5edf7bffd35f38e9ae4db186f8be17771462cf98fb93075a4ca0e00b2ba1bddd4d2db128c43bdf411377004b7d69bd9eda932048ee0ece774a07dbb6456e5a848bf3b1fbc3559e23025b1e328370f8799d71cdc2d6c72306f3a5a70d5e1b4116d9a15b16dabf877db5b15bc5d232c0c3b0b4e80200c69a78aa872d60ef3bdb1d71918b763c6f7ca9ae6252a28dd3ba93fa4552ad1ecc89b0edce4f585bc390d91c8a1bb58359bde5ee654f9b490ba12cd57e139ecba1eaf16cef4cd7a0f2ca170007a8b70b9ba5d3beeff360c54a03dae1b4edd385a8d71ad04afb57bed6b84b7da48eed60ffc2881dd44a3576b1ee689e372f566499942f0406471f81bbbcca988003b408e084f6c508baff4aefffd84e88418da055d2307d6038c556ab269b19f94a63dd8cd2bcacd8b4adc899d3677469a7712a854f512ad5f66e249b58b773238fb4bc20f198ac3e8cf916d393b4c76f2a35a4196078d4fa94da6437fd5b4cc8b2771d518632c9adde2047a9aa8816b35c41e6a57df4b8f7f51d5bcc647008b2466165343aaf483ccae9451e074c8d9b1d1dacd55ceb3d449f5edebfc35bd120efc5c8f6ac2b274122ddb562ab61465b4577554d91ee419d1b8ef3394408fa2347c69c32f2d4dc9a28194767e52213104b10791390d0074067b1f5dda6b9d655e832f16cd0c416b198dc2995637f18ea48701374dbed1f777410a430b9527112ae28c7f35d623ad4f106baacfbc948af18c49072d98f2872b93415d69c9ce2a3732f9a2d3126351637a06fed053684b64a437ab997d820faacf9f321b2535b3ae5d8c4db51ec4edda42f8dbcfaf7e24153cb5a0870d92c801ffa7ea6d3e04f19dd546195d2e8e62248c7ade84963834be8eaf723db8524a77988f1b5f0f86c9e50d1df3a922827d6dc7e944245e007cf41d6ef85815858e1a0f36d282387deda363c2dbb879d22070768d0e262d09a35550a69aaa594c5509fed085858e331fb82dd22fedf11cd6dccf63b515bd81f0f1a6a1c64314db42d36e109230cfe78a6ed14dea2c1364ec692b41147eabcc36fdfeccc37b3795495196369c5fd8509fe856b210f89ad6f0762a9d1f76153446da2c5d76946485d6763985d2fdfbbbdb06a7bbb245d53bb57fcfd870f46f71d67f7f3a67478394e429e3cda5f73cb1d175fd1dcd468ea48c4dc166b7fa92003528819bfc4cc2dc82d7356ebc90f0f15f09e295aa6084031840a7d5de0030b1305951f4bb20f5b1e23211ab9f96e496a80a3aea849228d3a55a3d540f984af85e8bafdc9f9c9172fa2aed9a6fb0fc48acc5ffbef255a3aae34e5a68ff83f8f1118e1d732a9ab4c9728e575db467728ebbc17e7719e07817e4c53c61c30d2eba4a93e931151f43c05a7a92604c49780a9fc53ecabebedfebcd72439f50f581580051b36d5f83276d4dabc638322b141b663a53b15da163f418d14f5f69aaa6f84a5712230267bbc307cf82dda5ced45a632252dd503f58fd59385b9295f98751a594099af94bec08cb3651968e8a6ba3f3f3707532430cad61efdc64cf64e51148d3ba008502c791bc9665be9181b3622ae6096b2a7880c24db85d3f42332b2ce4ad2e0fc97fe6fe974cb293f4da7252820445b7cd64bf79d4ce09f1b7a1910badcbe36f4db2d2b60ea5a699f153972feb091024d994fc6ecd9ba0cc19f7f623791b752c3346921191fd5eb0c6f672135c042fba0f758010cad57e05a0a7bd14306f49081bf9bd3c86bf553303060f428cc963517b6d63510fa8d26cabe4f53e2aea70a5a06d3acaec77bac187937536fd8c30c0ce21a4d1768fef4285336d58ded79b20c44c8b1707e397ccebcf16a3b1197bf9dd3fd2900ea0c6c3ef5be1f2a7ee9be4b4724f759952b26f7de9468b249270b901bf3b47ef104861366515385e5a72b40ee0539fabda31e8b175190e0ac517a38f1a4054bb011589635421014e3f6499f9a8ad3f6f2acf2aa64cfd6f860b59d97e54c7bfa9650d917aac729f7b3a4ea1d70f8324b6cffb0424984f718e0cca8a1f55eaf079f075f2902f66f186c72cba2837b8325cc6ca4f524a167f7bf3af324b976e53016191d147dd37f7c4760b1c9bb07fd844317f4b8ee4dd2365f798daca2044f316fe82509f1a1850c67f7a08ba18bb2d6221409f7f9968f6f05fd4df394909005fbd047509f6f9e6da616aa39b6582520ca58995cc1bb427797aec7ecdbf0737e47a728d16f0cbedebfca2da52285997e1baef4c4bb58116d29d1fdfec5611ad3a9839279237624e6812f7d2a4f1ae5e6ea02198479d822c6fa821ace5fed2963ec667409e0fdce65c43d982de6434857030b513bd9b8b2ecaa003e0a9342f4f2f6776094d7c64ab0b951ebaa899070af7461e073ff566da5485cc99c59b8b73e426570b6e481398c6dccb9be746198ad525527c2d5d304befd981c4857113b4ab373838d1a76b33508b606b1c59c67d2f4fbf3d23285f6efc9489738a54afbbaab57b760ce7bbb525a38b090d303a0956f7b31617865817dd4dd8b4966008d99748d0d3c8bd8394bfc91151b4e16bb7b6399bf7646cbd2c18d8ba0224715d7d965eabf55d040388ff453efdbf04bd938dbabe43b008044f6843dcbc82668f11918c11699366277a387f38a6555883ea6ffb4336ea0016187a6961d407e9e69aa3edee56400d8992fbd7207d1e39f21698030953fb5098906b9703d647ad2b5c987316fbdbcd79ccd130e0576c029566f3d41c862cd02231d794a7849cd08689bc0bbc6deee25bbe71a6fd5679607812b6be3e0535c396ff9974ddc7570a782fe4ad4d7b2049254b57d469fca6dc63028e2c3b3e20f8acc8baa670665765a317b8a18869188e7cfdb786037adf3a364486966a300c70742c1c4c0b09025c0e1103c3daeb9d81697fb0c252edafd141274e4de9ba4ff910d84e31f9b8196ba3acf40cb5b490653b263e4bfc5702c13deefc5b7699117f637e2f73ebcf40a98629d30f8446eab736f501099cf11baa86a41d6b5bc6d5babd747221eb9ca2c163800c075e0c89a9adc91012f4c3539803ed36a62ea466d02eb1fccb04170f284f53b4e5eb3729741aa9144f0bb63793e046c1386b81d449db142bc0be8cc6a4a5b56d12b6eedb29edf03d5f3a500d737e4aa1ee56036632401a0a117000be28a2c1041c77fc783ce01f43880a62daf44dffdf6805b41c9c9b63db235c84bff83d42fbe4380c04c9d065ee7c1730c6c911cf8e88d2e8403d8dd116ebd9a3c0d43612ed54777e6c9cf823357119b386c0034d76dcd8ccbe278de57bc9e8de2296f57d47a5dda79a1dc42fe8e32e790cd12c5ae66bf5d0059ad8bc21aaccff7be7bcec72ed2721574f63cda99bc100d3293b5aed952016968ac16fcadaef9df16188685129babc6ea72f1708896993ed922e6139d07c1a27fc6e5beb71e4c4f033dd43987f6b864b6fb02b9497b2d635d5d544220befaf44a5388e8479b56982d07ea5f3ba4eae11a2bdc95c83f1fbfe4990da7b7c42552bc6f3138e184aa5ce05e6a135cc811446c0659cb279c83fbd757a52a1b454ca9f8a7ffc2f332a05dc8026fcdc63288c6cf789c6c364d594fb8a57ecf3e75d0a4a7f4f4784fe5273243912d7bebb17f36649de2ac54fe84b0e6af61a1d67ebd0dd1e1553d599bba5e12cae6f686ffe7cd7abe2274fde041b505639368a423da28c4bfd6265307a65a57151d7cb56958d43a78ec8c5d181e665c15a3d5efa12955b6f38dc4315695b705363cc71d872eaf565a4b672cef84947f3babe1a0ab8d7e9b3d7735eef1f2a07395743fe0207d072db88959a479dd732aa9426934cefe8b5858486da075a9108d7db0946898c3047cc7aa38f65ca6443c7d7bb8b574e4947665ed9815200038cfb2b2909b40bc19114e1ac2d3ab19159789a2339dd48f76117e1824dae5bcda6159617c2f909ebfe1125afd820c32563b76dbafd08338b66a636d39196083d20115274604ddd4fabe3de9d9384631a4c235b1d258a1181d878624427fa7e636a6f03243ab0fefefeb7cb1ac2d9eec6744217e3b940bfaa0cc21f6ae0210e4f9d587c304af562b0a35daa73521281739cb270fbcf0a039bb7b3e5f47aa204dc70c111686863eaeec1a3ca162274fab0a5e65596dd999e525a0e9e8ae6549a76c6ca2af8a765d451b3040d65dfe91918072a8c9b1a2e60f8442a313721b17a9c57b3fde36d9e3128ec44e469d0ff540d1eef5b7aaca3b880243e7152eb2d3ace4b4e83decac0a8733eb64be23f870d290c0af42c055433124d5774cb8f2aadf84142c7760721684bdf19950a5ccb245f96a5672f46c0392f12349d557cb7804a0a0d2e9dda5e2945a27b04721091f1f2f6718ef7c5a850cf2cd517251dc113b0714e2ebb737c4d834b716152755ef2b5c985537f39d7b37f917c778417651b8b6f62d8af10f457e5687e298d7ab91fe085ada07b23270bcbd6f07c9709ebc5f3e2d6c2e85295d522ec9f78fe7fed912ecf8abb522e85e794f37a1727e1fedebb0e34f6a15e42be6215185c1a93f9534593b82ec890d255168b5eef9a298b0a863fdfc9388ccd3f26f64c03f97a4acbd354acc7cd5a2d7261a3f4e6a31d13334527ae712b249712a2bb19ff429909074876956a939ce1d27cc244f806851f3c0eb9c50b538803d1223c69c62b197fa30fe6b08595d57ac9d5b02c9c8d3ab8835ce6236c5b0be1341fedcad9c7af105dba235581e3728d55adccea70d3363febbcf282758dbe2562868a6ce198776c0f16afc2cf2cbc982cdef11ca26d13f34cf2df29a16ac2c9a68b0df6e1aaad75619ec7252c036047aaef3668178ea30f95de94386c1e355aeb94d96708559740be7352dfbb5ece1e496127101102ce40e1ad3710a4d01d9c88bcfbf6cfe01aa05ca6937d5a92aef972c79f31a36e7b883ee2d1649d351a22641635895a60f1cc646d9a42a1bb33f0e07e6b249dc3256572d366f34534c9305d41188400b48515c579468a8c70d44d2aa192d0444a36952fc60717906ebf477da08e15f59df9e257fd592a9e788b4381526c426a9be8bb950ed4737e4f9720fd0d8c9a3ade95da39794aedda60644b2bc9af82ce45c8a41bdbec1b1221dd23c55b39db484e2278f5314ff16f6c6274ceff025dd18d9256b15f6d67236290f0fc91c263b97cac130605e4c202150e91f79e98233be240c0577fca8a07fec1cffd8ccac618f334c2d6356c7e30d94f6f0fc59d4a76974c96ceb1118cdde850bb21d495581ea0384e2c06f7f05a225b17e31c784befd7ec78d566e8ac106a505b6f548bd161b649fa2988327e41081d45148da0e9e2d7942c627529371576549c3bd7a851357779ef39796cc4b889c9b7750aa375b2b9f26e02093b3cc9da4c23cec3d688665606695eb6ebdffc5f8984d6dd8ddbf8301f4a956aa7ca692d349482b209515ab63d48e55c5a680f6d28923af6151829b66e388e9553323f677ad5111334a3a38d2bb9a0504d97034e4a9cca481e7620ca9213a03d2ed4d2481f1fdb3d08d5d6c27e489e2023e92f1260abed22ee2028c05f278f4e91e655c08330e4352a455bc87b651707ea971ac36b39f76405e6a194f28d48d8751bb84a42366884d8376dc3e3fa84fbe474ec128fdd4e0e7eb81d0cbd8663db343b1562d7e89931ceb2b4dfc7a81dddf1b89c636499499bafa839d20a9f40982bdc716ce58f8052edd496f1d5034677158bebe17782eb055a48956cffc7e3dbad81175c8f1a61a18968b1d7c211d23f91a7dfe29bc7de279aa140ad654ac381b0477399ede99e49a79d0716380132a51a52b4bb0064ea7351f7f75277ac04799f57dd1d035bd52eabec0683efbf5c62f86586bdb16750968a28aebc7273f2a141fa80de15ccccb7a1b120e025dce21e89ddcb085621e5dc057bc24e5f2d3968a73cd230d06c49a77595660824f68125d9702cbf344770d36f9f4e3d9da1652dd658dbd409ecee5b829a08924091b9234809c4719b46b1b51dcfac822b9d0a2254babd04b0f94003b37be27c2e9b42505ba546525210f4965b9102ab23a6e0be8c2a7d0bc74a2df4afecefcf59c39363cc753d0e4d383bc98fc23a82164349a2575f9468cb240ca45a40495b41e979b3582c2eb82a30114d648fec7b674daa6bf8a95385b231504055603af16e79d5985598e0725aec43504a87c6eab95c97221e4480f01124e40103251337a09a2f1a2191516e5407843ebc6b85da05f6539ad94239fdb904f170da5a4ca8c348a3f44953f8c7e0dadd3782b4e5b88df399accfe8cc6a5cc3df6f84663376383c2c178ff46530f89e19d3a5c31889a48de2e0ae44c88d315152cbbb2d8bbadd291d5e7803a90c81ea309169d24dfe009f51f2379fd0b8f968921a44a5da5ffae1ee3c2e4e1e72075a0c3108b398b08290a34587e6450fc46a523622148f189edd229f220d48c9015d194a116016293ded2d035ef5ed7295eda10ad467ae8612687c2606938b021b0b1a36963846cc51cca230989349c8a318a23fc66592821876c44e4b8c48d8543b0a9ea3d448032ceee97f649714c6fa2ab99192b31ee9ae35b0d0671b51e6f6497516ec2bacf8dc6b1814e6741d3b6d1426ea573a2c1cb448ae52a50db06da1debd151624bdbc0b65dcbb9411ac9ae87a60c315b09e87130a127bd8eab0e8fa4e70dd3bcc15a54c4b9b3cab060625b02a87dc854b0bc61746db7635ae43d45e7b5c094fe3b37181a29aee75196dcf45b9a0adf5ed1a4e4078987d3dfd5b268dad6638f0c6e77fcd6a146981cf26ad7a3b1a77c2ef3fd68aae8f85590b955496ce28acc9afc2da759e19d6a17ced6ceccdd17ff185521d008e65ff3f955a17b6eff247d544171ea9f971c3cf1abe566b890fc809729326e31759df981b201005e26f065077df26dd6f06773835894db9246bafbfd405c8fa73e09ec2ed1004c93dbba7ed9761d630c4f001f47f34d003ec41dbea3996eea447b2763ba0853319532437994fee8841688826b9db27f916f187f905ecd9591d798c14991e19c16680b91e6140fed4a464cff1ed7d7a2dc091c4f90bef5db9866c076898cffcab20364845cf12309f26da6466510ef10d1c2586fd8461e8f20d6e65b0e7a83a8f4bd4293e2c006c4706aa04fc8cea8e8ab2721f1ff2ee42d76bfe612fce1abdfe5f073c7b57c64ff4d0f7f174d9b6924dc8638e707ec921187b77208a79c648a97a68e517f08ab100c659f843f31e9ff0514d71fe870539795cdf8763d47fc22e89591cee53b00d7f15cb1e21dae7016da3d277c85bc9befe75b652f95992deb08645f4e6f3bc370649cea9a1a46847ab7a1f594ae6c815e1f1157e48e12fb3861a8703024c7fa125f0cfb205faee741118e0b5f4780b2eef7272b3d4c5a78f9cf99ba6e786f77b54f6de0cc588753e31d9f8e2ce9ff414ad89cb24ce76dd764b7cf7ceb3c6b32d283064d0eac0918cd931d445d2df68e4278fba9660e0be5e28e48bebcda60c1dc30827190d7d9fde1d9d8162b2fa117401515763f00bac1f41f0161f10d829e733c595d8dc8b74a51114c9186b03d05c69d79e60c7dc7feb3681a04f704f38cf823c55e60958d800afc959f1bad2677500d68a8e45578206985d840f4cf1b7b5d28859c1556dc809a76eab8b25125f865239d4aa251431896b4ea08339f917ed007198235fdf9739ccce060a4a61e252b29a7bb2750ca53d5efa9ca9783e6b6103083f7683effd45f23a607c818060cdaa5f493ac370b830833854cdfa41ecf38586ea8ebaf24ee18f22a9b68fad82e6187f21f8546ec6fcd1fed820f5e549cdbd4fa9afea2a99293c23add900e50217622e1a524d5ab0978b4b860e8962709fcd1ea00e48303433fae347bf2ff7347bbca84b173a93ccbe7751ae6b6ffcbc970547d4191d2fe5fb1a40a0fe62cb241cdbadc1eb611470244f428f2769bf81527da89fa9af7caff6c19dcb650e14c4e6d15cc27215eabaf264d5d765af2727bca9c571afe72e5c7c0937dc1152712dce1d803c59131d9ef9c23bd6f0d6174b44a09d03a7435bdb5a2ed4426c2eef0ad3f2c60187a317fb596e3e30f43160be4b3ce5f38ed33770c57a27a293e2a5644bb62be9c90831e7abb340b6844dd960416c8764f4586f8a8fe0815b9bad7aa712f0ecb5a248037410a249b6572f350ff033db24bbaed37ffce377947ce19518ee738051ea6a5a2c185a070ec0fbad3a9f4d6c2ca4ea4c2aa01c3b52b294dbb9f6a0aedc73a465fa17b61fe4af53992faf9d41982fe088b1c5b8cec66aaf32795ff94ab9bdcfc1afeb7763fe40a9b8c166e14c8bab789005f20011a66b29c0a2fbeb7c372ce9bc3ef21ec89a2504b9518e320efea0c2cd3a1f63cd6cf86b1ce77ae4d08d7c19a2a203bf69dc575e2d50ef27a7d5f22cd16c98dd3022349e5e3426728a6bc458cdca6533270d187104bcd8c30dad044ab3540f7f623bff137c9b14611e78fee10e3d5a47bef59f4ae0e76ba9b59c46d47191ecbda5677d7bc21be67abb3515f3eb28a8b3d272eceda266aea69c16eda842766d46b40f383f509ce138580eba8004148e3c8b423531b81296e076b0ebcc22c63815783f9e938db53c214240a7be861a38b9fb4db500d1e44e555404d49bb30acb1791193d3df0757ef3140ac73ae82d59b5b8e4f4ab310ec5f1f226d1e6dac2dd3ff17961cb223c256c11b7f7ed3f5f8f7ebd57f8d6bf4b87abbd38b0bde92eb538d4c6528ef139aaabe92c3381addeea382bd105ada52c3efed4993d1d66c61620d2a6d56e60c286ee1f9bd81fc1162d5e91570f4c4b90969f892395595c3a4708c703cc02ca18c47ff8ce6e7c5824ff2c9b98ac38dbf82c911ba5ffcfe70f25466b1e3083403963ce8288be3ea45297a3a40f59591961c766d54d46d5dc3c89b040957d308e2b784798d9f1073bb76c729b2e3b38b211230f90bf61afe859fdadb7bdcd700c325da063651cc3a9561d6b13644add6007ab8bebd0875dc8945bd9a24bc1191c090d93860930d75f725d4b319e6870367dc021e845455aae825fe607f7e2a4ca060116fc2a3a58bfb196a04e4d0f4dd9aa90afd6cb01442cdbf0625320a37e312fe999dc3f26ba15f9fa7dca4960135c79f336c7816f1800eb3fb9bcdd44431b41c36ec8a6b43c9dad492d2cd3fa7375ad395e6d44187988276e9494808f8dd1a71dee2b1bed5cf1bdeaeafda7e2fbb9a7db10458c003626713f33ae6af03fe1a4871d4a4b64b70e30e87fc40287e4cb8f995beb04f68bd54a1db5444e6c2d60543aec5cb8ca4328b68d7c893b9c2492df37be9e9cbff71647c4a585a2c54d36020b3c0e0ee20ba85a671ea105e7b1ef4ae14d115c3c365d0a66bb7e0dee3e2fc7a1f3205c0f3e7810f892e64bf7df5a7538e079fb2fa7a6dd84f7aac56dd7762c7ff1d2310f48f80b30a97c6eb2317fd474454e441a08c62791c3f8297fe42895aefaeb536af4cdbfde8d6a5fe9bea213a724385a04a2aa1a363cd9e9c8af16366b73e74ccd77a604b763eb94bdcb4bba618af59b05703b738f81ee1031db206ebc831ecace4aa4b9a8358447f6e5873bdc3e128517161e67c3dfe3903c3e22f32edc61cc9b35a7c19081447af77fc604e1d8054f479f9a805c6f97677640194e81f46d9fea2c9007200c28317aaaa185f9899557f92d80e0c38a8e8c9e176020f45c09f5a14b7c1dae11b12a2823ac098ddecadec0bb3d045a4a554d11b8a49d3c26dfae74e37406cbca80d48649b7bdd93f3e8fff716380a04e6f2291647413406cab409e0e55c67ccccb0710bb4d5250015966191b89da9dee5bdf7f70e25164cad6762cafbbbd88ac7ace30d2a303abe04f0ac01b4e88dd3530d234375a7a5709a9f4d58779171b71e7739957723e37324144e50eee3aecc055d5928cd561608d7a5a2e7e08547a2cc887748f0d84d2656794e581f2d3cfa099d4023a187d2d4d5c7675f9eb1697a9de29872682fb50464944e89b8bbd2bbc3e41d59507f587f2d069fc8d768626fdb041ff2e01709701cb615c4bcd626bde5cdb87359cfef0666836883f2e889857884ce8ba4990b504770479c6a0199bd9dddf2abc70c2186431e355a73fa36154da242905f3d48cc52616492a0aa70df502cda8c4757c8c935ee7056889c3486aac41d3d9b422c4f29671d1185a6e68ffd41ba5ed9d9497c4623a64292cca9e3b02c11ebe88d082493a02e9fa05de22a030dcd7a627d05e7d0d76acead37a30494470741fdb044b6bae83b476b7856851d55d6128dd76974196b76bfce0ca42e3149fd8a9f5020d63092a18252ab282af870cf630ad393d484a1101bf07b9e18cf3edbad1c9664cecb8fa25cfde1720e86f0b364cd354dc0b9d7b064d71bf82c492735f84c6fc455466a3b20fc580e4a3e7a3d71a5308346fab1f20ef76efe63c808b6aadd9f668aec6a2916dab103bf300472eb8de5b21326cc469a9cd1135c4888ef43954e1455758eedba766c1c00ecdfba09b90cb810a56ffe5ea6ab590e6d3b32b1a288ded376dfd23bba303f1f771d0cc8ef41bf7ddce6dbae2e2d661543962ccb514be7eedc84cfcdbcbda9ddaccba5dac8a0add92b5c31d96f68bdcfe2dd51151ed2d5b9420e07d0c1e3e41ff17388be81f04f2d884126912c89b77c2fa6ee4d0f52aa56f93fbdb95e2146a138aa071719187c84acd266957f8b207b8daff493d744be0dc1dd483fdc4212c3f57613d94fb4435c03b994ac86d5548dff585ff015350b7274bbd25ccc3e2a4e6b722ddd9c7d69fcc7e398b20d4df920ef764b7d36c2ddccefacbe113f14147966b871cf9718675c8c02e97fa3156b886c9051a1dfe2498ed47a5b9005195abb0b6447a5631c81562e82945c23f540386d11fc08595fd8a3d3827c065a616033b2e98d165a373807dd590ddff173f683d10322a6e62f5b63f81eab1bbf7e208074d406cbd10bf4eeb9998effcff1e2ad71d09ffc74380e0a3fd425aff03db28c9b9723a78ee7f684a4203a4c6900e4a856e0a6791cc4e62d370b4aa040d19ca30f5c0e6b6f10b2b0973f5e0f92e2c003c19e5343714dc53c7efcad9745caae17d33c1b615e47bab938343565072b6d4967b33513f06589601ec7ba654bf71eef647610eca26822ba34d1ef380a1402e02a81da87e1b0f1b7676c76ab3f2f353197482f69269297a0dfa62459be15c248b3607ce2939635178e9273415bb24ffe2cb54886d8ef1ff724fe80c7df0a4cbf2e65541f8538562d75dfca229739244c51983705e806715362568b7a89741aa957f67540c5defb945f953baa6c0b26d1fc30f3033aef288d814a85923b9370d8fc830fa878bcf23904c21f2cae8d485008aa5a7d9c3d7dd21eba5f916323928838ce7c20d21ca48733375d72662bccf02e9c3a4408ebe4275eb8d48c56c817eaaf21e6576bd314f689b5eee53d07e127d4a3c571eb12a56154b18d0e5f9b898241f661bd10d6fa0033741a4542f8946bb8ec0b8476e01b6c64eabecff2f6bfcbcf103f412c55644a39dce3a111a089a9b3f5305cca98a87c5b86024ba70795df69cbce6f4bc71227e5a537ac0f4bb765d570793d33d810221404e280195f868a5e245e4481fafe36327c6c5e21adebefd0ecccda8a4a9a329b0e01d1c54be070dc5969a835f72acfd0fdf063066f1c252bb29e29f9b72132ad5ffacbe6f722184083f6dbbd661deefdedb9851a65938b862f59f5a99db14ee8e132b1f8020d79d8ad3a3de41b2cf95780f99592911ffd377f065ef1f34bb502cd321fc08fb49044ca8af2ba42b153174df2020612ca43d58b5f27762577d54a0038686720c2dc616ad9344a2d65c8c64b6634d3c5342d249d1abeb9400d2e93fce054b8bf9fb3c5253bdf23fe14ef70f15946ce73ecf8839a9eeadc158966cd7ea7057ec92bb944ec5b804965ec915c6b066012410e5de8d5899550c581187ae6072b272a5d4124b97d362cf79ed9bfe0ae201ac2fe90255fb5fad947a8dd063844a53e3cbeff868df2a3428a8ada04d39b12c999968d37fb2720b04066354c4a8f7cddf83dd3295460c78638e8c46d5c12583edcf8eb2652d3213760697e0be284c432720eb9a397c7c757d0106f1d1c32b62a62c1cc75e0795adfe47a438f1ea7c2afe5f097f2d0e6bccb12bc1113d808113edec4ae0bf9614b9b72c9615fd99ee9e14a1ffdd240cba06c44b0d36109b82d4ab914b70f7af29cbfee4ab6f561bf86fa3587383b68af2489b3b3196cbc87b6a5cc51f8b2840c51c2cb7644e996e79e8fb33003febbdf4029dc62c568cd76c481b96666b0b90d893ce2a6d3cea65c70dfa676630d629acfaac091d7111f9c8bc6cc93fa8f7d9ecb31478839c29382aa6bd4984fc11c81872dbe0a904181d149d321882f64841bd9f53c0701c31f06001d1cef409f3099f571afdfed7b8e136f6489f6372b8fb0751a1c136f324cc2aecb09a165e1746c90093a8077995128619a505965a6d86555b5a401cc2918972c610c689ce5b566911f00398d27cb71fff62f0690c7bcc630b040f7cfbf4a2bbccd6beb8e07b6fa217112d372cff37ab5ded16d9af0e560f20ded69992f05f9f9249e123abdab153b05bb518c01657a1607411b85826a78d23cf66389e8cb3e533d06bda3d174e4753da512de28a18c3102994846ceff796489b495cd27dd13c52bde567278d07ac74bf82396dfa720b7102d4606e69eb9cceaffa0794ce428f291877052652910c977ebb036e5dea63e9dbb3ca2248a21056302671904384c73aacfc7176bd63f10319c63687dabb3340239787a550f9d6cf9851bd48c36e0576397f8d03c466d3fb9b700583506dc84d995cd6131d074ad01d114bcdd8012d7cb791d28f66f685d9a0a3537f3edb3c0cdba9a8758b1711eae6d0f2430278563b713213eef19bb75830b9b7c9889efc41cfd5cc37051f9fe4325f8a9537a0d27086ae42197190642e3be13f6c1419f41de60a35963df6b4b7e6d03fc0c4d28247de3c471f819ae1ae3fff479a43d05d00a3f42002f243d1f9814780afe9052871b208fa2f33325aecfad942706a115236700970746f3facbfe51d57600772ba6acdf3c316088d6f7feb7c26bb2147d6e30dd145668ebe75b6182a570013676cd25791929cb89bb8867432ac3519913efa7bd28c97d38f33e9d087e578734ba761a775c2b80242b125964fa3e8c57abd53cdde65b04d6ca9be9fbf9b6c60c50ab9142b85ad54bf344e9b78963be7381ffee233c6cc2d9446ff32b8ced39dd43ae67680ec5853d77b7f5afbf5f02a1ba98539bf67564399f7b42304a1272767930fe4f5793decf100caa3817bd88fa2fe67a775656ff1bb99287043c84c6fb1ec11d30a797fbb988529e7a240e857c13ed0f24670af7e56531484a2022cf8f6812949894acfa7557cb60e26e906221a0bbca48015edd44353220224fb6f34fd8ba8937d6c2d0895118ca94ff5c55938597f42336c6b8434fdd2c870322a966b560c43859fad8eb681be989d166481d942a553cdf55be657558265dddaa224b725ad5c0404ccdd5b963d55113e71f54a71d5c0957cfa808b0cd6488138d13517746b5324026ef54a8262ab67d6b1aeea196804b320c4c0a7a71e586f142c7f16795b5094a6f1afb74aaa22db59199b4961910dc52fd91b6377d85af17059d5eee9df844c4194be293de494de1b1d2a991f4c02038f845df7dfa6f96c1c3142bd514bb70a0e46cca780eed99fb0b147d4592619f304a31edc65e8fa18e0998aae1e86ddfae89f8be0ca147e1fee71cd224e60067c19c6d88b8e92883501abf0b441e042b6854d7d1d96b5e77995515fa52be594d3411230e0b797d83fd96e3ffd31cb099d6f1da4eeefe5d979e435b19ad1dc487970f860271647256d160cd87d8c6c6e5531d8067fdcb61aa2a445bee81dc4fe77ced66415ad1c33559bcde9083d169842beae83a939b296d4073c68b0553e17dae64535def629c87caa8752db15b05a815b9e00c713c9c56549f3eef7e8596e8c6fd8635ead71678b603210a24f803dd3721b678d9e4392d68fd5bfe3389b7e2eefaad31e68610d192174d6f85e3c405b0cfca5bc635e5f4fe7c7d257f87dfe3867137a5889cad4721c6b3fcb22c99f9c9d2877f2084ab6012164122163e691e74fd167a4fceee071465375d42fc3177b147f13dd404c7a3cddb4d5d3288511f4d50b3b8d11de4e8a1e9e30f1c357358a19cd827589c4750379d53c229b9fbfa5d720b5771318f6472990b0678df01f86ec604e87b00c376c3aeb66c02fcb4b37e0da46d9dd04fefb58c4605f25d0135fa40ac4393545ce55a2eeb126d347644c69dc19259f106367b3853e3b4aca456bf0cfe76c86007f02be9362b3a00b30be354690a7b53510e1b125b7828edecb6d752d20862ee25b4dd295bcb01da68f44e1108d95b26a0085a5de25800f81355a14afe423bb8d2d46ecf9a2054c7857a44399f5b80d497c85a036374c0bf4b44e89555006e1a6c282c5b2f9d15819d676471874a4f3f2d3b83465ed3a5a3cbd49d729f0de5c643250ba622f0f567fcaf55e807f056d2aedeafdae99d297b6fb527285a8547f5e56a6c8070e6f7c651101b0c8f023e20e915e1bdfda74a558b9335ebb309d07108bb0b38837a8c3761196443742cbbd3d1512d26e52d4f4e76df73a84305a136003531586c6e299d59fbe1523c11df10db23b14f256b203610bd131b743b3ff7ed2d68b6abc5869c957389ef25d9d9210c710584dd8a00376e14a8d1df9254dd29fd8e7c081a155446af36930a6e6b32dc3eb3568352065f606a443a3d6f387fc8d6163781bfcc9d2d391596a37b8ad0fd3c6b028df7c18a30c8f0518a3bddd63d94571fd6b973b73d5f7977634def6b717060c44943e8ba6d1cd651b1892f2808ab005b31b8a81c407856843d99a12a036d236277f5acdfe1bb14e0cb5636441f26004d35d99d651a21b57b38c73c4805f4bd3fece7cbdead066ec966579b1832e4a49e66f392ec4b0cc8185c6cd23f1d08f4231c079f3c5381f308bc74ff7fa02d38366e1357c5873b7c75b2216070c325b1929b22028f37561406a91945b8b4d4e9b5b76079f5e419475412fa91814ccb1a0cd5ba483c49780ffa514e0145f32da3ceb1bef38ccaa955edd729d6329c3a00958ab620959260529dfb7ed8940b3d555557f2f488ec3a82bcd1223b0e544c55c86117346a504bd6c942a957f5254f020cc18864ac630cfbb2734c992fa4fa0d07928556642fe78022186591ccf3aa4fc2beb7b1141956441d812f7c27d2dbadc2f0e6277fe16a3ba4b83c5b4c0ea4a7b3be0faf806567046678d1f97150366eba8ddd10c2b28dbdc560faba9104b7dc6fc3ed6c88cf44e25688a03cd9ebc64850ea3b6caf6112c5d95e326ca93dbd9b2d9ad58094be5b2db44956e35d6c061267120d80b8bebd9aa97afe46b91be1f0ce60c6cfe66a9fdf6adde02680c0e682894a44b6ea8d27f6ba22c2a67dd92e0922bc5c7e65d9ed32b3cf09e9217fbca3e7b0c988f8882f3918cce4214aab2eecbaf2995103b5877fcd838d16a2741a9e0a9ee7eff7d0158c6613ebba982f0ab1671fea68d435912124de63aa2f52a436363a3c080a6dbf5b013fa7fe961e196437026d6dd1f1b83c3dc49f4bddd3a8e1413450fe37a21a994a2b1ce05545d17501379e74cd50774f68b4363e2ccea4f25fac5a3ef448072635fa5644bd810bceeed874c96bf3fe2157fe7b69b0f985bf453ae1560eaabe09320db384e7e17a3d78385e46216c6257befe3d730634e8537b2b0e3853b89716ccdc570eff324b4add2c3b98e7033d5f29d5f1a575c0eb16db159e2326d6e85124abd6a64761a0cfc77b75342ec3119cca08457b046fdb9a3e948105f169817b4d002e508ac2230f982dffac322462b1d15887ff4186d21cdb011f704ad5bb15a2f85fa7775f01e4fb8506ea4c0515bb1f2ed7826c8bdee866bd7fdced6bb100a4850e40cbf089475dac0fd729d7c2260380fb93996901fe6a73fd3d489d331762c2a9d75e0256371d84c3a9673afd9de697c3f09383e958af61b45059d23e2e221760105cd3a64e4c0faf91b33133edd826f512ff980acfab96bae692b9e4dc815aa4a53125dc7d9b8bb37b02e038ca024100269962e87418a528feadea5d96cf0e39c99efe527b8893aeb1d6e28b3967e7cdbb6227f13a3b4e6035d73719e00e1078c05880bc8364e8f46553ec37d3f7448df193ffab08e7448bc45a14227df1df478679dc3a52f35157dbc09688b0688e522c29539a5a0ea167fc4992932e20de9e5dc3576964897f73aa12eb5f2d0b1a7037a8eb01a9dad95ebc8cb756a52e6da06eeec15de7274643f7090ecf064942ac7e961f0fe5891d1556a5bb7420365772438111df339e6ac916bfbde9cf1966f15e66648027552b4084f36fe2a8b06ede96e7993b8a949020e0dc45abde6a10836444065aa4db4501c78b534005797701373ebef386b2919701e3ebd735400f10d5daa48bef5ed1e43379a8a9855dc71711139c885e9a10786f90551bf4e4f9de0d280fa7df44a849e155e9d0cd4385b4920c063d0983b1784c81563c22b870517dfe5d3027c5ca328f66adc5cfd119d06bfc9b5f4fdb5458a6c118b696c2c9a1ae77287c210a1b1f747aba910ab50371f8be954760565c60ac7d4f953717c145202e85cab3084f85af76978719e74f4158d99008f33803cd7dec3f9b51605690034f3992793e7b49acf2f8b9894897ae32052b08f331b34317de64a28fc7d41151943d5a4d68f01abdf82a6e2bd46bb87bf4717f9a92b5e6eeaea6041866f5e5a1b9143ee694eade6916c74611ea045172899db2916c1f5bba462d474c2e4055b200169098b2d0dc74191f4c544a899eb12de206230da6b5167f873069e309d48782f214f79a19a14818984c9284c5da33bddd3aa5f43beb5b3a6839cba70cf0c7636f848bf2358b500460bf4ff0766c0b3f99f46bc66b945fc860413ec288d6f4326cdc6936b330ef70bd4943d70f6ced2fa473d151c6bbd97a2e928dcdd84718e6eb31ebc90ad4c38bb4fb6ec3fd34b1a6d6badd762dcfd38e58fd0c07aed624501b62eb1d093fe7039b7989500bfb978d510090e094f266a8ed08779ee5f20c612da6edd84c9f57479d1f3adc4b39ce1a264482eae93cd6288459b4170db8502937228bbcaade46bb425e6384811efd442430c11f1cac165ff3ef28ba9e898cafec925bb72f4f703457b568f2fbefc6a725d14cd5c9520fb39cfa9ef4b8c2982bcf1ad0fe6c279e9e9b2df3f2f7e7228b4e8df62ebe9997331f8e2d390ffb3be3a50bc054c5e804752c943eba2447f29cb167b5e910867a95d7880a5f4655c298b0a41084972def72318a90a5e7601f820d4e7368c0c63820acbde3a368a3b1dd6c34838b28719a7c3d45dfdeff8be13087a01ad7fbb03f9c85b5c930fac56a3a706ee18b1520e9c59a9a3f4c1c59b2fc1f6f4d6fe22e86e1b8b1a38667787f765ed76f1e9b59609fef58bdf6cd7e18aa492a93de10844aa572b5c41bb84a05f1605cfd5cd38fc10caa56645d4701f6d2bd9101dc0c13a80927cb8106580e78f83b5470f83f61ca8f5f1625e71d149d96abf242d3aa3cf0e8a0b6171c37ca1d09797d9415d5290cb5b013a906c2fd551fa893acbcf5b882f291b700e2695f60c42b628378d4e69876109c818b1d7ffb97c64a5cb4ca4d70076192e2e46cf8b726743318e8136092883ba955f699e33fd284adc3241e284ca0ca02a7d337d27eaea533477d426a7689d7511983a6b869a3679d3fda740398f553f56ce038506c0505abbca26763268590ebd5440db06a3ec66087eb8e195331e108d6e59a5612254a4e214c379befacb34c8bace9903242480bb387f797d7441ba4f319141798cbf81f291a5b0e47c518945605f705d1df4a8a465961a380180cdd71c5503f11c3d98436a90e972af610c67e0bcb6d34b6003641d53dceb6e7db9d4fa0ffe3ab958bc29cf80d9de987fde98ef6749fe76d6f8919c92706c00142ae182a937ff14c223e27088338a3ca3f6660413e8edb212fce20e3e0f43d3de13c41de0a3cb60916a16dcd026bb515d9299d8bbbcff37a24e5a42e93dd9b6dad4d26d2dda51a0082aa7aa531451d3a0c15d4970728a84b813ed15da08c0ef65194059f2a45366d505803727fcc35e67a09b58ccffeaf04a026edbc4cdbf3e4a3927449eae34a5c793acc6e9ca290d86ed6dcdbb00a711fd40aea0f9a09a5f266a2c5d7e30f28647da13b54c9572caca1867644b76e98a90e6d08d714cc9cee80b7ff5ef7c8e866a0ac94ce8343679ccba54a1d5a370c3805143f634adf0d1c775402569531418428abd96f69107e9300dea86860e90cb829a8d448ba9e0bc4a4b8f3d11f0bdcfbb40319614e10d2375bf2b2ba4d8ffe1bc90097a40483392c4aa13a87c1f3069c1eef4ec6e572c9d68778c319e1308d85ba2a6f904549dc143f6d0fadcf438592507b37622bd6a20b0db6755870599aaa42664984d8e7c7478c842c5014faedde23cd2e8af71cfe96334cd4813da08b240a8dc3e18e6d66c7954af733256ae911d01cd777233e9c86ad6010884efc864794b4eaa4e02945bcbee72469e63088ec513c33e384f4b81d9fbe7640d1fe4a29d849cb2aaf6d3891af9f1b165dd600cbe02d8d23262f351c99baac0e38c51ab300821f80947c89f8913a5d1f14414e26141ad7a4f8e7c402be016c02e837646b4819150056357cca8c08e4b5227751ae1c0e05db5b6698a5d214663fa08e3fc42b2eccf7c40551b30035dd0f2c53e0af269eef305d38a0288c4f5747d5df5fba9afd71a927bc47831dcfc2109ad4c980a995176546392cd3f8ba7b71e8405537518e261223e4c74ac4ce74975deb29bc16e5b6523b2df4170bb3e9b430eb6cb2b2cbfdc19b6f4ec7bb6c81710f911ba0e83ab0d5749ff4baa56e162cbef8f74bd1886231831560b550604d23d42222b2380f6d2170607517a25e5bb4d6a8b28a095ef278511143921c34095fdcf03eb4e4dd4aca36837afb755b1b36844cbc4b7246634c25884cc605f2b36e950f698987cf6eed3ff4ab37480706fc462098bf6dc5ff58b249e287b6339237d23659af1391a5f9edd204f3286fd8fb680abbb6098d5eb81159fbd2fea07d7a5e0ccc14fd4e2395479622e779d480ac921628f7b3f60b9d5fdebd56b57d33b9a84b2385c8df8b67b00f2c7ff1108e8d86505c2545a5eea35c409cea0c42ada2c32c899a26e2414d093ea725c8cf2ef475dc80306a9837a86efd13abf8d8f6ef3160cd12cce72498193085255880cc0a1a2a5c9eb695b027d10d0a8a770ba893d93151d70a9fd1c0acd4dadcbfdd0ac7f1ea9525bae09657129b2700133b01262a41824063d71e15e051d3af031e0e9d3d2c777ecfa4f82c648a4f6fdaf3b3f6bd914afe6bc7642b44460eb1426d46f212249c14c6a57c4a049576a9bfe7b73458a0b8ed18b8e8467fe6a9a306a948266d5263b1d1023f3f3850f0d043153cb7695eeb7558a6a57a1b1f98b734d1a025e93e71bdf3895424cc489f6aa6d58fc10dd86418d1cbe24d0062344d60b234a518e03f03f723398bca08bcbc8d0f916cbba43abebaf7488b02c62444cc34f92dbdb465dc82afe221ebe3d99999fb8153cc0ff2cbd5dfea9a9be1a175a72623eb743254afe40abd04499097ca5a93fc812fc4212fba45aef2ad6773657a7f3bd170e38c431e25ec5270c04e25e0cd02ebe732c2f440b08d6af833122f27cbe9d1ffbc4dc947fcbc8cdeec6273bf19b77aa733281c628647e8768245b31931c865fa5bb0edb9100c025798fd8da4e29bce7082efbe8bdb51150f875341c86e3c450cd8c71aa5657d67af8e6cf95c870fee57c6de42a380bd1244b6fb690257921b7614e13697f6c401f5d64635a6fdf09858e83623f3d5c2a66ec6de7db4f129f1fb18e5a776b6c151c10eed4d4bb831c08f0318bc8389387f443027bd502713576e5067d2025fc84abde9880af52c63019b360ad0e886fd4477f8e0d1d4a96f1f1ab0399b9a12009a9a4b7862cd4552c55c5d54c32084626a19b26ba7b0a0f33b2718ce8b3c2ae12494c2bb2d1ed3f19b51ba71c63abcabf9342879c66710d847eec0f426ea19477ccf5be9e0921fc545dd729911bc5acf0a219553725d50e9aef453ffeb6c056372dd7ef917c022d1c3acf59ed831c58b60ee5324603f93eacbce89932c36935d84cecff9cebeeab2818a4f8a949db43516d047868ba840b86af6eef0b39f205444e2c28504dda95e3e51f0fdd7fa9d07f4a70325a71e423720a1ec5d84a224390aa8ab93df1796e25a2c9019d96a7af71ab0f070a24841b9fc9003f9c17c22eb6511572100b9a7293fddbe5ea475647ab36ca288177317b7cb0d34bdd964f4744c498cf4f591baa0fea348c9e6d048a5ec4669a7070f476cbd0ab2247651f5a8050c0a4f750af452e464699eee98fe2ad6a1d037415b674454900290490581649bbe11281e555f3e157c6ad1250f3f8af7f7909a9c84aabde140d84648045b03301e80b95f5ce2f1770006fdc06b9af5675e81899d11731c7b6aae33ca967a3679c35f28d58ac01d3b62723f5729779f31e6352b6e9668a510b9e8fd63130da19db626fea7edf25e4428fa740b5bfdf2d0c8ab1a9c8cc7d0a5278af67228c9b0fe8c2dfcb6cb497cf5c87997829ff5444c13b81c0f68cb690158289534abbab2e17839228111948c9e1d22f533a69c2e4d76b6e809648a73e6fd4cc20d11950291fab5baf6e0d1c187681db65d2745c61b35008a40a6e3e3918cba32d72058ae3b8033a0c6e37b87bc5105b903e00e959980b1e2206e971006b5b040b1332a75ef28316fac859d6c9f661dae1fa080676cb9a5317cbc4c207bc11f5bf07a3b85c88afc78c70d2ebc6bd6fe2d91ed2f03b8bdd5fd6e00082baaa3d6f88dde4ed35464135a8da67d42c3d78ba23728ca29c4b33cb4cd7af89d6c892009e71a11295c04c280358f0787bb569e9f3f24b8c280a3f239f352378d9257d581f1ad4e778895e69195d2cba4ccfdbc52bfe757ea2c8152cd2f37f66586afeab85219b6fd1a0e1a2ec4f9a923e94dd89fb1b0b141b8b4434cc0e4ae5c8500b5a17385db1fc0007ee31487ed19e32eace7df8722742c30812e631d4fc8fcfbe756f13b19c8701f3e9798fd16060ea119018eb93302afa543a58bbdd7f3e578912eca14647da847586a2c6712455f49b98e2f863e2b3a04030cdae9ae3baa432b3f84797f7a9cfd9e729927bbd1eca600fd6c28cd7b951e584a53266fcfa65e9bc59c286b874c9972f9cc8379ed25ea175bdbbc89eaea706b4827a58defb2c843f793a45fb9b78587f62cdbb8bddf507911185e21c351b7f8b35146b9f81fe77e485ffaf83caa381f46c2391f5f4dda0610f8521a4389f7e926c73eb9f707aff98a6f97873fc701670c7c0714b0bc636d29f904479978a1d46256f92c4ad73d62fa8a2c204803b30a5e4ba3033ce0f2d242fa5e971dcc2e3df0a72c34af54fff364181df30217cfa0e4ac3449605f6b1f5ef4e8def00c996eaac5313f3ed55344ad649ee1d183348c0f5e963cd303e58e9e9ff46ebd35353c4d1aa88d2acf1072e3818ea5c38a791498a0938dbb0a52a846f61a608cabd837aa12c90fbf166ce0c090c43e3ad419f105f9152e63fbfde797e3c380d1577ef0db0160e65504d87c04e5f7339bcc8895d2956da21da56fa264999af7e46cb955852bc8e90a28d8737c4f58f22d5e17abbc4a326b094d13cd7171abc5667b0ad37c64115cdf4196ae777e602e09ff424ea6e80cc71db442eeafa0ad5f13169908f63125f4d609dc11c55512942fe2dd21576634c315d8410343136a0d93000532674e8aa4821904f97beeab6f78b0f3dd0ea10c69ba4ce50876211fb03609d51183db5c2c7a6277ad6ecb60f1f0ca4b8f50cc92c5ff621871e4c9936aa532fc6dd1c48b131d1a1fe8a81a08b64b86ce154588964c6f4c24b9bb7e6f37909c3db216fe4bbd840f34324dae4cd1b579213a2f4cdcec9a2fcbe39927c8ed6969cc64b920569acfadfef03e96623339d4529c69fc5521808e61a0c38ed8c0e8b0b1cddaaf40dceedbd10eb45e5b637dc68f52e28269db7b1b7a76d928f1ceb7b1dcf3761fc5f64330481cf88adefa7a23150b5cff90c6b6c53fd0376489da8a14c89084c67cc8d422731fb379ef5689ccd1e72fa34c298f6a956dd604c40f1ffcf7ad6c27069ffb91ff9759c933180a0492bbde4402b0892f8ad6bb8192cf68aef8131151b0620b7cc637d368d8f8805b2cfa268e413227246b66cc0be70ce9726dbe958b07eda9ddc4bd025df37bb0e7f4df85c3f462de16198f2f504d62010aa059ccbe27ba74b5bdf7a0bbb18b55ffab8721dc0bd4b0630943cd9e1a89b1cff1a384669bacb6a81d0545fc429cc996182692e720d682f4987d08ec57f21f6d0b588584f7805fbd47cc2d6bd776441736587aa574789f0b69c97949b5646321fa84a38668d5775e0062ae7fbbb6c2d65e7314e78ca29e09369d4d6486366fd8c9aa070967de11e2fc80b61a674e163c3597882f8547eaac724b4a1e2a98e9c70ccc0db7189f7e9fb638823be92794b3cbc843af30eb464cdfda25748a9a02a18db163e3dd5612cb5b8105bf3253fc0282b3cf3a081215fa3f050708c2bff31233d1718bbf6927dec010b60913b587387c1d4ef0ab40943c978f40a3fdbddb278b7acb9b6a79c7b31fcae195eb029585017d5baf410155fb0ee7890c0bb2f9609984febdac81e579fca59facbd24b2132cb791b5769dc2f00f12eae85a270b009278d5c86a2b1208b873e1de5c81df7382c58cc2d4e6f7a8fd6686f354e88ad00820dda224c84a6a5939ec0ca7bd52ddd6263c985305dd47074ac6a5390843499efe46041bc7ba19a73ba897c7a29716222f53b6352dcd572355f53cff4e3dc7cfeb6a6396c5ae0708506ddda227960db7fdb7e67fe688877cd1e45e95842332371b4178130a6d672e17e839baf382951a03f4611ae97decc9e8c76c212bf7886d003b29d5c62b43fee6623a799f6e5fdf860240d45647cdfdfb7ea87b3a330d44c3a3b7be2b69e3221073dd4f5cb340e1c013160c9aa8a98f4638616496dce720c23ceca8ef9d6b3212b654642fbda5e4ecc4aad4ad9f7adc564ae52639903941a59f01bee87cf7065114ffaf63088c78bf5e2ebc6de0e7c65357e555c51b4f59144aaaf0e41eba7d19b3f87afce292e23f85d5f7b834035d0150a4ae8566a1456761234b216ea8eb05a53ec22a3ed1fa64757b01df88ba7b15c73d01d22b5a5b3b36fd684229cc6232be82d9779811da628655afd07629c93d691f267ec462b8db00e3114348c6b8064e359cef79db5a56cc6b80b8ac88823deb2546c294fdd2efeb73e23e3bde595b4e0f9e00df26443b84f190eb957815f1994031613aaf1678f5d3915c7344d84d93de2ef78387eb85f546563d8eaaf807fa21e8672c91019bf53bfc9acb448ce461f4c5242df336295400e8bce5674077860547909dac9366e70ea16bb33042e580a5e777e1bc3999dcd6c710534bfb63bb5c02345eb86f7fd8cbbc7e61c69c12e8aed2cba60dcfc67fed01cd06c273fcba5df309be6c5e2d468c46ca5ccd21937351937e43c909d16a42d5888257be51a5ba4fbd264adb0aeecdfeb25b0b524afefebc7534efccbc31f756597256e764a9bd16ccad5d0772f4c369a41df788f99a5634c84a4fcf70da85a6207b9a75546c89188b2c571f8aa9068298b82d0d6df1a136b69cccfc2a86d314f02a411cb9d4cf44c671f765182dc5953971832d83fb03fdec9a667147130a91ffd15faf8abba3ed47bef70f272392aacf603dbafd0a4d9d724918b9c2381572b28b1b455b3e5bd69323ce7621ee9b0b3526daa5b4b2536f69a47a0203f5c352b9eb80e269c2c3630a324a72c0e777689827720bf1f42a83a93a7a45cacc22e07af6cb8d3a70a4c4017bec8672ea4a6f903e0bd7542369fb45b06be6df550591cbc4fee267d80eebbeee5a6acbd1a8b49aad5823eeec4c146768d3416902c1c1504f2edb53f652795d6d483f745eeac7a7d94825ee23b1e11ae02589f8de20b9fba84caa102b3b776c89aac0ecd9067923e047a9d2c512aea7203b7aa71fb3f5b83a331985334846d970ec7d9d1020704e1e0c855d630556f572b20baa378cf5c1272711caf49333adb0b6257207225eac85851507e897f736049f9b58421c88cafd3729f2e02f7950f2ec986a1faea3bdafe71a9b84894f512b75bc281f210ebed1d1d2d9d2cda299f5b4ecb24992000cc75cfc187bcc4768c84874396cca8b8b5cfcdccb6c1bffd9eb11139c1376dd99521e770b20babee0b51383a0c4a3dbade9c551c77898729d005a0c4e7c339b9545d41e788879a1f815afd4bac43295a284660dd9797cdcfc1138fa9b9fc6b8b21ed1d144a5d34547a1081a680992d5fb7ee7478013a0df5aaed3b0a3464754062931a64309c0fccd9050007a8743f38bd6d8d776bd2ed6252a567e93b12e8dbeeb510b629e6a8c7e41141ffabb4a4009ea06b62e62f379258f09e9917ef8cfbc007547d53fd753d0f3b3864d88322610565e069520d44a76af6f0dab98f5c7781950da000c78a65fbfcdcbbb63c11bb0043ab30aa045c036a1ac37f1a4435777c3aa36631bafe5368224293e9a09ee5bc674a627d51c5a70ea147299283de61729e52ada70a057e092bbd62d8268d2e63e22af90ec40c3e9613566f995a603e7a74c977005bf6d39b5b65d1bd8a00b0b84aecd935fb8d2203b397e1983c496808b30d3750fe56b0e023c961c293f6c06789180694aa13081822f55a77d60b31cda3cb424269f878f8b056783b42e1952b6ae42e97a15cfab59870e152ee282ea4cd77bf0906a4c0191655c79f4e72013f8186dd44b74a1113b280b6ee0523ed545504ebaea6c7eaad1a7675b46f303b0b507847360ea7ce4cc89fe15dc73cec60049c5eec2521146ca5e9db67e2a47adf49399514ce9898443cd912c059cca92612878750459819b5d5cdf1144e0f50b5a3f5a58664746e3e249c194c8f167852fb925b38cc7de4acdaa0a5703c55d3d0915ba1a76f81bfda8dd160cc871c2d7457bbe36ffa5d447030475a3316f394924aadcf78ed8d1bd236745e853ae5acfdee479f61035251738ed21f0d3851a6f7e0f889e0e3760344f64cb5c922a9bea9c599d6408fd137d79529e9bad481b667ecd8be5825712ae55a315f8dc43b7560efd91179cfc3dfae956bec8bc552a5b64ba788cbe4a1a9c96ed0b216a8bc644357dabec0cb923f5dd98d084d64e12983fefe7f2d860fbf59357e209bbadd10a51e63efdff1774147f9a3902c9ebbc28dea61bb0b369e7711403a6fcceba0aa6aa1c1c426b86a436df14005e3f3de8f10c19a929947d449b330e7969232b7829d0c1c8c6976023271b6d0697c7a4adee77d0eb924965e384f803ec8827943edefcec666d42c54d019b50fe0069bfdf1ff2fb20898ce3b705242935fbf11c2e59edeef0234c03b0ab876cbfde4b91c75547f4bd36da214a0753fe97ad21871d6a7c403df34644e551de7d8a02078f884eb37f88e517aa057576e3aa47aa0846d69d4432a3f4b6938da342e869211c9c6813d0b4d2f1d6e7ed075ef48a23de6a0554cf6d5e51ab4fc9d300873ad24ef8c5c76ca3caedfe081d8f7c338149ccc6300cf047a5b62d749c0df1bcc35c93c1d3a8c135575ddfed300a7b5e68ce0499be3ed1a6c79dd4647e55a4d95d2d613b9204745f7e7f29ca50613ccec8d9d6d9f2ecdef88f94501f2e07e862cbfb86f483bd60d3cc03dfdbee992068e65eedafe454a0e66ab3f5516892b2c4221991c61e98c7d1e3dd5917db161263d5671a120b7c79f084f52bd33ccb3998e7ff6c9f002acc776bb1c2a0fd364fc2ae478759d1795d5bf29b3fad79cd511dd5624cca14a435cf4d0f6ca2bdf7433dfe6b06ff2de9affa71ad657026088ae937774a32a488f073c1fe807b215efdb5b3f0da2f24e96d1eeb656967321a37f924e98e6e2ab005968b0e500789b6db9e27b18892bdce2e2105b3e01d28944df1616706e638ab27c75312c0132a088dd663fd1c0cd60504b6a4d1bc8c6c44be57305218907f6c45d3960727af970435bd133b091248cffaa4252c35aa961d79abd09b34717f16547e8505aff35a0538f0f34d6d5e19584fdf1959b00a07e367db024a3225585eed4ee9967d2b6417de0c7bf9d119cb1deb695e85936238b0bad429b823e845d84676ce5b30616cf5f9b9c03bed7a13a625589559c2106c9ccd1735aef22b57fbe4c1cb4613a3d1bdffc085d2eb5671627df7695042c19dcf3aeae8e20320bf6838709c9b3a59491b80d7f5c204574da88d35899cd9fae299634687b270e39195bc2a8029ae69cf9c0ebff0e30b709f43cc13fe4b5f8dce41390302b299f2e37a392f4fe3f33b3e1a104c30c6b393d4c24957ae4185f65e3c9dd24374c2565a47441b20be7af08a1a27e1c12b42c32f9d2e3fb06e612957c8d9b7eb9848fd49b6294d221edd494f5933bf26cf02e37ef0f0116c83ece56a1146f0b8858633701f0209727c6de4fa2a82058ad0f0968090e8866e2668abe649ed7362116201dee87a165c826c843d975e713a62e66665197275fca50c151d8ec27312ecf0fc46632f8260ce5817df895d55c62674a4c648a1b2d2e88eb86142a086cb5d8842e484302823c602d5f593fcdb6c531676545291db2832715e59bba93006cf90a93686be278b92cb1e05ab0016c38363e9b981986eb0037a8f4cee2f5b6fae090fc5feddf8a784e444ba84ac5d8ec6e43d522b1bbcb86c3b20caed70f4d301ff87870a04917e4075d9c3011c1ca3dd7cd9758e9450a62a1264b7fdc568d7329047856600832ae2df5301947be67e7f3bdd456309738553fdc680f53aff3dfddeb793db47b40b9b05ab050ca6a3fca2337d3355589700be97a44d27c66eb612ce241d64ab82cf6ef3a8d6c553f62e32b450061ce22a7821a968209fd4c060ef682206c2ce841b9d126abd0ca5b026a958de3e71e8580d7247cd9802ee21b39f236426f1641d4b02f091294ac0d8e5aae8df12f62306c0c37c29c9d49c9b6c67fde52c7ff53f2f056c6418d6df3cc5104dd6fee9953c0d7f21441532467e89b11a741ef1d6c10d1193d1e368c91edf43017088e8da95076eb77a46b0f775177972716ab7e878234be65a6a1bb2874739d55ac79a9af5bf9325a6bb86ca9629ed3212808eb7dd990519d197ebf2db626e56b6ba04b6f2101ec6824437038fbafb34f0448511b0d62d650c61f13d34a919897bc3cfb4fbbb161165a02c4fea98228f205ac97ba449088c13e2843127b61061aabc0782e804b2689ad606bb38bc172950254ede8f261649d957c94ed95195858bb621f7d70ac52c395c87d8e0d3be479b288156e7324b628efb38d061b110a402eed7affd6477ba474529982e69459e3777d9917754f8076ce885eb843fed4e07a07c53b564b931c2a3448e45b44f6696cbd3bf3966599a599bd4ea9f884767a68171729d4ec8475e1c9deeaa3036e2c12308b5cc72279d2e2a11949c1dd1829a7337a42da144060a3dbc3e2511df9c5a79122dc4e7fbfb115fc580990b213470b363acbd515ebf28193042a8ca6f4101ec118211f420e5d23f0deea8f289c067741bc6b34de9a4fa357af39a245acc58cd96307f214a98c28643f18ad2ca9c1552c5b6b045bc37a9ed2160a6f528ca24cbe448188cee39ded7f1c1688a0e2475b80743e88d0224fed6ba665ee126443857f8c451fc0d24544ecef613704c08b3767f08eb59cc513360081bdb03965f06d3706a06ef5efe79824abe813b4c72660db9ca3b4e33d015459fa24d57b0bd1c62723f9fda652c0f88c0ff568aa463e2d979ad06e3fb000d5e8c00707d9af8e25cc2ea98d5f2ad9f54fb60032b6659a3a696b8313fd770298b4219614fb18046d61e05448557f99923f2f7e6658c63eb5353b1eb6a8c2179a7c52f42498325efb27ed62d6e9018226009db12cfd97e72bd51230ac7a0651cf3fcf200343ecafd429955cac8b65610bdaaa3dbcda576cd14e9d4c941b1e5be8625654ca4fc80647ca68d73440ee41de3cebeca7c29742bd2fac985f63beababa9f0c1d6a6c73e7657b6cbfb041e5d2fb3fe8f69df5a89c725e44a447ef6fe1f2921bc776d6bcb6a5f14ca52885c90ea078c33b65740d856aca838f15ec29a89e04b8b5adae3a5e330b097a446d03bc5dd585a5fc495e15a12a72503fe035f17865b994a1b159c8652d5fa695ef7249a04fdcc62b15a56a81e2b6287a88b54e80f4b67cc86b105d8f21f86998cc60d09370dc95e94b63c411e85a167e1bbceadf541abd509017243c7028434b149fb140a29463117455aa9e827a57f70f054114da87bd011583e8ba2dc05535c221ad1a86b074139b11f9e46d250c987773fb77a2a047e02bc759792fd7579c18e28317de06366414283e682096ab914baed511a485704ce0e37532d8654158aca5e98395cbd86cdecb2c1c538c32061e40e148c5a37d670871ff85360d3abea8e65aef3eb2f7a45759f05dca4e5c2ffbe4d50a39974b6d126fe253243e966c4c2c4bac33ae279a5f8533019237b5898a66f22d0e34659f373b513da498cc4f012cf641f719f6ecccf35a32863794b23a789b5b3b0f869fa9d8068debef7a8b95d4fe00a4e440c4b4fd618143c51e09c41bfa82605223fd833e8d1ea905fbaef7daf8489cf195c38b1e579036983364f20da5b6021939bb091140dd903d108b9389246dbb05bf72921df9c30f96c124d00e68406ff2bce4e7f22b46806dc34dca8182d0b260051ab78fc0689231912b42e03f78faea349d36e7f3d92f2793afa17f853c8381fa3fd1fb5fa6d3cd3d72f4f99d9c42f5a51b330c16e8270616ef37626e197a7379cfd1bd486bb3db416c84785b4f162a64d03db99550970779c70bdb36e71744d451d453c469bdb98db3882fa0d3f5da6c0d94b5c7e2c5a48a96507b4c32783858dc9100296728dc065a6e4b9016cace2182973ff909dda7ff52226bf8207ebf44df862c595987e9821a3b6f032c6bde9e74fb83738294e20ae765ee946e05371765fc67656bb85dd0ad507493d60df367b9dd728d3d2ac9e1f5246357c6bcced39299cd2d1c2bc3827c2155a3a2aac0da9dedf2dec54fc92014ffda6ae08d108a80a8fba2d6208ee1148ce551cb9fc928192ed41954f9b3fac0d85f999e82ede997b32c7c944b456ef96b34474fe0d1f5fe6fcf660bb070814330e5ce75426b08568e68384b6dd098342a00d8155383b71036db82014829698f6c2e966fc8bf556d937de07ad5fb40455b87f934d88264f2b2d6de7dc186438b02614a51769b145798f663a667fab4e6a0439ce03b74b32c594654c51b72492438d22e8204553834a944cd78e4b71aaa5cbc08bb054e3a0bf593c9d3bb17d56084f3421d1ffad3f78682c7d9cdd7e3394f224af3c9209507702308f94b1d10770329f2e9241f6e993cf50c30be26909ce57488261dd9b00b6ed06db58ac7c954cefdb2fa09552197e301a34b3feae68a6c2065acad9aa98293bc6bbb14978cede90a323d9be4bd8aa69775772219cfac65208f7feacb2fd2f579c3db85ccaf53fb2deede1cfde5b6c7643084d8cb1a81b94e9ee2dd2742189f49aed2e0b42d4a8e60d83aef557e3b006b1c6c52fbd3cd7f1414f01b7c97f486ec140e28dcd368767d68450ddc70ffe25a7878edd3fefe4c03a232570ce3283838b0dc5dba064be959be86519f03e2d20b637b6cbe27cadbc771f2ff5e945cadc34f6d52da5c0cf1476b28c227f29c49940f4d58d827eb9da4ab594524e14f8887952b39bd140c9ff398cc7dfdeaaf55979ec080fd60cf15494d91c57353d24b9b5e56e0f2e322743341e38fc15d7c5e2e716ed7ae117561c2130d23a9da5b476903405bd2916a480aacfa2d85b5ecca4d0c24211a6444f63f86c645efe5117d388700b9db8090bf563eb9ea843636af20938b6a428d288c6683896d3f18a202e03bd4c4c5871aa7027af53f1fc5e68566b601c91459abd27cd2f4019470a7c6d6740b58d1e0c8514e1be80bf11ae0ce3dad9719e8ed3e8502be357d78438e4ebf40f0b6ac7166daf4ce6b22f23d4418eacdbc23cacfda4d236197f8e9195914598b968c5a3ca993befc60899ba4ea6b9005c92adfa0b78745a87a4fadd90f96c219fb631b1e279688a3a477250fbd3a7f3daf6b93532cb261629342c37aee43a788961f6332db4844e4738b2c1e382ebc7352c5544ec98042d57e13e779026b06a38d89a793070c0bb2f81850cf7e255ec47d85fbb4e2a670d6ad86850ede06f1a59b8c6b6587361bec74869f2860772a4e1a6ef98260b794a17d86e689187d4bd80879d2e652e8a468b04c34448d2870ddffc37c0aea8ffaedb44b31053b6991e4fac317a3a8f550c6d7574d82edaef2db4a4f19fa638ce6507e1f431f4a5ac5d60b4ecf08e565165f51d621048943c188fcea19a85e9fff4087498721d4237a73ffd2ed8625d09bb6dc11cc0d35c20c48c0d7811301d5b6c6dc9c2a04a629dc68bb129f50d4f80edc7bc3dc2ec6420a09dae2459f7b4887ac3d4bbed916a8f23500bb0f2af2da062164e62f3f58cfa5ef6cfc0cbf214bd19cdefcc03ad22b24c8d222ee3b4d2a8e99396a8c2b247588526674273982de72bcb08b72dbb729d4338d7e8ef817560e4538d4636815e6091ff7ae1c6cd10dcca2c9181b75ecf5e7a0b8c64d4f9f1f02daa44a743bfd555ee558b3299b8754e473375e6aa7e2e2dc720b1812eee1d41e8dc4973d267e6fe23deedc4dc4d0202c3b87325c6e6f6384c9fa21313f22a356e42e62923e9c72d64f6694c6997f3c4f92b1d241c59921360fa3c1b98e55573f528f49fa089c371f28dc204df752c66a86b51fdcb6bb6d71dee3e00a6d0fc4ddf143dfd68297a312ad0aa43196cace2ff5198c50dad0faecd5394769903f05d6570a914a15c7d0e5f7b32d0cf667f2e53b546e6ab7145d787b8c072f394e57257ffd826a21f993f4ee8385e8c02b9d9cb8be5895c4d7eb4a3c1ce01f11f86fa05d3d1ca9145d4f78da3942be2789e5629481fd311afe733e5df5ef9b6ac77fcfac81a5ef9059d7a6672dcb9df65f617ee5d2256c8fcd62a749f553abd1902478f0a9b86e138509e8a8caf7ec9b0e44e1312110ce42ace1622dd350b9e87b0d2009642ead1def86576e9d685c1e33b207a75bbb93715443c4ee8154774f2630d5c8842dd3b6cc31288d6d7eb402c182cd01a7bedb7939693e5f3c86bef96324e0a48374be3c15f6a212ed9eebf54f7bd18fffdb6fbd7f1b82009bfa59b2dc065dd366359e0a4bd64581beff14fa021cc8d7d9732a0b77767544759ab4a1fba8113479fc8e068b48763a372d460804a72eee5e88d27ddae20efae7283b489d06cb63235527ed604288534c7de109e650a094ce0d81f39ee7139ff1d16d96086054a48d1a099a9da9f8ee81470c351a7a144f96b7d0059063456146a2afb25462bcfac863b554b6ce4158c6eef5bb0c7a97f061a0e7b68d286be44583f0883ebc1962799ac3c1d3ed7b331c20edd3bfc727b1ad37da95d8f09a658ab5cd352fc534a7efa248166e660773edf6492b2c16261d7b19b5517842ecac17c3b4aeedb8420fd8430579d3ae4c2a2beeb1313dc899f9eaced3e31ce34114dba36054e7a96d0141443177a66f0196c7ec9342db01c19e805c7ed8ae25f621b74c1f186b68f82beb91e07c850679df6d83aa4a83c926c2a265dd32824ffc8b86191b40d6d928767620115d5b6df6fabfe8aaf210229bc1a6b663088841c58aa8e90936195353d668b4346580a9031ae125d592811a0dee0db5a5afec6457a29535fa715b48d2c38c3db0ea6a842c4dbe6cb430716fc6da506f4dfc391ab26aca6cb9676782c0500f3e8ef9e8b81b1e62a7b20c9a70f5b794e2379ee3dbeb1862d78706e3baa7037a49a19038c682805ec12cc7b092a6b200d73b019d8bee8dbaa6f6bb09e64a7a4897329a7480d2b52d035162a01fb9cf51d954d53002d6f9f761433a4b27c79870cdd4d53ddb336c240de3480dd355a0a10fbbfddfa8dcfbff0c1066ec20822b281bdffe896f5002b7a84180d3f4504ace485f4420c22c3b76f0b4fb836041e189d08fd27c1d5c0ea455056166909acdcf38884c410b27c591588cf348f10140ab6327ae8af7df1ab868120f9d253a52a328be84d676518b6103abdba6de60274885909267c2c486089902d577877a86d240ffa64b695dcfa15488c36210cfff38385dddab0d68cbcb41b60702c9ad30c9e9438c1a2a3909f65934834b4cefd3698f9a935ab677ab56a762fe965f8cef5f8094aac4a4b6c25f186fbe6e61818adc4cb6f0ddde6089c8f5644f2c518ce33d680b9c3a1be8bc5c805828995cbfbef91516643ba4a717b022dd2eea13be884928ac3282481d8ac20b4eca0dc0a68a8ab7001f0bcc921ea1df8074e6ab6c781a28d0586d205c4e3870074c23e53f0d66f72e08c5d9041df200a13ccdb8b2981d84a1ffefbd593a86eb3d51e597c5e37e353050dd943a049cb030498ec4ac0758800f740f249f69dfc575edd6a947d4278fc32f347ba889373234a92933fb18474bc49898bf7061832dbc3e686ebc5b98b06447643959b5b94892674a75249f845fa27ed128e4184947609cc8de4dd3b8c6bd5b6ae623e1f6c5eba7de6ae0420ca62d1ec067fab5f8522cd390949301365c523c8e0fdb04e68a448070238482306065be7e76625cc5e4373bbc3cfa0b2a33fec01807905de85977c2620226a4fd274c6911ec5d7c197ecbdef59bf52dbc91aa92d7f434e494e70210aaf380188389322cc92811f7f6c26e5a4e7543bd674ba4c69bd4dc69f4bd0d293b5f0c93dfbfa89f28c4a2974ebd5e71ba6300508b81b23452538706401e34f36ad27ad6ba2ffc075679e4bc1b35e66d9e3a06d1416dd68fe28e23e919e372a6fc238f397c356e7ee780e745587e3b11255fe62aa6db86b3e1968c1d6bb34f2d915d6e8257b1fccae74ca20eb8aa236f2496ee2ae74fe10af495692dd91af1199f0c4b2af512cebfdb9195ef5651608fe68fc7da419bcde0ddd808fc3fe7f5cb3be2dc03b4ad5076b2bd4520e6f192b6b4abef6a59def8e17e62bee657c796dc5fccff24608d996b0bf2559549e268d5ebc67382f1d2686b1e1c6876db87f34379b7442067ce6e7c2bc47674a5ce0f9f3a1f72cd578eb7726fc333ffb47d993e7c658f391abed7cd6ba7d86b2a82eea17963df1b40c44a8ec80f2e22793c30b84df02159d4493b1c06d104669c4dc9be2f4aea237b992e28aa70b6a3374b0e0995b29bfe1b0979a17c31b67efd0272a8819dbe7272568028ba3fa7071852162198135396d978bceb061a6902fd0345cf460cdd5fafc952d36a3917728b4d4a9fd3751aac6f5cb13b79c02215fde036c7c3af8a7a2701935df3649cd05b9d2fd2e2c8577a27a33d6af70a81f7deff0ff94bcdc200cb79d63cb2a68733724144b021db46fd079691110e40db6c3353c22fcae04ee39359fd5b8f3116da38868cfea2679f71b61bc746c0ba136d878ebdb1d2a68513d54c3a5e580c293694b5ee5a7ec6f2c5b3498ab00223160fff91a6fab30caeed461ca28987aafdca4faed3a8dc4a93763ed700689cbdb0cf3f601203ec07aa1df38c9afb2482e1563405e5cce7178e2468d81c42bcc5eebf2bbb9db516e09973fb88f386aeb565d2bd3113b94a26ed0eff67ae24a09756e5b05ba9d8b3080354b9f61524c61c6089285671ae51887b6b9d3499c21e101083594e0258df80ac68161b2d21d9b3416b8737c2354c4e0f4dbf4be4782e76c98f5402165d9a8c4c4c06e511781872b58f55bcb81d5d17d0f89e1eddfc756eb68e2f544ad0cf21fbb71210561ae60cdb3e9284cbea416ed1cbbee53d4dae305ff5558d84b007de2a1b61603c46d490a11e4efd2aaa5b806827a69c952f4b9e0bc7955543a932b40d2369d6a2e9036e1a0f15fb01b62565069b9f0eaa0abd3459d651e5a9a2590a6611248c5ec87813e8dc11eda133f21048ac0898ad6e67fa5b7d4fc15e8f475be9947f3559d3d31023a38f50d3c54ca7781af28fbf0a480cf37d442d07200501c3e4048be7533763f5bfac8600f812079c65a4674dca143797b5c1b227c61adfbe9b11f41307565740e6c7992859023303280f92218198b127f1ac276da4027b2eba7795968075ba071140caad402710f5f8cd3e73e46c22d5b37df0b1ff6d51d247602fa715d237156c88960807ffae353ac0e0df6b9815111f9cde8ca20538a076b444fbdc7740b74e672463da5607254b81c1c99e7e781c59806e2b25885e5b38d192a40c0f59147619b07e573d1d28e6461039ad8a72ab6981eb19529c4f956a4b751b5770a85cb68a86be69aed2ac467bbc79a5d9b40106d3f3c0a5bea66ca4b3ecb7f8e361165531db45597a4a5c510e39340fe79f4552dce44246561cd4e2a247a6b1ec9ce73de53a368ce2a5dae13c30f4ce9d4091a5b573d2b13fd0db9f67fc850013561feb63a5a9709f57abfddcaf0d199befe1d0d04eae899dcc76b4c6db98e446db66f412567ed4a85d65bd727d6eb69169d143e1ef9da1de5add47c2b68aca330a20ee37d8c8ed6faa60465f096b13a987baba407718b86914d7a03b3145ea2246b320e45998be7864ae2876db5bfdc5532ced31abf1d0343a5e552e7516b07ee05cec2925da82ce3341eef472d5198f5981fa251983f60c083d2227610922a0bb747bf416cc8ce48b80556d205d28674363e5b3c189f2b96f2c45b4b8736be31dfc736f17da3a000753ea5d977134fcdb477f2ff0e1eb99f1ce2fbf6e650e17cc5bc61e7e86a97e08ae5302b829323a09b290f174c883f7ddd4f7b2a014dcbe8aa3275fdb6a5494457e87c881b6d44aa08ba7a957824e1235455c93a6b982fa1502662c5e00c45170ab9a16a2d87a4a2f9e19cb64671a7d98456670dc3090fe60c95ecdc45b2c5c70bc8ec3500b4af799e29e50de6380391b5a0013345e64267304b19ea6acc93976c96637e83ace5ac831224f77021c4ef5dd430d0ba96f64c1feb628b31a34cb833c06cc4bd50d0e407b46f934c01d456dcf26b3b798b1574acb6a2adc5276a55e435717f77606a1d60acf42dbee2cc5a3a1b9faef6d49e496e60540996b73e3baf25acd9a1527ad9c7b354607c616db664a4bb8843b520fb23ca065a712875502d078f7f4f8bb658565811231da9bc6463d28dd5ed99e3dd887e036f0aa3367bebc7b347a5e9c92652f581a68d618783fe34a7d6855ab2332d39704ee68fc12940672977611596e5022a148c76324329fd69384ea48f9314e47b4b19425ba0af0b9a53a1d741f4149109854513d9bfcdc0f5810d72222aa13595a963982614de8efab902b0bfbffb3d88cc2790ff357bec943f7b5f3fc7891e51058e7694a6d2d7cad498d323dbd599e022c36e2d44d137fe36a99dfd43e35de79dc54d4d3ef7a95cc6d59cd0c5cba8b94240cf0845dad5c48cf72dc5e8136cca8f6bef7c6b9be571ec9672ee8e473c27e61088a789072d649b22f6df896880cfbed63348e7d7d97a57971f14cc527891049e883592a37a262ac942be36402378bae38646a976979f8f81a3c8e28ad888fb2fd2fe66deef5a25df1a26e36d1bd058957cd2e684a30268b4b8d2a986500e8c63c2e1f88fb9d442d1a7699e424d5d389486b29d8232889b4921e852baadbda4f22d075c82d954d71fdefd05c467f34adc59a219e74b1af3193bae640d9cce26049e71d9cf6408b54cdc0ea4b48daefbd61c12f22b857d7d21b26b337d3ade8b6710e9a34bf527b5020ec845a363b141ab7fca88c3c1a406472028e6a81a0707ddcb99243324a8db4f6f63584aa55f92ac52d9fd37246688ac3ba28f423a6210e33f5eacab55c99742c49e1935084796345675b212052496a8e865ac081b4687b62368b2253047f9fb10ab07b6800345078f3539601706cd90d459da25a1f69da8570e762c9f58cfe00add3dc6f741d2692de1295a91e10c32a11aa91c04b51b6a34f4badeb5945b3394f3d2efb5fa6e05d83a2b76178cb9cd58fa04e8625451cf80cceb8fa4582f9d1298bad77acc2ca72971a8323c8f6a3e44b87244be2bb91b213ee50a02081266ec81de86a5ac1c3aefc2aca3cbc3fa1e7041f6ebf2aa7971daf33ad9dd733d9b817a51ea78a2df2988550981458fd3d2029e2e913f03bbc27f2829318f45aa90b592efb475b6940941caf209aaf23e9cbf52fc476b715837e1e1b353325f55ae6b5a32f0af8a15c2caa76411fa7bf23f5f4075bada3825c535844cc0133dce09ba2cd7ab477b673d13cc91f4d10469251d21c5b203ff69f30fce6590dafb4101b1918db77f8cdcf0fa34b7bceb588ff2eda9635713e0c4e10d9a34d5251c8e95d64a8d84129ecfde6f0e57201a63f80d92dd1e75ce4fc6199a85dcdc129d67022d4fe32c84d057e15f837bb0df8cc087e6f56297d661b5797714249a33e5af0c76a4c02eba7cbdb6cb149b346463b5a10d0336ed39757c35046edce4ee95f17af6bfaf2a6c0c3a356b99645ef0039fa6e0864fa23900fcbee51669591613bf53d09e1d745212b47f902b55dde4a989224bde494795590e8a5e422ac5dd245a80d49394b03044508aab3187db92396be5444d9a03cf702efd087ef586b1d640749d47f5165abb077002458df2310fea22521e15ac3e87ee737c0da6d952ea20c4de2d910ae3e1830e59d8b98029292c96873662a02dfe6eb9dcfd8841dc15bb9d1a5656d28f0d9c072ed209e612a74f5ded239bd5e7e6b2b7f5f7e1e41670c1420b548cd02c8b75d806772b4973b1d06478438bdd273123c2172ef656a56acad637f5b240819cee12f5ee3c68cf26d1bcdcf24ba7383b57a71197fe5001fbbbd13c5ffe5bbf0ae704d1bf49fa2849e51e100ab1fd2229fcea8e7ec0a3d896be7dc1a842cf2ea705dc7dbe9be90c24a97647ad730bee4b75e9713422dbd03561c44f3ee97ae109bd7b176e2b3762911e09a5831eafe4f5a88823a3581e93e939a1ec2cf9a8464a4f0bd31110f6cd0505e4c9b571366f46f37940c2e467112ffbdf75b9ed22ab59862d83ecc554f392021a4121f9e1ccc74504f512af7a229db0416a744a127238412d6f72fc9c11e4a9aa34c2915badafb1f6d1e9091922980d1fd6542e3846d98701d50b727467676adee185ca748d7e3a557d977eb8f3dfe604ff7105a179dcb213151773b6b2833edacd0cab2e1f64aca961a3d9fcc20ff7387ff39bfeae2c38c1e7acea48f41da75b2a63728252f66ecef99c76cd0217b6709991535f274b76d09f91020b4fa5cca633f2e8de0b6c8535024bc4cb3557c3742c60877b8f745a75cf0eb8c5068458005a2f2e686ec16c76ea61c66b4309072da4665126cc29da4232db94b1d233e8f9ff0599d514e9da804f716f5fed4d20799be1eada9b9d01a4dce44016eef57f4b5959b3083d3c2f820972c9d1bdb63c1c5510454618406cc9f62829fc75c5bfdaf495320fae728fd023a72a65e24bf9c8b34f0495597a9bf026ebaaca3eb4337a8cdb9b400048e5a041c0e1cf05102fa6d5af62ccd0f1d53ecc8c92bfe85290b6e7141836c379751470a01c952a7660247b18a52ad524c09de5ef8b81a8cdea9328a4ef3ea643011dd3c9226837c96121adbde1c30e625a1d3382f9fb7cf0fd0b7530ec08257ca0a4cb6f12f13fe6cb22e66c68940ccbc95edf8e1a585d276cdc44b1c4d4480cae66a7349a3be3ca2a4e656765ee4ec7a8b4522a9502d2a60c23d78f41f0200f535feccc35d8c1c0d3600258f0abde4d54dfb757daa94bca61b5fafcaa58eb180a2c87b35845563131cad551b01980b187b5098a0aca759f3c08dd4435441ff9cb9759def383ef4883d0f96b82733d7aa051e429316c71536c53aff0a612316dc835336fca871b2cb0cddc19e37eb04a14da8451d73592a93e2661c4e25ea7cda955c74cfbcefd64849e71833ec584c41fc06fc05c0c354c712d75824009b7b82cbb870708e4fd6d18a718c1ae9dfcd4384b9d5b4372524bbb5122b69afadef29746356f862dd8f26c54c8704b90129a4f3b390320509707bcdf46b0e479716ddc77776d35cd31815120e6ca1c4d8912984c4f8dd48cef8936e29f703c813d784a734aaa92cdc3a3f838799a07e04e91581f4866880769a60c2cdfa623a94d2f628b2c92b1272ee573f25ce6be4d0a191c291bf3657caa60fb7d039dbc90d34c2db730c614e288750d49e4f7d3a87388d8c09bfacc7daae44fbaecb2b35be09eb734cd46e868db53ccd98cdee70d5983a3405b60f19c04fb4b66168ba84612d1bee61cd45a2ca3444b935cec73a2347295b8bfcf111cf48d372d2aee6b7162f6f2fea42cb5b6c09b93cf9b9a1a98cb51c43d5850312d044d49d3b1192b93c07f659087a992386404a32ef470f917ebabc7fcce3bba8df00e32c366ce9b4be75d9971ce6c5400258dc705a574905d2fde83c92d5454e9ad65f0e4008aa2a9524a973f5171d48ef8e47d80fd99d316285d2518fded8feaea1bcab8c0eaf93ccd88abd4e7b97525b0a37ede16a249f383c337f111cf3a55733b278025b8b4fab3f76cf25079d6558a855ec18a437409f9f8d24366eb893b7a075ecb8b67f2b0253d12f323ba9d96a27abfd7f12f0304b0ebf0e241aadb68b37d6f6fb7c05c66ae071f0f0457853d6f4808718b21bf5074e7eee64d2434c6bf835eda84d60c2535fcf2c0a297853f8b00b56269da878eaa29f10253f97c42302de37f66f815d260753a53c548123d6b8045808934de97c5903fbefa635d7dcc22439e23b08b0ab6904a10976c1279ac35d56c57b263ceedd4504a2e5187a06c0d4de96dd052023f409c34a2811410edbce2c8e381cf2931261609906a742560df85b1b50f831e8460d64b594c997e8ce04ebad630de06fe915e89012fe0e216088ad22d8f5c1a9291429c92a6e4531d0f0aca4a6908ed5b6b55dfc3c638eed1806b6a839d699c26187cecaa1f4ab45bb961f81afe77b46216386091027bb40a3bf548639d628caa4c2fd84eb403b8498b429741eafbd4483b7b3388ffeb391a5bf09e537d5fcd9a4ca4fce4bd406b8c261d710716d90a15a1687236e4ad243153359c7548405d20048da862b545bc3b3eac3a7f73badac8ab5f0f2ee4a911c15d1080c4cdf6997c223e09b340f5f1bb970c930b458f768a0bbbe787cb87f181820a3d122b3548d676b3e5a52cbfef06d7424ec065c1f34c230407f9f5dc002c27a9666bec439affe6fee2f5cb8b562a5241145e89e2d327a36292b125bca2e0589c20092651503720d4323e5420e094a694a43497a6d21302eb473938aeef3ed8a9433ff508e5000ce6a7e2da5986e4b7f5a70ea5fda1953b9a2dad4d1fc76b18b9412512672b9bcd7fcd401b042d452cfd055c9e24be871da22fc26ca084bc381994953f5d3b44c9c34da8804a46e522f5850223bb8524b4ee1ca02a98a348dcd61f68809b9a2d2c994b7ec6a3400754a60c7c97e8f34248a3b2a41b42000fd4e7708a54f014fe1f81d13481f7a07448e8d84fc7ff4c45235f7a23f8e5e5369e27c5acd09b24d2014ad67827dd5fd0a56d9b98d3ebdc67c541558ee991a736dbe75ffa07bc36be3f1466c5f4db9d40c9ab17dff8e591905d9143cd450a98a03535215a7b6e310559b09a91888dcd214d3e3e921407fba17d4841d813fb02799eb88d9246a5b2e81bc2a3b622bd60cf9cc9ac52f5522399b2da31211469dd913ee6c22ccb9356bce552b31a86c67fab23690aa12bd15410a1155bede7ea6e35a19cc54e5a95897e7e7d1ace542d3d11625c9151e8e50d354a43b0e7bcd4ba27103fa0b416d4215a28ff5e0828b75324d8f15d42370fb74fbf9cb90517b585b1750b3735c46c289c4ce06dd1c6d1cf5188dc9f0a3705b3a471e5a06f9ba1a3538e980302cbc01fb3636acbf1d4af2206f10ce47c7c265d87b9fe1c2f86e5011b85ce510d424a8bf6afc598c1b23c2960ce8e811dc87a5d04e63a27162b417c94b3fb820a3742f64e8848dad622fc71cc3f3ee1627a9eaef8eb6cf83fc07ac14f97069e7e0cc8049148bc544dbe750ae025f7253c62c1857893ee891c7500171b8a47b7dc093f0e71140e699174b3761857b883e13d6269d6c886298121bd25cd9f75c5c4ba61b6926f3050fe7ab0ee59044efba8834c97aba48aea29ffc1005a98d86fe7394f1c7913f316a860241824e94562b72aa93f145b7a105b396ef9d849fae164c6eabffb7f132ac0157cda518e53bc9345a8fc6406bf6f4fef30e92a46d76e4461adfb3689cecc650a35e1c840e159d4c07a249031163f48e64991dd22d19b2d61c352a9bcfe64e86e05b0db4c91c0c057f0d39d51e49a96f7292bfae2a9495e009e6b131b4a251d33566207c8cd976e0f90c20c5228f6aa8fc4817b40921060e4cf9fc34fa2e8cf01e95c8ddc326525033638c684dfd3c0cf3bce01b251733bc6adf84d9272cdf1f9984ac31a59e841eea9baf439a0e3e11c6cd14910e5077a0b0eab36820130c659ec06d74349734997430a3a5a941b89b87ad4d43df96a1a9de9f6895a47a7468840b4880625b38baf79efc5e864a1014f57f9048d8215d5d0838e65325d86db5ac83c05b0b42b0f128bc9da114ff587a81ecc555adeb7e0b35325f71840aa98a9803ced294a34148d7046e6e9ce7becfb87bedc8bd1f1d6607f9491cd08cacba949fd9ce2fbc63f03af596fec0011b2601739ab17c7dda5d70aee8f41cb9ce9f6c17ddb2a5ce6a6289b1ae4f9b3c9579dd0b5ae527814b3867156816c707d60a7c992833e7a98dcf768536cdf71da3d4aef7065036864cda69cb2c9b9fbc5f583f37fedbe5dc074e64e447e93af7fcf44b4508c8a95edec2ec3a4dfc99a7ab2d88e9f6aa470ca808bb2e636d38be9d5037b8211fe211a27f08bdce8539d5863058f8416e2b198ed1a9e58d43f98ecd06be7616a0a2e171db21d05c9b48575e2952328ad2c2989286d53d5d01e33cd8b4a458b7430f48078252f7ffa347d27231b3d3d9e8735000d40aa8adc33091f0a1f876ed81136afac82990daf70e04f684b4486164b1566d5f3674a9cb4e74c198940f46bcf9cb5905b9c16ceb551b2f528fc5c27b593369c6b2ffabf9ee54c4dba8433383091d9564a7a9981b816cb70f768149c792a69c99eed65f8bfc9b880895de49a863dfb4941cf0295388bba01c42be6f4e7fdf8961f3558fdf913c646a3ac694f51ab2fea0e4d4577fec6932a91f01dce0ab41fe046eb4bf374d75b39377f2e80754159aa967f953ce68b68e54367cceb437876f02d3433e1677b32593c1382a620bf8831dc005a21c7d12b16accfdbabf4d4c69d53a0c7e5ab4a48c9ecb16919880a8c70e2951f4dc0d446dc9ea532896cd2d64ddc78153b57f5a96650a13acfad69d13a7cb9efd17c02e667beadf5c64c6b2a3188deabea47a6c53fbf9a5bcd0be4b8427de99c26187cecaa1f4ab45bb961f81afe77b46216386091027bb40a3bf548639d6e9e189f67036519dee56cba6d9f7199d88b0d5e4bae99e009df96d9c9f9f82dffcd9a4ca4fce4bd406b8c261d710716d90a15a1687236e4ad243153359c7548405d20048da862b545bc3b3eac3a7f73badac8ab5f0f2ee4a911c15d1080c4cdf6997c223e09b340f5f1bb970c930b458f768a0bbbe787cb87f181820a3d122b3548d676b3e5a52cbfef06d7424ec065c1f34c230407f9f5dc002c27a9666bec439affe6fee2f5cb8b562a5241145e89e2d327a36292b125bca2e0589c2009265197a9aaa289033c0d5627efe02e9eddca6d8b0f37779684395f0a475b44ebb80a7be11122a781a1e57c6b6565276c031e318561efcbe1f420db483d48240c6345971057f333fd11d9e1f865f38aa21abd5b56fe96fcf51458743f6ff400989fb5687e950862b070f2d9d963564fcc0c2db8e9334b1097a18eb19d899b099ddc1f1708fd28633977c395ffa659ceb976f447ebfb3b699ab24c1fb14f87efbc65e5255b6f1cadb7351ffcd34c3f4794fd0d9b6115e37bc65bce2ada6daa448402a99c26187cecaa1f4ab45bb961f81afe77b46216386091027bb40a3bf548639d6ca043c7551518f99b1109a874cbf63bc08a171b1218e2d64efb123230ab70cc8f5a0d88bd0ae63f8cdf0404667dfa63abab4f26a366494474260c974c7e24068f8a031f276d3a7192ecd518e0eda721fffe9783143cc8cb8b61d18095a42a6e1fcd9a4ca4fce4bd406b8c261d710716d90a15a1687236e4ad243153359c7548405d20048da862b545bc3b3eac3a7f73badac8ab5f0f2ee4a911c15d1080c4cdf6997c223e09b340f5f1bb970c930b458f768a0bbbe787cb87f181820a3d122b3548d676b3e5a52cbfef06d7424ec065c1f34c230407f9f5dc002c27a9666bec439affe6fee2f5cb8b562a5241145e89e2d327a36292b125bca2e0589c2009265rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootghc-8.10.7-150500.3.2.5.src.rpmghc-base-develghc-base-devel(aarch-64)ghc-devel(base-4.14.3.0)ghc-devel(ghc-prim-0.6.1)ghc-devel(integer-gmp-1.0.3.0)@@    /bin/sh/bin/shghc-base(aarch-64)ghc-compilerghc-compilerghc-compilerghc-devel(ghc-prim-0.6.1)ghc-devel(integer-gmp-1.0.3.0)gmp-devellibdw-devellibelf-devellibffi-devellibnuma-develrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)4.14.3.0-150500.3.2.58.10.78.10.78.10.7-150500.3.2.53.0.4-14.6.0-14.0-15.2-14.14.3bbk@b'E@a2@`@`OL@`"y@_<_H@_@_xg_/@^Ӝ@^@^W@^J@^:@^)^&^ P@^ P@^ 8@^ ^@^C]]\@\\@\@\\ @[[@[@[[@[][][[[O+[8@[&M@[5@[ Z@Z@Z@Z3@Z7Z5 Z+@YeYY@Y@Y*Y XXM@XXS@XWW_@W@W;W7@WV޾V`Vl@V1V_V@V$@VwVetV]VVf@V@V@UUȒ@U@UhTUg@Ug@Ud`@U]U]U-@U+Ut@T@T Tи@Tи@T@T*@TZ@dmueller@suse.commliska@suse.czdmueller@suse.commimi.vx@gmail.commimi.vx@gmail.comdmueller@suse.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.compsimons@suse.commimi.vx@gmail.comschwab@suse.deschwab@suse.deptrommler@icloud.comguillaume.gardet@opensuse.orgptrommler@icloud.commimi.vx@gmail.comptrommler@icloud.comptrommler@icloud.commimi.vx@gmail.commimi.vx@gmail.comptrommler@icloud.comschwab@suse.demimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.comguillaume.gardet@opensuse.orgguillaume.gardet@opensuse.orgptrommler@icloud.comptrommler@icloud.comptrommler@icloud.comptrommler@icloud.commmanu84@outlook.depsimons@suse.comptrommler@icloud.comptrommler@icloud.comptrommler@icloud.comptrommler@icloud.comguillaume.gardet@opensuse.orgptrommler@icloud.commimi.vx@gmail.commimi.vx@gmail.comptrommler@icloud.commimi.vx@gmail.comptrommler@icloud.comptrommler@icloud.comptrommler@icloud.comptrommler@icloud.comptrommler@icloud.commimi.vx@gmail.commeissner@suse.competer.trommler@ohm-hochschule.demimi.vx@gmail.competer.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.demimi.vx@gmail.competer.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.demimi.vx@gmail.competer.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.demimi.vx@gmail.commimi.vx@gmail.competer.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.demimi.vx@gmail.commimi.vx@gmail.competer.trommler@ohm-hochschule.demimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.competer.trommler@ohm-hochschule.deschwab@suse.desbahling@suse.commimi.vx@gmail.commimi.vx@gmail.competer.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.dero@suse.demimi.vx@gmail.comro@suse.dero@suse.demimi.vx@gmail.commimi.vx@gmail.competer.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.demimi.vx@gmail.commimi.vx@gmail.commimi.vx@gmail.competer.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.depeter.trommler@ohm-hochschule.de- add ghc.keyring to have source validation enabled - limit to use llvm12 for Factory as newer versions are not supported- Remove dependency on binutils-gold as the package will be removed in the future. Gold linker is unmaintained by the upstream project.- add ghc-armv7-VFPv3D16--NEON.patch to use vfpv3-d16 on armv7hl- update to 8.10.7 - drop 4134.patch and refresh ghc-pie.patch * portabilit yfixes * Export some RTS symbols required for static builds of GHC * Fix LLVM version checking logic so it no longer complains about supported LLVM versions. * Fix some RTS crashes on Darwin due to mixing up the closure sizes of the aarch64 and x86-64 backends. * Fix a crash on the non-moving GC due to incorrect logic for calculating the header size for array write barries * Fix a bug in base leading to a high likelihood of space leaks when using lazy bytestrings * Fix some timer races in the RTS possibly manifesting in #18033 and #20132 * Fix a number of bugs affecting the RTS m32 allocator * Fix a bug where code may be unloaded prematurely when using the parallel garbage collector * Fix a bug where the linker may during shutdown unload code before libraries’ atexit handlers have a chance to run * Improve code layout by distiguishing conditional and unconditional branches * Add hs-boot file support for -ddump-minimal-imports * Ensure hs-boot files are built before source files in GHCs -M mode * Fix a long standing GHC API bug affecting clients like HLS where async exceptions used to cancel threads during typechecking would be caught by the Template Haskell evaluator and reported as compile errors * Improve error messages when looking up packages fails * Fix a number of quirks in GC accounting * Fix a code generation bug which could result in entry of unlifted objects in some programs using unboxed sums * Ensure that POSIX signals are not delivered to the ticker thread when using the pthread itimer implementation. * Fix a specialiser bug which could result in the construction of recursive dictionaries in some programs * Bump containers to 0.6.4.1 * Do not treat -Winferred-safe-imports warnings as errors. * Fix a bug where typechecker plugins could be run with an inconsistent typechecker environment * Fix a simplifier bug which lead to an exponential blow up and excessive memory usage in certain cases- add 4134.patch to fix build with Sphinx4- always build against llvm9, also on SLE15 (suse_version == 1500) otherwise the resulting build is not working (llvm is 7.x there) (bsc#1181571)- update to 8.10.4 * Fix a crash caused by inappropriate garbage of heap-allocated data reachable from foreign exports- update to 8.10.3 * More robust support for architectures with weak memory ordering guarantees (e.g. modern ARM hardware). * GHC can now split dynamic objects to accomodate macOS' RPATH size limitation when building large projects (#14444) * Several correctness bugs in the new low-latency garbage collector * Many, many other bug-fixes))- disable %{ix86} build- force multiversion for subpackages- add --enable-unregistered to configure phase on unregistered architectures- update to 8.10.2 * Fixes a code generation bug resulting in incorrect code generation for foreign calls with complex arguments * Fixes a bug causing object merging to fail when the lld linker is in use * Introduces a workaround for a Linux kernel bug in the implementation of the timerfd mechanism * Fixes a few specialiser regressions as well introduces a variety of miscellaneous specialiser improvements * Fixes a potential loss of sharing due to left operator sections * Fix bootstrapping of GHC with the LLVM backend on x86-64 * few important correctness fixes for the low-latency garbage collector.- cleanup specfile from Leap 42 and older remrants - drop fix-unregisterised-v8.4-8.6.patch - drop fix-build-using-unregisterized-v8.4.patch- Update ghc to version 8.10.1. Important changes are: * The UnliftedNewtypes extension, allowing newtypes to be wrap types of kind other than Type. * The StandaloneKindSignatures extension, allowing explicit signatures on type constructors. * A new, low-latency garbage collector for the oldest generation. Please refer to the compiler documentation for all details: https://downloads.haskell.org/~ghc/8.10.1/docs/html/users_guide/8.10.1-notes.html- update to 8.8.3 * a compiler panic due to over-zealous eta reduction * the ability to bootstrap with earlier 8.8 releases has been restored * the directory submodule has been updated * the process submodule has been updated- Increase memory limit for qemu user-space builds- Fix typo in last change- use ghc-bootstrap-helpers on all archs - lower build env requirements on riscv64 * make sure we can build on smaller systems * adjust parallelism so we don't hog big workers for almost a week * many thanks to Stefan Bruens for pointing out the issue and helping with the solution- Update _constraints for aarch64- drop 0001-Fix-check-whether-GCC-supports-__atomic_-builtins.patch * fixed upstream - drop D5212.patch * fixed upstream - drop fix-build-using-unregisterized-v8.4.patch * bootstrap compiler is 8.6.5 now - refresh fix-unregisterised-v8.4-8.6.patch - clean up spec file- update to 8.8.2 * A bug (Issue #17088) in the compacting garbage collector resulting in segmentation faults under specific circumstances. Note that this may affect user programs even if they did not explicitly request the compacting GC (using the -c RTS flag) since GHC may fallback to compacting collection during times of high memory pressure. * A code generator bug (Issue #17334) resulting in GHC panics has been fixed. * A typechecker bug (Issue #17112) resulting in GHC panicking on some programs has been fixed. * A bug (Issue #16707) in the implementation of software transactional memory potentially resulting in hanging transactions has been fixed. * A bug in the implementation of compact normal forms resulting in segmentation faults in some uses (Issue #17044) has been fixed.- add fix-unregisterised-v8.4-8.6.patch * fix build on s390x and riscv64- refresh buildpath-abi-stability.patch - refresh ghc-8.0.2-Cabal-dynlibdir.patch - refresh ghc-pie.patch - enable riscv64- use prebuilt alex and happy on Tumbleweed to avoid buildcycle - Don't require llvm in ghc-compiler for other architectures than arm- update to 8.8.1 -new stable release - refresh Disable-unboxed-arrays.patch - drop allow-riscv-and-riscv64-CPU.patch - merged in upstream- add fix-build-using-unregisterized-v8.4.patch * fixes unregisterised builds when bootstrap compiler is GHC 8.4 * fixes build on s390x- Enable build on riscv64 - Add memory constraints for riscv64, restrict to 2 jobs - allow-riscv-and-riscv64-CPU.patch: recognize riscv64 as architecture - Apply Disable-unboxed-arrays.patch also on s390x- update to 8.6.5 * A build system issue where use of GCC with -flto broke configure was fixed- really bump llvm5 to llvm6 requires for ghc-compiler- bump llvm req to llvm6- update to 8.6.4 * A bug wherein changes in default method definitions would fail to trigger recompilation has been fixed * A bug wherein plugins would fail to lookup names not in scope in the module being compiled has been fixed * A bug where some programs involving StaticData would be rejected with either a typechecking error or internal compiler error has been fixed * A bug where compilation on Windows can fail with linker errors referring to __chkstk_ms has been fixed- use python3-Sphinx instead deprecated python-sphinx [boo#1119686]- update to 8.6.3 * A code generation bug resulting in segmentations faults in some programs * bug leading to programs with deep stacks crashing when run with retainer profiling enabled * A bug resulting in potential heap corruption during stable name allocation * Plugins are now loaded during GHCi sessions- dont require memory-constraints on older distros - dropped reproducible-tmp-names.patch- update to 8.6.2 * Several compiler panics observed in GHC 8.6.1 have been fixed * An integer overflow, resulting in some encodeFloat uses returning incorrect results, has been fixed * A long-standing bug in the LLVM code generator, resulting in incorrect floating point evaluation, has been fixed. * A long-standing bug exposed in GHC 8.6.1, has been fixed. This issue resulted in undefined runtime behavior with some uses of the dataToTag# primop. Note that this issue, while less likely to manifest, has existed in some form in all GHC releases prior to this release and may result in silent, incorrect evaluation.- Make use of memory-constraints to avoid OOM errors- Remove forced 'make -j2' for aarch64 and %arm- add Disable-unboxed-arrays.patch * apply on ppc64 only * fixes ppc64 build - add D5212.patch * fix GHCi on big endian platforms- cleanup * remove unused conditional in configure command- update to 8.6.1 - add 0001-Fix-check-whether-GCC-supports-__atomic_-builtins.patch * fix __atomic_builtin detection * upstream commit ce3897ff - drop add_armv6l_and_armv7l_target.patch * fixed upstream - drop fix-ppc64le-recognition.patch * fixed upstream - drop fix-build-using-unregisterized-v8.2.patch * bootstrap with 8.4.3 works w/o this patch - refresh ghc-pie.patch - refresh ghc-8.0.2-Cabal-dyndir.patch - refresh buildpath-abi-stability.patch- Add fix-build-using-unregisterized-v8.2.patch * Fix build on s390x- Fix armv6 build by adding armv6l to llvm-targets: * change add_armv7l_target.patch to add_armv6l_and_armv7l_target.patch- Cosmetic: replace tabs with blanks, strip trailing white space, and update copyright headers with spec-cleaner.- Fix dependencies on arm and s390x- add fix-ppc64le-recognition.patch * recognize powerpc64le as PPC64 in cabal files- update to 8.4.3 * code generation for UnboxedSum fixed * compatibility withe newer binutils (as) * Cabal issue with abi-depends fixed- Fix build for older openSUSE - Don't do selfbootstrapping * Cuts down build time roughly in half- Fix armv7 build by adding armv7l to llvm-targets: * add_armv7l_target.patch- update to 8.4.2 - drop 0001-PPC-CodeGen-fix-lwa-instruction-generation.patch * fixed upstream - drop 0001-PPC-Implement-Atomic-operations.patch * fixed upstream - drop 0001-Use-__atomic-intrinsics-for-atomicread-write.patch * fixed upstream - drop D4089.patch * fixed upstream- fix BuildRequires for llvm- use %license macro as used by new ghc-rpm-macros- refresh ghc-pie.patch so it applies cleanly- reintroduce ghc-pie.patch (pure upstreams don't work)- update to 8.2.2 - Several important correctness issues fixing potential runtime crashes - A correctness issue leading to undefined behavior in some programs making use of STMa fixed - A runtime system bug which may have manifested as a segmentation fault under low-memory conditions fixed - ghc-pkg now works correctly ihn environments with misconfigured NFS mounts - GHC can now produce position-independent executables - Significantly improved type errors - refresh reproducible-tmp-names.patch - drop ghc-pie.patch fixed upstream- update to 8.2.1 - improved compiler performance - reliable DWARF debugging information on x86_64 and i386 - aarch64: registerised through LLVM backend (experimental) - optimized build for platforms with LLVM backend (arm, aarch64) - improved performance on NUMA systems - interface file determinism - various language improvements - update _constraints * ppc64le builds need less memory since 8.2.1 - drop support for ppc and s390 - drop ghc-no-madv-free.patch fixed upstream - drop 0001-StgCmmPrim-Add-missing-write-barrier.patch - refresh buildpath-abi-stability.patch - refresh ghc-8.0.2-Cabal-dynlibdir.patch - refresh ghc-pie.patch - refresh reproducible-tmp-names.patch - refresh 0001-PPC-Implement-Atomic-operations.patch - refresh D4089.patch- add D4089.patch * fix GHCi issue on ppc64 * see Haskell Trac #11262- add 0001-Use-__atomic-intrinsics-for-atomicread-write.patch * add missing memory barriers on atomic read/write ops * fixes upstream ticket #14244 - adjust comment for patch 32 * the situation with upstream #12537 is improved but not solved. Patch 32, however, is correct. There are even more memory barriers missing elsewhere in the compiler.- add 0001-PPC-Implement-Atomic-operations.patch * fixes parallel programs on all PowerPC platforms * uptream ticket #12537 - refresh buildpath-abi-stability.patch- make compatible with new upstream macros - added patches for more stable abi: * buildpath-abi-stability.patch * reproducible-tmp-names.patch- enable for global PIE support: - the compiler is built without PIE support due to the bootstrap libraries being non-PIE using BuildIgnore: gcc-PIE - the compiler itself builds -fPIC objects all the time, which should make all ghc compiled binaries be PIE. - ghc-pie.patch: enable default -fPIC on Linux/x86_64- comment for patch 100 - refresh ghc-no-madv-free.patch with upstream patch * upstream fix for Haskell Trac #12865 * Haskell Trac #12495 is a duplicate- update to 8.0.2 - drop patches merged by upstream: * D2495.patch - refreshed patches: * 0001-PPC-CodeGen-fix-lwa-instruction-generation.patch * 0001-StgCmmPrim-Add-missing-write-barrier.patch * ghc-no-madv-free.patch - added ghc-8.0.2-Cabal-dynlibdir.patch by Jens Petersen simplifing haskell packaging + Interface files produced by GHC should now be deterministic ( boo#998972 ) + A bug has been fixed that caused standalone derived Ix instances to fail for GADTs with exactly one constructor + Compatibility fixes recent Linux distributions.- drop D2844.patch * the patch causes more issues with parallel builds - fixes boo#1020909- add D2844.patch * fix issues with parallel builds- make compatible with new ghc-rpm-macros- update to 8.0.1 - drop patches fixed upstream: * drop atomic-cast.patch * drop cabal-show-detail-direct.patch * drop 0001-link-command-line-libs-to-temp-so.patch * drop 0001-implement-native-code-generator-for-ppc64.patch * drop ghc.git-b29f20.patch * drop u_terminfo_0402.patch * drop u_Cabal_update.patch * drop u_haskeline_update.patch * drop 0001-Fix-misspelled-WORDS_BIGENDIAN-macro.patch * drop D2214.patch * drop D2225.patch - refresh 0001-StgCmmPrim-Add-missing-write-barrier.patch - refresh 0001-PPC-CodeGen-fix-lwa-instruction-generation.patch - add ghc-no-madv-free.patch to fix "unable to decommit memory: Invalid argument" errors GHC reports due to a misdetected MADV_FREE capability. The configure script sees the symbol define by glibc, but unfortunately this doesn't mean that the running kernel actually supports the feature, too. The upstream ticket https://ghc.haskell.org/trac/ghc/ticket/12495 has more details. Thanks to @psimons - GHC produces debug information on x86 and x86_64 - aarch64 has LLVM backend (requires llvm-3.7) - native code generator for powerpc64[le] (openSUSE contribution!) - disable html doc on SLE, we don't have python-sphinx * Thanks @mimi_vx- add D2495.patch * missing memory barrier on PowerPC, ARM - add 0001-StgCmmPrim-Add-missing-write-barrier.patch * another issing memory barrier on PowerPC, ARM - add 0001-PPC-CodeGen-fix-lwa-instruction-generation.patch * fix bug in code generator * fixes build of ghc-zeromq4-haskell on powerpc64[le]- fix boo#994268- add D2225.patch * backport of upstream patch accepted for ghc 8.0.1 * fix SMP primitives on all powerpc archs- add D2214.patch * backport of upstream patch slated for ghc 8.0.2 * fix issue in code PowerPC code generator (32 bit and 64 bit) - add 0001-Fix-misspelled-WORDS_BIGENDIAN-macro.patch * backport of upstream fix slated for ghc 8.0.2 * fix bytestring library on big-endian archs * fix wrong results in ghc-pureMD5 and others on big-endian- update haskeline to 0.7.2.3 - refresh u_haskeline_update.patch * Fix hsc2hs-related warning on ghc-8 * Fix the behavior of ctrl-W in the emacs bindings * Point to github instead of trac- update Cabal to 1.22.8.0 - refresh u_Cabal_update.patch * Distribution.Simple.Setup: remove job cap * Check all object file suffixes for recompilation * Move source files under 'src/'.- limit parallel jobs to two on aarch64 * aarch64 runs out of memory with too many parallel compiles- add missing C library dependency to terminfo devel package- update haskeline to 0.7.2.2 - add u_haskeline_update.patch * canonicalize AMP instances to make the code more future proof * Generalize constraints for InputT instances * Bump upper bounds on base and transformers * Make Haskeline `-Wtabs` clean- update Cabal to 1.22.7.0 - refresh u_Cabal_update.patch * Backport #3012 to the 1.22 branch * Add foldl' import * The Cabal part for fully gcc-like response files- update tarball to 7.10.3b * some documentation files were missing in the original 7.10.3 tarball - add 0001-link-command-line-libs-to-temp-so.patch * fix panic in GHCi when linking against C library specified as command line argument (-l) * currently under upstream review * fix Haskell trac #10458- update Cabal to 1.22.6.0 - add u_Cabal_update.patch -- update of Cabal * Relax upper bound to allow upcoming binary-0.8- update terminfo to 0.4.0.2 - drop remove-cur_term-usage.patch - merged by upstream - add u_terminfo_0402.patch -- update of terminfo- update Cabal to 1.22.5.0 * Don't recompile C sources unless needed * Support Haddock response files. * Add frameworks when linking a dynamic library.- use upstream variant of remove-cur_term-usage.patch- update to 7.10.3 - add cabal-show-detail-direct.patch -- Fix testsuites with large output. Debian patch. Thanks Joachim for suggesting it in Haskell #10870! - add ghc.git-b29f20.patch * fixes upstream #7830 * fix ghc 7.10.2 failing to bootstrap ghc head on ppc and perhaps ppc64 with some optimizations enabled * backport of my patch for upcoming ghc 8.0.1- atomic-cast.patch: fix signature of atomic bultins - ghc-7.8-arm-use-ld-gold.patch: remove obsolete patch- Remove ncurses6.patch - it's not so easy ;) - Add remove-cur_term-usage.patch to remove the need to access the cur_term global which isn't available in the openSUSE ncurses6 build.- Add choice for libffi in openSUSE:Leap:42.1- remove llvm from requires - add ncurses6.patch to fix build with ncurses6, all thanks goes to Tomas Cech sleep_walker@opensuse.org- update to 7.10.2 * type checker fixes * fixes for Aarch64 support * fix deadlock in runtime system when scheduling garbage collection - 7.10.1 highlights * implement Applicative Monad Proposal * implement Burning Bridges Proposal * support for partial type signatures * reimplement integer-gmp * support plugins in type checker (experimental!) - drop llvm-powerpc64-datalayout.patch * this patch was incomplete all along and now we have our native code generator - drop ghc-cabal-unversion-docdir.patch * ghc-rpm-macros is following ghc's doc layout so no need to patch - drop D349.patch * fixed upstream - drop integer-gmp.patch * we do not support SLE11 anymore - drop ghc-7.8.2-cgen-constify.patch * fixed upstream - drop D560.patch * fixed upstream - drop ghc-glibc-2.20_BSD_SOURCE.patch * fixed upstream - drop ghc-arm64.patch * fixed upstream - drop ghc-config.mk.in-Enable-SMP-and-GHCi-support-for-Aarch64.patch * fixed upstream - refresh 0001-implement-native-code-generator-for-ppc64.patch - disable ghc-7.8-arm-use-ld-gold.patch * not sure we need this, must be rebased if we do- add ghc-config.mk.in-Enable-SMP-and-GHCi-support-for-Aarch64.patch * enable SMP and GHCi on Aarch64 - add ghc-7.8-arm-use-ld-gold.patch * Aarch64 needs gold linker- refresh ghc-arm64.patch - unconditionally apply ghc-arm64.patch- add backport of powerpc64le native code generator to 0001-implement-native-code-generator-for-ppc64.patch - refresh D349.patch- on s390/s390x use "make -j2" to stabilize abi hashes (see also redhat bug 1212374)- disable llvm on arm64- re-diffed ghc-arm64.patch- add ghc-arm64.patch for aarch64 - add aarch64, s390, s390x to ExclusiveArch- remove unneeded conditions- chnage constraints to 12G for disk and 4G for ram- add ghc-glibc-2.20_BSD_SOURCE.patch * fixes build on unregisterised architectures (openSUSE: ppc64le)- drop ghc-cabal-unversion-docdir.patch * ghc-rpm-macros follows upstream ghc again+ add ghc-glibc-2.20_BSD_SOURCE.patch from fedora - updated to 7.8.4 + removed D177.patch (in upstream) + removed D173.patch (in upstream) + removed ghc.git-e18525f.patch (in upstream) + refresh 0001-implement-native-code-generator-for-ppc64.patch * A critical bug in the LLVM backend which would cause the compiler to generate incorrect code has been fixed (issue #9439). * Several bugs in the code generator have been fixed for unregisterised platforms, such as 64bit PowerPC (issue #8819 and #8849). * A bug that could cause GHC's constructor specialization pass (enabled by default at -O2, or via -fspec-constr) to loop forever and consume large amounts of memory has been fixed (issue #8960). * A bug that would cause GHC to fail when attempting to determine GCC's version information in non-english locales has been fixed (issue #8825). * A minor bug that allowed GHC to seemingly import (but not use) private data constructors has been fixed (issue #9006). * A bug in the register allocator which would cause GHC to crash during compilation has been fixed (issue #9303). * A bug that caused the compiler to panic on some input C-- code has been fixed (issue #9329). * A few various minor deadlocks in the runtime system when using forkProcess have been fixed. * A bug which made blocked STM transactions non-interruptible has been fixed (issue #9379). * A bug in the compiler which broke pattern synonym imports across modules in Haddock has been fixed (issue #9417). * A minor bug in the code generator in which the popCnt16# did not zero-extend its result has been fixed (issue #9435). * A bug which caused the compiler to panic on pattern synonyms inside a class declaration has been fixed (issue #9705). * A bug in the typechecker revolving around un-saturated type family applications has been fixed (issue #9433). * Several bugs have been fixed causing problems with building GHC on ARM (issues #8951, #9620, #9336, and #9552). * A bug in the typechecker that could cause an infinite loop when using superclasses in a cycle has been fixed (issue #9415). * A bug causing corruption in signal handling with the single-threaded runtime system has been fixed (issue #9817). * A bug that could cause compiled programs to crash due to use of overlapping type families has been fixed (issue #9371). * A bug in the inliner that caused certain expressions within unboxed tuples to not be properly evaluated has been fixed (issue #9390). * A bug that caused the compiler to not always properly detect LLVM tools (particularly on Windows) has been fixed (issue #7143). * A bug that prevented GHC from deriving Generic1 instances for data families has been fixed (#9563). * A bug that caused type inference to infer the incorrect type in the presence of certain type families and constraints has been fixed (issue #9316).- add constraints file- remove dblatex dependency- add patch 0001-implement-native-code-generator-for-ppc64.patch * native code generation improved compilation speed * fewer errors in testsuite than with C back end- add patch D560.patch * fixes dynamic linking on ppc * see https://phabricator.haskell.org/D560 * this is a back port of the upstream patch- add patch D349.patch * fix a crash with dynamic linking in GHCi when accessing the process environment * our patch has been submitted upstream * see https://phabricator.haskell.org/D349/bin/sh/bin/shibs-arm-6 1687577888  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~4.14.3.0-150500.3.2.54.14.3.0-150500.3.2.5      !!!!!!"""###$$$$%&&&&&&&&&%%%%%%$'''$$$$(((((($$$$$$$))))))$$$$$$$******$++++++$$$,------,,,,,,,...,,,,///000011122233333455555555555555556665555555554444788888888888899999999999999999999999999999999999999::9;;;;;;;;;;8<<<<<<<<<=>>>>?@@@????AAA???===BB==CCCCDEEEEEEEEEEFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHFIIIIIIIIIIIIIIIControlApplicative.dyn_hiApplicative.hiApplicative.p_hiArrow.dyn_hiArrow.hiArrow.p_hiCategory.dyn_hiCategory.hiCategory.p_hiConcurrentConcurrent.dyn_hiConcurrent.hiConcurrent.p_hiChan.dyn_hiChan.hiChan.p_hiMVar.dyn_hiMVar.hiMVar.p_hiQSem.dyn_hiQSem.hiQSem.p_hiQSemN.dyn_hiQSemN.hiQSemN.p_hiExceptionException.dyn_hiException.hiException.p_hiBase.dyn_hiBase.hiBase.p_hiMonadMonad.dyn_hiMonad.hiMonad.p_hiFail.dyn_hiFail.hiFail.p_hiFix.dyn_hiFix.hiFix.p_hiIOClass.dyn_hiClass.hiClass.p_hiInstances.dyn_hiInstances.hiInstances.p_hiSTST.dyn_hiST.hiST.p_hiImp.dyn_hiImp.hiImp.p_hiLazyLazy.dyn_hiLazy.hiLazy.p_hiImp.dyn_hiImp.hiImp.p_hiSafe.dyn_hiSafe.hiSafe.p_hiUnsafe.dyn_hiUnsafe.hiUnsafe.p_hiSafe.dyn_hiSafe.hiSafe.p_hiStrict.dyn_hiStrict.hiStrict.p_hiUnsafe.dyn_hiUnsafe.hiUnsafe.p_hiZip.dyn_hiZip.hiZip.p_hiDataBifoldable.dyn_hiBifoldable.hiBifoldable.p_hiBifunctor.dyn_hiBifunctor.hiBifunctor.p_hiBitraversable.dyn_hiBitraversable.hiBitraversable.p_hiBits.dyn_hiBits.hiBits.p_hiBool.dyn_hiBool.hiBool.p_hiChar.dyn_hiChar.hiChar.p_hiCoerce.dyn_hiCoerce.hiCoerce.p_hiComplex.dyn_hiComplex.hiComplex.p_hiData.dyn_hiData.hiData.p_hiDynamic.dyn_hiDynamic.hiDynamic.p_hiEither.dyn_hiEither.hiEither.p_hiEq.dyn_hiEq.hiEq.p_hiFixed.dyn_hiFixed.hiFixed.p_hiFoldable.dyn_hiFoldable.hiFoldable.p_hiFunction.dyn_hiFunction.hiFunction.p_hiFunctorFunctor.dyn_hiFunctor.hiFunctor.p_hiClasses.dyn_hiClasses.hiClasses.p_hiCompose.dyn_hiCompose.hiCompose.p_hiConst.dyn_hiConst.hiConst.p_hiContravariant.dyn_hiContravariant.hiContravariant.p_hiIdentity.dyn_hiIdentity.hiIdentity.p_hiProduct.dyn_hiProduct.hiProduct.p_hiSum.dyn_hiSum.hiSum.p_hiUtils.dyn_hiUtils.hiUtils.p_hiIORef.dyn_hiIORef.hiIORef.p_hiInt.dyn_hiInt.hiInt.p_hiIx.dyn_hiIx.hiIx.p_hiKind.dyn_hiKind.hiKind.p_hiListList.dyn_hiList.hiList.p_hiNonEmpty.dyn_hiNonEmpty.hiNonEmpty.p_hiMaybe.dyn_hiMaybe.hiMaybe.p_hiMonoid.dyn_hiMonoid.hiMonoid.p_hiOldList.dyn_hiOldList.hiOldList.p_hiOrd.dyn_hiOrd.hiOrd.p_hiProxy.dyn_hiProxy.hiProxy.p_hiRatio.dyn_hiRatio.hiRatio.p_hiSTRefSTRef.dyn_hiSTRef.hiSTRef.p_hiLazy.dyn_hiLazy.hiLazy.p_hiStrict.dyn_hiStrict.hiStrict.p_hiSemigroupSemigroup.dyn_hiSemigroup.hiSemigroup.p_hiInternal.dyn_hiInternal.hiInternal.p_hiString.dyn_hiString.hiString.p_hiTraversable.dyn_hiTraversable.hiTraversable.p_hiTuple.dyn_hiTuple.hiTuple.p_hiTypeBool.dyn_hiBool.hiBool.p_hiCoercion.dyn_hiCoercion.hiCoercion.p_hiEquality.dyn_hiEquality.hiEquality.p_hiTypeableTypeable.dyn_hiTypeable.hiTypeable.p_hiInternal.dyn_hiInternal.hiInternal.p_hiUnique.dyn_hiUnique.hiUnique.p_hiVersion.dyn_hiVersion.hiVersion.p_hiVoid.dyn_hiVoid.hiVoid.p_hiWord.dyn_hiWord.hiWord.p_hiDebugTrace.dyn_hiTrace.hiTrace.p_hiForeignForeign.dyn_hiForeign.hiForeign.p_hiCC.dyn_hiC.hiC.p_hiError.dyn_hiError.hiError.p_hiString.dyn_hiString.hiString.p_hiTypes.dyn_hiTypes.hiTypes.p_hiConcurrent.dyn_hiConcurrent.hiConcurrent.p_hiForeignPtrForeignPtr.dyn_hiForeignPtr.hiForeignPtr.p_hiImp.dyn_hiImp.hiImp.p_hiSafe.dyn_hiSafe.hiSafe.p_hiUnsafe.dyn_hiUnsafe.hiUnsafe.p_hiMarshalMarshal.dyn_hiMarshal.hiMarshal.p_hiAlloc.dyn_hiAlloc.hiAlloc.p_hiArray.dyn_hiArray.hiArray.p_hiError.dyn_hiError.hiError.p_hiPool.dyn_hiPool.hiPool.p_hiSafe.dyn_hiSafe.hiSafe.p_hiUnsafe.dyn_hiUnsafe.hiUnsafe.p_hiUtils.dyn_hiUtils.hiUtils.p_hiPtr.dyn_hiPtr.hiPtr.p_hiSafe.dyn_hiSafe.hiSafe.p_hiStablePtr.dyn_hiStablePtr.hiStablePtr.p_hiStorable.dyn_hiStorable.hiStorable.p_hiGHCArr.dyn_hiArr.hiArr.p_hiBase.dyn_hiBase.hiBase.p_hiByteOrder.dyn_hiByteOrder.hiByteOrder.p_hiChar.dyn_hiChar.hiChar.p_hiClock.dyn_hiClock.hiClock.p_hiConcConc.dyn_hiConc.hiConc.p_hiIO.dyn_hiIO.hiIO.p_hiSignal.dyn_hiSignal.hiSignal.p_hiSync.dyn_hiSync.hiSync.p_hiConsoleHandler.dyn_hiConsoleHandler.hiConsoleHandler.p_hiConstants.dyn_hiConstants.hiConstants.p_hiDesugar.dyn_hiDesugar.hiDesugar.p_hiEnum.dyn_hiEnum.hiEnum.p_hiEnvironment.dyn_hiEnvironment.hiEnvironment.p_hiErr.dyn_hiErr.hiErr.p_hiEventEvent.dyn_hiEvent.hiEvent.p_hiArr.dyn_hiArr.hiArr.p_hiArray.dyn_hiArray.hiArray.p_hiControl.dyn_hiControl.hiControl.p_hiEPoll.dyn_hiEPoll.hiEPoll.p_hiIntTable.dyn_hiIntTable.hiIntTable.p_hiInternal.dyn_hiInternal.hiInternal.p_hiKQueue.dyn_hiKQueue.hiKQueue.p_hiManager.dyn_hiManager.hiManager.p_hiPSQ.dyn_hiPSQ.hiPSQ.p_hiPoll.dyn_hiPoll.hiPoll.p_hiThread.dyn_hiThread.hiThread.p_hiTimerManager.dyn_hiTimerManager.hiTimerManager.p_hiUnique.dyn_hiUnique.hiUnique.p_hiExceptionException.dyn_hiException.hiException.p_hiType.dyn_hiType.hiType.p_hiExecutionStackExecutionStack.dyn_hiExecutionStack.hiExecutionStack.p_hiInternal.dyn_hiInternal.hiInternal.p_hiExts.dyn_hiExts.hiExts.p_hiFingerprintFingerprint.dyn_hiFingerprint.hiFingerprint.p_hiType.dyn_hiType.hiType.p_hiFloatFloat.dyn_hiFloat.hiFloat.p_hiConversionUtils.dyn_hiConversionUtils.hiConversionUtils.p_hiRealFracMethods.dyn_hiRealFracMethods.hiRealFracMethods.p_hiForeign.dyn_hiForeign.hiForeign.p_hiForeignPtr.dyn_hiForeignPtr.hiForeignPtr.p_hiGHCiGHCi.dyn_hiGHCi.hiGHCi.p_hiHelpers.dyn_hiHelpers.hiHelpers.p_hiGenerics.dyn_hiGenerics.hiGenerics.p_hiIOIO.dyn_hiIO.hiIO.p_hiBuffer.dyn_hiBuffer.hiBuffer.p_hiBufferedIO.dyn_hiBufferedIO.hiBufferedIO.p_hiDevice.dyn_hiDevice.hiDevice.p_hiEncodingEncoding.dyn_hiEncoding.hiEncoding.p_hiCodePage.dyn_hiCodePage.hiCodePage.p_hiFailure.dyn_hiFailure.hiFailure.p_hiIconv.dyn_hiIconv.hiIconv.p_hiLatin1.dyn_hiLatin1.hiLatin1.p_hiTypes.dyn_hiTypes.hiTypes.p_hiUTF16.dyn_hiUTF16.hiUTF16.p_hiUTF32.dyn_hiUTF32.hiUTF32.p_hiUTF8.dyn_hiUTF8.hiUTF8.p_hiException.dyn_hiException.hiException.p_hiFD.dyn_hiFD.hiFD.p_hiHandleHandle.dyn_hiHandle.hiHandle.p_hiFD.dyn_hiFD.hiFD.p_hiInternals.dyn_hiInternals.hiInternals.p_hiLockLock.dyn_hiLock.hiLock.p_hiCommon.dyn_hiCommon.hiCommon.p_hiFlock.dyn_hiFlock.hiFlock.p_hiLinuxOFD.dyn_hiLinuxOFD.hiLinuxOFD.p_hiNoOp.dyn_hiNoOp.hiNoOp.p_hiWindows.dyn_hiWindows.hiWindows.p_hiText.dyn_hiText.hiText.p_hiTypes.dyn_hiTypes.hiTypes.p_hiIOMode.dyn_hiIOMode.hiIOMode.p_hiUnsafe.dyn_hiUnsafe.hiUnsafe.p_hiIOArray.dyn_hiIOArray.hiIOArray.p_hiIORef.dyn_hiIORef.hiIORef.p_hiInt.dyn_hiInt.hiInt.p_hiIx.dyn_hiIx.hiIx.p_hiList.dyn_hiList.hiList.p_hiMVar.dyn_hiMVar.hiMVar.p_hiMaybe.dyn_hiMaybe.hiMaybe.p_hiNatural.dyn_hiNatural.hiNatural.p_hiNum.dyn_hiNum.hiNum.p_hiOldList.dyn_hiOldList.hiOldList.p_hiOverloadedLabels.dyn_hiOverloadedLabels.hiOverloadedLabels.p_hiPack.dyn_hiPack.hiPack.p_hiProfiling.dyn_hiProfiling.hiProfiling.p_hiPtr.dyn_hiPtr.hiPtr.p_hiRTSFlags.dyn_hiFlags.hiFlags.p_hiRead.dyn_hiRead.hiRead.p_hiReal.dyn_hiReal.hiReal.p_hiRecords.dyn_hiRecords.hiRecords.p_hiResponseFile.dyn_hiResponseFile.hiResponseFile.p_hiST.dyn_hiST.hiST.p_hiSTRef.dyn_hiSTRef.hiSTRef.p_hiShow.dyn_hiShow.hiShow.p_hiStable.dyn_hiStable.hiStable.p_hiStableName.dyn_hiStableName.hiStableName.p_hiStackStack.dyn_hiStack.hiStack.p_hiCCS.dyn_hiCCS.hiCCS.p_hiTypes.dyn_hiTypes.hiTypes.p_hiStaticPtrStaticPtr.dyn_hiStaticPtr.hiStaticPtr.p_hiInternal.dyn_hiInternal.hiInternal.p_hiStats.dyn_hiStats.hiStats.p_hiStorable.dyn_hiStorable.hiStorable.p_hiTopHandler.dyn_hiTopHandler.hiTopHandler.p_hiTypeLits.dyn_hiTypeLits.hiTypeLits.p_hiTypeNats.dyn_hiTypeNats.hiTypeNats.p_hiUnicode.dyn_hiUnicode.hiUnicode.p_hiWeak.dyn_hiWeak.hiWeak.p_hiWord.dyn_hiWord.hiWord.p_hiHSbase-4.14.3.0.oHSbase-4.14.3.0.p_oNumericNumeric.dyn_hiNumeric.hiNumeric.p_hiNatural.dyn_hiNatural.hiNatural.p_hiPrelude.dyn_hiPrelude.hiPrelude.p_hiSystemCPUTimeCPUTime.dyn_hiCPUTime.hiCPUTime.p_hiPosixClockGetTime.dyn_hiClockGetTime.hiClockGetTime.p_hiRUsage.dyn_hiRUsage.hiRUsage.p_hiTimes.dyn_hiTimes.hiTimes.p_hiUnsupported.dyn_hiUnsupported.hiUnsupported.p_hiUtils.dyn_hiUtils.hiUtils.p_hiConsoleGetOpt.dyn_hiGetOpt.hiGetOpt.p_hiEnvironmentEnvironment.dyn_hiEnvironment.hiEnvironment.p_hiBlank.dyn_hiBlank.hiBlank.p_hiExecutablePath.dyn_hiExecutablePath.hiExecutablePath.p_hiExit.dyn_hiExit.hiExit.p_hiIOIO.dyn_hiIO.hiIO.p_hiError.dyn_hiError.hiError.p_hiUnsafe.dyn_hiUnsafe.hiUnsafe.p_hiInfo.dyn_hiInfo.hiInfo.p_hiMemMem.dyn_hiMem.hiMem.p_hiStableName.dyn_hiStableName.hiStableName.p_hiWeak.dyn_hiWeak.hiWeak.p_hiPosixInternals.dyn_hiInternals.hiInternals.p_hiTypes.dyn_hiTypes.hiTypes.p_hiTimeout.dyn_hiTimeout.hiTimeout.p_hiTextParserCombinatorsReadP.dyn_hiReadP.hiReadP.p_hiReadPrec.dyn_hiReadPrec.hiReadPrec.p_hiPrintf.dyn_hiPrintf.hiPrintf.p_hiReadRead.dyn_hiRead.hiRead.p_hiLex.dyn_hiLex.hiLex.p_hiShowShow.dyn_hiShow.hiShow.p_hiFunctions.dyn_hiFunctions.hiFunctions.p_hiTypeReflectionReflection.dyn_hiReflection.hiReflection.p_hiUnsafe.dyn_hiUnsafe.hiUnsafe.p_hiUnsafeCoerce.dyn_hiCoerce.hiCoerce.p_hiincludeEventConfig.hHsBase.hHsBaseConfig.hWCsubst.hconsUtils.hlibHSbase-4.14.3.0.alibHSbase-4.14.3.0_p.aGHCCString.dyn_hiCString.hiCString.p_hiClasses.dyn_hiClasses.hiClasses.p_hiDebug.dyn_hiDebug.hiDebug.p_hiIntWord64.dyn_hiIntWord64.hiIntWord64.p_hiMagic.dyn_hiMagic.hiMagic.p_hiPrimExt.dyn_hiExt.hiExt.p_hiPrimopWrappers.dyn_hiPrimopWrappers.hiPrimopWrappers.p_hiTuple.dyn_hiTuple.hiTuple.p_hiTypes.dyn_hiTypes.hiTypes.p_hiHSghc-prim-0.6.1.oHSghc-prim-0.6.1.p_olibHSghc-prim-0.6.1.alibHSghc-prim-0.6.1_p.aincludeCmm.hDerivedConstants.hHsFFI.hMachDeps.hRts.hRtsAPI.hStg.hghcautoconf.hghcconfig.hghcplatform.hghcversion.hrtsAdjustor.hBlockSignals.hBytecodes.hConfig.hConstants.hEventLogFormat.hEventLogWriter.hFileLock.hFlags.hForeignExports.hGetTime.hGlobals.hHpc.hIOManager.hLibdw.hLibdwPool.hLinker.hMain.hMessages.hNonMoving.hOSThreads.hParallel.hPrimFloat.hProfiling.hSignals.hSpinLock.hStableName.hStablePtr.hStaticPtrTable.hTSANUtils.hTTY.hThreads.hTicky.hTime.hTimer.hTypes.hUtils.hprofCCS.hLDV.hstorageBlock.hClosureMacros.hClosureTypes.hClosures.hFunTypes.hGC.hHeap.hInfoTables.hMBlock.hTSO.hstgDLL.hMachRegs.hMachRegsForHost.hMiscClosures.hPrim.hRegs.hSMP.hTicky.hTypes.hGHCIntegerInteger.dyn_hiInteger.hiInteger.p_hiGMPInternals.dyn_hiInternals.hiInternals.p_hiLogarithmsLogarithms.dyn_hiLogarithms.hiLogarithms.p_hiInternals.dyn_hiInternals.hiInternals.p_hiType.dyn_hiType.hiType.p_hiHSinteger-gmp-1.0.3.0.oHSinteger-gmp-1.0.3.0.p_oincludeHsIntegerGmp.hghc-gmp.hlibHSinteger-gmp-1.0.3.0.alibHSinteger-gmp-1.0.3.0_p.abase-4.14.3.0.confghc-prim-0.6.1.confinteger-gmp-1.0.3.0.confrts.confrtslibHSrts.alibHSrts_debug.alibHSrts_debug_p.alibHSrts_l.alibHSrts_p.alibHSrts_thr.alibHSrts_thr_debug.alibHSrts_thr_debug_p.alibHSrts_thr_l.alibHSrts_thr_p.abase-4.14.3.0Control-Applicative.htmlControl-Arrow.htmlControl-Category.htmlControl-Concurrent-Chan.htmlControl-Concurrent-MVar.htmlControl-Concurrent-QSem.htmlControl-Concurrent-QSemN.htmlControl-Concurrent.htmlControl-Exception-Base.htmlControl-Exception.htmlControl-Monad-Fail.htmlControl-Monad-Fix.htmlControl-Monad-IO-Class.htmlControl-Monad-Instances.htmlControl-Monad-ST-Lazy-Safe.htmlControl-Monad-ST-Lazy-Unsafe.htmlControl-Monad-ST-Lazy.htmlControl-Monad-ST-Safe.htmlControl-Monad-ST-Strict.htmlControl-Monad-ST-Unsafe.htmlControl-Monad-ST.htmlControl-Monad-Zip.htmlControl-Monad.htmlData-Bifoldable.htmlData-Bifunctor.htmlData-Bitraversable.htmlData-Bits.htmlData-Bool.htmlData-Char.htmlData-Coerce.htmlData-Complex.htmlData-Data.htmlData-Dynamic.htmlData-Either.htmlData-Eq.htmlData-Fixed.htmlData-Foldable.htmlData-Function.htmlData-Functor-Classes.htmlData-Functor-Compose.htmlData-Functor-Const.htmlData-Functor-Contravariant.htmlData-Functor-Identity.htmlData-Functor-Product.htmlData-Functor-Sum.htmlData-Functor.htmlData-IORef.htmlData-Int.htmlData-Ix.htmlData-Kind.htmlData-List-NonEmpty.htmlData-List.htmlData-Maybe.htmlData-Monoid.htmlData-Ord.htmlData-Proxy.htmlData-Ratio.htmlData-STRef-Lazy.htmlData-STRef-Strict.htmlData-STRef.htmlData-Semigroup.htmlData-String.htmlData-Traversable.htmlData-Tuple.htmlData-Type-Bool.htmlData-Type-Coercion.htmlData-Type-Equality.htmlData-Typeable.htmlData-Unique.htmlData-Version.htmlData-Void.htmlData-Word.htmlDebug-Trace.htmlForeign-C-Error.htmlForeign-C-String.htmlForeign-C-Types.htmlForeign-C.htmlForeign-Concurrent.htmlForeign-ForeignPtr-Safe.htmlForeign-ForeignPtr-Unsafe.htmlForeign-ForeignPtr.htmlForeign-Marshal-Alloc.htmlForeign-Marshal-Array.htmlForeign-Marshal-Error.htmlForeign-Marshal-Pool.htmlForeign-Marshal-Safe.htmlForeign-Marshal-Unsafe.htmlForeign-Marshal-Utils.htmlForeign-Marshal.htmlForeign-Ptr.htmlForeign-Safe.htmlForeign-StablePtr.htmlForeign-Storable.htmlForeign.htmlGHC-Arr.htmlGHC-Base.htmlGHC-ByteOrder.htmlGHC-Char.htmlGHC-Clock.htmlGHC-Conc-IO.htmlGHC-Conc-Signal.htmlGHC-Conc-Sync.htmlGHC-Conc.htmlGHC-ConsoleHandler.htmlGHC-Constants.htmlGHC-Desugar.htmlGHC-Enum.htmlGHC-Environment.htmlGHC-Err.htmlGHC-Event.htmlGHC-Exception-Type.htmlGHC-Exception.htmlGHC-ExecutionStack-Internal.htmlGHC-ExecutionStack.htmlGHC-Exts.htmlGHC-Fingerprint-Type.htmlGHC-Fingerprint.htmlGHC-Float-ConversionUtils.htmlGHC-Float-RealFracMethods.htmlGHC-Float.htmlGHC-Foreign.htmlGHC-ForeignPtr.htmlGHC-GHCi-Helpers.htmlGHC-GHCi.htmlGHC-Generics.htmlGHC-IO-Buffer.htmlGHC-IO-BufferedIO.htmlGHC-IO-Device.htmlGHC-IO-Encoding-CodePage.htmlGHC-IO-Encoding-Failure.htmlGHC-IO-Encoding-Iconv.htmlGHC-IO-Encoding-Latin1.htmlGHC-IO-Encoding-Types.htmlGHC-IO-Encoding-UTF16.htmlGHC-IO-Encoding-UTF32.htmlGHC-IO-Encoding-UTF8.htmlGHC-IO-Encoding.htmlGHC-IO-Exception.htmlGHC-IO-FD.htmlGHC-IO-Handle-FD.htmlGHC-IO-Handle-Internals.htmlGHC-IO-Handle-Lock.htmlGHC-IO-Handle-Text.htmlGHC-IO-Handle-Types.htmlGHC-IO-Handle.htmlGHC-IO-IOMode.htmlGHC-IO-Unsafe.htmlGHC-IO.htmlGHC-IOArray.htmlGHC-IORef.htmlGHC-Int.htmlGHC-Ix.htmlGHC-List.htmlGHC-MVar.htmlGHC-Maybe.htmlGHC-Natural.htmlGHC-Num.htmlGHC-OldList.htmlGHC-OverloadedLabels.htmlGHC-Pack.htmlGHC-Profiling.htmlGHC-Ptr.htmlGHC-RTS-Flags.htmlGHC-Read.htmlGHC-Real.htmlGHC-Records.htmlGHC-ResponseFile.htmlGHC-ST.htmlGHC-STRef.htmlGHC-Show.htmlGHC-Stable.htmlGHC-StableName.htmlGHC-Stack-CCS.htmlGHC-Stack-Types.htmlGHC-Stack.htmlGHC-StaticPtr.htmlGHC-Stats.htmlGHC-Storable.htmlGHC-TopHandler.htmlGHC-TypeLits.htmlGHC-TypeNats.htmlGHC-Unicode.htmlGHC-Weak.htmlGHC-Word.htmlNumeric-Natural.htmlNumeric.htmlPrelude.htmlSystem-CPUTime.htmlSystem-Console-GetOpt.htmlSystem-Environment-Blank.htmlSystem-Environment.htmlSystem-Exit.htmlSystem-IO-Error.htmlSystem-IO-Unsafe.htmlSystem-IO.htmlSystem-Info.htmlSystem-Mem-StableName.htmlSystem-Mem-Weak.htmlSystem-Mem.htmlSystem-Posix-Internals.htmlSystem-Posix-Types.htmlSystem-Timeout.htmlText-ParserCombinators-ReadP.htmlText-ParserCombinators-ReadPrec.htmlText-Printf.htmlText-Read-Lex.htmlText-Read.htmlText-Show-Functions.htmlText-Show.htmlType-Reflection-Unsafe.htmlType-Reflection.htmlUnsafe-Coerce.htmlbase.haddockbase.txtdoc-index-124.htmldoc-index-126.htmldoc-index-33.htmldoc-index-36.htmldoc-index-37.htmldoc-index-38.htmldoc-index-42.htmldoc-index-43.htmldoc-index-45.htmldoc-index-46.htmldoc-index-47.htmldoc-index-58.htmldoc-index-60.htmldoc-index-61.htmldoc-index-62.htmldoc-index-92.htmldoc-index-94.htmldoc-index-A.htmldoc-index-All.htmldoc-index-B.htmldoc-index-C.htmldoc-index-D.htmldoc-index-E.htmldoc-index-F.htmldoc-index-G.htmldoc-index-H.htmldoc-index-I.htmldoc-index-J.htmldoc-index-K.htmldoc-index-L.htmldoc-index-M.htmldoc-index-N.htmldoc-index-O.htmldoc-index-P.htmldoc-index-Q.htmldoc-index-R.htmldoc-index-S.htmldoc-index-T.htmldoc-index-U.htmldoc-index-V.htmldoc-index-W.htmldoc-index-X.htmldoc-index-Y.htmldoc-index-Z.htmldoc-index.htmldoc-index.jsonhaddock-bundle.min.jsindex.htmllinuwial.cssmeta.jsonquick-jump.cssquick-jump.min.jssynopsis.pngghc-prim-0.6.1GHC-CString.htmlGHC-Classes.htmlGHC-Debug.htmlGHC-IntWord64.htmlGHC-Magic.htmlGHC-Prim-Ext.htmlGHC-Prim.htmlGHC-PrimopWrappers.htmlGHC-Tuple.htmlGHC-Types.htmldoc-index-124.htmldoc-index-126.htmldoc-index-38.htmldoc-index-42.htmldoc-index-43.htmldoc-index-45.htmldoc-index-47.htmldoc-index-60.htmldoc-index-61.htmldoc-index-62.htmldoc-index-A.htmldoc-index-All.htmldoc-index-B.htmldoc-index-C.htmldoc-index-D.htmldoc-index-E.htmldoc-index-F.htmldoc-index-G.htmldoc-index-I.htmldoc-index-K.htmldoc-index-L.htmldoc-index-M.htmldoc-index-N.htmldoc-index-O.htmldoc-index-P.htmldoc-index-Q.htmldoc-index-R.htmldoc-index-S.htmldoc-index-T.htmldoc-index-U.htmldoc-index-V.htmldoc-index-W.htmldoc-index-X.htmldoc-index-Y.htmldoc-index.htmldoc-index.jsonghc-prim.haddockghc-prim.txthaddock-bundle.min.jsindex.htmllinuwial.cssmeta.jsonquick-jump.cssquick-jump.min.jssynopsis.pnginteger-gmp-1.0.3.0GHC-Integer-GMP-Internals.htmlGHC-Integer-Logarithms-Internals.htmlGHC-Integer-Logarithms.htmlGHC-Integer.htmldoc-index.htmldoc-index.jsonhaddock-bundle.min.jsindex.htmlinteger-gmp.haddockinteger-gmp.txtlinuwial.cssmeta.jsonquick-jump.cssquick-jump.min.jssynopsis.png/usr/lib64/ghc-8.10.7/base-4.14.3.0//usr/lib64/ghc-8.10.7/base-4.14.3.0/Control//usr/lib64/ghc-8.10.7/base-4.14.3.0/Control/Concurrent//usr/lib64/ghc-8.10.7/base-4.14.3.0/Control/Exception//usr/lib64/ghc-8.10.7/base-4.14.3.0/Control/Monad//usr/lib64/ghc-8.10.7/base-4.14.3.0/Control/Monad/IO//usr/lib64/ghc-8.10.7/base-4.14.3.0/Control/Monad/ST//usr/lib64/ghc-8.10.7/base-4.14.3.0/Control/Monad/ST/Lazy//usr/lib64/ghc-8.10.7/base-4.14.3.0/Data//usr/lib64/ghc-8.10.7/base-4.14.3.0/Data/Functor//usr/lib64/ghc-8.10.7/base-4.14.3.0/Data/List//usr/lib64/ghc-8.10.7/base-4.14.3.0/Data/STRef//usr/lib64/ghc-8.10.7/base-4.14.3.0/Data/Semigroup//usr/lib64/ghc-8.10.7/base-4.14.3.0/Data/Type//usr/lib64/ghc-8.10.7/base-4.14.3.0/Data/Typeable//usr/lib64/ghc-8.10.7/base-4.14.3.0/Debug//usr/lib64/ghc-8.10.7/base-4.14.3.0/Foreign//usr/lib64/ghc-8.10.7/base-4.14.3.0/Foreign/C//usr/lib64/ghc-8.10.7/base-4.14.3.0/Foreign/ForeignPtr//usr/lib64/ghc-8.10.7/base-4.14.3.0/Foreign/Marshal//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/Conc//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/Event//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/Exception//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/ExecutionStack//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/Fingerprint//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/Float//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/GHCi//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/IO//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/IO/Encoding//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/IO/Handle//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/IO/Handle/Lock//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/RTS//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/Stack//usr/lib64/ghc-8.10.7/base-4.14.3.0/GHC/StaticPtr//usr/lib64/ghc-8.10.7/base-4.14.3.0/Numeric//usr/lib64/ghc-8.10.7/base-4.14.3.0/System//usr/lib64/ghc-8.10.7/base-4.14.3.0/System/CPUTime//usr/lib64/ghc-8.10.7/base-4.14.3.0/System/CPUTime/Posix//usr/lib64/ghc-8.10.7/base-4.14.3.0/System/Console//usr/lib64/ghc-8.10.7/base-4.14.3.0/System/Environment//usr/lib64/ghc-8.10.7/base-4.14.3.0/System/IO//usr/lib64/ghc-8.10.7/base-4.14.3.0/System/Mem//usr/lib64/ghc-8.10.7/base-4.14.3.0/System/Posix//usr/lib64/ghc-8.10.7/base-4.14.3.0/Text//usr/lib64/ghc-8.10.7/base-4.14.3.0/Text/ParserCombinators//usr/lib64/ghc-8.10.7/base-4.14.3.0/Text/Read//usr/lib64/ghc-8.10.7/base-4.14.3.0/Text/Show//usr/lib64/ghc-8.10.7/base-4.14.3.0/Type//usr/lib64/ghc-8.10.7/base-4.14.3.0/Type/Reflection//usr/lib64/ghc-8.10.7/base-4.14.3.0/Unsafe//usr/lib64/ghc-8.10.7/base-4.14.3.0/include//usr/lib64/ghc-8.10.7/ghc-prim-0.6.1//usr/lib64/ghc-8.10.7/ghc-prim-0.6.1/GHC//usr/lib64/ghc-8.10.7/ghc-prim-0.6.1/GHC/Prim//usr/lib64/ghc-8.10.7//usr/lib64/ghc-8.10.7/include//usr/lib64/ghc-8.10.7/include/rts//usr/lib64/ghc-8.10.7/include/rts/prof//usr/lib64/ghc-8.10.7/include/rts/storage//usr/lib64/ghc-8.10.7/include/stg//usr/lib64/ghc-8.10.7/integer-gmp-1.0.3.0//usr/lib64/ghc-8.10.7/integer-gmp-1.0.3.0/GHC//usr/lib64/ghc-8.10.7/integer-gmp-1.0.3.0/GHC/Integer//usr/lib64/ghc-8.10.7/integer-gmp-1.0.3.0/GHC/Integer/GMP//usr/lib64/ghc-8.10.7/integer-gmp-1.0.3.0/GHC/Integer/Logarithms//usr/lib64/ghc-8.10.7/integer-gmp-1.0.3.0/include//usr/lib64/ghc-8.10.7/package.conf.d//usr/lib64/ghc-8.10.7//usr/lib64/ghc-8.10.7/rts//usr/share/doc/ghc-8.10.7/html/libraries//usr/share/doc/ghc-8.10.7/html/libraries/base-4.14.3.0//usr/share/doc/ghc-8.10.7/html/libraries/ghc-prim-0.6.1//usr/share/doc/ghc-8.10.7/html/libraries/integer-gmp-1.0.3.0/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:29433/SUSE_SLE-15-SP5_Update/e1f5fca9735dfc7fd9c5836ec7b2940a-ghc.SUSE_SLE-15-SP5_Updatedrpmxz5aarch64-suse-linux      directoryELF 64-bit LSB relocatable, ARM aarch64, version 1 (SYSV), not strippedASCII textC source, ASCII textcurrent ar archiveHTML document, ASCII text, with very long linesHTML document, ASCII text, with very long lines, with no line terminatorsUTF-8 Unicode text, with very long linesUTF-8 Unicode textASCII text, with no line terminatorsPNG image data, 128 x 104, 8-bit/color RGBA, non-interlacedPRRPPRyj1/ę;F(utf-8bbe00a5a61ff29e5ecf010c34b21842172cd0df86d683d9a4aae4f36103119d7?7zXZ !t/.]"k%!:r ,HG S1=.I' ppˍ~E ֞KM(ez{+?BY(5\ r7 p$=Iqzdc8z5e\a"η,2O q磵%>}{+f49PbXT3[M :1@D [+8=vK,ߖOڐZn@r ds:$}|NA );o`}5L ^-qiƺ<:ӯ1||stB8k?6yҩDPK|x/l@ @̡*څ<H8Zyp&?稊OJswO[lS['PtݖgԱnaå^ sޟQ˷*t{] 37i4RO̩aL0!r|R L_G[ڴ1&HGSr>uTMEsnWUF=Ͷ,!5_H[%idC$kk?,Xd ,aRbe"= 78 rhV:;hP ^L d&pazzTǀCw҇Qͮ JSU|g!;h4wv(fK-s _8`2sֈ'!z ;\K³އO/Z ٓ\|[V+ ޞSM[DЦ$!#L=s&$>Q\$~s.iDJ8_‰3 ]>U6F#2FcB<N^H#O(lEfl v2IætEhȿМ[Rj`.7 ˑo90tZ~8ċʂ}(Q9 $ sa`G5=4X/=j)T}A:8tޕ2$1I|[ьܲB( 4J͜D%sh܎sN-O;'tR1L9)fr <(g:K5nK.FK3D:@p#*# ép<۷(sұoX]trx;^Ɯ$ o nbBX6ZA~+FiUR~~G\m^Π09&ϱKulR,~Z{wLX90F(ݥPaBKt}w'C,SZLin+ڔYt,"&^k0_3qFeQ\Y_L7=_u$Hy.PBg[;r7!u#|R xe/ǦBv[[k_ gs>A{.g?d?U1,[8&n\ q@,:FKMYղ9PGߞ!j 6O*sf[@TsHw~s=o5P)v6i!-=:}u5z-Fު{}qz *µvaMUb;i;;б(4o|1{N [3pgyS)>vo*;nCvi>6H~VzdH/Ӽ2w]Ժ(yzŅ$ jSS(a'8eI(2ƠJ(\˹rvZ_Nkbp7!n 9ZWXzzS!"]J;|.yg-2B[QsdW%̺c۪7{5GB6̰%ˌLɛ-Tϳ C"; %6>L,QKf tpqzi*Mln3gyj˲/!՝8M:Pfdte{0&B-zet&(97,+`u1F 6DnW" &A+t'7znHv?8[T[Fԍt+6un#MM0 .<=ҷ4Uǻlb/N0%VFcˆ8: 1q6Df鶒m17ZM"K}1v0A[0iDI]cObӶID{bz%kׅo9SV Ruge_nN8E~z* = V*_c;C71dgzb.Z-u=dV_!/SAëAyaK] }%)DӖ!J<6^"/T&g2_72kk=.M %zlc !{/` &rڢn+RZb" Z" 6}q8aUYPn l"t3ȁn%M)E.57nP-ߧ_-jy/V QFk-6Xԩap}oS& gH/4]hүԓe|۩)Hr6nc;5sM[m>%5H}oSzl@+&kt%quW;eSܼaq$F*Ѽ< mwEF{UcOaDd c15"zmA\5Tp~R~iT1lU&rV0ًLUV2Zyrgn0J o/v밼%~`0V<QZԆox^ q/ ̢'iO:L^cd?=cF kSg@C|e XsWږ =$c ohw-kXuEvڸ-ڨ2d|o}V8 ݍ `j?䤹%4`^fGhgh?fOFA,u-+,c" ;mPď?g93>lTIhehP,.2,];:)˹]N,*m"c ޡ%Rqm@|/"GH,#g*wSn1m@50~- *\4/k8)j(x(L)'R6.#;NL)9U^x7`F}Lրu$6/(, p 2+{V⬹k@d`l6=I߾pk&Pk2)*tU׈fv >D',:,c mF㩢KĵHѡ2tGz!RQ#KYBxݺOhiژA&v~ W#bgX7d-]V];D93I_{x >ʳHr2oY d 8ZZzYen ]a4 6[_yQmRػ][β=zD7 ߋ} >̑Xd&HT HeBދN.'qe*:1*K7N[tlfU5v3*ڄq?+P=A[JivaIOI&& |>98kvE+Jr[!x Z\_< Evao B{Km|\^Mлvz͸p#V~].c#DL}Q3T`xIe\ '!=/%,΁ƞ"%d<@jL$)gtN.6{-̻UKSFU)ޮtY$zIw#}7kh5@G(#ԡI7>0 NҕZm̻U8ʼV "7M >B|aFᨃPp\:W!yF2:[2c~&QE;wjPWig[GC5]6ASʪt`W%q`֌w3t J\ .㦩{o+@l5z,*ڱRqĕ""_߭fQ-/@Cc R…d}QRE)g`X6dW(. K=#r"Q뺾$ӚH-TZW5- 0~ O =|ԮDzh{iݩ1uS';E5Ϸ­=Y1cSQN܉j;,QNOF<2wL/yҎH7㪎;O2oq6JjJ/N5dҗ->-$?a-:Kfv9z"_ d-SQ{VTP.;s |ͼ4t;Am,݄@ *4{p