Ë
    ×—ÄjRä  ã                  óÌ  — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Z	d dl
Z	d dlmZ d dlmZmZmZ d dlmZmZ d dlmZ d dlmZmZmZmZmZmZ d dlZd dlZd dlmZ d dlm Z  d dl!Z"d dl!m#Z# d d	l$m%Z%m&Z&m'Z' erd
dl(m(Z( d
dl)m)Z) d
dl*m*Z* d
dl+m+Z+  ed«      Z, edd¬«      Z-dZ. G d„ d«      Z/ G d„ d«      Z0 G d„ d«      Z1 G d„ d«      Z2 G d„ dee,   «      Z3y)é    )ÚannotationsN)Údeque)ÚCallableÚ	ItemsViewÚIterator)ÚdatetimeÚtimezone)ÚIOBase)ÚTYPE_CHECKINGÚAnyÚBinaryIOÚDequeÚGenericÚTypeVar)ÚRetry)ÚOptÚas_rest_api_attributesÚis_undefinedé   )ÚAppAuthentication)ÚAuth)ÚGithubObject)ÚInstallationAuthorizationÚTÚT_ghr   )Úboundé   c                  ó6   — e Zd Zdd„Zdd„Zd	d„Zd
dd„Zdd„Zy)ÚRequestsResponsec                óV   — |j                   | _        |j                  | _        || _        y ©N)Ústatus_codeÚstatusÚheadersÚresponse)ÚselfÚrs     úUC:\Users\pivot\Documents\cueki\casual-preloader\Lib\site-packages\github/Requester.pyÚ__init__zRequestsResponse.__init__‚   s   € Ø—m‘mˆŒØ—y‘yˆŒØˆ�ó    c                ó6   — | j                   j                  «       S r!   )r$   Úitems©r&   s    r(   Ú
getheaderszRequestsResponse.getheaders‡   s   € Ø�|‰|×!Ñ!Ó#Ð#r*   c                ó6   — | j                   j                  xs dS )NÚ )r%   Útextr-   s    r(   ÚreadzRequestsResponse.readŠ   s   € Ø�}‰}×!Ñ!Ò' RÐ'r*   c                ó:   — | j                   j                  |¬«      S )N©Ú
chunk_size)r%   Úiter_content)r&   r5   s     r(   r6   zRequestsResponse.iter_content�   s   € Ø�}‰}×)Ñ)°ZÐ)Ó@Ð@r*   c                ó8   — | j                   j                  «        y r!   )r%   Úraise_for_statusr-   s    r(   r8   z!RequestsResponse.raise_for_status�   s   € Ø�‰×&Ñ&Õ(r*   N)r'   zrequests.Response)ÚreturnzItemsView[str, str]©r9   Ústr)r   )r5   ú
int | Noner9   r   ©r9   ÚNone)Ú__name__Ú
__module__Ú__qualname__r)   r.   r2   r6   r8   © r*   r(   r   r   €   s   „ óó
$ó(ôAô)r*   r   c                  ó|   — e Zd ZU ded<   	 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d	d„Z	 d
	 	 	 	 	 	 	 	 	 	 	 dd„Zdd„Zdd„Zy)ÚHTTPSRequestsConnectionClasszint | RetryÚretryNc                ó\  — |r|nd| _         || _        d| _        || _        |j	                  dd«      | _        t        j                  «       | _        t        j                  | j                  _        |€ t        j                  j                  | _        n|| _        |€ t        j                  j                  | _        n|| _        t        j                  j#                  | j                  | j                   | j                   ¬«      | _        | j                  j'                  d| j$                  «       y )Ni»  ÚhttpsÚverifyT©Úmax_retriesÚpool_connectionsÚpool_maxsizezhttps://©ÚportÚhostÚprotocolÚtimeoutÚgetrH   ÚrequestsÚSessionÚsessionÚ	RequesterÚnoopAuthÚauthÚadaptersÚDEFAULT_RETRIESrE   ÚDEFAULT_POOLSIZEÚ	pool_sizeÚHTTPAdapterÚadapterÚmount©r&   rO   rN   ÚstrictrQ   rE   r\   Úkwargss           r(   r)   z%HTTPSRequestsConnectionClass.__init__˜   så   € ñ !‘D cˆŒ	ØˆŒ	ØˆŒØˆŒØ—j‘j ¨4Ó0ˆŒÜ×'Ñ'Ó)ˆŒô &×.Ñ.ˆ�‰Ôàˆ=Ü!×*Ñ*×:Ñ:ˆD�JàˆDŒJàÐÜ%×.Ñ.×?Ñ?ˆD�Nà&ˆDŒNä×(Ñ(×4Ñ4ØŸ
™
Ø!Ÿ^™^ØŸ™ð 5ó 
ˆŒð
 	�‰×Ñ˜: t§|¡|Õ4r*   c                óJ   — || _         || _        || _        || _        || _        y r!   ©ÚverbÚurlÚinputr$   Ústream©r&   re   rf   rg   r$   rh   s         r(   Úrequestz$HTTPSRequestsConnectionClass.request¾   s'   € ð ˆŒ	ØˆŒØˆŒ
ØˆŒØˆ�r*   c                óH  — t        | j                  | j                  j                  «       «      }| j                  › d| j
                  › d| j                  › | j                  › �} ||| j                  | j                  | j                  | j                  d¬«      }t        |«      S ©Nú://Ú:F)r$   ÚdatarQ   rH   Úallow_redirects©ÚgetattrrU   re   ÚlowerrP   rO   rN   rf   r$   rg   rQ   rH   r   ©r&   re   rf   r'   s       r(   Úgetresponsez(HTTPSRequestsConnectionClass.getresponseÌ   ó€   € Ü�t—|‘| T§Y¡Y§_¡_Ó%6Ó7ˆØ—‘�˜s 4§9¡9 +¨Q¨t¯y©y¨k¸$¿(¹(¸ÐDˆÙØØ—L‘LØ—‘Ø—L‘LØ—;‘;Ø!ô
