§
    ½Ë”j»i  ã                   ó^  — d Z ddlZddlZddlmZ ddlZddlZddlm	Z	 ddl
mZmZ  ej        e¦  «        Zej        Zej        Z	 ddlmZmZ eZeZeZn.# e$ r&Z	 ddlZ ed¦  «        e‚# e$ r Y nw xY wY dZ[ndZ[ww xY wdZdZ 	 ddl!m"Z  ddl#m$Z e j%        Z&e j        Z'e j        Z(n# e$ r Y nw xY w	 ddl)Z)e)j*        dk     r ed	¦  «        ‚n# e$ r Y nw xY w	 ddl+Z+e+j,        Z-e+j.        Z/e+j0        Z1n# e$ r Y nw xY w	 ddl2Z3e3j4        j5        j6        Z7n# e$ r Y nw xY w	 ddl8Z3e3j9        j:        j6        Z;n# e$ r Y nw xY w	 ddl<Z=e=j        j>        j?        Z@n# e$ r Y nw xY w	 ddlAZAeAjB        jC        ZDeAjE        jF        ZGeAjH        jC        ZIeAjJ        jF        ZKeAjL        jC        ZMeAjL        jF        ZNn# e$ r Y nw xY w	 ddlOZOeOjP        jC        ZQeOjR        jF        ZSn# e$ r Y nw xY w	 ddlTZUeUjV        jA        jW        jC        ZXeUjV        jA        jY        jF        ZZn# e$ r Y nw xY w	 ddl[Z[e[jB        jC        Z\e[jE        jF        Z]e[jH        jC        Z^e[jJ        jF        Z_e[jL        jC        Z`e[jL        jF        Zan# e$ r Y nw xY w G d
„ d¦  «        Zb G d„ d¦  «        Zcd„ Zdeje        d„ ¦   «         ZfdS )z#Utilities for patching in cassettesé    N)Úmocké   )ÚVCRHTTPConnectionÚVCRHTTPSConnection)ÚAWSHTTPConnectionÚAWSHTTPSConnectionzcvcrpy >=4.2.2 and botocore <1.11.0 are not compatible; please upgrade botocore (or downgrade vcrpy)i zcvcrpy >=4.2.2 and requests <2.16.2 are not compatible; please upgrade requests (or downgrade vcrpy)c                   óö   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ed	„ ¦   «         Zd
„ Zed„ ¦   «         Zd„ Zd„ Zd„ Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zd„ ZdS )ÚCassettePatcherBuilderc                 óF   ‡ — t          j        ‰ ¦  «        ˆ fd„¦   «         }|S )Nc                 óB   •— |                        ‰| g|¢R i |¤Ž¦  «        S ©N)Ú!_build_patchers_from_mock_triples)ÚselfÚargsÚkwargsÚfunctions      €ú7C:\Projects\DSCons\.venv\Lib\site-packages\vcr/patch.pyÚwrappedzSCassettePatcherBuilder._build_patchers_from_mock_triples_decorator.<locals>.wrappedŽ   s2   ø€ à×9Ò9¸(¸(À4Ð:YÈ$Ð:YÐ:YÐ:YÐRXÐ:YÐ:YÑZÔZÐZó    )Ú	functoolsÚwraps)r   r   s   ` r   Ú+_build_patchers_from_mock_triples_decoratorzBCassettePatcherBuilder._build_patchers_from_mock_triples_decorator�   s=   ø€ Ý	Œ˜Ñ	"Ô	"ð	[ð 	[ð 	[ð 	[ñ 
#Ô	"ð	[ð ˆr   c                 ó"   — || _         i | _        d S r   )Ú	_cassetteÚ_class_to_cassette_subclass)r   Úcassettes     r   Ú__init__zCassettePatcherBuilder.__init__”   s   € Ø!ˆŒØ+-ˆÔ(Ð(Ð(r   c                 óº  — t          j        |                      ¦   «         |                      ¦   «         |                      ¦   «         |                      ¦   «         |                      ¦   «         |                      ¦   «         |                      ¦   «         |  	                    ¦   «         |  
                    ¦   «         |                      | j        j        ¦  «        ¦
  «
        S r   )Ú	itertoolsÚchainÚ_httplibÚ	_requestsÚ_boto3Ú_urllib3Ú	_httplib2Ú_tornadoÚ_aiohttpÚ_httpxÚ_httpx2r   r   Úcustom_patches©r   s    r   ÚbuildzCassettePatcherBuilder.build˜   s“   € ÝŒØ�MŠM‰OŒOØ�NŠNÑÔØ�KŠK‰MŒMØ�MŠM‰OŒOØ�NŠNÑÔØ�MŠM‰OŒOØ�MŠM‰OŒOØ�KŠK‰MŒMØ�LŠL‰NŒNØ×2Ò2°4´>Ô3PÑQÔQñ
ô 
ð 	
r   c              #   ó4   K  — |D ]} | j         |Ž }|r|V — Œd S r   )Ú_build_patcher)r   Úmock_triplesr   Úpatchers       r   r   z8CassettePatcherBuilder._build_patchers_from_mock_triples¦   s@   è è € Ø ð 	ð 	ˆDØ)�dÔ)¨4Ð0ˆGØð Ø���øð	ð 	r   c                 óŽ   — t          ||¦  «        sd S t          j                             |||                      |¦  «        ¦  «        S r   )Úhasattrr   ÚpatchÚobjectÚ(_recursively_apply_get_cassette_subclass)r   ÚobjÚpatched_attributeÚreplacement_classs       r   r.   z%CassettePatcherBuilder._build_patcher¬   sL   € Ý�sÐ-Ñ.Ô.ð 	ØˆFåŒz× Ò ØØØ×9Ò9Ð:KÑLÔLñ
ô 
ð 	
r   c                 óæ   — t          |t          ¦  «        r6|                     ¦   «         D ]\  }}|                      |¦  «        }|||<   Œ |S t	          |d¦  «        r|                      |¦  «        }|S )a‰  One of the subtleties of this class is that it does not directly
        replace HTTPSConnection with `VCRRequestsHTTPSConnection`, but a
        subclass of the aforementioned class that has the `cassette`
        class attribute assigned to `self._cassette`. This behavior is
        necessary to properly support nested cassette contexts.

        This function exists to ensure that we use the same class
        object (reference) to patch everything that replaces
        VCRRequestHTTP[S]Connection, but that we can talk about
        patching them with the raw references instead, and without
        worrying about exactly where the subclass with the relevant
        value for `cassette` is first created.

        The function is recursive because it looks in to dictionaries
        and replaces class values at any depth with the subclass
        described in the previous paragraph.
        r   )Ú
isinstanceÚdictÚitemsr5   r2   Ú_get_cassette_subclass)r   Úreplacement_dict_or_objÚkeyÚreplacement_objs       r   r5   z?CassettePatcherBuilder._recursively_apply_get_cassette_subclass¶   sŽ   € õ$ Ð-­tÑ4Ô4ð 	+Ø(?×(EÒ(EÑ(GÔ(Gð ?ð ?Ñ$��_Ø"&×"OÒ"OÐP_Ñ"`Ô"`�Ø/>Ð'¨Ñ,Ð,Ø*Ð*ÝÐ*¨JÑ7Ô7ð 	[Ø&*×&AÒ&AÐBYÑ&ZÔ&ZÐ#Ø&Ð&r   c                 ó~   — |j         �|S || j        vr|                      |¦  «        }|| j        |<   | j        |         S r   )r   r   Ú_build_cassette_subclass)r   ÚklassÚsubclasss      r   r=   z-CassettePatcherBuilder._get_cassette_subclassÑ   sK   € ØŒ>Ð%ØˆLØ˜Ô8Ð8Ð8Ø×4Ò4°UÑ;Ô;ˆHØ6>ˆDÔ,¨UÑ3ØÔ/°Ô6Ð6r   c                 óž   — |f}t          |t          ¦  «        s|t          fz  }t          |j        › | j        j        › �|d| j        i¦  «        S )Nr   )Ú
issubclassr4   ÚtypeÚ__name__r   Ú_path)r   Ú
base_classÚbasess      r   rB   z/CassettePatcherBuilder._build_cassette_subclassÙ   sU   € Ø�ˆÝ˜*¥fÑ-Ô-ð 	Ø•f�YÑˆEÝ�zÔ*ÐB¨D¬NÔ,@ÐBÐBÀEÈJÐX\ÔXfÐKgÑhÔhÐhr   c              #   óN   K  — t           dt          fV — t           dt          fV — d S )NÚHTTPConnectionÚHTTPSConnection)Úhttplibr   r   r+   s    r   r!   zCassettePatcherBuilder._httplibß   s6   è è € åÐ'Õ):Ð:Ð:Ð:Ð:ÝÐ(Õ*<Ð<Ð<Ð<Ð<Ð<Ð<r   c                 óv   — 	 ddl m} n# t          $ r Y dS w xY w|                      t          t
          |¦  «        S )Nr   )Úrequests_stubs© )ÚstubsrQ   ÚImportErrorÚ_urllib3_patchersÚcpoolÚconn)r   rQ   s     r   r"   z CassettePatcherBuilder._requestsä   sV   € ð	Ø-Ð-Ð-Ð-Ð-Ð-Ð-øÝð 	ð 	ð 	Ø�2�2ð	øøøà×%Ò%¥e­T°>ÑBÔBÐBs   ‚	 ‰
