
    hE                     P   S SK r S SKrS SKrS SKrS SKrS SKJrJrJr  S SK	J
r
  S SKJrJrJrJrJrJrJrJrJrJrJrJrJrJr  S SKJs  Js  Jr  SSKJr  SSKJ r J!r!J"r"J#r#J$r$J%r%J&r&  / SPS	PS
PSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPSPS\RN                  S:w  a  SOS4PS\RN                  S:w  a  S OS4PS!PS"PS#PS$PS%PS&PS'PS(PS)PS*PS+PS,PS-PS.PS/PS0P7 V Vs0 s H)  u  p\%" \(" \ RR                  RT                  U 5      5      U_M+     snn r+S1 VVs/ s HK  u  p#\%" \(" \ RR                  RX                  U5      5      \%" \(" \ RR                  RT                  U5      5      4PMM     snnr-\R\                  S24\R^                  S34\R`                  S44\Rb                  S54\Rd                  S64\Rf                  S74\Rh                  S844 V Vs0 s H#  u  pU \(" \ RR                  Rj                  U5      _M%     snn r6\ Rn                  " S5      S9 5       r8S: r9 " S; S<\5      r: " S= S>\\"Rv                  5      r< " S? S@\"Rz                  5      r> " SA SB\5      r? " SC SD\\"R                  5      rA " SE SF\"R                  5      rC " SG SH\\"R                  5      rD\R                  " \<5       " SI SJ\R                  5      5       rG\R                  " \<5       " SK SL\R                  5      5       rI\R                  " \<5       " SM SN\R                  5      5       rK\R                  " \<5       " SO SP\R                  5      5       rM\R                  " \<5       " SQ SR\R                  5      5       rO\A\?lP        \D\?lQ        \R                   " SS ST\5      5       rSgs  snn f s  snnf s  snn f )U    N)_apibackend_toolscbook)Gcf)_BackendFigureCanvasBaseFigureManagerBaseNavigationToolbar2	TimerBasecursorsToolContainerBaseMouseButton
CloseEventKeyEventLocationEvent
MouseEventResizeEvent_allow_interrupt   )	qt_compat)QtCoreQtGui	QtWidgets__version__QT_API_to_int
_isdeleted)
Key_Escapeescape)Key_Tabtab)Key_Backspace	backspace)
Key_Returnenter)	Key_Enterr%   )
Key_Insertinsert)
Key_Deletedelete)	Key_Pausepause)
Key_SysReqsysreq)	Key_Clearclear)Key_Homehome)Key_Endend)Key_Leftleft)Key_Upup)	Key_Rightright)Key_Downdown)
Key_PageUppageup)Key_PageDownpagedown)	Key_ShiftshiftKey_ControldarwincontrolcmdKey_Metameta)Key_Altalt)Key_CapsLock	caps_lock)Key_F1f1)Key_F2f2)Key_F3f3)Key_F4f4)Key_F5f5)Key_F6f6)Key_F7f7)Key_F8f8)Key_F9f9)Key_F10f10)r_   f11)Key_F12f12)Key_Super_Lsuper)Key_Super_Rre   ))ControlModifierrC   )AltModifierrI   )ShiftModifierrA   )MetaModifierrG   SizeAllCursorPointingHandCursorArrowCursorCrossCursor
WaitCursorSizeHorCursorSizeVerCursorc                  4   [         R                  R                  5       n U GcT  [        R                  R                  5       (       d  [        S5      e[        S;   a  SnSnO[        S;   a  SnSnO[        S5      eU H  n[        R                  R                  U S	35      nUc  M*  UR                  R                  5       c  MG  [        R                  R                  U S
35      n[        R                  " S[         S[        R                  " 5        SU SUR                  5        S3	5          O   US:X  a8   [         R                  R                  [        R                   R"                  5         [         R                  R'                  [        R                   R(                  R*                  5        [         R                  " S/5      n [        R,                  S:X  aF  [/        [0        R2                  " S5      5      n[4        R6                  " U5      nU R9                  U5        U R;                  S5        [0        R<                  " 5         US:X  a)  U R                  [        R                   R>                  5        U $ ! [$         a     GNf = f! [$         a     Nf = f)NzInvalid DISPLAY variable>   PyQt6PySide6)PyQt5PySide2   >   ru   rv   )rs   rt      zShould never be herez
.QtWidgetsz.QtCorezMatplotlib is using z which wraps z+ however an instantiated QApplication from z< exists.  Mixing Qt major versions may not work as expected.
matplotlibrD   images/matplotlib.svgT) r   QApplicationinstancempl_c_internal_utilsdisplay_is_validRuntimeErrorr   sysmodulesgetr   warn_externalr   qVersionsetAttributeQtAA_EnableHighDpiScalingAttributeError#setHighDpiScaleFactorRoundingPolicy HighDpiScaleFactorRoundingPolicyPassThroughplatformstrr   _get_data_pathr   QIconsetWindowIconsetQuitOnLastWindowClosed_setup_new_guiappAA_UseHighDpiPixmaps)appother_bindings
qt_versionbindingmod
other_coreimageicons           P/var/www/html/env/lib/python3.13/site-packages/matplotlib/backends/backend_qt.py_create_qAppr   \   s'   

 
 
)
)
+C { $$55779:: ))1NJ++1NJ566%G++//WIZ"89C3#3#3#<#<#>#J [[__y-@A
""*6(-() *))0	!**,- .99  & ?&&33FII4U4UV	""FF		::FFH $$l^4<<8#,,-DEFE;;u%Dd#%%d+!?VYY;;<J# " 
  		s%   87I9 0AJ
 9
JJ

JJc                 ,   ^  S nU 4S jn[        X5      $ )zEA context manager that allows terminating a plot by sending a SIGINT.c                    ^  [         R                  " T R                  5       [         R                  R                  R                  5      nUR
                  R                  U 4S j5       nU$ )Nc                  J   >  T R                  S5        g ! [         a     g f = fNr   )recvBlockingIOError)rsocks   r   _may_clear_sockF_allow_interrupt_qt.<locals>.prepare_notifier.<locals>._may_clear_sock   s'    

1"  s    
"")r   QSocketNotifierfilenoTypeRead	activatedconnect)r   snr   s   `  r   prepare_notifier-_allow_interrupt_qt.<locals>.prepare_notifier   sP    ##ELLNF4J4J4O4O4T4TU				 
	 	    c                  h   > [        T S5      (       a  T R                  5         T R                  5         g )NcloseAllWindows)hasattrr   quit)qapp_or_eventloops   r   handle_sigint*_allow_interrupt_qt.<locals>.handle_sigint   s*    $&788--/ r   )r   )r   r   r   s   `  r   _allow_interrupt_qtr      s    
&!
 ,<<r   c                   J   ^  \ rS rSrSrU 4S jrS rS rS rS r	S r
S	rU =r$ )
TimerQT   z-Subclass of `.TimerBase` using QTimer events.c                    > [         R                  " 5       U l        U R                  R                  R	                  U R
                  5        [        TU ]  " U0 UD6  g N)r   QTimer_timertimeoutr   	_on_timerre   __init__selfargskwargs	__class__s      r   r   TimerQT.__init__   s@     mmo##DNN3$)&)r   c                 Z    [        U R                  5      (       d  U R                  5         g g r   )r   r   _timer_stopr   s    r   __del__TimerQT.__del__   s$     $++&& 'r   c                 N    U R                   R                  U R                  5        g r   )r   setSingleShot_singler   s    r   _timer_set_single_shotTimerQT._timer_set_single_shot   s    !!$,,/r   c                 N    U R                   R                  U R                  5        g r   )r   setInterval	_intervalr   s    r   _timer_set_intervalTimerQT._timer_set_interval   s    /r   c                 8    U R                   R                  5         g r   )r   startr   s    r   _timer_startTimerQT._timer_start   s    r   c                 8    U R                   R                  5         g r   )r   stopr   s    r   r   TimerQT._timer_stop   s    r   )r   )__name__
__module____qualname____firstlineno____doc__r   r   r   r   r   r   __static_attributes____classcell__r   s   @r   r   r      s)    7*00 r   r   c                     ^ \ rS rSrSr\r\R                  " S 5      r	S\
R                  4S\
R                  4S\
R                  4S\
R                  4S\
R                  44 V VVVVs0 s H*  u  p[!        ["        R$                  R                  U5      U_M,     snnnnn rS)U4S
 jjr\R*                  " 5       S 5       r\R*                  " \R0                  5      S 5       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 r&S r'S r(\)S 5       r*\)S)S	S.S jj5       r+S r,S  r-S*S! jr.S)S" jr/U4S# jr0S$ r1S)S% jr2S& r3S' r4S(r5U=r6$ s  snnnnn f )+FigureCanvasQT   qtc                     [         $ r   )FigureManagerQT)clss    r   <lambda>FigureCanvasQT.<lambda>   s    ?r   
LeftButtonRightButtonMiddleButtonXButton1XButton2Nc                   > [        5         [        TU ]	  US9  SU l        SU l        S U l        SU l        U R                  [        R                  R                  R                  5        U R                  S5        U R                  " U R                  5       6   [        R                   " [        R"                  " S5      5      nU R%                  U5        g )N)figureFc                     g r    painters    r   r   )FigureCanvasQT.__init__.<locals>.<lambda>   s    4r   Twhite)r   re   r   _draw_pending_is_drawing_draw_rect_callback_in_resize_eventr   r   r   WidgetAttributeWA_OpaquePaintEventsetMouseTrackingresizeget_width_heightr   QPaletteQColor
setPalette)r   r   paletter   s      r   r   FigureCanvasQT.__init__   s    '" #7  %&))33GGHd#T**,-..g!67 r   c                     U R                  U R                  5       =(       d    S5      (       aE  [        R                  " U R	                  5       U R	                  5       5      nU R                  U5        g g r   )_set_device_pixel_ratiodevicePixelRatioFr   QResizeEventsizeresizeEventr   events     r   _update_pixel_ratio"FigureCanvasQT._update_pixel_ratio   sY    ''&&(-A/ /
 &&tyy{DIIK@EU#/r   c                     U R                  5         UbK  UR                  R                  U R                   5        UR                  R                  U R                   5        g g r   )r  physicalDotsPerInchChangedr   logicalDotsPerInchChanged)r   screens     r   _update_screenFigureCanvasQT._update_screen   sO     	  "--55d6N6NO,,44T5M5MN r   c                     U R                  5       R                  5       nUR                  R                  U R                  5        U R	                  UR                  5       5        g r   )windowwindowHandlescreenChangedr   r  r  )r   r  r  s      r   	showEventFigureCanvasQT.showEvent  sF     ++-$$T%8%89FMMO,r   c                 T    U R                  [        R                  " [        US95        g )N)cursor)	setCursorr   check_getitemcursord)r   r#  s     r   
set_cursorFigureCanvasQT.set_cursor  s    t))'&ABr   c                    Uc.  U R                  [        R                  R                  5       5      nOC[	        US5      (       a  UR                  5       nO![	        US5      (       a  UR                  5       nUR                  5       nU R                  R                  R                  U R                  -  UR                  5       -
  nX R                  -  X0R                  -  4$ )a  
Calculate mouse coordinates in physical pixels.

Qt uses 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.
positionpos)mapFromGlobalr   QCursorr+  r   r*  xr   bboxheightdevice_pixel_ratioy)r   r+  r.  r2  s       r   mouseEventCoordsFigureCanvasQT.mouseEventCoords  s     ;$$U]]%6%6%89CS*%%,,.CS%  '')CEEGKK##d&=&==G***A0G0G,GGGr   c                     [         R                  R                  5       R                  5       nU R                  c  g [        SU /U R                  U5      Q7U R                  U5      US.6R                  5         g )Nfigure_enter_event	modifiersguiEvent)	r   r{   r|   queryKeyboardModifiersr   r   r3  _mpl_modifiers_process)r   r  modss      r   
enterEventFigureCanvasQT.enterEvent%  sm     %%..0GGI;;*D 	&,,U3	& $ 3 3D 9$	& '/hjr   c                     [         R                  R                  5         U R                  c  g [	        SU /U R                  5       Q7U R                  5       US.6R                  5         g )Nfigure_leave_eventr7  )r   r{   restoreOverrideCursorr   r   r3  r;  r<  r  s     r   
leaveEventFigureCanvasQT.leaveEvent0  s\    446;;*D 	&,,.	& $ 3 3 5$	& '/hjr   c                     U R                   R                  UR                  5       5      nUbM  U R                  b?  [	        SU /U R                  U5      QUP7U R                  5       US.6R                  5         g g g )Nbutton_press_eventr7  buttondr   buttonr   r   r3  r;  r<  r   r  rI  s      r   mousePressEventFigureCanvasQT.mousePressEvent9  sx    !!%,,.1$++"9+T '--e4'6<'!%!4!4!6 %' (0xz	 #:r   c                     U R                   R                  UR                  5       5      nUbN  U R                  b@  [	        SU /U R                  U5      QUP7SU R                  5       US.6R                  5         g g g )NrF  T)dblclickr8  r9  rG  rJ  s      r   mouseDoubleClickEvent$FigureCanvasQT.mouseDoubleClickEventA  s{    !!%,,.1$++"9+T '--e4'6<'GK!%!4!4!6 %' (0xz	 #:r   c                     U R                   c  g [        SU /U R                  U5      Q7U R                  UR	                  5       5      U R                  5       US.6R                  5         g )Nmotion_notify_event)buttonsr8  r9  )r   r   r3  _mpl_buttonsrS  r;  r<  r  s     r   mouseMoveEventFigureCanvasQT.mouseMoveEventI  s`    ;;($ 	#))%0	#,,U]]_=!002!		# $,8:r   c                     U R                   R                  UR                  5       5      nUbM  U R                  b?  [	        SU /U R                  U5      QUP7U R                  5       US.6R                  5         g g g )Nbutton_release_eventr7  rG  rJ  s      r   mouseReleaseEvent FigureCanvasQT.mouseReleaseEventR  sx    !!%,,.1$++"9-t '--e4'6<'!%!4!4!6 %' (0xz	 #:r   c                    UR                  5       R                  5       (       d0  [        R                  R	                  5       R                  5       S:X  a"  UR                  5       R                  5       S-  nOUR                  5       R                  5       nU(       aL  U R                  b>  [        SU /U R                  U5      Q7UU R                  5       US.6R                  5         g g g )Nxcbx   scroll_event)stepr8  r9  )
pixelDeltaisNullr   r{   r|   platformName
angleDeltar2  r   r   r3  r;  r<  )r   r  stepss      r   
wheelEventFigureCanvasQT.wheelEventZ  s     %%''))224AACuL$$&((*S0E$$&((*ET[[,~t '--e4';@!%!4!4!6 %' (0xz	 -5r   c                     U R                  U5      nUb<  U R                  b.  [        SU U/U R                  5       Q7SU06R	                  5         g g g )Nkey_press_eventr9  _get_keyr   r   r3  r<  r   r  keys      r   keyPressEventFigureCanvasQT.keyPressEventh  sU    mmE"?t{{6&%002%#%%-XZ  7?r   c                     U R                  U5      nUb<  U R                  b.  [        SU U/U R                  5       Q7SU06R	                  5         g g g )Nkey_release_eventr9  ri  rk  s      r   keyReleaseEventFigureCanvasQT.keyReleaseEvento  sU    mmE"?t{{6($%002%#%%-XZ  7?r   c                 (   U R                   (       a  g U R                  c  g SU l          UR                  5       R                  5       U R                  -  nUR                  5       R                  5       U R                  -  nU R                  R                  nX$-  nX4-  nU R                  R                  XVSS9  [        R                  R                  X5        [        SU 5      R                  5         U R                  5         SU l         g ! SU l         f = f)NTF)forwardresize_event)r  r   r  widthr1  r0  dpiset_size_inchesr   QWidgetr  r   r<  	draw_idle)r   r  whdpivalwinchhinchs          r   r  FigureCanvasQT.resizeEventv  s      ;; $	*

""$t'>'>>A

##%(?(??A[[__FJEJEKK''e'D))$6-668NN$)D!ED!s   CD 	Dc                 R    U R                  5       u  p[        R                  " X5      $ r   )r  r   QSize)r   r{  r|  s      r   sizeHintFigureCanvasQT.sizeHint  s!    $$&||A!!r   c                 0    [         R                  " SS5      $ )N
   )r   r  r   s    r   minimumSizeHintFigureCanvasQT.minimumSizeHint  s    ||B##r   c                     [        U 5      n [        R                  R                  5        VVs1 s H  u  p[        U5      U -  (       d  M  UiM     snn$ s  snnf r   )r   r   rH  items)rS  maskrI  s      r   rT  FigureCanvasQT._mpl_buttons  sN    '"+9+A+A+G+G+I ,+I<44=7* +I , 	, ,s   A
Aexcludec                
   U c,  [         R                  R                  5       R                  5       n [	        U 5      n [
         VVs/ s H0  u  p#X:w  d  M  X-  (       d  M  [        U   R                  SS5      PM2     snn$ s  snnf )NrE   ctrl)r   r{   r|   keyboardModifiersr   _MODIFIER_KEYSSPECIAL_KEYSreplace)r8  r  r  rl  s       r   r;  FigureCanvasQT._mpl_modifiers  s|    !..779KKMII&	 "08!/ID> =&/&6 =S!)))V<!/8 	8 8s   A?A?A?c                 0   UR                  5       nU R                  US9n [        U   nSR                  X4/-   5      $ ! [         aM    U[        R
                  :  a   g [        U5      nSU;   a  UR                  S5         NXUR                  5       n Njf = f)Nr  rB   +)
rl  r;  r  KeyErrorr   
maxunicodechrremovelowerjoin)r   r  	event_keyr=  rl  s        r   rj  FigureCanvasQT._get_key  s    IIK	""9"5	" y)C$ xxu%%#  	" 3>>)i.C $G$iik	"s   	> B"BBBc                 \    [         R                  R                  5       R                  5         g r   )r   r{   r|   processEventsr   s    r   flush_eventsFigureCanvasQT.flush_events  s    '')779r   c                    [        U S5      (       a*  U R                  R                  5       (       a  [        S5      e[        R
                  " 5       =U l        nUS:  a6  [        R                  R                  [        US-  5      UR                  5      n[        U5         [        R                  " U5        S S S 5        g ! , (       d  f       g = f)N_event_loopzEvent loop already runningr   i  )r   r  	isRunningr   r   
QEventLoopr   
singleShotintr   r   r   _exec)r   r   
event_loop_s       r   start_event_loopFigureCanvasQT.start_event_loop  s    4''D,<,<,F,F,H,H;<<(.(9(9(;;:Q;((Wt^)<jooNA ,OOJ' -,,s   B??
Cc                 \    [        U S5      (       a  U R                  R                  5         g g )Nr  )r   r  r   r  s     r   stop_event_loopFigureCanvasQT.stop_event_loop  s&    4''!!# (r   c                    > U R                   (       a  g[        R                  " U SS9   [        TU ]  5         SSS5        U R                  5         g! , (       d  f       N= f)z5Render the figure, and queue a request for a Qt draw.NT)r   )r   r   _setattr_cmre   drawupdate)r   r   s    r   r  FigureCanvasQT.draw  sA     t6GLN 7 76s   A
Ac                     [        U SS5      (       dE  [        U SS5      (       d2  SU l        [        R                  R	                  SU R
                  5        ggg)z9Queue redraw of the Agg buffer and request Qt paintEvent.r   Fr   Tr   N)getattrr   r   r   r  
_draw_idler   s    r   rz  FigureCanvasQT.draw_idle  sL     ou55mU33!%DMM$$Q8 4 6r   c                    ^  Uc'  T R                   (       a  T R                   R                  nU 4S jUR                   5       u  p#pEX5-   nT R                  UT R	                  5       R                  5       U-
  XE5        g )Nc              3   T   >#    U  H  n[        UTR                  -  5      v   M     g 7fr   r  r1  .0ptr   s     r   	<genexpr>&FigureCanvasQT.blit.<locals>.<genexpr>  s$     N+Bc"t66677+   %()r   r/  boundsrepaintrectr0  )r   r/  lbr{  r|  ts   `      r   blitFigureCanvasQT.blit  sZ    <DKK;;##DN$++N
aEQ		**,q0!7r   c                 l   U R                  5          U R                  (       d
   S S S 5        g SU l        U R                  5       S::  d  U R                  5       S::  a
   S S S 5        g  U R	                  5         S S S 5        g ! [
         a    [        R                  " 5          N*f = f! , (       d  f       g = f)NFr   )_idle_draw_cntxr   r0  rv  r  	Exception	traceback	print_excr   s    r   r  FigureCanvasQT._draw_idle  s    !!#%% $# "'D{{}!TZZ\Q%6 $#&		 $#  &##%& $#s.   B%0B%'B  B"B%!B""B%%
B3c                    ^ ^^^^ Ub%  U 4S jU 5       u  mmp#TU-   mTU-   mU UUUU4S jnOS nUT l         T R                  5         g )Nc              3   T   >#    U  H  n[        UTR                  -  5      v   M     g 7fr   r  r  s     r   r  /FigureCanvasQT.drawRectangle.<locals>.<genexpr>  s$     M"CT%<%< <==r  c                   > [         R                  " [         R                  " S5      STR                  -  5      nUR	                  SS/5        [         R                  " S5      S4[         R                  " S5      S44 H  u  p#UR                  U5        UR                  U5        U R                  U5        U R                  TTTT5        U R                  TTTT5        U R                  TTTT5        U R                  TTTT5        M     g )Nblackr      r   r   )	r   QPenr  r1  setDashPatternsetDashOffsetsetColorsetPendrawLine)	r   pencoloroffsetr   x0x1y0y1s	       r   r   9FigureCanvasQT.drawRectangle.<locals>._draw_rect_callback  s    jjLL)///
 ""Aq6*g.2g.2&ME %%f-LL'NN3' $$RR4$$RR4$$RR4$$RR4&r   c                     g r   r   r   s    r   r   r    s    r   )r   r  )	r   r  r{  r|  r   r  r  r  r  s	   `    @@@@r   drawRectangleFigureCanvasQT.drawRectangle  sM     MMLBAaBaB5 5*#6 r   )r   r   r  r  r   r   )r   )7r   r   r   r   required_interactive_frameworkr   
_timer_clsr   classpropertymanager_classr   LEFTRIGHTMIDDLEBACKFORWARDr  r   r   rH  r   Slotr  r   QScreenr  r   r'  r3  r>  rC  rK  rO  rU  rY  re  rm  rq  r  r  r  staticmethodrT  r;  rj  r  r  r  r  rz  r  r  r  r   r   )r  kvr  r   r   s   00000@r   r   r      s   %)"J&&'BCM ;++,K--.[//0))*,,-:
:
		%%q)1, :
G!  [[]$ $ [[O  O-CH,	1122.2200**"$ , , 8$ 8 8&4:	($

98& S	s   (1Er   c                   J   ^  \ rS rSr\R
                  " 5       rU 4S jrSrU =r	$ )
MainWindowi#  c                 X   > U R                   R                  5         [        TU ]  U5        g r   )closingemitre   
closeEvent)r   r  r   s     r   r  MainWindow.closeEvent&  s     5!r   r   )
r   r   r   r   r   Signalr  r  r   r   r   s   @r   r  r  #  s    mmoG" "r   r  c                   f   ^  \ rS rSrSrU 4S jrS rS rS r\	S 5       r
S rS	 rS
 rS rSrU =r$ )r   i+  z
Attributes
----------
canvas : `FigureCanvas`
    The FigureCanvas instance
num : int or str
    The Figure number
toolbar : qt.QToolBar
    The qt.QToolBar
window : qt.QMainWindow
    The qt.QMainWindow
c                   > [        5       U l        [        T	U ]  X5        U R                  R                  R                  U R                  5        [        R                  S:w  aP  [        [        R                  " S5      5      n[        R                  " U5      nU R                  R                  U5        SU R                  l        U R                   (       aN  U R                  R#                  U R                   5        U R                   R%                  5       R'                  5       nOSnUR%                  5       nUR'                  5       nXu-   nU R                  R)                  UR+                  5       U5        U R                  R-                  U R.                  5        [0        R2                  " 5       (       a4  U R                  R5                  5         U R.                  R7                  5         U R.                  R9                  [:        R<                  R>                  R@                  5        U R.                  RC                  5         U R                  RE                  5         g )NrD   rz   Fr   )#r  r  re   r   r  r   _widgetclosedr   r   r   r   r   r   r   r   _destroyingtoolbar
addToolBarr  r0  r  rv  setCentralWidgetcanvasr}   is_interactiveshowrz  setFocusPolicyr   r   FocusPolicyStrongFocussetFocusraise_)
r   r  numr   r   
tbs_heightcs	cs_heightr0  r   s
            r   r   FigureManagerQT.__init__9  s    l%##D$6$67<<8#,,-DEFE;;u%DKK%%d+"'<<KK""4<<0..0779JJ __IIK	'288:v.$$T[[1KKKK!!# 	""699#8#8#D#DEr   c                     U R                   R                  5       (       a  U R                   R                  5         g U R                   R                  5         g r   )r  isFullScreen
showNormalshowFullScreenr   s    r   full_screen_toggle"FigureManagerQT.full_screen_togglea  s5    ;;##%%KK""$KK&&(r   c                     [        SU R                  5      R                  5         U R                  R                  (       a  g SU R                  l         [
        R                  " U 5        g ! [         a     g f = f)Nclose_eventT)r   r  r<  r  r  r   destroyr   r   s    r   r  FigureManagerQT._widgetclosedg  sX    =$++.779;;"""&	KK 		s   A* *
A76A7c                    [        XR                  R                  -  5      n[        X R                  R                  -  5      nU R                  R	                  5       U R                  R	                  5       -
  nU R                  R                  5       U R                  R                  5       -
  nU R                  R                  X5        U R                  R                  X-   X$-   5        g r   )r  r  r1  r  rv  r0  r  )r   rv  r0  extra_widthextra_heights        r   r  FigureManagerQT.resizet  s     EKK:::;Vkk<<<=kk'')DKK,=,=,??{{))+dkk.@.@.BB5)5.0EFr   c                     [         R                  R                  5       nU(       a+  [        U5         [        R
                  " U5        S S S 5        g g ! , (       d  f       g = fr   )r   r{   r|   r   r   r  )r   qapps     r   start_main_loopFigureManagerQT.start_main_loop~  sA    %%..0$T*% +* **s   A
A c                     SU R                   l        U R                   R                  5         [        R                  S   (       a5  U R                   R                  5         U R                   R                  5         g g )NFzfigure.raise_window)r  r  r  r}   rcParamsactivateWindowr  r   s    r   r  FigureManagerQT.show  sP    "'<<-.KK&&(KK  /r   c                 (   [         R                  R                  5       c  g U R                  R                  (       a  g SU R                  l        U R
                  (       a  U R
                  R                  5         U R                  R                  5         g NT)r   r{   r|   r  r  r  r  closer   r   s     r   r  FigureManagerQT.destroy  s]    !!**,4;;"""&<<LL  "r   c                 6    U R                   R                  5       $ r   )r  windowTitler   s    r   get_window_title FigureManagerQT.get_window_title  s    {{&&((r   c                 :    U R                   R                  U5        g r   )r  setWindowTitle)r   titles     r   set_window_title FigureManagerQT.set_window_title  s    ""5)r   )r  )r   r   r   r   r   r   r  r  r  classmethodr#  r  r  r0  r5  r   r   r   s   @r   r   r   +  sK    &P)G & &!	)* *r   r   c            	         ^ \ rS rSr/ \R
                  Qr\R                  \ V VVs/ s H  tpUPM     snnn R                  S5      S-   S5        SS jrS r	S r
S rU4S	 jrU4S
 jrS rS rS rS rS rS rSrU=r$ s  snnn f )NavigationToolbar2QTi  Subplotsr   )	Customizez%Edit axis, curve and image parametersqt4_editor_optionsedit_parametersc                 "   [         R                  R                  X5        U R                  [        R
                  R                  [        [        R
                  R                  R                  5      [        [        R
                  R                  R                  5      -  5      5        X0l
        0 U l        SU l        U R                   H  u  pEpgUc  U R                  5         M  [        X5      n[         R"                  " U5      " [         R$                  " U5      5      n[        R&                  " 5       " U5      nU R)                  U R+                  US-   5      XH5      n	XR                  U'   US;   a  U	R-                  S5        Uc  M  U	R/                  U5        M     U R                  (       GaM  [         R0                  " SU 5      U l        U R2                  R5                  [        R
                  R7                  [        [        R
                  R6                  R8                  5      [        [        R
                  R6                  R:                  5      -  5      5        U R2                  R=                  [         R>                  " [         R>                  R@                  RB                  [         R>                  R@                  RD                  5      5        U RG                  U R2                  5      n
U
RI                  S5        [J        R                  " X5        g)z9coordinates: should we show the coordinates on the right?N.png)zoompanT )&r   QToolBarr   setAllowedAreasr   r   ToolBarArear   TopToolBarAreaBottomToolBarAreacoordinates_actions_subplot_dialog	toolitemsaddSeparatorr  	functoolswrapspartialr  	addAction_iconsetCheckable
setToolTipQLabellocLabelsetAlignmentAlignmentFlag
AlignRightAlignVCentersetSizePolicyQSizePolicyPolicy	ExpandingIgnored	addWidget
setVisibler
   )r   r  parentrH  texttooltip_text
image_filecallbackslotalabelActions              r   r   NavigationToolbar2QT.__init__  s'   ##D1VYY22FII))889FII));;<=> 	? '#8<4D
|!!#t. t,Y->->t-DE{{}T*NN4::j6.A#B#'/*+h'.NN4(+LL. 9G( %,,R6DMMM&&vyy'>'>		//::;		//<<=>(? @ MM''	(=(=%%,,66%%,,44)  ..7K""4(##D1r   c                    [         R                  " SU5      nUR                  UR                  R	                  SS5      5      n[        UR                  5       (       a  UOU5      n[        R                  " U5      nUR                  U R                  5       =(       d    S5        U R                  5       R                  U R                  5       5      R                  5       S:  a  U R                  5       R                  U R                  5       5      nUR!                  [        R"                  " S5      [$        R&                  R(                  R*                  5      nUR-                  U5        UR/                  U5        [        R0                  " U5      $ )z
Construct a `.QIcon` from an image file *name*, including the extension
and relative to Matplotlib's "images" data directory.
imagesr?  z
_large.pngr      r  )r   r   	with_namenamer  r   existsr   QPixmapsetDevicePixelRatior  r
  r  backgroundRolevalueforegroundRolecreateMaskFromColorr  r   r   MaskModeMaskOutColorfillsetMaskr   )r   rn  path_regular
path_largefilenamepm
icon_colorr  s           r   rQ  NavigationToolbar2QT._icon  s$    ++Hd;!++%%fl;=
Z%6%6%8%8zlK]]8$
""$)	+<<> 3 3 56<<>D--d.A.A.CDJ))W%		""//1D GGJJJt{{2r   c                 8   U R                   R                  R                  5       nU(       d:  [        R                  R                  U R                   R                  5       SS5        g [        U5      S:X  a  Uu  nGOU Vs/ s H  nUR                  5       =(       d    UR                  5       =(       d    UR                  S5      =(       dq    UR                  S5      =(       dY    SR                  [        S UR                  5       UR                  5       /5      5      =(       d    S[        U5      R                   S3PM     nnU Vs/ s H  oCR!                  U5      S:  d  M  UPM     nn[#        U5       H)  u  pbX6   U;   d  M  X6==   S	[%        U5      S
 S3-  ss'   M+     [        R&                  R)                  U R                   R                  5       SSUSS5      u  pxU(       d  g XR+                  U5         n[,        R.                  " X 5        g s  snf s  snf )NErrorzThere are no Axes to edit.r   r6   r:   z - z<anonymous >z (id: z#x)r;  zSelect Axes:r   F)r  r   get_axesr   QMessageBoxwarningra  len	get_label	get_titler  filter
get_xlabel
get_ylabeltyper   count	enumerateidQInputDialoggetItemindexfigureoptionsfigure_edit)	r   axesaxtitlesr4  duplicate_titlesiitemoks	            r   r=  $NavigationToolbar2QT.edit_parameters  s   {{!!**,!!))""$g/KMY!^CB   B  33V$3 W%3 

6$"--/(JKL	3
 d2h//023     $* F#)%\\%-@1-D6   F"49 00I6"R&A!66I ) !--55""$^VQ?HD ll4()B!!"+'  Fs   ?CHH"Hc                    SU R                   ;   a5  U R                   S   R                  U R                  R                  S:H  5        SU R                   ;   a6  U R                   S   R                  U R                  R                  S:H  5        g g )NrA  PANr@  ZOOM)rI  
setCheckedmodern  r   s    r   _update_buttons_checked,NavigationToolbar2QT._update_buttons_checked	  sg    DMM!MM% ++DIINNe,CDT]]"MM&!,,TYY^^v-EF #r   c                 @   > [         TU ]  " U6   U R                  5         g r   )re   rA  r  r   r   r   s     r   rA  NavigationToolbar2QT.pan  s    T$$&r   c                 @   > [         TU ]  " U6   U R                  5         g r   )re   r@  r  r  s     r   r@  NavigationToolbar2QT.zoom  s    d$$&r   c                 ^    U R                   (       a  U R                  R                  U5        g g r   )rH  rU  setTextr   ss     r   set_message NavigationToolbar2QT.set_message  s"    MM!!!$ r   c                     U R                   R                  R                  R                  nXe-
  nXc-
  nX#XB-
  XS-
  4 Vs/ s H  n[	        U5      PM     nnU R                   R                  U5        g s  snf r   )r  r   r/  r0  r  r  )	r   r  r  r  r  r  r0  valr  s	            r   draw_rubberband$NavigationToolbar2QT.draw_rubberband  sh    ##((//[[%'RWbg$>?$>SC$>?!!$' @s   A1c                 :    U R                   R                  S 5        g r   )r  r  r   s    r   remove_rubberband&NavigationToolbar2QT.remove_rubberband#  s    !!$'r   c                   ^  T R                   c]  [        T R                  R                  T R                  R	                  5       5      T l         T R                  R                  SU 4S j5        T R                   R                  5         T R                   R                  S5        T R                   R                  5         T R                   $ )Nr  c                 8   > TR                   R                  5       $ r   )rJ  reject)er   s    r   r   9NavigationToolbar2QT.configure_subplots.<locals>.<lambda>+  s    )=)=)D)D)Fr   T)	rJ  SubplotToolQtr  r   ra  mpl_connectupdate_from_current_subplotparssetModalr  r   s   `r   configure_subplots'NavigationToolbar2QT.configure_subplots&  s    '#0""DKK$6$6$8$:D KK##FH<<>%%d+!!####r   c                    U R                   R                  5       n[        UR                  5       5      nU R                   R	                  5       n[
        R                  R                  [        R                  S   5      n[
        R                  R                  XPR                   R                  5       5      n/ nS nU HJ  u  pSR                  U
 Vs/ s H  nSU-  PM
     sn5      nU	 SU S3nXJ;   a  UnUR                  U5        ML     SR                  U5      n[        R                  R                  U R                   R!                  5       SUXx5      u  pU(       a^  US:w  a0  [
        R                  R#                  U5      [        R                  S'    U R                   R$                  R'                  U5        U$ U$ s  snf ! [(         a{  n[        R*                  R-                  U S	[/        U5      [        R*                  R0                  R2                  [        R*                  R0                  R4                  5         S nAU$ S nAff = f)
Nzsavefig.directory z*.%sz (r  z;;zChoose a filename to save torB  zError saving file)r  get_supported_filetypes_groupedsortedr  get_default_filetypeospath
expanduserr}   r&  r  get_default_filenameappendr   QFileDialoggetSaveFileNamera  dirnamer   savefigr  r  criticalr   StandardButtonOkNoButton)r   r   	filetypessorted_filetypesdefault_filetype	startpathr   filtersselectedFilterrn  extsext	exts_listr  fnamer  s                   r   save_figure NavigationToolbar2QT.save_figure1  s   KK??A	!)//"34;;;;=GG&&s||4G'HI	Y(H(H(JK*JD$!?$3&3,$!?@IvR	{!,F'!'NN6" + ))G$!--==KK "@%% B46GGOOE4J01C""**51 u+ "@   C%%..-s1v))88;;))88AAC C Cs   F=
%G 
IA0IIc                 N   U R                   R                  S:  nU R                   R                  [        U R                   5      S-
  :  nSU R                  ;   a  U R                  S   R	                  U5        SU R                  ;   a  U R                  S   R	                  U5        g g )Nr   r   backrt  )
_nav_stack_posr  rI  
setEnabled)r   can_backwardcan_forwards      r   set_history_buttons(NavigationToolbar2QT.set_history_buttonsR  s    ++a/oo**S-AA-EET]]"MM&!,,\:%MM)$//< &r   )rI  rJ  rH  rU  r*  )r   r   r   r   r
   rK  r(   r  r   rQ  r=  r  rA  r@  r  r  r  r  r  r  r   r   )r  rn  r  r   s   000@r   r9  r9    s    /$../I'(i($i(..z:Q>	23+2Z0,<G''%((	$B= =a 	)s   Br9  c                   F   ^  \ rS rSrU 4S jrS rS rS rS rS r	Sr
U =r$ )	r  i[  c           	      ,  > [         TU ]  U5        U R                  [        R                  " [        [        R                  " S5      5      5      5        U R                  S5        0 U l	        [        R                  " 5       nU R                  U5        S/ SQSU R                  4/4SSS/S	U R                  4S
U R                  4SU R                   4/44 GH  u  pEn[        R"                  " 5       nUR%                  U5        [        R&                  " U5      nUR)                  U5        [        R*                  " U5      n	U H  n
[        R,                  " 5       =U R                  U
'   nUR/                  SS5        UR1                  S5        UR3                  S5        UR5                  S5        UR6                  R9                  U R:                  5        U	R=                  X5        M     UR?                  S5        U Hp  u  p[        R@                  " U
5      nURC                  S5        URD                  R9                  U5        UR)                  U5        U
S:X  d  M`  URG                  5         Mr     GM     Xl$        0 U l%        S U l&        U RO                  5         g )Nzimages/matplotlib.pngSubplotToolBorders)topbottomr6   r:   zExport valuesSpacingshspacewspacezTight layoutResetCloser   r   r  g{Gzt?F)(re   r   r   r   r   r   r   r   setObjectName
_spinboxesr   QHBoxLayout	setLayout_export_values_tight_layout_resetr+  QVBoxLayout	addLayout	QGroupBoxr_  QFormLayoutQDoubleSpinBoxsetRangesetDecimalssetSingleStepsetKeyboardTrackingvalueChangedr   _on_value_changedaddRow
addStretchQPushButtonsetAutoDefaultclickedr  _figure	_defaults_export_values_dialogr  )r   	targetfigra  main_layoutgroup	spinboxesrS  layoutboxinnerrn  spinboxmethodrI  r   s                 r   r   SubplotToolQt.__init__\  s7    5;;$$%<=>@ 	A=)++-{#3"D$7$789; H%!4#5#56DKK(DJJ')*	*+%Eg **,F!!&)%%e,CS!))#.E!2;2J2J2LL%  A&##A&%%e,++E2$$,,T-C-CDT+ " a  '"..t4%%e,&&v.  (7?OO% !(/*+> !%)",,.r   c           	          U R                   R                  5        VVs0 s H&  u  pU[        U R                  R                  U5      _M(     snnU l        U R                  5         g s  snnf r   )r  r  r  r  subplotparsr  r  )r   rn  r  s      r   r  -SubplotToolQt.update_from_current_subplotpars  sW    /3/D/D/FH/Fmd "74<<+C+CT#JJ/FHHs   -A%c                    [         R                  " 5       U l        [         R                  " 5       nU R                  R	                  U5        [         R
                  " 5       nUR                  S5        UR                  U5        UR                  SR                  S U R                  R                  5        5       5      5        UR                  5       nUR                  [        R                  " UR!                  5       R#                  5       5      R%                  SUR'                  5       5      R)                  5       S-   5        UR+                  U5        U R                  R-                  5         g )NTz,
c              3   R   #    U  H  u  pU S UR                  5       S 3v   M     g7f)=z.3N)rs  )r  attrr  s      r   r  /SubplotToolQt._export_values.<locals>.<genexpr>  s.      E,C=4 q 45,Cs   %'r      )r   QDialogr  r  r  QPlainTextEditsetReadOnlyr_  setPlainTextr  r  r  maximumSize	setHeightr   QFontMetricsdocumentdefaultFontr  toPlainTextr0  setMaximumSizer  )r   r  rb  r  s       r   r  SubplotToolQt._export_values  s    &/%6%6%8"&&("",,V4'')JJ E,0OO,A,A,CE E	F
 !t}}::<=T!T%%'(B7	8 	D!""'')r   c                    U R                   nS HQ  u  p#X   R                  X   R                  5       S-   5        X   R                  X   R                  5       S-
  5        MS     U R                  R
                  " S0 UR                  5        VVs0 s H  u  pEXER                  5       _M     snnD6  U R                  R                  R                  5         g s  snnf )N))r  r  )r6   r:   gMbP?r   )	r  
setMinimumrs  
setMaximumr  subplots_adjustr  r  rz  )r   r  r  higherr  r  s         r   r  SubplotToolQt._on_value_changed  s    OO	CME(()9)?)?)AD)HI''	(9(?(?(AD(HI D 	$$ 	N:C//:KL:Kt]]_$:KL	N%%' Ms   Cc                 h   U R                   R                  5         U R                  R                  5        HV  u  pUR	                  S5        UR                  [        U R                   R                  U5      5        UR	                  S5        MX     U R                   R                  R                  5         g )NTF)
r  tight_layoutr  r  blockSignalssetValuer  r  r  rz  )r   r  r  s      r   r  SubplotToolQt._tight_layout  s~    !!#!__224MD  &WT\\%=%=tDE  ' 5 	%%'r   c                     U R                   R                  5        HJ  u  pUR                  SS5        UR                  S5        UR	                  U5        UR                  S5        ML     U R                  5         g )Nr   r   TF)r  r  r   r5  r6  r  )r   r  rs  s      r   r  SubplotToolQt._reset  sc    "nn224NGQ"  &U#  '	 5
 	 r   )r  r  r  r  )r   r   r   r   r   r  r  r  r  r  r   r   r   s   @r   r  r  [  s'    */X
**((! !r   r  c                   <    \ rS rSrS
S jrS rS rS rS rS r	S	r
g)	ToolbarQti  Nc                    [         R                  " X5        [        R                  R                  X5        U R	                  [
        R                  R                  [        [
        R                  R                  R                  5      [        [
        R                  R                  R                  5      -  5      5        [        R                  " S5      nUR                  [
        R                  R                  [        [
        R                  R                  R                  5      [        [
        R                  R                  R                  5      -  5      5        UR!                  [        R"                  " [        R"                  R$                  R&                  [        R"                  R$                  R(                  5      5        U R+                  U5      U l        0 U l        0 U l        g )NrB  )r   r   r   rC  rD  r   r   rE  r   rF  rG  rT  rV  rW  rX  rY  rZ  r[  r\  r]  r^  r_  _message_action
_toolitems_groups)r   toolmanagerra  message_labels       r   r   ToolbarQt.__init__  sF   ""45##D1VYY22FII))889FII));;<=> 	? "((,""699#:#:FII++667FII++889:$; 	< 	##I$9$9!!((22!!((00%
 	  $~~m<r   c                 &  ^ ^ [         R                  " T 5      nU(       a%  UR                  [        R	                  T U5      5        UR                  T5        U(       a  UR                  U5        UU 4S jnU(       a-  UR                  S5        UR                  R                  U5        OUR                  R                  U5        T R                  R                  T/ 5        T R                  UTXs5        T R                  T   R                  Xx45        g )Nc                  (   > TR                  T 5        g r   )trigger_tool)rn  r   s   r   handler'ToolbarQt.add_toolitem.<locals>.handler  s    d#r   T)r   QToolButtonsetIconr9  rQ  r  rS  rR  toggledr   r
  r>  
setdefault_add_to_groupr  )	r   rn  r  r*  rd  descriptiontogglerI  rF  s	   ``       r   add_toolitemToolbarQt.add_toolitem  s     &&t,NN/55dJGHtk*	$%NN""7+NN""7+""4,5$9$$f%67r   c                 
   U R                   R                  U/ 5      nU(       d,  U R                  U R                  5      nUR	                  U5        XT   nU R                  Xs5      nUR                  XH5        XPR                   U'   g r   )r?  r   insertSeparatorr=  r  insertWidgetr(   )	r   r  rn  rI  r*  grsepbeforewidgets	            r   rL  ToolbarQt._add_to_group  sk    \\eR(&&t';';<CIIcN""62
		(# Ur   c                     XR                   ;  a  g U R                   U    HL  u  p4UR                  R                  U5        UR                  U5        UR                  R	                  U5        MN     g r   )r>  rJ  
disconnectr  r   )r   rn  rJ  rI  rF  s        r   toggle_toolitemToolbarQt.toggle_toolitem  sV    &#t4OFNN%%g.g&NN""7+  5r   c                 p    U R                   R                  U/ 5       H  u  p#UR                  S 5        M     g r   )r>  pop	setParent)r   rn  rI  rF  s       r   remove_toolitemToolbarQt.remove_toolitem  s-    #224<OFT"  =r   c                 X    U R                  U R                  5      R                  U5        g r   )widgetForActionr=  r  r  s     r   r  ToolbarQt.set_message  s!    T112::1=r   )r?  r=  r>  r   )r   r   r   r   r   rO  rL  r[  r`  r  r   r   r   r   r;  r;    s     $8,!,#>r   r;  c                   .   ^  \ rS rSrU 4S jrS rSrU =r$ )ConfigureSubplotsQti   c                 4   > [         TU ]  " U0 UD6  S U l        g r   )re   r   rJ  r   s      r   r   ConfigureSubplotsQt.__init__  s    $)&)#r   c                 .    [         R                  U 5        g r   )r9  r  r,  s     r   triggerConfigureSubplotsQt.trigger  s    //5r   )rJ  )r   r   r   r   r   rj  r   r   r   s   @r   rf  rf     s    $6 6r   rf  c                       \ rS rSrS rSrg)SaveFigureQti
  c                 J    [         R                  U R                  5       5        g r   )r9  r  "_make_classic_style_pseudo_toolbarr,  s     r   rj  SaveFigureQt.trigger  s    ((335	7r   r   Nr   r   r   r   rj  r   r   r   r   rm  rm  
  s    7r   rm  c                        \ rS rSrS rS rSrg)RubberbandQti  c                 P    [         R                  U R                  5       S XX45        g r   )r9  r  ro  )r   r  r  r  r  s        r   r  RubberbandQt.draw_rubberband  s#    ,,335tRR	Mr   c                 J    [         R                  U R                  5       5        g r   )r9  r  ro  r   s    r   r  RubberbandQt.remove_rubberband  s    ..335	7r   r   N)r   r   r   r   r  r  r   r   r   r   rs  rs    s    M7r   rs  c                       \ rS rSrS rSrg)HelpQti  c                 b    [         R                  R                  S SU R                  5       5        g )NHelp)r   r  information_get_help_htmlr,  s     r   rj  HelpQt.trigger  s#    ))$8K8K8MNr   r   Nrq  r   r   r   ry  ry    s    Or   ry  c                       \ rS rSrS rSrg)ToolCopyToClipboardQTi"  c                     U R                   R                  5       n[        R                  R	                  5       R                  5       R                  U5        g r   )r  grabr   r{   r|   	clipboard	setPixmap)r   r   r   pixmaps       r   rj  ToolCopyToClipboardQT.trigger$  s:    !!#'')335??Gr   r   Nrq  r   r   r   r  r  "  s    Hr   r  c                   8    \ rS rSr\r\r\r	\R                  rSrg)
_BackendQTi-  r   N)r   r   r   r   r   backend_versionr   FigureCanvasr   FigureManagerr#  mainloopr   r   r   r   r  r  -  s    !O!L#M..Hr   r  )TrM  r  r   r  ry   r}   r   r   r   matplotlib._pylab_helpersr   matplotlib.backend_basesr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   +matplotlib.backends.qt_editor.figureoptionsbackends	qt_editorr  rB  r   r   r   r   r   r   r   r   r   r  r   Keyr  KeyboardModifierr  MOVEHANDPOINTERSELECT_REGIONWAITRESIZE_HORIZONTALRESIZE_VERTICALCursorShaper&  	lru_cacher   r   r   ry  r   QMainWindowr  r   rC  r9  r!  r  r;  _register_tool_classConfigureSubplotsBaserf  SaveFigureBaserm  RubberbandBasers  ToolHelpBasery  ToolCopyToClipboardBaser  _toolbar2_class_toolmanager_toolbar_classexportr  )r  r  r   rl  s   0000r   <module>r     s    	 
   1 1 )   
 D C H H H'7 '7'7 	''7 	 	'7
 	'7 	!'7 	!'7 	'7 	!'7 	'7 	'7 	'7 	'7 	'7 	'7  	!'7" 	!#'7$ 	%%'7& 	''7* 
S\\X%=	5I+'7, 
s||x7VYG-'7. 	/'70 	&1'72 	3'74 	5'76 	7'78 	9'7: 	;'7< 	='7> 	?'7@ 	A'7B 	C'7D 	E'7F 	G'7H 	I'7J 	!K'7L 	!M'7)'7daGGFIIMM1%&) '7)`	 WVYY//56WVYY]]C()+	 
'	+,	-(			.	|$		"	"O4		 	 /26
6TQAwvyy$$a(( 6
 Q6 6r=@i :M%y'8'8 M`
"&& "p*' p*fz=-y/A/A z=z_!I%% _!D@>!9#5#5 @>F ##N36-== 6 46 ##N37=// 7 47 ##N37=// 7 47 ##N3O]'' O 4O
 ##N3HMAA H 4H #7 -6 * 
/ / /q )Z	
s   !0NAN*N"