ˆô   Ó"Ð"r*   c                ó8   — | j                   j                  «        y r!   ©rU   Úcloser-   s    r(   ry   z"HTTPSRequestsConnectionClass.closeÙ   ó   € Ø�‰×ÑÕr*   ©NFNNN)rO   r;   rN   r<   ra   ÚboolrQ   r<   rE   úint | Retry | Noner\   r<   rb   r   r9   r>   ©F)re   r;   rf   r;   rg   zstr | io.BufferedReader | Noner$   údict[str, str]rh   r|   r9   r>   ©r9   r   r=   )r?   r@   rA   Ú__annotations__r)   rj   ru   ry   rB   r*   r(   rD   rD   ”   s»   … ØÓð  ØØ"Ø$(Ø $ð$5àð$5ð ð$5ð ð	$5ð
 ð$5ð "ð$5ð ð$5ð ð$5ð 
ó$5ðX ðàðð ðð .ð	ð
  ðð ðð 
óó#ôr*   rD   c                  óT   — e Zd Z	 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Zdd	d„Zd
d„Zdd„Zy)ÚHTTPRequestsConnectionClassNc                ó\  — |r|nd| _         || _        d| _        || _        |j	                  dd«      | _        t        j                  «       | _        t        j                  | j                  _        |€ t        j                  j                  | _        n|| _        |€ t        j                  j                  | _        n|| _        t        j                  j#                  | j                  | j                   | j                   ¬«      | _        | j                  j'                  d| j$                  «       y )NéP   ÚhttprH   TrI   zhttp://rM   r`   s           r(   r)   z$HTTPRequestsConnectionClass.__init__ß   så   € ñ !‘D bˆŒ	ØˆŒ	ØˆŒØˆŒØ—j‘j ¨4Ó0ˆŒÜ×'Ñ'Ó)ˆŒô &×.Ñ.ˆ�‰Ôàˆ=Ü!×*Ñ*×:Ñ:ˆD�JàˆDŒJàÐÜ%×.Ñ.×?Ñ?ˆD�Nà&ˆDŒNä×(Ñ(×4Ñ4ØŸ
™
Ø!Ÿ^™^ØŸ™ð 5ó 
ˆŒð
 	�‰×Ñ˜9 d§l¡lÕ3r*   c                óJ   — || _         || _        || _        || _        || _        y r!   rd   ri   s         r(   rj   z#HTTPRequestsConnectionClass.request  s%   € ØˆŒ	ØˆŒØˆŒ
ØˆŒØˆ�r*   c                óH  — t        | j                  | j                  j                  «       «      }| j                  › d| j
                  › d| j                  › | j                  › �} ||| j                  | j                  | j                  | j                  d¬«      }t        |«      S rl   rq   rt   s       r(   ru   z'HTTPRequestsConnectionClass.getresponse  rv   r*   c                ó8   — | j                   j                  «        y r!   rx   r-   s    r(   ry   z!HTTPRequestsConnectionClass.close  rz   r*   r{   )rO   r;   rN   r<   ra   r|   rQ   r<   rE   r}   r\   r<   rb   r   r~   )re   r;   rf   r;   rg   r>   r$   r   rh   r|   r9   r>   r€   r=   )r?   r@   rA   r)   rj   ru   ry   rB   r*   r(   rƒ   rƒ   Ý   sl   „ ð
  ØØ"Ø$(Ø $ð$4àð$4ð ð$4ð ð	$4ð
 ð$4ð "ð$4ð ð$4ð ó$4ôLó#ôr*   rƒ   c                  ój  — e Zd ZU ded<   ded<   eZeZdZdZ	ded<   d	ed
<   e
d^d„«       Ze	 	 	 	 	 	 d_d„«       Zed`d„«       Zedad„«       Zed`d„«       Zedbd„«       Zedcd„«       ZdZdZdZdZded<   ddd„Zded„Zdfd„Zd`d„Zded<   ded<   ded <   d!ed"<   d#ed$<   d#ed%<   	 	 	 	 dg	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dhd&„Zdid'„Zdjd(„Ze
dkd)„«       Ze
dld*„«       Ze
dmd+„«       Z e
	 	 	 	 	 	 dnd,„«       Z!d`d-„Z"e#did.„«       Z$e#dod/„«       Z%e#dod0„«       Z&e#dod1„«       Z'e#dod2„«       Z(e#dod3„«       Z)e#dpd4„«       Z*dqd5„Z+e#drd6„«       Z,e#drd7„«       Z-dsd8„Z.e#dtd9„«       Z/dud:„Z0	 	 	 	 dv	 	 	 	 	 	 	 	 	 	 	 	 	 dwd;„Z1	 	 	 dx	 	 	 	 	 	 	 	 	 	 	 dyd<„Z2	 	 	 	 dz	 	 	 	 	 	 	 	 	 	 	 	 	 d{d=„Z3ed|d>„«       Z4	 	 	 	 	 	 	 	 	 	 d}d?„Z5d~d@„Z6	 	 	 	 	 	 	 	 	 	 ddA„Z7d€dB„Z8	 d�	 	 	 	 	 	 	 	 	 d‚dC„Z9	 	 	 	 	 	 	 	 dƒdD„Z:	 	 	 	 	 	 	 	 	 	 	 	 d„dE„Z;	 	 	 	 	 	 	 	 d…dF„Z<	 	 	 	 	 	 	 	 	 	 d†dG„Z=ed‡dH„«       Z>dˆdI„Z?d‰dJ„Z@e	 	 	 	 	 	 	 	 dŠdK„«       ZAed‹dL„«       ZBed‹dM„«       ZCed‹dN„«       ZDdŒdO„ZE	 	 	 	 d�	 	 	 	 	 	 	 	 	 	 	 	 	 dŽdP„ZF	 	 	 	 d�	 	 	 	 	 	 	 	 	 	 	 d�dQ„ZG	 	 	 	 	 d�	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d‘dR„ZH	 	 	 	 dz	 	 	 	 	 	 	 	 	 	 	 	 	 d’dS„ZI	 	 	 	 dz	 	 	 	 	 	 	 	 	 	 	 	 	 d“dT„ZJ	 d�	 	 	 	 	 	 	 	 	 	 	 	 	 d”dU„ZK	 	 d•	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d–dV„ZL	 	 d•	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d—dW„ZMd˜dX„ZNd˜dY„ZOd™dZ„ZP	 d�	 	 	 dšd[„ZQe#d›d\„«       ZR	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dœd]„ZSy)�rV   z InstallationAuthorization | NoneÚ&_Requester__installation_authorizationzAppAuthentication | NoneÚ_Requester__app_authTNzlogging.Logger | NoneÚ_Requester__loggerz	list[Any]Ú_frameBufferc                ó   — | S r!   rB   )rj   s    r(   rW   zRequester.noopAuth(  s   € àˆr*   c                ó.   — d| _         || _        || _        y )NF)Ú_Requester__persistÚ_Requester__httpConnectionClassÚ _Requester__httpsConnectionClass)ÚclsÚhttpConnectionClassÚhttpsConnectionClasss      r(   ÚinjectConnectionClassesz!Requester.injectConnectionClasses,  s   € ð ˆŒØ$7ˆÔ!Ø%9ˆÕ"r*   c                ó>   — d| _         t        | _        t        | _        y )NT)r‘   rƒ   r’   rD   r“   ©r”   s    r(   ÚresetConnectionClassesz Requester.resetConnectionClasses6  s   € àˆŒÜ$?ˆÔ!Ü%AˆÕ"r*   c                ó   — || _         y r!   ©r�   )r”   Úloggers     r(   ÚinjectLoggerzRequester.injectLogger<  s	   € àˆ�r*   c                ó   — d | _         y r!   rœ   r™   s    r(   ÚresetLoggerzRequester.resetLogger@  s	   € àˆ�r*   c                ó   — || _         y r!   )Ú
DEBUG_FLAG)r”   Úflags     r(   ÚsetDebugFlagzRequester.setDebugFlagF  s	   € àˆ�r*   c                ó   — || _         y r!   )ÚON_CHECK_ME)r”   Ú	onCheckMes     r(   ÚsetOnCheckMezRequester.setOnCheckMeJ  s	   € à#ˆ�r*   Fi   ÚDEBUG_FRAMEzCallable | Noner¦   c                óò   — | j                   rk|dddg}| j                  | j                  dz
  k  r| j                  j	                  |«       n|| j                  d<   t        | j                  «      dz
  | _        yy)zü
        Initialize a debug frame with requestHeader
        Frame count is updated and will be attached to respond header
        The structure of a frame: [requestHeader, statusCode, responseHeader, raw_data]
        Some of them may be None
        Nr   r   )r¢   Ú_frameCountÚDEBUG_FRAME_BUFFER_SIZErŽ   ÚappendÚlen)r&   ÚrequestHeaderÚ	new_frames      r(   ÚNEW_DEBUG_FRAMEzRequester.NEW_DEBUG_FRAMEV  ss   € ð �?Š?Ø&¨¨d°DÐ9ˆIØ×Ñ $×">Ñ">ÀÑ"BÒBØ×!Ñ!×(Ñ(¨Õ3à'0�×!Ñ! !Ñ$ä" 4×#4Ñ#4Ó5¸Ñ9ˆDÕð r*   Úintr;   c                óŽ   — | j                   r9|||g| j                  | j                     dd | j                  || j                  <   yy)zl
        Update current frame with response Current frame index will be attached to responseHeader.
        r   é   N)r¢   rŽ   r«   ÚDEBUG_HEADER_KEY)r&   Ú