–c              #   óÀ   K  — 	 dd l m} ddlm} t                               d|¦  «         |j        d|j        fV — |j        d|j	        fV — d S # t          $ r Y d S w xY w)Nr   r   )Úboto3_stubszPatching boto3 cpool with %sÚConnectionCls)Úbotocore.awsrequestÚ
awsrequestrS   rY   ÚlogÚdebugÚAWSHTTPConnectionPoolÚVCRRequestsHTTPConnectionÚAWSHTTPSConnectionPoolÚVCRRequestsHTTPSConnectionrT   )r   rV   rY   s      r   r#   zCassettePatcherBuilder._boto3ë   s£   è è € ð
	hà/Ð/Ð/Ð/Ð/Ð/ð +Ð*Ð*Ð*Ð*Ð*å�IŠIÐ4°eÑ<Ô<Ð<ØÔ-¨ÀÔ@eÐeÐeÐeÐeØÔ.°ÀÔAgÐgÐgÐgÐgÐgÐgøõ ð 	ð 	ð 	ØˆDˆDð	øøøs   „A Á
AÁAc                 óZ   ‡‡— |j         Št          j        ‰¦  «        dˆˆfd„	¦   «         }|S )Nc                 ó²   •—  ‰| |fi |¤Ž}t          | d¦  «        r| j        n	 ‰¦   «         }t          ||¦  «        s ‰| |fi |¤Ž}t          ||¦  «        ¯|S )NrZ   )r2   rZ   r:   )ÚpoolÚtimeoutr   Ú
connectionÚconnection_classÚconnection_class_getterÚget_conns        €€r   Úpatched_get_connzBCassettePatcherBuilder._patched_get_conn.<locals>.patched_get_connü   sŽ   ø€ à!˜ $¨Ð:Ð:°6Ð:Ð:ˆJå&-¨d°OÑ&DÔ&DÐc�Ô"Ð"ÐJaÐJaÑJcÔJcð õ ! Ð-=Ñ>Ô>ð ?Ø%˜X d¨GÐ>Ð>°vÐ>Ð>�
õ ! Ð-=Ñ>Ô>ð ?àÐr   r   )Ú	_get_connr   r   )r   Úconnection_pool_classri   rk   rj   s     ` @r   Ú_patched_get_connz(CassettePatcherBuilder._patched_get_connù   sL   øø€ Ø(Ô2ˆå	Œ˜Ñ	"Ô	"ð	ð 	ð 	ð 	ð 	ð 	ñ 
#Ô	"ð	ð  Ðr   c                 óX   ‡‡— |j         Št          j        ‰¦  «        ˆˆfd„¦   «         }|S )Nc                 óF   •—  ‰| fi |¤Ž}‰                      | |¦  «         |S r   )Úadd_connection_to_pool_entry)re   r   Únew_connectionÚconnection_removerÚnew_conns      €€r   Úpatched_new_connzBCassettePatcherBuilder._patched_new_conn.<locals>.patched_new_conn  s6   ø€ à%˜X dÐ5Ð5¨fÐ5Ð5ˆNØ×;Ò;¸DÀ.ÑQÔQÐQØ!Ð!r   )Ú	_new_connr   r   )r   rm   rs   ru   rt   s     ` @r   Ú_patched_new_connz(CassettePatcherBuilder._patched_new_conn  sG   øø€ Ø(Ô2ˆå	Œ˜Ñ	"Ô	"ð	"ð 	"ð 	"ð 	"ð 	"ñ 
#Ô	"ð	"ð
  Ðr   c                 óz   — 	 dd l m} dd lm} n# t          $ r Y dS w xY wddlm} |                      |||¦  «        S )Nr   rR   r   )Úurllib3_stubs)Úurllib3.connectionrg   Úurllib3.connectionpoolÚconnectionpoolrT   rS   ry   rU   )r   rW   rV   ry   s       r   r$   zCassettePatcherBuilder._urllib3  sz   € ð	Ø-Ð-Ð-Ð-Ð-Ð-Ø2Ð2Ð2Ð2Ð2Ð2Ð2øÝð 	ð 	ð 	Ø�2�2ð	øøøà(Ð(Ð(Ð(Ð(Ð(à×%Ò% e¨T°=ÑAÔAÐAs   ‚ �
