HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/CyberCP/lib/python3.10/site-packages/CloudFlare/__pycache__/cloudflare.cpython-310.pyc
o

�h���@s�dZddlZddlZddlmZmZddlmZddlm	Z	m
Z
ddlmZmZddl
m
Z
dd	lmZdd
lmZddlmZmZddlmZmZmZd
ZdZdZdZGdd�d�ZGdd�de�ZGdd�de�ZdS)z� Cloudflare v4 API

A Python interface Cloudflare's v4 API.

See README.md for detailed/further reading.

Copyright (c) 2016 thru 2024, Cloudflare. All rights reserved.
�N�)�	CFnetwork�CFnetworkError)�CFlogger)�
user_agent�
build_curl)�read_configs�ReadConfigError)�api_v4)�
api_extras)�api_decode_from_openapi)�CloudFlareAPIError�CloudFlareInternalError)�warning_2_20�warn_warning_2_20�indent_warning_2_20z$https://api.cloudflare.com/client/v4z?https://github.com/cloudflare/api-schemas/raw/main/openapi.json�c@seZdZdZGdd�d�ZGdd�d�ZGdd�de�ZGdd	�d	e�ZGd
d�de�ZGdd
�d
e�Z	Gdd�de�Z
edd��Zdd�dd�Z
ddd�dd�Zdd�Zdd�Zd4dd �Zd5d!d"�Zd6d$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�ZdS)7�
CloudFlarea� A Python interface Cloudflare's v4 API.

    :param email: Authentication email (if not provided by config methods).
    :param key: Authentication key (if not provided by config methods).
    :param token: Authentication token (if not provided by config methods).
    :param certtoken: Authentication certtoken (if not provided by config methods).
    :param debug: Debug is enabled by setting to True.
    :param raw: Set to True to force raw responses so you can see paging.
    :param use_sessions: The default is True; rarely needs changing.
    :param profile: Profile name (default is "CloudFlare").
    :param base_url: Rarely changed Cloudflare API URL.
    :param global_request_timeout: Timeout value (default is 5 seconds).
    :param max_request_retries: Number of retry times (default is 5 times).
    :param http_headers: Additional HTTP headers (as a list).
    :return: New instance of CloudFlare()

    A Python interface Cloudflare's v4 API.
    c@s�eZdZdZd$dd�Zdd�Zd%dd	�Zd
d�Zdd
�Zd&dd�Z	d&dd�Z
d&dd�Zd&dd�Zd&dd�Z
dd�Zdd�Zdd�Zdd�Zd%d d!�Zd"d#�ZdS)'zCloudFlare._v4base� :meta private: Tc	Cs�d|_||_d|vr|dnd|_d|vr|dnd|_d|vr$|dnd|_d|vr/|dnd|_d|vr:|dnt|_d|vrE|dnt|_	|d|_
|d	|_d
|vrZ|d
nt|_
d|vre|dnt|_zt|j
�|_
Wnttfy~t|_
Ynwzt|j�|_Wnttfy�t|_Ynwd|vr�|dnd|_|d
|_t|j|j
|jd�|_t�|_d|vr�|dr�t|d���nd|_|r�t�}|r�|jr�|j�t|��dStt|��dSdSdS)rN�email�key�token�	certtoken�base_url�openapi_url�raw�use_sessions�global_request_timeout�max_request_retries�http_headers�profile)rrr�debug)�network�config�	api_email�api_key�	api_token�
api_certtoken�BASE_URLr�OPENAPI_URLrrr�DEFAULT_GLOBAL_REQUEST_TIMEOUTr�DEFAULT_MAX_REQUEST_RETRIESr�int�	TypeError�
ValueError�additional_http_headersr rrr�	getLogger�loggerr�warningrr)�selfr#�warningsr2�r5�H/usr/local/CyberCP/lib/python3.10/site-packages/CloudFlare/cloudflare.py�__init__4sN


