+
    AžÀjOO  ã                  ó   a € 0 t $ ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ R	IHt ^R
IHt ^RIHt ^RIHt ^RI H!t! ^RI"H#t# ^RI$H%t% ^RI&H't' ^RI(H)t) ^RI*H+t+ ^RI,H-t- ^RI.H/t/ ^RI.H0t0 ^RI.H1t1 ]Pd                  '       d   ^ RI3H4t4 ^ RI3H5t5 ^ RI3H6t6 R&t7R R lt8Rs9R]:R&   R R lt; ! R  R!4      t<R" R# lt= ! R$ R%4      t>R# )'é    )ÚannotationsN)Ú	ExitStack)ÚBytesIO)Úchain)ÚValue)Úbasename)Újoin)Úadler32)Ú_log)ÚNotFound)ÚSecurityError)Úparse_cookie)Úhost_is_trusted)Úgen_salt)Ú	send_file)ÚRequest)ÚResponse)ÚConsole)ÚDebugFrameSummary)ÚDebugTraceback)Úrender_console_html)ÚStartResponse)ÚWSGIApplication)ÚWSGIEnvironmentc               ó    € V ^8„  d   QhRRRR/# )é   ÚpinÚstrÚreturn© )Úformats   "Úk/var/www/html/mycamper/aliexpress-site/backend/venv/lib/python3.14/site-packages/werkzeug/debug/__init__.pyÚ__annotate__r#   ,   s   € ÷ Yñ Y�#ð Y˜#ñ Yó    c                ó~   € \         P                  ! V  R 2P                  RR4      4      P                  4       R,          # )z added saltzutf-8Úreplace:Né   N)ÚhashlibÚsha1ÚencodeÚ	hexdigest)r   s   &r"   Úhash_pinr,   ,   s4   € Ü�<Š<˜3˜%˜{Ð+×2Ñ2°7¸IÓFÓG×QÑQÓSÐTWÕXÐXr$   ústr | bytes | NoneÚ_machine_idc               ó   € V ^8„  d   QhRR/# ©r   r   r-   r    )r!   s   "r"   r#   r#   3   s   € ÷ Kñ KÐ*ñ Kr$   c                 óD   € \         e   \         # R R lp V ! 4       s \         # )Nc               ó   € V ^8„  d   QhRR/# r0   r    )r!   s   "r"   r#   Ú$get_machine_id.<locals>.__annotate__9   s   € ÷ Bñ BÐ)ñ Br$   c                 óh  € R p R FQ  p \        VR4      ;_uu_ 4       pVP                  4       P                  4       pRRR4       X'       g   KI  Y,          p  M	   \        RR4      ;_uu_ 4       pWP                  4       P                  4       ,          p RRR4       T '       d   T #  ^ RIHp ^ RIHp T! . ROTR7      P                  4       ^ ,          p\        P                  ! RT4      pTe   TP                  ^4      #  \        P                  R8X  d’   ^ RIp TP                  TP                   R	^ TP"                  TP$                  ,          4      ;_uu_ 4       p	TP'                  T	R
4      w  r«Y¸P(                  8X  d   T
P+                  4       uuRRR4       # T
uuRRR4       # R#   + '       g   i     ELv; i  \         d     EKÇ  i ; i  + '       g   i     ELE; i  \         d     ELVi ; i  \        \        3 d     EL	i ; i  + '       g   i     R# ; i  \         d     R# i ; i)r$   ÚrbNz/proc/self/cgroup)ÚPIPE)ÚPopen)Ústdouts   "serial-number" = <([^>]+)Úwin32zSOFTWARE\Microsoft\CryptographyÚMachineGuid)z/etc/machine-idz/proc/sys/kernel/random/boot_id)Úioregz-cÚIOPlatformExpertDevicez-dÚ2)ÚopenÚreadlineÚstripÚOSErrorÚ
subprocessr6   r7   ÚcommunicateÚreÚsearchÚgroupÚImportErrorÚsysÚplatformÚwinregÚOpenKeyÚHKEY_LOCAL_MACHINEÚKEY_READÚKEY_WOW64_64KEYÚQueryValueExÚREG_SZr*   )ÚlinuxÚfilenameÚfÚvaluer6   r7   ÚdumpÚmatchrJ   ÚrkÚguidÚ	guid_types               r"   Ú	_generateÚ!get_machine_id.<locals>._generate9   sñ  € Øˆó MˆHðÜ˜( D×)Ô)¨QØŸJ™J›L×.Ñ.Ó0�E÷ *÷
 ‰uØ•�Ùñ Mð	ÜÐ)¨4×0Ô0°AØŸ™›×+Ñ+Ó-Õ-�÷ 1÷
 ØˆLð	õ (Ý(áÚDÈTôç‰k‹m˜AõˆDô —I’IÐ;¸TÓBˆEàÒ Ø—{‘{ 1“~Ð%ð !ô �<‰<˜7Ô"ÛðØ—^‘^Ø×-Ñ-Ø7ØØ—O‘O f×&<Ñ&<Õ<÷	ô ð
 ð '-×&9Ñ&9¸"¸mÓ&L‘O�Dà §M¡MÔ1Ø#Ÿ{™{›}÷ò ð  ÷ò ñ" ÷y *×)Ð)ûäô Ûðú÷ 1×0Ð0ûäô 	Úð	ûô( œÐ%ô 	Úð	ú÷ö ñ" ûô ô Øáðús­   ‰F=�F)¼F=ÁG$ Á/%GÂG$ Â'AG6 ÄAH" Å4HÆ
H" ÆHÆ
H" Æ)F:Æ4F=Æ:F=Æ=GÇGÇG!	ÇG$ Ç!G$ Ç$G3Ç2G3Ç6HÈ
HÈH	ÈH" ÈH" È"H1È0H1)r.   )rZ   s    r"   Úget_machine_idr\   3   s&   € ô ÒÜÐõBñH “+€KÜÐr$   c                  ó2   € ] tR t^�tRtR R ltR R ltRtR# )Ú_ConsoleFramezUHelper class so that we can reuse the frame console code for the
standalone console.
c               ó   € V ^8„  d   QhRR/# )r   Ú	namespacezdict[str, t.Any]r    )r!   s   "r"   r#   Ú_ConsoleFrame.__annotate__†   s   € ÷ ñ Ð"2ñ r$   c                	ó4   € \        V4      V n        ^ V n        R# )r   N)r   ÚconsoleÚid)Úselfr`   s   &&r"   Ú__init__Ú_ConsoleFrame.__init__†   s   € Ü˜yÓ)ˆŒØˆŽr$   c               ó    € V ^8„  d   QhRRRR/# )r   Úcoder   r   zt.Anyr    )r!   s   "r"   r#   ra   Š   s   € ÷ 'ñ '˜ð ' ñ 'r$   c                	ó8   € V P                   P                  V4      # ©N)rc   Úeval)re   ri   s   &&r"   rl   Ú_ConsoleFrame.evalŠ   s   € Ø�|‰|× Ñ  Ó&Ð&r$   )rc   rd   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rf   rl   Ú__static_attributes__r    r$   r"   r^   r^   �   s   † ñõ÷'ñ 'r$   r^   c               ó    € V ^8„  d   QhRRRR/# )r   Úappr   r   z#tuple[str, str] | tuple[None, None]r    )r!   s   "r"   r#   r#   Ž   s    € ÷ Tñ TØ	ðTà(ñTr$   c           
     óä  aa€ \         P                  P                  R4      pRpRoVR8X  d   R# Ve3   VP                  RR4      P	                  4       '       d   RV9   d   TpMVo\        V R\        P                  ! \        V 4      P                  P                  4      p \        P                  ! 4       p\         P"                  P                  V4      pVV\        V R\%        V 4      P&                  4      \        VRR4      .p\)        \*        P,                  ! 4       4      \/        4       .p\0        P2                  ! 4       p\5        Wg4       FD  p	V	'       g   K  \7        V	\(        4      '       d   V	P9                  4       p	VP;                  V	4       KF  	  VP;                  R	4       R
VP=                  4       R,           2p
Sf5   VP;                  R4       \?        VP=                  4       ^4      R R,          oVfW   R FN  o\A        S4      S,          ^ 8X  g   K  RPC                  VV3R l\E        ^ \A        S4      S4       4       4      p W*3# 	  SpW*3#   \        \        \        3 d    Rp EL¹i ; i)a=  Given an application object this returns a semi-stable 9 digit pin
code and a random key.  The hope is that this is stable between
restarts to not make debugging particularly frustrating.  If the pin
was forcefully disabled this returns `None`.

Second item in the resulting tuple is the cookie name for remembering.
ÚWERKZEUG_DEBUG_PINNÚoffÚ-Ú ro   rn   Ú__file__s
   cookiesaltÚ__wzd:Né   Ns   pinsaltÚ09d:Né	   Nc              3  óZ   <"  € T F   pSWS,            P                  SR 4      x € K"  	  R# 5i)Ú0N)Úrjust)Ú.0ÚxÚ
group_sizeÚnums   & €€r"   Ú	<genexpr>Ú*get_pin_and_cookie_name.<locals>.<genexpr>Ú   s1   øé € ð á;˜ð ˜ 
�NÐ+×1Ñ1°*¸c×BÐBÛ;ùs   ƒ(+)NN)é   é   é   )#ÚosÚenvironÚgetr&   Ú	isdecimalÚgetattrÚtÚcastÚobjectÚ	__class__ro   ÚgetpassÚgetuserrG   ÚKeyErrorrA   rH   ÚmodulesÚtypern   r   ÚuuidÚgetnoder\   r(   r)   r   Ú
isinstancer*   Úupdater+   ÚintÚlenr	   Úrange)ru   r   ÚrvÚmodnameÚusernameÚmodÚprobably_public_bitsÚprivate_bitsÚhÚbitÚcookie_namer…   r†   s   &          @@r"   Úget_pin_and_cookie_namerª   Ž   s  ù€ ô �*‰*�.‰.Ð-Ó
.€CØ	€BØ
€Cð ˆe„|ØÐð ‚˜3Ÿ;™; s¨BÓ/×9Ñ9×;Ò;à�#Œ:Ø‰BàˆCä�c˜<¬¯ª´¸Ó)<×)FÑ)F×)QÑ)QÓR€Gðô —?’?Ó$ˆô
 �+‰+�/‰/˜'Ó