œc              #   óv   K  — 	 dd l }ddlm}m} |d|fV — |d|fV — |d||dœfV — d S # t          $ r Y d S w xY w)Nr   r   )ÚVCRHTTPConnectionWithTimeoutÚVCRHTTPSConnectionWithTimeoutÚHTTPConnectionWithTimeoutÚHTTPSConnectionWithTimeoutÚSCHEME_TO_CONNECTION)ÚhttpÚhttps)Úhttplib2Ústubs.httplib2_stubsr~   r   rT   )r   rV   r~   r   s       r   r%   z CassettePatcherBuilder._httplib2#  s´   è è € ð	Ø$Ð$Ð$Ð$ð jÐiÐiÐiÐiÐiÐiÐiàÐ4Ð6RÐRÐRÐRÐRØÐ5Ð7TÐTÐTÐTÐTàØ&à8Ø:ðð ðð ð ð ð ð øõ ð 	ð 	ð 	ØˆDˆDð	øøøs   „* ª
8·8c              #   ó
  K  — 	 dd l m} ddlm}  || j        t
          ¦  «        }|j        d|fV — n# t          $ r Y nw xY w	 dd lm	} ddlm}  || j        t          ¦  «        }|j        d|fV — d S # t          $ r Y d S w xY w)Nr   r   )Úvcr_fetch_implÚ
fetch_impl)Útornado.simple_httpclientÚsimple_httpclientÚstubs.tornado_stubsrˆ   r   Ú!_SimpleAsyncHTTPClient_fetch_implÚSimpleAsyncHTTPClientrT   Útornado.curl_httpclientÚcurl_httpclientÚ_CurlAsyncHTTPClient_fetch_implÚCurlAsyncHTTPClient)r   Úsimplerˆ   Únew_fetch_implÚcurls        r   r&   zCassettePatcherBuilder._tornado7  s  è è € ð	MØ6Ð6Ð6Ð6Ð6Ð6ð <Ð;Ð;Ð;Ð;Ð;à+˜^¨D¬NÕ<]Ñ^Ô^ˆNØÔ.°¸nÐLÐLÐLÐLÐLøõ ð 	ð 	ð 	ØˆDð	øøøð	IØ2Ð2Ð2Ð2Ð2Ð2ð <Ð;Ð;Ð;Ð;Ð;à+˜^¨D¬NÕ<[Ñ\Ô\ˆNØÔ*¨L¸.ÐHÐHÐHÐHÐHÐHøõ ð 	ð 	ð 	ØˆDˆDð	øøøs    „3 ³
A ¿A ÁA4 Á4
BÂBc              #   óŠ   K  — 	 dd l m} ddlm}  || j        t
          ¦  «        }|j        d|fV — d S # t          $ r Y d S w xY w)Nr   r   )Úvcr_requestÚ_request)Úaiohttp.clientÚclientÚstubs.aiohttp_stubsr—   r   Ú_AiohttpClientSessionRequestÚClientSessionrT   )r   rš   r—   Únew_requests       r   r'   zCassettePatcherBuilder._aiohttpL  s†   è è € ð	@Ø+Ð+Ð+Ð+Ð+Ð+ð 9Ð8Ð8Ð8Ð8Ð8à%˜+ d¤nÕ6RÑSÔSˆKØÔ&¨
