python-devel-2.7.18-150000.111.1<>,ip9|'0|#}6+7%1co/fEx io pgwEݵS $dQHSgC727j~b˚8?Ӏ .Oy4>e۵B^a[IЎFi#zȈX:k MkU/ ooУ y0|JrUDDq+_[h=轩jpKk>Sq:M%'xx\T-ou<>>X?Xd # e ,DJT , 9 U ^ 7Z:|}t(89:FGH2IN\XUPYUp\U]q^`b}c&defluv*w x&yBTzXpXXXXCpython-devel2.7.18150000.111.1Include Files and Libraries Mandatory for Building Python ModulesThe Python programming language's interpreter can be extended with dynamically loaded extensions and can be embedded in other programs. This package contains header files, a static library, and development tools for building Python modules, extending the Python interpreter or embedding Python in applications.ih02-armsrv1`SUSE Linux Enterprise 15SUSE LLC Python-2.0https://www.suse.com/Development/Languages/Pythonhttps://www.python.org/linuxaarch64 RyK  r7)= y Rw-N ~ {} j C  a7# *-E!\ !h..  U^a{  &p) V@/||7, 434:NNhngpgdm&++Ary!w. . R4 ZxFJg`DYSFd3ZFx$2>+esY F!+G`iHwsblqt{ 9!J^'.0-,DvpO-`(=sJngs5C13].COWpiCg~qqxu|;@uKx>L.0-,\|!M rviVwPE\=JM.lx<oi`(b}>dB4=J:u`<s`%zq$gia-y?J%, "-U>z__F?  q qTu b)   .D$$BDItItAMMZDuu>--9<<;1 yy>>]]NSS]D|zHH~   )R7vLL fz" 6!p!p))b/T# 2A!M!MN44 % %.7,,N4A4A   9EEii 9 9mʦ 1 1e6^^&0J0J[vv MNN55($$&h!!1,,)339> > 7{88.44  ATATˆˆN7PP NNpmo7o7EFtFt3 x xLQVQVMBMM .W/c/cpHpHMM _ _ww>rrZZ# L L,,>6 + +,>>"  P `ieie +22qp SS Q$:Q:Q,*e*e,Y <*{*{ X X,ttPTT>AA L@!@!&y88f?ssF E/4^4^`  99'%%,4*4*s g 7'Zff( S//Q:!5%y%y40 55hh4&\..p:_:_gEEpYee!F##`+,?+l~("\!.J00BNN99ff ?44 w w_iChW,,wP1;;]33AAOO@&XRR ''Ƃf+x+O+O=\ddJ!! !2!2??fd 43300JM/L9{TnTnC<<<< L Ln,yy22l||5KW(( ** = aFYbX V V '''NCC1N-P|P|#l t9GG&N1E1Eu1c1I1I&n]]G of8RR k S e eLmYY*#B0707> mm |jj/R)QQ>E,E, o)rHrH1[77+.. b!!dVU < < +D11Tkk|!5FF}}@@t ;<CC %IIUmm//4u@a@a\c>dLdL-33"&& H#W## B__cQ%$$ A +,_0h0h$$A+@m@-ib4b4UGGfhh_!T!T..-% K\\ FF_hhi{]{].( ( <df%f%a\ v M Mroo1=<=<JJ$&&,??^'?'?D,@@88<cWcWu ! !s JQQmdd=pH;H;zzH%%j}}LDDES@H@H/rrMSjSj2=%F%F2 8w8wLL$11 0 GIIoϊϊ9@]]]bbHTMTM vv"q"qrbiiN=HJJ@/FFdUU#'' YY %% 4++. ::BBi||n#mm4R88.(66%((`[[ 1!@M@M ^vvte0dJ((C  HQ?? 1L00UU - -'m8$}cggj0''&((JJ0.X.Xf SSG[hh&y  =(LQLQQ`=G=GMxxg1S`` / ss; U!!d::BNCQCQ*bCur4r4LE ( ee zlkvA큤큤A큤A큤큤A큤A큤큤A큤A큤A큤큤큤큤A큤A큤A큤A큤iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiq@iiiq@iiiq@iiiiiiiiiiiiiiiiiiiq@iiiq@iiiiiiiiiiiiiiiiq@iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiq@iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiq@iiiq@iiiiiiiq@iiiiq@iiiiiiiiiiiiiiiiiq@iiiq@iiiq@iiiiiiiiq@iiiq@iiiq@iiiq@iiiiq@iiiq@iiiiiiq@iiiq@iiiq@iiiiq@iiiq@iiiq@iiiq@iiiq@iiiiiiq@iiiiq@iiiq@iiiq@iiiiq@iiiq@iiiq@iiiq@iiiiq@iiiiq@iiiiiiq@iiiq@iiiq@iiiiq@iiiiq@iiiq@iiiq@iiiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiiq@iiiq@iiiq@iiiq@iiiq@iiiiq@iiiiiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiq@iiiiiiiq@iiiq@iiiq@iiiiiq@iiiq@iiiq@iiiq@iiiiiiiiiq@iii9164f631e6197e0b1ca25412ff41ba9d3afc4f44666f629390f0aabf3bdb5bd8079a16d5352e49c31cf6bb7a84b5a9204ff4b4028b6d359728d20bc4118d85e4832bc95ff40f396e7eacad29214ba29b6ae16052d998d26ad93a310efd08b11dd9d4d5516cf2afc0cc662d81dfc86a1000f57965e7283f53c9aed526471f269caa0552827e26ef59252085411b8c651e70cf6262ecb0501eb6561fc7fd00d04bf75dba02c80c2d26b3f10fee55df921de8f5ca0c62257b834c325fa840136150afbbf716c0d6d777ae4c4e30121b1cdb00c5f09f478bd815d45d87654ed232e8efdceb3795bbce2c3ececf01a8346146979b9d5fa19179bbe789bb7c2c85bed4c6acae380c0dd9ec59b149e5fb70bb6d83c133de3f3c33054d81196fc2bb618c46e6fb15817a52fc88555fda2de52df3b6d8a9f80da5d06e90d25fba8f5d8397d058fcf2994c3953589e112ba79524721ffe877b5e25bebee5367b04d071e64e7c53b55d0de55d67b42c5da4e12d6acf25196d8f480ff02c218c0764a3bdbb224f7c321a8603dcfcc36d68f2eb2d55b41d4ccec1097af5cf7c8a9bbe44f2c489c61c2545764d5aedbe18fe7dd84433ed0a3d9fa175a0cd7ebbe50b8a3026a9f8f66d6ff51633d8c3f9856cdb89c19419e61c5af975bd266748f0f90ffb6d66198accbe40cc6fba72954e610e9d328e2130ff9a312557f02bd02f58cfe89e9f19a7970e9a70902fb114af72e3da488a20ba4706ab0c03def86b41e4cba98023fb096750b39f403fe4db8822e002ccfd334b73bc33e3e9fb605b8642465c963543d8778994fc4d386a8e5a816e8edea8408356fa2aac52e57eb6b8bc3833a2cd27e77f11ef143b3ed720f5f88ab8689ba48798dc245207177b8b395ab4531e57a060a356ba5cbdaa119602f2169ec515275b28c7ac458478d9909dbec81e08a2cecacc47dda4576a2638072d6d8ef013bb82436570c81044eca7a45e16fef71e625c4575c44abcf6eb4ed592960b658d4e300c91c1c3113122ef4e9dd7e35b913e76e498087a200036f3558fb6360a1b0b69de9829a2289d80d6f4fa4261048b51293f598a54f0a475486de47ce7c313265a340fec53ef21de6aed96e77134a7a32244fe250db9995068fe74dce0e23fd70c12b03fd94751d98b773be8f64896b6ace0878969b499bcd9e3d243fd927cac1f3b88d18e37c28c1ac2e3fab0b96748c99ba6d1374f1e6ab20e461b26bf312a432a723941a6efd284f29713bd9bc353ce5e977daec97dfda37807b5a99f9016851a0c9f9360745e155f3b0a01447ed2965006db15ba8f238fce86f36ced022402f8c64f3db919549b29e0eb68993a8eb3a72b1d670f723d1292de3ed8ae06d3f424263fc9c86c44cc6dc72914fe42fd9939c8a4f50d12f0e6d7c544b83c25a5be14681e2479d13e2de9ff15c79280d45ff424362a48bd0f384adb9d6ac4f691422a0b42395c80a8a65f90ffb2e67f50e70f1e459596b02bb508feee4a880f4529a335e8d531051fe632a906cd548325116e6e35bb0575d58ae6392ee9f48c56ee48f90b0ea6be4f69ef4803d137e9a46b0e64f1c41a95e83bade0823678e9caeacd7c25f6f0681760f8adeaf6ddaa94f5f80822bbfd373ba6b5206780818c69037387dd2c3ea20dfb6689a7d3624e6124b1387307edb48ac3268a5c5d62fcdbd46e602034e8bfc15f5f4e26bc9891a18557cbbd13244987d352eefb59ccf5538573850b86b43767c4b21b5702dc62704fc440dc60158190855b27ab9a39cb3dc6238191045c86dd9cfa6d6509b34a98ec1301f9ac2d2c596352ac4cd533cb9893b62bb45f0757747050229c75eb03953283421f45fc335d3f9714fb5493d633e5d5360faecaec8a00a46580523cafe4316ce8d2706be2e15d07a6effca444ae52992dd07a8f2f4fdb82dbb4a49ec5a1095d441554746f55cefa572baae235f7329521526a71210c2b382c3b2fd536d232ecdf966c2744d6ce8ac2b891662b88339a99324e8dd105f7b3076830dfe7c8b43b0829933145595bf5b72d6db4f7a9de7f2ff5c7c86bc8fad901e16282b7b9d9ccd744d09e6f87eb08e00074094623685fcd5c77a0285a09874cd52b8d5bf58a4fe818280a686bc33f0f966a9df022f2d6133438ea020f5a59fa84a50d16e0eae870890522792b32e6631ba88049b83c93f881460155b59696714f183d4a89df26c18419b66c9ff14f230feccedfddcfcc1688c741bed1f3469989ec6784b74a1ad9b68e3bac2f928366a10f724237359e13dd97f7fe13f54e7ce184ffd3f92ba3d20bac6bf09bcefdbfd5fcc5bb175b599c634e0ac46c468d6d9a0b7279f39e72df40058774707f516bc712d2a2f436300e48a3154436fc67e472d0118a9f15816d2f8ab36bc2eaa9238da03bc0b217b5b921e9a59a321de9db393b4ce6a3af6d436e9fbe0f47b565da2a566f7be0888030440ee6af13fc539ac6dcc1b0478f555eb83d0419232cbcb738a3f856433040833a798174007cf5e3a81b46901a3c9281d3654043f84937eb974a5c9c520c7af403cb2147e663ce1ae5455683214bd2dc2a3d941502521f9bb3344682bbf8ad96b6a23cef405ce993e0863af605b8034c1c4f351ea44a47ae0197624a436f2d388d4b4f7b9f601b7140f8e17a3d643821931c41f74390b46a38f7ef37ee96b860cebe7ec943f6c5fcb87a18ed4080f147e3436a246f27507f4fe7d2ef94107227bec20ba67cfd893766e3efce537d2b11a5f87d76d19c4c70fa0d98945cfa8208a32ac267f80cdf296a3a573794feaaa83f012c48ba55783e5b0eee00eadfcc744aec046a363c054fe076aa2d53e662220bd7801ae74cbf306f971ebaeaa1b650dd6e05db575ad37f77dfddb8da9b52ad06966c916e8d2a777e3da039dc88c7af462106f3b4645fd848c93c4b57a3c70c7dc20d56250e8b73d7eafcb0d330099586f670b047e6bacc519dac61f706a284cd2ccccbac21c5aa2ce5ea1d05d04a4b5e5038e5d55c7fab260ab30e2c805275511e17eb590515dcaf02b38d38517b876101e4856f19263029cdfffa9e6a9773914c32e8319ccef143add699897e341aa5a57e52aff07bb07ce14fb817acc3b4e15a8f50286dac56c09392cc79f6d8a61178a90e5d40dbd378cf59bfb08350750d00d957b8ece608e6f7e268ff1796adcc87cc8cac058c014e20bb965634d0a30acd73617034f43c9327c59c58b9e7cb15d7652184ae7c5d08351bfefc3e750424d684b35a8b6e8bfecefee5030625a3dde2199ec8b94df6ec8812fbe69fa07ce7173e3ede8fc85a696ab871c55be78edfe69d4af6cfaac649352e14779d0828ab86d785ef90d3b633528c835ee1b3575ab3e55f5eb135c21697ce24e6160776c2e4f0a2e73ba749c2312d841cb7fbaeea7028671f79871d2efa3a0f052aca097b8389789451e82f944b365f6003c632e4fbf36b43800e315df6ace4ff5385fe6bdc799c025e911423cf1575628ef3fe60a51e624075e285a304afe3874afe019ad765f4310a503ff1789d244b4329572cf4dc3b6e68ff99cd5fa9d1a6ff7f4fe2ba17c080f32057148950372f50493abfc44c833cf14d885ff896d1c9024da3927cc64dc55fd7d1e2bc9bd2197777d61a9dbc99877c7859793e7298e2a7e418b0285c945bca29dbfbd30a4de6316f6a914a53318ab3a8d79697e396b51d2b9a3b87fafdb540298792a70676b340572ee217a6342c290f866ad094e1675627f5fe3db5d16bc3bbb0a9c0207bc039f104ec253c2e617999558f1f6376a723e5f4ed99a7360fa3491cd34498243a3c2c8c3c5ae8926303d2964d613da828b70119f8a13c1086902af921176e53c13e6ae972342fcae5cb832f09e0879619149a6bf816b1d896aaccb428fa8c3c6f41c9a43cc016f6b213d55888724295e14287a18f17675487a236a6ad31c63f9f68d67621acdf620491901dfe75581335b7eab6cb86589bd5cafdd5305928029be2f5944205e146d677e536aa546a2f1df8eb01e07e5710990dd563115cac98a5fc226fb9e785057c0cb174480da404c6748dc55a5dce8066504e8f4da01c16710f613d745a30aee769ecf2b8b6a9f066afed2a2b7aa7013987f6c19c5aa9d2cdc9a8e7fa24a36ee598eacee3bc6644e72061e777a1a2625198f9cf3d8607562353d0f9e0eb51119865df720ac14da9da3bcf03accfa87074c718d9fa9e59cbeb1732cc4d8342eddabef3f65d4ac6934067581a07b63bc214e02c15d54e53641c0fa83e4566b034b552f3e4a4850700a8a1e005ca0559f656c18042dc9f55f25d1da12c0547b1eeb672d500c5d52af83dd29e734b34f3f8cb4a8c2b9305b6e7f378214ecd13928f2671db2c7ee0f7b3786effca799678793f130051934877b77f4e61ca84ff13772f6de1960c4140fbe3c6f61acc5a4d22aed2083accd2cecd8cbe42184dcb4553b5a460ceb79a210f3f92adf3cf516747616fbe142306be804c8a7a6da49b85e0e1763d0aa4465f9fb686c8f71df59b0a9380bcd71d827b23494a0f676ef416255b3060a25ecd4454d74e9e367511ade697514e99033ea48b53efb6fc3fcbaf8f067b2098098ac628ea8109a7a5dac3f7d92e8570f835b1c4c9352782916ab472caf6542362411471661933965d3f03aa674c8ada3b5d73a2287d71e35bd8e4fa6d732724ba951dd27a836cdb388117cf81e78d9fa2a141cca1b14b0179733322e710067749a1b16fe961b134dcbff3a385b2ddd4b122e940d566dcbe108e1ed25d7941f77ed86b296361b134dcbff3a385b2ddd4b122e940d566dcbe108e1ed25d7941f77ed86b296310f248762518a3b1c63c43978fbfc1f51c336e67aa329f78771efc76db5179d3eddeb264d0eb5b983580ce26076a2b8b63cb0e63d238830e58405bf20a76f045eddeb264d0eb5b983580ce26076a2b8b63cb0e63d238830e58405bf20a76f04540f66249a4468201ebda3631ecd5b442b7902ee4c3b67e003b892111e6e137013b7bfc676ecae87b8744427bb85c93fd992a01019a57fe08d48af34b133c99673b7bfc676ecae87b8744427bb85c93fd992a01019a57fe08d48af34b133c9967f997d2f35944c0a54d14a0e5fad66623bc695163e4f157433cde66cf0f5b68514559920a8cb9ea62be33023d6dd183bea88bc20bad1b4caeb196decb9e5fb6e6cc925dc8ed7705c2bd444542091169073445d907f5cade9579da83e8d2568ad80c7b9ee51db4a46087da7530ade979f38e5de7a2e068b5a58cc9cc543aa8e394663c223c95e77edf64bf88b2fb3f9ab385866187630a4914c7c17ed7221c9f82802304af89c305a0d5feb8bf6ba9c7b3abfb6d5e620ba6d4f4d69277ef315e226b03ea1d93a88bf105909313e5661b5f35c281bece7485a9b997a621cd59f9ac2a4dc7a2a75969654a60ae333bdda0b53be979e0db035daa9780f202d9faea3dac87068283e5d1d92cfe4dfb2cc50d5ea5341d5ac0efadfa47db48595daafcfc93e79b29fca6d56488393712285db29e7e5a75c693f9be4008cde600b2b81700b5e6b23aea484f7a4312bf613b75417b78419056d4c9918b3a2cf6b5a616f6e75b7af05fa928568dc9dbf39845da83a48720e019214a0f250aa5e8de0ebec4bb64b1c3671c38f4657ff67b9508572bfc5aed3d0537d4428fa5607a5fda208e87975103191246d69aac4eb605cf6d84969b2054bee95dcccbe7824a99ae26e6fabb24009573f88b990c922fdc65adddec1312e30373dc635c6099912d4f836a4148c5caaada3258af45ae5e4220a749446170c0070dc4afe1ab2f1591be3b0acc853559c8d7c4afe2ff56966a639a36cdd4cdd2ad25c8b73620a2971690fe6eae853559c8d7c4afe2ff56966a639a36cdd4cdd2ad25c8b73620a2971690fe6eaed911b8fc82512a3c2d12b02283c0ae43f860dbcb140f3fe2ddfc7dfb7ce879858e8a14e999d4f10645b5380027ddb0217bbde8001e83f8e6724b4c3fef058abf8e8a14e999d4f10645b5380027ddb0217bbde8001e83f8e6724b4c3fef058abfffd93515dbe0bc61779aafb3cdf11e4c32d229e120139bfc38d3ea54b95a76e3cde5d3d019815d34906857c0c3aedc4ac4b0f1db18550078ce23b0e3517d8d520971b2d6f31c34618463d87b78f534264da0ed412f97d93523e328e2a0183213262a107916641c7f211ac5898c0177535cd0bdc5aa872cc6e883842694d8f52181a04af69c7f806ec39ab2cac5f0fa7fa8beb6802601105355fb3e606151405d516bb5b3c534faf4aa1d74eca204ede64060e98ac77adcb79d02c0ad50007c23db1c6b7c24ecb33eab8cdf14ce4ad5c0dd0ea56caef49af1399c7508897a4ec7a1d7eaeefd2e2a7b3f0814d36dac96b5208a278703ef1e1af4cbd41013dd5ead1dd371ec51b0bf2da49c5796c219238b6aa1ddef5631608c61518647cfc7b6fe56409312c0fdefb1f77dc7ee86bd131c5eb7a2b4a9885812b52828f7ecc485adc5494f05c6c6abe14547114bbccaf7c310c619101a6941b0c98db62e792ff780ad70f2947bc37792b02224b7658a62325b7e2517a01caf6085b95a6a760e0a28f12fbf6a8f91d2288f9fb0114b773bdd8cdcc93d1f50bc77c07e0f4158dd9f9bd495a1ef4858937cf0a4c46425ea0130ddb0d2ca7aa9988c048a98e11b6a1c1fff6ae2a183b6885f699eae23d8ed7259f03e76beb5ce3fea33d9223b7c9d125dff6ae2a183b6885f699eae23d8ed7259f03e76beb5ce3fea33d9223b7c9d125d8e147db754b00881a5ea8ea82eb944ce096ed6fc7345f5967a223490133c99a82d0a2fc18aec63afcc8b579b23ade273a2394b9875c35367690b6a293dcd7e6dc0e0773a79dceb622ef6410577c19c1e177fb2eb9c623a49340de3c9f1de25602d0a2fc18aec63afcc8b579b23ade273a2394b9875c35367690b6a293dcd7e6dc0e0773a79dceb622ef6410577c19c1e177fb2eb9c623a49340de3c9f1de25608e147db754b00881a5ea8ea82eb944ce096ed6fc7345f5967a223490133c99a83879632e778cb56dfc6df5b9d2f60c5e39c264338f6647f11568837f9d62e535ddeb8941fead731519744d145d83ecdf82480f1bb9af49144f7d8fdd0ef807bcb4f0b58a20fd68347ccb827e7a62c688e3710572b97ff19ad48a07b186af2ec743c21b213b1fc167b642af992768ac2249680e57247ff539999d9060094342d7d00f4861f1eb15bace0e9f19d9975f52b2b2153e6dc7111717965332f337187220f803a24c94538a7f05049a0e848cc3d6c5617253f7e9b3d5381cba4c898bbd175e984c0c7bd073f037b0aaa6df4d8aadacb6f1b8898484a567b5e70f5a5837c9aef9d40b86c56d54db8d1c6b229322d74b3f761c31809dd8a76cb9d1a9800821cb011018b58c87f2c824e08085d24f9379244bcde6fbb6b46da2f6431540c7c27282fd2ae5688be2831fd6c76aaffb7a7577026de0fd2bb8d41326dacb2e7aa6bbfb8ecb911d13581f7713391f8c0ceea1edd41537fdb300bbb4d62dd72e9bba0998b7a6a1b2fc45f847dbea1d2f9dc889104832b0042b5ebe335e677efd30094a6a62abf390c3376e5ed6515082bbcd70c2a6cb335a9f0378a1222d08f7d25bc47b4bc6d60577ca938da25b3ae68271de889b383b4cfbac55d8e41d47639097d18ce1d42da357521f5af5803816d3c4bade38950f69cff512a236f763585be4de892443028c3f230ab37e0c658f5bd0246b07147005580c2904b733ecf4fc3624859618c952810487e41736753cf32f4570dc6248fda1091771f56019a3f96e4ceb607215ff447544cb0d785493e1e855852f874af7c67d8e8afe859f539547112543abe89682d8ccd47e7fedb25447a4c5133f8db313772ab6ed87729371b91e1c1c38b7150cbc174a2f0c06bd1d60a411222d09e21927254b7a861039481fe0a36192ef7643adb06b14979e006c17834874e7df605d915e549e3025e8ae832d96c16368e74f1615d025cc296472cff2507b0f0824959ef98f86fd677637a6bbfb8ecb911d13581f7713391f8c0ceea1edd41537fdb300bbb4d62dd72e9b4fd472cf3011f3f9d3b072eac5592b4c58c7895ed2c41763590258ee8551ef7a78099b6154509ce59732b68a909ef7dc465724f68b184383ce2400642e6501d508255f32eea017d306e286d9e6db090a05d26f0088719b122209819b6f73396d175e984c0c7bd073f037b0aaa6df4d8aadacb6f1b8898484a567b5e70f5a5837972de213c408d10c381f44fec786787844141c7590506e001452e8e25f262be8a6bbfb8ecb911d13581f7713391f8c0ceea1edd41537fdb300bbb4d62dd72e9b73cdabebfb92b4eaf6b8af8442953da1041fa8141a0513279b8df215879d424621cb011018b58c87f2c824e08085d24f9379244bcde6fbb6b46da2f6431540c70bee94ba2d980eac331c16af1f6ea7583260dad3e592e5a263209aab26c821a9f2d72976b66ff817e2ba8e287ec3d8b7b906f8ce86999e1d4b5a39e0360e08d0bf1921bd52ff4b26903332b54a08d54ceb53985ba8861b47d683bd0e08bb43becca326fd42ee7430736a093067b49499b0f3dfe9ac083fae917c431a480702b0cca326fd42ee7430736a093067b49499b0f3dfe9ac083fae917c431a480702b0069731c30b8e35c0e62e28fc43463f19f514afe86fa65bb1fad29574a3a3cb3b4d3e640fe915e6f5a91614823aa7ca22cd309bb267ad8221810f165aa2db4580c807ff5789d9236766419d5da5e6e2b07229a255f3bb5746169d3e1b00ddfc6addcc08bb707cbe715b44e5441d45e71758bb4d161e43cbcfd3959bd5396fd3df7ea4e03bc24630d2ce308498959d856506503097b8ff85294b741d38069b33097b0907453745ef5721d89c77fc1c48503474260b458f24127e1b3f0bfe11dbc30fbd0c5e6d4af56a44aeefe961bcf9b88f63deca8eedd20b9bd42c844cb6d78d72b4a13b865a333dcf9b94a3c88d25800227d5b0afecef97980b685f9d8504951c7fc4d444b9ec1a185e40af52cdc97e977fc49ae333b0edeb5701cf95137abac692bc9edd95ddb95eb276f7ac29d377c800604b42e8355bd0038ada34e2dbaea2c83c99f55ac75f9fbfe093b7a773b92b97afcedc1848b746eeb88b002f25563d89e98417c31c7f4324ecfa73869ad2bea9a1b054ef3b2141d72d211c30660e6f15c384c0cec9ae35bbe506a311ecaf9585d968aa9c8c0cfeaea0ee98ec0a02e5e0686c447f72bb899cd3029ae3c58dd9fc345b081dcb1c1d92f49ac56a4831cee50496acdf8ad1b3f391e0a4a1c67cd1c5094f2ffb557df36ded59e7bdf6bf661bcf31002feaf9f50f7b0af7055003a6c6af6ec63f15b6634050a8a5bef7c3a1a1b9814f201e36205b28d193be410d1e1d060c10eae4230d0e8fbcbbf9aa1dcc4a72257cf021435830acd2a8e13e486747eb89ee3a476d042f69a2624efd60c6072a99e1a24826a7735a87472a0870a32fb10b533eacf6b909d42466fa42b06d53a581e9ba0c68e451f754bb86356a54b9a254a05ed0ecb19311cf06ae14b9e2f8028ae57360453f4420aa9929309b5eb560385f9f1eedcb394acaa5ed456c88e00b2e5a3fe07c929e44dbacfe4ce4d307fc123a440236eeafa8a29e0f3b6eb432d733fea36a1ca38b050c0aed3fc8cf780206a198f2d6741951b70c419c4b6b66ed05e615f823a6cbd4633a5dce48aaa524448050785fdaf557d31bd376ea238cfefc431bebb1f99c17223a69420cf24f88ddf232a1a1f6648c5f3f1c51a42e0ac4f5126d44a09a1b1093ce50c1b353881ddd58ea77bdd0dd6e1b1ff86331cb97d361fe7ab33d459812b6c4ae6b8b73dfbf7d0e19ce924782df8bf7ce13d6977093e56073b06a482bc64ce9a1ae3764725af4dab446c785cf94eb726f8ec5292ac472f66d066fad9c92aff83f951b51fa9b732fb8b613004f4b69c703d1de7281e1de38c8ed0b130a0016f1a828a6362cbdb36f812463ca0fc73e052bfef9f8d822fa9ec724e24d662db842e9befa4742a3b6154f2620b16fea07ac63a044dfebbeef14582b843c4be9262f945b26a648f9ee05c760aedbb326540769cb421c84dbb36539ba8513d09712b1565d8cec5e3c256ea2ed82392cbcc585b05e8a9b3e3eaa38c0f38d6c228acffffaf4f9de94a3468a02ebda276ac8ead41e775382302887ece06584cbca85d26c544c702f526074dcbbecf370259c3410977c7973a73e836fead62939588d0f9f444221313744d6f8d6216bb985f380a907909b22bfc0922981385733f8b0d03f014bf4fe00c2f9245bede5f410f1ecde8028f13239aeeffe769931da3a5cf7836547671852fd882247caca75fa03f03fed70d93899331bae30756f0f4c6e1d3bafb4aff7926de35318985cb6baaed927137cdff0cfdae98b9c02bf166d5df5a402423d36e4f3c0f7b0bdcc2f5c22eaa4042a75e0a22a4966334afd394a7d21ded5956d79854f7739def6e0f7cdded4c4414cd477382c2f2ce4ed06219ecdc86064bcd75cfc348b7ce3bca88c68fc200e9f7e8cb3d94dc602a21c770294e592c1f475a861381808a1ef5da93f8c621a3dff792c2de8b9e2838c3b395d792593627bea153cc1cad6b312e26b7e3e3e903466c1967b5b0411ec142bd97c91173bafd1204f88197ac0e7a9a9b51548512ccf9e5f22faa54eaa4b6f7708c03edd8cd7aa1907258b85b7a5af40b632697562afbf4e78e74b4dd950002f5c00d57054ee442283801ecaa5358e379d2dad9e6dd99249b3d352fd1a1b5ecd92dab56a87164bcfb4021526c1774c4de1973704e73ca8c1152d7ba13b724d14e202bf862678ed77e8cb42d2a3174519275f386047ea2c4be6f076d3a2f7935563db48a25173c16f08ed51e4a06cf23778b1e76c815b0c74a147a32dbf085adcb2c98f8d0495374a644ec5963b5c9b014106bef3430cc242f6bac5fefbd51564b69dea624bbec1c898cd884f8c35282994970e51faab1ca26b21188f73bd2c8dd014962bd42dfde58ef043e29eb3661891697906f260e6c7829a6c1e3b60c23c0d8cb2a1402f1e764ce9964317325479fdd37e2633c8a6879a636b4c2fcff464cb73ead432b0c87b8a1a4657e242f6d8bb2398e9854cb8377b5b5d9b008e4cf93fff6fac16216025b67cec7bdc58a6d379fad8c1443d10da02840282ced7520a9c5fdbdc4a98164690e3fcd1acc6dfcb049d9a669ad4a70c6ad3254e8174e0d90c33b6f22cd3462e0691eae840d2a2b85d2e7446708b92f485e8d2b6170049da06c710b873ad6f79072f94b96800c71ad8a079695c72217b40d6d406efcf713faf7fb4d2faeaffd9eba44972d064efa0f9951c3fd2dc77f2c4a1d3de269327678d81f59ea754b48fac3f1e634d6df20db84e1bb844577868a457e2a6ae219d198b5ccfabfcb91761cda4e59d5656a8eff86f6fc1e466ece43055153bb303d3b9afbf682fd1f02023fbcde883442077b70877f1c4be22f2a4beff41d9a72d431cf3a03a4d7c8a31f38acd5cff3b88d510a18b16de234fe5f849d65b6955fd509de05d595b8e7b480db7b3f2207f0311743d656b85666518389a4274b3779a415b9248d1c95cbbe1741545301b2df8d6a91a81ae5026eee2a83b6e3deb022604a0b30f322da65619be2537ca2e314b652aa08dafd5cb79e04d5d6b8317016f5496179c181d3df1632d1fa8ea09ac68d3050502dc93dd17558ae1dcd938fa21de5be875c7246f8f83afcb0c1436d3b8f7633b7dcfe8bc7ef493cc69e4ea84685f78847047e6d5b2691ed4eb1b4f5ab7fbb714d82da6da542f2dbddce9f884aba2bcb07eb48d0145c07356976a193ce3033de7b5764264ec04c10f1aa0a9ef1ea3eb85f492bafab181f2030f0c9f699ab08f4f1d188d2d58317f463eabd81185a04297d8b00049972edd48ff3b58c4f55b786508c0c0e2fe3b70757b82c89cc1c972039f652991855a2a7418777c8764d98aa6e4ae6acd335f1440e38db9eca2a6dc67562abe68b2904e6872373858a1a112de99697d73bc5bf68f1b58545613263d354229c78ba1e112b5d363a9dd48f7f7937af770c9f3cacdc7757b71ff76e417eff3090f6982fe6f84ccd7231ab48393e17325fcfc818c43bc88779aca172a03563c67fd51040755080470270f3799045cf215b4818bab1ab24abeb5c400bbde16c77340aee4f4aadc04b14656129cbc18b3550737cfb595793f8b3ca1abb7c1486cf185596f26d29041ff27d58b3e8eb083ca8d97ddd16c9b0a6c90d2a5601e669e0da2e53b1b607db7b77bbcac959259eb5b08485fa0ae687caa7483986171b4e125df3e6cff12ab3a13e7c35c084df9ee9f8707fc71d2f09eaccd622b48ede9b2469f791a27f625fc885ab503d3081bf3ef7d2fb8b8dc78999dec76a18fa644e13e0caca97ac024afce7e9619d655d56e80fceb89cfac7ac6a0d2a7c7d2040ce97677c42003a2a238eaf430bf4bc7fd7d3ba98edb471aa80ff4f5be02b4bff14f86838f586f54ca1fca11897dd067307c4262764265a18ef70a007a49c97843ebfee20c34fd65afb6e034a356542fe62fc36749b38165bd0f771a96d5c89647a4321cf9d5e55abc78a17f6df903f4d3eb9e9ffb367a6226829a7d499c616f9eeca22b30dbbdec2eb4bad81af9892d72e647c3efd0590b338ba1fbab5b7c7003187863afd26eecc6299bddef78102ea8f79b93d4806f567e6b7c0ca9e18c91935e54685ff91951cdb880c72015267c3d27138e5ad7dff50c72591b21299498aa074621d9fe6b73c7989f15b65950ccde95746f41ade77fc75c3e896f295695552cb88af9c3c835b8c3deeec065fdc7e58559e062e8d8e549044b66ec1c4a3f9f131046549afa575f058b22e6b2c66127d6fe0b1017a2c09b07062377704094c3121b2501705fed04e0f62cb6a0a699c91c282ee8b93ff67b0840efbbf93be8baf1473ad4aba16a20f2aa7f3ee8158063f5c3ed18192426ea7d710d35d82b19e706aab294e41be8bff1519dde3e25ac32f692472fd262cbf66a0a09c0fa5a198ef6da04eb49763667beb25dc689d7c6071a7decf3f5f94656e44ddd46262651316ea763ae3199a9ea8c1d0453cc68f6e600247aa735ebe60dc4f1da7bebf2a92a2b70c325b6ee00f15dc64851420d6066698792566a46b64bc307d7c12dba35d0576c5dec446cc373bd425aa5674c16c82b6edd147a55d5ac3ebabd5989edce9023e18fdd378d1c001c2cc5d5907331680106ecec7d4912e00128362a9e65957a295a41cabc2e328c610cfa7937050e3e51f95e583708c5cafb8153ed204b5804dfdad1b3d7b08e8443ff92bb1816dc4f10a80404f2fd08b349a23357f3f44a972ba62a0df6835fb29b64b4b1f957c84a99c3fcc8d8fb04c605e688c4f3e5162192f27462c6833fc3a094bd33c79de5a2cf28ba3c36b33785f53a53d35bb9bb0eff3cb2b03720cc2f8eb1380aa42f58e67b78091d8549e6c582ca5aab38b6b11a5d32ff8edf0a5ea9eb2089064900c765feeb3465f4130c1d5eda1549257d26d90d2d205f72baf9ef3c2aeedad7f1b08bafffed4646e1785ff674736761ca487d630c202485d210717adb2dac2f3dcb33d69abf5b34ca46b282af5a68193d9f72737f1e74e013b48b5831e8ef87d0545b1ebb06693516af31c4202a1bcb0b89bf5b17b06e0dcc74ed3ed9210dcece625dcd6c2cabeb4f258667554c283e583b55f807615d496dab711aa48a7554e2238e18911923fc57b102cc06a72bc90b0b6bb3dfdada363da0931a766676c77d42ddb83ff21b3f8b762905ea0b1bd1cd2a8aefe7a02a73d445b6a0c004464d40a264c466df1836e993160809e7011c2864d118271342ec48275bf9106474e0b276f2bd36cda005de19c3bb28dc3eb4a62b652bf4e14048cd29ca5c368a6059a18c21ff1173553a3da9767bdecc7e4967dee4e1a2acfdeea55bc8515496b947a98309ba418ad8ea33ac1573f0ea00a51498ebe6de15186bb71e346fbf28f4777e9a72e7640bb5306173b2e9cbe14f38a52aa41578100674a24641faae82c136363a8e3a702af405806afa8ea9708a50d9176e39e17d21c7ed228e4ec4f0ae2411a2868c436ff3be024745f61f761bedb1ec6c389ec9529875fc136763baabf32f0f74e902097e0315178af2d3565ef80b85b0ed5a491cc96ccfff050b64c26b92f2da238f5045b47d13988a672885b2041461f85b5cf2988c9fc09dc6868ab9df865484f9c873e4b4675944f6e6199b4e493281bea8747ed979d5ec2637b5d2cb9d418441cd9495dbb0d2c841368e096af9ebe6a10049634ee14ff9a1dd06199dff0ccc73e8fb8fb82cb5ea5946871cb24c521b7947e587a3dceef06f1a26c773a3b442dff87d99d291dc391c740d75e61d2c6c195962d449a1add3d0f360895d70436610518cf6952628eeebc168c6645187e1915a64998d7b79fdd66371c161efc01c4d02f916a0050edfc4ab627a3a005dcf2c9eaffd996ac0982ce18ad5e135ef39dc65c0d69495984d5d8ed95b9cf6750cd3b0ee046dc018d0fa41b391521d23b854a10884abd6967b20f99cb0c19b75b6c84c78f9e75c381dea9b8a2b5264019b2fd0f6d737872f0bce2decb119d7440a408127c46ef60368a18b342c583f176612f58bbff4cc50c64dad8ff4002191acab817647e4361742254bc3295670df96cfbba29a5c35a53dd55b5e9c7428026370098b9afd67c64921ce78b7c6f193fe8612da3120de00a2d4cfdb9b174b45f1b619a8cd19e5e4b97508f5218ebed3bd7aec420cce393d5506efece94beda9001660b23f20c1b28217d0e4816da15ea5126aa475e01147f07a006c8deb5efdd03bc2626128503498d35238791c32b42542834568665a0003d25202b5127a3c53347d2bcce28ee47ad72e542d45629b5e23c4beaf46064d2515e665e0c81f2555f9b19e72cff8e9344e7f2ba25a77d9b87a5c9f58bf051089bef257c721ce64ae236c28ec6725c35e3b819c96ea206a9ce65c956769ceeb88c2ddf2d13e5b644cc0bebb4592fc1b2190bcf30b0e7560aee514e770e371ff9a496ad517d6af023b87a4330bbff11c25a5a7063e0df98ceb53631b5a9df92568273a478b5cb5906ac326f2e521c818272017e0222cffaa1f7da87c063f79a7b0ef307887609447eef3df0c1100691d577fd53bf010e3ab16287a90f104df99239529f4cdcfd00653a8cb9d6db410ea9af1c0b6b03c0dbfde9a7ec557119222239529f4cdcfd00653a8cb9d6db410ea9af1c0b6b03c0dbfde9a7ec557119222c307773769274412d0d16951c2f6ee4ca1cf82eb9ae6b9d670ccb2ec93325a4c817928d14eddb702b5d9ea79d827b8a0ba7d9cf1b36c42f60367ef22317cbaf773fead39cd595f7fa1b949b42d364c09b4222227d798bc3c5dfa6b55bd80bb640d5216ca5f84c64bd63fae69edc59341ff18d8b4b84e81107efaa29b19877dfa4b93740cfc089c62d4a05001ba13d99209c9d6dda6b919f331a830046b91021b1ce7e4f76ea1ca631f8c7f6f111a79da0459abbdb3b7ffb75889016aa063f49b9f6ff59deff9a407d6d7f7f41759eef338bb6ebb5d3abae9180efe6c9589b34f1d8f94f8dc155cbe1133825c3a771ed8d7bb434d2164d8b91f56843a21a7e2a70ab0b0f17f0bc760a094018acbe4da3e96f9bd158657a3ef91d80c64277a3e980ab0b0f17f0bc760a094018acbe4da3e96f9bd158657a3ef91d80c64277a3e98bf3d4121e5b50321cae64b2db42c66bc857e6b1d493a32550088f133210c2eed0e962b6512ff151ff28b980c6ac4f068384f1d1b097660babdad35af386beab3571075e14cefad65e39d8d87af35dfed1c5f5342d7abdf0b675bcdacd4d50279571075e14cefad65e39d8d87af35dfed1c5f5342d7abdf0b675bcdacd4d502794379d16b242e6dba8cb8edc8fc4c3c75220cbca5c66e87eb0a0bbac47d0f176c79fb464618bfc96071929c4fee798f065106b1cd2d3692fcb6b8d1ef46b83b9e410c26b109ce9d32d35c0e4bc6dc92a7579910ce706939a056323de5801a7a87edb421b4ee6cc8e9ffc0b719b31279ae4bb8821f52a19e8f32ad77d4aca3e51e0171178ae901e108f56305aff7e36268a690bc49933a24b1aaa587fda00f4d3b7151dc8ebdca81804c959266b14122bf74e62cab773dd8e2f37b379aac1052663c27b4cdc7089ddb410ddb81a5ccf42662972e07dfc44fc429d3056af6dd128e480ac039362a15a7738ba76dffe807fd03fa29f7edaa8eb21ca0057c44a1ee8ca7f21a2c5226b7d35ccac23780ae535921353b54bf7d7e61f1ad9b021167ba6c10e37c432b4b93a7d257fbb890636fa7f6f376321cca47d5919ea5b6adc75d3858ba5f2c20d320c3f5390ff9778e03d341957bd37c5d3cf0c3327976979f2e01f19a80d1c7d5d758dcea82276e73150454212a5136b19c5fc2727786132ddafdfd3864c058e3cddf5ce304faa4f47e6aa8b70fe1672836fd8ed7d1681821800fb8b271cc24a9aabc80e01b63cca18e01f912520a3a2acfc5ab7e5a71f97737b030f32db52d9be3d2dca25529915464429ef5669a807401a9e0fe3f4157881d7630f32db52d9be3d2dca25529915464429ef5669a807401a9e0fe3f4157881d76623495d81e704b171c71b2ed37bb1acea14707c6f0c14bed506d8d720485c38557d957df2bbea2d69733479ec367b363384f28d7588a5c983907fe2a1512574b57d957df2bbea2d69733479ec367b363384f28d7588a5c983907fe2a1512574b7e550ad30f6ff556df93f030be176e61e7bff9c36102e78b3ac998cb5aa6cebf0fa100bc6982f1227c825cba40ab51834f7b5798fa2a687bf7f5a44521e5cab40fa100bc6982f1227c825cba40ab51834f7b5798fa2a687bf7f5a44521e5cab4fb43c7e0b816103e7864c8bdc2740ca3d824f02d6c1b1715b0543adb4af31639cfd723672e8205a30f93aa14e24ef5b0264c41db367b50cfa0b6fcb83d881947064e0d469fac0350789cd5140ac8fe708638d72449a9b4013c047f19c783075c0ca5b36d5f70d242543a7456536a6c8bfd7c6f8bb643cc12039b9aa8141e913f6daff99c01b3c41a02db21fa5a5eae0ef5fb0cfcb6bd2e86b982174ac207445e1354d31d17166060e0b46e2d30856af4abb796b271b421b62df54a9cc42065677fe8a109e58155adae125025a2da4d5a70393ba0b860d2bc9d4e79995498be107fe8a109e58155adae125025a2da4d5a70393ba0b860d2bc9d4e79995498be1039f465621751abddc0150408eb6eac1d589243075b3703e4ed995c57a89d1e88c210fb6dc6c92df14eef7c30864fcfc49a19585465122a15de2b8fbc981ddb1ec210fb6dc6c92df14eef7c30864fcfc49a19585465122a15de2b8fbc981ddb1e3d08892d3beb18243767b7e1b01d8f69465d6cfbb73c00ea76343d5a7e763f5a21e2f63c71f7dbfae92ba17f0f875bd13c9a08414cfd8f251a5608dea154214421e2f63c71f7dbfae92ba17f0f875bd13c9a08414cfd8f251a5608dea1542144d549944d99bc29220b4dd2d40cf83aca2043bbb219781acd24cf4ef692a1de7bc394457661f27a971e481cf8d70c2854287f8d802cb26f3c70f4dbdcd7563d6cc394457661f27a971e481cf8d70c2854287f8d802cb26f3c70f4dbdcd7563d6c36608f194c023f23a3e5213403e2acae5f7427d25f0be7ab0b0b9851f9439fd6794fe8aa65014be73ab2d861c98ed82042fcd47c8a55ebd8eb09aabcd18c63a79af2cd367eeea311505303cec3bc3871968c3f57496939dc75a0d1cff12e636e9af2cd367eeea311505303cec3bc3871968c3f57496939dc75a0d1cff12e636e2efa072a6ef536492c77c6fa4a5fd40a2efbfee65a12caa9d841db8d723b57490b7ec4fdb35c81e0d5cf8800aceed592178a99793996bf7d09ae52959ded55a90b7ec4fdb35c81e0d5cf8800aceed592178a99793996bf7d09ae52959ded55a9b34d31d2e3c349a6b90c727f0b0ce5561837395749e3b7f8ce0a9075dd1201f43454585a198ffea4f78c67d58d1ebe89a0be1107612058e25ed4cb37964f2a71e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8554c3a7e33c31b3e39b426fd6f2d44c2e554567a442ae377e249447bb0644033280f7b4dea18ebdf3f427f4d8dbcf66b49d26be19db1ca4303b1e1bd1e313099fe0f7b4dea18ebdf3f427f4d8dbcf66b49d26be19db1ca4303b1e1bd1e313099fe4a84711a85b496a367f0d9b1655f64a7d9edea4a3dacca2934d50e87349a12e01cd8d0726c36fbec3fd239d11d6022803ca82dce587a49accb32d15862258f504693e0281d8f56640c50f467e791397d50291811875b722ae3798e2e14e7a1d7dbca9a068dcc8c2b6767877b5332d585130f31841d4e0aac3f58c447b79eecd1ad05dd1ce7a715977c0064e27d6339beec77c2c437d0cefecbb9083b71b73bf5ad05dd1ce7a715977c0064e27d6339beec77c2c437d0cefecbb9083b71b73bf5f28ce51867751a25568fb3d061897a8d64a72599cafc1a44466af6598e433bf16804502943a25ce6098851f6e4413e95c9eac5c3c0a548a6e3b1a2b47b489e99930ccb1b7ea86930eafd761ebf656de731dd1e38f6f81ffe46889739763a1d18930ccb1b7ea86930eafd761ebf656de731dd1e38f6f81ffe46889739763a1d183a3ba9d8e9f51623b17af2e994ceca95741923e0ad1552c33850253a9ff8ee894bf910fa975614b3e2cf65f81e51ae1d86eaf6b02f004ff778cb773a4335fe2c4bf910fa975614b3e2cf65f81e51ae1d86eaf6b02f004ff778cb773a4335fe2c3b53a72afee24ced415fdd9ddaf38f2815869c9fccac15812697da3f0e1aefe5819eed3c7019c05e4d7192fea3d8872fe7460edabbafcadd061f76ca97f65dd1819eed3c7019c05e4d7192fea3d8872fe7460edabbafcadd061f76ca97f65dd19bdb5957fcfca442fc8ccffca04ee9548bc7021bdc35890afe0f4ebdf21b1e2fd011b4d3fa82cf573771674b6de8561ce40eaecbeb7f60b52fb44ec955c8c2e6d011b4d3fa82cf573771674b6de8561ce40eaecbeb7f60b52fb44ec955c8c2e63b8bde048c0afb455b5fa5dddb8b3270b21241134ebef6f67b66a8d291d917329e6e2a212d91e7c7156a7868ac721145d50539f780780a77286893320d21521a9e6e2a212d91e7c7156a7868ac721145d50539f780780a77286893320d21521ab756b0cf0cbbb3dca7219c7e9ba139f7dd8aae546ac13909a2c08c55d8656638ce2909421055dfd251fb73e3aa43ccb8dedcd9aa0ff40a9ef8a3835271b13944990d0f909270c2fc2c6838806231156f6c84bf6abb7c30b123802d9146b508f90465a1637415c7fdbfa45bd430c53eccbb2fdd9b983a2e2808afb20247f45ab9bfc785e67ed45eb30b670ac0c1c4e7dcfd1cfa64524bcadf6060faeedfd4addfbfc785e67ed45eb30b670ac0c1c4e7dcfd1cfa64524bcadf6060faeedfd4addfd80f55ac66a2570c8a19d2b1dad7c057cf4c944d9c2f8adaf5bf6c8539881e137029ec1cc4084b1075d751c10a4912d23b00709d2aa84151ff66c7e5578493ed9807f2b1a8ab97d86be80fcff327392e83235f2199573c3f2a86ac8d3f8c449b9d4fc3a3564e4a9b9c9dc2b4b89a124336869f60c58df1998ef24c090ac0a755b61ce17b00a1338fca815852eae64f7c819b9ed34a6f5c40ee189ff32312d8fcd1f7a641d6915d36d62b4f877ea1c4877f9973371cc10c5e39bf94c20b1a29bbd1f7a641d6915d36d62b4f877ea1c4877f9973371cc10c5e39bf94c20b1a29bb2ee84550143db9ea9934707615afb5523c3c6bc3063d5d85631d6ec0e4493a54bd86056738d7de0943e5142ae0f413ddd1a8d06df9dfb1f014c542be96df19d7bd86056738d7de0943e5142ae0f413ddd1a8d06df9dfb1f014c542be96df19d785cc025dd0bbc6ec9955defaee2e30f87ed20fab115475bdbe6db2fefd5e0cf1e3ca4b9db924a24676731a0dff423f0322b432b5f177a27683f414f8447a8cab59f391101cdaa66dcf9d7f5531d7c7146859bf60ab724012c5d1606811e6d48c59f391101cdaa66dcf9d7f5531d7c7146859bf60ab724012c5d1606811e6d48cc86fb360619e4114fd71ac6000909d6da367e11bdb9fd77ee83769f17079066d2cd3a1a4fac3cbd00e71717e823175dccd897f3b766b940659447586e1ab683a2cd3a1a4fac3cbd00e71717e823175dccd897f3b766b940659447586e1ab683ab220bb27e2a4395dc131ccd7bf9fbad0f3de0bde4138f724042b339fcb05ec5177aea56c635920cd7dc91cd4e42d96c1cf283dc3af7dcb9a72f185c27ed59e9d77aea56c635920cd7dc91cd4e42d96c1cf283dc3af7dcb9a72f185c27ed59e9d1288e081801668f1b010c9c86dd316968a3cc9794fb2a7e7fd0e5d14ac17f32c68470941c0d4f4619327da493742a5e3fe88357a3835606668e5880bb8cb130e68470941c0d4f4619327da493742a5e3fe88357a3835606668e5880bb8cb130e3879632e778cb56dfc6df5b9d2f60c5e39c264338f6647f11568837f9d62e535db59dbb676f2df3bbab652c0091a09a82906f4cb7b29892af659c2ef00d14ea638221c42989cd5235f646fd7486bec6bdc3a0a2271ebe2eea2ea8f4c2884429738221c42989cd5235f646fd7486bec6bdc3a0a2271ebe2eea2ea8f4c2884429772c499ffaeaa980692e80f376f9c3e001527792d6011815201d5cfcf6a1c4cd282fda661e4d220b7a0eef7d1167a86c5358a094ac8ae2c45fdbea01fb9b63db5251b4369c5adc13f725ff422a5ceae088f48dc55494952c18da69b144d73fe76ffe22df1c2ea19d55fde283e863156eaaa70a17b76b8b48c1b98da22681c7a67ee4c90b3e38f21c46787d33a153c6be9b2315e8d6713932f5f8c32e52250b6e64eb588a331dcb41cac7994a39a8c147d3d46b276c71a33b74f4305dd44164f7b7c371f54360f268521754635e89e0181dc07da4954f1d451a1a6784ff8dc05e207d4803ec8ff1ae3eb2267210d5369915f19a6a014d1b59f42fd67b8cf4f8bb1c188ef71288dfb99d6c824e53f6248262505bb6a3f4635765bf26047c39b4644c188ef71288dfb99d6c824e53f6248262505bb6a3f4635765bf26047c39b46441b037a5a15f22118da8a0b236a69f14d8f40a7323a28e6e5f2f10cb381da2d6469edcb0f7d1c48afecb80f003131da8c804349a431bb280494cbacc804e855da69edcb0f7d1c48afecb80f003131da8c804349a431bb280494cbacc804e855daed20b29303210540bd92b974c48db4541ce7c91321c9eb1849cc091b0b13a7f09586ebc1de4014fffba28ce16e588423995eb13a14116f5ed32d675b51bd46d89586ebc1de4014fffba28ce16e588423995eb13a14116f5ed32d675b51bd46d88fe5ce586d82cf92c2bde6b054af00049dbda726a549f709d1ad0a2364d600bfef6bf7f724d7bc38ec1db35312d7c3260bacf839da1fff28ca2061552cafe952ef6bf7f724d7bc38ec1db35312d7c3260bacf839da1fff28ca2061552cafe952ef544feb1129418a478ca9fb39b218c9dea03e668aaadca1f1ff56991a766d615a83a113fb99d836ab1354ff651be6d02aebd113d7ee5603b49f29d5517b916064a7ed0fed0fc08b71797613eb2c9e3e04c7e172496c600acff264fb2df22e5367d6c7514dde8156e657ba0f5cef14b1ee6a5fb6624c71ace879b511f45b3b5eff39cb1caedd17d82cf206ecda8ce77cab221a7785f4d7be1b68dc3f5a6a4a88ab23875e68216b0979cf968d4e680a927bb32ef79b3c1e1fb984825ed38f505898fa5a63e6469381b5b5056c41e90fcb922ade3b7639e8a13261e217f4f29d4d25f2f70f3a4b6c2e0ac88ecf53f1055ee5223c1246c45e31d01140b3f06c925425f2f70f3a4b6c2e0ac88ecf53f1055ee5223c1246c45e31d01140b3f06c92541e187c9a9e0da993bd129eb8c3d188966814075ff19fe949a56e0e253245f34550c6761ab93f57590cc2234d0f603f9d885b672e2ddbb12e6f17ce6bcd63afec6554d89f54fa3dc34584f6c0b5b4629e8f2b90b6e38efd069d808033496b5a196554d89f54fa3dc34584f6c0b5b4629e8f2b90b6e38efd069d808033496b5a19a3ece655a530d3e4a20b527835b59edd0526296a348d2fea3b6bc576bcdda1d4c4f4288a8467a7b7974ec445af292cd8c1e64ad4b998921dfa6a953e516e278bc4f4288a8467a7b7974ec445af292cd8c1e64ad4b998921dfa6a953e516e278baa787af1b2df12a75c855c20271e96b29a5c972128b9fca1d1c2e01ad44b31fb6db1dbba0373cfad9cde70ad2ba95b43aafb9cc2691e67155dd4647a06a793a26db1dbba0373cfad9cde70ad2ba95b43aafb9cc2691e67155dd4647a06a793a282ab2571a2d34bf79a27177fafaf27173b03638606e1dab3a1b011ee70946d4f2a1de62f333d60b99446d19553fe00b8cacffb1d1d1d5504be730c06c3d8cc8f2a1de62f333d60b99446d19553fe00b8cacffb1d1d1d5504be730c06c3d8cc8f53f35247c1ea879aef352b3372887c5fe71cb86d4a513c8d0a379c48baaf27ec1a5d494428a59f9e4cbf9ce2bf079c18a9b7bc25cb087ac56133299394a795ff1a5d494428a59f9e4cbf9ce2bf079c18a9b7bc25cb087ac56133299394a795ffe3686028c3337cfb9b244df2da1abdfaa28f7bdce4ea5ee2d3b52271523594e2e7670b02aa9573614ad94f6265540f3c66fab604e35563c9e17bf4775adaa5b7e7670b02aa9573614ad94f6265540f3c66fab604e35563c9e17bf4775adaa5b7e61b11f6f3dc9946b0e386182419871bb471cb5b5db58fc0129da3090430ca6dfbd467afd29c26c1e9c5aa5ce54e01520d57234303de8016df028e3b57fe854bfbd467afd29c26c1e9c5aa5ce54e01520d57234303de8016df028e3b57fe854b0b78c30c68d61705ec51bf9c016c7d253a79e8ad198507be7f6a1c7f66f3711682aa91e7aa2b581c23a8010b3235f8f228a6d63e423e0c57a3a6f56a939732c282aa91e7aa2b581c23a8010b3235f8f228a6d63e423e0c57a3a6f56a939732c27671639b66de4792ae8a6bd00e231a5788f5e79bb0d9309687dc58841afcf6a2091c05dfe74136f4eeb2b46ca482a407ee8c2b2062ec915cdeac63e808702544091c05dfe74136f4eeb2b46ca482a407ee8c2b2062ec915cdeac63e808702544c97c958f1e4f15e0bc7b3fa72053af27ba485c8f06cdfb85df03d02e70044c4315a84d380ba9c0652e23d10af4ea269f361f42dc3683ccea92dda607378e249915a84d380ba9c0652e23d10af4ea269f361f42dc3683ccea92dda607378e24991603419b97ed60e2e9766ecc3df7ceade5fe364c4f04d77bde2afe9d0ccd94f62aa5b9c6cb9ef52c95e91c274126cb93e76cdd7de5853b284dc074c984a02fce2aa5b9c6cb9ef52c95e91c274126cb93e76cdd7de5853b284dc074c984a02fce9d3fd18c7f48865fa829de9a3ed8c02d5a73e1c5561a3b2b5b2dd1b1432d9ecf950de0d31a6743cf1b1eedec1174617a62151842188bb4aeae3c5169d1875927950de0d31a6743cf1b1eedec1174617a62151842188bb4aeae3c5169d1875927f39afbe62575eebf10548d87c498a353f770546cb938008a6d95c5a318e0830c5440da58f53a1ea5114b474437382141cb60bcccf8892af2ef27ba6f31a1d7455440da58f53a1ea5114b474437382141cb60bcccf8892af2ef27ba6f31a1d745372f6cb72601b280e95e0fb6b31f4dc558a44119a76f31ba757e494aefed6683a5cd80ce0e406ee823df1901bb40d6482037a4e69188876e7985fba21a98fda7a5cd80ce0e406ee823df1901bb40d6482037a4e69188876e7985fba21a98fda7eb429f839a674a1363d5e75f543256cc0c16a9fe898e5f4e31cdf9391fedcacb705e02898034a7d1d0a9dcbeb9b561122f29b2cd0bf00e388d4e38a174af120af58ad142347e045b9ae7be37299d5577783d5468d6d3df592151317a6392a9bd390b1c7938fa9349cbe4470801483d0caec7aac28643b24bde0cca50ecec72bb6660bbca23b4be2b788be1bf3d88d814e6efd60936aa7a5c71e523aa283312546660bbca23b4be2b788be1bf3d88d814e6efd60936aa7a5c71e523aa28331254c915260c38d4fb070cd145653c0b882edf5d2e26612f7425778caa810ceeb902bb754a25fd4e186f41882c0fc27790e6151643977109bd5673652e8a7618f0b2bb754a25fd4e186f41882c0fc27790e6151643977109bd5673652e8a7618f0b2b14fb4edb165320e1bcf9929a6fa67d48f28c8548caf410de1f29f479a725cf8d9cdd6cfdedf2c7fe38cb5390a41c99a4444cb09f2f067783d83d1a8327feaf1d9cdd6cfdedf2c7fe38cb5390a41c99a4444cb09f2f067783d83d1a8327feaf1c27a183dd9a191b7f314d6e18a72e44e6784a44382d9fd08d84a8021e3b1afcfa88d3ed4231d17a51b66de6f435d6d03eff60a82a66b164ec82d17417568484aa88d3ed4231d17a51b66de6f435d6d03eff60a82a66b164ec82d17417568484aa1a0a09cf11f11a2d8e78e4e952b2b38588f7cfb675bcb2d8548f810d046e3a1c217ea67393598c076dabe17da73ec982d16fb1eda685a760f884ff745f5015ec217ea67393598c076dabe17da73ec982d16fb1eda685a760f884ff745f5015e30c7140cde98d6f32f0f9365a07045dcc19fdb28411e955870e3920af6cbe8f2cac894e965d1b66813c01f3970c57a21a4bdf162a45c1e4e64ac3b97a6436ddccac894e965d1b66813c01f3970c57a21a4bdf162a45c1e4e64ac3b97a6436ddc5c7e3cc40fe0276eb63876d41bb02f772c13b97f9591d5866fad152ed9c645c4cff73b9f710285861dd9d5d2c0edc1fc734cc59c7ab66be5163b0f70fd1343aecff73b9f710285861dd9d5d2c0edc1fc734cc59c7ab66be5163b0f70fd1343aefd390fc38dad6c57404f690cc69c7e28dffee8bfb3e6adfec68e72652de2f0852184f3f6ed1d439fc99ac9ec4932b99ff7bb5bac83036c043a5435d4b696c48a2184f3f6ed1d439fc99ac9ec4932b99ff7bb5bac83036c043a5435d4b696c48a21815a9f86fe25d64c6b0f9e67c664bdaab171f4900229f5c3d81bdd697617301d7e1d3ca28fb40faada4cfb97e35c9159d1ed005325544eead4d6e7f3d82a841d7e1d3ca28fb40faada4cfb97e35c9159d1ed005325544eead4d6e7f3d82a84fab303836a54c1cbe797bc984b8c58c6579c23a73df1ccc1dcfd506df7a1c161ca1e6b0cd6ad3906aece2f0459b80352f9d9cc7dc1f7ad9fe62a5c13991a756dca1e6b0cd6ad3906aece2f0459b80352f9d9cc7dc1f7ad9fe62a5c13991a756d8d18dd407f4f409f70b39dc7c9806c4c3dc71c9237c54bd916bc3de641bed1a5156b83e83e92d4c14bac9657d462f69f74c93310152eb02cbb345f94865d419ed814a81698d10ec86a6d473c2548989fbdec2b7950d7d9fe531c7f1e9d5ec775edad629688dd40f6a870172831c8c192a004846242c2510bf080c1fd544843bda748e05df29c9476d195b98a96f399ca490cdfedf47a4b97382c9d777f28a25fa748e05df29c9476d195b98a96f399ca490cdfedf47a4b97382c9d777f28a25fca8ffc1677dc229658982085d69909747d501a67813c1673e08bb556c5e35762b7a3748dd80725842c98727f3566df196fca8235d94020e216f41eecd19d238ab7a3748dd80725842c98727f3566df196fca8235d94020e216f41eecd19d238a4038f603609b7f336ac0c5f8f8ee5c7b9bd4882f6cc3c70e02770b92a37b89df027402331df90bdea6c577ea1ce811b3ac62005c62049510db94599216527d76027402331df90bdea6c577ea1ce811b3ac62005c62049510db94599216527d763c833f13dcead86aa3dad2b640e2e57c336c3dafb27b3017a12e459da9b4b5fcc14ff598042b90e1f78f16bcdf7fdd19059a69c6090a73be62a678da41a21d53c14ff598042b90e1f78f16bcdf7fdd19059a69c6090a73be62a678da41a21d53d0a722d6f0bf73c27d18245c9e5464fd91062a96c1264aa14ab403593aafc2aa364765be2e044fc6277e346fa5b4ec5feb5dd81476b8e21409c038f773fb40db364765be2e044fc6277e346fa5b4ec5feb5dd81476b8e21409c038f773fb40db824b6599ce4729b884d91ecdd07e06a13fe6dceea10432d885ad3027cf78004990888386e68d14dc281c5dd8e3772bfc0e404e4e567e4319a98ba212227a326990888386e68d14dc281c5dd8e3772bfc0e404e4e567e4319a98ba212227a3269a91c6c43a0fdfa6f527409f37b0ed6db6dfa4d1db74646508cb3c2c3afceee49e4a3798bd648136993208aa0ab99d9b698db45d1fb64e4007d6f18a0e17e4dc5e4a3798bd648136993208aa0ab99d9b698db45d1fb64e4007d6f18a0e17e4dc55bd1ef77f0acd1608725982a584a2435f176d5a35b992e307095a8e4112581e85d31b3b40ed95c6561959d1e8859bd8421b33824d2b3356dc8dbebd7625afb0b5d31b3b40ed95c6561959d1e8859bd8421b33824d2b3356dc8dbebd7625afb0b2fdba7011f83388eeddae3ad07c5e209bc8bc2edd9170c63e15faad8b167b3391a1063d04a8365443ea71f4b9416afbdea6c88e36c154da22298b71a341b609a1a1063d04a8365443ea71f4b9416afbdea6c88e36c154da22298b71a341b609ad19cb9183192641f8fc43784442f9fba2ea80acb0f7d0696f8dd191f8f61c1e8a4754709e6b7bb1559b2115c7b546e4c7f994d048203ccbd75c80c417f2a33bba4754709e6b7bb1559b2115c7b546e4c7f994d048203ccbd75c80c417f2a33bb40845f0919bc83ca7972bd9d08b7b84ce2bbab50105810154b759cf942771ff8d447bd69778e3a2939940c108371c7957a56a0323bc18f556f8d85ddd40237f7d447bd69778e3a2939940c108371c7957a56a0323bc18f556f8d85ddd40237f70bcdd4c06e4f0d0e92e4413a036ac8344d7f7713fa256d3f88f0211a6af0d0d9dd5b69f21c5f730c74b7ef4554b04bb7157372748b1b62bb5902c1bbad5c1a92dd5b69f21c5f730c74b7ef4554b04bb7157372748b1b62bb5902c1bbad5c1a921bf68d35f12952cdd4d71d2c532267ed0503073df2f472a64c747d9efc1095372f091320cf58f18207a0939e457e66212d827fdcd2952042720b3f9636fb89d42f091320cf58f18207a0939e457e66212d827fdcd2952042720b3f9636fb89d4941855a43d47c61e22b4d05f6b505b653595707e7d65bc2968a90ef8d6b180ebcb19c61aa56d0668384d8778963b9b97105c95a38d1f7bb6a8cabc5f671ce882cb19c61aa56d0668384d8778963b9b97105c95a38d1f7bb6a8cabc5f671ce882cfa8341e6de9c6b9ed6e5464723ba269785553447c9d6b004f32bf38c0a2ef8e53d4340a66f9d5cfaa0f9f98e8dcf2f29ed2cf1a2fc4a24bfed80bcbd180856e53d4340a66f9d5cfaa0f9f98e8dcf2f29ed2cf1a2fc4a24bfed80bcbd180856e4d11de2025244eaa9cb600ac3de0e733d47f34fe3124baeb6a5d6d0f8a96136513702a70e1ad12c164c79d6b9d50515b64ed2d5c86a3d048646de307fd1ea98013702a70e1ad12c164c79d6b9d50515b64ed2d5c86a3d048646de307fd1ea9808339b4f03c3829704f1ecb5f22a9ce1df894d0aa60d52c20432efa4edd951c0bf5992a4cdfa2690bfdf044dee2acdc9c15ca7874e99b049fb413536e97b6692ef5992a4cdfa2690bfdf044dee2acdc9c15ca7874e99b049fb413536e97b6692e1ceba6939f46233d276a608c9fc3840f38f23a4b689ffaa9075b5f59d5cc6e77cb64a28df814dcf1d0fdec1ecb9650f48311ec2467826007b2238f88f0324de8cb64a28df814dcf1d0fdec1ecb9650f48311ec2467826007b2238f88f0324de884c3c250f51f97bd44cc14c87a5646fe9b3c31620173e18f31758b5a141dde43629174e98dda6c70b879ca84032f036df6b6f628c6450601131b230393111ee2629174e98dda6c70b879ca84032f036df6b6f628c6450601131b230393111ee208f0a530a80085ca11af94728ba892492b9833e48a1ecd66a78d680beeab63233ebb4be7b566feecb87897961ca1eb271abdfdddce146599093bd3fab526fddd3ebb4be7b566feecb87897961ca1eb271abdfdddce146599093bd3fab526fddda7da4206dc12ec8f567303230acee8f532d256fa1839d9f51d89e11d1bb80d064caba9f470d3d4cb235923ef4d6fc16108dab12c9f8c5ff426ee1a0036eb9c294caba9f470d3d4cb235923ef4d6fc16108dab12c9f8c5ff426ee1a0036eb9c29bfb4c1af5f71e3b05922f18d1e4d13472328ee5afc90c3ad859648804715ac35822a2e7f5df565d54fe245281ec41299f636946e2f355d602c7d8ea0e541aee5822a2e7f5df565d54fe245281ec41299f636946e2f355d602c7d8ea0e541aee523cf9f7618b6f92be2dd950a64ec6903c525b6eb2e688a5287d90bb886dada0ee4aac726c24642ffa36d1b2b60f591c033883cef2e0e5375497d6b0f2a579cafe4aac726c24642ffa36d1b2b60f591c033883cef2e0e5375497d6b0f2a579cafe5759bcc4001fa9ae49edf85c0003b4967e21caad24c466888a33d88f63ed8b136aaa31c98adddefa3cd3f46d2b0fb69cf587821ed827884a3fcaf6f43465d0836aaa31c98adddefa3cd3f46d2b0fb69cf587821ed827884a3fcaf6f43465d080aa8b5d826339fb55afc4b76126476a0a387d75a678da49ae63fb6cdbea138b0629cfa59673629a8043535f075611edbac89f32843596fcc696e00bd589c7653629cfa59673629a8043535f075611edbac89f32843596fcc696e00bd589c76531cb6f7e1cd145edea66c4def6f57f19b1f214e116459b263a5110115bf2ad29c93ef6046c45e0cf2cd6938793f1321fddf9f64d23dbff3bf76b0408fb4d451ac93ef6046c45e0cf2cd6938793f1321fddf9f64d23dbff3bf76b0408fb4d451aca748272eec430c4460a3d605e064ec847a5c04ed08b0114b0acfa64d7b6a050127a10f7c53c81f9de9e70b0b916d8fd0abfb7d3dec537a9358d54f467fef786227a10f7c53c81f9de9e70b0b916d8fd0abfb7d3dec537a9358d54f467fef78626d425a5828d403c014e5a7295f19ded3f2040ca97d722d10fd33f4b7b4e07e4875dfe58e0496299869d91c5f2608d4fab2edd454f1a1f9c600d7d3266dfdea8a75dfe58e0496299869d91c5f2608d4fab2edd454f1a1f9c600d7d3266dfdea8a4d4e36d4c8d76c7e0f762ad4b4add7bd25b2133333412a1e939d1034ce519543e1458980e954692f4a60112e195327d11049fe6afbaaadd096303f6ae5706d7fe1458980e954692f4a60112e195327d11049fe6afbaaadd096303f6ae5706d7f5562f5b0752b99be278f6b5211d5831d9a91c275e6a197dab10217f4ca704744b5331d14b83ad7b80dec42f526a8c652497bf30c190f036e105a13904f62646fb5331d14b83ad7b80dec42f526a8c652497bf30c190f036e105a13904f62646fc95e7d47fe0ad5604a9d884df5e04f5dc4184e7f1452677beb2492865fefc0d8bb678764d40d31bbe3e7edd5146a11f71bfbd415761fd3d00d742b74b3fd4655bb678764d40d31bbe3e7edd5146a11f71bfbd415761fd3d00d742b74b3fd4655516fb88555c8aab3423c6e6b8a3ca5b097bae30ddb47873565a99803f7a74e8e05d09acf11ae3c03bf261c0f70c048d57b27152cb1e120503e618e0ed5859f7005d09acf11ae3c03bf261c0f70c048d57b27152cb1e120503e618e0ed5859f70c8057e31c398532402956e0b84dd9d63114ce3376be91a0a1f5e28d12a330f5c5274689c736d7cb1a092d84f3effb83e7dbbe1ff463a88140a59c96dd037744c5274689c736d7cb1a092d84f3effb83e7dbbe1ff463a88140a59c96dd037744c4a89c4cc9e9baddb4febec3f409dc531ae7fd176f3279338b7a1bf599bf83a664d4d0ac7a7257695c58dbe8bed7ecb03f670832103ceeffb2f8c2bf0bf092f8c4d4d0ac7a7257695c58dbe8bed7ecb03f670832103ceeffb2f8c2bf0bf092f8c40005f7f0b4905ee36b7f13c8b634c01674cf4d5f185273c24423eacaeb9c5cd6a9a7634bb838030ca0a983cd0ce07262e475c97ec6d51ab67f0e231d2807c666a9a7634bb838030ca0a983cd0ce07262e475c97ec6d51ab67f0e231d2807c667035643b7e84180fefc56eb2c20417c8ff91d5fa04531641542e36544afba6305bd46485660888244bcc80143a6026f2a1ebff98402bd767b49d2d9470fa7c405bd46485660888244bcc80143a6026f2a1ebff98402bd767b49d2d9470fa7c4075297235f5e61ebbd87d1f2904eb31f0dd9b2ec89bac08015dcf3e5195aa0943c7a7e83699d57a4f32e5612e686e89d580b42a447882203596feb0b5538ab77bc7a7e83699d57a4f32e5612e686e89d580b42a447882203596feb0b5538ab77b61aea6e916de57a887b2b15685e9e9b4e6e154f1b9dc4c6fdc78dbc5f8aca46a7db86733554cdc076de9be1c97e44143a4a569dcd0efaee9a22db3d28a345d077db86733554cdc076de9be1c97e44143a4a569dcd0efaee9a22db3d28a345d07df152260f5c27b474a5e9ba284421980b919db4e7ffbfa9887e2daa1a5c3c953e46465ba616c40d786b9e55071c4c4d46e179dc69a55abe6f4f3b371dbaa2439e46465ba616c40d786b9e55071c4c4d46e179dc69a55abe6f4f3b371dbaa24398f3b7efe5445797ec575edb8d324648e841d8456ff866646d9cccbd911edddee5b09f1e0f223f2c31333b09015853ac33dd520f483971cf969cd69ffcb455b915b09f1e0f223f2c31333b09015853ac33dd520f483971cf969cd69ffcb455b91fe91fcf7d6a5580366e16fc99b04b9630218d1f1733469c8828cd8ddb7540496c256fe016ff00875e1621c9745514cb804dec289fb628c23303763de1ad59f71c256fe016ff00875e1621c9745514cb804dec289fb628c23303763de1ad59f71fcbdb881e359508f77fd88d91bd8bfcc690a47b56d7db0ed8b487820d9fdbac14f04fa3b4fda8e236f4dd72306fd595aa4853f2d970e4c325b9b420112e7222c4f04fa3b4fda8e236f4dd72306fd595aa4853f2d970e4c325b9b420112e7222c8de7c067bf3126f9e07d689536d5227d25993742cb8d553ea155768273580a16a3752fb0bf3873014b58fca3482b1278ba65a2771bc3145564eb602e12ec3b21a3752fb0bf3873014b58fca3482b1278ba65a2771bc3145564eb602e12ec3b21c180d390a74638bc09f98cbb5b9ab643383f6aa7a9da73ead575bd49e6f053bbafdadc5935155ffee211c7785c4c5edaa472053e34d1e4086070a57e6f28a605afdadc5935155ffee211c7785c4c5edaa472053e34d1e4086070a57e6f28a605c139c26abd5525aa56b40a2a384a9ca3337917156d1f19528aea65cc40e67042c94c9e792e537001d64f52d5b5c96049f4ac1fdadbea6efc66abac708fe499b9c94c9e792e537001d64f52d5b5c96049f4ac1fdadbea6efc66abac708fe499b9de100b9150fe21ae4d9c2d84c3331cba8a385d718b5cef7d69dfb258b0a9b26e86ffd9f9b5cfc9061fa7963628e125b0a8e4a22d43e6182faae74825d887406986ffd9f9b5cfc9061fa7963628e125b0a8e4a22d43e6182faae74825d8874069c1709e7172ecf72628108247dd7f8d8e7046c712d504c2241b4eaed5d410d11428b2d3877c7deb8634b0218a23e847c6e2325f63f33c808e1a26ea3dca5ec49628b2d3877c7deb8634b0218a23e847c6e2325f63f33c808e1a26ea3dca5ec496dbd4a2a7b285601a0c775b381cf7599e15f6e1639c5692a7af63405bb8ff05e544945e923349192adbe06986e9556e7c47df509eaa7c866f79fc9e3d7cdbb3e444945e923349192adbe06986e9556e7c47df509eaa7c866f79fc9e3d7cdbb3e4b2871c7ed2030751b16f4d8d7d88eec1c4bc86757cdb84fa62cad61ad53d7360c80a33e91bd949ce0c1334795a8728fd8b50c75aeabdfa0d20fb04d128fd95ebc80a33e91bd949ce0c1334795a8728fd8b50c75aeabdfa0d20fb04d128fd95eb16a0c8a6e087ccecfdf3a98c69c9a8fe4115ef3176b6768f7e2211994efb3bd9da9c8fa12036647beca2bd1b536902812b3c21799fcc92a543d7ea79c4ca5812da9c8fa12036647beca2bd1b536902812b3c21799fcc92a543d7ea79c4ca581272f7547459460573516f50340e94b552de1fec459b61075c7bb65c8e0fcd7f0ce3f2dbd7670dbea51f7206127acd8099b860adf32192ffc0afef2215a4f95a07e3f2dbd7670dbea51f7206127acd8099b860adf32192ffc0afef2215a4f95a07e36182febefbe22dfa7b62e120f80c0200d54e888e9945765ba36162631f4bf42a38812ee39d13821cd8e041e0605e103caea99a68946a53e6ab887e81817d2d2a38812ee39d13821cd8e041e0605e103caea99a68946a53e6ab887e81817d2d08d4e7613c64156e7c384e9ad9b47bad5b9f9888da464fabc3503e1bfa9afb47902e1a1629291b9e139aa72f74614165218ae84e91bdcf85b913868966728ce2902e1a1629291b9e139aa72f74614165218ae84e91bdcf85b913868966728ce2c06fc8d5f464020c466aaa623173913890c09a510494c9fdc03d1d2ec9ba104c137766789d092334a6663db16133cfe7bb7f137c66c10e6bc277ede861e52984137766789d092334a6663db16133cfe7bb7f137c66c10e6bc277ede861e52984af6772bd0e44c2465743e54a1c5fb15f26d91dbb84bfd325475480ba0499d86a5dc6240e7100d363525746f5076543de7b9d0da65bec0a54838fcfc791a846065dc6240e7100d363525746f5076543de7b9d0da65bec0a54838fcfc791a8460610531a387ebb67547bbf71af3d0db345564e1355befb195e1a3df23aad9c4a085d6aa06923bd3d1f34ec98bfac4525b61c77cd2993b66bef4dc4388886bd07ef5d6aa06923bd3d1f34ec98bfac4525b61c77cd2993b66bef4dc4388886bd07ef983ddb828a9d418c2f09a0de2d541884e70b479a6e600a0b2a31e086d2408a7a907c2cfe0fddb7f6b586039ce919e55b78d0333861673ec2c390f7bc1de06589907c2cfe0fddb7f6b586039ce919e55b78d0333861673ec2c390f7bc1de0658903fbf70a239bf8844b9c5216e927b8eccdb33d72b14cd0ef2aaad278702b4fba1d0c9b05ba22d354153616a3cf020b4980956fa93dacfaddff8e5b18458920131d0c9b05ba22d354153616a3cf020b4980956fa93dacfaddff8e5b1845892013bc495b780497f2a0071a73c7dc18530c22d4edba33393359f497f7bcf35ecd9871e84ddb62ff0a13c44a222c361152fe449b1abca827ac74a75704925018a9a871e84ddb62ff0a13c44a222c361152fe449b1abca827ac74a75704925018a9a85a7cf910d572733cd731ab0fe7536daad11943b2580ef12d752267d754fd31cae36adab8965695da3a24735dc1435c41e8b01e23700041bf9fec0d6aa7e2d673e36adab8965695da3a24735dc1435c41e8b01e23700041bf9fec0d6aa7e2d6738c234c1d7910188ecb7ec3561d5de94758033884b304441acedf4a3bec6c74fde5843b525c1f7e4532fe8ffd052bebb328dfb419884b35d2389b3d90341369b2e5843b525c1f7e4532fe8ffd052bebb328dfb419884b35d2389b3d90341369b2b5872615e65f4890c3a701ca3834890e6ddfe536ed44cbbcea7d6d7a163e3505380b53cc63ba4a8ab7469b477bf80c45ff69284bc376b32365b0b0ee07ec47c4380b53cc63ba4a8ab7469b477bf80c45ff69284bc376b32365b0b0ee07ec47c471680d0d610c8ce9cd1d52576853532b89fd3df6ec3e60c4c214985dc19b7480bc6b480a7a722623c1eb73ba6a0148be5730a2d138f0bd2ec68e8c8b5c284e1dbc6b480a7a722623c1eb73ba6a0148be5730a2d138f0bd2ec68e8c8b5c284e1d361d96cf6d84c3a162bd436d302d8f3b49bd3fc29ed52ae8b8c05fe3daf114e69c77bbd71352bfe6cac6e9a98a2a7d4f889c634a882c119b87f02421d50afe249c77bbd71352bfe6cac6e9a98a2a7d4f889c634a882c119b87f02421d50afe24e4de02f64f69701cb1b730fe98a5c3777deb0026b4007c94edce5cf4d323bc4c576c3a63f65ab04e2f76d3cbef62472c1ae62907aed984994b0479473d1350b7576c3a63f65ab04e2f76d3cbef62472c1ae62907aed984994b0479473d1350b7b32ef3b4ccf6de3679a94b3cf36de50106b941322c4242fd7df43a9f81a7b165b0c36bfc72016269945e1c4ba8f959e2ecb9d8c16d996e946ce70701b30bf35e35c13b8d30f79e52f95028b7c23afe0a6d59b1c1b0ce43cf89744d6ad53fa40b78140672c975b25c45e18875fd25db5685d603e02a8b231324e4f56cdb599d5681bc7d73420cfb77a61e0e54803f5ccedbe0ae3ac9a11ecf4c44b8b72940490681bc7d73420cfb77a61e0e54803f5ccedbe0ae3ac9a11ecf4c44b8b7294049068b7aaa84b0634cb20dbbe39d7cb74d57eddf6afd8f6f1b0f61a8ff2b5f2045f8085832733d6f55759a069e8ee1b45f6ac25955ddde38832aa8eaabd50278bf33085832733d6f55759a069e8ee1b45f6ac25955ddde38832aa8eaabd50278bf33f238411cac69c5d082f8f48a0b658f57f4c0ef4064c6cce399f39e192b1e1590ba476d9e08c9159c95e5ad2d039e6b4a04d4c405e32bf4c551baa4c79d4b08c30c6391440f1ec28acf5def365f04026402819d80fd1770b05cc73b5f6c0c914cade38e0d1d9c6efc6a75180966030ed6de1d25c6231d967bff9a59ac7c547a82f45bdff2086b1848bccc86e1661ce2aad361e44440bc36f68c5a532b3e38cfbef45bdff2086b1848bccc86e1661ce2aad361e44440bc36f68c5a532b3e38cfbe6acc4bc94879f81d79b92e07c15e02555bd3469050deeeeb652baa175322cf50aa0bc04f4ee10bacb75482703646f09866013c9b2f83d21af679fe35a8ba2ca6998f9e8fc1ef91b5b287fffc59283482986f653fa443146ab56cd761221e11f218e9b6800cb6c4b7386ef2c1107fa7f28b1e1fb048226a3b2c33ee632d01742a00d0b8a4d6b9fca5400a82c9f5d5482283641c5d1f3ccb5dc13a8f7ca3069f65747393fd6a5cbce2b23538595df4374823870ceb7b3c06775d21e6b633234ee6d18689aa960841c52343f5dee578588cce235cbeb252608ddf5e66ddc07030745fd6d579bfd468a7bd3c4af95e6af4458c3c7fe718dc1e6c380d6fa5500596e25fd6d579bfd468a7bd3c4af95e6af4458c3c7fe718dc1e6c380d6fa5500596e239cb932f8f5b4918befcd22b62d32033feac7ff6ad3f538c1a7ab10f8004900c11091b9e2a131de6a2b3864d405ed33b39678b4679f110db2f572d58de36c71911091b9e2a131de6a2b3864d405ed33b39678b4679f110db2f572d58de36c719a4c8d47d6cfe960b192cbd910dd125f9544f95e3d12b282067a6c7bd80fbd289246c1500276a81fc0111d6c3a40c5705250a0df65f9ca1eac1f473ac532aca65246c1500276a81fc0111d6c3a40c5705250a0df65f9ca1eac1f473ac532aca65bf65d8a68028ad4f468b0fe0913345f8c7698b4e094660fa570f82b2cf178ae3dfd423c18e76cab3830b46d5391be50068823d0abd902cef7e81ce88d4abcec1dfd423c18e76cab3830b46d5391be50068823d0abd902cef7e81ce88d4abcec111224893850d5318135dae6f0b7d62121f72d1bd03224b6a881daf25ba34c3fb5831ddb7856c30228b1aa63e9c052f28d3cdd302c040e67ba19cce7a13fc52625831ddb7856c30228b1aa63e9c052f28d3cdd302c040e67ba19cce7a13fc526227e9a18579a6462199b6b12600965c7fd49ce5a78ba584ed35851830f31aa1d2b4aaf526fe83f58e9c951d4f7eaacec695bb5f979f0ff7f6343510207cd3d3e2ce1d75b1c1915278c5c7ef06cd1ef36d2e25a84a1dcb53e7d626b8185caade2ece1d75b1c1915278c5c7ef06cd1ef36d2e25a84a1dcb53e7d626b8185caade2eaa8e019765437e8b27d31f8a38ac6c3ef4f641a95ece5d5fbb94b0633362c5ece2b0626feb70a2e09368c68c2cebda89a8601c0a18fe1350e6b42bb5102c788eac313fb4233108a0b6ed9ac959540dd393246604a84c9c3e55b696a65e02d7b05cb4da5be8b67c110e02b7e2726c6188e24d48a6410c9ba9b30c7169d89df32e9dc9b18c194038e1c0034cd1a3da1de5582b0c4ba8cde5080614bb7e800123639dc9b18c194038e1c0034cd1a3da1de5582b0c4ba8cde5080614bb7e80012363daa60c76bc7b99f9b2a703a6ca66a8bbb58e51290e74bf2abbcb9ac5fc9c987dcec75404e84503dd0049f1b432f59b9a811476d6ca9820d81ec431e72f66fd32cec75404e84503dd0049f1b432f59b9a811476d6ca9820d81ec431e72f66fd324a219f40d0ec1e309ccb8ef6b55419cd3c7d5eaae23fbd8c93aef90fbeb73e6f3cf21deae314e2ec813de78c7ef9ffebd92d68f94f22a1a13cc1f61ebe78069dd042504b1e59bc3162a36c72d0487068affa7bd36841322917151811d4725ee6b96a13c4c6872b411677b028af6a3f771b5bfa0c0562715e6c27657667c2d9b09860c6acfdd0dce9a468c7753562322185899def341668dac24e179b5dd20d53d56d4e573ba39b3fb55de21cc796421f4f5448ba510cb72af09db8759664e257d56d4e573ba39b3fb55de21cc796421f4f5448ba510cb72af09db8759664e2572ac91b93be67539e4926f4fc0675217d4fd583829670980303b59b14200819164b36e1c0be47e895b4c0b0ccdd17dafb4b9ab2230fe72286b87b259469a7971f47a1b434cbba0b6b1bde5b98ca90b73bcd9a9755124e3997af345aae675706009fc5e29de0688cba4623a4d1e1b9397299343580a110dfd1b979543745a70bea3eb6771c157b05915bf6e2f511c92f2b1ada9cc3f732c6812a2a037f12e779e03eb6771c157b05915bf6e2f511c92f2b1ada9cc3f732c6812a2a037f12e779e0cfb96d46a9e90c6c981cd73891357291173247c2c078ccb2d8a55fc957b5842a79ec21ba28f53a3ff547d9a1b9cbcf79f9df6625411e6a13df14522c256b07c779ec21ba28f53a3ff547d9a1b9cbcf79f9df6625411e6a13df14522c256b07c74a02bdb3964a6f1e61e3d46885e5c75cd15e02e94be43cc29bab053625a8467598c831354caf7929c566beffe263b98db122c86f86e1a11e0d5af86132fd4b0c98c831354caf7929c566beffe263b98db122c86f86e1a11e0d5af86132fd4b0ce47a3f2324b579cc980f007542c6ae316f010a2bba26c084b33d7f30b9c940f9518fd02340883074f2c7430416f125a34a817a2dc92a1953c7634423147d04c6518fd02340883074f2c7430416f125a34a817a2dc92a1953c7634423147d04c6ed75dc720f528ae8a6c05e6b71f6a6ca5575d3dc2113dda2b9cc26e20773df85317d212e7dd172cef7914c12043a240c18b4aef984e7b732ce8eafe04402eed2317d212e7dd172cef7914c12043a240c18b4aef984e7b732ce8eafe04402eed25814dd869ee87574a0a415777435e1c84814647a9c0bca53030944c8557cff0449184399f6af4558724d4a89f8556e5d2fb466602a72ae3385ca1df6d0c58afc49184399f6af4558724d4a89f8556e5d2fb466602a72ae3385ca1df6d0c58afc2d232284e04741c2405caf56b6f6a0fdb5b29a5c43bb9851dd6d5613763d2934eb19a02134c737bed0fd2255cfbfdcb88c2bf2557c332a028b1a51b17c4ba51feb19a02134c737bed0fd2255cfbfdcb88c2bf2557c332a028b1a51b17c4ba51fbd9a6d305c0b38cf451a1ad5af9d2716067a4cedaddfc65cf55c2281e4af7575245e5c0e5701af7b94f2fa29e4fde70eccfdc1564204c5246ba1422cbada6cf0245e5c0e5701af7b94f2fa29e4fde70eccfdc1564204c5246ba1422cbada6cf0d6523e8d14d4186ebc9ceff2908f6c222cbe476e9828996e4ea7ef9eeb18157ef518b95459b11dd3603eb3353c04fbd93194cefcc23940b460ddb8a450387393f518b95459b11dd3603eb3353c04fbd93194cefcc23940b460ddb8a450387393159054029a5429155e586a05ae939b312c0dfca29e308ac6088565485de793b00803984f595a72381d33b8dc5a75cad84319577dec4c3e48b968905d00d0eab20803984f595a72381d33b8dc5a75cad84319577dec4c3e48b968905d00d0eab2405f9b021a98ca2ad282474fa1a89e9549dd23140d3d92ab5b70be17000fe06d00c93e6dcceac82c2122c77ea17836a6a54e6631066c24da7a028ec5ebeb5d6e00c93e6dcceac82c2122c77ea17836a6a54e6631066c24da7a028ec5ebeb5d6efbf91fd151b6929ce6062d9835bd3f881288e6c05d3a8037d632869bf80fadf38821f8034da4779f8eef10b0535638223474c7e8fe52b1191eb28def7b7278818821f8034da4779f8eef10b0535638223474c7e8fe52b1191eb28def7b7278814f854a2104fd72d6a475b1ac6b8ea603d74d260bae8400f7e23269938f4525edd7e7baf8c2f76caf6469bfeeed912fa53f27540c8ed84dd98e10e568bbeea345d7e7baf8c2f76caf6469bfeeed912fa53f27540c8ed84dd98e10e568bbeea34557a9d13a499c47dffd07d8a6c6cb5977cc65983469459ae0799631144bb17226ce7d1719764119f3aa874c7b2cbd9040eacaf1ae5c8a0555bc8c01d13f4aa6de686334679dcf3b7f106f10dca9bdcf2f8d8613b5b6c3d9b172998336428c806eda366a4ceef5f4ce9817c5139512fd496904f974be3fe0f24ae3909dc5b85b64ff6fc67bd777421db488ec8b651a7d4cd6fe488e3beaac689e9f5af161c6518bff6fc67bd777421db488ec8b651a7d4cd6fe488e3beaac689e9f5af161c6518beb69276053f6d37389e2acc2d611edb007bfb25c08755ec2e4529e1f41737cb80392e60f7a23a1bb0733612ba7be21d54a5d2ee6c2eff74e24b82fe226aceb800392e60f7a23a1bb0733612ba7be21d54a5d2ee6c2eff74e24b82fe226aceb804589ee6ef97bf6239cdd6d1220b3a1b5f50c7af0c54ea76f3cbd92b4d6e7966357a9f7f75db452e0da5b62ec05b805d4b1006d0e66ec8229eb1bedd315e10d9e7ad6b2c7bcedf25f5451d4d0bb3a7a7b1eff760c0c7481d0484ae34edb759faa956b5172e9b3aa604214e8e1539f74530b76029c07c0bbcf0666f700561463c12dbe127daebac64b2408ec4980cbb48ed6fb38dfa40f480ff562bf153250e2afb66f1caaf730052c10c890f1fe22a4c250b8284f21d674aa7c1f91709c0f29a615448830d62e59edc049b0734108b28db3ede5b8f9657a1de82eea75e3838e1aff0ffac7b5d534ee097e581f3e647fa941cf87fd22d5ba4dadc951f5f90829106ae21b115af09926b6a4f6d38368c46c25f4b35b3b1c30b927c2e65c95f7cabd82fe46dd4274c8f78878cc464a5ae3d0f1f7a7d719c90febd101973ca8c48be2dcc39337e2194206fd55efee352d50770e921a84f6e99238716a0476507e0999dcc39337e2194206fd55efee352d50770e921a84f6e99238716a0476507e09991c76ca012ce9a2b2b9151c128d3d2ecc826ece7b5427bf7c0eb38365138dbf421b12e81a338b5e653b87ce7312d19a4f15f7d7acda03b71271d23c79b918f18c1b12e81a338b5e653b87ce7312d19a4f15f7d7acda03b71271d23c79b918f18cdb83858801c5aeee2a0b76c6b0ea6a3eb38d22f308287fdb93cbf0f1498c4d555775da151c7b033f3a98014a5b33e5702e226f0f8023d623647111878f8d05685775da151c7b033f3a98014a5b33e5702e226f0f8023d623647111878f8d0568c148cc81627106b8060985effa8b727814d169392440fee59f5e4ee0f6a4b57527d5e9e57330b090ad2269374dd2c6e62c8b3c887d07b2df5cc302b36027bc2127d5e9e57330b090ad2269374dd2c6e62c8b3c887d07b2df5cc302b36027bc21d68baf40a37fedbd9fae952de0c90305b0b44fca3cb6bb4fa31de5792ccc4c2f7cbaaac9d85896578808d93518101fdc3c3178901cb0670927da32b3ffc4cdde7cbaaac9d85896578808d93518101fdc3c3178901cb0670927da32b3ffc4cddeb34f050d5a123e057b11a3494b433975977262167c43973608ea2fcd8ce90adfa9c8bb2acb0ceff672ea54bf764a4d233f77fd86f707d4267243635c5745063fa9c8bb2acb0ceff672ea54bf764a4d233f77fd86f707d4267243635c5745063f903e6ef254edba2c28f563c29769bf95489ed17902e3cd1e6f13b2ec075b7c5b314c8fc34aab6ef198fb015c12abc4538e870f10487a2888a307a26a5dcb4edd314c8fc34aab6ef198fb015c12abc4538e870f10487a2888a307a26a5dcb4eddd1eb91abf747df193b9b89120149c0a9f1dce43bc07b660ba4f287e68e6699a7cbf99d228be3425a047dd68ca6fbba23357e6e8212449f89470cd3e2b76b1aa3cbf99d228be3425a047dd68ca6fbba23357e6e8212449f89470cd3e2b76b1aa3987954d72270acb506395d540e9de6f044aa903b71bd6a94bcceebe36b6f02f8842d645eceb9f1fe96b0437bd289eac2e6a284b678caca0efd3be517bbc0dd67e86a4fd38afe634fc4f62ec6f3b725f2d1f1c55124bb0a5a478b748ed39c7120344b2474f2c256216ad563649a17c6a9b11ec239e036fa471940dd0c80baea33bfc362bff5d502bd926e3cc78698d1af838705c7d9db3174eac4b7d9250bf878bfc362bff5d502bd926e3cc78698d1af838705c7d9db3174eac4b7d9250bf8784590d04bee3fbfcc02899922313615333d4655045b345dee822fb7c1dd083f765cf4676d1e8caaad5702ab33b7637a03d46a137be61759b6fbd2f531e9d5b36cb0249097853427b4022a6e14e6fabc3cdc13d23da6eb73b36a040cd215e8b48223fb453a3f91117ccfc26d9c83d90398b88942838e74674bfdbbc6c4044b5882c09290b8b54f5705d679bc304d7ef767865048028dff4eba8f42b0b96d4f58f6c09290b8b54f5705d679bc304d7ef767865048028dff4eba8f42b0b96d4f58f6512cea435d9d5ace892b3c9ac2d4156ca15b590ca221e709806fa98b470560635d86051e1bb86e4cf557922648c1890de985cb481f8adbd2c858b140b46f24255d86051e1bb86e4cf557922648c1890de985cb481f8adbd2c858b140b46f2425691799861b96c765e7e5f5e581773204e7e773eb024a0fda0cb149598eac2b35375cd27c4618198c2018bcc3fb70e02dee2d7031b0f124ee19747fff67801935375cd27c4618198c2018bcc3fb70e02dee2d7031b0f124ee19747fff678019357441da993ceb5cc9e9813855b42071025f5fde39f5d37b7b466b9bd85eb06ec2a56284e5903beb55a21dbd48275f5983aec88fb8d42075e3b53278e2b20b0f52a56284e5903beb55a21dbd48275f5983aec88fb8d42075e3b53278e2b20b0f5272ac0c3644075c05c676e8e75b62d303f689e0cd48aecb41d71f38a6d9c5b13af34f6690e09790be329ee998d829988afbf53366abb5ffa0e36ca2dabd51e91ef34f6690e09790be329ee998d829988afbf53366abb5ffa0e36ca2dabd51e91e0e9a34e3cb861d68c4eb2d1f204ee6eda6956846e5ab0fc737d88a95f0b2f8c4f8ffcb6b5a37d9489feaaac65c840061e984b9a569124964a8bfa8e6340b7d58f8ffcb6b5a37d9489feaaac65c840061e984b9a569124964a8bfa8e6340b7d586a5dff1e03e0cf5ef1500cf5cf3a4b314b9512e98f3bbd9f49697d4cf1159f5f0e6d938061f7fa9196e738cba2d48d889ba96fdbdf44230890be6b429b22e1e80e6d938061f7fa9196e738cba2d48d889ba96fdbdf44230890be6b429b22e1e8f18acfd00a58e9c6c9bb33c78c99f3365090e7159418a838f2dc75a3f641186120cabe8864573b4fcad91d8d9bb4d41cb23fd5c8920d3e22887b483cf5b244de20cabe8864573b4fcad91d8d9bb4d41cb23fd5c8920d3e22887b483cf5b244de3b4e7618851384ca594fbd19645f903bad824d91c983e634fb1d52cb6c6e83acfcd936fb1ee26e6a66732827afe4b3107f5428a83e9b023b0394d0c798b82f5dfcd936fb1ee26e6a66732827afe4b3107f5428a83e9b023b0394d0c798b82f5d3babb5da98b9deefea2905e7053989c877e7f96d55a079de4e5e6a0ee7f80b7f61c73468d73379d0f2618c09375a9a1fb5ca62696dfa8789ec05a83cdb445303c8fad1a5154cb5718ea5beb51edcd3faa5213adafd1e7a05a6223471e82d8e746070f91b9bd9c71e360571cf15bb52944a9976b5c88d72b6cf74c9924cfea6a59c6e99318675181836c944b37ca16375011044540b0ab1659c3b99d0343130479c6e99318675181836c944b37ca16375011044540b0ab1659c3b99d034313047c3ed3389cc936f1124ea464188f7ccc516918b0c6fc041d853c0ef0d958f4afc9d673299dec0ffad48b05177ed811e3decb88462a5342fbadcdb83b0fdaec46e9d673299dec0ffad48b05177ed811e3decb88462a5342fbadcdb83b0fdaec46e8112de0e27b29629dda0336ee497b07df3c8c8b9a57d5a756237e478d64f5e399f9b72a7316939ded11fb24026280f14f22e43e32698522f8f8864256269afdb713cfeac836f257083e9c7fcc9bdef589d23d87645b9100d466230a87fd71614a9ef27ba9d48c27fc90eab86f79621742a54a85d9255d4d3e87951eba9f2c018e34b778f0913806d37b6f50a3a0a819f923c55e7cca132cd25670ee01f016120e34b778f0913806d37b6f50a3a0a819f923c55e7cca132cd25670ee01f01612072e522dc753316de0aaa447d1160c0cfe698fad75cd47bf1fbe03c81db669fa39445252843d6b49077ef601c779772c79da3378f9050479f6b35718bad3ab0679445252843d6b49077ef601c779772c79da3378f9050479f6b35718bad3ab0673ab78b6f2b9c45d03c356c02254340140a7ed5e2d1bbc5c0ab9d3cda949a7bff519872d45e75206647f9ada55482f458dad69d59c27a61b3de22cd17e026a475519872d45e75206647f9ada55482f458dad69d59c27a61b3de22cd17e026a4756fbc7bf41b1e14a25b3df33877193555b0a0a70ca70a4b6a9632b12ef130c9f5d5f99e9afe1dd550d9e15411402f8078f35e4b12b4a001abf40fb4719358d692d5f99e9afe1dd550d9e15411402f8078f35e4b12b4a001abf40fb4719358d6922c2a04cc7e0673d46ac01b6492949b962f746fdfc51a4248a4a4be689b6888299a686e7439abb9e50e700e10fb5527428735db72731025fef3d148e8d2ed02719a686e7439abb9e50e700e10fb5527428735db72731025fef3d148e8d2ed02712f53d1512bf1c2de5454dd7a56b933eacbe8394de626b335869fcc243188bdce5b389401240c293263ac69d75502395c1671e14e307abc59bd5931933474bfab5b389401240c293263ac69d75502395c1671e14e307abc59bd5931933474bfab2656b171f59a625a381560ba8718aa14caa2386a968d156c0645a876738c4672bd271fe75a2719bb44e637993e9629fa3ddb30ade7b16b1d95d7c7b15af118c1bd271fe75a2719bb44e637993e9629fa3ddb30ade7b16b1d95d7c7b15af118c18b0465d29d530670ede16d72b1f7a9e32b12f9ed804fed8395d0e172394fca1d3a9a664f57ce8ef9b2686b3e487609afb4f0dc6d6ec7a9cd35fabbb9ca4e81cb3a9a664f57ce8ef9b2686b3e487609afb4f0dc6d6ec7a9cd35fabbb9ca4e81cb1d8a2b6f33539126d7e133323eb3d970f5fe77d2ed62c34e63e4113dd7de84bfd6b4ab8642fec22184cac76b05ebea3eb31563d1a6f52415df0037de869cb373d6b4ab8642fec22184cac76b05ebea3eb31563d1a6f52415df0037de869cb3733799c399122574caeb34634035501e9dddf8bd0980d849f911c6c33971dc7f5ab82bc1bddb7dfcd4147c067574b95f0bb123c517480a0cbe8bf62b4455cdefdb12430f65f64e6b61dfd33a9e43a70066ced39e8b1e2d59c808ba3d95307e1a24f3d65566d9fa330b808db45f8323f13f626c492b9c939147cd68b4c274e26151027e0d607619e27b9d766217acd11fc42547fe7b028f4d224f6af71651da4f63027e0d607619e27b9d766217acd11fc42547fe7b028f4d224f6af71651da4f63bb2ddd0169e0fbb52e924b00811bededaac35c95b77f4b08563d91f5190b7305e03c53aa6fa5eb525e9ab9a87acb3c3b98c7fd9103cd09621e00163470dd2b21e03c53aa6fa5eb525e9ab9a87acb3c3b98c7fd9103cd09621e00163470dd2b21cba0ab8d0867c5c14d7abb6e17fe366d112d23cabf3d32cb0b4af09037e495a6a9110f27e4145dfea772d84e1e39d86ff87698ede59803b6c4969093b8c159d2a9110f27e4145dfea772d84e1e39d86ff87698ede59803b6c4969093b8c159d2f2618de8bd9ed4b722bb501aaa738fe87242944ac04efa7e74a23d05343dd8c50cf2c7f93edd1f836284403e044279c554022329802971e90322b9be315f5867e1e2a514b186dd81632fefb6f77e1e1622caa8a54e017683cc21cf81d4d1b46df142b99b8ebcccdebaa589f1d88447ebf487f626bd1d853e8faa0d0e36a6e5d788259538f9cc55cb37ae5c616d79c4376590c9006aec131a24732252d5f7e25388259538f9cc55cb37ae5c616d79c4376590c9006aec131a24732252d5f7e253aafb8e2315d625467c616af1ad3da3b0a635e788bc1d9728b0c3d4e9ea30fa4ed05a70efe9b29d834dd800e9ca6cf6503c64cbc1fd3744132db3ec22d00d28e5d05a70efe9b29d834dd800e9ca6cf6503c64cbc1fd3744132db3ec22d00d28e561a13b9f59ab76d6566e680b70b4333ff354bcf73127a2720bf03e6bdc9dd0fae88ce54168752be87d3ab9622e06e65cd0efab3cf445062b2bc0457dc806fab6e88ce54168752be87d3ab9622e06e65cd0efab3cf445062b2bc0457dc806fab677231ee12e324157fe3ae2ec9d36904cc5e00ef3dd280c26184b499d573f2a9a2d0a7a50500a1cc851782ca7de10272f4b1b27374a675b6bbb8519807b7693cf2d0a7a50500a1cc851782ca7de10272f4b1b27374a675b6bbb8519807b7693cf6d85a1419a85497bf4c6b931b638fb8bade628b8af05d27670f829cd53bdce816c7d799e7b8c833fd551a3813eab9acd86506a57b0d559252f3698545ab0582f6c7d799e7b8c833fd551a3813eab9acd86506a57b0d559252f3698545ab0582f379ed1f22eadd5c681d0edd0d45a4619d4ee334da57d4573257f0738507866038bb6904d7eb1355c6a9afba03f7fba8d77c1427ba6ff18e4e0c96ec21a0cb6b48bb6904d7eb1355c6a9afba03f7fba8d77c1427ba6ff18e4e0c96ec21a0cb6b44d05f78a395092ed1f0e27e52e2ad0328f91682c91efbcdf61e9857fe5defa018b5e89e5d02f5a3704202940d4eefc526ffbc21514603403c921ab6ead32603d8b5e89e5d02f5a3704202940d4eefc526ffbc21514603403c921ab6ead32603dbf7814ec091dc8d1c531ff5b46a7d3bc5758efdc44e398a14745e238469846c12388391dc1d6a26d74016205b96f19c6c3bba8af9ce2d3f7b6fbd43fc2fc31602388391dc1d6a26d74016205b96f19c6c3bba8af9ce2d3f7b6fbd43fc2fc3160d938709ef68727ab3758932b102f5ac1ac76f59207a60936bfd5e885c94f6f89bbf97d2ec4ae100ae79c2e7b061219c9419afc7b099e2f41f37fdab8af3d6ec0bbf97d2ec4ae100ae79c2e7b061219c9419afc7b099e2f41f37fdab8af3d6ec06f3510fdb43cd572e2095b28457b791fc964d6abf1f8dec1fccf9bbcfd760b6521190e09b44bc5584abc2cfca649a8eb7268bccddcfc285e8e8afafd5f10715521190e09b44bc5584abc2cfca649a8eb7268bccddcfc285e8e8afafd5f1071559620e08d69055a99a9bf592113ed0fe3558946be5218379e9e5d3392ee3d1da464b64b437c7548880886433e3d3aa09c7fcd8ba52c82eed34f5f3f3886dfa9c964b64b437c7548880886433e3d3aa09c7fcd8ba52c82eed34f5f3f3886dfa9c90c187c556c5c8d3f7291a5222c04cea3491fc19a05e507b9f62f99dc2c9b6ece1f50e2ea5fa088d34f90b2cd332510977a6d3256fa2f1d87fd6e6ed72dda5b161f50e2ea5fa088d34f90b2cd332510977a6d3256fa2f1d87fd6e6ed72dda5b16207bb73042211b479b1897a599460b022dcb6b47ea68c997dbeb69863aa04176bd887db474f456eb2357d445d6b1921a9eb1749cd0e4209c9eabfcb36c371417bd887db474f456eb2357d445d6b1921a9eb1749cd0e4209c9eabfcb36c3714176f3d6161a1fe6934eb5b0667079b608cc5c11e772e2977a16e52f33d6519c9eb0d99cc447a3994663fcc3c30a8a5e96a249b78e663d3f75730f6fcdcff459aa08fcea14de3e77e1f05a3fecead723bfcfa0464bf71270b3e073d938be87ee73c5c328ebf1c04b29359f084e98a3e5c99e7d4938c680243c9fac58d74c3180d3c886ebbacadfba39e30aad613a482233887fa0bfef710e2010c45cea8b4521dca886ebbacadfba39e30aad613a482233887fa0bfef710e2010c45cea8b4521dca9b632738f8ffc536272d08149bf2b33b63cc55dd1652bf75e2a9b05d02b6ac5617d55a2038134500673fa502bd98720e020bb8cbe691940a452e03e6daa215cd17d55a2038134500673fa502bd98720e020bb8cbe691940a452e03e6daa215cd801ece6468756f8ab62451cf1fabe60df37d9b29fc14201b683f2d33cd0ddd70c19a3007b4eaf139a44ed0375c086745f3e5739716a93aac1e81205a0b9a6eaac19a3007b4eaf139a44ed0375c086745f3e5739716a93aac1e81205a0b9a6eaa262fb6b09f6ba0d1fe9d13e5e8b832e27a4671406f6543b8ab8e6790eb6c18e773cd3ac6d0e34d62aea7c03aecbac29e980edaea41ade4fdcefe0959db306c7773cd3ac6d0e34d62aea7c03aecbac29e980edaea41ade4fdcefe0959db306c77b4817dcdc68131f537cd836f01d55fb88f5ddd8b8be8658261031381dea81907f81a9cd0ea1c9e47b276439e3002d33554d206c080c1a7d35bc01194c32ef10e51a244c732344db24e4a295c2524f77127b45114aa1894a6e96975ec45294c44f21cb7e5e29b5309fc0a232230d972c4c71a2b46c4e00a606d79cca47f30c737b19e721ecd57436e3a7e9aaeef74adde69f12e0a612ef27e882f9c9f17056102b19e721ecd57436e3a7e9aaeef74adde69f12e0a612ef27e882f9c9f17056102d46891c0694b3c97c599d3727cd9957f13e29362d372e95c1e4aa5e28336527627a282547c3a68b4c9371ab23e36860cc284356bb9a3b65f00a54ae2a179517727a282547c3a68b4c9371ab23e36860cc284356bb9a3b65f00a54ae2a1795177215eea7c5ffdec783d8cd83a50b92d24bd0fa3367c2f8c658ec64e401fb2ff2728a37b2ff27b67a2f3a81e046d9dd3ccde8ef89e9ed4bc13787c5a26b054809852daf8237a5fc4b99fe2b4779d1da285fad2aba816ed955776169101d7138dd20347c9b9c3bc9db8c250c122a92138b942a3dc46ca35f43491d4222a84d97522b3adeebb262294dd77f86d76cd560cffdc8c7383082ef561466c6c9872a9f4ffb3adeebb262294dd77f86d76cd560cffdc8c7383082ef561466c6c9872a9f4ff1061102555162af5846784d2e998acbef0699b80d003f3ba71bec2d881361b3feeede3e45b554462174d5cc1c18838775d5dd77feae5fd864d747fff0b5c21fbeeede3e45b554462174d5cc1c18838775d5dd77feae5fd864d747fff0b5c21fba6da408e6d4806c6979439a547cb44928ad0d7e064aacb2e819ecf7a9021e3f4f23ae3d639007a785423fbc0fcd33caecddcf8a7964a670cc121192ca07fd4d9f23ae3d639007a785423fbc0fcd33caecddcf8a7964a670cc121192ca07fd4d97c6003770937ffe433470c600c41568fcc898d7fb31bc47d9122dd92ae58eebbae265d4957e79a0f89576ee4cbcb69ee30c830a42d91b198f4edf11a9e9f2f601886e7c1148a7ee5db0572fed3f876ea1bed21bbf0d161f7f0fe46fb4d515238b78e13723970a47880a572b5990908efe9ba208842f76145989d43a7d8115010cb8ae5cc3fd973b3f2e1f1ebeee9863ab8d8b9c75aa31edbf016cee593c67ba7cb8ae5cc3fd973b3f2e1f1ebeee9863ab8d8b9c75aa31edbf016cee593c67ba7c00fe049bfa01c85fe53cfb726256c0f811f5fcb419c65a9a9a7e405946b997d9bb9dd8598414827c95be642247e860beec974d4c22e374779445561f23f8a479bb9dd8598414827c95be642247e860beec974d4c22e374779445561f23f8a47c1fb62f7fdfc2b1a7b3883d771bb938a405ba7ae7326a19ec0930e44a2453e65570ad35fb8435c971da086226c750547394d9f35b6e9be7c221a9023f6eeb394570ad35fb8435c971da086226c750547394d9f35b6e9be7c221a9023f6eeb3943a9f40f0de3f8cf383067d60b81ef9f089822b8e7b53b579b6bb14fe444acc898787fe3f8d434a6b4f8d03ed9a997151deefc4190ad7e5f39f2ff20a9dc7b4758787fe3f8d434a6b4f8d03ed9a997151deefc4190ad7e5f39f2ff20a9dc7b475fcd250498fcd5fba8b4c0c291ede8a038e63626578b5c51f3e47fa5751939bfa0d1d733486ea33be7663d7d5800b9c19955aca213d68a4a57aa9219ae03464470d1d733486ea33be7663d7d5800b9c19955aca213d68a4a57aa9219ae0346447ca15c296f5c4147946598f0358cb6a3dad14febecbc20a89ecbbcd20987941ac0a217de38cf212979f1b9675de09ae3e9e84704d323d61c056fdb466871a09900a217de38cf212979f1b9675de09ae3e9e84704d323d61c056fdb466871a09903c645ad68a5cc72ea722778376466388b5e1ca9efb83ce00f6dce2bd0eaecb65d1cf91c3a162ece6e131e2abc735c81b81e0740fdd591703dcb6fd6d70ed8806d1cf91c3a162ece6e131e2abc735c81b81e0740fdd591703dcb6fd6d70ed88067db4eb01ce36c6fee3cdab5c35ed85e52b8835f7e07fe4dfeacb14f4b5c5525f863090a8cada097943d998c48d9ecb09c67cbc297fb6d4a210da680deaa05417863090a8cada097943d998c48d9ecb09c67cbc297fb6d4a210da680deaa054179f223de6983fea713cd3e9c851d38736e3ae0ca3aebcabc328456b90f7b9bdf3019aa348a417c527e1155b94fee9cf264f50bf22eb4398b11e482def8a3a8dfc019aa348a417c527e1155b94fee9cf264f50bf22eb4398b11e482def8a3a8dfc7b7e102e734f322de3c7eec6513b3c2d2d2663dce9845c2470768718eaba63a0a82c4929722d67eb52e4f2127478eca5ba94ca7851f035fc69b46fb8a0b6655da82c4929722d67eb52e4f2127478eca5ba94ca7851f035fc69b46fb8a0b6655d85d23bf7b337d0dd6903e36b791f165c42fe3451107ea3f0a1ae1eb09aff1a72b26031f81c5496657a6931df5c2c38008b3f1ff603328c1ce9d7202b15d83935b26031f81c5496657a6931df5c2c38008b3f1ff603328c1ce9d7202b15d83935e74979808bdf00aed7c12fae8c878f49bc2735ca28b4a805b85a38e002b5453e10277e37f606c3fc6d4df0cf6fa63ecce4caadd539c73c24b6575d3c2274ea8a4e5b28fad1785c104b094d910f37cc28b64ee3b60022b089507ac69ae408697fd640ba6c0109872688695a1c55194abf31f23096154e0dcf45b9578fc937a403de96b53119cfc4b9fa14686c632438e29687fc5dede6b1a9b4126f37ea3fb447de96b53119cfc4b9fa14686c632438e29687fc5dede6b1a9b4126f37ea3fb447def4788a8dde5bb7b2ee241341c7d5b49bec0d43c136aff945e46dcf12f103d0a1c18acb3cbcabbf4db5d176a47fc7618239cdbe2d2788fb38dfbe17334ca51fa1c18acb3cbcabbf4db5d176a47fc7618239cdbe2d2788fb38dfbe17334ca51f26224a3742d7e3a18ea97317a796127642224060beee001d361ad22eb7ca4a1f0fad2d7cdad44496200deddce71bd8e2361c04fe1331c9f5353f031d3c9776740fad2d7cdad44496200deddce71bd8e2361c04fe1331c9f5353f031d3c977674fe8ef8801879ce0732586faa4f92e0cad6e74e5a01e5d3442f77e7713b980731ce3a160545e0bf2d58283eb72fa67fed4b2394db00cfe34be956d71b1ad4f1c5ce3a160545e0bf2d58283eb72fa67fed4b2394db00cfe34be956d71b1ad4f1c5943070a8f245ca909f8128d94aff82559b5f9c10ca399eb774aa51b1a5dfb7ae7ee58e43b171e7a5503ae0db229676814ea9e374c8d476fbf36ac85d8b089c987ee58e43b171e7a5503ae0db229676814ea9e374c8d476fbf36ac85d8b089c985305a94e43fdd664d4b010a49ef6725b0f9e501c60824f976ce487685f007a1c0d2763c5e6a515651a90934d8c3acba82e2f44482b85dbc482bcf80faad393c00d2763c5e6a515651a90934d8c3acba82e2f44482b85dbc482bcf80faad393c06c792e1d760c882abce1d588fd041d52050083122a3ee42a13f819f817f434536e747d40030adaf899f134bc611099f2456d604be734402e9abfa54f8aa927fe6e747d40030adaf899f134bc611099f2456d604be734402e9abfa54f8aa927fe4ca0f60c7f815f523b7974f613641a569f5a5cde0ddb6c8dc48338eead29dc4988c381366b1291eb1ab3bcc0205a6df386d95dfc2c596c86a077ed0077ea340c88c381366b1291eb1ab3bcc0205a6df386d95dfc2c596c86a077ed0077ea340c393a675aa5679bd726afd6f37dff1d57060653117d2c919aca8f5f2e424359e422d0b433eb0da07fa9ff97ea6e1cebc79f2be047d462ae1dcd934fe226b46e1222d0b433eb0da07fa9ff97ea6e1cebc79f2be047d462ae1dcd934fe226b46e12a079304cfb4eb97990a912907cd12a26f14417ff5d39cb0e9b08e6fdec6a8f9169a0c1d5bda8784818490f8eefc5b2ac59403957d34a17225d0f8394647307a069a0c1d5bda8784818490f8eefc5b2ac59403957d34a17225d0f8394647307a0e2a8477a7f49da9a81d40d93b6df5ae736452a32d5d8283e6baa7e8a2d416fc92a2093dd50f58b6a7e37b69a698bf2beba11e1043beb439a78227ba31fb70eab2a2093dd50f58b6a7e37b69a698bf2beba11e1043beb439a78227ba31fb70eab00db7970659a080505d9cf9814b13a25e77700826fe7cacae0391a826c2f3318f85420d87cd045b2f96994ba320e12703c586c56fa7d4de1ea943bc4fa1ef9bbf85420d87cd045b2f96994ba320e12703c586c56fa7d4de1ea943bc4fa1ef9bbbe8bc190d4ba569dad81867df3bec72691bbfd0b8d196d1eae5a9343f0a743378d75e321bf9bcc47e21f9df343b4761b7e527ccf999469c1457f11e75239dd9c8d75e321bf9bcc47e21f9df343b4761b7e527ccf999469c1457f11e75239dd9c1ee1bcffb899a41b68f0289c5d86fb9187e05d878ad48591f64da40c092ad6cfcf8b8aca8cbc355f9eef5cb864ecdc27f5ee3782c8d2ad900d57e59694b52699cf8b8aca8cbc355f9eef5cb864ecdc27f5ee3782c8d2ad900d57e59694b52699e9e9ce0be1f1d59bf210e15d0fdd606a5c746d35208226d6c3ab0e53684154d6a344a2e78f3fc0d6ecb875ca400f1592dd71ed9a5df04cc5d86b5b2391fef165a344a2e78f3fc0d6ecb875ca400f1592dd71ed9a5df04cc5d86b5b2391fef1654c2ee149341401b36fd45a0856795feff3e1c318d748271dd8ed1684672d0e37ac872207e860f002f2e5481701e42ae13929268607b6a6e955555e717ef763c0ac872207e860f002f2e5481701e42ae13929268607b6a6e955555e717ef763c0d60e78acfcf1b699dd4621f7fe6801bee14d0647d1bd015e4e23286d0a05b3d327f1e687bb4218dc8e2a03bf56606ee3e8ec2355d08adb626fafdb7bf5231673dbcf666abf25481e2c452258e3920a73c68aa06a13fdc77163475f1ee1859237c471f62f6d7cd18a7ece19e9bfcdecb7e189e2b96c3f7ac5a27a83c66b7ca6efe475ba7c4d28b88ad1ce89057d407299aa5c5f1bdcb7d48cc10e1d9e8f39d3d9e475ba7c4d28b88ad1ce89057d407299aa5c5f1bdcb7d48cc10e1d9e8f39d3d9cfe1f0fbade23f2f34199fde78a47b87bc086d2242d8fa73ade3062256931efc046882b1fc4bc3281d7902268a0675222af46eec0385f07c5e8f90dbe8562033046882b1fc4bc3281d7902268a0675222af46eec0385f07c5e8f90dbe8562033506df1a2e4e7afc1412e071ad21bd6299157e35c9b14d17e44c53e3b963afe2a237dd0715d386ce009f757e6948688082ed2d2227c8ae3e4ab3831d510026f58237dd0715d386ce009f757e6948688082ed2d2227c8ae3e4ab3831d510026f58db7406b4bcb8d3e64594d2c770ebad117adb1122324805130055847b10bc752ef083e0ee7be7bb7a17cc2b28e916f9e1fb739f5ed96b2dd3bf81b074b2578c26f083e0ee7be7bb7a17cc2b28e916f9e1fb739f5ed96b2dd3bf81b074b2578c2678d100e196977a9d966a1527894e2d688cc49aff88fae4d025d1d882094eca8fc7061173bd59ca6825c527c9082984d5ad268b0b7f9ed5fe8a5f0418195e49fbe206d8ee0fb075833436fcae316acee48786a47cd8ada3504e3be576c42483dc13f9a6b96f172cbc234cf2a16d5792f829a2642c6c546bcdbeaac6e0e9c4c2741034411bfc6e2061e8681f615abbb0ef4e9e319f0783f4c55f21bd2619f6ee5e7035a7bb236c0af490688e9404c9791531c2bdad1d95a62e61cf941a6ce9cbded2b7e355c3ee9d26b8bd7533475144f6427afe61477658d8c7be342266f963f3ca707933011ec56bb5e4b3fb607a2699ac80ebf146272fd0dfb708c175274637ca707933011ec56bb5e4b3fb607a2699ac80ebf146272fd0dfb708c175274637596c7714d5b08bb2a0274afd37ce7b4c369f608fed10d19dde2460210b582b7306632bb914c2af5158f3ed1d2a2db0dc23f3f0b177b1a827340feee4deea424606632bb914c2af5158f3ed1d2a2db0dc23f3f0b177b1a827340feee4deea424660cc12ddecb7ae7b40ec8f491171ea3cdecdc1f1ece0121db2841f4c3c0fe7b1126251b1a2e5c20347594f7491e7fc11577ec9854677e71aba8247ba35b9a5c0126251b1a2e5c20347594f7491e7fc11577ec9854677e71aba8247ba35b9a5c01e5d55ece402895534f80b2aafeb3b17755d3033c9fb70c40fb0cce6eeabe9d04393d91063273b7eef44dba2832e90ac4728f7620c1beded2c15bde1800d9d984393d91063273b7eef44dba2832e90ac4728f7620c1beded2c15bde1800d9d9820ef43ce97aa940a4c26d2e8b9c28fcdb67460f5c5be89d4b19994242541b42e33b51790d8920c8e8cf5d288bdc451ecf41f2d3fc753d74d224c0aa90930b8e933b51790d8920c8e8cf5d288bdc451ecf41f2d3fc753d74d224c0aa90930b8e9d189facb11f8a0cbda120cdba62328da589e6e4385e52f9b4032fa262446bba85cc16570b01e09e1275f65724114046ca870259ba5bbfe05dd84ae2a51b3c5385cc16570b01e09e1275f65724114046ca870259ba5bbfe05dd84ae2a51b3c53812b936259f098f2675b1a2a757f5e97597669bfd3aec7d70905e3414564294e92452d101ec3bbfd91ca3184a556943e324e164bb3a6ef17eca97cdcdc6c619062452d101ec3bbfd91ca3184a556943e324e164bb3a6ef17eca97cdcdc6c619060522af4a91288e965709038970cb141468d70aaec25e2a1b6b59f7b25212d52817ec3692a9bebf33f79f755347b57750fd933b3a55f3522635d921aea10b4a4617ec3692a9bebf33f79f755347b57750fd933b3a55f3522635d921aea10b4a46a37825ca347d0eb62fcfda8582992cf3a5acc314b816400882a545db172c85a55bdd9f0f7d710e97b82906078986f8e0f475a1d05a152c11efd9514756df4e3a5bdd9f0f7d710e97b82906078986f8e0f475a1d05a152c11efd9514756df4e3afcec1c983d31e831efaf7e6ed4209a0e21f1a6a5a1145229ac2251d1d7e086efefc0c82463f6f15cd0f9ba1dbfe6288019426a62934ff3bbfe6adeddd61b2f5aefc0c82463f6f15cd0f9ba1dbfe6288019426a62934ff3bbfe6adeddd61b2f5af568c6ae1fcbf97f7437cb48ed3cd5ed4182eb5e6c485d3f965293e1258f9c5d474c4357c4d7897e20b8555327d3fc6f8f20e1a9f5d79da7fd0a24bf9d38563d474c4357c4d7897e20b8555327d3fc6f8f20e1a9f5d79da7fd0a24bf9d38563d0d9dd767d4e6b78d6cc97cc9e82e4f7a34146ee2511ae1bcd006a4928568b16e1d800df0a25b5ed9aa933c534d2473cd9eb4c2415c46e7742a4c4fd559dd2cf51d800df0a25b5ed9aa933c534d2473cd9eb4c2415c46e7742a4c4fd559dd2cf5acc274cc10bdc8fdc0ec7a132dd5ebe27fb4c6b5c9b0a258f2172914b152a44ca108bd339a2873930bfe236cfebef130cbbf03f5e4452b3eb6c18898cdd4f5eea108bd339a2873930bfe236cfebef130cbbf03f5e4452b3eb6c18898cdd4f5ee993c019f188e2ab6336a0c4ae078f78a2a7522b1cba4d1b36bc8b88194140b9693212677d2cf30cd8445fd79855a2653a8136aff8b6655d09de75f5bdd905df593212677d2cf30cd8445fd79855a2653a8136aff8b6655d09de75f5bdd905df5143288bbe6bb35d70f47a5f8e7edfd993c2e5b90274ec033c4c75f9b3bc78e3222f801963d3018a208f6c2fc0ca9c842de59e2c14dfd77aba51f70f5dd45ff1022f801963d3018a208f6c2fc0ca9c842de59e2c14dfd77aba51f70f5dd45ff10c4d7c203668581f511f04514711a1c620e2f6bfaadb706f66125ecb99b724d6c94f8943f75ae884ca7b4839992247780f7525cfc9ac0458a6c39c1882686d6df94f8943f75ae884ca7b4839992247780f7525cfc9ac0458a6c39c1882686d6dff4e794184f8a11842f410cabd14b364899c0765efb7c6bfe1f620c4bfd24e7ce7f78cb3d276054459afff4fd440703bd73b2d10a172cf6658438c75d6a4cade07f78cb3d276054459afff4fd440703bd73b2d10a172cf6658438c75d6a4cade0daa455d5fb3a96602f0904568d5f942b397464f2d7aeca8b3cd0b1c5a8f98d04544ce4b6def8c1225e16b0f2fd930a3315fc0dd3e473b956cb48bddb1ca38cc0544ce4b6def8c1225e16b0f2fd930a3315fc0dd3e473b956cb48bddb1ca38cc099f7e0363242c2656b3f19c2be8bfbbeb705ce9d8c75b453fb4d3d7305cf600480f0e30440a4466ef67224064b97fed1db0d53bc8395c4c8a6024abc9a22a05380f0e30440a4466ef67224064b97fed1db0d53bc8395c4c8a6024abc9a22a0531a29508426812937d26ce8efd4e6a2c57b616098f9966a27f9af6af4d11d20a71a613153112eb4ffbf72b6f61261aaab707adcdb4d4634b98bffea52ff5b94a71a613153112eb4ffbf72b6f61261aaab707adcdb4d4634b98bffea52ff5b94a7982c9c44f4bf0ef94c81f2b53315af7ce0993d3bb50e9bb3fe711e0f26a3900f2ee4eb34de40e315fa35998320ac96fac0a2521d9df1046b8717ae3bd1c0e4df2ee4eb34de40e315fa35998320ac96fac0a2521d9df1046b8717ae3bd1c0e4dfa9f40d04e475bb452d445f5634523f8aabd91573718ae8187b056472063be35751f8e04ad6b4cf30b6fad45153ba44110c3fa1e0c9da88156e09ad6924b4fb3e51f8e04ad6b4cf30b6fad45153ba44110c3fa1e0c9da88156e09ad6924b4fb3e804f3a031c1783679719935cbfd9063f9a0393847055b8aeee2337378fb79835e3727703e62b37bfa08eeac7b53628f8a2a6e3e740da713537161dbc0ddd9a2ae3727703e62b37bfa08eeac7b53628f8a2a6e3e740da713537161dbc0ddd9a2aaecf6ce0c0366f7306a94544f12d1759a84c208ff103406b9e82ce277ebf683fb4b69755b21ea12bf49aa0bcc058ba0b8eb61e030b94948d2f1d3d413a3cf425b4b69755b21ea12bf49aa0bcc058ba0b8eb61e030b94948d2f1d3d413a3cf4253fdc856cdd6883429f2f25d0d0c276b334154b4f855ddba3c1b9a51868e158c17c8650fc216302aae04826b7660ffd899324bdb3bcc21c7a93999bed868fdee57c8650fc216302aae04826b7660ffd899324bdb3bcc21c7a93999bed868fdee5d0629f8ffbc7b16c150de28a2ef9f57e3def51ee642844b24826340c21936de1cdeaca74edbc59d85f58823d034a25cecd29403a4796ba2d6c501a83493d38e3cdeaca74edbc59d85f58823d034a25cecd29403a4796ba2d6c501a83493d38e38af7391305a2da76fba388cd3145ea1b3cf1d01ced3835743e07abaf9c789bfc5ef623ad9f7b6b1c18fd40f3294f42daeb2f704f1bf719fddd3c9f8c934f578f5ef623ad9f7b6b1c18fd40f3294f42daeb2f704f1bf719fddd3c9f8c934f578f701248590b0ef2151702cc926a5643b3e360c2ac9323aabdf3e81556d62df14ffff3e37460012fad877e9b924cb20cddb949c9d491e64982c08afa0f0a88d081fff3e37460012fad877e9b924cb20cddb949c9d491e64982c08afa0f0a88d08136544ab337df310ff8cead337a002a8331500bbc3901f2b007561de5cc9a273e932c57e0d889bf93071ff35492ee4e778796fee77d866c4972ca8233c3571341932c57e0d889bf93071ff35492ee4e778796fee77d866c4972ca8233c3571341c5a63d447f21c833ae0da70f8f719a3c3a1b3abdf2428bd8083e24271ae2ff6cd21c7babf6f910fd2b30d6147e1177ec95119c8171c5e2f3dd59566cb7405533d21c7babf6f910fd2b30d6147e1177ec95119c8171c5e2f3dd59566cb7405533dd3943eb360ed222fb8f7bdef31bc033e0cd79a3d927084eef9c697c9ae23c6d48520b457d8af3bc3938d488a2644d1fef7e305bb981d80d9802a042d424953548520b457d8af3bc3938d488a2644d1fef7e305bb981d80d9802a042d4249535b2825ea72f2a03499b073412114d8b13331548b52cd50c51c470a2c49a75f9db661affbf55cd4c8e98c454dc72b55bb8873af716b92d2e3931d60b2577ff73f4661affbf55cd4c8e98c454dc72b55bb8873af716b92d2e3931d60b2577ff73f415326d40cb8b596266c1844b34d4e38dbd745d6ef5b13eafd998712b82f2c61c006f0d446103cb306e5cb087452c1c31608ab3ff00b98ac98078c5bbaec2a1c7006f0d446103cb306e5cb087452c1c31608ab3ff00b98ac98078c5bbaec2a1c77cc2e93b366471849049be8efbb48f3ded3449554b7d47ae317bca8f9469e6ecb68b5191197358c9cf793fe51f310ed75aae8a83ec6e9412acef35116a806e786ca1c74fee01c16f921e149be52bf2f6b6e4967a2d9ad22b5a6a3c838ff1cbede4adadedc4e88d8d267d3925521ee3c198f62a3e3045e4ed623e5c87da36b31e7a648839c3dd1d9df8bb9248c48332e698fc3f47f6583cb3deefb6b3fd74239a7a648839c3dd1d9df8bb9248c48332e698fc3f47f6583cb3deefb6b3fd74239a5a353b7d19ae329dc39d3da6bb069a1da1a8308046e427bd7a549bc5b76219ea1af7d39e1c52bb93be903782d24f5d66442452c2b53e18628c54df23f304478e1af7d39e1c52bb93be903782d24f5d66442452c2b53e18628c54df23f304478edd80e87c9efe674fcfaffb1b618df39c65203eb9c797be197836004273fa455504bfc788533b2e2408444c2d67ea2864c9e6afe6e4a650aa06e6d9546800559a04bfc788533b2e2408444c2d67ea2864c9e6afe6e4a650aa06e6d9546800559a65e49d441ddfbe86d1fff3b1a282922f4e07f5e6b2a1b7de267f5699187608671fe3d1384e43a816e6530da7e2571e5dc7c82a9176ca58142492f760206d676c1fe3d1384e43a816e6530da7e2571e5dc7c82a9176ca58142492f760206d676c180150ab3978a5bbcbf2865ad89a0c1321311476265639e80cddf62869c4b8d838e5205ca665645d25d1a0bbfbc1ea82de324fa7f65436d60c762e9ccc85278738e5205ca665645d25d1a0bbfbc1ea82de324fa7f65436d60c762e9ccc852787b973042479c329c201cc87836a24e5568ee1dcbe741d6b45ada1cd11aec8aaf33e675769ab79ee0e94926bf1c36cae8908d6d32024ef9dd55140bc994fbb67643e675769ab79ee0e94926bf1c36cae8908d6d32024ef9dd55140bc994fbb6764a4c758b519ca93c0fb91d9a1814f840a23dd4e5e627c1c2e30ad982293a4d8fc03bb09e7759421f778679f11c9d6551ee1b9692819cad6b9a1b80d81d521f1d303bb09e7759421f778679f11c9d6551ee1b9692819cad6b9a1b80d81d521f1d3e4006446a570f3f42ab816522bc72669f84c95d61fbdffa1317b53678e1ccf2298156fe4ccf451f3795ce366bcb533986327c2878a8bbbea4abfe998cbcd3b7298156fe4ccf451f3795ce366bcb533986327c2878a8bbbea4abfe998cbcd3b729072ee06661189504acb6bf295480177c1dd1a7d44ff20cb713629988a4295f7bf570b657e1281309d4a077f16f7a39f4a88aadaede9ed795e9da28c7618cf8bbf570b657e1281309d4a077f16f7a39f4a88aadaede9ed795e9da28c7618cf8b66c84926284d2d1f4f37a8bb3b43a66b8b6009d36980e8b6f8f2d652d40a4cca75fdf4b6aa9396c8e6c5b666237affd97f73a80c5846d81b30cbadceff65345875fdf4b6aa9396c8e6c5b666237affd97f73a80c5846d81b30cbadceff6534586560e341ed77f740579a35f80bcf2bbdc511faa59a8bfec235821d05b815531f71b6cb00284e4c987218f5a243adb221aeec2974d58f685cca4580950c4d176371b6cb00284e4c987218f5a243adb221aeec2974d58f685cca4580950c4d176315c398426ddb0c2d85b234b24a588f9e96fd9f1ea4c139e4bfdb66ea852b6182afc9db85d647e6945929c6c272571b93e28ee56d8f3c297332321f47ec4651e7afc9db85d647e6945929c6c272571b93e28ee56d8f3c297332321f47ec4651e7a85cd43e69df6735f7fd9634939de891b9c87fead51730bb413ef97b9c9c952ea5200352ca23334d161b741f477b1929cbe681048ec3e0283b474edcbde87501a5200352ca23334d161b741f477b1929cbe681048ec3e0283b474edcbde87501f5ab2d240273ec7018f29b76744f53f1a4a5705d30202a9039c8646629680aee7dcf848812e7e611b81dc9ea7673681d5a0304806cf8975a3c91b7597e4532897dcf848812e7e611b81dc9ea7673681d5a0304806cf8975a3c91b7597e4532896a9ff3c4b43f3fb18813204eda59f2f664c3fa386d1159b4c4d9069cc80359fee23ce81e5f582a5c35b65e12848bedea8220112edc355c52bdb0eee5de09a6b5e23ce81e5f582a5c35b65e12848bedea8220112edc355c52bdb0eee5de09a6b510650bc71415cc963528505a4eff2c98095aa8c57ed661a0bee1bdb7a01b1402fef3dd6c8e356f66192e429d367fa08bac6ac0b872cb7f83a83fa7e2cc8a0b7bfef3dd6c8e356f66192e429d367fa08bac6ac0b872cb7f83a83fa7e2cc8a0b7b4513bd466e148b8a133e28cf5074d557f9840fcf475108d710d58bc3eb9e4c50f52e8cce88ef880821b18aa72a4f594e40b89dd0dedb342a93ae28d08ce0a9d3f52e8cce88ef880821b18aa72a4f594e40b89dd0dedb342a93ae28d08ce0a9d39dd6a1cdba476f92309e836b0ec4f375bdbed4fddf67e6f4c0ebc7e0a87abb5d1fa9b35c1bf2ac7765e0fddbe201c08cff193da3ae32cadbc8f6977fa1b08a4b1fa9b35c1bf2ac7765e0fddbe201c08cff193da3ae32cadbc8f6977fa1b08a4ba0e172458723d3ef67433a86a336dd34555f0c0460525dfcec90427ddfd08e191e72b1bae62363d3d9407f05227a55fcb56bfb3799118cc7fc5c9857e500858b4c29151a48c0531a0d4f1e64dfbbf92d70450ac11da2ea5d4033d6dfb1fee58f0cac790cac0fe262c36d94be3a10946384576f5ab534b135f0a3084e5f3e662c1a0fe97519836055612273dbffc4674a7938a085def3dec1a92701272d61549a1a0fe97519836055612273dbffc4674a7938a085def3dec1a92701272d61549a48c96b9ee40f1479a028ed9670b66bc3cfa7ffc10f0bc348bb964975d5a917f2fa5007960c757a9f47fc1df1e2f7f62512c8fb3ffd114d35908e11e1125a7d18fa5007960c757a9f47fc1df1e2f7f62512c8fb3ffd114d35908e11e1125a7d18376db4cf8539ad3256a0ff2cb9c7dbb25a3ddc0014814136cf6b0c3b13fdd4e167a7574c608c88de700bd4b6eb7ee69f50c89160a4650c8748ff7471729d247267a7574c608c88de700bd4b6eb7ee69f50c89160a4650c8748ff7471729d24725c3df0b0957edcedb30947fe7275ab161e7a206b41fc32d4d5ebcfa9e7a73fe546eba5bbac10688ef2b3704a560dd912d20954bb56140457e9336d2c680e0f1746eba5bbac10688ef2b3704a560dd912d20954bb56140457e9336d2c680e0f173fdf844288f27f7b18c8ceda75714207aed20fabf532127bf300fc290a49127f8ff9fe9718e6bf11c980aceff38a428aef219afbfe7cfd1f235e2752bab687b98ff9fe9718e6bf11c980aceff38a428aef219afbfe7cfd1f235e2752bab687b908309481dbf409dc5a218e6eabf2cb2d6b37d680494130a04bd2a84b50b52ab11d3884aabaf81022b907ecc38febc02ab41c27f78dac9937a78233f173b7877a1d3884aabaf81022b907ecc38febc02ab41c27f78dac9937a78233f173b7877aa961d4de1fc1021c97a00e3ecf159239440b746f00c95ae1b6d1b497590b9296d09452ee54ef08a296992070605b7481cbc99372e8123901e8fa61431cdc6d7ad09452ee54ef08a296992070605b7481cbc99372e8123901e8fa61431cdc6d7a276d8efcd1fa00da8cb0f41a78b5fd4976c77a776b0615f7753a3719cfd394afdc685c33caaebb407de7a9a2911cb44be6cf412b64426be80a69158cb38a2535dc685c33caaebb407de7a9a2911cb44be6cf412b64426be80a69158cb38a2535d4a1c09687d31042a05d0b0003d50841bad0cd1068d3f85ee42fe3849583bd57ccdd1dca898730f609c8fe8c325facf4e35c89fcfb14e9dc15e0760f8392fa89ccdd1dca898730f609c8fe8c325facf4e35c89fcfb14e9dc15e0760f8392fa8979c1715909603177d7799356d21557add7117884fa6e47a06c84884894a73549e37ea6e92361cf76fe57b6cf1a4993641eeecce1f432c0bccac879bf88e01506e37ea6e92361cf76fe57b6cf1a4993641eeecce1f432c0bccac879bf88e0150679b408b2b831b0c1a76809d9f919bde5fc366cc65889cf64710e5518eea7acbd63d0d9f6b697528120d85c4e232e12a2d0fab91a79ec5e8893111acf8b10fc9e63d0d9f6b697528120d85c4e232e12a2d0fab91a79ec5e8893111acf8b10fc9efccdd10de78b4223cbeb71d288d8ad530c75b99cb590d4ea068204f328217a687623b99b2527cd9c2c5a434a0d120bc52cb634585330f815c5bb94d9572dfd2e7623b99b2527cd9c2c5a434a0d120bc52cb634585330f815c5bb94d9572dfd2ed91f3f8da496cce3a3ec42a3a722ceee3e9e37f0315ee6e9311a5e7c8d9f8f7a574cb6a48ccd03a3e3e3978b09534f197495c9b042684577e8408778161c4d1e574cb6a48ccd03a3e3e3978b09534f197495c9b042684577e8408778161c4d1e9957bdbe760ce2b232c65961c2a042a5a8c5e20632bc60a247ca2dfb3b5b599982817045e025922b7347006a36160bbf9043c888ce1d66f28916561d0338618482817045e025922b7347006a36160bbf9043c888ce1d66f28916561d033861841fc4497b515de787b0610133cf99512239af3cf44c4e968ac19f1aafb11964c49fa7e01003ec62ee1ffc970bb13ee4e0e893e13b31080b7c1e87c265553127f39fa7e01003ec62ee1ffc970bb13ee4e0e893e13b31080b7c1e87c265553127f3f39eb732acf50f0e0b0d653731f0231d214f9ef353d7315392922e4cfacdfa6bc0748a8b7223ed0bd9c705b3c42d29e999d1b5877074c0b141198498f097fd44c0748a8b7223ed0bd9c705b3c42d29e999d1b5877074c0b141198498f097fd445d29bb140d8dfa95f274883c593bb68d1ec875d4bc3f656a0be899076446a95fb15aed40e2bae97ce17d86de63aa1115fc660065168bb6b004cc2ad398dd95fbb15aed40e2bae97ce17d86de63aa1115fc660065168bb6b004cc2ad398dd95fb3b075b93eaba5de200aa68fe37a3e8eec0967d2e4c27a77b837ad30aa887067cc10ed00fa5950f5b2e71cbdd44589d4f7e301b8a06f815d99e1e010ebd61f92dc10ed00fa5950f5b2e71cbdd44589d4f7e301b8a06f815d99e1e010ebd61f92d7d683325d35a31ca326e430c0476563393804bef92475b6cbf0fc8ab4fd730d61cefa29a4b1b767c5c5c5a4241ced19e54b9e27e551b249daab1f9a5bfc5d6501cefa29a4b1b767c5c5c5a4241ced19e54b9e27e551b249daab1f9a5bfc5d650e3807fc51214d35c0089dacf3a69b7e0d4d978df162f635639e5f813e5263f8b8b0513a7f599910be30749c38265878701922cbc279c3af5b7b4b898addff5158b0513a7f599910be30749c38265878701922cbc279c3af5b7b4b898addff515bee46b807e6809566874e09b00609ecfb913318735365526c653e7c9e78a787628471e61146c9b2a513de6006370a790c8d7149ffc73461e7e1c766e9679b6defade2d9cdc460aa6457bbf0b226f286086bef6e69020827fa28098d684c4e58f51c1b52b832a4a91d27ec5330ee00e865d6a01cbb2b59def9e403a64acf42a747479fcad44ed7ab29faeb48989b43743499ee33eb74c01426f7df40a1f32c2227479fcad44ed7ab29faeb48989b43743499ee33eb74c01426f7df40a1f32c222f2fffb7f8ccc0ca9350499765158d67d74fd674bc0eb6c2f0953ded0194c058bd648b477d24cb1a0be56de6fe4ce6b29a294a4b07f345632e54e6f07667be99dd648b477d24cb1a0be56de6fe4ce6b29a294a4b07f345632e54e6f07667be99d25fdc57c2ed724278753bfd25d361f2f2f8727dede1784ff512a72f3826563434774a1869e7b1e0ddee594cd3e14a993e6e618211b9b805513937393ab8cddf24774a1869e7b1e0ddee594cd3e14a993e6e618211b9b805513937393ab8cddf2d7bbd3978f889074d620bb849e021bf06e4bc8a7cd10e054ffd726c79ab8ac492a3e13a7f6073a4b52cbd6eb3489d9b9b92670975bee8c2d5c2b3a85d7bd4a512a3e13a7f6073a4b52cbd6eb3489d9b9b92670975bee8c2d5c2b3a85d7bd4a51d22c7884424f3c5a2cd2c074ed2d43a55c6cc5a90fee76785e443d7cadeaf0e3cb261ff39bd0c20682de8845411d29f94c9d00e9d0a4a1dfea819c6c72b41e3ccb261ff39bd0c20682de8845411d29f94c9d00e9d0a4a1dfea819c6c72b41e3c32daa41ffaec698b966924a4cb2fdeab3f5874a73538b769481dfd31d396f2a79bf6533b47754a7ee36ae97e9a08212483134c6630cc92f81fe83084b535e8259bf6533b47754a7ee36ae97e9a08212483134c6630cc92f81fe83084b535e82596d5b30876b20c41125837e13f8725d2d7efedde3e655673edcc1fc98b8bdaa6fa7811e5f06474ae25ef2cceed22aec533939bc97e945193b5891db727ba2920fa7811e5f06474ae25ef2cceed22aec533939bc97e945193b5891db727ba29206e901bd4e493590b96317bdd8555294f790ab3565b7d0f3b37d2fa69ebc2e96e708dbce1389fdf72b88a34a7a53208276e47f01404aa04accadd2f6b0e989cc4708dbce1389fdf72b88a34a7a53208276e47f01404aa04accadd2f6b0e989cc4af82a1099884370e24bf55b9cb91de797ff753000ee59138b66199291cf32d91e1aa06c01991a365a1587abd6d913f2d2bb771b362f03fd9e65b49d9d03cf953e1aa06c01991a365a1587abd6d913f2d2bb771b362f03fd9e65b49d9d03cf95357ae9272acf3ee3b62332f456bbc3e6e6857d2abef41cd95c48440e4466f53cac2b42ec1dfdd1e0284bd111923e170f3ab61c940613f56a9306cf3bc9908e1a7c2b42ec1dfdd1e0284bd111923e170f3ab61c940613f56a9306cf3bc9908e1a7388499f6288e71a9a0b3691491c35e67caa3a497e8ff48d59b4a1b43748ed23c1f1a79787779453d075aac3b69aa97d12c9bf8c4c4cf6f8c02e46535e2b5733b1f1a79787779453d075aac3b69aa97d12c9bf8c4c4cf6f8c02e46535e2b5733b3395dfb1cc9b32e1abe34227572cc4a8bee00484182a4178d1f6a04391a8a6175d961c70a47d2eed108308ba0d17894732703c3bce3b09174f1358d36f0c5a6a5d961c70a47d2eed108308ba0d17894732703c3bce3b09174f1358d36f0c5a6a2ef3de063dd1ab8d73dd8fd8f2608a26f8328c67e95c5469ef9f4c8b47fa60cf2ff1454cbad6267135c3dc38b8ada883d958c55af1af727e2c179670dbe449732ff1454cbad6267135c3dc38b8ada883d958c55af1af727e2c179670dbe449730d8a81a2269b3b54b459d758187a0f7125284b482a680820379ee3c510cf9f93d26eeb393c3a8bcbcf0b891b4b373c9fb81ac9284b306afb03fef9edb7e17ad8d26eeb393c3a8bcbcf0b891b4b373c9fb81ac9284b306afb03fef9edb7e17ad8db529fbce3f56b6a90f1dc533707f6f6da7844d1f7b0a80702042617d6061090dfeebb9fca38315487b13b8b4923097c0f3350e6ba6503d3458ba604d492fe44dfeebb9fca38315487b13b8b4923097c0f3350e6ba6503d3458ba604d492fe445b7ec58e8c6d933b1c0f09abf0ce806e8e6611352347b719b42f020bddd4cae3963e21434e724e270e6f3a1a813e91de6264a5c347d5a57ce11c27f020a3f1a7963e21434e724e270e6f3a1a813e91de6264a5c347d5a57ce11c27f020a3f1a7f027ab95caf3f2fe6e00c467ec518705f09fe75df8e2d134978a7433455dfb4e68036ce69f881c3276569def7857db912212930c529e39be306c34bc03a5fcc168036ce69f881c3276569def7857db912212930c529e39be306c34bc03a5fcc15f0fd027d7ed2d6458c3d5273646df6a283ceb282f3c7a10cdbf74d64a267152622d9743553c544ace065289dbdcc06d65eff7364f9765286435bbf4da9b242c622d9743553c544ace065289dbdcc06d65eff7364f9765286435bbf4da9b242c04acc1aecf350f9d1ee89760c4102aad0c3d913e87928d985295271f6b7fd046dc8c8617af60d23121ba0534f434dbca1b20d1608d3e99fffa33af32cc93fe2edc8c8617af60d23121ba0534f434dbca1b20d1608d3e99fffa33af32cc93fe2e0a78234ad042d2798edc46f852692eaa72da802269028b89b7b2a45b2361339b7c94757f41779397f57f29da64ec3a484f851f98999d59ca2c9142c79ba25b227c94757f41779397f57f29da64ec3a484f851f98999d59ca2c9142c79ba25b2299b9895bcd7e42e2895222560c8c22b4ca1d6d7ee7f56e88ff183c4f984c0269309de79cf3f72253e821a022bcf63ef79e13dbd94e34fcb6bdadd7dd9411c275309de79cf3f72253e821a022bcf63ef79e13dbd94e34fcb6bdadd7dd9411c275dd147d53e605adb49b67911a5f40c703dd21fa3c6191017e595b50aae68eda61ed92f546ca2a84f770a82da3fabed966754905b2d2b4dbc14b9449701a45b250639a5db9897bda2c21d8d306fede208c4bb8608d6808e797846901e0bc66c765253b848db7ffed9369fe831ec2977352f39ec6436a41ee3a18da9b73729095c4332677eef1df35975b271e3fec8a0803a9f6494d9ef782d009a1050183fd22cb332677eef1df35975b271e3fec8a0803a9f6494d9ef782d009a1050183fd22cb01b8011e4f93b0d6b6902e81b095da389aa19dcb3e7779dbb11c55b820d5df9570a72ff9dca9d68f396faa4ff9805a2840c4b21eddd2bca176eea74a54b5164f70a72ff9dca9d68f396faa4ff9805a2840c4b21eddd2bca176eea74a54b5164f7129f41c65b809675ddf1fc1f01f6e0971c6c77966721ef01a153bb748d9e69580c864f9ca062855634e7627303620faf62d757e0f01b34ccc25ed907f73d93b80c864f9ca062855634e7627303620faf62d757e0f01b34ccc25ed907f73d93be972a4c65beec0e487454f9c84291d567cdd0b523ebac01b94653f785056c9e343ffc68d16bdd00c2e9dacc4d2531253cff98124535bed45c5cfcdac599db30343ffc68d16bdd00c2e9dacc4d2531253cff98124535bed45c5cfcdac599db3034439b8c4a58a4432a0abcc52648a2c1a08d1720a6d301c5310d1a0586a59b0df2d4189c79f9d737e90e916e0f35662476c3ca5f140460ab3e8915e37f0da5f032d4189c79f9d737e90e916e0f35662476c3ca5f140460ab3e8915e37f0da5f032d8c7f298390283528a2395751f0570ed090b0e845ebe3af1aa23daef8e026fe48586329c652b502914214bf9cccd214bf7fa30e69e65a6725a2e912ad807b2948586329c652b502914214bf9cccd214bf7fa30e69e65a6725a2e912ad807b29491172f02c08e68472027131ad17f6722dd1aa83023e8dbb0dbed864463e97576b8e17d666e20bffc058122af14460d8d368f2deb4ca2720cd3d1002f16e26e26b8e17d666e20bffc058122af14460d8d368f2deb4ca2720cd3d1002f16e26e2707ac117a078da08190c4c5e27e1a3c28763b98b280f08c07e98e3c45d89867e92ed00fe6017ea83d5312e0696fcb9b5cab97aeaa7ffaa5ec1383f639f04f88e92ed00fe6017ea83d5312e0696fcb9b5cab97aeaa7ffaa5ec1383f639f04f88e60702b9a49156c0eb20361e7d398997fdf6b7385f1394dbfc2a5e7f04d5ecb959391173b2d527ccc8ce7eff7b338adf907572fdb656eb3c109ddfcc2fc40c2db9391173b2d527ccc8ce7eff7b338adf907572fdb656eb3c109ddfcc2fc40c2db1e351960480bd1b76e7ac33ae1b7d86fd1ec80edb3e0d3f303783f1ee1a90051fac77f4ae8a0e43e16e8d79d1f3990e4385b301239b2c3d508cead5d85c1dc95fac77f4ae8a0e43e16e8d79d1f3990e4385b301239b2c3d508cead5d85c1dc95d313a9bac527b4bdd7d0f7a6a24a85da625c6dbbaaa8c3539743237728587ba805b38c5bf6388396545f3b154f0c55b702fc1209b891aadd728853331b13cee305b38c5bf6388396545f3b154f0c55b702fc1209b891aadd728853331b13cee35b383c2e5e3ffb8fcb8678c6863c03ece1db5be915af84403b428f15ddbf169232eb33777711a3b84516e2e392fc799796e10a3e8158fbe5aa4b25f2f885cd3c32eb33777711a3b84516e2e392fc799796e10a3e8158fbe5aa4b25f2f885cd3cf1fd62ac9f37efa70df8c5e141088f23773e6724ab5d6c359e61dccb911d408f165792072e03aee799fa5c1a44f2e7a6a48ac1e62bd62e39fe993a5a1b0ae23d85b3c24d047ef2c767b573dc08fb9907255e3137af612a84863985df11da9c0761f2d3a98f9244f275da75c3dd483bd4f581424b0054a1207a79057e9dfda7d5db8ea8ee4e192af4e36c9b89de3bf53ce8751e3dda66ee259e7d4e8aec587144db8ea8ee4e192af4e36c9b89de3bf53ce8751e3dda66ee259e7d4e8aec5871446abb8b3d4c65fda06934413a706613f00ea63a01438ae454f01c7e02e7366df8058fa1e78fa8361a5e381ae1205757e373255e50bb3e6509877b1eb50ded557e058fa1e78fa8361a5e381ae1205757e373255e50bb3e6509877b1eb50ded557e3fd4ac10fcccdaf6b359f7c43d2784aa9d81860880f4471641a6581976168c679cd4bd33e79384b7b38917b40c60dd6993ba2547095f4249ccc77616a3e2428c9cd4bd33e79384b7b38917b40c60dd6993ba2547095f4249ccc77616a3e2428ccda6b19be53b7f455fd77488c41c73f9405ed7652c70a433dd42ec8f081c25321061d45a02da6a6ed2cb201de1501bfbe577b258e7226c20a3167c22483323db1061d45a02da6a6ed2cb201de1501bfbe577b258e7226c20a3167c22483323db7c25628bb6b1f6cd3a4356ea824cb669be7ac3e128f237d16320ca2856b20054181754cbefdf65ebf0c5c667e65183c2fa4a77f9e59acb9b3ea4d7d5dfcd381d181754cbefdf65ebf0c5c667e65183c2fa4a77f9e59acb9b3ea4d7d5dfcd381d4a9f5aab5b9110932ff16c02b7b69a9013a4aa56706ed2d100a07cb4e7bdf170635c21c65ddfd733259bc13299e9ba22fd557c508c1a0b571da168f3533fd60f635c21c65ddfd733259bc13299e9ba22fd557c508c1a0b571da168f3533fd60f229dc5b6b3ef33d9b1383b4927ccab1be56586a02bc6472417ec1c07630d2d3b05c3ae208336017e368c09a4cd504abee682ad706c3e3f634874e836e90987e205c3ae208336017e368c09a4cd504abee682ad706c3e3f634874e836e90987e29a53395858ce9105d8ce48c82eb5c1b7d003f162ba2c5bfdd18536c84e4640c0826b107862261f6f225f54bf0886f982902e22358de9c801e39b8296996f7141826b107862261f6f225f54bf0886f982902e22358de9c801e39b8296996f71412e0603063a1b6733bc7036df47d298530334666be0eff648b584d4530a9d11637219dddc94d6b91a2bf605441557b19d1727db0efb4cfca6b4c70de4522b87547219dddc94d6b91a2bf605441557b19d1727db0efb4cfca6b4c70de4522b87543b79c5d1bb4373d0d38846b56c3353f176f5cd20b31e5ca02ebd5f5f4bfa8cf8bda9554ee5ee2123880086cd983ccf25749ac1cece15caafeb9b0c77e8b85bffbda9554ee5ee2123880086cd983ccf25749ac1cece15caafeb9b0c77e8b85bffae2517bba728a41f2aca5dde27072f2ae9361ac082c4bcb1c62d70b3012b01c9774054363573d75f9ea673775e26ffecf801966342c4d4e6a16734e3180d416a774054363573d75f9ea673775e26ffecf801966342c4d4e6a16734e3180d416a3627ebd051927d6e3fc2cd668c565074162cafb5946c26ceae3c50079bb0442b5cb6a24122fe8122cca32a01f9940462ddac4c7763215038f93eb15eff5583075cb6a24122fe8122cca32a01f9940462ddac4c7763215038f93eb15eff5583071ccb5d8c5ac2d52f4cfc846d48bfd1e1f5906de7b42ce13104ddb221d8c84994381c3a3f0d6073f2c0ae65da3a28e091b77297344455099ba755651ebae9eddc381c3a3f0d6073f2c0ae65da3a28e091b77297344455099ba755651ebae9eddc39d063c1f063e652b2dc7dfc735222ef6e877d49f3355a6b20cfa57d5f633ba8904efe84d162cba043e5d96ef0d083f08175cfa7966581a92bcf7966a3a716df904efe84d162cba043e5d96ef0d083f08175cfa7966581a92bcf7966a3a716df99e879485ecf9854e48028b247cfe6ef7cb93cc1460a10759dfe42fc65ef59640dc6dfc9d24ebcc04d88ae14ab93102d09f1f0d353b26550445ef563b3d26e640dc6dfc9d24ebcc04d88ae14ab93102d09f1f0d353b26550445ef563b3d26e64f89fe6c8c1422c4ce6cca9a21f9b43270febec39959de08c1d79f814cc8a47dcac33be78d1a1db9933e28ded175c372d4655429a2cbf5eb4fef6d59050aff259ac33be78d1a1db9933e28ded175c372d4655429a2cbf5eb4fef6d59050aff259ca827887c7c3cff5df916f04877f5a3a4b72816afe32feb5fb13ef599f0d7d6087b145f5ef48bf75df4789cfa90da0625868f61871f0369f1ea1939173f15a8387b145f5ef48bf75df4789cfa90da0625868f61871f0369f1ea1939173f15a83857242bae2d39aba93d8fea3c49b7089c0563171b632a291258bb28c152e413c0701fc9e639a9ae1c60a4efd051b08a9c75fae2c1e6c92f454dabc6ea864ba8a0701fc9e639a9ae1c60a4efd051b08a9c75fae2c1e6c92f454dabc6ea864ba8af9fe2d8780782513ee395565ba5cad1d9ed02e5214e72f7c97e2102ade1513c1394683af56f6f26e30df91110d032dc987a30389579499f24c54fcd0463732fc394683af56f6f26e30df91110d032dc987a30389579499f24c54fcd0463732fcba4bb1013af882bacc31b916d13955f6562a80a95ead2da950bfd5101436db95fb7cdec80a5b46028746ddce85bdfa4c96f128e1e2c5d358e6005784fb6fd4d9fb7cdec80a5b46028746ddce85bdfa4c96f128e1e2c5d358e6005784fb6fd4d933b7c1222cd9308cd59b3c3153405b0736159599bd7ccbfb56a5f3ce461eb1634064c0b9a302997951b9b5d2aed3bd2c421d82c2069746d168f3ca71bdd875144064c0b9a302997951b9b5d2aed3bd2c421d82c2069746d168f3ca71bdd87514af8222afdc2fedaf7ebe09c2a70e8c09b46ee793dd37aeb58cd959c49fb1829e529e8e793776d0ef0d786c067c88252e736e0a2a5ae99e95595ad0d26da92ef579bde439841e3ce52e170339272eb9497d43b6f7d67ad78420c4bee5f53c9e49e1e46806f42b93bbc3306cd2e61f2ae1b4b87a194eef03cce575025f8a017ebcbe6f60579ff34a96778f32c5a39821a60bdfc77c099b1b14b35961a93336a79dbe6f60579ff34a96778f32c5a39821a60bdfc77c099b1b14b35961a93336a79df39f44a4679cd1caf07bde0c7cc764062945cc30376532b030814a8d1c0687bd973d2ad946125c15ebddd6f321cd70bb006d03855fb5f1ae244a64df17e8ba01973d2ad946125c15ebddd6f321cd70bb006d03855fb5f1ae244a64df17e8ba01e0a5c4c2deecd7a9181e90bacc1eaccc714170b151cb1cf4ad0f91af7451e89994818231a98079a3b4d59f77c677b73465ae1cd1fa2bea25a453566c4b05f53794818231a98079a3b4d59f77c677b73465ae1cd1fa2bea25a453566c4b05f5379bc27afebdf8dc26c3976bee2d33e5e48cf2dae3ec873b056cee8d06a26a0bb30dd721b4bf6fdfee6657d336fd77f7405defd5991366b457d61bddeaf8b8cc7c0dd721b4bf6fdfee6657d336fd77f7405defd5991366b457d61bddeaf8b8cc7c9a0fbb55004015fadc5e7c52d1a2ed4f6dc2f5cced59f99f402a0fc2e46619f26ffe914bd398b3fa73d81c3415b12c2e5ab1216c0d1f567903b33585a2f316d06ffe914bd398b3fa73d81c3415b12c2e5ab1216c0d1f567903b33585a2f316d0c4c89797d36a3129f28e9454de441753f98aac05ffeadf6c3a39f8a3fb13d23887f7e4e6e2dd91074eb46dead48c0f14b01da149c5f962ed0af1d7a355c48a5dc573cd3dd6c9c606132659b324d32f58319e9f84173a120bde704b9f1cff228a9284745e711edf665156e6bdff491c049197ec048f07ce00385723989dc85107972255b4f895202354e3b51532dcd96c7cdafbc18219d821a6409569182ab7e7972255b4f895202354e3b51532dcd96c7cdafbc18219d821a6409569182ab7e74cba08848306d919e5ba23639f0468378f2f4992482094524aa5df9338066beaf86e8021a0f1dee6043c26af2691c23770be9fc6972145ee65d434992d8b8909f86e8021a0f1dee6043c26af2691c23770be9fc6972145ee65d434992d8b8909745f484d75b9d0991e62ecd8f195e63e87bcc768bb514761931df49d39677705314f53ae49abbec174226d9769e90ffdbe099b8860aa84beb984352bca01c017314f53ae49abbec174226d9769e90ffdbe099b8860aa84beb984352bca01c01773366016cc72764f68f3aa34b6092d547258adbb4013d105cc08309c450a06d90704dc22a5bc2f9314ebc16c96ae37a2b7b0456e036dd80456d5b5b77f7664910704dc22a5bc2f9314ebc16c96ae37a2b7b0456e036dd80456d5b5b77f7664919b8285183531187b894388d321eb368a96879cf425cf285e9d213c6bddecd45c295585c3f8bf526d21d75bb45a3ccd83e4f1a5b6b847b544a8b1479d0cd549c7295585c3f8bf526d21d75bb45a3ccd83e4f1a5b6b847b544a8b1479d0cd549c7bd9077a729996c6ba123fc3d80b5e766124205bbc47bbe5de3dd9ba87c3fe6b8adf487fe335926422e04ae904f2ce7fe6db183fdce94bd0b83babb8571b58e46adf487fe335926422e04ae904f2ce7fe6db183fdce94bd0b83babb8571b58e46577f44c5548efedade27ed61c80b7b453b0807d94c477585497cebecd563dc968bbaa30058aac90dc7125424569058cf078861507666f2d347ae55220bd760c18bbaa30058aac90dc7125424569058cf078861507666f2d347ae55220bd760c14b7ffd754b12f882c30c366b60c5ee301b80379206d4e89a19c03424298ca6b9d2e3ac644c1057e15f835ea94f6cb6fcaf06d5ba1c610328465243438be8ee07d2e3ac644c1057e15f835ea94f6cb6fcaf06d5ba1c610328465243438be8ee079b88243d0b985a0679aa8c6e7d620e244e9ad68efffcf0f98461e7c4c4c1e2e383e0d76a74566a9dbd5bcbe75be2b0bf36169314bc3c9cc1b77852a463a6c8e883e0d76a74566a9dbd5bcbe75be2b0bf36169314bc3c9cc1b77852a463a6c8e84eb152a3e36ea71df4221ce06a04f54470604c799153375a6c159700f7298f6c34abfdce77ac89bb8c92f31265c9cd5417c53c3ef0e43a2d6274c740dd6a155434abfdce77ac89bb8c92f31265c9cd5417c53c3ef0e43a2d6274c740dd6a1554b307a453da7044c3ca573bde840cb06bd29cb65e01f9d503850d07865f4f83fb53aefa3aa7c064bfb6156e1cae2d8d813b168855f8d87598b3ad87c678c7eec8efe99ae1152f21288801338ff60de1baf0021fbbbc55e05c9ed2b8c7a83883f1a926399c1c04c0be696cb2433b8b8c5994513007fa255b135bef7cc7f3cd943eda118cec87d7cd2552481e7a00d615b73ce565844dc93f8d132fe73a9f1e4b2f6afc2ec00819b07f9b541ced3066d448446d87bb7c4c12fbf5083321a19c2c6b4097667ead7d69e4f774f0da1d169f6b0eebe5f978f051f217d7d874df38e8d4854723ebf9500372d447c0dded0df9588369070a80f9659de2b36cc4f25f463e2a7c9ae285f35dbfd3e6c6e98db4566212ae84b59a56d7715af51b28b159e0b86c86e661ba9e3348a41470b6fd9760034bcf4125dad4a18c1c90877f999c56d6f7569fc8a61e9c724b05412eb1b6c08c5fd8042b78269590e10b96d518d75124f7569fc8a61e9c724b05412eb1b6c08c5fd8042b78269590e10b96d518d7512424bd3ee133d8f4329460ae773f86c31761c92529de074cb647c47ae2209bda36e058ddef90f9edbe5f243cdd203a9916e6b7feef12c00fd993e8a89af04200d2e058ddef90f9edbe5f243cdd203a9916e6b7feef12c00fd993e8a89af04200d2a9541ef28b5eb96cf1ea1e70cef2f5594590d88c2d082bf6d5a64d332898c8af8383c360c1ebc3e6cd007d50c1b82dc275bdd56ffd814a7c04ac812cc578677e8383c360c1ebc3e6cd007d50c1b82dc275bdd56ffd814a7c04ac812cc578677e6d83665108631f3d98f70877e54175c654f046a8e31696166cf49dab491d76690e89c144894d0404da6a30136a3d4b2c94017df464fb0f89bcae77a902d1fe630e89c144894d0404da6a30136a3d4b2c94017df464fb0f89bcae77a902d1fe634f32f5e5a82e6302b3f9118421a5d677d0d67d3a2fee344bc19c6093b961e8893c84ddf9555e5a31fda5875d3a74fbb4b8340c716e0c2d6a39a73f011efedcd93c84ddf9555e5a31fda5875d3a74fbb4b8340c716e0c2d6a39a73f011efedcd9f1b7624b689fc06e5f54e2762da9140306688cc5d75137a6596186031c599953011ef7312d3b316cbb6e283e59b76ac79eb35325d40826df603e39f1d73501bc011ef7312d3b316cbb6e283e59b76ac79eb35325d40826df603e39f1d73501bc037456edcb78c05f4e0e142c4d1a846d740e775b638383e227b60e06afd6c6690fa473eb92e430a8b303bdd586626375f6e55b33e8a9b019a8916feca43c56f80fa473eb92e430a8b303bdd586626375f6e55b33e8a9b019a8916feca43c56f88128613707c1926a9e05772a6a3af0b32d67665f04ba8e9193488fde2e2c965117eb68f120331703d83389c568068d58aa4d8eb23ff701dcd1f583525ff4e94f17eb68f120331703d83389c568068d58aa4d8eb23ff701dcd1f583525ff4e94f536180fb621803c2606b2d96276cf777276fb421f653798fd6173ccdef659ef19ce2d245df1715cf65f0659054c23e3571690b95e992e885a9874bb6a660c1ab9ce2d245df1715cf65f0659054c23e3571690b95e992e885a9874bb6a660c1ab0c6e58e310f78802fd09f854c6f433b4decc3b07c8a28e1df2d76db718bbf5538da59849095346175ab0657a36fc25f230474b1062ae7d3cbfbc91e1ee658c2a8da59849095346175ab0657a36fc25f230474b1062ae7d3cbfbc91e1ee658c2a9d1b69236bf74e002591883dd3e02e33d18747bea25b6869abda3de25031c465faa3c5969f3a9e4a3105de42965413ce7128ede00f6088f4997d407a9d250d0fd8cce47548758ae4522dfb512174f249d0080d29418407f52e2677711fb3dfddb342fb5926095802e45c435cb17045c012002f077d92dccfcd747f53e46370ab832e254214987ca449ec7fc7e126d6e0033e1e4192c82062bff4c02cbe0bdf0f832e254214987ca449ec7fc7e126d6e0033e1e4192c82062bff4c02cbe0bdf0fbf45872bf8522d21220aa017d4aa9f75e754fba005bdd1e7bf71d9db2e462476b5afb3b5d09b164e550ff9d70ca27435611d61c2aa845210fc9f8d3bf1308ae1b5afb3b5d09b164e550ff9d70ca27435611d61c2aa845210fc9f8d3bf1308ae1ebd8846683f70bec3bc6ce5e7238965a1ed26bc2b1f58edc4ad194b0bde9488a11c9688368b535281fe46e71cdbe410a660828a12d466cfd72f8381ba1a78d5511c9688368b535281fe46e71cdbe410a660828a12d466cfd72f8381ba1a78d55b68cff174b248dfd11a90ac38de757c6f102a42627b6242202022c7069e42700f78db8d5a5bb8d30ed365b90fe2e6574e1f1a1af9e76d9ec8a0e6f504bffbd9cf78db8d5a5bb8d30ed365b90fe2e6574e1f1a1af9e76d9ec8a0e6f504bffbd9c7aaa7af08b12d0df319a6aa368beb0b37fd846634fcba335b0584a6ee1e66ede3342688e40d6cf631e7228547aa35297e98d5d29d22c707e1841142e2014254d3342688e40d6cf631e7228547aa35297e98d5d29d22c707e1841142e2014254d8f965c3ad3a196847010cc41632bb82b2db2f0531f96bf634ad2efc2b281244bf64facaa374a35c01bcd3cf512160464a698f4afd99a7aa2e26ac13d364a4181f64facaa374a35c01bcd3cf512160464a698f4afd99a7aa2e26ac13d364a418158b4ac34a9fe736f02f539184c2040e202efef69407481c381d62698829d5c867f52830b4455ace75ea8e72ff6f377752ba148f1036d841dd2abfb57ca89b0207f52830b4455ace75ea8e72ff6f377752ba148f1036d841dd2abfb57ca89b020e8db25e4e2686afa3bf9bdb34a3e446167f1c46afdddcf4cddb96d699899d53e0c1162ae5e8c39437e823c22e6e9f21c756eaaf0f9c02f543a1c6fc562068ac70c1162ae5e8c39437e823c22e6e9f21c756eaaf0f9c02f543a1c6fc562068ac71aaf4d05fb5b22720924f9bc0285b08236934339a10cb12ef59d6f6f932ea5e871e972c266956d9a1b7ba9e763a71c6cf85837ae8cf7a09c40478cf20f37f12471e972c266956d9a1b7ba9e763a71c6cf85837ae8cf7a09c40478cf20f37f124c1624cb7f727adab7a6841b9ad35e82542c98d5ca7b719b06d7b350497a0c8e1e5c5b73c2ebb3599edd685044e4cecc6540620aeca0dfc061d9ec8ffdd7e58a9e5c5b73c2ebb3599edd685044e4cecc6540620aeca0dfc061d9ec8ffdd7e58a9306184dcc4544bd19beddcf8398081727544499c4ea0db48997887832ff743072552ac519d63666ac2e5ac302ff3003e66447ae3369d2b5796d815c428a2f3fd2552ac519d63666ac2e5ac302ff3003e66447ae3369d2b5796d815c428a2f3fd76ce669b2d482275dbc25cab23ee434291d85643f126982dab8540178f7b43ca5e992ac0404cc803703a68b2ff8ae5974286568f3503aa0fa2cf546bc9da0e4c5e992ac0404cc803703a68b2ff8ae5974286568f3503aa0fa2cf546bc9da0e4ce3e7dcf5786986019821abc6d0610a4d17d777120af03219fe45b4765b6ba183296543dea34eb68be03f80de5ae67445b6cdc9456595e5d9a2f54c3a3cec0f96296543dea34eb68be03f80de5ae67445b6cdc9456595e5d9a2f54c3a3cec0f96707465c8ddf0edbe2743e1b868cf23b797978f4b49dfa104fff7362535e8d42352cec056e944d769a2f94eed82fdcd0d3790be8a8da516072cf16e2c27a6ec1f52cec056e944d769a2f94eed82fdcd0d3790be8a8da516072cf16e2c27a6ec1f08e6dae5b10fbb576629840325c04640bed5ebc3679efbb73420e3d321432d9339127e2ed7cd1692ce6f8079a08c9a9c51c93a3f5dd4eb16571fd2d753ee7eb839127e2ed7cd1692ce6f8079a08c9a9c51c93a3f5dd4eb16571fd2d753ee7eb8af4aef706d0deac0f1e3f35b8cc2287cff07c066a932ce6956757fa0eb0b0b0e464149fe50e2aff8d914c8b2a416e8647b4cee7cd4b7cf749ec592a18fc219dc464149fe50e2aff8d914c8b2a416e8647b4cee7cd4b7cf749ec592a18fc219dc5aec8ca9410514f51c5b44d75083476e1a483a07fdaa010514d0abe517d21ac2b3f4194114f79a3bf94e90c9144ffc0a669ddf5e4af72de193889714526dd0ddb3f4194114f79a3bf94e90c9144ffc0a669ddf5e4af72de193889714526dd0dd5354f81927b017153187360013d6cb414566927fd671b9a3651186f0ad4f0142f16498e46c7145bfc59fee09c98b593b3ad1e3c3d29742bfc0442dd39199dd9a51d5ed783da4c5c95663fb8536f07f1eed04c686a0ec540e0ec847391dfd4acecc75015e6749c28dad05de33dcb04635608e43c0bb2d68c38f77164ec263f18bf20dd9bec05c0a0e653c5015816cea452719d46800eaea6ee39810989639ecbd74e59579ddcb247412b1f96fb015740f5aa12ebb76f93766188bf5afa296f8f291a38192e508aa67ec512fa34cbdd0ad8a7fbc1c05bd70cfada92bf1e04c081217d9788a83b3062071bc578124946b4b65a298e6dbbb3fb15e42eaa3fd4fcd8517d9788a83b3062071bc578124946b4b65a298e6dbbb3fb15e42eaa3fd4fcd85398ecd119b0a18fec465d583847fc56ed5c3bee6f1d9f3685944ea790fe2cc41a7200dc91d3845d2cde5ea3ede9141e5659482722d906164949fcb24e44bbb0fa7200dc91d3845d2cde5ea3ede9141e5659482722d906164949fcb24e44bbb0f163598acb8a637d0d8cc928d5ae66d9a814d3916f91114b34658f7328b7fcaa99cb6c7cc46b0d34566a2c4174e29f9378dbe0f9352a2411b8484d1e3ce7ff6e89cb6c7cc46b0d34566a2c4174e29f9378dbe0f9352a2411b8484d1e3ce7ff6e8dee4124aa11516e7dcd9baf53c0d3bab33707975028b667238b98e4247375e23fddefc9e69867af8d935d1561584fac694db18495517f5b4c7c4ea6ce3f330b4725001dd71279f51d6b6456c408d416974e8aac9e6a98475506715db0bc80ba9ee98df7691fdab030d39a237f6c6131341459b8de8605782f3730811b8239fc9f104f5d68c3ab8309a8381982f64f7f840ff3cd28abfcafeaf12bf3afada35ab5b9e2bc90d868efe0656ed88421fb21d39a9d252d25853f98d3f0587c78dc4b95b9e2bc90d868efe0656ed88421fb21d39a9d252d25853f98d3f0587c78dc4b96678b08752b37db6f814e73eaaf15b5b2870abbceec25cfd88ee0a91df5f9761f582e96ca45b1a1b0d68db9b0564fb041c7c4c79577ea9ba56d7a76ae4888b07f582e96ca45b1a1b0d68db9b0564fb041c7c4c79577ea9ba56d7a76ae4888b07c9eb1b30a52546d96481831c9de616bf2de5b3f03334e2346f9390b354bf2063ff0b36d748b53aa6b6f0fb4dc96d90081765226859912faf487cd7ac1a27efc4ff0b36d748b53aa6b6f0fb4dc96d90081765226859912faf487cd7ac1a27efc4488565b025c9798490e71b306e8807bbe104c6d8261ee6efeabcdbed76a38cac59b771ca779dd36fbad406d9f8a406c0877bc588d17742df39e5d68daa40f17e1dcb802123521e3d08bc70e591c698c3aa94e3bd4879dda2fad2447923431ef81dcb802123521e3d08bc70e591c698c3aa94e3bd4879dda2fad2447923431ef828c96e551b734847c72fc13bf627f73e698245e9eccc787aa03b7ba6215d12afafbad9944317f03b429ec7c62eb4e93545a131826db25fc3552270c2054b0670afbad9944317f03b429ec7c62eb4e93545a131826db25fc3552270c2054b0670d2fee24a21d474e0d41f0b2c823abba8992357862031e92b39af0d03d16123e5db94ef31c7f42b761853a59b4b586a793c7625f3150e8f0e9e17a822e6699665db94ef31c7f42b761853a59b4b586a793c7625f3150e8f0e9e17a822e66996654a9e6ce96f4040f71201b08f987dac853b1dab442e7599bf3951b309d81c98f3909620f24279de678addfec668dfa09e474253f34ac5546a9184fb3118ad224b909620f24279de678addfec668dfa09e474253f34ac5546a9184fb3118ad224b9152fc90d3c84314239b59356c452c7d88b88fe8fa96f2f123d25437728bb82efd605526a1004b662620292c1d808ed696b5cc61d9c5748121fd10807123998124b3c8e971a76d61cbf6a1bc9f9806c2b8e651a3aae2978c21a5654e98a3ff339e9d7525d14bf7361d0dbf63325537bdd019c67d7dc265431266c1c13877b1f639de99c00960b9356996859dfbc79b3ebec6aa1d3e821a1b4bf1b80168e78b70f72f6cbd7dbf731c6b18b91364803144febf51d44c3cf515c500dff961dbbdfc67c92259786ec947589803b2ed61f66761fcbd6f4ccd352f43932fbf9fb5eca367c92259786ec947589803b2ed61f66761fcbd6f4ccd352f43932fbf9fb5eca319cb87050b0fb410da3b88df752c2e1bdaeec77ac052b04febef31a68823cfcbpython2-configpython2.7-configpython2.7libpython2.7.so.1.0python2.pcpython-2.7.pc../../libpython2.7.sorootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-base-2.7.18-150000.111.1.src.rpmpkgconfig(python)pkgconfig(python-2.7)pkgconfig(python2)python-develpython-devel(aarch-64)python-testsuitepython2-develpython2-testsuite@@@@@@     /bin/sh/usr/bin/pkg-config/usr/bin/python/usr/bin/python2/usr/bin/python2.7glibc-develpythonpython(abi)python-baserpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)2.7.182.72.7.18-150000.111.13.0.4-14.6.0-14.0.4-14.0-15.2-14.14.1iq@i@i+@i+@i@i@i@i@iwW@i_@i@i h@hxgw@g@g@g4f@fH@f?]fh@e,e @eedeeeRd˖dD@dq@du@dtdm@dxdc>@cӼc0c|ck@c pcbbb@b@b@ba@a@a(@aim@aI@a'@a#aj@a`t`8`_T^J^@^@^>^>^;^8 @^.^g@^ @]f@]@]]]d@]d@]@]z@]V]y@]9]1]\t@\\7\7\\J@\J@\C@\2[[#@[6@[@[ @[Za@Z@ZxG@ZtRZp^@Z, gh#python/cpython#103848#issuecomment-2708135083).- Modify CVE-2025-0938-sq-brackets-domain-names.patch: we don't use bracketed_host variable any more (correction of the fix for bsc#1236705, discovered during analysis for bsc#1223694).- Add CVE-2025-0938-sq-brackets-domain-names.patch which disallows square brackets ([ and ]) in domain names for parsed URLs (bsc#1236705, CVE-2025-0938, gh#python/cpython#105704)- Add CVE-2024-11168-validation-IPv6-addrs.patch fixing bsc#1233307 (CVE-2024-11168, gh#python/cpython#103848): Improper validation of IPv6 and IPvFuture addresses. - Add ipaddress module from https://github.com/phihag/ipaddress - Remove -IVendor/ from python-config boo#1231795- Stop using %%defattr, it seems to be breaking proper executable attributes on /usr/bin/ scripts (bsc#1227378).- bsc#1221854 (CVE-2024-0450) Add CVE-2024-0450-zipfile-avoid-quoted-overlap-zipbomb.patch detecting the vulnerability of the "quoted-overlap" zipbomb (from gh#python/cpython!110016).- Switch to using the system libexpat (bsc#1219559, CVE-2023-52425) - Make sure to remove all embedded versions of other packages (including expat). - Add CVE-2023-52425-libexpat-2.6.0-remove-failing-tests.patch removing failing test fixing bpo#3151, which we just not support. - Remove patches over those embedded packages (cffi): - python-2.7-libffi-aarch64.patch - sparc_longdouble.patch- Modify CVE-2023-27043-email-parsing-errors.patch to fix the unicode string handling in email.utils.parseaddr() (bsc#1222537). - Revert CVE-2022-48560-after-free-heappushpop.patch, the fix was unneeded.- Switch off tests. ONLY FOR FACTORY!!! (bsc#1219306)- Build with -std=gnu89 to build correctly with gcc14, bsc#1220970- Add CVE-2023-27043-email-parsing-errors.patch to gh#python/cpython!111116, fixing bsc#1210638 (CVE-2023-27043).- Add CVE-2022-48560-after-free-heappushpop.patch fixing use-after-free in Python via heappushpop in heapq (bsc#1214675, CVE-2022-48560). - switch from %patchN style to the %patch -P N one.- (bsc#1214691, CVE-2022-48566) Add CVE-2022-48566-compare_digest-more-constant.patch to make compare_digest more constant-time. - Allow nis.so for SLE-12.- (bsc#1214685, CVE-2022-48565) Add CVE-2022-48565-plistlib-XML-vulns.patch (from gh#python/cpython#86217) reject XML entity declarations in plist files. - Remove BOTH CVE-2023-27043-email-parsing-errors.patch and Revert-gh105127-left-tests.patch (as per discussion on bsc#1210638).- Add CVE-2023-40217-avoid-ssl-pre-close.patch fixing gh#python/cpython#108310, backport from upstream patch gh#python/cpython#108315 (bsc#1214692, CVE-2023-40217)- IT MEANS THAT bsc#1210638 STILL HAS NOT BEEN FIXED! - Add Revert-gh105127-left-tests.patch (gh#python/cpython!106941) partially reverting CVE-2023-27043-email-parsing-errors.patch, because of the regression in gh#python/cpython#106669.- (bsc#1210638, CVE-2023-27043) Add CVE-2023-27043-email-parsing-errors.patch, which detects email address parsing errors and returns empty tuple to indicate the parsing error (old API).- Fix the application of the python-2.7.17-switch-off-failing-SSL-tests.patch.- python-2.7.5-multilib.patch: Update for riscv64 - Don't fail if _ctypes or dl extension was not built- The condition around libnsl-devel BuildRequires is NOT switching off NIS support on SLE < 15, support for NIS used to be in the glibc itself. Partial revert of sr#1061583.- Add PygmentsBridge-trime_doctest_flags.patch to allow build of the documentation even with the current Sphinx. (SUSE-ONLY PATCH, DO NOT SEND UPSTREAM!)- Enable --with-system-ffi for non-standard architectures.- SLE-12 builds nis.so as well.- Add CVE-2023-24329-blank-URL-bypass.patch (CVE-2023-24329, bsc#1208471) blocklists bypass via the urllib.parse component when supplying a URL that starts with blank characters- Disable NIS for new products, it's deprecated and gets removed- Add skip_unverified_test.patch because apparently switching off SSL verification doesn't work on older SLE.- Restore python-2.7.9-sles-disable-verification-by-default.patch for SLE-12.- Add CVE-2022-45061-DoS-by-IDNA-decode.patch to avoid CVE-2022-45061 (bsc#1205244) allowing DoS by IDNA decoding extremely long domain names.- Add bpo34990-2038-problem-compileall.patch making compileall.py compliant with year 2038 (bsc#1202666, gh#python/cpython#79171), backport of fix to Python 2.7.- Add patch CVE-2021-28861-double-slash-path.patch: * BaseHTTPServer: Fix an open redirection vulnerability in the HTTP server when an URI path starts with //. (bsc#1202624, CVE-2021-28861)- Add CVE-2015-20107-mailcap-unsafe-filenames.patch to avoid CVE-2015-20107 (bsc#1198511, gh#python/cpython#68966), the command injection in the mailcap module.- Filter out executable-stack error that is triggered for i586 target.- Update bundled pip wheel to the latest SLE version patched against bsc#1186819 (CVE-2021-3572). - Recover again proper value of %python2_package_prefix (bsc#1175619).- BuildRequire rpm-build-python: The provider to inject python(abi) has been moved there. rpm-build pulls rpm-build-python automatically in when building anything against python3-base, but this implies that the initial build of python3-base does not trigger the automatic installation.- Older SLE versions should use old OpenSSL.- Add CVE-2022-0391-urllib_parse-newline-parsing.patch (bsc#1195396, CVE-2022-0391, bpo#43882) sanitizing URLs containing ASCII newline and tabs in urlparse.- Add CVE-2021-4189-ftplib-trust-PASV-resp.patch (bsc#1194146, bpo#43285, CVE-2021-4189, gh#python/cpython#24838) make ftplib not trust the PASV response.- build against openssl 1.1.x (incompatible with openssl 3.0x) for now.- on sle12, python2 modules will still be called python-xxxx until EOL, for newer SLE versions they will be python2-xxxx- BuildRequire rpm-build-python: The provider to inject python(abi) has been moved there. rpm-build pulls rpm-build-python automatically in when building anything against python3-base, but this implies that the initial build of python3-base does not trigger the automatic installation.- Add CVE-2019-20907_tarfile-inf-loop.patch fixing bsc#1174091 (CVE-2019-20907, bpo#39017) avoiding possible infinite loop in specifically crafted tarball. Add recursion.tar as a testing tarball for the patch. - Provide the newest setuptools wheel (bsc#1176262, CVE-2019-20916) in their correct form (bsc#1180686). - Add CVE-2020-26116-httplib-header-injection.patch fixing bsc#1177211 (CVE-2020-26116, bpo#39603) no longer allowing special characters in the method parameter of HTTPConnection.putrequest in httplib, stopping injection of headers. Such characters now raise ValueError.- Renamed patch for assigned CVE: * bpo44022-fix-http-client-infinite-line-reading-after-a-HTTP-100-Continue.patch -> CVE-2021-3737-fix-HTTP-client-infinite-line-reading-after-a-HTTP-100-Continue.patch (boo#1189241, CVE-2021-3737)- Renamed patch for assigned CVE: * bpo43075-fix-ReDoS-in-request.patch -> CVE-2021-3733-fix-ReDoS-in-request.patch (boo#1189287, CVE-2021-3733) - Fix python-doc build (bpo#35293): * sphinx-update-removed-function.patch - Update documentation formatting for Sphinx 3.0 (bpo#40204).- Add bpo43075-fix-ReDoS-in-request.patch which fixes ReDoS in request (bpo#43075, boo#1189287). - Add missing security announcement to bpo44022-fix-http-client-infinite-line-reading-after-a-HTTP-100-Continue.patch.- Add bpo44022-fix-http-client-infinite-line-reading-after-a-HTTP-100-Continue.patch which fixes http client infinite line reading (DoS) after a http 100 (bpo#44022, boo#1189241).- Modify Lib/ensurepip/__init__.py to contain the same version numbers as are in reality the ones in the bundled wheels (bsc#1187668).- Add CVE-2021-23336-only-amp-as-query-sep.patch which forbids use of semicolon as a query string separator (bpo#42967, bsc#1182379, CVE-2021-23336).- Add CVE-2021-3177-buf_ovrfl_PyCArg_repr.patch fixing bsc#1181126 (CVE-2021-3177) buffer overflow in PyCArg_repr in _ctypes/callproc.c, which may lead to remote code execution.- (bsc#1180125) We really don't Require python-rpm-macros package. Unnecessary dependency.- Add patch configure_PYTHON_FOR_REGEN.patch which makes configure.ac to consider the correct version of PYTHON_FO_REGEN (bsc#1078326).- Use python3-Sphinx on anything more recent than SLE-15 (inclusive).- Update to 2.7.18, final release of Python 2. Ever.: - Newline characters have been escaped when performing uu encoding to prevent them from overflowing into to content section of the encoded file. This prevents malicious or accidental modification of data during the decoding process. - Fixes a ReDoS vulnerability in `http.cookiejar`. Patch by Ben Caller. - Fixed line numbers and column offsets for AST nodes for calls without arguments in decorators. - bsc#1155094 (CVE-2019-18348) Disallow control characters in hostnames in http.client. Such potentially malicious header injection URLs now cause a InvalidURL to be raised. - Fix urllib.urlretrieve failing on subsequent ftp transfers from the same host. - Fix problems identified by GCC's -Wstringop-truncation warning. - AddRefActCtx() was needlessly being checked for failure in PC/dl_nt.c. - Prevent failure of test_relative_path in test_py_compile on macOS Catalina. - Fixed possible leak in `PyArg_Parse` and similar functions for format units "es#" and "et#" when the macro `PY_SSIZE_T_CLEAN` is not defined. - Remove upstreamed patches: - CVE-2019-18348-CRLF_injection_via_host_part.patch - python-2.7.14-CVE-2017-1000158.patch - CVE-2018-14647_XML_SetHashSalt-in_elementtree.patch - CVE-2018-1061-DOS-via-regexp-difflib.patch - CVE-2019-10160-netloc-port-regression.patch - CVE-2019-16056-email-parse-addr.patch- Add CVE-2019-9674-zip-bomb.patch to improve documentation warning about dangers of zip-bombs and other security problems with zipfile library. (bsc#1162825 CVE-2019-9674)- Change to Requires: libpython%{so_version} == %{version}-%{release} to python-base to keep both packages always synchronized (add %{so_version}) (bsc#1162224).- Add CVE-2020-8492-urllib-ReDoS.patch fixing the security bug "Python urrlib allowed an HTTP server to conduct Regular Expression Denial of Service (ReDoS)" (bsc#1162367)- Provide python-testsuite from devel subkg to ease py2->py3 dependencies- Add python-2.7.17-switch-off-failing-SSL-tests.patch to switch off tests coliding with the combination of modern Python and ancient OpenSSL on SLE-12.- libnsl is required only on more recent SLEs and openSUSE, older glibc supported NIS on its own.- Add provides in gdbm subpackage to provide dbm symbols. This allows us to use %%{python_module dbm} as a dependency and have it properly resolved for both python2 and python3- Drop appstream-glib BuildRequires and no longer call appstream-util validate-relax: eliminate a build cycle between as-glib and python. The only thing would would gain by calling as-uril is catching if upstream breaks the appdata.xml file in a future release. Considering py2 is dying, chances for a new release, let alone one breaking the xml file, are slim.- Unify packages among openSUSE:Factory and SLE versions. (bsc#1159035) ; add missing records to this changelog. - Add idle.desktop and idle.appdata.xml to provide IDLE in menus (bsc#1153830)- Add python2_split_startup Provide to make it possible to conflict older packages by shared-python-startup.- Move /etc/pythonstart script to shared-python-startup package.- Add bpo-36576-skip_tests_for_OpenSSL-111.patch (originally from bpo#36576) skipping tests failing with OpenSSL 1.1.1. Fixes bsc#1149792- Add adapted-from-F00251-change-user-install-location.patch fixing pip/distutils to install into /usr/local.- Update to 2.7.17: - a bug fix release in the Python 2.7.x series. It is expected to be the penultimate release for Python 2.7. - Removed patches included upstream: - CVE-2018-20852-cookie-domain-check.patch - CVE-2019-16935-xmlrpc-doc-server_title.patch - CVE-2019-9636-netloc-no-decompose-characters.patch - CVE-2019-9947-no-ctrl-char-http.patch - CVE-2019-9948-avoid_local-file.patch - python-2.7.14-CVE-2018-1000030-1.patch - python-2.7.14-CVE-2018-1000030-2.patch - Renamed remove-static-libpython.diff and python-bsddb6.diff to remove-static-libpython.patch and python-bsddb6.patch to unify filenames.- Add CVE-2019-16935-xmlrpc-doc-server_title.patch fixing bsc#1153238 (aka CVE-2019-16935) fixing a reflected XSS in python/Lib/DocXMLRPCServer.py- Add bpo36302-sort-module-sources.patch (boo#1041090)- Add CVE-2019-16056-email-parse-addr.patch fixing the email module wrongly parses email addresses [bsc#1149955, CVE-2019-16056]- boo#1141853 (CVE-2018-20852) add CVE-2018-20852-cookie-domain-check.patch fixing http.cookiejar.DefaultPolicy.domain_return_ok which did not correctly validate the domain: it could be tricked into sending cookies to the wrong server.- Skip test_urllib2_localnet that randomly fails in OBS- bsc#1138459: add CVE-2019-10160-netloc-port-regression.patch which fixes regression introduced by the previous patch. (CVE-2019-10160) Upstream gh#python/cpython#13812- Set _lto_cflags to nil as it will prevent to propage LTO for Python modules that are built in a separate package.- bsc#1130840 (CVE-2019-9947): add CVE-2019-9947-no-ctrl-char-http.patch Address the issue by disallowing URL paths with embedded whitespace or control characters through into the underlying http client request. Such potentially malicious header injection URLs now cause a ValueError to be raised.- bsc#1130847 (CVE-2019-9948) add CVE-2019-9948-avoid_local-file.patch removing unnecessary (and potentially harmful) URL scheme local-file://.- bsc#1129346: add CVE-2019-9636-netloc-no-decompose-characters.patch Characters in the netloc attribute that decompose under NFKC normalization (as used by the IDNA encoding) into any of ``/``, ``?``, ``#``, ``@``, or ``:`` will raise a ValueError. If the URL is decomposed before parsing, or is not a Unicode string, no error will be raised (CVE-2019-9636). Upstream commits e37ef41 and 507bd8c.- (bsc#1111793) Update to 2.7.16: * bugfix-only release: complete list of changes on https://github.com/python/cpython/blob/2.7/Misc/NEWS.d/2.7.16rc1.rst * Removed openssl-111.patch and CVE-2018-1000802-shutil_use_subprocess_no_spawn.patch which are fully included in the tarball. * Updated patches to apply cleanly: CVE-2019-5010-null-defer-x509-cert-DOS.patch bpo36160-init-sysconfig_vars.patch do-not-use-non-ascii-in-test_ssl.patch openssl-111-middlebox-compat.patch openssl-111-ssl_options.patch python-2.5.1-sqlite.patch python-2.6-gettext-plurals.patch python-2.7-dirs.patch python-2.7.2-fix_date_time_compiler.patch python-2.7.4-canonicalize2.patch python-2.7.5-multilib.patch python-2.7.9-ssl_ca_path.patch python-bsddb6.diff remove-static-libpython.patch * Update python-2.7.5-multilib.patch to pass with new platlib regime.- bsc#1109847 (CVE-2018-14647): add CVE-2018-14647_XML_SetHashSalt-in_elementtree.patch fixing bpo-34623.- bsc#1073748: add bpo-29347-dereferencing-undefined-pointers.patch PyWeakref_NewProxy@Objects/weakrefobject.c creates new isntance of PyWeakReference struct and does not intialize wr_prev and wr_next of new isntance. These pointers can have garbage and point to random memory locations. Python should not crash while destroying the isntance created in the same interpreter function. As per my understanding, both wr_prev and wr_next of PyWeakReference instance should be initialized to NULL to avoid segfault.- bsc#1122191: add CVE-2019-5010-null-defer-x509-cert-DOS.patch fixing bpo-35746 (CVE-2019-5010). An exploitable denial-of-service vulnerability exists in the X509 certificate parser of Python.org Python 2.7.11 / 3.7.2. A specially crafted X509 certificate can cause a NULL pointer dereference, resulting in a denial of service. An attacker can initiate or accept TLS connections using crafted certificates to trigger this vulnerability.- Use upstream-recommended %{_rpmconfigdir}/macros.d directory for the rpm macros.- Add patch openssl-111.patch to work with openssl-1.1.1 (bsc#1113755)- Apply "CVE-2018-1000802-shutil_use_subprocess_no_spawn.patch" which converts shutil._call_external_zip to use subprocess rather than distutils.spawn. [bsc#1109663, CVE-2018-1000802]- Apply "CVE-2018-1061-DOS-via-regexp-difflib.patch" to prevent low-grade poplib REDOS (CVE-2018-1060) and to prevent difflib REDOS (CVE-2018-1061). Prior to this patch mail server's timestamp was susceptible to catastrophic backtracking on long evil response from the server. Also, it was susceptible to catastrophic backtracking, which was a potential DOS vector. [bsc#1088004 and bsc#1088009, CVE-2018-1061 and CVE-2018-1060]- Apply "CVE-2017-18207.patch" to add a check to Lib/wave.py that verifies that at least one channel is provided. Prior to this check, attackers could cause a denial of service (divide-by-zero error and application crash) via a crafted wav format audio file. [bsc#1083507, CVE-2017-18207]- Apply "python-sorted_tar.patch" (bsc#1086001, boo#1081750) sort tarfile output directory listing- update to 2.7.15 * dozens of bugfixes, see NEWS for details - removed obsolete patches: * python-ncurses-6.0-accessors.patch * python-fix-shebang.patch * gcc8-miscompilation-fix.patch - add patch from upstream: * do-not-use-non-ascii-in-test_ssl.patch- Add gcc8-miscompilation-fix.patch (boo#1084650).- Apply "python-2.7.14-CVE-2017-1000158.patch" to prevent integer overflows in PyString_DecodeEscape that could have resulted in heap-based buffer overflow attacks and possible arbitrary code execution. [bsc#1068664, CVE-2017-1000158]- exclude test_socket & test_subprocess for PowerPC boo#1078485 (same ref as previous change)- Add python-skip_random_failing_tests.patch bypass boo#1078485 and exclude many tests for PowerPC- Add patch python-fix-shebang.patch to fix bsc#1078326- exclude test_regrtest for s390, where it does not segfault as it should (fixes bsc#1073269) - fix segfault while creating weakref - bsc#1073748, bpo#29347 (this is actually fixed by the 2.7.14 update; mentioning this for purposes of bugfix tracking)- update to 2.7.14 * dozens of bugfixes, see NEWS for details * fixed possible integer overflow in PyString_DecodeEscape (CVE-2017-1000158, bsc#1068664) * fixed segfaults with dict mutated during search * fixed possible free-after-use problems with buffer objects with custom indexing * fixed urllib.splithost to correctly parse fragments (bpo-30500) - drop upstreamed python-2.7.13-overflow_check.patch - drop unneeded python-2.7.12-makeopcode.patch - drop upstreamed 0001-2.7-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-3094.patch - Apply "python-2.7.14-CVE-2018-1000030-1.patch" and "python-2.7.14-CVE-2018-1000030-2.patch" to remedy a bug that would crash the Python interpreter when multiple threads used the same I/O stream concurrently. This issue is not classified as a security vulnerability due to the fact that an attacker must be able to run code, however in some situations -- such as function as a service -- this vulnerability can potentially be used by an attacker to violate a trust boundary. [bsc#1079300, CVE-2018-1000030]- Call python2 instead of python in macros- Fix test broken with OpenSSL 1.1 (bsc#1042670) * add 0001-2.7-bpo-30714-ALPN-changes-for-OpenSSL-1.1.0f-3094.patch- drop SUSE_ASNEEDED=0 as it is not needed anymore- Add libnsl-devel build requires for glibc obsoleting libnsl- obsolete/provide python-argparse and provide python2-argparse, because the argparse module is available from python 2.7 up- SLE package update (bsc#1027282) - refresh python-2.7.5-multilib.patch - dropped upstreamed patches: python-fix-short-dh.patch python-2.7.7-mhlib-linkcount.patch python-2.7-urllib2-localnet-ssl.patch CVE-2016-0772-smtplib-starttls.patch CVE-2016-5699-http-header-injection.patch CVE-2016-5636-zipimporter-overflow.patch python-2.7-httpoxy.patch - Add python-ncurses-6.0-accessors.patch: Fix build with NCurses 6.0 and OPAQUE_WINDOW set to 1. (dimstar@opensuse.org)- Add reproducible.patch to allow reproducible builds of various python packages like python-amqp Upstream: https://github.com/python/cpython/pull/296- update to 2.7.13 * dozens of bugfixes, see NEWS for details * updated cipher lists for openssl wrapper, support openssl >= 1.1.0 * properly fix HTTPoxy (CVE-2016-1000110) * profile-opt build now applies PGO to modules as well - update python-2.7.10-overflow_check.patch with python-2.7.13-overflow_check.patch, incorporating upstream changes (bnc#964182) - add "-fwrapv" to optflags explicitly because upstream code still relies on it in many places- provide python2-* symbols, for support of new packages built as python2-foo - rename macros.python to macros.python2 accordingly - require python-rpm-macros package, drop macro definitions from macros.python2- initial packaging of `python27` side-by-side variant (fate#321075, bsc#997436) - renamed `python` to `python27` in package names and requires - removed Provides and Obsoletes clauses - dropped SLE12-only patch python-2.7.9-sles-disable-verification-by-default.patch, companion sle_tls_checks_policy.py file and the python-strict-tls-checks subpackage - dropped profile files - removed /usr/bin/python and /usr/bin/python2, along with other unversioned aliases - rewrote macros file to enable stand-alone packages depending on py2.7 - re-included downloaded version of HTML documentation- update to 2.7.12 * dozens of bugfixes, see NEWS for details * fixes multiple security issues: CVE-2016-0772 TLS stripping attack on smtplib (bsc#984751) CVE-2016-5636 zipimporter heap overflow (bsc#985177) CVE-2016-5699 httplib header injection (bsc#985348) (this one is actually fixed since 2.7.10) - removed upstreamed python-2.7.7-mhlib-linkcount.patch - refreshed multilib patch - python-2.7.12-makeopcode.patch - run newly-built python interpreter to make opcodes, in order not to require pre-built python - update LD_LIBRARY_PATH to use $PWD instead of "." because the test process escapes to its own directory - modify shebang-fixing scriptlet to ignore makeopcodetargets.py- CVE-2016-0772-smtplib-starttls.patch: smtplib vulnerability opens startTLS stripping attack (CVE-2016-0772, bsc#984751) - CVE-2016-5636-zipimporter-overflow.patch: heap overflow when importing malformed zip files (CVE-2016-5636, bsc#985177) - CVE-2016-5699-http-header-injection.patch: incorrect validation of HTTP headers allow header injection (CVE-2016-5699, bsc#985348) - python-2.7-httpoxy.patch: HTTPoxy vulnerability in urllib, fixed by disregarding HTTP_PROXY when REQUEST_METHOD is also set (CVE-2016-1000110, bsc#989523)- Add python-2.7.10-overflow_check.patch to fix broken overflow checks. [bnc#964182]- copy strict-tls-checks subpackage from SLE to retain future compatibility (not built in openSUSE) - do this properly to fix bnc#945401 - update SLE check to exclude Leap which also has version 1315, just to be sure- Add python-ncurses-6.0-accessors.patch: Fix build with NCurses 6.0 and OPAQUE_WINDOW set to 1.- add missing ssl.pyc and ssl.pyo to package - implement python-strict-tls-checks subpackage * when present, Python will perform TLS certificate checking by default. it is possible to remove the package to turn off the checks for compatibility with legacy scripts. * as discussed in fate#318300 * this is not built for openSUSE, but retained here in case we want to build the package for a SLE system- python-fix-short-dh.patch: Bump DH parameters to 2048 bit to fix logjam security issue. bsc#935856- add __python2 compatibility macro (used by Fedora) (fate#318838)- update to 2.7.10 - removed obsolete python-2.7-urllib2-localnet-ssl.patch- Reenable test_posix on aarch64- python-2.7.4-aarch64.patch: Remove obsolete patch - python-2.7-libffi-aarch64.patch: Fix argument passing in libffi for aarch64- update to 2.7.9 * contains full backport of ssl module from Python 3.4 (PEP466) * HTTPS certificate validation enabled by default (PEP476) * SSLv3 disabled by default (bnc#901715) * backported ensurepip module (PEP477) * fixes several missing CVEs from last release: CVE-2013-1752, CVE-2013-1753 * dozens of minor bugfixes - dropped upstreamed patches: python-2.7.6-poplib.patch, smtplib_maxline-2.7.patch, xmlrpc_gzip_27.patch - dropped patch python-2.7.3-ssl_ca_path.patch because we don't need it with ssl module from Python 3 - libffi was upgraded upstream, seems to contain our changes, so dropping libffi-ppc64le.diff as well - python-2.7-urllib2-localnet-ssl.patch - properly remove unconditional "import ssl" from test_urllib2_localnet that caused it to fail without ssl- skip test_thread in qemu_linux_user modeh02-armsrv1 1774984415  !"#$%&'()*+,-./0123456789:;<=>?@CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefijmnopqrstuvwxyy{||~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeffhijklmnopprsttvwxyz{|}~      "##%&&())+,-.//122455788:;;=>>@AACDDFGGIJJLMNOPPRSSUVVXYY[\\^__abbdeeghhjkkmnnpqqsttvwwyzz|}}      !"#$%&'((*++-..0113446788:;<=>>@AACDEFGHHJKLMNNPQQSTTVWWYZZ\]]_``bcceffhiikllnooqrrtuvwxxz{{}~     !"##%&&())+,,./0122455789:;;=>>@AACDEFGGIJJLMMOPPRSSUVVXYY[\\^__abbdeeghijkkmnnpqqsttvwwyzz|}}      !""$%%'((*++-..0113446779::<==?@@BCCEFFHIIKLMNOOQRRTUUWXXZ[[]^^`aacddfggijjlmmopprssuvvxyy{||~      !!#$$&'')**,--/00233567899;<<>??ABBDEEGHIJKKMNNPQQSTTVWWYZZ\]]_``bcceffhijklmnopqrrtuuwxxz{{}~~2.72.72.72.7.18-150000.111.12.7.18-150000.111.12.7.182.7.182.7.18     python-configpython2-configpython2.7-configpythonpython2.7Python-ast.hPython.habstract.hasdl.hast.hbitset.hboolobject.hbufferobject.hbytearrayobject.hbytes_methods.hbytesobject.hcStringIO.hcellobject.hceval.hclassobject.hcobject.hcode.hcodecs.hcompile.hcomplexobject.hdatetime.hdescrobject.hdictobject.hdtoa.henumobject.herrcode.heval.hfileobject.hfloatobject.hframeobject.hfuncobject.hgenobject.hgraminit.hgrammar.himport.hintobject.hintrcheck.hiterobject.hlistobject.hlongintrepr.hlongobject.hmarshal.hmemoryobject.hmetagrammar.hmethodobject.hmodsupport.hmoduleobject.hnode.hobject.hobjimpl.hopcode.hosdefs.hparsetok.hpatchlevel.hpgen.hpgenheaders.hpy_curses.hpyarena.hpycapsule.hpyctype.hpydebug.hpyerrors.hpyexpat.hpyfpe.hpygetopt.hpymacconfig.hpymactoolbox.hpymath.hpymem.hpyport.hpystate.hpystrcmp.hpystrtod.hpythonrun.hpythread.hrangeobject.hsetobject.hsliceobject.hstringobject.hstructmember.hstructseq.hsymtable.hsysmodule.htimefuncs.htoken.htraceback.htupleobject.hucnhash.hunicodeobject.hwarnings.hweakrefobject.hlibpython2.7.sopython-2.7.pcpython.pcpython2.pcMakefile.preMakefile.pre.inSetup.configSetup.localconfig.cconfig.c.ininstall-shlibpython2.7.somakesetuppython.otest185test.dbSine-1000Hz-300ms.aif__init__.py__init__.pyc__init__.pyo__main__.py__main__.pyc__main__.pyo_mock_backport.py_mock_backport.pyc_mock_backport.pyoallsans.pemaudiodatapluck-pcm16.aiffpluck-pcm16.aupluck-pcm16.wavpluck-pcm24.aiffpluck-pcm24.wavpluck-pcm32.aiffpluck-pcm32.aupluck-pcm32.wavpluck-pcm8.aiffpluck-pcm8.aupluck-pcm8.wavpluck-ulaw.aifcpluck-ulaw.auaudiotest.auaudiotests.pyaudiotests.pycaudiotests.pyoautotest.pyautotest.pycautotest.pyobad_coding.pybad_coding2.pybad_coding3.pybadcert.pembadkey.pembadsyntax_future3.pybadsyntax_future4.pybadsyntax_future5.pybadsyntax_future6.pybadsyntax_future7.pybadsyntax_future8.pybadsyntax_future9.pybadsyntax_nocaret.pybisect_cmd.pybisect_cmd.pycbisect_cmd.pyocapath0e4015b9.04e1295a3.05ed36f99.06e88d7b8.099d0fa06.0ce7b8643.0efa5f9c3.0cfgparser.1cjkencodingsbig5-utf8.txtbig5.txtbig5hkscs-utf8.txtbig5hkscs.txtcp949-utf8.txtcp949.txteuc_jisx0213-utf8.txteuc_jisx0213.txteuc_jp-utf8.txteuc_jp.txteuc_kr-utf8.txteuc_kr.txtgb18030-utf8.txtgb18030.txtgb2312-utf8.txtgb2312.txtgbk-utf8.txtgbk.txthz-utf8.txthz.txtiso2022_jp-utf8.txtiso2022_jp.txtiso2022_kr-utf8.txtiso2022_kr.txtjohab-utf8.txtjohab.txtshift_jis-utf8.txtshift_jis.txtshift_jisx0213-utf8.txtshift_jisx0213.txtcmath_testcases.txtcurses_tests.pycurses_tests.pyccurses_tests.pyodataREADMEdecimaltestdataabs.decTestadd.decTestand.decTestbase.decTestclamp.decTestclass.decTestcompare.decTestcomparetotal.decTestcomparetotmag.decTestcopy.decTestcopyabs.decTestcopynegate.decTestcopysign.decTestddAbs.decTestddAdd.decTestddAnd.decTestddBase.decTestddCanonical.decTestddClass.decTestddCompare.decTestddCompareSig.decTestddCompareTotal.decTestddCompareTotalMag.decTestddCopy.decTestddCopyAbs.decTestddCopyNegate.decTestddCopySign.decTestddDivide.decTestddDivideInt.decTestddEncode.decTestddFMA.decTestddInvert.decTestddLogB.decTestddMax.decTestddMaxMag.decTestddMin.decTestddMinMag.decTestddMinus.decTestddMultiply.decTestddNextMinus.decTestddNextPlus.decTestddNextToward.decTestddOr.decTestddPlus.decTestddQuantize.decTestddReduce.decTestddRemainder.decTestddRemainderNear.decTestddRotate.decTestddSameQuantum.decTestddScaleB.decTestddShift.decTestddSubtract.decTestddToIntegral.decTestddXor.decTestdecDouble.decTestdecQuad.decTestdecSingle.decTestdivide.decTestdivideint.decTestdqAbs.decTestdqAdd.decTestdqAnd.decTestdqBase.decTestdqCanonical.decTestdqClass.decTestdqCompare.decTestdqCompareSig.decTestdqCompareTotal.decTestdqCompareTotalMag.decTestdqCopy.decTestdqCopyAbs.decTestdqCopyNegate.decTestdqCopySign.decTestdqDivide.decTestdqDivideInt.decTestdqEncode.decTestdqFMA.decTestdqInvert.decTestdqLogB.decTestdqMax.decTestdqMaxMag.decTestdqMin.decTestdqMinMag.decTestdqMinus.decTestdqMultiply.decTestdqNextMinus.decTestdqNextPlus.decTestdqNextToward.decTestdqOr.decTestdqPlus.decTestdqQuantize.decTestdqReduce.decTestdqRemainder.decTestdqRemainderNear.decTestdqRotate.decTestdqSameQuantum.decTestdqScaleB.decTestdqShift.decTestdqSubtract.decTestdqToIntegral.decTestdqXor.decTestdsBase.decTestdsEncode.decTestexp.decTestextra.decTestfma.decTestinexact.decTestinvert.decTestln.decTestlog10.decTestlogb.decTestmax.decTestmaxmag.decTestmin.decTestminmag.decTestminus.decTestmultiply.decTestnextminus.decTestnextplus.decTestnexttoward.decTestor.decTestplus.decTestpower.decTestpowersqrt.decTestquantize.decTestrandomBound32.decTestrandoms.decTestreduce.decTestremainder.decTestremainderNear.decTestrescale.decTestrotate.decTestrounding.decTestsamequantum.decTestscaleb.decTestshift.decTestsquareroot.decTestsubtract.decTesttestall.decTesttointegral.decTesttointegralx.decTestxor.decTestdoctest_aliases.pydoctest_aliases.pycdoctest_aliases.pyodouble_const.pydouble_const.pycdouble_const.pyoempty.vbsexception_hierarchy.txtffdh3072.pemfloating_points.txtfork_wait.pyfork_wait.pycfork_wait.pyoformatfloat_testcases.txtgdb_sample.pygdb_sample.pycgdb_sample.pyogreyrgb.uueieee754.txtimghdrdatapython.bmppython.gifpython.jpgpython.pbmpython.pgmpython.pngpython.ppmpython.raspython.sgipython.tiffpython.xbminfinite_reload.pyinfinite_reload.pycinfinite_reload.pyoinspect_fodder.pyinspect_fodder.pycinspect_fodder.pyoinspect_fodder2.pyinspect_fodder2.pycinspect_fodder2.pyokeycert.passwd.pemkeycert.pemkeycert2.pemkeycert3.pemkeycert4.pemlist_tests.pylist_tests.pyclist_tests.pyolock_tests.pylock_tests.pyclock_tests.pyomake_ssl_certs.pymake_ssl_certs.pycmake_ssl_certs.pyomapping_tests.pymapping_tests.pycmapping_tests.pyomath_testcases.txtmp_fork_bomb.pymp_fork_bomb.pycmp_fork_bomb.pyomultibytecodec_support.pymultibytecodec_support.pycmultibytecodec_support.pyonokia.pemnullbytecert.pemnullcert.pemoutstanding_bugs.pyoutstanding_bugs.pycoutstanding_bugs.pyopickletester.pypickletester.pycpickletester.pyoprofilee.pyprofilee.pycprofilee.pyopycacert.pempyclbr_input.pypyclbr_input.pycpyclbr_input.pyopydoc_mod.pypydoc_mod.pycpydoc_mod.pyopydocfodder.pypydocfodder.pycpydocfodder.pyopystone.pypystone.pycpystone.pyopythoninfo.pypythoninfo.pycpythoninfo.pyorandv2_32.pckrandv2_64.pckrandv3.pckre_tests.pyre_tests.pycre_tests.pyorecursion.tarregrtest.pyregrtest.pycregrtest.pyorelimport.pyrelimport.pycrelimport.pyoreperf.pyreperf.pycreperf.pyorevocation.crlsample_doctest.pysample_doctest.pycsample_doctest.pyosample_doctest_no_docstrings.pysample_doctest_no_docstrings.pycsample_doctest_no_docstrings.pyosample_doctest_no_doctests.pysample_doctest_no_doctests.pycsample_doctest_no_doctests.pyoscript_helper.pyscript_helper.pycscript_helper.pyoselfsigned_pythontestdotnet.pemseq_tests.pyseq_tests.pycseq_tests.pyosgml_input.htmlsortperf.pysortperf.pycsortperf.pyossl_cert.pemssl_key.passwd.pemssl_key.pemssl_servers.pyssl_servers.pycssl_servers.pyossltests.pyssltests.pycssltests.pyostring_tests.pystring_tests.pycstring_tests.pyosubprocessdatasigchild_ignore.pysigchild_ignore.pycsigchild_ignore.pyosupport__init__.py__init__.pyc__init__.pyoscript_helper.pyscript_helper.pycscript_helper.pyosymlink_support.pysymlink_support.pycsymlink_support.pyotalos-2019-0758.pemtest_MimeWriter.pytest_MimeWriter.pyctest_MimeWriter.pyotest_SimpleHTTPServer.pytest_SimpleHTTPServer.pyctest_SimpleHTTPServer.pyotest_StringIO.pytest_StringIO.pyctest_StringIO.pyotest___all__.pytest___all__.pyctest___all__.pyotest___future__.pytest___future__.pyctest___future__.pyotest__locale.pytest__locale.pyctest__locale.pyotest__osx_support.pytest__osx_support.pyctest__osx_support.pyotest_abc.pytest_abc.pyctest_abc.pyotest_abstract_numbers.pytest_abstract_numbers.pyctest_abstract_numbers.pyotest_aepack.pytest_aepack.pyctest_aepack.pyotest_aifc.pytest_aifc.pyctest_aifc.pyotest_al.pytest_al.pyctest_al.pyotest_anydbm.pytest_anydbm.pyctest_anydbm.pyotest_applesingle.pytest_applesingle.pyctest_applesingle.pyotest_argparse.pytest_argparse.pyctest_argparse.pyotest_array.pytest_array.pyctest_array.pyotest_ascii_formatd.pytest_ascii_formatd.pyctest_ascii_formatd.pyotest_ast.pytest_ast.pyctest_ast.pyotest_asynchat.pytest_asynchat.pyctest_asynchat.pyotest_asyncore.pytest_asyncore.pyctest_asyncore.pyotest_atexit.pytest_atexit.pyctest_atexit.pyotest_audioop.pytest_audioop.pyctest_audioop.pyotest_augassign.pytest_augassign.pyctest_augassign.pyotest_base64.pytest_base64.pyctest_base64.pyotest_bastion.pytest_bastion.pyctest_bastion.pyotest_bdb.pytest_bdb.pyctest_bdb.pyotest_bigaddrspace.pytest_bigaddrspace.pyctest_bigaddrspace.pyotest_bigmem.pytest_bigmem.pyctest_bigmem.pyotest_binascii.pytest_binascii.pyctest_binascii.pyotest_binhex.pytest_binhex.pyctest_binhex.pyotest_binop.pytest_binop.pyctest_binop.pyotest_bisect.pytest_bisect.pyctest_bisect.pyotest_bool.pytest_bool.pyctest_bool.pyotest_bsddb.pytest_bsddb.pyctest_bsddb.pyotest_bsddb185.pytest_bsddb185.pyctest_bsddb185.pyotest_bsddb3.pytest_bsddb3.pyctest_bsddb3.pyotest_buffer.pytest_buffer.pyctest_buffer.pyotest_bufio.pytest_bufio.pyctest_bufio.pyotest_builtin.pytest_builtin.pyctest_builtin.pyotest_bytes.pytest_bytes.pyctest_bytes.pyotest_bz2.pytest_bz2.pyctest_bz2.pyotest_calendar.pytest_calendar.pyctest_calendar.pyotest_call.pytest_call.pyctest_call.pyotest_capi.pytest_capi.pyctest_capi.pyotest_cd.pytest_cd.pyctest_cd.pyotest_cfgparser.pytest_cfgparser.pyctest_cfgparser.pyotest_cgi.pytest_cgi.pyctest_cgi.pyotest_charmapcodec.pytest_charmapcodec.pyctest_charmapcodec.pyotest_cl.pytest_cl.pyctest_cl.pyotest_class.pytest_class.pyctest_class.pyotest_cmath.pytest_cmath.pyctest_cmath.pyotest_cmd.pytest_cmd.pyctest_cmd.pyotest_cmd_line.pytest_cmd_line.pyctest_cmd_line.pyotest_cmd_line_script.pytest_cmd_line_script.pyctest_cmd_line_script.pyotest_code.pytest_code.pyctest_code.pyotest_codeccallbacks.pytest_codeccallbacks.pyctest_codeccallbacks.pyotest_codecencodings_cn.pytest_codecencodings_cn.pyctest_codecencodings_cn.pyotest_codecencodings_hk.pytest_codecencodings_hk.pyctest_codecencodings_hk.pyotest_codecencodings_iso2022.pytest_codecencodings_iso2022.pyctest_codecencodings_iso2022.pyotest_codecencodings_jp.pytest_codecencodings_jp.pyctest_codecencodings_jp.pyotest_codecencodings_kr.pytest_codecencodings_kr.pyctest_codecencodings_kr.pyotest_codecencodings_tw.pytest_codecencodings_tw.pyctest_codecencodings_tw.pyotest_codecmaps_cn.pytest_codecmaps_cn.pyctest_codecmaps_cn.pyotest_codecmaps_hk.pytest_codecmaps_hk.pyctest_codecmaps_hk.pyotest_codecmaps_jp.pytest_codecmaps_jp.pyctest_codecmaps_jp.pyotest_codecmaps_kr.pytest_codecmaps_kr.pyctest_codecmaps_kr.pyotest_codecmaps_tw.pytest_codecmaps_tw.pyctest_codecmaps_tw.pyotest_codecs.pytest_codecs.pyctest_codecs.pyotest_codeop.pytest_codeop.pyctest_codeop.pyotest_coercion.pytest_coercion.pyctest_coercion.pyotest_collections.pytest_collections.pyctest_collections.pyotest_colorsys.pytest_colorsys.pyctest_colorsys.pyotest_commands.pytest_commands.pyctest_commands.pyotest_compare.pytest_compare.pyctest_compare.pyotest_compile.pytest_compile.pyctest_compile.pyotest_compileall.pytest_compileall.pyctest_compileall.pyotest_compiler.pytest_compiler.pyctest_compiler.pyotest_complex.pytest_complex.pyctest_complex.pyotest_complex_args.pytest_complex_args.pyctest_complex_args.pyotest_contains.pytest_contains.pyctest_contains.pyotest_contextlib.pytest_contextlib.pyctest_contextlib.pyotest_cookie.pytest_cookie.pyctest_cookie.pyotest_cookielib.pytest_cookielib.pyctest_cookielib.pyotest_copy.pytest_copy.pyctest_copy.pyotest_copy_reg.pytest_copy_reg.pyctest_copy_reg.pyotest_cpickle.pytest_cpickle.pyctest_cpickle.pyotest_cprofile.pytest_cprofile.pyctest_cprofile.pyotest_crypt.pytest_crypt.pyctest_crypt.pyotest_csv.pytest_csv.pyctest_csv.pyotest_ctypes.pytest_ctypes.pyctest_ctypes.pyotest_curses.pytest_curses.pyctest_curses.pyotest_datetime.pytest_datetime.pyctest_datetime.pyotest_dbm.pytest_dbm.pyctest_dbm.pyotest_decimal.pytest_decimal.pyctest_decimal.pyotest_decorators.pytest_decorators.pyctest_decorators.pyotest_defaultdict.pytest_defaultdict.pyctest_defaultdict.pyotest_deque.pytest_deque.pyctest_deque.pyotest_descr.pytest_descr.pyctest_descr.pyotest_descrtut.pytest_descrtut.pyctest_descrtut.pyotest_dict.pytest_dict.pyctest_dict.pyotest_dictcomps.pytest_dictcomps.pyctest_dictcomps.pyotest_dictviews.pytest_dictviews.pyctest_dictviews.pyotest_difflib.pytest_difflib.pyctest_difflib.pyotest_difflib_expect.htmltest_dircache.pytest_dircache.pyctest_dircache.pyotest_dis.pytest_dis.pyctest_dis.pyotest_distutils.pytest_distutils.pyctest_distutils.pyotest_dl.pytest_dl.pyctest_dl.pyotest_doctest.pytest_doctest.pyctest_doctest.pyotest_doctest.txttest_doctest2.pytest_doctest2.pyctest_doctest2.pyotest_doctest2.txttest_doctest3.txttest_doctest4.txttest_docxmlrpc.pytest_docxmlrpc.pyctest_docxmlrpc.pyotest_dumbdbm.pytest_dumbdbm.pyctest_dumbdbm.pyotest_dummy_thread.pytest_dummy_thread.pyctest_dummy_thread.pyotest_dummy_threading.pytest_dummy_threading.pyctest_dummy_threading.pyotest_email.pytest_email.pyctest_email.pyotest_email_codecs.pytest_email_codecs.pyctest_email_codecs.pyotest_email_renamed.pytest_email_renamed.pyctest_email_renamed.pyotest_ensurepip.pytest_ensurepip.pyctest_ensurepip.pyotest_enumerate.pytest_enumerate.pyctest_enumerate.pyotest_eof.pytest_eof.pyctest_eof.pyotest_epoll.pytest_epoll.pyctest_epoll.pyotest_errno.pytest_errno.pyctest_errno.pyotest_exception_variations.pytest_exception_variations.pyctest_exception_variations.pyotest_exceptions.pytest_exceptions.pyctest_exceptions.pyotest_extcall.pytest_extcall.pyctest_extcall.pyotest_fcntl.pytest_fcntl.pyctest_fcntl.pyotest_file.pytest_file.pyctest_file.pyotest_file2k.pytest_file2k.pyctest_file2k.pyotest_file_eintr.pytest_file_eintr.pyctest_file_eintr.pyotest_filecmp.pytest_filecmp.pyctest_filecmp.pyotest_fileinput.pytest_fileinput.pyctest_fileinput.pyotest_fileio.pytest_fileio.pyctest_fileio.pyotest_float.pytest_float.pyctest_float.pyotest_fnmatch.pytest_fnmatch.pyctest_fnmatch.pyotest_fork1.pytest_fork1.pyctest_fork1.pyotest_format.pytest_format.pyctest_format.pyotest_fpformat.pytest_fpformat.pyctest_fpformat.pyotest_fractions.pytest_fractions.pyctest_fractions.pyotest_frozen.pytest_frozen.pyctest_frozen.pyotest_ftplib.pytest_ftplib.pyctest_ftplib.pyotest_funcattrs.pytest_funcattrs.pyctest_funcattrs.pyotest_functools.pytest_functools.pyctest_functools.pyotest_future.pytest_future.pyctest_future.pyotest_future1.pytest_future1.pyctest_future1.pyotest_future2.pytest_future2.pyctest_future2.pyotest_future3.pytest_future3.pyctest_future3.pyotest_future4.pytest_future4.pyctest_future4.pyotest_future5.pytest_future5.pyctest_future5.pyotest_future_builtins.pytest_future_builtins.pyctest_future_builtins.pyotest_gc.pytest_gc.pyctest_gc.pyotest_gdb.pytest_gdb.pyctest_gdb.pyotest_gdbm.pytest_gdbm.pyctest_gdbm.pyotest_generators.pytest_generators.pyctest_generators.pyotest_genericpath.pytest_genericpath.pyctest_genericpath.pyotest_genexps.pytest_genexps.pyctest_genexps.pyotest_getargs.pytest_getargs.pyctest_getargs.pyotest_getargs2.pytest_getargs2.pyctest_getargs2.pyotest_getopt.pytest_getopt.pyctest_getopt.pyotest_gettext.pytest_gettext.pyctest_gettext.pyotest_gl.pytest_gl.pyctest_gl.pyotest_glob.pytest_glob.pyctest_glob.pyotest_global.pytest_global.pyctest_global.pyotest_grammar.pytest_grammar.pyctest_grammar.pyotest_grp.pytest_grp.pyctest_grp.pyotest_gzip.pytest_gzip.pyctest_gzip.pyotest_hash.pytest_hash.pyctest_hash.pyotest_hashlib.pytest_hashlib.pyctest_hashlib.pyotest_heapq.pytest_heapq.pyctest_heapq.pyotest_hmac.pytest_hmac.pyctest_hmac.pyotest_hotshot.pytest_hotshot.pyctest_hotshot.pyotest_htmllib.pytest_htmllib.pyctest_htmllib.pyotest_htmlparser.pytest_htmlparser.pyctest_htmlparser.pyotest_httplib.pytest_httplib.pyctest_httplib.pyotest_httpservers.pytest_httpservers.pyctest_httpservers.pyotest_idle.pytest_idle.pyctest_idle.pyotest_imageop.pytest_imageop.pyctest_imageop.pyotest_imaplib.pytest_imaplib.pyctest_imaplib.pyotest_imgfile.pytest_imgfile.pyctest_imgfile.pyotest_imghdr.pytest_imghdr.pyctest_imghdr.pyotest_imp.pytest_imp.pyctest_imp.pyotest_import.pytest_import.pyctest_import.pyotest_import_magic.pytest_import_magic.pyctest_import_magic.pyotest_importhooks.pytest_importhooks.pyctest_importhooks.pyotest_importlib.pytest_importlib.pyctest_importlib.pyotest_index.pytest_index.pyctest_index.pyotest_inspect.pytest_inspect.pyctest_inspect.pyotest_int.pytest_int.pyctest_int.pyotest_int_literal.pytest_int_literal.pyctest_int_literal.pyotest_io.pytest_io.pyctest_io.pyotest_ioctl.pytest_ioctl.pyctest_ioctl.pyotest_ipaddress.pytest_ipaddress.pyctest_ipaddress.pyotest_isinstance.pytest_isinstance.pyctest_isinstance.pyotest_iter.pytest_iter.pyctest_iter.pyotest_iterlen.pytest_iterlen.pyctest_iterlen.pyotest_itertools.pytest_itertools.pyctest_itertools.pyotest_json.pytest_json.pyctest_json.pyotest_kqueue.pytest_kqueue.pyctest_kqueue.pyotest_largefile.pytest_largefile.pyctest_largefile.pyotest_lib2to3.pytest_lib2to3.pyctest_lib2to3.pyotest_linecache.pytest_linecache.pyctest_linecache.pyotest_linuxaudiodev.pytest_linuxaudiodev.pyctest_linuxaudiodev.pyotest_list.pytest_list.pyctest_list.pyotest_locale.pytest_locale.pyctest_locale.pyotest_logging.pytest_logging.pyctest_logging.pyotest_long.pytest_long.pyctest_long.pyotest_long_future.pytest_long_future.pyctest_long_future.pyotest_longexp.pytest_longexp.pyctest_longexp.pyotest_macos.pytest_macos.pyctest_macos.pyotest_macostools.pytest_macostools.pyctest_macostools.pyotest_macpath.pytest_macpath.pyctest_macpath.pyotest_macurl2path.pytest_macurl2path.pyctest_macurl2path.pyotest_mailbox.pytest_mailbox.pyctest_mailbox.pyotest_marshal.pytest_marshal.pyctest_marshal.pyotest_math.pytest_math.pyctest_math.pyotest_md5.pytest_md5.pyctest_md5.pyotest_memoryio.pytest_memoryio.pyctest_memoryio.pyotest_memoryview.pytest_memoryview.pyctest_memoryview.pyotest_mhlib.pytest_mhlib.pyctest_mhlib.pyotest_mimetools.pytest_mimetools.pyctest_mimetools.pyotest_mimetypes.pytest_mimetypes.pyctest_mimetypes.pyotest_minidom.pytest_minidom.pyctest_minidom.pyotest_mmap.pytest_mmap.pyctest_mmap.pyotest_module.pytest_module.pyctest_module.pyotest_modulefinder.pytest_modulefinder.pyctest_modulefinder.pyotest_msilib.pytest_msilib.pyctest_msilib.pyotest_multibytecodec.pytest_multibytecodec.pyctest_multibytecodec.pyotest_multifile.pytest_multifile.pyctest_multifile.pyotest_multiprocessing.pytest_multiprocessing.pyctest_multiprocessing.pyotest_mutants.pytest_mutants.pyctest_mutants.pyotest_mutex.pytest_mutex.pyctest_mutex.pyotest_netrc.pytest_netrc.pyctest_netrc.pyotest_new.pytest_new.pyctest_new.pyotest_nis.pytest_nis.pyctest_nis.pyotest_nntplib.pytest_nntplib.pyctest_nntplib.pyotest_normalization.pytest_normalization.pyctest_normalization.pyotest_ntpath.pytest_ntpath.pyctest_ntpath.pyotest_old_mailbox.pytest_old_mailbox.pyctest_old_mailbox.pyotest_opcodes.pytest_opcodes.pyctest_opcodes.pyotest_openpty.pytest_openpty.pyctest_openpty.pyotest_operator.pytest_operator.pyctest_operator.pyotest_optparse.pytest_optparse.pyctest_optparse.pyotest_ordered_dict.pytest_ordered_dict.pyctest_ordered_dict.pyotest_os.pytest_os.pyctest_os.pyotest_ossaudiodev.pytest_ossaudiodev.pyctest_ossaudiodev.pyotest_parser.pytest_parser.pyctest_parser.pyotest_pdb.pytest_pdb.pyctest_pdb.pyotest_peepholer.pytest_peepholer.pyctest_peepholer.pyotest_pep247.pytest_pep247.pyctest_pep247.pyotest_pep277.pytest_pep277.pyctest_pep277.pyotest_pep352.pytest_pep352.pyctest_pep352.pyotest_pickle.pytest_pickle.pyctest_pickle.pyotest_pickletools.pytest_pickletools.pyctest_pickletools.pyotest_pipes.pytest_pipes.pyctest_pipes.pyotest_pkg.pytest_pkg.pyctest_pkg.pyotest_pkgimport.pytest_pkgimport.pyctest_pkgimport.pyotest_pkgutil.pytest_pkgutil.pyctest_pkgutil.pyotest_platform.pytest_platform.pyctest_platform.pyotest_plistlib.pytest_plistlib.pyctest_plistlib.pyotest_poll.pytest_poll.pyctest_poll.pyotest_popen.pytest_popen.pyctest_popen.pyotest_popen2.pytest_popen2.pyctest_popen2.pyotest_poplib.pytest_poplib.pyctest_poplib.pyotest_posix.pytest_posix.pyctest_posix.pyotest_posixpath.pytest_posixpath.pyctest_posixpath.pyotest_pow.pytest_pow.pyctest_pow.pyotest_pprint.pytest_pprint.pyctest_pprint.pyotest_print.pytest_print.pyctest_print.pyotest_profile.pytest_profile.pyctest_profile.pyotest_property.pytest_property.pyctest_property.pyotest_pstats.pytest_pstats.pyctest_pstats.pyotest_pty.pytest_pty.pyctest_pty.pyotest_pwd.pytest_pwd.pyctest_pwd.pyotest_py3kwarn.pytest_py3kwarn.pyctest_py3kwarn.pyotest_py_compile.pytest_py_compile.pyctest_py_compile.pyotest_pyclbr.pytest_pyclbr.pyctest_pyclbr.pyotest_pydoc.pytest_pydoc.pyctest_pydoc.pyotest_pyexpat.pytest_pyexpat.pyctest_pyexpat.pyotest_queue.pytest_queue.pyctest_queue.pyotest_quopri.pytest_quopri.pyctest_quopri.pyotest_random.pytest_random.pyctest_random.pyotest_re.pytest_re.pyctest_re.pyotest_readline.pytest_readline.pyctest_readline.pyotest_regrtest.pytest_regrtest.pyctest_regrtest.pyotest_repr.pytest_repr.pyctest_repr.pyotest_resource.pytest_resource.pyctest_resource.pyotest_rfc822.pytest_rfc822.pyctest_rfc822.pyotest_richcmp.pytest_richcmp.pyctest_richcmp.pyotest_rlcompleter.pytest_rlcompleter.pyctest_rlcompleter.pyotest_robotparser.pytest_robotparser.pyctest_robotparser.pyotest_runpy.pytest_runpy.pyctest_runpy.pyotest_sax.pytest_sax.pyctest_sax.pyotest_scope.pytest_scope.pyctest_scope.pyotest_scriptpackages.pytest_scriptpackages.pyctest_scriptpackages.pyotest_select.pytest_select.pyctest_select.pyotest_set.pytest_set.pyctest_set.pyotest_setcomps.pytest_setcomps.pyctest_setcomps.pyotest_sets.pytest_sets.pyctest_sets.pyotest_sgmllib.pytest_sgmllib.pyctest_sgmllib.pyotest_sha.pytest_sha.pyctest_sha.pyotest_shelve.pytest_shelve.pyctest_shelve.pyotest_shlex.pytest_shlex.pyctest_shlex.pyotest_shutil.pytest_shutil.pyctest_shutil.pyotest_signal.pytest_signal.pyctest_signal.pyotest_site.pytest_site.pyctest_site.pyotest_slice.pytest_slice.pyctest_slice.pyotest_smtplib.pytest_smtplib.pyctest_smtplib.pyotest_smtpnet.pytest_smtpnet.pyctest_smtpnet.pyotest_socket.pytest_socket.pyctest_socket.pyotest_socketserver.pytest_socketserver.pyctest_socketserver.pyotest_softspace.pytest_softspace.pyctest_softspace.pyotest_sort.pytest_sort.pyctest_sort.pyotest_source_encoding.pytest_source_encoding.pyctest_source_encoding.pyotest_spwd.pytest_spwd.pyctest_spwd.pyotest_sqlite.pytest_sqlite.pyctest_sqlite.pyotest_ssl.pytest_ssl.pyctest_ssl.pyotest_startfile.pytest_startfile.pyctest_startfile.pyotest_stat.pytest_stat.pyctest_stat.pyotest_str.pytest_str.pyctest_str.pyotest_strftime.pytest_strftime.pyctest_strftime.pyotest_string.pytest_string.pyctest_string.pyotest_stringprep.pytest_stringprep.pyctest_stringprep.pyotest_strop.pytest_strop.pyctest_strop.pyotest_strptime.pytest_strptime.pyctest_strptime.pyotest_strtod.pytest_strtod.pyctest_strtod.pyotest_struct.pytest_struct.pyctest_struct.pyotest_structmembers.pytest_structmembers.pyctest_structmembers.pyotest_structseq.pytest_structseq.pyctest_structseq.pyotest_subprocess.pytest_subprocess.pyctest_subprocess.pyotest_sunau.pytest_sunau.pyctest_sunau.pyotest_sunaudiodev.pytest_sunaudiodev.pyctest_sunaudiodev.pyotest_sundry.pytest_sundry.pyctest_sundry.pyotest_support.pytest_support.pyctest_support.pyotest_symtable.pytest_symtable.pyctest_symtable.pyotest_syntax.pytest_syntax.pyctest_syntax.pyotest_sys.pytest_sys.pyctest_sys.pyotest_sys_setprofile.pytest_sys_setprofile.pyctest_sys_setprofile.pyotest_sys_settrace.pytest_sys_settrace.pyctest_sys_settrace.pyotest_sysconfig.pytest_sysconfig.pyctest_sysconfig.pyotest_tarfile.pytest_tarfile.pyctest_tarfile.pyotest_tcl.pytest_tcl.pyctest_tcl.pyotest_telnetlib.pytest_telnetlib.pyctest_telnetlib.pyotest_tempfile.pytest_tempfile.pyctest_tempfile.pyotest_test_support.pytest_test_support.pyctest_test_support.pyotest_textwrap.pytest_textwrap.pyctest_textwrap.pyotest_thread.pytest_thread.pyctest_thread.pyotest_threaded_import.pytest_threaded_import.pyctest_threaded_import.pyotest_threadedtempfile.pytest_threadedtempfile.pyctest_threadedtempfile.pyotest_threading.pytest_threading.pyctest_threading.pyotest_threading_local.pytest_threading_local.pyctest_threading_local.pyotest_threadsignals.pytest_threadsignals.pyctest_threadsignals.pyotest_time.pytest_time.pyctest_time.pyotest_timeit.pytest_timeit.pyctest_timeit.pyotest_timeout.pytest_timeout.pyctest_timeout.pyotest_tk.pytest_tk.pyctest_tk.pyotest_tokenize.pytest_tokenize.pyctest_tokenize.pyotest_tools.pytest_tools.pyctest_tools.pyotest_trace.pytest_trace.pyctest_trace.pyotest_traceback.pytest_traceback.pyctest_traceback.pyotest_transformer.pytest_transformer.pyctest_transformer.pyotest_ttk_guionly.pytest_ttk_guionly.pyctest_ttk_guionly.pyotest_ttk_textonly.pytest_ttk_textonly.pyctest_ttk_textonly.pyotest_tuple.pytest_tuple.pyctest_tuple.pyotest_turtle.pytest_turtle.pyctest_turtle.pyotest_typechecks.pytest_typechecks.pyctest_typechecks.pyotest_types.pytest_types.pyctest_types.pyotest_ucn.pytest_ucn.pyctest_ucn.pyotest_unary.pytest_unary.pyctest_unary.pyotest_undocumented_details.pytest_undocumented_details.pyctest_undocumented_details.pyotest_unicode.pytest_unicode.pyctest_unicode.pyotest_unicode_file.pytest_unicode_file.pyctest_unicode_file.pyotest_unicodedata.pytest_unicodedata.pyctest_unicodedata.pyotest_unittest.pytest_unittest.pyctest_unittest.pyotest_univnewlines.pytest_univnewlines.pyctest_univnewlines.pyotest_univnewlines2k.pytest_univnewlines2k.pyctest_univnewlines2k.pyotest_unpack.pytest_unpack.pyctest_unpack.pyotest_urllib.pytest_urllib.pyctest_urllib.pyotest_urllib2.pytest_urllib2.pyctest_urllib2.pyotest_urllib2_localnet.pytest_urllib2_localnet.pyctest_urllib2_localnet.pyotest_urllib2net.pytest_urllib2net.pyctest_urllib2net.pyotest_urllibnet.pytest_urllibnet.pyctest_urllibnet.pyotest_urlparse.pytest_urlparse.pyctest_urlparse.pyotest_userdict.pytest_userdict.pyctest_userdict.pyotest_userlist.pytest_userlist.pyctest_userlist.pyotest_userstring.pytest_userstring.pyctest_userstring.pyotest_uu.pytest_uu.pyctest_uu.pyotest_uuid.pytest_uuid.pyctest_uuid.pyotest_wait3.pytest_wait3.pyctest_wait3.pyotest_wait4.pytest_wait4.pyctest_wait4.pyotest_warnings.pytest_warnings.pyctest_warnings.pyotest_wave.pytest_wave.pyctest_wave.pyotest_weakref.pytest_weakref.pyctest_weakref.pyotest_weakset.pytest_weakset.pyctest_weakset.pyotest_whichdb.pytest_whichdb.pyctest_whichdb.pyotest_winreg.pytest_winreg.pyctest_winreg.pyotest_winsound.pytest_winsound.pyctest_winsound.pyotest_with.pytest_with.pyctest_with.pyotest_wsgiref.pytest_wsgiref.pyctest_wsgiref.pyotest_xdrlib.pytest_xdrlib.pyctest_xdrlib.pyotest_xml_etree.pytest_xml_etree.pyctest_xml_etree.pyotest_xml_etree_c.pytest_xml_etree_c.pyctest_xml_etree_c.pyotest_xmllib.pytest_xmllib.pyctest_xmllib.pyotest_xmlrpc.pytest_xmlrpc.pyctest_xmlrpc.pyotest_xpickle.pytest_xpickle.pyctest_xpickle.pyotest_xrange.pytest_xrange.pyctest_xrange.pyotest_zipfile.pytest_zipfile.pyctest_zipfile.pyotest_zipfile64.pytest_zipfile64.pyctest_zipfile64.pyotest_zipimport.pytest_zipimport.pyctest_zipimport.pyotest_zipimport_support.pytest_zipimport_support.pyctest_zipimport_support.pyotest_zlib.pytest_zlib.pyctest_zlib.pyotestall.pytestall.pyctestall.pyotestcodec.pytestcodec.pyctestcodec.pyotestimg.uuetestimgr.uuetestrgb.uuetesttar.tartf_inherit_check.pytf_inherit_check.pyctf_inherit_check.pyothreaded_import_hangers.pythreaded_import_hangers.pycthreaded_import_hangers.pyotime_hashlib.pytime_hashlib.pyctime_hashlib.pyotokenize_tests.txttracedmodules__init__.py__init__.pyc__init__.pyotestmod.pytestmod.pyctestmod.pyowarning_tests.pywarning_tests.pycwarning_tests.pyowin_console_handler.pywin_console_handler.pycwin_console_handler.pyoxmltestdataexpat224_utf8_bug.xmlsimple-ns.xmlsimple.xmltest.xmltest.xml.outxmltests.pyxmltests.pycxmltests.pyozipdir.zip/usr/bin//usr/include//usr/include/python2.7//usr/lib64//usr/lib64/pkgconfig//usr/lib64/python2.7/config//usr/lib64/python2.7//usr/lib64/python2.7/test//usr/lib64/python2.7/test/audiodata//usr/lib64/python2.7/test/capath//usr/lib64/python2.7/test/cjkencodings//usr/lib64/python2.7/test/data//usr/lib64/python2.7/test/decimaltestdata//usr/lib64/python2.7/test/imghdrdata//usr/lib64/python2.7/test/subprocessdata//usr/lib64/python2.7/test/support//usr/lib64/python2.7/test/tracedmodules//usr/lib64/python2.7/test/xmltestdata/-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:43465/SUSE_SLE-15_Update/1d210577437b1f9ce33d7463cb59aa83-python-base.SUSE_SLE-15_Updatedrpmxz5aarch64-suse-linux                                                     !                         "                       "                                          #      #               $                                                                                                             #                                                                       "                 #           #        "  "                                                                                          %       &''(( )Python script, ASCII text executabledirectoryC source, ASCII textASCII textpkgconfig filemakefile script, ASCII text, with very long linesmakefile script, ASCII textPOSIX shell script, ASCII text executableELF 64-bit LSB relocatable, ARM aarch64, version 1 (SYSV), with debug_info, not strippedBerkeley DB 1.85 (Hash, version 2, big-endian)python 2.7 byte-compiledUTF-8 Unicode (with BOM) textUTF-8 Unicode textISO-8859 textNon-ISO extended-ASCII textASCII text, with escape sequencesNon-ISO extended-ASCII text, with LF, NEL line terminatorsASCII text, with very long linesASCII text, with no line terminatorsuuencoded or xxencoded, ASCII textGIF image data, version 89a, 16 x 16JPEG image data, JFIF standard 1.01, resolution (DPI), density 1x1, segment length 16, baseline, precision 8, 16x16, frames 3Netpbm image data, size = 16 x 16, rawbits, bitmapNetpbm image data, size = 16 x 16, rawbits, greymapPNG image data, 16 x 16, 8-bit colormap, non-interlacedNetpbm image data, size = 16 x 16, rawbits, pixmapSun raster image data, 16 x 16, 32-bit, RGB, no colormapSGI image data, RLE, 3-D, 16 x 16, 4 channelsTIFF image data, little-endian, direntries=17, height=16, bps=1242, compression=none, PhotometricIntepretation=RGB, name=python.tiff, orientation=upper-left, width=16emptyPython script, UTF-8 Unicode text executabletar archiveHTML document, ISO-8859 textPython script, ASCII text executable, with very long linesPython script, ISO-8859 text executableHTML document, ASCII text, with very long linesPOSIX tar archiveUTF-8 Unicode text, with very long lines, with CRLF line terminatorsexported SGML document, ASCII textXML 1.0 document, ISO-8859 textgzip ERROR: Stdin has more than one entry--rest ignored (Zip archive data, at least v1.0 to extract Zip archive data, at least v1.0 to extract)  !"#$&'(*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeghijklnoprstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~RPRPRPRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRTi[yF ƺutf-8f5e6f2c1d0ef70b4ebf5ecee4ea418583017768c8d24c90a7bc1c9f137e1c8c6? 7zXZ !t/rHm]"k%pa ]i$늈&q_K(+ 5o*|eQ!k ';ijʙ XFb%-W :V[sI(Su0mWN^=wदB#7Qsi z]k Z5p@Vx{4_{QAl ^Kqw]qg]-#&v~XۙF4!d*s&hH.bS.@G'jڦc Xk ^~~ 4f wcyLEQ-K}xh 3hLrzB$/:?_X6ԛ.fv02E5n60W'MT\@+=$rmWtƬ{.!r-o29ՇcUq3Qies{/xv吇Mp-J S~Cfi^1lhX8NBp X@n7iN9mӷ*\#GDT2&6 ˳!G926ݜk.C@2 9 +D`LSV/KJ`AMIC0°eZ}B7[t\nt0' P|ᕂ`k+ZaY@2ٖG;戾/mNTXe@}ʦwCb2=<" -$h3.?rG[ AS4 %_=N$zb/.̓>b%8)fm2 RbIxEy==IWܲD\ėrƆWH|:\"Y_ \}܂er TAkJZ3:qtqP Bu¢efPhʐuiQZi;kop5@ Ԡ=0hKdB%eZV 滵(*=5?ˇWN 8$&}#$,EXOǠģtŒI8"]p yb~R@]6e^2HRvOE >62~ ꃈrA `;—(lc:z^IYh乐U*#Jq'ddC,}.Rڱ[M<k9 oŀ6#za fB1nm#~,.ڊ{~ȹGiVx WLF#T%PX Yo$DюFg5PLnWT϶~6磻`a`t7NpZxEϔA}naggHSbK`j6So0aed aQ&~-|>+yl;P  Oѐ9]7}*/!lRZ7t}ȹh6-V $4V_/Eri":^8(fdWWC̋q$W>bDb"*QPeL; A+hDwK!R%llC !:8DddVB|تVc:j,/ *fW,X Ƿe.?pÂ!Ϭg̐@ |p=a]7"}h`wCΝ&?ݷ頞й\sn\Ҕ>2& n^ԇci#R?6=H$R/0n%"u %A;'ް؃y>>uZEwB#IpAS\5T/UG{Sh-p`THmD-["V G ibz? @R=OɋEk˖T)^H+OX2u&gGzwBt7vuRfOZ2}@r0=BQ3&:gkY<~%])3.+H5 |,DɄcҾNOȉq-#3Xs0)\ j$PzXSؽ.>sH#z "sƨ!F ra1ͮLwX>"k-GY=X̤(r*uJIa݁$OB?s 涼E^A(ݙX">ᆼ GUK󯹖,WԿ+7U.:zF zh2ŵx^{kyyy!;U톅~k)~=u^г{c/)(np|٨̈́B]n.`Q+uOˀ au(Vi5PZ@=  Uި,֖wOZ-m6_ccI0" bUZ%1cpĒ-?Qn1#,k<XoAYu)U5ߕ$ Fv7:0CK6݅V!9M[3e_#B,<0!8f +;o6lik~qhn-Z:2g_|Gi@jQJd}GO׀ tdC|,=M!.x۔gth^35Tb `{U { Ӝ٥b*0X&DnqZ-zO0*UIoIj<(:[$i3bGpǚC[lӽZ]ϩΏLpŹ:OϵaF:[ۮCVL!L+r?|#:k!`TDNK2NAK6 L}D{:Q?4O^MJK ̣B- ɸQ)%w\IbT=jVf<0B0x@Lãs gQǎ;U) R|x""v^#3J=`a \$%Y\m\ 9A.P7Ȣe`7oLPW&v1ܮϵyD>S$Z ) $M `^d1و Ƈ~BZ\[Jvi* خ>f칀 / ̪PQlU8n_j-LQ콢U\Xoia,;yj`u.# dLWqC߹x*Da\OUר x<+&S"CT-?- 1Q$6D;)aSٷ$[?N5=d"*+ܙM=kdQR~rO2]hXӔ"WimLYmht1ͷ yP))g铿(gHRSKք{g_ (Ӝ )h1i\vPh"Z1bo擪Vs&/$O\F&"2!ת8evx˃v$|yi>8T9])X.Hp7XHMDb^ MFf0UN3;rg)2 .ao3x )'Ǿ"i7QX OTPdz)XB <Ŕ;5gK0v 0g ^iʨ0>e+z9fns^DeR3s۫/, ;X; aMK|,e)c#V*p=G; $2;CUe%l=u ǏʯfQΒm,xtc]o[5 'Ѿ`UJyNxEQBFyfЋ.aف<ڮ%)i6Suy2R7}\KL):p+#}SW |ي5R~Ҷ. @;ZgfDz 2iyb6HoF_:)uwKw‡xNL`_s -ZVr&YUS'R<1A٘n*NSRs2 x'E>J?OB01?p`Hფ I5cAt,kRB2ˢQ{M~AC˅FW!WI+_JoZuˑ ņ+%PRGU[ǔˤ7&!AƗJS Ȳ]qQEN^X8;NbAϽ هjy(㲻v:1/2UȌ[ҩ9OнZX=A%ʹx12Ʊ*#A ˲b=\DC~6s<:5w I;2*Lۂ5||r(ԗ :Y ֽn|v,.WMJjA(ˊ4m(+=\ EZSie0mZ <,[8PHkĬKc)uP]u(glYPKJz}YpLt,rB!bSbI|r-Ó46e6 Ñ0kW xB+fFs[*F-  CWBE0363mIXp R @مbQS7w@S6n, dC4wW4̌%Avsq ߓZqyk+ZiU"+x Prc^J`+(o g0P޳:W&ZV?eoY4ڬX5g?p[:XY صZrig1SAESc3 ]/ !\`kh`~"{J"Zyk ~*N)#u5fkdD7g"scs#'Ŏ[q 4UM0[ ́m*{CI_-8~ΡsOBA?QhM)3m?d||LqMLGhr' Ã"GHDŽ4hjR7\n$[qTtrHOJ}t!?Vͭ?[;(󫑳S]j`1vxW?=LyCIc%\:N){Lɘ3]YZ4P`f 8swHɃ: ݴOcRoہ?VhfOt[g2)&h@މ7GY"IlNX1sU 8} TRtw|%pu,8"+-v!w["MLH j5u{_kb6 @1&.a0iQ<2Lhun1*#~rXoM0,zPs3Q# C;tdj&Aw;Y%".:fOG}k{HKe]EY|{Pp;cɗ K3rJu%tl3ږl;Ō{A&Ĕ%nikrBi"%ü=,m +*vr{gM}_eի1Pq9sn{Y9d6cs}Cv(Q,`4Ԯ{d v|5_D1UgQ#Z">e͐IԴ -+]6/>L/^ ԥ/ݾNCnpǡ,fWA=x`#6iNcqhI:v|"5d{YykTaop2w1k*$ci+~3. /q'ixm-/\p @aiodдp,F j+3M'^w&PCU#g|-HUpj;Yb&c_t@(Gyf?iXʑ,,8,!rk)}]x] പIrkxO!NEϋ7DMH~wl.bcMtҚCP Ǻ9[|p0R^y?M"U2L1,I8G=j ŵ7s5Hk>(ӏ/꫽CV+*:+(iO-0t4y]aYo`&;1.79ve>~;+i _Y[d/.lX"IſU XYwVk@x?%,ӤW'F?i|w?oG t?W6űv8dꪉ{"_2it ]j8=ʩ >fqÕd1ԑBJx\%V ɩJ?ˇBC!$|T/x^7[&bxs& cNE%QC TH`0R u偟quCޟ Z{~:ks&1Nmpwl/C7ĨWa`[@,jٍkҠ:r;?Yl l8HR%؈Z mQd򽂠`6N•)"IHZ,」/.rq7GETu[F;z~oe8)W,IEo,3-v$xL s>8.@\Cs[?=s<&EOA%-R{l|ߥS[=&+3y[d+ Fd'jO%ٝB~&9*I^z K qu&Ufd \s{k&k6K?5[DMHY }F!ًD]F_́kG?H v` #߲{8&?d5g+~Ov/;98oy>lb(P~;! *׆y2#$%ƦԡU<)"R(XJΠ 6`СG"mՁaA_`+ȥw#+ZWP1j~|7²x#LdS*M>M΢5rzp p@ȖPn6b>KP*$b #1ֹIJ@3P9.iZ.t v{gIUۀ3#d(ٔ^qo]+|lv0kJ5`a) i9W5ꐋ*dd/|K#cS^Q6ϟ8$qSs+]RV/59?~x#/Jh Q[+~hXePiq!baWɬyKbƲ7!)@]U!Go[T^$;/II,{^?yD;xIH /_tUҭMNrp&B)*fDگ٦.zSd&8DTxēz^/}aNHf/zL%~kvRzvǭi'X|PvwA#"'1a 3E1iV/0Y]穱fՋ4^KmՓZDPRz\R>|s+%݊މ.P ]9-kbaz-y%s%_y20F>YSeufߩ̰N3CЭb>["U"ެ8WBg)>S>5?h lidj">k6^H35%! vʙ9? ьp!|b@}~RV=V.vgJdH,R7D5lƹNXWNb!Pz:n 1(->5nVh+z+笨|Vvg/P(WN f`Q 0sW-:AESH yLHS N;LJ=>èmkqGі;*P7s&B5Yuf?mv9EbK R(?ȍ]RDy#G}`-7 [{\VHZն q_R6>1zzbn&b@)ƯN|`~|bHD7O.NŻި,z A9uSܝ٤ZkSAd0{\]v*KFms*r0Eh7 DbM-D& ᦈybT'C2=-p PċbE,_Ev})-l # UI+!,Qxs\2?bK'vE];i<x.H\|2a~\5I{?ar>2Nwu {@ 4*?z0A!_%"Dž6@WD,39\n-MXL,G&u;%g,Z 4L ,r4)Xu3@ȥ\B I\, <;);A?,!Pu4Bh'0@ʉo>b /E*Ga ʰ7셷sZUL3~Jay69齢P7ctL,t r W9wmk6zXPLdGbF+_fMxf@=E"!9>CDCN537k?⅛" HV$~qdaD@X/许G]Y p_+~n /}6ZQ onhD[oZQ_-q.o{-kPC!XtrFK*ܕ@3ؙ҂T3$dQ @԰ ߟvYv].R,e}78d|'eƛD:1-5%0_<&P) 5]V \M>إ ·%ϓw-WWG .:*Oq%.5<ݜ@L=7H%~;]gu*qwZ bQ8;5|*8LZ^U|H L6&Kؚ*v޽iA?w [GêsckN@uɏ:??3Ri U:6§xOZfݯ;t#.<,aٙ~=`9,IX.OѼv$Qƕ^5 l޹2{L(05~H obLFy6IY^&U@8L1[|Je-+bD᳓EzYͅ՘C)rJS\hlLv0GSx8q(ڣzǽuDPE<y\'Vfdzl!6eN2Tc5-}&#dV%-D&೜!x{=TdtuAH|FD ߫oo<&E煯x7[}AzqKt{l÷8$uc|3ul"z쓗Eտ(|TE1(Xvr.;@o&uxٲP$T1zPr m-`Qb!SF3-w>[Tfa<E@O z+6Wѷ)9,ƏӧG`»=k#1qC Ť-FX]>5B5k]->dp+kܑ`b"gx, m@_URug&,^hR:B׷طwV3M{eEVjn JtϮQ%RK׻v|)":2jLݵ[p~pL & RJu j>=qr:jy[>y2r6jܜRGuvZj`AP|$ '㪦?5xNtzTL 3-aiPc@0.; NpcY\uP0Ǥ½QP8JyF[Gd2  WoƗf@2W f%P@I}Ͳs[O e#=oqJhppQ@P(1 Wt݄ǎ5ٲyK"vPxZ\O?|ǛZ YAMIᯯM) h/C(wuԔTGjqA2!Q$<|}^P<hhxw+]+;`w6- ƜꅞD ˒2)<^C{dr?)5vps3o,ئ!pNIVvYc"f nҊvܠ'|H81a9mVdbXzL{BuD#^L,852;BҔ&Ne+;@F a_mdav΍G-C1oT?M\j|tb\ 4Z2pe-/08"+ i ?7nEokmf,x7_ Tzi,#jz]"uS<^KƢcX);+z5Q: WUQZPRlVU(77|Q@!BIW<$Fﺐl-Dd>f?rR '9`P2̈%ӡ O̘~uD@.*,SfpeHl/~ƠQ-Pn.tXI@iڠ6>`5-*U@ 3{L/fצUl4M ma%6Ҟc=S_rIDЍh$:[D܎g^/ rg%+ޏ_l>iʞy1}fCpv7 `}gCvW3=.AQ@2 M%LDRթ&ָjKuשhЪ6㒆7cDf!5T_H FxB7MvpmOZ7Jh@5=F=G?4r!py/-:.>D󓤆hQL8]Sv;+M$t5|qmQ ACr ߺuZuX(X3 )QU0 \J-kwVyEH 6JOPl}5CBT7Ep_rhSJb<GK{X%ƽ4hQtY)H[2U ĭo~Ak/Nȁؽ/U8Qy0 rgtDOr*M-~8߬pyu$$f0*2z}E*lss 1]:]mLeo>> y2m ԃ % s?ȘMU|Hw.2W#jSk(&πnVZy(hEܙ9N@4 @n9x?1Ut`>Si?D"m׭`EU^#jaJ[c Y>t#rs4: !Kup_Am}CJF#Dؠ 5QQ..#t"&"26~FAϿ81%j6'FiH@?)_D:j^ŸR @2}w}Q;ь5dL3̈́*S8?x@;B׾3|r׏P OJ3 R&!NbZ4föFSEnxYYq ,PZ1-=뒏hSoEKGa`("ȉxJ[WbR*1)5jM@ re,Xd M@4+e›/` Vn6i e, ɤX4Z^y2AaH%8oxm"rM#/w1pfGPOU֮'{]{OS|lө:m(y8bHV߽A6e{WȄyTGKӤ$C!_qCgJ2zkTLgHկ0US,yd6Rl0'6Kī:\0@ .^#m)nN cK%=ǛmzbW q}F榴/iS;N~ ca[Ol ۓFMuI<:9p1gaU؀-ԬȉP]ZG91NoxT)?zTW>7zVِtmZ7Jz1{玙l ^64#6R} !.جnlIJ-`ԃqb٢)F d_ʱ,b|88?NֻN~ P2ƕ5 Gf@İheN.ޘ0u &F#Qљ^}VHie7 $>Q80-HHcSaYP?} WӥMrg]⇶ pNI2uz.y`Jnk4d%ғoxjTf= .\N5.ͅ3l P0Ӝ~ .ÕHkpFϱT@Ff=3-]@ 홻K]b8O~pOl P6頶-iL s%2#[OH;qã]bD4qA x1cL74OAg_ $)2]>; #[$8x/ GSK5/ KkO. %edv ,gA+ϧSuѥBDn6b+&``6QF> $ܩ2WXc]Fn`YfiPC☞b8Y|0!o}}-fĈujA|F}b\ykM4p 2:>u:?@(S&hO>.%2 x(ȫgLC๮v5@gj{[sjז/i e"4G9ڝlxvm!f#QŬy #Vܪ*P/biV?;z%hl/τUlԌY`uK i]p Pb4q RRw,lJ 0vu^O4jecn`6ikD0gifU Ö Ѡ99ۜK8ai4n/K|$Y^1hN[`L/֣ܶ<3OThOݵҦ(W).ܻmĨ4$Korȳ^TK;*ZTK˵<+%i@}%fDFu űq]Sk_}FN(" >eڗ0*S8t\Og٠v d`|w8Xm&޿ @HײxHg8qUoc:2;i,D_|ĶLd*r%3̈f<nG0CrjILv# j~A&rTxKV:֪טlB02@c_ >"I`&c0ܨ7p0q9|@G>]M .~-/e[`H1Ow"S@.N[jf7yMɠتE=HrV}RSnK fi#)ItWߞ716#v F$b&6