python3-tmt-1.24.1-1.el8$>+h(:4Q\>=P?@d  G $3BF Ua  (  t 8 9\<@DEHLH|HJU(J8J19K`1:Tj1GqHuIx`Xy4Yy@\y\]|^$bdMeRfUlWtpuvwxy@<Cpython3-tmt1.24.11.el8Python library for the Test Management ToolThe tmt Python module and command line tool implement the test metadata specification (L1 and L2) and allows easy test execution. This package contains the Python 3 module.d.buildvm-s390x-22.s390.fedoraproject.org"Fedora ProjectFedora ProjectMITFedora ProjectUnspecifiedhttps://github.com/teemtee/tmtlinuxnoarchV kCCmpao!kkO *N*U(U(-<-p!! S S*J-;;A+A"#Y C Ci}a?60 | g= 1 3|eF$!w(!(F8 Z-K4K]X) 4#*+*^9:e.p/([9dFG4;4((Lq2] [ [V &,GG  UW77722??L~6 P v : / AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤CddddddddףdwBddddddddddddddddddddddddddddddddddddddddddddddddddddddwBdwBddwBddwBddddddddddddddddddddwBdddddwBddwBdwBddwBdwBddwBdwBdwBddwBdwBdwBdwBdddwBdwBdwBddwBdwBdwBdwBddwBdwBdwBdwBdwBdddddddddddddddddddddddddddddddwBdwBdwBdwBdddddddddddwBdwBddddddddddddwBddddddddddddddddwBddddddddddd%dwBd3bf7abfea4e274080a387a9269127fe08a27f11fc18839a6464c1fc0a34d050b219213fa910ec913ddf9a51b4ccbdfb4fcc02a0ece5e2c36c32310b92191c58901ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546bc7e89753d31af6f02c7624aa9e62a48867de5de804085c03df902236000425f715831b2119c22eea877ed40f1fd841c8429131d4f11707db7c23436ab0b3ea80d76a53ac407722890e7eca04d6a4806fc61acc5329b006e7ee6b30eac6f18052634249b308ed3e61d08395f01f36252041b88934abb9ee7cc2b9919d1e6b2acdf0b6f7fedc9139fabd70325b6ac418c89b62d04649a1bb6c9c0b7b519c986406f0b6f7fedc9139fabd70325b6ac418c89b62d04649a1bb6c9c0b7b519c98640627a4ad22e25545a1dd6c41b57c572da31f30b234089144aa0ec19c377095830e27a4ad22e25545a1dd6c41b57c572da31f30b234089144aa0ec19c377095830e4286958d0c97803afb56f8bde9613cc43d73282431d1f82a811cb9ce3134fd97d52a00eb0c5ff5795610d113b7ab780199495a47849f72038f0847f2824072d26df801c3f193bcf3688aebc4d6b6f83c3afc5a325bf2e1e761b3ee814246d01a4f8a205c438ffeda57c6ec42739c6abe309e7b9e56ab7b0c60f544e64cd6229622df27ee5767951f209eadeb6ab8d27847ec4a0ebad767cf6bc5e6f304fabd379e121ad128e890ae7d75faf8eeaf65cb2461cf28ee93c76cdc3f254778caaa7e73eb569bfd1e9f5aaf632c9ca97956b018838050713b48be21f7ce9a23fc69f473eb569bfd1e9f5aaf632c9ca97956b018838050713b48be21f7ce9a23fc69f4f0f750b058b68426201f3f576399446d83c669aec5b5715e27d1cf6cbba4af6e42ab772e1ff71484422acc23d7f74a6cc6cb13e995654e5821d2265e3bad3543ae9b089a9900dc463222cf9af32aa708b660b0b07a4672359a1d69a629fb8e9bae9b089a9900dc463222cf9af32aa708b660b0b07a4672359a1d69a629fb8e9bbc28832ed39c967c37147f3dbbb2e4ec6cb827a29928994b3d88f53fcd37fd46ceab686bb7a28cb11c8f2b399bb8eba3a63ab8617b4c8000b66b8878ad92ba1f63a997c939dc3da5ec05d9d7d57b9b7dfb870e456aa699e28458ffba3478b38263a997c939dc3da5ec05d9d7d57b9b7dfb870e456aa699e28458ffba3478b382f3459b022f5bfc719783e2c14ea8604d45d8c484e00f837511c9b85a9a0530799e559f163bcb4b9b75e9c66855668fbee6c7450c9250040f578cc1ccbfb2dcb71e609c817edbdf05c87edef2f06ee02f5fd51a69eebca7b8a6d8ec81ec0a96de1e609c817edbdf05c87edef2f06ee02f5fd51a69eebca7b8a6d8ec81ec0a96de54a3544e81832a56142057c48c95f3be9e7d004bfe63df3037bca6414403e8a72b781b5386d182ad16e97d32a3bca0d91ee3135e4b19576471a6ec94ac685b4850c65de0a11736d6fad2231524d379a9e8265a63b645f64b41c0c10982e380718f2d862c6f684aaef27a8cdb01343087b5209fbc97192b8bd8fa5989c5b9417aa027439f98586e74938a09984f7384d50e54c1eeefeb7c66bfe7496aa64e1ce1d033c1a805792849d1516397f4854219f35c3d959e6478aaa4669afd8c1108a924d47039df213fbda7a71e187857fc33e557a5963a031458283b3b87c18f3c8624d47039df213fbda7a71e187857fc33e557a5963a031458283b3b87c18f3c866775bf370f374ecb5079050ff719fb86afd44d76fe8a08c03dbfc37e106a21916775bf370f374ecb5079050ff719fb86afd44d76fe8a08c03dbfc37e106a2191fb1fadf284c7731bd35188e15dd47386551b8fad3cc79f281a527708d0e96719fb1fadf284c7731bd35188e15dd47386551b8fad3cc79f281a527708d0e9671917066e422ea64425c950aa405de123f55da0d635f348faa88cae21f8ae5346dab84825afb2c90c9ad4aa59dcfa8c3a3df34ed52db8fcb385943424f0cdb160efc7ca67cf73170e1b178c886504fe094ec169b56a575982054da4de4df33970cebfe5b912a864f02f2ee8cfa96082961be3aadd7ee414d4d1e8112bed07fc2fe3b43b9ec3268832a1532f1b4d41460420337c1dae7b0f1e301ab5bfa08999d635b43b9ec3268832a1532f1b4d41460420337c1dae7b0f1e301ab5bfa08999d635f00953e4c8edb64c6dd5c9dcc0a55432747e79232bdc75b353810d3165cfcd8ff00953e4c8edb64c6dd5c9dcc0a55432747e79232bdc75b353810d3165cfcd8f2f9c4e4fed58f14ccb9a4499114b54e8ae1fdd6f189d6f6e8e9dcc0c7812511f2f9c4e4fed58f14ccb9a4499114b54e8ae1fdd6f189d6f6e8e9dcc0c7812511fc1185edae6f62b83bb536626e7f16e5d2c011cc6ed0df54e0b945488257260890cc6b2ba563bb0b5957788063fd87b9f721f0d9e2d7a5c141e9b71467ae84b255e1837d55232d71571d222cba98d759510c923c8e9244274df332583cc7f0dcb024fd6831ab3ab14166d71c0ebde467dc64a6d7c1010cfe99636eb90b9da3f9f0d6e33e9fadf95ed71c16eb49a8f6dfa71999c30ab5e6d6f17ea60037e798108e05b11eed938a0cda9c81b6c7d7b1385ee7ed5d084e0576c4b068c2c0ece67146116dd12acaebb49f518b5311f85c09bceef3329480d79d3a51a47ec21021ed803c57b5d0576a01a8ff549ae67a6f251189ff21920b34d45600978174e2a2aad3d51380169204a49ef4135e5413e10a5fcaaff6d406d9943153c85dfb134865769b76193ca424112177293ead8f85261bb63dc4a51e417ad7ff9739abc6badc6c093e22942c48f729368a2561ae50f7d7b211d5c525f011de424e156c62f9cab070e3c44cf06f426fdff2bbd905e52d8c4cf5b392fd846f4e8d0299de36be4ecb47ad00b656934532e5fc4261344c0cfd7edf904a460c9a3d99e8d22663cbb9cbc963cbe521dec01ff935ca66484748a0cc95fe3d48bd90072fa15d435125b92e67b9b763340b412795ba1caddac91b96f7c619a76b03334426f9cbdf479904be67b9b763340b412795ba1caddac91b96f7c619a76b03334426f9cbdf479904b1d6e96f4d567f668c3c72dd44342ea0e50bb0fa06e5605d0dc45a23d06528d89ea6acdd03890c281464b4aa3aa95b2de16acc226bbf17cec2f4378232b044110e953a44d1965e43c248f95c9a9281f813908751c22121f6a26db3b2ba5bfb342c97c9fc47a089a1ad92b88c8f355952028f5e8fc6d862c1aa99364dc952c8fcd2a292d17cb876ad087afdfec0bf04559a8f981d7d5304b1b36b583fbcdff9b6f39d6c6a560a473fac736fbdb19c4583fc2ee037bda6534e84a486e2500de846ed30a087767e4f863a35a222066eb328a28edd9dac77f3b8d736b611db40c85acd30a087767e4f863a35a222066eb328a28edd9dac77f3b8d736b611db40c85ace3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8550640a5fdec524061006e2261b825c565bb62aae1647507e0b249d9a56786d897bc276d3a89a64b493ffad9d42874266c3caa293f92d95c44fcd58abacd5760be90aed8270a2438840b7eb9edb9fcca6fb269522cfd4b501ddfcec72d6fef5f7917c01145ab26c8455c8a7620e42aec495b166ef1f02fbf0595e0d58bbffac327424ee8ce2107c02969ab9f9ce4332d021f05a34674c555f4e303da976eb3c1a81e7a2c2a0b138ec422eb39c6bce8760bdf6c97a9eb6a9e047c96c57a15efb2c752824d191393f34061194c7c05fcaed80388e22ca971ee8e42a2e9ae7c1ff71bc976e70373ccbc686542306008b0c0397dfe90aca9aaf47543a604af89682a68b23cb0af83826ac2c8fc420cb7c225a4e4a79ad554876d85155b9a520bbe81c9f990752ff96a6e2bbee3a6684ea17f62be292c6f31ea21c2263755dbf5bcc65191413f741accfa198accbdaeacde8cf69a09bb611e8e9f0655f50c03bd04e129eb507f58b9ef4115d72a3083de6b28697c21ee4a908f1b2faec52f1f8e527acf1bde734822712d169716120fa0a1670c315a4646dc3cde98b14cde28bd824dea3638088f5e78a238317a04fbfa590d8ada9f0a0aa509f298bbc42244490a074d46f62f1bc3bff156e000ae528569e558588167d5cec0a95b00edc0beab2caa0d1922e8fa4a208d22ea00756ad194bded26a2378700ccbdbde1d4018722c25f5905bfa9b0bcd92a3f52ae916da17a9174ebcf6f5fffd9d0c5586a6d35e9181db5bde8b7bc029ef085d65e1b9317b703951a2d2b0cddd0eef8461a216f9d011819cf1223033cbed5b219711f4ddc98ef70ac14fd9152fe634ca53f3795bf02404300a97c68f62b0f68542375d8b22876de94ce5762a0d8623e5625a79bfd90e62a21d2013f6d3e4de643c6df36667a5439ba7b673751026abe46655f444f310f8d94a1b8f6e797cef3d31e55050900ccbad405984b12272063c2c616f85ff0e773b657f1cc97dd5f3b4111c16a98388ac79f8bc69821d7f52a6401bbc634ebf9745a1f33b1182d6f641113d36eadb328b336aaf95799dfa2517f8c77943f223816bf9d515c4872e540714ccaa950ca4891080a7b030bf8ffcb416a4f64de17323d46d6fb88b59c0df56c1c1af474e3435a1904d2a997ecc8bc16edfbc121fcb66a7a38f64f88e56935f07991dbb2b995baafcbb778eeebca31d454a65d83a2ebb4e413e459d3707fcf38fdc7e067f9d3cdc8ee7cdde7e05c902ea1f064cf2106ec84b7533dd4605967ccaf11ca6acce5501ee3f4226f038c7edd1741940e147b736deef9de63c9b65c03b20bfbb6ff692b2f2fe132f904f290ba91d176797993784681345d0206ba29520c31ecb804db213a3902ad70ccb72ec181b1a02a72079f003ca18cb94647cedd2fc787006a6386d5cd0f8b94a2fba9541bdefdf41f92137acd99df8ef36069e4b318d60fe3877c1c469551890cc2ec198fa7012b46e90c12e00857e609e3d49f569b9d34187e775d60b27b6445fba4cb88de07ae72f9c025be1409e8790a6131eee976cf38849e4cafb9194822b44de617dda9e6456567d5b335dde0351238de0d2977c5f8fbd52920e1cea0688acdc6818ffaa170a39fa2d17a764599f642a01856d4ca88548d831e438d0fafac4e91deea21dfb6f01a4252aa52d4b0441064b3a8388a680c82e1add4283bc479b4828e50a932e193ad58860a3d0de02658a1c26b19a23f2588dfbba7bdc225c4381bec7552640726f1166da24c41a7f95ac351b7771cdcbab90105cf53b22d89eaaa4c446593bea2e980c86cb0513d36e59ff202f9c48917e95c52b792edf37432e4801d9c3b13df17523c1e0a9ff16b1673e61ea8b135ba31d88278806a5c5d40f569da31ca13f2e7fc92280f440490b6136bbb976a374215c54bcebfae4a7aa63a0d6b4f29835ceb16a281ab739020071570f93567233f7e7b3c76f8ad2d24816107d582ec79892ccfb2c1b07aa040d71bff6b2813e6eccef9b29f45864ecbb22df3616dab024301e377c59faf3148fe0f0449cd9f4fe43fb124cf6dca918c048a3f60b1aa44d63fb2b508ab97fe03f9bd575945bc959c01cd9f3c778a28d47e8c14fedfd4562c24c20a2d7be7350d58e65f567ab8e776df1f9868bfcfe5d73e1f669e42fe2b8a981a2c6caec072de6e9658c20e4ea997afd58a2be9e3f4c9955baf2824f90a89059613bf1701e14a7a7a89139f53ddf76c8523b6cdb52da0af3a219fca9208d4a357091a6810f712bb039f91530e9bc8f968cb9599d516571bb325905d37c5e118cd569cae6fbcf0ef547401070693e5299d118b82acc68c026aa730f3ba7701dadfce8bbf590f079b11ab71ef5b96cc32b3f5ac198a98a1948ef01e967ae83f8deb23fb63b997e0da7393480569601236305628b4808a311a885621d4f01dba9cef0d87e4afc8f3abeb422da69a9c26ee180756fcca92de3c2794f3b666cf2e0fd751e391bb980a8e817d580169193bd49575a03461104c9ec3202134e2bb9b417398e8459abc4f202ccb3dae13726dd0906419be3af1083dd5c2507fadf68571a9e9a8de31485aa93943bc46088374a33ce615f44294060bd81b90ab6510aed098205332ecc6ec944caede607447e0ae8b27f5144b31fb0908fa652625b502c30af90600cc3429fc476f89c7310436ead6b60dd0fb384232a6738c74c537619baf51520a57119d7280fa8538983d110fe791fde8f230e96f95c22fd97b37d152af51520a57119d7280fa8538983d110fe791fde8f230e96f95c22fd97b37d152892b9ac73afdb46408d2cbfa74f421a00e8c7f38cac3ad862887d21aebb0168c892b9ac73afdb46408d2cbfa74f421a00e8c7f38cac3ad862887d21aebb0168cdd5d992a4c43c65448d9887953a7b3e05fb24a4c1dc249541486f3879eac504d3d33628a5c5af4ef4ba9b117bf05588fb645c0741eab402e0d01decfb802df3c3891c1690a41e58e1e61936c3ab096d69f43428a1cb574547fe2aab7cf8046a5275180204acbfc3cf780877c53260e19dd932b84e9b1f47075ae4163196d6ea6275180204acbfc3cf780877c53260e19dd932b84e9b1f47075ae4163196d6ea6f2a4862776eeb9dcce566a02e0f5f85c71e9b6f70f7ec2db154c0125dac196667efabab53ca393bf02bbed86f88275691bc852d0bcd54ba5e27cf21ee07ce69d45119d06f0ef5aeb984a354d69674253729e4d3ce24376be4d234852edd98203849267b0b1c9ab5fde3ee7c2cece4fcb990e682b0a0e70fbfd4d55283676bc85c890f9050c63f2d32eca9ea93cfba0277f72c969a65cc738b311d462eea1d0f3c890f9050c63f2d32eca9ea93cfba0277f72c969a65cc738b311d462eea1d0f32577b7eea74075ab73273d127ba1697572d58905780682c63249f02be8f76198d1d326ce5b8fece62678ba70fefbc96a38af24c91a76e4d626111b35110f1e3f9606ac077e522ef47bca886bfc2dcf41f62b29dabbed04132830551037a11bcc946da866b1d41d15433922da782fd599a41ec6274f96efe5e6a8e22873a932d08c9391562df10d115f68fd2ccfce463eedaf15effd7490590a7b09e7256bf0c1e572fce403f8d3716752a8308cf0ab119aa14c621485a2de6f01eab93c031bf79f792b58f27e2ff6472468ff11ec8d40649e56419f15f7e7ab7b99bbd6fff850cba373e5362f225dca1f46a2d77de9f2c73b7b906cd286dab5a401c2924a9f95c8da3e84d6a76af46f63da573051ba20f6312e8a71bbcd098fc3fb0afe8a9267c8da3e84d6a76af46f63da573051ba20f6312e8a71bbcd098fc3fb0afe8a92672ac57d8781b2012af4b3039e746a6f21a9155377fc2fc5b6edba02defebb175a2ac57d8781b2012af4b3039e746a6f21a9155377fc2fc5b6edba02defebb175a88c41dd5815c7c70b1f475336f2cd5d4e0ea21fd12bf8a2a62a294ffb332bf9ef1d96143c9fdc2edd88a1bdb320c0f907a8459f5c75c25771611a275ba4611c46087304cd702852a5607619bee57a46a7eb16cde538fcd9e083c61bafb93437b937a81ba83a6b263b6bb6b80c8be36cb481df8ca9c958724b9031f4de41ac250b83072ee302050e701c39d43d7d394aadb32c299dfdd44d2326833b27929fd51b83072ee302050e701c39d43d7d394aadb32c299dfdd44d2326833b27929fd51bfea6b9b0a2ec7a80eb40f2e494a2e2e976c5846c7b27cc86fde8aa4de7b52dadfa7b8e99a9839fa97acefccc4f0900cfc3ebc10e2ae250dbaa0da3f3980f96f634724aee4c8fb1989b0c6a8b490daac7c016055e38be31c85efeaafec8c4d5b87da8971df285f914eecd8f2183cbd0c4ba042685368a2ca877cc5b2bebea4131bc9718fcfeda001ebf796b4431abb755072ea29926adf6faaa76bf9e751af75c73920f8de79cb1053ff7858e4410256f9ad1eb39713a5db214520b8f00254cbrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroottmt-1.24.1-1.el8.src.rpmpython3-tmtpython3.6dist(tmt)python3dist(tmt)@@@@@ @@@@@@ @     /bin/bashpython(abi)python3.6dist(click)python3.6dist(dataclasses)python3.6dist(fmf)python3.6dist(importlib-metadata)python3.6dist(jinja2)python3.6dist(requests)python3.6dist(ruamel.yaml)python3.6dist(setuptools)python3.6dist(typing-extensions)python3.6dist(urllib3)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.61.2.13.7.4.33.0.4-14.6.0-14.0.4-14.0-15.2-14.14.3d@dq@d\d9@@c@cck@cD @cbc@b3@b@bobJb\@a a@aUa@`r`@`lM@`7@`4@__@_м@_t@_}_V _ @^n@^^@^x^l@^H^@^{G^x^h^S^^@]])]W]@]]@Petr Šplíchal - 1.24.1-1Petr Šplíchal - 1.24.0-1Lukáš Zachar - 1.23.0-1Petr Šplíchal - 1.22.0-1Lukáš Zachar - 1.21.0-1Lukáš Zachar - 1.20.0-1Lukáš Zachar - 1.19.0-1Petr Šplíchal - 1.18.0-1Lukáš Zachar - 1.17.0-1Lukáš Zachar - 1.16.0-1Lukáš Zachar - 1.15.0-1Petr Šplíchal - 1.14.0-1Petr Šplíchal - 1.13.0-1Petr Šplíchal - 1.12.0-1Petr Šplíchal - 1.11.0-1Lukáš Zachar - 1.10.0-1Petr Šplíchal - 1.9.0-1Lukáš Zachar - 1.8.0-1Petr Šplíchal - 1.7.0-1Petr Šplíchal - 1.6.0-1Petr Šplíchal - 1.5.0-1Petr Šplíchal - 1.4.0-1Petr Šplíchal - 1.3.1-1Petr Šplíchal - 1.3.0-1Petr Šplíchal - 1.2.1-1Petr Šplíchal - 1.2-1Petr Šplíchal - 1.1-1Petr Šplíchal - 1.0-1Petr Šplíchal - 0.21-1Petr Šplíchal - 0.20-1Petr Šplíchal - 0.19-1Petr Šplíchal - 0.18-1Petr Šplíchal - 0.17-1Petr Šplíchal - 0.16-1Petr Šplíchal - 0.15-1Petr Šplíchal - 0.14-1Petr Šplíchal - 0.13-1Petr Šplíchal - 0.12-1Petr Šplíchal - 0.11-1Petr Šplíchal - 0.10-1Petr Šplíchal - 0.9-1Petr Šplíchal - 0.8-1Petr Šplíchal - 0.7-1Petr Šplíchal - 0.6-1Petr Šplíchal - 0.5-1Petr Šplíchal - 0.4-1Petr Šplíchal - 0.3-1Petr Šplíchal - 0.2-1Petr Šplíchal - 0.1-1- Revert the `Source0` url to the original value - Use correct url for the release archive, fix docs- Do not display guest facts when showing a plan - Add new guide/summary for multihost testing - Define a "plugin registry" class - Hide `facts` in the `virtual` provision plugin - Cache resolved linters - Improve documentation of lint checks (#2089) - A custom wrapper for options instead of click.option() - Identify incorrect subcommand after a correct one - Remove one extra space between @ and decorator name - Assign envvars to Polarion report arguments - Expose "key address" to normalization callbacks (#1869) - Move export of special test/plan/story fields to their respective classes - Expose guest topology to tests and scripts (#2072) - Enable building downstream release using Packit - Add sections for environment variable groups - Add default envvar to plugin options - Load env TMT_WORKDIR_ROOT when running tmt status (#2087) - Opportunistically use "selectable" entry_points. - Explicitly convert tmpdir to str in test_utils.py. - Move pytest.ini contents to pyproject.toml. - Rename Require* classes to Dependency* (#2099) - Expose fmf ID of tests in results - Use the `tmt-lint` pre-commit hook - Turn finish step implementation to queue-based one (#2110) - Convert base classes to data classes (#2080) - Crashed prepare and execute steps propagate all causes - Support exceptions with multiple causes - Make "needs sudo" a guest fact (#2096) - Test data path must use safe guest/test names - Support for multi case import from Polarion and Polarion as only source (#2084) - Fix search function in docs - Make tmt test wrapper name unique to avoid race conditions - Change link-polarion argument default to false - Add export plugin for JSON (#2058) - Handle el6 as a legacy os too in virtual provision - Hint beakerlib is old when result parsing fails - Revert "Fix dry mode handling when running a remote plan" - Set a new dict instance to the Plan class - Replaces "common" object with logger in method hint logging - Parallelize prepare and execute steps - Formalizing guest "facts" storage - Support urllib3 2.x and its allowed_methods/method_whitelist - Require setuptools- Add `Artemis` to the `provision` documentation - Add artemis's user defined watchdog specification - Add support for require of files and directories - Expose test serial number as an environment variable - Print only failed objects when linting in hook - Refactored metadata linting - Request newer os image and python version for docs - Explore all available plugins only once - Add test start/end timestamps into results - Implement `deprecated` for obsoleted options - Unify results examples in test and plan specification - Convert gitlab private namespace into dist-git url - Shorter Nitrate summary name - Correct the path of Ansible playbook - Refactor logging during plugin discovery, using tmt's logging - Improve names and docs around CLI context in Common classes - Fix ruamel.yaml type waivers that mypy sometimes ignores - Drop some no longer valid TODO comments - Replace '--t' by '-t' when creating a new plan with template - Add a new cpu property `flag` to the hardware spec - Fix duplicate export for Polarion hyperlinks - Option to list locally cached images for testcloud - Log out testcloud version in virtual provision - Use yq instead of grep when testing YAML content - Don't use specific addresses in virtual provision - Polish workdir pruning - pathlib transition & logging - Support for fuzzy matching subcommand - Add new link relation `test-script` definition - Remove `group` from the `multihost` specification - Move "show exception" code to utils - Add missing support for 0.0.55 and 0.0.48 API - Add type annotations to tmt.steps.STEPS/ACTIONS - Support logging "topics" to allow lower unnecessary verbosity - Add support for right-padding of logging labels - Move tools config to `pyproject.toml`, add Ruff - Example to parametrize test selection via envars - Merge run_command() and _run_command() into Command.run() - Install beakerlib into images used in test/full - Don't run `ShellCheck` on tests & decrease severity - Support multiline strings for option help texts - Fix tests run only in full testsuite- Change help text of the `tmt --root` option - Add support for `results.json` in custom results - Proper support for the test `duration` format - Prepend '/' to custom test result name if missing - Document necessary packages for pip install on Ubuntu - Tag cloud resources to `tmt` in Testing Farm - Display guest multihost name even in dry run (#1982) - Pass the `arch` option to the Beaker provider - Use `job-id` instead of `guestname` in Beaker class - Adjust the fix for the default branch handling - Add support to get `ref` under the git worktree - Fix dry mode handling when running a remote plan - Enable the external `polarion` plugin tests - Extract "run a command" functionality into a stand-alone helper - Increase minimal severity of `ShellCheck` defects - Display guest full name in `display` plugin report - Push using `sudo rsync` when necessary - Avoid warning from installing tmt as pre-commit - Add test checking repeated test execution results - Freeze the `yq` version to fix `el8` installation - Update the `CODEOWNERS` file with more granularity - Document current workaround for running scripts - Install `beakerlib` before the `ShellCheck` - Rename `Guest.full_name` to `Guest.multihost_name` - Display guest full name in `html` plugin report - Add test for template-based export plugin - Add `kickstart` to the `artemis` provision plugin - Extract just tar files in dist-git-source - Add missing fields to custom results test - Add shell linter `Differential ShellCheck` - Always try to run dhclient in cloud-init in virtual provision - Fix polarion report pruning and add or fix arguments - Run `chcon` only if SELinux fs supported - Require `beaker` provision in `tmt-all` - Adjust the new `mrack` plugin spec, test and plan - Add `beaker` provision plugin using `mrack` - Adjust pip install to always upgrade to the latest - Move `testcloud` url guessing logic out of `tmt` - Hotfix Ubuntu with virtual provision - Detect correct category when export to nitrate - Add an entrypoint for interactive `tmt` sessions - Fix internal handling of the `where` key - Move logging labels to the beginning of lines - Refactor CLI error reporting to improve readability - Remove no longer needed cast around our custom Click context - Display guest full name when showing its details - Add `kickstart` section as a new specification key - Add more controls for output colorization - Rephrase `results.yaml` documentation and examples - Fix `get_bootstrap_logger` name and docstring typo - Expose guest info in results - Enable `root` login and disable default `core` for rhcos - Sanitize plan/test/story names before filtering - Set default user `core` for rhcos in testcloud - Remove no longer used "err" parameter of logging methods - testcloud: Raise default limits - Update log key content of results.yaml examples (#1834) - Include guest name in execute phase data paths - Adds "bootstrap logger" for logging before CLI options are recognized (#1839) - Export `TMT_TEST_NAME` and `TMT_TEST_METADATA` (#1888) - List supported operators in hardware requirement docs (#1867) - Build tmt usable in inner guests for tests/full - Target test-complement for tests/full - Tag tests which are affected by how=full - Use PROVISION_METHODS in tests - Report individual test results in tests/full - Use Require* classes for collection & installation of plugin requirements (#1766) - Disable tracebacks if default branch is not found - Assign a data path and serial number to each test in discover (#1876) - Convert log path for results:custom - Allow report result for itself in results:custom - Support to import Makefile having '\\\n' - Require `pylero` for the `polarion` subpackage - Fix forgotten guest when Artemis provisioning times out - Turn `tests.yaml` into a list of tests - Simplify the `Result` class implementation - Use `Path` instead of `os.path` in export code - Use `Path` when working with logfile path - Fix use of old `os.path.symlink()` in discover/shell - Add /root/.local/bin to PATH on Centos Stream 8 in CI - Install jq/yq for more readable tests in tmt test suite - Fix Common class ignoring other branches of multiple inheritance tree - Use Path instead of os.path in prepare/install plugin - Convert path-like strings to `pathlib.Path` objects - Change `Plugin.go()` to accept logger and extra environment - Artemis API version may contain multiple integers - Add logging `labels` used for prefixing messages - Adds "full name" guest property for multihost logging- Fix tmt-reboot without custom command - Fix test /discover/libraries - Add serialization callbacks to data class fields - Use own private key for `provision.virtual` - Adds a template-backed export plugin - Polarion export fix component upload bug and upload id first - Convert story ReST export to use a Jinja2 template - Convert export-related code to plugins per format - Do not clone the whole remote plan in dry mode - Hardcode tmt git URL so test won't fail for PRs - Add py.typed marker for 3rd party type annotations - Fixes isort 5.10.1 installation issue - Improve logging by `tmt.utils.wait()` - Check packages are installed via debuginfo-install - Always ignore failures for recommended packages - Merge report plugins options into step data fields - Dynamically find the current Fedora release - Suggest using a pull request checklist template - Include a simple Python code among the examples - Apply normalization callback when updating data with CLI input - Bump pre-commit linters - Flake8, Mypy, JSON schema, YAML lint & pygrep - Use base implementation of provision plugin requirements - Relay 'interactive' value for podman call - Update Fedora versions in `upgrade` tests - Apply `ShellScript` for the custom reboot command - Update the `shell` discover specification - Enable to sync git repo to SUT in `shell` discover - Increase the default `utils.format()` indent a bit - Define pull request Copr build job in Packit config - Decouple logging from objects and base classes - Enable `url` and `ref` as `shell` discover options - Export `TMT_TREE` in other steps as well - Add a new key `system` to the `hardware` spec - Remove default for the dynamic `ref` evaluation - Schema update and test for order in discover step - Merge report plugins options into step data fields - Add a test for hardware schema coverage - Better type annotations of prepare/install scripts - Move `jinja2` require to the main `tmt` package - Define the new context dimension `initiator` - Respect `TMT_WORKDIR_ROOT` variable in `testcloud` - Annotate commands, command line elements and shell scripts - Adjust the `reportportal` plugin implementation - Implement the `reportportal` report plugin - Require the latest `testcloud` package - Define `srpm_build_deps` in the packit config - Include the new web link in verbose `show` mode - Add a clickable web link to test to polarion export - Enhance `Links` to allow checking for any links at all - Drop various guest `wake()` methods in favor of parent class - Catch `SystemExit` during module discovery- Do not prune `html` and `junit` reports - Skip extending fmf context if cli context missing - Connect needs is_ready property as well - Cover setup.py with pre-commit Python checks - Do not leak "private" fields into export - Set guest hostname in testcloud provision - Capture provision error when login is used - Support `TMT_WORKDIR_ROOT` environment variable - Support step data definitions carrying CLI options - Adds flake8 coverage for bin/ directory - Prune irrelevant files during the `finish` step - Add junit plugin schema - Support to import empty key from Makefile - Deleting unsed and duplicite part of finish step - Support absolute paths in HTML reports - Capture exceptions when getting `image_url` - Enable verbose output for `provision` & `prepare` - Add support for Artemis v0.0.47 upcoming release - Remove unused variables - Initial support for passing ssh options from cli - Update specification of the `where` multihost key - Add a simple test demonstrating the upgrade testing - Use custom subclass of click.Context for better annotations - Extend the `duration` for tests using containers - Change common class constructors to use keyword arguments only - Make packit build with the next release.dev version - Add basic test coverage for `tmt story export` - Fix export of the story `priority` field - Read source from correct directory if ref is used- Protect args in rsync call - Set tree root for the default plan tree as well - Properly set the `tmt` script shebang on `rhel-8` - Use image exists to check for container image - Updates docs with example on `adjust` & `prepare+` - Fix test duration enforcement - Skip missing debuginfo packages in `recommend` - Explicitly document extending the plan environment - Fix ownership of a tmp directory propagated to container - Support fetching remote repo for `shell` discover - Fix default `framework`, remove old execution methods - Add support for Artemis v0.0.46 upcoming release - Handle an fmf fetch error in remote plan clone - Do not truncate `RunError` output in verbose mode - Warn user about data erasing after prepare step - Formalize `data` package passed to the `Result` class - Change order of plugin and guest classes in files - Add `compatible` as a new hardware specification key - Add `tpm` as a new hardware specification key - Move the hardware specification into a separate page - Improve fmf-id processing - Add test for TTY state in test environment - Login after each test using the `--test` parameter - Mention version where important features were added - Handle dist-git-sources for gitlab - Fix getting CentOS via --how virtual - Capture uncaught exceptions when using testcloud - Update the overview of essential classes - When following command line --how, do not iterate over step data - Convert utils' Run unit tests to class-less tests - Enable variable expansion for dynamic references - Support beaker libraries as recommended packages - Add `SpecBasedContainer.to_minimal_spec()` method (#1637) - Enable context based plan parametrization - Coverage for tests defined under `discover.shell` - Fix `/tests/run/shell` access permission problem - Add step data classes for provisioning and report - Adjust support for the dynamic `ref` evaluation - Add support for dynamic `ref` evaluation - Add a test for fmf id parsing and normalization - Fix NO_COLOR not being honored by executed command output - Moves common command options into one place - Log full chain of exceptions, not just the first cause - Drop deprecated PluginIndex - Add message to failure tags in junit report - Update the pip installation plan - Remove pointless reimport of tmt.base in discover steps - Do not use f-string as a docstring - Fix use of variable before assignment in `Plan.go` - Fix variable redefinition in `discover/shell.py` - Fix guest distro detection, do not throw results away - Fix a typo in `cpu.sockets` hardware requirement - Make links relative for report html - Review all uses of `type: ignore` and link relevant issues - Enhance ClickOptionDecorator type to announce identity - Update `/tests/execute/upgrade/override` duration - Review all uses of `Any` and link relevant issues - Annotate all `cast()` calls with respective issues - Move the `Result` class into a separate file - Unblock mypy's follow-import setting - Use set comprehension instead of list-in-set sequence - Use `enumerate()` instead of `range(len())` - Use dict comprehension instead of tuple-in-list-in-dict - Replace two more list comprehensions with generators - Replace GeneralError's "origin" with Python's "raise from" - Fix normalization of the `Plan.context` key - Adds a missing import to polarion plugin - Update all linters to their most recent versions - Define CPU HW components with more granularity - Adjust the support for importing remote plans - Add import plan feature and tests - Add type annotations to `base.py` - Fix test depending on ordering of elements in junit XML - Adds type annotations to `tmt` itself - Remove custom yet same implementation of step's show() - Make sure `repo_copy` is gone before `make srpm`- Fix recommended packages handling for rpm-ostree - Add EFI configuration to the `tmt-reboot` script - Fix adjust for precommit test - Fix provision for coreos image - Emit only non-default keys when constructing a test from `execute` - Add flake8 config file for easier integration with IDEs - Multiple scripts for CLI prepare -h shell - Allow mypy to cover the whole tmt.plugins and tmt.steps - Add typing for `steps/execute/upgrade.py` - Fix name & default value of polarion's upload field - Fixes enhancing of environment by local's guest implementation - Ignore plan -n when searching for upgrade path - Document & correct use of class conversion methods - Print fmf tree location when schema unit test fails - Custom results implementation - Refactors internal link handling and storage - Allow mypy to cover whole tmt.steps.prepare - Add typing for `steps/execute/internal.py` - Use workdir with safe names without special chars - Adjust support for installing remote packages - Support to install package from URL - Make sure short option '-x' is covered - Add Polarion as a source for test case import - Print path to the used ssh identity - Add typing for `steps/prepare/__init__.py` - Use generator instead of list comprehension with any/all - Fixes handling of default of --key in connect plugin - Update test data for the debuginfo install test - Add a helper for importing a member from a module - Fix plan schema to allow custom context dimensions - Allow mypy to cover whole tmt.steps.discover - Remove support for the obsoleted `detach` executor - Add typing for `steps/discover/fmf.py` - Fix importing for pylero - Allow mypy to cover whole tmt.steps.provision - Replace blank "type: ignore" with more specific waivers - Use the `SerializableContainer` for plugins' data - Enhance SerializableContainer with default key value inspection - Moves validation and normalization mixins to utils- Unify Polarion case searching - Error out if reboot timeout is exceeded - Initialize workdir thread-safe - Add support for remote playbooks in prepare - Add plan schema for errata and minute plugins - Correct rhts command names in stories file - Print escaped command suitable for manual debugging - Fix report plugin not getting arguments from fmf file - Less eager to disable nitrate case during export - Move `tag` and `tier` to common core attributes - Use `/bin/bash` instead of `/bin/sh` for execute - Reorder step and their base plugin classes - Fix prepare/multihost docs to match implementation - Teach schema validation tests to peek into other trees - Clarify motivation for creating `id` during export - Add link-polarion option and fix link searching bug - Ignore race in last-run symlink creation - Fix polarion tcmscaseid search - Force order of clean operations - Convert status/clean argument to option - Report enabled plans/tests/stories via option - Hint user if 'tmt init' creates nested root - Require `libvirt-daemon-config-network` as well - Add type annotation for /steps/prepare/install.py - Encapsulate created file within script's dataclass - Adds normalization layer to base classes based on fmf - Fixes data class used for local guest creation - Fixes Artemis guest data class link - Making tests/full more usable - Add typing for tmt/steps/provision/podman.py - Add typing for tmt/steps/provision/testcloud.py - Add typing for tmt/steps/provision/local.py - Remove unused keys parameter from wake() methods - Adds types describing tmt constructs when as stored in raw fmf data - Typing /steps/provision/connect.py - Allow raising an exception on validation errors - Inject logger object to base node classes inheritance - Fixes use of SSH keys in testcloud and connect plugins - Annotate tmt.steps.provision - Ask mypy to show error codes in its messages - Testcloud expects disk and memory to be int - Do not inherit classes from object - Use keyword-only init in base fmf-backed classes - Use decorator to register plugin methods - Demonstrate inheritance on a virtual test example - Add a simple hint how to write user messages - Add typing for `steps/finish/ansible.py` - Remove unneeded parameters for step load/save (#1428) - Normalize step data to be always stored a list internally - Display test/plan/story name in parametrized schema tests - Allow numbers and booleans to be values of environment - Give a reasonable error for old data format - Add typing for tmt/steps/finish/__init__.py - add typing for steps/discover/shell.py - Adds a fmf node validation layer to core classes (Test/Plan/Story) - Add missing keys `role` and `where` to schemas - Extend plan schema with all known step plugin schemas - Correcting rhts aliases & adding rhts opt. - Adds a generic "wait for condition" primitive - Disallow push/pull/execute if guest is unavailable - Rename "default how" step attribute to enhance its visibility - Use textwrap.dedent() to unindent docstrings- Reboot has to check for boot time - Fix path inside pre-commit test - Cut circular dependency of libraries - Update 'Develop' section of contribution docs - Precommit hooks to call tmt * lint - Schema loading helpers - Package schemas in subdirectories too - Implement reboot reconnect timeout configuration - Add missing report specifications/docs - Print result for execute -v - Correct import assumption about script - Ask mypy to check whole tmt.steps.report package - Fixing the directory name escaping in 'cd' command - Add polarion report plugin - Add schemas for plans - Write extra-nitrate as soon as possible - Retry git clone without --depth=1 if it failed - Support to lint attribute 'id' - Do not apply test command filter in upgrade - Fix export.py typing issues - Refactor location and signature of Phase's go() method - Simplify abort handling - Backwards compatibility for rstrnt-abort - Add type annotations for tmt/cli.py - Add typing for tmt/export.py - add typing for steps/discover/__init__.py - Convert guest implementations to use serializable container for load/save - Detect plugins by entry_point as well - Add typing for `steps/execute/__init__.py` - Add typing for `tmt/convert.py` - Remove duplicated dist-git-source/dist-git-type - Add typing for `steps/report/junit.py` - Add typing for `steps/report/html.py` - add typing for steps/report/display.py - Add typing for steps/report/__init__.py - tmt-file-submit is a bash script - Add type annotations for tmt/options.py - Backwards compatibility for `rstrnt-report-log` - Support conditional requires with `pip` as well - Remove duplicated short option in tmt lint - Adjust the `rstrnt-report-result` implementation - Backwards compatibility for `rstrnt-report-result` - Set the `1777` permision for `/var/tmp/tmt` - Adjust the fix for the `rpm-ostree` intallation - Fix package installation using `rpm-ostree` - Handle empty fmf file as an empty dictionary - Fix distgit testsuite after tmt packaging change- Require fresh testcloud with coreos support - Bad substitution in tmt-reboot - Ignore "certificate verify failed" error when handling retries - Cache content of each loaded environment file - Initial polarion support for test export - Fixes names of Artemis API versions - Convert FmfIdType from TypedDict to a dataclass - Add CoreOS support to the testcloud provision - Run containers with root user - Retry getting environment file - Test import --general is default now - Add typing for steps/finish/shell.py - Enhance tmt.utils.retry_session with timeout support - Adjust the `rpm-ostree` install implementation - Add support for the `rpm-ostree` package manager - Add `environment-file` to possible Plan keys - Avoid Library url conflict if repo doesn't exist - Check changes are pushed before export nitrate - Add typing for beakerlib.py - Unbundle template from the report.html plugin - Rename `uuid` to `identifier` to prevent conflicts - Use `must` for all mandatory spec requirements - Fail import for packages starting with minus sign - Adds support for newer Artemis API versions - Disable the extra verbose progress in testcloud - Refactor internal executor scripts - Adds "missing" imports to help IDEs follow objects - Add typing for steps/__init__.py - Implement the test `result` attribute - Add typing for plugins/__init__.py - Detect legacy relevancy during import as well - Implement the new user story key `priority` - Implement new class `SerializableContainer` - Add schema for stories - Add typing for steps/prepare/shell.py - Add typing for steps/prepare/ansible.py - Require fmf >= 1.1.0 (we need validation support) - Package fmf root into the source tarball as well - Add JSON Schema for tests - Exclude namespaced backup in beakerlib - Use --depth=1 when cloning git repos by default - Handle missing nitrate user during export - Removes unused GuestContainer.container_id attribute - Every subpackage must require the main tmt package - Introduce dataclasses as a requirement - Avoid re-using image/instance for different values by testcloud plugin - Add typing for multihost.py - Except nitrate xmlrpc issues during import - Exclude beakerlib's backup dir from guest.pull() - Increase `duration` for the reboot-related tests - Several release-related tests and docs adjustments- Command 'tmt clean' should not run rsync at all - Dist-git-source for Discover (fmf, shell) - Adjust the new `id` key implementation - Add a new core key `id` for unique identifiers - Recommend qemu emulators for other architectures - Copy the whole git repo only if necessary - Reveal hidden errors during `testcloud` booting - Use time for timeout handling in Guest.reconnect() - Split `Guest` class to separate SSH-capable guests - Explicitly set the docs language in the config - Kill the running test when rebooting - Extend the reboot timeout to allow system upgrades - Allow selecting tasks directly from upgrade config - Adjust the new `upgrade` execute plugin - Allow specifying command for reboot - Implement upgrade execute plugin - Buildrequire python3-docutils, append plan adjust - Implement `tmt tests export --nitrate --link-runs` - Detect component from general plan during import - Adjust the support for steps in standalone mode - Add results method to ExecutePlugin - Implement a common ancestor for Action and Plugin - Allow abstractly excluding steps from runs - Correctly handle tests --name '.' shortcut - Rename WorkdirType to WorkdirArgumentType - Fix workdir parameter type for tmt.utils.Common - Allows importing jira issues as link-relates - Enables mypy coverage for empty-ish Python files - Adds type annotations to tmt.templates - Prevent infinite recursion if --id is set - Enable mypy check for Artemis provision plugin - Adjust provision dry mode propagation, add a test - Introduce new _options attribute to Common class - Add specification for remote plans referencing - Bootstrap type annotations - Execute script should not be used with discover - Add the `arch` key to the hardware specification - Fix pip install instructions - Disable network access when building in copr - Ignore list for dist-git-source - Remove the obsoleted `detach` execute method - Fix login during `execute` and `prepare` step - Import from Makefile with missing build target- Add multiarch support to testcloud provision - Consistent summary for test export --nitrate - Allow dry mode for tests export --nitrate - Add a nice provisioning progress to Artemis plugin - Add support for the `where` keyword to `execute` - Adjust support for export of multiple tests - Add support for exporting multiple tests - Basic multihost test for the httpd web server - Update multihost specification with guest groups - Add a provision plugin for Artemis - Fix exclude option in fmf discover - Reduce the number of execute calls for reboot - Add support for reboot in interactive mode- Add a command to setup shell completions - Use /tmp instead of /run/user/ if not available - Use separate examples in the test specification - Add more story examples, simplify examples export - Story.example can hold list of strings - Fix traceback when connect plugin is used without hostname. - Adjust disabled shell expansion in Common.run() - Disable shell expansion in Common.run() by default - Build `epel9` packages, update install docs - Adjust the full test wrapper and document it - Test which compiles tmt and runs its testsuite - Add --exclude search option - Correct regex for require read from metadata file - Update document for creating virtual environment - Option to export fmf-id from run discover -h fmf - Allow import from restraint's metadata file (#1043) - Do not disable building for power arch on Fedora - Update documentation for plan parametrization - Make .vscode ignored by git - Drops basestring and unicode built-ins from utils - Fix timeout behaviour in testcloud plugin - Fixes possible test of None-ish CWD when running a command - Remove workdir only when its defined - Adjust the new `tmt plan export` feature - New feature: tmt plan export- Prevent koji build failures on unsupported arches - Check remote git URL if it is accessible - Implement a generic `requires` for all plugins - Run commands in podman provision via bash - Adjust implementation of the new `order` attribute - Implement the Core attribute `order` - Fix link generation in report.html - Improve step name handling - Enable shared volume mounts in podman provision - Add support for multihost provision and prepare - Adjust the dnf support for rsync install - Add dnf support for rsync install - Update links and refs after migration to `teemtee` - Track output for reboot purposes on per-test basis - Fix test --name '.' used with multiple plans - Tweak test suite (duration, centos:8, datadir) - Use `os.pathsep` to separate `TMT_PLUGINS` paths (#1049) - Document framework:shell exit codes - Add `html2text` to the `convert` pip dependencies- Make reboot support a bit more backward compatible - Ensure that workdir has a correct selinux context - Use `centos:stream8` image instead of `centos:8` - Disable X11 forwarding in ssh connections - Fix traceback for login after last report - Use `TMT_TEST_DATA` as location for `rlFileSubmit` - Implement variables for storing logs and artifacts - Adjust rsync installation on read-only distros - Handle rsync installation on read-only distros - Add hardware specification for hostname - Correctly import multiple bugs from Makefile - Remove dependency on the `python3-mock` package - Adjust linting of manual test files - Check Markdown files in tmt lint if `manual=True` - Adjust pulling logs from the guest during finish - Add guest.pull() to the finish step - Update virtualization hints for session connection - Improve error message for empty git repositories - Minor modification of test result specification - Use `where` instead of `on` in the multihost spec - Clarify that `path` is defined from the tree root - Adjust ansible requires for containers preparation - Move the reboot scripts to a read/write directory - Ignore read/only file systems reboot script errors - Require either ansible or ansible-core - Set the `TMT_TREE` variable during test execution - Clarify that 'until' means until and including - Update test debugging examples with --force option - Add `bios.method` to hardware spec - Improve environment variables specification a bit - Adjust the ssh connection multiplexing - Add support for ssh multiplexing- Improve testcloud/virtual provider docs - Disable UseDNS, GSSAPI for faster SSH in testcloud - Use `extra-args` attr for ansible-playbook - Fix el7 provision in testcloud user session - Adjust the instructions for migrating from STI - Document how to migrate tests from STI to tmt - Allow to pick objects by --link - Generate ecdsa key in testcloud - Simplify plugin keys handling in wake() and show() - Add support for Beakerlib's rlFileSubmit - Revert requiring exact beakerlib version - Dist git source can contain multiple files - Symlink worktree for discovered shell tests - Read environment variables from options only once - Correctly handle empty environment files - Use distro values from context for dist-git type - Make tests --name to just prune discovered tests - Enable duplicate test names and preserve ordering - Require beakerlib-1.28 for beakerlib tests - Adjust the dist git source discover implementation - Discover tmt tests from sources - Reenable plans/install/docs - Correct the `playbook` attribute in the spec (#948) - Ansible plugin for Finish step - Thread processing of executed commands inside tmt - Adjust `tmt test lint` test for old yaml format - Canonical name for centos-stream in dimension - Remove obsoleted conditionals from the spec file - Use a fresh sphinx when building the readthedocs - Allow to specify session type (system/session) - Package tmt.plugins to store arbitrary plugins - Ignore ssh connection closed during reboot - Improve error message for the missing step name - Document how to integrate tests with other tools - Use the recommended format of the copyright notice - Update notes about the release process - Update the hardware specification with new keys- Add support for reboot in a reused provision - Solve the reboot race condition - Adjust the current git remote improvement - Use current git remote for url in fmf-id - Implement option to exit after first failure - Clarify and update spec for the discover step - Adjust the multihost test specification - Add the multihost testing specification - Make run --force behave more expectably - Increase duration for tests using containers - Rename soon-to-be deprecated resultcallback - Remove the minute.obsolete provision plugin - Document how to create a new minor/major release - Explicitly mention '.' as special value for names - Add Github Action for PyPI releases - Improve fetching remote environment files - Adjust the check for rsync before pull and push - Install `rsync` before guest.pull() - Second chapter of the Guide: Under The Hood - Simplify the search for step method options - Produce better errors for unsupported plugins - Add more ignored files, categorize gitignore more - Extend .gitignore with a few more common patterns - Export fields of a case should be checked by lint - Adjust the bugzilla support in test export - Test export can link case to bugzilla - Document the support for `open` key in html report - Allow html report to be opened by plan - Require essential packages for tmt testing - Skip the docs test until the Sphinx issue is fixed- Adjust support for exporting test fmf identifiers - Add --fmf-id option for tests export - Fix regression in image listing - Update hardware spec with units and current status - Adjust the reboot support in the internal executor - Add support for reboot to internal executor - Always try to save guest details - Give hints about available report methods - Handle libvirt exceptions correctly - Handle FileNotFoundError when running commands - Adjust framework detection during test import - Detect test framework during test import - Adjust the reboot command test, minor enhancements - Adjust reboot command implementation - Implement the reboot class and subcommand - Adjust the improved login step selection - Login after last done step without --step option - Adjust default shell options implementation a bit - Make multiline shell scripts fail on error - Ensure environment files are within metadata tree - Add pycharm .idea to .gitignore - Ensure environment-file paths are only relative - Adjust the 'environment-file' implementation - Implement the 'environment-file' option - Mention required packages on the Contribute page - Migrate to ruamel.yaml - Adjust tmt lint implementation - Add tmt lint command - Do not expand the process environment variables - Adjust legacy match to cover both rhel and centos - Guess pci/net when libguestfs python is missing - Add timestamp to the tmt debug output - Restart sshd on EL8 to prevent delays after boot - Support systemd-networkd systems without nm too - Testcloud: Use cache='unsafe' for a nice IO boost - Check invalid attributes in plans with lint - Require correct testcloud version in setup.py - Adjust the support for plan parametrization - Implement plan parametrization from environment - Deprecation timing, mention vagrant box support - Fix exit code for tmt story lint - Require testcloud with the url guessing support - Use testcloud for image url guessing - Update the RHEL 8 / CentOS 8 install instructions - Accept more ssh keys in the API - Require a full path for local images in testcloud - Adjust the conversion of Makefile types to tags - Convert Type from Beaker Makefile into tags - Make sure pip is available for integration testing - Disable the white space test for container/virtual - Use IdentitiesOnly=yes when key or password is set- Adjust the new plugin documentation - Add plugin examples and documentation - Ensure that the discover git reference is a string - Report plugin for JUnit output - Fix issue when raising error for NoneType - Print better error when nitrate testcase not found. - Use `count=True` for multiple flag options - Add option to explicitly use default plan - Adjust debuginfo installation, add test coverage - Use debuginfo-install for installing debuginfos - Update the documentation based on refactoring - Implement tmt story lint - Refactor Node class to Core - Correctly handle spaces in file/directory names - Hand over plan environment during local execution - Do not execute manual test cases - Fix option handling for plugins with common prefix - Propagate options to guests based on the step - Support fetching libraries from a local directory - Add a simple example of a test written in ansible - Pass environment variables to ansible (local) - Pass environment variables to ansible (virtual) - Adjust warning for extra lines in Makefile targets - Add test import warning for run and build targets - Enable a few more pre-commit hooks, sort imports - Give a warning about the obsoleted minute plugin - Clarify adjust dependency on explicit context - Fix the EPEL installation instructions - Adjust the new list options for the minute plugin - New print method, used now in minute plugin - Implement listing available minute images/flavors - Update default option values for verbose and debug - Avoid creating workdir on --help - Do not keep run workdir during testing - Clean up the code style, remove the vagrant plugin- Enable and document `pre-commit` and `autopep8` - Reorganize feature stories, fix title duplication - Prepare/install story for package development. - Add package preparation scenarios from Fedora CI - Prepare/install story for released packages - Add new stories related to package preparation - Fix login not working for cloud images - Work around a seccomp podman issue on centos-8 - Tag multihost tests during import from Makefile - Adjust the simple test for ansible prepare - Remove hardcoded ansible_python_interpreter=auto - Fix lint and use it on the tmt repo itself - Obsolete the minute provision plugin - Update the documentation for contributors - Do not assert installed packages for recommend - Show link to the full debug log in the html report - Implement tmt clean command - Require a newer fmf which supports storing data - Allow to specify port in provision.connect - Surround classes and functions with 2 blank lines - Fix order of imports, sort them alphabetically - Update the provision step hardware specification - Fix tmt plan lint for multiple configurations - Add tmt status examples section - Add a context adjust example for the prepare step - Adjust the git suffix stripping for known forges - Strip git suffix from pagure/gitlab/github repos - Enable install plans for pull request testing - Adjust the essential attributes description - Document the essential class attributes - Improve the prepare step documentation - Correctly convert relevancy with the `!=` operator - Print note in report.html if it exists - Add note about error for beakerlib results - Adjust progress bar for the internal executor - Add test progress bar to non-verbose mode - Adjust the attribute linting for tests - Lint attribute names for test - Human friendly names for VMs- Create a copy of nitrate testplans for iteration - Check the rsync as the first preparation step - Use an empty worktree if no metadata tree found - Adjust manual test instructions export to nitrate - Export manual test case fields to nitrate - Adjust the worktree implementation and test - Implement shared worktree for the tests - Adjust the improved verdict implementation - Correct the verdict function, align docstring - Print final image name in minute plugin - Adjust the improved plan linting a bit - Improve plan linting - Implement port in Guest, show in verbose mode - Use qemu user mode in the testcloud provision - Support excluding packages during installation - Support enabling/disabling plans and stories - Do not link and remove general plans by default - Improve general plans handling during test export - Match by name prefix in discover.modified-only - Passthrough non-zero exits for beakerlib execution - Adjust the dry mode implementation for tmt init - Implement dry mode for the tmt init command - Do not use the spec release for the pip version - Simplify story, plan and test search methods - Do not use mutable objects as default arguments - Prevent duplicate content in generated docs - Ignore the nitrate migration warning during import - Better summary for new exported tests - Adjust exception handling in the testcloud plugin - Make the testcloud ProvisionError more verbose - Use IPv6 enabled 1MT network by default - Improve debugging of tests using click runner - Fix step selection for --before and --after - Adjust the prepare test and pull/push enhancements - Add prepare/shell test and pull/push enhancements - Test filter on command line overrides config - Improve handling of verbose and debug options - Verify automated test case import from nitrate - Enable copr repo even if no package is provided - Improve documentation of tests, plans and stories - Use fmf to store the newly created nitrate case id - Adjust the hint about increasing the test duration - Add hint to stdout in case of timeout - Catch all exceptions when evaluating --condition - Fix missing overview on the readthedocs.org site - Adjust style of the new nitrate integration test - Nitrate integration testsuite with requre - Always enable force mode for display/html report - Improve documentation, clearly show draft stories - Test filter on command line overrides config - Print unofficial attributes in tmt tests show -vv - Adjust dry mode fix for test/plan/story create - Implement dry mode for tmt test/plan/story create - Support NO_COLOR to disable colored output - Add test duration to `results.yaml` - Adjust checking for duplicates during test export - Prevent creating duplicate test cases in Nitrate - Use singular for 'gate' as defined in the spec - Fix gates conversion & drop artifacts - Adjust a bit the shell completion instructions - Describe how to enable shell completions - Extend the duration test to cover positive results - Detect timeout for Beakerlib, use TESTRESULT_STATE - Improve tmt test path linting - Clarify playbook path for ansible prepare plugin - Adjust warning about the invalid disabled step - Only warn on invalid disabled step - Use date-service to get correct instantiation time - Prevent keys mutation when searching plans/stories - Cache fmf_id property - Store relevant bugs during test import - Avoid mutating `keys` default in .tests() - Use the new execute method syntax for tmt tests - Clean up obsolete test metadata- Add test for prepare freeze - Make file descriptors non-blocking - Update the specification and stories to use link - Implement the new core attribute 'link'- Set timeout on select calls in utils._run() - Show the current tmt version in the debug log - Revert support for the 'el' distro shortcut - Strip whitespace before relevancy comment - Ensure rsync is installed on the guest if needed - Use the default branch in the discover fmf plugin - Suport the 'el' shortcut for the distro context - Implement the 'tmt --version' option [fix #445] - Adjust test create test, fix missing dots - Support creating tests in the current directory - Rename container images, update install docs - Fixup Dockerfiles to build in quay.io. - Support building mini and full tmt container image - Add a Dockerfile for container with tmt - Fix dependency error messages - Use a better trigger name for source code changes - Add a new 'Check Report' section to examples - Add the --force explanation in the documentation - Extend the test coverage to check for active runs - Add basic test coverage for tmt status - Restore context after processing each run - Correctly handle an undefined step status - Load default plan when no root is present - Implement tmt status command - Define command-line interface for status command - Print library in error message during ref conflict - Adjust the default branch handling for libraries - Handle default branch in Library - Adjust test duration, clean up old test metadata - Improve timeout handling (fix an infinite loop) - Adjust default timeout in the testcloud provision - Remove obsolete unit test coverage for steps - Adjust the filtering support, fix docs building - Allow filtering using custom L1 metadata - Allow filtering with lowercase bool names - Handle exceptions when applying filters and conditions - Share code for filters & conditions, test coverage - Apply filters after applying defaults and conversions - Fix IPv4 parsing when booting minute machine - Remove all hacks for the old cruncher executor - Remove the whole rhts-lint line during test import - Remove the old convert test from unit tests - Adjust contact handling to work with manual tests - Fix contacts without name during tmt test import - Finalize the specification of the 'link' attribute - Add specification of the new core attribute 'link' - Enough of dreaming, let's go to the forest! :) - Update the overview of core classes, minor cleanup - Add missing required packages for pip install - Implement tmt run --follow option for checking log - Extra check for required packages when using yum - Clean up obsolete names in examples and templates - Update the test checking for relevancy conversion - Adjust storing test case id for new nitrate cases - Append nitrate id when exporting instead of rewrite - Skip prereserve check if custom flavor requested - Use special compare operators only if minor given - Adjust support for selecting modified tests - Allow selecting only tests that have changed in git - Remove the duplicate build job from packit config - Verify the old beakerlib functions using Makefile - Enable debug output using the TMT_DEBUG variable- Manual state for manual nitrate tests - Define framework for all beakerlib libraries tests - Remove the remaining test case relevancy leftovers- Minor adjustment of the beakerlib test template - Adjust the new test checking the error output - Print errors to stderr - Fix check for selecting plans during tmt run - Update test coverage, fix finish step example - Update spec/stories implementation coverage - Skip import of manual cases with script - Import header and footer from Nitrate - Implement conversion between relevancy and adjust - Support short options for selecting tests & plans - Document the display and html report in the spec - Explain the difference between fmf and tmt - Fix the last missing framework in library tests - Adjust the docs update and title implementation - Implement a new story attribute 'title' (L3) - Small documentation cleanup - Simplify plan setup, move old plans to examples - Store the whole debug log in the top run directory - Add test for pip installability - Add a new plan to cover minimal installation - Move html report plugin into a separate subpackage - Use 'output.txt' filename for the main test output - Update required fmf version in setup.py - Improve the css style for the html report - Fix blocking read in Common.run - Adjust a bit the improved html report - Improve report-html --open - Implement adjusting metadata based on the context - Adjust the new 'html' report method - New report --how html available - Adjust environment import from Makefile metadata - Import environment from Makefile metadata - Update old beakerlib paths during tmt test import - Adjust a little bit the user story templates - Support libraries stored deep in the repositories - Enable the new coverage stories section in docs - First stories to cover tests coverage mapping - Recommend using login shell in libvirt hints - Use nitrate naming for the manual field export - Export manual attribute to nitrate - Store complete initialized data in metadata.yaml - Merge the improved minute error messages [#425] - Adjust a bit the minute provision error messages - Handle testcloud problem with the images directory - Handle tracebacks in minute provision - Multiple enhancements for package preparation - Gracefully handle invalid library reference- Convert adds extra-summary as well - Simplify test directory copy with enabled symlinks - Select latest minute image only from released images - Allow specifying exact RHEL version using a short name - Preserve symlinks during discover, pull and push - Always run Login plugin even if step is done - Suggest some useful aliases for common use cases - Correct type of Tier attribute in examples - Define basic hardware environment specification - Import manual data for automated tests - Tag tests which can be run under container/virtual - Give hints to install provision plugins [fix #405] - Handle nicely missing library metadata [fix #397] - Update the test data directory name in the spec - Extend duration for tests using virtualization - Use a better name for the test data path method - Provide aggregated test metadata for execution - Send warnings to stderr, introduce a fail() method- Correctly handle framework for new plans and tests - Move runtest.sh adjustments into a single function - Add the executable permission to runtest.sh - Less strict removing sourcing of rhts-environment - Use metadata directory as the default for path - Implement the new L1 attribute 'framework' - Explicitly enable copr_build for pull requests - Handle missing library in existing repository - Update the overall tmt description and examples - Enable builds from master in the main copr repo - Merge packit config for copr builds from master - Use packit repository for copr builds from master - Gracefully handle invalid test output - Build in COPR for master via packit - Add hint about caching the dnf package metadata - Add two hints about easy login for experimenting - Merge debug messages for the minute plugin [#361] - Adjust the minute provision debug messages wording - Use the internal tmt executor by default - Add more debug messages to minute provision - Remove the remaining 'tmt test convert' references - Prevent shebang mangling for detached executor - Merge the minute and install plugin docs [#345] - Adjust the minute and install plugin documentation - Merge the manual test import documentation [#347] - Adjust the manual test documentation wording - Merge rhts-environment source line removal [#344] - Adjust rhts-environment source line removal - Add missing extra-* keys to the test import - Add docs for manual case import - Disable authentication when fetching libraries - Document the install prepare method - Document the minute provision method - Remove sourcing of rhts-environment in runtest.sh - Add minute to supported provision methods of prepare- Adjust manual test case import from nitrate [#319] - Move the test convert deps into a separate package - Support importing manual test cases from Nitrate - Merge the non-zero exit codes for linting errors - Fix several test export issues [fix #337] - Adjust distro checks, remove the dry parameter - Generalized Guest.details() [fix #310] - Adjust the test coverage for tmt plan/test lint - Update documentation with virtualization tips - Make sure the duration timer is always canceled - Merge the new retry_session functionality [#328] - Exit with non-zero code if linting fails - Merge fix for the double fmf extension [#327] - Prevent koji from trying to build packages on i686 - Retry requests in case of network failure - Avoid double fmf extension when creating plans and stories - Improve the maximum test duration handling - Remove vagrant from tmt-all recommended packages - Detect beakerlib libraries from recommend as well - Simplify packit custom create archive command - Make the httpd test example a bit more interesting - Append dots to fix tmt run --help message summary - Document multiple configs and extending steps- Move libraries handling into a separate module - Adjust loading variables from YAML files [#316] - Support environment variables from YAML files - Give a nice error for expired kerberos [fix #57] - Merge Guest relocation and documentation [#307] - Describe essential Guest methods in more detail - Update test import story and documentation - Merge extra-task as summary in test export [#304] - Move default plan handling into a single method - Move the Guest class from base to steps.provision - Save root in run.yaml - Document L1 metadata defined in the discover step - Improve Makefile editing during test import - Use extra-task as summary in test export - Mention default methods in the step help message - Handle invalid url when library provided as fmf id - Allow library git clone to fail- Make the discover step a little bit more secure - Improve basic and verbose output of tmt plan show - Improve default plan handling and more [fix #287] - Adjust the compose check retry in testcloud - Retry Fedora compose check in testcloud [fix #275] - Update development section and library example - Support fetching beakerlib libraries in discover - Add nitrate to the setup.py extra requires - Add a workflow-tomorrow integration test example - Add 'duration' into the test results specification- Add virtual plans for supported provision methods - Implement description in 'tmt plan show' as well - Implement tmt run --remove to remove workdir - Extend the login/step test to cover failed command - Do not fail upon command fail in interactive mode - Implement the internal tmt execute step method - Move all prepare/install tests to tier level 3 - Merge the new manual test specification [#247] - Merge the new L1 attribute 'recommend' [#265] - Adjust the manual test specification and examples - Implement 'recommend' for installing soft requires - State explicitly that execution is finished - Simplify beakerlib template, add test for init - Manual test case specification and examples - Implement exit codes, handle no tests [fix #246] - Merge the interactive shell login command [#258] - Adjust support for shortened 1MT image names - New login command to provide a shell on guest - Add support for shortened 1MT image names - Add support for running tests without defined plan - Ignore save() in the execute step unit test - Update the default run example with fresh output - Show kernel version only in verbose mode- Use emulator_path instead of hard-coded qemu path - Improve a bit the --force option description - Use consistent naming for provision subpackages - Add 'mock' to extra requires (needed to make docs) - Move podman and testcloud plugins into subpackages - Enable epel for packit build & testing farm - Move vagrant from requires to recommends (tmt-all)- Merge the fix and test for run --force [#245] - Merge the improved display report [#241] - Adjust the display report plugin verbose output - Adjust general plan linking and component check - Clean up the run workdir if --force provided - More verbose modes for report --how display - Link plans, handle missing components in export - Import and listify of contact - Disable Tier 3 tests by default (need bare metal) - Move Tier 0 tests into a separate directory - Merge the new 1minutetip provision plugin [#225] - Adjust the 1minutetip provision plugin - Add support for tmt run --after and --before (#237) - Support string in test component, require and tag (#233) - Add support for installing local rpm packages - Add 1minutetip provision plugin - Implement tmt run --since, --until and --skip (#236) - Merge pull request #234 from psss/testcloud-aliases - Update the last run id at the very end of run - Support short Fedora compose aliases in testcloud - Convert the finish step into dynamic plugins - Convert the report step into dynamic plugins - Convert the execute step into dynamic plugins - Escape package names during installation - Deduplicate inherited keys in test import [fix #8]- Implement executing the last run using --last - Adjust support for modifying plan templates - Add a way how to edit values in a new template - Explicitly mention supported distros in the docs - Convert provision/prepare into dynamic plugins - Describe difference between --verbose and --debug - Support fmf name references in docs, update spec - Support multiple verbose/debug levels [fix #191] - Remove forgotten 'Core' section from stories - Implement Plugin.show() for a full dynamic support - Improve the workdir handling in the Common class- Workaround yaml key sorting on rhel-8 [fix #207] - Fix test discovery from the execute step scripts - Merge discover step documentation and fixes [#204] - Document the discover step, fix issues, add tests - Simplify the minimal example, adjust tests - Move fmf_id() to Node class, minor adjustments - Allow to print fmf identifier in tmt tests show - Merge manual tests story and examples [#198] - Add a story and examples describing manual tests - Sync more extra-* attributes when exporting [#199] - Enable checks for essential test attributes - Handle require in Dicovery - Store imported metadata in a sane order [fix #86] - Enable Python 3.8 in Travis, update classifiers - Add missing 'require' attribute to the Test class - Fix long environment for run.sh [fix #126] - Merge dynamic plugins and wake up support [#186] - Implement dynamic plugins and options [fix #135] - Suggest using 'tmt init' when metadata not found - Merge improved import of tier from tags [#187] - Adjust tier import from test case tags - Merge tmt test export --nitrate --create [#185] - Adjust suppport for creating new nitrate testcases - Allow creation of nitrate cases when exporting - Create tier attribute from multiple Tier tags - Fix run.sh to work with RHEL/CentOS 7 as well - Implement wake up for Run, Step and Discover- Merge the improved test import checks [#179] - Adjust checks for missing metadata - Add checks for missing metadata. - Implement public_git_url() for git url conversion - Define required attributes and duration default- Import the testcloud module when needed [fix #175] - Update implementation coverage of stories & spec - Discover only enabled tests [fix #170] - Correctly handle missing nitrate module or config - Use raw string for regular expression search- Merge default images for podman/testcloud [#169] - Do not export empty environment to run.sh - Merge vagrant check for running connection [#156] - Adjust vagrant check for running connection - Merge test export into nitrate [#118] - Adjust 'tmt test export --nitrate' implementation - Use fedora as a default image for podman/testcloud - Move testcloud back to the extra requires - Always copy directory tree to the workdir - Add an example with test and plan in a single file - Do not run tests with an empty environment - Check for non-zero status upon yaml syntax errors - Export test cases to nitrate - Merge test import using testinfo.desc [#160] - Adjust test import using testinfo.desc - Use testinfo.desc as source of metadata - Add environment support to the discover step (#145) - Add a new story describing user and system config (#143) - Check if connection is running in Vagrant Provision- Merge fixed environment support in run.sh [#99] - Add container and testcloud to tmt-all requires (#157) - Rename dict_to_shell() to better match content - Make path mandatory in run.sh. - Handle execution better in run.sh - Implement --env for testcloud provisioner - Merge run --environment support for podman [#132] - Fix container destroy, plus some minor adjustments - Use cache 'unsafe' for testcloud (#150) - Add --env option and support in podman provisioner - Warn about missing metadata tree before importing - Move testcloud to base requires, update README (#153) - Destroy container in finish only if there is any - Merge tmt test import --nitrate --disabled [#146] - Adjust the disabled test import implementation - Add an overview of classes (where are we heading) - Import non-disabled tests - Add a 'Provision Options' section, update coverage - Support selecting objects under the current folder - Add a link to details about fmf inheritance - Move requirements under the Install section - Mock testcloud modules to successfully build docs - Include examples of plan inheritance [fix #127] - Update implementation coverage for cli stories - Add testcloud provisioner (#134) - Merge the new story for 'tmt run --latest' [#136] - Move run --latest story under run, fix code block - Fix invalid variable name in the convert example - Use 'skip' instead of 'without', simplify default - Add rerun cli shortcut - Make sure we run finish always - Update the docs making '--name=' necessary (#138) - Clarify environment priority, fix release typo - Add environment specification - Remove copr build job from packit (not necessary) - Use the 'extra-summary' in the output as well - Use 'nitrate' consistently for tcms-related stuff - Prefix all non-specification keys [fix #120] - Show a nice error for an invalid yaml [fix #121] - Move container plan to common provision examples - Remove tmt-all dependency on vagrant-libvirt - Do not use red for import info messages [fix #125] - Show a nice error for weird Makefiles [fix #108]- Rename the 'test convert' command to 'test import' - Include 'path' when importing virtual test cases - Extract test script from Makefile during convert - Do not import 'fmf-export' tag from nitrate [#119] - Merge the improved component import [#115] - Several adjustments to the component import - Merge the improved requires parsing [#113] - Fix parsing multiple requires from Makefile - Fail nicely if executed without provision (#112) - Make sure the copr command is available in dnf - Fix handling defaults for options, adjust wording - Read 'components' from nitrate when converting - Read requires as list when converting tests - Make it possible to pass script on cmdline - Mention libvirt and rsync in Fedora 30 workaround - Move podman image check and pull under go() - Simple destroy implementation for podman provision - Add Fedora 30 installation instructions [fix #105] - Merge podman support for the provision step [#106] - Several adjustments to the podman implementation - Fix _prepare_shell in podman provisioner - Add podman provisioner - Update the test case relevancy specification (#102) - Move copy_from_guest to provision/base.py (#75) - Several minor adjustments to the restraint story - Add user story for restraint - Merge different summaries for subpackages [#97] - Remove macro from the tmt-all subpackage summary - Add different summaries for sub-packages - Mention 'fmf-export' tag in the test export story - Merge optional PURPOSE in test convert [#89] - Handle missing duration or nitrate case in convert - Add support for wrap='auto' in utils.format() - Use local fmf repository for the basic plan (#94) - Merge test import documentation updates [#90] - Merge tag, status, pepa & hardware for test import - Several test import adjustments related to #91 - Fix deduplication bug when converting tests - Read more attributes from nitrate when converting - Update examples doc for converting tests - Update execute step examples for shell - Simplify packit configuration using 'fedora-all' (#88) - Optional attributes when converting. - Update execute and report step specification - Add spec for results.yaml and report.yaml (#66) - Add a story for exporting tests into nitrate (#83) - Add the 'require' attribute into the L1 Metadata - Update the Metadata Specification link in README - Improve 'tmt test convert' command implementation- Do not create bash completion script during build - Require the same version, fix changelog entry - Create fmf for each tcms case when converting. (#78)- Make the package build for epel7 and epel8 - Implement test discover from execute shell script - Disable /plan/helps for running in cruncher (#74) - Do not fail ansible execution on 'stty cols' error - Use a list for storing converted requires - Add Requires to main.fmf when converting tests (#65) - Fix command debug output to join tuples as well. (#77) - Set 80 chars for ansible-playbook on localhost - Use tmt to init tree, extra folder for playbooks - Fix log and error handling in execute - Fail in run.sh if there are Missing tests. - Use sudo in prepare step to allow local execution - Fix run_vagrant() to work with shell=True - Use tmt init --template, not --mini|--base|--full (#69) - Add a simple local provision plan to examples - Simplify step selection test, simple local example - Fix conflicting options, revert copr config - Add `--guest` support for the provision step - Depend on git-core and not the full git package (#64) - Use shell=True as a default in utils' run() - Put quotes in `pip install .[*]` in README (#67) - Use parent run context to check for enabled steps - Improve the enabled steps implementation - Add 'mock' to the extra test requires [fix #63] - Add a new story for developing upgrade tests - Update fedora targets for packit - Add vagrant to BuildRequires (needed to run tests) - Add stories for connecting to a provisioned box - Separate the provision step into multiple stories - Fix provision tests to work with older mock (#51) - Install the latest mock module for testing - Default to vagrant provision, use the tree root - Update documentation coverage links - Move new docs to examples, adjust style & content - Add prepare functionality to local provision - Import examples from @psss's talk - Add an argument to ProvisionBase.copy_from_guest (#41) - Remove unused imports, fix crash, shell prepare - Initial prepare and finish steps implementation - Document the vagrant-rsync-back plugin workaround - Fix beakerlib execution, show overall results - Better execute with logs and better run.sh - Implement 'tmt init --base' with working examples - Add git to the main package requires - Add tmt & python3-nitrate to the tmt-all requires - Create subpackage 'tmt-all' with all dependencies - Use package_data to package the test runner - Apply requested file mode in create_file() - Run tmt tests local by default, fix provision show - Implement image selection using provision --image - Do not re-raise tmt exceptions in debug mode - Package the runner, dry mode in Common.run() - Support multiline output in common display methods - Enable command line filtering in discover.shell - Default discover method has to be 'shell' - Fix Common.run() to capture all output, log all - Fix broken test/plan/story create, add some tests - Better config handling in ProvisionVagrant. - Implement 'sync-back' and simple VagrantProvision.- List all python packages in the setup.py - Initial implementation of the execute step - Vagrant Provider output and provider handling - Relay API methods to instances in provision - Simple localhost provisioner (#28) - Implement shell discover, add a simple example - Fix test path, discover in go(), adjust example - Add run.sh for running the tests on guest - Add default config for libvirt to use QEMU session- Implement common --filter and --condition options - Store step data during save() - Common logging methods, improve run() output - Implement common options and parent checking - Sync the whole plan workdir to the guest - Fix inheritance and enable --verbose mode. - Rename the main metadata tree option to --root - Adjust tests to skip provision, fix raw strings - Move example Vagrantfiles to examples - Implement ProvisionVagrant (#20) - Implement tests.yaml creation in discover - Implement 'tmt test export' with yaml support - Support checking parent options, fix plan show -v - Implement common methods status(), read(), write() - Implement run() to easily execute in the workdir - Implement DiscoverPlugin class, require step names - Move workdir handling into the Common class - Common class & filtering tests/plans for execution - Improve step handling, remove global variables - Fix 'tmt init --full' in a clean directory - Better handle defaults and command line options - Do not run systemd plan as it fetches remote repo - Add documentation generated files to gitignore - Get rid of the test attribute inconsistencies - Fix various issues in localhost provisioner skeleton - Update discover step story with example output - Add an example of a shell discover step - Add a simple smoke test story - Add base class for provisioner - Initial implementation of the discover step - Allow creating tmt tree under an existing one - Support multiple configs in Step.show() - Support and document optional dependencies install - Add an example of multiple configs - Convert step data to list, add execute check - Add --how option to provision command - Move step classes into separate directories - Implement class Run with workdir support - Add a workdir structure example - Separate metadata tree for L2 metadata examples - Add stories covering the Metadata Specification - Enable bash completion feature- Add tests for 'tmt init', allow overwritting - Use plural commands to prevent confusion [fix #10] - Add a link to Packit & Testing Farm documentation - Add a simple develop section to the readme - Split cli stories into multiple files - Cleanup convert example, simplify story example - Implement initialization with creating examples - Implement 'tmt {test,plan,story} show --verbose' - Implement 'tmt story create', add basic templates - Implement 'tmt plan create' plus initial templates - Add a new story for creating plans (enable CI) - Add basic rpm installation stories - Show test steps summary in plan show if provided - Add a Release Test Team installation tests example - Suggest git-like moving forward in tasks - Fix step names in 'tmt plan show' output - Update documentation overview with latest changes - Add story introduction, cleanup generated files - Generate documentation for user stories - Use raw string to prevent invalid escape sequence - Test Management Tool, it's not metadata only - Add a story for core option --debug - Add a story for the mock shortcut [fix #5, fix #6] - Add a story for core option --format - Propose a dream for hands-free debugging - Rename remaining testset occurences to plan - Implement 'tmt plan lint' with initial checks- Fix uncovered story filter logic, show total - Rename testsets to plans, simplify playbooks - Fix basic testset repo, install dependencies - Implement 'tmt init', add the corresponding story - Show overview of available tests, plans, stories - Implement 'tmt story coverage', update coverage - Implement 'tmt story --covered / --uncovered' - Rename testsest to plan to avoid common prefix- Enable Packit building and Testing Farm testing - Provide one-letter versions for select options - Implement 'tmt run --all' to run all test steps - Support command abbreviation, add related stories - Add the Quick Start Guide story to documention - Add coverage options to tmt story ls and show - Initialize metadata tree only when accessed - Remove show functionality from the 'run' command - Implement 'tmt test create' with basic templates - Implement 'tmt test lint' with some basic checks - Add user stories for core options and attributes - Implement 'tmt story show', couple of adjustments - Prevent alphabetical sorting of commands in help - Move unit tests into a separate directory - Align examples with the latest specification - Implement 'tmt show' for test and testset - Implement ls for test, testset and story commands - Add 'tmt test create' command to user stories - Add an initial set of basic tests - Update cli user stories, add api & docs stories - Add a couple of dreams for the bright future :-)- Initial packaging  !!#$%&'()*++--//1234557799;<=>?@ABCDEFGHIJKLLNOPQRSTUVVXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~1.24.1-1.el81.24.11.24.1       !"#tmttmt-1.24.1-py3.6.egg-infoPKG-INFOSOURCES.txtdependency_links.txtrequires.txttop_level.txt__init__.py__main__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc__main__.cpython-36.opt-1.pyc__main__.cpython-36.pycbase.cpython-36.opt-1.pycbase.cpython-36.pyccli.cpython-36.opt-1.pyccli.cpython-36.pycconvert.cpython-36.opt-1.pycconvert.cpython-36.pycidentifier.cpython-36.opt-1.pycidentifier.cpython-36.pyclint.cpython-36.opt-1.pyclint.cpython-36.pyclog.cpython-36.opt-1.pyclog.cpython-36.pycoptions.cpython-36.opt-1.pycoptions.cpython-36.pycqueue.cpython-36.opt-1.pycqueue.cpython-36.pycresult.cpython-36.opt-1.pycresult.cpython-36.pyctemplates.cpython-36.opt-1.pyctemplates.cpython-36.pycutils.cpython-36.opt-1.pycutils.cpython-36.pycbase.pycli.pyconvert.pyexport__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pyc_dict.cpython-36.opt-1.pyc_dict.cpython-36.pyc_json.cpython-36.opt-1.pyc_json.cpython-36.pycnitrate.cpython-36.opt-1.pycnitrate.cpython-36.pycpolarion.cpython-36.opt-1.pycpolarion.cpython-36.pycrst.cpython-36.opt-1.pycrst.cpython-36.pyctemplate.cpython-36.opt-1.pyctemplate.cpython-36.pycyaml.cpython-36.opt-1.pycyaml.cpython-36.pyc_dict.py_json.pynitrate.pypolarion.pyrst.pytemplate.pytemplatesdefault-story.rst.j2yaml.pyidentifier.pylibraries__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycbeakerlib.cpython-36.opt-1.pycbeakerlib.cpython-36.pycfile.cpython-36.opt-1.pycfile.cpython-36.pycbeakerlib.pyfile.pylint.pylog.pyoptions.pyplugins__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycpy.typedqueue.pyresult.pyschemascommon.yamlcore.yamldiscoverfmf.yamlshell.yamlexecutetmt.yamlupgrade.yamlfinishansible.yamlshell.yamlplan.yamlprepareansible.yamlerrata.yamlinstall.yamlshell.yamlprovisionartemis.yamlbeaker.yamlconnect.yamlcontainer.yamlhardware.yamlkickstart.yamllocal.yamlminute.yamlvirtual.yamlreportdisplay.yamlhtml.yamljunit.yamlpolarion.yamlreportportal.yamlresults.yamlstory.yamltest.yamlsteps__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycdiscover__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycfmf.cpython-36.opt-1.pycfmf.cpython-36.pycshell.cpython-36.opt-1.pycshell.cpython-36.pycfmf.pyshell.pyexecute__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycinternal.cpython-36.opt-1.pycinternal.cpython-36.pycupgrade.cpython-36.opt-1.pycupgrade.cpython-36.pycinternal.pyscriptstmt-aborttmt-file-submittmt-reboottmt-report-resultupgrade.pyfinish__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycansible.cpython-36.opt-1.pycansible.cpython-36.pycshell.cpython-36.opt-1.pycshell.cpython-36.pycansible.pyshell.pyprepare__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycansible.cpython-36.opt-1.pycansible.cpython-36.pycinstall.cpython-36.opt-1.pycinstall.cpython-36.pycshell.cpython-36.opt-1.pycshell.cpython-36.pycansible.pyinstall.pyshell.pyprovision__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycartemis.cpython-36.opt-1.pycartemis.cpython-36.pycconnect.cpython-36.opt-1.pycconnect.cpython-36.pyclocal.cpython-36.opt-1.pyclocal.cpython-36.pycartemis.pyconnect.pylocal.pyreport__init__.py__pycache____init__.cpython-36.opt-1.pyc__init__.cpython-36.pycdisplay.cpython-36.opt-1.pycdisplay.cpython-36.pycdisplay.pytemplates.pyutils.pypython3-tmtLICENSEtmt/usr/lib/python3.6/site-packages//usr/lib/python3.6/site-packages/tmt-1.24.1-py3.6.egg-info//usr/lib/python3.6/site-packages/tmt//usr/lib/python3.6/site-packages/tmt/__pycache__//usr/lib/python3.6/site-packages/tmt/export//usr/lib/python3.6/site-packages/tmt/export/__pycache__//usr/lib/python3.6/site-packages/tmt/export/templates//usr/lib/python3.6/site-packages/tmt/libraries//usr/lib/python3.6/site-packages/tmt/libraries/__pycache__//usr/lib/python3.6/site-packages/tmt/plugins//usr/lib/python3.6/site-packages/tmt/plugins/__pycache__//usr/lib/python3.6/site-packages/tmt/schemas//usr/lib/python3.6/site-packages/tmt/schemas/discover//usr/lib/python3.6/site-packages/tmt/schemas/execute//usr/lib/python3.6/site-packages/tmt/schemas/finish//usr/lib/python3.6/site-packages/tmt/schemas/prepare//usr/lib/python3.6/site-packages/tmt/schemas/provision//usr/lib/python3.6/site-packages/tmt/schemas/report//usr/lib/python3.6/site-packages/tmt/steps//usr/lib/python3.6/site-packages/tmt/steps/__pycache__//usr/lib/python3.6/site-packages/tmt/steps/discover//usr/lib/python3.6/site-packages/tmt/steps/discover/__pycache__//usr/lib/python3.6/site-packages/tmt/steps/execute//usr/lib/python3.6/site-packages/tmt/steps/execute/__pycache__//usr/lib/python3.6/site-packages/tmt/steps/execute/scripts//usr/lib/python3.6/site-packages/tmt/steps/finish//usr/lib/python3.6/site-packages/tmt/steps/finish/__pycache__//usr/lib/python3.6/site-packages/tmt/steps/prepare//usr/lib/python3.6/site-packages/tmt/steps/prepare/__pycache__//usr/lib/python3.6/site-packages/tmt/steps/provision//usr/lib/python3.6/site-packages/tmt/steps/provision/__pycache__//usr/lib/python3.6/site-packages/tmt/steps/report//usr/lib/python3.6/site-packages/tmt/steps/report/__pycache__//usr/share/licenses//usr/share/licenses/python3-tmt//var/tmp/-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protectiondrpmxz2noarch-redhat-linux-gnudirectoryUTF-8 Unicode textASCII textPython script, ASCII text executablepython 3.6 byte-compiledemptyBourne-Again shell script, ASCII text executable !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~PPRRR RRR RRRRRRR R RRRRRRR R RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRhttps://bugz.fedoraproject.org/tmtutf-8b0a08e51decba97d5239397b9deedd0fb0f6995b3b21049b8f99888d18eec33f?07zXZ !#,]"k%ne) `>f[ϙT=Fo\xlYrf7;G>m!#t'cPuwUAų߽q4:,0 Ln1{閪 ƿQGsh"S|sԛ6.zOaOҽSұ%2Ͼ6k _Giob "3]Ԍ&;}+\^}b笥PwhiTl-11'8/􄂊/lS*t .]&`? 8PO_ۮp?( ''+V)`2[蠽[8s+elUISdBq(qxD$yl[-B/9Z JFC"+Z8mb@"8BvTj dh*!r qOyY7>т[":%>N|mHOAX_ӃvsQjCp z+2 U'R:"G7X>(~ABQQƈ)qDVFW1Ar ;ֱC77@ OaFOƴ.Y kz4 %X{r}0}۳t^$`[iQ,:2|f[>Y|3@!NjK)%<-G[MݳD:^87E29^ϫC_$+NJtQ (lpg ȫhOިx,gc_{9=`ZG,̌Btkiwd**9 :v` X9^'{@AIRjxvx;@cpItȸFm߬}cgL}`Ւ\E\) d"Nqzxpk7R}L+y$0&[% a耋 :8o FhHAeH<52Z)>N;0}Msã!?~DhB6p)ibU_s|nH(d>F{P;7%s&uBjj>!zw)ohX/H:&M6zo\*\*s >J] 'L\_+`]9Cbg6ad5'vT!|=$֚6@K(yvGgK J2QM0é*;oLy+O,hoX=ᣭ۩*|jЙّ{| FKh+lS ֋UbX ִ$(\Mb'jv^H}d_خ= &`8Eɦleϐ5鏲.*^kIsjEښ68R^:C-1G7(<6KCzu rT:9s-н Q/=л*-0 vs<5n*b>R3;RKr4NH@IGHm2=NϒM* j;XBѼwY:I&q&t8|zitdx\4qE~/= 5ii(NB*, 6 H_XKʹ xTDI1bR$}n%j!ҵ6TڭiQ.,<Ұ1`or}67.[7aǘ /7xob0!\tvߢ+J3/8Z\ U[D4Jr[! CyA3?H+WZ4ܥoZ0|OaClR7&O3V}t{,0 BnS>++5$-"1nnƖS/X(&KsFKH*Pc wrw-RiJ"8!/Th֐?NhWW|E)\kh5V hardﰫɊkm -(45Na[^՟,.Y\Ni`)$ }Jf3Zk1:?sGM'+C2Ծ7r2)nDmg5'm*n#+0)^Y"Qxӫm)wSVr`щҋeїFi)khf7, zQ NLݶ`_xVRJaQ!m} /pTw (7&UjVZ-ș\)b1w͸1j4f|:6c彦!;!ZtՑg=(r^o̅i-cEux"]BuPT}Ki*nn2eʽURg% 7u>>\; `8*W?0ևZ&V蜺9 -ld 8Z,*52? bcʔdt?n/ƼEC9ة9/U?0UiܒKjN$TemXVsZu 3Đ^В~?E[!EΖfǎ&cnȮD87~JX6d-nq6onKabz`'LS_vd+;tBd{0< yBKo5,5ğ^ ]hu[!\3ZM69Rҡ~˜Cz\ޗWnD Ndr43wvCJf,#/&R/pLpw]jD#p @PQt:GaeDVPNϘ@ & ~6W9Ȟ=B"wwn 1\5<\M&F n"[2 j#cDPH/ 8bp( tJ|udI)e)/4,,9cxVp .ܫS*6uuQ>$## \>a^5zjnWT9l+;]<=H氯ju/+K%lO΅f8_hh>'+ƒݮaVd:  ]PV}6;.aɒtPWu* PItkĉd6d0lqizQoM95* \> ?٢40Aee%21}3Blcqof7/%v=$&Wd*?`aڋ]ÀF"NSѭ3\2P]d/I)V恪p^Rsie^JIr_2̵ƃewD~y!#JS/)t`gi U`E`+6oǑ} _ fWnd3mVK2o=ZJ{k|aivNqNtn^.0ɥL)W!'nh?V꫇*ZeZڦdT03|8LއM3èB1UA.lgd^`4FPgDm d!; = ȂUs8!hM4:,4Q,k/!EtCOr0i+ư´F>wc2qG.qkR(FW a#&F@OrR"y09TxWĊMYYj"} sRf]^tfkk !DtʰT*ʞZd#9@X>H O;4|&g7k\0$}&jW֑NGK f@ܲqHpSCԥ6c: !*Ns-34ų\T>HY[FJO5#OVV"cBEb Q,_xn-p#CvuErmp [{qbp bfh ;P(%e>Ea"Y߾ycGMQ{O+-q rwNrW@~E0jtlƚ;*dm$Γ̏$S4wCS g55b8J{UrFXH^0TfoeK(~)4~KmLZÎ"3JK$D-b[D]f=1c51؞Zp>*iʜoBH7Zs=پ[wq}Nʇl+4I\sJ*;+z/VC(oT FsjI5NhZEZL:$uJU_/߳jRɬc!eiTMPAQ"6hJ1a7?C껥myDj{']3o)rCbI1e 0 [Fܧ#q4XR+MAkܻ ϰ +bz-٦4X< Lnj %ךVizڂ#~"BX$X50\\(Ͽ3wQfG =p 8ҿ*:i]jcGm$,d37p*\nmzÔa1Z*8˸Gu `ci8ݧb$vz 2Qab-F)X(r_Z1p-ۊn8TvV>ʲGG`JMˢWO*faT_mC968P ÿogR?,|Vͤ80XG.|y+Spܗ\ bD4Fj]gl_ԫ/-|/ "jZ+:hSD@ ˆqpd$ {m /v)frq1\Q=vHQHu45Xϱ8v!úToO }/޳pkx3s'L|r'~јyCK{/RMWJTwτ.0(_Rzlz@dۗM3u mos XXn}~ҖҝjIUgxEb : qx^x5;S$X/^LsS-qyDұ6gޤ}͸kO?:+˪ lp78GAGo`Wo׋h]?L+-{^}_˅`t^ZuҧLlr퓹dB"-TBdkT?2m7 J~GVT\n~Ǝd^) tXuW.5}!wUuٿ|hɤ@ZŖv1^9{)nsm]+^2Z;_rԞp7@BHpX㍒8Q* Y(7u~AETc @8+FdJ֒X7ת-|e*kr[ҙIJѸ%TAj@U[j9Uf?X ;?dfoV^Xѷc2xyPqid/ @) -& hwN3j\}X5D$۷-݃>U6`!Dž/D =-@qf7'RnhS·b`$ U:QG QƤHG*Ask6l]j\~w}'5ρBgXB@KT/ gpOκg$ 5s,Xbp3_pܓ%ҧfi ~f$+k.}zh*\ 0p yqҧ LlĔ `Pk (퍋WwSYd5V6'ҬBXu ƈOΆaA5OL \%;.!#OҰ0y0'{ nU6y# ' 2b043lM:P6h+(ou|+9u{+{.U9e~Z+|n7+!@ֺU8wD;x#2nr8mfU $w*yVjN7|up}dXxu[+f|^VOE1ket/˭1{O&?pۺ!dSvOT]]^[|9iR>඲3#z#gNsԉrzVEK @+LRTеY΀1c gۖfYVB9Ε’y òR`q\M(ڷbb{׃-ssktTǖU І X١6G$}rwBC9hvq~zޚ"}e}}oa|< \5qMN?{$DʃDyFiŻR:u{a {x\j!*ʛAosˌ$@+Z'>A]3?DPcm*U^~+Gh6:&ŗ⃒E)BYDcX7CP6hIΰAdpKE>0k-;hg|k~xD$㫰!~ʑY]%m@-R保rR o;AMn<ڥhhH++k`y~V2hD=ǫ¢\ !KbTN?G2 l<=xؔ7qohT8SyÏn{ ŹbxBJ)uoc P*t$6j vY}LӘף(pnP: rIAj˚aݺJ=1XO ~]hiv}zXtf%@Ni?f]X+th.*?Գ).qm >[}ܓ2e/iX2̶ltnH )J#=byl6F뗐<,=j, aH(8^!՞ L0>8DWڽ.479+s*#)V8Ez%ht6@Z>2RQO}ʊS 7%7`kCtr5 n5;ҦbD6$Ehr~[PK׻SVH0 Є@4 D ҍR.inZv2p<3z㹍9⌃քX6T1+ Drqrfߵ ~۵7|B_B[,g3 z x EL$+f %p GzA%DN. WOc7zuAC#෭)pJ*fIʙKbY:(XfuP-v9t=]r঍"KX <$Lѕա΀rѷ}1*vNڪس=u?M/8B<In`81"ot{p#L>D[\1LnKzK2D3J{^Lʐ h%x~M^6Gs $$; }^jaʟn跌"vW wcϕ+hhᇟ} Ι(tˍ! 9,|M%R:kx)3/:B-TIxeCnIxϻaNhdՄ IWͱGZ7w{O  ˇﻚ~(¤ZX[: U$  qJ]T-vg-gV^MuHz~Id^Yp>qàG/c[Ơ ju&J-%9Ɉ33\1;^s"Dfvb 7>u𸹞HEeǚ w5EKM"ʛ-u+jn5VjJr}_I<6"|iUŮdIbPIA@`^If}1Bc(%W{y()Z~/,ZV iX l" ,[*ZXLVئ -*ЯQ,w&Z~QL39iXD1*^Z 5:'uV e'>Gr !/]2"kiEnbWO݅Iwhqt|& 5F w몐_ *8t¤?&dbwjMB|DK84 ZC1W:OAiH#Gpτv[m NJ]T@G@E;; ΂ =D[ f>* FE>b2hGOvPf{J!aG+fEgwa#4t!.i;*THTqc4<װy}M)ٵU28nvBX8Ja2H6Ĩ^43L۠`6ix~9>R:ݧ LK %S*]@3Z4R#m2ҏ)gLVgP?9q㫝:w5.)MdABRG `藥hvF Fc۲n@0EKe4nLjFG6,J@\4j_%0F~_p! C)1}.(Gჼw\kOA3 ܙh> lR.ФA:qp֯^vQ h vڿ奙EGcHji[r7sWL)q e: TY&:/.oJwߨ-;H\bT)h'tĀQBoazT^`Q`^jo7A 0Ġ|̌)f,c14¯ss^Y2N l#璑:@qgFrmv}wG"l|PfJOº?9ݓ??ixΝhOd>R[-LGV'K=1?;\1s`Ttd_ܰgĕО.clDZ{XfpsHQHrPH@ig hWg1Z8`{1P6$<,(ȆT;}!|7|&<y n,P\YʬTB5U?}?VU#]Ҹ[À*{rQՑKhv+Db0s6xR0Dcѻ6XB!زke?Dp 3/P~9 D)gjWazm!$ޜJF[>d2nϲ-j1'ڑVyI=cAs"8"pOSqб-@X; W4` T +k6M0PɄ6Mpbi*&JA$%9 $F8#;x;)6[ڢϳՋ TU9Vy6TyJV fa'"yti/ ٔw|r x9<l[.+O)#!BdtxE9>ěəB{HB4o12*+WT5e*LD2 SY~mŇz oj8[yl3)0Ѳޡj{\˓ٰI?du$eK'B5 yk5@d}XI)y0c/E49o(o}f-&rrGй*vR̈́>ro)x 2 ķSi[C-DNZ.CM m?U?OӸ y 4bz*h"Qilٵ` Mg5G&F9aQLG$j4ۧLmgP[WzL\fiGCG bH7x8uIZc=GX/ sy!{ݳU 5R_uv՛H@X+-$Oj}vPo#@w%.Vѫ =ZJDքrD!{A꣛*7A W Ɂߧk,K:>i _V2'%wZ(Kw)`$fpa~-xg;ɚɁډ,apР-{[Ô.>TnoøSݹX5d;8}!0`ӨDW*˼b':aՀ7DP@6K$R"I _&)};c".DiǿRj@|g={̌w Xb!;Q-l@1e|#!R+``S8ŒQ$,pM;i^ Aqٰ+eX׭}+1܌Vd~CGaCap*0b"[s݂S]nq/C?mv .)Ӧ0NJqofu752@|y;:0M8cI=/1tK3ȗ{d;[<F^|IBL1qD$WkeʆW34k5-ñΑ7 T_x!:wd/ ɕR(#!ȒczTc } hC6;"RV< :Ey_lZPTecv@. vk=mLj@6_0eaE'^M2s{Zw|V+lb4(7ͫp,c^&^)ʹ|^xmz4P6CK1xK1<ïT(3]Ϡ&9ܒLaefvSA !69'lL*Y3a`s*c0땂EKim|iP9؂Au:U}삗ZbXgaN5=$=fSwo6g$1/F ЩjYdD4ƀ:޺*KEtxS:.,IUnlP.3žEf?m(xZ Td?1ZP5kzw[3ZL Z%5)NNN:رVWt}+(['^klZ2N%ϭ$Fn>6ϴz;ݷrsny. NaMwXf=_a&t^]*_su:yːvvLObKo{/HDsAB`ΈJPhAM}Ilj.#VwUu2d<ׄ }$Bgya\R_0$Zrump8S|3lX!;X>('ouT k}֚L,aK̂c yx;MLGohT{uںle=Tl]_6y~ {d~ps%aXDS,vwt4Ul%cI,?;A̦ʳv[=h`޽Pd7Qe1A;-p&re\8sYM٭℀,ݪۯ%ΧyysWIhv*6!"~^P|ՈC(ؠ#%2 ]:FAz.X .J$FPQN _oQ:KڀYU VGA+/=/n M(e*mheLf;eUgHFȉskPrh-V IHjކG4~%@NɴoRyvK1 bH̵5<5 ,Yg1Yl9Hq(>͹-)D䠞p4&A($hh}\<IljV[$f͡CD͌ѹ!>B/pcIk7i<hW`{CneUJ3Y6H_< }.CEﳶ{tr_1.&NB_֌4;gDq`X` ;Hi;sHl>"zqZOYD/l1W+p RSC.cyef?%2L7pۍM[@{vM+&;}Q`bUb:Ls܂ I(]UrLH;ƓNi,hKIM˞\1/sL\˙;!UbΘVAC>`ǓzF39;-'Z>KjkhсgD?f Xᔟi9U/LByk;3^b"NwTl +{C9ȫd \$C盶/VCؑXn"*}Й*N~8McXMq;[Uimn)Qݵx^2@\x((:0O2 $e(G+Ɖ25 o|te5J/Hi%{jsEÁ#e?jqJ hU|99[ٞEd*b-zxR|~2@F~>\!!`З^tʭUMPgkwM,ɴ:IݥcqvFRcއg^LjئoH)r0Dx344KO-NiВ.)q]~߫%Wq R7^ezF VA 32Dp~,+ʘ'D-pkUnտ_5pdW5y:B5]V}b9V^VNm<3ɴAk?}g@M"gr*sXeTD З\!S L b[?è yM{#Z\#?^o Tϓig(Wx niO&VC "Td@,@lnZ@qOƤn8bJd)(l0LHUh" R?vPw_r4 -/KJc&Þ\6^$CHITeC=m:CG%b||{yrY Sksl=ulFhE/˾&!,H 8 }X]C.Nքb-)jA ]D'DQbReYut#l[x46sRhʟ w_gc$L%QQqy|S.7鎑\%6 a!9-Zd(g^$R(=pXɡ l2*n$./:f˥a9_~Mv< %wS|>B{CcB-L@FH|4Zp:=&f"Yj=I;7BOj mƽ"d+MbϽ!c'aI^7Eę7 G9/.' oJ5Ŀ|T]QkL!D-[\QЈ^”8A^Z(I(ivT .&li27m@QVzYGdVa$nN{}=ĭ,:aVAnԂv`Yzhf?O;v~bŚ%4j 1u3q ptU߸L!UW8)(izD9e: A[C]J ༔x͓B=J-t]\7yYqHe5CQX֝ 0>6kLJ4qg~M{Q7IU{#-2cXwì~B$[&ڣ}jt 4 \ |=K|J}%0k.荽)-)H}ia/ggA8$:ZmSWu+-B}59ֶYRa6΅TU(Rb Y-Bh#E Tbș`-F!3˖_]j_kZш>y{WHlyL?~7PEd=b*Zc~FJQL?|Bd/K(lS)r~(>-hCJ\`m=:;e)4puZ޺@֫uV0:ieG]Tw7b)ˀJ5ԯ8z[U ۆ݈~{iJߪnV ڛʧLAؤ^8X&QDmp*Pktidq\ {Yuť6KEtFd vY?I 7wgONpfhWIX7] u*G?q<Up8R./7,MbV*Q2N2x1+>.rh7>mk)cp!8V?\n M'ģ.`;U Y3_;ʚeR7E3eW#DbK#r!_#j _kiHB9̢d0վeӘ+eUȣҁ4fhǓg&Ӡ'Bp`fބu02cZxwГIFa!h ت>3&98Kcd8-O0Q +Wne)Ns*saCUMj^H 3Ь 3,%Bd'RԶȖX|nwGٶxj-x|Kei܇') v\]9򝇸XE`![:CI"+fc/ӣA7}io m46 ٛyӊo}~D2[lvP1> ^BT} 56 | IM{}lvZR!WDETL!,Z"2D1Ӥe-D_Q*tY\&Baޟz= #K34syx.Gd}r|^uX8\RS(=K2v2.کt;/ mzNɵKBsjT<1SP4˛ըh#k QLhN7F lL1um/11x|2yk,I$C0˜;?w_?Ia ³E v O:%9+rPq!~NdWCZ2]cF5 VSqZt(UBͺ*?-J2wۈvօwhFF6p 8ykO@Ւ)G^{@3YMq7T(=WQ`Lm߲pc#Ӭ-;Q*}hA%b'$OUmvsj9 M$QA`l㞆6Q4p*`dqAE /wqw0U1/+J!}; %$ 9ȉO8~8IBd[_0Gڛ6SɆg^tI>3(jQ8X!i7A8z [Wzrh1PN'jè0t]Q,(qz65UE<!<6y*L&հFG1-eLڵگ83J'#g'!*|Y*=pd'Аo'Ӂ"Ghp<>KrBX0)fxמB?Tem1|Ua[7nY'nT{G2/q;_fxx] MJ6K+sSpz`7ooc!\*'K;p]s!5zA"U N%MRcncDi|oB֤S LkHzV`U\D&\9X]:\RƔ*TUAc/ֳajV:t5j.O ϑ$Qu»1Vp!wg?yjoMvzjG^G 棴xۄ]}IՎS4 CQ}Ext/r; /S6d7?Gq|$u\6͋Z~cԻP$\.7[l3n$T} !89JMg.Y\P|rGig6㿴p=fw'.Q.*mG[17$Fp1B$n^>xP)8j==FT* ( }^xU/|!` Tg{US>x[bٯm;ڒ~rm--ԃ. U#mCTcCD`m73x5 uv8JdpY3Dp{B oGPBvWX2,= =cyr> ̄NGJk_lĮ$msH0/9zm`tRzT-gN&خ$|c򛳱˴ۻDw+B>I)-LkV?qM:$8=U*g.xb7δ9 )٬9UxKh{tiA \[j]A553ΐ` L¿x!тk依YdB"P>>Ẽ3Gx0pN@**N;뵡@΂8߱[-XZwϥ7mr$o@ثAiuOi)q2! szjhwpW;1 yhlt^Xԣ"A4 tY;hum8:%1Y_sTU FA)qc+݉X+:9/!O-of۩>5jU~##KOPdn9`~G~Tpܧiu} lع&kQGشʃ_!M[ gO~mOZ2V`4@J:.7`?uO-0/D*,e-.  d٣ jS<$!h߇H)\ 7 JN7Uݚ9!Cvk_\unx'dZi͡ܠm?{EZnM~}|d ~;kåV 6t8݌|S &/*k/Q)NE:]^n'>IP泍4m"Wx'<`NW'5jޏnHރJ?څ[ C]o)z+]IZSIFִKcRcH8ΐsq d\gu[0a`*JT'qЕ@*WW}{<"w͇PdӶH E2AC~ke=%}}:{K;hw Mť!9pnjd κ3 ԋE̻}ef J؉a! 7ӷ8K,ܤ͐q`^W8n_K;eky4O[ր\ROVlU؃>&V8YCfiG9,>aXp$AvUL\U21N4Fj?&sOn39>w"$m§3FbTep/Ktkp} -4 %u"ҫSdU|p%WD 'o'yLXy] Mܞ~2  aJ!t!NrLW0W|Uے.vH;%FƐ֗58]d Y)+L8{#A[¤xUA)hПqc'^`(vCr r,&#X,W/Jďwt\j Tj5B'Q.ϱЃNxn}}w3Bw2B]@>jY\A=^kڷ4r/{ubζdi=/T.gM:b@L6JEdW_v>Ov?8(sMŖwo~}M{uS!S XA#H 1)o%T>G&78p@fyct y^h08[24mj],/V@"j2_LPIjlW7}ftK&X%]zHr55>S.ۣgQ~X5ӫR< RMT%P,RD" !ւFAM,_(UMcwLq[k,%Q~mW`D;j o=j0ZȾ;N)Č>43JIpG>ة?Lx}@,Z.ǠH$~iL۲L9ӀW&Z?L3 o-QUXbLvVi4zdOTchBx[VB:݃?dҸXCR{\cy^h(dZ4dyj[۩ZfN|꫆h_pMVQ§94?ՙAmߪ]\ #ÑzM#/ (xviEf{9(#OKaU*#)[4sG(4u2BX[^WJ)dQ(B/llD0ZOi)@lߪQ:!/Δ`\8oSs0r5hxq8+wEG~:o!z>@+ KD4"zPvjA)[\d1*&Z.ԜpWrCdUXJhF&x[Bhb` =Aݿ np$18Ee$b3 %%a؄йm!u\Kw@GV PD 8ڂGk"E=7eV@2GCR{P3w Fvt٥91(d=8x亓ߡ$H+bzΊZ$,F}v&-C`a bЛ~řAo8FBPt mN+LHlT% T"xj!JI36XŏD/ HmB?2!y)z+[ !T/'dBLΆ_w1>}&v֋?2lzIG0lHu{9c}J~fcUQVw:zOpjQBA9ۭeoFԉ=ᾚ8]@EiJHs ;bl:NÒvVo?5YVa cCTS󹴉;xb7;^^JĞ'`E@E@ )ިӝEffگ@F_^/6q B_$EãpV'^a6廨F97[!Li$hDmv7Eޯ& 'So,mr֝Cxd=Q`f %4E5FH+?fHwENX[ޢkc]'44֕CN'o# ڭsR'{B&&&h\rRr6ڤEf\ۉ׍4;z~[ۚ]{[k?}XW$ֻH 6l]u#%#Z " iZF/IrhHFxlʼn$e?3|PF֩W'Ko*^2MϦ`5{(%b+NgL>@7'H  Ԙ`S/Bª_v/*rQa̪aB@32UȜx1,wl[6bG_pCɹRI}]cjnN^l#6S:_{κK.Y:o Cj}-d,SP?yr3ZV!;R;mWXo:*Me*8f}F|xskE j kJ"œ VuBs#>yLzY㘑DΓ0|!44ZtMl#ºЇpJ%nh_%S29cuw!2#^b4fK.llˉzޜ)m|A32ΣI=F k*bq^P#WfNW0S$/HS~[_I?"O>?N86p%(%>-_ՒuٝY(;@PHX`8Jhrϰ$G[+My9j  U'rs~-%%[%PTlY?S9떷." L/ xs-I,}y1gLE[qЍVzyFZ͏<- 8Y?߷+D &9cA1!|AH˹ѷ5^bHR( < i2J.gscmZjVo:VU吳%?&,+Ϗ@%׃[?0*WN/RKϚGOo:૧HBSs\F-jKR(0g݀=8/7^r-a,b2R2~r xLj#oNaPy[*K Y SHL^9E_x>u_+0Y$@ GSC`Z߀/yqx0ס_Q/oqӬQFH7*pX"JVlx ~ . AܐCbm{)jI ru2>tbnq=A򯦷(|@e\B4U1G)M%N\Ku8͠x" kyr[_hokMK4"˲OWW \J\7o#2]s<\-2GFҡ:Mokfh_]2ya}^F¿nVw[{8G|R ܍?BS1w3GX݊GՆ %&قL(f"4FDt' x74h!,ێ#NUPmCcFzG TO4p ;+Z~=ug+vTO$Qp: ko"~<+@^4-8 m t%,6]H?:ТUqx_UKZGF^2,[! D0FᏨR!-KDv3HxD`Pb"ȫ,H[߽Oo}49` 2Kx IW 6#YY-J4-虓sz.F888{Utm rjW!$k_+F< 6fŋh~xD~_¡~] i1%&@.L J"K0[¿e7F=j'jʼ9P-WP[|Ey:-ߡUGW *#B$m~\9(m&PoT9&p}5Ր >VǦъ D@,qKbO%OCnV)+c5)"WK. ut1ۖ]C 2cH Wmx2-ը7q]Eq{yA]8ltuv9 ;u`oayk4KqfR^ZE-1, FO*k ;oE DiBE )Ḁ2.^HiM,tW3p.9+t0 Wg0P>cCNѵؗ j#&t0+aoKÔ~R% g*?{ rT# Wtul+0i܇@0I~~a6oDʨg1ES2/7Ci zb]&N~}Ӄ0ZP7.h:=Vr)d֊JӴ-*.C|x#Dv"i z;|OUJ0f m_v0_VoTiKG*~-Gи}8A NkO58 zط`k(ѹF\Mb2\$`DvAF 2&f>x)Gz nɦ| !^:ZM%enA~ưnxt¡SW R,/LQQe)΂JV%?ot(knoSS 0 0Dw~z}Q_Eքt vsr >o7q,7Y&3{_$P2)n^;Z3\Y_gYVӞeb@Avur}f[C|ӴKR  gAQȺޥ+P^;;2缞'Xn#`JNΪ=iųgqBa-c{#3 2NRn`D<; βfwE-g;`4]o|ώO\i?W iZ9Jm3jqgMdy_j"ꘑQx(ǯ")&TQWp2qOm? =J.T{S7;,rOK4E-^OU[8@AsQ fo8Cħ3+RuI XWN WXUYt}]F"3Ex4YqP&d^NwpaPFi7 cgnM'm]Q*vFo wPp'" % lqTB3L3ڣFT !"w=qZbZp̈́(@vbfӔ,u /=792s+a9ipI`x3k 2؜~חuG^Yї˒X!3ȳ-rpQӳ/YIj4&wrl2h,@ d܃2u0%1Mf Us&pJwP*E%GԨ;'=e{cP<{|OTٳT혼w>..g.c-?/1[j5ԑ[Z?s|UOLAhۭ}/c]8GHV.QQJ Np}[^9Ԡ ZjI AA Xwܷg}rȀq膐 Kٚt~Ĺ&_5Q]yU$ <ע!LDE 82`njOeNu2j!_3& "^YnNvgq)u|nddKZF2fyu*tE?f*Qf R1~0]3FEɹf_CH0BnK 5FLQ>; ω'{xV|cdjV_ .P6 UXW<2^1Dwā+5= Ӆ²&1٭kF&Ʌv[_Kder`G[Ti<}:WUUX&)dܷM\IӒ\/Cq\b>*bNCiʗgu `g"ȝ^|sd$dUXLYoQ;%坸PIn @8h+r>]jE#*f^,,6?ӶzWHHXSQ]ئS~ Ϟ ϺΝO. iXZcP4hrt}!~/lm57bm&+ɞԊ/m{`<@z;]Nr*mdegxAoQk`DӉ+24 *օ蛆~hzt"_3͸$e)cЄE&q(NDe윸g@ xN{1=_NԩkXgB4,k[`&WϦl\V*`oqS. ĒFLt@bmhzΐ˸! QTf]a6voh7\t?5ˆBB E/b'w?"r1P!@L#ͶPgJ];n}wlPk;L*Ѕ}ۓՒ^5jeΠaV-*=rb1z4rֻ~BvL[D33Ij^ZrۗKO~/O5Xc'VWsڻ`RME\,`aM4;vC]> 7ά<.2}n}Sss4r/ 0*hɿa*\lbQkJ]chlƇ%mTZg/ JaQ3#J[b^S=s ! !2LJi͐@0Z+='0ULa$ttHыWz$QGtwtjAjZvˆX-f׾&~|-S]{6k _װ|VeD?*U>^ѹYҊ$ ᩦ7.lK $$" F&R% Zz<02bFED( @ #xafä$̲j/ uOjRד(A-9D@LVx9 @[|+ Ea?XƋGJX[bq7.z=:EÿSrFWۘCd2x$slu .'wߑtr*I=ӡ``Y6pmH$PQ3. &ӃF -S_9q(;L;,}~.v^~ZBUxWMdj8~ڶ&WzȾFWf-L[tQ7YPM^l]hVJYգX5Bvو Bhċx j^r1qr"?wUB K[&\ k⇬k;}9o`>[oΆEn.n[7|_7bc<Z~%̉ w'pd!GA:ԑܴ0pWp$&Fk1t r\;O+P@ʈ/tw934WFvx"F2P&X9Cs+oJnr;2{HѬ%S ZJü Bz9Ђ*\XGn hm5Д/X[ u4l%G3>|XaS_<| )Qq2z}[Ej!Lˎ-\kƽ`1X4 6lI-ٮ)͚0:`@q e4.h7ʍ V3` y]\_xA2<aE;&Hcr=2U Nj<1~#J=OX1othU%~{E|DF(yrĺk`jpOF'' T〝eiŸ-3z4X譠 *}^#}MsՒYSeĦk1U̦`7Lh!ujT,bgP$lSj& m4.ڄ639t˸ugsy>r0̆bXc3Ԭ2ϴ5,ANq=`(Wm?W~>Zh=,RF]݀ObȍicE:ˈ&y,]=+joh FkZ YC Ȣ [y4@}?]z>g+MAkyQ ż薑,[b{ӂ|D?[_|-!; :c>پhtЂLaZD3?lcoYjX!e"VS^ L~_֋߽)rtȤ 0חLz8} 2#-Rt,~E򽴗S쀷9%Y &i=/;^g > Mm?2_f{uӊLJd҅KΎtg@"4o=TX*`;`'~ZDIE916løjs͋Ve^q,Nx\V|{%K? 1N֪qʼnɒւ2teuRWBjԱF@\Pj`fCa1`jV|fKh=фuƻ+oMWۄg'i@5bzfMntH`Nt#NCIa94rY AhN'c)x(fL1WMȟt jUUh#ƾ+p*7XW90DU7Vp}(]&=ߴBANkw|fUG+#fO""Gq"ϘFFSi2nwR/-A&r>̥4SpAg II{d";ЪX80Q+ǍIJ&ir2|MR35u0x(AeWīQmn4L)3$F>Wb}Fw?&3]҉iԷiBXa8ύVq|1Wipc3@5:Cyf)PAW<9c?LXg W]<*nXȜ:7JR{g3+PJ:?.Su@'CevekT*L> On:B֖iNq0G ~J$Axbĥ6/A{3@Eڲ )ZL#f*-bu{jGwEIbƮG{)艚*-00)^2J芬Aڏ MIsD5L=\-0t hT틄/F%e64u)ρ0 ުdG\=BZfr`_G8!9#\dzg=p2-:,V}opߕZrWA߽/m كyJ Qrl!_ ZB{^*S7XM)M1L.Ez;IFW<`o#cŲ`j_sLA ƛ ?h/7m_>j۶Wt Li-KedHLt{~SE&:\8ѿ=Њ.6,!n~\?a~Hkxpɫ1{i1&zQ/U(Q0AKH8e)C"ȫ( WkufB??.d[-|'>g w>^M`RdlEQگ٢S/i#^U\ YzfkmȠ#--0=/h%vDw3iB{^_6tˍbB퍄$PuS&]pÉ(/ºDDE#a+kay37@6@m/<:Wf4zԍ2mWf\FB[w3+8 8f?p q`F )I*;=%tR7i_L$d5f&U ,b8RY*TPqCf] $J=IzȄiKsW,C.9R J =ިgȐcfI*#N*q`{+W*b/% I_u|GKE,GͯZ*$Hh+_yV97u\-򹦄|s"e'c0 ?m857T̅MQJӔӛ tvxk[j@n/sZMG%̡YyǬ$Z, :W5__oD0ePto tyBl᏾'iVȕH@ow)~I `f=!Lu/є5u:\LAⵣ1.B3R5ߵ/LPq[Gh -¤naҭ ҶúxO?:2o OU|{,EwPC_%ÙĽMǺe"<7ttp>F)ٝ&LױhQ3ޕ_r r-I3W*60N+HSgĝ*8LFyȨAM ^%$ *O)7 ]R`y=m.BDH! Fn5DbFQ9=7O7=2WNiZݏiWzjZ*ehX= c[kT,Η=nJ*w G7@bbJt\%|fnqE-t*b 0>vN^jN1*]Z*sn,4eAjE;V)՘wz۵#b(gY'Y~4TOʣDˮħmtګms?~}:Huǂ`tf-D[Gg`?9;3̆[|O#U*vJcJ9TQ<7n(CDcӲyhylXQcby<~|l>Faj]cnh _Xtɷrɬr1gB/]s%N&(ޮaDdxB(M9~,#Z@1cCjtn1 a&H_Hƴ `n ɥ|F@/@FئmuAtw|<]c.dZl}\pWdJCAYhXV}m|Z5Q[+HpqK^1zl#[-a&ۭzH9N߯lR11aš88Yذ w}\4{nWӒ~"a ;ZXM1p fXiwtsY = ,*(v>ۘENDiQ myEO^-_QIfvq~'cj^˪r rH1Ⱥ_ `tjzH: ȣ{=5tSPeE{hl+Xx7 Ecw@۟DA.2N'MHaPX3v;tİP6ڟT yCjld : g*._M(;ǛF%ݪ0x/kzFGJ}C wk\ Ή2 )y+T&grL{r{H8L2žt (1aeTQM'Lѐ=A6z#7-1cDH nWe L! |g,$.5vOGKɒ7fII,61X Neh>{}c#i8lj"?5kd{T1?O9H Gѱv 'v;~\Oy( +-G\韠VUGO"÷G!v£w6ٗ?lW]0Yi#i <:a0D"!kJ]X*+ap^x'/`rVrlX^YV,&+͘ J6}O/"%\kcPuxY!kAHƋ5/hnd# ~A&hV J?4e0k <~ 6[Fw(|jt@\uFn0/=tFY +LByYۿa08:}1qbw*Ev6NHf ? 8w  @-}XKg浕0sMQ֟LYx+NFo bv2v)N20GR+̑YzBlC&wIA In܇BP^)A0L@6PӑEkMŲY[a <+'' RLK 1qDv1O\qo|ݶu]IY=Yw\,IhtB)" О*QHtʘ!ZyIh|Ǩ-eDo@q;('׷EQpi;!hӞ޶gPwYD6d yrU1eE{/~LHz; +{<Ӣ_< ,QS_= D*8a .{7KVQ+:*A2O>[$O`SWvh)]cWl'xJb3zY \wbqwAYi?y|Q5J? 叶X[zHא\]BW (jS_6wE\*}R$01t@">.AxV9OREUCCCӥh" Xx2)j;GndbwTv 6^h֟>5'6-?3r ;lF ;B#E1&']Zm%aK=4h[w%I1ɹpeXI4jy$]:ެ~#D=B:qyRL? UnU#u1.^ST aC?E^+ؽ9HȂno1D{'K:8dàd>s$-QGx/zr<$dTFRrLՐ1oZlJ&ªsۜBʹ@(*#dm=o;%c@,yqJA>-l.o2Jbvo?`%A׺nP = I+XGCOVp(m}╏cP[XPl6ڋ+\|jBF$Eki Tao]'Y8GY.O7rְќѣskվ1vzQzq8˯llt`h q_*ө`;μTg1d,ZL16Wq8UbJ!'gȨ{ .rCOZ ˆ.qD/4B`\rڼ*w/ 1]K^kۓːU?:xH( $ @zqꗺbx$CNA #N?хb %ifGٳK4>U(# 1 )Ҧ-w Vu#;,&gfF&rg,:#6Nбa/uq_VuU]iQC"1XDUg(2O=N2EwI:E/F&fx,4MDSV06Z8r5}l'Htd;]G,[-^kIc"+Y߳ #J s=i؃> LDv=f4]Z1b1Ҍ<%|hXsc(?2f+ai,R0' k3?zmϚOh]R}J Yy5k.+\4VGYǛe Jz/{ iy-HJw:=a#P8m*Gq^a!Rر,xYpE6yg}IJ]R)W~B\6+EncƲ?>@j7߯*F'd-sAd6 Jfpi>:z\PX$غP= dI[\=e9M "brFvyrfx`Bbc)w:x»F9 >ϹIm`Øfۘ_K6/Qɖ[v6̀2JRM7pAHM2=CcjjNܒMg:DQzKupoKniUϿ4Yl0, Jӗ u׽<J`hbcNj9ا)#6(P6?75P0z>Bq(0 RkۄŅ;UyV9b4^H>IL&$X» aX8(l_ېVXZʿ `Ko2f}jgŵhsVƎˑmu6zRyGX iΨ<%8rw? V]FRE&ڴ6WYslPМXiSXF #'CW|:KKI2&0k"K;7|9!){!ZXnxgdb"^_Fpx܍ [?ғEwxRrs]/{+r$4%'$P^Ы"z=S ^9WĒ\/0 c֯E„ gd>_UjPZ slwdY'37Kr~Lz=N޷Lej$40+Rr.ZiYa5 'K##8{r 藯l6i2i) 0X6,~xnǏUl{u WCBYMr>:Xe=-2JB l(Zi /l,}' C&͈̩Cff e7@9 4B9\b/gjܵRTRAXKYT5@̽keT-(U\ AEsGa] O.c2uU7!8S0\V?t` 1(8QH;ve:z`:@< 'ÕMUOM֓^{=ꁘl| #k<5A`K@h0D AMc<6 *8/EdjjNr-En/"|]'-;R? xv/wyM)͊ ULNnm9:^[Oy_l@_]C-{|֮RǴe 4旧ծb;릷kR0+r+GNu/-2'D|CqX:I"kJ&ɢَgedÈ{`P9l;8c 1 #`I9Ar$d#m0Z07[e5xL B$ \Xq<` !p~)%Z0dr3cUG_haâ0}!ӮT˟) t9~ޖI}VGf#j/j0$rV.kx!C[W%dɭZ:TGZ>wlqqx`.(VFBxzK|؄Ĥo'$%Y_O&BK-I0!aq 80O]+Ĵlb7yGn//_z _Fi}`;{ڥ$d)aWnr9>Z_wm!W*яupX:*y-Sl&TֺWc.V(?e:W}_JsXTpw^tU|:vGX5s;>ďm5҂bqEhIJΈD]Lg>Cw{J7(1ʫk9= N$h%rˮzEiD9|6|a }38I[ څO_Hg-1! gdכmm9ꥄFr0Hm \!-\o@a[|I.yw=@c4m >4|C,!QYڤ2,ȓV&a$NȞOʯwAFmgSej>3bxͦ<Zqfgُl[Hض="aqluyK'H,"~0!i@oc(KZJJ& eGش<ց#/(0Ot F8n"5z8VmZFmQ|"L|%>je4),YF7+OY@~p;`AG#`Jه)Rn(kAr S]>v\Op!g;Dz QxmHn 3UdZF!Q9nbK786P Y^?K:ڴ]0BO ؖΊ*$b %2Pjgu{g Ȓ-su.T?CL'dFR HYИ _-AHpKWjn& "jD_*T nΖݳ)-)y`da- ?MWޫEJ c3~ /AvZ)udgUg 5 1H1}j q-/x]Q)U8u hoSUv|s@-M\a!򑄴>i٢ PP[0Z^Aщq)xSe.x $Zfh, ^~Oc}AZ*Mh;yI1K@7|GBc)fPDعS@Nh*8UQdyڇW@BK˵|o?"\1ݵl)e1̣m;?0|u6;Rڃ&2:R O4.ka^bثHu78fuI9yq8Ӆf=jpH揄 eK-(ƓݱNJ'"Dǩ{ǟZ t P?JW.Nv A |cɐ5 uDXL i`;Ġ0ČP0`N [̚ݣrLÏmjtqIjCR, [Zr}R?T]yǵ1 }-s=kr/USYp('rlSI؟sj hr 6I' OfQt kVY,oNVFcMxIy&?@%?4H\4AEAo'@.E='P:%noS9!,Z[/gPYܱ-&kq)cy@3젇{S:`p6q*A"wʱXhs5чqZ ''T-f+y?S~tXHh|R eDr!.8[vhnؐhyJvq [5mTFcfg4.i[eB`H}{4h 3>`_`aav;AQ/D=Wl{Jq3#HyvZhM aT1RԌt-*XD@!1E"AU2#ڥN[8_q5}nQ8.}o$9wGj&k:?EI%qEH|ќ,9Q羱\' Q{O _\{a{D !&WpYGPj4t])EψaٰœM8Ws 粓ա;FնJ t:0i[vIe{-q R+|;|*ı܇>0Ǹ6UCuw Q)8bP`,-Os:;jXFJ[4JÅwJxl0VL 4D]$$h WPGT|q%ԮŸQp9\7$o0v68UXcgsEiN:; -П8( ȷm8/YP=mzˣ2f\iV`>=H眿O Kz.H=RN~!4ʙ rtk8{d7ҹlL_=l"l_TJGK.Oh=I`_HPǺ5%}p$J?o3v7o 4}UA}?T.؁ ."Y <0 K Ge ⇻6t K[#&UV0򀉤e8ɿrgQ{ >7W(W>ݑ0b,kdJϓ2R z2V6MT[8[^.PլNu`aKoP8kA.2WH AW2ġ/t],7>C(bBVŽ @/6ӗKoA7{X 2;EO3RQD.4y|([;nSY ad'<)MӐr&'. cy\`{aP'yJjF|LiiԆ{v" ZwƗ+0MPX=6uli{<@ہ;ƚ)TjOI zK*8Cs@V-*B c]!5)DzV2K9 0TªTs`4lIwfLZ#b?#@~k;-ɑ08ȠKm)D"Q.E᭷*iWχGC9[\RJaM@۝{ MuL''8CN%1l뒺QG}g7.=n@ eP/1CrRwӰC" 4yeq#\] RQA KD\8l]sZuP(Ϗղ ; RCtm>pG,cQ"~?  tt,>#:}OK$~l6;Hj|]o=Y.ACnc =P?7>)[ySٝF=sv旚B7Ըp(Xƌ QrJ*o5U7 (NS$y"C?Z(OWVeU@ fӁc_f 2рRs$AH\x9 Ϊizm;5Y͔@h,L`ףS(M - /@а|މ ˊ;{>02vR iog`7.2'|ySӎ.wNn}oI[ϦIo򞊫)\sQTHsfȬ,0T# 'C)@b$ܢvοu-i f4xn&/R!z#cZV~3: Mr6~h,;?^c~D%r߾hf? b9ǃIwʥx.3&Գ mza h6p+sc}vIG J_*g "oۿi_}%.}2*xE_9++拵 ɾ<VMTqiEPAx{N9m*;XΡ%w[hMWԂ12nܶre}O'/*m%_n.Z.>X/DUV0r}25e<^+#r.cQ'L'8gPsyF*8trG9g!Y̒EGJHE2{<&-KgA|!&j&TB1t >RGuo"]ƠïK/Gŵ$.bu=û"nG6ii#7( B9԰{)8cZ4*c2`N7%jMNBvM)7HhLRWw<̄k7c!%*R Vg M0i1 #Msbua h4& ɫID|Kj_.Ԛ9Z+-r%PX.yߓd9b7¢GڲaLrlmBD3V/%k*­Zd)_* ApGkTXmVN[B */v$8`t:|\',v`OR1 m@V+$L1nr)(jCp,S ok*JiWIXf1t:KY ES ))"Z7%Ў?}>"Vlb.^t$4d|VHW8zry&crK /=]*hPx-RCHU8y["K$?sW֞Y@2Ţ]Z4ڎ Yfwm>"b!U:O~  ɣ6;)[QZD@~ &^ƒTdc6"1F y≭Ff_hp9g<%%dkft~8bzTj]ѓ}s@ cl@se1x^9ie#\$G('!0Lc|Mx8,_X*!l m^_K6i#4@N}ކq{zۚ $KL['6R@K)Oβ֒ k ?d&f _| 5\q5l$Z˱3dJҕϝdVinZl3Kʣ**}ClJe_/D=M06 Nzr\y$9{` wTQHg7ԋW-NC;B&%W-THnO1 x(J,`P; 6+m$0{*MrfQ]4ڞmh}„/hW_0rV1АXu<&WO"@s5MoBУXErsϦJzr/V@Y^r58.ihk(*0o䠓 }?\Jy<W?3Cu-\~(Gʘ[}, 7tz,ˣ%Of`별zM.ucTׯr$sx4#mC *p9ebU90SDUqHU0=Ra/E"o'9}' 2]{Kn{rY W4J \[.Ji@ têsBet3٣ ]/ LoDz/km)ucp.J4n^]h NB` W7!_<MLBSv}Ii:8F6QA]j.bH|[}|';ZLz B1Dܨ\׀n-!IW&CJqe[čp/Ky`àFd-bV:w1XԊ'ǩm" VJv8X^OpPW}=$ |!? \"^?7 K?gX0ڻBc?;R,o 44{cڦ0>HyD+6$aм#{g[]# vKbsFI]tQu ^,-t7"ȓ-ϰZO2>F,p ïI֥JH 8>ޭ3) $ާqŻLPo@갢g}_Ut3o/4}@Ju,Ln_SD(bqybj[#|Pۣ=6OID2<},QU6:Siw?f<;9\ǵ*t<=$&inɔ@&< ۧ8bLq^/D$>HՔxO~#"\,spg?X lBuWN%٥w @seIDN9U&;5 l` 3gXongCv25IPA| o ރ]$("#׏%o(ߩ7EVc{Ry}{+Ŝ3ћw[=co!=5>2PIjit-q+I3s|m7z@5Q-9?pዚAL+V6_3ap:l|ʘӧ'>%˽_O!$ hJ-`(mܥ&DA-[{tx9Ifc^nFd+;! Iſŝ,!EkWS5,=^/mO8Zd#.eZ+AD?{!"}nV#qRtF1Z?};`@ v3| (_kI|s΁ȁ)p%m7S]^Nev\bQ RZq&|n+-R>!N gu bʧ 7W1tP\ ZN Խ>RL-g!r2Df~a֔+:r0(/8VFMeI_ǯxSjgi+AlV-ql5qF.5GBeY3V*,Bs.H_Ϻy$u Eyuܑ *CrSzoxۢYbF! Q SЅ,b%kvS37e$2@K%$̄q EIvnz'T;k::`h_4 A:m#t"5W+!(G1/!F p,$"2n==f:,TtvLubeg'+J ٸ.Ҁiq)Qt'x Jʗ1`>=RJ 31tE:G Oͱʔ6,!smFs-ԕ; t8O ur[iw9k7*zX@D!/6D_/Vi e2$6g`Y =&ʱ)V*$&ވܣ sȘzl Yܕru.C|XxېvXDžyܮTNϻ͆C(DLȢ@UzTgZHN+?.I8[724E^CM֢"?6ssQxREwO$4_ s2/7I a-UHWXksv6hdhM j2ew//iVB=-54~6t\ g֪Q!i08+ܒ>RlV:j$u{F԰SL3]WYjs4d=d*ˈdH3>49pc<7;KގdeLcʐFo(1AWU A'ҕ1[>M5iTs<=)-r<hc vrS`RXZlT=D"[mV9y_[\|!6>BOyѦf\XsOu-gX!$~fAL+Q/ɥ%b>iXYQ1oiE{T1= Xu,^y8+>D7zuztԀC.[<$;nHCpfuX%9};\+0\cV9ŀ=kӜgAeI5.f*E6yQuHBl01ێ8B"çg'zıK;#w?LEm4oq)t`tXHq't+XJӚ0g@=aoGZ'&1n০g؏PChFrѤau`0zvs.$tE"TlP*@" åWUL` EZ̍ҟNe ^is 'I?jr ՗2h'y]\.LQ3Ʌ`[J%O ׷0aP)^ͶҺFN{&Ly7䥙|0]b>D>ȑC֮ӌHRhRE{{FS,yJ`1W/V4>߆!+jw±FP_S˽rfs5C'#C 1#FFT@W-5cri%顖GrewWLJ"jӱ 2K6Qe`uH@s BFPRIo Fo>CWNǛWjhc5Œ{ Zj.Ja 94L,@ő;XeTXٛ:Y(:ZȏRy sBh㵁\v6f|kAQ+u?أ\Q6*Ae0;҃텪B5ONYqW}X^t7h]_L&%ٍ(`M^/t)턆Ԁ yHmĠ,CrZ\o+uXb V:˵+ NPvuye@[6U xcس:ΈLG6 ur=SN X@a3Pj*tf:>hS#jPY-|c ؀]i4jKL,`9 T*\s1@` K,L&?Ĉ jM %t}mꢤsHBOQjY b1 |Ծ>?xK-~׋D f ވJ]QÊ7s/= j}AIM ěy0/t"ϖo&%I~(_dLn&r+XANNp7+dM'6-_A,w;\0ԌK[$`~B4kF^[آK ht#2CZQIR-7pW-4XMʭBA ~9Z uĒR5 {ܺ&֋_^zD ,y?С"dHXP l'4y?`",\h/@cZ6 Jd(qI#&$r;`Q| fo/.ec"rKpON2FYtPc V%YtW~CE-C{-izvJp3ĊgZ:lœNELR=s}KrsTlhՐ+%(=D[̙qa_@n!c *uӾ *^]&b/EQWHWL!“<YF!'`}KHoIj|Q&T} ,E. Xt+}Z&߂Xr"%Jhf?w. |"+E:R_rDag(a $Lk (Q@hYWA4w$_(yxp,;txqJz, UfHĒtx)",k [?~) UG 0DHC"eQ+%p$@wh+KF`0/!zu0cLq_Klx#JET%3ˆ)6hfVJU1!"adD,DS38&]܈쁙$#F$rخk.CGĚ-!9_ ߡ N WY*oiluW{7;1He;~apJbw ~C1{h1 XT^pw:Ih7G&i/{Yb eX00#o/gsHZĔ-=lݟ$fk)\y9r {6aH<8C.nPc۔'gLpDv)$V)BʎEtUDP^Ρdq.UHʞ1KEp7ʡ(9 }s dC}`&`ƺN7:@xB#q1YBQb(4QVAya ;mH}82tFiNXUi+jop?IylxJXh>4XB\!.sHFdi4Ƅsx8RovcDTH S@s+=~\+C&~ƈA݆a YF*XU5tnKybL'Lax9`]gZ܈0II "d*+bm۔,_鹺K䬮eH ghji907qD@6c*9a$ j!1rҷfmXCRX z59D9)TBV{,>0m+lBO#E"~~o[dڒ^425Zń2Ј]-VA"us G[%ۂ,>'ҢxL! [oOiӴ -e2ގ4O#? t^w]b\;-f\p|G2kOI~.SqUpC ZQmbcq؛Gn>۽M<,L'{L_3Tj"a9.ʒzR?D*)@[^^hΑb8]}"HR\D:49Jč0eʉ_Gd܃۟қC ţ8&Ad\v5Y>߸8V]MoKAt^MYi VBG ^I/ `鼻F$dƓs(`Fq+< /])O (6uzsVYm jٸK}Mz+^Ʉ\5ʶ1F=*uMxD0So_ףo| k}([Zer$L;iBƓ @"mH \75ԉ"2f2Ӄ@ ϓ:e%W%*6 }WcOmzk`WUd%D]}#?LEPN0ܴ- 4+8(MBA[.Zz&&q|FPo%|[b%TD{- }C6+PB?nyXT;o#pwTKJ, !J} nPM!H. =ěi+P!Qݕ \vשJm_vnoxW;UdnkSRb^qz4rwiʕJvgDV` n*Vp2*+%΀V~'w.~R1I?Ra^ǎr:“uw>݊6JhlzW"]9I!nAndVw лrc UBj4Y:WKb\u%Hb> oXx.(}m#lJ d ];T8E\-GsYE 6ϑYm$@z ;j|]H p (^ أ/=Tx4U$qVsk jw`rj$`g< Qv~ D,lU~ xM7yp8"j<GUc ;c#~;j<Ђ9FN,+ 5wy rdaM M]&#.~ڍ5bI.FԆo#X\;r0SSfF>u73]sҸ{ 5#ʠ uΕܩ93=P,iNvh\zh*׍wocj[)V'=4GX|0DVh%(wtE(9'a 1=Vz/=!GD̶d3c?n4gO/ܜA[ (Ư.NP:\Sp[^_k UDPk.zY !7TlXA]'p1,PhK7{ ݌ZW}r䂉. 5UEP;BRD#Z/$p bGZq\}{"ΩefύmxQGܵbUu\j-&8.*QdWΏi06y4]AsTRr *ZGo\H/z.ҋRbX)'j<l~t'X_ T{aʓ7Ȭe@Ab^l5 ]L滳qpQ5Y)%~>soT@VӼ<L8pp}~+Xҿ3@{dQǸ<+v'穽How`4v.#I^,^HE$bT {k!ᔻ&SYy?Fx 2zo7T<_Ro2oB +)$0DЅFWC9kA~j\y0{3j khGGc~` 4ݱ,FXA2 X F1QS x=2s(+L}T습|1EIJSm3=4QGo<ڟ޵1"@1x,X(&TwBI"",\ "Fn3 g._UC{D%&]~-;Jx㏀f Ոg= eLNd8vlڑ?P-eTW1{OzIW)U9^ bH%iX(ⷿè&XGDэQ^G}6.ɐlf#C7 8cT"uV\+v@ d^}O|ĽnB6хq9KakTbi̕~8lzpCE(y~܀@1p ecpc}2RGy׹}X/·G$q-$jP NT,A|t_$Z_dC쫏 vIAH/>,` o=mN%>-oI ;'͇H&9+vzzZ9^)&=KeݶdB8rLp0xnҳ^DG~>D{[["{EMvj.PʝP&V?,BW !9:9xז0Ggm9]sVW0u}A.)`Ań,Zɝo2>sh''9j~P|xbz2LACb֝IY`Gv(b4T38fV͵4N}8#xoaPQ: ̶[&-!POQYkoiNr}rM&o[냫F-t^G.hp1>W͠sw?Ta'A 0~J4~YRr:n-?Rh5ceх"e[ !-iH!Lgij[ /:,\#svV˓H441vOL4VNFRR=F$Zn?5mxpC(c͔dfNS'U  `q{g>`eVn!nм:5z\ũdV\wP?3 ݶ2kJ[6 m<*h 5j;Ċy}WI j?,qWiNG|G;/2Pb"#T% -Q@,6Jɨ&nU{_gfz_<+k i~ +8jlT k3" rX.8U-@<i;gHv$#- D'#3ٿNUXP_UcfS -AxZ(lq:Iq~&+[M-":ѣ[oȃ`ŧnyzOƭHG82Ŋ@(U*,-L3bV@qٯX-u3zM1y( qĀ 3jJ}H#d.JT0D7Y cE_bH$bj`hWghvBKVU3e+~( .G ^؞c'"Oxr3fYa1*B")%m>׼kM_ L=*;/ć>ZSɯ(mНX.UNK_%q@nS5dl(uX@(.) ͅ(F6>6N2v>z4KE(l t㦣4Ie(S&t:d Bl vTt`SES#bW k3z \OJAC0rV4G789}FX`EuTb|n_/u<=IE2Y JRԍ897T]f(|$N,08[7a=ȁY[S*>2S=\舙[*o*T^)A(^084oM/L![T0^QH f yZ] IĠ֏.y WAP~ܔqѝU:#ːd#n e[9e`KD VYblbip*5y}!ٽ@e!5{[FY!a<XHC"Vandi@#.s@,&TcJ //hBWușQI2th7;o(mFeƁӬė4?1S&$hk˪ #F9x$i, ]4+39P#Eu)4?j s8hb~-fJ=95t8nxZܟ<8K;r9{ 1\Z8j _`y)OTF6MYGdVPfA'kzv#w1@YzO;lT/1iOy%I"z晖\jʉ9)^:ʉ>GI~u50'K3L@40"jS$j0bgKN U۽'K9yEFМRw#뾹JUϢFmn9maU;rc~\Oumw^9rkKXC hs[x7Zfw <0O}|S}|^t_/ufNU6eb%nuڎif|G#sz@F@;өM>O #lb>Tυz36^-O'7.es"c5y`08kRKz΁Ch#qb$ƏG-jVFlt?)NrT5&3v'WJpD[*Ο0Mh zaDI'=~s.\|#l)xf1.u2ZVb| og1xSo$5r(`3%ȑ,Pť9|W*It,@(c~h{eaPQdG".qFÒRzbpX^pq3I% +ϐedn(pj] |[Z1њʸ^QMq!ɶ^lSH v& i`=a ɭ# sjQЛuST4VGVnUTWEnJMeA3M*H %l/UjHPkS힆_ڧ3h[_tZ.XM.NOJ<=C(R7) ǘ":N-l1Nғ(B(o&CS7sB1t̥dv2t0[;V3B OX@h?2UNusk/}Bެ#HLaN^?X2Y"Z@\; \{q-2"KƱCbwW=Bʵ[S+T@'^w,iLeN fC|x|ͪ#n#"JZ7wpiB\qK^ *&m@OYr5_P]Y ]EV'A+!捹p=CV@ykR,ؼ7 (tz=rC}=0J0/e i_o" 6'D0*a0'@!3o)~ Vsj_ce }CZSm%7dx6Ua_藓 )Y)|$B RW9R J6 6=S'ia%|gqW|r1lbz7d hq -TSb-LJ) CH|wNETzEa>t1FX̽G!o"l3*E<̃|<.k 8D_ޗ~=/?N/`gZ0*nPqm &-ACF':ն\ *4{q/@ 径Piݩ;$Ow<Ų'(5ynb恕"7#؏ ;˜>j1]|c5ηa*SX@$V N6,[}C"6? el,~iA5ܲv͝g*)bK)B!m+ ŃCfj=0pƿ֘؜SaiʲN Rr$*о ˃/GNENqPx]}\VrFd2t%4 uVr> gU;`ޫJ?ʦ#H24j(`fʞk2QK"K@x[1}o=-Ed޸O 7+x7%+ Q*1!*| Ѷr^QuD\ ieUu(ed[[}gsrl}8b7ȕKӍXm323*JsH(cM.}W„j܁M@b~F ]ʈlɅb։CZnkŘ+S泂A]F3SKd mph)v+tѽ3sB; ʓR]!dq\HVˠOZҲ%)CQ籪RELSܔ1.cZnO:hֺѺK`Rd~ǣ}3Zl;C p[4ѳFnFꥍ8z lD0}{3,`HI8Rūs'jaZxݍօ=+8`'a }p74Tإ@PF,9WꉛMgF01dSmemWLL{jt?Y c[ޜ];`R 49x߮^?-JҜg4a2#q*X:x Md{n6`j‡)+ NMn&7+[ܾF/bUO]Y7 t?{<s0R bkpo<_PMv)/pf5ﱻI-&beź$Fv7klÔ,Bw|2ԡQI"믝n1;_c&anP2Tp4EJiSevj3㖾tB`[<8 jGS!JIK4x.Nd5D:HB_O3rDͪ0~ut7kZ&{vU6&0+aOekLԻOm%4>bDR4g/--ϐQnظSN D5K-C7 Z%!-*R ΢ h|F:dR\Jaj[bP^狱ɜ)*,\%h,6~2Ll k=OC?MHU=}$Lf{dt<Ȣs'[N|(dzuE9ՔMU?5=?Xޔ2.sNB/mpszo< M̌,|CL6Xȅ> IQZE[["Ab:вj;vϷAl^h@g7AC03%6Ҷ+/ڹ]m=+I}X)xSYdތ+_"mNfZ,|5v6 Ѐ+#dc*0?/6tJoCϙ/,v.@.NypUݸE0oƻ_V:ZTm&? yЏs)L" tSҖf>NJj L^_ܡCcn)E  ߿,T7n?BwۼY}TV]1nU sc(&&9dU_qbKv6^GDKعH@s[JGR8V$M.聿 { pP?|'Em~ HF]LZ֜Bj&Ti VݷhPXTy<͋feNNXͤEm&d:<9Szŗ4¦McyCL8֛GO*3 a_Gɽm͏lzD20J=:;FZ:, {ҟ7;U~D>=P6u`h}wAtA)Owܡ'" Z`|'Y @E c*X>廐vT8ZIwm$Ϗ?%@ʖeuHM‘۱i꾕[dkH+JYA{kKULmX{LT3=рAjx*hCpA5F8I GJ3PgٷF7zOzmW?0zK`K) 0}L^ :;gQMv;;QkQ˽(s8SLHRِ5Ey ~sajp|T^{Y_3 RaAXl00$%Pv2˴ An'lCD"Ʒ Y9F❓uz'Eh^&f Q6bVzO(MCrJ;NYGHQ3UNQu5BEvn+)lRlǭw[GLIїrNjwXg`tI+^2G"aQwk3tavǣR㗹,JMwʢW Um{72 ~)~f<4,MsӖtWKIlmOۯK(.7EqJ[Y,rJ~.ؓ>1 v'$yaF9eSsas!q`&&v(.\8RiHѽ2 K=pDa e@#m “eUa)53@V|f}Za=_z1v-|ԋ!kMO:N&7mH^hZGKj44؟G6"U>(;'X܏KYFKrL3Y U|=Rfwqz\ϑǨ5eL&J$4xa{S%yHGGi j'ùgchbsN)~Bapף, GT\ፙ-g2?{ǩ꺫DIͶSX ^OI*'ΑRZѭ /dfrhvF,Z'PYB{ |akzVY%tro81p;Clވ6 7M`Cp CRy6rK.)|ƛUZ *)DFȭn,h65ef<s; BQjrB60YAtէOvHտ R!Op~vnq^bRr`Jmtgbw*O)>K W>ёj-˻8Fe꩕v&H J,ANqv#4$/XɚYlVoJyZ#4OHgŹkH Y->M`W5uLPlj]BNϋc\jMj~"Tx[5Vu8 Fci_?!VO>&%WzHtzi)^%޳FƔ`-bz^z(ݜk/OjoJU(buIJJ Rr^+,.8sAш>;*`,RC=bљHyAjcOd{PӴOz2f*a00;- /F*ϿJ{Yl_+s6=%;vl0CHzjW5!wi5܅Q yq ƕpzu5%Xmgc86zளpMJ1M:KΚ=so'99ӚқZ5>FРiopsm<9SDCGlp>rV}8g3s蒝gQCZ g7Ub@_WpKc"a]aeH:䙯I;8F@KDcf=[{m(_A ea/olM$@)(KՌ)f: /`ԒHݜ;z+6QFAz#rSB;|XOf>hp{~)h̦O}\z0_S듲va_uptҍ_NLDFw f.VQcNZ (fXb&C>ױ}Eh&R{lLF6Nw/ q[OjzZDuzTv+`"KpTb#]D! v0h-=|LQi`i)OQ{s]+ғ"ڛ dfP4,)bu+t١̹Wh ˘Efi(釬ʱ|Ȍ~ ?`r3< O~zGl:d|;ph R k~k ;b>~^9;Pxix5_wwR*f|CKc7M ᝤ9iNzOnerѕJ68Gmbe5״D:jp)(&A-[&Tp%O_䆜7 'Zo#OeoŗM@ߓ=>9gI/)m|lI f߼ Y}Ǽmm^/X=—5Z{H*˰T E Fxkzv?C zS jREt)2( cؖa[|j.{Iiu^5V:k6k㚵Yg;_xNLnk2?@+ >o. uXPIVjnSYY-ACR9#N4TǩlF7:+vӄ(lEk{ix$:~kZlmA>5j("d4I5As1w濍2 ){hr&Z!!\hD9! Z1eMn&ҹGN6r.qH=BRdS ; ~ŜZGd}˹r1Ξ~sD׮iiE킓 k=f9? :eeauGꔂKV Y:Gq(.pvI~h%s5khy8P7FQ6PNض3Ŀ>1I$r 3@")Ơ!⪌?O>oU3yvl1Im#PWR_l".gT]\ C@϶KEaV5[;\ ɐ;z\%c6:؊հɄdb_S9<"_H1P&˕PVgkL0#~m@%='̙ZԧyxvgT:J_,nyr%[ZM}| ɰ}4 fԈ ((<Iʜh D()wL#8?=|j,7h@*g2K֭#͐vr7w &O]n:kH-X_+`5 ^:Q~,0)۰2dj`8<]:6: mu,YaL:}Nd9429xGAQ+q?1+'!Y3W]Lhc<yd@ܽYf1go:3uͿFYbiV7wO\(7{p,w(=W'Oݯ9gM(aF֙27|| `(TT!mAB[툄SJ%V7.) %H 0d"V2Ֆ@.HFF \Y G\R껯ߞood&j%Hpjl=4DjxZ bƺ& % c #޻CgH9P-`;hH ƄrLJ0:֟Ftq4lNIr<od9iXxb+GЗ)R$פpx7<`Z:]בPx:Wo;/|\wnP *L`Zks~:ؾUvv3hipuE1t>-PW- gؒ3o*w,AE- {KuJsǺsAWuF*Fu@w.d5?ԥ]Mx3%@4CbD,IDbt7g1J%LF.Ԍ F{7IщLc3M2)~'AeO͹5;bI6'E2 > i76SfD/YQցq?%:8ufZ<<6j7\R&6UOix{CpIS$oS3KugGOxcY) ;<koV0y-OGOκ.K"Fa_X.[TL,5# =21@@Oֳ P8l3U@Mi*LG4tIV'ڒ~fw\}x9e:y=:,х,(o௵ >-Pߙq RpLL8ƃ1`CQͤ djwߏxkN:f>F&8}=Ƽ):8vW,c~`FY'߫mힻ*ѡ(}9 ܪfnjq@XJI9ȏA:6vɾWq-܅ לd<6z#|?mHҕ,w5N000+o~mP\Z'+x㾵jZß%K)Ot"$خ)YX[S _* -x#C H9xi3Ϛ%w۹$2#79$hzcDy }+' )nxo-DhA섞OU#s\GӶ9Ĝ)~ȎOm;=5f8658QӰVG9@S]w $}O >Qrϟ,>e֠Y(::hZ5dVO5ȳ0cn N_H42$1U-&ދ4b6;âHy`kWSVR0$"mI$)*jgV8Ɯs$w#_7ouawkiW$CgTuvWɞA@aG_q~^JΕ:Z;]FWR,(B\Zk"n|xXh{nB#{3)^$NJu|C1>cw[uI/qI; 4? ng-CD,LnؔGh YbLfxIz"~}<8C.aE9~h0ZHyjv+!PSJ+"e6t?U CL_EaJ rS.t*).׌I+zuf}J}LKV)Osp GxjC_t?Y*erZ)j x`}{dg Laz$o:׾_qsq̧%7 k _)t|/86ip7gsATDfyC뜐#}q l~൰B'FG.cʮ,~c ?O{25s `5xl)U[Zj| )婏uSNfMF${ihHJb";#+ =j<1Kʯu7_%]^x(rJc ӲN/ziPm**SBʺfZ WVhOrّ/%{?fԀKDP>%7o_f X?エ*2$OW-)cjspzV Wl:h&w`mn:$΄֍"k?Qn(y;h7>BiWr-5}E^)|/o])Pll! 9пKH>}.QȵZ\Nb$-N{5mwfs,M%-8&ֱ#.98 |ꯌ*jUh ;%f`0YxN`C)q95Eq ޳^,4S[n%LyLȓ>ʪ*^B0Uޡ+6.gyC,@ྒྷuzjhU}fΊsf"Ƅc)Tbb,?ɯ'%Fܲ#QX,+w392V.읣R&+ c,4? ".M>L CdpUmwʦ, OwΝ TAuMjvꊳl\T)$0$`lیBDZ YO>] / w\Hw 4d(N0-ŔGDb,{>@|*? …tg<Tc;kL:<ʪ\:UOy.:5Hg):?6۹r KR6V 1"防gh^%w 22_q̔]kP.!zpIGt&3 WDE 9G#\#lg"q+EG~ؤ5oDFF)A̿P r5BK;Fؗ q|=02Ww-)¸|-UgqK 8v*\&CvIR g >MZ^N.?rd(SؖM&w@QXP/&)MSIh[pDqM$g}ti 4 ̈&d@\;{ Gѱ:h>MؽvMPIh}Sοg8d&;_٦vt =PH MLFB'%dcwRsl^хi_"A˪.& %⓹ v2B_e&oѻ>+ ^=ej97AQ=R'Ł1ͼDQLc&lMx]wMO' M@uNm )5Pph(IO-v'Z2[flo!D2bf / Y;Wt1biYDN DV{-H:bI?Q޿M96,=YvhTJXnб0fIQa3j2Z<%T{)7/Z4]:A_ Uw΋]+MPy[[ƾ[@;NފY<O|,0<ԔUFW,bc#4nj2s_#ÒPxcwK q6T2vY+o"'i7j˜H K %!+ce Ъ]hzss)Vo(ȟ ӒyJ@l2ti bWfe5RL x9д?d,sªk3fىd Z׍̞d Hx|#("eLO#̈́T65fm>.CLq\"<ߙl֧{{)=vێW!aANL\ȡ݆BSp9/*z&N1XEo %jҐ8H,։{wkϥC"edDiM%W BpB 9r : -#'V81!r6=2ؙJr*СcEi.uwjGS60=(^:R!Px7:`>ŘCET$~㪑ftn2ƱJE&>L_P<xܹu1{Rq({L2Zaei>{cWʒi29Wk jU:-( e7u.1)c6JlC˕5s+HaR ^q UV+DC#U/tgUd me?<:<@$v9$sARE68eMk& NJ0Ⲁ#?q ~ݟݗUucK t%nQMC7>QqHV*}( hq<*`0z`ʉ-R.(5F. fY7ʌEFtL-[k8gkuS@Q4DT[AF8m/ U|Lǰu ` enLD7CeQ[&x\8{ǡs}27jtY5GQF1Y&ڰaC`~ FWmҋ1 |\#xYŒ+Grti1 L\It3.OnO8,/jV/BɒB8J8x:+ULF,k mOaL˥= 31r"l1ZB>$u6* ڌ=yGXD֛"}$e~ԅdg 'CPޟ<ѡ -]dal%GuOS>ozGВAУo=1Ccv rn)nf5r!Wzb{MXVH428it"Aϱ\2\ cƱ&l#P̣dCAIqz,3]2F-W$lb~8H ~M/o|fIޣQd %KWf8tΈm]۷0Z4yx ;}0A 1 WÐeOk(zD4rn;ݟů6V648DO6Ur 6Cy豛ļ.߂zW× sHvxz~fev8Yz 4@쿑߃b!xe^Vre·U^8++y$Ħ2uycyVzJQ9G6 ge/G(Qrĩ`0x2FL|DZeAloμ%;[)_^46`+Gx3` )~W׽C21u2s^ƭ:nUhIͱg7}Sdn8*BmW逈1[AMmޭ(H|:LJd+Ôo>S1ɓpdtv|<5М\5e2CVd9v?$ yKԈZz]jhlVEIiC9$O/ L(gsdʬ/(\Y 153E -Dn^ ^E-kTyr#URs)_@,:) PeՅ,QYn>CiQ2pf^F/+yF`k (c(:]8 `ŋG k$ߝ7EcD%fХ1@$m63K3V$%M|p@c1}O%KMRܱ KG Q]FAU#tQՒQq#:q2~}[e%@Q'GmF[%pFx2i> y4!kojhh&nGOmvU2s[PоziBHDŽ"L][Ljt:s̼6V E]Lr?)5 uʲ#:sl'>$Ԁ.ax bEV.s~uح}z^x`aG0\=6!DecOȯ)S!:☴AZK,9Wz%*z7ǤC͜0eYnqJ! r>xrl/Րj?J]9J3;8)2_m![OJ%lꀌ6ęG;|rWԍlQ<R_`#.;$^mC#~Ftor3%Š e\ڵH.Ey/xi2Nj=fv7>8#8e}0,a:P hVqY s?H8[<$GtSDCW7AT(k_R]#F&qtJ8QxOUQlě>B-|rp^)0$2&u?zxۙEz%Qa:sDiG/" ύZQh.\ t( aZο όTr,~VV ;"ml.[om^_l/|~0FW7Lܴ8٢$w{FU*SGGKƲ6Ht5QLK3$qM ~>㰩ɄATRX]1 Ȟ1j5E+QX;em Z~e<a})n]̺i,h^F П4bK?u>ZI]VHp:=@.}ϓ[BnE_X|Y)X5jm;r=L0pFCπi5kXm['pN 8xM" `Ľ׻c 7,N$E䊈c!M>V9-(22\ O7M ua]kl?g$ ;m72<1c}Y( &xaz|!*ݕCE+?60C%H=.[{NzB!(κ (ʷw7Hnuo?3] HgOAL* X{onn7 }Yh"*8%v5ܜ)9  H[c ;3=?͊}͋(FUd(@~x^=!ڨdoMQVe}m61jSP_qI[D^1~L~let> "xGHC%JC-Zmjyh-Ry/v{'C`k *RClXMHm8Y3=/A}d4[1p$>Thz욓*I\o>KWàẒTXoop||}vEncv79=\ե<ˢ'!EX{f+#:}QAPUrt@-eO.HZ "<3c5%HZa7I3QԙȲCAElSxzJY >*g|$lHEL~N%P2UfRgs~sx@k2 w=p~}ꑉW2xo/1]}H해?3J &rfLnV[0LuBxx꺆`Yr #ҥ cO>q(/BlU4;g<#['luO[G~wJht5M!s~`!5ۄ,<= >O"ע& @hzxQ3szڠ7 `_ Sa:;yƦd2Am;bк`CGCĸ+HgLl䴋tY Gxg*x?Zӫhβ̪@(ͮ6Kewej؝u߇NHDKM=cYڦU׉=t&,g-^+1c14l4 w$ BX?&5T+-'p̜[{_m]$4 ;1z+Lm54DPrct&O0x6 TLoh乽[8{0j TaqqrE4@Zy5~cMgC痕͇rZC qiwl<1 # ^ '/ܭw 90 SEn3c^\mX5“ تs 述W1#?[F N{E>Bsԥ,j? 0l)۱.5˱oCD#LXV0bbɧ&L/= /l*W6NnJ)/TvYN%u2A`aib0Pm?) ߐFsΡʇ(L[d&uB˛kJa4ysW{pn<'? dt輣5;zVh0(KIEkFM')rb$&ߑ[EI;܋`x=NK38BKr DKG埰Iʔt hJ e9 e7m*֎?r/(|~8FN( 9@oW;"]x:<ԕ7/$dp(;_.ȼ~+cKc>{Hg6gIΘ*4 -=(V](u"¶RN [!"-V |'+ߠ{aDJ*J*{@Y r5¿pHگ̞iKj^ #+rn[1R5+$Q{`[Q @YVdj_mdcժ֐E $n.#'&QuHP,%&/z(a/E-`$6_|CJ/|Ǒ*b`ݐt99R !O ;j ̜,yZ db8-;t+[ƵhJ_$tH O uYN*& p?4IAvPk>x7dfj|.PV굺}mǐ>1BW+'ɸ={;]-RXSu|o y#P2hLՁfUDS[SX!քC܂f@qj.whMz#s܆T+6( بP38*_;kd$=aŁ-dlu\XAw{G|:TwŢ+@B&DvIP-{+N18Cx;`0*?`JF9ˊ KlJ?4 >8hpr_[{ 02ZV1FL-dM؊YCET{WɣU@le[[@cY7 ,[-LKڂ3@$<=jި*1J(MsRn'TzFYo{ 𘑐 k9ʻ#5IYdL8=],tNqh䀕+O Q2z,YЖ}4&#' D n"_85m*ٵ͊$~/8!k&feBTyIJ^{Z#MO 0?p,Q(ƎO-2!UZެ?]}N mE@Ȓ\xTk}HW%WgޝFOA/%Нn2=kdaCظ91vO`=p"%Dwmnof"S#'y W[8A9 ¾G52E|-\u( &ox]8ACGaMy?**n=,fva*x^1!4r'L,*T9bB1"Uc<-ecֳH8&ĉ5r||fR5e>3މM]TQDh!ځ0)[Z]]MCsfISs(4i,ϩ i(OWXĹU䩱przKP9ѝftP247ediwk?-X!f=bS[_ie~Ҽ !k1%rOV·8g{0G[TJ%&='ӦD[GJ^QcT)(zW+V [`[2K*vԎ'!Q=oq9GbKׁ Y'km&%Dfeں9H1e۹aYrt`8Mߛ⽜ w)] a}ꀤ q79,[BnMnm71#ݓkOSS(wn%WDhdž\ % bbi BثS=w5tK~VH%_(V&+YC3ll>)L[Ϊ5Ψ^9`ބmP(p MgGQPd7XF3űL}hQ3,timckj3̐fI]Xk?w l6/>q7Ky`BU*3$r/BtQsF#)bϧP ܛ^ ]2$ɳlB5'OEme'%)3ΉjMr*z:5} CR˖h/Y!{(hy,C .De G*l]0ACEPyH9ﱅ8 BI:s S2D♪Ci3rI ]%4y S/eM:'Q^kDOȤY:@N{ UiWSYQo=۫O%/^3{tAz`5oԽC%RXԉ] 9hwZD~Sb1iMUT3'_ZR.a w'Rְȵ.WN5isv oh7)V7 2"qH>j77x~~ b2~,heB2PP}Qi&cKdTkfܻ*kcbSge0أYעT}(Zj>e$LI{<>LWV'* qɢ6wvc'5\ti 棙8Dl!^Ύ |)A_J_qv}h69:>wܣrl|r* i9E2bv9ɔh/i.f$zc q?dϋ%$MRƶ," `M)n^\Awneh0;p\&LcprJv|O`1qnwȘ>;ZWeЈ(TߢEFU)/yZ1Y-;I+7؉{jA| ̀ y@ɋHZS:p& &S>Lq()`y Z{sS9)/_zav6Ѥupb{U]Н;eZPY&$5n?G T[Lj NAIk5N %-t|Gl¤ Gk5qͶy ކAJjryƙcP"=oaZV8 E_ٔ:dcQYgƻeP3ԩUm&_ɫ3 ce#!9>leP_D3\-,csݥNeb?t|ZkJ̚|q?@ _l;cXqk~H56ώ3Jedi@]0Q;~zNť-y™u{7J<ep+4){ac5[TOM85d^Q 8gt`Y4)Ѩ}7V k-t8Ǜoo Rb]f/6d呷o/\[o/VwG{}5^Ls3u$tBVr͊0(یR6{wj܏cun ߯6Pt SՖ%;hKj*m..lٳlrrK޾H[M^,ͱx3jI}ttIH$U. F>[6\iXh+ ?\[_r% mL mFTbȭ @0![#e-=ݐ)ia%п `Ae)L.\ )7oiA˰+5T-,,y0/>4c ͬ^A`^ꃺQ^ݛq:TLhNo<4הj? Fu0d Y.Y_,1Dz8ZN{o돦8 bc魒:zf~B\BkPns,}gJk<uK>A *aU8Qܼԧ9M¯'R9Ct 1e>08y]mh1c9*Jcj巩rw7Vا/꣞1H&[b?HK50 }-/l: ÐUg_زqaHRn]͉%P d7ṕy/*<ϰ4ML1Y|to |.泌/JF屙rV#!]L|\\y,䧍Tz1ac u豋g?Pj,'OiM|HS~j)pg ao`l!T ˤ/Pb_Ϙ*fsg(ȍXN$\,$S/euǮ~#꩟r7vPϐh'+_3d>߭ÀKC/bg< R{+gM;(_~tOAp^7]'aX껈TqfDaC(9N(~-[f` 576 [2[ '3Ԯ=4@BH'[]lfOn׵#E-Nws0u7ҭO^C܎R5t|fibU"c# |o$ߒ/@cfQg2xՇ:$#N"2%|[b>5}HA2B%Ə&Qֿ &7D'cw.H%-[J|ӹ;D&T YZ