statusCodeÚresponseHeaderro   s       r(   ÚDEBUG_ON_RESPONSEzRequester.DEBUG_ON_RESPONSEf  sP   € ð �?Š?àØØð8ˆD×Ñ˜d×.Ñ.Ñ/°°!Ð4ð
 59×4DÑ4DˆN˜4×0Ñ0Ò1ð r*   c                óà   — | j                   rb| j                  �Ud }| j                  |j                  v r(|j                  | j                     }| j                  |   }| j                  ||«       y y y r!   )r¢   r¦   rµ   Ú_headersrŽ   )r&   ÚobjÚframeÚframe_indexs       r(   Úcheck_mezRequester.check_mer  sf   € Ø�?Š?˜t×/Ñ/Ð;ØˆEØ×$Ñ$¨¯©Ñ4Ø!Ÿl™l¨4×+@Ñ+@ÑA�Ø×)Ñ)¨+Ñ6�Ø×Ñ˜S %Õ(ð  <ˆ?r*   c                ó    — d| _         g | _        y )Nr   )r«   rŽ   r-   s    r(   Ú_initializeDebugFeaturez!Requester._initializeDebugFeaturez  s   € ØˆÔØˆÕr*   r«   zFtype[HTTPRequestsConnectionClass] | type[HTTPSRequestsConnectionClass]Ú_Requester__connectionClassÚ_Requester__hostnameú
str | NoneÚ_Requester__authorizationHeaderúfloat | NoneÚ$_Requester__seconds_between_requestsÚ"_Requester__seconds_between_writesc                ó  — | j                  «        || _        || _        t        j                  j                  |«      }| j                  |j                  «      | _        t        j                  j                  |j                  | j                  ¬«      «      | _        |j                  | _        |t        j                  k(  r
ddg| _        n5t#        |j                  |j                  j%                  d«      h«      | _        |j&                  | _        |j                  j+                  d«      | _        || _        || _        || _        |	| _        |
| _        t9        «       | _        |j<                  | _        |j<                  dk(  r| j@                  | _!        n(|j<                  dk(  r| jD                  | _!        nJ d«       ‚d | _#        tI        jJ                  «       | _&        tO        «       | _(        d	| _)        d
| _*        d| _+        tY        |tZ        «      r|d
kD  sJ |«       ‚|| _.        d | _/        |€J d«       ‚|| _0        || _1        || _2        || _3        d | _4        tY        | j                  tj        «      r| j                  jm                  | «       y y )N©Úpathz
github.comzgithubusercontent.comzapi.Ú/rG   r†   zUnknown URL scheme)éÿÿÿÿrÌ   r   Tz|github now requires a user-agent. See https://docs.github.com/en/rest/overview/resources-in-the-rest-api#user-agent-required)7rÀ   Ú_Requester__authÚ_Requester__base_urlÚurllibÚparseÚurlparseÚget_graphql_prefixrÊ   Ú_Requester__graphql_prefixÚ
urlunparseÚ_replaceÚ_Requester__graphql_urlÚhostnamerÂ   ÚConstsÚDEFAULT_BASE_URLÚ_Requester__domainsÚlistÚremoveprefixrN   Ú_Requester__portÚrstripÚ_Requester__prefixÚ_Requester__timeoutÚ_Requester__retryÚ_Requester__pool_sizerÆ   rÇ   ÚdictÚ_Requester__last_requestsÚschemeÚ_Requester__schemer“   rÁ   r’   Ú_Requester__connectionÚ	threadingÚLockÚ_Requester__connection_lockr   Ú_Requester__custom_connectionsÚrate_limitingÚrate_limiting_resettimeÚFIX_REPO_GET_GIT_REFÚ
isinstancer²   Úper_pageÚoauth_scopesÚ_Requester__userAgentÚ_Requester__verifyÚ_Requester__lazyÚ_Requester__apiVersionr‹   ÚWithRequesterÚwithRequester)r&   rX   Úbase_urlrQ   Ú
user_agentrð   rH   rE   r\   Úseconds_between_requestsÚseconds_between_writesÚlazyÚapi_versionÚos                 r(   r)   zRequester.__init__ˆ  s   € ð 	×$Ñ$Ô&àˆŒØ"ˆŒä�L‰L×!Ñ! (Ó+ˆØ $× 7Ñ 7¸¿¹Ó ?ˆÔÜ#Ÿ\™\×4Ñ4°Q·Z±ZÀT×EZÑEZ°ZÓ5[Ó\ˆÔØŸ*™*ˆŒØ”v×.Ñ.Ò.Ø*Ð,CÐDˆD�Nä! 1§:¡:¨q¯z©z×/FÑ/FÀvÓ/NÐ"OÓPˆDŒNØ—f‘fˆŒØŸ™Ÿ™ cÓ*ˆŒØ ˆŒØˆŒØ$ˆÔØ*BˆÔ'Ø(>ˆÔ%Ü15³ˆÔØŸ™ˆŒØ�8‰8�wÒØ%)×%@Ñ%@ˆDÕ"Ø�X‰X˜ÒØ%)×%?Ñ%?ˆDÕ"à.Ð.Ó.�5Ø_cˆÔÜ!*§¡Ó!1ˆÔÜglÓgnˆÔ!Ø%ˆÔØ'(ˆÔ$Ø$(ˆÔ!Ü˜(¤CÔ(¨X¸ª\ÐC¸8ÓCÐ9Ø ˆŒà ˆÔàÐ%ð 	
ðió	
Ð%ð &ˆÔØˆŒØˆŒØ'ˆÔà,0ˆÔ)ô �d—k‘k¤=Ô1Ø�K‰K×%Ñ% dÕ+ð 2r*   c                óL   — | j                   j                  «       }|d= |d= |d= |S )Nrê   rç   rë   )Ú__dict__Úcopy©r&   Ústates     r(   Ú__getstate__zRequester.__getstate__Í  s4   € Ø—‘×"Ñ"Ó$ˆàÐ/Ð0àÐ*Ð+àÐ2Ð3Øˆr*   c                ó˜   — | j                   j                  |«       t        j                  «       | _        d | _        t        «       | _        y r!   )r   Úupdaterè   ré   rê   rç   r   rë   r  s     r(   Ú__setstate__zRequester.__setstate__×  s5   € Ø�‰×Ñ˜UÔ#Ü!*§¡Ó!1ˆÔØ ˆÔÜ$)£GˆÕ!r*   c                óF   — | j                  |«      r| d t        |«        S | S r!   )Úendswithr®   )ÚstringÚsuffixs     r(   Úremove_suffixzRequester.remove_suffixÝ  s(   € ð �?‰?˜6Ô"Ø˜.œS ›[˜LÐ)Ð)Øˆr*   c                óŒ   — | �| dv rd} | j                  d«      } | j                  d«      rt        j                  | d«      } | dz   S )N)r0   rË   r0   rË   z/v3z/graphql)rÞ   r	  rV   r  rÉ   s    r(   rÒ   zRequester.get_graphql_prefixä  sJ   € àˆ<˜4 9Ñ,ØˆDØ�{‰{˜3ÓˆØ�=‰=˜ÔÜ×*Ñ*¨4°Ó7ˆDØ�jÑ Ð r*   c                ó„   — t         j                  j                  | «      d   }t         j                  j                  |«      S )Nr´   )rÏ   rÐ   rÑ   Úparse_qs)rf   Úquerys     r(   Úget_parameters_of_urlzRequester.get_parameters_of_urlí  s0   € ä—‘×%Ñ% cÓ*¨1Ñ-ˆÜ�|‰|×$Ñ$ UÓ+Ð+r*   c                ó¤  — t         j                  j                  | «      \  }}} }}}t         j                  j                  |«      } |j                  di |j                  «       D ��	ci c]  \  }}	|t        |	t        «      r|	n|	g“Œ c}	}¤Ž |j                  «       D �
��cg c]9  \  }
}|D ]/  }|
t        |t        «      rt        |«      j                  «       n|f‘Œ1 Œ; }}}
}t         j                  j                  ||| |d|f«      } t        |«      dk(  r| S | › dt         j                  j                  t        |«      «      › �S c c}	}w c c}}}
w )Nr0   r   Ú?rB   )rÏ   rÐ   rÑ   r  r  r,   rï   rÛ   r|   r;   rs   rÔ   r®   Ú	urlencodeÚsorted)rf   Ú
parametersrå   ÚnetlocÚparamsr  ÚfragmentÚ
url_paramsÚkÚvÚkeyÚvaluesÚvalueÚparameter_lists                 r(   Úadd_parameters_to_urlzRequester.add_parameters_to_urlò  s>  € ô
 8>·|±|×7LÑ7LÈSÓ7QÑ4ˆ�˜˜V U¨HÜ—\‘\×*Ñ*¨5Ó1ˆ
àˆ
×ÑÑbÈj×N^ÑN^ÔN`ÔaÑN`ÁdÀaÈ˜Q¤Z°´4Ô%8¡¸q¸cÑAÐN`ÒaÒbð  *×/Ñ/Ô1õ
á1‘��VÛ�ð ¬
°5¼$Ô(?”#�e“*×"Ñ"Ô$ÀUÒKàð LØ1ð 	ò 
ô �l‰l×%Ñ% v¨v°s¸FÀBÈÐ&QÓRˆäˆ~Ó !Ò#ØˆJð �U˜!œFŸL™L×2Ñ2´6¸.Ó3IÓJÐKÐLÐLùó bùô
s   Á' EÂ!>Ec                ó$  — | j                   5  | j                  �!| j                  j                  «        d| _        ddd«       | j                  r6| j                  j	                  «       j                  «        | j                  rŒ5yy# 1 sw Y   ŒLxY w)z5
        Close the connection to the server.
        N)rê   rç   ry   rë   Úpopleftr-   s    r(   ry   zRequester.close
  sr   € ð ×#Ó#Ø× Ñ Ð,Ø×!Ñ!×'Ñ'Ô)Ø$(�Ô!÷ $ð ×'Ò'Ø×%Ñ%×-Ñ-Ó/×5Ñ5Ô7ð ×'Õ'÷	 $Ð#ús   �.BÂBc                ó   — t        | j                  | j                  | j                  | j                  | j
                  | j                  | j                  | j                  | j                  | j                  | j                  | j                  ¬«      S )z«
        Returns arguments required to recreate this Requester with Requester.__init__, as well as with
        MainClass.__init__ and GithubIntegration.__init__.
        )rX   rø   rQ   rù   rð   rH   rE   r\   rú   rû   rü   rý   )rã   rÍ   rÎ   rà   rò   rð   ró   rá   râ   rÆ   rÇ   rô   rõ   r-   s    r(   rb   zRequester.kwargs  so   € ô Ø—‘Ø—_‘_Ø—N‘NØ×'Ñ'Ø—]‘]Ø—=‘=Ø—,‘,Ø×&Ñ&Ø%)×%DÑ%DØ#'×#@Ñ#@Ø—‘Ø×)Ñ)ô
ð 	
r*   c                ó   — | j                   S r!   )rÎ   r-   s    r(   rø   zRequester.base_url*  ó   € à�‰Ðr*   c                ó   — | j                   S r!   )rÖ   r-   s    r(   Úgraphql_urlzRequester.graphql_url.  s   € à×!Ñ!Ð!r*   c                ó   — | j                   S r!   )ræ   r-   s    r(   rå   zRequester.scheme2  s   € à�}‰}Ðr*   c                ó   — | j                   S r!   )rÂ   r-   s    r(   r×   zRequester.hostname6  r&  r*   c                óh   — | j                   €| j                  S | j                  › d| j                   › �S )Nrn   )rÝ   r×   r-   s    r(   Úhostname_and_portzRequester.hostname_and_port:  s/   € à�;‰;ÐØ—=‘=Ð Ø—-‘-�  $§+¡+ Ð/Ð/r*   c                ó   — | j                   S r!   )rÍ   r-   s    r(   rX   zRequester.auth@  ó   € à�{‰{Ðr*   c                óT   — | j                   }|j                  |¬«       t        di |¤ŽS )zÈ
        Create a new requester instance with identical configuration but the given authentication method.

        :param auth: authentication method
        :return: new Requester instance

        )rX   rB   )rb   r  rV   )r&   rX   rb   s      r(   ÚwithAuthzRequester.withAuthD  s)   € ð —‘ˆØ�‰˜4ˆÔ ÜÑ"˜6Ñ"Ð"r*   c                ó   — | j                   S r!   ©rô   r-   s    r(   Úis_lazyzRequester.is_lazyP  r.  r*   c                ó   — | j                    S r!   r2  r-   s    r(   Úis_not_lazyzRequester.is_not_lazyT  s   € à—;‘;ˆÐr*   c                óŒ   — t        |«      s| j                  |k(  r| S | j                  }|j                  |¬«       t	        di |¤ŽS )a{  
        Create a new requester instance with identical configuration but the given lazy setting.

        :param lazy: if True, completable objects created from this instance are lazy, as well as completable objects
            created from those, and so on.
        :return: new Requester instance if is_defined(lazy) and lazy != self.is_lazy, this instance otherwise

        )rü   rB   )r   r3  rb   r  rV   )r&   rü   rb   s      r(   ÚwithLazyzRequester.withLazyX  sA   € ô ˜Ô §¡°Ò!5ØˆKà—‘ˆØ�‰˜4ˆÔ ÜÑ"˜6Ñ"Ð"r*   c                ó   — | j                   S r!   )rõ   r-   s    r(   rý   zRequester.api_versionh  s   € à× Ñ Ð r*   c                óv   — || j                   k(  r| S | j                  }|j                  |¬«       t        di |¤ŽS )a  
        Create a new requester instance with identical configuration but the given API version setting.

        :param api_version: string, GitHub API version to use (see https://docs.github.com/en/rest/about-the-rest-
            api/api-versions). Note that some PyGithub methods might downgrade this version if it is not supported by
            the implementation. Set to None to not specify any version
        :return: new Requester instance if is_defined(lazy) and lazy != self.is_lazy, this instance otherwise

        )rý   rB   )rý   rb   r  rV   )r&   rý   rb   s      r(   ÚwithApiVersionzRequester.withApiVersionl  s<   € ð ˜$×*Ñ*Ò*ØˆKà—‘ˆØ�‰ +ˆÔ.ÜÑ"˜6Ñ"Ð"r*   c                óŽ   —  | j                   ||g | j                  | j                  |||||| j                  |«      |¬«      Ž ¢­Ž S )zñ
        Send a request with JSON body.

        :param input: request body, serialized to JSON if specified

        :return: ``(headers: dict, JSON Response: Any)``
        :raises: :class:`GithubException` for error status codes

        ©Úfollow_302_redirect)Ú_Requester__postProcessÚ_Requester__checkÚrequestJsonÚ_Requester__customConnection)r&   re   rf   r  r$   rg   r=  s          r(   ÚrequestJsonAndCheckzRequester.requestJsonAndCheck}  sg   € ð$ "ˆt×!Ñ!ØØð
ð ˆT�\‰\Ø×!Ñ!ØØØØØØ×+Ñ+¨CÓ0Ø(;ð "ó ð
ò
ð 	
r*   c                óŠ   —  | j                   ||g | j                  | j                  |||||| j                  |«      «      Ž ¢­Ž S )a  
        Send a request with multi-part-encoded body.

        :param input: request body, will be multi-part encoded if specified

        :return: ``(headers: dict, JSON Response: Any)``
        :raises: :class:`GithubException` for error status codes

        )r>  r?  ÚrequestMultipartrA  )r&   re   rf   r  r$   rg   s         r(   ÚrequestMultipartAndCheckz"Requester.requestMultipartAndCheckŸ  sW   € ð" "ˆt×!Ñ!ØØð
ð ˆT�\‰\˜4×0Ñ0°°s¸JÈÐQVÐX\×XoÑXoÐpsÓXtÓuÐvò
ð 	
r*   c                óŠ   —  | j                   ||g | j                  | j                  |||||| j                  |«      «      Ž ¢­Ž S )zø
        Send a request with a file for the body.

        :param input: path to a file to use for the request body

        :return: ``(headers: dict, JSON Response: Any)``
        :raises: :class:`GithubException` for error status codes

        )r>  r?  ÚrequestBlobrA  )r&   re   rf   r  r$   rg   Úcnxs          r(   ÚrequestBlobAndCheckzRequester.requestBlobAndCheck¶  sV   € ð$ "ˆt×!Ñ!ØØð
ð ˆT�\‰\˜4×+Ñ+¨D°#°zÀ7ÈEÐSW×SjÑSjÐknÓSoÓpÐqò
ð 	
r*   c           	     ó˜   — |j                  «       D ��ci c])  \  }}|t        |t        «      r| j                  |«      nd “Œ+ c}}S c c}}w r!   )r,   rï   rã   Úpaths_of_dict)r”   Údr  Úvals       r(   rK  zRequester.paths_of_dictÎ  sG   € à_`×_fÑ_fÔ_hÔiÑ_hÑS[ÐSVÐX[�¬z¸#¼tÔ/D�S×&Ñ& sÔ+È$ÑNÐ_hÒiÐiùÓis   ”.Ac           	     ó¬   — |D ]+  }||vr t        d|› d| j                  |«      › �«      ‚||   }Œ- |j                  «       rt        |«      } || ||«      S )NzGraphQL path z not found in data: )ÚRuntimeErrorrK  Úis_restr   )r&   r$   ro   Ú	data_pathÚklassÚitems         r(   Údata_as_classzRequester.data_as_classÒ  sj   € ó ˆDØ˜4ÑÜ" ]°9°+Ð=QÐRV×RdÑRdÐeiÓRjÐQkÐ#lÓmÐmØ˜‘:‰Dð ð �=‰=Œ?Ü)¨$Ó/ˆDÙ�T˜7 DÓ)Ð)r*   c                ó,  — ||dœ}| j                  d| j                  |¬«      \  }}d|v rgt        |d   «      dk(  rC|d   d   }|j                  d«      dk(  r't	        j
                  d	|||j                  d
«      «      ‚| j                  d||«      ‚||fS )z÷
        Queries the GraphQL API.

        :param query: GraphQL query
        :param variables: GraphQL variables
        :return: ``(headers: dict, JSON Response: dict)``
        :raises: :class:`GithubException` for error status codes

        )r  Ú	variablesÚPOST©rg   Úerrorsr   r   ÚtypeÚ	NOT_FOUNDé”  Úmessageé�  )rB  r(  r®   rR   ÚgithubÚUnknownObjectExceptionÚcreateException)r&   r  rV  Úinput_Úresponse_headersro   Úerrors          r(   Úgraphql_queryzRequester.graphql_queryÝ  s°   € ð !¨yÑ9ˆà!%×!9Ñ!9¸&À$×BRÑBRÐZ`Ð!9Ó!aÑÐ˜$Ø�tÑÜ�4˜‘>Ó" aÒ'Ø˜X™ qÑ)�Ø—9‘9˜VÓ$¨Ò3Ü ×7Ñ7¸¸TÐCSÐUZ×U^ÑU^Ð_hÓUiÓjÐjØ×&Ñ& sÐ,<¸dÓCÐCØ Ð%Ð%r*   c                ó\   — | j                  ||«      \  }}| j                  ||dg|z   |«      S )aØ  
        Queries the GraphQL API, extracts data from a given path, populates and returns a PyGithub class instance.

        Uses :func:`graphql_query` to query the GraphQL API.

        :param query: GraphQL query
        :param data_path: GraphQL path in the response to extract the properties for the class to return
        :param klass: PyGithub class
        :return: PyGithub class instance
        :raises: :class:`GithubException` for error status codes

        ro   )re  rT  )r&   r  rV  rQ  rR  r$   ro   s          r(   Úgraphql_query_classzRequester.graphql_query_classò  s8   € ð ×*Ñ*¨5°)Ó<‰ˆ�Ø×!Ñ! '¨4°&°¸IÑ1EÀuÓMÐMr*   c                ó,  — |j                  d«      sd|› d�}d|› d|› d�z   dz   }| j                  |d|i«      \  }}|j                  di «      j                  d	i «      j                  d
|«      }||k7  rt        j                  d|d|› d|› �¬«      ‚||fS )a�  
        Fetches a GraphQL node by id in the give schema.

        This sends the following GraphQL request::

            query Q($id. ID!) {
              node(id: $id) {
                __typename
                ... on <node_type> {
                  <output_schema>
                }
              }
            }

        :param node_id: GraphQL node id
        :param output_schema: The schema of the retrieved properties of the node, without enclosing curly brackets
        :param node_type: The GraphQL node type
        :return: ``(headers: dict, JSON Response: dict)``
        :raises: :class:`GithubException` for error status codes

        Ú
Ú zq
            query Q($id: ID!) {
              node(id: $id) {
                __typename
                ... on z {Ú}z+
              }
            }
            Úidro   ÚnodeÚ
__typenamer^  z
Retrieved z object is of different type: )r]  )Ú
startswithre  rR   r_  ÚGithubException)r&   Únode_idÚoutput_schemaÚ	node_typer  r$   ro   Úactual_node_types           r(   Úgraphql_nodezRequester.graphql_node  sÓ   € ð, ×'Ñ'¨Ô-Ø ˜¨aÐ0ˆMðð
 �˜3˜}˜o¨RÐ0ñ1ðñ	ð 	ð ×*Ñ*¨5°4¸°/ÓB‰ˆ�ØŸ8™8 F¨BÓ/×3Ñ3°F¸BÓ?×CÑCÀLÐR[Ó\ÐØ˜yÒ(Ü×(Ñ(ØØØ$ Y KÐ/MÐN^ÐM_Ð`ôð ð
 ˜ˆ}Ðr*   c                óv   — |€|j                   }| j                  |||«      \  }}| j                  ||ddg|«      S )ar  
        Fetches a GraphQL node by id in the give schema, and returns a PyGithub instance of the given class populated
        with the retrieved properties.

        Uses :func:`graph_node` to retrieve the GraphQl node.

        :param node_id: GraphQL node id
        :param output_schema: The schema of the retrieved properties of the node, without enclosing curly brackets
        :param klass: PyGithub class
        :param node_type: Optional GraphQL node type, defaults to the name of the PyGithub class
        :return: PyGithub class instance
        :raises: :class:`GithubException` for error status codes

        ro   rm  )r?   ru  rT  )r&   rq  rr  rR  rs  r$   ro   s          r(   Úgraphql_node_classzRequester.graphql_node_class3  sG   € ð" ÐØŸ™ˆIà×)Ñ)¨'°=À)ÓL‰ˆ�Ø×!Ñ! '¨4°&¸&Ð1AÀ5ÓIÐIr*   c                óÈ   — |dd j                  «       |dd z   dz   }d|› d|› d|› d�}| j                  |d|i«      \  }}||j                  d	i «      j                  |i «      fS )
aÆ  
        Send a GraphQL mutation to the GraphQL API.

        This sends the following GraphQL request::

            mutation Mutation($input: MutationNameInput!) {
              mutationName(input: $input) {
                <output_schema>
              }
            }

        Uses :func:`graphql_query` to send the request to the GraphQL API.

        :param mutation_name: name of the mutation
        :param mutation_input: input data for the mutation
        :param output_schema: The schema of the retrieved properties of the mutation, without enclosing curly brackets
        :return: ``(headers: dict, JSON Response: dict)``
        :raises: :class:`GithubException` for error status codes

        Nr   zInput!zmutation Mutation($input: z) { z(input: $input) { z } }rg   ro   )Úupperre  rR   )r&   Úmutation_nameÚmutation_inputrr  Úmutation_input_namer  r$   ro   s           r(   Úgraphql_named_mutationz Requester.graphql_named_mutationJ  s‰   € ð. ,¨B¨QÐ/×5Ñ5Ó7¸-ÈÈÐ:KÑKÈhÑVÐØ,Ð-@Ð,AÀÀ}ÀoÐUhÐivÐhwÐw}Ð~ˆØ×*Ñ*¨5°7¸NÐ2KÓL‰ˆ�Ø˜Ÿ™ ¨Ó,×0Ñ0°ÀÓCÐCÐCr*   c                óX   — | j                  |||«      \  }}| j                  |||g|«      S )au  
        Send a GraphQL mutation to the GraphQL API, populates and returns a PyGithub class instance.

        Uses :func:`graphql_named_mutation` to send the mutation to the GraphQL API.

        :param mutation_name: name of the mutation
        :param mutation_input: input data for the mutation
        :param output_schema: The schema of the retrieved properties of the mutation, without enclosing curly brackets
        :param item: property in the response to extract the properties for the class to return
        :return: PyGithub class instance
        :raises: :class:`GithubException` for error status codes

        )r}  rT  )r&   rz  r{  rr  rS  rR  r$   ro   s           r(   Úgraphql_named_mutation_classz&Requester.graphql_named_mutation_classf  s6   € ð  ×3Ñ3°MÀ>ÐS`Óa‰ˆ�Ø×!Ñ! '¨4°$°¸Ó?Ð?r*   c                ó\   — | j                  |«      }|dk\  r| j                  |||«      ‚||fS )Nr^  )Ú_Requester__structuredFromJsonra  )r&   r#   ÚresponseHeadersÚoutputro   s        r(   Ú__checkzRequester.__checky  s;   € ð ×(Ñ(¨Ó0ˆØ�SŠ=Ø×&Ñ& v¨ÀÓEÐEØ Ð$Ð$r*   c                óF   — |dk(  rt        |t        «      r	d|vr||d<   ||fS )NÚGETrf   )rï   rã   )r&   re   rf   r‚  ro   s        r(   Ú__postProcesszRequester.__postProcess„  s/   € ð �5Š=œZ¨¬dÔ3¸ÀTÑ8IØˆD�‰KØ Ð$Ð$r*   c                óˆ   ‡ ‡— t        |t        «      r‰|k(  ryd|› �}‰j                  |«      S t        ˆ ˆfd„|D «       «      S )NTÚ.c              3  óB   •K  — | ]  }‰j                  ‰|«      –— Œ y ­wr!   )Ú_Requester__hostnameHasDomain)Ú.0rL  r”   r×   s     €€r(   Ú	<genexpr>z0Requester.__hostnameHasDomain.<locals>.<genexpr>“  s!   øè ø€ ÐSÑAR¸A�3×*Ñ*¨8°Q×7ÑARùs   ƒ)rï   r;   r	  Úany)r”   r×   Údomain_or_domainsÚdomain_suffixs   ``  r(   Ú__hostnameHasDomainzRequester.__hostnameHasDomainŒ  sK   ù€ äÐ'¬Ô-ØÐ,Ò,ØØÐ 1Ð2Ð3ˆMØ×$Ñ$ ]Ó3Ð3ÜÔSÑARÓSÓSÐSr*   c                óò  — t         j                  j                  |«      }|j                  €J ‚|j                  | j                  k(  rz| j
                  | j                  ddg}|j                  j                  t        |«      «      sJ |j                  «       ‚|j                  | j                  k(  sJ |j                  «       ‚y | j                  |j                  | j                  «      sJ |j                  «       ‚y )Nz/api/z/login/oauth)rÏ   rÐ   rÑ   r×   rÂ   rß   rÓ   rÊ   ro  ÚtuplerN   rÝ   r‹  rÚ   )r&   rf   rþ   Úprefixess       r(   Ú__assertUrlAllowedzRequester.__assertUrlAllowed•  s¹   € Ü�L‰L×!Ñ! #Ó&ˆØ�z‰zÐ%Ð%Ð%Ø�:‰:˜Ÿ™Ò(ØŸ™ t×'<Ñ'<¸gÀ~ÐVˆHØ—6‘6×$Ñ$¤U¨8£_Ô5Ð=°q·v±vÓ=Ð5Ø—6‘6˜TŸ[™[Ò(Ð0¨!¯&©&Ó0Ñ(à×+Ñ+¨A¯J©J¸¿¹ÔGÐSÈÏÉÓSÑGr*   c                ó  — d }|j                  d«      �su| j                  |«       t        j                  j	                  |«      }|j
                  | j                  k7  s\|j                  r|j                  | j                  k7  s7|j                  | j                  k7  rî|j                  dk(  r| j                  dk(  sÐ|j                  dk(  rZ| j                  |j
                  |j                  | j                  | j                  ¬«      }| j                  j                  |«       |S |j                  dk(  rX| j!                  |j
                  |j                  | j                  | j                  ¬«      }| j                  j                  |«       |S )NrË   rG   r†   )rE   r\   )ro  Ú_Requester__assertUrlAllowedrÏ   rÐ   rÑ   r×   rÂ   rN   rÝ   rå   ræ   r’   rá   râ   rë   r­   r“   )r&   rf   rH  rþ   s       r(   Ú__customConnectionzRequester.__customConnectionŸ  s<  € ØQUˆØ�~‰~˜cÕ"à×#Ñ# CÔ(ô —‘×%Ñ% cÓ*ˆAà—
‘
˜dŸo™oÒ-Ø—F’F˜qŸv™v¨¯©Ò4Ø—H‘H §¡Ò-°q·x±xÀ7Ò7JÈtÏ}É}Ð`fÒOfà—8‘8˜vÒ%Ø×4Ñ4ØŸ
™
ØŸ™Ø"Ÿl™lØ"&×"2Ñ"2ð	 5ó �Cð ×-Ñ-×4Ñ4°SÔ9ð ˆ
ð —X‘X Ò(Ø×5Ñ5ØŸ
™
ØŸ™Ø"Ÿl™lØ"&×"2Ñ"2ð	 6ó �Cð ×-Ñ-×4Ñ4°SÔ9Øˆ
r*   c                ó(  — |r|j                  d«      nd }|r|j                  «       nd}d }t        j                  }|dk(  r|dk(  rt        j                  }n²|dk(  r8t        j
                  |v r&d|t        j
                     v rt        j                  }nu|dk(  r"|j                  d«      rt        j                  }nN|dk(  r"| j                  |«      rt        j                  }n'|dk(  r d	|v sd
|v rt        j                  }|d	k7  r|}n|} |||||«      S )Nr]  r0   i‘  zbad credentialsÚrequiredi“  z$missing or invalid user agent stringr\  z	not foundzno object found)rR   rs   rp  ÚBadCredentialsExceptionrØ   Ú	headerOTPÚTwoFactorExceptionro  ÚBadUserAgentExceptionÚisRateLimitErrorÚRateLimitExceededExceptionr`  )r”   r#   r$   rƒ  r]  Ú
lc_messageÚmsgÚexcs           r(   ra  zRequester.createException¾  s  € ñ ,2�&—*‘*˜YÔ'°tˆÙ(/�W—]‘]”_°Rˆ
àˆÜ×-Ñ-ˆØ�SŠ=˜ZÐ+<Ò<Ü!×9Ñ9‰CØ�sŠ]œv×/Ñ/°7Ñ:¸zÈWÔU[×UeÑUeÑMfÑ?fÜ!×4Ñ4‰CØ�sŠ]˜z×4Ñ4Ð5[Ô\Ü!×7Ñ7‰CØ�sŠ]˜s×3Ñ3°JÔ?Ü!×<Ñ<‰CØ�sŠ] ¨zÑ 9Ð=NÐR\Ñ=\Ü!×8Ñ8ˆCØ˜[Ò(Ø‘ð ˆCá�6˜6 7¨CÓ0Ð0r*   c                óJ   — | j                  |«      xs | j                  |«      S r!   )ÚisPrimaryRateLimitErrorÚisSecondaryRateLimitError©r”   r]  s     r(   rŸ  zRequester.isRateLimitErrorÜ  s$   € à×*Ñ*¨7Ó3Ò]°s×7TÑ7TÐU\Ó7]Ð]r*   c                óJ   — |sy|j                  «       }|j                  d«      S )NFzapi rate limit exceeded)rs   ro  r§  s     r(   r¥  z!Requester.isPrimaryRateLimitErrorà  s%   € áØà—-‘-“/ˆØ×!Ñ!Ð";Ó<Ð<r*   c                ó–   — |sy|j                  «       }|j                  d«      xs$ |j                  d«      xs |j                  d«      S )NFz(you have exceeded a secondary rate limitz&please retry your request again later.z/please wait a few minutes before you try again.)rs   ro  r	  r§  s     r(   r¦  z#Requester.isSecondaryRateLimitErrorè  sQ   € áØà—-‘-“/ˆà×ÑÐIÓJò SØ×ÑÐ HÓIòSà×ÑÐ QÓRð	
r*   c                óú   — t        |«      dk(  ry t        |t        «      r|j                  d«      }	 t	        j
                  |«      S # t        $ r* |j                  d«      s|j                  d«      r‚ d|icY S w xY w)Nr   zutf-8Ú{Ú[ro   )r®   rï   ÚbytesÚdecodeÚjsonÚloadsÚ
ValueErrorro  )r&   ro   s     r(   Ú__structuredFromJsonzRequester.__structuredFromJsonô  so   € Üˆt‹9˜Š>Øä˜$¤Ô&Ø—{‘{ 7Ó+�ð&Ü—z‘z $Ó'Ð'øÜò &Ø—?‘? 3Ô'¨4¯?©?¸3Ô+?ØØ �~Ò%ð&ús   ²A Á0A:Á9A:c                ó²   — | j                  |||||¬«      \  }}}t        |d«      5 }	|D ]  }
|
sŒ|	j                  |
«       Œ 	 ddd«       y# 1 sw Y   yxY w)zh
        GET a file from the server and save it to the given path, which includes the filename.
        r4   ÚwbN)Ú	getStreamÚopenÚwrite)r&   rf   rÊ   r  r$   rH  r5   Ú_Ústream_chunk_iteratorÚfÚchunks              r(   ÚgetFilezRequester.getFile  sU   € ð '+§n¡n°S¸*ÀgÈsÐ_i nÓ&jÑ#ˆˆ1Ð#Ü�$˜Ô Û.�ÚØ—G‘G˜E•Nñ /÷ ×Ñús   §A°AÁAc                ó   — |€i }d|d<   dd„}| j                  |d|||d|dd¬«	      \  }}}	t        |	t        «      st        |	d«      r1t        |	d	«      r%|	j	                  «        |||	j                  |¬
«      fS t        dt        |	«      › �«      ‚)zo
        GET a stream from the server.

        :returns:``(status, headers, stream_chunk_iterator)``

        Nzapplication/octet-streamÚAcceptc                 ó   — y)N)r0   r0   rB   )r¸  s    r(   Úencodez#Requester.getStream.<locals>.encode%  s   € Ør*   r†  T©rh   r=  r6   r8   r4   z$Expected a RequestsResponse object: )r¸  r   r9   útuple[str, str])Ú_Requester__requestEncoderï   r   Úhasattrr8   r6   Ú	TypeErrorrZ  )
r&   rf   r  r$   rH  r5   rÀ  r#   r‚  rƒ  s
             r(   rµ  zRequester.getStream  s®   € ð ˆ?ØˆGØ6ˆ�Ñó	ð +/×*>Ñ*>Ø�˜˜Z¨°$¸ÀtÐaeð +?ó +
Ñ'ˆ� ô �fÔ.Ô/Ü�F˜NÔ+´¸Ð@RÔ0Sà×#Ñ#Ô%Ø˜?¨F×,?Ñ,?È:Ð,?Ó,VÐVÐVÜÐ>¼tÀF»|¸nÐMÓNÐNr*   c           
     ó„   — dd„}| j                  ||||||||¬«      \  }	}
}t        |t        «      r|	|
|fS t        d«      ‚)zŸ
        Send a request with JSON input.

        :param input: request body, will be serialized as JSON
        :returns:``(status, headers, body)``

        c                ó0   — dt        j                  | «      fS )Nzapplication/json)r¯  ÚdumpsrX  s    r(   rÀ  z%Requester.requestJson.<locals>.encodeD  s   € Ø%¤t§z¡z°%Ó'8Ð8Ð8r*   r<  z1requestJson() Expected a str, should never happen)rg   r   r9   rÂ  ©rÃ  rï   r;   r±  )r&   re   rf   r  r$   rg   rH  r=  rÀ  r#   r‚  rƒ  s               r(   r@  zRequester.requestJson2  s\   € ó$	9ð +/×*>Ñ*>Ø��s˜J¨°¸ÐTgð +?ó +
Ñ'ˆ� ô �fœcÔ"Ø˜?¨FÐ2Ð2ÜÐLÓMÐMr*   c           	     ó€   — dd„}| j                  |||||||«      \  }}	}
t        |
t        «      r||	|
fS t        d«      ‚)z·
        Send a request with multi-part encoding.

        :param input: request body, will be serialized as multipart form data
        :returns:``(status, headers, body)``

        c                ó¦   — d}d}d}| j                  «       D ]'  \  }}|d|› |› �z  }|d|› d|› �z  }||z  }|||z   z  }Œ) |d|› d|› �z  }d|› �|fS )Nz(----------------------------3c3ba8b523b2z
r0   z--z&Content-Disposition: form-data; name="Ú"zmultipart/form-data; boundary=)r,   )rg   ÚboundaryÚeolÚencoded_inputÚnamer  s         r(   rÀ  z*Requester.requestMultipart.<locals>.encode_  s—   € ØAˆHØˆCàˆMØ$Ÿ{™{ž}‘��eØ 2 h Z°¨uÐ!5Ñ5�ØÐ#IÈ$ÈÈqÐQTÐPUÐ!VÑV�Ø Ñ$�Ø ¨¡Ñ,‘ð	  -ð
 ˜r ( ¨2¨c¨UÐ3Ñ3ˆMØ3°H°:Ð>ÀÐMÐMr*   z6requestMultipart() Expected a str, should never happen)rg   údict[str, Any]r9   rÂ  rÉ  ©r&   re   rf   r  r$   rg   rH  rÀ  r#   r‚  rƒ  s              r(   rD  zRequester.requestMultipartN  sS   € ó"	Nð +/×*>Ñ*>¸sÀDÈ#ÈzÐ[bÐdiÐkqÓ*rÑ'ˆ� Ü�fœcÔ"Ø˜?¨FÐ2Ð2ÜÐQÓRÐRr*   c           	     óè   ‡— ‰€i Šdˆfd„}|r+t        t        j                  j                  |«      «      ‰d<   | j	                  ||||‰||«      \  }}	}
t        |
t         «      r||	|
fS t        d«      ‚)z¯
        Send a request with a file as request body.

        :param input: path to a local file to use for request body
        :returns:``(status, headers, body)``

        c                ó–   •— d‰v r‰d   }n/t        j                  | «      }|d   �|d   nt        j                  }t	        | d«      }||fS )NúContent-Typer   Úrb)Ú	mimetypesÚ
guess_typerØ   ÚdefaultMediaTyper¶  )Ú
local_pathÚ	mime_typeÚguessed_typerº  r$   s       €r(   rÀ  z%Requester.requestBlob.<locals>.encode„  sV   ø€ Ø Ñ(Ø# NÑ3‘	ä(×3Ñ3°JÓ?�Ø/;¸A©Ð/J˜L¨šOÔPV×PgÑPg�	Ü�Z Ó&ˆAØ˜a�<Ðr*   zContent-Lengthz1requestBlob() Expected a str, should never happen)rÚ  r;   r9   útuple[str, Any])r;   ÚosrÊ   ÚgetsizerÃ  rï   r±  rÒ  s       `      r(   rG  zRequester.requestBlobq  s   ø€ ð  ˆ?ØˆGõ	 ñ Ü(+¬B¯G©G¯O©O¸EÓ,BÓ(CˆGÐ$Ñ%à*.×*>Ñ*>¸sÀDÈ#ÈzÐ[bÐdiÐkqÓ*rÑ'ˆ� Ü�fœcÔ"Ø˜?¨FÐ2Ð2ÜÐLÓMÐMr*   c           	     óð   ‡‡— dˆˆfd„}|s| j                  |«      }| j                  ||||‰‰|«      \  }}	}
t        |
t        «      r% | j                  ||g| j                  ||	|
«      ¢­Ž S t        d«      ‚)a	  
        Send a request with a binary file-like for the body.

        :param file_like: file-like object to use for the request body
        :return: ``(headers: dict, JSON Response: Any)``
        :raises: :class:`GithubException` for error status codes

        c                ó   •— ‰d   ‰fS )NrÕ  rB   )r¸  Ú	file_liker$   s    €€r(   rÀ  z3Requester.requestMemoryBlobAndCheck.<locals>.encode¨  s   ø€ Ø˜>Ñ*¨IÐ5Ð5r*   z?requestMemoryBlobAndCheck() Expected a str, should never happen)r¸  r   r9   rÝ  )rA  rÃ  rï   r;   r>  r?  r±  )r&   re   rf   r  r$   râ  rH  rÀ  r#   r‚  rƒ  s       ``     r(   ÚrequestMemoryBlobAndCheckz#Requester.requestMemoryBlobAndCheck•  s�   ù€ ö&	6ñ Ø×)Ñ)¨#Ó.ˆCà*.×*>Ñ*>¸sÀDÈ#ÈzÐ[bÐdmÐouÓ*vÑ'ˆ� Ü�fœcÔ"Ø%�4×%Ñ% d¨CÐ`°$·,±,¸vÀÐX^Ó2_Ò`Ð`ÜÐZÓ[Ð[r*   c
           	     óÌ  — |dv sJ ‚|€i }|€i }| j                   �| j                   j                  |«       | j                  |d<   | j                  �| j                  |t        j
                  <   | j                  |«      }t        j                  ||«      }d }
