
    Be                         d dl mZ d dlmZmZ 	 d dlmZmZ n# e$ r d dl	mZmZ Y nw xY wddl
mZ ddlmZ ddlmZmZ dd	lmZ d
 Zed             Zd Zee_        ee_        dS )    )contextmanager)urljoinurlparse)AutoloadJsConsumerDocConsumer   )edit_readonly   )	Resources)autoload_js_scriptserver_html_page_for_session)statec                 P  K   |                                   d {V }t          j        |                                           }t	          |||j        j        |j        j        |j        j                  }| 	                    d|
                                dg           d {V  d S )N)	resourcestitletemplatetemplate_variables   )   Content-Types	   text/htmlheaders)_get_sessionr   
from_bokehr   r   documentr   r   r   send_responseencode)selfbodysessionr   pages        /lib/python3.11/site-packages/panel/io/django.py
doc_handler"      s      %%''''''''G$T^^%5%566I'9G,<,B!*"+>  D
 

S$++--:Y9Z

[
[[[[[[[[[[    c              #     K   | j                             dd                              | j        j        d          }|                    d          s|dz  }t          d|          }d                    dg| j        j                            d          	                    d          z            }t          j        t          j        }}|                     dd           }|-|                     dd          }|                    |d          }t          t                    5  |t          _        |t          _        d d d            n# 1 swxY w Y   	 d V  t          t                    5  |t          _        |t          _        d d d            d S # 1 swxY w Y   d S # t          t                    5  |t          _        |t          _        d d d            w # 1 swxY w Y   w xY w)N	root_path /z..bokeh-absolute-urldefaultbokeh-app-path)scopegetreplaceapplication_context_urlendswithr   joinstripcountr   base_urlrel_pathget_argumentr	   )consumerprefixr5   r6   old_urlold_relabs_urlapp_paths           r!   _session_prefixr>      sm     ^R00889U9Z\^__F??3 #sF##Hxx!=!B!H!H!M!M!S!STW!X!XXYYH~u~WG ##$8$#GGG(()92(FF??8R00	u		 " "!!" " " " " " " " " " " " " " "%5!! 	% 	%$EN$EN	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%]5!! 	% 	%$EN$EN	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%sT   !EE
E
F *FFFG#2GG#GG#GG#c           
      b  K   t          |           5  |                                  d {V }|                     dd           }|st          d          |                     dd          }|                     dd           }|r$d                    t          |                    }nd }||v}|                     |          }t          |j        ||j	        ||||	          }	d d d            n# 1 swxY w Y   g d
}
| 
                    d|	                                |
           d {V  d S )Nzbokeh-autoload-elementr)   z)No bokeh-autoload-element query parameterr+   r'   r(   z{uri.scheme}://{uri.netloc}/)uri)absolute))s   Access-Control-Allow-Headers   *)s   Access-Control-Allow-Methodss   PUT, GET, OPTIONS)s   Access-Control-Allow-OriginrB   )r   s   application/javascriptr   r   )r>   r   r7   RuntimeErrorformatr   r   r   r   tokenr   r   )r   r   r   
element_idr=   absolute_url
server_urlrA   r   jsr   s              r!   autoload_handlerJ   4   s     			 
 
))++++++++&&'?&NN
 	LJKKK$$%5s$CC(()=t(LL 	7>>8LCYCY>ZZJJJ\1NN:..	i
Hlem
 
 
#
 
 
 
 
 
 
 
 
 
 
 
 
 
 
*  G 

S"))++w

?
??????????s   CC00C47C4N)
contextlibr   urllib.parser   r   bokeh_django.consumersr   r   	Exceptionbokeh.server.django.consumersutilr	   r   r   serverr   r   r   r"   r>   rJ   handle r#   r!   <module>rT      s5   % % % % % % * * * * * * * *NFFFFFFFFF N N NMMMMMMMMMMN !                       D D D D D D D D      \ \ \ % % %2@ @ @>   +    s    ))