ó
    {ñ:i0W  ã                   ó´  • S SK r S SKrS SKrS SKJr  S SKrS SKJrJrJ	r	  S SK
JrJrJrJrJrJrJr   S SKJr   \" SS5        S S	KJrJrJrJrJr  S
SKJ r   S
SK J!r!J"r"J#r#J$r$J%r&  \RN                  " \(5      r)\ RT                  S 5       r+ " S S\"\RX                  5      r- " S S\$\R\                  5      r/ " S S\\R`                  5      r1\Rd                  " \-5       " S S\Rf                  5      5       r4\Rd                  " \-5       " S S\Rj                  5      5       r6\Rd                  " \-5       " S S\Rn                  5      5       r8\1r.\Rd                  " \-\ Rr                  5        \Rd                  " \-\ Rt                  5         " S S\#5      r;\!Rx                   " S S\!5      5       r=g! \ a  r\" S5      \eSrCff = f! \ a  r\" \5      \eSrCff = f)é    N)ÚPath)Ú_apiÚbackend_toolsÚcbook)ÚToolContainerBaseÚMouseButtonÚ
CloseEventÚKeyEventÚLocationEventÚ
MouseEventÚResizeEvent)Úrequire_versionz#The GTK3 backends require PyGObjectÚGtkz3.0)ÚGioÚGLibÚGObjectr   ÚGdké   )Ú_backend_gtk)Ú_BackendGTKÚ_FigureCanvasGTKÚ_FigureManagerGTKÚ_NavigationToolbar2GTKÚTimerGTKc                 ó¢   • [         R                  R                  [         R                  R	                  5       [
        R                  " U 5      5      $ ©N)r   ÚCursorÚnew_from_nameÚDisplayÚget_defaultr   Úmpl_to_gtk_cursor_name)Ú
mpl_cursors    Úc/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/matplotlib/backends/backend_gtk3.pyÚ_mpl_to_gtk_cursorr$   %   s7   € ä�:‰:×#Ñ#Ü�‰×ÑÓ!Ü×+Ò+¨JÓ7ó9ð 9ó    c                   óœ  ^ • \ rS rSrSr\R                  " S 5      r\R                  R                  \R                  R                  -  \R                  R                  -  \R                  R                  -  \R                  R                  -  \R                  R                  -  \R                  R                   -  \R                  R"                  -  \R                  R$                  -  rSU 4S jjrS rS rSS jrS	 rS
 rS rS rS rS rS rS rS r \!S 5       r"\!SS.S j5       r#S r$S r%S r&S r'S r(S r)S r*S r+S r,Sr-U =r.$ ) ÚFigureCanvasGTK3é,   Úgtk3c                 ó   • [         $ r   )ÚFigureManagerGTK3)Úclss    r#   Ú<lambda>ÚFigureCanvasGTK3.<lambda>.   s   € Õ3Dr%   Nc                 ó†  >• [         TU ]  US9  SU l        S U l        U R	                  SU R
                  5        U R	                  SU R                  5        U R	                  SU R                  5        U R	                  SU R                  5        U R	                  SU R                  5        U R	                  SU R                  5        U R	                  S	U R                  5        U R	                  S	U R                  5        U R	                  S
U R                  5        U R	                  SU R                  5        U R	                  SU R                  5        U R	                  SU R                  5        U R	                  SU R                   5        U R	                  SU R"                  5        U R%                  U R&                  R(                  5        U R+                  S5        [,        R.                  " 5       nUR1                  S5        U R3                  5       nUR5                  U[,        R6                  5        UR9                  S5        g )N)Úfigurer   Úscroll_eventÚbutton_press_eventÚbutton_release_eventÚconfigure_eventzscreen-changedznotify::scale-factorÚdrawÚkey_press_eventÚkey_release_eventÚmotion_notify_eventÚenter_notify_eventÚleave_notify_eventÚsize_allocateTs/   .matplotlib-canvas { background-color: white; }zmatplotlib-canvas)ÚsuperÚ__init__Ú_idle_draw_idÚ_rubberband_rectÚconnectr1   r2   r3   r4   Ú_update_device_pixel_ratioÚon_draw_eventÚ
_post_drawr6   r7   r8   r9   r:   r;   Ú
set_eventsÚ	__class__Ú
event_maskÚset_can_focusr   ÚCssProviderÚload_from_dataÚget_style_contextÚadd_providerÚ#STYLE_PROVIDER_PRIORITY_APPLICATIONÚ	add_class)Úselfr0   ÚcssÚ	style_ctxrE   s       €r#   r=   ÚFigureCanvasGTK3.__init__;   sµ  ø€ Ü‰Ñ ÐÑ'àˆÔØ $ˆÔà�‰�^¨T×->Ñ->Ô?Ø�‰Ð)¨T×-DÑ-DÔEØ�‰Ð+¨T×-FÑ-FÔGØ�‰Ð&¨T×-AÑ-AÔBØ�‰Ð%¨T×-LÑ-LÔMØ�‰Ð+¨T×-LÑ-LÔMØ�‰�V¨T×-?Ñ-?Ô@Ø�‰�V¨T¯_©_Ô=Ø�‰Ð&¨T×-AÑ-AÔBØ�‰Ð(¨T×-CÑ-CÔDØ�‰Ð*¨T×-EÑ-EÔFØ�‰Ð)¨T×-DÑ-DÔEØ�‰Ð)¨T×-DÑ-DÔEØ�‰�_¨T×-?Ñ-?Ô@à�‰˜Ÿ™×1Ñ1Ô2à×Ñ˜4Ô ä�oŠoÓˆØ×ÑÐMÔNØ×*Ñ*Ó,ˆ	Ø×Ñ˜s¤C×$KÑ$KÔLØ×ÑÐ/Õ0r%   c                 ó8   • [        SU 5      R                  5         g )NÚclose_event)r	   Ú_process©rN   s    r#   ÚdestroyÚFigureCanvasGTK3.destroyZ   s   € Ü�= $Ó'×0Ñ0Õ2r%   c                 óÀ   • U R                  S5      nUbJ  UR                  [        U5      5        [        R                  R                  5       nUR                  S5        g g )NÚwindowT)Úget_propertyÚ
set_cursorr$   r   ÚMainContextÚdefaultÚ	iteration)rN   ÚcursorrY   Úcontexts       r#   r[   ÚFigureCanvasGTK3.set_cursor]   sS   € à×"Ñ" 8Ó,ˆØÑØ×ÑÔ0°Ó8Ô9Ü×&Ñ&×.Ñ.Ó0ˆGØ×Ñ˜dÕ#ð r%   c                 óT  • UcO  U R                  5       nUR                  UR                  5       R                  5       R	                  5       5      u  p4pVOUR
                  UR                  pTX@R                  -  nU R                  R                  R                  XPR                  -  -
  nXE4$ )a_  