�
�
�&�zCloudFlare._v4base.__init__cCs|jr
|`d|_dSdS�N)r"�r3r5r5r6�__del__fs
�zCloudFlare._v4base.__del__NcCs�i|_|j|jd<|dkrd|jd<ng|duru||vru||}t|t�rod}|D]<}d|kr>t|ttf�r>||jd<d}n'd|krRt|ttf�rR||jd<d}nd	|krdt|t�rd||jd<d}nq(|sn|d
|jd<n||jd<nd|jd<|dk�r|jddkr�t|t�r�d	|jd<|jddkr�t|ttf�r�d|jd<|r�t|�d
kr�|jddkr�|dur�t	�}|�
�D]"\}}	t|	ttf�r�|�|dt�
|	�dff�q�|�|d|	ff�q�d}|dur�t|�d
kr�d}|dur�t|�d
kr�d}|du�r|du�r|jddk�r|jd=|�rd|jd<|jd=|j�re|jD]A}
|
�dd
�\}}	|��}|	��}	t|	�d
k�r^|	d
dk�rJ|	ddk�sX|	d
dk�r^|	ddk�r^|	d
d�}	|	|j|<�q#||fS)z Add default headers z
User-Agent�GET�application/json�Content-TypeNF�application/octet-streamT�application/javascriptrzmultipart/form-data�:r�"����')�headersr�
isinstance�list�bytes�	bytearray�dict�str�len�set�items�add�json�dumpsr/�split�strip)r3�method�data�files�content_type�ct�found�t�k�v�hr5r5r6�_add_headerskst



��



$

FzCloudFlare._v4base._add_headerscCs�d|��}||jvr|j|n|j}d|��}||jvr#|j|n|j}d|��}||jvr6|j|n|j}|durS|durS|durS|jrN|j�d�tdd��|duri|duri|jrd|j�d�tdd��|dur�|dur�|dur�|jr~|j�d�tdd��|dur�|dur�d	||jd
<dS|dur�|dur�d	||jd
<dS|dur�|dur�||jd<||jd<dS|dur�|dur�||jd<||jd<dSt	dd
��)� Add authentication headers zemail.zkey.ztoken.Nz"neither email/key or token definedrz*confused info - both key and token definedz2email defined however neither key or token definedz	Bearer %s�
AuthorizationzX-Auth-Emailz
X-Auth-Keyz
coding issue!)
�lowerr#r$r%r&r1r!r
rDr)r3rSr[r$r%r&r5r5r6�_add_auth_headers�s:





z$CloudFlare._v4base._add_auth_headerscCsZd|��}||jvr|j|}n|j}|dur&|jr!|j�d�tdd��||jd<dS)r^z
certtoken.Nzno cert token definedrzX-Auth-User-Service-Key)r`r#r'r1r!r
rD)r3rSr[r'r5r5r6�_add_certtoken_headers�s

z)CloudFlare._v4base._add_certtoken_headerscCs|jr	|j�d�tdd��)� Cloudflare v4 APIz"call for this method not availabler)r1r!r
�r3rS�parts�identifiers�paramsrTrUrVr5r5r6�do_not_available�s
z#CloudFlare._v4base.do_not_availablec	CsP|�||||�\}}t|tttf�r|�|||||d|�S|�||||d||�S�rcN)r]rErJrGrH�_callrdr5r5r6�
do_no_auth�szCloudFlare._v4base.do_no_authc	C�Z|�||||�\}}|�|�t|tttf�r"|�|||||d|�S|�||||d||�Sri)r]rarErJrGrHrjrdr5r5r6�do_auth�

