ruby2.5-rubygem-sexp_processor-doc-4.10.0-1.27 >  A [mp9|GyTAkt?#(": Q϶AC):R+42Ν O-ݱO.C,R= %9C,Ugr윍⑭+Khq-o/SmHu8L'Fkv`IfV >p;h?Xd%, 1 W +W]dp  |   4K 58;??BCDCXC(D8D 9D :F| FdGdHgIjXkYk\k]n^z bc`defluvz TCruby2.5-rubygem-sexp_processor-doc4.10.01.27RDoc documentation for sexp_processorDocumentation generated at gem installation time. Usually in RDoc and RI formats.[msheep08vSUSE Linux Enterprise 15SUSE LLC MIThttps://www.suse.com/Development/Languages/Rubyhttps://github.com/seattlerb/sexp_processorlinuxx86_64n/TUmi}vbn KfE27QE27+g\[^5.O4fBmXA :34c'Q8q.IWh=J!!9~9(?T0]R&/.B;>&e&tF*F^e:DkYKK^Ye|!J}3,^I]tEVa'A%;T,IAAA큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[m[mcb8b0d218f81f41dd14761e75332b009c068895cdac28d6a53ac4dd5cf1af3deb8771941b5f033b43e48223b87503219addccad7a9ab75dd27628d20e47285c2e5dd837264e91ae4e8d2d938903ea56b7286e47bb06c2c071f7a61750796fcb317f43b607987937010ef0a457eedbf49cdef28259b9c2ea947f65867a2aaecf37247a2d2329c1db0efe9749656b5d69b39ac29adc43bf9ae8445be2df96d0082e88f5cd044b6475bceb31e49a8d74fe50bd456a345c891809c6b03bb27ffa33268151927017aa8a45dfad639bd2a9850092faec4ff0b92afd3542de46142024dff07da1f5ee0df30c9eea3c7569524ff0c33af17f0bc00280d588c29c23651c818808dd2d9537b0dc6bd55344e41225ea8c804f45ca4e4cc165d398f40e4bf127e21cbeb430db793aa53e21f7bb88132366a9ab1671de1dcaa99410819a6660d829df4b5ae9041615f5df49117cad998d5d2a4ced9c0a103a943026bdcc378b79bcc09080889755b353fe471e3d12b3ba9c814c2db7c2133f36373d3c59f5912bc753d72dbf5346ee61154c4a49a00b6db3915fe6079db2cd3829d3d282f36625c60b2665057ed31f0b467e4aa1181594d8b5f6556df0803f5c37ba8a6704eaf62abffb7d6c14484118849de91ab99510b25a14628ece215265a9e314336f5ed3203cd9691670a9d5d92d07adf49bd813c6ec37566c85aa5758c57303e57d67b04541856a8da9a9b5704c22779d97e28fbd45afcbe264fa17fe11d58c38a01dd62e372e31ec573b9fdb4ece159f93b27590d1e86ac833df358d8326a3577203a800ea9da4c4571782e094a3ad9b859837efaf6c3019ef08fae1f60fcf0cef725a2f943a0d6febe4475be75daeb5e3a569640234e295ed87c035d893ecd978c2a72078b96a10fcff0e6b71f58c06be5bb2b0657d4a4ede17f5eae496d80f17600d000905eeca3c2103634222db46cb03ba25be5fe8566b4c5fa5b8962e19137b8031fcae52058273b9dcd7125e01e77f8aafbb563172a40103277041b331391abcf52aebbe003636f405417ca104ebe492174e9be736c4b59d1345062a48007d38866dc567ca737b3c90874a37206d83a1a5d894e37fabe7823a01cef140a3160fb9ca8e823e7712b1232bddf27e04cfe6e9e4782168570261be9034a917d4c5f302cb33e84e1cde3e17e7354d38662c1b72b11633460284af840f8368a22d6feb2f9e92aea2034eb735da2a3962c067b2dd09aeeee14205e69b0dade5ebf3ec6fb96974ad3bbb02961ba155027bfb834109d4377b8e7261a76f397e03a8bd4cd2bd1e0546eeb8996a72b45665ceeade405554d430c395aa044d415f0ce1bbc8e9e12e97d0dab9b8f44b7c9646a59e33bed519a0250f1ca3d9cc1ddfe479a6f2b46b1d910842941f2eeaf3b025cd9491f69eaf7b18b518f494d8f426e5cccecaab1c4b40830e6896abacb2fe64341f99b131c04538fba1c34573257e9658f59874f899748e42b426573ca23530a9cb1e7e45e0563f2ceabec4d6dff54fa2720e1c0e33ed69cabfb32d99a573a74c0795cad39fd5373690789d09c7ae75b2af2aaf53d338037b5d6331a3f02d6eec3a16f7f62fda19f9bea3834b4440700837752c3532d8882ecf77710cec7d1b56fcd1f9dfc2779226559a2da31433ca39edbdc44c7a7eddeb8f093f1bd52865aa059147b7ca387c207a3e5fe1b9ead6a38a84e9c25a394ae58d07034821b82a633bbd9a8165ecf4791e62c367e7b672623ab4e209a7c57fa84d44eccc67c7549c71e04f9596d38e4e859870e2582f2f79af59e42db861a5c8c63cac6246d5d35e8d5d54b3afd7f386cf740fee9346a2f1af2d747f0985f4cfc41698b8a99c932e949f88b9f973b5b0542daabbdeb7d09e804616aa2c99c902dbeec56107bcb40564f523de334a2f16a71325bd08de1dcadb6ee009f60751fbebdb951373e44bb214ccb543af171235aabe1b54ee89b763a1d4623a02230d50f32e9baea17a950d73ba3fa425fdfcadb4186f12958e0610dea158b14758d1b96ba4fd07c955f79cfe1f516d3ffdbf0a6157cfba52ee5b335fe60cd5b7d664c83a794a671cd95f09bc6d76cb4795259d79eac8b6356e988b7fd4ddf094a460921067e0f1faa4eff77d743b70f9e68052fef81c8540e10074b944ae8ae5b24d42f63085eab0842a67aecb490fc4e1640e76c8afc7fe7f028da521dd6a34c1cac70a3a80ffc896e3fe2ad095426ba46166c28f555a8cece6c085b86399117a692397c50e3c2ca8985faabc995a175069c230cf2545e37096609c338351b216879580c0e7da9adb7dfd0c4c257494a288c3d97522fe770b58f28b7de900f51c2731eb4bb80e953067183693862734c4d4fcd7b4366d5ca535f5a7460abfed5b7035d7b96c5dd50761c18e1c4f12f5f46e767de4464c38c0d6e6eb67fff0bd3fbfe05c8e07308b55a0c4006dc4e1ba09ee037b52da4c8fa708a07dc54c5b602003cf83450c0a099c0d271d83cb963144126ff05153429898f9e147b4a184658d54209b424b657555ed283afb55ed28ff4810d51b426d032d95a920e875211b945380fa896acda0f607c23d5c5a4f1ad363f6510be3bb942417f55ff3ae9d284f681abc9ebcc940ea0abcb49f217f86dae93d841cd7232893bff66ce2176f826f9135adf446040906fa180364f11f3ba415582a7427594321dc7b5516fe3406766a6d045b041dfd918344962ac1fb9572fe010a0d997575272d3c677cfaeade5a23d952900a8b0c6a3fdea99593c611948da325eb4846cbec31c763ce181f89fbcb4ec224af8c8b01e23348cd96cbf5753fce8e783dcb892f672c7ed64e33ec7bab40c1bedb9bf4a619e5507b76e1040658979c6b8a29ff70b5865c1cad392dc018c56faa3132f9db637909aaba8bbb707ed7a885d8a7ff4b650eb4cc384fd9032ad12ff1a0da2c97893e44e99bf6ea785a5ff3001fff6d69eefb8e11aa7cd5e9cd6cae92a93608395534a6d3ff74cb0a0d1c4ac2d53f4dd8df0b42040dc25eff275d6f9bac891309ba3de4dcdc245933d0e6a8a61dd4ae556f311eae4bf21418b941b52e4c79d01737da919b53721775665f94ec8991f986f39735dacfa04258dc2bc7c993a8c3fd546f847e1d754c90dba485e395e7dc9a26286f42ba4fbd85f682201e7252ab3e97541ef985f3732ec69f30d7c47eecb957e76d42b40524360fa64d40c8e1469042365e42d4cd3918d6957439eb071fa6e34dfbc6b47e5161a6c3da61c6482ba385a7f3eb1338c3046d5f638134162cadbb3894b3c00f33a6ff422d712a4c73f70136e694f3f1b2400492c17bc668b4e43878108abdabbbe2f2a6177ad96504061ce712ae5eec6df75f0dd693bbf6d3a74b8ff9d2eeffc0c1129fc5e76d8868e696f7e1244a2f072ccf664ee3c638d83f3407a03ca4c0bc6f4a6344ea196a0dc1413bb704f01fa711909aab94b3e80d4b3ea3f1f5949605ba7f765457bcbe6cdff164649e1c6013e50a2fb4f6c45c39a9d76fed0d925707476e50fa35c6a6b98292f9786fb2d5e00c23842af546d3f94558bd8b50196586422617c91ed1b5df46315f192e288c3702a9665c0d36e81727ee5fe83d01ddc8c1e3dfc863551d226a24802fb4d6a3bd2f0e30db2b3d09ee8a10db09b5b3d874594544575c27ee247a31dffa7661bb1efdfeb918fa30477960fc4139ccedd1aaf634f0893a632f78b9a46a268bb32d00a797cb7a019ab6c8cce3ebebcb0c42cbbbca678cece84498c783836cec1725de31a95425e81434a47fb52de0dea4b0beee5b2d6f3643d80c0f2e93a176f88e58f3a765455b8d4c728f5c169fff32917f24de31b01f8aed86a21fcd6a6814079e43021cadf745148488b32c52cfee03515002020ffaff5b0168558782d14ea4770e219ebd5d14e0b84c11233329298d79dd27d1300acee9b3acd81d4c6974ec606171f53714e717da38ab50687fd45c1e186cb68dd1038cee6f4d9ac9a52d921406f2ecd2a4d7f497ee40404cab2bb4e531e784bfccb825f32dcd0e2d6f91459e51ce95b46d0c062bbc22f06e48e5a470b54950ef25d25fd14e9fa4e2ef662252b5f96377cba562974ecc8d0f1bbee00d95726489981c07db36d94503250c84435c0d68feae3d95ecfd65c7252b5301c5de40eb648926d52170fc4b02500fcc949fb9c2f67dd50dd317f5e68065665328a312b8f9599326d98cb9fd0017c1a165c40f8806911b76f346a12943a5dfced008722621c57b0531ba7f2f3ec3d536b8eac81eacbe913f0c9f06984c7555a2f8692a9d373b4cf380f494510ff6a27014ed43b9c0645efcf786a01e2f5dc968e5be73ed86a5a2a57c7f932ce3d08aab6670d49460bcecae2397acc3e198ef7ad832b120b68a7d39af3cbcc3b28416d136b5fc8ef4f21bd8d435f81bf7578c4f572620a079e95225ecb51fce2938cf1e14792670c403242bd551bf2a5ba731031f81e2266b4d01d2f258231d8e120d8dcf555df475f5a4de9a6a1ba14508b7919db4f188543324f77fa87c9211089a3dd28d3374b18edbce7c180ae76405edc3b9aa58d1ed12f13e1899b266d0afd77d3e08c6e744439be08e6d65392894fc26d86f95e684b44b07cb448f81544ba039c3f16502b131c4134726871f5201960752eea94422ebb87127aef94367b390eb9a2139b6607e94f04fb1e982e58df6f085ebe1128c61f04f0b6b15ebddf2b14060fe49bcce93f42932709ab71ef29ea6fa8bbea68878e5bad91cc49d2d4f18a460c60432bda2b7902d62156d41b81e5fd4a87f46a72643b18b94eb4e26275f9b6784d34891812fa9d1dc6a0cf2e48d72c77d8692e0b6dcd900eaecd82b30683cf19e5e14ca47452ea4dc320f6d15f52a2672777098afc538c7d9bf638bab7bfe48fec631bacf6d45b1c334e689b68cc26cd497e1e247ff8d38300320b770cf2a695ca62025a871db15f7c820d8badcd9b68356026d66105dad7c7aa400a8f6bdd439f7e76ac036a89fc5ffd19ee5abeaca9bfc00799b579de92648e8b6281d0d788376158db7938c15c4064f6b08c4919627b113f260d6f9bd6788967a01f2bc434ceaa267cf6fb865c0b0d7906ee00b154f62868714e466244d225e12b9cd1a69b4b36e7c451ce219b6f14513419af1f4c1126da7b4f6e297453c96cc7c981b2f0be492454463a157a947f4e98c3a4b32952bd746c761139d60fb0e5b6649cc2d5d58b78452ef4f927b8a73f2f98284070ec4676f7d2edd98ae871c8da3fbfa7cb43fafea9d4f6d39bac039e60575e768869ee111a78c6cdfff0fe908f59b5815eef1e1deb77d80343344de2ef5b5677b3c00ee1f1db803c2ff24f19daed50869aa2217aa300d8e1a35084d795e5a44318d6e85f38f355e1c0e7bbffc7c9815c02d7d1152f33e9353057b794fffa0b767b1428d15265b7a3165564456d460e64dc0333c6b21ff24a6fd990583e1bf6890cf069348e234819f9a631d112b9bc3a20aab4757e2180bcedb9b7c639a6a7fecf83fb7de22420b0f11e92fb8dbfaa022345056800c2e792f08f5f8ccdd4c3cfac823e404a43b14d6f477bb2993966ac35330d2a40cd4984eb545fdd90660aa81f8bb47a95ecedd457db85585db8401e37cb86cb212d8bd6050b4c7f651586f0484d629304b95d0b6b862324d0e5a2093a6df2c63ce1077f7c288a9aa448c0b1cc6ee3ef963c5eb15aaf226f9cfd7f9bc95e5e6365067326d44a9c7b835fad8ea6742c81b2bd8a9b08ee194e0120aca84dfaf69010a45648b56069db07bebd8229c87f75bc4c4bbd54a656583a6494e562a42ba805cbdba6395f2806ad9eeb5bab1f045f6c2f281d98a65dcde7de3d8f8cc47bb95d0ca3b004158d081bada68483400458fabf1d9e3d40fdab00ee30128b5433b5446de736ad6e12a43e60c8ee3bdbcd88806bbdf4b039410dfd1d449a4cea484211135562963fa0d2b24714c3b3ec10c5a522325f266c43e3af6f870117c216cfc091f01a80a18c20732105677fcb02c1601f8eeb4badecff6de15f258f52d31652a221bd967ad97956809ee69b850849d23765d7d48a1a907a03f24b1951e15376466b0dccc404b87232071af4072d55a9bc251c559a6c3bbcb942c209e310d8e2cfd53bd338163cb5ce01eee07b36ad7b20240ceb72a102bbaefeb71262e32b5ec23da0cb1bd3fbc94970ff92f5feded0c60a76190c29aace778e84ded47c07c5f96efb805117aaf3a2af9692a5b9ee1c072d10af3ee50e5847191f9af42b6793ee6ec2098325a4f12dcb1a77b94c8b259cb62d8574d21e40c293e70ceb736f29378cda1044ce6aef7c7f2483db5e7d6a9cf87a693879c690d56d746646bf3015ffe064f407c2f656c98cfa650ad181846a05d72d47b3de53a7d3074cebd03da6245a7d70c6134968a0c2104075dfe07279041f07086b7ee78a5c4a078238b21808f0751e03137c9544ea9cb7f938324d9e24de02d3e882cca386aa7fba994aa0808b500390c501fc7ab05a4e6a2ca998d7aabc5ba55b3181fdd949243a9c9c24e8b7d4d7a89346d5f08b532134d2ae9ffe66d624d1ed4079fd7719b9ec625d4889aec6b5e7c3c5d9837dbfefa993fa170818bed78ed1b95d119b92d46c01ecfaae9c2bd33fca537b6c16499df8efd8746c7ab1ec4d4d2fb3873544941892c211fe747488554f81b4a66207d8f90ad3bed0c6a31118c74a3920352f705de748c73c8652161f51c2e9c95916fd637ef479b049980252cee2c25ba72660ec0ff139011ca1edf08b6ec7fe370a9e578fe2928eb8d08b6a514f4e02889b07f1a1b3bc4de5365c91b800ea83657c490408b7dd5891f0e6fe8ec7c30cab117fcb3160a21e3a1b4bbb15bd298fce84d20850212ba9d8a20eef6c9f007b6396828c95808fd2630a687804dbf42237e2c1088180b2db97b5d7f2c8e8eac6b2deddeba7088afc3cb52b1e640c9d380664999c89a5891361c1e52a18572dd8977b2431cf0b058a8b359a553c7e9962d1f747f1bb7b2d1bb91863c2eada846e9694c2afb6d366b63bc810003005b8889c043aa21862ad3a69d5e7f22b376b28f7d9f5ed8f108ee34439141dbf87c3c0c94733148eb5ea1f44c2aa4cc9cc689aa88e1a56be89edb44a6b621a329d441a0899d3cd5869b7358eeaaf87173fc8947a470324fade71c35cb3dffd52a0ec4244cb2a5a161fecb0bad3dbc213c5bbe03da681cfccb01a1df0cd2aa4d7547008a1afb8a70107cf27c2875d9d1f21fe5f2ceedbc0ceb07a6834489eda46f48513aad03ec2f420fb00ea44fce13cc6282f18954ffa2c2bf8318225f477d6ef6d9bcd91c65143800ef3ec137c01ed34b1261ea423079b09d13da31b666a0082fd02602287e199a9a70fba6c57b57a867801dc2b10a67e90efbd7969f34829bc215erootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrubygem-sexp_processor-4.10.0-1.27.src.rpmruby2.5-rubygem-sexp_processor-docruby2.5-rubygem-sexp_processor-doc(x86-64)    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)rubygem(ruby:2.5.0:sexp_processor)3.0.4-14.6.0-14.0-15.2-14.10.04.14.1Y@XX@VV@UhTU?v@UTT:m@T=@T=@SAAS(5@R@RcRC@QiHQIQ3;@PP@PXP@P@POk@LLL%@K4@Iycoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.comcoolo@suse.commrueckert@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.comsaschpe@suse.demrueckert@suse.demrueckert@suse.demrueckert@suse.deprusnak@suse.czmrueckert@suse.de- updated to version 4.10.0 see installed History.txt === 4.10.0 / 2017-07-17 * 2 major enhancements: * Added experimental pattern matcher to Sexp. Forked from sexp_path. * Extended s to take a block and return a matcher: eg s{ s(:defn, atom, _, ___) } * 23 minor enhancements: * Added $STRICT_SEXP to crank down Sexp.[] and friends. * Added Matcher#/ w/ real functionality. * Added Sexp#/ to search with new patterns. * Added Sexp#map to ensure you get a Sexp back. * Added Sexp#new to create a new sexp with the same file/line/comment info. * Added Sexp#search_each to recursively search w/ new patterns. Returns enum if no block. * Added Sexp#sexp_body= * Added Sexp::Matcher.match_subs? and .match_subs= to extend =~ so you can match strictly. * Added Sexp::Matcher.parse to convert lispy string to safe matcher: "(defn atom _ ___)" * Added all mutation methods to STRICT_SEXP >= 4 * Added deprecation message to Sexp#structure for [s(...)] forms. * Added strict_sexp.rb to help you clamp down for future changes. STRICT_SEXP=1+ * Auto-require strict_sexp if $STRICT_SEXP is > 0. * Converted a lot of indexed access to sexp_type/sexp_body, etc. * Finally enforced SexpProcessor#process to only process sexps, not bare arrays. * Made Sexp#/ double-dispatch to Matcher#/. * Made Sexp#gsub work with new patterns. * Made Sexp#sub work with new patterns. * Made SexpProcessor STRICT_SEXP=4 compliant. * Retired SexpMatchSpecial & SexpAny. Never used by anything AFAICT. * Sexp#=== goes back to default. * Sexp#=~(pat) calls pat =~ self. * Sexp#sexp_body now takes optional offset. Use instead of sexp[n..-1]. * 9 bug fixes: * Extended Sexp::Matcher::Parser.parse to lex more forms of regexp. * Finished off all missing doco. * Fixed == methods on all Matcher classes to include ivars. * Fixed Child#satisfy? to properly return false if failed. * Fixed Sexp#sexp_body to return a sexp using Sexp#new. * Fixed map to use Sexp#new. * Only try to set c_type if it responds to it. Make STRICT_SEXP safe. * R2C has a hack in SexpProcessor to call sexp_type=. Renamed to c_type= in R2C. * Removed very obsolete attrset test from pt_testcase.rb === 4.10.0b1 / 2017-06-13 Beta of the above.- updated to version 4.9.0 see installed History.txt === 4.9.0 / 2017-04-13 * 9 minor enhancements: * Added Sexp.depth * Added Sexp.sexp_type= * Cache Sexp.line_max. Massively speeds up large flay runs. * Cleaned up SexpProcessor.process handling of result node type. * Extend pt_testcase for ruby 2.4 tests. * Extended Sexp.method_missing to only print on every invocation if $VERBOSE=1 * Extended Sexp.method_missing to warn if the expected sub-sexp is not found. * Rewrote Sexp.mass to be MUCH faster. Helps tremendously with flay on large files. * Warn that Sexp#method_missing was tripped if $DEBUG.- updated to version 4.8.0 see installed History.txt === 4.8.0 / 2017-02-01 * 2 minor enhancements: * Added Sexp#line_max * Extended MethodBasedSexpProcessor#in_method to take line_max and record span.- updated to version 4.7.0 see installed History.txt === 4.7.0 / 2016-02-18 * 2 minor enhancements: * Expand to support 2.3 in tests. (presidentbeef) * Return enumerable for deep_each, each_sexp, and each_of_type. (ridiculous)- updated to version 4.6.1 see installed History.txt === 4.6.1 / 2016-01-21 * 1 bug fix: * defs should have a nil node if body is empty.- updated to version 4.6.0 see installed History.txt === 4.6.0 / 2015-05-28 * 2 minor enhancements: * Extended generate_test to deal with 19 and up. * Extended pt_testcase.rb so add_19tests means 19 and up. * 1 bug fix: * Added and normalized tests to deal with canonicalized block args from ruby_parser.- updated to version 4.5.1 see installed History.txt === 4.5.1 / 2015-04-27 * 1 minor enhancement: * Cache processors and rewriters. Significant speedup. (presidentbeef)- updated to version 4.5.0 * 1 minor enhancement: * Added SexpProcessor::expand_dirs_to_files as a utility to cmdline tools.- updated to version 4.4.5- updated to version 4.4.4 * 1 bug fix: * MethodBasedSexpProcessor#in_klass clears out the method_stack for the duration of the block.- 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 4.4.3 * 1 bug fix: * Fixed a bunch of pt_testcase entries for 1.9/2.0 wrt ruby2ruby.- updated to version 4.4.2 * 2 minor enhancements: * Changed skipped versioned tests to return, not skip. Reduces noise so you can focus on real skips. * Extended versioned tests to include 2.0 and 2.1.- updated to version 4.4.1 * 1 bug fix: * Added parenthesis to fix the structure_remove_begin_1 testcase. (bocete)- updated to version 4.4.0 * Added MethodBasedSexpProcessor, extracted from Flog.- updated to version 4.3.0 * 1 minor enhancement: * Switched ParseTreeTestCase to minitest 5.- updated to version 4.2.1 * 1 bug fix: * Removed structure_unused_literal_wwtt because I just don't care anymore- updated to version 4.2.0 * 2 minor enhancements: * Added SexpInterpreter since it is such a common pattern * Added aliases Sexp#head & Sexp#rest for readability- updated to version 4.1.5 * Clarified role of s method. Fixes #12. * maglev: Workaround for bug in Array#shift- updated to version 4.1.4 * 1 minor enhancement: * Gave Sexp#structure a ~10% boost * 2 bug fixes: * Fixed Sexp#mass lying when using auto_shifted sexps. * Stupid fix for ruby 2.0 method_missing 'bug'.- updated to version 4.1.3 * Code cleanup... what was I thinking??? * Explicitly setting pt_testcase.rb to US-ASCII to avoid encoding hell- updated to version 4.1.2 * Sexp#structure should grep for Sexps, not Arrays- updated to version 4.1.1 * iter args revamp for ruby_parser 3 changes.- updated to version 4.1.0 * Added Environment#current so you can explicitly shadow variables. (meh)- update to 4.0.1 * 4 bug fixes: * 1.9: Changed !@ to ! since that is what you implement * True to my wtf comment, there was a bug in my case_splat test * Fixed a bunch of entries for r2r changes against edgecase parse/lex tests * Fixes for R2R * 5 major enhancements: * Removed :arglist from everything except :op_asgn1. * Removed block from resbody * Removed block from when node * Removed block nodes inside of scope nodes (defn/defs/class/sclass). * Removed scope nodes in defn/defs/class/sclass nodes. * 10 minor enhancement: * 1.9: Had to version split all my 'not' tests since 1.9 is insane. * 1.9: f (args) is not allowed in 1.9. * 1.9: f(hash, *splat) is not allowed in 1.9. * Added module2 test to verify module w/ 2+ entities * Added Sexp#deep_each and Sexp#each_sexp. Refactored from Flay * Added a ton of block arg tests. * Added add19_edgecases to help refactor a bunch of tests that all have the same output. * Added better debugging output for rewrites. * Cleaned and added a bunch of stabby proc tests. * Moved RawParseTree test data to ParseTree project.- Update to version 3.1.0: * Added test_call_arglist_trailing_comma__19 (presidentbeef) * Added test_fcall_inside_parens. (presidentbeef) * Added test_if_args_no_space_symbol__18. (presidentbeef) * Added tests for new hash syntax and ternaries in 1.9 (lastobelus)- update to version 3.0.5 * Added in_context to clean up code. * optimize inspect to avoid needlessly caching @line- update to version 3.0.4 * Added line number to pretty_print output if $VERBOSE- use rubygems_requires macro- updated to 3.0.3- fix buildsheep08 1527279092  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~4.10.0-1.274.10.0-1.27          sexp_processor-4.10.0riCompositeSexpProcessor%3c%3c-i.ricdesc-CompositeSexpProcessor.rion_error_in-i.riprocess-i.riprocessors-i.riExamplescdesc-Examples.riMethodBasedSexpProcessorcdesc-MethodBasedSexpProcessor.riclass_stack-i.riin_klass-i.riin_method-i.riin_sklass-i.riklass_name-i.rimethod_locations-i.rimethod_name-i.rimethod_stack-i.riprocess_class-i.riprocess_defn-i.riprocess_defs-i.riprocess_module-i.riprocess_sclass-i.riprocess_until_empty-i.risclass-i.risignature-i.riwith_new_method_stack-i.riNotEmptyErrorcdesc-NotEmptyError.riObjectcdesc-Object.ris-i.riParseTreeTestCasecdesc-ParseTreeTestCase.riSexpAllcdesc-All.rinew-c.rioptions-i.risatisfy%3f-i.riAnycdesc-Any.rinew-c.rioptions-i.risatisfy%3f-i.riAtomcdesc-Atom.risatisfy%3f-i.riChildcdesc-Child.richild-i.rinew-c.risatisfy%3f-i.riIncludecdesc-Include.rinew-c.risatisfy%3f-i.rivalue-i.riMatchCollection%2f-i.ricdesc-MatchCollection.riMatcher%26-i.ri%2d%40-i.ri%2f-i.ri%3d%3d%3d-i.ri%3d%7e-i.ri%3e%3e-i.ri%7c-i.riParsercdesc-Parser.rilex-i.rinew-c.rinext_token-i.riparse-i.riparse_cmd-i.riparse_list-i.riparse_sexp-i.ripeek_token-i.ritokens-i.ricdesc-Matcher.rigreedy%3f-i.rimatch_subs%3d-c.rimatch_subs%3f-c.riparse-c.risatisfy%3f-i.riNotcdesc-Not.rinew-c.risatisfy%3f-i.rivalue-i.riPatterncdesc-Pattern.rinew-c.ripattern-i.risatisfy%3f-i.riRemainingcdesc-Remaining.rigreedy%3f-i.risatisfy%3f-i.riSiblingcdesc-Sibling.ridistance-i.riindex_matches-i.rinew-c.risatisfy%3f-i.risibling-i.risubject-i.riTypecdesc-Type.rinew-c.risatisfy%3f-i.risexp_type-i.riWildcdesc-Wild.risatisfy%3f-i.riarray_type%3f-i.ricdesc-Sexp.ricomments-i.rideep_each-i.ridepth-i.rieach_of_type-i.rieach_sexp-i.rifile-i.rifind_and_replace_all-i.rifind_nodes-i.rifrom_array-c.rigsub-i.rihead-i.riline-i.riline_max-i.rimass-i.rimethod_missing-i.rinew-c.rinew-i.rirest-i.risexp_body%3d-i.risexp_body-i.risexp_type%3d-i.risexp_type-i.rishift-i.ristructure-i.risub-i.riSexpInterpretercdesc-SexpInterpreter.riSexpProcessorEnvironment%5b%5d%3d-i.ri%5b%5d-i.riall-i.ricdesc-Environment.ricurrent-i.ridepth-i.riscope-i.riassert_empty-i.riassert_type-i.riauto_shift_type-i.ricdesc-SexpProcessor.ricontext-i.ridebug-i.ridefault_method-i.rienv-i.riexpand_dirs_to_files-c.riexpected-i.riin_context-i.rinew-c.rion_error_in-i.riprocess-i.riprocess_dummy-i.riprocessors-c.rirequire_empty-i.rirewrite-i.rirewriters-c.riscope-i.ristrict-i.riunsupported-i.riwarn_on_default-i.riSexpProcessorErrorcdesc-SexpProcessorError.riSexpTypeErrorcdesc-SexpTypeError.riUniquecdesc-Unique.rinext-c.rireset-c.riUnknownNodeErrorcdesc-UnknownNodeError.riUnsupportedNodeErrorcdesc-UnsupportedNodeError.ricache.ripage-History_txt.ripage-Manifest_txt.ripage-README_txt.ri/usr/lib64/ruby/gems/2.5.0/doc//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/CompositeSexpProcessor//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Examples//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/MethodBasedSexpProcessor//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/NotEmptyError//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Object//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/ParseTreeTestCase//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp/All//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp/Any//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp/Atom//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp/Child//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp/Include//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp/MatchCollection//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp/Matcher//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp/Matcher/Parser//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp/Not//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp/Pattern//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp/Remaining//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp/Sibling//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp/Type//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Sexp/Wild//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/SexpInterpreter//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/SexpProcessor//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/SexpProcessor/Environment//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/SexpProcessorError//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/SexpTypeError//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/Unique//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/UnknownNodeError//usr/lib64/ruby/gems/2.5.0/doc/sexp_processor-4.10.0/ri/UnsupportedNodeError/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:SLE-15:GA/standard/bd5d0ef26a3e4f6c55b39bbcda80b66b-rubygem-sexp_processorcpioxz5x86_64-suse-linuxdirectoryĒY|ئEutf-8b61052a4130466eb1181ad1c64a3fa55741d3aa0cdcfebbab37e588ba5477eaa?P7zXZ !t/ OX] crt:bLL $'Nyu \b1~Q-|\1ɼυ& \@ ˳22؞wfAǑ;o3ڎ1E6s>[co@ԢmU)-eњc OIǰFOɵrLfcQLWB9$<3Fɰ3r9`JC;[nRW]im~X VgFh1W[nŅd.TGn>-%`?$ѹÓpԞh]!q#!z>QKi5s2^4.5lB銛Eئ9zO#2<?:h-z"tNRYwc rQ; Mc☩ҫ<o#&pډCajte@9}KƊ%n% ՞+d'f R (H$syd{aQIKЯڜE7w*'5d>Tg-|kV,LUWf_tr@ߋ prLmsC߼zGUm,8QLJ>< GTNJ~=sp%tnj-JU /0@~:ijwJ#PƲ:O,vr<_%JR+,$Gn_qS,Q<:%dONDuG‡k^z*;5ƄvԤ 8pd=s}#[qXC|m;eۇ8.vL`UMaa[r=k֖j3rJ|UJ}WW=oGz/@NNCOn( ٵB ȳΎ+!l.Ԝ(=B2#'۞Ĝ:R|l~9玿RXglg4ؙZfA!Q8KɈ{No* ]5`cOON&y1ʁSUV'[U*f^q$\Flj f;FZ1gtBw^K<fvl1WT m1TsbƜoG5ܠO5+ьw$_KXÎϻyO2v(ı05~S6R7',6#m`Bq(VwcQk#8Ę)5L D_]$m c.65![͘3S.*l bA&0b\\揓Cv܌ΐzoy'^13U!9;xG[C dWHt`Naз>b`z%nf~pz>gʪ[kv?j^0S.XC@3a7L܌}gtbSY]CM.zy*bc+K~+"kfQ=ixddό}"*# ͡os8,dd"M%SxmXr??i57_ |)] ɠ T 9>%b]f%@ IX$Ӓ,דO L`ϳmϩϵ|VGX=8`=2>UDI\BwݺR7"M~ݗη.H_PwjQj'ḷ;QDCNwfL&͠vI9 qTș). 8evˇmQǙgl)@Y36ϧI(^u3{>UJ,M+UMJ yI>r(j=5V/z+nۃEt.J(>H*TLE T`bɲ/q#pQ[ˠ=P7PǓFp2ҳ UPW |Uk|e!m?s۝&GW)!<>`-gPCϚ?$JWʌ 4.o[ϏzY^Bц+ou1L?!q$caIȰH|۠.-^ϽF'!k)Й1'xgHM/\ hk1|'XdM0&wu>1iC&Ǵ(g۬ԸpGMg(??Jq|/dLFg v@܉[Xx%_G#*83nҾ!"gsJ\CA t~bqt/!b:>t!q6h$~ ܸ tf}M\]7污0:/mSx7nu(E#%aY €_\ wϹ_%c,=; RM/>gkb<&# G,pr!,bf2Wdp)qR/jI]֦%踚!WP'RӁ\x-&]]!p5DEffĩGNɚJ4Z=kP&m7 2HoVlz'\%zۮxTI|5lEJ0WP I~mp ^҄I-TKy׶H@*YvTfq!5 ~Tg1CkA2 ;m689m9$VՑ~v]115u_H=U.Dֻ[ڗ>-xu3+1}k&4[Iؘ!X7-HGp;]ؑ9;*d8\wh2i%8PHTuc1؇bqIuwʸ'yV[pY܅ƥUeKۄ~$Zvgvp1l4bQkLdN[p4? 8,u栮 63oqF~@`o:F>v:0:! &aI k~"[0 bOɥklVX:񛲈pq;_GH i}0?k0 R8u** WM~-#{) }cU17;e2}T3~ 1lx%9џoSφtF ZJgƞL'˵Z 3~?ji1N"LZ㕢:j7Kv?6߾(r*?eo'%Ҿ *EݱqPd$::V);:J5JZu`͍H8{&A&܆Nz6rKpGi g\dEuzO6I(䣎cdu_"};]Of'PC~F43{U p O(nZ\Y ô^]ᕃbV9V4]iy:CŻN^L?~(1vZCr+G 6.6lVsg"))JH :B{5=T_xFY4aӈsk="cA^ p`]JI+yQzaEcҺg8d@NQ*xiCd0?ӧpː3 GgN=['+uȳrw-iĤn498QzO4 v3~@sse"3mN//N9RE"2XdK[v=E}Fj٧B6L8\%%iRe?&V.y`%>qUZY36V! ^WCy(d]WafIV*bc=7iw%gğ%shuD~{pjM+!纥i/DGa/[،qPf(,7A='ܭeNInš J#ENJRڨw*fҊ7٦,01ˉRʓMYo&1e)CP#"%bʰ`FT;'0TV]~ owxֿ{kriNV-,q`#1}G@BFxsKT[gW: *2Ighe3#˸>u:.Z C2(}Vu_K}E'O8BTF,( Ƨn2v3*+ +=W%|UОie`H)YxLN9}zH 6mӏٻ9X]!Gpώ5+;Y"WSʓ2&韃Py?cn)}$ιƉdM`qr_N s~/y%Itv&jF>XIGc \+x`K=喍6?P`tkuBЃ{}Q\Q%WѬR#TDS2oo/.E~#w6 /wf>g MEbn NsH2T, ľ˰@.4l8RBDZj \טο|Y;&vLf$N3-Faesѯ= Y.ӵԎd w!7YoΠb_ShKj+" O/qW<_<d']WEƣf H 'U* ؠ#8ZXRVy(߷%PP:V(@KrR~i ;bB QV+qVʌoQ?T~kr$[QEe70.Q!cthJ ڌ>ךgaX'u*2tV˂ꯝfHd@CՇr[5 WEWIj?46W `'.͈(s FJcz6 oFy@`5(XQ 5݃b&́>&,Eݢn_:E;]]Z5iGxk^Ga*c#u:k|yd~YҴNJl| d`ne-}6p4B܁#lCb;xw>uaS )阂VP˻sap  _d3\+L!rl Y8RoA9^Õaf3`GE7)4Fl% ^4,@Afa`%9(Ruئ(&ΘS^+fC?踔zJ&-۶$,I*_HDrJTRu˒Q^8|/i/W;Ji%iH59o302 D&T2-u޳P!cYe:? [)d{PtF-Qb.W} |rtфqĢlI~9pPG%Amy4 U \]0) K{5O(k^_0j2y΋oН̶6qb>K>qJ+%_FLEdžx>ٮ'N#=Hrd B_iŒX77jW_fQlx[,_ҦE﷑19NNb[z܌x-0Υx'Aug=AM( M*!Ew5Kkt SMd/d>#`,< خ nhʈN(/xf  |_{5io@|,ދ{v` E}55Nbnw—9"۶i6˾̥]  n$"uN*m,5WoCvUTGmJ [uC9>v)l#^ϔp(t urڥdjP)83iQjWP=fg6X4xDllZ)Oa?\xvI?V+jDy8Lv"zhh͵#Y7  θh"n2It] TŌY)=7a|gә%JmDuCzPNGI'h1>8iC)u֥mc,2/FɍekyY<;#K/HLwޅ. AɌ@jI s.Hh9W2\D{͏V$: 4V7G< Q ?MRUK[Nw7̇쯅 [(o9ں F&l` {V6Q} 3N JPBs Ba >#% * )}4}$j4vۿofqjN tAs}Jw<]ªDcurɞr7Jz{9eɘ xQ]51q)$~AF7k%eٞa,AJHn[h`iW׿ULXؒq;A[gJS-H ~TO aR@ $#ik7ruwՋOYxYϽA ,) .b2d+R#Qhx&{sx!ȯ>*+{I XnotMnqbn3{S# l*mOBi4^{-»evk@=0M E+vPt6U7⌵ߣu(ߕQ)ިd37HFph͚\.vapmkM_:hƺ*Y g+÷#/k\$d=YtW#ڮoi6 sCype DyuAIa`YD+fHFW\6ra):Y eK~fqYُ|5]U^tө;)ܿ75 }c`Ǥ Vx)펧 3G.ZȺ"j $r/- 6wqqߴ͆8S"F߱9%Y3h;8#g-O7b_^ߡ(엁7}ڢp1' si0 aYOy/oʢ9O3i=b@iuAqDz.*LL7|FH$9%sOI>Z=jɃheQf@ \5Bhtf|â;Ztí3 P(\tWT8V •B,@y7H^jwCjj,WGg9c<S*21hBkg­JN=C ĀM>eW9(r1fIw% =|J,=Ȕw[ UOGyeF!+7I^ߎ;k_a!ܴTnόiMGP:&+-l6f ('@XMXا)r7:i_(/J .Ӽn#S9NK`5[0DH9{YzRkʅ$^IE`3+B!m$oy42ϲ sIMaV>Ӷ|&>ADe͜-gm"' |ql#)0` zְ9|((U8)[6E\HD$霩iz#9* *MyD#JE+)I8 BE`_RΨ RsfZS_l|"8 9ٳߗ#EQNc:bil^d|%G: ߫$ӊ^Qq,+{okEbF] u"*(q=(ȒJK`gbɁ`_= lB\=ٓ' Jz`}X$zjF "z;G+P]< dӊQE(`%6,'64 3ѼoPY!gʍo2B9-}{`XAs:s? 0L kiZY e5h?6Tղ`Ek/__ONvKOO-WıDox* O.Z$!_[<ݭ s EYBg,$^JE.ߢ~^rdD,K 5V9m^Cz3M]j]M['xgfsOËߜ*V07DH.= %2ƞ=$&a#tpX4s\[w 9b.' 0rG ->A7( .g@;z@t5,9v X#k=`K JVk9anh66a؁ s3c}hUpBΕWiʄ(d$nTϜ9_-'ZýmMzV|qЎ|$l!VMLy<:[<~M mV4NPp K] {R[@AwcGa49#Hzp##fce<$$e8-7޲ux/z1upJߙE=D#9 NܪxJޒU'gKw!<8d2NlP%Ф5 6GgVU]l#us2Tk!:tf˖K:9+hdZD K b(DNHq?^LtϱqVO.5 o}ܟ]iyg zf56X2vB9A9M!֒iR@ Yߞg.=\dߺ(:M&wf)OD_B%FbJ(sqt8wp b)8ӄ&[Peln]tķC= F5CՖP`R"Tw3wiӷy69Afg(\2 D7"oA4z)V#XV(*2 }g1E*VQ*lL-4K?gýn/:W$dIm#zT+o=1/ntKH#5DcRXج&p|ܽM ޮfJXwx`6٭dBK"]?լ|OZHXl iU(sG;WyMÇO汄?!Q܀i47 SƒݔMVY1j+}OZc1a/&NNE(Zw! 9JdEBMP˱8j<'g Uꭸ7Z9Wdʜ 4TKR.G' i7pӓ~ >#B ftv&y;OMR/u~HOSɕ (Ex4"`.MtBÖ?y:=Wa%8]I;IIwԉ慻Hϓ3|E mȀryfޏn4 'S-BrH'CtMAU]$ )CPH4H31L}7!ǟf*(v|# ^)4>Ǟn*YҪcǟBokWӻ.Ӵ3s=0? 38BArR'3_`Q^ՎF1*l}D#d_Qəs]N2~bx ~| 6 ]h8GfQ)\us`Fq;>6L}/-7_X3ͬQ"յ":ϰLnwKO0+&HJ!Z*՛o4\. EW~z֙AArW MmP| p!,fJwŵVL Ϩ%i?0u4Ts=׋>U UNBDpK\=5LtNJ"Jx"qX,X솋B)&d<䢼ď3G޶pyR&n¨zj!CFǁ)8tp}yt6c<aS‹LUl.p{x9K)#w?f.OJ*&ba^mDH p3(\UYqͮ?V-BPl +vH^j|'y(փ)6m̓BGp$9nEG7%M;οNW:ev2~L{midc@^S ~i"dDïB}^ɣ`&FyʩtQ8)BÊXOg\*W#nuR9p&'⛍Mi Pw=pWS!t.G6ͨBQcJ/iϝ 5'vOR#ߢGz3WWU-6@7JV8Vk38Zpt$NI*^Vn &H6HڱyA@.߮M DmTY15tIs<0BguJqQ:+/mc bԍZχɩ'jM ,HBsɤsަXCq3iD<E44R>5J 9kYN(ߗa4Z6lF|]mdmUe|HwZn]aS;O8UjеZ>-'*a}ЪHM3c\AlάM^PQ"%I<ky}Bn(7PRj&6DRTx 8u bcjgE]I:DOKv%u\SkB~ vg⍡Z{W>av\QICx!Ks̒!OL&@`}=DiF[h짟T D;b<:R|#|Wd8H*ns@k#P (@¾_,yⳈ0Gm@^E*>:^Ak/aoyfTx%;3쫚G f8t@۵%KHҮSO$0wPMV.Aݢ]bm*ҲL~q r e]LF a>ԚIF`hGYD.;Ḟ'73Qd({8H/!Z w\%28s.:⬻PE +=˔WBN$6Qp-H%;[Hd k;@/LG9}Ojy"FWJ*rD D0z^7ň bܥjpJm1frWߥK?AfV4 eC`5+]T%Vo$aokgEMܡd*6  Moq6\#SvRA]lE#@2c41~G$h_H(M'x{*j".Tt]e4>/~/&Iyg4pWA,a= 4ٴ ^áL5#J@ "3Z5 Aߛ^t=/<(po $~В+Uɶi ~2Oׯbb髰u1s^X֝,{;;M8|2K#Ni NwMo~OyrW9#{Dz>} iUP}N8JXOV HJ7+a>XfX+X[{%ḫZ;[h`@!/$KC/Y1 4[EȾ9RܚG|"jOzL#r'5U(X!ݢiKۮR9}fȝS=QLw~6*: QTP@Dlb=>Y#o.Ϯ.;LF7+-uoJ|m7Om*_:8`B wf7+D ykb7IFˠY5G]kyb\ ֱW"p/b2AQWf2l FvS8XXn4F]٦U8smλj3k;vװGY Ktv Z{ R /tӴ̇ R@QkG==UhyY:U?y˕(/ȟ{CEq.W23Q\6Cy8v*@5ۑ+γo>K 8tZ黶F? ]1d6~%?)"cߺ8zqZi0 " YOQ#z==NHQPZVԦ=2uX]75%0($ K}@qs1 b& -8gqJ)+[z"N% g?3cE>:JN-(:hє'm qr+":Hۧg;x:73 C gwI?qѲB,E~/;`/ F$(d;~\ũ'_=QEQNݓ=W߁p=;I1ݸ̳ 1AwHUz$Z%)xi}1M ot+{ 򏶹r*W!icj ٯ,#rP9>Xb2JE#x9R3@EMP85l rк겴#/~8AQ0r4H{)q(N lPAKl :0Dz>%椇dU@f_X1k[K[*aw3LosT0xMt5,'nb^MR`)Je7"DeSPfv tq}EP2WK9iWfV@: MqFdafM_{lsRx]\JOꚓ.%vJSt"!4& {‹dkmc9վ`PCNs"Wgo\zf)b@²gW=G6Jm 9}n< F][Ufȯ`!-Y=w?d4ڥId< ϥt|YBZ>zp&b PO]V2H#Vbt(4^ D?7hyc6dAm}ՁJy-J1F_e)# 7[ww:gp2{#m#!9t,*Ӱ5  ccV_Æl`} ˳U6HJpoq%ֻ,G!mD`A]j6KAJ,/[}(  ԝP)2hp4n,sDW_y^!'E:kr&ؗ_n{a}ڍ09yb Џ,}e@'PVUV3!M )C$礙EɊ#$⯊5# KLBM_%`"|!,فۇ/"]N5ڟ#Թ2v:iXhXɯ'-Ĺ71C_\~., Lʄ1ծ9K;φάͯқT폩p[DbVA;R ~fewKtPQ{֝zNc4b gNA+ȫVr?kItZ´1|ڜHO'GR*/t1eJ`߰!Jw#2vɤVOZͳEH軭z_6.m6DԵ;Vn#*_10*5^r ڂ!x{bCO@QG's/2=5( .:L) xT߁ a͍тsaS1 +q7pbԱ@p_`#tz\]U%×6*bR=[P~OWX'ΚK9&8FKwú<ǿw>!֊poPT M[+*hs ]ՇK W*>; / :vK#fUT@y֠QbR0jZTUxc٨kGZA\ߵF$'E껱]^ޔ5RC9{4aC!R24#JvTJs{ ~w7C1}&D-apPuw)0Oﻷ#7r{&eʌ3E 2%dbl[Vu+}G fλЧ~~2,K葡`ZԀ? ui(iM}pToDM%9 d#-R"c\Օ{=&f=/lд'a9bek ׹/d;zDp.J'9\-lCbJс#Һy+jˎyHжd`qQ;&v"se\}HRO}4p>VHL4^.Ir&F-_P Bѧj i'~3IqV"T47! w>x΃ z\>gs1ZeG9cwŖA 7.ϛ8?yKqNY\لD |4fbpjZ0A{81IɎuΛ}+) өu УQ/bn5qVr-*(`sY&FǦQRXz(i&5=ZzW}K +ACsRo"6%|$QڅYPg5yr% n֪`x:3ylA~ AE|.vk,"-dռ1USTx|,e5E7x3fsp3rSƨrɘSj:,MZg'޺]x pPTIXEKtɡuj?X-+fA99d2*pƙBx\w؂ip8P0/㽛<:*ǹ\tCYcئ!W-m!7t~Um01wSNmQj\vU2 A72LZG9>\^,}>ߨJV3o~۷Ltk0tpMxLuMɃY8 %u(ͬ[D9dH@ 4f+u-2X$Qd>