"€Cð
 	ØÜ��Z¤ c£×!3Ñ!3Ó4Ü��Z Ó&ð	Ðô œŸš›Ó'¬Ó)9Ð:€Lä�Š‹€AÜÐ)Ö8ˆßÙÜ�cœ3×ÒØ—*‘*“,ˆCØ	�‰�Žñ 9ð ‡H�Hˆ]Ôà˜!Ÿ+™+›-¨Õ,Ð-Ð.€Kð ‚{Ø	�‰�ÔÜ�Q—[‘[“] BÓ'¨Ð,¨bÕ1ˆð 
‚zÛ!ˆJÜ�3‹x˜*Õ$¨Ö)Ø—X‘Xõ ä" 1¤c¨#£h°
Ô;óó �ð ð ˆ?Ðñ "ð ˆBàˆ?Ðøôc œ¤7Ð+ô Ø‹ðús   Â I ÉI/É.I/c                  ó  € ] tR t^åt$ RtR]R&   R]R&   R$R R llt]R	 R
 l4       t]P                  R R l4       t]R R l4       t
R R ltR R ltR R ltR R ltR R ltR R ltR R ltR R ltR R  ltR! R" ltR#tR# )%ÚDebuggedApplicationa¼  Enables debugging support for a given application::

    from werkzeug.debug import DebuggedApplication
    from myapp import app
    app = DebuggedApplication(app, evalex=True)

