Ë
    7;hY¤  ã                   óœ  — d Z ddlZddl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 ddlmZ ddlmZ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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+m,Z, ddl-m.Z.m/Z/m0Z0 ddl1m2Z2 ddl3m4Z4 ddl5m6Z6m7Z7 ddl8m9Z9 ddl:m;Z; ddl<m=Z=m>Z>m?Z? ddl@mAZAmBZB ddlCmDZDmEZE ddlFmGZH ddlImJZJ ddlKmLZL ddlMmNZN ddlOmPZPmQZQ ddlRmSZS ddlTmUZU ddlVmWZWmXZXmYZY dd lZm[Z[m\Z\ dd!l]m^Z^m_Z_m`Z`maZambZbmcZc dd"ldmeZemfZf dd#lgmhZhmiZi  eHjÔ                  d$«      Zk G d%„ d&eL«      ZleNjÚ                  d'eNjÜ                  d(eNjÞ                  d)eNjà                  d*iZqeNjÚ                  d+eNjÜ                  d,eNjÞ                  d)eNjà                  d*iZrd-esd.esfd/„Ztd0„ Zud1D ]+  Zv eweev«      Zx	 exr eyexd2«      rexjõ                  «       sd3Z{ nŒ- d4Z{d5ejú                  v xs e{ Z~d6„ Zd7„ Z€ G d8„ d9e4«      Z� G d:„ d;e«      Z‚ e�j                  e‚«       e„d<k(  r!e‚�j                  «       �j                  «        yy# e|$ r d3Z{Y  Œsw xY w)=z/IPython terminal interface using prompt_toolkité    N)Úwarn)ÚUnionÚOptional)Úget_asyncio_loop)ÚInteractiveShellÚInteractiveShellABC)Úinput)Útoggle_set_term_titleÚset_term_titleÚrestore_term_title)Ú
abbrev_cwd)ÚBoolÚUnicodeÚDictÚIntegerÚListÚobserveÚInstanceÚTypeÚdefaultÚEnumr   ÚAnyÚvalidateÚFloatÚDottedObjectName)Úimport_item)ÚAutoSuggestFromHistory)ÚDEFAULT_BUFFERÚEditingMode)ÚHasFocusÚ	ConditionÚIsDone)ÚPygmentsTokens)ÚHistory)ÚConditionalProcessorÚ!HighlightMatchingBracketProcessor)Ú
ColorDepth)Úpatch_stdout)ÚPromptSessionÚCompleteStyleÚprint_formatted_text)ÚDynamicStyleÚmerge_styles)Ústyle_from_pygments_clsÚstyle_from_pygments_dict)Ú__version__)Úget_style_by_name)ÚStyle)ÚTokené   )ÚTerminalPdbÚPdb)ÚTerminalMagics)Úget_inputhook_name_and_func)ÚPromptsÚClassicPromptsÚRichPromptDisplayHook)ÚIPythonPTCompleterÚIPythonPTLexer)ÚKEY_BINDINGSÚUNASSIGNED_ALLOWED_COMMANDSÚcreate_ipython_shortcutsÚcreate_identifierÚRuntimeBindingÚadd_binding)ÚKEYBINDING_FILTERSÚfilter_from_string)ÚNavigableAutoSuggestFromHistoryÚAppendAutoSuggestionInAnyLinez3.c                   ó   — e Zd Zy)Ú_NoStyleN)Ú__name__Ú
__module__Ú__qualname__© ó    úr/workspace/moltex-experiments/.pixi/envs/default/lib/python3.12/site-packages/IPython/terminal/interactiveshell.pyrI   rI   I   s   „ ØrN   rI   z#ansibrightbluez#ansiblue boldz#ansibrightredú#ansired boldz#ansibrightgreenú#ansigreen boldÚwidthÚlinenoc                ó,  — t        j                  | «      }dt        j                  | «      j                  v sHt        |j                  j	                  «       D �cg c]  }|j
                  |j                  k(  ‘Œ c}«      r
 | ||¬«      S  | |«      S c c}w )z?
    Sagemath use custom prompt and we broke them in 8.19.
    rS   ©rS   )ÚinspectÚ	signatureÚ
