ruby-1.8.7.p357-0.36.1e>UAS7?d  K(,8<JS\ u  x $X s uP!(&&&(890:>@FGHIXx!Y!\D]$^[bScdmerfwlyzCruby1.8.7.p3570.36.1An Interpreted Object-Oriented Scripting LanguageRuby is an interpreted scripting language for quick and easy object-oriented programming. It has many features for processing text files and performing system management tasks (as in Perl). It is simple, straight-forward, and extensible. * Ruby features: - Simple Syntax - *Normal* Object-Oriented features (class, method calls, for example) - *Advanced* Object-Oriented features(Mix-in, Singleton-method, for example) - Operator Overloading - Exception Handling - Iterators and Closures - Garbage Collection - Dynamic Loading of Object Files (on some architectures) - Highly Portable (works on many UNIX machines; DOS, Windows, Mac, BeOS, and more) Authors: -------- Yukihiro Matsumoto QI9cloud125f\openSUSE 11.4openSUSEGPL-2.0+http://bugs.opensuse.orgDevelopment/Languages/Rubyhttp://www.ruby-lang.org/linuxi586$u xd  {FO&E 43[arRp#;y I S9gq &UyX f; LV066g%V<FH&H5{FXfXV8V5ENW oMXhy qrSFW;.. | -UE/ 00 FZ#lʖJV;fp~8Qd?L) |Eyd k7Ou?IWZ[,-03H#/{ L_"?f#OC w ?8R" ~-!/ ,Da 9' !8 9"i b@C6S. RkS&S $ j _+2JgW zLf 9,:5  d?87%"u @K/x',( [2 f ] P:q@  {J|/ZRlN ;i n: OB?39S- }#+@ 0"c 3UhD~R  &D^X Z  + !H= E,w' 6 'v# _ 1A90 5fah`!S  ~ (:r  q Y@ e ]  AR ~HTJt;HWH )^ Y` _Gn 1ly]-(2 O0 - FYDOg>6 ~45T8t[9AA큤A큤A큤A큤A큤A큤A큤A큤AAAA큤큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤AAA큤A큤AA큤QGQGQGQGQGQGQGQGQGQGQGQEQEQEQEQEQGQF7QF7QF7QF7QF7QGQEQEQGQEQEQEQEQGQEQEQEQEQEQGQFAQFCQGQFFQFFQFFQFFQGQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQF\QEQEQEQEQEQEQEQEQEQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQF6QGQGQGQGQGQGQGQGQGQEQGQFIQEQGQEQGQEQEQEQEQEQEQEQEQEQGQEQEQEQEQEQEQEQEQEQEQEQEQEQEQGQEQEQGQEQEQEQEQEQEQEQEQEQEQEQEQEQFKQEQEQEQEQFAQEQEQEQGQEQF\QEQEQEQEQEQEQEQF\QEQEQEQGQF\QF\QF\QF\QF\QF\QF\QF\QF\QF\QF\QGQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQGQEQEQGQEQEQGQEQGQEQEQEQGQGQEQGQEQEQEQEQEQGQEQEQEQGQGQEQEQGQEQEQEQEQEQEQEQEQGQEQEQEQEQGQEQEQEQEQEQEQGQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQGQEQEQEQEQEQEQEQGQEQEQEQEQEQEQEQGQEQEQEQEQEQEQEQEQEQEQEQEQGQEQEQEQEQEQGQEQEQEQEQEQEQGQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQGQEQEQEQEQEQEQEQGQEQEQEQGQEQEQEQEQEQGQEQEQEQEQGQEQEQEQEQEQEQGQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQGQEQGQEQEQEQEQEQEQEQEQEQFAQGQEQEQEQEQEQEQEQEQEQEQGQEQEQEQGQEQEQEQEQEQGQEQEQEQEQGQEQEQEQEQEQEQEQEQEQEQEQEQEQEQGQEQEQEQEQEQEQEQEQEQEQEQEQEQEQGQGQEQEQEQEQGQEQEQEQEQEQEQEQEQGQGQEQGQEQGQEQGQEQEQEQGQEQGQEQEQEQFgQEQEQEQEQEQEQEQGQEQEQEQEQEQEQEQEQEQEQGQEQEQEQEQEQEQEQGQEQEQEQEQEQEQEQEQEQEQEQEQEQGQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQGQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQGQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQGQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQGQEQEQEQEQEQEQEQEQEQEQGQEQGQEQEQEQEQEQEQEQEQEQEQEQEQEQGQEQEQEQEQEQGQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGQGf2fe0768c51fe7c6ad72356ba022c46d53eb2f1b14b0c083ddf35534c6c394b9a16c9f70c4b6adadea24bd8abc352bb2a2324fec3888b057cef39e41c9070ea4aa3c47cf19fd563da7d723ac6b9033d2cc1b2f44c8af3d98dcd4f677b70a55905dac6e3636de2bcc8197579cb9bd2f1013dc506732f2868c112be422c49c489f2be0ef74d2c28d494b630a46fa95a33548d88e1ed8372b0278fe5d0df5a575547f40f8376d917e049457cbd0098d7f32beb5b3004fa4a785f464db915b4df1e09bc12057ee1ab03ff74286f143caa711eab46d24f3a792cd09895c30f85d31119ed34f0d05b908c9554ce9484e182ac358460585f67e18a82afb4dcddb4cc5f50fe344d326dbceb27a4bc23cec587743ab3d25a4e41505d534c3e5950d16219d8b68e35442b17546be6922c86e9ac49b913767854f3d550cd64c9450ed57bc2b7390d7850bebac67a07ca28445435371b97d1731a13255cbff86e34baf4bcf7557b3f547027e90cbdbde081bcb94c2d2c1c16c40f610947607ac030347bad4e5318f1f0bcfd6cc5b9f8b3f277e67548c5564383d7f6ba5332b5233e71213f3a611299e939edb0199702544f2622d0768e7434050353adf40c0efd1b565635cd20e720963980b7a9cc8221e0b2106f72317aa638e70d4ebae8232be88994ebc2387f4d7bf6e4319eadb13f4f71e6961dd9637380ddc43cc135beae31f44e20193d8730e077219ddeaae302c10294ee9cd0d62b35cea75ae04163047b390b0265530801695f777b9c21821c6c98544c3bb3449f55c80fb8f7837d92e2ef916efaeffeb01cd5c2b383c305894cb95399b5451a263324a98c3f7d4450a4870cb9392e815b12bf569409b1c0a140417386f8959caf09c5f9b515ee73831b6545ba21b4ce30e5ea983b5884be0e3a05aa01a73a5fa24313eeafb2b25deac6e2ed120d373deb16b862b9abf7ebf2692b39b51f0687cac66aa82a14b71d7e53492fca042f3789da6137a22f398fc710bb808f9771faf044d208d43573d53123d9f4d468dcf8a5df44c28791d7e57e1812de7efaaed601890b3636fcc9dc2770db05e77720b774e009a0cee41722b0de2f14ef3925bad0b95f03a6856faf1698261aa136efec42148090113cf9db25248d7ae575179d22211cd498d3ba5fbf3dcdd8e96fccaf42d941dd0bce09ab2537e0da43690d3813f4f53afab0aaddc5f47b3a1dc0fdf5dc211e39ab621c9c41f9937de9fa848354c76b5350cd539146263ec6d320a08c83fc51b1815338892e2872f1181981d9afade1330b02bd0ff31ced760aa3af254c078be51252d6639ff8fba855cc39481386cd561571cb60534a5490e2ff073a4dc5c441802e6bba0810787a0832a31d9a60481c93e1b9d1a8eadc2f57af72d1090871c76e3d716c322b1dbb959fef6337f5636b5b32cd6d7deab9ca748d634187a7e4ad93c42a6415d62516376cee9f8a1e3a74ca298cc0580f7293071ffe7f304b3bb0e802aaa32fe43ad6abbc53c8907fcbb2ac6ef4d2f17c9f8012325421ffd20fca6ec0d51baea2445ac436820b16ee74326b9ad6288bf3ac3b48e2e69ca4400cae09873e73b1e5ce37320643e548a1ebb2dc836330875b00d32fde93bf5090bd29f3b2f97ea3b76c0900f595de529df35c21f0d28b969d5e66ba7c7cad0e6649b1cb78321da401e16c17ee5379f1cb2c2d02857d710dda230759df431df6c4c986074e0b77639c3e05c0478ca16b8da37d0bfda96b2208da1bbda06f7fcf4ce599fba876e25eee3f4213a16ad532980957efd45354c8ce7124937690f4b884a8a831cc0aaddfa156f1aa6da26eef155caa02a1432f8a37dd8a39d54b8737b47af0f61fc10a4998f7defc947ec85adf0aa7dfb1f70750b2d371268c57e17640d98b6aeff5c36977d75bc5592bc5f9eaab82d59244169cfc734f281247c6ccc42ced2ee3ed5111d662499e05d89809b467fd3038c09fa2310bd5e7d2037d4e06725cd920b203a1e2e9280e2087bf1cac2e9e4b4ca10376f8215ad66e6d1321a995ed67ae78381267724384a6dfca9ba6ea6024fdee88a368060e2e4cf25b0c77423e0361416119ccae9a69557a62d2153f37cd2583241efbb6c84765d59c9e620f31eaaecb46485068656839a5a8a28d4529c97732aa586948da6bd54bfe6e70866c8b4dc19e9c813f8cb639e261917e4f40aeeb7a9ae2a4aea133b618aade9489a7574c6d7fcbe8feddb07983c4058a6b70b0efd74464e0012e0492896279bbb70b6d8d6a1ddc9961cff499a57aff58f0c6ca2d5645af7120f263f03af2a3d9b8ad38fe5f4f0f606d44670d5fae61dacdec25627746fbe38cc2232b27a1cf507a53c8a6a9e723ac29882871c3fc0672705a4407e95670af0946de8cea36c8773d8d172b60c2bd293d431b391ea8c8751ab44288f1922474ee48f983fc6fd63959988ad5cd2ce7d647cb1394fe7fa286ad4221411abaee11aa4ff5f8d832b9f9a831a0a5b3762eeecfcc1b612a8646ef4de5da8da01dc68869f46358d65f28c37aa489c895060f6864dafce33aabc474d981113b56a088c791edb76dc2b798c7e2a2bf35034fb2a5347968fd4f76a384973f95c5c778f5c451b573129fde3292313bdad7df22089f2c6a90b30874f889dcce563a703c63fbfbf28ed14be5477a81e64deaa2c2f2cbaf0ae6ccf75026e247d71d3d4136887afb0cf5e9a78bfe7e3e084f8110fc3fa4caee1058c328056b5d971ccd5a29503bf98816b8d9e0c984415002943796dcf99da3758064762cad05e3c3e5b14ebf442698ef30568f114be2b0ed2c9b5673c7326e5889b0afa0535f3d9727115a8d7e98a2994dff1f98264799774a4d9ddbcbe9b8c0b3cf659b441b85043833485abc425a8727cb5b5f52f9b36208c302c8ea63803990f17a8e5bd9ba62f19b584d1aeb57e6a54807e53d9f319bc2aa93b94b1bd4c0105840d9f4fd457110a8514e70201e93fe5ba0b428b2b7adf6ce5a20bf40eea547fcad47c6bf277f6e680f641abc41712474232b4b7a0e59fd9a68f0e41998897518d643a2711401c83ea713160b3138982dd6124489be8bfee4d1f899676b5baa5aa452743d2667b3ddde55dc2902058a11c08cadb6646bbef771c0153e920a5b542e2f6bb85940666e954949dd44c06fd41f8d2fa8282b7b02fd5088532bbb8026ce6ce4570a3832ebd77bf24e0043135b45abfaddc3899d5ffffed9e23b078277859a95680200b2aeb80ccc969ed429831cc4cfce9088887b40460d014f4b8b0ebe51763396b218524a9287929667e72491cbd13d39f8f53cf6907a3d4c31416f090a14fa8ef75c072ab3b3287ac0a6a43cb83ddd6d99b3402cc49da6d777a83486fcab1009731edbb4b4e5ac3f4795ffd35b15939bd094f29376e0a90b14e2b6fa3faa13fbfc6ea54afde7d32ed8e5c8a07994fb28ad6b5df44e49f833148117cbe67f392b23cb5609d3ca8bb8a4c5735c69aff86985199d8922c493a5fdbbf05d81282acad7613261032ff84fd020f0f575b0feb3bd1177a5c104c3b0a0b813d783350077a1e85a228a8341bfbd56ee0259e282eae18fcab5ea309d37221dd45ab4126a19039220139eddb92ba1b98bde2438395f814377c8030447fcbf16bcb8d5c1942e313b43cf6203924e58d8ff6ccdd779804745778ede0e71d81e99dcb8d5c1942e313b43cf6203924e58d8f2a8b8a379c85be166e3a4b6dc16833a1335e2406ac0f12d5b59c6d578556e7c459584d97b0ca62d5d736b60083731c45fb601dc09ff505288394c172ff727c218075909c15190890d015056c1c853cb8d0223f3bc06aceb7184690f4b633b15ffaa5fd384a9893ca7bcaef90cbd21d493e96c1786b44f892675a999b85061cdaf32ee09868028ea629cabcb616bb737fc125c52855680778d5ea76dbaddc4c738fbc38c5da9f1a06d4f388db2e84b2fa35b24a23d1dec5038295b92f3a0e1e0acedbd04b5d93edf5d0e36dc4b3a72f2bd64ea3ebbbebc20f6e2b3848a7bca5d64f1d9c14ea028684633e7af0efa9390ffda5bac635a0ba9700c036931af790d75d19b3df3758011c77934a986546db9edff63917cd23bdfbf37f4d6ab8e777451622d96f389850dd43d6928f223f296087462e6aa5ce499853fd06f1d7a920866342f9a4acf976b98df9dc1b2e0a8f910f16d888e7b24d6daf7f90e5f4c3b3301247e5f863f903aa964ddcfc8dd3de4f702b2f3a35da7f52086c7292165dfbfe1a545032941f080180e3a74309b9b2d361bcaacc3566f9f4ab6e4f48b23383cad8dabfefbb9f7b43448e088d740872f0b7976d7b94fa3c67e006ee1ce2bd4a2d2d674d05655b08f1e403fd59be2ff5dbba16bf8ba4be9ea1b7473718b0fdf63303bc1d7107ae1107f12c80f6c06571a30651f40607b2929b748d961e20e8e1bed71ce061999738925083501e1718a9e1e9f312669916af63451b566e74673751adcdb544a65f22a9cfaea0f20ec4aad35f659ce8f792455a9f7139810db989b0dd077d1935509b50d8b3370a2ca160d6c65cfc71d9da91ca8ac4b81956670ae71508687b984a8bd1791d01680708d3e68e581df59752d0fffbb5f0e02e07cd605d5b71f8858aef5608aefe6d67f3555233af6b3059559ba4878f6abe0f05d63b84097e7796c10fc24b8d1977a78300d9de3227fb5e3205eda3edc477a82c173e105524cb3e6a6db201c56a4ce45340f08ade4ae9ff8483f5a58c1600a760271e2e9dddf8102229cb55c32890c0d684317286436d956bce9beda3670554af75ca129ea98efc590a5e190b0fde166add4a46af3f1bbc8dfc570d8e15cbbfb62a245e00f0d90acdc7488260a5dcf7301dd4fbdbf7ba9154ffcea0925a05a115af0b591734be22b5226b87cec950646233dfe83ac4e6687c9e9446765ae3c825889398e695271c319ba24e3c60644901a25d9b9c2957f40f1264c88d54ddd9e53fbcf7cb5ec0344b2896676c1be0c9144f61f6f85e55107da4f50f54190dbce8218954bfba2448896cd20be25780d40530c49e41bbbd83d6aeda27c8fe559ace17f16aaad146316b2ed76c05c0f15ba6646beb7301143074c305e6dccb6d4826352487fa2c056c145a858eafdd0c3067456f654f4d766f543ea0a95645ffa1f9aabb113b2ab2365bfa946371cf320c54aeb10660e5f0d8f25f9f8b2072bb060074d1fb5aac253fd8332686741879c4070338abe3418b94d704adc038e015c142886a16b201dfa17619a9038ba5588ae025a7109c84947c4d03d84232e7f093c7cca5083c8b3fb7543dde5d558f71d1d542c6f8a8d577ba28b9ed094ae7f9265a031c2e3d90a5d29918e49cf3ea680c60315a6b83105f940151c711811e663c06d7390dbf83e49bddfe315164399775bf95a909b25a652cc2c5d044116076d8f5c8d836f722035fb28704934e1ed16a053b3553e75f9eeffb3c43f376c1c9c3769e8d008c102686a05063592984e0641cfe028666cada153c6d49b7a51a36db20eb132d25ebf49ea98fbfadddb19f181609b4a996702eef23d8331f64aab581b1649034320e328a5a2290519feabf5ebdb583c83865cc0a0e1af52519e5a791d8149a75272565a2c1336be5139a05547c6016a3707c7e25830e356f2bb5572e2c3a778a06e82986ded7b29503eaf1b1ffbe006f39e6f5ac0f1c7771d2e08d9a3a8dbb16e86008ced656602d868860d42bcd9c3f6a3cd0683789c0d740340dee2f393feb06f59cc461931f650aeecf7ca3eeff5bbb0f9bdb607b6d475ce59fb50b796fcf582a98f8e6778bb000f023ded02086c6819b5a40f5e9e5a7020997cd88612b05b49727f1e7dfb07d2c68c416e1820df8dca8baef9a5de8e78f469cdb0a7b604a0141c793c512c829b519b1325066645a077b5767b620e7a4e4af5ca522b2f5f08943bf9c60a4d4099111eea878c94e4e016f54de8d692f44a33b21637b9fe690230f56db9a6604d0e8de1a390f5d0f7b1e221f10a49607ed9a08bf515ff3e9c09080fd2dad04858138d64c67a722f45c6f7af52dae7a37266c81da805b6437b83cce5f17a5c90823b5909fb76ebb2b736cfeae53abcb74d9c8d65d5431e5900886fe79272f62d13fadd283aafa1ce0996ede7b86485e2ec3bbe09dbf1d407bcc1a9d1fc2b36e63971f5e6e4382412305cff5b5617ebbc2a37f3a2f6b409302a05611742797b26b29afc6add088c1cae4ba711b20e726c25c10f36ee8470ff6cdfa5c33c86a28b79fe178a3ecff54dd6b7b07efa65c1a3791786da493a5f5168177182db9da55183dc38f3beadf7ba20e2c3ae5f0ca837970de267edf7cd62f88f0ff7d7b0c601a160f3fa40dff0613820c233bcba755e80b1261b2663cc029d6c573dfa676a3a2d7caea81f0fe7ee7a48599e33f1c7dc6471c040f54f2bf03aae2c8c1e7be9135f1f85f47c47a959e9e2854bf9ead6fe2cdf4d401701f87b371ebfbd5861fa6370c637e9774512765ca3f0ff544dac522692441c62dc043d78e6a8f7ca66111ef0738ea6f9ddb66f608f489f322f4fe87180f57b170cb9ef8e969c97fad4230c5309eae4fcc5bce650d802575e151403dc1f052f56412bb0fa61e48eb468b67d28b01382d8eb55556a91845d874cfd1e9584a361a0e924425ed8c60f79cef9eb1f2019173fe3e7e0c528f7f0bcdb76f860e49e4e3b9710939793409fc5be1230f2d4560e3ed172ff94fba8957af6e1150a04792e07f3c0133a0c960e5a1e18f03dcd81ac54598061557235f66ee53763dc882a4b11809ce50d99e363d7d2841686cd91ecabd78dcffe9e958579f221e4383e166f0956e783b0168ef325a5bd1404cf3ef9a6ab8cae462e9259ee7a70c864d28441513e62e446756f56a79eeeaebeb6d571b44eda786c1c44dce090b1a7c904f9a382599a4eac198fa4226acacd1d162f9676db9f7803c74bdfcc3a5aa01a7ede53ff322fa82527d02467142d4b3ad0302fa214ce56112072686c33d7e9df6e38327b998f4156f012364b67f3552bf2a71945932e3fca54cb7c3eeb24a3f5d64a5f771a2955c4c998df78d087a94366ed0640a2ce71453a122ae5a477f3d5d434cf72268ce4e271b0ba879d050adaa6b53cfc4fc527df9454dc677f0db1f34e563fa3f5172fd1ee844bd28485d7e227612c3c7ab7d5c0eea60f014441d7608946f7a53bf8388d1e274f9977e846b91408e0f03973cf228611bcc1231e7c6f615fd3707a59c17d31910e95f710ce8779249a3d4741e0a16d61a1966bd6e2b907d1ac79c33d450a47e888250c570057e66f561424709589cf651fe519ec1b8b7b04ed36d25d6e13b83ba01c564b83c8f4e33c4b8cb69d64871bebae5ed6e95f8e455e65b3906db1c7616c0face3428dc50e7941b46f8ded13c7c257401d4ad4b4e513c67eba41be787927a6364fb4ee1298b56afdf1db75c7783946704971f1d92cbd4f4964f1a6073879355ec1f14063de487dc99116ecb262a23b462d1d666f78a49574781c990c47eb70cdb895afa24dd82642dab28a8a522c0927675ea5f3f77ee6dd60ebe2e65d8682b420b19d463cb6561fb0cc0818c2ffe065322795917810ece6d8d653d9f21b6a612d18b293af92dfd49d453ea40819234d3b10190d159f8f2ad2409822c67bb7e735fb1f22645bdf09f2f1722f5d68216cca332056472a223e60523e22f77c830314f68ddf404cdfd58ed7dca6e879e4134418e3b4392aedbdbe7cf3d9d4a2b4264c446bb9c1da425d2dc66778289338519c81c0402f8594bb87a94f4c8255c3df98eda7b5ba36985fa3d941b39ecbf52076d7bcf128aab89fe628a67d5725045bba9c94fac623889acaffbd7abaeda0efae0483b58bf42dd1cdf88b838b04046644203808ef9158b5bbf97bad31724750293b888c6df51171fe3de02eca539225d5779a105528419045ab56317a571c53a69a9e9c07781d044fab94488a67b23fb7fb791eec2b6141ecee166048ae3d39df5c8bd123be6be11a0f7783b403709de9477104d0fa2148722c960b6ad971e2e10a8d3f45a61365f8736803fcc3666ee3374ce55089cdcf6ce1185e1e8000d7f8d320b1473b122616089bca50cb2f4c8c7ad18f6b569d67c973ae8d63496a469a5184451467b15cf2b54fb25c256c3b07242adc214990ff1d9990d724b354c82ccd0cad09bafb878e13f6ca02afc55422f0140257b67f37ee7f583b790c47eca4c9ed1202a7cf3c6690797d9a3bb9d88dba5f47f57428c2175cfe619f86af9b6350ec44e01c9f18e94e59325c48a109a5bb14e9f1577ccea6f69bc9cb9084f5d39a07a11266864b047b547067417543b32f23b844d84309d7e0e828d5124a2e97dfc4207eb17a6c34481027b7f00f741c56c07a496648284ba7ff748d93b17d14c5a1de47d4109ad8963e772abe42f9bf9bbd79404083a25ce7622c48b69880007c6f5686ed1bbb2ced5c88391e35217d51026725eb45270f419481909520270477bc3263c8b6ab29d7fe301efe2b01f4464e05afa6b3e37781f2731c4fd52d2e4b2e5452bbe660be6656616726565adcd304cbc2bc7671c1ffea027117630d7b20e27b0c27321e58e5375531d025e845e746c7c804a03df4709a9b9addc0cb4e27fbb52b139dfdb9c0ab68516c78818035baf134b2e19fe0b351cb4ec7198d11ce326c6d62add9e2ac82cf3465982564687521358d3b9a16cff65bd14e80a03752c101bbbc00fad6bfefd5dc6aa43353204e4e12efaa7aadb9a2a7d6c8ef02db032ac36434f9e2539a31f4d5f1ab20f900760699b5b6b21d105948bcc18805d376391c324bceedff0edc5480958748c7b07efe24a70c12b361ff563b8ab101a23c05d6b8603e7cb83156dacca4aa585695b0ea6d34d22edc802ffe65f0a9fe7b5871368148490187c43456d25ba8c01146a27b1678d96130ca2a6ac967e732559e4e475bfe87d5bcdaa952727930e35711e9ad8f707d55a3a180af91e9db62d09e951e0dd1efb2c8a68bd1384cce19809b0ff7c8ce89cb176e0e13303a0f5a0575228801dfc5bcfbc87d8006f5146e129c58696e7750f20cd49cc565dd00777793b3ba348e94d480547947a0fa1c9882a9bf30d1f5236cda0593153a5444e41087f2a30dd3c619e101988cdb14bae3dd3d384a697b0283c14d5cf493c2e7fd0277516b585b7239cc5ae60df461314beb10390993bc2b8107df4026c63c5bcd6f8d3d55c9fab97601a17c529aef3031106e9f2a1c94b126e8cfebf7b39e2f901c8c28fe2204fa4915b4c73301d553fcd56c6b02a6a3b586938d1f1284677690599cec6de34de0c61c8f8d65f7f06b408640f7974c05f14db4046ab493877bd7536b3ce0974f22fe99fcf0ec1ab4dc0df558483c8816ea89fea40b9d6e87404f412e5fef80d9cc8396b8007e1e31d276232c14b119db5f9ca64adf8c3d439eb540cc02fb538aa7accd3a7a9e96beee2cd2d1908aa7cfd1c04643efec41aa2af6417b0bacd68966d080317b39bb03bfbddc88c24765799d00efbb62c2d10ad804693c7c5bbf5f0159eeef35988291605cf32cbb930cd999f71c26bd6b2036476cc3d18e756a6f31f7c6e68b7b2ab24dfbce50505bfa77bded0a6d934b5906f053bd4ab38a98e277b768068432213cf902a31c8dc577bfc2f168d895ebb0c7828a99addc23134dc7397375916873a28ba5bcb76f1ac705add93fea59bed3c15986cce83dffc9821798040e42116598676ebfad9beec71e2178eff1253385c750799a32669c03ac0aee26172d75f6278ce6d8fe20cec8a9777db78eb0a20367f152582a7420da61e441472f371800e6f1ca684c714c195ec5f92dc02758a43a6e495826aac1ba48daadd2b6be0d1198536a0f1a9e1b1cef25ccdc97a3a6e22982f3d4f7e06ce31a1a49d628be2ae7fd371e708a981e23a8698c105b4cf14d09406e2a0adcdb400143cb199b1a15b7931f213dc6902d4b3567a168ff0bf26ebc11ae11b0881ca7343e2f50c5f1e2d4f07d8c87f5263fb7a23191a7977ea4ceaae665f7c30fe42f250b10f6c9e476518fc47e6f4eb14be31ac2478f3e14051207bc921295bd5d2dbc9afd72cc88624655c3e12df1714d278bd10ed1cd11c9e133463635612763f79c8b3e97fd85041a18091b1773abfb5a3dd998c2145a51d44b959e7ecb1ce6746f578159ebf5645be52514d66a57dbbcc3111b385769aea32993d936994282151df2fec5766d89ed3b6ea6f7bf7f004113f64586ae3ae7e9bb032404f2938a6f5b2e8e9b16d0a65aa9cecb69a8585ebc4fd27270225ce0de75e5a987bf926083b6a5d3f2e03e49ef18a3ba4c11878620ee77ae7963c5825129ff75805e0f0366287e202a4af8373c4063600923f229ce5f60902a8043a86dc4a5c6472aa7160ad1dcefcac0d58012dabc059d255d54963bf66c8756659d48792cf6b1ee9b4e3ac8ff6e9cfe32d0565f837d587127de9e97d965b5c14aee3a38d718570b6de84542c94abb72f61eba3f0915be75f79fd9fdc208bbc9acf2e990cd8aabbc0297f533fda46e896738af6703ad87ba8ff3791c023e6e9953a0f9bfd5fadb225947bdc84926e58a9934fbeaa493a66956cf8f17cb17c7e2f273ebb1d96b3db5d74446a7005d2931c8c1541ebfac56f5ba52ee36421e29b0662c0f20c7b88179334ec97e52a8d60889aca965e3ba3fd30a2f0d2951aa3cb1cec287e50d1c98be0a16b1dbaafc5bde98ca03cc6df3069fba976cf72c1ae9624e2439bec331486e2e7a691989338461cb9bf70fff62f279e19a626ebce5e991d4d279d6fcc10ec46939581712c349c0221ba63b9e18646269633e9bc12b62e044496f2800bda4e19340e6669ebd57ce911ebabea62ecb85ccdc5bb6a64148f37ee875dd52d4f9846d2286d5e30ecd674bdc54b27a39417df8bd859e80f503a932f9b4578047149e1d5e6976e0ebf7680d2c890820ae1a120895fd63b238e6ffa3a936899ed8d0c99f6bb5524bea5137c9b757d096bc8ee30ce5ba9064cdeff037fafc081b20d0f2a7ddbc1075c4d7f9bc4952e86162dbf45c9fff8302c02c0025d389fdd091895418163c9d430c771fc3a5178c036fe67df6045f8245746464949e8001c08bb3f0e1160482040d6f28aa111c8d0d98aa0c8f66f1eb0d96455e69cd29299da79007f18b19f6ede3c90e3b814eace596f34f3d4bcb13bf5ff689704ecc1850b47f19377684231f0a75f885d6534ed42177d8a9436e1c33f0500bf91563d763a0c72d5a8174bbd47375f32dc3772965932b5792e74d74e3f27bc8697de0a0b88e2d318d0a317e17cdbe0fb22c372ef964f58cd1ddb84f1188777449e93c97e1194b4a1103b136c10a725f90fb428c9e229921769f5270535211fc6e1ef9cb1c46b2cdc2de5aac133f8886a94177c168abbe475a8a5a6a4a146c0988db963995806f14ae9cdc565acda01bc89ec0ec5a8ba50d3c39d8aba26a59d914a3e85804db1a570019b8eafc0a292764e27fd96514977aa9e2fe5c85237d81fb0f1d582d6294ae416f480c169b8f03eef0c20b5b2149c8e6cce25fb83ad96b2c5790b7379eee6e71c8a761029a4f5bf9fdc6fd6a252a9076b8589f1503a0f9985380882ad79e8d02d6260df858251895afa1e153df0361881a59073d2d4048d4414272982dfab216a6e7eb081e1d8d421da047d11e311d0c4006a31d72d8befed879646d768ca409cf0c01773061bdec55d15da623bb37561cc5944ab9e380a54be8643b19e1cbff93fbe59c21b125714d65127efca1fcbf2f694354e63e66df519c24fe309f570ef81a911bab3774a4a860a1aa5f0c2ec53aec7375b793958a00d5168f173299a70df01a965509e1c909546e35dedb7c32c850d010b93553fd20b952291b404bb7b7967a4f733a50dd05d161942e56d9e89e301844fe4cd4a215e9f5d3c290dd20a4e853eae9810a71afae588683a8d7e0116aa959f927e91ccc956ebd4906c4b56de35491e4c09ec60118c3ef46f03908fa5aeb984941d87984410b5a5e7217b63e14d629a450d0e79d11573d4ec0eba44f484edf9fca6bfa2de33ce2f64799fe062af74be65190fabdd6205064b6a7aa592acad52be2423df13879d9e060e26f85b96cdf78f9108d783e5aad7c5b97a3f7b2a7deb1edd849e28c250ab5491d9edd52019ae09c665d0c436c462b6e162f4e5ab86e00b592ae890eea6dc931f1da6c2e5ee0cae7a41ee89ac70fb31911013730ada1ce33ee2dd5b214636e43db629108ce7e78ba13559dc365327cd75948aeaefa313d45e0c35afb6544773b280410b50418fa8801f77a3198a781cb8a94c301ec4838eaceb7131bbc08b2e57aae75fc9ceca1b873e5203a6239cc90bd027b25eb2d9168afff38cc7f20f15b485ab2870483dfe7ddb5ab0fd849ba51e84a7b3b098a772d544cdd248fb850a2d290ea8aa756ec8cf6753a6ffa6060ece23a03fd23cc4c10122d8045b566322986a6e4673bdfbc1160d0fff1dd6387d1c6626219c5b9a0aed749a583fde1a2295616dfcbe1544d6796d14c5b257a62b7b8681be9e1e1d692456be2c69b08c85d5549f612080cd17c7316c64a282a7412a1fb269980dd91ce250c6b57d3c397b31011746a17cf8013d1d65f59699b40db5a2d8bb79e0e4577a54c19c7052a66551bc95e8b9c209ce06b59359a18232a16a4bfdf655a1b081a3a211103ae9c433223f5e0b8bb3ff35619eaab6011c47f3817104c135df511184f74d7c75ec21e56acf8c15c79ce1469925f4d2649c84b0e96045007da6f369338933a96b0c0162381379e63ca73da1225c68b26ce67f9da61e6d71079c50ee5985657a6a0f228fa155bc6ede2137b6b2a57d850fbe62d910ec2066ac823fe302c79353e044a12eab8a75b8221bba5cc8c96c2cf22b1bc2f83200ade8ef299df55a6780731342f36f90c7c704c50073465052b2704ab8d52a14217fe214bc7c3c5405f2cce8270deea0bc51dcda6127d517e454fd013eafa80db3dcc9759a769ab2783f0afec025578224c550aaf96e3646e54c6040c9bc8baf628b737fae9fa84a18387a3068f1f908a8598284cee2a44ae2fbc74d0761a502698c867af6b1ee6fb6d3d0f864fad9febc2aed70284fbe27b82ddcd9322e50915e0740c475bed59e5cad059a9cdc21c5d0a85737848210d6c275e12b3f0bad99035d0c3a9713e3d9434f5489311d8fe2284d7da30d3b3fd1ea01dd43102697c326f8e0657df6bbb5118c5ad682527121d867a9bbb7967989a66a37f0d96b154ead3fe955a9285975041e0da5e634607ace6d4fba1a0d20a399f88e67b65504d289a0326c59f9c1488f69ebc16a12c13f21cb3300373d882e80eeb6a972f5a41f126d028cf5b3c625393a5ca445f6965873eca0259a17f8337d502ae3b621dc406b220dadddb72e167fbc338309ac38fefcd64b04bb903e346d3c8ca269d1bd1ced4c3938d1df89266b9a8969f831f5b3017f8093d3ed668822785b26a8eb77bd426a09f0d493228bd38209fc5607cfda4025ca025ac2ba0482b35e4068f5298c32f6562614ff0e47ce15043a7855af1c1c0a925588ebcf0204285a7978fd3169284d600b832edcbefbe207ad73836b5e1445258da4dedad3a36ffe3ee3a1cd5b350021ab0b976ca8f9802712b8a9db1072de249b9e366b7fe3a5f2ecfbe3bb99671c952c24e618b654d4f8a10386061fb75c46c0fd332dbbfafebc5dd9c17f8241206f46b3dd1349038791237cda2493c485e69b4ae30f55libruby.so.1.8.7rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootruby-1.8.7.p357-0.36.1.src.rpm/usr/bin/rubyruby(abi)bigdecimal.sobubblebabble.socparse.socurses.sodbm.sodigest.sodl.soetc.sofcntl.sogdbm.soiconv.solibruby.so.1.8md5.sonkf.soopenssl.sopty.soreadline.sormd160.sosdbm.sosha1.sosha2.sosocket.sostringio.sostrscan.sosyck.sosyslog.sothread.sowait.sozlib.sorubyruby(x86-32)    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ rpmlib(VersionedDependencies)/sbin/ldconfig/sbin/ldconfigrpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(CompressedFileNames)/usr/bin/rubylibc.so.6libc.so.6(GLIBC_2.0)libc.so.6(GLIBC_2.1)libc.so.6(GLIBC_2.1.3)libc.so.6(GLIBC_2.11)libc.so.6(GLIBC_2.2)libc.so.6(GLIBC_2.3)libc.so.6(GLIBC_2.3.4)libc.so.6(GLIBC_2.4)libc.so.6(GLIBC_2.7)libcrypt.so.1libcrypt.so.1(GLIBC_2.0)libcrypto.so.1.0.0libdl.so.2libdl.so.2(GLIBC_2.0)libdl.so.2(GLIBC_2.1)libgdbm.so.3libgdbm_compat.so.3libm.so.6libm.so.6(GLIBC_2.0)libm.so.6(GLIBC_2.1)libncurses.so.5libreadline.so.6librt.so.1librt.so.1(GLIBC_2.2)libruby.so.1.8libssl.so.1.0.0libutil.so.1libutil.so.1(GLIBC_2.0)libz.so.1rpmlib(PayloadIsLzma)3.0.3-14.0.4-14.0-13.0.4-14.4.6-14.8.0QکQT0P{@O@N@MMc@L)@L-L,@KK:@K~@K@KepKbK(J:johann.luce@wanadoo.frlijewski.stefan@gmail.commrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.decrrodriguez@opensuse.orgmrueckert@suse.demeissner@suse.demrueckert@suse.dejengelh@medozas.dejansimon.moeller@opensuse.org- fix cve-2013-4073 (bnc#827265) The fix_cve-2013-4073.patch contains the patch for cve-2013-4073 (bnc#827265) adapted from https://build.opensuse.org/package/view_file/openSUSE:Maintenance:1837/ruby19.openSUSE_12.2_Update?expand=1&file=fix_cve-2013-4073.patch- added CVE-2013-1821.patch: (bnc#808137) Fix entity expansion DoS vulnerability in REXML. When reading text nodes from an XML document, the REXML parser could be coerced into allocating extremely large string objects which could consume all available memory on the system. CVE-2013-1821 (Patch taken from debian (Salvatore Bonaccorso))- added ruby-1.8.7_safe_level_bypass.patch: (bnc#783525) Fixes a SAFE_LEVEL bypass in name_err_to_s. CVE-2012-4466- update to 1.8.7.p357 (bnc#739122) - randomize hash to avoid algorithmic complexity attacks. CVE-2011-4815 - initialization of hash_seed to be at the beginning of the process. - initialize random seed at first. - call OpenSSL::Random.seed at the SecureRandom.random_bytes call. insert separators for array join. patch by Masahiro Tomita. [ruby-dev:44270] - mkconfig.rb: fix for continued lines. based on a patch from Marcus Rueckert at [ruby-core:20420]. - Infinity is greater than any bignum number. [ruby-dev:38672] - initialize store->ex_data.sk. [ruby-core:28907] [ruby-core:23971] [ruby-core:18121]- update to 1.8.7.p352 (Fate #312657) (bnc#704409) - support for openssl compiled without SSLv2 - multilib support for tk build - some IPv6 related fixes - zlib fixes - reinitialize PRNG when forking children (CVE-2011-2686/CVE-2011-3009) - securerandom fixes (CVE-2011-2705) - uri route_to fixes - fix race condition with variables and autoload - switched rb_arch macro to use RUBY_PLATFORM - dropped patches: 1887f60a8540f64f5c7bb14d57c0be70506941b8.patch ruby-1.8.7.p22_tcltk-multilib.patch ruby-1.8.7-p334.tar.bz2 ruby-1.8.x_bigdecimal_memory_corruption.patch - new patches ruby-1.8.x_rubylibdir.patch- added ruby-1.8.x_bigdecimal_memory_corruption.patch: dont cast parameter to unsigned int in the alloc and later memset the original value. (bnc#682287) CVE-2011-0188- update to 1.8.7.p334 (bnc#673740, bnc#673750, bnc#600752) - A symlink race condition vulnerability was found in FileUtils.remove_entry_secure. The vulnerability allows local users to delete arbitrary files and directories. CVE-2011-1004 - Exception#to_s method can be used to trick $SAFE check, which makes a untrusted codes to modify arbitrary strings. CVE-2011-1005 - Ruby WEBrick character set issue (XSS) CVE-2010-0541 for all non security changes see /usr/share/doc/packages/ruby/ChangeLog - refreshed ruby-1.8.x_openssl_branch_update.patch - buildrequires openssl to make the last openssl test work - https://github.com/ruby/ruby/commit/1887f60a8540f64f5c7bb14d57c0be70506941b8.patch * ext/zlib/zlib.c (zstream_append_input2): add RB_GC_GUARD. This caused failure when test/csv is executed with GC.stress = true. - added ruby-1.8.7.p334_remove_zlib_test_params_test.patch: remove the test_params patch from backport in r27917 It doesnt pass atm. - removed ruby-1.8.6.p36_socket_ipv6.patch: included upstream- the testsuite and doc-html package should of course require the main package- add ruby(abi) = 1.8 provides- update to 1.8.7.p299 (bnc#606056 and bnc#603914) - OpenSSL 1.0.0 support - Use OpenSSL engines which exist - Fixed range and chunked support for Net::HTTP - Iconv fixes - Backported pack/unpack from the 1.9 branch (bnc#606056 bnc#603914) - Multiple fixes in the resolver - Fixed Unicode inspection bug. - Escape characters properly for the accesslog (bnc#570616) - cleaned up rpmlintrc - refreshed patches: old: ruby-1.8.7.p22_lib64.patch new: ruby-1.8.7.p299_lib64.patch old: ruby_1.8.6.p36_date_remove_privat.patch new: ruby-1.8.7.p299_date_remove_privat.patch old: ruby-pedantic-headers.diff new: ruby-1.8.7.p299_pedantic-headers.patch - replaced patches ruby-1.8.x_openssl-1.0.patch and ruby-1.8.x_openssl-1.0-tests.patch with ruby-1.8.x_openssl_branch_update.patch- fix build on ix86: - -target got removed from the %configure macro. add it back locally for now.- added ruby-1.8.x_openssl-1.0.patch and ruby-1.8.x_openssl-1.0-tests.patch: fix building with openssl 1.0.0 (taken from svn) - added ruby-1.8.x_yaml2byte.patch: fix warning about sequence point - remove requires on glibc-devel again- ruby-devel requires glibc-devel- added ruby-1.8.x_digest_non_void_return.patch: patch pulled from SVN to fix the warnings about no return in non-void functions.- ruby calls "ppc" "powerpc".- update to 1.8.7p249 small big fix release in the 1.8.7 branch, this includes the fix for: - ruby webrick doesn't sanitize non-printable characters in log (bnc#570616) CVE-2009-4492 - drop ruby-1.8.6.p36_gc.patch: solution is upstream- package documentation as noarch - adjust ruby.macros to ask the ruby binary for the target plaform. This is because %_host_cpu can expand to sparc64, while ruby is built for the sparcv9 target, and %_target_cpu can expand to noarch. - in ruby.spec, %rb_arch is statically reset to %_target_cpu, as we need the target name. Since it won't be noarch in this case, that is good.- remove s/armv5tel/armv4l/ in macros as it breaks build for armv5tel/sbin/ldconfig/sbin/ldconfigcloud125 13735222337W44448 44<4455%5n55k8084858281835565!5 5"645l45m65688=8868:88878945444444444444648@55#444546q6w4Bw777#By77'7$7(7%7&7!777 7 77 77774777777"7 7757.7/4555555555555555555555555555556556555555555558E655'58X46s5558>55555558?5558G708J8O8Q8H8L8K8P8N8I8N5455555455546t6565&6u6v56y66z666666666666666666666666666666666666666666666|66666666~66}66{654566+66;66966#6$6'6(6&6)6%6*6:6 66666 666 66666=6@6?6>6686 6 666766-6.646165636/66626066,6!66 6<6A66666666B6"44446C56D6l6V6Q6N6U6P6O6o6I6h6L6K6J6T6k6X6n6Y6e6`6\6g6_6b6[6a6^6d6]6Z6c6f6W6G6M6R6E6i6m6j6S6F6p6H6r5555555555548A56555555554666666666666666666666666666666666666666666646x5o5p555~55555555555q5x5y5s5t5z5{5u5v5r5w5|5}55554455454645$444444444454444444444444444444444444444444444445(5N5M5S5+5Q5*5/5T5L5-5)5O5P5.51505U5a5b5]5W5V5d5X5h5`5i5f5g5j5Y5c5Z5\5_5^5e5[5,5R52595H54575>5<5E5@5=5D5;5F555?585B5C565G5K5A5I5J535:444454444445555555555555555555555555 55 555 5 55555 5555677877788?>@>A>B>>>C<DDDEEEEEEEEFFFFFFFFGGGGGGGFFFFFFFHHHHHHFFFFFFFFIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJIIIKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLMMMNNNNNMMMMMMMMMOOOOPPPPPPPPPPPPPPPPQRRSTTUVVVVVVVVVVVVWXYYYYYYZZmacros.rubyerbirbrdocrirubytestrblibruby.so.1.8libruby.so.1.8.7ruby1.8English.rbEnv.rbabbrev.rbbase64.rbbenchmark.rbbigdecimaljacobian.rbludcmp.rbmath.rbnewton.rbutil.rbcgicgi-lib.rbcgi.rbsessionsession.rbpstore.rbcomplex.rbcsv.rbdatedate.rbformat.rbdate2.rbdebug.rbdelegate.rbdigestdigest.rbsha2.rbdlimport.rbstruct.rbtypes.rbwin32.rbdrbdrb.rbacl.rbdrb.rbeq.rbextserv.rbextservm.rbgw.rbinvokemethod.rbobserver.rbssl.rbtimeridconv.rbunix.rbe2mmap.rberb.rberegex.rbexpect.rbfileutils.rbfinalize.rbfind.rbforwardable.rbftools.rbgenerator.rbgetoptlong.rbgetopts.rbgserver.rbi586-linuxbigdecimal.socurses.sodbm.sodigestdigest.sobubblebabble.somd5.sormd160.sosha1.sosha2.sodl.soetc.sofcntl.sogdbm.soiconv.soiowait.sonkf.soopenssl.sopty.soracccparse.sorbconfig.rbreadline.sosdbm.sosocket.sostringio.sostrscan.sosyck.sosyslog.sothread.sozlib.soimportenv.rbiononblock.rbipaddr.rbirbirb.rbcmdchws.rbfork.rbhelp.rbload.rbnop.rbpushws.rbsubirb.rbcompletion.rbcontext.rbextchange-ws.rbhistory.rbloader.rbmath-mode.rbmulti-irb.rbsave-history.rbtracer.rbuse-loader.rbworkspaces.rbextend-command.rbframe.rbhelp.rbinit.rbinput-method.rblcerror.rbhelp-messagejaerror.rbhelp-messagelocale.rbnotifier.rboutput-method.rbruby-lex.rbruby-token.rbslex.rbversion.rbworkspace.rbws-for-case-2.rbxmp.rbjcode.rbkconv.rblogger.rbmailread.rbmathn.rbmatrix.rbmd5.rbmkmf.rbmonitor.rbmutex_m.rbnetftp.rbftptls.rbhttp.rbhttps.rbimap.rbpop.rbprotocol.rbsmtp.rbtelnet.rbtelnets.rbobserver.rbopen-uri.rbopen3.rbopensslopenssl.rbbn.rbbuffering.rbcipher.rbconfig.rbdigest.rbpkcs7.rbssl-internal.rbssl.rbx509-internal.rbx509.rboptparseoptparse.rbdate.rbshellwords.rbtime.rburi.rbversion.rbostruct.rbparsearg.rbparsedate.rbpathname.rbping.rbpp.rbprettyprint.rbprofile.rbprofiler.rbpstore.rbraccparser.rbrational.rbrdoccode_objects.rbdiagram.rbdotdot.rbgeneratorschm_generator.rbhtml_generator.rbri_generator.rbtemplatechmchm.rbhtmlhefss.rbhtml.rbkilmer.rbold_html.rbone_page_html.rbxmlrdf.rbxml.rbxml_generator.rbmarkupsamplerdoc2latex.rbsample.rbsimple_markupsimple_markup.rbfragments.rbinline.rblines.rbpreprocess.rbto_flow.rbto_html.rbto_latex.rbtestAllTests.rbTestInline.rbTestParse.rboptions.rbparsersparse_c.rbparse_f95.rbparse_rb.rbparse_simple.rbparserfactory.rbrdoc.rbriri_cache.rbri_descriptions.rbri_display.rbri_driver.rbri_formatter.rbri_options.rbri_paths.rbri_reader.rbri_util.rbri_writer.rbtemplate.rbtokenstream.rbusage.rbreadbytes.rbresolv-replace.rbresolv.rbrexmlattlistdecl.rbattribute.rbcdata.rbchild.rbcomment.rbdoctype.rbdocument.rbdtdattlistdecl.rbdtd.rbelementdecl.rbentitydecl.rbnotationdecl.rbelement.rbencoding.rbencodingsCP-1252.rbEUC-JP.rbICONV.rbISO-8859-1.rbISO-8859-15.rbSHIFT-JIS.rbSHIFT_JIS.rbUNILE.rbUS-ASCII.rbUTF-16.rbUTF-8.rbentity.rbformattersdefault.rbpretty.rbtransitive.rbfunctions.rbinstruction.rblightnode.rbnamespace.rbnode.rboutput.rbparent.rbparseexception.rbparsersbaseparser.rblightparser.rbpullparser.rbsax2parser.rbstreamparser.rbtreeparser.rbultralightparser.rbxpathparser.rbquickpath.rbrexml.rbsax2listener.rbsource.rbstreamlistener.rbsyncenumerator.rbtext.rbundefinednamespaceexception.rbvalidationrelaxng.rbvalidation.rbvalidationexception.rbxmldecl.rbxmltokens.rbxpath.rbxpath_parser.rbrindarinda.rbring.rbtuplespace.rbrssrss.rb0.9.rb1.0.rb2.0.rbatom.rbcontentcontent.rb1.0.rb2.0.rbconverter.rbdublincoredublincore.rb1.0.rb2.0.rbatom.rbimage.rbitunes.rbmakermaker.rb0.9.rb1.0.rb2.0.rbatom.rbbase.rbcontent.rbdublincore.rbentry.rbfeed.rbimage.rbitunes.rbslash.rbsyndication.rbtaxonomy.rbtrackback.rbparser.rbrexmlparser.rbrss.rbslash.rbsyndication.rbtaxonomy.rbtrackback.rbutils.rbxml-stylesheet.rbxml.rbxmlparser.rbxmlscanner.rbrubyunit.rbrunitassert.rbcuitestrunner.rberror.rbtestcase.rbtestresult.rbtestsuite.rbtopublic.rbscanf.rbsecurerandom.rbset.rbsha1.rbshellshell.rbbuiltin-command.rbcommand-processor.rberror.rbfilter.rbprocess-controller.rbsystem-command.rbversion.rbshellwords.rbsingleton.rbsoapattachment.rbbaseData.rbelement.rbencodingstyleaspDotNetHandler.rbhandler.rbliteralHandler.rbsoapHandler.rbgenerator.rbheaderhandler.rbhandlerset.rbsimplehandler.rbhttpconfigloader.rbmappingmapping.rbfactory.rbmapping.rbregistry.rbrubytypeFactory.rbtypeMap.rbwsdlencodedregistry.rbwsdlliteralregistry.rbmarshal.rbmimemessage.rbnetHttpClient.rbparser.rbprocessor.rbproperty.rbrpccgistub.rbdriver.rbelement.rbhttpserver.rbproxy.rbrouter.rbrpc.rbsoaplet.rbstandaloneServer.rbsoap.rbstreamHandler.rbwsdlDriver.rbsync.rbtempfile.rbtestunitunit.rbassertionfailederror.rbassertions.rbautorunner.rbcollectorcollector.rbdir.rbobjectspace.rberror.rbfailure.rbtestcase.rbtestresult.rbtestsuite.rbuiconsoletestrunner.rbfoxtestrunner.rbgtktestrunner.rbgtk2testrunner.rbtestrunnermediator.rbtestrunnerutilities.rbtktestrunner.rbutilbacktracefilter.rbobservable.rbprocwrapper.rbthread.rbthwait.rbtime.rbtimeout.rbtmpdir.rbtracer.rbtsort.rbun.rburiuri.rbcommon.rbftp.rbgeneric.rbhttp.rbhttps.rbldap.rbldaps.rbmailto.rbweakref.rbwebrickwebrick.rbaccesslog.rbcgi.rbcompat.rbconfig.rbcookie.rbhtmlutils.rbhttpauthhttpauth.rbauthenticator.rbbasicauth.rbdigestauth.rbhtdigest.rbhtgroup.rbhtpasswd.rbuserdb.rbhttpproxy.rbhttprequest.rbhttpresponse.rbhttps.rbhttpserver.rbhttpservlethttpservlet.rbabstract.rbcgi_runner.rbcgihandler.rberbhandler.rbfilehandler.rbprochandler.rbhttpstatus.rbhttputils.rbhttpversion.rblog.rbserver.rbssl.rbutils.rbversion.rbwsdlbinding.rbdata.rbdefinitions.rbdocumentation.rbimport.rbimporter.rbinfo.rbmessage.rboperation.rboperationBinding.rbparam.rbparser.rbpart.rbport.rbportType.rbservice.rbsoapaddress.rbbinding.rbbody.rbcgiStubCreator.rbclassDefCreator.rbclassDefCreatorSupport.rbclientSkeltonCreator.rbcomplexType.rbdata.rbdefinitions.rbdriverCreator.rbelement.rbfault.rbheader.rbheaderfault.rbmappingRegistryCreator.rbmethodDefCreator.rboperation.rbservantSkeltonCreator.rbstandaloneServerStubCreator.rbwsdl2ruby.rbtypes.rbwsdl.rbxmlSchemaall.rbannotation.rbany.rbattribute.rbchoice.rbcomplexContent.rbcomplexType.rbcontent.rbdata.rbelement.rbenumeration.rbimport.rbimporter.rbinclude.rblength.rbparser.rbpattern.rbschema.rbsequence.rbsimpleContent.rbsimpleExtension.rbsimpleRestriction.rbsimpleType.rbunique.rbxsd2ruby.rbxmlrpcbase64.rbclient.rbconfig.rbcreate.rbdatetime.rbhttpserver.rbmarshal.rbparser.rbserver.rbutils.rbxsdcharset.rbcodegencodegen.rbclassdef.rbcommentdef.rbgensupport.rbmethoddef.rbmoduledef.rbdatatypes.rbdatatypes1999.rbiconvcharset.rbmapping.rbnamedelements.rbns.rbqname.rbxmlparserxmlparser.rbparser.rbrexmlparser.rbxmlparser.rbxmlscanner.rbyamlyaml.rbbaseemitter.rbbasenode.rbconstants.rbdbm.rbencoding.rberror.rbloader.rbrubytypes.rbstore.rbstream.rbstringio.rbsyck.rbtag.rbtypes.rbyamlnode.rbypath.rbsite_ruby1.8i586-linuxsite-specific.rbvendor_ruby1.8i586-linuxvendor-specific.rbrubyCOPYINGCOPYING.jaChangeLogGPLLEGALLGPLNEWSREADMEREADME.EXTREADME.EXT.jaREADME.jaToDoemacssite-lispinf-ruby.elruby-electric.elruby-mode.elruby-style.elrubydb2x.elrubydb3x.elirb.1.gzruby.1.gz/etc/rpm//usr/bin//usr/lib//usr/lib/ruby//usr/lib/ruby/1.8//usr/lib/ruby/1.8/bigdecimal//usr/lib/ruby/1.8/cgi//usr/lib/ruby/1.8/cgi/session//usr/lib/ruby/1.8/date//usr/lib/ruby/1.8/digest//usr/lib/ruby/1.8/dl//usr/lib/ruby/1.8/drb//usr/lib/ruby/1.8/i586-linux//usr/lib/ruby/1.8/i586-linux/digest//usr/lib/ruby/1.8/i586-linux/io//usr/lib/ruby/1.8/i586-linux/racc//usr/lib/ruby/1.8/io//usr/lib/ruby/1.8/irb//usr/lib/ruby/1.8/irb/cmd//usr/lib/ruby/1.8/irb/ext//usr/lib/ruby/1.8/irb/lc//usr/lib/ruby/1.8/irb/lc/ja//usr/lib/ruby/1.8/net//usr/lib/ruby/1.8/openssl//usr/lib/ruby/1.8/optparse//usr/lib/ruby/1.8/racc//usr/lib/ruby/1.8/rdoc//usr/lib/ruby/1.8/rdoc/dot//usr/lib/ruby/1.8/rdoc/generators//usr/lib/ruby/1.8/rdoc/generators/template//usr/lib/ruby/1.8/rdoc/generators/template/chm//usr/lib/ruby/1.8/rdoc/generators/template/html//usr/lib/ruby/1.8/rdoc/generators/template/xml//usr/lib/ruby/1.8/rdoc/markup//usr/lib/ruby/1.8/rdoc/markup/sample//usr/lib/ruby/1.8/rdoc/markup/simple_markup//usr/lib/ruby/1.8/rdoc/markup/test//usr/lib/ruby/1.8/rdoc/parsers//usr/lib/ruby/1.8/rdoc/ri//usr/lib/ruby/1.8/rexml//usr/lib/ruby/1.8/rexml/dtd//usr/lib/ruby/1.8/rexml/encodings//usr/lib/ruby/1.8/rexml/formatters//usr/lib/ruby/1.8/rexml/light//usr/lib/ruby/1.8/rexml/parsers//usr/lib/ruby/1.8/rexml/validation//usr/lib/ruby/1.8/rinda//usr/lib/ruby/1.8/rss//usr/lib/ruby/1.8/rss/content//usr/lib/ruby/1.8/rss/dublincore//usr/lib/ruby/1.8/rss/maker//usr/lib/ruby/1.8/runit//usr/lib/ruby/1.8/runit/cui//usr/lib/ruby/1.8/shell//usr/lib/ruby/1.8/soap//usr/lib/ruby/1.8/soap/encodingstyle//usr/lib/ruby/1.8/soap/header//usr/lib/ruby/1.8/soap/mapping//usr/lib/ruby/1.8/soap/rpc//usr/lib/ruby/1.8/test//usr/lib/ruby/1.8/test/unit//usr/lib/ruby/1.8/test/unit/collector//usr/lib/ruby/1.8/test/unit/ui//usr/lib/ruby/1.8/test/unit/ui/console//usr/lib/ruby/1.8/test/unit/ui/fox//usr/lib/ruby/1.8/test/unit/ui/gtk//usr/lib/ruby/1.8/test/unit/ui/gtk2//usr/lib/ruby/1.8/test/unit/ui/tk//usr/lib/ruby/1.8/test/unit/util//usr/lib/ruby/1.8/uri//usr/lib/ruby/1.8/webrick//usr/lib/ruby/1.8/webrick/httpauth//usr/lib/ruby/1.8/webrick/httpservlet//usr/lib/ruby/1.8/wsdl//usr/lib/ruby/1.8/wsdl/soap//usr/lib/ruby/1.8/wsdl/xmlSchema//usr/lib/ruby/1.8/xmlrpc//usr/lib/ruby/1.8/xsd//usr/lib/ruby/1.8/xsd/codegen//usr/lib/ruby/1.8/xsd/xmlparser//usr/lib/ruby/1.8/yaml//usr/lib/ruby/site_ruby//usr/lib/ruby/site_ruby/1.8//usr/lib/ruby/vendor_ruby//usr/lib/ruby/vendor_ruby/1.8//usr/share/doc/packages//usr/share/doc/packages/ruby//usr/share//usr/share/emacs//usr/share/emacs/site-lisp//usr/share/man/man1/-fomit-frame-pointer -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -gobs://build.opensuse.org/openSUSE:Evergreen:Maintenance:151/openSUSE_Evergreen_11.4/5b351662179f30d2c669336c58215f47-ruby.openSUSE_Evergreen_11.4drpmlzma5i586-suse-linux2,@J+ ?]"k%f=|3JُK.He79H?vzI,紧ؿ56hqA*ucM#7Io'0eE ~/A WaW$n.AJ nfQ\2m?P=8j,Hoh)S!'QSWSp;.m{`bovY)MAR{+yQ.o;ss]3LHq E@!LuA*)aajmd+/51Ǵ{75}]>sHx^-VntB\%!]H@ч;DuA?zMU߰k!9}6bX-mPUa</Y ͛%zYVHvK%kRkaD?(b[jp୬]R+$1 른 駠~ٛ)GrWYp|qz{fAeJSޚ#"zQsվH+oqSog$wY0O;GC8A./4)6Л5 [Mׅ+7J} gt({1X C9\;!a^R(K۝vt@Lr&;~o&NNS:sS8 o(Jwl](\@O66]uafɂvBkRgh?#?drz#j\~+ RC\ձ} K][? ,pN ?L0-| U""LTcDhH62rEfmʍ:9`3 /ͷ)c k%WW8'!.3L)Dhؕ.6 vV=)-kV݋AfuJ.[`fKz(fҎÊ{tuC(Bz&-(49k\F)܌"e ekz: /boO%:* H.i-}@$.__J5p>/hb"EF(}LV SL(\%yz8K>zct4Y\ ~Z?4Tep%5}{PqY(ƮfGV6ZkyA $-,o 5gQC%ID!kͳa4D{9fBǺ ~%*'0+<>TIe_CNFw}nD^#^(WQn iM|*P,,TY?q,*`ZC2xC; Ph/ #Y{?ZhA{%$?2vDz)HJIwψj47z\U*Ylrm{XZz2 f\T]o͚㜧\:uukHı~ۣ{XZ  rY هzp?.h/IHjV%7 +O d{wp@hBӎ(T'A\5o 6Mßy4̽褌؀޹8(7V`w'7V?HL|8ȼa.7wZ\Qڪ'0ȮCpQ$?ip_{P75#bBLiHyxP6w&"ȴrzK}nt޴sOp(<͘:DjYL5׬h7#;1:RqUvt ͙8i.DWu} @M=.C@]kL?9""+L4P59g#h3I_`M_;od[ȿv'ߪ\9Զ  5`.?H1Iq,3b+߽&)<'> ,$Y]jW%VwFuJ=DNI U>P;f<%B/"Фr?r1 ] R+$Qh]UGulRA>mb(k>Żcx Ƀ.]hm!b]K݆˫26X֙'#a!ߊh>T'l2|o,0; _(T9عRcX4ڀ ŸN.$(yέy]CmƢc@3 ={W*<Џvq$)Fl2Ed!U89T޵ jw-}ВPL%2J07 $]%%[Qcm Ff,8q:gbp) ŤzC<bdhx< kjx= TD0Q9 )j^Lb{څ_].5*j8naQY[vZxF6Cހ.)陔)qae+"XJy$¦Fż(?cDgv[&\^]K2&wQ+sGQܴGc|װOH# 7&xkc88u1d o b]*`f<`bٳFj/!"+Mj3r˳[O#4.QBQV[ƽbd+ ͕?zK 0mf+FmU:oB&CfYIΡPUl+3jB (&X= HIE4 ~߲(DZ`mGvz78tuK-j I~yKϭ@lBddyȺs5ryIjOhֆūWƊ5Ep6E7"=ᡛH/ׯ)fJ 3'gGi2HoS _ܽ=9P<:NA =6GYUob{|O0%$EA uP@Z2r,Iٖ:2ubz}+(BBxP\.b3[8y"Kimڃ1n2H+ZrWn 1d:C`,hZD5"t'pe6Ӈj.3eJ³DD*l[4Fr s@E 'Lm!`~lh5{X1HN"I1MyogdS_ TFd (ȃiF~SI@3n}27m}qIz5 d⻆R!+SE+m6}FavRK9iVe0xy\%:EUȁAxo37q{OzN= 6P=0?hU#bg\j$OP 8߆9o5loa ֡ b9}s"5;3yu[c@SٯiLɵ98kOEiL?)aA;Disy>%.Mw5oڮh,n}kB%OeD(p"frFަ?Ʌ5%6L/5E$0]! PhD}C~Э%B!) o  @/Ƨbw qJ+[f*QtwO8oZXM^Z-{Ha۔iwUlv/+pò0 j Q- eQ jP}wC 2Bl y= {\+(@v:ęwp9}HHO`b\1F=&^y4{rTzη^\UEIYfc}G6sD@DS<>RAf]- .xյwD s&MZutݙKj6ZV05ҁYAenp 7/th3Vh:Isýbo[4--j6=0GW! "Krdl='5!!Ö\ANa88󭽶> 1 vG& Zԣ@@ݏrUDeNKdϼ jƪ*yX?Vpw)h=_  1G5(N٬lCq.YK=Gŀ=" VnC3'"i8pHgE1nh`rz'3ûF~e_/!&yHE@,ɆOZb;0lpGP]ٖFK=oe nN+Y\0#’2An*f'zВ NPha\"8` Kl 8s/yeaa4craݺ1v;eMj$)kXM Y!=̈e _"DXp+hifPU!@"zѾ qo@梭!ӎHP%`Re?Y<# ¿Y'6{5E""PL:377QC '(=9ZA#*˘zzAHe5o\[WH0d˞NeNP" %`vx֣M[1F.4QGD׭fE!S¯wuہ.n6<zG/;Vf_W%Ѡa24B'hADRНuvan{BNdQt=x];NGvA꥗/aqM%[bQIԉ:c\Ӱ)-`e Q~Zn,j;@Kx."XU:EHPͥ/+)Ul̆zoQg+J8 Dr>>POZ, puEmBۗDֳ `(PSԢŐTMC_0z^>W( Ug3agj( nD*矘>9 maL}'-v{";W}&9#-5ZMt cᗶ 퉺veKpdS,1,^%kC%.2$;1i2[0tr8_˖J#'"؎Cx43qrEj286K͹0/Pi2yKĸ mgLbNv܊;ۇgyIVF|G$L +G sVIpe,ٺ֦֨9gпe~[Vdqy"Qbƴ޿X 5N|%H/ջW{e|Bmsтa=UQʼn-rsiCqj۬QajĒQ`+n"'C@GOu- l[:n 3@-3:`y]aVᚊazqy匮Mf~F2yd0P10٩rI KQ;7 Ŀ~,SΠ ۮPqU*[6*ž0H|ߍ/m;5}e[:űXd05YlrYTYD.HrŜuM먕҉M:O:EOL~na&sSTe)dm X!u<\^kv6VKT_p@;y0|<ޓhKj&P\KwC0NfO\8Є3X3J a &cO\])jàzSt{w%Ҍ;I=p>Y2?S4Ixvg϶%w1ämU:LX^ܕ;7..&Q0qu6wW*W$1lWĬVM *^13*r΋SBU[/}εz`a7 BWM.#~_1[$2\ߏ@95Y@/Rp[a~()"Lp4Z"y=QQSJQzǘ*n Lh4GV>T>ɨD%w (Dl'pH@})z\]szf.7BO.9OX6~~ݪ|wl]B [.WLAhLj=E7 %c.Ocm]ߙ(f:"KAˤ 0oD~:164UiTM.7Qt;$GEtXY1`&>E,:Ffz%=`fưUfx&>G6t r+ c^43zEo{ދ99__-XF&&JgV|kvXgGO2V_d֛%ҲH iC4O :sÙgZCQɅkQCvr1GΕ]RHͪJU-?] )V _$^_!.Vhţy}[4&ɤ3l:Ư3ƏFN1[!۳(O?,ɒg qjZa/OPi=᧘\bJ0iHMxbL4籪[o2kaBFNMOkEf ma'8Z͡#(ܩ>H$OSFf\@^-iµ8Wh5Tgx)<T2D5TȂȜĹסFwh ;JNA}dy||s+R?%Q&mfr^V2tG+9fx#$V^pu~Nyd>!=w-RaFTὺdp/}M`=yn'gUC| Jl\A !X1} 7I6MkETYhLJOxFS\Fnۍn)=x7"8TטU--?ɚWv x!C#a%)is43>/Ѻ,lNe69 uwQssVP-DPm<j$#oٌ"w΂Ԁ}1AE~,y bhp@5< yVx c@[5Fй,GD刟(t~>E Xyy&l\sԿ9!ђMB:xG īlw/IveQF𤵝~n̿_;/3+?G$L>|VJ%\Ιj6A|@9Q,ݵ[teh|V^>X18ꍛ I-OEæ0#Tamˌ<<wS5G{y!tH5xK,9 XY׭لĀ7"wTd+ @s]Jp{iYi[>iR- 7٣xEAy/7<-*!#V滴$R)~; =y=MZ'3L%’ 2&UcRX1MQDMڬޏnTq??*dZ.j B!xɠZl95͈1JPĆ ֆ+MyDGbQ/і%02""7ߑ˜4[K6{h?CX RbZ*EOz?rsrv!_C'<>EҘJ4(e?K)JY&|ɃgFCv5^䩯yDzYɡ9@3fxߏ'CATlIʱ$ܼiظ/MyFhnb~Bj‘ihm<.HRSRn7T,?&:6]!rV0S5p!Y] 9r#ߍWbc`^*Ԉ>MO^Fgwk|0$I >ӷ$QN$ݰ9 pN"Bbb^JYom jer_ u$_Na Pp#a@u,/Tc@b]JgTL j MNB垰4I -|f6ngm;*Xگav!p k1ɏUo$ K] -pi N"UEN ~hScJ Ash)~J[uʜG,i#@idO&P:6Rk$f8DdKub盠>Wґ-/ $Puо"X*YpaHsՄM0/~3Yk^~[˛C2DM;HNUNljN s* iޣ`?ZMG%=2BѨCpLZg=rp:rV ]^4׊y.cxݾ|eK,fV>{` ۓ'*=S.X+o ; u!SCJT)ϕ;/s:g- q|a wdVuU`8 6Q>OY#tExLC2HM3&G;(a4\ʁg[ R$PHjNjRbGQǪ/x'uBg\!z/*IfY?C~eqv'&FUBÍVaNR_L>vBe"mn  T:G9ytѼ֧{񍣪pJ~tDx&/C9`f~$8KĜC:dpnsߍQUyF.fbS+;%*.>@C` XW? q0> XJ۱aOq+ǣw^5+l 6v*I8hn=QamSXK Ge-K Z=oV|ϖ#]-lxh*RǂskEB4Eh.fxVHVZZ/v$׵dGi#Q0BON6~9^UZ0 Qewp_*kOv|MY jpM,pUHy ٓ 8uOsŇr]u o;&ח (r"FlAu8C?hLYr@g2ZPM R<]ccAuc Wi*ڻ%T  X'VbBP-K Eb7"䮺 qp/J+yG%K2 v}m5{(hl uO{p r=%Fr+3&rhA-]fHg=^wďd(K 6Ox | V l:Qi$H_yCL2?5 SA 䔞.%$bڡw 㒃.[ܒdЬ(mu" b-.@}!4-V&mJCvf>3oZ <@9_ 3?GT"kBf n6MS은 sۑZ8Y>0KUoK94|Μ98]A\> ]/{Rd}cbbZYxHŶl\|i7Z6WgЈ9AT"ĄIPƒ .2M$ 䊮*C)*(Y hM^B'@'r+9R $Y{Wd7e3]F Rͺ 8&~ ``Kk0It}_u"!S>xxaoRܙ. M)T_!![IH;K#z?>WS[ӋQ}9TlΑ}$6ä́5^ܜ mao={I#-]ICa9WIX M@|M2XwKg}i#E ^F!_8oZ[cn-jlJlgP~F@#11ʪq'cY7eaւF&-,k:/@6CJY(?g$DBҷ~LV;l dr y$9~{np&|S5NN0|.5¿\#K u\dTqF8.8N M,zގ[$38ɚ1#1L,l:L5 =ˆ%A6-\}!}e'Xz PsCvAyx4FOz&嶣jR2KWM;e. -]磫Vu /CaWqa#=% vG(أ%fFcpRНW!)t ZRD/m*\RK@|!?\ʞ."()Y@:(\t=ŀ8>(E l KPV14gBG@۪Da]GYܸ}ѭˋƽixuO)@"yg9Tx t}3=Bo-L„f6榳V6cg|qMJf܊x fydCz|DD}1z\ kU?lbD첿}[lҰ<yK>mXw"v5+CȡSaoHqjuH?Шq1U.lC/\j$-GbW*%A`y||MPcuh10^>rH1bx?7M ]ӄĬR]"xMqZmw͊4 t6[IM[C7^Q]#dww2TcZ?LTe随 3=N|2W-z2ي}`0rt/Cfz|NL]g*exď ⛞v+1FUn Xm\~*te1dhb-`_&6拉)]ՎoWI܎͋U7.ҷ(R+8xMa`{(Vҭ}q7AԈ+pꋁg.AR|o-1truY>?(~\;VanfU`t20/+/meP7Q!9?[E XGd%IDu Fɝ*SZ,)B4F^2lY܎ƕ:&JӁi@=Dj&DKE[3Cb"jx^"hYʺr$>mG\P 3?ɛZ/< V!ivzesVV<EY~ gξE^ϔ Q-< %8!r}Lh ةV>a+C^O"9hP- '4WT^9Tŧy3ʵU3v^ *p+%(!ܳixXN '`66|0rCXhUhxxH\H:122.EWrٔ<5 vn>y4xɠhǸQml"t[HfaD6x(RZ7@Ֆ?{\) f~.x//pZ{l&+CȧQN^S)To4|m$ͦ#T [MLh=ftj/`}|V,cO/cSJs AgeAB>^x3\$?WKo̚a=@b҅پt[m6rcMCk N bu!mZW6D`%iH/ \8*ϳ/uN-ortn 8sRvn*wD"B5pig-)LU' Aj<,H /ֽ``<t=@ˆ"\A/Q^@2Og}íN։h3L\Fx>ͨ'I=Bh^.]@NVO_PqlқCJzYSњ?. 2$i\R܁La+|w|*Z*O2ӧ{9vY%hbyՃ 1?Wz϶ NTRR@ D #(Vf =m44K/~%y:]M㋠MOnM׳pG 8{w,!ff:iNS>gQ/?wJe x#z-F #^P@RR#BJC=',|+seFXfUs4Ns7܅4l-i`sf ؝rټ5Ӡ?CK@.,RcSlbsA ?k'Om Sz,m!Rn SMӵ{͒,;LDߐ,jr8g53T0/Sv F:FR% %7Ls~k3V;=]n%Mtt}t7x)GW92깺0:iN|nn?|тEq/DjxԚgeBpwƓUzDJ+i.__UF?|vn7'zAVm6 z{'r`_ b a 0눹-7$m҅)WA:i!v'IwJ܎%2:@lwrRiGj(zN8ЩD$g ^.`")ⷁOfZ?/|.F钛J-[w~dt @jՙ!nfr]aWWH -d:vy\}ϼCDKҡ*yv0q,=EеeYJ!*lT(y#5m@'Gb7R%2xE[.T6SUd{XJEKx'$ͺ@DW[۸Tcm奵?F@OwjIo ,,|gO 6!j(0c ՜XVT=]a2%zLt(- 3D?KCc9{,.X: _͏H,P;CP,[N*HS{nz>˃l|Ux) 2E}% BgCTSGvLlFp`a=2 ?ICnSSED$+vTQ_ެ]Kx 3t!w@ߥe!94C@FA:j5wa=ߤIگ*`ѦF<QyR$S/C&V#ZaƸ섗%'>R(Vlo64M khϓ7A7UeO=EljׁtpYx}&#x7irETњC̯@P䰈:mdC7U:m'J"[ǭXPUX .L/a"WN[R6n6\TEEտ,sP٧逯xHaɢ'N" mx^рaKJb\:b?i0r9x:ӢүRq>LnOxؚCW'v|Zߗ?(5*#ZߧcI˯Vժ$r:vM耊g#jj jWNb%a Io_yALK8ߕ Caa.w9Cs $W,ttƑS/ao:}~և+XUht"K|W:Hgja4(rNZHDޙY:)!7I0 wF^M $bn47뜀'aVV9Ψۊ%NRAWSbV: [T.Z6%(SKH 3OQ慊&(} gpK 5r[CfdGF.h^,.B ŵ= hq\ $#. W"ZyG^)&86Bm>c>g"V3"RXX ~Î/Q2!7 hG4~xq#G߻BW k_BbQs\/k#t)ʯv)>fd: Ycsd<n8ҍƗ d)xC94pcj(4|'20n)Jk}ra"L)YaLO^%p~1 _7FGvr85Pv8"Rl!O؅"z հjn"XϬ>^gxºښ<'[tnL¨cBݴ D_XD:Ԩ6TVsPY^  [zZ0%(i&S3,|a ]e F#?u;?SAJN`e=/!hw*Жy P5}t+*9{%a)̃]UTfgx1W 疎YI;sGBt;D{Ʉx_y :> ~wdbo UVS bYH[E-mDD%G*ϼ }ƶzNb%%() ]%eBux| %sXfc\9U.7c` 4a7GEڤxF+?ؽ 1dA'֕ `ƫ#PXc.Bf縄hJQ1.ڼrIuNU*䕊WPk;p ڲN8JK :!0% ϛP+zxXDgH:pGo?C!, tM<_z6nfkg raCÆx ԙ?^RHy$tyzH TdX.ZgwvaUE6Ź~6"^gDW75heG]1Ci]=Vg TAW>vC7i Y nP+eao8hiOϱc ĺ߃0z"m80LS2 KA7| kK4Q߿vA6͐AQ1ҸZT}EB{ER1TLF4wV\fզ!Q:䛺9A}3DyV'Y{WޫquR(ǃq~' MO Z[/S,.De&LCIʨc^Kr$aHϡ}6X-ɍ?Pw7꨹U .tW"f s.c&Ww\Ġ/JͺBqFK\: jK}'yRO̾dž(+D0AtAҪ5 ژRh)VC;S|Ÿo!ڏDWW~Ӝ[OIUy-˧u ~ 6X%_Qy uhe$g`I,&9*5s4۳CҘT5(ʰrn]ԀY~65v%w6\V^M\xlYqs[ X\9D6NFbF7.|^9<$gfZ-ukT1' ;udw!9ۓAWO+(z,{I:]7*TˁKE{A}2&XrUϘy\9m=@mqeڊu.Ǐͱ`x $;KMոa;]:xpҍZr+C+xKТj0xiIêA zj-4ϿɭNY@wR.w!|4`3f5H[>ߡ(7P*pL>'WIXjX~s1Ź7l'rKJ juB੪Eҩ6lZÊȐ .9dKqomRknB!gBjl'+!lƞΞq &, ג۪BWXjC##;}(:'+A/Hu¶֗ :?A2/g&  &_W*.TS'ri՝I83^wϵ߸!o }E㾕SGuTNlʔ ʧC8Q̠ŘrBlۅ)[-%wl G!=9C}.wE}MrrӺwy׮UGEEŘQx}~*vT tnmXZVV & p(Wд[]D3mvPS3m nTPyxaQM igWw{_`! O~}Gj\K3L&mʓ%CD"Q⬦(xN *.F&{`rR9U<%w2JY}O^cqȿsy2cF0o7wObjHcnU-wqtewWĴJL+EziN+jXi  /M1 h9&I ծ <ӅKF³#:qx7L\YORq}AԮ-vuViQ㢗(ʆGuӪ={*(c3$5̘| ZEFy@7\8IRU.*4C!t cz̏7i=SWsa~ ^ 5`x:P4Kb6M;?HE+on**Gl+ÀGf=eyνYĢyaT6 :ʤAa8-j.pI$x{;=A8חIHJ?)td*02˴/3È%.N(ôxׄƑ>Hs?< )qWB48gd| 8.^8`1#('RL|:p1;F`hZ`0bim's _m+tb{w@oc{xC)F+G &[!Kyh͝+ ~Q"/! X1MwԊS馋Jdy+7܅,EgSaO}LNԷ:/PJuY*r PF-Y:` ,=RGI#jRkX K2;QQ?-Φ LpsF66o6"Ty:[k'hR=p.$o |smm¬i"șDSԈJG<Rۨ)K%̈́1R G Yr}]IL [{WY(-Ӯ|̓6j,~ 91ɀG59}<85QݯD~L 9(p%HjĨR'Ppy?%|טEgqD*i< +/3:sՇ3G8q;;)/ zXE!9scX@YA|v5q Uv?O)Ue (1 u+{#u0@ZeЀ({;wagM+lxCݔdQ V MzjH+vYI56.Z9c_wjRo|{&s>.($IϯB[zJ^bu Ν[H@ yǴ >;œ#OF_u]R YJaOvC-@'f̌nԨrT/z:QAI۸9sէ¼ǝrcMCIA9^ی, 131fѾ+KYN|YfFƫţc-J!ǽ̹yC9JBq.ʾa=<./B- AL|aw)"&'zWU[oh ޢ6WR?f= l&];(K@G3a Q¦Opp]b+ȓ5+][OaO1ǗWܫH5kTBn` dS~.8Zz[;wOs-ѽj9X`:&h^ EBqZFԗA 泉c8~O09}Z~(dRւCMlT'&/ٶ}Wmȋs-pt/Q+m_BGx, ejMMh +#zEצ|0%(2C~kW̽ %uqyMrП0\^,zjWK@{UUPO`f !Y ߬nQ%;7Goϕd/`:z#<wHJKHh"-F㿑VL7/TlW84ǚ*NM(XH]Hm D,] MѠj1ӸiմV2c`! %x$znO}(Zn)|ER,pM.cU{ff.7%՟8J2,ײlOcw^-=ȝҫj0m&FNјHpҘ[I]: Fa.soV8vw)_VSVE%ZNW/ĄlU1rƭ"'$r O\LhN`PA91 4U8SG7Tg` M yxrULfĈ+++͎:) _[uPK* eEM7f|z|9o_cuZԭ8Ϩ/rg/3069nuU~e| z9uΝڷ*ugii]('`e8a97 tG2Yt[,.&h8Hʟrɤ.`va<wؑkQ(rc[yTn~ Ṙ'y/=r8A4E`Xkev[)0NR ;[Џ8E80lz}}E.eW  +%R ?UĕT( 'cP԰%wЅ)sF~"6e[>,^N.jqVs ʆ}ӱګ֨yٮTYï D{mܥ{L+عe=4wG:`PCa0He|I|_T >@}ZP,V/;æ H4^tpC @)jf?/j<2q*&;WޟKs^mq#Iހmĩ s꣠ӳ4Wtx|zD8.Z ½׿G)Xz 8݂U-Bmng%gڠo~0JP}{ڽQj#ʙ$6`0K{D9j(s|c:?ӕё+"޸~;lDGlf'YPܜڐ{ M@$x1VXt3۹S ,>Vt>X}%|Q;Ӵ@fFI,kk5d|AD̂6و ?<*Hkqߊ;9Zuez8m\xHL0LTzDM@UkZuYXezk Kx]nۆHc>!H 6T1o` ഐOYd%aA`©!=_hB)sŗK-Pt?tdM}ĹZ6yN;XKM>{aη°t" d=7ler\,>vұ J͏ei/7==)kYLf_$2boˇE~Mud/|=d"{EiUݏ^ (eNT l 5HzLEn$*'}t߻|('ݍS)}={c6|B`49S3&D#bJ&nzSAs0wL7^_?+W=_ơW?Cfj*kA8d s}Hs?|"o Ȣ f72QpL$Y\MrF[u֞pPǭvȝ$tOj@/U B:.^}6u<^D 2۟\K7="Մu 'X\Q`ց?uΥH֭~)ګ)SBpNg*ַ H4RbX $ )0.],bsjb85ἂL݉+jAѳDEXtmz]Sw5Uh1C=&9w֏=@P^)0 J?/ y="P2cq#eןt<vDmEEv/3켓qa{eXnzO c~8_Ͷ1Pf6^ anҠ>#) Tĝ!Ff-Jg?>< guS m}!V^LP!C)WJly-R|n:sHVD[ G7v /qJ,ih NJ15oږHGEfrH}<| ArvB'ɖA) g.f6dHqL& j ^qc$뭁 3 IKac6$:#U@((՗kzu& 'Jnt?łSxJ~))i|#1VL^;P2>iP!m<,mjX^sd O>_i "xtF݆^g$0d8?$.B8sga"mZUk;xoU UͨRi d8 Y]2gR !}>9'43rLl|E:c4 |( B={{]ޣxA!lD/+);T" kUmBdiBP;$ۺtXo)wonብqƴVjc>"4a䌲bQ:b]9A?%DupSXEa* lQOv͉!!DLSa6`(MuD<^\\B]=t!'AQ,\$Eq UcxRc8^˂!z\}f'#lD-ATQx]#D 1/fSƲb;2ѱ%_nHj*Cc6vi<9Nwu0&Կ,l4%m Gpxa}(0N ^߷pE9l%N9䃟=R٧a Ѳ$f;Ohi27eﰗ3)dj p4ONqz45z(  OE)OR}\,`XojMu,]{n0?C߷$bocYx_Yxڰf$ qi9\x}צm #3K$#iW}y "x >z#,@pWbr-]@ZDp#wk#⒆Vȶ;mEAm4d,fE)|mvXm|`/KoEHB3X`̸nCk`{'J0Q1ى*1AgP3"~-#c"wPw+5g6Hkם$fE`7 up?7;3P@s6J3uKL%AW$v;DCc^Wdʱz7>Ks-Uu0 c#d{tI>x$*2cF*+v0&'̤le20J@0qfbr=P Π8>*yNtGqO,*3AyiƨzD Ѷ]}P}*y߅S bLR xu;z=aNur nE m1S'XxC?Kv'm %A[Vx"9|0䌲M=d5ϗ'dqA-awskPN_k@/s75+o%3+׶h.6SIab"iR#@gUulf.'Z?h<fG͞F7>T!2*JaT_7L E-^|b$hYa MLㅰ_)y^: ݒWkqoNk;Er`GC۷}?[cז;]!dA]8/7V619/_hM9] n`/=Ng ϲux'(0n( O[} p:I.s=xvT6r:6޹yacTjMrFdIJlȩ:mL@S6`@ aoS)[98)\UnwM2x -+Lx]6ǩ$+ck^n7-:Wx  T@D6E"^/,p!'gÔ ]}NOS5R~E h FiLm&XDEUPUV \֎H^_-f^gN871YM.ޘB]kcuPh񿷲.wdnS<ALMK*I>|@]7/&@+GoᅅIOxޛI62^bC &neBG,CO;r|܂nh:͕,6 iDN;7_}qTȪ<%6O-9aOdg:GbەT2+N6:Fb[e0 "tD*3 $UAl4j!N FSmፖAлȼLǴ bDdnR4IÂW9Y[:/> FӢ`dpwJ"aj,4.;8]q邋ؐbp)Lo[G301]K|ćg؞WGhnuuOuwH(L+CU^{…mϔ{3?Q—",W f3vL7 =a`Ƭy>.+oJǚ =^vEV?z2?%<0qr>>mT][\9ey SeK)w7i4?ŕOn;4&`n[m<(ލ\k+xVQABӛ]9Z +n!m +C'fbZ ˋ/i^g|UTq>Sb{p{ac&𣜕C%۩Wr e5"ܽ0ਆr5MFYJ\^T0AvqZ;9]kGdd|C礁tf2ir @8J\8z!~rM+Gd"䀡 Z⪨f{A6 >㌽% 54ѐV \d8O&ol&ElĘf8}Nff=TN<l+X}h*B*\ZO߲FJؙ־i?MXyk D"卾)BU L&iDsTGt$Fwb8MfN{ZDkg˜v F s=PL<`au GiGГkgGy–ξ[~3o)31sKXnlVN]z($Zx}9-Q8ȷʩ܄t!c5vPrhHBl#{9.]J@8jH|,:O죵\FS˶jK9ĵJ2{uMj!gr{5!P|f8;G 82a`<~[#4(,V<j7 ?Y$gz+HVW"L&]u2i7ή"Dw%uNpؑRJەf x6\ F/qDTNjH#z6e8 02O]6I6wYT MUI1ٳڂ12i`Y޸\-Lbi~0X|_ "?xLiK n}3si, CtnZnUI^Gg'.nt#6ӦDJf|vaArB)TT8oe"\sM,dv~Dڎؐp0_I=?^B2}Q/1/B+ a}./"&.Mj':wZ ց@+*?bؐ?J{(/|vsنkZd?M,z /ʄg|Q"e^%V4“=EDHͮűA1ɧ4n^:5yF_)NuΚ~dOT^okP el.{h M][ |fNۓtgq.do_+bZnm"r4Rz\zl!ɣ|`kHe t$|YVnzbw3 'L_@ ^D/mHe;a'{>l[7LѦS)˪D#Zy?{6N3u3U[2Զ{=K?3cvSf75y<,!(4a2TACKToI+@/Y=x a O:LhR"*q":2ڻƹ(%e{ظkz\:g@DFP9fwQΠsi뗀Y&w'DayjHvIVIcLY6A ג|]Q!?+BAy$g_ DjL$6L/Y8h ]gG^&?M&ΕfC]m2^@W&`ԇsBFw8$ȸ)(o\π wRWyJVِEj5ik`kCGCu*$A͜/Fثp Dz<ATi2NGR,VHG˲ޥG=ӁNSLT@EùM1Od)Ӝ tGgV7E?Mᬾt%#_'"ָ6d4I ^"] S!|qH`&5N{V\E=swuzY&.؛<|^0wչavJ\0ȲiVAj9]\ѵ<%2֎ċ>}Bt i^qgcj5:/s XS-Ɓ,VE']-[Z˯ k & /V 9nl͸`&#W]e ORx^aX:*b?skOy=*\ fyZ%Ũ,CYmH{,\;)W󵘒=h}.ipgC=Mx>_Ɋ'4л>S*"8w{{v0 ڌ0sCA/)+=!^+eϾO!BϖXUo̖IxpVkHG)XE'ybJ5h疖&䇀6"u|R F w:E=FK"c qRxca>V9Rh  -6V_h$` igA5̵*,ꕵ&gJ,fш~^RcCmQqqZf3c` yv*U?U`Gx[Ӝ=rMJ<14i7-n္~Lv.?B[pO%6DIt b_AOP؂?Z7bs<=-O޶ADԕNG#PQ7V$\W#]kHqi +>H.[CX& lcCёܕd@_{=8ba"7q Ujڧ^ҙ|S0&r ErAG EQG\vcK AS}:zW'%X&7]JRir*(oޯ@cd9yMJ@׏X`rgzT0\Z0^ oҖUd};C ntWN^ zNoidEby!ޔ9! `Li@|\% W|@45z|8% 3('(ħ# @!b'W>'!uwf3C&pN47M {#(mB27%d(qt@6rj 5<M ,$O^#M vi Z`wjn,<\uH fT~a> +hZEJ!dpx@حy!)l1kq?[KX[@c+y0jB@ u$oV֜X3e/YyBm%"_ߵt Tʺ%A'uFycp6/"M# I<؎N Č`g5"M78tݪ_C M,gy9@d#T=fE<~>p˫goWs~=Њ(H14Qݝ~JA]OI19YhD=HAaoI'rC)%xBȆ^))rKWFHm %ho\bJӼ r Б/efd ycaG[:~%6FШ4Ӓ&oMZ5 B'Wz}X(6|w-D+!.L3¬^q0r{E2p'[ RH8q@1B\*| "B"  o)Aӗa[<_x&4pׁ$;̿9ꨆJ` w Í)o?/ en굥V2\SZ"2]2jEOvU'R4 ˱ylp2;kf%f'oӋ6gebǂ T_&\Ke{TN(˹8MUV:N[a4씟Nn_9TJsB'SKo,h^x௣^2uҎjp@#vm20ҙ@햟H> NS._=$0X|BN] $ Nۓ܉L~"jMSfޔĖ@Ge=-TA\a]ڔD";՝{X+L;4MBʤqbUr 28ʕimWk|ۧʋu}Zٕ\ 偱q#:]jTz1eXho-46z*xə;EyκnGe P3rtyal4chsj`d~N^um!qIPHL*>Z:n57"OA0Zq . [ưi;G "+/&A:*sfr-IC =yΨ3 }:ؙ< 6п[N_41u= -YUU+kn; 3ػaMa>ryN$`%߈Uer\K]T &X 0DfmN2Xxa#FXIk[+ޓ +LG377\YI)y*決ջuVb}w0Yg,ؒ2җe.g-q?2P J@?jT=զUa'{Z}q_fC a YE6ҿ:w+<&֞wC!" E^ ΁~~Ri;(ޠ| ;(BWB';AL_+9 n)vu/pVӜ q9O]Pbdc8kZ̫Ɂ2刔ktkL;= lƻeomh5I6+ި[ŘlgxvXƁi6[Q *хXgƄ!Mv .ꦅkuVo-;{~"b:FNv4(N R28Niu;&ߧ$S2u2<y*A<  ֔BvUm%pn.64 pp:l6*v'SAZ[{O+FMBvr: t_jvQ$409k؜8kUb r5 AtE g!Ű~1D1IOYeF`݌1s`0-p<񮺂ЬיN~}gsG:~RMԕF"F :hCyG ^_w,އ]͢%wSdcðc-NqQ[ ˶QQ iPX;!ī~鉇*9L^$*cɰ)Qck?BE/8q~άD|X%?p گ Wc\(XۜCP=*$X僳|u]hV'ڍ7Z #5)B s,)$er63FS\ kF|o-!$qnXV'ۖ zZl NiqXpC4ב5wiHTwBS;?9½9 ,WkrPۼl%~iK|ʳ+"'3Ghc(l1Vh'@ܝV^ C %j;D9HfJ#o޸VUZ88a` $,+܂ZRA@Ϧ@9I;Fx EgMvA5/dYm?q`Nbk<8: M#vIyS?rO|och?d8rȶ8. 3~W?k|yȹP6!/|#a @b1c 2/ό-wjLr9hAyfaU1K74Le}|*;A-c ZE|mNĴ+ *Q]WO