The ``evalex`` argument allows evaluating expressions in any frame
of a traceback. This works by preserving each frame with its local
state. Some state, such as context globals, cannot be restored with
the frame by default. When ``evalex`` is enabled,
``environ["werkzeug.debug.preserve_context"]`` will be a callable
that takes a context manager, and can be called multiple times.
Each context manager will be entered before evaluating code in the
frame, then exited again, so they can perform setup and cleanup for
each call.

:param app: the WSGI application to run debugged.
:param evalex: enable exception evaluation feature (interactive
               debugging).  This requires a non-forking server.
:param request_key: The key that points to the request object in this
                    environment.  This parameter is ignored in current
                    versions.
:param console_path: the URL for a general purpose console.
:param console_init_func: the function that is executed before starting
                          the general purpose console.  The return value
                          is used as initial namespace.
:param show_hidden_frames: by default hidden traceback frames are skipped.
                           You can show them by setting this parameter
                           to `True`.
:param pin_security: can be used to disable the pin based security system.
:param pin_logging: enables the logging of the pin system.

.. versionchanged:: 2.2
    Added the ``werkzeug.debug.preserve_context`` environ key.
ú
str | NoneÚ_pinr   Ú_pin_cookieNc               ó<   € V ^8„  d   QhRRRRRRRRRR	R
RRRRRRR/	# )r   ru   r   ÚevalexÚboolÚrequest_keyr   Úconsole_pathÚconsole_init_funcz't.Callable[[], dict[str, t.Any]] | NoneÚshow_hidden_framesÚpin_securityÚpin_loggingr   ÚNoner    )r!   s   "r"   r#   Ú DebuggedApplication.__annotate__  se   € ÷ *ñ *àð*ð ð*ð ð	*ð
 ð*ð Cð*ð !ð*ð ð*ð ð*ð 