parametersÚanyÚvaluesÚkindÚVAR_KEYWORD)ÚmethodrR   rS   ÚsigÚps        rO   Ú+_backward_compat_continuation_prompt_tokensr`   \   s�   € ô ×
Ñ
˜FÓ
#€CØ”7×$Ñ$ VÓ,×7Ñ7Ñ7¼3Ø*-¯.©.×*?Ñ*?Ô*AÓBÑ*A Qˆ�‰�1—=‘=Ó	 Ð*AÑBô<ñ �e FÔ+Ð+á�e‹}Ðùò	 	Cs   Á Bc                  óœ   — 	 t         j                  d   S # t        $ r Y nt        $ r t	        d«       Y nw xY wt         j
                  dk(  ryy)NÚEDITORzN$EDITOR environment variable is not pure ASCII. Using platform default editor.ÚposixÚviÚnotepad)ÚosÚenvironÚKeyErrorÚUnicodeErrorr   ÚnamerM   rN   rO   Úget_default_editorrk   i   sQ   € ð Ü�z‰z˜(Ñ#Ð#øÜò ÙÜò  Üð ö 	 ð úô 
‡w�w�'ÒØàs   ‚ •	6 6µ6)ÚstdinÚstdoutÚstderrÚisattyFTÚIPY_TEST_SIMPLE_PROMPTc                 óž   — ddl }|j                  | |j                  «       ¬«      }| j                  d«      s|j                  d«      r|dd }|S )z¸
    We do not need to protect against error,
    this is taken care at a higher level where any reformat error is ignored.
    Indeed we may call reformatting on incomplete code.
    r   N)ÚmodeÚ
éÿÿÿÿ)ÚblackÚ
format_strÚFileModeÚendswith)Útext_before_cursorru   Úformatted_texts      rO   Úblack_reformat_handlerr{   Œ   sQ   € ó à×%Ñ%Ð&8¸u¿~¹~Ó?OÐ%ÓP€NØ×&Ñ& tÔ,°×1HÑ1HÈÔ1NØ'¨¨Ð,ˆØÐrN   c                 óæ   — ddl m} ddl m} |j                  t	        j
                  «       «      }|j                  | |¬«      \  }}|r)| j                  d«      s|j                  d«      r|d d }|S | S )Nr   )Úfile_resources)Úyapf_api)Ústyle_configrs   rt   )Úyapf.yapflibr}   r~   ÚGetDefaultStyleForDirrf   ÚgetcwdÚ
FormatCoderx   )ry   r}   r~   r   rz   Úwas_formatteds         rO   Úyapf_reformat_handlerr…   š   su   € Ý+Ý%à!×7Ñ7¼¿	¹	»ÓD€LØ$,×$7Ñ$7Ø¨ð %8ó %Ñ!€N�Mñ Ø!×*Ñ*¨4Ô0°^×5LÑ5LÈTÔ5RØ+¨C¨RÐ0ˆNØÐà!Ð!rN   c                   óD   ‡ — e Zd ZdZˆ fd„Zd„ Zd„ Zd„ Zdeddfd	„Z	ˆ xZ
S )
ÚPtkHistoryAdapterzs
    Prompt toolkit has it's own way of handling history, Where it assumes it can
    Push/pull from history.

    c                 óP   •— t         ‰| �  «        || _        | j                  «        y ©N)ÚsuperÚ__init__ÚshellÚ_refresh)ÚselfrŒ   Ú	__class__s     €rO   r‹   zPtkHistoryAdapter.__init__±   s   ø€ Ü‰ÑÔØˆŒ
Ø�‰�rN   c                 ó2   — d| _         | j                  «        y ©NF)Ú_loadedr�   ©rŽ   Ústrings     rO   Úappend_stringzPtkHistoryAdapter.append_string¶   s   € àˆŒØ�‰�rN   c                 óZ   — | j                   st        | j                  «       «      | _        y y r‰   )r’   ÚlistÚload_history_stringsÚ_loaded_strings©rŽ   s    rO   r�   zPtkHistoryAdapter._refresh»   s$   € Ø�|Š|Ü#'¨×(AÑ(AÓ(CÓ#DˆDÕ ð rN   c              #   ó  K  — d}g }| j                   j                  j                  | j                   j                  d¬«      D ]2  \  }}}|j	                  «       }|sŒ||k7  sŒ |j                  |«       |}Œ4 |d d d…   E d {  –—†  y 7 Œ­w)NÚ T)Úinclude_latestrt   )rŒ   Úhistory_managerÚget_tailÚhistory_load_lengthÚrstripÚappend)rŽ   Ú	last_cellÚresÚ__Ú___Úcells         rO   r˜   z&PtkHistoryAdapter.load_history_strings¿   s…   è ø€ Øˆ	ØˆØ!ŸZ™Z×7Ñ7×@Ñ@Ø�J‰J×*Ñ*¸4ð Aö 
‰MˆB��Tð —;‘;“=ˆDÚ˜ Ó*Ø—
‘
˜4Ô Ø ‘	ð
ð ‘t˜�t‘9×Òús   ‚AB
ÁB
Á" B
ÂBÂB
r”   ÚreturnNc                  ó   — y r‰   rM   r“   s     rO   Ústore_stringzPtkHistoryAdapter.store_stringÌ   s   € ØrN   )rJ   rK   rL   Ú__doc__r‹   r•   r�   r˜   Ústrrª   Ú__classcell__)r�   s   @rO   r‡   r‡   ª   s0   ø„ ñôò
ò
Eòð 3ð ¨4÷ rN   r‡   c                   óz
  ‡— e Zd ZU  e«       j	                  d¬«      Z edd¬«      j	                  d¬«      ZdZe	e
df   ed<   dZe	eedf   ed<   dZ ed	d
¬«      j	                  d¬«      Z eed¬«      j	                  d¬«      Zed„ «       Z edd¬«      j	                  d¬«      Z edd¬«      j	                  d¬«      Z edd¬«      j	                  d¬«      Z edd¬«      j	                  d¬«      Z edd¬«      j	                  d¬«      Z edd¬«      j	                  d¬«      Z eddd¬«      j	                  d¬«      Z edd¬«      j	                  d¬«      Z edd¬«      j	                  d¬«      Z  e! ed«       e"e#¬«      gd¬«      j	                  d¬«      Z$ e%d«      d„ «       Z& e'd«      d „ «       Z(d!„ Z) e'd"«      d#„ «       Z* e'd$«       e'd%«      d&„ «       «       Z+d'„ Z, ed(¬«      j	                  d¬«      Z- edd)¬«      j	                  d¬«      Z. e e/«       d*¬«      j	                  d¬«      Z0 e"e1d+¬«      j	                  d¬«      Z2 e3e1«      Z4 e5d,«      d-„ «       Z6 e5d.«      d/„ «       Z7 edd0¬«      j	                  d¬«      Z8 ed1d2¬«      j	                  d¬«      Z9 e:d3d4d5¬6«      j	                  d¬«      Z; edd7¬«      j	                  d¬«      Z< edd8¬«      j	                  d¬«      Z= e>dd9¬«      j	                  d¬«      Z? edd:¬«      j	                  d¬«      Z@ ed;d<d¬«      j	                  d¬«      ZAe>ed=<    ei d>¬«      j	                  d¬«      ZB eCd?d@¬«      j	                  d¬«      ZDe>edA<    e'dB«      dC„ «       ZE eCdddD¬E«      j	                  d¬«      ZFdZGe>edF<    e'dG«      dH„ «       ZHdsdI„ZI e'dJ«      dK„ «       ZJ eK e e:g dL¢«       e«        eK e«       «       e«        eK e«       «       e«        ed«      dLœ¬M«      dNj™                  dOj›                  eND � �cg c]  }dP|› dQ�‘Œ
 c}} «      ¬R«      ¬S«      j	                  d¬«      ZO e'dT«      dU„ «       ZPdV„ ZQ eddW¬«      j	                  d¬«      ZR edXdY¬«      j	                  d¬«      ZS e'dZ«      dsd[„«       ZTd\„ ZUˆfd]„ZVd^„ ZWd_„ ZXed`„ «       ZYeda„ «       ZZdb„ Z[dc„ Z\dd„ Z]de„ Z^ˆfdf„Z_ˆfdg„Z`dtˆfdi„Zadj„ ZbdZcdk„ Zddl„ ZedZfdm„ ZgdZheiej   edn<   dsdoeiej   dhdfdp„ZkeljÚ                  Zndq„ ZodZpdr„ ZqˆxZrS c c}} w )uÚTerminalInteractiveShellT)Úconfigé   zëNumber of line at the bottom of the screen to reserve for the tab completion menu, search history, ...etc, the height of these menus will at most this value. Increase it is you prefer long and skinny menus, decrease for short and wide.)ÚhelpNÚpt_appÚauto_suggestz~/.pdbhistoryz'File in which to store and read historyaÔ  Use `raw_input` for the REPL, without completion and prompt colors.

            Useful when controlling IPython as a subprocess, and piping
            STDIN/OUT/ERR. Known usage are: IPython's own testing machinery,
            and emacs' inferior-python subprocess (assuming you have set
            `python-shell-interpreter` to "ipython") available through the
            built-in `M-x run-python` and third party packages such as elpy.

            This mode default to `True` if the `IPY_TEST_SIMPLE_PROMPT`
            environment variable is set, or the current terminal is not a tty.
            Thus the Default value reported in --help-all, or config will often
            be incorrectly reported.
            c                 ó2   — | j                   rt        S t        S r‰   )Úsimple_promptr6   r5   rš   s    rO   Údebugger_clsz%TerminalInteractiveShell.debugger_clsö   s   € à×(Ò(ŒsÐ9¬kÐ9rN   zÓ
        Set to confirm when you try to exit IPython with an EOF (Control-D
        in Unix, Control-Z/Enter in Windows). By typing 'exit' or 'quit',
        you can force a direct exit without any confirmation.Úemacsz5Shortcut style to use at the prompt. 'vi' or 'emacs'.z;Add shortcuts from 'emacs' insert mode to 'vi' insert mode.z€
       Cursor shape changes depending on vi mode: beam in vi insert mode,
       block in nav mode, underscore in replace mode.g{®Gáz„?zJThe time in milliseconds that is waited for a key code
       to complete.g      à?zUThe time in milliseconds that is waited for a mapped key
       sequence to complete.zMAutoformatter to reformat Terminal code. Can be `'black'`, `'yapf'` or `None`)r²   Ú
allow_noneFz©
        Automatically add/delete closing bracket or quote when opening bracket or quote is entered/deleted.
        Brackets: (), [], {}
        Quotes: '', ""
        zQEnable mouse support in the prompt
(Note: prevents selecting text with the mouse)Úlegacy)Úklassz‚The name or class of a Pygments style to use for syntax
        highlighting. To see available styles, run `pygmentize -L styles`.Úediting_modec                 óð   — |d   j                  «       dk(  rd|d<   n|d   j                  «       dk(  rd|d<   t        t        |d   j                  «       «      r|d   j                  «       S | j                  S )NÚvalueÚvimrd   r   r¸   )ÚlowerÚhasattrr   Úupperr¼   )rŽ   Úproposals     rO   Ú_validate_editing_modez/TerminalInteractiveShell._validate_editing_mode7  sz   € à�GÑ×"Ñ"Ó$¨Ò-Ø#ˆH�WÒØ�gÑ×$Ñ$Ó&¨)Ò3Ø&ˆH�WÑä”; ¨Ñ 1× 7Ñ 7Ó 9Ô:Ø˜GÑ$×*Ñ*Ó,Ð,à× Ñ Ð rN   c                 óŒ   — | j                   r8t        t        |j                  j	                  «       «      | j                   _        y y r‰   )r³   Úgetattrr   ÚnewrÂ   r¼   ©rŽ   Úchanges     rO   Ú_editing_modez&TerminalInteractiveShell._editing_modeC  s.   € à�;Š;Ü'.¬{¸F¿J¹J×<LÑ<LÓ<NÓ'OˆD�K‰KÕ$ð rN   c                 óh   — |€	d„ | _         y |dk(  rt        | _         y |dk(  rt        | _         y t        ‚)Nc                 ó   — | S r‰   rM   )Úxs    rO   Ú<lambda>z9TerminalInteractiveShell._set_formatter.<locals>.<lambda>J  s   € ©QrN   ru   Úyapf)Úreformat_handlerr{   r…   Ú
ValueError)rŽ   Ú	formatters     rO   Ú_set_formatterz'TerminalInteractiveShell._set_formatterH  s6   € ØÐÙ$.ˆDÕ!Ø˜'Ò!Ü$:ˆDÕ!Ø˜&Ò Ü$9ˆDÕ!äÐrN   Úautoformatterc                 ó>   — |j                   }| j                  |«       y r‰   )rÇ   rÓ   )rŽ   rÉ   rÒ   s      rO   Ú_autoformatter_changedz/TerminalInteractiveShell._autoformatter_changedR  s   € à—J‘Jˆ	Ø×Ñ˜IÕ&rN   Úhighlighting_styleÚcolorsc                 ó$   — | j                  «        y r‰   )Úrefresh_stylerÈ   s     rO   Ú_highlighting_style_changedz4TerminalInteractiveShell._highlighting_style_changedW  s   € ð 	×ÑÕrN   c                 óD   — | j                  | j                  «      | _        y r‰   )Ú_make_style_from_name_or_clsr×   Ú_stylerš   s    rO   rÚ   z&TerminalInteractiveShell.refresh_style\  s   € Ø×7Ñ7¸×8OÑ8OÓPˆ�rN   z0Override highlighting format for specific tokensz÷Use 24bit colors instead of 256 colors in prompt highlighting.
        If your terminal supports true color, the following command should
        print ``TRUECOLOR`` in orange::

            printf "\x1b[38;2;255;100;0mTRUECOLOR\x1b[0m\n"
        z?Set the editor used by IPython (default to $EDITOR/vi/notepad).z6Class used to generate Prompt token for prompt_toolkitÚpromptsc                 ó$   — | j                  | «      S r‰   )Úprompts_classrš   s    rO   Ú_prompts_defaultz)TerminalInteractiveShell._prompts_defaultt  s   € à×!Ñ! $Ó'Ð'rN   Údisplayhook_classc                 ó   — t         S r‰   )r;   rš   s    rO   Ú_displayhook_class_defaultz3TerminalInteractiveShell._displayhook_class_default|  s   € ä$Ð$rN   z$Automatically set the terminal titlezIPython: {cwd}ziCustomize the terminal title format.  This is a python format string. Available substitutions are: {cwd}.)ÚcolumnÚmulticolumnÚreadlinelikezµOptions for displaying tab completions, 'column', 'multicolumn', and 'readlinelike'. These options are for `prompt_toolkit`, see `prompt_toolkit` documentation for more information.rç   )r²   Údefault_valuezHighlight matching brackets.z†Enable vi (v) or Emacs (C-X C-E) shortcuts to open an external editor. This is in addition to the F2 binding, which is always enabled.z¯Provide an alternative handler to be called when the user presses Return. This is an advanced option intended for debugging, which may be changed or removed in later releases.z:Allows to enable/disable the prompt toolkit history searchrF   a  Specifies from which source automatic suggestions are provided. Can be set to ``'NavigableAutoSuggestFromHistory'`` (:kbd:`up` and :kbd:`down` swap suggestions), ``'AutoSuggestFromHistory'``,  or ``None`` to disable automatic suggestions. Default is `'NavigableAutoSuggestFromHistory`'.Ú_autosuggestions_provideru…   
        Extra arguments to pass to `llm_provider_class` constructor.

        This is used to â€“ for example â€“ set the `model_id`Úinput_historyaX      Fully Qualifed name of a function that takes an IPython history manager and
    return a prefix to pass the llm provider in addition to the current buffer
    text.

    You can use:

     - no_prefix
     - input_history

    As default value. `input_history` (default),  will use all the input history
    of current IPython session

    Ú_llm_prefix_from_historyÚllm_prefix_from_historyc                 óJ   — |j                   }|| _        | j                  «        y r‰   )rÇ   rì   Ú_set_autosuggestions)rŽ   rÉ   rj   s      rO   Ú _llm_prefix_from_history_changedz9TerminalInteractiveShell._llm_prefix_from_history_changedÉ  s   € à�z‰zˆØ(,ˆÔ%Ø×!Ñ!Õ#rN   aw          Provisional:
            This is a provisinal API in IPython 8.32, before stabilisation
            in 9.0, it may change without warnings.

        class to use for the `NavigableAutoSuggestFromHistory` to request
        completions from a LLM, this should inherit from
        `jupyter_ai_magics:BaseProvider` and implement
        `stream_inline_completions`
    )r¹   r²   Ú_llm_provider_classÚllm_provider_classc                 ód   — |j                   }|�t        d«       || _        | j                  «        y )NzvTerminalInteractiveShell.llm_provider_class is a provisional  API as of IPython 8.32, and may change without warnings.)rÇ   r   rñ   rï   )rŽ   rÉ   Úprovider_classs      rO   Ú_llm_provider_class_changedz4TerminalInteractiveShell._llm_provider_class_changedß  s5   € àŸ™ˆØÐ%ÜðMôð $2ˆÔ Ø×!Ñ!Õ#rN   c                 ó6  ‡ — |€‰ j                   }‰ j                  r4t        ‰ j                  t        «      r‰ j                  j	                  «        |€d ‰ _        n˜|dk(  rt        «       ‰ _        nƒ|dk(  rs‰ j                  rˆ fd„}nd }t        «       ‰ _        |‰ j                  _        ‰ j                  }|dk(  rd„ }|}n|dk(  rd„ }|}nt        |«      }|‰ j                  _
        nt        d«      ‚‰ j                  r‰ j                  ‰ j                  _        y y )	Nr   rF   c                  óR   •— t        ‰j                  «      }  | di ‰j                  ¤ŽS )NrM   )r   rñ   Úllm_constructor_kwargs)Úllm_provider_constructorrŽ   s    €rO   Úinit_llm_providerzHTerminalInteractiveShell._set_autosuggestions.<locals>.init_llm_providerú  s(   ø€ Ü/:¸4×;SÑ;SÓ/TÐ,Ù3ÑR°d×6QÑ6QÑRÐRrN   Ú	no_prefixc                  ó   — y)Nrœ   rM   )rž   s    rO   rû   z@TerminalInteractiveShell._set_autosuggestions.<locals>.no_prefix  s   € ØrN   rë   c                 ór   — dj                  | j                  «       D �cg c]  }|d   ‘Œ	 c}«      dz   S c c}w )Nrs   é   )ÚjoinÚ	get_range)rž   Úss     rO   rë   zDTerminalInteractiveShell._set_autosuggestions.<locals>.input_history  s8   € ØŸ9™9°O×4MÑ4MÔ4OÓ%PÑ4O¨q a¨£dÐ4OÑ%PÓQÐTXÑXÐXùÒ%Ps   ž4zNo valid provider.)Úautosuggestions_providerr´   Ú