zCloudFlare._v4base.do_authc	Crlri)r]rarErJrGrH�_call_unwrappedrdr5r5r6�do_auth_unwrappedrnz$CloudFlare._v4base.do_auth_unwrappedc	Crlri)r]rbrErJrGrHrjrdr5r5r6�do_certauthrnzCloudFlare._v4base.do_certauthc	
Cs�|dus
|ddurtdd��t|�dkr|ddus#|durl|dkrl|ddur.tdd��|ddurL|jd|ddt|d�d|d}	nA|jd|ddt|d�d|ddt|d�}	n!|ddur||jd|d}	n|jd|ddt|d�}	t|�dkr�|dr�|	d|d7}	|dr�|	dt|d�7}	t|�d	kr�|d	r�|	d|d	7}	|d	r�|	dt|d	�7}	t|�d
kr�|d
r�|	d|d
7}	|jr�t||	|||||�}
|j�d|
�z
|�||	|||||�}Wn?t	�y }z|j�r|j�d|�tdt|��d�d}~wt
�y?}z|j�r3|j�d
|�tdd|�d�d}~wwz|jd}
d|
v�rT|
d|
�d��}
|
�
���}
Wnt�ygd}
Ynw|j}|j}t|tttf��s�z|�d�}Wn
t�y�Ynw|j�r�d|
dd�k�s�|
dv�r�t|�dk�r�|j�d||
|dd��n|j�d||
|�n	|j�d||
d�|dk�r�z|jd}Wnttf�y�d}Ynw|j�r�|j�d|�d|k�r�dk�s�n|d k�rAz7t�|�}t|�dk�r#d!|v�r#d"|v�r#d#|d!|d"f}|��}d$}nd%|v�r0d&|v�r0d$}n	Wnttjjf�y@Ynwd |k�rMd'k�rXnn	|��tdd(��|
||gS))rcNrz&You must specify a method and endpointrr;z!You must specify first identifier�/���z"Call: emulated curl command ...
%szCall: network error: %szCall: network exception! %sznetwork exception: %sr=�;r>�utf-8ztext/r)r?r<�zResponse: %d, %s, %s...zResponse: %d, %s, %s�...i�zRetry-After�z$Response: 429 Header Retry-After: %si�i�i��code�errorzM{"errors": [{"code": %d, "message": "%s"}], "success": false, "result": null}���success�errorsiWz(internal error in status code processing)rrKr
rrJr1rr!r"r�	ExceptionrD�rfindrRr`�KeyError�status_code�contentrErGrH�decode�UnicodeDecodeError�
IndexErrorrO�loads�encoder.�decoder�JSONDecodeError�raise_for_status)r3rSrDrerfrg�data_str�	data_jsonrU�url�msg�response�e�
response_type�
response_code�
response_data�retry_after�jr5r5r6�
_call_network"s�
(
��
�����
����
����
����

��
�$
"��

z CloudFlare._v4base._call_networkc	Cs�|�||||||||�\}	}
}|
dvr#d|
d|
d�gt|�d�}|S|	dkr�t|d�rKz|�d�}WntyJ|jrC|j�d	�d
|d�YSwz|dkrSd
}nt�|�}Wn>t	tj
jfy�zg}|��D]
}
|�
t�|
��qk|}Wnt	tj
jfy�|jr�|j�d|�tdd�d
�wYnwt|t�r�d|vr�|Sd
|d�S|	dvr�t|d�r�z|�d�}Wnty�|jr�|j�d	�d
|d�YSwz|dkr�d
}nt�|�}Wn
t	tj
jfy�Ynwt|t�r�d|vr�|Sd
|d�S|	dv�r/t|d��r(z|�d�}Wnt�y'|j�r |j�d	�d
|d�YSwd
t|�d�S|	dv�s=|	dd�dv�rBd
|d�St|d��riz|�d�}Wnt�yh|j�ra|j�d	�d
|d�YSwd
t|�d�S)rc)r}������FzHTTP response code %d�r{�message)r~r�resultr<r�rwz<Response: decode(utf-8) failed, reverting to binary responseT)r~r�rzNzResponse data not JSON: %rrz)JSON parse failed - report to Cloudflare.r~)z
text/plainr>)ztext/javascriptr?z	text/htmlztext/cssztext/csv)zapplication/pdfzapplication/zip�)zaudio/zimage/zvideo/)r�rJ�hasattrr�r�r1r!rOr�r.r�r��
splitlines�appendr
rErI)r3rSrDrerfrgr�r�rUr�r�r��r�liner5r5r6�_raw�s�
��
�
����

�
��

�
�zCloudFlare._v4base._rawc
Cs�|�||j||||||�}d|vr�d|vr�|ddur)|jr$|j�d�d|d<n�|jr2|j�d�z
|ddd}	WntyGd	}	Ynwzt|ddd
�}
Wnty_d	}
Ynwz
d�|ddd�}Wntyxd	}Ynwd
|	d|
d|d�g|d<d|d<n,d|vr�|jr�|j�d�|}g|d<|d�|�d|d<n
|jr�|j�d�d|d<|ddu�r4d|vr�|ddur�|dd}
ni}
d|
vr�|
d}nd}d|
vr�|
d}	nd|
vr�|
d}	nd	}	d|
v�r#|
d}|D]}|j�r|j�d|d|d�q�|j�r|j�d||	�t||	|��|j�r/|j�d||	�t||	��|j	�r]i}z|d|d<Wnt�yP||d<Ynwd|v�r\|d|d<nz|d}Wnt�yo|}Ynw|j�r�t
|tttf��r�t
t|��dk�r�|j�dt|�dd��dd��|S|j�dt|��dd��|St
|ttf��r�|j�d|dd��|S|j�dd�|S)rcr~rNz#Response: assuming success = "True"Tz$Response: assuming success = "False"rr�rz�location�>�pathi��z - r�Fr�r{i��r|�error_chainzResponse: error %d %s - chainzResponse: error %d %s�result_inforxzResponse: %s...�
� �Response: %sry)r�rDr1r!r�rJ�joinr�r
rrErIrFrK�replacerGrH)r3rSrerfrgr�r�rUr�r�r�r�r�rr{r�r|r�r5r5r6rj1s�
��� 





�
�
��"���zCloudFlare._v4base._callc

Cs6|�||j||||||�}|jr|j�d|�|}	|	S)rcr�)r�rDr1r!)
r3rSrerfrgr�r�rUr�r�r5r5r6ro�s
z"CloudFlare._v4base._call_unwrappedc
Cs�|dur|j}z|�|�}Wnty,}z|jr |j�d|�tdd|�d�d}~wwz
t|�\}}}}WntyU}z|jrI|j�d|�tdd|�d�d}~ww|jrb|j�d|||�|S)rcNz OpenAPI read from web failed: %srzOpenAPI bad json file: %sz7OpenAPI version: %s, Cloudflare API version: %s url: %s)r�_read_from_webr�r1r!r
r�SyntaxError)r3r�r[r��openapi_version�cloudflare_version�cloudflare_urlr5r5r6�api_from_openapi�s*����	z#CloudFlare._v4base.api_from_openapic
Cszz |jr
|j�d�|�d|�}|jr|j�d�W|jSW|jSty<}z|jr2|j�d|�tdd�d�d}~ww)rczCall: doit!r;zCall: done!zCall: exception! "%s"rzconnection failed.N)r1r!r"r�r
�text)r3r�r�r�r5r5r6r��s����z!CloudFlare._v4base._read_from_web)Tr8)NNNN)�__name__�
__module__�__qualname__�__doc__r7r:r]rarbrhrkrmrprqr�r�rjror�r�r5r5r5r6�_v4base1s&
2
M,


	




$lm
	r�c@sfeZdZdZddd�Zddd�Zdd�Zd	d
�Zddd�Zdd
d�Z	ddd�Z
ddd�Zddd�ZdS)zCloudFlare._CFbaserNcCs$||_||_|r||_|jj|_dSri)�_base�_parts�
_content_typerh�_do�r3�basererVr5r5r6r7�s
zCloudFlare._CFbase.__init__cCs|j||||||d�S)rc)rgrT)�get)r3�identifier1�identifier2�identifier3�identifier4rgrTr5r5r6�__call__�szCloudFlare._CFbase.__call__cC�dd�|j�dS�rcz[/z/:id/�]�r�r�r9r5r5r6�__str__��zCloudFlare._CFbase.__str__cCr�r�r�r9r5r5r6�__repr__�r�zCloudFlare._CFbase.__repr__c
C�rz&t|dd�r|�d|j||||g|||j�WS|�d|j||||g||�WSty8}zt|d�d�d}~ww)rcr�Fr;�r�N��getattrr�r�r�r
�r3r�r�r�r�rgrTr�r5r5r6r���"��zCloudFlare._CFbase.getc
Cr��rcr�F�PATCHr�Nr�r�r5r5r6�patch�r�zCloudFlare._CFbase.patchc	
C�vz(t|dd�r|�d|j||||g||||j�WS|�d|j||||g|||�WSty:}zt|d�d�d}~ww�rcr�F�POSTr�Nr��	r3r�r�r�r�rgrTrUr�r5r5r6�post�$ ��zCloudFlare._CFbase.postc	
Cr��rcr�F�PUTr�Nr�r�r5r5r6�putr�zCloudFlare._CFbase.putc
Cr��rcr�F�DELETEr�Nr�r�r5r5r6�deleter�zCloudFlare._CFbase.deleter8�NNNNNN�NNNNNNN)
r�r�r�r�r7r�r�r�r�r�r�r�r�r5r5r5r6�_CFbase�s

	