ñ*r$   c	                	óÐ  € V'       g   R pWn         W n        / V n        / V n        W0n        W@n        WPn        W`n        \        ^4      V n	        \        R4      V n        W€n        V'       dl   \        P                  P                  R4      R8X  dG   V'       d?   \!        RR4       V P"                  f   \!        RR4       M\!        RRV P"                  4       MR V n        R	R
.V n        R # )NÚBÚWERKZEUG_RUN_MAINÚtrueÚwarningz * Debugger is active!z- * Debugger PIN disabled. DEBUGGER UNSECURED!Úinfoz * Debugger PIN: %sz
.localhostz	127.0.0.1)ru   r±   ÚframesÚframe_contextsr³   r´   rµ   r¶   r   Úsecretr   Ú_failed_pin_authr¸   rŒ   r�   rŽ   r   r   Útrusted_hosts)	re   ru   r±   r³   r´   rµ   r¶   r·   r¸   s	   &&&&&&&&&r"   rf   ÚDebuggedApplication.__init__  sÁ   € ÷ !Ø $ÐØŒØŒØDFˆŒØGIˆÔØ&ÔØ(ÔØ!2ÔØ"4ÔÜ˜r“lˆŒÜ % c£
ˆÔà&Ôßä�z‰z�~‰~Ð1Ó2°fÔ<ÇÜ�YÐ 8Ô9Ø—8‘8Ò#Ü˜Ð$SÕTä˜Ð!6¸¿¹ÔAøàˆDŒHà)5°{Ð(CˆÔñ	r$   c               ó   € V ^8„  d   QhRR/# )r   r   r­   r    )r!   s   "r"   r#   rº   :  s   € ÷ ñ �Zñ r$   c                	ó†   € \        V R 4      '       g%   \        V P                  4      pVw  V n        V n        V P                  # ©r®   ©Úhasattrrª   ru   r®   r¯   ©re   Ú
pin_cookies   & r"   r   ÚDebuggedApplication.pin9  s6   € ä�t˜V×$Ò$Ü0°·±Ó:ˆJØ*4Ñ'ˆDŒI�tÔ'Ø�y‰yÐr$   c               ó    € V ^8„  d   QhRRRR/# )r   rT   r­   r   r¹   r    )r!   s   "r"   r#   rº   A  s   € ÷ ñ ˜ð ¨ñ r$   c                	ó,   € Vf
   R V n         R # Wn         R # rk   rÉ   )re   rT   s   &&r"   r   rÎ   @  s   € àŠ=àˆDŽIàŽIr$   c               ó   € V ^8„  d   QhRR/# )r   r   r   r    )r!   s   "r"   r#   rº   I  s   € ÷  ñ   ñ  r$   c                ó†   € \        V R4      '       g%   \        V P                  4      pVw  V n        V n        V P                  # )zThe name of the pin cookie.r¯   rÊ   rÌ   s   & r"   Úpin_cookie_nameÚ#DebuggedApplication.pin_cookie_nameH  s:   € ô �t˜]×+Ò+Ü0°·±Ó:ˆJØ*4Ñ'ˆDŒI�tÔ'Ø×ÑÐr$   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r�   r   Ústart_responser   r   zt.Iterator[bytes]r    )r!   s   "r"   r#   rº   P  s)   € ÷ .Nñ .NØ&ð.NØ8Eð.Nà	ñ.Nr$   c              #  óÄ  "  € . pV P                   '       d   VP                  VR&   Rp V P                  W4      pT Rj  x€L
  \        VR4      '       d   VP	                  4        R# R#  L*  \
         Edf   p\        TR4      '       d   TP	                  4        \        T^T P                  '       * R7      pTP                   F1  pYpP                  \        T4      &   Y0P                  \        T4      &   K3  	  \        T P                  T4      4      pTP                  T P                   ;'       d    T P                  T4      T P                   TR7      p	\#        T	RRR7      p
 T