°KÐ?Ð?Ð?Ð?Ð?Ð?øõ ð 	ð 	ð 	ØˆDˆDð	øøøs   „4 ´
AÁAc              #   ó¢  K  — 	 dd l }ddlm}m}  || j        t
          |¦  «        }|j        d|fV —  || j        t          |¦  «        }|j        d|fV —  || j        t          |¦  «        }|j
        d|fV —  || j        t          |¦  «        }|j        d|fV —  || j        t          |¦  «        }|j        d|fV —  || j        t          |¦  «        }|j        d|fV — n# t           $ r Y nw xY w	 dd l}ddlm}m}  || j        t$          |¦  «        }|j        d|fV —  || j        t(          |¦  «        }|j        d|fV — n# t           $ r Y nw xY w	 dd l}ddlm}m}  || j        t.          |¦  «        }|j        j         j        d|fV —  || j        t4          |¦  «        }|j        j         j        d|fV — d S # t           $ r Y d S w xY w©Nr   r   )Úvcr_handle_async_requestÚvcr_handle_requestÚhandle_requestÚhandle_async_request)ÚhttpxÚstubs.httpx_stubsr¡   r¢   r   Ú"_HttpxHttpTransport_handle_requestÚHTTPTransportÚ-_HttpxAsyncHttpTransport_handle_async_requestÚAsyncHTTPTransportÚ"_HttpxWsgiTransport_handle_requestÚWSGITransportÚ(_HttpxAsgiTransport_handle_async_requestÚASGITransportÚ"_HttpxMockTransport_handle_requestÚMockTransportÚ(_HttpxMockTransport_handle_async_requestrT   Úhttpx_curl_cffiÚ"_HttpxCurlTransport_handle_requestÚCurlTransportÚ-_HttpxAsyncCurlTransport_handle_async_requestÚAsyncCurlTransportÚpyreqwest.compatibility.httpxÚ+_HttpxSyncPyreqwestTransport_handle_requestÚcompatibilityÚSyncHttpxTransportÚ-_HttpxPyreqwestTransport_handle_async_requestÚHttpxTransport)r   r¥   r¡   r¢   Únew_handle_requestÚnew_handle_async_requestr²   Ú	pyreqwests           r   r(   zCassettePatcherBuilder._httpxX  s+  è è € ð#	XØˆLˆLˆLð XÐWÐWÐWÐWÐWÐWÐWà!3Ð!3°D´NÕDfÐhmÑ!nÔ!nÐØÔ%Ð'7Ð9KÐKÐKÐKÐKà'?Ð'?Ø”Ý=Øñ(ô (Ð$ð
 Ô*Ð,BÐD\Ð\Ð\Ð\Ð\à!3Ð!3°D´NÕDfÐhmÑ!nÔ!nÐØÔ%Ð'7Ð9KÐKÐKÐKÐKà'?Ð'?Ø”Ý8Øñ(ô (Ð$ð
 Ô%Ð'=Ð?WÐWÐWÐWÐWà!3Ð!3°D´NÕDfÐhmÑ!nÔ!nÐØÔ%Ð'7Ð9KÐKÐKÐKÐKà'?Ð'?Ø”Ý8Øñ(ô (Ð$ð
 Ô%Ð'=Ð?WÐWÐWÐWÐWÐWøõC ð 	ð 	ð 	ØˆDð	øøøðF	gØ"Ð"Ð"Ð"ð XÐWÐWÐWÐWÐWÐWÐWà!3Ð!3°D´NÕDfÐhmÑ!nÔ!nÐØ!Ô/Ð1AÐCUÐUÐUÐUÐUà'?Ð'?Ø”Ý=Øñ(ô (Ð$ð
 "Ô4Ð6LÐNfÐfÐfÐfÐfÐføõ ð 	ð 	ð 	ØˆDð	øøøð	Ø0Ð0Ð0Ð0ð XÐWÐWÐWÐWÐWÐWÐWà!3Ð!3Ø”Ý;Øñ"ô "Ðð
 Ô)Ô/ÔBÐDTÐVhÐhÐhÐhÐhà'?Ð'?Ø”Ý=Øñ(ô (Ð$ð Ô'Ô-Ô<Ø&Ø(ðð ð ð ð ð øõ# ð 	ð 	ð 	ØˆDˆDð	øøøs5   „C# Ã#
C0Ã/C0Ã4E Å
EÅEÅG  Ç 
GÇGc              #   óê  K  — 	 dd l }ddlm}m}  || j        t
          |¦  «        }|j        d|fV —  || j        t          |¦  «        }|j        d|fV —  || j        t          |¦  «        }|j
        d|fV —  || j        t          |¦  «        }|j        d|fV —  || j        t          |¦  «        }|j        d|fV —  || j        t          |¦  «        }|j        d|fV — d S # t           $ r Y d S w xY wr    )Úhttpx2r¦   r¡   r¢   r   Ú#_Httpx2HttpTransport_handle_requestr¨   Ú._Httpx2AsyncHttpTransport_handle_async_requestrª   Ú#_Httpx2WsgiTransport_handle_requestr¬   Ú)_Httpx2AsgiTransport_handle_async_requestr®   Ú#_Httpx2MockTransport_handle_requestr°   Ú)_Httpx2MockTransport_handle_async_requestrT   )r   rÁ   r¡   r¢   r½   r¾   s         r   r)   zCassettePatcherBuilder._httpx2©  s«  è è € ð/	YØˆMˆMˆMð XÐWÐWÐWÐWÐWÐWÐWà!3Ð!3Ø”Ý3Øñ"ô "Ðð
 Ô&Ð(8Ð:LÐLÐLÐLÐLà'?Ð'?Ø”Ý>Øñ(ô (Ð$ð
 Ô+Ð-CÐE]Ð]Ð]Ð]Ð]à!3Ð!3Ø”Ý3Øñ"ô "Ðð
 Ô&Ð(8Ð:LÐLÐLÐLÐLà'?Ð'?Ø”Ý9Øñ(ô (Ð$ð
 Ô&Ð(>Ð@XÐXÐXÐXÐXà!3Ð!3Ø”Ý3Øñ"ô "Ðð
 Ô&Ð(8Ð:LÐLÐLÐLÐLà'?Ð'?Ø”Ý9Øñ(ô (Ð$ð
 Ô&Ð(>Ð@XÐXÐXÐXÐXÐXÐXøõ[ ð 	ð 	ð 	ØˆDˆDð	øøøs   „C$ Ã$
C2Ã1C2c           
      ó®  ‡‡— t          |                      |j        ¦  «        ¦  «        }t          |                      |j        ¦  «        ¦  «        }‰j        Šˆfd„}|d|j        f|d|j        f|d|j        f‰d|f‰j        d|j        f‰j        d|j        ff}|‰j        d|                      ‰j        ˆfd„¦  «        f‰j        d|                      ‰j        ˆfd	„¦  «        f‰j        d
|                      ‰j        |¦  «        f‰j        d
|                      ‰j        |¦  «        ffz  }t          j
        |                      |¦  «        ||f¦  «        S )Nc                 ó|   •— t          | dd ¦  «        }|€ ‰| ¦  «        S t          |dd ¦  «        €dS  ‰|¦  «        S )NÚreal_connectionÚsockF)Úgetattr)rg   rÊ   Úreal_is_connection_droppeds     €r   Úis_connection_droppedzGCassettePatcherBuilder._urllib3_patchers.<locals>.is_connection_droppedæ  sV   ø€ õ & jÐ2CÀTÑJÔJˆOØÐ&Ø1Ð1°*Ñ=Ô=Ð=Ý�¨°Ñ5Ô5Ð=Ø�uØ-Ð-¨oÑ>Ô>Ð>r   ÚVerifiedHTTPSConnectionrM   rN   rÎ   rZ   rl   c                  ó   •— ‰ j         S r   )rM   ©rV   s   €r   ú<lambda>z:CassettePatcherBuilder._urllib3_patchers.<locals>.<lambda>  s
   ø€ ÈÔI]€ r   c                  ó   •— ‰ j         S r   )rN   rÑ   s   €r   rÒ   z:CassettePatcherBuilder._urllib3_patchers.<locals>.<lambda>	  s
   ø€ È%ÔJ_€ r   rv   )ÚConnectionRemoverr=   r`   rb   rÎ   ÚHTTPConnectionPoolÚHTTPSConnectionPoolrn   rw   r   r    r   )	r   rV   rW   rS   Úhttp_connection_removerÚhttps_connection_removerrÎ   r/   rÍ   s	    `      @r   rU   z(CassettePatcherBuilder._urllib3_patchersÜ  s¾  øø€ Ý"3Ø×'Ò'¨Ô(GÑHÔHñ#
ô #
Ðõ $5Ø×'Ò'¨Ô(HÑIÔIñ$
ô $
Ð ð &+Ô%@Ð"ð	?ð 	?ð 	?ð 	?ð 	?ð" Ð,¨eÔ.NÐOØÐ# UÔ%DÐEØÐ$ eÔ&FÐGØÐ+Ð-BÐCØÔ% ¸Ô8WÐXØÔ&¨¸Ô9YÐZð
ˆð 	àÔ(ØØ×&Ò& uÔ'?ÐA]ÐA]ÐA]ÐA]Ñ^Ô^ðð Ô)ØØ×&Ò& uÔ'@ÐB_ÐB_ÐB_ÐB_Ñ`Ô`ðð Ô(ØØ×&Ò& uÔ'?ÐAXÑYÔYðð Ô)ØØ×&Ò& uÔ'@ÐBZÑ[Ô[ðð!
ñ 	
ˆõ. ŒØ×2Ò2°<Ñ@Ô@Ø$Ð&>Ð?ñ
ô 
ð 	
r   N)rH   Ú
__module__Ú__qualname__r   r   r,   r   r.   r5   r=   rB   r!   r"   r#   rn   rw   r$   r%   r&   r'   r(   r)   rU   rR   r   r   r
   r
   Œ   sµ  € € € € € ðð ð ð.ð .ð .ð
ð 
ð 
ðð ð ð
ð 
ð 
ð'ð 'ð 'ð67ð 7ð 7ðið ið ið 1ð=ð =ñ 1Ô0ð=ðCð Cð Cð 1ðhð hñ 1Ô0ðhð ð  ð  ð*	 ð 	 ð 	 ðBð Bð Bð 1ðð ñ 1Ô0ðð& 1ðIð Iñ 1Ô0ðIð( 1ð	@ð 	@ñ 1Ô0ð	@ð 1ðNð Nñ 1Ô0ðNð` 1ð0Yð 0Yñ 1Ô0ð0Yðd>
ð >
ð >
ð >
ð >
r   r
   c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )rÔ   c                 ó"   — || _         i | _        d S r   )Ú_connection_classÚ_connection_pool_to_connections)r   rh   s     r   r   zConnectionRemover.__init__  s   € Ø!1ˆÔØ/1ˆÔ,Ð,Ð,r   c                 ó¨   — t          || j        ¦  «        r<| j                             |t	          ¦   «         ¦  «                             |¦  «         d S d S r   )r:   rÝ   rÞ   Ú
setdefaultÚsetÚadd)r   re   rg   s      r   rq   z.ConnectionRemover.add_connection_to_pool_entry"  sU   € Ý�j $Ô"8Ñ9Ô9ð 	YØÔ0×;Ò;¸DÅ#Á%Ä%ÑHÔH×LÒLÈZÑXÔXÐXÐXÐXð	Yð 	Yr   c                 ó   — | S r   rR   r+   s    r   Ú	__enter__zConnectionRemover.__enter__&  s   € Øˆr   c                 ó  — | j                              ¦   «         D ]ë\  }}g }|j        rª|j                             ¦   «         r‘|r�|j                             ¦   «         }t          || j        ¦  «        r*|                     |¦  «         |                     ¦   «          n| 	                    |¦  «         |j        r|j                             ¦   «         r|°�|D ]}| 
                    |¦  «         Œ|D ]}|                     ¦   «          ŒŒìd S r   )rÞ   r<   re   ÚqsizeÚgetr:   rÝ   ÚremoveÚcloseÚappendÚ	_put_conn)r   r   re   ÚconnectionsÚreadd_connectionsrg   s         r   Ú__exit__zConnectionRemover.__exit__)  s/  € Ø!%Ô!E×!KÒ!KÑ!MÔ!Mð 	#ð 	#ÑˆD�+Ø "ÐØ”)ð 9 ¤	§¢Ñ 1Ô 1ð 9°kð 9Ø!œYŸ]š]™_œ_�
