ruby2.5-rubygem-sexp_processor-doc-4.10.0-1.27 >  A [ WLp9|Xze[˟Rg,@iۭ$lm<`yAt!^s&ϲ))U$Wk_Xu](%nNxMTۖy:#0樅l)O5]>˃MnB߫Y-24 >}WGZ‡wswXnti8iiQ;f}QD$\6@=Cs"u]MzE/;|i5R-YԌVM>T74]=pA=sX#g *sr{ҧ3@t$lL{zG?&khE$Na3<ۅBY#vc X":'E˼eX>E&8}8&}\r^H%T~ >p;t?dd%, 1 W /[alx     4S 58$;??BCLC`C(D 8D 9D :F FdGdHgIkXkYk\k]n^z bchdefluvz`Cruby2.5-rubygem-sexp_processor-doc4.10.01.27RDoc documentation for sexp_processorDocumentation generated at gem installation time. Usually in RDoc and RI formats.[ WAibs-arm-1vSUSE Linux Enterprise 15SUSE LLC MIThttps://www.suse.com/Development/Languages/Rubyhttps://github.com/seattlerb/sexp_processorlinuxaarch64n/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큤[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=[ W=cb8b0d218f81f41dd14761e75332b009c068895cdac28d6a53ac4dd5cf1af3deb8771941b5f033b43e48223b87503219addccad7a9ab75dd27628d20e47285c2e5dd837264e91ae4e8d2d938903ea56b7286e47bb06c2c071f7a61750796fcb317f43b607987937010ef0a457eedbf49cdef28259b9c2ea947f65867a2aaecf37247a2d2329c1db0efe9749656b5d69b39ac29adc43bf9ae8445be2df96d0082e88f5cd044b6475bceb31e49a8d74fe50bd456a345c891809c6b03bb27ffa33268151927017aa8a45dfad639bd2a9850092faec4ff0b92afd3542de46142024dff07da1f5ee0df30c9eea3c7569524ff0c33af17f0bc00280d588c29c23651c818808dd2d9537b0dc6bd55344e41225ea8c804f45ca4e4cc165d398f40e4bf127e21cbeb430db793aa53e21f7bb88132366a9ab1671de1dcaa99410819a6660d829df4b5ae9041615f5df49117cad998d5d2a4ced9c0a103a943026bdcc378b79bcc09080889755b353fe471e3d12b3ba9c814c2db7c2133f36373d3c59f5912bc753d72dbf5346ee61154c4a49a00b6db3915fe6079db2cd3829d3d282f36625c60b2665057ed31f0b467e4aa1181594d8b5f6556df0803f5c37ba8a6704eaf62abffb7d6c14484118849de91ab99510b25a14628ece215265a9e314336f5ed3203cd9691670a9d5d92d07adf49bd813c6ec37566c85aa5758c57303e57d67b04541856a8da9a9b5704c22779d97e28fbd45afcbe264fa17fe11d58c38a01dd62e372e31ec573b9fdb4ece159f93b27590d1e86ac833df358d8326a3577203a800ea9da4c4571782e094a3ad9b859837efaf6c3019ef08fae1f60fcf0cef725a2f943a0d6febe4475be75daeb5e3a569640234e295ed87c035d893ecd978c2a72078b96a10fcff0e6b71f58c06be5bb2b0657d4a4ede17f5eae496d80f17600d000905eeca3c2103634222db46cb03ba25be5fe8566b4c5fa5b8962e19137b8031fcae52058273b9dcd7125e01e77f8aafbb563172a40103277041b331391abcf52aebbe003636f405417ca104ebe492174e9be736c4b59d1345062a48007d38866dc567ca737b3c90874a37206d83a1a5d894e37fabe7823a01cef140a3160fb9ca8e823e7712b1232bddf27e04cfe6e9e4782168570261be9034a917d4c5f302cb33e84e1cde3e17e7354d38662c1b72b11633460284af840f8368a22d6feb2f9e92aea2034eb735da2a3962c067b2dd09aeeee14205e69b0dade5ebf3ec6fb96974ad3bbb02961ba155027bfb834109d4377b8e7261a76f397e03a8bd4cd2bd1e0546eeb8996a72b45665ceeade405554d430c395aa044d415f0ce1bbc8e9e12e97d0dab9b8f44b7c9646a59e33bed519a0250f1ca3d9cc1ddfe479a6f2b46b1d910842941f2eeaf3b025cd9491f69eaf7b18b518f494d8f426e5cccecaab1c4b40830e6896abacb2fe64341f99b131c04538fba1c34573257e9658f59874f899748e42b426573ca23530a9cb1e7e45e0563f2ceabec4d6dff54fa2720e1c0e33ed69cabfb32d99a573a74c0795cad39fd5373690789d09c7ae75b2af2aaf53d338037b5d6331a3f02d6eec3a16f7f62fda19f9bea3834b4440700837752c3532d8882ecf77710cec7d1b56fcd1f9dfc2779226559a2da31433ca39edbdc44c7a7eddeb8f093f1bd52865aa059147b7ca387c207a3e5fe1b9ead6a38a84e9c25a394ae58d07034821b82a633bbd9a8165ecf4791e62c367e7b672623ab4e209a7c57fa84d44eccc67c7549c71e04f9596d38e4e859870e2582f2f79af59e42db861a5c8c63cac6246d5d35e8d5d54b3afd7f386cf740fee9346a2f1af2d747f0985f4cfc41698b8a99c932e949f88b9f973b5b0542daabbdeb7d09e804616aa2c99c902dbeec56107bcb40564f523de334a2f16a71325bd08de1dcadb6ee009f60751fbebdb951373e44bb214ccb543af171235aabe1b54ee89b763a1d4623a02230d50f32e9baea17a950d73ba3fa425fdfcadb4186f12958e0610dea158b14758d1b96ba4fd07c955f79cfe1f516d3ffdbf0a6157cfba52ee5b335fe60cd5b7d664c83a794a671cd95f09bc6d76cb4795259d79eac8b6356e988b7fd4ddf094a460921067e0f1faa4eff77d743b70f9e68052fef81c8540e10074b944ae8ae5b24d42f63085eab0842a67aecb490fc4e1640e76c8afc7fe7f028da521dd6a34c1cac70a3a80ffc896e3fe2ad095426ba46166c28f555a8cece6c085b86399117a692397c50e3c2ca8985faabc995a175069c230cf2545e37096609c338351b216879580c0e7da9adb7dfd0c4c257494a288c3d97522fe770b58f28b7de900f51c2731eb4bb80e953067183693862734c4d4fcd7b4366d5ca535f5a7460abfed5b7035d7b96c5dd50761c18e1c4f12f5f46e767de4464c38c0d6e6eb67fff0bd3fbfe05c8e07308b55a0c4006dc4e1ba09ee037b52da4c8fa708a07dc54c5b602003cf83450c0a099c0d271d83cb963144126ff05153429898f9e147b4a184658d54209b424b657555ed283afb55ed28ff4810d51b426d032d95a920e875211b945380fa896acda0f607c23d5c5a4f1ad363f6510be3bb942417f55ff3ae9d284f681abc9ebcc940ea0abcb49f217f86dae93d841cd7232893bff66ce2176f826f9135adf446040906fa180364f11f3ba415582a7427594321dc7b5516fe3406766a6d045b041dfd918344962ac1fb9572fe010a0d997575272d3c677cfaeade5a23d952900a8b0c6a3fdea99593c611948da325eb4846cbec31c763ce181f89fbcb4ec224af8c8b01e23348cd96cbf5753fce8e783dcb892f672c7ed64e33ec7bab40c1bedb9bf4a619e5507b76e1040658979c6b8a29ff70b5865c1cad392dc018c56faa3132f9db637909aaba8bbb707ed7a885d8a7ff4b650eb4cc384fd9032ad12ff1a0da2c97893e44e99bf6ea785a5ff3001fff6d69eefb8e11aa7cd5e9cd6cae92a93608395534a6d3ff74cb0a0d1c4ac2d53f4dd8df0b42040dc25eff275d6f9bac891309ba3de4dcdc245933d0e6a8a61dd4ae556f311eae4bf21418b941b52e4c79d01737da919b53721775665f94ec8991f986f39735dacfa04258dc2bc7c993a8c3fd546f847e1d754c90dba485e395e7dc9a26286f42ba4fbd85f682201e7252ab3e97541ef985f3732ec69f30d7c47eecb957e76d42b40524360fa64d40c8e1469042365e42d4cd3918d6957439eb071fa6e34dfbc6b47e5161a6c3da61c6482ba385a7f3eb1338c3046d5f638134162cadbb3894b3c00f33a6ff422d712a4c73f70136e694f3f1b2400492c17bc668b4e43878108abdabbbe2f2a6177ad96504061ce712ae5eec6df75f0dd693bbf6d3a74b8ff9d2eeffc0c1129fc5e76d8868e696f7e1244a2f072ccf664ee3c638d83f3407a03ca4c0bc6f4a6344ea196a0dc1413bb704f01fa711909aab94b3e80d4b3ea3f1f5949605ba7f765457bcbe6cdff164649e1c6013e50a2fb4f6c45c39a9d76fed0d925707476e50fa35c6a6b98292f9786fb2d5e00c23842af546d3f94558bd8b50196586422617c91ed1b5df46315f192e288c3702a9665c0d36e81727ee5fe83d01ddc8c1e3dfc863551d226a24802fb4d6a3bd2f0e30db2b3d09ee8a10db09b5b3d874594544575c27ee247a31dffa7661bb1efdfeb918fa30477960fc4139ccedd1aaf634f0893a632f78b9a46a268bb32d00a797cb7a019ab6c8cce3ebebcb0c42cbbbca678cece84498c783836cec1725de31a95425e81434a47fb52de0dea4b0beee5b2d6f3643d80c0f2e93a176f88e58f3a765455b8d4c728f5c169fff32917f24de31b01f8aed86a21fcd6a6814079e43021cadf745148488b32c52cfee03515002020ffaff5b0168558782d14ea4770e219ebd5d14e0b84c11233329298d79dd27d1300acee9b3acd81d4c6974ec606171f53714e717da38ab50687fd45c1e186cb68dd1038cee6f4d9ac9a52d921406f2ecd2a4d7f497ee40404cab2bb4e531e784bfccb825f32dcd0e2d6f91459e51ce95b46d0c062bbc22f06e48e5a470b54950ef25d25fd14e9fa4e2ef662252b5f96377cba562974ecc8d0f1bbee00d95726489981c07db36d94503250c84435c0d68feae3d95ecfd65c7252b5301c5de40eb648926d52170fc4b02500fcc949fb9c2f67dd50dd317f5e68065665328a312b8f9599326d98cb9fd0017c1a165c40f8806911b76f346a12943a5dfced008722621c57b0531ba7f2f3ec3d536b8eac81eacbe913f0c9f06984c7555a2f8692a9d373b4cf380f494510ff6a27014ed43b9c0645efcf786a01e2f5dc968e5be73ed86a5a2a57c7f932ce3d08aab6670d49460bcecae2397acc3e198ef7ad832b120b68a7d39af3cbcc3b28416d136b5fc8ef4f21bd8d435f81bf7578c4f572620a079e95225ecb51fce2938cf1e14792670c403242bd551bf2a5ba731031f81e2266b4d01d2f258231d8e120d8dcf555df475f5a4de9a6a1ba14508b7919db4f188543324f77fa87c9211089a3dd28d3374b18edbce7c180ae76405edc3b9aa58d1ed12f13e1899b266d0afd77d3e08c6e744439be08e6d65392894fc26d86f95e684b44b07cb448f81544ba039c3f16502b131c4134726871f5201960752eea94422ebb87127aef94367b390eb9a2139b6607e94f04fb1e982e58df6f085ebe1128c61f04f0b6b15ebddf2b14060fe49bcce93f42932709ab71ef29ea6fa8bbea68878e5bad91cc49d2d4f18a460c60432bda2b7902d62156d41b81e5fd4a87f46a72643b18b94eb4e26275f9b6784d34891812fa9d1dc6a0cf2e48d72c77d8692e0b6dcd900eaecd82b30683cf19e5e14ca47452ea4dc320f6d15f52a2672777098afc538c7d9bf638bab7bfe48fec631bacf6d45b1c334e689b68cc26cd497e1e247ff8d38300320b770cf2a695ca62025a871db15f7c820d8badcd9b68356026d66105dad7c7aa400a8f6bdd439f7e76ac036a89fc5ffd19ee5abeaca9bfc00799b579de92648e8b6281d0d788376158db7938c15c4064f6b08c4919627b113f260d6f9bd6788967a01f2bc434ceaa267cf6fb865c0b0d7906ee00b154f62868714e466244d225e12b9cd1a69b4b36e7c451ce219b6f14513419af1f4c1126da7b4f6e297453c96cc7c981b2f0be492454463a157a947f4e98c3a4b32952bd746c761139d60fb0e5b6649cc2d5d58b78452ef4f927b8a73f2f98284070ec4676f7d2edd98ae871c8da3fbfa7cb43fafea9d4f6d39bac039e60575e768869ee111a78c6cdfff0fe908f59b5815eef1e1deb77d80343344de2ef5b5677b3c00ee1f1db803c2ff24f19daed50869aa2217aa300d8e1a35084d795e5a44318d6e85f38f355e1c0e7bbffc7c9815c02d7d1152f33e9353057b794fffa0b767b1428d15265b7a3165564456d460e64dc0333c6b21ff24a6fd990583e1bf6890cf069348e234819f9a631d112b9bc3a20aab4757e2180bcedb9b7c639a6a7fecf83fb7de22420b0f11e92fb8dbfaa022345056800c2e792f08f5f8ccdd4c3cfac823e404a43b14d6f477bb2993966ac35330d2a40cd4984eb545fdd90660aa81f8bb47a95ecedd457db85585db8401e37cb86cb212d8bd6050b4c7f651586f0484d629304b95d0b6b862324d0e5a2093a6df2c63ce1077f7c288a9aa448c0b1cc6ee3ef963c5eb15aaf226f9cfd7f9bc95e5e6365067326d44a9c7b835fad8ea6742c81b2bd8a9b08ee194e0120aca84dfaf69010a45648b56069db07bebd8229c87f75bc4c4bbd54a656583a6494e562a42ba805cbdba6395f2806ad9eeb5bab1f045f6c2f281d98a65dcde7de3d8f8cc47bb95d0ca3b004158d081bada68483400458fabf1d9e3d40fdab00ee30128b5433b5446de736ad6e12a43e60c8ee3bdbcd88806bbdf4b039410dfd1d449a4cea484211135562963fa0d2b24714c3b3ec10c5a522325f266c43e3af6f870117c216cfc091f01a80a18c20732105677fcb02c1601f8eeb4badecff6de15f258f52d31652a221bd967ad97956809ee69b850849d23765d7d48a1a907a03f24b1951e15376466b0dccc404b87232071af4072d55a9bc251c559a6c3bbcb942c209e310d8e2cfd53bd338163cb5ce01eee07b36ad7b20240ceb72a102bbaefeb71262e32b5ec23da0cb1bd3fbc94970ff92f5feded0c60a76190c29aace778e84ded47c07c5f96efb805117aaf3a2af9692a5b9ee1c072d10af3ee50e5847191f9af42b6793ee6ec2098325a4f12dcb1a77b94c8b259cb62d8574d21e40c293e70ceb736f29378cda1044ce6aef7c7f2483db5e7d6a9cf87a693879c690d56d746646bf3015ffe064f407c2f656c98cfa650ad181846a05d72d47b3de53a7d3074cebd03da6245a7d70c6134968a0c2104075dfe07279041f07086b7ee78a5c4a078238b21808f0751e03137c9544ea9cb7f938324d9e24de02d3e882cca386aa7fba994aa0808b500390c501fc7ab05a4e6a2ca998d7aabc5ba55b3181fdd949243a9c9c24e8b7d4d7a89346d5f08b532134d2ae9ffe66d624d1ed4079fd7719b9ec625d4889aec6b5e7c3c5d9837dbfefa993fa170818bed78ed1b95d119b92d46c01ecfaae9c2bd33fca537b6c16499df8efd8746c7ab1ec4d4d2fb3873544941892c211fe747488554f81b4a66207d8f90ad3bed0c6a31118c74a3920352f705de748c73c8652161f51c2e9c95916fd637ef479b049980252cee2c25ba72660ec0ff139011ca1edf08b6ec7fe370a9e578fe2928eb8d08b6a514f4e02889b07f1a1b3bc4de5365c91b800ea83657c490408b7dd5891f0e6fe8ec7c30cab117fcb3160a21e3a1b4bbb15bd298fce84d20850212ba9d8a20eef6c9f007b6396828c95808fd2630a687804dbf42237e2c1088180b2db97b5d7f2c8e8eac6b2deddeba7088afc3cb52b1e640c9d380664999c89a5891361c1e52a18572dd8977b2431cf0b058a8b359a553c7e9962d1f747f1bb7b2d1bb91863c2eada846e9694c2afb6d366b63bc810003005b8889c043aa21862ad3a69d5e7f22b376b28f7d9f5ed8f108ee34439141dbf87c3c0c94733148eb5ea1f44c2aa4cc9cc689aa88e1a56be89edb44a6b621a329d441a0899d3cd5869b7358eeaaf87173fc8947a470324fade71c35cb3dffd52a0ec4244cb2a5a161fecb0bad3dbc213c5bbe03da681cfccb01a1df0cd2aa4d7547008a1afb8a70107cf27c2875d9d1f21fe5f2ceedbc0ceb07a6834489eda46f48513aad03ec2f420fb00ea44fce13cc6282f18954ffa2c2bf8318225f477d6ef6d9bcd91c65143800ef3ec137c01ed34b1261ea423079b09d13da31b666a0082fd02602287e199a9a70fba6c57b57a867801dc2b10a67e90efbd7969f34829bc215erootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrubygem-sexp_processor-4.10.0-1.27.src.rpmruby2.5-rubygem-sexp_processor-docruby2.5-rubygem-sexp_processor-doc(aarch-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 buildibs-arm-1 1527338817  !"#$%&'()*+,-./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_processorcpioxz5aarch64-suse-linuxdirectory-?b<21iJputf-8bf32848f44fda577ccf189447996ff83559a3f504ca45034b84ad7e317986844?P7zXZ !t/ OY] crt:bLL %[")ÐK!FL6tQ m0{<NE!p\ ǮEp ko%;.ԇ@iFj giNcH4ވ?) U6ܖF?nam$v5ƐqB3]07WhԵDFVfO.0#^$@ ̻yy}MDEi~d]6Pb%BS`%*ͤi$εύВHk m}dH@XBlg;fĿ-%l!?  hʃMFIV9X*PAv%iJ 0 ՅP,^e:rs5iʿe a<&@}"NKp{ź|ː[OAjr%k"deNjO;t;|4jCN0+fn=R5gWٗOTr˷RÌK1YMSAԁk&=4Pq(L((=zҗQ3a>'Jc^[{Ԁ+ ݎ Wr882)qɴ!nٸhv\ H=ޮ'W!iTk04w 9c Dk,z- TcZiVn7dиYq=&o/{^8[JzZx3H'1UBӂ9\N;wȒ!zqEb©Hߡ(+o .]vD\q>X)48b'1 y:")ǡ8F7B X][1ZY)D<ANnYX9=`rw%p2Ko0 M :ع.w;'K֮l}@R 2ײh1Bwr"-$\IM&C?{u Q:'>k}N4+C^JwwD%"H !wz͒Y EMyɋ7 Ru!h5%9DOx-O| ~s@gA6*Lmj ^ ++iоLD?X%~.׀`\8kL|}[⽃_Wi&0ɰx HYȐ嗯d㿔 d.ь#jFB F=I^c)LCLl|Qfֵ<ďD"9Ymp 39-^tCQ:r`fz<>YU8qu\%=SHYoJ޾ӏ6*ظ I7ʢ/K W U'FW:%F#D6|jY?;bv"s&~g WKdJEdDqpJӊg1XWžX N̠F9W0Eu;&*LIx@Eq:lr[QpGxc~Yrx%{<֓n+ ^֦~' ۔BV>.]-/{/=Ui&Վʷ!3Ğ|nΏ+ $I8G7~n/$l9V0!ͥ89_] ^zBanp#eL)'pȺedqu뾹=#"ƹvho?"tWOD81A~137K0,|<BRCȌSWpoĆ/'LD4Sihe迲˔u}W-8 \;ug -%nYccW*߶"Nʭ+K0 _`P!H.&'l)-_b'&؝Qz#Phzu첷 ̪Ң$D*EJE#X5Qo](3dA* CK/P{acHSa~P5o?k\_SkXAj"0ܙLbuwU|LFa#M]b2~עpŢ1C:e-xןMr̈iiх !!DWo/a?/M85D?Zk1>[)GT~ UO=Tri}dRR^%5mD毴fܲB:7BgW"4n$q=c.h?Lc낥X%3+UI):ϪndFC5grN NcYkwxcHvU-u a㉉z-r`Ff K`5I^xED$vnV$|"+§XJzK g#HKuYW@<qMzg#W[BKX z /b1\Ȍ٬j\`uiq-p]=,OF;M3y`{Mh3=3v{+'a@?ʀs2N!.P疯ᩋ~_EGjKɢm`,,96ϊAQ>uXiVA |Z 3ぇv`< e$nTk~ IZ{UTo5kťd0(q3nJ, 0 "{U-'=U]3|6} fl܂ShvW0Y(eQ9 {[ Z0%bbȧ]&6zaG~%/h{gĮɛ9ו=8d( gL[ '(4leLl\<ֶ̻0`Rh[p gJZ=V8]pM_6 (2ҧ6N{1 ;I)!mv:ܛ@p 㚙z5u%Qa Ѯ2i"L}_+2#~LkJ9Y[u8PKbKu`ݱ|0HUD3@P6,8rO5u)r'\02DJm+S2Nm y5X̗tFy*HcKs{R6Jݧ ϭS႖xrρįmqgU}%tmkKr} fsq鐩3wTIc||vga|m L3Ie=ZÏ88Y'ӔJ @!Q8Wwțkyzn1B=E7s,z2С3l#N9: "k>'MGa tO(SiXC!ӷ'`,{u꧁[/_B˙Sscy( NkL|n໠x!:-KULoꛄz'tmk[[w$9(XvK51" lzO\uZ+5CG= OۿXIDNF!je;oQvd,2UUȤG ;V*j"'d#CPsfў<, ]zmz`cR,CAyٸ@~qds΅+krÚ!(Rs &5xPmfo58UDIR_{Zԁx#Y ؕ0SzG4H{-Z!DsmB~y 9E{xˠg2s>Y@aB$9W\ֿX#PiRY:j16w Yᤓx35н5r0rN8"YBe9P)1% [D+޵rkj5uSa z{*D:ME?d!Q^؋!<J0rGBK0I 4n/x>dzv(0CמTqCOpW&uapcRFP{*J!U.z.'7wݺ744K8kFxhߧ >QK .8gc3[`x9M?H}6%4CȬq8SN#NdB#"52nt+c]ZEЂa&>d)Q?p6SBI:2Óș`|Fb> &jTQB xlAWtCiewZ᭗g'c~ؒ jq"um))";]I5c"5VOXᱛlzbǽ@/ա@bu4ׅ$#<*cAqBc<~2~Bև M׌' qJJ <202ͧQ&ݷ]Oh/k&obk4i:IUTStA&M}GGm=dY[Ry;"s/)F:F0}H]jIK9.G_1@\9E:/:bJc+Y;'3r͋t>raI{)]Kbc:ec7]KE˻kGNhȯM .X)9LchkWa #u*>U623\-3mJ+؉/@?j }9$Q A(r$0\п{ R\XւFǚy^ 1+?[{`am=?R){zyײSEwGvgef5iMlme[j$L&Fp6?(mCI.uc_sO-HJڹ:.cu?)Jt=> 2C)Il`tyġEv4BDA }^ Z3G} pC%_LVc—bp|q-X/llwE1-jQbĐ-l]>alMɅJP զ]պD)<@2(# ֓leV)ELVzO6#}DlY\v~`Nݣczl'л\kGn>Lȶ%܂)3O`4؏.Fy:Ő`X|3-װXƆF 7B\1 )gnؼzɺq)ੑ=&bRfDđ=$@MiD(vY-4 h\j#C|sA~_A1q:Z^ψ+Y|{M5D2\K![x;5L#ڙR}mF/_ߏAH7Z*~cs$:ʕk9쉿9vMaTŘ!/.ʋhnARh g{BI'z!B,*n~mHD'}U`k{6 F[^ C7.5'$쀿z:P91c; JMȅȚu"ua8ފ[)vѢ,]Zof^tmܧdeu8'&K6q賟6{N0B+*,#j8k(>L +$[ 9EU0N\Z3j ^8u. %20tĔIS-z g@b m-~DoIz7gvL3YKR6XטP^e@h ]%}_q1zK[WAX}zi6(FnΩzEMX[4zjƙ t%Uu[&kMNVq]~< BJЂqi"ek}|b A곦:>~yp͍%Q0sأnCM$!kֵ|@ՂPV+XݰG2H^_$+jA̐< s N~>ջw-'½D CswTI츆P) (N/OӤ15MtJ3}-Ce+vcD' ox걨<{:7] 1k4a^Uk/l;Zpq? 6Th\\>yn\Lk.E'~TҚJ",ަĈ(ٓ.ƤzW弡t{젾SHMb89|Дf_ Jf{X-8&^3ȸ ~[!=|J+|z~Kn niT{{JXhV.Q7nQ }?^R :[[𦖓d*!aL7=5pKL,IMk*iGQzs ?=` lm^.0 1q{l5{猤׌ӧc-Ic;8i &N__ۂc / QS~pmmxG)ݸݢ?:}C rKc`7Q4fw167|\SDJQ ݅nkLwq-XyrUg|Aivi^umDZG܌wߥYmㇰTԻ& C0~$֎I^?z,2D(JaZJ1vG!?Lo ϯAiRR<7QH%Z9z+ˏ,T`J78 k\E*:PV" ]LZI>c"kn2(4:@A!#r `4y^mak`ri\#ܢ" z^:!cgVʱQZb0ga}W\Fkl$"5 V%sus*\TI}Aʮ_;qz(߫\q;'$dwu+֯Z"&8&CV%On"` ]ը}oBHA TWr/јo`1lkra t=/Z514c }nQu<,F,I}ek>a bv B*g Hjasc@B N60KUX4mѴlkw6g|:WQHRDӂWKއzã2 6}+[`AuT4= z9!bw>U |;+ F%WNZ5^zh^'*0!֧aKmq:6Ŗξ@6fڧįѿBke2C(`@b+H⯵w͡u,εtb~&C_d^B (z\U)m0GW_^)6\:l Ec>Hװ`ЧK? U"٪ f !y0n{EY AΠ*=PwemLjLpH-y{w8v!HQe_TfftL~Q;;HSFx.~2WG/~Hc0XIUԍpBMzveYHKNu)מrV`m7R472gV-y&BH 2W\>L橑 8n,j-i<<ʷ2;y#@s\(O G[A vaGZI nKB4 hC$N.@{NvRAjPf % :܍lm3UP 1*A!L-f4XHd=t<|w6ry=FBA8TOt`,aC L<1;g_2P"[lL<;]FڨLÓ~$|B6@ݴp` ,.F'ѺCͅ]{[t#yHqBzП6<;r.p<*YEGA j^C9"$mrWZ`{BHрjv]Ҡa۷#d{ ruPPx h2 {-Ix(D Tbg+VVyaӄd+ 56ktނmr[73v59==E'n%)IWx%s|!vk&GKH ZhO#b!vɷ[|*8\H\ S ,XڟʄD?^l=r;~2(:\3Pv]2bwns\`l!u髵rꉈwwPv;щEu ܶف^.0ꬡ+9mb=m8zmW_m)+cspSvn;euv[@_ifv-]ܗ &b!wrD0접fkU2\YB[s yJIRJmѝI'(),ȩ_N_^ _7Ԉ*I.\(? (VijI+w!8U40bNȿaァ3dJf-vvŅ5ԡmU?2)_ ?s̶jO.L>le9E JǂV01 lgzE7.i?gcI9K2~YjdEa@ᄿiJǦCYRlq]K e+,^ [,zl-CPP$1uaQc] =f/*a0=ՃQvcK)ң-E7w*MkCQ ])s_݃A֣v oj'Nr*Bπw1Rh^"<Ζ{ &\`M>gm顁bVZ~@yQrt2U+]pkeյ$ 8fm}ڃSF/]v<{Jǎln9 "GKWb=@X3YyÁ'oLνF 5`ZޟٓLI0b72]3>xI'-ԛ~Iq|fXx?88kh:5j5g{X@E~xܧ+Mcu{|O [& Č[_eD+3>jrxNBͳ7PG;YY:KsUK~S*}y$OUg9T %<:u~v.͇lKѬ=JYQD+kK"C*- ]_5`@]" ;>]sXMdu!qRY<-[ZU]Y]i]>Ӎ[VS\mЌڼsE}(Tikg6ɹo9+kgOƝ1,ZFQ;&'w #rpuiKK#?ގ`_,]1mZ>EDYΎVAt],&g&NRq{o4 o|͗P@k=];&Y,H't.n`ybUA1|J-nL1 UotEe5Y˜8(lMe]}Am(7;pg"rޚ&\c>M[PɈ6!,$:5؉fd7%#}+]WEϜG:[n8_mx(z?ez эY0Gw[O7^h&Ti~)O~;\GLk*<"]x3JXOmC0bL޽NkcYѽ2\lBHYܸF(XsL6Y{"ؿv/eVMMC$ ͜LƲJ hJGOҕ?ט cc `e Z3GM+au/uQ6m! ԑsN8N : jJiGAWr!Ѿ:D#Y=cO_R'=^.o=zVS|ۛ횪׶ "Lwk-ׂ-HBӴsq2mVbԗ+9,}/Գyq^^0WR]"~t}YRґ}%.!/Q.`#']u5yr9 hSW+Vyc] *2Қ!ΚowVGORVas923b@ںb\(Lzʘrw!-*)&y@&A9!$6eVw!/j#1ERb1Xڬ)aOf2%j Y8Ņn(XG>E7x;sD\qYMi7B|Ѯwqw~Lw aO|Pnи$-~SƿP)"dZ sbRL 'xlRðkuAzshzcQpSMRj0uL^#nH`e tojnޅ(~:8 ~XGc]c̰IAX&S䊝@3(ͭ\q oH8{nG=piD~sK˂ 6PŭlJm{U4 6$d}I#. )~By[(_2;BBBa-rRh fgDJxh tw!Oq'<3B8`ų$FMt&cMc,0En +uR塺[hzhCfa7ȕGܪ"y-IR);:w9?SC<~A425 y?]辶bTk]N,K10 f2khu !sx3 \wEm!>#y^cS. g'W54&hBEj3Ecuȗ1H7WO3n j3;K{bԜ1daBSE !xNiLRZW[%Z~>2rǨN$/:I.LxH+~yRsRqAɯM,a0X 2-1 bY_IG?xuPA%h.a/֌b AҢj4r-K+h@YQ!nHRuȅD0 i;9\[|{,EZ呡M[M ZTį'_vVn' miw?ܥ]4Wؓd頋cdZ"fc5|0kϾR]Ei 39foEPBuH 1JϿ]ǖyͫJItoFEL^co $kTK?5o+4_ `|taiW?s7N4^ /Bqo/^G!B%X^Y@d=L9YI`gv +Ghw-赙a  k&/cl!b0> `EKXl+~ ?]w<~A _CraG>jV.gTLPRg:ɶu%`o?j"'V7-(j{exv/i*j<.9VCJ$ڰdony&wѦg",Oг 2@iS7PN*fRMzsʉǿ'GG%xq:_A)ؚpkk3j6? Z*[K%hU+2h,Y')H`Ao8Ýu۸l8@ /sq"g֍heeC>HQ82>I+֌Rǻ.}SGds1==.9aoNn.L$1r>qR dVa"nXG 8G:K7pM.LbR کכCAD8kC1A 5a~/y~%Se. )~L$/ÚTLs~Mp]aF \Qn)5Lʭ!TH+37{/(+u@ƃo%xf2&pӳe[n@ %1L=Z36yis^=.V}h: TSG 6jx?,fy`8BweF >l ݰP?U]jLsLѶ1^D0`-$R: yސ! -5W7rkݓ:2qA(MA7nZ݄> Qib ] afxvS 8:'-#},0ۜ!+{Bwhe=AM6:܃LrPH½ѩ!yE̛ #H~~ mNpvp <9AxD5ɨƊ=$zō%$C"[cGtTJ.>R`aר?G$W|9;\zGVx:{ 1  BC/ 3ךxR̥πo4HAEBFFG?cfDl`/4r@. !U'Kĵꗁr@2v"Ԯy†?͇,`ym&,Pǰaט;.+ZE\DYdOReVf@\b8hv:UDӇS mq{0Qіiv"QfgbЈ9!}J{E~+?)(*˚k|'p JC׃4Z" 3xN@ۋ[^WT#"]",/ h~gIHṅ PS6b շpkMPS; wKR1a+,GOEw$ս:C?&epnxK}X۴n;wf?tqeQm~m CJ{nS쪽:-b'ߊEަ/ ĥ\'S 2<4hD||[ u}Ԉ[ո wF#"h{yA⽚ͥ+2p8>~@كl y";5<FHo4uSI=- ac!:m`U|*_)*)%ZL,HŌ.N &eK8kȺ$D-?M0I`| 2o9z;pFd[OLf=`L֊B^5^l@udqp iaVk&C}͸B9嘱G\b>Q\S^S}p5/%@̿m.ڹc3èDp, {ud?_H5l&(UZIwF, |r?gdX  :]:\*v> X22߇*.1:)y@H!fKw{^~\sdıP/X5-k<}Af\7{QE]ܠF4ȼ,Ũ<>{vwtCNi+m@VXM~"#$uz@"1l/ph[ĜȡЈzRʱLCKsWjrL7O#JV앵i/-Iot:v"ʇm2b#P7;oJGUAn/^ {4 ~a掤kGEujmNԆIj2"ٲyOftAe(|0F} ~g} jFV,3ovu>9pg,BZmp:8F)qY{u_Ϩ׏cl9l,cyD_>s(\M6-v)=,l=} u)ψ۪?Av 1ZDro~1q;G|`u%IqƛC];-k=g@$[Ec=H+-J_"ew@ꏐ, qn64xvDkBHxF"Dny#3*T7jt˼2˰|3>zYl|CādFjy>n̫ Crכ++6OE ]RwdF^vq;8'*[Kw{o˩%4La~\63] έ,&\tCS\D_GcY!u~Zh^bS I+6C O|H9E6Ű|ʿ{Ϡ)YsJ('G`"գOFGJ/E|m/*u7T|b;Q(=o=8'E!<5UGIKt[Xi3`#w6Οaè)!~M:Cb:ը#E@ %Wgy? 9$5h.KR?z.[?#x8^F >F Ë>CP_ qW)rBo1'a)+:c]c_X8e1Y &d-rI)P΍׸HPeaV(x"H`s=M0_[8tj6r._p hLw?K5g5Rb"i`d0C-9 EȜ[TK3.F ԾYwq|.)||tr=[*_k'Y>+1y~xǟrqsH˺óI۠yiї8Z 4;ɞPUfAF;_RuO>/诙qƦ'߮(sU(& Eqihٿ}sU—S$ {vcp4BGN~#,-Ou˓zecWmq˭\;QJߑ]5YԤ)(L etR:SB)3Stj8-#p5U v< Mh ۵;U(nܮN]G7nkV\ 4Ņ kyMsTBS k5Y#73xv"sMApCfp Jy>-\œ'29'q4rA]fM`(#u9#τثMF{+T)'zz)q嬫>ekpB,?~Zg=C$P;x/%Rf3ғXhc=wٟ :745};[´>n)71۝(s>0q˯uR6_8:ÏHm v!DߐEN앑d]HWֶ YZ