isinstancerF   Ú
disconnectr   rñ   Ú_init_llm_providerrí   r   Ú_llm_prefixerrÑ   r³   )rŽ   Úproviderrú   rj   rû   Úfunrë   s   `      rO   rï   z-TerminalInteractiveShell._set_autosuggestionsê  s  ø€ ØÐØ×4Ñ4ˆHà×Ò¤Ø×ÑÔ>ô"
ð ×Ñ×(Ñ(Ô*ØÐØ $ˆDÕØÐ1Ò1Ü 6Ó 8ˆDÕØÐ:Ò:à×'Ò'õSð
 %)Ð!Ü ?Ó AˆDÔà3DˆD×ÑÔ0à×/Ñ/ˆDà�{Ò"òð  ‘à˜Ò(òYð $‘ô " $Ó'�Ø.1ˆD×ÑÕ+äÐ1Ó2Ð2Ø�;Š;Ø'+×'8Ñ'8ˆD�K‰KÕ$ð rN   r  c                 ó>   — |j                   }| j                  |«       y r‰   )rÇ   rï   )rŽ   rÉ   r  s      rO   Ú!_autosuggestions_provider_changedz:TerminalInteractiveShell._autosuggestions_provider_changed  s   € à—:‘:ˆØ×!Ñ! (Õ+rN   )ÚcommandÚ
match_keysÚmatch_filterÚnew_keysÚ
new_filterÚcreate)Ú	key_traitÚper_key_traitsa�  
        Add, disable or modifying shortcuts.

        Each entry on the list should be a dictionary with ``command`` key
        identifying the target function executed by the shortcut and at least
        one of the following:

          - ``match_keys``: list of keys used to match an existing shortcut,
          - ``match_filter``: shortcut filter used to match an existing shortcut,
          - ``new_keys``: list of keys to set,
          - ``new_filter``: a new shortcut filter to set

        The filters have to be composed of pre-defined verbs and joined by one
        of the following conjunctions: ``&`` (and), ``|`` (or), ``~`` (not).
        The pre-defined verbs are:

        {filters}

        To disable a shortcut set ``new_keys`` to an empty list.
        To add a shortcut add key ``create`` with value ``True``.

        When modifying/disabling shortcuts, ``match_keys``/``match_filter`` can
        be omitted if the provided specification uniquely identifies a shortcut
        to be modified/disabled. When modifying a shortcut ``new_filter`` or
        ``new_keys`` can be omitted which will result in reuse of the existing
        filter/keys.

        Only shortcuts defined in IPython (and not default prompt-toolkit
        shortcuts) can be modified or disabled. The full list of shortcuts,
        command identifiers and filters is available under
        :ref:`terminal-shortcuts-list`.

        Here is an example:

        .. code::

            c.TerminalInteractiveShell.shortcuts = [
               {{
                   "new_keys": ["c-q"],
                   "command": "prompt_toolkit:named_commands.capitalize_word",
                   "create": True,
               }},
               {{
                   "new_keys": ["c-j"],
                   "command": "prompt_toolkit:named_commands.beginning_of_line",
                   "create": True,
               }},
            ]


        z	
        z  - ``z``)Úfilters)Útraitr²   Ú	shortcutsc                 ót   — | j                   r,| j                  |j                  ¬«      | j                   _        y y )N©Úuser_shortcuts)r³   Ú_merge_shortcutsrÇ   Úkey_bindingsrÈ   s     rO   Ú_shortcuts_changedz+TerminalInteractiveShell._shortcuts_changedm  s,   € à�;Š;Ø'+×'<Ñ'<ÈFÏJÉJÐ'<Ó'WˆD�K‰KÕ$ð rN   c           
      ó4  — t        | «      }t        D �ci c]"  }t        |j                  «      |j                  “Œ$ }}|j	                  t
        D �ci c]  }t        |«      |“Œ c}«       g }g }|D �]ê  }|d   }	|	|vr!dj                  |«      }t        |	› d|› �«      ‚|j                  dd «      }
d|v rt        |d   «      nd }t        D ��cg c]L  }|�|j                  |k(  r9|
�|j                  D �cg c]  }|‘Œ c}|
k(  rt        |j                  «      |	k(  r|‘ŒN }}}|j                  dd «      }|j                  dd «      }||	   }|j                  dd	«      }| xr |d uxs |}|r|g k(  rt        d
«      ‚|rœdD �ci c]  }||v r|||   “Œ }}t        |«      dk(  rt        d|› dt        › �«      ‚t        |«      dkD  rt        d|› d|› �«      ‚|d   }|j                  }t        |j                  «      }
|j                  t        ||
|¬«      «       |g k7  s�Œ°|j                  t        ||xs |
|�t        |«      n|�|n
t        d«      ¬«      «       �Œí t        | |¬«      }|D ]  }t!        ||«       Œ |S c c}w c c}w c c}w c c}}w c c}w )Nr  z
 - z< is not a known shortcut command. Allowed commands are: 
 - r  r  r  r  r  Fz"Cannot add a shortcut without keys)r  Úfilterr   zNo shortcuts matching z
 found in r4   zMultiple shortcuts matching z1 found, please add keys/filter to select one of: )Úkeysr  Úalways)Úskip)r@   r>   rA   r  Úupdater?   rÿ   rÑ   ÚgetrE   r  r  Úlenr—   r¢   rB   rC   )rŽ   r  r  ÚbindingÚallowed_commandsr  Úshortcuts_to_skipÚshortcuts_to_addÚshortcutÚ
command_idÚold_keysÚ
old_filterÚkÚmatchingr  r  Úcreating_newÚmodifying_existingÚkeyÚspecificationÚmatcheds                        rO   r  z)TerminalInteractiveShell._merge_shortcutsr  sJ  € ä/°Ó5ˆõ (ó
á'�ô ˜gŸo™oÓ.°·±Ñ?Ø'ð 	ð 
ð 	×Ñõ  ;óá:�Gô " 'Ó*¨GÑ3Ø:ñô	
ð ÐØÐä&ˆHØ! )Ñ,ˆJØÐ!1Ñ1Ø#*§<¡<Ð0@Ó#AÐ Ü Ø!�lð #3Ø3CÐ2DðFóð ð  —|‘| L°$Ó7ˆHð " XÑ-ô # 8¨NÑ#;Ô<àð õ  ,ôá+�GàÐ'¨7¯>©>¸ZÒ+GØ!Ð)¸¿ºÓ-F¹°Aªa¸Ñ-FÈ(Ò-RÜ)¨'¯/©/Ó:¸jÒHò Ø+ð ñ ð  —|‘| J°Ó5ˆHØ!Ÿ™ l°DÓ9ˆJà& zÑ2ˆGà#Ÿ<™<¨°%Ó8ˆLØ%1Ð!1ò "Ø Ð$Ò2¨
ð ñ  ¨B¢Ü Ð!EÓFÐFá!ñ  5ó!á4˜Ø˜h‘ð ˜ #™Ñ&Ø4ð ð !ô
 �x“= AÒ%Ü$Ø0°°¸zÌ,ÈÐXóð ô ˜“] QÒ&Ü$Ø6°}°oð FEØEMÀJðPóð ð
 # 1™+�Ø$Ÿ^™^�
Ü §¡Ó-�Ø!×(Ñ(Ü"ØØ%Ø)ôôð ˜2Œ~Ø ×'Ñ'Ü"ØØ%Ò1¨ð  *Ð5ô /¨zÔ:ð $.Ð#9ñ !+ä%7¸Ó%AôöðC 'ôd 0°Ð;LÔMˆÛ'ˆGÜ˜ gÕ.ð (ð ÐùòG
ùò
ùò6 .Gùóùò0!s)   ”'J ÁJÃ&JÃ3	J
Ã<"JÆJÊ
Jz9Display the current vi mode (when using vi editing mode).rœ   a  The format for line numbering, will be passed `line` (int, 1 based) the current line number and `rel_line` the relative line number. for example to display both you can use the following template string : c.TerminalInteractiveShell.prompt_line_number_format='{line: 4d}/{rel_line:+03d} | ' This will display the current line number, with leading space and a width of at least 4 character, as well as the relative line number 0 padded and always with a + or - sign. Note that when using Emacs mode the prompt of the first line may not update.Ú
term_titlec                 ó°   — | j                   r?t        r9t        d«       t        | j                  j                  t        «       ¬«      «       y t        d«       y )NT)ÚcwdF)r3  Ú_is_ttyr
   r   Úterm_title_formatÚformatr   rÈ   s     rO   Úinit_term_titlez(TerminalInteractiveShell.init_term_titleì  s;   € ð �?Š?�wÜ! $Ô'Ü˜4×1Ñ1×8Ñ8¼Z»\Ð8ÓJÕKä! %Õ(rN   c                 ó@   — | j                   rt        rt        «        y y y r‰   )r3  r6  r   rš   s    rO   r   z+TerminalInteractiveShell.restore_term_titleõ  s   € Ø�?Š?�wÜÕ ð  'ˆ?rN   c                 óN   •— t         t        | �  «        dg| j                  _        y )Nz
text/plain)rŠ   r¯   Úinit_display_formatterÚdisplay_formatterÚactive_types©rŽ   r�   s    €rO   r<  z/TerminalInteractiveShell.init_display_formatterù  s!   ø€ ÜÔ&¨ÑDÔFà/;¨nˆ×ÑÕ+rN   c                 ó¬  ‡ — ‰ j                   rˆ fd„}|‰ _        y ‰ j                  ‰ j                  ¬«      }t	        ‰ «      }‰ j                  ‰ j                  «      ‰ _        t        ˆ fd„«      ‰ _	        t        t        ‰ j                  j                  «       «      }d‰ _        t        d‰ j                   |||t#        ‰ ¬«      ‰ j$                  ‰ j                  d‰ j&                  ‰ j(                  ‰ j*                  ddœ‰ j-                  «       ¤Ž‰ _        t1        ‰ j                   t2        «      r&‰ j                   j5                  ‰ j.                  «       y y )	Nc                  óÌ  •— dj                  d„ ‰j                  j                  «       D «       «      } t        | «      g}dj                  d„ ‰j                  j	                  «       D «       «      }‰j                  dj                  |«      «      d   dk(  rA|j                  t        |«      «       ‰j                  dj                  |«      «      d   dk(  rŒAdj                  |«      S )Nrœ   c              3   ó&   K  — | ]	  }|d    –— Œ y­w©r4   NrM   ©Ú.0rÍ   s     rO   Ú	<genexpr>zSTerminalInteractiveShell.init_prompt_toolkit_cli.<locals>.prompt.<locals>.<genexpr>  s   è ø€ Ð%TÑ4S¨q a¨¥dÑ4Sùó   ‚c              3   ó&   K  — | ]	  }|d    –— Œ y­wrC  rM   rD  s     rO   rF  zSTerminalInteractiveShell.init_prompt_toolkit_cli.<locals>.prompt.<locals>.<genexpr>  s   è ø€ Ð-fÑ<e°q¨a°­dÑ<eùrG  rs   r   Ú
incomplete)rÿ   rß   Úin_prompt_tokensr	   Úcontinuation_prompt_tokensÚcheck_completer¢   )Úprompt_textÚlinesÚprompt_continuationrŽ   s      €rO   Úpromptz@TerminalInteractiveShell.init_prompt_toolkit_cli.<locals>.prompt  s¸   ø€ Ø Ÿg™gÑ%T°D·L±L×4QÑ4QÔ4SÓ%TÓT�Ü˜{Ó+Ð,�Ø&(§g¡gÑ-f¸D¿L¹L×<cÑ<cÔ<eÓ-fÓ&fÐ#Ø×)Ñ)¨$¯)©)°EÓ*:Ó;¸AÑ>À,ÒNØ—L‘L¤%Ð(;Ó"<Ô>ð ×)Ñ)¨$¯)©)°EÓ*:Ó;¸AÑ>À,ÓNà—y‘y Ó'Ð'rN   r  c                  ó   •— ‰ j                   S r‰   )rÞ   rš   s   €rO   rÎ   zBTerminalInteractiveShell.init_prompt_toolkit_cli.<locals>.<lambda>  s	   ø€ ¨$¯+ª+rN   F)rŒ   z.py)r´   r¼   r  ÚhistoryÚ	completerÚenable_history_searchÚstyleÚinclude_default_pygments_styleÚmouse_supportÚenable_open_in_editorÚcolor_depthÚtempfile_suffixrM   )r¶   Úprompt_for_coder  r  r‡   rÝ   r×   rÞ   r,   rU  rÆ   r   r¼   rÂ   Ú_use_asyncio_inputhookr)   r´   r<   rT  rW  Úextra_open_editor_shortcutsrY  Ú_extra_prompt_optionsr³   r  rF   Úconnect)rŽ   rP  r  rR  r¼   s   `    rO   Úinit_prompt_toolkit_cliz0TerminalInteractiveShell.init_prompt_toolkit_cliþ  s+  ø€ Ø×Òô(ð $*ˆDÔ Øð ×,Ñ,¸D¿N¹NÐ,ÓKˆô $ DÓ)ˆà×7Ñ7¸×8OÑ8OÓPˆŒÜ!Ó"5Ó6ˆŒ
äœ{¨D×,=Ñ,=×,CÑ,CÓ,EÓFˆà&+ˆÔ#Ü#ð 
Ø×*Ñ*Ø%Ø%ØÜ(¨tÔ4Ø"&×"<Ñ"<Ø—*‘*Ø+0Ø×,Ñ,Ø"&×"BÑ"BØ×(Ñ(Ø!ñ
ð ×(Ñ(Ó*ñ
ˆŒô �d×'Ñ'Ô)HÔIØ×Ñ×%Ñ% d§k¡kÕ2ð JrN   c                 óä  — i }|dk(  �rÍ| j                   j                  «       }|dk(  rt        d«      }t        }�nû|dk(  rt        }t        d«      }�nã|dk(  �rct        d«      }|j                  t        j                  dt        j                  d	t        j                  d
t        j                  j                  dt        j                  j                  dt        j                  j                  dt        j                  j                  j                  dt        j                   dt        j"                  dt        j$                  dt        j&                  di«       t(        j*                  dk(  rÌ|j                  t        j                   dt        j"                  dt        j$                  dt        j&                  di«       nz|dk(  r	t,        }i }nlt/        d|«      ‚t1        |t2        «      rt        |«      }n|}t        j                   dt        j"                  dt        j$                  dt        j&                  di}|j                  | j4                  «       t7        t9        |«      t;        |«      g«      }|S )zŽ
        Small wrapper that make an IPython compatible style from a style name

        We need that to add style for prompt ... etc.
        rº   ÚlinuxÚmonokaiÚlightbgÚpastieÚneutralr   z
