python-aiohttp-doc-3.6.0-150100.3.9.1<>,pb6p9|.mE{:>~l5xMsϕ;|$y鏝,o͒uv[|A$Y7695\ߥQ[Q>NӮ@jRu29je&-"lؒȒv-{ u8, (P j3APRf] uKwd=Sx5F4O&9Sϧy*X&T fiPZY>te[h1c8\>;}l?}\d ( O 28@nn n n hn !n !n#<n%bn''n)l))*(*+8*49*:,]FhGhnHjlnIl$nXlYl\ln]n|n^ubwcwdxFexKfxNlxPuxdnvzz|} }}}XCpython-aiohttp-doc3.6.0150100.3.9.1Documentation files for python-aiohttpHTML documentation on the API and examples for python-aiohttp.b6goat04*? SUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/Documentation/HTMLhttps://github.com/aio-libs/aiohttplinuxx86_64A.CO,M6!$b7 [/.q -r]~ / }^ Yc@5 +)=*$RZZci`/lc [Gh< ZoQ v%Bp L0Tf@H#(Ghc0 0!W#V-IJ99jb>FAP(AAA큤A큤A큤b6bbbbbb]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW ]rW b]rW b[KMb[KM[KM[KMZ}fbb[KM[KM]rW [KM[LPU_+[KM[KMbb[KM[KM[KM[KM[LPUbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb9c2ffce7e15f2d1361afa6c954c6f93a332edee50bbcfb00d12825415abbd4fef0d2be650da37fc282003326afd4d627dfa81e7edd166439b0f033b412af863737b660cd81f024acc97df3939981cdc0794bc0384738f2f27daebb69c4129551fb7cb7d7cbdfcff0bb3789433ada26fe41b24bb8b9097635f2fff1de7bb7cd4d4bc8ac06bd24400a17fad67ce818879613749ab083f44750a3e7d6f7b3ed79d8c8f85fb4c92b102a163c9a58e1af6a60a2c00090a51293991c2ec98267bd6c2984baee842d955a08c93f98f7243e370a4fe680f224c55f1c2f96c2e393ddda13af65ea256a0ff26725c58bae51ef9cd91daea9f49e77bfac44a48aa21e70162ccba256580df5c2c3b5196107dec305927f7b4365ac6af13dcd7adbc7b1a3a848beba4bfa4dc13d40af461b4d738e476b161a86c54af942a6f92424b3021284477326bc859ab7d94db66db44be23531c039b0e186056f1e360075ddc0ede8330c0787c0e43ad2cadac9732fa8c05911366b4daab0387750bbd1a12c8bd546cab190e25f4b6ee9777d0ba9be8cd753b45338014dd34ceb8ecbb38f84510712297e54cf7cd3b6b3c92c86408a558c521a82a186eb664543c9c01e49b9989dafdce826806ac9215c6b1b18abc60677f2ff1f871a59a9ce1caa55b084336cab921acc89fa793e3328d19baf74f1483f485131dd41501661494787c4a4f2473434ffa8462d921bb2ab79374cea12ade58cbee90139a887734b42c8158ed9d9addff44523a0e6d5f9cc6f64fa3e8f84439ee0f8e011765c528b72b18b86edc39d86836e2a70223310cc6af79210eba4f03ce5bc6b6d3bc3e21dc02377df59186ec3a1b26982b2006827987bbd1d0ff806cd08034650acdd7e8ee8ece1e2ea26506a2a3d767e3bd5a768505b5454280e07a164cb29b20494b8baec48c36cbbd9bf7a343b615b9988d83669c655dabc366a1583f9d70175aa5dd269b94358ae9884fe268e985457a3e96eab96d1d7c550c72eb29ffcf1fed68bc38dc7374ab76942afffad1149fe6803b2f7349b4debe68e58a33ed5906f73e7d293baaf0d4c01b413789221ab2d60b0941473ea10334136da14f8f96f713d31ce7aeb32188ba5f10fbddd1a6c6679676d4dbbfba128db4457fffe590e99114551c8e0fe01040ea4f4719180a739ea2384e91946f8927ce14004d56a09fd63ce42840f91d5742e58d2fe867d89613bfbaa9d605484e3b2a8c145b176ffdf3ecd220fe9b174e94d7994fa70f1fde54c8ec4efd0061a5b230c93f09d048382350bdb3832d444c1657be04e1d43af1e20fa6f67b65f842ec7ad117865cc715834e78a546b4185f0e983de0e25521b8ae70db02c7ea069e3ca645d3be366c959991758ead66088890d11fc31d5d0c37d71276a3d177aa2b756fcc5db4210c1662a0074ab1c328e34f53d58b3e492baf6f9b91202086066a5ebc3ea9f3f31ebfcd6784865c1f21448ef050242a958c1cfbc8a4e1444105f13f7f45dd0bef7aa5837d13e5c9aa3aeb8fef56aa22e4c8e0ef95ead9e39296ca52bb9b78ae916fc7d3c894e9c7d63e410f54a6bb9b59275892f20c6c930275bbeb8fe36583cb03e36f08c5957e8039f2306bffb8628a6abdb2ffc7961294a3fa16843c1ab1cb40736caef77ecc4b015dd3136ab714e8cecee848edb98dd131e2d719d321562ec0bddeab40cbb3d21583e361f9fb581ad7cef26c46756cead1afb1a9d583588f594ea2dbeb55721b4cb1d6d3d4aa1c8fdc8fc8504b36711870f5adc084e27f92d6de4ae92802089d586bd7243636c88ccfd2efcbfb629775e110441ed058d192fd65e8219fefd002614232b262fe2325d045fd991ddf2b208dd9bf39a591f50e6ec793416e2867f54e8c6c7e89b68c2b61fc4383784ca3ff8589a1bb48d19d06fddc78d6120cbc9ad31f275f62f4cce0737b92f8825f5ed0740482819f3fba7826297908bbd44ff00b64ee95d262d60866319c7cf09c3d5b2926ea9d9f068801c8ee0724dac66604b03ac50b18295775fb8b0b215a51fc05bc152a12ab32d44cda758721c5df53f2aeab1b1e3490aa539f23a6561786e3cb4e33e4a96562a1305a8b74c0d45dc215a64018692cd5d4cba5080dd83bfbc09c8440ecc3e163b7352073f7428a92facb9dfcd04ba29188b8a36ac68c17b2b11d6ecd0ac6d27fcc3716aa124a5aba62820c762a7c8a75765c89ca40639d0bb71502306afdbc8646f6ef362b79c54a8f9211aa290ad8b363575fc30ab04aa494f8ab239fba636663b950ccff763bd3b95a3c214ee2344ec891d96c5bc59d8e36c030e18377d7efa1c64ff920eb8a60a575e63725fe60417cd5c4bc9a16aebf38c4b950f59b8e501ca36495328cb9eb622218bce9064a35e3e0d9027289ffa5d9f6c8b4e0782bb31bbff2cef5ee3708ccbcb7a22df9128bb2187083882cc6015984eb0411a99d3981817f5dc5c90ba24f0940420c5548d82de47e7fc50db3699f1ca41ce9a2ffa202c00c5d1d5180c55f62ba859b1bd6cc00854115199b96a130cba02147c47c0deb43dcc9b9f08b5162bba8642b34980ac6387303dd58f316b31eecde1e8d682523be591c97026c0f57f6f30e9e44a7c402be8d039d87d8f443d02abb76df25715de53a329a7a35cb58d4767c08a574fbe00f808f0aa32fbe90fb9c9c846917faff3fdd4e236c284b76c02dd33753dc9017742d8fad13bc28fc726775196ec9ab953febf9bde175c5845128361c953fa17f4cfe678a4446900f4081ab8d74ef3d1f8b1002edbf8cae3db292fcca0637310ed108f280badfe5ec5168738c4f70a59bc6ea9d1e9243ff2b951386fb668e935023e61ad44de4625bdd7aa3b1ac8ddad355c919de8a23bd16fb36053901ff23cb9ed2cc44bb02b75974d19e00c82fb76e2bd4b5f4c06e7a141454f6a4e780321ee4e5dd97b7d9154fa0f18c09e4d26849bc2a62140b792b329c7154a7c5da3b983c692a9314047e888bedd4ab8d2db3fbe46cd7515bcec38d1b2c7c6809fc9ef832f1f717596d7dc6a589520d98b10145a2b6867c5fd21e8cccdede00e4679a06c7fc1ccec1cd43ea9567b7084da6775922b83971c0ef5e266433007435991a550b1db2d0b698479d67e98ebfddb9f3aaffbdc64dcc13d2392bd587392dfa5ecb0764c3e8f27b58dde35ca09399e53be51183c724d909293f39259d69e354251f98e019cc12aecf55f993a38deb107488ad27985178805cdadfe3822c04bce584a1cc994a32da37d171b3a5e4d9b63486d0edf89b88f3137ba997ab3abeb1ebff714fec13684be8c3240b85290dfe62e9bcd9a74de1701dcedcecbd635807b53b757d60166c29f1c95d07a2902cf1aebb9409a53dad7dc5dbeb4f75c1fb2156de390335be5ec291849dbc43940ad8827a787f647552f57863e5578132b7b73cce56e139c5433c90d45510c3199c67dc2de36c4e567aa1006cc068f54fdae68b900dac7eb609ef3fe0377f4598c839dee19812126daea20e3b65218105845ea7c0ae653fc8043e8fc70f35b4c52e73d3f361da5bcc14d7719816f64b837e8024b48fd3e8ef22b68477c8065900dc2fd938f065495c64e26a5bc661d5c17da7051ec8d5be1e1825047a8b1f40375414015d7f4a86ebfc87fc319ed2df6245c69fcf126243511c05f5b7ba82dea4aa612c22390efe918ab80b393f20e08dae05bfe35c4e41474870e33a529de66dfefb78f80ff4be421f3a97d33fc47d3b15bc8c3d2988ca2f16a600169799b7f9aa9f1dd2bdde3229db5450a12175db1dd326cd81826266b19082b115f92c5d672af4f8ae4062f70cc4e4507b4a4211009258f6b6bc0ca52a81cb887e3b4f52f3f992f8e873123d0afbc335ef6b1698b21fa7fdd271c4c57ea95e7b441cc625413a7df213b20f7838ca99f725e8236599e23fd5b71e426350ef85c107c74ad9abe436a85097126a037e627f7a1afea0d89413908762e16c8dddb4b06f7d979d6615f34140250d295c0491dc89bd0fe8724bfaa076bddcb7c4b3479e95fd705332f04d61b245f8c929a70801a9aeb75b43159ca8ce64642a493850a66e41a3e6abd4a8150702fe3b1788a4606afc126c0c7b4408eb73f9455c26e824e1d0dba8d9ffa20e33cb41eae7e20c8333ced25915e4ed44195defb2db09186471f0face490ccb963993d77dd3dcfb761a2cb0f849f515471bd421bbe9b2a57ba9aa4625a95ebc99ee0a7afdda0cea9bbe60623f2a438ecee5e99ce47cda6aeced9528682e0a3a44d53ea038d43ba6b7af75878c57754a8e4e9f6d86e7ca78cfaee0a3c720d8e5968c04849987d1dc618dfea257f7731f7921531f27a6323287fa87c4185ab37dd5d36e8434c943f2fc638d48d1aba7770444f5b60d0d61b822636d31307a39da1b03a732cd69f7955f91999ba3ef062e9a28aac6a29bef66f5fdbd6f7c50a7f8441d7952e00ecd68ab5b49c2494c047b2054350d3698669f11dd2149eeff58918a1930125b43a6d923092dad0eb1dca45e4340e8676b718603307a2f7c3e30719d4c91777d4c0d7d27301c0512b0f5dbb0ea61a347884af0bb779f9a3df837af207a7bc507a8f6525104009e4014961a99758a880095dcff97c66585e5bf1764870c459a0d4bcb5a51dee0675b38dbed5e26ff2f3cfc883c9b43c1a361e025a58fd0e7a72485b4aead8f81eb05553b5317968bcf0481b3c996a91ea40698137d3687555af850496cad8fc240f46858c626e5drootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-aiohttp-3.6.0-150100.3.9.1.src.rpmpython-aiohttp-docpython-aiohttp-doc(x86-64)    rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.1brj`e@`!']{]^\]@\v{\=@[@[[-[-[0@Z@ZJ@Z@Z@ZH@Z-!Z'Z#@Zr@ZC@YX@YzYadrian.glaubitz@suse.comadrian.glaubitz@suse.comadrian.glaubitz@suse.comtchvatal@suse.comtchvatal@suse.commimi.vx@gmail.commimi.vx@gmail.comaplanas@suse.comadrian.glaubitz@suse.commcepl@suse.comtchvatal@suse.comadrian@suse.deadrian@suse.dearun@gmx.dearun@gmx.detbechtold@suse.comalarrosa@suse.comadrian@suse.deadrian@suse.dearun@gmx.dearun@gmx.dearun@gmx.dearun@gmx.dealoisio@gmx.comjengelh@inai.desebix+novell.com@sebix.at- Update in SLE-15 (bsc#1197831) - Refresh patches for new version + CVE-2021-21330.patch- Add patch to fix how pure-Python HTTP parser interprets `//` + CVE-2021-21330.patch (bsc#1184745, CVE-2021-21330)- Include in SLE-15 (bsc#1176785, jsc#ECO-3105, jsc#PM-2352)- Update to 3.6.0: * Add support for Named Pipes * Removed Transfer-Encoding: chunked header * Accept non-GET request for starting websocket handshake on server side - Drop merged patch pytest5.patch- Add patch to work well with pytest 5: * pytest5.patch- Fix Requires and BuildRequires- update to 3.5.4 - drop invalid-escapes-in-tests.patch and rename-request-fixture.patch * big list of changes from 3.4.4 - https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst- Remove version dependency from Cython (boo#1121578).- Add patch to address name collision issue with pytest fixtures + rename-request-fixture.patch- Upgrade to 3.4.4: - Multiple small bugfixes - Remove remove-failing-tests-due-to-pytest-timeout-issues.patch - Add invalid-escapes-in-tests.patch to fix invalid escapes in non-raw regexp strings.- Match up requirements to the setup.py- update to version 3.4.0: * please check the longer list in CHANGES.rst- update to version 3.3.2: * Raise ``ConnectionResetError`` instead of ``CancelledError`` on trying to write to a closed stream. (`#2499 `_) * Implement ``ClientTimeout`` class and support socket read timeout. (`#2768 `_) * Enable logging when ``aiohttp.web`` is used as a program (`#2956 `_) * Add canonical property to resources (`#2968 `_) * Forbid reading response BODY after release (`#2983 `_) * Implement base protocol class to avoid a dependency from internal ``asyncio.streams.FlowControlMixin`` (`#2986 `_) * Cythonize ``@helpers.reify``, 5% boost on macro benchmark (`#2995 `_) * Optimize HTTP parser (`#3015 `_) * Implement ``runner.addresses`` property. (`#3036 `_) * Use ``bytearray`` instead of a list of ``bytes`` in websocket reader. It improves websocket message reading a little. (`#3039 `_) * Remove heartbeat on closing connection on keepalive timeout. The used hack violates HTTP protocol. (`#3041 `_) * Limit websocket message size on reading to 4 MB by default. (`#3045 `_)- update to version 3.1.3: * Fix cancellation broadcast during DNS resolve (#2910)- update to version 3.1.2: * Make LineTooLong exception more detailed about actual data size (#2863) * Call on_chunk_sent when write_eof takes as a param the last chunk (#2909) - changes from version 3.1.1: * Support asynchronous iterators (and asynchronous generators as well) in both client and server API as request / response BODY payloads. (#2802)- update to 3.1.0: - Relax JSON content-type checking in the ``ClientResponse.json()`` to allow "application/xxx+json" instead of strict "application/json". (#2206) - Bump C HTTP parser to version 2.8 (#2730) - Accept a coroutine as an application factory in ``web.run_app`` and gunicorn worker. (#2739) - Implement application cleanup context (``app.cleanup_ctx`` property). (#2747) - Make ``writer.write_headers`` a coroutine. (#2762) - Add tracking signals for getting request/response bodies. (#2767) - Deprecate ClientResponseError.code in favor of .status to keep similarity with response classes. (#2781) - Implement ``app.add_routes()`` method. (#2787) - Implement ``web.static()`` and ``RouteTableDef.static()`` API. (#2795) - Install a test event loop as default by ``asyncio.set_event_loop()``. The change affects aiohttp test utils but backward compatibility is not broken for 99.99% of use cases. (#2804) - Refactor ``ClientResponse`` constructor: make logically required constructor arguments mandatory, drop ``_post_init()`` method. (#2820) - Use ``app.add_routes()`` in server docs everywhere (#2830) - Websockets refactoring, all websocket writer methods are converted into coroutines. (#2836) - Provide ``Content-Range`` header for ``Range`` requests (#2844) - Fix websocket client return EofStream. (#2784) - Fix websocket demo. (#2789) - Property ``BaseRequest.http_range`` now returns a python-like slice when requesting the tail of the range. It's now indicated by a negative value in ``range.start`` rather then in ``range.stop`` (#2805) - Close a connection if an unexpected exception occurs while sending a request - Fix firing DNS tracing events. (#2841) - Change ``ClientResponse.json()`` documentation to reflect that it now allows "application/xxx+json" content-types (#2206) - Document behavior when cchardet detects encodings that are unknown to Python. - Add diagrams for tracing request life style. (#2748) - Drop removed functionality for passing ``StreamReader`` as data at client side. (#2793)- update to version 3.0.1 * async/await everywhere. The minimal supported Python version is 3.5.3 now. * Application Runners. * Client Tracing. Now it is possible by registering special signal handlers on every request processing stage. * HTTPS support * Dropped obsolete API. The release dropped a lot of already deprecated features. * The full changelog can be read at https://aiohttp.readthedocs.io/en/stable/changes.html - Add python3-idna_ssl, python3-Pygments and python3-aiohttp-theme to BuildRequires. - Add Requires: python3-idna_ssl - Fix tests by removing a file and adding a patch to remove another failing test due to a DeprecationWarning being issued by pytest because of a problem in python-pytest-timeout. * remove-failing-tests-due-to-pytest-timeout-issues.patch- update to version 2.3.7- add MarkupSafe as build depdency to fix documentaion generation- update to version 2.3.6: * Correct request.app context (for handlers not just middlewares). (#2577)- specfile: * require pluggy - update to version 2.3.5: * Fix compatibility with pytest 3.3+ (#2565) - changes from version 2.3.4: * Make request.app point to proper application instance when using nested applications (with middlewares). (#2550) * Change base class of ClientConnectorSSLError to ClientSSLError from ClientConnectorError. (#2563) * Return client connection back to free pool on error in connector.connect(). (#2567)- update to version 2.3.3: * Having a ; in Response content type does not assume it contains a charset anymore. (#2197) * Use getattr(asyncio, ‘async’) for keeping compatibility with Python 3.7. (#2476) * Ignore NotImplementedError raised by set_child_watcher from uvloop. (#2491) * Fix warning in ClientSession.__del__ by stopping to try to close it. (#2523) * Fixed typo’s in Third-party libraries page. And added async-v20 to the list (#2510)- specfile: * updated requirements according to requirement/ci-wheel.txt in tar-ball * removed 'changes' from %doc - update to version 2.3.2: * Fix passing client max size on cloning request obj. (#2385) * Fix ClientConnectorSSLError and ClientProxyConnectionError for proxy connector. (#2408) * Drop generated _http_parser shared object from tarball distribution. (#2414) * Fix connector convert OSError to ClientConnectorError. (#2423) * Fix connection attempts for multiple dns hosts. (#2424) * Fix ValueError for AF_INET6 sockets if a preexisting INET6 socket to the aiohttp.web.run_app function. (#2431) * _SessionRequestContextManager closes the session properly now. (#2441) * Rename from_env to trust_env in client reference. (#2451) - changes from version 2.3.1: * Relax attribute lookup in warning about old-styled middleware (#2340) - changes from version 2.3.0: * Features + Add SSL related params to ClientSession.request (#1128) + Make enable_compression work on HTTP/1.0 (#1828) + Deprecate registering synchronous web handlers (#1993) + Switch to multidict 3.0. All HTTP headers preserve casing now but compared in case-insensitive way. (#1994) + Improvement for normalize_path_middleware. Added possibility to handle URLs with query string. (#1995) + Use towncrier for CHANGES.txt build (#1997) + Implement trust_env=True param in ClientSession. (#1998) + Added variable to customize proxy headers (#2001) + Implement router.add_routes and router decorators. (#2004) + Deprecated BaseRequest.has_body in favor of BaseRequest.can_read_body Added BaseRequest.body_exists attribute that stays static for the lifetime of the request (#2005) + Provide BaseRequest.loop attribute (#2024) + Make _CoroGuard awaitable and fix ClientSession.close warning message (#2026) + Responses to redirects without Location header are returned instead of raising a RuntimeError (#2030) + Added get_client, get_server, setUpAsync and tearDownAsync methods to AioHTTPTestCase (#2032) + Add automatically a SafeChildWatcher to the test loop (#2058) + add ability to disable automatic response decompression (#2110) + Add support for throttling DNS request, avoiding the requests saturation when there is a miss in the DNS cache and many requests getting into the connector at the same time. (#2111) + Use request for getting access log information instead of message/transport pair. Add RequestBase.remote property for accessing to IP of client initiated HTTP request. (#2123) + json() raises a ContentTypeError exception if the content-type does not meet the requirements instead of raising a generic ClientResponseError. (#2136) + Make the HTTP client able to return HTTP chunks when chunked transfer encoding is used. (#2150) + add append_version arg into StaticResource.url and StaticResource.url_for methods for getting an url with hash (version) of the file. (#2157) + Fix parsing the Forwarded header. * commas and semicolons are allowed inside quoted-strings; * empty forwarded-pairs (as in for=_1;;by=_2) are allowed; * non-standard parameters are allowed (although this alone could be easily done in the previous parser). (#2173) + Don’t require ssl module to run. aiohttp does not require SSL to function. The code paths involved with SSL will only be hit upon SSL usage. Raise RuntimeError if HTTPS protocol is required but ssl module is not present. (#2221) + Accept coroutine fixtures in pytest plugin (#2223) + Call shutdown_asyncgens before event loop closing on Python 3.6. (#2227) + Speed up Signals when there are no receivers (#2229) + Raise InvalidURL instead of ValueError on fetches with invalid URL. (#2241) + Move DummyCookieJar into cookiejar.py (#2242) + run_app: Make print=None disable printing (#2260) + Support brotli encoding (generic-purpose lossless compression algorithm) (#2270) + Add server support for WebSockets Per-Message Deflate. Add client option to add deflate compress header in WebSockets request header. If calling ClientSession.ws_connect() with compress=15 the client will support deflate compress negotiation. (#2273) + Support verify_ssl, fingerprint, ssl_context and proxy_headers by client.ws_connect. (#2292) + Added aiohttp.ClientConnectorSSLError when connection fails due ssl.SSLError (#2294) + aiohttp.web.Application.make_handler support access_log_class (#2315) + Build HTTP parser extension in non-strict mode by default. (#2332) * Bugfixes + Clear auth information on redirecting to other domain (#1699) + Fix missing app.loop on startup hooks during tests (#2060) + Fix issue with synchronous session closing when using ClientSession as an asynchronous context manager. (#2063) + Fix issue with CookieJar incorrectly expiring cookies in some edge cases. (#2084) + Force use of IPv4 during test, this will make tests run in a Docker container (#2104) + Warnings about unawaited coroutines now correctly point to the user’s code. (#2106) + Fix issue with IndexError being raised by the StreamReader.iter_chunks() generator. (#2112) + Support HTTP 308 Permanent redirect in client class. (#2114) + Fix FileResponse sending empty chunked body on 304. (#2143) + Do not add Content-Length: 0 to GET/HEAD/TRACE/OPTIONS requests by default. (#2167) + Fix parsing the Forwarded header according to RFC 7239. (#2170) + Securely determining remote/scheme/host #2171 (#2171) + Fix header name parsing, if name is split into multiple lines (#2183) + Handle session close during connection, KeyError: (#2193) + Fixes uncaught TypeError in helpers.guess_filename if name is not a string (#2201) + Raise OSError on async DNS lookup if resolved domain is an alias for another one, which does not have an A or CNAME record. (#2231) + Fix incorrect warning in StreamReader. (#2251) + Properly clone state of web request (#2284) + Fix C HTTP parser for cases when status line is split into different TCP packets. (#2311) + Fix web.FileResponse overriding user supplied Content-Type (#2317) * Improved Documentation + Add a note about possible performance degradation in await resp.text() if charset was not provided by Content-Type HTTP header. Pass explicit encoding to solve it. (#1811) + Drop disqus widget from documentation pages. (#2018) + Add a graceful shutdown section to the client usage documentation. (#2039) + Document connector_owner parameter. (#2072) + Update the doc of web.Application (#2081) + Fix mistake about access log disabling. (#2085) + Add example usage of on_startup and on_shutdown signals by creating and disposing an aiopg connection engine. (#2131) + Document encoded=True for yarl.URL, it disables all yarl transformations. (#2198) + Document that all app’s middleware factories are run for every request. (#2225) + Reflect the fact that default resolver is threaded one starting from aiohttp 1.1 (#2228) * Deprecations and Removals + Drop deprecated Server.finish_connections (#2006) + Drop %O format from logging, use %b instead. Drop %e format from logging, environment variables are not supported anymore. (#2123) + Drop deprecated secure_proxy_ssl_header support (#2171) + Removed TimeService in favor of simple caching. TimeService also had a bug where it lost about 0.5 seconds per second. (#2176) + Drop unused response_factory from static files API (#2290) * Misc + #2013, #2014, #2048, #2094, #2149, #2187, #2214, #2225, #2243, [#2248]- Fixed build on non Factory targets- Repair package description grammar.- first singlespec package - fixes boo#1054580 boo#1054581goat04 1654111286  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn3.6.0-150100.3.9.13.6.0-150100.3.9.1python-aiohttp-dochtml_imagesblockdiag-01f8c7ea81260e2fd47484686b6499cdb2384cd1.pngblockdiag-05bc7514e0a36c9153d89a94b45277a8b0854184.pngblockdiag-9e4ca86db1dec60a9e840bbdca40a83459c051cc.png_sourcesabc.rst.txtbuilt_with.rst.txtchanges.rst.txtclient.rst.txtclient_advanced.rst.txtclient_quickstart.rst.txtclient_reference.rst.txtcontributing.rst.txtdeployment.rst.txtessays.rst.txtexternal.rst.txtfaq.rst.txtglossary.rst.txtindex.rst.txtlogging.rst.txtmigration_to_2xx.rst.txtmisc.rst.txtmultipart.rst.txtmultipart_reference.rst.txtnew_router.rst.txtpowered_by.rst.txtsignals.rst.txtstreams.rst.txtstructures.rst.txttesting.rst.txtthird_party.rst.txttracing_reference.rst.txtutilities.rst.txtweb.rst.txtweb_advanced.rst.txtweb_lowlevel.rst.txtweb_quickstart.rst.txtweb_reference.rst.txtwebsocket_utilities.rst.txtwhats_new_1_1.rst.txtwhats_new_3_0.rst.txt_staticaiohttp-icon-128x128.pngaiohttp.cssajax-loader.gifbasic.csscomment-bright.pngcomment-close.pngcomment.pngcustom.cssdoctools.jsdocumentation_options.jsdown-pressed.pngdown.pngfavicon.icofile.pngjquery-3.2.1.jsjquery.jsminus.pngplus.pngpygments.csssearchtools.jsunderscore-1.3.1.jsunderscore.jsup-pressed.pngup.pngwebsupport.jsabc.htmlbuilt_with.htmlchanges.htmlclient.htmlclient_advanced.htmlclient_quickstart.htmlclient_reference.htmlcontributing.htmldeployment.htmlessays.htmlexternal.htmlfaq.htmlgenindex.htmlglossary.htmlindex.htmllogging.htmlmigration_to_2xx.htmlmisc.htmlmultipart.htmlmultipart_reference.htmlnew_router.htmlobjects.invpowered_by.htmlpy-modindex.htmlsearch.htmlsearchindex.jssignals.htmlstreams.htmlstructures.htmltesting.htmlthird_party.htmltracing_reference.htmlutilities.htmlweb.htmlweb_advanced.htmlweb_lowlevel.htmlweb_quickstart.htmlweb_reference.htmlwebsocket_utilities.htmlwhats_new_1_1.htmlwhats_new_3_0.html/usr/share/doc/packages//usr/share/doc/packages/python-aiohttp-doc//usr/share/doc/packages/python-aiohttp-doc/html//usr/share/doc/packages/python-aiohttp-doc/html/_images//usr/share/doc/packages/python-aiohttp-doc/html/_sources//usr/share/doc/packages/python-aiohttp-doc/html/_static/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:24453/SUSE_SLE-15-SP1_Update/2b238af2afe6df4097d438cc668d433c-python-aiohttp.SUSE_SLE-15-SP1_Updatedrpmxz5x86_64-suse-linux     directoryPNG image data, 832 x 600, 8-bit/color RGBA, non-interlacedPNG image data, 640 x 440, 8-bit/color RGBA, non-interlacedPNG image data, 640 x 680, 8-bit/color RGBA, non-interlacedASCII textUTF-8 Unicode textPython script, ASCII text executablePNG image data, 128 x 128, 8-bit colormap, non-interlacedGIF image data, version 89a, 16 x 16PNG image data, 16 x 16, 8-bit/color RGBA, non-interlacedPNG image data, 16 x 16, 8-bit gray+alpha, non-interlacedASCII text, with very long linesPNG image data, 11 x 11, 8-bit grayscale, non-interlacedHTML document, UTF-8 Unicode text, with very long linesHTML document, UTF-8 Unicode textHTML document, ASCII textASCII text, with very long lines, with no line terminators8\Q[镹Ƀutf-85eaac06b669720f084227584ea9ab2a8e6808cf643659d3ea4203bdffb3f0613?P7zXZ !t/y]"k%%) o-OK$V& 9h $$GHKژ%3[A6V_8wTQ`@G&WuRz30 -¸̪Sf0͜3/TX- j^*j4-m[+rp#:m7Sqԡ7"H[y~zŸ7 F\ۍO223^ے^F?",5p>cc5BLh׋Y4{}1'UCX% !ұ.Sw.[V=wkằnV^+ 5;J{"zvdȷeYhV(K!qEXLp)drxYdQ4X7P( xlfa>*Ga}Z.T">xJ\1jyFp]'2W,lHדf ]Ә˭jw?bu. b[ &+KEUywj)&,bqXU:L ^+к;5Tѕ;j"bs%^Eň~auV O*3^=Pu K|(|R?:}8x[XzIBO!$k &BTN؎ߥofG!c~>!듃0EINIZL7>XO:u@^@=887GTyV;OJndؗf-;="5W\_?`hޭh1ZٶuT. ÆܑC2 (-71*&\LQV.PkaY2@Ll"Ylm} ;}u `{ } ǍxJ,`V6",O f2v@ %oeWIT0@ 0;:?رy#3li_\`ڑJ-F-ՓXI1Lӣo\H,PYk8"~E=W !2 .0v뇅7Nf&>1H'El6G\lQܜ:UȐ[` a`Jq0^讙XI6MrmꢚN^ c.CMxL\D |pY~zz'[i4ک=:WrG^zW/ :MOTKMĤ9\v.es.gZ<a@&tĩ%eaId!IZolY@l|gڤKsʜ9'HRh :S hȝ  J 6gՕm xxHí:}P?5bǪ0i1{lɴ `j͓P)5?/G1dT)݊dlA!Dp`Yd$G6W[pڑm;Ugx-eyM0>C=Zb/Ł=x}V!KiHmjppsiU sTPo?o~lEQeLh~Ag5t"Qnb@ ),@~g!/o+1Oʍ3Z'!kC7iI.,JMNTfw)#z4tV7deO,Q B09ѪXCnUC/XF˥yg7{ v$w3o9Śu@%,\O8ʂTHa&V؈9㫠ўT1j]E=HyX Iēx5&0knP!Lu6mLw:5`6@TRZf#5jM&ԨTwn@ YP+%\DxqJsJuyŌeJGJl%9Y0xM'Bgkԯjw cߤ#nv49llL陋&c{#Cm 6.k9[ivfT]heV(@6E0FmԠ;Z $G0~Au>wO0 &39JJHKKFgx YnMk;tMm&9DP.4HK(;PޤǞD_2'ڨ-ڛ9xê׬7-!N2LãJ'|a\2Z!Ir =8z?JI&wp),:sPMEq+uC CZKφG.gZ]XdA{$6a4L#HD=60bfy-P\Kt(?i.E~Ưл H4G3H٭Â+QI>d˫O>)< 2w9k sBp=oXpjZPҎKssC[ʤmJ٦"!IwoOo <ۓW- #~9(\ kFY6<`%FPZ rOQ%7z7/\8ͪ,DUgtޖV;MWH g `R+ʷ0^1yTv"?ΘKW~ [~`6\ Uz)BpMD6?{3 1ԷTޗ;oIh{t(,DN2P 򼤐[}Sz˚ddk29r0aT.E_JC}[~x4$ZI,қNu-Ԥd7FOG^awr9X0>O^_" w`+x_k&@zO턦 7_F<ѴזlqMԞ)ݿp>I uOD/ Cag֟D[eP%Rfo㗇ӅUIBo&h|d`iAn>yv* |V7[ 2sJ0++>ғ,S_TַpY#cF~Y3M@CNS~q7,@ȐꦮVGzm s~;1}.K?)|Nqo1,cTBՆrsܑdA؀=,7+6^.V:oeWz^x~ڼ&Fܾ< /b{xFsK5wF_?̺ ko6Ѧ޴Q"|ǚ+ B^.)2~p(íJc f+m )g.4Vx t/4 F 1‡3ӇX*/} ބΉ㉿,X]Qw#.fNG 4~.j103P6Pz5R_CnR;/xzsE .F]+q􄘙1N46չ5'˰_D7쌳숅E|գ& KF !Մ2&ao,2D͢zF/Oe[=9´-:1:ܒ0샸NP55bgԏ {BӴ$t]R09u\(=63eK *0/iaTr& k6ǁSpU.@Ej4B| ${3aU } Cҝ:^M]xW4p::kЭZ*#Sh ~uGt[j#aB.i؉ Cf$_xZ6bX6Έ%c@N3A$W~xeXJH8q YAו#{/\(`L9ֱ;|%@V.'nV@^m 4w@ oj9&̍ώX2d urUt+\@huy*^Rx|bms.k@Ula.f,0uOI7w :òwC7!M(Sn.CLʼnBk}rh犤-s^::eBeD\ؤAǯ:R, EZ\DE諀"@# ڪKǙMbe6l d@2tlbǧ f/@Z FgjWѨG 1ԁت>u!48S~w'rA0!i-鳙vO]rcU]woO31E}HYPjIs|4I`Str᫥p-$b"8bo5+[ƍXLeNٷ E @H[ KqcQpo WEm٢b OCs*TޣB8 Rce*~[ &,LGD>04.IG/G8y%uZ>vR)fA.LnD˰},w10iKF]gw3Lwrzah|ӶdT pgLc#")5 4 |,F<^ERjmwn@.\2= A+$Zշí?b,&Hm+#yƗT]CY)Iuvsf{fDx0BP _T:{T;DwEaSB&ebXJpdRyq %EBT`SrptBO|1O PBڍE#x ٥V6S WHʾP KV(N" `Gkc&^]W`Z_g5߸6+mO&%i9v\K>ۤ[Nm_L>2#5^I: Z`!_\0_iK:|A.Hjn\70%ֿ2 E[ow*TD\Rbm@pi3\j L"C"vɺ;ݩ)2'i~N7Z"N_{O\lR{qF޺@?@-Dx,gCsxJ@cSK;.dŒ-E`z&0{5e58N7RE UXYL4#5L |4՜9(HUuu9֨`O\YKvCOM2 ,gume6)f|3HPI֗/Hd)>ؽ}>^srxH'%@69:JG-CYVl*׆SF[-/BAjJeg2]G%bSXk@ nr,% ~G p]{Rܝ:[v3Kh3 1IPV  1'(j K5͊}$S$1`M@OׄlBHK8NwHԼ{e\7V%wu]8 <^e\,+XTI7+_"KuxiJsn|Cs5fU> nh.܊3ʤd*mx|}0tzW=Z˝ + fCS:9g3&9+yn,P_,tŹőHK_s`gϣj&u)49W-0ӟ9B  yS1#jCO=H~gPF #uÓmLpp?صh*P:TݔV|:%QҾҤ~f D-oy8 :0 mx*=*G5h\q8%gf\K`Jہ fQ9B@T<_oeκBE_NeR$ ޳k5 Eq-ndvև}Rfd?wzzSt&e}'n@zPEY& ˪~dݸ\].8{?2D=gZܑVOؤM*-`h_CBS ^ }c6.\J,2yF"F2 'S3PR+}d{7'kb(#5,x4MV/_hvh;v ӭõz!`KzEsoBؒfK4 2>&4yXt:3 IYt{e/Wr[h|B[[D.$K%oa)soL=ɅAT%FѰRٷX8uLi<|=A&⡋퇽@FyCZ#LoȾ7 plr&9Dfٲo7꼴p~2KXʐ]-;o:Z͇©) , uݖԎ`7^&lo9 Rn>mr2UjRXPTlUqD 9*#nU(Ip-*68NObQKyݯHrF͟f֑Y'_'8P*s7 |d* 7Z%I{NG'|Hdzпd֧F+L 2 ~awfYKv,(Қ+ʇQ?D=]ЖYSҡcoXC-2kS =5p=(k+4U mYv&$̰}5ɧP#Hy |6x`ڙɚcX*ay[pC7ˎmkv|p|mϘ@ްʙFWP1|a6&8mj jʖ^| )|O =|\{ ’adʵX2"쥻*JqQ#m WbKfCӉH+"bm@ڣSOͻ韒[ ޸ FHh;~I bLO#OGS.Kyɞ r\tb|О_u`[{1 5,K󁙚c1L}Xsyn.Hٙ<4}DeWQxXKYK|(:IQZ⽴5vyy'(QVήM%rVEhC?zJ{p0y_Nm1  J^ V8 kCS5Y%OBf1<Q;ૹ֓娊LeYgܟl)" @я~+ __Q(l<\B JQ1&Uūjp4y킣XRp0{wԋ=k!4eVm[a=yA&9#0Uw xxBӿc,$37}ݓꉜ,";G`xswTdvs|bj:5-"7g @"u9f 儑aړY c dJK[絮OʕN?pcu^˴H1 j`vQe78eCRO^2F`rʛ?9dEs9}D•;n+ -f]91ªI0Kx!%}aSbݒmPV)g>x| .tW9ZAj a]+:h  n XYH26=?CMv+v#8)U,Ob>(.Χ]ڨ1+bO&B^Ou行ҴLLTGhb?g$Ȕf s%Da`UgWzZ *\ J hCsȲYƔ'q_չ9jFJ]!QC |1~IAV.)؜^e.h,ܧcbTmNh<ĭ->UHnϑGhż3I\a_0ܼFR`c> 1AhLݗrD=xDraƎ⽚9!v+#t|U<`n0FR(]hwcpTsA,wL$E)b7@m#BKj I|>#AaM%fU7>&kMq EtN<*zဪ:M{̰\#oBSd KWV#cۏk<XOC,Pc?ƌg(#Մ4W~֭z>/MУV/;@KpmI NnËo2j |J^I\iWb#J,vPU̾W^:Tjf3C48#<~[lġ'm Re.}/f y.V$(""Dc$hЃBKIlϣ'\#lx=nW~IXq{Ve4DҍLMe RL dvB)\@2vs1a^)0 .)W,CO9vO뱫E`!Tm)$鍖ɳ !e(9FwRp([zl^+1DTCz]nİ,)#T lnĚxr Z-aL p`#^\9Z)L9qy_g0#g2%:Vp1~uQ+%kjPd'ȴAՎ53} nUlijh/=?.nSM٤*}"[y5T@ _~:`ty`WZ`Elh~bD::]]3yX=M ^  Kp!=^ϻEObɳV?5EtABfF))AJ{jX\!9rEv0F ]:NƔɔoZ=c c@p-F2c,k ܥ]~ #t3 s(pz֌$_C"+}{./5KMv4(jX{8l@- T7KV*reI$#V~vMGa{[zNbM`::,Յjst#Lv jn_ov/˷"Zrǚ0'_qU@O"p ˟uZ:Vup}VIy-޽6hϽU h#u{.'벩#dsA v`|ZC3h(78 4. *{~Pu΍ F Ƀ|tDž%YJwi -oB^u0߫:d.X/S?@ڎwB?eKɉmcGs.āYG(蚄V֋`kjﴁ P5ɪEt{'FB0’leO_SM7MnBд/L~Dk_ %.E#+[,꩓#=%1oc&x WqN 2hCu mgnQG%JfT ɗV[6;:t:֗x"o bؤsq9 R~]T*i/űݛr<LK5F((wm"1N4Έ\ʼnj&7Q+ 5Kg*; "E=QX" D#2qJ4]HdA""/f#d}?xM?z#b;z5 p\~POKuyyʎ.(+_32Bi1oq{@Zi;f]?&*QuI7tN 4\䦼|`LbXASOی5#Li|M>&`Ó^ΣMP6g<x4Q̣JQFn.#l=`E$5.}A0%w_)#cY FTS.Aި"ʦcE Uj(it# FDZ*TOGFN"!Zp1R<.R,s)T]LzCPdv$t|xc.T)tKk4X2]l֦-^(xTq+i5N2m iCy Jv ~qQw7GY *$C=ߪB1 p h8^ biQw Eֻn7ne('/2MZ Ux|@)(4qμsb(=><@6q190g0!G-FyIPۣU eȻ-e)~KV. J7̜0,At#8Iox=1asKaV&ߓĬXy+Mttp?޴WZm[&\Aqv:jCNfY6>;tQqZ݀Qv\E~jsGK.+CpСFֈOnx?۠>K͘0_RfkY[*$SinAJlЕ7+IWw3W7 M]w"WnnIۥ| xi7);?0mpņ!lۤ#ϿE!0 ksamL)C a3.4?(osUD j>VJ8cG.yohjrm%sN/5":7iO,>kሴqSIi[)ܠC"/EF73bZ!ڜohH*[ PN]u"Ď z܅u|5 x+Wm[?Uɦ[>>tۯPElzc{s[\yXbowP=T[>  I@EG ^+QX0F9YWdB*j^ Fd+SuWݨQml'/yZ G@ʼb\%mPW5 Rqf&m7x7;"&)<-LI(hKf~ MRȹsD"#cL*oĵȣt̫Oirbul`% KVy.1 Uuz+?:<ͯJ|]_ay2% 1D㏡'P#YɸbAlL7|Hvc?0޵{.t)޶3U(@!y3fYU|J􇝟\ibe-UeϺ^n9\D9+&zRӒN+e$=*uGG}'M?~ yrC"8=R$ftxsUG@ulV!9-RY?I-jg0Sһ3M[`5it:El5I|%5Q|R"0dJfZX3u+ThsvX+̴<ҕ&RK٠JwkfG~iN2\N /w\u (i!N$zcС$d[*Ui-$I컢rK=^k'̄_#ݩ-Ü/D[2ǐ3zJ }VNO!_gS<ˌ x K)BC)CD  ߚcL4nI6fX(PN|ް?gZ۟GQd6$E04K.aa8^GOkymC#%(7a?:4&E#̧fԏ PJYTG~DžՋ}Hţkcd5X/W*3>6@}*piLd.=%^TVRpCS^=/Y Y加`Z؎%MhlS k%E8 exr XkY3d= xvϳ18An[;D-6C3P}fNuLaxz+,"<li Z3w?:EJN@L# ʻx[v#zBf94U8?r1Ff镗buA`'@8; O ޲k Qg~ )2(՛ Srʤ!Zg|`@Ϩ2L )H~}g%l?LxR<ֹt ~z󑄑B#wffن°+V0Q^L䑼7ǜwf`~́RfcSp3ק";ZlŭW@X VlH$~og_Eq/X䐻S Rsyϐcy?z;W90 qƈg a4wΓYA&<2Jwr`b|YjBĜl#WfV^h_xͤ틻RAƞZLtgҎ:ɶzWT}iZpx09EFPgKOJ%tu#%n0%a`ǮV;7SKx+੣K>|nX w֝ķKړI@u$^K/_lbyp<ewdfkbZA^v85Y.|ޯQ}.A>8s}~`F<-Ϊͷ<F41J-ү6dSW^j'6 c3h/hE.@ HSB)ّ*xMp|sGlǶz ?wd>6,}Rl ԘDlH8ׯ3f{ @F!SʢT[Ԉg;^ϜXUtÔ͵{3n;$ـ ɖi35OײИWQiў )8 Q̮d`S&#le!Ti܁ztU[wC8~iRCU4Gpi*n OٍkVF&tقTu/w] y y)'L8*g^A茇VL}{U42E=8N _~f/4v}Q%/TI1 ?H#D$c~Dg]ݶǪ_7hh VGva\i0c Ŷ_w9LjsE4yCGJjۣSZ5 9д8F ST>WCvK=ENȜfB$F(F@4:H\U05¼kF?p)Q#_(NkD=r/ldt{eGI O4ܐ)u kya^t1ed}V:`3,,9L)M]r/TIn(;D,-qEgMOtQW<- ,LtI|}@$ Ȩb/Nd(Z T O5!o{2@oqtb2EܴMxiT_=7hn\H؊/jdU|M)m{bGP$y:P%f3 0<49)UΚ fh&/D|~~ZVT_W7;+0w;]N~MO ?ҖmXhBox%-'RxYBvFm-G$O2ľJCC8nnt~qfM4 3d4˰~vPh JZ\tu=\VgSMt$ _=RH Cԑb<}) G o*-x݄l.g=Lt,:De#ˤ7VHg+ r]c(U Bm粩ZN('VZ; ;S9Š#TCf5\qeAdIaD/6E qc=Ɇs?SN`(;hmʗ q;yc@cAl-sEXKr@!W-n$ggja#|j:8UUbCaVBbB97s4_gOlE￸R%HiI?YО kYsk߰Jܬ'mtzPJ l@1sfh۪%%:¢8Q 1GՉ8Du=4{` x K&Bt].!g{=u\i34$>Z" 韹\nn$rk|n plHwb5gmK}'i$V;Gv-)4к?љ XoUZsD~)f3q=Vs&>Ǐ@jXbV/Q.YB2˵..T:fFwGLDd4)M'{uD-LC^%_o@oKd i="%"̵̺eA_cAO@w F{¼Az`*ܜhGV&4PqRD%9TZ;3ydz"%ܪMb۫}VcHFĪJo3[EC34??'Rnn$. 25w!3ZVgȅNI9qn57jݣjgO+H.]=UN6FA?R߉l ~CARD',IFE? %s &06&ɱԂK) ?pԋ$8LM7Khk* dH3? ;۸mXVυSI2U7=i&QK`4LiXa`;`JEn|=M{WgYys/0lBsZ" :hT:VkS1:2B$p>S CR[%yÑSHw7S'RY˾ 8O} X= so\2U9bһRҺ=X >槣_G5&Z[[K:ܱv˰gNLtzrU!CWRgyzt#]r"d'ATX1i:-U:5QVà OUB`l;߳Jp,JWlufdw`:L` >{rQ4&zb={,]y\Em&3 6ěh *`lxObxtF6: c[X*U9͉EGgĂ!Fn!ހ`z:Lgޮ>tLFEgWh}5nptK,DkVJq4J>+ ٙAܪ7U(Ml*K|6#U<|it`#_prXL(E_)bq0nII:|a|M/ 9apI0lNDbHgҫ(epߌB[f2;\ (O'|{:S2T`錭m {n "z(,aSNUlX0"r<K/n@v7/ l G<6OLvm' 0(Sy{#馲%ɵb?໻׎ -mOR =% [ 58Pѻ?N;()| ?1V:4T]'j(w،HGSaVXw D @yeQɑ,ao)CDDw??ϼH]S^&T(5I<Z `_OOjX0$ {䘄po]NH |>Nh59ZVC8cՀer`d>B?R˾Îx7 sq[>dj\'A5p ʯPd _n9JWx(n*>~A o #Tm>rWt.}Y,*Ҋn,vei};U u䳅୭l`1#k3 1ckUq[ƌst aX伞AwpWQ3N@E 睱ڼS}K{1JYdKk8%9)O1遅fUbªX:鰎<<:vDAyݢ/7 JA otVHsVaXLƝIJ}fۘMMJ[NvK.1a#c26ewK\@ jj00<4FƠq?>%"Kd˜R&01b ғ˰.L*C2׀ I$96jB,MܵUA޵)GHDIjkdQ+3d;y3 Y꣢hE}luR2jݻ o)fq2҄3Il22ʅC?P -/DѪ ǔS_ڟ_V]*0h ۂ1Jܤ8dM"?F}p(e.A\W~05BpzA_Q_ƲPqHg l T@٬:k;"@oaA07hx VIFZ1Zs '-R kآHhm@pWe~#̣xBztd{9C ,qUMmUiYrR%Tgs(#BӉ VF\V5XAV=GS5jr<ޠ|~ qX$n@NX6mgEo-Ak"`E7X\g.Qjஓ0}7hN6ϺYDYꄯxlS|:CQ!0+b:3F>:(pFĺ7=m"k(_PaCg\ 0sP|=jiH庤'8!L1cUO N[EnP(DFOr aT?-F¹t1b3v(PQ;θnZo\xIIH3?)TytDiziH0k|$ >cT h3Fn;VԴy5?º)8HeY)n7CeC ,pgMFR"LMwa#W\$`l? UdVldj uulZch!)^UaG];#{`1@)<]1q_K`׀ BSl,h0;6[ˮ[ԢgεP@E`PH&#䚁̤إI-#L $.p>A$_r4avW@jB :کlʎūachpUݨ>yksVZʬŴ$т٬*4sYG/0EUjX8'h; .c8dM=ǕRnq7ْ Vb3z|Y<6# myMZrIc~=Cv_yy㜿To9ЇA[Wih lcd&ma^K벻 *_5 wfZ|ADB*mOԥ~_JyĜr&?Q)JsJd> ٢,/>G0LmISۣX0QMg6$ d`WJ~1*KK߅D߂1vz^YC_(Uuz!>&1=n)BV^O#;6F=Cץmlt?EFcahwkBƐzS]έX¶S!Vьz 2Μ~Mz5&P+ 2LJ/5(8SlWҧ6jL$A|3($u*>-KG-4k 7z|b2G;(t.![CyZ"fNl%)/7{0 y3GfPl߆%aQrz;nv_d㒾i~C C8ydl,M>yh'ōRƇK [Urާ@ApXTlQ15 fM=_XB*KجQ8M%/%fbhR*_}$+y8bQA).I3aP]?6chF2U9kށ:iBk뮡ym+b& Tq47[L┮Ĉ|q)% ,xY^ 3 &pLs"/hĞCfIOR_OxYhɀlсXzw6+ޟe0 8MHWIx mW<0r.Sjc fo+pOS JTl]Oʟ(.sP`}[Hhg--OtV%YeM]guXZc~VQ@о[O8DF_C3Q ڷߗ@aSE$z" \0HHEXdhxgխqEoN2bIIj2P )3QK#K vks: N'ev, }/bWOYIs(%Yml:#{vpt)jcᣘg8 P 5Lܕ<泪*e4;N:LKT#'Y6LX/p5]k/ z-5~0a:=k_KS[ԯgtcx_JZ,}[hXSpeP *Efg<0vRSUҀ(rR=$,pe"蘰Aݙ6hJrXn,`; ]{҆˪5Z?JP0䜃u}8 W{apVOF EQ=wI3ن"R_ygP}d"{ԋk9,cj3 k v~z j:ѱ:Zb< `[iSyUvE\LFsș4L  ~-h5n-5Xm++ْk>K2n){2SjW9jIь6Z!3e;5^d%JUhALRI/97IYqla/~sdFq|9ˎتrtQkV3 jʬ{Sm|`9g?\siϴU4C5pT}U,N>D/}] 2,pх@>Kx*yM3NŞq^dBh6G4es( rhc&9F$lI ɖqǀ~s x,Brikl b><|(RQx\њE$&Pv~F#Ӭ_wK@6W21ޑ[*eBJoPV;%\ 9%ps,Ę YD+Mzj|@WiT&;Eepx?^c.cg/N/(K\zAUY L㫊V{Qh>EITMN/Ϊtxw?gUh3'A0=e4) &Y%N"84gCXo.G~7\Y|)?N5X?O*]CWmsNz\(~4Kusv~Jz[ j|;`ߖ,+󩥂؋U pXѼ6Z.J xj+M+{~p>@.}ICO-s̩ǘ:r}>LʻG Co`j^аA-^Ĭઋ®buIj9p5г'uftdP5Iok>B@dÃ8S?ף昔̧rZc/H=.f=tc48 Rzڿ^y|IDW.X/C]iTl%Xe(EF|t΄y@יBT$UTJ^*fP+ SoGWVȖ?u,vm~Y۬FWI O#he+fOY!ا$UU tVteYJ? G,pdԠ#Rg`nazZݛ$r(B!yD$ V;WQ(sZ-$ke pmNۡ;#_DdzE]DX*gk;S8Rؿ.=$`{CY8ϛ2_ +YXhG]| b *D*keb\T8Yk w LPwזxK$l/<< tTͮ&DUޝB._6 *DK:)V"wGͫ,.<f|꒚j\ $ ~4\;)'`Pla* !Ņf3gq>qgtWp9vDS|M^ną)C^}eݤ7oӎ'$b61lN]!KQ $mȔ$j%dTg 5G,~O!p׶AOӸS~F߄?7G+lGRQ )l8^]oqG9({@^myu *vܝM3kG! 3ŕQ],%>o: ź|r0! |[;FpȖ'orܟrlnfۃ@A,h˽XA>jQ;0ϭeI)AM,JCj/τ9rLkknI܉' |^bf?\~>#͝q{ǛyߡJR6"*0mO`4ZuΨ yѠީMN/}F}X3\)E6N+?D/ʦ־' oٜٛ=;߆Zܻ4c٧V /`~=O ;3|Þ^-ȸSs{UA#-MoX$6iʫ9rR%$^&/[XJ܌pVUjxw;c)j1tB{XXfQK$ǁ|MJ-D)F[ulÐI$Y*B5^`H;WTT9:J%c"C8~5TֱZ`Id=L s8 [A`4vDA]|񛍖r{@ ;ɇ"2*Rו|@'8SU}uC)#l< e4Qєq5Oeltp >0ΛA)>bk1~J:˙E+!R_`l\]ȁ [V)KW5MI &Ո,bwH)Tȁ"FtaIg9,i4k[BJc/%@BpxTu Xw0QJ1WY5D+tMgL֏Gos`>*QSbx@ƿ3{L# 86\_hqa/8/VG֮~܀^h0^3,">qС@ĒތH7~F϶ YZ