o
    œhcs  ã                   @   sè  U d 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 ddlZddl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mZmZ dd	l m!Z! d
dl"m#Z# d
dl$m%Z% d
dl&m'Z' d
dl(m)Z) d
dl*m+Z+ d
dl,m-Z. d
dl,m/Z/ d
dl0m1Z1 zddl2m3Z3 W n e4y¨   dZ3Y nw zddl5m6Z7 ddl5m8Z9 dZ:W n e4yÄ   dZ:Y nw dZ;dd„ Z<e =¡ Z>da?e
j@e% eAd< dd„ ZBe<e_CeBe_DG dd„ de.ƒZEG d d!„ d!eEƒZ-dS )"z!The IPython kernel implementationé    N)Úcontextmanager)Úpartial)Úrelease)Úline_at_cursorÚtoken_at_cursor)Úextract_header)ÚAnyÚBoolÚ	HasTraitsÚInstanceÚListÚTypeÚobserveÚobserve_compat)Ú	ZMQStreamé   ©ÚBaseComm)ÚCommManager)ÚXCachingCompiler)Ú_use_appnope)Ú	OutStream)ÚKernel)Ú_accepts_parameters)ÚZMQInteractiveShell)Ú_asyncio_runner)Úprovisionalcompleter)Úrectify_completionsTFZ_jupyter_types_experimentalc                  O   s   t | i |¤ŽS )zCreate a new Comm.r   ©ÚargsÚkwargs© r!   úHc:\Users\shubh\Videos\agent\nova\Lib\site-packages\ipykernel/ipkernel.pyÚ_create_comm0   s   r#   Ú_comm_managerc                  O   sX   t du r*t� t du rt| i |¤Ža W d  ƒ t S W d  ƒ t S 1 s%w   Y  t S )zCreate a new CommManager.N)r$   Ú
_comm_lockr   r   r!   r!   r"   Ú_get_comm_manager:   s   
þþ
ÿýr&   c                
       s\  e Zd ZdZeddd�ZeeƒZe	ddd�j