#ansigreenÚ	noinheritz#ansiyellowz	#ansibluezbold #ansibluez#ansibrightgreen boldz#ansiredz#ansibrightred boldÚntz#ansidarkgreenrQ   z#ansidarkredrP   ÚnocolorzGot unknown colors: )rØ   rÀ   r1   Ú_style_overrides_linuxÚ_style_overrides_light_bgr!  r3   ÚNumberÚOperatorÚStringÚNameÚFunctionÚClassÚ	NamespaceÚVariableÚMagicÚPromptÚ	PromptNumÚ	OutPromptÚOutPromptNumrf   rj   rI   rÑ   r  r¬   Úhighlighting_style_overridesr-   r.   r/   )rŽ   Úname_or_clsÚstyle_overridesrº   Ú	style_clsrU  s         rO   rÝ   z5TerminalInteractiveShell._make_style_from_name_or_cls*  sí  € ð ˆØ˜(Ó"Ø—[‘[×&Ñ&Ó(ˆFØ˜Ò Ü-¨iÓ8�	Ü"8’Ø˜9Ò$Ü";�Ü-¨hÓ7’	Ø˜9Ó$ô .¨iÓ8�	Ø×&Ñ&Ü—L‘L ,Ü—N‘N KÜ—L‘L -Ü—J‘J×'Ñ'¨Ü—J‘J×$Ñ$Ð&6Ü—J‘J×(Ñ(Ð*:Ü—J‘J×'Ñ'×-Ñ-¨{Ü—L‘L ,Ü—O‘OÐ%<Ü—O‘O ZÜ×&Ñ&Ð(=ð(ô ô  —7‘7˜d’?Ø#×*Ñ*ÜŸ™Ð&6ÜŸ™Ð):ÜŸ™¨Ü×*Ñ*¨Oð	,õ ð ˜)Ò#Ü"�	Ø"$‘ä Ð!7¸Ó@Ð@ä˜+¤sÔ+Ü-¨kÓ:‘	à'�	ä—‘˜lÜ—‘Ð!8Ü—‘ Ü×"Ñ"Ð$9ð	ˆOð 	×Ñ˜t×@Ñ@ÔAÜÜ# IÓ.Ü$ _Ó5ð
ó ˆð
 ˆrN   c                 ó|   — t         j                  t         j                  t         j                  dœ| j                     S )N)rç   ræ   rè   )r*   ÚMULTI_COLUMNÚCOLUMNÚREADLINE_LIKEÚdisplay_completionsrš   s    rO   Úpt_complete_stylez*TerminalInteractiveShell.pt_complete_stylem  s9   € ô )×5Ñ5Ü#×*Ñ*Ü)×7Ñ7ñ