Ý˜j¨$Ô*@ÑAÔAð 9Ø×&Ò& zÑ2Ô2Ð2Ø×$Ò$Ñ&Ô&Ð&Ð&à%×,Ò,¨ZÑ8Ô8Ð8ð ”)ð 9 ¤	§¢Ñ 1Ô 1ð 9°kð 9ð 0ð +ð +�
Ø—’˜zÑ*Ô*Ð*Ð*Ø)ð #ð #�
Ø× Ò Ñ"Ô"Ð"Ð"ð#ð	#ð 	#r   N)rH   rÙ   rÚ   r   rq   rä   rî   rR   r   r   rÔ   rÔ     sS   € € € € € ð2ð 2ð 2ðYð Yð Yðð ð ð#ð #ð #ð #ð #r   rÔ   c               #   óæ  K  — t           j                             t          dt          ¦  «        V — t           j                             t          dt
          ¦  «        V — 	 dd lm}  dd lm	} t           j                             | dt          ¦  «        V — t           j                             | dt          ¦  «        V — t           j                             | dt          ¦  «        V — t          |j        d¦  «        rZt           j                             |j        dt          ¦  «        V — t           j                             |j        dt          ¦  «        V — n# t           $ r Y nw xY w	 dd lm} t          |j        d¦  «        rZt           j                             |j        dt(          ¦  «        V — t           j                             |j        dt,          ¦  «        V — t          |d¦  «        r(t           j                             |dt,          ¦  «        V — n# t           $ r Y nw xY w	 dd l}t           j                             |dt0          ¦  «        V — t           j                             |dt2          ¦  «        V — t           j                             |d	t4          ¦  «        V — n# t           $ r Y nw xY w	 dd lm} t           j                             |j        d