|� ||«      \  |d<   }
| j                  |«       | j                  |||||
||	¬«      \  }}}t        j                  |v rat        j                  |v rOt        t        |t        j                     «      «      t        t        |t        j                     «      «      f| _        t        j                   |v r*t        t        |t        j                      «      «      | _        t        j$                  |v r'|t        j$                     j'                  d«      | _        | j+                  ||t-        |t.        «      r|nd«       |||fS )N)ÚHEADr†  rW  ÚPATCHÚPUTÚDELETEz
User-AgentrÕ  rÁ  z, rh   )rÍ   Úauthenticationrò   rõ   rØ   ÚheaderApiVersionÚ_Requester__makeAbsoluteUrlrV   r!  r±   Ú_Requester__requestRawÚheaderRateRemainingÚheaderRateLimitr²   Úfloatrì   ÚheaderRateResetrí   ÚheaderOAuthScopesÚsplitrñ   r¸   rï   r;   )r&   rH  re   rf   r  ÚrequestHeadersrg   rÀ  rh   r=  rÏ  r#   r‚  rƒ  s                 r(   Ú__requestEncodezRequester.__requestEncode³  sÑ  € ð ÐHÑHÐHÐHØÐØˆJØÐ!ØˆNà�;‰;Ð"Ø�K‰K×&Ñ& ~Ô6Ø'+×'7Ñ'7ˆ�|Ñ$Ø×ÑÐ(Ø6:×6GÑ6GˆNœ6×2Ñ2Ñ3à×$Ñ$ SÓ)ˆÜ×-Ñ-¨c°:Ó>ˆàˆØÐÙ<BÀ5»MÑ9ˆN˜>Ñ*¨Mà×Ñ˜^Ô,à*.×*;Ñ*;Ø��s˜N¨MÀ&Ð^qð +<ó +
Ñ'ˆ� ô ×%Ñ%¨Ñ8¼V×=SÑ=SÐWfÑ=fô ”E˜/¬&×*DÑ*DÑEÓFÓGÜ”E˜/¬&×*@Ñ*@ÑAÓBÓCð"ˆDÔô
 ×!Ñ! _Ñ4ä+.¬u°_ÄV×E[ÑE[Ñ5\Ó/]Ó+^ˆDÔ(ä×#Ñ# Ñ6Ø /´×0HÑ0HÑ I× OÑ OÐPTÓ UˆDÔà×Ñ˜v Ä*ÈVÔUXÔBY¹Ð_gÔhà�¨Ð.Ð.r*   c           	     ó(  — | j                  |«       	 |}|€| j                  «       }|j                  |||||«       |j                  «       }	|r|	n|	j	                  «       }
|	j
                  }|	j                  «       D ��ci c]  \  }}|j                  «       |“Œ }}}|r t        |t        «      r|j                  «        | j                  |||||||