ð ×
"Ñ
"ñ	$ð 	$rN   c                 ó>   — | j                   rt        j                  S d S r‰   )Ú
true_colorr'   Ú
TRUE_COLORrš   s    rO   rY  z$TerminalInteractiveShell.color_depthu  s   € à)-¯ª”
×%Ñ%ÐC¸dÐCrN   c                 óÎ  ‡ — ˆ fd„}‰ j                   dk(  r‰ j                  dk(  r |«       }dt        «       ‰ j                  |ˆ fd„d‰ j                  t        t        d¬«      t        t        «      t        «        z  t        ˆ fd	„«      z  ¬
«      t        t        «       t        t        «      t        «        z  t        ˆ fd„«      z  ¬
«      gdœ}t        s‰ j                  |d<   |S )z\
        Return the current layout option for the current Terminal InteractiveShell
        c                  óJ   •— t        ‰ j                  j                  «       «      S r‰   )r#   rß   rJ  rš   s   €rO   Úget_messagezCTerminalInteractiveShell._extra_prompt_options.<locals>.get_message}  s   ø€ Ü! $§,¡,×"?Ñ"?Ó"AÓBÐBrN   r¸   rœ   Fc                 óZ   •— t        t        ‰j                  j                  | |¬«      «      S )NrU   )r#   r`   rß   rK  )rR   rS   Úis_soft_wraprŽ   s      €rO   rÎ   z@TerminalInteractiveShell._extra_prompt_options.<locals>.<lambda>�  s#   ø€ ´NÜ?ØŸ™×?Ñ?ÀÈvôô5rN   Tz[](){})Úcharsc                  ó   •— ‰ j                   S r‰   )Úhighlight_matching_bracketsrš   s   €rO   rÎ   z@TerminalInteractiveShell._extra_prompt_options.<locals>.<lambda>Ÿ  s   ø€ ¨×(HÒ(HrN   )Ú	processorr  c                  ó8   •— t        ‰ j                  t        «      S r‰   )r  r´   rF   rš   s   €rO   rÎ   z@TerminalInteractiveShell._extra_prompt_options.<locals>.<lambda>§  s   ø€ ¤
