mercurial-4.5.2-lp151.6.3.1<>,^Ÿ/=„?! 6m;R nD.|?|V Lr`ʪޚ}!,5Y'Fq8k}c}I02+#$o}( șؑZ|t|ʘY5|/6g=,tLT"ɞuܢMWF`D0 r,o#C6 M xuVH:] 2OZFksl ]!RzSk(͙D\hC0.h)LwMxAP?Pd   7 <[ah        %  ߪ  , T     8`(8*9P*: *FěGİ H I X Y\X ] ^6bcAdeflu v(w/ x;8 yG`;zPLP\P`PoPpPtPzPCmercurial4.5.2lp151.6.3.1Scalable Distributed SCMMercurial is a fast, lightweight source control management system designed for efficient handling of very large distributed projects.^cloud117vopenSUSE Leap 15.1openSUSEGPL-2.0-or-laterhttp://bugs.opensuse.orgDevelopment/Tools/Version Controlhttps://www.mercurial-scm.org/linuxx86_649(Z {*Z# i$.A+V+ \> r"# @ :TeV(-%L>WUOm* $(Y !dC5B <2,^T3-10-Ҏ^7 MsVl3%|RR(O`GV2=04@6Z->$> of"|`L|wE'03^#C=;0&I, 3y{~OFl83UqTAT<.(9x)@9XMPh *@ HPS VFF:<*0(CH '&qR^\XVQ5:4, -[faT=*G R/DeLzM7Q&IiR1\\&!rA'yvQjOIeA6")"`T qNG 6;n9 t $ '  V HVK DW v "cE<LA/6_GRtl% 6 m'!Me!$k*&H(B _P[0+&~  /5(z=<$?{v( q^~$@zVcelgeQ%" 3^~ZgS VW!+#  N =F{ : #j#%E }(</ g9@<7 -)-jb.F_tf_h hX% j>A0)\IB/ 7&VXESIy vxE@XZWLB(~-iHQ4G.~']At;oF V32a%- = C@m_>Qz |u]V X "   s~4y@  U B 4M  5b* wC|,LF:,o;>mo@K [*;`#)$N u: <(  lnkDgZNK }|#*| kBKGP qK7AYq|V7E9K .-*8h("}0F[w%"sAA큤A큤A큤A큤A큤A큤큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AAAA큤^Բ^Բ^Բ^Բ^Ա^Բ^԰Z^԰Z^԰Z^԰^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^Ա^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^Ա^ԱZ^Ա^ԳZ^Ա^ԳZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^Ա^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^Ա^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^Ա^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^Ա^ԱZ^ԱZ^Ա^԰Z^԰^Գ^ԲZ^Ա\ڭ^԰Z^ԱZ^ԱZ^԰Z^ԱZ^ԱZ^ԱZ^԰Z^԰Z^Ա^ԳZ^Ա^Գ^Գ^Գ^Գ^Գ^Գ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^԰Z^԰Z^ԱZ^԰Z^԰Z^԰Z^ԱZ^԰Z^ԱZ^԰Z^԰Z^ԱZ^ԱZ^ԱZ^Ա^ԯZZ^԰Z^԰Z^԰Z^԰Z^԰ZZ^԰Z^԰Z^԰Z^ԱZ^ԱZ^ԱZ^԰Z^ԱZ^ԱZ^ԱZ^԰^ԯZ^ԱZZZZZZZZZZZZZZZZZ^ԯZZZZZZZZZZZZZZZZZ^԰^԰Z^԰Z^԰Z^԰Z^԰Z^԰Z^԰Z^԰Z^԰Z^԰Z^԰Z^԰^ԱZ^ԱZ^԰Z^԰Z^Ա\ڭ^԰Z^԰^ԲZ^԰Z^ԱZ^԰Z^ԱZ^԰Z^԰Z^԰Z^ԱZ^ԱZ^ԱZ^԰Z^԰Z^԰Z^ԱZ^ԱZ^԰Z^԰Z^԰Z^԰Z^ԱZ^ԱZ^ԱZ^ԱZ^԰Z^԰Z^Ա^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^԰Z^ԱZ^ԱZ^԰Z^ԱZ^ԱZ^԰Z^԰Z^԰Z^ԱZ^ԱZ^ԱZ^԰Z^԰Z^ԱZ^԰Z^԰Z^ԱZ^ԱZ^ԱZ^ԱZ^԰Z^԰Z^԰\ڭ^ԱZ^԰Z^԰Z^ԱZ^԰Z^԰^ԯ^ԯZZZZZZZZZZZZ^ԯZZ^ԯZZZZZZZZZZZZZZZZZZZZZZZZZ^ԯZZZZZZZZZZZ^ԯZZZZZZZZZZZZZZZZZZZZZZZZZ^ԯZZZZZZZZZZZZZZZZZZZZZZZZZ^ԯZZZZZZZZZZZZZZ^ԯZZZZZZZZZZZZZ^ԴZZZZZZZZZZZZZZZZZ^ԴZZZZ^ԯZZZZZZZZZZZZZ^ԱZ^Ա^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^ԱZ^԰Z^ԱZ^԰Z^԰Z^ԱZ^ԱZ^԰Z^ԱZ^ԱZ^԰Z^ԱZ^԰Z^ԱZ^ԱZ^Ա^Գ^ԵZZZ^Բ^Բ^Բ^Բ^Բ^ԵZ^Բ^Բ^Բ^Բ^Բ^Դ^Դ^Դ^Դ^Բ^Բ^Բa6218537935f3dc0d97e4531f1319dc40b4778b5666f4a703f6d5046d69cf22d797540a5ca0f1a3c21281c4c391f52c16edb9f6473dd7c9a6dd7fc9702b1211afd54761b4c7ee909bfa26710f275c94e2313d9ca0de11ec08b6a1ea72bd029fd860e274d76bea8927d4b5184e28c6e21b940e1a890ca9643af86f53a714a7e0d1d4f725413b7337b8ca31a2e0c960ab62b775c551dd0a162fde23baa76f2145621bab20761201f848ade26db4570c35adafff0c93dbdb32fa3230242f71dce350d205a161f58cce8ad5388e613d4e5f4e3914991d8c3bb5060af0f34743e1dc95f5da735afb25ab3193242e875b87eb66ec6a2f948bd6732d345bfb22e553a705fb3c4aeaad682b66a68b2f68b5c0f08b572db2d1f931c1fc22939dd52dd45049baa70154ff9adc3fca3efe7dc1b690395f5a50f43ce7edf17400b50d6a7890c0e33daf5567f4b6a6e60d64e4a61db3ab1f297a026ca5886a68bca06bbd517537190238df181490b6e3c3dd77699f5bceda7b152cfdbda1bbcc9acef82ddf4034f9d0f2d11bc4add11e3b88117de1dc02cbfcb11239c4aa21246b33538e86a0e6dc9916b9f78d29b95bd89320ab90e9982d49f73328c16d129982bff99fabfaabe01046584b4949aa5be323b0882255164843d824e5cfe182be00825b5009aa26084adb9cd382afe885943ba86826ba98df61479e3588eae252635479de331a44711511fbab20bb43d1cc4c6f701515bba58951893f0ee27cdd216ccde89369a02572a916a97786e5cb6b1e4c068605e947c5995ebb0eaff1caa13332fad54aa156ba0ae1c18aabd34b2d48839ba340ca700e62f7266645e8341e292ff6280b0a0e0eabccf50ad96424326e44f05ebc00e488e4469448ca0ce3f1a670ccdcb6d79f1d15ac34398982eb2417303c559a6c46e299dd81a7ef5b6cd7a3389d83c3a348436540a075c30b8dd2d62715a099a02d6c80c0505fb905d555fc9a205ecc7aa6904e570e69fbefef6e95fa01401605ba4374b9fd7f1ee95943ca074374317b5f2ac624d0b21da88106790b726b486cc2da7649a7b44391f59a7b35e643e333f23d4aae73f49cc2a141665a756704acb936421d3ee6d6e4b978ca75c13936275710f1075096e20463261c8ad1a3cbb6923c47154efd7196f1265cbf6479ed5749248432bb5bfbecbc94bcd461e827f8738aa36fa181516b4c37254bb29bfc2ef5d5fa800f271b63c09855c730d02b2778e0d3fe2280519692960a2932c06ce735f25ad2158582e4b6496014fb34d4be53cd6c00566efcd6578d88124064b0afb68ddc20dfd7af5e52a5b9e72c56802afde111d4e8bc69f8f8d46d7024312d02a73e0e7e9767bfe4df9edef0300753e0195ff93554d32cdf976ca1505071b6baa75d51fc9c053f716527549154957528be7e5f8ddf3c7890d3bfc84d6a85ae98e47a1904bd2a7f8650d275f45c5d9be60f8a8c131a1b25146ebde8ceccc5e6f02d1c66cce067d422cd97348975827956e9a4b6070c05af85907395242da4e64bacfaa70800ecf0568dcb1b7881c11dfbd6cb7828fe31331bc0a5c10bb8f060f71623e120c45113fad6a8e8722e4d16822ee59a0ced3e46b2b28aacadcfba8c99261767e1240ba6fd635dbfcd508df40afa4e8a57af9b792b479d6b7b6b7a442f925d680312647c91e85cb0ee62c4ab75d686c41e8f02d0524df24ac29e7f3de9a6c4434dfc8647b62ae8d9ae35b0eda97e924fa1210f674be72de3e2934972d4e3109cd1a2f7013207319c16ab0af40c82eb18a96d55e5ad5837db1dcdfa64341e52ef00e161223f58709c5ac5ac69147febf3479ac6e9a807707410db689d7853a8726ca6bc209ce5112eb0f0f99fa867ebbfa87e716ddf3251b5210fb199a407182a9fdf5a64045857b4542a0ac089b606feb3cadac9f499c8e94ccfc56e758c9733506e25948c23ef896ffb46fec8392f804f865c96bc67a277b128f9d5fde5aacde60afcad9cd8651c8ad5fad4fd1a9ff0b7d7dbb07b55ce784e30554799fb1675b17d1a4b56d584619f83cb3cbb2837e89c5d1234c7006a005849325740feb3b2e8d87131a51638de145f6cf8eccfc725f31877023f48c6c33e630b598daa22e69d36eb49daaf768a99ab165c174a9a5687e10702b2e12430d92f16c7b3c38bbef53812f095af3280b2e73c72bb3959d1627dd02db18be43dc9abe468ce210c89c8301fd5e2e5c97f839adbcf10cc3796fdafb40f86123b099ae5c86624b5aa232ee344d7f116268c088f9242e9025837dcd863653bb2454959984a7bd14c646ba54cba745d46fb8def8b326c3d8ec6b024b83846bce43f1452c7060cdb61163ebe5b49a1926590a6fd964f03e9aeb98142ace8564e2dc147e56041147f3fb8119cfff6c0da4727727c4d11ba390cdffb44c0e4bc98bb1dfd8d952f335dbb45b6adfcfe60d91911ad5f9ccedf4ea9694c851e7d2870c390d6bafffa405e8ebb7ef35c001005e7d3fbb7197d0aad1be357eef10f6cf7463570ea77403eead1fe2b1c8f5c8b564c505fe84a595b464d554fd93e9fa4d01324a5bf68c25f6b91afac70261bc8bf714fd7b01ec11a1ce4b1a751c5d08df6dff1fd554b1f2de4eae070ab94c77ac51ac300fd42fcabff377d9c1727785828c72f7fa9a70be947784dd46f885129419bf44205ebdfc52902f2008555c849a29b701d5ea45e457cedc8d61eb21cda289a0dc5fa566130d7f9e140ae8f5f3cab55ddecddce192950e3b0ebbc709ea4801c729c72aabee4916d0b22bb709bc32c036cbb8e7940236f95b4949f340d6673f0349fc9df208b225fc4675fa5d94101d3d9e8a5461fe5df1b13260e3489fbaad1a2e783e985498f3cc133dde3f6f5e5d1fc100c089d44bad0c428840e881ae28c010691758d11ec25d3fad9abbbfa78266686a5f567d5d901f29132415d6a518a651f4310f73e8e52dd33ea2ccb9057e98916ed080f3e58796a2f45df9354fe7581dd538ebb4ccda1bb5c0469b3698cbe347227556b4ea3bacb3a6327061c33ae15d2ff5a4a35d13a18d5d4549cbe593e0d7acdc2e406a4301b779a15f9dacc65c2364e2f4d02648fe6becee1632cd9171c10cdb2c7021af8078baaadb55fb9e9623b8ac96dee807f31b9b8d3a5ccc012463b7e6b45dbc87ba074104babee0f09fa8df3b1f7da0e7107bf3637dcb81928c7bf675342ca0d638edd1b2ae807f220cea61835abd9af3164e6229ba3b0149a798c676184c0e590017cc53292ef1f65c23f2af84b785e57fd6bae45b5600bc931d217714413606cefac154fd8eb109e8963ad966d106505365c9cee7fc5f1bacea7ba4f0f98fcdbdb12b0ea6816bdf7733c044faca13550fa6fdb15945f18a1aa930034b736a9c942d85a7739f824e36c36b69a346ebbfb5041b51ade699d43ce8bd1501f1a416b424097d2c46d9eff65b2218c2c240e6dc8471b6c5f0df6f0f8e485699a752831766a72a2467ebe77a335bdd4d716e5eef5f8fee0ffa0ff1c56bd0fa4e5dd51bc919564b7b97074b494f31ba6e795cc7cc7808f4f58c5625892013bd1dc4f4d7885c62c28de3cb5d6e205220541174f5761a32c2e9a248c4cc9fc66660e8dc422da5dbf6ddb1a53e8a1f2303ee8a554292f762f874ae57fd39a4b980e2d6db97b429d6cfb53c6a5324b7fd850d3f9fa18605347d6bc7af1c4d3c9afe980421ec45a4f619bf4550e363619aa13d849d0782bf243596f4f09fc755abdf749426f7be2031f8a4bb6dd4b98202050472288939ccf85e18a0d3581bf2388ddb48ef3330d2687b4a6dbe8bc9217432ff3c32bf5ffb170622743281053ef77e72db7ca731b9227bf91386d198261c026eaac01670358bb7d30e72afba44de2b5fc6f5e23ef05b791db4bfd99d41790582a48a799f701a0c4c08689072c6889ebf03252ed15a1e3de79e6ea29b0490c7c47868d40bb9f70786230d9340efeb31d94d93c9fbb82d480e0a742978fb511e9273b442cbab048c1682a64b6210db4f307ee9c5ffd4b9379fd821f23511c8ab7eca31a7cfcca8c577b660f4da4d31b78c367a4f6e4231750be3085e154f6aaab7220be649168376d9796d370613d5ea9de6914150b8831a79136d2bfefe007d1f8db349fc4449be809e9af6d454693fd9aed579c63f4316ba71901b8586c1653a8bcfd7f87be0ee2b51a5b57c582d20b4a564c9d389add015b2b8f67ce22df4cd350016033658c5b19740a22b5da0aa03aa3a4f71d7877c19b93ff88b5ed834addcb748f529fd7f36269e01fef3181433b84d3b4db660738f4a1b96a53f79fbc1783b048ebd09410e73ee2867879dc7334205f231b72ef79de2369ffa6df5f12c329b98a7c0f2722c14aea162c3842a0b40d7c037940f37b82126a486fb129c0e7abbf7375bf76520d315440cd92537c2d5841b3de071e25e444b07e863988d597af3524ded5fa726c488e41ae93f96e243851d7685d3201e084d8df3f8fff7d8c38aec1189007cc6ea4cba5645ee7bf3d501f235c9563db5347a71cf16c6717269300114e6c3ca425e7ba63c18b89a7336475db02c0f774d0025fb919e05b2f199e219d60f1242889cbd0c2bb9518174afe927231c6e36dadecf418d1252c4c21718fa4b25a4ac5b7ab5845f12fea001a5f9658003a6f1c25cad97764c0858c02fe539f7e05eba453d16bd61c4f52c08b0b22cc2979ef11a6d16df22927704687cf0d255621eb61a97a61f02187499435ada3cce9cc4e2e6513cd74085b9c07dc1f1cf0ae875bd3ad10f993c4d41322037fe526310bd7b3f4ecb6c7806f406242215d7b726adbe5da4f6d70f18a5db5a3710c76c43c4cf78b660429b09ac14927f6f4450c07ba490a30bd5580fa6024a19899f79699e82a5ed865493c4dc7cef1cb99970b88ca125be1ce27052444691f1f9f826a91570e1646caf280d8e02299f66be653aa612359a7ac3ab5c2dac2a15dcb6d2fc8e41ff82121769f048993a0409b457cd4f267a9176167a1f1f25bd2717f80e0615192ad68336d69edc9bc8dedcff44d9a1defaefe7f6e1d9a1da72b725b3a206b59a3fda425cad276b51cea05e5cf8f8472672918dc81f3637412f33760f0a88583a8ca04084626f7d257a1084b175b42516b04695e8b085e539734292635d9742df84f7f8983c11cb7ec9f08f174e13c1a62765abe2a8be09173fad17656542b0e4b0c8b2ba6c5b6b4eeaf3a1522786239bac88e9c80585c667b3a0bc22bb7a280c876573556f30a3167f467d121a2bb459ecaa7d28dade015791086ca347b285bf8f7c36680a29aa497e588a17136bf12ecf89958c8071c29e3e8e13ec32d2ffeb68aa344121d4dea11f666c46b99283c3d73c0114e2e5ada3fd928ac1bc1ac9bc4b0797110817b7812c198eec3198cf96fb96367405b80e5335f75a78d1be3594366fefa55a6efba16e13d2853570a28276e32f1994aa79b71460ba6f348835e5240d7db483793ac0d44001c46da5c4f15c0bd5ed45ff9263b8697cff4c6c47372b973d0e7f8f2ef81bd4c5de26ed9841ebc3f3fc4969214d08c8268c936a5616b014957b431dd3a6d4591ab0458ecaa83ec4be9636343264cb6186c703f132b23b07599f9a4b055e84f0577d0ae8140e9f30c55225760b8bee765a84eb3c7e298792c817c08ed5adbc91d4f35ebdca438ea553366646c15c97daa93e1abb099271f0f0680b997dcb91dc68b6708b3c5f82d7c9d72da9c2fa59e64204bea62459fc8a0d47291ab7315ede5f36a3b754dd3ed7936522f2c19d1f2eb19f90cc385865bcc1ad3e4dc64baf7850faaca73a4508845c86d72304a79ee9c5cbf1356297870f7a83c7edc0216aa50ef22898bfe9b03937412cb4774471f9ac01c670e0732b2ff5163ca6c5e8da7a7c6f0c9049acb9d45c00d1bceb711d8ae919ca5de5b5de49ca9d95c46bec870e894b387cc30c63c89a718be195b4df0f38868d0782a9cbac1bf5f526fa71194471c78d8c3413720d1f90a767d10c6608c7cb5b1dac89d65ad38594f13fea77a415dcaec773a16e682836969419fa525b67ed0792ceb95f2a38f7f4da632fd0058d3cb77dddb907a9d9b332b3681e8abc862498d955690f812f38cacacdd23a3b455214226573cbb4c481e63192757e914750e5fa2e1ea7dd7dd231f1968ce04894e029735bebf8870367ca08d9bb9bd5d7d654c311a8b6916010ea995e2cc75e7169b3f08b5bb15aa5171226b568515fe8251c77e575a456bec37d357b339c84fb242578dfcc269906ae856e392f1d30193b0805837e9ec2c94c06055815c19188f6f2771030c8e0d0d1f744e8757893e63e79f7ac1f3f788e903887bff0dad33ff7648fe2ff03779014929b0381e332558737505cea3943f0e15444c1a24890482db181431671c9a3b903c2ab660751a49dbfb41d46f93b2cf5768690483f2c0ca27df6f2a765f65dccf2a8dcfaa3ccbcbbcadacefbd5009dd1ac225cb9e21409874907a14c1f37f88b431026b33d90ad55cac0e890f6a1601846f3530a2f02316cc965b65e9513f39e48333d0523ece050890762786d19e38b95944b61106a2f038a76bee75ed1a137a1507ec7db698b9baa8873dd9f5d75be9163d79b1a385763559a8a994dac7ea355ad5cc352b95d3f4930a5c886fc2ea1757e15a0f12572b49a0745fdf291d7dde90ad16497a63003452fa525109a4cf9ae78496f748aed070fad95695b63e8f5e4694c2d790ec00ea48e80b9e7d5bfbb24c639f4f6a8f70cf5f318827604076ca2ed39c3f77fe2534820a83c847b3c80c7a24dac82dabc3182c6e303d37418ea9c0c679d58052d338ca1efcf317ee662c6b96efa00621fb5c9b77c40e59d03514e7d454d6c399116ed01d1a631715b73bb8b890d8ce2b4f101acf6484f1f373215d93b019aa1ecbf787b8b017459d917128f999bda0190e7042f51d64db96a1fa23bdcb6804d579feb11d8d08784566c1cdc0eec9241821371a3de5775a1c083a05bfbda2e9ff899670ff6691f7bc04ace1256a8f0cde14f43673d5ab7f0ff060cb2b2460d5d6f84d8430e014963fa9795030b0b692d7b23f0f4f51990ab9411250628df6f29b203a49cc1b94faab8f73424746c3641302a223d24b3cb94e322ee18301ec15acd96fd365a429cfbb602f3b2e19684c017fec4387be339420d96db3425315c47ba9d498da55f499a3e919e20360ae9c7548f9f6885598f870088369bbfd191194dd5925942dd7682121adb8976fe052b02a5829fe9fbbf41c1880bf1f6012ff14acf07d33478028ab7aa02043c5f7a82c22625cbe566a496eeeea4d5aee8e04b122f3cb5cd3d07e44e1fce04bd6191741f8bc26a4323a3c097e303ee34b672edfb5392b3f047df1a46493427610b6d6991ea8aab8874aa25df392101b49c16d200af907266848e75258fa458e8a7701fc015fba7319bc596acfc7e21869bf59ef14b6f8333594bfdd2e737f851d178fa617835f032d1a3d9d8c18d8ada4232b306d3426c8419dfb1b9c4fbe11c18693204d0c310b7fc07bb93b13b328ef5c5287dcb851263300371650c41ced14aaebb0f95d9111fc011b1e40ae9581a3b14ef5791b3f9b7b89e33dda8915f02281d9df411919eb1cf68866cd10390242f5d32b614a8cdd98cfeb500aaa8d7394ed0a2b03e1e1fc405537bb66c39ac1211f674b363e72282b63b80391c868211a72a32912bdf7ba39357bac162342cd1211397525e6df421a3d44d0ca7025b5e51e42304521a0ff9721625de43f7a8a1a70ded5b50af9be2b3dc867bd6db67ac664a6f62c82b59b9bf5c6d25341c836ed63c004d37a3f769c83b6254a761806832de35550f4f03065d31c4a57aaee49009af345e69e2fb354c3ffb49e48f66a1f43f347805ecc654175511bb368388520ecbfd5d961a2e1ea121cae632a225b95f9df98226d25e5fb3567cd036f5d203dedc41359b34b549560dc7878ecf6a1ef58e0efab6faea746fc7eb7eec351411d2145ebdb039c94eb874b47efa0e4ec00fec8a212fee6db783e42e381914118c516319efbde9a05ddd516b75c4e10ec26d6ab8ca83fc81b6eedbf8f479ca008e5ca3dd8d78fd7dd314f65f28b5d4416c6458d486f1deb8f7856080ef97d86f27bfc98c8ddeceef0b99fa247a0aa49892966d9b447f93bff0920c43cf4d749d07ed13b3f01f69fe4e3abcebc2c8c2f5d78e14c91d80fe5dc69c9d62f042feed15895eb8c7ba506447c0144a7d2b20c747a40dab1d6440f082521abbb50e85b1cc90d74d8b49a1f9f011598a2c43ce73dd8171d83ec2b11a8730090c0638fc708f2be8c3983ec205fd08d3fa6e71c81eabbe1c431221ecf449304f18c05608547e5a8019391fa9d9b535f33d5efade550d6338fe46606645cc1b346f7b58dd661788d1f98e3eb0778622b84b64e2313c865eee4f0e9a90a665c87d56bd19685c0227ac182b3214b10fe620caf52f914f268f40dbbc04ea101f3e93c1d3f9a548c113f8555b893baf8973e9830b52f558dfccb97ae77826311fc8fc896d9707aec1b400f76b9f9e44fe34909f3eadd2c55021eeabe696aac3a7506427db03bf75e515fee00d2400c64bb74645787c99b12df173844c08581aa40f2ba0aeb3b046e252855291b7a2bf24654cf49729f6946345c7097e2586cede42917c29cac16ae8d4999e6b30b9078b2fca8a247ffdc202357d77625e24d5b036df4b5514a999e2a846fb0446b71b49eb8743f93d8d105e41381788180c161f0127a38dac819810c7ea48b6b07c8ceda35771afec366756bb6f8922e1398663108388a00277d76165aa8bde08aadd71f09b5972eb1187c4eb4c6ba44136116ba171b602565b915d3aaf387a5b1f3169540b934d42abb45fe22a7f0666987383218543b262b5a932dea3b3688a8e75a614de252502cb50cdd52d9c57b277dec68541c367e7ad5117fb4811252f71f279c8f864721081b7a1949a1381f511c3bc7f67964c70e4f664feb97a549af75cf8f9963f0c828f8912759727c00e44b8b0839da30ecfceb99f97be2618b400c70c0174c068b78ba7a528705602cba994c9bfef2a9ee4a8ec130cd9b71652571ea83fb230e736ac335ffd6d1d3c9faed74192a91aa4a758ffe1db330350b27b94d625f25850c9647cc23d6bfe9c3a61663aa6f297782b9893c917de6c5476e3b97a911c81639eef8747818f3cc77f512bce24c1d9ce941e6e799b80111f447162eb5ec464dd6b0cc07c388bf077f6a92be3a38d1154eb2a142ab430ac5b370293a1a9fd868fe72902ad1471a55b4b9015a741238c94cc1004967aba126e54fa0513bc888683fd414b276f65a1484c218b4170b744f11471025382317369d42d2cb43012ff2abbe49abeea2c5e782f87ce7fbec0131b5e9ad39009dffd64752bbadc2e137f8bb084f3d7fa1abcfb4d62a05b316d12a8b979a3c5bc183f35f12e4b9358d5c65c535adb47b0e186743105fa15ef693674d645786f161a099ee3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85552e91f6e2b0c6acf02a1010ec7685af6a3714e53c23adb193a052a5d20e3910fbcbc84fb318243290ad2fc5b93aad1ea99d5fdae979d536d4dea436aa0d61b7bf4122301202727bf23e83dd5bf5db8e79fc82d853e09765648deacd040c873b669c025c0d6a0ec5c6b2943b0962ee4d2dbd42693aeb47cb1970fb4e9b1ac6ff588b493c698ebb212b8cc91f924c4f509f8c349315ea1c3b89b0fc100f1e578586c1c6fc9df3dfe1b6fd6a60cdf32ad3ddb63ade1cd3518b56cff50b70f5ea61bb7ff6c6a8897a828bf6318bceff40f4e35497f5d7fd184c63135c5308fb53a23e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85501ee3b84dd07a8e640f1505fb33a12f88a2d4ff615a37b1f5b639adaa737a661bff5b314ad134c032408635276d2097710d0b38484fb64f71150d7784b34a4d42268721804d44bed7eae846f0d4740d27fd21881efe9ed9360146b190248b4683fe2050ace47cdc107808c7969f3caa7c8fc05c84bf9b96943e2d6a539a6f6805bd906259290d077576dacb58fc78e96c9ba4b87fcec37e7bf594188df60eb720ada065d366a70fcffd4feb7598c6318c98ce496544786acad4fb06f0f7c45bdb6a88b5ef1bf07c54d83e2116f51189174efe74fdf64c3fa7c315b1a34e14628ee5a49f8c2c8cb2fed5cec03707fff09a1f1e3f5fd3247bd86f6094fca94dd7d042a9f55c4a43427a8873aa679126978fd47a101bd040fd491c53ca1d994a972e2416e1c6d3c53c384720b396b583c915c68ba39dba98f589c4e4ba9017337b946958ae17f13946b4d40607497ece4d77f8b7cbffe6468ba23a907a36ac21983d704af5cfebe86b122056695d4e92fccbc99ab846f025d6050d3f895c6e20685ada4b8f297f298eb74ff90639ce147d93d032eb2de2ab04a4e1d32b43689277aaec545fbc11c738ba400e3596d5de8230d38ac2b252a95f0b899c29fb87ca1462366e3b5d71678df752f910636641966cf98a2284824f241838fbe4229f94264655bb7103b433b456b2880a21934a4f00d9e5afa1ddb829b84d226b20c1baafdcc1f4254f72dcf10aacd3cfe0ee9ffadb2dbec815ba676a61737a3b5624dd80814c984d5b623da2a6b907e170af646a65f61d33124d3d63e4abc735aca62f2c308b0a0739f79518cda08faa093e15ef4258aca5b81fc8498cbad4652d2f638d3ed649b8c3108f40819d38d1b5b0fbf45ecf02516032f351d0e8f64edd48beca7f2ba5b89b8b86b202921f6d8257b1f291b18d57c18e58c544648ca79f20ad850e3557206b3783324150f8943e8aad5bb3fd69a781053df87f57c4e685cb36ae8ab75551f92f5e8da44444583116e9ecd6050d3cc40c79245fec2e5b7eef68d1d189d4a33ddb9890969d84540308b803bc0fbcd553bdbc04a4c51bf3d8c4fb40fe6105e12139cbc913287ce50fceda0fa459fcdd5057c48d9dfb790e4c299b597d65c3ee8936763447544d8ef66958c7d3ac2e9af324f37e892caf77e3d9bf87fee0b060465b700918127b0418254c889165a5c19ddb306676e919644e1319dccdc016979b4f4345ffec57a785bc26c22fa49e767873972b6cdf251b0b6bf1da9cf8b17a38aaf074548dea2169d71d95dd6a30a98d5ffd5e44973717c4914ad525412068592188251cd20551687298fe4daaf6aaf044fcf38ba67b6bcf96e513f077e903ab176cd85d41e8649856e39512d107db55c81511f75e82351b8d9ee1cf4fc15d557629489471ce475129e74899f192aa7dbb83ce1ea22b31aab5f675646faca5164d7d8c39b40c01c0b631611d02cef6179d5707b8d4e1d8f4118cea3c71061f09a6ac67f7fc70650fb99c4363cfab854679978ed862a6cdc3fcdecf1ba23ee9421cfb204ef46306edec1f12c6f951c1e653a52f9c53db84ab3b36aa3c3629ce9c4775c63c4a7c4b9a28d7cb6b6c15fc2e13223d03fdaa35acde97be2d3bc4432530fd4c86a7124cbba72aa491ac650bd49928886effa7dc755af5e38f22f7c3f7c51046e0da19d095e08c3a0c8ad7084c522f12e0d97475959473d916057dbaadbb71dc2b7f541cf2d6fb53817a347ed7de8ed687cb6711f4cd6b79f05454036b89592f235a00be9757b0bca632a9bcb4ad09c667425592e90d5ba7e8c31fc2a29901d639a02374896b4aff45f75abdee9879cb8d42a3664190acd374e265d8f2cae1d8fae3b3f08dfad04f7e534c3b3cf52bed089b969d055ce43fa2d477b8499e264f35bc375244f6918ad2e468c37b2af91c79631059c1b199de2c83b3effe0072bc7475aff0ef1c193f1489862154c9ae4b3221303a288bb864eb73063d3ecdae1a55000a371147f1279f698510f7a2abb6c163576075d2793dc9c2d1f192b8a7da33626acd1f199af978a1a1d0c6dbcf18e0c12186000d356a723703ff18e43463aca6b11872c4acfc8bfbd2c0a73a0df5c92a56f55d697c9e76f6fc2c3044164a4decab7f3ad2e15382652d4ec9640c2df2c3271e4db2081bacd1229ae1ef354a42ca753e94e69cfc5b22503e4878174bf924a5c851d22b3cfdf7fe8a0cedab305a752dc2d79ed0364234d99d1fa84109174e9c2c22dce54c455ef0b6525e3e57e52dc1659ad9534f9e5b02ef2c8e579263875eee792266b9c0fc09a2495055286cc27f8d29c1ba719f2063ef7106a1867e57a10d33326725f6ee763486ec5bf836d650743399fa3786e6383e7cf4168fcafd95187e187dcd8e01b313f9e254cdd299dd5c0b0680412e7f5cd6a20a20b6a3c04aa3391e07540be98798ebea129fc156a59964f41ce05ef3a3b1bb15d91f4b9d6e321de41281803b4d8ce09ab169311da303f97782e958f6f8a0c6c8d5c293c707b54ace7d6f7c44d483f1d8497065deae070fc7fcd4ec62645b5c1c7c8a940bbc3bc56cbc63a830c3f4cb04f77f3ff82663eb27bb9a6589c1d87178fd402b1a8eec91d6d89ede2c1c330c20cba2508fa22f7393c04a219cfb7fded716a9619be4211544d51578ef6df29548ae321ab4d2e4e848a44f65a258ed8bfc4b5b45b9e4407202e4da702c038398e37aa005b990c2388c47a5520a0dfd239c8ada245d5957ba3c11b8954b0baaaae56754f43f410f2a81342748dca6ae96778eb097cccef2071b9154517f468b10b7cded61aace20049c2cb5a70c97c29e2f7f826ecd98cb4bd782f0b31ef7f4961476baba86e9dc4d7a2bbd379058abe90b8c949833013f422b4c5f40c58d92e1aace0ada2431ae5127deec5db92bba0e3940304ac24f7dcea25bb6f56d1bf573827ea9229e9232ca80860c9a1b0954b9f8d7ebdd82e4f867c2125a0bb59a686d3633a3e22fc070011fd291aaa5077c643809bc849ff3203dc948f26fcb606b5a9a95c861b0f3c6b79d1618d94f9a13a3ad96ff404ea8206081cfade58c931fc5ff293b810e3b8c54aba4b30c1b4773b2a2767ee64faf4dbc09663f5cead6949319432f836768e62b846840c5a780a52395b9a77c6637c237bd0bf30593090452a67693658d31d44b6fdbbb519b92c1da4da0d20b8dd00893433b9e322770de2a9c8854ac4aeebec678c2089786f757c1771fd585691a1902969e9fb3493caa5ed7f4579fb38cb54fb8c20c792629dd5be602345c92938c43eefbdd4d786f71c1e0af936e899c06db4ee4ee20f90f2b39bc846c7a5ed372104820869302dd776b65d1e04897a3cbfdcb1c305b3f1cecc46744075a6398d36f9b721e1c4ad319059504ee5eacd5554c4bb0263d3c8dfd09a64a21e3b1d7cb3eb9802ef3f13b7d91c200be9e974089a31d9bcf1f4a6d2f1767553cfc84770123375b5c8e2d7318bf11fa1d9f6b3d5344fad568a9d1958221c231f9a4ae768198fa01276d6957aaf6b28d8a04c4cfefd17cd4acecac1b0d78ef18bac1926046c922f0a2c4a4cc9ec72a2e98078393a7963428dc647c382f76533e8bea634249f6abe542405a30296f8c875badedfc6c2e8522d082ceaa7e3e2faced26b42e38f0902aff5eefaa41f14e174ba879299adc888453bbedf424e6697f16cb3ed89fd29189fb1461d1ec227c1568c5932f58b4aba9f86c50d3de581b1a1cc7dcf8d262960ffe865976e4a4be9a2057776a1983b62e32d970c22003aaae47d49715637b241201dbdd6b6827389205a089f747bd06885a826f3c4b911f6c9c7baa473fd9b128ebcd51abe1e652b75504c957757beab0e4dddf80737979c39e6928fcd48e0d02ae20c5128de47dcb2ef0c1d34edf5e8357498bc22ca7192026b97d9cb8ce4483989957708ff06716e19e093d79031cb1bab783282c3febb34dfafa3b457f49b5219b2cb4daa6fe88945bb2def49fb5715ea7d3897449cb069adfec7f608c4319729fc64a444f4f1446ef02ef5a9d4484065b9b9883428b863f8e2d66c5864e9b9717d16f43741f6811bafad4932aface731818a1d8eb7d604d702bc1ac278ff2c1abe3170d625c75c5e1d9afbe02842989833ac158684a12a3594fd4d4bf31d4b4774d110593428636e0c9dddb0f2284c0fe7d64a5bb5217acd45c9ac907b658673eab8d27a96e6139b2ad277efc499b96d6bafcb1d77423ebb84042402939c18fae8f8bc8fe90f178b6e6eb5f469c97d08ce5f783ecdca9583c818cd781e1530e8ceabd4c919a75477ae5ca38605272a41c97d6c40e6d8baef47c4025386f0e9a5354d6bbd316c0b35a73c4972f5883b67bd2be6c928d537b7c9d49572e4c799f99992e373bc3ff487cc8d3efe2deb99ae3ab0fe9b0533ba489436826d60c628deb0351502a43723add533880da0c52c3c67b47bb584edcb214a7fcda15c491be1efc199145d13e70585cefcdd1a2e282a2121d9327b6b8b744d5c7bb658713ce79eda02776c5f9f7e4983e966bc54788a5bdb70434a9db9ba61f15795e44463f60a885db34cfc0e565013de9dd34c14b4fccd413f53bb361fea156d4454c053a01a0ba7e66489dca77eb2142a421c1bb0e55ed66a12770dd1d8a9499f0f0518ebb132d01fb7ee52aa63cc9c950c5babc21eed0fd28aaf1ac5443068b463a671ff817a7e9f5349286722776b7f0b7be39ce5b8b611a4206d269a734efca41b788eff1155d49483a95d15da2b1755e734d55faf652e0540607cf97a1401566f144a559c19617b95821910276a605887a0b3b5ba7fdb43035ee71ea8dcf93de99bb1006fef016e8d140b47fd727a7ef838e14f38dcc9a45ae7547bd901d0731339888a16aa99aa2222f8de2a630aec57e503dd817ffe2888d75e180b288979d89770fc381643b9a9b4b7db304d4a44cde66403b879b07aa86d88cef96209e149feb17b7697b32dcd6765994de7e6e025601958ce2f6a69829e3c5319940c3c08a2b2138c72539da6d26ff4a68185376175cf60108892e69dfdf3aad358e162a56d7380381347f88819d669bfe27ad3c3666cd538011a1b2f0e2c3333d4cf97c55b286827e6abba1008aa1a4091dc3fd97afc0c681421b0e09415a7ccbedf222c3fd87e153bd1b78e8d7f48dcc176184c606db28a6c0f895ccd1cc74dbaba486ad8d0d64990f712d64e31095995a5d8084f63c532a973832bc59c82937b79e9376b0853132cc8bbf17eee882b61d8bfdefebd06efd0be32cdfd9e5e7ce87860dbefdc00bb5e922ee23eb1b0d640d0de344e7331ec301a498278315707219149691595afe4f059c8d712b8d62b959625ef32ec9c1719ff158e992f14e0cf64cd016c0343c14866ded2af09d1aea7263b06cfd91063379e60d763b84dbf2707064eef914e8d95c692e93d926123ff114a192a943de51eaa7f79e282a10aa41fe2f9d6d3bd417d66090536bafe1075a6e9c2055410cc02a112ce2392fb53e3227fcc87f83c23a7ee0a57409fdff85b1a05ecd1bc1432a546b3de5d3b0d15713989988d9a0ae8684af1dda26994975c95781cf1ccc4dcfcec67ef8da28655284060fb238f7f30a55053d2e3f97bd54a33f75ab4b8c029d39ee9614268dde4b830990363489be02a49c9360bad4e938d1bc8a995a858f210ae9f8d53e5785160ac33da3ba9e68422645f5f3c05d0cadfd4bb9394123a20ab409d832f28a3853049068e1368758ea02b3cddb4ba4f2e93b45cb1e8c0a9af20e2b8d5ea670d1309006b5f82cf5f91d469d89f4b5ed67148c78141a6d7ba4a246422ce7e341bc47d94cd6e274f56108ef5f71284968c3879247a075c6e0e68a3fc022d6da8eaba89dd5cb20d28e4679756f06d2c345973979d22f8371cf3fd20235e79ae449dbc95c2cf830152e944cc05898d2e825dba463a5f0b68a3a78d30d3dda6d0d552b81be2ae754469b1710f3b5c63b084ddef97f3a52d8711027a6a695ff8e6a201c20a1154719047c2671302d84b0706079cf4352de8cdc894e1cabb468df848a37afdca5bbb59962c5a2630172efbf297a51e77d0163f134fd2f74d506d92d5a1a945af374a5a68801bf9ac2bcde7926cb343e1cdc9b92221abd8630a12e81203cc6c59e2fb25b10da553c498cf1c691b651972bee36c7a10835b151314f7d832a54ffa0dd005e21309d1097261c25fa7efae7dab1f50a95c45cdf3b9727796dbad4f2e46d40b23fe6f1096f86ce4f64bd132ea1058a9b6db8ca3694fdb88986b6bd35eb74859947310a01ad0b0b9ddc673c90bc3b80dcec70f7049f375330ba8e642b84301cb986418c9c93a84af4302db14645a764472a6bd76c03e05eb296b9bb9914d3abb93aafbae30ff5a35bfa8352c1cb39b36e5696a3ea3ecce33b6cc094063bc80a0c544e865d91bafcab1655a5c8d2d2afbb3f6dbef250b45942615b9ff39bf4fd9aade6c0b5390a5680fd31d5b262bd9e1629f32a5aedce7b353877d7d9a3b422510929bd71213c1bb9281e02ce8353e8d1257b43057d4e0563659a09931b80678d54e50960fecb03f2051c6eeeb242fb733c82af90eac721e2a35ef42874acaf5c4026c9b01b20152d01ef20ffb6cfd0f40716c7e6093ca20be37216e5fb91f8ba1408f676c60f75e054dcd95d19ad3ed712d7a317119a4384f8a3bdab79e4a38b35c040224a2994fc468c512b0626545af55e0384d568bdd005ae79f39604d9414702ae403e63199a985531468cdf575c52666c6f22d3cc422e0b1fbc08840e1bb2d7d9946bf179b337737c9d12effb70e25a39f1ac4603a194edda0a57c922520223e3472b7e27d4812c6c34847903aeab36783ff15fd47730c86d01606db6d7634848237d72c340283ea318a05e145c21d9cf94d85c74ef1d1b634be183aabef0b127d174284e85e4c03b027d22e155db5641d8d2dcb1c96c1832c6d621288b564376ad44abf40a736bee2efd1b1965d2e822ad1f70fe6175f4c3aab2c32303bdc503988f76f03838598b4e1a61299a8216863aa4b0c6b75dffa28f5e615c95ffe87e7ab21157a22bac918666f876e014ec3fc63c99d298988dd704f719dbb45e061a5ff716fd3934d7978721a52af7e2df02b03a9c68e499e719c9a59ab6284eb5a737e09b774d5c7912edaca85f7bbea0df8ad68142eaf206db2648ee95e8cb24892eae900c58a9f3cc0f78985b8d20d98396c45e6d90f6c776592093df0ccf630a07dde0a099fef74fe29a4ca1893b53fa14681c70345256191090c2e7437d0da238856b30680cfbf510ac14214554cdf9ff21cd00756c7151d99b6b27ac28136db3e263f3b9379e2b794279657549c1e02031e1e792bfed0a02d1cf59716330588bbcd9fbad206ba5a50122cafec3c0d8f4303f8c1cbe6f5eb23b764467a6f9f7c51965ed40c2c5069abdb24417aecc2f6c241c798c8fe1de326ae57c3479e8b4997d07848281683a394d86e55a1efb1c11239530cafa34c673620dc57bf4677da3cc888c10ce0a016c4c88abf2b8acbd9afb1cbca56b1e73f83c593717f64f9511d739473fdaf8765d763d4a51500938fc6982810ad663aaf4bf4641f7e9c67647ba93e20375c902fca8a9dc3af9986d86dba983559ed646f3cc044043c986e941a2ee05c9ab1b38e18b1d14f5342c2cf7832cf329ba8fa14cc1ab4cfe99f0ced57c81d48d53f537864f2f465f4239376fdd8010b9496567da2364b8dd33c2a10bcb6b61ac6ce854ff27f01bbb44e77a33f253256aa60064577e6f8aab31497b6a7cbbb9b0ff949a22fe4cfcd5237272b1ab1d08c712cfd084438eb79796401084c107e3f6ad8a2f8b176dd2d61e3a8e269aca0c7b07a0513245634e52f5100d41f53cd5768232f63e865d3cd8ac3a7b0f200385f11e6a964d19610397f99868bea4a4a20cf0fa6b40eb1d1c866fdedf9acce963df05b1249c0dcd384907e0d3e13b54d67a51531bdde5660ab7eecfb2ef9c482d8866210589fc344d3bcfcd673e4492d9f184b5dbb5f22b4fda5449ce7fe345ba1ff43ab4f2b9b58075800ba43d786f5d66afc1e6a7f1fdde46cab89f23d558aa636836ab63b270659f4040f9ded64a4f11bd2f2a777a8f974db120193875464b60305d97e040286f041ccdd3aaca698d6fe25dc92993bcf9c5e5bd7fce60425d416031ae86a10b71c7b8f209ccc0e7b201db1c2a29f6079940ccefa3fdea6645592deb49042dfd73bbeae168f66278adba2bed8216a993e07a1d62ee04e47b61a2c2e4598776762df99e06e2c3d3b461dd5f960e19b037d22ead78c2050cca2609640ef7d75352dd1e6c60a2ceb06df60aab87c29e92cc334d25043d57f2b4121662525b5cf2a8ed46ee29b1b7640ede5b0eea07955056a693cbb936750499f94072688b0739c49df0c2ead50775dfca0d7801f3b9b7d2c5d0dff0872c7e9d1ebc91570ed9ebd93a3097087df882c528fd55f14c2301bb1f34ffa2476524bad57fa3cf61ee4a4f3f06ec9721b8b41c8618e448485b6e260f88e799d62b7de516dfbf0b6c2a7501f1d8f885303dd63bc92d748fb47e41372b67349e54c8806a363fb0865c39a0ccadde5ad4a760458c4ad8f47be4b664f52d78644ec4c4d000595d013a9985f697ce57010616d4b12c21c1e306a1f1c79764751a860c83a7f58d2893c2eba681be905535f9b1a206de937632ba51d0b88d5921e0c3c1bcc55a74442dbffe760a303c921b4561eecc8a91ae3db8e1017bebce909b1462c0f1d5c4211539893fc51e6253e5d5bf06a0bc930e564c57ac694e71e5b3d2a55510242e9f939a759ba28799f25fcbfbc04160b130f9196e51a5ed6cd8ac1d51e71c304efb2666339992517efedd246d7ea9ed239f5259d4eb1c7e147fb99dea22f58cc3fcfeffad301548ee15462c3bb7324484666be3c99c4d0698d65549d98b3e09b259a555e3dd4423e4e2b3f9948070f603d7bbbfe2787f3f1eae8af21a381320913a028b8f659aed40b2a14276867ed4303a9f7ef8581495ec8bb1ae8e16338334bedb432a2573d8c1e7c601aa91a204f1313274912e3629589ff7f89d0d22c0c1538bd6cc90c0501fb1d844ec70fe2301c379416b158958316ef570023fc12f7ba2db4c7a6bd9c201912e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8554314fd6b929e3e3e388e857395719e68e048007eaf989375db3caf10c9ba4a75f3358b60d8e698e8039e333174aa019f1b52b6fe9d721d62186a386e2f185d78d86007bfd3153cd4a67bd2c60c2b84a732321d1289335e4959f9df7510d438127a364d5fa7d4a0cb20cdb21755990a31a02b8191022b1f66fcbdf5962119877b4a380669bd1cf8a741aff26e29685e31739839bf7104b6b372d5772b14fdbde812f3edbad1adc6af3203357537bf7ecbec2030722a8ac603f742d3ed86a7ba83054af7f1a9c1fdb286059add2cbb2a6980a2a1835f9d5d14f102fa999a335ef179ebc91c7227a907c4a1531167e3e9d983ca14273dc24726f2672d3778fd24ae4113fe2e365a9a74492e5ee01f62b845b30ed0947a709b7f9a319434c74e5800f2d41f57722fb4786ad8854a1f955110f81bd8b7092e62a511a4cc3f39027dddfd5bb48ebab054af480645734aa8acae54c38f81c0f27397de89e40f8e9d16898c112ca5611d7280ae166c6f9c0ace9dae117fddbf2d251e93c497be4d84863ec94ab0ff96dbbddb36b49ee1ccf54df5a4ff7d6cba2339876af857c7ed5c06289278ae57a4b8aa127ebe28425eadb83907514aeca9960148e0ac12c0ef63cceec9e2234b7de1e413e7e099088acef63c551b14e30574bcf555808d0a616a9dd43c0e9b620eac3df20a776d3025e0280c2828e9f0852578ee5631e3ffeaff8e60b0b2a000fb5f5346475f5fea812e9eb84a2f815414b7a745fb62dd5fb9985f4bb2415fc4fded6f71dd22c6f07a0cb632e0948690e7683036611d50408e6201624bef9034a1b2f1dd8e39d62681a61e8b257b97b190a3d2a1311996955cb5f6b6f2c8569dae835b4eb9bfbf081f6f43c8700c86089e6f1985f99274e3175d873a2cce19ab58f4a39d549ae74bc8cd0e6415b49d010b3bc3f31f30d246b07867f2757bf5e96799fd9b363fc6e6427800cf2ac4fdaedbc0d47919ef1e20996e304b66a1fa54e50cc039364752bfeda33868329df7176fededb4de7354cb216272132c2b6a1a7a39bc3941f9b35ed03449a1cbdffd6afbd527f7c40001006e41043a0846bb958698c363f3be0ce801db3611cba5333c5b9f6189445fc055f603b5d635662c18a6beab6433498b3c83a536290b0173dd89ee24618ec63ac22e29e7b5e8d5a55ff6f62ac991ecb98097be0aa320aa9b55baf297684aa387137da87864a03d8267e774cc614417d48dcb2d928e749128384c659e2b34db9423cae094d8fc40e4f927c3f2712ad0f6b0d649763fded93cb3be94aacd4fedb4204934465231fe48e516116db9cba3f17f42b1c5c9b5a976c2a8238c40a90780ab2facd795ba0d01363d7460e6d3a12ce9dc61d2a3446621fd2b6c3ceb54ae6755424f814ed1d7d4a9fdb16cc700c0e4608139fd6962ce82bce7c95597ae879960e6b467ff4de67065abe98572e53d8a275be10909e308f6870efaf0fab67e9c241037b6a5b1c4be28682b10103b035d6dc3d4bf750d98d48ecf489af9e60efa0a45046854a5f6eab5e65649373bea5f691c95c6bfa780936099c2713862b3ac766bac1c3e1de550a55886c5ada3bb66467a858ad266063b6011be88942b8027f2677883df88b8655190fe7e1b9079f8b0f4f7375791e295bb80dcb6faae6828bed333a6f5477396f4728c425f58e8c592344d204c62537cb42b785238ec3a0bdd7decf42ff93a55a16213510fee3970f5689cd006cfce606f6c758304cabd4ac3b91a0f01992c998e24bf8a25bea059bc0f65631b49cf1e871d646d9f7d6af643a66c4476d92286193d8d3a503f174cebce75357b11956f1ca3143f4ce2d872721719de6a839fb6ecac56fdc203fea4b88671cee6c8c6fe583cd76da1d57f75659f3b3804fdffaa7b5b8f819f3deb1d342a64af4ef46bbf7ffa9cc63ae047062c790dcb329389d08a939da3b3aec69aab8a5cd0e75a3140fe7b37ad618ca29371d20b5f7f3616210ac2ef890e5535d4501222a3a8f3f301c7b634caf1a2271cf45816911586a980e53af603011771ce6c6e0c642e657d8870973993b15279157106fc041cbe2bed264d9447a1b04efb270c5e12480b0b23d3755e15ef2a5d2dcef7dc341f75feff1bb6c3a2622100618b203fca21cd6b9624b82839474ff0c0020675d37deb345137c713764ee82b424cdd4e63831837031f157b5cabcb4f9166b1b79d7366dfa1a83c802cca15a29dfe59c2374f61842cb21db95a047119c6e15a053ff2863d2ebd2d3ac15d41074b2b921a1d793cbc4f0abf53aba6c1dc36615f4fedef01dce1858f171218e28e55c5dcb5e7137981d293f804b5fdd82bfa946a40e484a37cba757d7dc15284195ed8b8f8914ba86e9716858399d04a33294a251187dc2fe4e88f3f25fbbfb9baefea4cc8d8c55e48d1f614ac53d54151b41a9a3a6b60bd66ca2cb15b7f9ded2320e93bb7f60385f9b560bf64e82c80af9fec8c29be986c80c3c41404bc9527714b19c01c0bb08dd0a320d5428707a7bd03557abcb23d36dfcef209d551e0fb66e1aa32ab73977fcce86e6bfc91e528d5b5dce323bafeaa70ec2cb90addebc6d455506d107a5eb99b6dba7c288b4eac4f77bf7b7c28e128d9e290452b8d1b2e4ddab695a018862175183f3d715a73a346354ff35c5a02844e150567ecc8c2dbd28f22dc7e05bc462a2af94335e332355764b8082049cbc65498fb56d09afe68f5cbffa1c9fd3081d0b6c043f1eaa26311329d25734d07abc8eaa7fe31eb47002f2a75ca946d615e36fa42cd2fdd443d73038e2240d492ef0e68bf2d3c8deafe768a998184b70a9339d583a2bba8a7fa4708e8900a382064e56dea85498e573119fcc464e9dbc8b84878e948489f6747774f14fd9ad05606a3960458240673c2d5da5cd5d95042d211151d68c96ab274f9e921b5c571f7bfc6eb9df52afdfb8e74b32cce13d0030c1f7dd406e6581c5923a59c1b2afa0ce004b37ac9e905d6979d7fe9277e9afc5cca2ea1d4b3549ac4cf310eeb2b157d4f7dfc43c93802088ed46d81fc410597b8aee07a31ec85952f47174927e32bef5d0289d62d7810ba9ed4708136f067ace066837fde76f89f96d4b3e91578a068daa0e32ca6b307c3ee5b9c575792a0b593cfa52e32715a90afcf39b735bba26e119b21e80bbb928b32ebe0eb31ab12fe42a8f2f32fc4c637e7dfab1221cc7bea4fbd9158ac9cf95540742963b47610e90aa1ce350ddb44737af82d289952af62a0a9452e5e3c54ef39c0b8c14c64aacab3f0e984d2f4521569928db8789b82563786e3438b75bf357b6d8eecf51d785c0e21f16193001d2e317b37e2480aa0acc216fc0fa2bfcab78b66f72f3e774e01eee600bdcb1bc689548c9ffb25a73737f7077a40d6652b0b67baa5ba7a5e2409d6cc8033b1f28b46eb610345e594cdd7d4a2ebf28b2ff1c9e77e66185c4c38fc2930f4f505ffb367f25429881d1bb7a3c99930b5c97ec6bfe42cff34449291ebb3d775d0d98352140fa0ce6be60dc0dda3e5f0cf20f83d154441f2f1ae83ae795c75213bdd1e9846a19ef954476eb02aa05cab03cd7cdb724ce78f89af9350946d048a1d18102d298ff497e4b1c7237afa472997cc82da119e7a33a83bfbbe1fce281c15e40c188c66860ccf7af0ae42a7126b951afbb5bd35461daf8e6440df58fb584d286020b845365c4434cb82c8d73c8f209b8a3d4d40ebf7b3c0447dabf78c1b675c595d323aad6222d5b69520cf3ee017bc46798d37ef5ca3de8937708280c67fc94f50d8b584c27bd4f9072ebd88b873069976b59f419d3723bc41064cdfc46390a7bb50deebc9d57e1d1f3e4a34ac31732f861df28970890f39245bb2f87b38c03aca13b2f759c8c5228730061c33e9ac5cb615d18b702871c76ddf300d7013c477cdeca9451bfbda7cd036d42639737190ec1700869535ca1cbf5520f216ff853e5b4e6e08eaa1a736c21ecabaf3a6b49f038e6c5ad27df91b6cf65847a374a03206d7e637932a65900529b3072aa589a97c8e67c1a1c54fb12bfbb004757a250c94a9bf1ba5d62179a5ab5216f2e8c1543aec84484996f43407127ae46c6728b2fd45e4d85bd47bbfdf529e46ae00fb45bc613479ba8263930a1656008805d90e723a1f82b3a0c2a5d82726fa18100827f67ffe37098a0d9d564baccf9cc22da346100800ce8ec8625382abbf6c0b0489f0fd1215a0ad85af1dc1f5786fdb6caf85692ca44a3c08c7da4818ac716cf6f41829cb03c5766faac9bdd9f9dd1a5b3d7eb59181ce3561d1915f100004d1744dda9115f02ee2099a0eb99a38acf561d9c476495bfdd3b19e4e049e2e57a54e10deb85278e454e59fc170ff3c36d9656a998528972dcfc0785b5cbfca1ea6c09325fe4792819d57119a9d9a345bbf276c30c70ad600886e3068e031af697ac389260b30ca48e1139f0e0f92d6bd3a0e47e784f44710407e50fdc935aebde70723a2f4367282672ced55033eb1ff24b852a2fb8c2bdbfe7fd22a11da1e94ec5ac5fec2f9ad55954d39a27d59d52ab5a25758a2ea2e9e6747b2b225a32953cf0eda602f891bc936986d72a35d2c487e4afe5e8d9572b9b8760d992e671d2ffac1dd8dd9015fbb222fb49ef0283ce71ad0b4c21ead9e21d2445847a4ee76a0e8167ef9e1e7d0dce29a52f9ee8926862aaae5d55e58e86763b30e36d52134cc174a496ee257e69f8f20876491a3145d3cc5d98167a8dcbd69ab8d4bee72cffdaf86a4fd23b0fa3d04bb12082dbfc906e2be1b001239b850b5804bd5ebfc5df62ffc958717f0315f2e01fc60366f1eba5f22bb9d9f4c1d5196c5a324a674211ec834fd4f33e02086c55c7f9825fe09ea6be54ee2ff13d38a48bb39746a24537717dce3e00c40148d988bd5d58110ff4e47fd5d53658a079dd4b94f13819aa5962ae9cff912af909fa92dd6617dfb359c3ba5537b23e5367352561d877129e9cf68e1d3512f22cf93e5298ce00933ef6bc24d9329758a1959f328515ffd340ca9120b8c3a65bcab41433bdb4f8f3aa4993ddc8c548d546f39b9db0969baa36e24fb371cf28b18fda19ab7ee9350365a56093c9d556a5b852f81c2fa7f4c59fe7f5e995dbcd071ff232fdff08a4d6d1591245839aa97c05c4b6168c2629f272e33da0c1faa64cf37ab7b02509f8608291fa71a5251a59af86d274849fb8d4e9ffc71f2ade04693a75dc470f64948b3de19a1453f5e98e3352e2df4f5e8939fc787e197549d22977bc94688fc284953f218d78b527753df57f7db57ef99fc5151e4b80a8e38047398664e33afdedc82b1233fdbc5acf15438f2c06d9a0af1c0938f76f5198eaa338d043e0c4d4ad6acc9b6d39b28c38405e1ba964d9ac41ad28377695e8a67fa3efbd48b4c68a0afe232dbc262b7b7becc21d92530fea95fd258497ff8da4a4c42906522cd9936746204c9a3173a9581093c342039dc374569f89877d48edb8c720881c4f334c993db8b72ea4d132f30654e11e40be769133c7891f6523aa19d90d844802105d29b105a492f7601df05f8eb32a0e1c6ff7dde2ccee82a8a3f406071c656417019b5eacc20d7d790e1a8c6a7148d839c16e7949aeba4448d0363cd803fff1f902de1f661a82f7ca76eb33c5be493eefcb3ceefabd65e4944ed451346251287330553421fe7509962bc7300f0bcaa0cd36ca8b7f3ebe641f8f3922307584ecb27f737d8f6efac2b10880051ca780c5f8f083249f3b07bbdf9b4a19f6a76e4954983eae69a1fc091f82da88b9e7cb42fc97f78fd68209137b5aebbfc5258c7bf45b033d712dfaa8561e8137bb0f74d7eb0c70b7a6c7d4b3adce9fd2a7a678069a83ab6dab2b45889771aaece8fded2dd930b8d4397faec6b69f542bc316b68b9452716894e93d2f03b4c5e6a3f835b4ce03c80b2c3ed40edd4eee88e3b9469b19422adde3eec0d6359b2369f1c446b75462272d94e0580803b2206e3a333e2251d5bb110a26231c3471a54961dc50e480de3de9870b8c4196caa435ab4a13d2b712e37d59df351a96153a8bef43a2e539bf7a06ef4ca09c3a2afcbdaaf3407351cb64b2fbbf159a2c894c7f61017f729a44c2afc144d4c2f1bb5e83f1a3ddfb109a691eb9e6705f29377948fefbf0c2b9d88d221adbb89c820ffe4484efb40d3f999d3bc395866729184bf4d381921fbc63cc6f0cf69b09c484c86b64385af67afc3d2d24a6fb6ab6d41814d043f374c1185a78dd806113ec8a68e37d0f34894c8fda3da0981234767aee8c568da61bcd9e631c2a4e6db58633acc410cdfa2b73b313275b9f7b7b4557d9f7b559a50c8032b7840cd6a392c698f758c7fc2a2766fa839947301215a94218dab899b34ea3c4aa32cfac440bff76d881d7e9c93a46f62c4e61c7d7638a73d97fd09cc7b3050ab37676f3e323841c63d1e62f4f5c94660a4aa20251ee630beab3d07eb6be2ee32f5560e233dabb277b5442c6b163d0cc19ef4df51b71b778009ec29c7fec9efea3fac3edadf31f3a07a1a7aafcb38374707bc7366e868267374a96130d96bcf82ddcd2f28b1ca26cea848c78fabab2728b1320f6f1b210952ee8dc594355c61fa60a8cf34c41b81bdc6314850ecf43991a17fb1ff9de3c17d1436916c83a89317a2ed6418038a792a71763afa9c4aa9d688eba658967decdba3771b2db5cee9674462a3031048ae738ffb1333ce1cb98920439e8a1f128c48e63e8a68c6b85893759817a6f501685cb3dce337e7838bdfe213bd884765993cd0d9b2d2161f12523c483bbb32f5048d3eb2e1453bf9191a0e740680ee642df99adf345442e3ad68572aa3186734b1baba4b84f6e0535546ee08028a17b50fc1c18882f7e4214f76e691286f96d8f9bfbbbe13de4029d0c78a30252894e0ec5d32ea29ea0f3ce6f63879e2583de6dd315392c99a0f7c76d2c15da51a33f91ff9d7d3162551358131ca38c88d032a68933bba6f5df0c5bbdf99c647330e0f74d263bab4de49c0a1559e61c7256ce119b4e8250a6d64736bbd13a3de5729e4516bdb3332b78e928da55b7e8beff0a37dc4c9d119bc5b95ffcf80f4eedc6f68008071432752fb660c90886875d760359fdfd8b7e7f93b557b4f1e59a7e994dece14e19167be467a1b3291b9daca3b96887fd8a86f6f92da10132f37b8cb86492b93499b9e292dfa3f4f48835c997fa87a2404ee4d69eefe7d67697790839cc9e9c57e4474ebbe98f543ce82d6499717230f59062593dd7570896397af5a97e66b130f9b407f5022069b0353b548ad75f6f79297e4c32efeb1e6a76d337262ecff8dc21b1556176e9c289b144cf7d39b23a85a32f1800b9a7e9876e64f56f743cb2900006fa9dd3137ae405baeec62c1851ce0fe5aa5c74df07e72d28b0ea72ad39da99ba5ac46c564f192e8562816e9944a0c771f35882290da2db81ad890493cf291fefcd5729cea30a65dba25c03975a17a31b7c4d01158cac227acd64cc7456da81e6fb53e9b233b2dd64f372e3622169c4b2e04d996de6990e0d486a4956ad38fab291370b013fb8c69ca76746abede77bb679c9ee449c3ac6cdf4596bafb0feb711d3053c4145fd6749d5336dcc89d8f25607c7e828ca9e07610d0e1cb72ea401f6dc9353df2fc27a3eb0e16a14ab79b40268ed1e13a3e8d5f8b5b03b34a7c65c2e11cfbd3d07c7cf1d825dee9550562c48c1434ebd7dc5efe818ddcf62cad24dd5a789aca1696770001b8c01e11138e1d936d641849f153c009b81eea6131d6ea05c00207b6c099a3f1e7d45b11189a093eef3d9da73832e8db09058710f51c99b71014d2d524eb68fc03dfbe4205de0279da956895bdad3347fc0864a97fc9ba65acc33fb6cbd09fcbab4f7e75a661828900e867c5474cfd00bb1ae82921a55b2730423126095fd28c24f5700a28273cdaf2df8cda638070c7881ee5721fafeccb2ad16837ae227944890f0310c7d6a7b3b020d98ee06fcb35c6529489e92a082d5b84ed96852a9877685047777d9feb691c06f42a5e73e4c0a194dcc7ecb158b8af3c11152787ca90269ffc3bd51e47598b255a839e71b48bf5425c0f01bac7bfc0f94fc6abc74fa95525a1a660da4229548801f5f0cb625704b0b1d03a252e8f9a59b46e6c91827b320043ae8b38a81ec9703e11f62d525fa6d495672a38ae83cab4fd419bf1d23d5b84f40255a1cdc4898d1247d7fa3dcbb746e9be0ac77eab834d42e99f7e3b9343e2b08a2f405b7da09a4f46973896f5579b28c20119573c2e4124c0edea7c40639bb817eb8850925f2fae01c642855bc19f2f23363aa8c7e127526643a48d6e77ed0ad8a7944c38d82ff5d14225c7c2dbb709e4ed7ae6b8e2c25572bb30a56c1131af9d4825c4aa75d6a78bd50aa98d6ea89d1f8469f5716333b95e3e8153d4c9dc89d0dd4aae1e50ee6a7a69e60613865d6870d8c0974f2e3d603ca3fe20eb379684030f1cf239a01bffd8e064b9529141d5828cd1423195f7ed7c6f11551efce4b15a2c0e122422f7d685c5f61a89605186105348288438e24dbf749f560b48b127d4ed08b6ff620bdaa9fc72101527e5a84295126cdd56db302c76b606146e2f50aedee9760a602940f4373f4ac59be090f066382d48d3ad82b5169f1cfea86b4f941540a240778498efc4734d303985a8d6193e7332b9857e09d0699719f6e79caaf3b7a0a736cd0b217f279ccf52f5878046dee0e1a454d4dfe210790401ef751dcb2db55cbea7df9b610a5aa7682b9ac8e7e320201fcdf153f14638bda10b0554c74afc0fe488f30e2606a7a6709fcb8397dc590ccc589112ff4c1804caa058270156cbf4be7e38320696ec62532b671bfafeccf8e1015b7c75e7480d67b90ac3f2e529db020bf4d953259690ecb04b925a0f486f481d7523e665df2fc74195eae555daa463a3e9def2d760756d1b78db988934c7f924a78fa4359b84d7dcbc6c40eea0f6d91a9f30e3b036263a303ff2f953ebcfe366f0167c016606a52507829b30f88b0004d63ae701b4d2090661538f8d1ef54246287081eeda613fa74b0ff0c1deec4381195d440e46b90c9d87a5ea76a4670e8cc57e645429b3b563ec15ac66a125e381c33549085da0aa9923392db9fd9f88c675419a2ca40a39de29b8ceee81db31b632e533bfdbf73ceb334678d0a966197d6fe5925b8e15d914b5a920bf53d7e2af2fc5324ff5dcafe763697d83c59ac564b96e6b56babae40198f11bd7a2093fd236a2038713d728077fa38d5a95164f47f9309d049739f261bc23178268ef310859d02caccc6308e12d6226df6a3127f540cfdecc15b370af0f3a39cdc17fcbb36262f0fd32090bb6fd3143b50a7040f5b31cabe265ca90184b812cb709abf2d4355ba1c60359d5d748b2b4931c01824cd15a56b0b82a674fa3edb433812caff2fcc45b7ce85975387ce8b794662fd94dc5b94903b89f5f1382aca55b1578e150198197795ebe81b505b73c397f97de372864d2c86cc2b3214cae83c39969a7473ee390a275e21da871f7bdb435d4bccd9bb77dfe29d5376263e883eaf37f5855b4a2daa0f2107b338d754de4471a5ddaa7d6f908ce8a6c4f494845dfaaf61def78da3f75861caf75c6b9f8651dd12451d357409e63b079a4d0179e00773ec52766e2e2b19ca5d0838b28f2ce183230833a5f044cce3f14078b8986e89468bfa3c37f852d59e33af807986f68c46366920452313c8fd020f9d7954575ea12194ebe1aeeb17175283a373f61e779a5a71767321617db7debeebfea3055716f682703dea6364b0ccc3d67193b565b36f35f390885cac3b992f7b9527aa90fc64380dbfba33b210bdb8ea664b86f06366101a37e3dae5eb76d14abae85486cd0718bfdc7924358fc8cb621ac324e37f3ef41cbf033c9e480b5e3de3a963980a7afb0ea075d6a8769cf453ce142d80969ebe9270a019e9db4dfec32f16045a4fd9f25f3988fbb43bb02da9440859ee4744c9902554cde2d4226fb28a4530eb7d59de24f1b49cc0db17296867daf65e91fbffa65ee25f33b3f98ac3ea778581056e693e8562fb49b378649ab60c3da4d5ef6b9e6bd8cb063a4a63f0bffd99988b2115ab003a74f4726d09116b5c4159cf995fddbb0a4c218e65d3da23b96d11ad5f0bf776d6fc47896dc93b5c06b65630b8c61df36c49b8c39ec2fa472fcbd273307ee94b0a584dbbaa0c3076920e4135dc3f7cee03d142c3bc38b371578496ad93b0c891f5702c1b62b43b16483a613d2ea55a451b7c24e9f71026f3a653375b0a65a894d68e7460af165bca5d497b4eb572199535a244b2cbe46cab60401e7a7ca43fe0768ea26dacbd5c82c494744959ac88c8bef8d5d1ad27fabb4f5c1ff363e144c951a4368333d3b424f1c6b3f9896e81aac7e6d109abf073886def3ca3617d064748fc22e70a8ebdb756e3bc693fe611a34eac3a7159353cddacec52ccee0b1c692a30463d1cbc7b2fc6f8717ef45e4e0f54ce90b76ced4cdfb7a0cb6c32353ec74a843cf200e39a48eef8a68810258a7c1c4b0c0357cfad8bb02506dce3ad4ffb8804b2e06ce2d0bc268e134e55787a70f1c1c8ee173565b2e771fecf3b471a79bdf072aaa1bd9dc27582cfda2b2a322beeba8103c3440c7d8c08507e16d39c74be81c7bf02f963760b384eaac587581f045e9910cb9c8f45db08e15b59344c0ae10cad53921c0927906ee7977c26807f906d07f62cbe5e9da10018de3dd918a2e11e1139936f87b4fe98179f6135189b1ae989b924031eda7d15689a9e9d02c60b81ead8c6c7e4dc41d07166dbcea3e4aa6501aead785808157d7ac497e539c164631f3556245f26f0fb2efba1a42d969e956b969279e4d618ffce5653dfd7ae8936c2b836df8ddd43821c9d5898687ea605c2e11b3bb401a5e59d0820d80943f047906cdb59750079d2bdb6908c973f6028c363a23a2e3c01b8cdf32ebe7afda052176c34f73c15ba871134607848be5a19d63be4d7727a2eb39f2de584dde6ccc03dc6cf5869bf3ee269ab579f62a8bd956e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855c8cfbe1ae5b667237749c93736e5b1a091d4d3c0bfd2ba7dbef3d49780e621d65607aff5750c6dfbcf5635c9e761b7b8031fc8f1478b43de58c60a316025724cc2048bcfb9c73853352241e14cb03c60823a2f54b6d4f87b11faaeef0ac7ac604e1c0640d9be6c3fd3f7a5d0abc42885577fcc4453e0b7aec1156af8a4b91a5278975e739db51ee95acdf5cf8961ac9cc877f7b9dbdd956a885dc0e358c2e4f4fcabd6d2641d1f63d88c773461f214695fe8da955f33bce2304613c7098484e044cf720eaca5bffca4724afd26598df2c2520e510a098decfc65f3da263b99ab907251b992bb1f3735017e479a98d7d8641daab5ae117bcc74cf4ea6c27d47d9c8f3a7f7c3894104aa6f81e4918949cd324ac14ed54929e6db67c51c4541068d8151767f5bf6f8a1702a68f73773279768220c3fe1052d2155de50e127a8ee4e7524db099ded76d6e41a68f2b17fa71dd2897f3058805542a2ecbb72d3f7cbc26bff38260209ff91b8d655c1a26314f506949017357c81bb9cf74794cf3e9af6308dfe1fd86c02708cb011dbaa6269d023481647c22c37634b58044cdc40cf02148b2cc3491f2a0ec9619aede7820a8aed96434cf38641d07c942268d2d5b04776fb5d7b8bc9e8d82671a5f06ab58877f1f3aea1d6e5ced8bab73c6233c01c1b1077a215c7ac83797cc8fc93dbf98bb8a90c76e07a01e0d16fa0e5b76f8c30209710a6fece5f01032701fa408d21edf1fc3216dc12dc9740a0b1e455e85b992077609d2e73337a641bb1a474613de654b4f926e35f5d850e61aaac748d586aaecd90e62a4060fc2119578d08961fd5a0c7445335c44bfb04b9e5e3977ba0bf4a12eed78cede277b5916f06f07aadaaa593b843c81504155e7667a2cad9590b86703dbe809251b47d073ea2433050fd6d84079eee5f23bb343741ef630cb415ed51f2ceee5ee725e7a969175159c4228f6adbfc7c201d4bbb107e716a0daaeeb8de919a5e16f044297097aa8ae524db6cb8e6182ed3bbf1e4b33f81b725c27446bbde9629e02d08e187325589566f32e9c715b5695f6992333fa37abf1fbd906a7af799ecc9f9dbabf2a461bb0d26925573e5b08510cdafefcf7aeebaf132417bf788c455b1aaa900b6ce9011c563bba46ccfd38d261bec5b79bf584f652c2a9d112aafa3a47bb0ef7ef2f0fe419939ab5385f91fb2e971f287c51e9c8ca752e1b934969769713496816aab32fd6b44fa090aff818489a01c35844b380716fc8535537a64f956f6c5a3d7c2c787b65ee475966da958019388f55c6e3a29b0f5656ce50b1fa8fce47a2d68a96e83e9484988da98469ccf69e948999db6d26b9476e788531e09bc9f79cba949063a1b78859e29cf49bfa09e8cece04daced3475436b602b07b1b7ae34e1cf73b2c90c768728b8ad423f9d153996ffb0ee41ec002bab65b13d391e7c53c5554c25b143edfd425965cf08e97a6af4e4c8a07eb812c62352e9dbd6940d08b7b9ba7d0ccb975028de3a6c5ef449d6ea0db7c344057b0e032a346f3f31bf290db672a234019b019c7d4ddb6526a7cad247d8d03f807ae05ef6738f4e1f19bf3dc9acdf82add2469d48a9851946ff0601d10f1ed1bae7866e59c7982ac3332210937fa4c91477be8899a3eb6f3ed6fe081f79356f957fcab5e101d73aec5ff5565bf31473296cb1986d8e678e86dbae72a85aa49661763c1d92c19397653d872aa6b3e26290e12f43c5f98dafa190a6f23e79d11af7f442002c2bf334223e578de9f7ff558dc50572c2828df8fa437756e37a23a6ee69aaf91b0e41211bfcd8a9c47f1ef3f731085be532a82a14546b0e62eef369a909254efd0429eed85d7d56da6f8f88a80bdf5c5dee7e4f85e74801cd5297b2434e3606e543167c8cef063988a49c430fb9048597be40bd4707569b9511c6de0c84628d716ed7b11bd4be2d192bb264ef18af9e103d864d2440d83e971b232d873a46a3a0e71da643bd0fae8f322f0079a78e84d65e933099db62820a3aa262a7e40c50f79daaf37f80489fd5a89f201875956da8ed8e3987de227df077b08b53e2a1dd3ded74c067105a9f8f66420ab153f7743fab53aa192ac8d8f865d5265c5da5488e6dbcb5be1192a4f2092f681303a20548ea829ac2b89c370b9f091988c9668ad58cbdfe9e66ea950625c701335d070df2f93fd9700f64bb0bb31d9049d6056201a7b50b4f52e81c72566fedebc3209aaec2939ac2d99f8a737e76bbb9349fe2e0b6bd6a8d606b0e63dbc64dd0d1f6f708b5906aaf7d591a7ff5acf01fed9378ecc6a2d2888dedd7091f8875eb966f607f1cba1de5095ba6af38d2278008a6ac35da541eefd27c623c58fd65a4df20ca392d166f6b165c5e382754929bc7a44e08e066d0d5c30ab6fcecfad97ca479130cfa8fa26980af5693a116f4aa4d04179477d8ff86269df8a04600600583c797c702a316548cef47ffb347891ce64b856c1895e7db4fd837ae5cde3d425179fa323312dd7c685024af44611d75d761a6bc6c305ae8e8803ddf89ce7b2a32a4a79ebb82b66cbadedee70b48594a7f0e1c74ad51b19fbdc4f95f15b65ab3bbb1ccaaa2df17f95791bf77de3fa4a49bd18177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b8806435dde10a44b52b7b0d8bbc73d1586f88a5741543a8b5dcfae0f74ac61cb011c95a87196efc4388de942fcc61a16ee01f0fd073b641ff98402049c5bff6ed0952bc59cb77c8cd87e2cded16d6f45e754936d02cd924d6d03728a31db909118acb03a8b19de003476e945db657927d84f233168d0deabec775e246496754d71b77c7bbfd9b7e90b6ae30f6e4219532f79e25453230acf431e82717574ba1962375f../paper/notfound.tmpl../../emacs/site-lisp/hg-test-mode.el../../emacs/site-lisp/mercurial.el../../emacs/site-lisp/mq.elrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootmercurial-4.5.2-lp151.6.3.1.src.rpmconfig(mercurial)hgmercurialmercurial(x86-64)@@@@@@@@@@@@    /usr/bin/env/usr/bin/pythonca-certificatesconfig(mercurial)libc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2.5)(64bit)libpthread.so.0(GLIBC_2.3.2)(64bit)libpython2.7.so.1.0()(64bit)pythonpython(abi)python-cursespython-xmlrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)4.5.2-lp151.6.3.12.73.0.4-14.6.0-14.0-15.2-14.14.1\ڭ[@[?YZZ@ZvZ@Y@Y@YJY\Y @XXXoX@W@W9W]NW;W(W'A@VVV@VwV@Vd#@VC-V?9@VUU@Uz@UF UTT@T T@TT@Tg@@tiwai@suse.detiwai@suse.detiwai@suse.dedevelop7@develop7.infodevelop7@develop7.infodevelop7@develop7.infodevelop7@develop7.infodevelop7@develop7.infotiwai@suse.detiwai@suse.dedevelop7@develop7.infodevelop7@develop7.infodevelop7@develop7.infodevelop7@develop7.infompluskal@suse.comdevelop7@develop7.infodevelop7@develop7.infodevelop7@develop7.infoastieger@suse.comdevelop7@develop7.infodevelop7@develop7.infodevelop7@develop7.infodevelop7@develop7.infodevelop7@develop7.infowr@rosenauer.orgdevelop7@develop7.infowr@rosenauer.orgwr@rosenauer.orgwr@rosenauer.orgwr@rosenauer.orgwr@rosenauer.orgdevelop7@develop7.infodevelop7@develop7.infodevelop7@develop7.infowr@rosenauer.orgmatwey.kornilov@gmail.comdevelop7@develop7.infodevelop7@develop7.infodevelop7@develop7.infodevelop7@develop7.infodevelop7@develop7.infodevelop7@develop7.info- Fix incorrect patch-checking with symlinks and subrepos (CVE-2019-3902, bsc#1133035): hg-CVE-2019-3902-fix1.patch hg-CVE-2019-3902-fix2.patch hg-CVE-2019-3902-fix3.patch- Fix out-of-bounds read during parsing of a malformed manifest entry (CVE-2018-17983, bsc#1110899): hg-CVE-2018-17983.patch- Fix security issues in mpatch overflow and other misbehavior (CVE-2018-13346, bsc#1100354, CVE-2018-13347, bsc#1100355, CVE-2018-13348, bsc#1100353): hg-mpatch-fix01.patch hg-mpatch-fix02.patch hg-mpatch-fix03.patch hg-mpatch-fix04.patch hg-mpatch-fix05.patch hg-mpatch-fix06.patch hg-mpatch-fix07.patch hg-mpatch-fix08.patch hg-mpatch-fix09.patch- Modernize spec-file by calling spec-cleaner- Mercurial 4.5.2 (4.5.2 was released immediately after 4.5.1 to fix a release oversight.) 1. Security Fixes (CVE-2018-1000132,bsc#1085211) All versions of Mercurial prior to 4.5.2 have vulnerabilities in the HTTP server that allow permissions bypass to: * Perform writes on repositories that should be read-only * Perform reads on repositories that shouldn't allow read access 2. Backwards Compatibility Changes The "batch" wire protocol command now enforces permissions of each invoked sub-command. Wire protocol commands must define their operation type or the "batch" command will assume they can write data and will prevent their execution on HTTP servers unless the HTTP request method is POST, the server is configured to allow pushes, and the (possibly authenticated) HTTP user is authorized to perform a push. Wire protocol commands not defining their operation type in "wireproto.PERMISSIONS" are now assumed to be used for "push" operations and access control to run those commands is now enforced accordingly. 3. Bug Fixes fileset: don't abort when running copied() on a revision with a removed file date: fix parsing months setup: only allow Python 3 from a source checkout (issue5804) annotate: do not poorly split lines at CR (issue5798) subrepo: don't attempt to share remote sources (issue5793) subrepo: activate clone pooling to enable sharing with remote URLs changegroup: do not delta lfs revisions revlog: do not use delta for lfs revisions revlog: resolve lfs rawtext to vanilla rawtext before applying delta See full cnahgelog on https://www.mercurial-scm.org/wiki/WhatsNew#Mercurial_4.5.1_.2F_4.5.2_.282018-03-06.29- Mercurial 4.5 See full changelog on https://www.mercurial-scm.org/wiki/WhatsNew#Mercurial_4.5-rc_.282018-01-22.29 1. New Features 1.1. revert --interactive The revert command now accepts the flag --interactive to allow reverting only some of the changes to the specified files. 1.2. Accessing hidden changesets Set config option `experimental.directaccess = True` to access hidden changesets from read only commands. 1.3. githelp extension The githelp extension provides the `hg githelp` command. This command attempts to convert a git command to its Mercurial equivalent. The extension can be useful to Git users new to Mercurial. 1.4. Largefiles changes largefiles: add a 'debuglfput' command to put largefile into the store largefiles: add support for 'largefiles://' url scheme largefiles: allow to run 'debugupgraderepo' on repo with largefiles largefiles: convert EOL of hgrc before appending to bytes IO largefiles: explicitly set the source and sink types to 'hg' for lfconvert largefiles: modernize how capabilities are added to the wire protocol 2. hgweb changes hgweb now shows more information about commits: phase (if it's not public), obsolescence status (with a short explanation and links to the successors) and instabilities (e.g. orphan, phase-divergent or content-divergent). Client-side graph code has been simplified by delegating more work to the backend, so /graph page is now more in sync with /log page, visually and feature-wise. Unfortunately, this code change means that 3rd-party themes for 4.5+ are required to have graphentry.tmpl template available (copy it from the base theme if you don't use %include and then reference it in map file) and render entries in graph.tmpl -- look at one of the core themes to see what it needs to look like. JS functions that create graph vertices and edges are now available in Graph.prototype, making it possible to call the original functions from custom theme-specific functions if needed. Graph now shows different symbols for normal, branch-closing, obsolete and unstable commits, and marks currently checked out commit with a circle around its graph node. There's also now json-graph API endpoint that can be used for rendering commit graph in 3rd-party applications. 2.1. Other Changes When interactive revert is run against a revision other than the working directory parent, the diff shown is the diff to _apply_ to the working directory, rather than the diff to _discard_ from the working copy. This is in line with related user experiences with 'git' and appears to be less confusing with 'ui.interface=curses'. Let 'hg rebase' avoid content-divergence by skipping obsolete changesets (and their descendants) when they are present in the rebase set along with one of their successors but none of their successors is in destination. A new experimental config flag, `rebase.experimental.inmemory`, makes rebase perform an in-memory merge instead of doing it on-disk in the working copy. The `HGPLAINEXCEPT` environment variable can now include color to allow automatic output colorization in otherwise automated environments. A new `unamend` command in `uncommit` extension which undoes the effect of the amend command by creating a new changeset which was there before amend and moving the changes that were amended to the working directory. A '--abort' flag to merge command to abort the ongoing merge. An experimental flag '--rev' to 'hg branch' which can be used to change branch of changesets. bundle2 read I/O significantly improved bundle2 memory use significantly reduced during read clonebundle: it is now possible to serve the clonebundle using a git-lfs compatible server. templatefilters: add slashpath() to convert path separator to slash (issue5572) A new experimental config flag, 'inline-color-diff', adds within-line color diff capacity histedit: add support to output nodechanges using formatter to help with editor integrations 3. Backwards Compatibility Changes `log --follow-first -rREV`, which is deprecated, now follows the first parent of merge revisions from the specified REV just like `log --follow -rREV`. `log --follow -rREV FILE..` now follows file history across copies and renames. transaction: register summary callbacks only at start of transaction hgweb's graph view no longer supports browsers that lack support hgweb: only include graph-related data in jsdata variable on /graph pages graphlog: add another graph node type, unstable, using character * remove: print message for each file in verbose mode only while using '-A'- Mercurial 4.4.1 1. Notable changes * Git and Subversion subrepos have been disabled by default to mitigate a potential security risk if files overlapping with a subrepo managed to be committed to a repository. bsc#1071715 CVE-2017-17458 * Subrepos are now more paranoid about symlink traversal. * The share extension handles drive letters on Windows better. It is possible that a specially malformed repository can cause Git subrepositories to run arbitrary code in the form of a .git/hooks/post-update script checked in to the repository in Mercurial 4.4 and earlier. Typical use of Mercurial prevents construction of such repositories, but they can be created programmatically.- Mercurial 4.4 Notable changes Control whitespace settings for annotation on hgweb * /annotate URLs on hgweb now accept query string arguments to influence how whitespace changes impact results. * The arguments "ignorews," "ignorewsamount," "ignorewseol," and "ignoreblanklines" now have the same meaning as their [annotate] config section counterparts. Any provided setting overrides the server default. * HTML checkboxes have been added to the paper and gitweb themes to expose current whitespace settings and to easily modify the current view. Fast, heuristic copy-tracing A new fast heuristic algorithm for copytracing which assumes that the files moves are either: 1. renames in the same directory 2. moves in other directories with same names You can use this algorithm by setting 'experimental.copytrace=heuristics'. This setting performs full copytracing if both source and destination branches contains non-public changesets only. Other changes * Estimated time is more accurate with non-linear progress * "hg status -v" can now show unfinished state. For example, when in an unfinished rebase state, "hg status -v" might show: [#] The repository is in an unfinished *rebase* state. [#] No unresolved merge conflicts. [#] To continue: hg rebase --continue [#] To abort: hg rebase --abort * Added '--ignore-space-at-eol' diff option to ignore whitespace differences at line endings. * show: use consistent node length in views * show: decrease minimum displayed hash length from 5 to 4 * A new uncommit extension which provides 'hg uncommit' using which one can uncommit part or all of the changeset. This command undoes the effect of a local commit, returning the affected files to their uncommitted state. * 'hg clone --uncompressed' uses clone bundles when possible * 'hg annotate --skip' now prints a '*' on lines with skipped revisions * New 'commands.update.check' feature to adjust constraints on when 'hg update' will allow updates with a dirty working copy. * Add an experimental -L/--line-range FILE,FROMLINE:TOLINE option to 'hg log' command to follow the history of files by line range. In combination with -p/--patch option, only diff hunks within specified line range will be displayed. Feedback, especially on UX aspects, is welcome. * Print warning when fsmonitor isn't being used on a large repository Read rest of the changelog at https://www.mercurial-scm.org/wiki/WhatsNew#Mercurial_4.4_.282017-11-01.29 - Mercurial 4.3.3 * Prevent crashes when clearing progress bar. (issue5684) * rebase: move bookmarks with --keep (issue5682) - Mercurial 4.3.2 * restore compatibility with older versions of Python 2.7 by not using a bytearray with struct.unpack_from() * restore mingw compatibility for setup.py * hgwebdir: read 'web.template' untrusted (plugs potential security issue) * repair: preserve phase when not using generaldelta (issue5678) * ssh: fix flakey ssh errors on BSD systems * restore error handling behavior around certain I/O errors; the regressed behavior could result in transactions not being properly rolled back if stdio handles encountered errors (issue5658) * templatekw: choose {latesttag} by len(changes), not date (issue5659) * record: fix revert -i for lines without newline (issue5651) * mq: create non-lossy patches, also with custom global diff configuration - Fixed README file name (now it's README.rst)- Mercurial 4.3.1: This is a regularly-scheduled quarterly feature release, including the previous two security fixes (CVE-2017-1000115, CVE-2017-1000116) Notable changes: * experimental amend extension providing the amend command * experimental sparse extension * Support for Python 2.6 has been dropped. * Bundles created by the strip extension now store phase information. It will be restored when unbundling. * The strip extension now removes relevant obsmarkers. If a backup requested (the default), the obsmarkers are stored in the backup bundle and will be restored when unbundling. * hg show work (from the experimental show extension) now displays more info * hg show stack is a new view for the current, in-progress changeset and others around it * Mitigation for two security vulnerabilities- mercurial 4.2.3: security fix updates for CVE-2017-1000115 and CVE-2017-1000116: * Mercurial's symlink auditing was incomplete prior to 4.3, and could be abused to write to files outside the repository (CVE-2017-1000115 bsc#1053344) * Mercurial was not sanitizing hostnames passed to ssh, allowing shell injection attacks by specifying a hostname starting with - oProxyCommand (CVE-2017-1000116, bsc#1052696)- Mercurial 4.2.2 This is a regularly-scheduled bugfix release. * largefiles: avoid a crash when archiving a subrepo with largefiles disabled * rebase: also test abort from pretxnclose error * rebase: backed out changes 2519994d25ca and cf8ad0e6c0e4 (issue5610) * rebase: reinforce testing around precommit hook interrupting a rebase - Mercurial 4.2.1 This is a regularly-scheduled bugfix release. * `hg graft` now works when grafting across merges that were problematic before (b4e1e30528c7). * A race condition in `hg status` was partially fixed (issue5584). * The message about deprecated SHA-1 hashes in the [hostfingerprints] config section now references the correct syntax for replacing them with SHA-256 hashes (issue5559).- Mercurial 4.2 This is a regularly-scheduled quarterly feature release. * Notable changes + Pager support has been moved into core and is now enabled by default. This is now controlled with the ui.paginate setting. Note that in 4.2-rc, the ui.paginate option was named pager.enable. The old name has been dropped in the final release. If you had turned pagination off using pager.enable=False, please update your config. + Color support has also been moved into core and is now enabled by default (the ui.color setting now defaults to 'auto'). + The new experimental 'show' extension provides a way to view various information about your repository in an ergonomic way. It is deliberately designed for human consumption and not for scripting, so it doesn't carry the same backward compatibility guarantees as other commands. See 'hg help -e show' for more information. + Mercurial now requires `setuptools` on Windows- Mercurial 4.1.2 This is a regularly-scheduled bugfix release. + Mercurial should work inside IIS on Windows again. (issue5493) + zstd support now refuses to work on old bundle formats. (issue5506) + Merges involving subrepositories no longer crash in some cases. (issue5505) + Checking for new heads during push is no longer accidentally quadratic - Mercurial 4.1.1 This is a regularly-scheduled bugfix release. + Several incorrect mailing list addresses have been corrected. + Various error cases have been corrected during push and pull. + Minor issues that happened when Mercurial spawned worker processes have been fixed.- Mercurial 4.1 This is a regularly-scheduled quarterly feature release. + Features * A new extensible "compression engines" API has been implemented. Support for a new compression format can now be implemented in extensions. * New compression formats are fully supported in bundles and the wire protocol. There is experimental support for different compression in revlogs. * zstd - a new and exciting compression engine - is now distributed with Mercurial and built by default * HTTP payloads for many commands will now use zstd by default (as opposed to zlib) when both client and server support it. This can reduce server-side CPU usage to ~60% of original for operations like serving bundles. * zstd compressed bundles can be produced by specifying the `zstd` bundle type. e.g. `hg bundle -a -t zstd-v2 zstd-bundle.hg`. * A new statistical profiler has been added and made the default profiler for `--profile`. This profiler gives more accurate results than Python's built-in cProfile (the previous default) because the profiler overhead is much smaller. The output from `--profile` now displays the code hot path by default. This allows Mercurial developers to more accurately identify performance problems. * New `followlines(file, from:to, startrev=.)` revset predicate to track a part of changes. * Experimental support for additional git-diff features. * Troubled changes (from ChangesetEvolution) are noted more prominently in a few places. * An experimental hg debugupgraderepo command allows in-place upgrading of repositories to the latest storage format. + Improvements * Performance of reading individual revlog entries has been greatly improved. This will be noticeable when performing changelog scans on large repositories (such as when executing certain revsets). * The low-level content diffing algorithm is now ~2x faster. Operations that write data to the repository (like commit) can be noticeably faster as a result. See complete changelog at https://www.mercurial-scm.org/wiki/WhatsNew#Mercurial_4.1_.282017-2-1.29 - refreshed mercurial-locale-path-fix.patch and mercurial-hgk-path-fix.diff - refresh package keyring- Update to version 4.0.2: * demandimport: do not raise ImportError for unknown item in fromlist * posix: make poll() restart on interruption by signal * hgweb: add missing slash to file log url in rss style * hgweb: cache fctx.parents() in annotate command * vfs, scmutil: ignore EPERM at os.utime, which avoids ambiguity - Update package keyring- Mercurial 4.0 This is a regularly-scheduled quarterly feature release. Unlike other 4.0 software releases, this is simply 3.9 + .1, so it should be the usual pain-free upgrade. + Features * The following commands now also have experimental formatter support: 'hg version', 'hg grep' and 'hg config' * New template keywords and functions: `termwidth`, `mod(a, b)`, `relpath(path)` * Basic arithmetic operations in template such as `termwidth - 10` * `follow()` revset takes new `startrev` parameter * Bash completion now allows skipping potentially expensive status call for completing 'hg status' arguments, using $HGCOMPLETE_NOSTATUS environment variable + Improvements * A number of changes were made to move and copy tracking, to make sure move and copy information is not lost during commands like 'hg graft' * Compound revset expression is now properly ordered * Python 3 support has received a lot of improvements (but will take a lot of additional work) * zlib performance in hgweb is improved, and it's possible to control zlib compression level using server.zliblevel option - Refreshed mercurial-hgk-path-fix.diff and mercurial-locale-path-fix.patch- Mercurial 3.9.1 (2016-9-1) This is a regularly-scheduled bugfix release. * bundle2: fail faster when interrupted * bundle2: localize handleoutput remote prompts * convert: move svn config initializer out of the module level * debian: update source URL in copyright file * exchange: correctly specify url to unbundle (issue5145) * help: add example of '[templates]' usage * help: update link to wiki/CommandServer * osx: update bugzilla link in readme * revset: fix keyword arguments to go through optimization process * win32: update link to mailing list in readme * win32: update wiki link in mercurial.ini- Mercurial v3.9 + Features * ui.textwidth can now be set to define width of help text * separate() template function added * ui.rollback can be set to false to disable the hg rollback command * fail- hooks now run when a command fails * experimental.graphstyle.* config options to control styling of graphs in console * experimental.histedit.autoverb allows histedit lines beginning with "verb!" to be interpreted as histedit actions * [hostsecurity] config section for defining advanced per-host security settings * ability to define the SHA-256 and SHA-512 hashes of pinned server certificates * ability to define CA certificates on a per-host basis * ability to define the minimum TLS protocol version on a global or per-host basis * sort() revset can now perform topological sorts using the topo option * hgweb can now render JSON for filelog, filerevision, summary, and search web commands * [paths] entries can now define a pushrev sub-option to control which revisions to push by default * The experimental 'journal' extension was added, allowing users to view the previous positions of bookmarks and the working copy + Improvements This release includes many improvements, including (but not limited to): * performance of `hg diff` has been improved * chg now detects more changes to the configuration and execution environment * SSL/TLS code has been significantly refactored and now is consistent across all consumers (HTTPS, SMTPS) * performance improvements to server communication (particularly for the largefiles and remotefilelog extensions) * connections to servers whose certificate authority (CA) is unknown are now refused even if no CA certificates are available (see SecureConnections for details) * fingerprints of server certificates are now printed using SHA-256 instead of SHA-1 * reads and writes to certain files is now robust and avoids more race conditions and edge cases (see ExactCacheValidationPlan) * performance improvements to certain revsets * cloning will no longer prompt for a password multiple times when cloning from a server that requires a password * annotate view in hgweb now groups lines into blocks depending on their revision and highlights lines for the current revision * hgweb now displays extra information and also navigation links in popups for each line in annotate view- mercurial 3.8.3: * bookmarks: allow pushing active bookmark on new remote head * localrepo: prevent executable-bit only changes from being lost on amend * strip: invalidate phase cache after stripping changeset - verify source signature- Mercurial v3.8.2 This is an unscheduled bugfix release. 3.8.1 contained a noisy deprecation warning that was only intended for Mercurial developers, sorry. * bookmarks: properly invalidate volatile sets when writing bookmarks * builddeb: add distroseries to tagged versions * bundle2: properly request phases during getbundle * debian: add wish to suggests * debian: forgot to make debian/rules executable in 6b95a623ec90 * deprecation: gate deprecation warning behind devel configuration * help: fix the display for hg help internals.revlogs (issue5227) * help: search section of help topic by translated section name correctly * hg-ssh: copy doc string to man page * patch: show lower-ed translated message correctly * progress: stop excessive clearing (issue4801)- fix mercurial-locale-fix.patch- update to v3.8.1 (3.8.1 was released immediately after 3.8 to fix a release oversight.) Regularly scheduled feature release. This release contains a low-priority security fix for: * CVE-2016-3105 Mercurial: arbitrary code execution when converting Git repos Features * `hg update` and other commands that can perform update (such as hg pull -u) now warn about other topological heads * cHg has been added * `hg update` now updates to the tip-most changeset on the same topological branch. Before, it would update to the tip-most changeset, possibly on a different topological head * Hints on how to continue interrupted commands are now printed (e.g. `hg resolve -m` will now tell you to run `hg rebase --continue` or `hg histedit --continue`) * The experimental automv extension has been added. This extension attempts to detect file copes and renames automatically. * The 3rd party hgwatchman extension has been imported as the fsmonitor extension. This extension uses filesystem watching to make commands like `hg status` significantly faster on large repositories. * `hg rebase` now chooses its default destination the same way `hg merge` does * `hg pull -u` now activates a bookmark if the has a bookmark * `hg pull -u` now deactivates a bookmark if the destination doesn't match the existing bookmark * Improved edge styles in graph log. * User template keywords and functions can be defined in `[templatealias]` section. * It's now possible to push the active bookmark using `hg push -B .`. Improvements This release includes many improvements, including (but not limited to): * performance of copy detection during rebases has been improved, potentially leading to faster rebase execution * performance of `hg log -f ` has been improved * syntax errors in loaded extensions are now handled better * `hg update` on Windows should now be up to 4x faster * JSON encoding should now be proper UTF-8 for all inputs * Performance of the - revset operator has been improved * The blackbox extension now logs more data * "hgext" is now a Python namespace package * revsets accessing changelog data (commit messages, authors, dates) are now 10-15% faster * hg.exe built in MinGW will now link against the proper Python DLL- update to v3.7.3 This is an out of cycle release to address three security issues: * CVE-2016-3630 Mercurial: remote code execution in binary delta decoding Mercurial prior to 3.7.3 contained two bounds-checking errors in its binary delta decoder that may be exploitable via clone, push, or pull. * CVE-2016-3068 Mercurial: arbitrary code execution with Git subrepos Mercurial prior to 3.7.3 allowed URLs for Git subrepos that could result in arbitrary code execution on clone. This is a further side-effect of Git CVE-2015-7545. Reported by Blake Burkhart. * CVE-2016-3069 Mercurial: arbitrary code execution when converting Git repos Mercurial prior to 3.7.3 allowed arbitrary code execution when converting Git repos with hostile names. This could affect automated conversion services. Reported by Blake Burkhart. + bdiff: (pure) support array.array arrays (issue5130) + convert: add new, non-clowny interface for shelling out to git (SEC) + convert: dead code removal - old git calling functions (SEC) + convert: rewrite calls to Git to use the new shelling mechanism (SEC) + convert: rewrite gitpipe to use common.commandline (SEC) + convert: test for shell injection in git calls (SEC) + files: don't recurse into subrepos without a path or -S (issue5127) + hg: perform update after pulling during clone with share (issue5103) + mq: restrict generated patch name to 75 characters (issue5117) + obsolete: fix n^2 marker computation behavior + parsers: detect short records (SEC) + parsers: fix list sizing rounding error (SEC) + streamclone: fix error when store files grow while stream cloning + subrepo: adapt to git's recent renames-by-default + subrepo: set GIT_ALLOW_PROTOCOL to limit git clone protocols (SEC)- update to v3.7.2 This is a regularly-scheduled bugfix release. + bundlerepo: properly handle hidden linkrev in filelog (issue4945) + bundlerepo: properly handle hidden linkrev in manifestlog (issue4945) + demandimport: add _imp to ignore list + doc: correct example concerning "hg purge" alias in man page "hgrc.5" + doc: remove deprecated option from synopsis of command help + fileset: fix copy/paste in eol() error message + help: fix typo in backgroundclose documentation + help: hg.intevation.de is new primary name of hg.intevation.de (and new cert) + help: update template examples to use reST literal syntax + hg: obtain lock when creating share from pooled repo (issue5104) + log: fix order of revisions filtered by multiple OR options (issue5100) + rebase: update working directory when aborting (issue5084) + revert: properly revert to ancestor of p2 during merge (issue5052) + revset: flatten chained 'list' operations (aka function args) (issue5072) + setup: avoid procedure related to hg.exe at setup.py --pure + ui: fix crash by non-interactive prompt echo for user name + unionrepo: properly handle hidden linkrev in revlog (issue5070) + zeroconf: forward all arguments passed to ui.configitems() wrapper- update to 3.7.1 This addresses an urgent regression in compilation on Solaris and metadata handling for conversions. + amend: don't preserve most extra fields + graft: don't preserve most extra fields + histedit: fix typo in documentation + osutil: disable compilation of recvfds() on unsupported platforms + osutil: do not abort loading pure module just because libc has no recvmsg() + rebase: backout changeset 986d04b9fedd + rebase: backout changeset d755a9531fce + rebase: don't preserve most extra fields- update to v3.7 * Features + Generaldelta: the original Mercurial compression format had an inefficient way of storing history in very branchy repositories. Generaldelta addresses this weakness. As a result, depending on the repository, this can improve the size of the history up to a factor of 10. Mercurial 1.9 was the first release to support generaldelta (behind a feature flag), but Mercurial 3.7 also allows pulling a mixture of non-generaldelta and generaldelta history without having to recompute everything, which avoids overloading servers. As a result, generaldelta is now enabled by default. You can convert a repository to generaldelta using: `hg clone -U --config format.generaldelta=1 --pull originalrepo generaldeltarepo` + Clonebundles: this is an server-side extension. It allows using a pre-generated bundle for an initial Mercurial clone. Clients will automatically use clonebundles if a server advertises them. Clonebundles allows much faster initial clones and reduces the load on a central server significantly. Mercurial 3.6 was the first version to include experimental clonebundles support, it's now been marked non-experimental. You can find out more using: `hg help clonebundles`. + Filesets now support 'missing()', to specify all files missing according to `hg status`. + Interactive committing (`hg commit -i`) and amending (`hg commit --amend`) can now be used together. + Merging can now handle collisions between untracked and tracked files, configurable according to the config option `merge.checkunknown`. + Default 'histedit' destination: it's now possible to run `hg histedit` without specifying a base revision. Mercurial will try to determine an appropriate base automatically. The revset used for this is "`reverse(only(.) and not public() and not ::merge())`", which specifies the first ancestor of the current changeset that is not public and does not have any descendants that are merges. + The '*.orig' files created by revert can now be stored in a different location, specified by the config option `ui.origbackuppath`. + `hg shelve` now supports storing untracked files. + `hg unshelve` now supports using a custom merge tool. + `hg backout` now commits by default if no conflicts were encountered. + hgweb now supports rendering sub-topics. + Server operators can now limit interaction with legacy clients speaking an outdated wire protocol. This is useful for preventing excessive CPU use when the server is using generaldelta repositories. See the various `bundle1` options in `hg help config.server`. + Python wheel packages are now available for Windows on PyPI + `[paths]` entries can now define a separate URL for pushes. See `hg help config.paths` for more. * Improvements This release includes many improvements, including (but not limited to): + performance improvements (speedup for '`hg log `') + many documentation improvements (clarification, additional examples (see `hg help --verbose`), ...) + improved PyPy support + `hg clone --uncompressed` is now 3-4x faster on Windows. See the `backgroundclose*` options in `hg help config.worker` for more.- update to 3.6.2 This is a regularly-scheduled bugfix release. + docker: match more version of 'hg docker version' + localrepo.commit: check all files for resolve state + rebase: add returning value from pullrebase function + resolve: restore .orig only after merge is fully complete + share: wrap bmstore._writerepo for transaction sensitivity + tags: create new sortdict for performance reasons- update to 3.6.1 This is an out-of-cycle bugfix release for issues related to hooks See detailed release notes on https://www.mercurial-scm.org/wiki/WhatsNew#Mercurial_3.6.1_.282015-11-9.29- update to 3.6 Regularly-scheduled feature release. See detailed release notes on https://www.mercurial-scm.org/wiki/WhatsNew#Mercurial_3.6_.282015-11-1.29- update to 3.5.2 Regularly-scheduled bugfix release. + hgweb: use latest mtime for caching tag (issue4814) + largefiles: restore archiving largefiles with hgweb (issue4859) + localrepo: recreate phasecache if changelog was modified (issue4855) + monoblue: fix page subtitle on help pages + unbundle: cleanly abort on unknown bundle2 feature- update to 3.5.1 Regularly-scheduled bugfix release + convert: fix git copy file content conversions + filesets: ignore unit case in size() predicate for single value + help: fix typo familar -> familiar + help: fix typo in scripting documentation + hg: avoid auto sharing when the clone destination is remote + hgweb: fix trust of templates path (BC) + histedit: backout ebb5bb9bc32e + largefiles: ensure lfutil.getstandinmatcher() only matches standins + match: fix a case-only rename + explicit path commit on icasefs (issue4768) + parsers: fix memory leak in compute_phases_map_sets + rebase: lock the repo during the full rebase operation + revset: prevent crash caused by empty group expression while optimizing "and" + revset: prevent crash caused by empty group expression while optimizing "or" + strip: use the 'finally: tr.release' pattern during stripping + update: wlock the repo for the whole 'hg update' command - require python-curses (boo#944183)- update to v3.5 Regularly-scheduled feature release. See detailed release notes on https://mercurial.selenic.com/wiki/WhatsNew#Mercurial_3.5_.282015-07-31.29- update to v3.4.2 See detailed release notes on https://mercurial.selenic.com/wiki/WhatsNew#Mercurial_3.4.2_.282015-07-01.29 and https://mercurial.selenic.com/wiki/WhatsNew#Mercurial_3.4.1_.282015-06-01.29- update to 3.4 This is a regularly-scheduled feature release. See full release notes at http://mercurial.selenic.com/wiki/WhatsNew#Mercurial_3.4_.282015-05-01.29- update to 3.3.3 This is a regularly-scheduled bugfix release. + adjustlinkrev: handle 'None' value as source + adjustlinkrev: prepare source revs for ancestry only once + amend: check for directory renames for both merge parents (issue4516) + annotate: reuse ancestry context when adjusting linkrev (issue4532) + dirstate: don't require exact case when adding dirs on icasefs (issue4578) + dirstate: make sure rootdir ends with directory separator (issue4557) + filemerge: clean up language in mergemarkertemplate help + forget: cleanup the output for an inexact case match on icasefs + hgweb: prevent loading style map from directories other than specified paths + mergecopies: reuse ancestry context when traversing file history (issue4537) + templates: fix "log -q" output of default style + templates: fix "log -q" output of phases style + win32: 'raise ctypes.WinError' -> 'raise ctypes.WinError()'- Without installed python package hg is not able to clone https links, and it is not so easy to understand from error message: "python ssl support not found".- update to v3.3.2 An unscheduled bugfix release to fix the fix. + transaction: really disable hardlink backups (issue4546) - update to v3.3.1 This is a regularly scheduled bugfix release. It fixes a significant regression with transactions on Windows network shares. + dispatch: work around UnicodeDecodeError caused by SSLError of Python 2.7.9 + hgweb: recreate old DOM structure for css in monoblue style + largefiles: access to specific fields only if largefiles enabled (issue4547) + log: fix json-formatted output when file copies are listed (issue4523) + repoview: invalidate cached changelog if _delayed changes (issue4549) + revisionbranchcache: fall back to slow path if starting readonly (issue4531) + revset: mask specific names for named() predicate + shellquote: fix missing quotes for empty string + templatekw: fix {join(bookmarks, sep)} to always show associated bookmarks + transaction: disable hardlink backups (issue4546)- update to v3.3 + commands * add: add back forgotten files even when not matching exactly (BC) * addremove: add back forgotten files (BC) * addremove: add support for the -S flag * addremove: print relative paths when called with -I/-X (BC) * addremove: support addremove with explicit paths in subrepos * backout: add --commit option * commit: abort if --addremove is specified, but fails * commit: remove reverse search for copy source when not in parent (issue4476) * commit: propagate --addremove to subrepos if -S is specified (issue3759) * graft: show more useful status information while grafting + core * bundles: do not overwrite existing backup bundles (BC) * osx: patch .pax.gz files in pkg bundles so they extract as root (issue4081) * revset: handle hidden linkrev for file missing for head (issue4490) * revset: allow rev(-1) to indicate null revision (BC) * revset: fix ancestors(null) to include null revision (issue4512) * subrepo: don't abort in add when non-hg subrepos are present (issue4513) * cmdserver: use given streams as pipe channels like other commands * extensions: only check compatibility against major and minor versions (BC) * https: support tls sni (server name indication) for https urls (issue3090) * ignore: resolve ignore files relative to repo root (issue4473) (BC) * linkrev: handle filtered linkrev with no visible children (issue4307) * linkrev: also adjust linkrev when bootstrapping annotate (issue4305) * linkrev: use the right manifest content when adjusting linrev (issue4499) * memctx: calculate manifest correctly with newly-removed files (issue4470) * memctx: fix manifest for removed files (issue4470) * obsstore: disable garbage collection during initialization (issue4456) * subrepo: support remove with explicit paths in subrepos * subrepo: add full revert support for git subrepos * subrepo: add partial diff support for git subrepos * subrepo: add status support for ignored files in git subrepos * win32: remove Mercurial.ini file from Inno Setup installer (issue4435) + hgweb * hgweb: allow viewing diffs against p1 or p2 for merge commits (issue3904) + extensions * color: add support for colorizing git subrepo diffs * color: add missing 'dim' in _effects * convert: on svn failure, note libsvn version (issue4043) * convert: replace revision references in messages if they are >= short hashes * convert: handle LookupError in mercurial_source.lookuprev() * extdiff: reintroduce backward compatibility with manual quoting of parameters * histedit: add a test to show that issue4251 is fixed (issue4251) * largefiles: fix commit of a directory with no largefile changes (issue4330) * largefiles: use 'default' path for pulling largefiles, not 'default-push' * largefiles: enable subrepo support for add, forget, remove * largefiles: show progress when checking standin hashes in outgoing changesets * mq: smarter handling of plain headers * patchbomb: don't honor whitespace and format-changing diffopts (BC) * rebase: show more useful status information while rebasing * rebase: ensure rebase revision remains visible (issue4504) * extdiff: avoid unexpected quoting arguments for external tools (issue4463) * highlight: ignore Unicode's extra linebreaks (issue4291) * record: don't honor format-changing diffopts (issue4459) * share: add option to share bookmarks * transplant: properly skip empty changeset (issue4423) - provide cacerts.rc for all OS, not just >1130- update to v3.2.3 * context: stop setting None for modified or added nodes * darwin: omit ignorable codepoints when normcase()ing a file path * encoding: add hfsignoreclean to clean out HFS-ignored characters * largefiles: don't actually remove largefiles in an addremove dry run * log: fix log -f slow path to actually follow history * log: fix log revset instability * manifest: disallow setting the node id of an entry to None * pathauditor: check for Windows shortname aliases * pathauditor: check for codepoints ignored on OS X * rebase: ignore negative state when updating back to original wc parent * update: add tests for untracked local file * update: don't overwrite untracked ignored files on update- properly replaced previously dropped mercurial-2.8-ssl.diff with cacerts.rc- update to v3.2.2 * see changelog at http://mercurial.selenic.com/wiki/WhatsNew#Mercurial_3.2.2_.282014-12-01.29- update to 3.2.1 * see changelog for v3.2.1 at http://mercurial.selenic.com/wiki/WhatsNew#Mercurial_3.2.1_.282014-11-11.29 - refreshed mercurial-locale-path-fix.patch - dropped obsolete mercurial-2.8-ssl.diff - dropped outdated contrib stuff from speccloud117 1592906949  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  4.5.2-lp151.6.3.14.5.24.5.2-lp151.6.3.14.5.2-lp151.6.3.1     !!!!!!!!!!!!!""""""""""""""""""""""#############$$$%%%%%%%%%%%%%%%%%%$$&'''()***+,-../01222345mercurial.shmercurialhgrc.dcacerts.rchghgkhgdemandimport__init__.py__init__.pycdemandimportpy2.pydemandimportpy2.pycdemandimportpy3.pydemandimportpy3.pychgext__init__.py__init__.pycacl.pyacl.pycamend.pyamend.pycautomv.pyautomv.pycblackbox.pyblackbox.pycbugzilla.pybugzilla.pyccensor.pycensor.pycchildren.pychildren.pycchurn.pychurn.pycclonebundles.pyclonebundles.pyccommitextras.pycommitextras.pycconvert__init__.py__init__.pycbzr.pybzr.pyccommon.pycommon.pycconvcmd.pyconvcmd.pyccvs.pycvs.pyccvsps.pycvsps.pycdarcs.pydarcs.pycfilemap.pyfilemap.pycgit.pygit.pycgnuarch.pygnuarch.pychg.pyhg.pycmonotone.pymonotone.pycp4.pyp4.pycsubversion.pysubversion.pyctransport.pytransport.pyceol.pyeol.pycextdiff.pyextdiff.pycfactotum.pyfactotum.pycfetch.pyfetch.pycfsmonitor__init__.py__init__.pycpywatchman__init__.py__init__.pycbser.socapabilities.pycapabilities.pyccompat.pycompat.pycencoding.pyencoding.pycload.pyload.pycpybser.pypybser.pycstate.pystate.pycwatchmanclient.pywatchmanclient.pycgithelp.pygithelp.pycgpg.pygpg.pycgraphlog.pygraphlog.pychgk.pyhgk.pychighlight__init__.py__init__.pychighlight.pyhighlight.pychistedit.pyhistedit.pycjournal.pyjournal.pyckeyword.pykeyword.pyclargefiles__init__.py__init__.pycbasestore.pybasestore.pyclfcommands.pylfcommands.pyclfutil.pylfutil.pyclocalstore.pylocalstore.pycoverrides.pyoverrides.pycproto.pyproto.pycremotestore.pyremotestore.pycreposetup.pyreposetup.pycstorefactory.pystorefactory.pycuisetup.pyuisetup.pycwirestore.pywirestore.pyclfs__init__.py__init__.pycblobstore.pyblobstore.pycpointer.pypointer.pycwrapper.pywrapper.pyclogtoprocess.pylogtoprocess.pycmq.pymq.pycnotify.pynotify.pycpager.pypager.pycpatchbomb.pypatchbomb.pycpurge.pypurge.pycrebase.pyrebase.pycrecord.pyrecord.pycreleasenotes.pyreleasenotes.pycrelink.pyrelink.pycschemes.pyschemes.pycshare.pyshare.pycshelve.pyshelve.pycshow.pyshow.pycsparse.pysparse.pycsplit.pysplit.pycstrip.pystrip.pyctransplant.pytransplant.pycuncommit.pyuncommit.pycwin32mbcs.pywin32mbcs.pycwin32text.pywin32text.pyczeroconfZeroconf.pyZeroconf.pyc__init__.py__init__.pychgext3rd__init__.py__init__.pycmercurialmercurial-4.5.2-py2.7.egg-info__init__.py__init__.pyc__modulepolicy__.py__modulepolicy__.pyc__version__.py__version__.pycancestor.pyancestor.pycarchival.pyarchival.pycbookmarks.pybookmarks.pycbranchmap.pybranchmap.pycbundle2.pybundle2.pycbundlerepo.pybundlerepo.pycbyterange.pybyterange.pyccacheutil.pycacheutil.pyccext__init__.py__init__.pycbase85.sobdiff.sodiffhelpers.sompatch.soosutil.soparsers.socffi__init__.py__init__.pycbdiff.pybdiff.pycbdiffbuild.pybdiffbuild.pycmpatch.pympatch.pycmpatchbuild.pympatchbuild.pycosutil.pyosutil.pycosutilbuild.pyosutilbuild.pycchangegroup.pychangegroup.pycchangelog.pychangelog.pycchgserver.pychgserver.pyccmdutil.pycmdutil.pyccolor.pycolor.pyccommands.pycommands.pyccommandserver.pycommandserver.pycconfig.pyconfig.pycconfigitems.pyconfigitems.pyccontext.pycontext.pyccopies.pycopies.pyccrecord.pycrecord.pycdagop.pydagop.pycdagparser.pydagparser.pycdagutil.pydagutil.pycdebugcommands.pydebugcommands.pycdefault.dmergetools.rcdestutil.pydestutil.pycdirstate.pydirstate.pycdirstateguard.pydirstateguard.pycdiscovery.pydiscovery.pycdispatch.pydispatch.pycdummycert.pemencoding.pyencoding.pycerror.pyerror.pycexchange.pyexchange.pycextensions.pyextensions.pycfancyopts.pyfancyopts.pycfilelog.pyfilelog.pycfilemerge.pyfilemerge.pycfileset.pyfileset.pycformatter.pyformatter.pycgraphmod.pygraphmod.pychbisect.pyhbisect.pychelphelp.pyhelp.pycbundlespec.txtcolor.txtcommon.txtconfig.txtdates.txtdiffs.txtenvironment.txtextensions.txtfilesets.txtflags.txtglossary.txthg-ssh.8.txthg.1.txthgignore.5.txthgignore.txthgrc.5.txthgweb.txtinternalsbundles.txtcensor.txtchangegroups.txtconfig.txtrequirements.txtrevlogs.txtwireprotocol.txtmerge-tools.txtpager.txtpatterns.txtphases.txtrevisions.txtscripting.txtsubrepos.txttemplates.txturls.txthg.pyhg.pychgweb__init__.py__init__.pyccommon.pycommon.pychgweb_mod.pyhgweb_mod.pychgwebdir_mod.pyhgwebdir_mod.pycprotocol.pyprotocol.pycrequest.pyrequest.pycserver.pyserver.pycwebcommands.pywebcommands.pycwebutil.pywebutil.pycwsgicgi.pywsgicgi.pychook.pyhook.pychttpclient__init__.py__init__.pyc_readers.py_readers.pychttpconnection.pyhttpconnection.pychttppeer.pyhttppeer.pyci18n.pyi18n.pyckeepalive.pykeepalive.pyclocalelocalrepo.pylocalrepo.pyclock.pylock.pyclogexchange.pylogexchange.pyclsprof.pylsprof.pyclsprofcalltree.pylsprofcalltree.pycmail.pymail.pycmanifest.pymanifest.pycmatch.pymatch.pycmdiff.pymdiff.pycmerge.pymerge.pycmergeutil.pymergeutil.pycminifileset.pyminifileset.pycminirst.pyminirst.pycnamespaces.pynamespaces.pycnode.pynode.pycobsolete.pyobsolete.pycobsutil.pyobsutil.pycparser.pyparser.pycpatch.pypatch.pycpathutil.pypathutil.pycpeer.pypeer.pycphases.pyphases.pycpolicy.pypolicy.pycposix.pyposix.pycprofiling.pyprofiling.pycprogress.pyprogress.pycpure__init__.py__init__.pycbase85.pybase85.pycbdiff.pybdiff.pyccharencode.pycharencode.pycdiffhelpers.pydiffhelpers.pycmpatch.pympatch.pycosutil.pyosutil.pycparsers.pyparsers.pycpushkey.pypushkey.pycpvec.pypvec.pycpycompat.pypycompat.pycrcutil.pyrcutil.pycregistrar.pyregistrar.pycrepair.pyrepair.pycrepository.pyrepository.pycrepoview.pyrepoview.pycrevlog.pyrevlog.pycrevset.pyrevset.pycrevsetlang.pyrevsetlang.pycrewriteutil.pyrewriteutil.pycscmposix.pyscmposix.pycscmutil.pyscmutil.pycscmwindows.pyscmwindows.pycserver.pyserver.pycsetdiscovery.pysetdiscovery.pycsimilar.pysimilar.pycsimplemerge.pysimplemerge.pycsmartset.pysmartset.pycsparse.pysparse.pycsshpeer.pysshpeer.pycsshserver.pysshserver.pycsslutil.pysslutil.pycstatichttprepo.pystatichttprepo.pycstatprof.pystatprof.pycstore.pystore.pycstreamclone.pystreamclone.pycsubrepo.pysubrepo.pyctagmerge.pytagmerge.pyctags.pytags.pyctemplatefilters.pytemplatefilters.pyctemplatekw.pytemplatekw.pyctemplater.pytemplater.pyctemplatesatombookmarkentry.tmplbookmarks.tmplbranchentry.tmplbranches.tmplchangelog.tmplchangelogentry.tmplerror.tmplfilelog.tmplheader.tmplmaptagentry.tmpltags.tmplcoalheader.tmplmapgitwebbookmarks.tmplbranches.tmplchangelog.tmplchangelogentry.tmplchangeset.tmplerror.tmplfileannotate.tmplfilecomparison.tmplfilediff.tmplfilelog.tmplfilerevision.tmplfooter.tmplgraph.tmplgraphentry.tmplheader.tmplhelp.tmplhelptopics.tmplindex.tmplmanifest.tmplmapnotfound.tmplsearch.tmplshortlog.tmplsummary.tmpltags.tmpljsonchangelist.tmplgraph.tmplmapmap-cmdline.bisectmap-cmdline.changelogmap-cmdline.compactmap-cmdline.defaultmap-cmdline.phasesmap-cmdline.showmap-cmdline.statusmap-cmdline.xmlmonobluebookmarks.tmplbranches.tmplchangelog.tmplchangelogentry.tmplchangeset.tmplerror.tmplfileannotate.tmplfilecomparison.tmplfilediff.tmplfilelog.tmplfilerevision.tmplfooter.tmplgraph.tmplgraphentry.tmplheader.tmplhelp.tmplhelptopics.tmplindex.tmplmanifest.tmplmapnotfound.tmplsearch.tmplshortlog.tmplsummary.tmpltags.tmplpaperbookmarks.tmplbranches.tmplchangeset.tmpldiffstat.tmplerror.tmplfileannotate.tmplfilecomparison.tmplfilediff.tmplfilelog.tmplfilelogentry.tmplfilerevision.tmplfooter.tmplgraph.tmplgraphentry.tmplheader.tmplhelp.tmplhelptopics.tmplindex.tmplmanifest.tmplmapnotfound.tmplsearch.tmplshortlog.tmplshortlogentry.tmpltags.tmplrawchangelog.tmplchangeset.tmplerror.tmplfileannotate.tmplfilediff.tmplgraph.tmplgraphedge.tmplgraphnode.tmplindex.tmpllogentry.tmplmanifest.tmplmapnotfound.tmplsearch.tmplrssbookmarkentry.tmplbookmarks.tmplbranchentry.tmplbranches.tmplchangelog.tmplchangelogentry.tmplerror.tmplfilelog.tmplfilelogentry.tmplheader.tmplmaptagentry.tmpltags.tmplspartanbranches.tmplchangelog.tmplchangelogentry.tmplchangeset.tmplerror.tmplfileannotate.tmplfilediff.tmplfilelog.tmplfilelogentry.tmplfilerevision.tmplfooter.tmplgraph.tmplgraphentry.tmplheader.tmplindex.tmplmanifest.tmplmapnotfound.tmplsearch.tmplshortlog.tmplshortlogentry.tmpltags.tmplstaticbackground.pngcoal-file.pngcoal-folder.pngfeed-icon-14x14.pngfollowlines.jshgicon.pnghglogo.pngmercurial.jsstyle-extra-coal.cssstyle-gitweb.cssstyle-monoblue.cssstyle-paper.cssstyle.cssthirdparty__init__.py__init__.pycattr__init__.py__init__.pyc_compat.py_compat.pyc_config.py_config.pyc_funcs.py_funcs.pyc_make.py_make.pycconverters.pyconverters.pycexceptions.pyexceptions.pycfilters.pyfilters.pycvalidators.pyvalidators.pycselectors2.pyselectors2.pyctransaction.pytransaction.pyctreediscovery.pytreediscovery.pyctxnutil.pytxnutil.pycui.pyui.pycunionrepo.pyunionrepo.pycupgrade.pyupgrade.pycurl.pyurl.pycurllibcompat.pyurllibcompat.pycutil.pyutil.pycverify.pyverify.pycvfs.pyvfs.pycwin32.pywin32.pycwindows.pywindows.pycwireproto.pywireproto.pycworker.pyworker.pyczstd.somercurialCONTRIBUTORSREADME.rsthgweb.cgiemacssite-lisphg-test-mode.elmercurial.elmq.elmercurialCOPYINGhg.1.gzhgignore.5.gzhgrc.5.gzhg-ssh.8.gzxemacssite-lisphg-test-mode.elmercurial.elmq.elzshsite-functions_mercurial/etc/bash_completion.d//etc//etc/mercurial//etc/mercurial/hgrc.d//usr/bin//usr/lib64/python2.7/site-packages//usr/lib64/python2.7/site-packages/hgdemandimport//usr/lib64/python2.7/site-packages/hgext//usr/lib64/python2.7/site-packages/hgext/convert//usr/lib64/python2.7/site-packages/hgext/fsmonitor//usr/lib64/python2.7/site-packages/hgext/fsmonitor/pywatchman//usr/lib64/python2.7/site-packages/hgext/highlight//usr/lib64/python2.7/site-packages/hgext/largefiles//usr/lib64/python2.7/site-packages/hgext/lfs//usr/lib64/python2.7/site-packages/hgext/zeroconf//usr/lib64/python2.7/site-packages/hgext3rd//usr/lib64/python2.7/site-packages/mercurial//usr/lib64/python2.7/site-packages/mercurial/cext//usr/lib64/python2.7/site-packages/mercurial/cffi//usr/lib64/python2.7/site-packages/mercurial/default.d//usr/lib64/python2.7/site-packages/mercurial/help//usr/lib64/python2.7/site-packages/mercurial/help/internals//usr/lib64/python2.7/site-packages/mercurial/hgweb//usr/lib64/python2.7/site-packages/mercurial/httpclient//usr/lib64/python2.7/site-packages/mercurial/pure//usr/lib64/python2.7/site-packages/mercurial/templates//usr/lib64/python2.7/site-packages/mercurial/templates/atom//usr/lib64/python2.7/site-packages/mercurial/templates/coal//usr/lib64/python2.7/site-packages/mercurial/templates/gitweb//usr/lib64/python2.7/site-packages/mercurial/templates/json//usr/lib64/python2.7/site-packages/mercurial/templates/monoblue//usr/lib64/python2.7/site-packages/mercurial/templates/paper//usr/lib64/python2.7/site-packages/mercurial/templates/raw//usr/lib64/python2.7/site-packages/mercurial/templates/rss//usr/lib64/python2.7/site-packages/mercurial/templates/spartan//usr/lib64/python2.7/site-packages/mercurial/templates/static//usr/lib64/python2.7/site-packages/mercurial/thirdparty//usr/lib64/python2.7/site-packages/mercurial/thirdparty/attr//usr/share/doc/packages//usr/share/doc/packages/mercurial//usr/share//usr/share/emacs//usr/share/emacs/site-lisp//usr/share/licenses//usr/share/licenses/mercurial//usr/share/man/man1//usr/share/man/man5//usr/share/man/man8//usr/share//usr/share/xemacs//usr/share/xemacs/site-lisp//usr/share//usr/share/zsh//usr/share/zsh/site-functions/-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.opensuse.org/openSUSE:Maintenance:12940/openSUSE_Leap_15.1_Update/7eb0a83ca7615303b1a2f167681b90b3-mercurial.openSUSE_Leap_15.1_Updatedrpmxz5x86_64-suse-linux  ASCII textdirectoryPython script, ASCII text executablea /usr/bin/env wish script, ISO-8859 text executablepython 2.7 byte-compiledELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=872ae45a0537b8b4e8decf5baff98ce9d365a2a5, strippedemptyELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=ab414f4f4e49a72d63f7f524567770cf8e413996, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0eddacd8b396ebd312730d7ed59b7eaf29922127, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=529f48a4f8f9c5e2f3ba67ba0413ccbdc2af7649, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=e0185acd69c601e0b56ad3ff7eed9a0f2e122068, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=4b60ebf3420d01f0c0639a0d5202d6352d460a1c, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=942e3a96ffd52353dd3102d25eef2021dd66685d, strippedC++ source, ASCII textHTML document, ASCII textXML 1.0 document, ASCII textASCII text, with very long linesPNG image data, 5 x 800, 8-bit grayscale, non-interlacedPNG image data, 14 x 14, 8-bit/color RGBA, non-interlacedUTF-8 Unicode textPNG image data, 16 x 16, 8-bit colormap, non-interlacedPNG image data, 75 x 90, 8-bit/color RGB, non-interlacedassembler source, ASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=9a68532e62fed79fa510769129baf0e3b9817cad, strippedLisp/Scheme program, ASCII texttroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./01 RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR RRRR R RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR R RRRRRR R RRRRR R RRRRRR R RRR RRR R RRRRRRR R RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR R RRRRR R R˝$_zEmercurial-langutf-8ecf21ca528e82c872128daffabac25c01bd83ff52147350035ff91bfa1430525?7zXZ !t/j]"k%rf˟jL\9:;gYps>2喉+WAQXҟcl< .jR&D|e5/.-':gi DwT*M~ʼnm 6< }>kX1pR_f6ԍ8q 7_ٜ j_Tr+30?7SiCAĪkf$ Ojko2u}cIK[:+D0߇[ 3׆@߬auhע?C\ZwBYP4RN={v C{@ UzfꤐN_֭[MGu}3m4 xXqYGD[l}!/F`}xAZrK6}7O _B8'[O1s3SMx$ N0';f h{8 05eջT3 _XA;tw{vdmCYp>bh >QjkԄӏЮeg8i0parH '^ҷȡkP[~!Y߄_jNLs*,-5]sco'L>Rx,t!@\E,E̮9k4)[7iJo~J} N0X7YRm>VfW>&ߤU}P]OjG{E2S5|I4?XhYo`o⹀s' 褍8Km&8n7EŕtcMm=FhA1V#n,.|kW\5&N=1G\QZXDp |8YH[%|( uDHؠް}.WS.S_Lvs3zkZ+5? /mZZ&@hZL -K *'P#մܶ^%rw¯t{>,mJWZ7Iɭl qF 6vi=VLSB?׋x?vX!.hugWJ)x:,OE&^LO :Pg帾aT[{0FrN?% ܃Dmgg#Ylz5dANKjsALncyԕ"K,PۏI{zKJtWRQX}.$l?gJ̯W\36 ™+g ~10tF@5)M2 *U IksICJgcȧ 0k'yyH箠ʺ$ߥwJXwJh @dv%ŒOUkO:`cb@:\ń,4yV@X' OnE>ZX"u0Q1dBBF%?>Vޠ@ATv/ &f=n7:Ab)hЄ!s[e L>C1{B&c]0 ĥBbe]<*K[ݓTU o.EZja:UpiCwh0N"ٮU?0a!ckP w2L,K "A%,Q 4aծ%jB_@tQqc kAȺ D7w1|+y.W{?o%kRT E-}zv b!\k<NKdr^g8*gJZqL*A?ZG-q[] $()qP>{M4~'6t;Hr!Ơ4jdHcF d0&.a[tTސ4bYDbsM:.oJZkT~H"r%Uxv䅕 ,g ȕu=3J95AT*VݽTlRW`M"~=Ԓ0p )/uImt@' HPF=e>fjdO@wvs(Cqm16 PΥ(*D<2޽x>_Wc҂bI313 8AGGպl` 6v`LO1HcDb%vbؖvDї0rD֞@kˆ! )UO%OJ\Ƙ=30Mhnjt3X;%TGE$n@#bG"YAA-WuRl0OpD$M?/gOh)̳5e'o?Re ٸ40"XrmMkab2Թ`,m_a_Á+9/ni? ,CǕWk(='x9ӡ5/u}1X^R{orӆ'v;rؘǴ|nAInOϯs2nZU KǞZ92T>uʨ| v4eyӒ|Yʋd S,g@ JxTkTW줳L/bkӊδs@Pk5GRC:[$ܱ2xѩ;n{МRv^N SYȤϠ.2M)wZ=nbp(Uؽޤ;]BǙx"|XpYdҝ Lc .PPD)[`J" y~P++L5p~i.j17[t{ASX*:爉$jz r`\]MN[Gbp]ʅ}n+|7dB;Nqc'Jh*ӬClyv83dyޅtP<[ # )&u?A;NzY˄ѰQ\2 ޯYճh;:"쒨T]ㅴB"2OWVSF) Izypt 't9XKSaUDmקW8 =O)/ e(ByK=etV3D  `FqP*=AzYdweƤh&[\2g O: @SߥOcmvgM[!\k4 t.v@Z8׳or"nn:LBW_?Y$)3D"2ёT2ӵ÷𨾨Z` K@BLTrc0-uS>fzvb&+(0[,}U" LLl0z\8%7htM\YQ 2(+N3`e&kNC] E'U _aܒIZy`P{ YEX#hYV;SE2:IV``=$['ގlVuxۦzo h4u KoIejA[4s.$S\SpRVL7`R8fDC1C#Boqiڷ«9*BQEKgy4uZX&Gl~<%P-Wu41n% 0?v O:f9kzMaz5n{y3wG`S~z^כ!= 󉈪_V]̐O#H!jS7ܥgԂLlkyG}:mͼ*d\9]t%5?*O&clv5g~rDCn֗9g5tx:Hչl`#&ȕEkjcbxӤP+ j&xuY86ٮ䗔Ա/vw H|'x٢aӦ0cQ9>1~?qHG~(Ċ `hnO0)Sh(I@K @'T!a@3OiOxUD -*_~֩oQ]~Ͼݔ!x/cy;5eI]B*6̬y}̃QV|1ĉ{?vZ!tvx^WuA Pt+jnl:_^LF|pȱ3uVbOk u>Q }7HM$|ӗwNcjntYn 5fQVtsG?'5ԛZY'VvrV۠cmvDWZ֚a` #-BkZ\!R̷M-M0Oz]--ݲ D5ODLJZP0۱> d,Oq2 &hK^q%*ڭ=jfTb+jXP^ a< 46qFP ]M38Cc"C>0'͘hid T r6߿QT0qTV[#o:Tk?WĜ|ZPT >v3}A2a#hrPiܫ՜IɡVn(;^7J\~vmuDU4?:\mAdgeabU )s8_DbՀqTzQKl +J3օSw^N8m)\%j`'VMn@&6hGAP)C2+N=rf@9+r4xks=0`&<878<g8nw\Pl{tĜy-e>D0`\bxj k0AmČ6#]j>$nx&'izDw!*Y# gf%-H7mb:.w)dpOj&C`df)A=^~i,7:<ª(X8\892Tƕ;3Ȃw΢A30R2w"?bhsGw\vK^mPx _D'ד 62Uazf()@rN$fl^mV+2Vl<`vOdN!~Rگ>09R &ÝihexE]/ߍjhhsz.-?R3s,ha Q$1$XrN0쭁BF-&:㟝BrcoG&@j^F XVU#Q8ȜU"Q^|0z xT]ozADX$xbSoJ[PQ~Up;':$r,SuJ0>j wO%V(m*8>K(y{vA=MXS -o(cѠ-;5k4P26bOD&b#'KF xPvۆVG$wjUWL,%͒dd/HBtњI^Y(l.QhˆU 4cn q! W[lYcj?fe+ t[8 ![HDWkijO6YΆ5hj{J7}|O5 )SCRI>*jk*Ǐrpym WXUs^`H9s73wM_jE.p@, :kA^=zfsB)i nrP#:HFr]Ӿ -yNخ{0IK*-~rRe׊B)<{3؉ydP= XcqQë:9Clnhǂ㸯lJM^W{G`1UG3XtT, tk%+0hoxIdѠW1ci+Tto'V<oJULf_ӰfmBSAPG1\qǐ))Ce>w}ĺFzWn0wNmm ,c`'B"#Y D֮G߬#HGj=J2? 7i+,쳫Ÿ́mBLHi8X`B!N o$Zdy dI^k9qZp\f'x;+ <!*xvfaJMOE @jZ#i-gB9X!5ⴸc_}9F6\c7VK'tnܳGMam9&{wGI3%H24Ij9;gr\jdKGIy+#r?+wo$yHg_"5.F*Ve>}!q7!$3{hekY89ac)j1 @s bB cWE崅k9ZJ31Д"r(Vs 05vt0`̵ћ֒\aE]曗o҆r,a/# aJy^B '@9m}g_P Y-tט>iXI=iF="N.%x ߝ8_UfXlݣ}$=91mF7yE·1ZCRFN>hC؝<Q2<ʪr.$&&xYN HdW%ΎIU#ZjK:DM@nhK| Af3mpi"s Vg.Yůzlzp򫒭u&,+-lpDퟐɓ' CX97&:G|PIepD}z!UxyFH&;WiGAƹ^|,B(2m -vL;BungdtF]?pZvDٟE'|ŀ7S38|!'HM9'TdWѡctsn$HԴk ^p TbhCөb/]DSB6?' Y[lٝ?-3@c7>Vm Wc4w"nؚZenq?e6fԴjFP +Ы_k^38/-gV*^]_DYmAfe F~O;Z~JpÌz!PvifXI!zz`H.3 x~FV3z6@dYЂ;\E Y|-%e-Q^ EcnL LЅG |&-Oa6-DI腬Vb\tPM,~!3cu*1? {xe,{(M߯Rv@ۛkz\L6d>9ila]2_UЕ.]!%ǟ+`CsT}{c8BgmM\W, isRi Mׯ~<{b ;~y5;wjy䵌&KŒ:qZCEofysP|Ů XTomJ%l̬.ŗEF4ܘf7˖_/`}m ` "K6)&i@a2Jh+FE/lU;Cv -(AηTyێaf!k^EYk̟uNo l k)JGev")_8#︟pNaյu>6 c?A)Sl $AGYL渾bwW:J{SijC\1Tnf`/RjayQrЍL'ڥ!%jDH IH䘆#Nvz9%39H{oړj\D/:Dž{O\EL=~4{}7N``%*bl~@{G %Q]!ow2tq;H ?>mA/AnfX;I.ʽѶJknŌ4wdm9>l;?.;@Gpr| ~*Yңx@'m/ ;iF*^egBm` O*8N#ҮCs1W]u1Q7;i'L~!T_~'5> y"± T\îoiZFߙ`wҗD `4X0NѾ̮{um@oTz`ؚ$y.} 6Z?ZG.Dp?$w=qz0_rv~4)Tto[LhL"OlF넪Y%4`, S|ѱ9;X< z#}`•z &S<\zfi@u(7 $2-5]{4 p1ٹKw"Zt<2#4z~e=+%A'B+P~eevTԏ icw4w0"eW#6Q% /*ٱH,]=8c Œ$ Vw cxެ0囼JjFMTi3DEg=nMyM,#pa>ALyK!րx]!M@\֐~"rB)fObm}̦5T"A˨WL\h9$۪(lI>7<ҌM?E%U|!8gA C->;V&bT%z\}3^r.p2hNYpiGL PDf2[tP 8{j_ໜd<861^Yλuz ~ E#qcPVƜ0AA?06]&9պs+'@7f`JhKɂoCJ2~LDro©C¥vjP)#aϜ?"R!|2!"}S@I4 ϫ5y|?3M]|Vt~)2=Y"nw,[ؙ96H+h*>RD[7T l C[y.U1xC"*MKŽEAk@-&I5zaf{0(jw!2 4(_ͽ⽓!/Q惮G{I?eGuUV$[Cɾȅh_ۃW{ DցhOCoφ|YJx`W?rOPiH22) &onM(,Y*A`=&{bѝ`,;wZ\IWnQ?Jj zzS@bIXZ!磣1%g+8koRC-J"nf?HrWV,)dm!fJ63(p ,EC;{3uᢀ/@~\A4/ugʋh}u4Uxhv`aw"kc^AY3[uxb! *$2[>N{=ݷv޾>qT$ I xŶMQrIqzPK)\r %HFAJƪڑ)p zW15D?.[ ؇rQť@{Z-jR¥>"k];XƧ5}8Hؘ3 NO D?#\9ł{r"oΥݕ+`|&K\(eaP2Y0Lw.qs%ԕZDuB[eyBckwA4Y9%IPN](;%kcoR2lGr8:xukO?c'Ie/{Jt',bR|}l{1t ڧZnEYJ%M(Î/'b!w~U%Am}+0 ]_,eGQ2ja_ͿlLԚj 7Z*Be# 4e&"9dFc@Ի.Qᧆ.ҳ"$w!C|@`wDGTK5Wz~0ZSgR̭!=yQ2gh!T.S<88.ϺreZVӒwQ$1s^98@3/ɉǾ 0&!x~*Hؽ!mx1>ś*{13xriLfd%w*jD!ӽ&%@9X 4~ԞGG !FEM474;U73f-ۜ r.NG`L!mFpX 4Ɫ z%4͝|ɕTJ )__pg4jX==.!T Ӹ2zj,,5g 4"ϐ'5bPmǿ*~;7.EKE\O-NW>0~fo.i_D_2 n)c~'kX 2U(|>p0b6i՝ [@jiSxVD4.^ ؉+06\I%0sT!.Fܥ޲Yv~LVZekΥ:Op)T x^oHCSRmͳC$L$tq'ؗEu_mARcԃwWu01[$#~ލnI` Y! &{x/<əajaH1hϾFd/}={)  3m1~`n!fP8~wDEX[ SCvuWeI"vDY-LʆV$B"驹5.SC]+YDjLl7;y "$DlAuy'ŚQܔ-j\ L=bm8 Mz[ A6 c|Z.*vHh>\y_H姃~&C弍d,?Y9B| "PĪsuxM챃_*3מ rԁO>,rNPr­\6;-Z 4zNUJ U;*^S+v~FoQ4#ɦwmFhio\xpSԿS#)AKBԃ6l&=uO<άJVb(Jbwf>-2llS'"1mCH ,(;,3 +L1xqI_C ˕7= Hmkt1]Ӛ-xzjiU.3pDZbFVCQ=vmXJBWe-Fk*!WT$"$}*#FS+N+oHxwGb;Ԧd.!ElcBРίx mIa+ా\~(vZfB蔍t9bnNnKWxBLM9U=y"JEwV*Uі %"ޤOz"Щ}rSYsN: y~+VT25_d=bQεn732'eg5b[6p#r;#;uBȩom4זy1ur%lhK 2q>mΨ*}u&SF~w? .*YA[8s쉢" (H*6pS\0n ##|IR Iپ8E% 14Շe4dZ iUK]r ޳F$hCfub7N8 y+gm'fߊG@&/J /ԜBJܣun jY0~g5D`$ o^d $}wupEz(ī(`(]&[=Az9EG$6l;>Xf 8u›2ꏩɡvBU_=ig%F6K2E[TJ7 a* N{gAqH|Z¨`v.Y}P ChTLL gG*}7̩gƒⰣmoоmno4ro]g9]CN˫XZ +ֹ@@rCaߝ%tINtѕ_״xq &+XĘ  msԊhM@FFbl^dߜ##YSf{a%3^vճd Y[+.&tdk6v~-R؞f|L00+SHZu4)֤!6-rGm, sٖﴢܼU΄EIx VKWzqg&KyДi5Gyyߓ=j-3+*Mӊ4 +ܾy0X!2&<ϙe59 #Ig^<gIE(6ed$]7Q#uy~{|,!:\~D7j' 7~-yB,K;Ӹ5 GW&ÒhBqW{Aoq Vjwk'<.@SKk"ب\0շH4`2;+5{<+3twWuyCf$b?3 W 6Q8B 1'>54u:D&ஔlym2qO#QsJjtd4+Y*|pRM510vY hr!ʭᶱ}*Qf20U{| jJD F=L{)NQޚdq"=T8kWILAM+"}/<9 !G8:@[f"[ v /}ي#8jt,v^$+R$XX+J D^Dl[ r̵?El=O>-툿ox.iEgVId-ޠ]Lvw{^@68,TdRH󇪜j|L>3.rC7e[ĸ @qBY^yK;Wm/*UaD"=tLAJBI({h"Pz=r{kegH 4L,u \9w+6DLx9ܤk,9G >u֮tV^0`H^ؙps=xق/bW"/~KQ ,|94Owpv0GAs0SK RMQd.x؟Sa*TOMHt8J-)jq+[`!Q3m2ʟe-V%rY)v G<$[*L$I@1_ ԷgY͚XpS^!^P{v bdqGJ dPQͿmgTvqA@L-0"-[p]Ð!5T@C ָU!UKViBYUNP4mBC4ez_N aH{ھe-`M*$ -?nmdj^c$Gf);lWvnT./:ؠ;X [}pf4m: G [g\7:~HA^͋ ~ҡ*<>;O,32zɓҕ}\"tz](-XEжcذsJ? ΒPOc:KO+S}Zk Rx ,/!d{S[7qӇ ?[ڤ8_H1S^̑tcUү-ȆؓU,ppoÓvr/pciWh*2#&"#0w M9Kuno:p'mo6IhXì۠&jiT?),[߾Y,P&E-꣛P!r5Ə `&ԽڽkQv;bN+%M 1TgU?/ @X? =ſjn胰AJFGb-XHWBXG8hp?^Yg-G0/b s툍;2re %$j~XdAʆB.`9y\ӂHMZ}! .!@s 3P[q^"G*ʧ9-G ^ X|Ϋg#G# IDToʲ@/yIkqMꮢQU@;gA^˥ϸ+f1,of6.0F\JPܭG'TdNV%: RcOK-A/aWC0]OrްXO{$oQ}ivJOg@;s釛**,))+9`޻4vֱí/UCVc^Ç~)&%;pv)|:cWR!=nO's[ibv+ AT dAm!Z뷂Ԗ]&s, (a6coE#&*FtFl8~Y袙$HT%z֐]6t z ?Zj}l%a~fВ;uH1Op0zkv]2OutȞG+ӷ鹤:bR^,k|m'X e0&Lap3Zg=WPn޻W ‹x ѴR>8apJK5b\8SP <$PjCNޜzڛ$-̀~(1~to}NiUe#iIV o~j*Q75 <+^a3n<@ Q#h.JKFW:YوƁ!x`%wea}ar :Ei (ߨ2 qߨ< Moƒb7[[["<+MOҢv]nw~r Ю߉/ey kJ&Y]+ԇxPq'8>j+PC35f;~~ȅ'[, ȃT|Gh9wX3ׯ.'ܳD VHԒ$AǬ؂+2 YmAb^|)Ьi+ i l'xiPMM?V`I`i"jz,QT8;Ϋ#v ;}e$ Wܵ!RSFѾ# % y܇m1G F#Dӌ 6-Bؔ,@lֲը9"}JԗEԸDܛOeOvJDovT 4ػV"gZdmlِkh~- l0 cqI|5S:j]&jTpBHc۠<˛yAڙz,9hW.Rn l;dzئBd/LmBX6J66`NxԷuϨliTu4gկQhaSipei;0=zS;7f34kɺJRQL0Ut D{ Dʌ3g]KQ˫7hs| {Lp7`R[loJY"QjI+^ 1MWeQ}8; /Oe/3\"  .㌍[׫ɍIV'w?eLtRbA-3OI]X &!vK"Sd?tbt EeiKȏ4D4\KՑ tDM\I,yeQ(rt3nw)b*l!`o=1B_So+6Hl7 ;y~7 n38Z#`z,f>UuhULp0H\oHC:/diҶLq!CLޜlNLrUX;DcP@( l8gPkO#ܚ3e':~A#g`uwE6 d̔Ǥ@"#/4')GJj?N+(J]AC-(7dV% T̸)FvCbD"x:/yᦦ7+E pE\x=O 7ԍ=#sahXY֦n#g5pMs dα;XW=eE=no0#L9ΰ3TE#?#*o3; pofދ^aQ?binq \N, /O{)ԣսmƾAWxl"Êw wY֦ lhp-ժ;c^!R=| E6Oy[#*m\7Vĕα: ӱhI=@l'YyZ6E`6_@m mȇѤ)9opt0Ѕ;0Rq~_hf7~Gl6Lu1e֟$G${,:fC}!UIz񛬳!?Si7WGa;ß%%z IhA7[)V8CSyh\ ڍw nbm?Z##+_#oyp6wD !˗~xD|s:v6F%R{ hzGCEDZ<. ip4xEw2tL[ݳl\o3B Sn>[1 91s:؀F4O8ҮِflF7;K.FPLۇ2#ɭ3//>@ x]7q4Y ƅsZchu;]@Ժ9rӕ2fL6qwFvݮږތye|b']Yd`c QQ H89@Kf/\!M9GEOCwK>ƦӚ#f"_#vu2Rcxltbŗ!?~D81њpg;^1 mL- r)Ba70JЪ䉅dVq90A!H|*3oo6>oVc ^4!GhDQ@Q0ԁsȵ fPg]ǟE2Q>yD8aud,k;qw܈L1 I`k׺920 Oʩ“dvpV,paSLX713߄cM/dkvKt= %'~67oeM!{y~`T !,cchYʩ0&UG}c@8L%dYN'ٓ̇r[9?b"W;.HA(*.;bԹٸJA@ty*r4f#sxA7[z;`}-4I6m9t2HWe7{BB}KvҒ*nkՎ*Z':k4EMsZ/yr̂*/*|(+;EOވK;~\CD]AB0Uf#M3ȢIyI#TFvyIVV ʶc$jt%{0:6dXl?[ 26t ׾']nVfh54s pv \()/# mHȭ8.*i\y]aWn k v'S;>w:7r T_)d*&!ʤw$Kl&=:pHhjcHp Y v3<@y\^f-#y 'Ա1ng-'"̙w,ߨ=f~f+8ݞ1nuQ38O"@mTU=WǷiuQ/ [h{Hwc{_]KSݷ"lTMeM]>-Hn+]<4bT'^_ ?CWy^6MT2 nEZʬKz nv:bS 2Q/ۿls>ʋ%;й7^ f$5 RD~wKWHRӲVrz>0G@ 0 Dd>R-U|fgTQ2tƣp9DXT|m= ^lwT폚q]I-5K`6Oh. WfLAF9,AFZq7 Fx ܋+2ҙB5f>Ö {t~ }q-L/bHŐXQϰ _1}K]토\_VҲ< 65Vs`*A2CTMxiv˄4MXIy 6UxU4xh{gS]Sc-\s.e%BT6ɥMhH|XI(r\äߓzݰI;*OSO4t{ά",c\qmn$ݏEZ1\$2&oZjKHrO H0櫺)Y@!~"H'Q 0j~R' p_p~)Vyt@\^Xw{8=DacltxӽGd15݈L\j2ATmZ~5Knvw͹hAuܽ>Wϰ(Ϋ