dd�Zeedd�Zeƒ Zedƒed	d
„ ƒƒZeeddd�Zedƒedd„ ƒƒZeƒ Zeƒ Z‡ fdd„Zeddejdd…  dœdddœdddœdddœdddœdddœd d!dœgƒj
dd�Zd"ZejZ d#ej !¡ d$ d%d"ejd$ d&œd'd( d#d)d*œZ"d+d,„ Z#e$d-d.„ ƒZ%d/d0„ Z&‡ fd1d2„Z'de‡ fd4d5„	Z(‡ fd6d7„Z)d8d9„ Z*dfd;d<„Z+d=d>„ Z,e$d?d@„ ƒZ-e-j.dAd@„ ƒZ-e/dBdC„ ƒZ0‡ fdDdE„Z1			:dgdddFœdGdH„Z2dIdJ„ Z3dKdL„ Z4dMdN„ Z5dhdPdQ„Z6	$	$				:didRdS„Z7dTdU„ Z8dVdW„ Z9dXdY„ Z:dZd[„ Z;d\d]„ Z<d^d_„ Z=d`e>j?da dbe>j@eAe>jf fdcdd„ZB‡  ZCS )jÚIPythonKernelzThe IPython Kernel class.z1IPython.core.interactiveshell.InteractiveShellABCT)Ú
allow_nonezUSet this flag to False to deactivate the use of experimental IPython completion APIs.)Úhelp)ÚconfigÚuser_modulec                 C   s   | j d ur|d | j _d S d S ©NÚnew)Úshellr+   ©ÚselfZchanger!   r!   r"   Ú_user_module_changedW   s   
ÿz"IPythonKernel._user_module_changedN)r   r(   Úuser_nsc                 C   s(   | j d ur|d | j _| j  ¡  d S d S r,   )r.   r2   Zinit_user_nsr/   r!   r!   r"   Ú_user_ns_changed_   s   
þzIPythonKernel._user_ns_changedc                    sZ  t ƒ jdi |¤Ž ddlm}m} |r#|| j| j| j| j| j	| j
ƒ| _| jj| | j| j| j| td�| _| j	| jj_	tj d¡}|rG|| jjd< | j| jj_|  d¡| jj_| j	| jj_	| j| jj_t ¡ | _t| jtƒsnJ ‚| jj  !| j¡ g d¢}|D ]}t"| j|ƒ| j#|< q|t$ƒ r–| j%r–dd	l&}| '¡  i | _(|  )¡  t*t+d
ƒr«t+j, !| j-¡ d	S d	S )zInitialize the kernel.r   )ÚDebuggerÚ_is_debugpy_available)ÚparentÚprofile_dirr+   r2   ÚkernelZcompiler_classZJPY_SESSION_NAMEZ__session__Zexecute_result)Z	comm_openZcomm_msgZ
comm_closer   NÚ	callbacksr!   ).ÚsuperÚ__init__Údebuggerr4   r5   ÚlogÚdebugpy_streamZ_publish_debug_eventZdebug_shell_socketÚsessionZdebug_just_my_codeÚshell_classÚinstancer7   r+   r2   r   r.   ÚdisplayhookÚosÚenvironÚgetÚiopub_socketZ
pub_socketÚ_topicZtopicZdisplay_pubÚcommÚget_comm_managerZcomm_managerÚ
isinstancer
   ZconfigurablesÚappendÚgetattrZshell_handlersr   Z_darwin_app_napÚappnopeZnopeÚ_new_threads_parent_headerÚ_initialize_thread_hooksÚhasattrÚgcr9   Ú_clean_thread_parent_frames)r0   r    r4   r5   Zjupyter_session_nameZcomm_msg_typesÚmsg_typerM   ©Ú	__class__r!   r"   r;   k   sR   ú
ú

ýzIPythonKernel.__init__zPython Referencezhttps://docs.python.org/%i.%ié   )ÚtextÚurlzIPython Referencez&https://ipython.org/documentation.htmlzNumPy Referencez+https://docs.scipy.org/doc/numpy/reference/zSciPy Referencez+https://docs.scipy.org/doc/scipy/reference/zMatplotlib Referencez$https://matplotlib.org/contents.htmlzSymPy Referencez'http://docs.sympy.org/latest/index.htmlzpandas Referencez-https://pandas.pydata.org/pandas-docs/stable/ÚipythonÚpythonr   ztext/x-python)ÚnameÚversionz	ipython%dé   z.py)r[   r\   ÚmimetypeZcodemirror_modeZpygments_lexerZnbconvert_exporterZfile_extensionc                 C   sD   ddl m} |r |d j d¡}| j d|¡ | j j |¡ d S d S )Nr   ©r5   zutf-8zDebugpy received: %s)r<   r5   ÚbytesÚdecoder=   ÚdebugZ
tcp_clientZreceive_dap_frame)r0   Úmsgr5   Úframer!   r!   r"   Údispatch_debugpyÔ   s   üzIPythonKernel.dispatch_debugpyc                 C   ó   | j r| j jS d S ©N)r.   Úbanner©r0   r!   r!   r"   rh   Ý   ó   zIPythonKernel.bannerc                 Ã   s   �	 | j  ¡ I dH  q)zPoll the stopped queue.TN)r<   Zhandle_stopped_eventri   r!   r!   r"   Úpoll_stopped_queueã   s   €ÿz IPythonKernel.poll_stopped_queuec                    sf   | j rd| j _| jdu r| j d¡ n	| jj| jdd� tƒ  ¡  | jr1t	 
|  ¡ | jjj¡ dS dS )zStart the kernel.FNz7debugpy_stream undefined, debugging will not be enabled©Úcopy)r.   Úexit_nowr>   r=   ÚwarningZon_recvre   r:   ÚstartÚasyncioÚrun_coroutine_threadsaferk   Zcontrol_threadÚio_loopZasyncio_loopri   rT   r!   r"   rp   è   s   

ÿÿzIPythonKernel.startr.   c                    s6   t ƒ  |||¡ |dkr| jr| j |¡ dS dS dS )zmOverridden from parent to tell the display hook and output streams
        about the parent message.
        r.   N)r:   Ú
set_parentr.   )r0   Úidentr6   ZchannelrT   r!   r"   rt   ö   s   ÿzIPythonKernel.set_parentc                    s"   t ƒ  |¡}| d| jdœ¡ |S )zVInitialize metadata.

        Run at the beginning of each execution request.
        T)Údependencies_metZengine)r:   Úinit_metadataÚupdateru   )r0   r6   ÚmdrT   r!   r"   rw   þ   s   þÿzIPythonKernel.init_metadatac                 C   s0   |d |d< |d dkr|d dkrd|d< |S )zXFinish populating metadata.

        Run after completing an execution request.
        ÚstatusÚerrorÚenameZUnmetDependencyFrv   r!   )r0   r6   ÚmetadataÚreply_contentr!   r!   r"   Úfinish_metadata  s   zIPythonKernel.finish_metadataFc                 C   s*   || _ tj| _| jt_tj| _| jt_dS )zZForward raw_input and getpass to the current frontend.

        via input_request
        N)Z_allow_stdinÚbuiltinsÚinputÚ_sys_raw_inputÚ	raw_inputÚgetpassÚ_save_getpass)r0   Úallow_stdinr!   r!   r"   Ú_forward_input  s
   zIPythonKernel._forward_inputc                 C   s   | j t_| jt_dS )zRestore raw_input, getpassN)r‚   r€   r�   r…   r„   ri   r!   r!   r"   Ú_restore_input(  s   zIPythonKernel._restore_inputc                 C   rf   rg   )r.   Úexecution_countri   r!   r!   r"   r‰   .  rj   zIPythonKernel.execution_countc                 C   s   d S rg   r!   )r0   Úvaluer!   r!   r"   r‰   4  s   c              
   #   sz   � t  ¡ ‰dd„ }ˆ t||ƒ¡ | t|ˆƒ¡ ‡ ‡fdd„}t tj|¡}zdV  W t tj|¡ dS t tj|¡ w )aP  ContextManager for capturing SIGINT and cancelling a future

        SIGINT raises in the event loop when running async code,
        but we want it to halt a coroutine.

        Ideally, it would raise KeyboardInterrupt,
        but this turns it into a CancelledError.
        At least it gets a decent traceback to the user.
        c                 S   s    |   ¡ s|  ¡ r
d S |  ¡  d S rg   )Ú	cancelledÚdoneÚcancel)ÚfZ_ignoredr!   r!   r"   Úcancel_unless_doneI  s   z;IPythonKernel._cancel_on_sigint.<locals>.cancel_unless_donec                     s   ‡fdd„}ˆ j  |¡ d S )Nc                      s"   ˆ   ¡ sˆ  ¡ r
d S ˆ  d¡ d S )Nr   )r‹   rŒ   Ú
set_resultr!   )Úsigint_futurer!   r"   Úset_sigint_resultV  s   zQIPythonKernel._cancel_on_sigint.<locals>.handle_sigint.<locals>.set_sigint_result)rs   Zadd_callback)r   r’   ©r0   r‘   r!   r"   Úhandle_sigintU  s   z6IPythonKernel._cancel_on_sigint.<locals>.handle_sigintN)rq   ÚFutureÚadd_done_callbackr   ÚsignalÚSIGINT)r0   Úfuturer�   r”   Zsave_sigintr!   r“   r"   Ú_cancel_on_sigint:  s   €
"zIPythonKernel._cancel_on_sigintc                 ƒ   s.   �t |ƒ}|  |¡ tƒ  |||¡I dH  dS )z/Override for cell output - cell reconciliation.N)r   Ú%_associate_new_top_level_threads_withr:   Úexecute_request)r0   Ústreamru   r6   Úparent_headerrT   r!   r"   rœ   f  s   €
zIPythonKernel.execute_request)Ú	cell_metaÚcell_idc                ƒ   s²  �| j ‰ ˆ dus
J ‚|  |¡ i }tˆ dƒr(tˆ dƒr(ˆ j}	ˆ j}
t|	dgƒ}ndd„ }
‡ fdd„}	tˆ jdgƒ}z¦d}zˆ  |¡}W n tyR   |}t	 
¡ }Y nw trÄˆ jtu rÄt ¡  ¡ rÄ|
|||d	�rÄ|d rv|	||||||d
�}n	|	|||||d�}t |¡}|  |¡�2 d}z|I dH }W ˆ j d¡ |s¢ˆ j d|¡ nˆ j d¡ |s³ˆ j d|¡ w w W d  ƒ n1 s¾w   Y  n|d rÒˆ j||||d�}nˆ j|||d�}W |  ¡  n|  ¡  w |jdurí|jn|j}|jrød|d< n%d|d< | ˆ j�pg tt|ƒjƒt|ƒdœ¡ t| j| jdd�}||d< ˆ j d |d< d|v �r5| j! "dd #|d ¡¡ |d dk�rGˆ  $|�pBi ¡|d< ni |d< ˆ j% &¡ |d< ˆ j% '¡  |S )zHandle code execution.NÚrun_cell_asyncÚshould_run_asyncr    c                 S   s   dS )NFr!   )Úcellr!   r!   r"   Ú<lambda>ƒ  s    z*IPythonKernel.do_execute.<locals>.<lambda>c                  Ÿ   s   �ˆ j | i |¤ŽS rg   )Úrun_cellr   ©r.   r!   r"   r¥   ‡  s   €z*IPythonKernel.do_execute.<locals>.run_cell)Útransformed_cellÚpreprocessing_exc_tuple)Ústore_historyÚsilentr§   r¨   r    )r©   rª   r§   r¨   Zpost_executeZpost_run_cell)r©   rª   r    )r©   rª   Úokrz   r{   ©Ú	tracebackr|   ZevalueÚexecute©Zengine_uuidZ	engine_idÚmethodÚengine_infor   r‰   r­   z Exception in execute request:
%sÚ
Úuser_expressionsÚpayload)(r.   r‡   rP   r¡   r¢   r   r¥   Ztransform_cellÚ	ExceptionÚsysÚexc_infor   Zloop_runnerrq   Úget_event_loopÚ
is_runningÚensure_futurerš   ÚeventsÚtriggerrˆ   Zerror_before_execZerror_in_execÚsuccessrx   Ú_last_tracebackÚstrÚtypeÚ__name__Údictru   Úint_idr‰   r=   ÚinfoÚjoinr³   Zpayload_managerZread_payloadZclear_payload)r0   Úcoderª   r©   r³   r†   rŸ   r    r~   r¥   r¢   Zaccepts_paramsr¨   r§   ÚcoroZcoro_futureÚresÚerrÚe_infor!   r¦   r"   Ú
do_executel  sÂ   €
þÿ

ÿýþú	û
€þÿ€ú€ü€

ýÿ	
þ
zIPythonKernel.do_executec                 C   sv   t r| jr|  ||¡S |du rt|ƒ}t||ƒ\}}|| }| jdus%J ‚| j d||¡\}}|||t|ƒ i ddœS )zHandle code completion.NÚ r«   ©ÚmatchesZ
cursor_endZcursor_startr}   rz   )Ú_use_experimental_60_completionÚuse_experimental_completionsÚ_experimental_do_completeÚlenr   r.   Zcomplete)r0   rÆ   Ú
cursor_posÚlineÚoffsetZline_cursorÚtxtrÎ   r!   r!   r"   Údo_completeú  s   

ûzIPythonKernel.do_completec                 Ã   s(   �ddl m} |r| j  |¡I dH S dS )zHandle a debug request.r   r_   N)r<   r5   Úprocess_request)r0   rc   r5   r!   r!   r"   Údo_debug_request  s
   €zIPythonKernel.do_debug_requestc           
      C   sÚ   |du rt |ƒ}tƒ �6 | jdusJ ‚| jj ||¡}tt||ƒƒ}g }|D ]}| t|j	|j
|j|j|jd�¡ q&W d  ƒ n1 sDw   Y  |r]|d j	}|d j
}dd„ |D ƒ}	n|}|}g }	|	||t|iddœS )zD
        Experimental completions from IPython, using Jedi.
        N)rp   ÚendrW   rÀ   Ú	signaturer   c                 S   s   g | ]}|j ‘qS r!   )rW   )Ú.0Úcr!   r!   r"   Ú
<listcomp>2  ó    z;IPythonKernel._experimental_do_complete.<locals>.<listcomp>r«   rÍ   )rÒ   Ú_provisionalcompleterr.   Z	CompleterÚcompletionsÚlistÚ_rectify_completionsrK   rÂ   rp   rÚ   rW   rÀ   rÛ   Ú_EXPERIMENTAL_KEY_NAME)
r0   rÆ   rÓ   Zraw_completionsrá   ÚcompsÚcompÚsÚerÎ   r!   r!   r"   rÑ     s@   ûÿÿú

ûz'IPythonKernel._experimental_do_completer!   c                 C   s®   t ||ƒ}ddi}i |d< i |d< | jdusJ ‚z0tjdkr(| jj|||d�}n| jj||d�}|d  |¡ | jjsB|d  d	¡ d
|d< W |S  tyV   d|d< Y |S w )zHandle code inspection.rz   r«   Údatar}   N)é   )Údetail_levelÚomit_sections)rë   z	text/htmlTÚfoundF)	r   r.   r   Úversion_infoZobject_inspect_mimerx   Zenable_html_pagerÚpopÚKeyError)r0   rÆ   rÓ   rë   rì   r[   r~   Zbundler!   r!   r"   Ú
do_inspect@  s,   

ý
ý
ýzIPythonKernel.do_inspectc
                 C   s„   | j dusJ ‚|dkr| j jj|||dd�}
n$|dkr(| j jj|||||d�}
n|dkr9| j jj|||||	d�}
ng }
d	t|
ƒd
œS )zHandle code history.NÚtailT)ÚrawÚoutputZinclude_latestÚrange)ró   rô   Úsearch)ró   rô   ÚnÚuniquer«   )rz   Úhistory)r.   Zhistory_managerZget_tailZ	get_rangerö   râ   )r0   Zhist_access_typerô   ró   r?   rp   Ústopr÷   Úpatternrø   Úhistr!   r!   r"   Ú
do_history\  s"   ÿ
ÿ
ÿþzIPythonKernel.do_historyc                 C   s   | j rd| j _td|d�S )zHandle kernel shutdown.Tr«   )rz   Úrestart)r.   rn   rÂ   )r0   rþ   r!   r!   r"   Údo_shutdown€  s   zIPythonKernel.do_shutdownc                 C   sZ   t | jddƒ}|du r| jdusJ ‚| jj}| |¡\}}d|i}|dkr+d| |d< |S )zHandle an is_complete request.Zinput_transformer_managerNrz   Ú
incompleteú Úindent)rL   r.   Zinput_splitterZcheck_complete)r0   rÆ   Ztransformer_managerrz   Zindent_spacesÚrr!   r!   r"   Údo_is_complete†  s   zIPythonKernel.do_is_completec              
   C   s  z
ddl m}m} W n ty   ddlm}m} Y nw | j}|dus%J ‚z…|j}dt|ƒ dd¡ d }	|||dd	�\}
}}t	|
d
dƒ}|	d }|	d }|	d }|	d }||
|||||di}| 
|¡ |› d|› d|› d|› d�}zt||j|jƒ | |¡}W |D ]}| |¡ qƒn|D ]}| |¡ qŽw | jdusžJ ‚||| jj| jjd�}W nU tyÿ } zI| ¡  |jpºg tt|ƒjƒt|ƒdœ}t| j| jdd�}||d< | j| jd||  d¡d� | j dd |d ¡¡ g }d|d< W Y d}~||fS d}~ww ddi}||fS )zHandle an apply request.r   )Úserialize_objectÚunpack_apply_messager   NÚ_ú-rÌ   Frl   rÁ   rŽ   r   r    Úresultz = z(*z,**ú))Úbuffer_thresholdÚitem_thresholdr¬   Úapplyr¯   r±   r{   ©ru   zException in apply request:
%sr²   r­   rz   r«   ) Zipyparallel.serializer  r  ÚImportErrorÚ	serializer.   r2   r¿   ÚreplacerL   rx   ÚexecZuser_global_nsrE   rï   r?   r  r  ÚBaseExceptionÚshowtracebackr¾   rÀ   rÁ   rÂ   ru   rÃ   Zsend_responserF   rG   r=   rÄ   rÅ   )r0   ÚcontentZbufsZmsg_idZreply_metadatar  r  r.   ZworkingÚprefixrŽ   r   r    ÚfnameÚargnameZ	kwargnameZ
resultnameÚnsrÆ   r	  ÚkeyZ
result_bufrè   r~   rÊ   r!   r!   r"   Údo_apply“  sn   ÿ

ÿÿ
ýýü€èzIPythonKernel.do_applyc                 C   s   | j r	| j  d¡ tdd�S )zClear the kernel.Fr«   )rz   )r.   ÚresetrÂ   ri   r!   r!   r"   Údo_clearÕ  s   
zIPythonKernel.do_clearc                 C   s
   || _ dS )zBStore the parent header to associate it with new top-level threadsN)rN   )r0   rž   r!   r!   r"   r›   Û  s   
z3IPythonKernel._associate_new_top_level_threads_withc                    sl   | j ‰| j‰t ¡ ‰| ‰tjj‰tjj‰ dtjf‡‡‡‡‡fdd„}dtjf‡ fdd„}|tj_|tj_dS )z=Store thread hierarchy and thread-parent_header associations.r0   c                    sh   z| j }W n
 ty   Y dS w ˆˆfD ]}t|tƒr-|ˆkr'ˆj|j| j< q||j| j< qˆ | ƒ dS )aY  Wrap the `threading.Thread.start` to intercept thread identity.

            This is needed because there is no "start" hook yet, but there
            might be one in the future: https://bugs.python.org/issue14073

            This is a no-op if the `self._stdout` and `self._stderr` are not
            sub-classes of `OutStream`.
            N)Ú_ipykernel_parent_thread_identÚAttributeErrorrJ   r   rN   Ú_thread_to_parent_headerru   Ú_thread_to_parent)r0   r6   r�   )Ú_threading_Thread_runr8   Úkernel_thread_identÚstderrÚstdoutr!   r"   Úrun_closureè  s   

ÿ
þÿ€z;IPythonKernel._initialize_thread_hooks.<locals>.run_closurec                    s$   ˆ | g|¢R i |¤Ž t  ¡ | _d S rg   )Ú	threadingÚ	get_identr  )r0   r   r    )Ú_threading_Thread__init__r!   r"   Úinit_closure   s   z<IPythonKernel._initialize_thread_hooks.<locals>.init_closureN)Ú_stdoutÚ_stderrr'  r(  ÚThreadÚrunr;   )r0   r&  r*  r!   )r)  r"  r8   r#  r$  r%  r"   rO   ß  s   z&IPythonKernel._initialize_thread_hooksÚphase)rp   rú   rÄ   c              
   C   sº   |dkrdS dd„ t  ¡ D ƒ}| j| jfD ]E}t|tƒrZ|j}t| ¡ ƒD ]}||vr:z||= W q% t	y9   Y q%w q%|j
}t| ¡ ƒD ]}||vrYz||= W qD t	yX   Y qDw qDqdS )a£  Clean parent frames of threads which are no longer running.
        This is meant to be invoked by garbage collector callback hook.

        The implementation enumerates the threads because there is no "exit" hook yet,
        but there might be one in the future: https://bugs.python.org/issue14073

        This is a no-op if the `self._stdout` and `self._stderr` are not
        sub-classes of `OutStream`.
        rp   Nc                 S   s   h | ]}|j ’qS r!   r  )rÜ   Úthreadr!   r!   r"   Ú	<setcomp>  rß   z<IPythonKernel._clean_thread_parent_frames.<locals>.<setcomp>)r'  Ú	enumerater+  r,  rJ   r   r   râ   Úkeysrð   r!  )r0   r/  rÄ   Zactive_threadsr�   Zthread_to_parent_headerÚidentityZthread_to_parentr!   r!   r"   rR     s2   

ÿý
ÿý€õz)IPythonKernel._clean_thread_parent_framesr¦   )F)TNF)r   r!   )r   r   NNNF)DrÁ   Ú
__module__Ú__qualname__Ú__doc__r   r.   r   r   r@   r	   ÚtagrÐ   r   r>   r   r+   r   r   r1   rÂ   r2   r3   r‚   Z_sys_eval_inputr;   r   r¶   rî   Z
help_linksÚimplementationr   r\   Úimplementation_versionÚsplitZlanguage_infore   Úpropertyrh   rk   rp   rt   rw   r   r‡   rˆ   r‰   Úsetterr   rš   rœ   rË   r×   rÙ   rÑ   rñ   rý   rÿ   r  r  r  r›   rO   ÚtÚLiteralÚDictr¿   rR   Ú__classcell__r!   r!   rT   r"   r'   H   sÒ    þý;þþþþþþþçÿá"ù
	




+
ú÷ 
(!
ö$B(ÿÿr'   c                       s    e Zd ZdZ‡ fdd„Z‡  ZS )r   z3DEPRECATED.  An alias for the IPython kernel class.c                    s.   ddl }|jdtdd� tƒ j|i |¤Ž dS )zDEPRECATED.r   Nz@Kernel is a deprecated alias of ipykernel.ipkernel.IPythonKernelrV   )Ú
stacklevel)ÚwarningsÚwarnÚDeprecationWarningr:   r;   )r0   r   r    rC  rT   r!   r"   r;   /  s   ýzKernel.__init__)rÁ   r5  r6  r7  r;   rA  r!   r!   rT   r"   r   ,  s    r   )Fr7  rq   r€   rQ   r„   rC   r—   r¶   r'  Útypingr>  Ú
contextlibr   Ú	functoolsr   rH   ZIPython.corer   ZIPython.utils.tokenutilr   r   Zjupyter_client.sessionr   Z	traitletsr   r	   r
   r   r   r   r   r   Zzmq.eventloop.zmqstreamr   Z	comm.commr   Zcomm.managerr   Úcompilerr   Z
eventloopsr   Ziostreamr   Z
kernelbaser   Z
KernelBaser   Zzmqshellr   ZIPython.core.interactiveshellr   r  ZIPython.core.completerr   rà   r   rã   rÏ   rä   r#   ÚLockr%   r$   ÚOptionalÚ__annotations__r&   Zcreate_commrI   r'   r!   r!   r!   r"   Ú<module>   sh    (ÿÿ
     i