Ø ×-Ñ-Ü;ô!rN   )Úcomplete_in_threadÚlexerÚreserve_space_for_menuÚmessagerO  Ú	multilineÚcomplete_styleÚinput_processorsÚ	inputhook)r¼   Úprompt_line_number_formatr=   Úspace_for_menur‚  r%   r&   r    r   r"   r!   rG   ÚPTK3r—  )rŽ   rˆ  Úoptionss   `  rO   r^  z.TerminalInteractiveShell._extra_prompt_optionsy  sé   ø€ ô	Cð ×Ñ Ò'¨D×,JÑ,JÈbÒ,Pñ &›-ˆKð #(Ü#Ó%Ø&*×&9Ñ&9Ø"óð Ø"×4Ñ4ô %Ü?ÀhÔOÜ#¤NÓ3Ü“x�iñ äÓ HÓIñJôô %Ü;Ó=Ü#¤NÓ3Ü“x�iñ äóóñô
ð!ñ$
ˆõJ Ø#'§>¡>ˆG�KÑ àˆrN   c           	      ó   — | j                   r| j                   }d | _         nd}t        d¬«      5  | j                  rFt        «       }|j	                   | j
                  j                  dd|i| j                  «       ¤Ž«      }n7 | j
                  j                  d|| j                  dœ| j                  «       ¤Ž}d d d «       |S # 1 sw Y   S xY w)Nrœ   T)Úrawr   )r   r—  rM   )
Úrl_next_inputr(   r\  r   Úrun_until_completer³   Úprompt_asyncr^  rP  Ú
_inputhook)rŽ   r   Úasyncio_loopÚtexts       rO   r[  z(TerminalInteractiveShell.prompt_for_code´  sÐ   € Ø×ÒØ×(Ñ(ˆGØ!%ˆDÕàˆGô ˜dÖ#Ø×*Ò*ô  0Ó1�Ø#×6Ñ6Ø,�D—K‘K×,Ñ,ñ Ø 'ðØ+/×+EÑ+EÓ+Gñó‘ð *�t—{‘{×)Ñ)ð Ø#Ø"Ÿo™oñð ×0Ñ0Ó2ñ�÷ $ð$ ˆ÷% $ð$ ˆús   ¯B
CÃCc                 ó(   — t        dt        d¬«       y )Nzu`enable_win_unicode_console` is deprecated since IPython 7.10, does not do anything and will be removed in the futurerþ   )Ú
stacklevel)r   ÚDeprecationWarningrš   s    rO   Úenable_win_unicode_consolez3TerminalInteractiveShell.enable_win_unicode_consoleÕ  s   € ô 	ð  EÜØö	rN   c                 óR   — t         j                  dvry dd l}|j                  «        y )N>   ÚcliÚwin32r   )ÚsysÚplatformÚcoloramaÚinit)rŽ   r­  s     rO   Úinit_ioz TerminalInteractiveShell.init_ioÜ  s   € Ü�<‰<Ð/Ñ/ØãØ�‰�rN   c                 óT   •— t         t        | �  «        | j                  t        «       y r‰   )rŠ   r¯   Úinit_magicsÚregister_magicsr7   r?  s    €rO   r±  z$TerminalInteractiveShell.init_magicsã  s   ø€ ÜÔ&¨Ñ9Ô;Ø×Ñœ^Õ,rN   c                 ó˜   •— t         t        | �  «        t        j                  dk(  r$dD ]  }| j
                  j                  ||«       Œ  y y )Nrc   )ÚclearÚmoreÚlessÚman)rŠ   r¯   Ú