t<          ¦  «        V — n# t           $ r Y nw xY w	 dd lm } t           j                             |j!        d
tD          ¦  «        V — n# t           $ r Y nw xY w	 dd l#}t           j                             |j$        dtJ          ¦  «        V — t           j                             |j&        dtN          ¦  «        V — t           j                             |j(        dtR          ¦  «        V — t           j                             |j*        dtV          ¦  «        V — t           j                             |j,        dtZ          ¦  «        V — t           j                             |j,        dt\          ¦  «        V — n# t           $ r Y nw xY w	 dd l/}t           j                             |j0        dtb          ¦  «        V — t           j                             |j2        dtf          ¦  «        V — n# t           $ r Y nw xY w	 dd l4}t           j                             |j$        dtj          ¦  «        V — t           j                             |j&        dtl          ¦  «        V — t           j                             |j(        dtn          ¦  «        V — t           j                             |j*        dtp          ¦  «        V — t           j                             |j,        dtr          ¦  «        V — t           j                             |j,        dtt          ¦  «        V — d S # t           $ r Y d S w xY w)NrM   rN   r   rÏ   rZ   r   r€   r�   r‚   r‰   r£   r¤   );r   r3   r4   rO   Ú_HTTPConnectionÚ_HTTPSConnectionrz   rg   r{   r|   Ú_VerifiedHTTPSConnectionÚ_connHTTPConnectionÚ_connHTTPSConnectionr2   rÕ   rÖ   rT   r[   r\   r_   Ú_cpoolBoto3HTTPConnectionra   Ú_cpoolBoto3HTTPSConnectionr…   Ú_HTTPConnectionWithTimeoutÚ_HTTPSConnectionWithTimeoutÚ_SCHEME_TO_CONNECTIONrŠ   r‹   rŽ   r�   r�   r�   r’   r‘   r¥   r¨   r§   rª   r©   r¬   r«   r®   r­   r°   r¯   r±   r²   r´   r³   r¶   rµ   rÁ   rÂ   rÃ   rÄ   rÅ   rÆ   rÇ   )rW   rV   r“   r•   r¥   r²   rÁ   s          r   Úreset_patchersrú   9  sø  è è € Ý
Œ*×
Ò
�GÐ%5µÑ
GÔ
GÐGÐGÐGÝ
Œ*×
Ò
�GÐ%6Õ8HÑ
IÔ
IÐIÐIÐIðfØ)Ð)Ð)Ð)Ð)Ð)Ø.Ð.Ð.Ð.Ð.Ð.õ Œj×Ò Ð&?ÕAYÑZÔZÐZÐZÐZÝŒj×Ò Ð&6Õ8KÑLÔLÐLÐLÐLÝŒj×Ò Ð&7Õ9MÑNÔNÐNÐNÐNÝ�5Ô+¨_Ñ=Ô=ð 	fÝ”*×#Ò# EÔ$<¸oÕObÑcÔcÐcÐcÐcÝ”*×#Ò# EÔ$=¸ÕPdÑeÔeÐeÐeÐeøøõ ð ð ð Øˆðøøøð]à+Ð+Ð+Ð+Ð+Ð+õ �5Ô.°Ñ@Ô@ð 	oÝ”*×#Ò# EÔ$?ÀÕRkÑlÔlÐlÐlÐlÝ”*×#Ò# EÔ$@À/ÕSmÑnÔnÐnÐnÐnå�5Ð.Ñ/Ô/ð 	]Ý”*×#Ò# EÐ+?ÕA[Ñ\Ô\Ð\Ð\Ð\øøõ ð ð ð ØˆðøøøðVØ Ð Ð Ð õ Œj×Ò Ð'BÕD^Ñ_Ô_Ð_Ð_Ð_ÝŒj×Ò Ð'CÕE`ÑaÔaÐaÐaÐaÝŒj×Ò Ð'=Õ?TÑUÔUÐUÐUÐUÐUøõ ð ð ð ØˆðøøøðoØ2Ð2Ð2Ð2Ð2Ð2õ Œj×Ò Ô <¸lÕLmÑnÔnÐnÐnÐnÐnøõ ð ð ð ØˆðøøøðiØ.Ð.Ð.Ð.Ð.Ð.õ Œj×Ò Ô 8¸,ÕHgÑhÔhÐhÐhÐhÐhøõ ð ð ð Øˆðøøøð
"
Øˆˆˆõ Œj×ÒØÔØÝ.ñ
ô 
ð 	
ð 	
ð 	
õ
 Œj×ÒØÔ$Ø"Ý9ñ