Convert the position of a GTK event, or of the current cursor position
if *event* is None, to Matplotlib coordinates.

GTK use logical pixels, but the figure is scaled to physical pixels for
rendering.  Transform to physical pixels so that all of the down-stream
transforms work as expected.

Also, the origin is different and needs to be corrected.
)Ú
get_windowÚget_device_positionÚget_displayÚget_device_managerÚget_client_pointerÚxÚyÚdevice_pixel_ratior0   ÚbboxÚheight)rN   ÚeventrY   Útrh   ri   Ústates          r#   Ú_mpl_coordsÚFigureCanvasGTK3._mpl_coordse   s“   € ð ‰=Ø—_‘_Ó&ˆFØ#×7Ñ7Ø×"Ñ"Ó$×7Ñ7Ó9×LÑLÓNóP‰NˆA�!�Uð —7‘7˜EŸG™GˆqØ×'Ñ'Ñ'ˆà�K‰K×Ñ×#Ñ# a×*AÑ*AÑ&AÑAˆØˆtˆr%   c                 óì   • UR                   [        R                  R                  :X  a  SOSn[	        SU /U R                  U5      Q7UU R                  UR                  5      US.6R                  5         g)Nr   éÿÿÿÿr1   )ÚstepÚ	modifiersÚguiEventF)	Ú	directionr   ÚScrollDirectionÚUPr   rp   Ú_mpl_modifiersro   rT   )rN   Úwidgetrm   rt   s       r#   r1   ÚFigureCanvasGTK3.scroll_event{   sh   € Ø—O‘O¤s×':Ñ':×'=Ñ'=Ó=‰qÀ2ˆÜ�> 4ð 	#Ø×$Ñ$ UÓ+ñ	#Ø26Ø!×0Ñ0°·±Ó=Ø!ò	#÷ $,¡8¤:Ør%   c                 óª   • [        SU /U R                  U5      QUR                  P7U R                  UR                  5      US.6R                  5         g)Nr2   ©ru   rv   F©r   rp   Úbuttonrz   ro   rT   ©rN   r{   rm   s      r#   r2   Ú#FigureCanvasGTK3.button_press_eventƒ   sT   € ÜÐ'¨ð 	#Ø×$Ñ$ UÓ+ð	#Ø-2¯\©\ñ	#à!×0Ñ0°·±Ó=Ø!ò	#÷ $,¡8¤:Ør%   c                 óª   • [        SU /U R                  U5      QUR                  P7U R                  UR                  5      US.6R                  5         g)Nr3   r~   Fr   r�   s      r#   r3   Ú%FigureCanvasGTK3.button_release_eventŠ   sT   € ÜÐ)¨4ð 	#Ø×$Ñ$ UÓ+ð	#Ø-2¯\©\ñ	#à!×0Ñ0°·±Ó=Ø!ò	#÷ $,¡8¤:Ør%   c                 ó|   • [        SU U R                  U5      /U R                  5       Q7SU06R                  5         g)Nr6   rv   T©r
   Ú_get_keyrp   rT   r�   s      r#   r6   Ú FigureCanvasGTK3.key_press_event‘   s>   € ÜÐ" DØ—‘˜uÓ%ð	!Ø(,×(8Ñ(8Ó(:ò	!àñ	!ç!)¡¤Ør%   c                 ó|   • [        SU U R                  U5      /U R                  5       Q7SU06R                  5         g)Nr7   rv   Tr†   r�   s      r#   r7   Ú"FigureCanvasGTK3.key_release_event—   s>   € ÜÐ$ dØ—‘˜uÓ%ð	!Ø(,×(8Ñ(8Ó(:ò	!àñ	!ç!)¡¤Ør%   c                 óÆ   • [        SU /U R                  U5      Q7U R                  UR                  5      U R	                  UR                  5      US.6R                  5         g)Nr8   )Úbuttonsru   rv   F)r   rp   Ú_mpl_buttonsro   rz   rT   r�   s      r#   r8   Ú$FigureCanvasGTK3.motion_notify_event�   sY   € ÜÐ(¨$ð 	#°×1AÑ1AÀ%Ó1Hñ 	#Ø×,Ñ,¨U¯[©[Ó9Ø!×0Ñ0°·±Ó=Ø!ò	#÷ $,¡8¤:Ør%   c                 óô   • [         R                  R                  U R                  5       5      R	                  5       n[        SU /U R                  U5      Q7U R                  U5      US.6R                  5         g )NÚfigure_enter_eventr~   ©	r   ÚKeymapÚget_for_displayre   Úget_modifier_stater   rp   rz   rT   ©rN   r{   rm   Úgtk_modss       r#   r9   Ú#FigureCanvasGTK3.enter_notify_event¤   ój   € Ü—:‘:×-Ñ-Ø×ÑÓó ß 2Ñ 2Ó 4ð 	äÐ*¨Dð 	&°4×3CÑ3CÀEÓ3Jñ 	&Ø $× 3Ñ 3°HÓ =Ø$ò	&ç&.¡h¥jr%   c                 óô   • [         R                  R                  U R                  5       5      R	                  5       n[        SU /U R                  U5      Q7U R                  U5      US.6R                  5         g )NÚfigure_leave_eventr~   r‘   r•   s       r#   r:   Ú#FigureCanvasGTK3.leave_notify_event«   r˜   r%   c                 ó(  • U R                   R                  nUR                  U R                  -  U-  nUR                  U R                  -  U-  nU R                   R                  XESS9  [        SU 5      R                  5         U R                  5         g )NF©ÚforwardÚresize_event)	r0   ÚdpiÚwidthrj   rl   Úset_size_inchesr   rT   Ú	draw_idle)rN   r{   Ú
