
    MȂi	                     .    S SK Jr  S SKJr  S rS rS rg)    )wraps)iscoroutinefunctionc                 `   ^  [        T 5      (       a  U 4S jnOU 4S jn[        T 5      " U5      $ )z
Modify a view function so its response has the X-Frame-Options HTTP
header set to 'DENY' as long as the response doesn't already have that
header set. Usage:

@xframe_options_deny
def some_view(request):
    ...
c                  b   >#    T" U 0 UD6I S h  vN nUR                  S5      c  SUS'   U$  N7fNX-Frame-OptionsDENYgetargskwargsresponse	view_funcs      UD:\sksbv-state-backend\venv\Lib\site-packages\django/views/decorators/clickjacking.py_view_wrapper*xframe_options_deny.<locals>._view_wrapper   s=     &777H||-.6.4*+O 8   /-/c                  F   > T" U 0 UD6nUR                  S5      c  SUS'   U$ r   r
   r   s      r   r   r      s2     $1&1H||-.6.4*+O    r   r   r   r   s   ` r   xframe_options_denyr      ,     9%%		 M**r   c                 `   ^  [        T 5      (       a  U 4S jnOU 4S jn[        T 5      " U5      $ )z
Modify a view function so its response has the X-Frame-Options HTTP
header set to 'SAMEORIGIN' as long as the response doesn't already have
that header set. Usage:

@xframe_options_sameorigin
def some_view(request):
    ...
c                  b   >#    T" U 0 UD6I S h  vN nUR                  S5      c  SUS'   U$  N7fNr   
SAMEORIGINr
   r   s      r   r   0xframe_options_sameorigin.<locals>._view_wrapper1   s=     &777H||-.6.:*+O 8r   c                  F   > T" U 0 UD6nUR                  S5      c  SUS'   U$ r   r
   r   s      r   r   r   9   s2     $1&1H||-.6.:*+Or   r   r   s   ` r   xframe_options_sameoriginr!   $   r   r   c                 `   ^  [        T 5      (       a  U 4S jnOU 4S jn[        T 5      " U5      $ )z
Modify a view function by setting a response variable that instructs
XFrameOptionsMiddleware to NOT set the X-Frame-Options HTTP header. Usage:

@xframe_options_exempt
def some_view(request):
    ...
c                  B   >#    T" U 0 UD6I S h  vN nSUl         U$  N7fNTxframe_options_exemptr   s      r   r   ,xframe_options_exempt.<locals>._view_wrapperN   s*     &777H-1H*O 8s   c                  &   > T" U 0 UD6nSUl         U$ r$   r%   r   s      r   r   r'   U   s     $1&1H-1H*Or   r   r   s   ` r   r&   r&   B   s,     9%%		
 M**r   N)	functoolsr   asgiref.syncr   r   r!   r&    r   r   <module>r,      s     ,+<+<+r   