ô 
ð 	
ð 	
ð 	
õ
 Œj×ÒØÔØÝ.ñ
ô 
ð 	
ð 	
ð 	
õ
 Œj×ÒØÔØ"Ý4ñ
ô 
ð 	
ð 	
ð 	
õ
 Œj×ÒØÔØÝ.ñ
ô 
ð 	
ð 	
ð 	
õ
 Œj×ÒØÔØ"Ý4ñ
ô 
ð 	
ð 	
ð 	
ð 	
øõ9 ð ð ð ØˆðøøøðD
ØÐÐÐõ Œj×ÒØÔ)ØÝ.ñ
ô 
ð 	
ð 	
ð 	
õ
 Œj×ÒØÔ.Ø"Ý9ñ
ô 
ð 	
ð 	
ð 	
ð 	
øõ ð ð ð Øˆðøøøð"
Øˆˆˆõ Œj×ÒØÔ ØÝ/ñ
ô 
ð 	
ð 	
ð 	
õ
 Œj×ÒØÔ%Ø"Ý:ñ
ô 
ð 	
ð 	
ð 	
õ
 Œj×ÒØÔ ØÝ/ñ
ô 
ð 	
ð 	
ð 	
õ
 Œj×ÒØÔ Ø"Ý5ñ
ô 
ð 	
ð 	
ð 	
õ
 Œj×ÒØÔ ØÝ/ñ
ô 
ð 	
ð 	
ð 	
õ
 Œj×ÒØÔ Ø"Ý5ñ
