
    MȂi                     .    S SK Jr  S SKJr  S rS rS rg)    )wraps)iscoroutinefunctionc                 X   ^ ^ [        T[        5      (       d  [        S5      eU U4S jnU$ )z'General CSP override decorator factory.zCSP config should be a mapping.c                    >^  [        T 5      UUU 4S j5       n[        T 5      UUU 4S j5       n[        T 5      (       a  U$ U$ )Nc                 V   >#    T" U /UQ70 UD6I S h  vN n[        UTT5        U$  N7fNsetattrrequestargskwargsresponseconfig_attr_nameconfig_attr_value	view_funcs       LD:\sksbv-state-backend\venv\Lib\site-packages\django/views/decorators/csp.py_wrapped_async_viewC_make_csp_decorator.<locals>.decorator.<locals>._wrapped_async_view   s6     &w@@@@HH.0ABO As   )')c                 :   > T" U /UQ70 UD6n[        UTT5        U$ r   r	   r   s       r   _wrapped_sync_viewB_make_csp_decorator.<locals>.decorator.<locals>._wrapped_sync_view   s*     :4:6:HH.0ABO    )r   r   )r   r   r   r   r   s   `  r   	decorator&_make_csp_decorator.<locals>.decorator   sL    	y		 
	
 
y		 
	
 y))&&!!r   )
isinstancedict	TypeError)r   r   r   s   `` r   _make_csp_decoratorr      s,     '..9::"" r   c                     [        SU 5      $ )z7Override the Content-Security-Policy header for a view._csp_configr   configs    r   csp_overrider%       s    }f55r   c                     [        SU 5      $ )zCOverride the Content-Security-Policy-Report-Only header for a view._csp_ro_configr"   r#   s    r   csp_report_only_overrider(   %   s    /88r   N)	functoolsr   asgiref.syncr   r   r%   r(    r   r   <module>r,      s     ,46
9r   