«       |dk(  rU|dk(  s|dk(  rKt        j                  t        j                  «       | j!                  ||||||¬«      | j#                  |«       S |dk(  �r“d|v �rŽ|d   }t$        j&                  j)                  |«      }|j*                  | j,                  k7  r&t/        d| j,                  › d|j*                  › d	�«      ‚|j0                  | j2                  k7  r&t/        d
| j2                  › d|j0                  › d	�«      ‚|j4                  |k(  rW| j6                  �dt9        | j6                  «      z   nd}| j,                  › d| j2                  › |› |› �}t/        d|› d|› d�«      ‚| j:                  j=                  t>        j@                  «      r+| j:                  jC                  d|› d|j4                  › �«       | j!                  |||j4                  |||¬«      | j#                  |«       S |dk(  �r|�r
d|v �r|d   }t$        j&                  j)                  |«      }| jE                  |«      }| jG                  |«      }| j:                  j=                  t>        jH                  «      r+| j:                  jK                  d|› d|j4                  › �«       |j0                  | j2                  k7  r)|jM                  «       D ��ci c]  \  }}|dk7  sŒ||“Œ }}}| j!                  ||||||d¬«      | j#                  |«       S |||
f| j#                  |«       S c c}}w c c}}w # | j#                  |«       w xY w)NéÊ   r†  rå  )rh   i-  ÚlocationzGithub server redirected from z protocol to zJ, please correct your Github server URL via base_url: Github(base_url=...)z#Github server redirected from host z to rn   r0   rm   z
Requested z but server redirected to zS, you may need to correct your Github server URL via base_url: Github(base_url=...)z)Following Github server redirection from i.  z/Following Github server redirection (302) from ÚAuthorizationTrÁ  )'Ú_Requester__deferRequestÚ_Requester__createConnectionrj   ru   r2   r#   r.   rs   rï   r
   ry   Ú_Requester__logÚtimeÚsleeprØ   ÚPROCESSING_202_WAIT_TIMErì  Ú_Requester__recordRequestTimerÏ   rÐ   rÑ   rå   ræ   rO  r×   rÂ   rÊ   rÝ   r;   Ú_loggerÚisEnabledForÚloggingÚINFOÚinforA  rë  ÚDEBUGÚdebugr,   )r&   rH  re   rf   ró  rg   rh   r=  Úoriginal_cnxr%   rƒ  r#   r  r  r‚  r÷  rþ   rN   Úrequested_locationrÊ   s                       r(   Ú__requestRawzRequester.__requestRawé  sþ  € ð 	×Ñ˜DÔ!ð?	+ØˆLØˆ{Ø×-Ñ-Ó/�Ø�K‰K˜˜c 5¨.¸&ÔAØ—‘Ó(ˆHÙ!'‘X¨X¯]©]«_ˆFØ—_‘_ˆFØ8@×8KÑ8KÔ8MÔNÑ8M±°°1˜qŸw™w›y¨!™|Ð8MˆOÑNáÜ˜e¤VÔ,Ø—K‘K”Mà�J‰J�t˜S .°%¸ÀÐRXÔYà˜Š}Ø˜’ ¨¢ä—