init_aliasrf   rj   Úalias_managerÚsoft_define_alias)rŽ   Úcmdr�   s     €rO   r¸  z#TerminalInteractiveShell.init_aliasç  sF   ø€ ô 	Ô&¨Ñ8Ô:ô
 �7‰7�gÒÛ7�Ø×"Ñ"×4Ñ4°S¸#Õ>ñ 8ð rN   r¨   c                 óæ   •— t        t        | �
  |i |¤Ž | j                  | j                  «       | j                  «        | j                  «        d| _        | j                  | j                  «       y )NT)
rŠ   r¯   r‹   rï   r  r`  r9  Úkeep_runningrÓ   rÔ   )rŽ   ÚargsÚkwargsr�   s      €rO   r‹   z!TerminalInteractiveShell.__init__ó  s`   ø€ ÜÔ&¨Ñ6¸ÐGÀÒGØ×!Ñ! $×"?Ñ"?Ô@Ø×$Ñ$Ô&Ø×ÑÔØ ˆÔØ×Ñ˜D×.Ñ.Õ/rN   c                 ó   — d| _         y r‘   )r½  rš   s    rO   Úask_exitz!TerminalInteractiveShell.ask_exitû  s
   € Ø!ˆÕrN   c                 ó>  — d| _         | j                   rLt        | j                  d¬«       	 | j                  «       }|r| j	                  |d¬«       	 | j                   rŒKy y # t
        $ r2 | j                  r| j                  ddd«      r| j                  «        Y ŒIw xY w)NTrœ   )Úend)Ústore_historyz#Do you really want to exit ([y]/n)?ÚyÚn)	r½  ÚprintÚseparate_inr[  Úrun_cellÚEOFErrorÚconfirm_exitÚ
ask_yes_norÁ  )rŽ   Úcodes     rO   Úinteractz!TerminalInteractiveShell.interact   s�   € Ø ˆÔØ×ÒÜ�$×"Ñ"¨Õ+ð	<Ø×+Ñ+Ó-�ñ Ø—M‘M $°d�MÕ;ð ×Õøô
 ò $Ø×)Ò)ØŸ?™?Ð+PÐQTÐUXÔYØ—M‘M”Oùð$ús   ¬A! Á!8BÂBc                 ó  — 	 	 | j                  «        	 t        | d«      r| j                  j                  «        | j	                  «        | j                  «        y # t
        $ r+}t        dt        |«      j                  z  «       Y d }~nd }~ww xY w	 t        | d«      r| j                  j                  «        | j	                  «        n;# t        | d«      r| j                  j                  «        | j	                  «        w xY w�Œ)NÚ
_eventloopz
%s escaped interact()
)
rÎ  rÁ   rÐ  Ústopr   ÚKeyboardInterruptrÇ  ÚtyperJ   Ú_atexit_once)rŽ   Úes     rO   Úmainloopz!TerminalInteractiveShell.mainloop  s×   € ð ð*Ø—‘”Øô ˜4 Ô.Ø—O‘O×(Ñ(Ô*à×'Ñ'Ô)ð 	×ÑÕøô# %ò FÜÐ1´D¸³G×4DÑ4DÑD×EÑEûðFúØEô ˜4 Ô.Ø—O‘O×(Ñ(Ô*à×'Ñ'Õ)øô ˜4 Ô.Ø—O‘O×(Ñ(Ô*à×'Ñ'Õ)úñ s)   ƒA Á	BÁ$!B
ÂC
 Â
BÂC
 Ã
8Dc                 ó@   — | j                   �| j                  |«       y y r‰   )r¡  )rŽ   Úcontexts     rO   r—  z"TerminalInteractiveShell.inputhook+  s   € Ø�?‰?Ð&Ø�O‰O˜GÕ$ð 'rN   Úactive_eventloopÚguic                 óR  — |rddl m}  ||«      }| j                  du r|�t        d|› d�«       t        d«       y | j                  €|€t        d«       y | j                  �s|�qt        |«      \  }}| j                  |k(  r*| j                  j                  d| j                  › d	�«       y | j                  j                  d
| j                  › d�«       y | j                  �|€d x| _        | _        |r|dvrt        |«      \  | _        | _        nd x| _        | _        |dk(  | _
        y )Nrþ   )Ú_convert_gui_from_matplotlibTz$Cannot install event loop hook for "z&" when running with `--simple-prompt`.zSNOTE: Tk is supported natively; use Tk apps and Tk backends with `--simple-prompt`.zNo event loop hook running.zShell is already running the z eventloop. Doing nothingz8Shell is already running a different gui event loop for z5. Call with no arguments to disable the current loop.>   NÚwebaggÚasyncio)Úcore.pylabtoolsrÜ  r¶   rÇ  r¡  r8   ÚlogÚinforÙ  Úwarningr\  )rŽ   rÚ  rÜ  ÚnewevÚ	newinhooks        rO   Ú
