ruby2.1-rubygem-ruby_parser-doc-3.7.1-4.3>t  DH`pY.꾸/=„tTNӀq'wP j6!RL`KkдAxc%65ъ(`q[[`&@q3^~ώwnVy^V*/ۅS v(DϲQU=xf)29B :h:! U~7.m7R[XE-@ΕZ=,x R1W^}nfbTQ洞89100055b00631f6b635ff04d02debed48c21b26nY.꾸/=„ 8c8<L xMA^ɺBn P+%%3EbH׍wS?T\ÕGAE-eY-e!'ld \m=4* =O\Lܶya{sn:37ulQ 6FsRK h~0]Хҏ@,ұ Zb,ġ;r:]g F(O愒H/[mRLd~a̹΂ba1h͈q{Bl)9 L>9?|d"( , O 17@    T /  0$49?f?CD0D@D(D8D9E@:FFuDGuXHyI~X(Y0\D]^b8cd+e0f5l7uLvwxzlCruby2.1-rubygem-ruby_parser-doc3.7.14.3RDoc documentation for ruby_parserDocumentation generated at gem installation time. Usually in RDoc and RI formats.Y.lamb53openSUSE Leap 42.3openSUSEMIThttp://bugs.opensuse.orgDevelopment/Languages/Rubyhttps://github.com/seattlerb/ruby_parserlinuxx86_64Z) Zppppp ^   "  $gn  G  P?+    &    E        /   L.jAAA큤A큤A큤A큤A큤A큤A큤A큤AA큤AA큤AA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤Y.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yY.yb352ce94631148d02fe39fbbd90a7d470315c36c5a08911f39236e8ef0643ad7858b44e978bd2e5b4c2e7ae6a7db044ab2858185fa33fdb224c956a96d0d054f2e62200e5aa163a31f996addc30d4533d88e0b33a484287f2097930ccbe7af5bad69a028fcfa25af76cbba78d3012261f6fccdbd8587d8077198086d9f0121c61dab43bfa9aea505af9c8fbedcc03a7706d71e41cdd8deb1e889a1ddc735da94202146dbab39359fbbfac9487de520358a9f55ce9dd727b601521279e5593f6512112b25028c46d49e67bf722532833cfced3043ad5f8bbc4e63b2b97fc154c66048fca8a26071550e4dbdfb2ef8f7c239e66e2f6180eaaf816d3872f3e159175fb818d6c0358280a46fe629e0f163da0ee651259cad9b5d36cc4359b2953e8deb5df19c3ddd42a786da6c66b1425b8352e8734df29a77ad4d72dca2d0893c0b5c9227a387f346f6d0d074c9e68503c1d9e79bfad99cdd23c5dfb4d95393a62f4fc05928db0bc177f175b858fa8c436bc0695ce238dd62f8cd4bf4c3fa2b58dc8ed2f663d07397b12bfdf990e8ef1f3799ab784b3477898556c8772ef8598b5492739720d6ceeb3712657d9083ac2e91f918889553457a7f4d94562180ae53fb0e5d3868e2941d41388a7697c937abed13f61790ab75ce4729dd928b751db09b6cbcb9361eef3f1cb9bf7c84ca8fd3bd027ba27b20bcc876a59413fdab6ebf257f2d69253d3d456ae26626d0a949e47dbe907f0a2bd01396641d9d9a978314f8cb75fc8f261b98c8384e31bc1bacbbf9881d3a4f03e44e9d56ff60e7601fdccccecc630c2f556c0aadda98d2417d887904040662ece7fb7f3ecf4c88cc249dcfaa68bc7965e203bc150bbf104d172a08dd3defe01bafaf7688e932d8eb09d4c1eac21374291df775692d46448d20ddfbb5667ffdf7a4fb7229037b1c8ec59c0a33b4b9181135506625f0ca36e01f35a92af66637ebf799d4c519335b5bfdc1dad3ef15e5534067ed1d18b56c4c48d25ac49a86e1ea2b6cc4b67d640268de536de56240343d20576a805ebf8aee90d4f9fdd020a93f4834cb5daaa935b0ff871b257f70a8d780fdc267823b57f5fdc8acdb924e6cdf1f8ce31afdd404eb6786732d7532b3f46dacb640bf4b4c5e680b7c179fa2b8c374395a4668cbad4216d2dd437ce105f13c42d12edb0a25f19f925e44ba95110fb0c081f95fccabdda880b9bdc058db97d61b1e5b8196a7c66b0da7fbde71296ba1a665d827af75e3cd19d0166ad5a366695c878e73a7dc4fd0d61563c26ba98ada2a956917b795cdbdf6d4a6b4b86517e6125a03e438556c7be06e0fd0f8dd1836a946dec82199528b545036047fb35c64756b4f303159778823fe7b2dbfc5dc46fef0262253d5709e9e35bad25633afb0d5257766aae45d4ed071f8fe8461533fbda40a202cd0d37f91496ead9e75cf16fce1b28c0a04b801f23dec149e481e48d7c72e007c6c9e440f710422b43c56f845e75ba65ffd7c317d1d162077adc9f934c56055f4f51bbdb40ce7b80b1b4a793ac860faf19c7f6722613fdc48f9d81633248aac6649c2c9695f1cd97f31e29b75b0eb5ea8cc7a655860b07377768df54f65b220b8f9c0cd574a9d114856d587d2b5a935352c1ff668c018f92c79c96ec1e54915be3e0fbd48f6628355529d7738f29940d7cb85c83954d371c4b5e2d740fe0ad0c7315aeff1043abd43e3416dac8a8333c3a4e7e1465fc4506e7e1e898daef90089f8589a9c9e5a2a667dee5899f7787d7e0c53ef83cc8ff0bd4e734416a55545d145621321a5bfd9d5e83e5f8d5c970d8389426b1f9c0be83ee72dfd7c72657f1fcb9e9dcea067ab59b296e99895697a247ffb18b813f6fe8a07a6f81037839b03aa24bbc74873ece0189b9eda38ab74354eb9cbf258d49ea3a453d555c11db8d115dc280eb585aeefd2a35b6b35738e14bc56ee471bd4b80092924f2fc28f663e19af585bb6ced772dffa60176cba0f7d0f17de7c5349c43afb56e11e24bf618df2e095c825fd6876f9e9f412c4be88392622e76e3ea5926c9de21b1db31c76b2c54c5b2d1bc4bf0fc4756b1df1e8c82d1a3424f4096f5b1356fca50087ca3a53d2bc5d1ed58cebf50fb0e1c2c9ad5ac044dfb417757191912c2dfaee185bd3098fff18a845dc4d0f5c7541eb9bbfe38cf3943b0b7bc1a008336c8341077aa54ff36d7caf1f7480ebb8c1d150cdfe4cfdc7d1e61709bea28894dd8a422c0fc3445c6bca285205c75f64c5f22da7e1587dc40c3a67811b119e7ed64ee86d844b690cf64cde0982971c615ca15612e508ea44ae35528957a29968c51b66887baf157d96f6a644152ec1c4da44bef17012f2f2f57720682d8507a3fdf55cbdb5300981f3c9c70ae3765790d98e0a30c4077b3fbccaa02b321ae7c3a11081f5072fe25e90fc3c769989c7bf86154b52c824f81443c19ee238c93ceedbd3f0601c1201e42df85552ccc58299e9688414a224de36cd2e246cdba6926d75284e8c4e8b308fa7d270ec4e72a20508970afa9ffc0963b038ad1227c9e9e19a26fcfe006da2f3a71996d822f149a8cad3b8b34760f9967c782f8f1de02289d494346a983000c0968c4e2574a5b5694892c8e37439efe6c849a2782f9e1403ee89362fda990c233adcdaff1702048c0e722a574976aabbeca531941bf48788cfac891ebf2ea4d86b40cde6ccff01c2bec10f3e99c462d36887ba40fc44eb417bc20542f4f493fd784394e4ea4383954402f5e68e2be65ac1574bc45c9e682d33f45b9c58eb7033ada4243f19ef35fd2501f39eda00e8b722ce4a561498e1e6b2ed15b38fddd14c22364e75e2ed6135ad16fc789f29d371a568322cebe38370eda1a8675a4c9ca5f5cd252e2a935df2720df54f8e84c0620abb81e56a81a5e32d695a752c0066630b6ef39d08f1b7d93f69ed3a7e42668e74dfdeee04a75038634140ca4234d4e8b0f0e99fbb4c2ed355fc8f4f82c81abbecf03dcc664a53c8796bd1ee3b000bfb0b923df2de4816b1e31eff572f0d5f2189aeb0b48323e3979e16bf58e1279d27c5ee871b0df24f27c11a4b7fe7b6225e8a1289a146d7416b5df29e6c1ea8d9594b4ea431d6f3508ba0e365ef9f9868d12eca3ef0cde2afd8a9970f6602c04421a455a53ab2d7b866bc4787d559cd6f41138836bf0db48895fe51cdc54a2f9a8431ecaea26876f51cf3190f981f3b36a278d306fe2bf305802f13138e6fe7bfc1779c1bd3b17760ad0fb120b71c355b344a93ba4d6ded66e97652334ffbc83ba4ed32545907106d49982844528fb5278f8df7e006d715e1b794cef7d535c9f465a6a149ef80b81e6a2f293c4136f08408227cb985f851e7bcabc2f87118d36a33f86c2065837534c35d0e6776234cbb1e297418d0a781a9ebd8e8bd57cc124bf6561dcce5a70a3c32ec7abb9838c8086a559ddb23c47da19d3e1948b84c7372e9c8d3bd8b79ad3fa52abda9b29bed5413b057c7f797dca1e644331fe1783ebbea14907201b53fd2cebb9e957515398f22172dbe1d7bafe23c0df0fc09cc70feefbce068a93e95427c322395c02372af4e5759243bae57d3b9c0ed3f2b4e68aeca268bf2c672a45550f1169473cd882c8db603c4db36c9e894dccec673d60b69149741631de71d3b65d082b1a9087ba89fc215b41086fc3a672ffd08b5ed6e5d902ba3760334b672b055d133db4d7d9d0e8025d7acaa2d48530591131610f7160a08880ab04bd421bb5233071f82b9ded489106cc975c3945f01a59b7d96f4376024e3ea44a10d6beca1e742e085756c11c217266bacb35e54f1581dd710ab9570a922168cc240b5f6277c362f721ed2aaa47f05549f4c506dab6f3897eb8eb0f140676695ddd63937fe5afe719bb981b4c369415e9cf2c7cfe41a89fbc45a0875f0b11a2d8529b2f1ed43e51a3b9570144339190141c5de6cc9b635ed751b6db604aafedcca4ec1718f2bde84308011ad5e42cea37acf55af47c03a2af9b8ddd98cb1a29f0573f0780386e77a925e66b8d1cd1f6229bae2af9e0d13142bfc6bc43a968836d9d4bdddf3aecf4ad2ea28d4d2dda8f78dc731c5a8736b92aa323aadedf8d5a285cf2d8e9046bf24e2948109a4c365616c24008baadbf6284327cdb59875e45a017627addacb4d99606a84e56b694e35037e567d064380aa368765e1f1c78e3637505d58d718079702e29804295835a7880a23eaea76703cbbf25bdbab8cf43ac398b37bcbbee7909e1d995964683eb3356c23d2044b89436e5b69c6a0644cfa5ac7aa4356bddfb6cf629e737743efb9f9dc0634db440c3e2a9f6b9852c50fef9ca6b4d8083d72f96d3f6f38a62b34922d9344f9ec9e3610770b2146b8abb0d0e9d3db79905475fa9bcbe86c69976c70a38aa4a9d0f1923f24694bb0ad32ab125e8f503e77d05debd663842f903db17633bc68e21ebdf65846ebb48f3b869180160b3533bc72b1bfcd91d59c72507ff584ea8b00b45e2c61e4a083bb62d81511eb51028979ddd1b7989ce3762d2658328db9c2bd1057ac0e96b4b08faf47b59ddc99158dd606e73ff7b930f096eb334bc2d7835ff02448aff7ef40b28f4d02432816cf8cb03534c27e8d11f3f85acf01b8a0a89f9ea2334c39a76b68ffde3c5cf5162e3ab99159fefb96fb2a3ff7a5089171fed554213f62e81ea1cba75325c4d061dff5bd421aca2bb78e8d669a57e48921ec9bbedda29b1c6bc0b08d2da9250ee5afdfdb7544c8354878dc2a36f06a8ec68133fd75a30fe22f6bf8a43d714e45310d8670da27d1759c9ed04f7a27e102e0c114d930b976c305c08e3678db938a53457b502315752a1519977e36161df8d4274d9745f53823d37129cb663f04649f1b673feeee95a5d76d6ff7b5b84336e6132c15f5ac0a396cae8089f90fce8716c2c586c73776d9f05d864b598872d05cc779747ecf58fc7897de4f9e1c2b95e05b7b621f00b4c37fa45c91fafc8cde5b27f29ad9322e4fc5d03692e2e51c9508d7aef78a2edd7b3e262a952b48bb86349d9a1f06a450df1490b76d611d597e45ab4f25f2ffdf98df78513edcf6df81bddd63d03e9b956e3c06c2c65211ca10b0d60ff431062b818b318c8db3477d894fecc46470d0f84116f54faaa8ed624d39f8d1bf5ea442c131d8774f4880305b595f37ebc9be66b46a0f7702547e447dc113a41943588054f4a142280c22c4ae86c6a3ca1449f871154656f76a59e2a66906eaf58a0d8ae12004e867f5682c6982d8774bf112cbdaf947c0071140985d7c1d0b300d4c39af4f3e445cffaba66bf8e9c15884adb5d84e24ba9e449469538795f7b935ef03d22417b0128cc5fd3bc2f0ff2c96f4e3b20a458d098120bf2de002fe3454ccc2221358e86fd129625fc142273ce929fde422388770c9e23b014d91f384af49693c56475dfac7f696c5d744231c48c4d967a88eca7a60fce6b33cbec038874846ad067fa3dbbf54862167204063838c6e528a56b22f24b5f089c139c860ebf8df4a5ae90d0e838e7b9330c5d5a3ee05b1b59da8e0b8ca158e10a041ecbc6f9446c446170327ff75075e01c1b80dcb84eb887f3c87f4379ed7522c3ca40fa0ae7bea21ce7706521c43043d2cf1df7588a1a37adfa626d0dacd3e03aadb6cd8a108c30beac5c2ab48b9da1d4e24bd708b71aa29cfc925f393dda8fbb9312d17a36524275eb503fdea96rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrubygem-ruby_parser-3.7.1-4.3.src.rpmruby2.1-rubygem-ruby_parser-docruby2.1-rubygem-ruby_parser-doc(x86-64)   rpmlib(CompressedFileNames)rpmlib(PayloadFilesHavePrefix)ruby2.1-rubygem-ruby_parserrpmlib(PayloadIsLzma)3.0.4-14.0-13.7.14.4.6-14.11.2UĝUhTU-@U Tء@T>aT;T=@T=@SxSAAS@Ry@RQQr@QHS@PՠP@P@P@PO@OpZ@LL%@K4@JlE@coolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comadrian@suse.demrueckert@suse.demrueckert@suse.decoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcfarrell@suse.commrueckert@suse.demrueckert@suse.deprusnak@suse.czdmacvicar@suse.de- updated to version 3.7.1 see installed History.txt === 3.7.1 / 2015-08-06 * 1 minor enhancement: * Improved understandability of lexing postfix symbols. * 2 bug fixes: * Fixed timeout caused by regexp backtracking bug w/ long strings in 2.2 parser. (presidentbeef) * Rename DEBUG env toggle to RB_LINENO_DEBUG. (tenderlove)- updated to version 3.7.0 see installed History.txt === 3.7.0 / 2015-05-28 * 2 major enhancements: * Added preliminary support for ruby 2.2 syntax. * Now writing all 2.x parsers from one source, generating racc files. * 1 minor enhancement: * Added RubyLexer#process_label and hooked it up to "x": and 'x': productions. * 4 bug fixes: * Fixed handling of block_args to be consistent across all parse versions. * Fixed lexing of label assoc args w/ newlines in between k/v. (jeremyf) * Fixed lexing of x?'':y for ruby22 (not a label). (presidentbeef) * clear and restore cmdarg stack around def args and body.- updated to version 3.6.6- updated to version 3.6.5 * 1 minor enhancement: * Add line numbers from block comments =begin/=end. (presidentbeef)- updated to version 3.6.4 * 1 bug fix: * Removed shebangs in tests because of bugs (aka 'features') in RPM packaging tools.- updated to version 3.6.3 * 1 bug fix: * Fixed bug caused by latest version of oedipus_lex not exporting lineno accessor. * Handle return/next/break/yield w/ block call (WHY).- adapt to new rubygem packaging style- added gem2rpm.yml as source- added a small scriptlet to fix the shebang line of the test scripts - also added a gem2rpm.yml for later, but did not regenerate the specfile just yet.- updated to version 3.6.1 * 1 bug fix: * Strings that don't match the encoding of the file are now returned as ASCII-8BIT. * 1 minor enhancement: * Added new_string and switched all parsers to it. * 1 bug fix: * Fixed line numbers of nodes following multi-line strings. (presidentbeef)- updated to version 3.5.0 * 1 major enhancement: * Added initial support for ruby 2.1 syntax. Doesn't have numeric extensions yet. * 2 minor enhancements: * Converted ruby_lexer.rex to use new grouping mechanism. ~15% improvement in speed. * Various lexer cleanup. * 2 bug fixes: * 2.0/2.1: Fixed block kw args. * Fixed env for kwargs and friends.- updated to version 3.4.1 * 1 minor enhancement: * Added StackState#store and #restore. * 1 bug fix: * 1.8/1.9/2.0: Fixed tSTRING_DBEG w/ f'd up amounts of nesting + braces + do/end. yeah. I'm as confused as you are.- updated to version 3.4.0 * 1 major enhancement: * Replaced hand-written/optimized f'd-up lexer with an oedipus_lex generated lexer. This makes it roughly 40-50% faster. * 30 minor enhancements: * 2.0: Added support for a.b c() do d end.e do |f| g end * 2.0: Added support for a.b c() do d end.e f do |g| h end * Added -s flag to ruby_parse_extract_error to output timings. * Added RubyLexer #command_state and #last_state to deal with oedipus_lex differences. * Added String#lineno and #lineno= because I'm a bad bad person. * Added a bunch of RubyLexer scanning methods: beginning_of_line?, check, scan, etc. * Added a bunch of process_* methods extracted from old yylex. process_amper, etc. * Added lib/.document to save my laptop's battery from pain and suffering * Adjust lineno when we lex a bunch of blank lines. * Attach lineno to tIDENTIFIER values (strings, ugh) * Cleaned up and re-ordered node_assign to be faster (ordered by actual occurrance). * Extend RubyParserStuff#gettable to set the lineno if it comes in with the id. * Extended RubyParserStuff#new_case to take line number. * Finally dropped RPStringScanner's BS #current_line. * Finally dropped RPStringScanner's BS line number calculation (lineno). * Implemented Sexp#add_all since we now have a test case for it. * Removed :call case of node_assign. I don't think it is possible. * Removed RubyLexer #extra_lines_added. No longer used. Complex heredoc lineno's possible screwed up. * Removed RubyLexer#parse_number. Handled by oedipus_lex. * Removed RubyLexer#yacc_value now that next_token returns pairs. * Removed RubyLexer's @src. Now taken care of by oedipus_lex. * Removed RubyParser#advance. RubyParser#next_token takes care of everything now. * Removed RubyParserExtras#arg_add. (presidentbeef! YAY!) * Removed lib/gauntlet_rubyparser.rb. I just don't use it anymore. Too slow. * RubyLexer#is_label_possible? doesn't need an arg- updated to version 3.3.0 * Notes: 39 files failed to parse out of ~834k files makes this 99.9953% or 4.07σ. * 15 minor enhancements: * 2.0: Parse kwarg as lvars. (chastell) * Added RubyLexer#beginning_of_line?, check(re), end_of_stream? * Added RubyLexer#process_token_keyword. * Added RubyLexer#scan, #matched, #beginning_of_line? and others to decouple from internals. * Added lexing of \u### and \u{###}." * Added optimizations for simple quoted symbols. * Aliased Lexer#src to ss (since that is what it is). * Allow for 20 in parser class name. * Modified parsers line number calculations for defn nodes. * Removed Env#dynamic, #dynamic?, #use, #used? * Removed RubyLexer#tern. Introduced and disused during 3.0 alpha. (whitequark) * Removed unused RubyLexer#warnings. * Renamed *_RE consts to just * (IDENT_CHAR, ESC, etc). * new_defn now sets arg node line number directly. * zero byte is allowed in symbols for 1.9 / 2.0. * 11 bug fixes: * 2.0: Fixed paren-less kwargs in defn. * Don't bother with regexp encoding options on 1.9+ to avoid warnings. * Fix constant re-build on ruby 2.0 + rake 10. * Fix lexing of %i with extra whitespace. (flori) * Fixed RubyParserStuff#new_body to deal with nonsensical code better (begin-empty+else). (snatchev) * Fixed bug lexing h[k]=begin ... end. Use your space bars people! * Fixed env scoping in new lambdas. * Fixed handling of single array arg in attrasgn. * Fixed test to call RubyLexer#reset between assertions. * No longer assigning ivar/cvars to env. Only locals should be in env. * Refactored initialize and reset to more properly re-initialize as needed.- updated to version 3.2.2 * 5 bug fixes: * 1.9/2.0: fixed assocs in return args. (presidentbeef) * Fixed handling of parse error when class is nested in multiple defs. (whitequark) * Fixed lexing of %w[] w/ funny whitespace separators. (whitequark) * Fixed more call nodes that have trailing comma syntax. (presidentbeef) * Fixed more call_args slippage. === 3.2.1 / 2013-07-03 * 1 bug fix: * 1.9/2.0: Trailing assocs were being munged into arrays. (presidentbeef) === 3.2.0 / 2013-07-02 * 1 major enhancement: * Added (rough draft) 2.0 support. Still missing some small / rare things. * 12 minor enhancements: * Added %i(symbol-names...) support. (%I too) * Added 140 more tests, jumping test count from 1376 to 2143. Yay for test reuse! * Added RubyLexer#brace_nest. * Added compare20 rake task to diff the grammar architecture against MRI. * Added lpar_beg and paren_nest to lexer to track state of parens in stabbies * Added shadow nodes for scoped block args. * Compound RubyParser now defaults to 2.0. * Fixed rake to < 10, because 10's file dependency handling is so very broken. * Made it possible to specify version in bin/ruby_parse_extract_error w/ -v 18|19|20 * Refactored to RubyParserStuff::ENCODING_ORDER to allow custom tweaking of encoding guessing. (samlown) * Switched `rake debug` to default to 2.0. * Translated some fixes across 1.8 and 1.9 from 2.0. * 42 bug fixes: * 2.0: Fixed a number of block args scenarios w/ kwargs * 2.0: Fixed args_tail mismatching against lexer. * 2.0: Fixed assocs to return a hash node. * 2.0: Fixed f_block_kw production. * 2.0: Fixed f_block_kwarg production. * 2.0: Fixed handling of stabby proc args in parens. * 2.0: Fixed lexing of kwsplat nodes. * 2.0: Implemented kwsplat nodes. * Added tUBANG to lexer. ...- updated to version 3.1.3 * 2 bug fixes: * Fixed begin w/ else but no rescue. (whitequark) * Removed literal stripping from block_append. Not its job.- updated to version 3.1.2 * 1 minor enhancement: * OMG A SECURITY ISSUE FOR CODE NOBODY USES... EVER- updated to version 3.1.1 * 1 minor enhancement: * Added MOVE_TIMEOUT env var for ruby_parse_extract_error to move slow files to a sibling directory * 4 bug fixes: * 1.9: Fixed lexing of "0o". (whitequark) * 1.9: Fixed parsing of unary plus on literals. (whitequark) * Added timeout arg to RubyParser#process to pass through to the real parser * Updated Synopsis to reflect new options for running RP. (louismullie)- updated to version 3.1.0 * 2 minor enhancements: * Added RubyParser.for_current_ruby to provide a parser that matches your runtime. (neilconway) * Duck-typed IDENT_CHAR_RE instead of using RUBY_VERSION * 3 bug fixes: * Cleared out body comments in class/module/defn/defs * Flipped lexer tests to US-ASCII to avoid encoding hell * yyerror is now an alias for syntax_error- updated to version 3.0.4 * 1 bug fix: * RPStringScanner#lineno was still using byte offset, not char offset. (brynary) * 1 minor enhancement: * Improved error output on invalid char in expression. * 1 bug fix: * Fixed lexing of no-name ivars. (whitequark) 52 down makes 99.9767% or 3.7σ. 130 files failed to parse out of 558k. * 4 minor enhancements: * Added RP_TIMEOUT env var to override default timeout of 10 seconds. * Minor optimization to RubyLexer#parse_number * Only output parseerror output to stderr if $DEBUG. * ruby_parse_extract_error modified to include 'it' blocks in its search. * 7 bug fixes: * 1.9: Fixed args in dot-call forms (eg f.(...)). * 1.9: Fixed lexing stabby lambda w/ do/end * Deal better with DOS files. Ugh. * Fix line number of production after heredoc. * Fixed RubyParser#process to reuse parser instances across calls. * Fixed line numbers for several productions. * new_call sets line number to smallest line number of members.- updated to version 3.0.1, see the long History.txt- fix gem requires- update to 2.3.1 * Fixed line numbers at end of special var+whitespace (larsch) * Holy crap I was smokin' something good... Fixed 1.9.3 warning * Add -g flag to parser compile if DEBUG * Lexer now embeds line number in yacc_value for keywords, helping fix up line numbers * Fix method line numbers when no args and no parens (quix) * Fixed line numbers on return/break/next w/ result expr. (pjnz) * Fixed some lexing state in order to parse: 'f (1), 2' as 'f(1, 2)'. (invernizzi) * Moved Keyword, Environment, and StackState inside of RubyParser * Added proper dsym and dsym->sym support. * Added extra (failing) tests for call/iter line number checking (quix) * Fixed line numbers for certain call/iter edge cases * Fixed parsing of: alias :"<<" :">>". * Added new accessor canonicalize_conditions to toggle conditional canonicalization (on by default). (confused) * Awesome cleanup: Replaced call to append_block by block_append. (Confusion) * Fixed handling last line of =begin/=end. (raybaxter) * Fixed source line numbers after heredocs. (jbarreneche) * Switched to hoe's racc plugin to clean up rakefile and builds * Fixed empty =begin/end.- license update: MIT See README.txt- update to version 2.0.5 * Started merging like lexical cases to try to squeeze some optimization out- use rubygems_requires macro- update to 2.0.4 * Changed requires around to be more accurate. * Fixed .autotest for minitest * Fixed emacs escape lexing bug: "\C-\\" (maglev/gemstone) * Fixed octal lexing edgecases. (maglev/gemstone) * Fixed regexp lexing edgecases. (maglev/gemstone)- initial package for 2.0.3lamb53 1496246954  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     3.7.1-4.33.7.1-4.3               ruby_parser-3.7.1riFixnumcdesc-Fixnum.riRPStringScannercdesc-RPStringScanner.richarpos-i.rid-i.rigetch-i.riold_getch-i.riold_scan-i.riscan-i.ristring_to_pos-i.riunread_many-i.riRegexpcdesc-Regexp.riRuby18Parsercdesc-Ruby18Parser.riRuby19Parsercdesc-Ruby19Parser.riRuby20Parsercdesc-Ruby20Parser.riRuby21Parsercdesc-Ruby21Parser.riRuby22Parsercdesc-Ruby22Parser.riRubyLexerScanErrorcdesc-ScanError.riaction-i.riarg_ambiguous-i.riarg_state-i.ribeginning_of_line%3f-i.ribol%3f-i.ribrace_nest-i.ricdesc-RubyLexer.richeck-i.ricmdarg-i.ricommand_start-i.ricommand_state-i.ricomments-i.ricond-i.rid-i.riend_of_stream%3f-i.riexpr_dot%3f-i.riexpr_fname%3f-i.riexpr_result-i.riextra_lineno-i.rifilename-i.riheredoc-i.riheredoc_identifier-i.riin_arg_state%3f-i.riin_fname%3f-i.riin_lex_state%3f-i.riint_with_base-i.riis_arg%3f-i.riis_beg%3f-i.riis_end%3f-i.riis_label_possible%3f-i.riis_label_suffix%3f-i.riis_space_arg%3f-i.rilast_state-i.rilex_state-i.rilex_strterm-i.rilineno%3d-i.rilineno-i.rilpar_beg-i.rimatch-i.rimatched-i.rimatches-i.rinew-c.rinext_token-i.rinot_end%3f-i.riold_lineno%3d-i.riparen_nest-i.riparse-i.riparse_file-i.riparse_quote-i.riparse_string-i.riparser-i.riprocess_amper-i.riprocess_backref-i.riprocess_begin-i.riprocess_bracing-i.riprocess_colon1-i.riprocess_colon2-i.riprocess_curly_brace-i.riprocess_float-i.riprocess_gvar-i.riprocess_gvar_oddity-i.riprocess_ivar-i.riprocess_label-i.riprocess_label_or_string-i.riprocess_lchevron-i.riprocess_newline_or_comment-i.riprocess_nthref-i.riprocess_paren-i.riprocess_paren18-i.riprocess_paren19-i.riprocess_percent-i.riprocess_plus_minus-i.riprocess_questionmark-i.riprocess_slash-i.riprocess_square_bracket-i.riprocess_string-i.riprocess_symbol-i.riprocess_token-i.riprocess_token_keyword-i.riprocess_underscore-i.rirb_compile_error-i.riread_escape-i.riregx_options-i.rireset-i.riruby18-i.riruby19-i.riruby22%3f-i.riruby22_label%3f-i.riscan-i.riscanner_class-i.rispace_seen-i.rispace_vs_beginning-i.riss-i.ristate-i.ristring-i.ristring_buffer-i.ristring_nest-i.ritokadd_escape-i.ritokadd_string-i.ritoken-i.riunescape-i.riversion-i.riwarning-i.riwas_label%3f-i.riRubyParserStuffEnvironment%5b%5d%3d-i.ri%5b%5d-i.riall-i.ricdesc-Environment.ricurrent-i.ridyn-i.rienv-i.riextend-i.rinew-c.rireset-i.riunextend-i.riKeywordKWtablecdesc-KWtable.riid0-i.riid1-i.riname-i.rinew-c.ristate-i.ricdesc-Keyword.rikeyword18-c.rikeyword19-c.riRuby18Parsercdesc-Ruby18Parser.riRuby19Parsercdesc-Ruby19Parser.riRuby20Parsercdesc-Ruby20Parser.riRuby21Parsercdesc-Ruby21Parser.riRuby22Parsercdesc-Ruby22Parser.riRubyParserSyntaxErrorcdesc-SyntaxError.ricdesc-RubyParser.rifor_current_ruby-c.rinew-c.riparse-i.riprocess-i.rireset-i.riSexpadd_all-i.riblock_pass%3f-i.ricdesc-Sexp.riparen-i.rito_sym-i.rivalue-i.riStackStatecdesc-StackState.ridebug-i.riinspect-i.riis_in_state-i.rilexpop-i.riname-i.rinew-c.ripop-i.ripush-i.rirestore-i.ristack-i.ristore-i.riStringcdesc-String.rigrep-i.rilineno-i.riarg_blk_pass-i.riarg_concat-i.riargl-i.riargs-i.riarray_to_hash-i.riaryset-i.riassignable-i.ribackref_assign_error-i.riblock_append-i.riblock_dup_check-i.riblock_var-i.riblock_var18-i.ricall_args-i.ricanonicalize_conditions-i.ricdesc-RubyParserStuff.riclean_mlhs-i.ricomments-i.ricond-i.ridebug20-i.rido_parse-i.rienv-i.rifile-i.riget_match_node-i.rigettable-i.rihack_encoding-i.rihandle_encoding-i.riin_def-i.riin_single-i.riinvert_block_call-i.riinverted%3f-i.rilexer-i.rilist_append-i.rilist_prepend-i.riliteral_concat-i.rilogop-i.rinew-c.rinew_aref-i.rinew_body-i.rinew_call-i.rinew_case-i.rinew_class-i.rinew_compstmt-i.rinew_defn-i.rinew_defs-i.rinew_for-i.rinew_if-i.rinew_iter-i.rinew_masgn-i.rinew_masgn_arg-i.rinew_module-i.rinew_op_asgn-i.rinew_regexp-i.rinew_resbody-i.rinew_sclass-i.rinew_string-i.rinew_super-i.rinew_undef-i.rinew_until-i.rinew_until_or_while-i.rinew_when-i.rinew_while-i.rinew_xstring-i.rinew_yield-i.rinext_token-i.rinode_assign-i.rion_error-i.riprocess-i.riremove_begin-i.rireset-i.riret_args-i.ris-i.risyntax_error-i.rivalue_expr-i.rivoid_stmts-i.riwarning-i.ricache.ripage-History_txt.ripage-Manifest_txt.ripage-README_txt.ri/usr/lib64/ruby/gems/2.1.0/doc//usr/lib64/ruby/gems/2.1.0/doc/ruby_parser-3.7.1//usr/lib64/ruby/gems/2.1.0/doc/ruby_parser-3.7.1/ri//usr/lib64/ruby/gems/2.1.0/doc/ruby_parser-3.7.1/ri/Fixnum//usr/lib64/ruby/gems/2.1.0/doc/ruby_parser-3.7.1/ri/RPStringScanner//usr/lib64/ruby/gems/2.1.0/doc/ruby_parser-3.7.1/ri/Regexp//usr/lib64/ruby/gems/2.1.0/doc/ruby_parser-3.7.1/ri/Ruby18Parser//usr/lib64/ruby/gems/2.1.0/doc/ruby_parser-3.7.1/ri/Ruby19Parser//usr/lib64/ruby/gems/2.1.0/doc/ruby_parser-3.7.1/ri/Ruby20Parser//usr/lib64/ruby/gems/2.1.0/doc/ruby_parser-3.7.1/ri/Ruby21Parser//usr/lib64/ruby/gems/2.1.0/doc/ruby_parser-3.7.1/ri/Ruby22Parser//usr/lib64/ruby/gems/2.1.0/doc/ruby_parser-3.7.1/ri/RubyLexer//usr/lib64/ruby/gems/2.1.0/doc/ruby_parser-3.7.1/ri/RubyLexer/ScanError//usr/lib64/ruby/gems/2.1.0/doc/ruby_parser-3.7.1/ri/RubyParserStuff//usr/lib64/ruby/gems/2.1.0/doc/ruby_parser-3.7.1/ri/RubyParserStuff/Environment//usr/lib64/ruby/gems/2.1.0/doc/ruby_parser-3.7.1/ri/RubyParserStuff/Keyword//usr/lib64/ruby/gems/2.1.0/doc/ruby_parser-3.7.1/ri/RubyParserStuff/Keyword/KWtable//usr/lib64/ruby/gems/2.1.0/doc/ruby_parser-3.7.1/ri/RubyParserStuff/Ruby18Parser//usr/lib64/ruby/gems/2.1.0/doc/ruby_parser-3.7.1/ri/RubyParserStuff/Ruby19Parser//usr/lib64/ruby/gems/2.1.0/doc/ruby_parser-3.7.1/ri/RubyParserStuff/Ruby20Parser//usr/lib64/ruby/gems/2.1.0/doc/ruby_parser-3.7.1/ri/RubyParserStuff/Ruby21Parser//usr/lib64/ruby/gems/2.1.0/doc/ruby_parser-3.7.1/ri/RubyParserStuff/Ruby22Parser//usr/lib64/ruby/gems/2.1.0/doc/ruby_parser-3.7.1/ri/RubyParserStuff/RubyParser//usr/lib64/ruby/gems/2.1.0/doc/ruby_parser-3.7.1/ri/RubyParserStuff/RubyParser/SyntaxError//usr/lib64/ruby/gems/2.1.0/doc/ruby_parser-3.7.1/ri/RubyParserStuff/Sexp//usr/lib64/ruby/gems/2.1.0/doc/ruby_parser-3.7.1/ri/RubyParserStuff/StackState//usr/lib64/ruby/gems/2.1.0/doc/ruby_parser-3.7.1/ri/RubyParserStuff/String/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -gobs://build.opensuse.org/openSUSE:Leap:42.3/standard/3b2836b0495228247901653e33b164c9-rubygem-ruby_parsercpiolzma5x86_64-suse-linuxdirectoryv^88CWW?p] crt:bLLD1tL]k˲UaA;o_Q E`-HV\ Gՠ)Rr :צ_ND=HfU&'zM *Cԛm!Ir"Ln"Eȉآ΀ J9e)}õ+;* zB ='!TJ(?.X'K),YQ 5P#Ӯĝ rnlK5 'IEkOnd6"LWnڥ e!)࣠ޒg9r=0dnUhR,m ֻLY.wpAǵbPhὄq][ݙ (.*`” fe% Dڰ&Qy-`r|D_y6u7UvTr\&/ĆWHhJ,@QxL[(\b UŤZ^(&Lzk=i 59U2(w72-Fɿ햘qDN}@HHȣ[Pa 19Ai~{U>'֐OFQyKNB~ tYY^h.Nz70,;"yEoIUD2֔'?f|/ 8k#')/R[>[E%>tfM qt.J蕓;Y45f ^KʍXDj:!:"x|A f?{\ ,iqi$.* V^됏xw.lmiz!îփj;@:gcTh]uY|ckZ`Bj.F۫CϢ:Q$ܻ*f4ʥ+EI}h$+<`&U>&҅<| cH %Lϔ C%xN9f`vHm$xTV;^>U >o!S?PG6`s%zU3 Ff߱i dP>8}f~o(9HaCO$Ư0w/&1JzR1o 5=d=GO>1Z8y(uI ݻAp)Xpf)@E+ Oԯa_Zx!p, IYagC~Ht.~ji`z 4+|l.*jalD?xm7ymgae3L16G\j1WzC3`=^Q0׼+gT(Q/|Mi5aWʶ#_7Kŝz G:ӒuAy5k&sƥ 83C7 >*cayDeW.)J;.>}#l" hX#[] ZݵQeF!  .:#cIm)ϟx|wRtzQ?X&qKb$vu0z&毑9B^თfu~-|@eq;Vm[ϗx8t m(D ~ 1g_(۳5~gf"ƞ*t7JDA(ͭޔ.qC76Ú6<pBPA2"e^ B'qeIWGX4AL~PGQSf%J2K-/{m?MlɘY[d;Z3rGGg#}[q20<2A&d#}DEG^?wy&Lo@S^x(>1%o9Txl#lӥvA CQHU6O{m׋Uh_uéR πѻƇc[^% <&ȣt0=v.4s\γ b%q|hOmdUIOC\v00{"!ox׋#JG;N?$(b5B1̺TO{TՃZOcw,ɀo4&Ƈ{f6e"3-; =yb'b)+79 H[D-$* (ƃ!Wg)&PDYVxI~UpqYŰ_zR1„aGv8^T?aa+0mR`JOx쭺kj-WՖw~˞NM KЗaԑ=`@}$l?6grtQ*ȜΎfӾ}}-X:-'(y%&S_dF|EF7+BEy6d+ks1{i ~[3ZjmV޳w䰰ῑ&Ra[X8yy7ڔf;)wV/΅;PhF>t+rao⊰M!+{{JҹY'+^t=\ &MZP oLJLUN2婴[)[#<!:$ZΎv- G^_>~سexqd';ԷnaZv0%wbP߃u=x/#֬+¹*A9byf1&[$ D 9m3t&~FàŠv' e[ &lf3cK?G\yI%,[jR7(wSxC`:Zf5E~w{ CoEZP"ޗIq(Bt8c3L!@jnߦW?͊& ҅"ɱ RjvJKIJ=աealL1o*ې +HX|Ү5pA1Q*V ףخJU?["N"/Fʃ\Aɑ`<nZ+0R${nr1؄2qDS\#" 7+OABɌd¦P]\- O^o&q P0P7G&~At]]؛g0"q;bF Z[5MuQ/EXL6p"T<;,6 bkMH>*H..w?b oI}ͼv-2WHsp /Lֆ9L;ۨ+:^GI p N[.{rVpbr+{UJ,;p cQ>AqcQ_)PR33 ЪDT9=sǙa^,];aX@/LMſ N#]٧škTn{.dB=.^N2./fC(0u3)j"O"XXb>Ϸl˳FpVK!tj(5 a$V^*~WL0bpDrV3};Ej '!9iol>BڷUm _QԀZ=^xs8 2 ĵ](!s"%N݋ql>6<ʚS$I'bbII驚<="ָVH(XWEթ TJ29E5H+-H0a 1S2*̓XvmȜu(:ڛT(Zn1Ey-4bwRgkC4: " ǽXf1 BO4m+]p wGZ|_:?1QHG:.^% M Q.Iy ?v4p4U,( Db!D7]Dhgv`d>҅,hS P>=|3]}NP${@4'_~l.: ){b/I-8v214u"0}'k9_l:ak/ݳgɳ%6&,\u@Åc9?x|bHpeF8@A,]Op@0eK؍CetUQ fu5WEǐZʕɱ܃K 珺!cgB SGMrC7,:T%|f1qD>pk@(^FPr(Z~|gjFDqP!&ά%rpZH% ,ySYBVaNufHk_Az)7??Ķ=gRY ߒ=4UgS8,} 'tquҹ舔/VG=2ʸlĊh`p0Ɯ o[F!#^c(hnMfmX#1@] sQΛ=ln7UG(򔫦)x^/= kXyS~7$7S9=)Q7[_Evw8Xo}E^7IJɏwWr '{,{ba$mPxKL/tY[xTbrIj;*)=d̈́o1NR$&V`GS R7aJL,&,eƨw!v._L[3xt+ߡNܒ&U_+ʵ? an !vÝ12=yaJyM6wIf̷r#h؋8.mpp] ,T2:5RYkP?7'mlv=b.P9wƻh96@S).d!$_!&#c 燰FE{;ic~~gPד֯,L0;9Qh@!#^EP0"znf'.WIĻC>%;,VQ0ry}9:#{mvlD6( gljkoD8CMOӪcH&<̹7oճ{ 7oql7yH!gD`=y8.e'%t ӗSƀ * $;wVzY6ZŴU$MC`e2x4`UAEz\I% LÊ q:xܛ]Q9%oV2S |Q0_ࠑ{ؿh5ېRwlׄR8l\1 )~ms]T0|h_bB3f (5B=Ϥ!37 \y+nӖBC0]չk0(*OPިsV Y\6 ȥw8S\oXJ0z"mOhgV/v$iW6 .>KݜոV2ԭU [_PrI4;z'KjZ':$ӟ9@Z RPo̸R-8vXgZ+L4sAcO,bZ-SQoip/8儆 "ypDxhx?OUݡTy~T|q^۟rI>o ^i%fehGW(_$W{Є.=7P *KBV82Z._z}P^++6#9㊃n$3K <(g|L O' ~PjՑ֠^tӤ1WKw5uh,UFCbZKf=s bsQ837v=V^q"`]O7z{@9:΂}e"1Y*(C!ZN19ec8׃ |O8,fHjr+ψz}w?2;9BXT4l:6{Ef@%aMv0Ye`irX @{{f($‡U>x.n;pކ|? ]4T6;2cDGO{b;&nY,caU; F,J=MvJV(X 8t]f9mF"ߟ{)`hUg:ꧧy b9%6T /]aHmI]]JQ"RGrl ƫVX`JM.N & I;bFn6X EиL#ϊKY!zSޖq=ᩫf9[g$C.EHKlmcB 14|}K"Ed5J *m$9zҾ*:QD“_RkG /̥QS]daUaMe{Ԍ vZKrG3@BᘆEʧ.V&[~o|=42G-hrwAs20(pb#T6#ߧtz2>83F/!$tzzhZnY>;z)+&6tMjK#*C<;f4`1d\š2lEmd+$T s *%#08e)F2qmkMfT*5W"鿰 [>;#H35 g.NG| ԏH~mFjo׷:L0j?y$ۇnqᙩDI,ez~lK^+QRm O V'^ӊ#k] R%ZF*Nܷ_QvL'MQʖ~N9գ{eǛ3I.rwE-Q4KCvKtϫb֯nAĬD}>)kEeTҍ*m7}vF` r4mI+ն J)nJ\hhoblm 4*U{crGd))' zva0 5\VnhU] ?.¼oޮ~KMi `KbL1 K?K? ;2} n`փ/3}:]z4Q2O.P݈A“Y,hAG<-FwFrJjd$TqgFWٗό+/|jdd`[x$^!EM1*bX`C!>@7+fOy%U9c?!Y2+0R gia1jfUJq3a[a@/-lw7MC)7G/4+mH-Dg5-D뺢^aG[*!i"B9z! Z뿠h'IJ @:A trwiy 0ONJ 2ѧben^}Tg.t͠3W=G%/IT:-ϸ!hOg ?rZ탨zK6l3(CdD`ǩ^k/_-"]Uc` ~FhءG\=l6H='›~/:]{Cj1PٱLq@7DNq^B1k0F>PԤE=1fw8=m*d6^ټ1H*f*iC(|1eڅײ߈εj4)=6[Ok{7)EQN"g!Nh}*\Q1ɐ9dR&]HG<DK92㌒v¶?b@d EKf!sl6c^8εTQ.*^1@ sЮVC(iic)~QF)]d;hY-lZ`2lNt}`_&$4"XL)Ju԰7dMƠB&[̉_ɇDl: ~PajZۄO4azU:Њ]Ǯ>?:Ez&W! :ir48ahzĮPjp:E.,e1$3w?#b+.g}<C_M'H7$xK'QLZ_!Y2I;vpO} /b(ht_Ԙ QnƜ!uokTH &|y>.azr`qqYH撻H +c\$%t%mG*4@p+5ˆ@L0YJwzC m$y6Uv8˞Mzw~6|j逝xt=#_b4|6!0XZϾR`qNs/Of䏦E̬ `:H %-Zf*}j;6 LȚ p@(gX0ʩK-yRsnҧ"m&r*|88 7{ 31{N$WW3N }Iiot;KaFT 7_^^J;@[j=:sbRwok–|1q;J5ٹ@kzģF2r?Ng'^wu&wjw +v\i`ifU #}p ]>畺X* %7 7߶d}JsI Wb0pŌzʽ `y9('? H{/޺A0 q i/kGVO4e=,1 tmN.!#0pSQޖZI=͍r"s?d S ȝ@ GuشڶD@WE7`{.\%&7 h !k 7 c*2ΡťM-ˊZݵ1E]Qf-U:40P>[\~NA#ޘ Yfԗ^X 2eMeʆ>DOɽ,vO[,ExoG3n?+hi ad9ߎc P\}(~S#5hwHܦ@xQSUgaۼf V@3k?)gB}ՍگwkO#efbڭ;;]ͷFcR6#)|ku 2}H:@]qF]rE;d%wz֨%.\ȿ_Y'I׬G5 a~܅HL6./rymD =佌R7)z*fnC [¿A`*2T5LX clO>5zvJ6+;F$Vc˟ .i!:T]LN*Gҳk #LlCCe6S֘y=At~<|ﶀJIpdrWPPvyty>9Z:7TRzADŽeǮ^N3n1ä_gahI-n c_3589Ç U[#+*9raHz.r7C:ӛ͂gj]ݧ4y'cjpC\SmkryJ)Ix;Do?mV5b#g<!'yTR̳ǐ]3UuhT!JVN?J(nֿU.xW/;;XV0CeJj߄<2=ФH 0%^wl~7 Z@ `(W.7!X9<'"OY8ň E kSg7кb,ύGXmygf1y>[etU z oxv[ӟ'(McǵuLv5wZE:[A&OAE@zyOA;SWa)c֪s?BNp^?ZDDyDx΀͙5p#!&- K]a)w|\{4{AD00(-^zWD"L~vEL{W0>(Rh/֌Al6wm*˼:r1gT;42?A+q (c\qg+5O;9Y.㼗-O,mtn*oq*&'qS&)vО^Y@tެ. WQQBDKDkf@F5q76b~IM/ْͨZ@Tx+˭nWZɞ|p*il-w~<%fmlkQ([G @eNj#%}G3YQV)!]iYL><0".|xzXKQɎ@\Ȉu g5u#WoaE?t 5'r-9ڮTplMJϢތ'&?)<9{@}}['O/Ukj1cAFU%`޼3_I&YGpԐZ]YssБƘH)wl&%w,g׸*l>f B!c};`<Wi{\]qZpH$udlryL E@$M;rN0n`G- [ U c/o2 d~~ E%-g 2?L,v<w!Kbp|3Leđ&Pv16*Ǟ-3jv`JK8T+U,fh2&7H&JZk'FJheLrP2ےYحf:^|Fф4ci5ʣ9p7kF1,OhL"Z4IG9AIi'Ƙ󋑗籖w4z `|&2~.c3&>ˈ7=nD#ٲ)p1Og8~iۄ/ϣjw\+yՇNѭ^iE⾴;Q:kcE%3 "̎-cpqI;xbJ;}Gnv Dov 5`#LcɑeKHZHsux|Ѯ͑XupTOmYg ?ƕ NVXJЇuG-0QflbW'Ρ\06$5oEpLOdž fֿ{pj#C1/Xt3HeU::%ӭ~1{Ru$`"yOC''̅(9ز <:L +P_x9|ҝ~IȴvbRlͣY 0}2 RUG~#:`8e~KδV&$$Jr(=_ӞY;.}r5lNK7bVM_بf(<&`Us+A!s!Ri GP^QD;~⸔I"m{/q-"+]V*w*7/ =3D͐BNLīk`ߠL6P#zZ=/Z[eߊXsa/ډ0ri\L [_ڻ鑻=,=IOD!7@F]V*{C n0ԉ&JǥcWfk@N{x;QKg^SPkx[B)߱* >< $`+8^Y(:$V*T<⛬\H@-`c|#cHNIZY*غۑ{n͈37EaѠ}؂wRh k!J'֩,UbG2[ Πxa2AsFvϱ%>ty.bۨIdcaΚ:b>`ބ@ &qq2[)qRdCg#=;HVNXJפ&p8i g~].wd 1 `Ƶ|Az}밣Ӧ_e@#kGX%[Im 2 r<at]H1oU0~BJN1L؅ M 0Xdk K瓕C 1l{A8^wO~10fNYV .5ګcn^r_b b23JEihi˜Nv`.إprF]]Ys)%B5JD5=A! g qVe4=$l{ 3r-\V0KAA7*۠TA@IoA1UɷWݛmj!W}Wh,M_[F S^LľXS0rSMAyr.:٣W#ꦁ&w>Yu}NMvr>x_4:| } n,ZDŽt< BJIvM*A:%tOuC(c$u ԚuvpKYϭvkN PbGvzV`M7":Ԧ2`wK2V TH7ssxihV qX\ڦ%4zbZK?2~b򈻶Yzސ%.+F 4_D=Qi"bb+/jbrfL ކac"A4Α¯tO8WB2]@OI5v/o u5CQr֨LQչd3im:%D-p;fIf1OWZxT vn9́WM``'-ODz@Ld :%-.rڌ0ymQ68n eNÚ܍vd} RZ\w Q_AaPm[)=a[ jQ+z"*n(d[h̔x^ Ϋ}#_b4|u>O*;kMD^:ybqAqpbm탵䳙ͳ*Bm8̵یi]j9H3"W:L~[vCuzݍ/KL. vG 0(kR6X\5B/rz$E;6dDKn>VNdBk6uɝљfpOYt`s=NQۛeu _2øzj| š- R tJ;=_h}dCS߻}Ri")G l2Sى1V_tKTcĻ>t,5:OZg O0KL۱RLjq3Y}ޗ{tʼn|(ѳTL騆I\m@uG魐#dVb6rD^-MڥR jI~#Wɛ_,t%n?@tV.S/ ׾PRl Vp7ed.H`OGJ$eg+ͱ&fMfh\#{z4f"@aՃw$XFj>RXg塵cai޸x)@x]NszKJzJLynuOi-)SSf4PF(z&; ƿ xP H-a؅Bv1Sn:fjq'H)u#5yrh=DJ4qvg|+M۬b?̼Ʈl<V] Zh⧒ڣf-Ǽ}ebуU^l^fMj0b+8fn{S^J9_Ypn[ Keo8{t>ĵ7]^J* &jP;X%P[LΦJ?ܞsBV[s.oVr2>Kz~5Ej5"=1BtM ?<-fn1wڽm-rבT8ZjL'!5 Kwo~@ODZU< EJ>63*֖S7 Z)ǻt%~S=M)Uw֮:W[ui4v0V̉!C?Av6YEx.2Lj&}Z_ڡBQ4Ob--AJʚqN[ye9{Q-šMxV0HSy} cԱ1NV3tkeں RLT+׻\g2Ma<=yT{K3G.\e] 3knPŽRʭ_Sl2poIYuXzQ+bek7y"5 Bg`P-a 7 ΣKӉ4;:f6bFg"@xwOjnmcn,x bxG5L{bZ{SF`=3i_ɮJ|(0C=Xco2b؆~f'-<P!Ii CqY,1c[jR z \S+Fk$m:nlF^C58P_aOy ny'uIUe |Z%hI5ޏb&%i!Q3Tq re݇WNc'yκ5ա7"B4SXo-o %Md܂/w(t/m p,pXb-Vm`w ;+Z]"bw}\`ØaE[xY#t N `"ɋlBT\Np+~ Vf=gKN%<'v1&񂴦H_bҶFR"*c+q 8X{뗐Oա[>R9[.!\[;*U ة9UM!B5Ci}~ͬ O! ?y 8|Yc(vQ|W)"LJ%} dy{kAg(Ya7]?u:GհӖW~ i9R8/; Da13}Td>b ,@tΊ8\ΒIej1Duz|&#]I`]\d`|:GĐlϙ=l51hAƤIi4A& FH`ca@ TD?By?=v<ʦ8RA$16G6 - 2aHK:aPp@$shiοW V?EiHn6E:rۇЌyQ7)5pt>dvX|~}F<EtgUWjf [nkg|Ԡ)VUסH6w'#VW0P(RLBGvkq6oaSo Q<YtQ*oGK1-(@DRLrkNכ K)~*Tۥ +O/ۿsdh߲"G^*:I>`DףTG>L}a2t`ú蝤.ʍ6: 8B^ff7 ]),T |O("z$&ŏc[ōٌ1Wf9I~..9Ǩ=lzTқ*CB"zJ"3WV|i} {E?>BPf&o~-uJ%)@1zeM]acZY`'!,;:41|xySNIMݗ)>qU!~~Bq1iI$m33Ȥltl?whJ+[Ab_I~h_Ǎq*2}ji'zGd$Puڇ{G XoεOW޵y8g/ QoOi?¥]]>F6;ePSO]Pd߆YJ m"lp`2]aH+_|{K>,j#&:K%bXIQA8o(}Mjnwf:,8oTgbƝm+MvF+0;l0Z񴷔g[27r@t>U\Gm\a՛\SfNsPbJDk@bM=PO0X9H T7JV @rk;"ӍeONL<Z|KqKAlx :=^̓jX{u ph\f8a&Q#tuߓ~{f<>:EeyX"M1Ho'ϯOszLru7\m%B 9p e~cUM>70Xr$0Wn$dGQE@3`2RD~(+RZƝ2ch痪!ʨs4Y pRױn3nl7%sl ?QJ_/q^r[rSJ iɤ HUI" HIL)zEe-_<]˄`io76eYn:t?k~C#SPC@^ٵk<Yp]%_Fu%R lqהpvcU[Ad,bhjS6HC8!\-^i v!.L8Zu(?w=|ckȆ<Ǿ[Nr'1&ș: 9 \C%L֐R;0gQLAV􁿠X}8 zQe~>mlչe_̨li,*0HVn.e؝Ym ܢ.iHF]վUJW* <Dtw6`mEٟ4MԂ HKa&APAYAN6 N7Įhم0/=nr1Gbx ˀoԺq]tߢjΐ e`-%wnjJ > 2*l&aP0\!Ah},#K˖t#UrRW Mn4X}QUE=ɰ_m,Ӷ8f}I5=\u{4 q'bmnUzҖQ܃B8$WO_Ѻ|jA-ghwXyCaAc pkDz[r&;~4[|O. j7=\W-Z;hQv_[ ;A o sw]06(#,l\,q]؞i'pmHU)_4cU=PL:]n҅9lZuϟsM~siiXḼ`NԀ>FwmI(}VMZx_9@۪_H[2@:(;go'f[K2.fU;SJ8bbW>:BQg}ZNV)|S {Y`L9\iv$K¡ q4k(IgUm"ׇ̯NK[V<~KO3kQSBZ*c:1;I"Bn؅imN+  @#1)jP=VI\gk9n?hE$ܒ%Kc<ù`~Q6VtɈZ&5eswHLnEim`8ɋoonu$)19ҩ`d3f~!ļ(LILnbLOdZ` kanJ;}oiH9AJɘ;u,,{qB30~<IoKo>Eo65MC Ƞ0hFHE-57şi=G) eRnC䍾j!ތoSM`PRS03hqń{nV}J7~׷:W"B(bZ̚2z8h)EG\yetW#,eaѳᯡы2/sVQ,+ao'B𾰸@^1$SazZRf701i&H/;K>G(H ֪a iСfwQ"EM[0#%eGo,@ӡ3t6dGs*GN};Sy3Az$.C솩n?pB >r+%Íy7m_}j 77.ش[=ݓfPq ڵu1utk?..ԣB1/F\3\g0-꯫&SUL[ MQɈqfn}ˣ#xaY52T4* =aD4lZ rlPg/dsBFXZ\Evѣb ;+ѓ6,""`}7e[lϪ, (-W46[} WyD6<6=_kVJYr ,Uuͥy[96mYyL ujVXqz2~ibv?BȬ9)g֑H[Ag ѯZ/쉹YSgLSOFj8Ԁ> Qµmt5NӏEp x%݄P! O:Zj@`ϞD{Ha5 0l* KwY ӆ6+BʽTʞ()bE> ~0in3r&s6/g)}Fi R){866#e&߈[ޟrTYN5(&GR7c (n,x-7*]LQG-$wټK!/#4Ph ;ڄ}Y~A