! Y4       Rj  x€L 
  M)  \
         d    TR	,          P%                  R
4        Mi ; iTR	,          P%                  RP'                  TP)                  4       4      4        Rp?R# Rp?ii ; i5i)z6Run the application and conserve the traceback frames.zwerkzeug.debug.preserve_contextNÚclose)ÚskipÚhide)r±   rÃ   Úevalex_trustediô  ú	text/html)ÚstatusÚmimetypezwsgi.errorszpDebugging middleware caught exception in streamed response at a point where response headers were already sent.
rz   )r±   Úappendru   rË   rØ   Ú	Exceptionr   r¶   Ú
all_framesrÁ   rd   rÂ   r²   Úcheck_pin_trustÚrender_debugger_htmlÚcheck_host_trustrÃ   r   Úwriter	   Úrender_traceback_text)re   r�   rÖ   ÚcontextsÚapp_iterÚeÚtbÚframeÚ
is_trustedÚhtmlÚresponses   &&&        r"   Údebug_applicationÚ%DebuggedApplication.debug_applicationP  sž  é € ð 35ˆà�;�;ˆ;Ø9A¿¹ˆGÐ5Ñ6àˆð$	NØ—x‘x Ó8ˆHØ×ÐÜ�x ×)Ò)Ø—‘Ö ñ *ñ  øô õ 	NÜ�x ×)Ò)Ø—‘Ô ä ¨°D×4KÑ4KÔ0KÔLˆBàŸœ�Ø).—‘œB˜u›IÑ&Ø19×#Ñ#¤B u£IÓ.ñ 'ô ˜d×2Ñ2°7Ó;Ó<ˆJØ×*Ñ*Ø—{‘{×EÐE t×'<Ñ'<¸WÓ'EØ—{‘{Ø)ð +ó ˆDô
   ¨S¸;ÔGˆHðÙ# GÓ<×<Ò<øÜô 	ð
 ˜Õ&×,Ñ,ðöð	úð �MÕ"×(Ñ(¨¯©°×1IÑ1IÓ1KÓ)L×MÒMûð?	Nüsv   ‚&G ©A, ¿A*Á &A, Á&G Á*A, Á,GÁ8B7GÄ01GÅ"E4Å-E0Å.E4Å3GÅ4#FÆGÆFÆ8GÇG ÇGÇG c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   Úrequestr   Úcommandr   rë   z!DebugFrameSummary | _ConsoleFramer   r   r    )r!   s   "r"   r#   rº   €  s8   € ÷ Gñ GàðGð ðGð 1ð	Gð
 