enable_guiz#TerminalInteractiveShell.enable_gui1  sB  € ÙÝFá.¨sÓ3ˆCà×Ñ Ñ%¨#¨/ÜØ6°s°eÐ;aÐbôô Øeôð à�?‰?Ð" s {ÜÐ/Ô0Øà�?‰?Ð&¨3¨?Ü:¸3Ó?ÑˆE�9Ø�‰ )Ò+à—‘—‘Ø3°D×4IÑ4IÐ3JÐJcÐdôð Ø�H‰H×ÑØJÈ4×K`ÑK`ÐJað bFð Fôð Ø�?‰?Ð&¨3¨;Ø6:Ð:ˆDÔ! D¤Oá�CÐ/Ñ/ä5PÐQTÓ5UÑ2ˆDÔ! 4¥?à6:Ð:ˆDÔ! D¤Oà&)¨YÑ&6ˆÕ#rN   c                 ó8  — | j                   sy| j                  j                  «       }| j                  rAt	        t        |«      d| j                  j                  j                  ¬«       t        |«       ydj                  d„ |D «       «      }t        ||d¬«       y)z>Overridden from the parent class to use fancy rewriting promptNrœ   )rÃ  rU  c              3   ó&   K  — | ]	  \  }}|–— Œ y ­wr‰   rM   )rE  Útr  s      rO   rF  z>TerminalInteractiveShell.auto_rewrite_input.<locals>.<genexpr>k  s   è ø€ Ð2©6¡4 1 aœQ©6ùrG  )Úsep)
Úshow_rewritten_inputrß   Úrewrite_prompt_tokensr³   r+   r#   ÚapprU  rÇ  rÿ   )rŽ   r»  ÚtokensrP  s       rO   Úauto_rewrite_inputz+TerminalInteractiveShell.auto_rewrite_input`  sp   € à×(Ò(Øà—‘×3Ñ3Ó5ˆØ�;Š;Ü ¤°Ó!7¸RØ'+§{¡{§¡×'<Ñ'<õ>ä�#�Jà—W‘WÑ2©6Ó2Ó2ˆFÜ�&˜# 2Ö&rN   c                 ó–   — |r"| j                   | _        t        | «      | _         y| j                  r| j                  | _         d| _        yy)z+Switch prompts to classic for %doctest_modeN)rß   Ú_prompts_beforer:   )rŽ   rr   s     rO   Úswitch_doctest_modez,TerminalInteractiveShell.switch_doctest_modeo  s@   € áØ#'§<¡<ˆDÔ Ü)¨$Ó/ˆD�LØ×!Ò!Ø×/Ñ/ˆDŒLØ#'ˆDÕ ð "rN   r‰   )r¨   N)srJ   rK   rL   r   ÚtagÚmime_renderersr   r™  r³   Ú	UnionTyper)   Ú__annotations__r´   r   rF   Údebugger_historyr   Údebugger_history_filer   Ú_use_simple_promptr¶   Úpropertyr·   rË  r¼   Ú emacs_bindings_in_vi_insert_modeÚmodal_cursorr   ÚttimeoutlenÚ
timeoutlenrÔ   Ú
auto_matchrW  r   r   r2   r×   r   rÄ   r   rÊ   rÓ   rÖ   rÛ   rÚ   ry  r„  rk   Úeditorr9   rá   r   rß   r   râ   rå   r3  r7  r   r�  r�  r]  r   Úhandle_returnrT  r  rø   r   rí   rð   rò   rñ   rõ   rï   r
  r   r8  rÿ   rD   r  r  r  Úprompt_includes_vi_moder˜  r9  r   r<  r`  rÝ   r‚  rY  r^  r[  r§  r¯  r±  r¸  r‹   rÁ  rž  rÎ  rÖ  r¡  r—  rÙ  r   r¬   rå  r   Ú
system_rawÚsystemrî  rð  rñ  r­   )rE  r,  r�   s   00@rO   r¯   r¯   Ï   sƒ  ø… Ù“V—Z‘Z t�ZÓ,€Ná˜Qð &Kô ÷ "™c¨˜cÓ.ð ð .2€FˆI�m TÐ)Ñ*Ó1ð
 	ð	 �)ØØ'Øð	ñó ð
 Ðá#ØÐGôç	�c�€cÓð ñ Ð+ðô÷ 
�c�€cÓð ð  ñ:ó ð:ñ ˜ðAô÷
 
�c�€cÓð ñ ˜7ØDôç	�c�€cÓð ñ (,ØØJô(÷ 
�c�€cÓð %ñ
 Øð9ô÷
 
�c�€cÓð ñ Øðô÷ 
�c�€cÓð	 ñ Øð ô÷ 
�c�€cÓð	 ñ ØØ\Øô÷ 
�c�€cÓð	 ñ Øðô÷ 
�c�€cÓð ñ ˜Øaôç	�c�€cÓð ñ ¡¨Ó 1±4¸eÔ3DÐEðNô÷ 
�c�€cÓð ñ
 ˆnÓñ	!ó ð	!ñ ˆ^ÓñPó ðPòñ ˆ_Óñ'ó ð'ñ Ð!Ó"ÙˆXÓñó ó #ðòQñ $(Ø?ô$ç	�c�€cÓð !ñ �eðô÷ 
�c�€cÓð ñ Ñ'Ó)ØNôç	�c�€cÓð ñ ˜Ð'_Ô`×dÑdÐlpÐdÓq€Má�wÓ€GáˆYÓñ(ó ð(ñ Ð Ó!ñ%ó "ð%ñ �dØ3ôç	�c�€cÓð ñ  Ð 0ð3ô÷ 
�c�€cÓð ñ
 ÐGðGð $ô%÷
 &)¡S° SÓ%5ð ñ #' tØ+ô#ç	�c�€cÓð  ñ #' uðOô#÷ 
�c�€cÓð  ñ
 ˜ð<ô÷ 
�c�€cÓð	 ñ ! ØIôç	�c�€cÓð ñ  'Ø)ð:ð
 ô ÷ 
�c�€cÓð ð  #Ó"á!Ø
ðBô÷ 
�c�€cÓð ñ /Øðô÷  
�c�€cÓð! ð" "Ó!áÐ&Ó'ñ$ó (ð$ñ
 *ØØð	ô÷ 
�c�€cÓð ð  $Ð˜Ó#áÐ!Ó"ñ$ó #ð$ó09ñd Ð'Ó(ñ,ó )ð,ñ ÙÙòó	ñ #›9Ù"¡7£9›oÙ '£	Ù ¡£›OÙ%›iÙ˜u›+ñô
ð(2÷d ‰FØ ×%Ñ%Ñ?QÔ&RÑ?Q¸!¨°¨s°"¢~Ð?QÒ&RÓSð ó 
ôOJ÷T 
�c�€cÓðU ñX ˆ[ÓñXó ðXòiñV # 4ØHôç	�c�€cÓð ñ !(Ø
ðXô	!÷ 
�c�€cÓð ñ ˆ\Óò)ó ð)ò!ô=ò
*3òXAðF ñ$ó ð$ð ñDó ðDò9òvòBòô-ô
?õ0ò"ð €Mò<ò ð4 €Jò%ð '+Ð�h˜s‘mÓ*ñ)7˜h s™mð )7°tó )7ðZ ×(Ñ(€Fò'ð €Oö(ùóM 'Ss   Ð<T7r¯   Ú__main__)‡r«   rf   r«  rV   Úwarningsr   Útypingr   rô  r   ÚIPython.core.async_helpersr   ÚIPython.core.interactiveshellr   r   ÚIPython.utils.py3compatr	   ÚIPython.utils.terminalr
   r   r   ÚIPython.utils.processr   Ú	traitletsr   r   r   r   r   r   r   r   r   r   r   r   r   r   Útraitlets.utils.importstringr   Úprompt_toolkit.auto_suggestr   Úprompt_toolkit.enumsr   r   Úprompt_toolkit.filtersr    r!   r"   Úprompt_toolkit.formatted_textr#   Úprompt_toolkit.historyr$   Ú prompt_toolkit.layout.processorsr%   r&   Úprompt_toolkit.outputr'   Úprompt_toolkit.patch_stdoutr(   Úprompt_toolkit.shortcutsr)   r*   r+   Úprompt_toolkit.stylesr,   r-   Úprompt_toolkit.styles.pygmentsr.   r/   Úprompt_toolkitr0   Úptk_versionÚpygments.stylesr1   Úpygments.styler2   Úpygments.tokenr3   Údebuggerr5   r6   Úmagicsr7   Úpt_inputhooksr8   rß   r9   r:   r;   Úptutilsr<   r=   r  r>   r?   r@   rA   rB   rC   Úshortcuts.filtersrD   rE   Úshortcuts.auto_suggestrF   rG   Ú
startswithrš  rI   ru  rv  rw  rx  rk  rj  Úintr`   rk   Ú_namerÆ   Ú_streamrÁ   ro   r6  rÑ   rg   rø  r{   r…   r‡   r¯   ÚregisterrJ   ÚinstancerÎ  rM   rN   rO   Ú<module>r*     s  ðÙ 5ã 	Û 
Û Ý ß /å 7ß OÝ )ß \Ñ \Ý ,÷÷ ÷ ÷ ñ õ" 5õ ?ß <ß >Ñ >Ý 8Ý *ß dÝ ,Ý 4ß WÑ Wß <ß \Ý 5å -Ý  Ý  ç &Ý "Ý 6ß CÑ Cß 7÷÷ ÷ F÷ð
 €{×Ñ˜dÓ#€ô	ˆuô 	ð
 �L‰LÐ+Ø�O‰OÐ-Ø�O‰OÐ-Ø×Ñ ð	Ð ð �L‰LÐ,Ø�O‰OÐ.Ø�O‰OÐ-Ø×Ñ ð	Ð ð
¸sð 
Èsó 
òó& +€EÙ�c˜5Ó!€GðÙ™g g¨xÔ8ÀÇÁÔ@PØˆGÙð AQð +ð €Gð /°"·*±*Ð<ÒNÀgÀ+Ð òò"ô #˜ô #ôJg(Ð/ô g(ðV Ð × Ò Ð5Ô 6àˆzÒØ×%Ò%Ó'×0Ò0Õ2ð øðu ò àˆÚðús   Æ4I É IÉ
I