r�c� eZdZdZ�fdd�Z�ZS)zCloudFlare._CFbaseUnusedrcst��|||�|jj|_dSri)�superr7r�rhr�r���	__class__r5r6r7#sz!CloudFlare._CFbaseUnused.__init__�r�r�r�r�r7�
__classcell__r5r5r�r6�
_CFbaseUnused �r�csHeZdZdZ�fdd�Zd
dd�Zddd�Zdd	d
�Zd
dd�Z�Z	S)zCloudFlare._CFbaseNoAuthrc�$t��|||�|jj|_d|_dS�rcTN)r�r7r�rkr��_validr�r�r5r6r7,�

z!CloudFlare._CFbaseNoAuth.__init__Nc
C�vz(t|dd�r|j�d|j||||g|||j�WS|j�d|j||||g||�WSty:}zt|d�d�d}~wwr��r�r�rhr�r�r
r�r5r5r6r�3r�zCloudFlare._CFbaseNoAuth.patchc	
Cszz*t|dd�r|j�d|j||||g||||j�WS|j�d|j||||g|||�WSty<}zt|d�d�d}~wwr�r�r�r5r5r6r�=s&"��zCloudFlare._CFbaseNoAuth.postc	
Csvz(t|dd�r|j�d|j||||g|||j�WS|j�d|j||||g||�WSty:}zt|d�d�d}~wwr�r�r�r5r5r6r�Gr�zCloudFlare._CFbaseNoAuth.putc
Cr�r�r�r�r5r5r6r�Qr�zCloudFlare._CFbaseNoAuth.deleter�r�)
r�r�r�r�r7r�r�r�r�r�r5r5r�r6�
_CFbaseNoAuth)s





r�cr�)zCloudFlare._CFbaseAuthrcr�r�)r�r7r�rmr�r�r�r�r5r6r7^r�zCloudFlare._CFbaseAuth.__init__r�r5r5r�r6�_CFbaseAuth[r�r�cr�)zCloudFlare._CFbaseAuthUnwrappedrcr�r�)r�r7r�rpr�r�r�r�r5r6r7hr�z(CloudFlare._CFbaseAuthUnwrapped.__init__r�r5r5r�r6�_CFbaseAuthUnwrappeder�r�cr�)zCloudFlare._CFbaseAuthCertrcr�r�)r�r7r�rqr�r�r�r�r5r6r7rr�z#CloudFlare._CFbaseAuthCert.__init__r�r5r5r�r6�_CFbaseAuthCertor�r�cCsZt�|�r	|d}d|dkrd|dd�}d|vr!|�dd�}d|vr+|�dd�}|S)	z sanitize_verb �_�@r�at_rN�.�-)�keyword�	iskeywordr�)�clsr[r5r5r6�
sanitize_verbys
zCloudFlare.sanitize_verbN�rVcGs|j|||dd�dS)z add_carefully()
        F)�autoN)rN)r3rYrVrer5r5r6�
add_carefully�szCloudFlare.add_carefullyT)rVrc
Gs�g}|D]	}||�d�7}q|}|dd�D]>}z
t|t�|��}WqtyT|s8tdd|d�|�f�d�|j|j|dd�}	t	|t�|�|	�t|t�|��}Yqw|d}zt|t�|��}tddd�|dd��|f��tyzYnw|dkr�|j|j|dd�}	n=|d	kr�|j
|j||d�}	n/|d
kr�|j|j||d�}	n!|dkr�|j|j||d�}	n|dkr�|j
|j||d�}	ntdd
��t	|t�|�|	�dS)a� add()

        :param t: type of API call.
        :param p1: part1 of API call.
        :param p2: part1 of API call.
        :param p3: part1 of API call.
        :param p4: part1 of API call.
        :param p5: part1 of API call.
        :param content_type: optional value for the HTTP Content-Type for an API call.

        add() is the core fuction that creates a new API endpoint that can be called later on.
        rrrrBz6api load: api_part **%s** missing when adding path /%sNrz-api load: duplicate api_part found: %s/**%s**�VOID�OPEN�AUTH�AUTH_UNWRAPPED�CERTzapi load type mismatch)rQr�rr�AttributeErrorr
r�r�r��setattrr�r�r�r�)
r3rYrVrre�api_sections�p�branch�api_part�fr5r5r6rN�sB�	 �
zCloudFlare.addc	Cs^|}|�d�D]%}|dks|ddkrqz
t|t�|��}Wqty,td|�d�w|S)z� find()

        :param cmd: API in slash format
        :return: fuction to call for that API

        You can use this call to convert a string API command into the actual function call
        rrrzrr@z
%s: not foundN)rQr�rrr
)r3�cmd�m�verbr5r5r6�find�s�zCloudFlare.findcCs|j|d�S)z� api_list()

        :return: list of API calls

        A recursive walk of the api tree returning a list of api calls
        )r)�	_api_listr9r5r5r6�api_list��zCloudFlare.api_listrzc	Csg}tt|��D]}}|ddkrq|dvrqzt||�}Wnty,tdd|�d�wt|�}d|vr6qd|vryd|vryd	|vsRd
|vsRd|vsRd|vsRd
|vry|ddkrnt�|dd��rb	|�t|�dd��n|�t|�dd��||�	||d|�}q|S)rrr�)r�r�r�r�r�z!%s: not found - should not happenNr�r�r�r�r�r�r�r�rBrrr)
�sorted�dirr�r
r
r�r�r�rJr)r3r�s�w�n�a�dr5r5r6r�s.�(zCloudFlare._api_listcCs|j�|�S)zh api_from_openapi()

        :param url: OpenAPI URL or None if you use the built official URL

        )r�r�)r3r�r5r5r6r�rzCloudFlare.api_from_openapiFc
Csjd|_|durt|t�stdt|���|dur%t|t�s%tdt|���|dur6t|t�s6tdt|���|durGt|t�sGtdt|���zt|�}Wnty[}z|�d}~ww|durd||d<|durl||d<|durt||d<|dur|||d	<|dur�||d
<|dur�||d<|dur�||d<|dur�||d
<|	dur�|	|d<|
dur�|
|d<|dur�||d<|dur�t|t�s�td��|D]&}z
|�dd�\}}Wnt	y�td�d�wt
|���dkr�td�d�q�||d<|��D]\}}|dkr�d||<q�|j
||
d�|_zt|�d|v�r |d�r#t||d�WdSWdSWdSt�y4}z|�d}~ww)rNzemail is %s - must be strzkey is %s - must be strztoken is %s - must be strzcerttoken is %s - must be strrrrrr!rrr rrrzhttp_headers is not a listr@rzhttp_headers bad syntaxrrrz)r4�extras)r�rErJr-�typerr	rFrQr.rKrRrMr�r
rr�)r3rrrrr!rrr rrrrr4r#r�r\rYr[rZr5r5r6r7s���

�
�����zCloudFlare.__init__cCs|jr
|`d|_dSdS)rN)r�r9r5r5r6r:Us
�zCloudFlare.__del__cCstd��)rzobject is not callable)r-r9r5r5r6r�\szCloudFlare.__call__cCs|S�rr5r9r5r5r6�	__enter__aszCloudFlare.__enter__cCs|durdSdS)rNTFr5)r3rYr[�tbr5r5r6�__exit__eszCloudFlare.__exit__cCs:|jjdurd|jjdf}|Sd|jj|jjdf}|S)rNz["%s","%s"]�REDACTEDz["%s","%s","%s"])r�r$r �r3rr5r5r6r�ls
�zCloudFlare.__str__c
Csz|jjdur d|jt|�j|jjdd|jj|jj|jjf}|Sd|jt|�j|jj|jjdd|jj|jj|jjf	}|S)rNz"%s,%s("%s","%s","%s","%s",%s,"%s")r%z'%s,%s("%s","%s","%s","%s","%s",%s,"%s"))	r�r$r�r r�r rrrr&r5r5r6r�us
���zCloudFlare.__repr__cCs|t|�vr
||St|��r!)rr
)r3rr5r5r6�__getattr__�szCloudFlare.__getattr__)Nrzr8)
NNNNFFTNNNNNT)r�r�r�r�r�r�r�r�r�r�r��classmethodrrrNrrrr�r7r:r�r"r$r�r�r'r5r5r5r6rs<&N	2



8
	
#
	G	rc@�eZdZdZdS)�
Cloudflare�U A Python interface Cloudflare's v4 API.

    Alternate upper/lowercase version.
    N�r�r�r�r�r5r5r5r6r*��r*c@r))�
cloudflarer+Nr,r5r5r5r6r.�r-r.)r�rOr�r"rr�logging_helperr�utilsrrrr	r
rr�
exceptionsr
rrrrr(r)r*r+rr*r.r5r5r5r6�<module>s6	z