ñGr$   c                óp  € V P                  VP                  4      '       g   \        4       # V P                  P	                  \        V4      . 4      p\        4       ;_uu_ 4       pV F  pVP                  V4       K  	  \        VP                  V4      RR7      uuRRR4       #   + '       g   i     R# ; i)zExecute a command in a console.rÜ   ©rÞ   N)
rä   r�   r   rÂ   rŽ   rd   r   Úenter_contextr   rl   )re   rò   ró   rë   rç   Ú
exit_stackÚcms   &&&&   r"   Úexecute_commandÚ#DebuggedApplication.execute_command€  s   € ð ×$Ñ$ W§_¡_×5Ò5Ü “?Ð"à×&Ñ&×*Ñ*¬2¨e«9°bÓ9ˆä�[Œ[˜JÛ�Ø×(Ñ(¨Ö,ñ ô ˜EŸJ™J wÓ/¸+ÔF÷	 �[�[‹[ús   Á#6B$Â$B5	c               ó    € V ^8„  d   QhRRRR/# ©r   rò   r   r   r   r    )r!   s   "r"   r#   rº   ’  s   € ÷ 
ñ 
 wð 
°8ñ 
r$   c                óÂ  € V P                  VP                  4      '       g   \        4       # ^ V P                  9  d_   V P                  f   / pM\        V P	                  4       4      pVP                  RV P                  4       \        V4      V P                  ^ &   \        V P                  VP                  4      4      p\        \        V P                  VR7      RR7      # )zDisplay a standalone shell.ru   )rÃ   rÛ   rÜ   rõ   )rä   r�   r   rÁ   rµ   ÚdictÚ
setdefaultru   r^   r²   râ   r   r   rÃ   )re   rò   Únsrì   s   &&  r"   Údisplay_consoleÚ#DebuggedApplication.display_console’  sª   € à×$Ñ$ W§_¡_×5Ò5Ü “?Ð"à�D—K‘KÔØ×%Ñ%Ò-Ø‘ä˜$×0Ñ0Ó2Ó3�Ø�M‰M˜% §¡Ô*Ü*¨2Ó.ˆD�K‰K˜‰NÜ˜$×.Ñ.¨w¯©Ó?Ó@ˆ
ÜÜ t§{¡{À:ÔNØ ô
ð 	
r$   c               ó$   € V ^8„  d   QhRRRRRR/# )r   rò   r   rR   r   r   r   r    )r!   s   "r"   r#   rº   ¤  s!   € ÷ ñ  Gð °sð ¸xñ r$   c                ó.  € \        R\        V4      4      p \        P                  ! \        V4      pVf   \        4       # \        \        V4      R,          4      p\        \        V4      VP                  W%R7      #   \         d    \        4       u # i ; i)z0Return a static resource from the shared folder.Úsharedl   ÿÿ )Údownload_nameÚetag)r	   r   ÚpkgutilÚget_dataÚ__package__r   r   r
   r   r   r�   rA   )re   rò   rR   ÚpathÚdatar  s   &&&   r"   Úget_resourceÚ DebuggedApplication.get_resource¤  s�   € ä�Hœh xÓ0Ó1ˆð	Ü×#Ò#¤K°Ó6ˆDð Š|Ü“zÐ!ä”w˜t“} zÕ1Ó2ˆDÜÜ˜“˜wŸ™¸hôð øô ô 	Ü“:Òð	ús   —A< Á<BÂBc               ó    € V ^8„  d   QhRRRR/# )r   r�   r   r   zbool | Noner    )r!   s   "r"   r#   rº   µ  s   € ÷ -ñ - ð -¸;ñ -r$   c                ó¨  € V P                   f   R# V P                  P                  ^
8¼  d   R# \        V4      P	                  V P
                  4      pV'       d   RV9  d   R# VP                  R4      w  r4p \        V4      pT\        T P                   4      8w  d   R# \        P                  ! 4       \        ,
          T8  #   \         d     R# i ; i)a  Checks if the request passed the pin test.  This returns `True` if the
request is trusted on a pin/cookie basis and returns `False` if not.
Additionally if the cookie's stored pin hash is wrong it will return
`None` so that appropriate action can be taken.
NTFÚ|)r   rÄ   rT   r   rŽ   rÓ   Ú	partitionrž   Ú
ValueErrorr,   ÚtimeÚPIN_TIME)re   r�   ÚvalÚts_strÚ_Úpin_hashÚtss   &&     r"   râ   Ú#DebuggedApplication.check_pin_trustµ  s²   € ð �8‰8ÒÙð × Ñ ×&Ñ&¨"Ô,Ùä˜7Ó#×'Ñ'¨×(<Ñ(<Ó=ˆß�c ”nÙØ!Ÿm™m¨CÓ0Ñˆ�8ð	Ü�V“ˆBð ”x §¡Ó)Ô)ÙÜ—	’	“œhÕ&¨"Ñ,Ð,øô ô 	Úð	ús   Á8C ÃCÃCc               ó    € V ^8„  d   QhRRRR/# )r   r�   r   r   r²   r    )r!   s   "r"   r#   rº   Ð  s   € ÷ Mñ M¨ð M¸Dñ Mr$   c                	óL   € \        VP                  R 4      V P                  4      # )Ú	HTTP_HOST)r   rŽ   rÅ   )re   r�   s   &&r"   rä   Ú$DebuggedApplication.check_host_trustÐ  s   € Ü˜wŸ{™{¨;Ó7¸×9KÑ9KÓLÐLr$   c               ó   € V ^8„  d   QhRR/# )r   r   r¹   r    )r!   s   "r"   r#   rº   Ó  s   € ÷ .ñ . ñ .r$   c                	ó(  € V P                   P                  4       ;_uu_ 4        V P                   P                  pV^,           V P                   n        RRR4       \        P                  ! X^8”  d	   R4       R# R4       R#   + '       g   i     L7; i)é   Ng      @g      à?)rÄ   Úget_lockrT   r  Úsleep)re   Úcounts   & r"   Ú_fail_pin_authÚ"DebuggedApplication._fail_pin_authÓ  sa   € Ø×"Ñ"×+Ñ+×-Õ-Ø×)Ñ)×/Ñ/ˆEØ*/°!­)ˆD×!Ñ!Ô'÷ .ô 	�
Š
˜% !œ)�3Ö-¨Ö-÷	 .×-ús   £/BÂB	c               ó    € V ^8„  d   QhRRRR/# rü   r    )r!   s   "r"   r#   rº   Ú  s   € ÷ 4ñ 4 ð 4¨Hñ 4r$   c                óŒ  € V P                  VP                  4      '       g   \        4       # RpRpV P                  VP                  4      p\        P
                  ! \        V P                  4      pRpVf   V P                  4        RpM•V'       d   RpMŠV P                  P                  ^
8¼  d   RpMlVP                  R,          pVP                  4       P                  RR4      VP                  RR4      8X  d   ^ V P                  n
        RpMV P                  4        \        \        P                   ! RVRV/4      RR	7      pV'       dW   VP#                  V P$                  \'        \(        P(                  ! 4       4       R
\+        V4       2RRVP,                  R7       V# V'       d   VP/                  V P$                  4       V# )zAuthenticates with the pin.FTr   ry   rz   ÚauthÚ	exhaustedzapplication/jsonrõ   r  ÚStrict)ÚhttponlyÚsamesiteÚsecure)rä   r�   r   râ   r‘   r’   r   r   r&  rÄ   rT   Úargsr@   r&   r   ÚjsonÚdumpsÚ
set_cookierÓ   rž   r  r,   Ú	is_secureÚdelete_cookie)	re   rò   r+  r*  Útrustr   Ú
bad_cookieÚentered_pinr¡   s	   &&       r"   Úpin_authÚDebuggedApplication.pin_authÚ  s~  € à×$Ñ$ W§_¡_×5Ò5Ü “?Ð"àˆ	ØˆØ×$Ñ$ W§_¡_Ó5ˆÜ�fŠf”S˜$Ÿ(™(Ó#ˆð ˆ
ØŠ=Ø×ÑÔ!Ø‰J÷ Ø‰Dð ×"Ñ"×(Ñ(¨BÔ.Ø‰Ið "Ÿ,™, uÕ-ˆKà× Ñ Ó"×*Ñ*¨3°Ó3°s·{±{À3ÈÓ7KÔKØ./�×%Ñ%Ô+Ø‘à×#Ñ#Ô%äÜ�JŠJ˜  k°9Ð=Ó>Ø'ô
ˆ÷ Ø�M‰MØ×$Ñ$Ü”t—y’y“{Ó#Ð$ A¤h¨s£m _Ð5ØØ!Ø×(Ñ(ð ô ð ˆ	÷ Ø×Ñ˜T×1Ñ1Ô2Øˆ	r$   c               ó    € V ^8„  d   QhRRRR/# rü   r    )r!   s   "r"   r#   rº     s   € ÷ 
ñ 
 wð 
°8ñ 
r$   c                óô   € V P                  VP                  4      '       g   \        4       # V P                  '       d2   V P                  e$   \        RR4       \        RRV P                  4       \        R4      # )zLog the pin if needed.rÀ   z= * To enable the debugger you need to enter the security pin:z * Debugger pin code: %srz   )rä   r�   r   r¸   r   r   r   )re   rò   s   &&r"   Úlog_pin_requestÚ#DebuggedApplication.log_pin_request  s_   € à×$Ñ$ W§_¡_×5Ò5Ü “?Ð"à××Ð §¡Ò 4ÜØÐWôô �Ð3°T·X±XÔ>Ü˜‹|Ðr$   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r�   r   rÖ   r   r   zt.Iterable[bytes]r    )r!   s   "r"   r#   rº     s$   € ÷ "1ñ "1Ø&ð"1Ø8Eð"1à	ñ"1r$   c                óÀ  € \        V4      pV P                  pVP                  P                  R4      R8X  EdT   VP                  P                  R4      pVP                  P                  R4      pVP                  P                  R4      pV P                  P                  VP                  P                  R\
        R7      4      pVR8X  d   V'       d   V P                  W64      pMóVR	8X  d#   WpP                  8X  d   V P                  V4      pMÊVR
8X  d#   WpP                  8X  d   V P                  V4      pM¡V P                  '       dC   Ve?   Ve;   V P                  V8X  d*   V P                  V4      '       d   V P                  W5V4      pMLV P                  '       d;   V P                  e-   VP                  V P                  8X  d   V P                  V4      pV! W4      # )zDispatch the requests.Ú__debugger__ÚyesÚcmdrS   ÚsÚfrm)r™   ÚresourceÚpinauthÚprintpin)r   rï   r0  rŽ   rÁ   rž   r  rÃ   r9  r=  r±   râ   rù   r´   r  r  )	re   r�   rÖ   rò   rî   rC  ÚargrÃ   rë   s	   &&&      r"   Ú__call__ÚDebuggedApplication.__call__  sr  € ô ˜'Ó"ˆØ×)Ñ)ˆØ�<‰<×Ñ˜NÓ+¨uÕ4Ø—,‘,×"Ñ" 5Ó)ˆCØ—,‘,×"Ñ" 3Ó'ˆCØ—\‘\×%Ñ% cÓ*ˆFØ—K‘K—O‘O G§L¡L×$4Ñ$4°UÄÐ$4Ó$EÓFˆEØ�jÔ §SØ×,Ñ,¨WÓ:‘Ø˜	Ô! f·±Ô&;ØŸ=™=¨Ó1‘Ø˜
Ô" v·±Ô'<Ø×/Ñ/°Ó8‘à——�Ø’OØÒ%Ø—K‘K 6Ô)Ø×(Ñ(¨×1Ò1à×/Ñ/°¸eÓD�øà�K�KˆKØ×!Ñ!Ò-Ø—‘ × 1Ñ 1Ô1à×+Ñ+¨GÓ4ˆHÙ˜Ó0Ð0r$   )rÄ   r®   r¯   ru   rµ   r´   r±   rÂ   rÁ   r   r¸   r³   rÃ   r¶   rÅ   )Fzwerkzeug.requestz/consoleNFTT)rn   ro   rp   rq   rr   Ú__annotations__rf   Úpropertyr   ÚsetterrÓ   rï   rù   r  r  râ   rä   r&  r9  r=  rJ  rs   r    r$   r"   r¬   r¬   å   s˜   ‡ ñ"ðH ÓØÓ÷*ðX ôó ðð 	‡Z�Zôó ðð ô ó ð õ.Nõ`Gõ$
õ$õ"-õ6Mõ.õ4õl
÷"1ñ "1r$   r¬   i€:	 )?Ú__conditional_annotations__Ú
__future__r   r•   r(   r1  rŒ   r  rD   rH   r  Útypingr‘   rš   Ú
contextlibr   Úior   Ú	itertoolsr   Úmultiprocessingr   Úos.pathr   r	   Úzlibr
   Ú	_internalr   Ú
exceptionsr   r   Úhttpr   Úsansio.utilsr   Úsecurityr   Úutilsr   Úwrappers.requestr   Úwrappers.responser   rc   r   Útbtoolsr   r   r   ÚTYPE_CHECKINGÚ_typeshed.wsgir   r   r   r  r,   r.   rL  r\   r^   rª   r¬   )rO  s   @r"   Ú<module>rc     s¶   øðß "Ð "ã Û Û Û 	Û Û 	Û 
Û Û Û Ý  Ý Ý Ý !Ý Ý Ý å Ý !Ý &Ý Ý *Ý Ý Ý &Ý (Ý Ý &Ý #Ý (à‡?‡?€?Ý,Ý.Ý.ð €õYð #'€ÐÓ &õK÷\
'ñ 
'õT÷nY1ó Y1r$   