‘
œ6×:Ñ:Ô;Ø×(Ñ(¨°t¸SÀ.ÐRWÐ`fÐ(ÓgðV ×$Ñ$ TÕ*ðS ˜‹} ¨Ò!>Ø*¨:Ñ6�Ü—L‘L×)Ñ)¨(Ó3�Ø—8‘8˜tŸ}™}Ò,Ü&Ø8¸¿¹¸À}ÐUV×U]ÑU]ÐT^ð _cð dóð ð —:‘: §¡Ò0Ü&Ø=¸d¿o¹oÐ=NÈdÐST×S]ÑS]ÐR^ð _cð dóð ð —6‘6˜S’=Ø59·[±[Ð5L˜3¤ T§[¡[Ó!1Ò1ÐRT�DØ,0¯M©M¨?¸#¸d¿o¹oÐ=NÈtÈfÐUXÐTYÐ)ZÐ&Ü&Ø$Ð%7Ð$8Ð8RÐS[ÐR\ð ]=ð >óð ð
 —<‘<×,Ñ,¬W¯\©\Ô:Ø—L‘L×%Ñ%Ð(QÐRUÐQVÐVZÐ[\×[aÑ[aÐZbÐ&cÔdØ×(Ñ(¨°t¸Q¿V¹VÀ^ÐUZÐciÐ(Ójð$ ×$Ñ$ TÕ*ð# ˜‹}Ò!4¸ÀÒ9VØ*¨:Ñ6�Ü—L‘L×)Ñ)¨(Ó3�Ø×-Ñ-¨hÓ7�Ø×-Ñ-¨hÓ7�Ø—<‘<×,Ñ,¬W¯]©]Ô;Ø—L‘L×&Ñ&Ð)XÐY\ÐX]Ð]aÐbc×bhÑbhÐaiÐ'jÔkà—:‘: §¡Ò0Ø7E×7KÑ7KÔ7MÔ%fÑ7M©t¨q°!ÐQRÐVeÓQe a¨¡dÐ7M�NÑ%fØ×(Ñ(Ø˜˜t ^°UÀ6Ð_cð )ó ð ×$Ñ$ TÕ*ð	 ˜?¨FÐ2ð ×$Ñ$ TÕ*ùóo Oùó^ &gøð ×$Ñ$ TÕ*úsE   “A,O> Á?O2ÂBO> Ä0FO> Ë	CO> ÎO8Î+O8Î0O> ÏO> Ï2O> Ï>Pc                óÂ  — | j                   j                  «       }| j                   j                  «       D ��cg c]  \  }}|dk7  sŒ|‘Œ }}}|rt        |«      nd}|rt        |«      nd}| j                  r|| j                  z   nd}| j
                  r|| j
                  z   nd}	|dk(  r|nt        ||	«      }
t        |
t        j                  t        j                  «      j                  «       z
  d«      }|dkD  r_| j                  €t        j                  t        «      | _        | j                  j                  d|› d�«       t!        j"                  |«       y y c c}}w )Nr†  r   z	sleeping zs before next GitHub request)rä   r  r,   ÚmaxrÆ   rÇ   r   Únowr	   ÚutcÚ	timestampr�   r  Ú	getLoggerr?   r  rü  rý  )r&   re   rS   r  ÚlÚwritesÚlast_requestÚ
last_writeÚnext_requestÚ
next_writeÚnextÚdefers               r(   Ú__deferRequestzRequester.__deferRequest6  s(  € ð ×'Ñ'×.Ñ.Ó0ˆØ $× 4Ñ 4× :Ñ :Ô <ÔKÑ <™˜˜1ÀÀUÃ
’!Ð <ˆÑKá(0”s˜8”}°aˆÙ$*”S˜”[°ˆ
àKO×KjÒKj˜ t×'FÑ'FÒFÐpqˆØEI×EbÒEb�j 4×#@Ñ#@Ò@Ðhiˆ
à# uš}‰|´#°lÀJÓ2OˆÜ�Dœ8Ÿ<™<¬¯©Ó5×?Ñ?ÓAÑAÀ1ÓEˆØ�1Š9Ø�}‰}Ð$Ü '× 1Ñ 1´(Ó ;�”Ø�M‰M×Ñ )¨E¨7Ð2NÐ OÔPÜ�J‰J�uÕð	 ùó Ls   ¸EÁEc                ó€   — t        j                  t        j                  «      j	                  «       | j
                  |<   y r!   )r   r  r	   r  r  rä   )r&   re   s     r(   Ú__recordRequestTimezRequester.__recordRequestTimeK  s(   € ä%-§\¡\´(·,±,Ó%?×%IÑ%IÓ%Kˆ×Ñ˜TÒ"r*   c                óä   — |j                  d«      r| j                  › |› �}|S t        j                  j	                  |«      }|j
                  }|j                  dk7  r|d|j                  › �z  }|S )NrË   r0   r  )ro  rß   rÏ   rÐ   rÑ   rÊ   r  )r&   rf   rþ   s      r(   Ú__makeAbsoluteUrlzRequester.__makeAbsoluteUrlO  sl   € ð �>‰>˜#ÔØ—]‘]�O C 5Ð)ˆCð ˆ
ô	 —‘×%Ñ% cÓ*ˆAØ—&‘&ˆCØ�w‰w˜"Š}Ø˜˜1Ÿ7™7˜)�}Ñ$�Øˆ
r*   c           	     óŠ  — |€| j                   }| j                  r1| j                  �%|| j                  j                  k(  r| j                  S | j                  5  | j                  r:| j                  �.|| j                  j                  k(  r| j                  cd d d «       S | j                  �!| j                  j                  «        d | _        | j                  || j                  | j                  | j                  | j                  | j                  ¬«      | _        d d d «       | j                  S # 1 sw Y   | j                  S xY w)N)rE   r\   rQ   rH   )rÂ   r‘   rç   rO   rê   ry   rÁ   rÝ   rá   râ   rà   ró   )r&   r×   s     r(   Ú__createConnectionzRequester.__createConnection[  s  € ð ÐØ—‘ˆHà�>Š>˜d×/Ñ/Ð;ÀÈD×L]ÑL]×LbÑLbÒ@bØ×$Ñ$Ð$à×#Ó#Ø�~Š~ $×"3Ñ"3Ð"?ÀHÐPT×PaÑPa×PfÑPfÒDfØ×(Ñ(÷ $Ñ#ð × Ñ Ð,Ø×!Ñ!×'Ñ'Ô)Ø$(�Ô!Ø $× 6Ñ 6ØØ—‘Ø—l‘lØ×*Ñ*ØŸ™Ø—}‘}ð !7ó !ˆDÔ÷ $ð × Ñ Ð ÷ $ð × Ñ Ð ús   Á=D.ÂA;D.Ä.Ec                ón   — | j                   €t        j                  t        «      | _         | j                   S r!   )r�   r  r  r?   r-   s    r(   r   zRequester._loggeru  s(   € à�=‰=Ð Ü#×-Ñ-¬hÓ7ˆDŒMØ�}‰}Ðr*   c                óZ  — | j                   j                  t        j                  «      r‚|j	                  «       }| j
                  r| j
                  j                  |«       | j                   j                  d|| j                  | j                  |||||t        |t        «      r|nd«
       y y )Nz%s %s://%s%s %s %s ==> %i %s %srh   )r   r  r  r  r  rÍ   Úmask_authenticationr  ræ   rÂ   rï   r;   )	r&   re   rf   ró  rg   r#   r‚  rƒ  ÚheadersForRequests	            r(   Ú__logzRequester.__log{  s‹   € ð �<‰<×$Ñ$¤W§]¡]Ô3Ø .× 3Ñ 3Ó 5ÐØ�{Š{Ø—‘×/Ñ/Ð0AÔBØ�L‰L×ÑØ1ØØ—‘Ø—‘ØØ!ØØØÜ$ V¬SÔ1‘°xõð	 4r*   )rj   úrequests.models.PreparedRequestr9   r$  )r•   z!type[HTTPRequestsConnectionClass]r–   z"type[HTTPSRequestsConnectionClass]r9   r>   r=   )r�   úlogging.Loggerr9   r>   )r£   r|   r9   r>   )r§   r   r9   r>   )r¯   r   r9   r>   )r¶   r²   r·   zdict[str, str | int]ro   r;   r9   r>   )r»   r   r9   r>   )NNFN)rX   úAuth | Nonerø   r;   rQ   r²   rù   r;   rð   r²   rH   z
bool | strrE   r}   r\   r<   rú   rÅ   rû   rÅ   rü   r|   rý   rÃ   )r9   rÑ  )r  rÑ  r9   r>   )r
  r;   r  r;   r9   r;   )rÊ   rÃ   r9   r;   )rf   r;   r9   zdict[str, list])rf   r;   r  rÑ  r9   r;   r:   )r9   r&  )rX   r&  r9   rV   )r9   r|   )rü   z	Opt[bool]r9   rV   )r9   rÃ   )rý   rÃ   r9   rV   )NNNF)re   r;   rf   r;   r  údict[str, Any] | Noner$   údict[str, str] | Nonerg   ú
Any | Noner=  r|   r9   útuple[dict[str, Any], Any])NNN)re   r;   rf   r;   r  r'  r$   r'  rg   r(  r9   z,tuple[dict[str, Any], dict[str, Any] | None])NNNN)re   r;   rf   r;   r  r(  r$   r(  rg   rÃ   rH  úAHTTPRequestsConnectionClass | HTTPSRequestsConnectionClass | Noner9   ú%tuple[dict[str, Any], dict[str, Any]])rL  rã   r9   rã   )
r$   rÑ  ro   rÑ  rQ  ú	list[str]rR  ú
type[T_gh]r9   r   )r  r;   rV  rÑ  r9   r,  )
r  r;   rV  rÑ  rQ  r-  rR  r.  r9   r   )rq  r;   rr  r;   rs  r;   r9   r,  r!   )
rq  r;   rr  r;   rR  r.  rs  rÃ   r9   r   )rz  r;   r{  rÑ  rr  r;   r9   r,  )rz  r;   r{  rÑ  rr  r;   rS  r;   rR  r.  r9   r   )r#   r²   r‚  rÑ  rƒ  r;   r9   r*  )
re   r;   rf   r;   r‚  rÑ  ro   r   r9   r*  )r×   r;   r�  zstr | list[str]r9   r|   )rf   r;   r9   r>   )rf   r;   r9   r+  )r#   r²   r$   rÑ  rƒ  rÑ  r9   zGithubException.GithubException)r]  r;   r9   r|   )ro   r;   r9   r   )NNNr   )rf   r;   rÊ   r;   r  r'  r$   r(  rH  r+  r5   úint | None | Noner9   r>   )rf   r;   r  r'  r$   r(  rH  r+  r5   r/  r9   z$tuple[int, dict[str, Any], Iterator])NNNNF)re   r;   rf   r;   r  r'  r$   r'  rg   r)  rH  r+  r=  r|   r9   útuple[int, dict[str, Any], str])re   r;   rf   r;   r  r'  r$   r'  rg   r(  rH  r+  r9   r0  )re   r;   rf   r;   r  r(  r$   r(  rg   rÃ   rH  r+  r9   r0  )re   r;   rf   r;   r  r   r$   rÑ  râ  r   rH  r+  r9   r*  )FF)rH  r+  re   r;   rf   r;   r  r(  ró  r(  rg   zT | NonerÀ  zCallable[[T], tuple[str, Any]]rh   r|   r=  r|   r9   ú(tuple[int, dict[str, Any], str | object])rH  r+  re   r;   rf   r;   ró  r   rg   r)  rh   r|   r=  r|   r9   r1  )re   r;   r9   r>   )rf   r;   r9   r;   )r×   rÃ   r9   z:HTTPRequestsConnectionClass | HTTPSRequestsConnectionClass)r9   r%  )re   r;   rf   r;   ró  r   rg   r)  r#   r<   r‚  rÑ  rƒ  zstr | object | Noner9   r>   )Tr?   r@   rA   r�   rƒ   r’   rD   r“   r‘   r�   ÚstaticmethodrW   Úclassmethodr—   rš   rž   r    r¤   r¨   r¢   r¬   rµ   r¦   r±   r¸   r¾   rÀ   r)   r  r  r  rÒ   r  r!  ry   Úpropertyrb   rø   r(  rå   r×   r,  rX   r0  r3  r5  r7  rý   r:  rB  rE  rI  rK  rT  re  rg  ru  rw  r}  r  r?  r>  r‹  r—  rA  ra  rŸ  r¥  r¦  r�  r¼  rµ  r@  rD  rG  rã  rÃ  rì  rù  rÿ  rë  rú  r   rû  rB   r*   r(   rV   rV     sÌ	  … Ø"BÓBØ(Ó(à7ÐØ9ÐØ€IØ&*€HÐ#Ó*àÓàòó ðð ð:à>ð:ð Að:ð 
ò	:ó ð:ð òBó ðBð
 òó ðð òó ðð
 òó ðð ò$ó ð$ð €Jà"Ðà$Ðà#'€K�Ó'ó:ó 
Eó)óð ÓØ]Ó]ØƒOØ%Ó%Ø ,Ó,Ø*Ó*ð 26Ø/3ØØ"&ðC,àðC,ð ðC,ð ð	C,ð
 ðC,ð ðC,ð ðC,ð "ðC,ð ðC,ð #/ðC,ð !-ðC,ð ðC,ð  óC,óJó,ð òó ðð
 ò!ó ð!ð ò,ó ð,ð ðMØðMà"ðMð 
òMó ðMó.	8ð ò
ó ð
ð( òó ðð ò"ó ð"ð òó ðð òó ðð ò0ó ð0ð
 òó ðó
#ð òó ðð òó ðó#ð  ò!ó ð!ó#ð* -1Ø)-Ø Ø$)ð 
àð 
ð ð 
ð *ð	 
ð
 'ð 
ð ð 
ð "ð 
ð 
$ó 
ðL -1Ø)-Ø'+ð
àð
ð ð
ð *ð	
ð
 'ð
ð %ð
ð 
6ó
ð6 -1Ø)-Ø ØQUð
àð
ð ð
ð *ð	
ð
 'ð
ð ð
ð Oð
ð 
/ó
ð0 òjó ðjð	*Ø%ð	*Ø-;ð	*ØHQð	*ØZdð	*à	ó	*ó&ð*NØðNØ%3ðNØ@IðNØR\ðNà	óNó$-ð` \`ðJØðJØ+.ðJØ7AðJØNXðJà	óJð.DØ ðDØ2@ðDØQTðDà	.óDð8@Ø ð@Ø2@ð@ØQTð@Ø\_ð@Øhrð@à	ó@ð&	%àð	%ð (ð	%ð ð		%ð
 
$ó	%ð%Øð%Ø!ð%Ø4Bð%ØJMð%à	#ó%ð òTó ðTóTóð> ð1àð1ð  ð1ð ð	1ð
 
)ò1ó ð1ð: ò^ó ð^ð ò=ó ð=ð ò	
ó ð	
ó&ð" -1Ø)-ØQUØ()ð#àð#ð ð#ð *ð	#ð
 'ð#ð Oð#ð &ð#ð 
ó#ð* -1Ø)-ØQUØ()ðOàðOð *ðOð 'ð	Oð
 OðOð &ðOð 
.óOðF -1Ø)-Ø ØQUØ$)ðNàðNð ðNð *ð	Nð
 'ðNð ðNð OðNð "ðNð 
)óNð@ -1Ø)-Ø'+ØQUð!Sàð!Sð ð!Sð *ð	!Sð
 'ð!Sð %ð!Sð Oð!Sð 
)ó!SðN -1Ø)-Ø ØQUð"Nàð"Nð ð"Nð *ð	"Nð
 'ð"Nð ð"Nð Oð"Nð 
)ó"NðV RVð\àð\ð ð\ð ð	\ð
  ð\ð ð\ð Oð\ð 
$ó\ðN Ø$)ð4/àNð4/ð ð4/ð ð	4/ð
 *ð4/ð .ð4/ð ð4/ð /ð4/ð ð4/ð "ð4/ð 
2ó4/ðz Ø$)ðK+àNðK+ð ðK+ð ð	K+ð
 'ðK+ð ðK+ð ðK+ð "ðK+ð 
2óK+óZó*Ló
ð &*ð!Ø"ð!à	Có!ð4 òó ðð
àðð ðð 'ð	ð
 ðð ðð (ðð $ðð 
ôr*   rV   c                  ó>   — e Zd ZU dZded<   dd„Zed	d„«       Zd
d„Zy)rö   z5
    Mixin class that allows to set a requester.
    rV   Ú_WithRequester__requesterc                ó   — d | _         y r!   ©r6  r-   s    r(   r)   zWithRequester.__init__ž  s
   € Ø-1ˆÕr*   c                ó   — | j                   S r!   r8  r-   s    r(   Ú	requesterzWithRequester.requester¡  s   € à×ÑÐr*   c                óB   — t        |t        «      sJ |«       ‚|| _        | S r!   )rï   rV   r6  )r&   r:  s     r(   r÷   zWithRequester.withRequester¥  s$   € Ü˜)¤YÔ/Ð:°Ó:Ð/Ø$ˆÔØˆr*   Nr=   )r9   rV   )r:  rV   r9   zWithRequester[T])	r?   r@   rA   Ú__doc__r�   r)   r4  r:  r÷   rB   r*   r(   rö   rö   —  s-   … ñð Óó2ð ò ó ð ôr*   rö   )4Ú
__future__r   Úior¯  r  r×  rÞ  rè   rü  rÏ   Úurllib.parseÚcollectionsr   Úcollections.abcr   r   r   r   r	   r
   Útypingr   r   r   r   r   r   rS   Úrequests.adaptersÚurllib3r   Úgithub.ConstsrØ   Úgithub.GithubExceptionr_  rp  Úgithub.GithubObjectr   r   r   r   r   r   r   r   r   Ú&ACCESS_TOKEN_REFRESH_THRESHOLD_SECONDSr   rD   rƒ   rV   rö   rB   r*   r(   Ú<module>rI     s¾   ðõr #ã 	Û Û Û Û 	Û Û Û Û Ý ß 9Ñ 9ß 'Ý ß H× Hã Û Ý å Û Ý 0ß IÑ IáÝ4ÝÝ*ÝDáˆCƒL€Ùˆv˜^Ô,€ð *,Ð &÷)ñ )÷(Fñ F÷R=ñ =÷@wñ wôt#�G˜A‘Jõ r*   