ô 
ð 	
ð 	
ð 	
ð 	
ð 	
øõ9 ð ð ð Øˆˆðøøøs�   ÁE Å
EÅEÅ#H È
HÈHÈ"J Ê
J,Ê+J,Ê0K$ Ë$
K1Ë0K1Ë5L) Ì)
L6Ì5L6Ì:Q Ñ
QÑQÑR= Ò=
S
Ó	S
ÓW" ×"
W0×/W0c               #   ó¶   K  — t          j        ¦   «         5 } t          ¦   «         D ]}|                      |¦  «         Œd V — d d d ¦  «         d S # 1 swxY w Y   d S r   )Ú
contextlibÚ	ExitStackrú   Úenter_context)Ú
exit_stackr0   s     r   Úforce_resetr   Æ  s«   è è € å	Ô	Ñ	Ô	ð  :Ý%Ñ'Ô'ð 	.ð 	.ˆGØ×$Ò$ WÑ-Ô-Ð-Ð-Øˆˆˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   –+AÁAÁA)gÚ__doc__rü   r   Úhttp.clientrš   rO   r   ÚloggingÚunittestr   rS   r   r   Ú	getLoggerrH   r]   rM   rð   rN   rñ   r[   r   r   Ú_Boto3VerifiedHTTPSConnectionrõ   rö   rT   ÚeÚbotocore.vendored.requestsÚbotocoreÚRuntimeErrorrV   rW   rz   rg   r{   r|   rÏ   rò   ró   rô   ÚrequestsÚ	__build__r…   r€   r÷   r�   rø   r‚   rù   rŠ   Útornador‹   rŽ   r‰   r�   r�   r�   r’   r‘   r™   Úaiohttpr�   r˜   rœ   r¥   r¨   r£   r§   rª   r¤   r©   r¬   r«   r®   r­   r°   r¯   r±   r²   r´   r³   r¶   rµ   r·   r¿   r¹   rº   r¸   r¼   r»   rÁ   rÂ   rÃ   rÄ   rÅ   rÆ   rÇ   r
   rÔ   rú   Úcontextmanagerr   rR   r   r   ú<module>r     sŠ  ðØ )Ð )à Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð à 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8Ð 8à€gÔ˜Ñ!Ô!€àÔ(€ØÔ*Ð ð4ØIÐIÐIÐIÐIÐIÐIÐIð %7Ð!Ø 1ÐØ!3ÐÐøð ð 	ð 	ð 	ðØ)Ð)Ð)Ð)ð ˆlð=ñ
ô 
ð ð	øð ð ð ð ØˆðøøøØˆˆˆˆøøøøð		øøøð 	€Ø€ð0Ø%Ð%Ð%Ð%Ð%Ð%Ø*Ð*Ð*Ð*Ð*Ð*ð  $Ô;ÐØÔ-ÐØÔ/ÐÐøð ð 	ð 	ð 	Ø€Dð	øøøð	
Ø€O€O€Oð Ô˜HÒ$Ð$Øˆlð=ñ
ô 
ð 	
ð %øð ð 	ð 	ð 	Ø€Dð	øøøð:Ø€O€O€Oð "*Ô!CÐØ"*Ô"EÐØ$Ô9ÐÐøð ð 	ð 	ð 	Ø€Dð	øøøðcØ$Ð$Ð$Ð$ð )0Ô(AÔ(WÔ(bÐ%Ð%øð ð 	ð 	ð 	Ø€Dð	øøøð
]Ø"Ð"Ð"Ð"ð '.Ô&=Ô&QÔ&\Ð#Ð#øð ð 	ð 	ð 	Ø€Dð	øøøð
IØÐÐÐð $+¤>Ô#?Ô#HÐ Ð øð ð 	ð 	ð 	Ø€Dð	øøøð
XØ€L€L€Lð */Ô)<Ô)KÐ&Ø49Ô4LÔ4aÐ1Ø).Ô)<Ô)KÐ&Ø/4Ô/BÔ/WÐ,Ø).Ô)<Ô)KÐ&Ø/4Ô/BÔ/WÐ,Ð,øð ð 	ð 	ð 	Ø€Dð	øøøðlØÐÐÐð *9Ô)FÔ)UÐ&Ø4CÔ4VÔ4kÐ1Ð1øð	 ð 	ð 	ð 	Ø€Dð	øøøð
Ø(Ð(Ð(Ð(ð
 	ÔÔ%Ô8ÔGð 0ð 	ÔÔ%Ô4ÔIð 2Ð1øð ð 	ð 	ð 	Ø€Dð	øøøð
ZØ€M€M€Mð +1Ô*>Ô*MÐ'Ø5;Ô5NÔ5cÐ2Ø*0Ô*>Ô*MÐ'Ø06Ô0DÔ0YÐ-Ø*0Ô*>Ô*MÐ'Ø06Ô0DÔ0YÐ-Ð-øð ð 	ð 	ð 	Ø€Dð	øøøðN
ð N
ð N
ð N
ð N
ñ N
ô N
ð N
ðb#ð #ð #ð #ð #ñ #ô #ð #ð8J
ð J
ð J
ðZ Ôðð ñ Ôðð ð sê   ÁA ÁB ÁA+ÁA;Á+A3Á0A;Á2A3Á3A;Á;B ÂB* Â*B2Â1B2Â6C ÃCÃCÃC7 Ã7C?Ã>C?ÄD ÄD!Ä D!Ä%D; Ä;EÅEÅE ÅE%Å$E%Å)F6 Æ6F>Æ=F>ÇG ÇG'Ç&G'Ç+H ÈH$È#H$È(I5 É5I=É<I=