allocationÚdpivalÚwinchÚhinchs         r#   r;   ÚFigureCanvasGTK3.size_allocate²   sy   € Ø—‘—‘ˆØ× Ñ  4×#:Ñ#:Ñ:¸VÑCˆØ×!Ñ! D×$;Ñ$;Ñ;¸fÑDˆØ�‰×#Ñ# E¸%Ð#Ñ@Ü�N DÓ)×2Ñ2Ô4Ø�‰Õr%   c                 óð  • [         R                  [        R                  R                  4[         R
                  [        R                  R                  4[         R                  [        R                  R                  4[         R                  [        R                  R                  4[         R                  [        R                  R                  4/nU VVs/ s H  u  p#X-  (       d  M  UPM     snn$ s  snnf r   )r   ÚLEFTr   ÚModifierTypeÚBUTTON1_MASKÚMIDDLEÚBUTTON2_MASKÚRIGHTÚBUTTON3_MASKÚBACKÚBUTTON4_MASKÚFORWARDÚBUTTON5_MASK)Úevent_stateru   ÚnameÚmasks       r#   r�   ÚFigureCanvasGTK3._mpl_buttonsº   s®   € ô ×Ñœs×/Ñ/×<Ñ<Ð=Ü×Ñ¤×!1Ñ!1×!>Ñ!>Ð?Ü×Ñ¤× 0Ñ 0× =Ñ =Ð>Ü×Ñœs×/Ñ/×<Ñ<Ð=Ü× Ñ ¤#×"2Ñ"2×"?Ñ"?Ð@ð
ˆ	ñ (1ÔG¢y™˜°KÕ4F—¡yÒGÐGùÓGs   ÃC2Ã(C2©Úexcludec                óL  • S[         R                  R                  S4S[         R                  R                  S4S[         R                  R                  S4S[         R                  R
                  S4/nU VVVs/ s H  u  p4nX:w  d  M  X-  (       d  M  UPM     snnn$ s  snnnf )NÚctrlÚcontrolÚaltÚshiftr<   )r   r«   ÚCONTROL_MASKÚ	MOD1_MASKÚ
SHIFT_MASKÚ	MOD4_MASK)rµ   rº   ru   r¶   r·   Úkeys         r#   rz   ÚFigureCanvasGTK3._mpl_modifiersÆ   sœ   € ð ”S×%Ñ%×2Ñ2°IÐ>Ø”C×$Ñ$×.Ñ.°Ð6Ø”c×&Ñ&×1Ñ1°7Ð;Ø”c×&Ñ&×0Ñ0°'Ð:ð	
ˆ	ñ -6õ :ªI™˜ SØ‘>ó Ø&1Õ&8÷ ©Ió :ð 	:ùô :s   Á9BÂ	BÂBc                 ót  • [        [        R                  " UR                  5      5      n[        R
                  " U[        R                  " UR                  5      5      nU R                  UR                  US9nSU;   a&  UR                  5       (       a  UR                  S5        SR                  / UQUP5      $ )Nr¹   r¿   Ú+)Úchrr   Úkeyval_to_unicodeÚkeyvalr   Ú_unikey_or_keysym_to_mplkeyÚkeyval_namerz   ro   ÚisprintableÚremoveÚjoin)rN   rm   ÚunikeyrÄ   Úmodss        r#   r‡   ÚFigureCanvasGTK3._get_keyÑ   sŽ   € Ü”S×*Ò*¨5¯<©<Ó8Ó9ˆÜ×/Ò/Ø”C—O’O E§L¡LÓ1ó3ˆà×"Ñ" 5§;¡;¸Ð"Ð<ˆØ�d‹?˜v×1Ñ1×3Ñ3Ø�K‰K˜Ô Ø�x‰x˜˜$˜ ˜Ó%Ð%r%   c                 óŽ   • U R                  U R                  5       5      (       a!  U R                  5         U R                  5         g g r   )Ú_set_device_pixel_ratioÚget_scale_factorÚqueue_resizeÚ
queue_draw©rN   ÚargsÚkwargss      r#   rA   Ú+FigureCanvasGTK3._update_device_pixel_ratioÚ   s<   € ð ×'Ñ'¨×(=Ñ(=Ó(?×@Ñ@ð ×ÑÔØ�O‰OÕð Ar%   c                 ó  • UR                  S5      c  g UR                  U R                  -  nUR                  U R                  -  nUS:  d  US:  a  g U R                  R
                  nU R                  R                  X5-  XE-  SS9  g)NrY   é   Fr�   )rZ   r¡   rj   rl   r0   r    r¢   )rN   r{   rm   ÚwÚhr    s         r#   r4   Ú FigureCanvasGTK3.configure_eventä   s{   € Ø×Ñ˜xÓ(Ñ0ØØ�K‰K˜$×1Ñ1Ñ1ˆØ�L‰L˜4×2Ñ2Ñ2ˆØˆq‹5�A˜“EØà�k‰k�o‰oˆØ�‰×#Ñ# A¡G¨Q©W¸eÐ#ÑDØr%   c                 ó0   • Xl         U R                  5         g r   )r?   r×   )rN   Úrects     r#   Ú_draw_rubberbandÚ!FigureCanvasGTK3._draw_rubberbandð   s   € Ø $Ôà�‰Õr%   c                 óŒ  ^ • T R                   c  g U 4S jT R                    5       u  p4pVX5-   nXF-   nUR                  X45        UR                  X85        UR                  X45        UR                  Xt5        UR                  X85        UR                  Xx5        UR                  Xt5        UR                  Xx5        UR                  S5        UR	                  S5        UR                  SS5        UR                  SSS5        UR                  5         UR                  SS5        UR                  SSS5        UR                  5         g )Nc              3   óB   >#   • U  H  nUTR                   -  v •  M     g 7fr   )rj   )Ú.0ÚdimrN   s     €r#   Ú	<genexpr>Ú.FigureCanvasGTK3._post_draw.<locals>.<genexpr>ù   s#   øé € ð :Ú#8˜Cð ˜d×5Ñ5Ö5Ú#8ùs   ƒr   )rÝ   rÝ   r   rÝ   )	r?   Úmove_toÚline_toÚset_antialiasÚset_line_widthÚset_dashÚset_source_rgbÚstroke_preserveÚstroke)	rN   r{   ÚctxÚx0Úy0rÞ   rß   Úx1Úy1s	   `        r#   rC   ÚFigureCanvasGTK3._post_drawõ   s  ø€ Ø× Ñ Ñ(Øô:Ø#'×#8Ò#8ó:‰ˆ�à‰VˆØ‰Vˆð 	�‰�BÔØ�‰�BÔØ�‰�BÔØ�‰�BÔØ�‰�BÔØ�‰�BÔØ�‰�BÔØ�‰�BÔà×Ñ˜!ÔØ×Ñ˜1ÔØ�‰�V˜QÔØ×Ñ˜1˜a Ô#Ø×ÑÔà�‰�V˜QÔØ×Ñ˜1˜a Ô#Ø�
‰
�r%   c                 ó   • g r   © )rN   r{   ró   s      r#   rB   ÚFigureCanvasGTK3.on_draw_event  s   € àr%   c                 óP   • U R                  5       (       a  U R                  5         g g r   )Úis_drawabler×   rU   s    r#   r5   ÚFigureCanvasGTK3.draw  s    € à×Ñ×ÑØ�O‰OÕð r%   c                 ój   ^ • T R                   S:w  a  g U 4S jn[        R                  " U5      T l         g )Nr   c                  óN   >•  TR                  5         STl        g! STl        f = f)Nr   F)r5   r>   )rÙ   rN   s    €r#   Ú	idle_drawÚ-FigureCanvasGTK3.draw_idle.<locals>.idle_draw   s(   ø€ ð'Ø—	‘	”à%&�Ô"Øøð &'�Õ"ús   ƒ ›	$)r>   r   Úidle_add)rN   r  s   ` r#   r£   ÚFigureCanvasGTK3.draw_idle  s,   ø€ à×Ñ Ó"Øõ	ô "Ÿ]š]¨9Ó5ˆÕr%   c                 ó¼   • [         R                  R                  5       nUR                  5       (       a)  UR	                  S5        UR                  5       (       a  M(  g g )NT)r   r\   r]   Úpendingr^   )rN   r`   s     r#   Úflush_eventsÚFigureCanvasGTK3.flush_events(  s@   € ä×"Ñ"×*Ñ*Ó,ˆØ�o‰o×ÑØ×Ñ˜dÔ#ð �o‰o×Õr%   )r>   r?   r   )/Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Úrequired_interactive_frameworkr   ÚclasspropertyÚmanager_classr   Ú	EventMaskÚBUTTON_PRESS_MASKÚBUTTON_RELEASE_MASKÚEXPOSURE_MASKÚKEY_PRESS_MASKÚKEY_RELEASE_MASKÚENTER_NOTIFY_MASKÚLEAVE_NOTIFY_MASKÚPOINTER_MOTION_MASKÚSCROLL_MASKrF   r=   rV   r[   rp   r1   r2   r3   r6   r7   r8   r9   r:   r;   Ústaticmethodr�   rz   r‡   rA   r4   rã   rC   rB   r5   r£   r  Ú__static_attributes__Ú__classcell__)rE   s   @r#   r'   r'   ,   sg  ø† Ø%+Ð"Ø×&Ò&Ñ'DÓE€Mð —-‘-×1Ñ1Ø—M‘M×5Ñ5ñ6à—M‘M×/Ñ/ñ0ð —M‘M×0Ñ0ñ1ð —M‘M×2Ñ2ñ	3ð
 —M‘M×3Ñ3ñ4ð —M‘M×3Ñ3ñ4ð —M‘M×5Ñ5ñ6ð —M‘M×-Ñ-ñ.€J÷1ò>3ò$ôò,òòòòòò1ò1òð ñ	Hó ð	Hð Ø/3ô :ó ð:ò&òò
òò
ò<òò

6÷$ð $r%   r'   c                   ó    • \ rS rSrS rS rSrg)ÚNavigationToolbar2GTK3i/  c                 ó¢  • [         R                   R                  U 5        U R                  [        R                  R
                  5        0 U l        U R                   GHK  u  p#pEUc'  U R                  [        R                  " 5       S5        M1  [        R                  R                  [        R                  R                  [        [         R"                  " SU S35      5      5      [        R$                  R&                  5      nUS;   a  [        R(                  " 5       O[        R*                  " 5       =U R                  U'   nUR-                  U5        UR/                  U5        UR1                  S[3        X5      5      Ul        UR7                  U5        U R                  US5        GMN     [        R8                  " 5       nU R                  US5        [        R:                  " 5       n	U	R=                  S5        UR?                  S5        URA                  U	5        [        R8                  " 5       nU R                  US5        [        R:                  " 5       U l!        U RB                  RE                  [        RF                  RH                  5        URA                  U RB                  5        U RK                  5         [L        R                  " X5        g )Nrs   Úimagesú-symbolic.svg)ÚzoomÚpanÚclickedu   <small>Â 
Â </small>T)'r   r=   Ú	set_styler   ÚToolbarStyleÚICONSÚ_gtk_idsÚ	toolitemsÚinsertÚSeparatorToolItemÚImageÚnew_from_giconr   ÚIconÚnew_for_stringÚstrr   Ú_get_data_pathÚIconSizeÚLARGE_TOOLBARÚToggleToolButtonÚ
ToolButtonÚ	set_labelÚset_icon_widgetr@   ÚgetattrÚ_signal_handlerÚset_tooltip_textÚToolItemÚLabelÚ
set_markupÚ
set_expandÚaddÚmessageÚset_justifyÚJustificationr¯   Úshow_allr   )
rN   ÚcanvasÚtextÚtooltip_textÚ
image_fileÚcallbackÚimager€   ÚtoolitemÚlabels
             r#   r=   ÚNavigationToolbar2GTK3.__init__0  s  € Ü�‰× Ñ  Ô&à�‰”s×'Ñ'×-Ñ-Ô.àˆŒØ8<¿½Ñ4ˆD 
Ø‰|Ø—‘œC×1Ò1Ó3°RÔ8ÙÜ—I‘I×,Ñ,Ü—‘×'Ñ'Üœ×,Ò,¨XØ0:¨|¸=Ð-IóKó LóMô —‘×*Ñ*ó	,ˆEð +3°oÓ*E”×$Ò$Ô&Ü—’Ó ð"ˆD�M‰M˜$Ñ &ð ×Ñ˜TÔ"Ø×"Ñ" 5Ô)à%+§^¡^Øœ7 4Ó2ó&4ˆFÔ"à×#Ñ# LÔ1Ø�K‰K˜ ×#ñ% 9Gô0 —<’<“>ˆØ�‰�H˜bÔ!Ü—	’	“ˆØ×ÑØCô	Eà×Ñ˜DÔ!Ø�‰�UÔä—<’<“>ˆØ�‰�H˜bÔ!Ü—y’y“{ˆŒØ�‰× Ñ ¤×!2Ñ!2×!8Ñ!8Ô9Ø�‰�T—\‘\Ô"à�‰Œä×'Ò'¨Õ5r%   c           	      óâ  ^ ^
• [         R                  " ST R                  R                  5       [         R                  R
                  [         R                  [         R                  R                  [         R                  [         R                  R                  4S9m
T R                  R                  5       R                  5        HŠ  u  p#[         R                  " 5       nUR                  U5        U H  nUR                  SU 35        M     T
R!                  U5        T R                  R#                  5       U;   d  My  T
R%                  U5        MŒ     [&        R(                  " T
R*                  S5      U
U 4S j5       nT
R-                  [.        R0                  S   5        T
R3                  T R                  R5                  5       5        T
R7                  S5        T
R9                  5       nT
R;                  5       nT
R=                  5       nT R                  R                  5       UR?                  5          S   nT
RA                  5         U[         R                  R                  :w  a  g [.        R0                  S   (       a0  [B        RD                  RG                  U5      [.        R0                  S'    T R                  RH                  RK                  X…S	9  U$ ! [L         a’  n	[         RN                  " T R                  R                  5       [Q        U	5      [         RR                  RT                  [         RV                  R                  S
9m
T
R9                  5         T
RA                  5          S n	A	g S n	A	ff = f)NzSave the figure)ÚtitleÚtransient_forÚactionrŒ   z*.znotify::filterc                  ó  >• TR                  5       R                  5       nTR                  R                  5       U   S   nTR	                  [        [        TR                  5       5      R                  SU 35      5      5        g )Nr   Ú.)	Ú
get_filterÚget_namerD  Úget_supported_filetypes_groupedÚset_current_namer0  r   Úget_current_nameÚwith_suffix)rÙ   r¶   ÚfmtÚdialogrN   s      €€r#   Úon_notify_filterÚ<NavigationToolbar2GTK3.save_figure.<locals>.on_notify_filterr  sl   ø€ à×$Ñ$Ó&×/Ñ/Ó1ˆDØ—+‘+×=Ñ=Ó?ÀÑEÀaÑHˆCØ×#Ñ#Ü”D˜×0Ñ0Ó2Ó3×?Ñ?À!ÀCÀ5À	ÓJÓKõMr%   zsavefig.directoryTr   )Úformat)rO  rE  Úmessage_typerŒ   ),r   ÚFileChooserDialogrD  Úget_toplevelÚFileChooserActionÚSAVEÚSTOCK_CANCELÚResponseTypeÚCANCELÚ
STOCK_SAVEÚOKrU  ÚitemsÚ
FileFilterÚset_nameÚadd_patternÚ
add_filterÚget_default_filetypeÚ
set_filterÚ	functoolsÚpartialr@   Úset_current_folderÚmplÚrcParamsrV  Úget_default_filenameÚset_do_overwrite_confirmationÚrunÚget_filenamerS  rT  rV   ÚosÚpathÚdirnamer0   ÚsavefigÚ	ExceptionÚMessageDialogr0  ÚMessageTypeÚERRORÚButtonsType)rN   rÙ   r¶   ÚfmtsÚffrY  r[  ÚresponseÚfnameÚerZ  s   `         @r#   Úsave_figureÚ"NavigationToolbar2GTK3.save_figure`  s~  ù€ Ü×&Ò&Ø#ØŸ+™+×2Ñ2Ó4Ü×(Ñ(×-Ñ-Ü×%Ñ%¤s×'7Ñ'7×'>Ñ'>Ü—^‘^¤s×'7Ñ'7×':Ñ':ð<ñ	
ˆð —;‘;×>Ñ>Ó@×FÑFÖHñ ˆDä—’Ó!ˆBØ�K‰K˜ÔÛ�Ø—‘  C 5˜zÖ*ñ à×Ñ˜bÔ!Ø�{‰{×/Ñ/Ó1°TÕ9Ø×!Ñ! "Ö%ñ Iô 
×	Ò	˜6Ÿ>™>Ð+;Ó	<õ	Mó 
=ð	Mð 	×!Ñ!¤#§,¡,Ð/BÑ"CÔDØ×Ñ §¡× @Ñ @Ó BÔCØ×,Ñ,¨TÔ2à—:‘:“<ˆØ×#Ñ#Ó%ˆØ×ÑÓ ˆØ�k‰k×9Ñ9Ó;¸B¿K¹K»MÑJÈ1ÑMˆØ�‰ÔØ”s×'Ñ'×*Ñ*Ó*Øä�<‰<Ð+×,Ü02·±·±ÀÓ0FŒC�L‰LÐ,Ñ-ð	Ø�K‰K×Ñ×&Ñ& uÐ&Ñ9ØˆLøÜó 	Ü×&Ò&Ø"Ÿk™k×6Ñ6Ó8¼sÀ1»vÜ Ÿ_™_×2Ñ2¼C¿O¹O×<NÑ<NñPˆFð �J‰JŒLØ�N‰N×Ñûð	ús   Ê-$K Ë
M.ËBM)Í)M.)r(  r@  N)r	  r
  r  r  r=   r†  r  rú   r%   r#   r  r  /  s   † ò.6õ`/r%   r  c                   óH   • \ rS rSrSrS rS rS rS rS r	S r
S	 rS
 rSrg)ÚToolbarGTK3i’  r!  c                 óÔ  • [         R                  " X5        [        R                  R                  U 5        U R	                  S[        R
                  R                  5        [        R                  " 5       U l        U R                  R                  [        R                  R                  5        U R                  U R                  SSS5        U R                  5         0 U l        0 U l        g )NÚorientationFr   )r   r=   r   ÚBoxÚset_propertyÚOrientationÚ
HORIZONTALr<  Ú_messagerA  rB  r¯   Úpack_endrC  Ú_groupsÚ
_toolitems)rN   Útoolmanagers     r#   r=   ÚToolbarGTK3.__init__•  s”   € Ü×"Ò" 4Ô5Ü�‰×Ñ˜ÔØ×Ñ˜-¬¯©×)CÑ)CÔDÜŸ	š	›ˆŒØ�‰×!Ñ!¤#×"3Ñ"3×"9Ñ"9Ô:Ø�‰�d—m‘m U¨E°1Ô5Ø�‰ŒØˆŒØˆ�r%   c                 ó|  • U(       a  [         R                  " 5       nO[         R                  " 5       nUR                  U5        Ubf  [         R                  R                  [        R                  R                  U5      [         R                  R                  5      nUR                  U5        Uc  SnU R                  XrU5        UR                  SU R                  U5      n	UR                  U5        UR!                  5         U R"                  R%                  U/ 5        U R"                  U   R'                  Xy45        g )Nrs   r$  )r   r4  r5  r6  r,  r-  r   r.  r/  r2  r3  r7  Ú_add_buttonr@   Ú
_call_toolr:  rC  r“  Ú
setdefaultÚappend)
rN   r¶   ÚgroupÚpositionrG  ÚdescriptionÚtoggler€   rI  Úsignals
             r#   Úadd_toolitemÚToolbarGTK3.add_toolitem   sí   € æÜ×)Ò)Ó+‰Fä—^’^Ó%ˆFØ×Ñ˜ÔàÑ!Ü—I‘I×,Ñ,Ü—‘×'Ñ'¨
Ó3Ü—‘×*Ñ*ó,ˆEð ×"Ñ" 5Ô)àÑØˆHà×Ñ˜¨Ô1Ø—‘ 	¨4¯?©?¸DÓAˆØ×Ñ Ô,Ø�‰ÔØ�‰×"Ñ" 4¨Ô,Ø�‰˜Ñ×$Ñ$ fÐ%5Õ6r%   c                 ó€  • X R                   ;  a‘  U R                   (       a  U R                  5         [        R                  " 5       nUR	                  [        R
                  R                  5        U R                  USSS5        UR                  5         X@R                   U'   U R                   U   R                  X5        g )NFr   )
r’  Ú_add_separatorr   ÚToolbarr%  r&  r'  Ú
pack_startrC  r*  )rN   r€   r›  rœ  Útoolbars        r#   r—  ÚToolbarGTK3._add_button¸  s…   € ØŸ™Ó$Ø�|�|Ø×#Ñ#Ô%Ü—k’k“mˆGØ×Ñœc×.Ñ.×4Ñ4Ô5Ø�O‰O˜G U¨E°1Ô5Ø×ÑÔØ")�L‰L˜ÑØ�‰�UÑ×"Ñ" 6Õ4r%   c                 ó&   • U R                  U5        g r   )Útrigger_tool)rN   Úbtnr¶   s      r#   r˜  ÚToolbarGTK3._call_toolÃ  s   € Ø×Ñ˜$Õr%   c                 óº   • XR                   ;  a  g U R                   U    H8  u  p4UR                  U5        UR                  U5        UR                  U5        M:     g r   )r“  Úhandler_blockÚ
set_activeÚhandler_unblock)rN   r¶   ÚtoggledrJ  rŸ  s        r#   Útoggle_toolitemÚToolbarGTK3.toggle_toolitemÆ  sO   € Ø—‘Ó&ØØ $§¡°Ô 5ÑˆHØ×"Ñ" 6Ô*Ø×Ñ Ô(Ø×$Ñ$ VÖ,ò !6r%   c                 óØ   • U R                   R                  U/ 5       HJ  u  p#U R                   H5  nX R                  U   ;   d  M  U R                  U   R                  U5        M7     ML     g r   )r“  Úpopr’  rÎ   )rN   r¶   rJ  Ú_signalr›  s        r#   Úremove_toolitemÚToolbarGTK3.remove_toolitemÎ  sT   € Ø!%§¡×!4Ñ!4°T¸2Ö!>ÑˆHØŸœ�ØŸ|™|¨EÑ2Õ2Ø—L‘L Ñ'×.Ñ.¨xÖ8ó &ò "?r%   c                 óÊ   • [         R                  " 5       nUR                  S[         R                  R                  5        U R                  USSS5        UR                  5         g )Nr‹  FTr   )r   Ú	Separatorr�  rŽ  ÚVERTICALr¥  rC  )rN   Úseps     r#   r£  ÚToolbarGTK3._add_separatorÔ  sB   € Ü�mŠm‹oˆØ×Ñ˜¬¯©×(@Ñ(@ÔAØ�‰˜˜U D¨!Ô,Ø�‰�r%   c                 ó:   • U R                   R                  U5        g r   )r�  r6  )rN   Úss     r#   Úset_messageÚToolbarGTK3.set_messageÚ  s   € Ø�‰×Ñ Õ"r%   )r’  r�  r“  N)r	  r
  r  r  Ú_icon_extensionr=   r   r—  r˜  r±  r¶  r£  r¿  r  rú   r%   r#   r‰  r‰  ’  s/   † Ø%€Oò	ò7ò0	5ò ò-ò9òõ#r%   r‰  c                   ó   • \ rS rSrS rSrg)ÚSaveFigureGTK3iÞ  c                 óJ   • [         R                  U R                  5       5        g r   )r  r†  Ú"_make_classic_style_pseudo_toolbarrØ   s      r#   ÚtriggerÚSaveFigureGTK3.triggerà  s   € Ü×*Ñ*Ø×3Ñ3Ó5õ	7r%   rú   N©r	  r
  r  r  rÆ  r  rú   r%   r#   rÃ  rÃ  Þ  s   † õ7r%   rÃ  c                   ó2   • \ rS rSrS rS rS rS rS rSr	g)	ÚHelpGTK3iå  c                 ó.  • SSSSS.nUR                  S5      nUSS  Vs/ s H  nS	U-   S
-   PM     nnUS   nX;   a  X!   nO;[        U5      S:”  a  UR                  5       nOUR                  5       (       a  US/-  nSR	                  U5      U-   $ s  snf )zj
Convert Matplotlib key presses to GTK+ accelerator identifiers.

Related to `FigureCanvasGTK3._get_key`.
Ú	BackSpaceÚ	Page_DownÚPage_UpÚScroll_Lock)Ú	backspaceÚpagedownÚpageupÚscroll_lockrÇ   Nrs   Ú<Ú>r   z<shift>Ú )ÚsplitÚlenÚ
capitalizeÚisupperrÏ   )rN   rÄ   ÚspecialÚpartsÚmodrÑ   s         r#   Ú_normalize_shortcutÚHelpGTK3._normalize_shortcutç  s£   € ð %Ø#ØØ(ñ	
ˆð —	‘	˜#“ˆØ+0°°"©:Ó6ª: C��c‘	˜C”©:ˆÐ6Ø�B‰iˆà‹>Ø‘,‰CÜ�‹X˜‹\Ø—.‘.Ó"‰CØ�[‰[�]‰]Ø�Y�KÑˆDà�w‰w�t‹}˜sÑ"Ð"ùò 7s    Bc                 óF   • SU;  =(       a    UR                  S5      (       + $ )z¶
Check for a valid shortcut to be displayed.

- GTK will never send 'cmd+' (see `FigureCanvasGTK3._get_key`).
- The shortcut window only shows keyboard shortcuts, not mouse buttons.
zcmd+zMouseButton.)Ú
startswith)rN   rÄ   s     r#   Ú_is_valid_shortcutÚHelpGTK3._is_valid_shortcut  s    € ð ˜SÑ ×G¨¯©¸Ó)GÔ%GÐGr%   c           	      óà  ^ • [         R                  " 5       n[        T R                  R                  R                  5       5       H¾  u  p#UR                  (       d  M  [         R                  " 5       nUR                  U5        UR                  S S 5        [         R                  " SR                  U 4S jT R                  R                  U5       5       5      UR                  UR                  S9nUR                  U5        MÀ     [         R                  " SST R                  R                   R#                  5       S9nUR%                  5         UR                  U5        UR'                  5         g )Nc                 ó$   • U R                  S5      $ )NF)Úset_visible)r{   Údatas     r#   r-   Ú1HelpGTK3._show_shortcuts_window.<locals>.<lambda>  s   € ¨f×.@Ñ.@ÀÔ.Gr%   Ú c              3   óv   >#   • U  H.  nTR                  U5      (       d  M  TR                  U5      v •  M0     g 7fr   )râ  rÞ  )rç   rÄ   rN   s     €r#   ré   Ú2HelpGTK3._show_shortcuts_window.<locals>.<genexpr>  s6   øé € ð %5âE˜Ø×.Ñ.¨s×3ó 2�D×,Ñ,¨S×1Ð1ÚEùs   ƒ9¡9)ÚacceleratorrN  ÚsubtitleÚHelpT)rN  ÚmodalrO  )r   ÚShortcutsSectionÚsortedr”  Útoolsrh  r�  ÚShortcutsGroupr?  ÚforallÚShortcutsShortcutrÏ   Úget_tool_keymapr¶   ÚShortcutsWindowÚ_figurerD  r`  ÚshowrC  )rN   Úsectionr¶   Útoolr›  ÚshortcutrY   s   `      r#   Ú_show_shortcuts_windowÚHelpGTK3._show_shortcuts_window
  s  ø€ Ü×&Ò&Ó(ˆä  ×!1Ñ!1×!7Ñ!7×!=Ñ!=Ó!?Ö@‰JˆDØ×#×#Ùô ×&Ò&Ó(ˆEØ�K‰K˜Ôà�L‰LÑGÈÔNä×,Ò,ØŸH™Hô %5à#×/Ñ/×?Ñ?ÀÔEó%5ó 5ð —i‘iØ×)Ñ)ñ+ˆHð �I‰I�hÖñ) Aô, ×$Ò$ØØØŸ,™,×-Ñ-×:Ñ:Ó<ñ>ˆð 	�‰ŒØ�
‰
�7Ôà�‰Õr%   c           	      ó6  • [         R                  " U R                  R                  R	                  5       S[         R
                  R                  [         R                  R                  U R                  5       SS9nUR                  5         UR                  5         g )Nr   rî  )rN  )r   r}  rø  rD  r`  r~  ÚINFOr€  rg  Ú_get_help_textrv  rV   )rN   rZ  s     r#   Ú_show_shortcuts_dialogÚHelpGTK3._show_shortcuts_dialog,  sf   € Ü×"Ò"Ø�L‰L×Ñ×,Ñ,Ó.ØŒs�‰×#Ñ#¤S§_¡_×%7Ñ%7¸×9LÑ9LÓ9NØñˆð 	�
‰
ŒØ�‰Õr%   c                 óx   • [         R                  " SSS5      c  U R                  5         g U R                  5         g )NrÝ   é   r   )r   Úcheck_versionrý  r  )rN   rÙ   s     r#   rÆ  ÚHelpGTK3.trigger4  s/   € Ü×Ò˜Q  AÓ&Ñ.Ø×'Ñ'Õ)à×'Ñ'Õ)r%   rú   N)
r	  r
  r  r  rÞ  râ  rý  r  rÆ  r  rú   r%   r#   rÊ  rÊ  å  s   † ò#ò4Hò òDõ*r%   rÊ  c                   ó   • \ rS rSrS rSrg)ÚToolCopyToClipboardGTK3i;  c                 ó
  • [         R                  R                  [        R                  5      nU R
                  R                  5       nUR                  5       u  pVpx[        R                  " XEXgU5      n	UR                  U	5        g r   )
r   Ú	ClipboardÚgetr   ÚSELECTION_CLIPBOARDrD  rc   Úget_geometryÚpixbuf_get_from_windowÚ	set_image)
rN   rÙ   rÚ   Ú	clipboardrY   rh   ri   r¡   rl   Úpbs
             r#   rÆ  ÚToolCopyToClipboardGTK3.trigger=  sc   € Ü—M‘M×%Ñ%¤c×&=Ñ&=Ó>ˆ	Ø—‘×'Ñ'Ó)ˆØ$×1Ñ1Ó3ÑˆˆeÜ×'Ò'¨°1¸VÓDˆØ×Ñ˜BÕr%   rú   NrÈ  rú   r%   r#   r	  r	  ;  s   † õ r%   r	  c                   ó   • \ rS rSr\r\rSrg)r+   iL  rú   N)	r	  r
  r  r  r  Ú_toolbar2_classr‰  Ú_toolmanager_toolbar_classr  rú   r%   r#   r+   r+   L  s   † Ø,€OØ!,Ór%   r+   c                   ó   • \ rS rSr\r\rSrg)Ú_BackendGTK3iQ  rú   N)	r	  r
  r  r  r'   ÚFigureCanvasr+   ÚFigureManagerr  rú   r%   r#   r  r  Q  s   † à#€LØ%ƒMr%   r  )>ro  Úloggingrx  Úpathlibr   Ú
matplotlibrr  r   r   r   Úmatplotlib.backend_basesr   r   r	   r
   r   r   r   Úgir   Úgi_require_versionÚImportErrorÚerrÚ
ValueErrorr…  Úgi.repositoryr   r   r   r   r   rÖ  r   r   r   r   r   r   Ú	TimerGTK3Ú	getLoggerr	  Ú_logÚcacher$   ÚDrawingArear'   r¤  r  rŒ  r‰  Ú_register_tool_classÚSaveFigureBaserÃ  ÚToolHelpBaserÊ  ÚToolCopyToClipboardBaser	  ÚConfigureSubplotsGTKÚRubberbandGTKr+   Úexportr  rú   r%   r#   Ú<module>r1     sû  ðÛ Û Û 	Ý ã ß 1Ñ 1÷B÷ Bñ BðFÝ8ð ñ �u˜eÔ$÷ 7Õ 6Ý ÷õ ð ×Ò˜Ó"€ð ‡�ñ9ó ð9ô@$Ð'¨¯©ô @$ôF`Ð3°S·[±[ô `ôFI#Ð# S§W¡Wô I#ðX ×#Ò#Ð$4Ó5ô7�]×1Ñ1ó 7ó 6ð7ð ×#Ò#Ð$4Ó5ôR*ˆ}×)Ñ)ó R*ó 6ðR*ðj ×#Ò#Ð$4Ó5ô ˜m×CÑCó  ó 6ð ð €Ø × "Ò "Ø�l×7Ñ7ô9à × "Ò "Ø�l×0Ñ0ô2ô-Ð)ô -ð
 ×Ñô&�;ó &ó ñ&øðI ó FÙ
Ð;Ó
<À#ÐEûðFûð ó  ñ �a‹.˜aÐûð ús.   ´F, »	G Æ,G Æ2	F;Æ;G ÇGÇ		GÇG