§
    \à¯jt7 ã                   ó|  — d Z ddlZddlZddlZddlZddlZddlZddlZddlm	Z	 ddl
m
Z
 ddlmZmZmZmZmZ ddlmZ ej                             d e e	e¦  «                             ¦   «         j        j        ¦  «        ¦  «         	  eej        d¦  «        rej                             d¬	¦  «         n# e$ r Y nw xY wdd
lmZ ddlm Z  ddl!m"Z"m#Z# ddl$m%Z%m&Z&m'Z' ddl(m)Z)m*Z* ddl+m,Z, ddl-m.Z.m/Z/m0Z0m1Z1 ddl2m3Z3m4Z4m5Z5 ddl6m7Z7 ddl8m9Z9 ddl:m;Z; ddl<m=Z=m>Z> ddl?m@Z@mAZA ddlBmCZCmDZD ddlEmFZFmGZG ddlHmIZI ddlJmKZK ddlLmMZM ddlNmOZO ddlPmQZQ ddlRmSZSmTZT ddlUmVZVmWZWmXZXmYZY ddlZm[Z[ dd l\m]Z]m^Z^  G d!„ d"¦  «        Z_e`d#k    �r3ddlaZa eajb        d$¬%¦  «        Zcec d                    d&eed'd(¬)¦  «         ec d                    d*eed+d,¬)¦  «         ec d                    d-ed.d/¬)¦  «         ec d                    d0d1d2d3¬4¦  «         ec d                    d5d1d2d6¬4¦  «         ec d                    d7d1d2d8¬4¦  «         ec d                    d9d1d:d;¬4¦  «         ec d                    d<d=d>d?¬@¦  «         ec d                    dAe ef eGjg        ¦   «         ¦  «        dBgz   dBdC¬D¦  «         ec h                    ¦   «         Zieijj        dBk    rj	  ekdEeijj        › dF�¦  «          eFjl        eijj        ¦  «        Zm ekdG enem¦  «        › dH�¦  «         n'# e$ rZo ekdIeo› �ejp        ¬J¦  «         Y dZo[ondZo[oww xY w e_eijq        eijr        d:eijs        eijt        ¬K¦  «        Zueijv        d'k    r(eu w                    eijv        eijx        eijy        ¬L¦  «        Zzn#eu {                    deijx        eijy         ¬M¦  «        Zz ek ej|        ezdNd2e¬O¦  «        ¦  «         dS dS )Pu}  
AutoPOE2 - Closed-Loop Autonomous Mapping Pipeline Coordinator (Doc 48 / Doc 56 / Doc 43)
==========================================================================================
Ä�iá»�u phá»‘i khÃ©p kÃ­n toÃ n bá»™ chu trÃ¬nh cÃ y map tá»± hÃ nh trÃªn live client:
1. Stage 1: Precheck tÃºi Ä‘á»“ (QuÃ©t 60 Ã´ tÃºi, tá»± Ä‘á»™ng kÃ­ch hoáº¡t The Hooded One Identify All náº¿u tÃºi Ä‘áº§y,
            quÃ©t 12 Ã´ HÃ ng 1 tÃ¬m Waystone, chá»�n slot kháº£ dá»¥ng).
2. Stage 2: Má»Ÿ giao diá»‡n Map Device táº¡i Shoreline Hideout (Doc 48 / Doc 56).
3. Stage 3: Chá»�n Atlas Map Node qua AtlasNodeSelector & Náº¡p Waystone báº±ng Ctrl+Click vÃ o slot Ä‘Ã£ phÃ¡t hiá»‡n.
4. Stage 4: KÃ­ch hoáº¡t má»Ÿ cá»•ng báº£n Ä‘á»“ & BÆ°á»›c vÃ o Portal chuyá»ƒn cáº£nh vÃ o Map (Enter Portal).
5. Stage 5: Váº­n hÃ nh dá»�n map tá»± trá»‹ (AutonomousMapRunner, Hollow Form rotation, CI survival).
6. Stage 6: ThoÃ¡t map báº±ng Town Portal phÃ­m '.' (INV-TOWN-PORTAL-KEY) & chuyá»ƒn cáº£nh an toÃ n vá»� Hideout.

TuÃ¢n thá»§ nghiÃªm ngáº·t:
- Rule 8: Anti-Symptom Patching & Single Source of Logic (SSoL).
- Rule 9 & 14: Empirical Definition of Done & 100% Authentic Real Data.
- INV-ATLAS-01: Safe Hideout Execution.
- INV-ATLAS-02: Verified Node Target & Occlusion Fail-Closed Gating.
- INV-TOWN-PORTAL-KEY: PhÃ­m '.' (VK 0xBE / HID 0x37), cáº¥m phÃ­m 'T'.
- INV-CI-01: CI survival theo ES (Max ES 4284, 0 deaths).
é    N)ÚPath)Údatetime)ÚAnyÚDictÚListÚOptionalÚTuple©ÚImageÚreconfigureúutf-8)Úencoding)ÚScreenCapturer)ÚOpticalInventoryScanner)ÚAtlasNodeSelectorÚ	AtlasNode)ÚAtlasKnowledgeBaseÚAtlasNodeTypeÚAtlasNodeProfile)ÚCoreShmBridgeÚCharacterLifecycleState)Ú
LogWatcher)ÚWaystoneAutoCrafterÚWaystoneItemÚWaystoneRarityÚCraftAction)ÚStashOrchestratorÚStashConfigÚStage0StashHandler)ÚWaystoneLoaderGuard)ÚPoe2ClientLauncher)ÚHideoutNavigator)ÚAtlasProgressionPlannerÚProgressionStrategy)ÚCurrencyExchangeOrchestratorÚExchangePortfolioConfig)ÚGemAutoLevelerÚGemLevelerConfig)ÚPoe2GraphicsOptimizerÚPROFILES)ÚNetWorthEstimator)ÚMinimapNavigationAdapter)ÚAtlasProgressionService)ÚLiveRunSentinel)ÚMotionFeedbackSentinel)ÚCoordinateScalerÚ
Resolution)Úattach_to_default_desktopÚfind_poe2_windowÚensure_window_focusÚget_client_rect)ÚAutonomousMapRunnerÚScreenCapturerGDIc                   óô  — e Zd Z	 	 	 	 	 	 	 	 	 	 	 d¯d	ed
ededededee         dededededefd„Z	defd„Z
d„ Zd„ Zd„ Zd°dededefd„Zd±d edefd!„Zd²d"ee         defd#„Zd²d"ee         defd$„Zd²d"ee         deeeef                  fd%„Zd²d"ee         deeef         fd&„Zd²d"ee         deeeef                  fd'„Zd(ed)edeeef         fd*„Zdefd+„Zd³d(ed)ed-efd.„Zd´d(ed)ed1ed-efd2„Zdµd(ed)ed1ed-ed4edefd5„Zd¶d(ed)ed-ed4efd6„Z	 	 	 d·d(ed)ed:ed1ed-edefd;„Z	 	 d¸d(ed)ed1ed-edef
d<„Zdefd=„Zd"ee         defd>„Zd¹d@edAed-edefdB„Z dºdDedEedFedGedHedIed:efdJ„Z!d»dLee         dMedNefdO„Z"d¼dQedeeeeeef         f                  fdR„Z#d½dSedTed-efdU„Z$dV„ Z%dee&j&                 fdW„Z'	 	 d¾dXedYede(ee)f         fdZ„Z*	 	 	 	 	 d¿d[ed\ed]ed^edXede(ee)f         fd_„Z+	 	 	 dÀdaee(eef                  dbee(eef                  dcede(ee)f         fdd„Z,dÁd[ede(ee)f         fde„Z-dÂdgedHedhefdi„Z.	 dÁdjedkedledmednedoedpedeeeef         fdq„Z/deeeef                  fdr„Z0deeeef                  fds„Z1dÃduedvedwedefdx„Z2	 	 dÄd{eeeef                  d|eeeef                  d}edwedef
d~„Z3dÅd„Z4	 d°d€ed�ed‚edƒed„edeeef         fd…„Z5	 	 dÆdjedkedˆed‰edŠed‹edefdŒ„Z6d²d"ee         deeef         fd�„Z7	 	 	 	 dÇd"ee         dŽed�ed�ee         deeeef                  f
d‘„Z8dÈd"ee         dŽedeeeef                  fd’„Z9d²d"ee         deeef         fd“„Z:defd”„Z;deeeeef                  fd•„Z<deeef         fd–„Z=	 	 	 dÉd—eeeef                  d˜eeeef                  d^ede(ee)f         fd™„Z>dše)de(ee)f         fd›„Z?de(ee)f         fdœ„Z@de(ee)f         fd�„ZA	 	 dÊdŸeeB         d ede(ee)f         fd¡„ZCdËd£edefd¤„ZD	 	 	 	 dÌd[ed\ed]ed^ede(ee)f         f
d¥„ZEdÍd§edefd¨„ZF	 	 	 	 dÌd©e(ee)f         d[ed\ed]ed^ede(ee)f         fdª„ZG	 	 	 dÎd¬ed\ed­ede(ee)f         fd®„ZHdS )ÏÚAutonomousMappingCoordinatoré 
  é   úcaptures/pipeline_runéð   ç     €V@NúJC:\Program Files (x86)\Grinding Gear Games\Path of Exile 2\logs\Client.txtFÚscreen_wÚscreen_hÚcapture_dirÚmap_duration_secÚmin_map_duration_secÚ
shm_bridgeÚclient_log_pathÚis_simulatedÚauto_detect_resolutionÚskip_dangerousÚis_headlessc           
      ó   ‡ — |‰ _         t          ¦   «         ‰ _        d‰ _        d‰ _        |s@‰ j        r9|	r7t          ‰ j        ¦  «        \  }}}}|dk    r|dk    r|‰ _        |‰ _        |}|}|‰ _        |‰ _        |	‰ _        |
‰ _	        |‰ _
        |‰ _        |‰ _        |‰ _        |‰ _        t          j        ‰ j
        d¬¦  «         t#          ‰ j
        ¬¦  «        ‰ _        t'          ‰ j        ‰ j        ¬¦  «        ‰ _        t+          ¦   «         ‰ _        |pt/          ¦   «         ‰ _        t3          ‰ j        ¬¦  «        ‰ _        t          j                             |¦  «        rt;          |¦  «        nd ‰ _        g ‰ _        ‰ j        dk    r
‰ j        dz  nd	‰ _         ‰ j        dk    r
‰ j        d
z  nd	‰ _!        tE          ¦   «         ‰ _#        tI          ‰ j        ‰ j        ‰ j#        ‰ j%        ‰ j        ¬¦  «        ‰ _&        tO          ‰ j        ‰ j        ‰ j#        ‰ j&        ‰ j        ‰ j(        ¬¦  «        ‰ _)        tU          ‰ j        ‰ j        ‰ j(        ¬¦  «        ‰ _+        tY          ˆ fd„¬¦  «        ‰ _-        t]          ¦   «         ‰ _/        ta          tc          dd¦  «        tc          te          d‰ j        ¦  «        te          d‰ j        ¦  «        ¦  «        ¬¦  «        ‰ _3        ti          ˆ fd„‰ j        ‰ j        ¬¦  «        ‰ _5        tm          ¦   «         ‰ _7        tq          tc          te          d‰ j        ¦  «        te          d‰ j        ¦  «        ¦  «        ¬¦  «        ‰ _9        tu          ‰ j7        ¬¦  «        ‰ _;        d}‰ j        ru	 tx          j=         >                    ¦   «         }tx          j?        j@         A                    ‰ j        ty          jB        |¦  «        ¦  «         |jC        }n# tˆ          $ r d}Y nw xY wt‹          |‰ j        ¬¦  «        ‰ _F        d‰ _G        d‰ _H        d ‰ _I        g ‰ _J        d‰ _K        t™          d	d‰ j(        ¬¦  «        ‰ _M        d S )Nr   éd   T©Úexist_ok)Ú
output_dir©r@   rA   )rE   g      ¤@ç      ð?g     €–@)r@   rA   ÚconfigÚcapture_funcrG   )r@   rA   rR   ÚorchestratorrG   Úlog_callback)r@   rA   rU   c                 ó2   •— ‰                      | d¬¦  «        S ©Nç333333Ó?©Údelay_after©Ú	press_key)ÚvkÚselfs    €ú<C:\Projects\AutoPOE2\tools\autonomous_mapping_coordinator.pyú<lambda>z7AutonomousMappingCoordinator.__init__.<locals>.<lambda>�   s   ø€  d§n¢n°RÀS nÑ&IÔ&I€ ó    )Úpress_key_funcr:   r;   é   )Ú
source_resÚ
target_resc                 ód   •— ‰                      t          | ¦  «        t          |¦  «        ¦  «        S ©N)ÚclickÚint)ÚxÚyr^   s     €r_   r`   z7AutonomousMappingCoordinator.__init__.<locals>.<lambda>˜   s!   ø€ ¨¯
ª
µ3°q±6´6½3¸q¹6¼6Ñ(BÔ(B€ ra   )Úclick_callbackr@   rA   )Útarget_resolution)Únet_worth_estimator)Ú
target_pidÚlog_pathç      @Fé   )Úmin_move_threshold_uÚmax_consecutive_stallsrU   )NrJ   r3   ÚhwndÚclient_leftÚ
client_topr5   r@   rA   rH   rI   rB   rC   rD   rF   rG   ÚosÚmakedirsr   Úcapturerr   Úscannerr   Úcrafterr   Úbridger   ÚselectorÚpathÚexistsr   Úlog_watcherÚcaptured_evidenceÚscale_xÚscale_yr   Ústash_configr   Ú_capture_screen_pilÚstash_orchestratorr   ÚlogÚstage0_handlerr"   Úhideout_navr%   Úexchange_orchestratorr#   Úatlas_progression_plannerr0   r1   ÚmaxÚscalerr'   Úgem_levelerr+   rn   r,   Úminimap_nav_adapterr-   Úatlas_progression_serviceÚctypesÚwintypesÚDWORDÚwindllÚuser32ÚGetWindowThreadProcessIdÚbyrefÚvalueÚ	Exceptionr.   Úlive_sentinelÚsentinel_interval_secÚ_sentinel_runningÚ_sentinel_threadÚsentinel_capturesÚuse_post_message_loadingr/   Úmotion_sentinel)r^   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   ÚclÚctÚcwÚchro   Úpid_vals   `                 r_   Ú__init__z%AutonomousMappingCoordinator.__init__J   s]  ø€ ð 'ˆÔÝ$Ñ&Ô&ˆŒ	ØˆÔØˆŒØð 	 ¤	ð 	Ð.Dð 	Ý,¨T¬YÑ7Ô7‰NˆB��B˜Ø�CŠxˆx˜B šH˜HØ#%�Ô Ø"$�”Ø�Ø�à ˆŒØ ˆŒØ&<ˆÔ#Ø,ˆÔØ&ˆÔØ 0ˆÔØ$8ˆÔ!Ø.ˆÔØ(ˆÔÝ
Œ�DÔ$¨tÐ4Ñ4Ô4Ð4å&°$Ô2BÐCÑCÔCˆŒÝ.¸¼ÐPTÔP]Ð^Ñ^Ô^ˆŒÝ*Ñ,Ô,ˆŒØ Ð3¥M¡O¤OˆŒÝ)°T´[ÐAÑAÔAˆŒÝ:<¼'¿.º.ÈÑ:YÔ:YÐc�: oÑ6Ô6Ð6Ð_cˆÔØ,.ˆÔà15´ÀÒ1BÐ1B�t”} vÑ-Ð-ÈˆŒØ15´ÀÒ1BÐ1B�t”} vÑ-Ð-ÈˆŒå'™MœMˆÔÝ"3Ø”]Ø”]ØÔ$ØÔ1ØÔ*ð#
ñ #
ô #
ˆÔõ 1Ø”]Ø”]ØÔ$ØÔ0ØÔ*Øœð
ñ 
ô 
ˆÔõ ,Ø”]Ø”]Øœð
ñ 
ô 
ˆÔõ
 &BØIÐIÐIÐIð&
ñ &
ô &
ˆÔ"õ *AÑ)BÔ)BˆÔ&Ý&Ý! $¨Ñ-Ô-Ý!¥# a¨¬Ñ"7Ô"7½¸QÀÄÑ9NÔ9NÑOÔOð
ñ 
ô 
ˆŒõ *ØBÐBÐBÐBØ”]Ø”]ð
ñ 
ô 
ˆÔõ
 $5Ñ#6Ô#6ˆÔ õ $<Ý(­¨Q°´Ñ)>Ô)>ÅÀAÀtÄ}Ñ@UÔ@UÑVÔVð$
ñ $
ô $
ˆÔ õ *AØ $Ô 8ð*
ñ *
ô *
ˆÔ&ð ˆ
ØŒ9ð 	ðÝ œ/×/Ò/Ñ1Ô1�Ý”Ô$×=Ò=¸d¼iÍÌÐV]ÑI^ÔI^Ñ_Ô_Ð_Ø$œ]�
�
øÝð ð ð Ø�
�
�
ðøøøå,Ø!ØÔ)ð
ñ 
ô 
ˆÔð
 &)ˆÔ"Ø!&ˆÔØ<@ˆÔØ,.ˆÔØ(,ˆÔ%Ý5Ø!$Ø#$Øœð 
ñ  
ô  
ˆÔÐÐs   Î A!O" Ï"O1Ï0O1Úmsgc                 ó�   — t          j        ¦   «                              d¦  «        d d…         }t          d|› d|› �d¬¦  «         d S )Nz%H:%M:%S.%féýÿÿÿú[z][Pipeline] T©Úflush)r   ÚnowÚstrftimeÚprint)r^   r¨   Útss      r_   rˆ   z AutonomousMappingCoordinator.log½   sN   € ÝŒ\‰^Œ^×$Ò$ ]Ñ3Ô3°C°R°CÔ8ˆÝÐ'�"Ð'Ð' #Ð'Ð'¨tÐ4Ñ4Ô4Ð4Ð4Ð4ra   c                 óš  — | j         rdS d| _         | j                             ¦   «          t          j        | j        d¬¦  «        | _        | j                             ¦   «          	 | j         	                    ¦   «          n/# t          $ r"}|                      d|› �¦  «         Y d}~nd}~ww xY w|                      d| j        › d�¦  «         dS )up   Khá»Ÿi cháº¡y luá»“ng giÃ¡m sÃ¡t chá»¥p áº£nh mÃ n hÃ¬nh Ä‘á»‹nh ká»³ má»—i 3s xuyÃªn suá»‘t phiÃªn (Doc 17/39).NT)ÚtargetÚdaemonu   LÆ°u Ã½ LiveRunSentinel start: ui   ðŸ“¸ Sentinel chá»¥p áº£nh mÃ n hÃ¬nh Ä‘á»‹nh ká»³ 3.0s & LiveRunSentinel Ä‘Ã£ kÃ­ch hoáº¡t (ThÆ° má»¥c: z).)r�   rŸ   ÚclearÚ	threadingÚThreadÚ_run_3s_sentinelrž   Ústartr›   Ústart_monitoringrš   rˆ   rB   ©r^   Úes     r_   Ústart_3s_sentinelz.AutonomousMappingCoordinator.start_3s_sentinelÁ   s  € àÔ!ð 	ØˆFØ!%ˆÔØÔ×$Ò$Ñ&Ô&Ð&Ý )Ô 0¸Ô8MÐVZÐ [Ñ [Ô [ˆÔØÔ×#Ò#Ñ%Ô%Ð%ð	<ØÔ×/Ò/Ñ1Ô1Ð1Ð1øÝð 	<ð 	<ð 	<Ø�HŠHÐ:°qÐ:Ð:Ñ;Ô;Ð;Ð;Ð;Ð;Ð;Ð;øøøøð	<øøøà�Šð  Rð  ~Bô  ~Nð  Rð  Rð  Rñ  	Sô  	Sð  	Sð  	Sð  	Ss   Á$A> Á>
B*ÂB%Â%B*c                 ór  — d| _         	 | j                             ¦   «          n/# t          $ r"}|                      d|› �¦  «         Y d}~nd}~ww xY w| j        r4| j                             ¦   «         r| j                             d¬¦  «         |                      dt          | j	        ¦  «        › �¦  «         dS )u5   Dá»«ng luá»“ng giÃ¡m sÃ¡t chá»¥p áº£nh mÃ n hÃ¬nh 3s.Fu   LÆ°u Ã½ LiveRunSentinel stop: Nç       @)ÚtimeoutuM   ðŸ“¸ Sentinel chá»¥p áº£nh 3s Ä‘Ã£ dá»«ng. Tá»•ng sá»‘ frame 3s Ä‘Ã£ chá»¥p: )
r�   r›   Ústop_monitoringrš   rˆ   rž   Úis_aliveÚjoinÚlenrŸ   r»   s     r_   Ústop_3s_sentinelz-AutonomousMappingCoordinator.stop_3s_sentinelÏ   sÙ   € à!&ˆÔð	;ØÔ×.Ò.Ñ0Ô0Ð0Ð0øÝð 	;ð 	;ð 	;Ø�HŠHÐ9°aÐ9Ð9Ñ:Ô:Ð:Ð:Ð:Ð:Ð:Ð:øøøøð	;øøøàÔ ð 	4 TÔ%:×%CÒ%CÑ%EÔ%Eð 	4ØÔ!×&Ò&¨sÐ&Ñ3Ô3Ð3Ø�ŠÐ~ÕadÐeiÔe{Ña|Ôa|Ð~Ð~ÑÔÐÐÐs   ‰# £
A­A
Á
Ac                 ó  — t          ¦   «         }d}| j        �rrt          j        ¦   «         }|dz  }t          j        ¦   «                              d¦  «        d d…         }d|› d|d›d�}t          j                             | j	        |¦  «        }	 | 
                    |¦  «        rk| j                             |¦  «         d	}| j        r)| j                             ¦   «         }|r|j        r|j        }|                      d
|d›d|› d|› �¦  «         n/# t"          $ r"}	|                      d|	› �¦  «         Y d }	~	nd }	~	ww xY wt          j        ¦   «         |z
  }
t%          d| j        |
z
  ¦  «        }t          j        |¦  «         | j        �°pd S d S )Nr   rc   z%Y%m%d_%H%M%S_%fé   Úsentinel_3s_Ú_Ú04dz.pngÚUnknownz[Sentinel 3s #Ú03du	   ] Chá»¥p z	 | Zone: z[Sentinel 3s Error] çš™™™™™¹?)r7   r�   Útimer   r®   r¯   rx   r   rÃ   rB   ÚcapturerŸ   Úappendr�   Úseed_latest_playable_zoneÚ	area_namerˆ   rš   r�   rœ   Úsleep)r^   ÚgdiÚ	frame_idxÚt0r±   Úfilenamer   ÚzoneÚseededr¼   ÚelapsedÚ
sleep_times               r_   r¸   z-AutonomousMappingCoordinator._run_3s_sentinelÚ   sÇ  € ÝÑ!Ô!ˆØˆ	ØÔ$ñ 	#Ý”‘”ˆBØ˜‰NˆIÝ”‘”×(Ò(Ð);Ñ<Ô<¸S¸b¸SÔAˆBØ> bÐ>Ð>¨9Ð>Ð>Ð>Ð>ˆHÝ”7—<’< Ô 0°(Ñ;Ô;ˆDð
5Ø—;’;˜tÑ$Ô$ð aØÔ*×1Ò1°$Ñ7Ô7Ð7Ø$�DØÔ'ð 4Ø!%Ô!1×!KÒ!KÑ!MÔ!M˜Ø!ð 4 fÔ&6ð 4Ø#)Ô#3˜DØ—H’HÐ_¨iÐ_Ð_Ð_ÀhÐ_Ð_ÐY]Ð_Ð_Ñ`Ô`Ð`øøÝð 5ð 5ð 5Ø—’Ð3°Ð3Ð3Ñ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4øøøøð5øøøå”i‘k”k BÑ&ˆGÝ˜S $Ô"<¸wÑ"FÑGÔGˆJÝŒJ�zÑ"Ô"Ð"ð' Ô$ñ 	#ð 	#ð 	#ð 	#ð 	#s   ÂB D Ä
D<ÄD7Ä7D<TÚ	step_nameÚcapture_ramÚreturnc                 ó¼   — | j                              ||| j        ¬¦  «        }|r7| j                             |¦  «         |                      d|› d|› �¦  «         |S dS )N)Ú
event_namerÝ   Úbackground_modeu"   Ä�Ã£ chá»¥p áº£nh báº±ng chá»©ng [z]: Ú )rz   Úcapture_screenshotrJ   r‚   rÐ   rˆ   )r^   rÜ   rÝ   Úimg_paths       r_   Úcapture_stepz)AutonomousMappingCoordinator.capture_stepò   sv   € Ø”=×3Ò3Ø ¨kÈ4ÔK[ð 4ñ 
ô 
ˆð ð 	ØÔ"×)Ò)¨(Ñ3Ô3Ð3Ø�HŠHÐR¸)ÐRÐRÈÐRÐRÑSÔSÐSØˆOØˆrra   éÜ  Ú
timeout_msc                 óö  — | j         r| j        r)t          j        j                             | j        ¦  «        st          ¦   «         | _        | j        r3t          | j        ¦  «        \  }}}}|dk    r|dk    r|| _        || _	        dS | j        r0t          j        j                             | j        ¦  «        r| j        nt          ¦   «         }|�r*|| _        t          ||¬¦  «         t          |¦  «        \  }}}}|dk    r|dk    r|| _        || _	        t          j        |¦  «        s¼|dk    r¶|dk    r°	 t          j        j        }|                     ||dz  z   ||dz  z   ¦  «         |                     ddddd¦  «         t          j        d¦  «         |                     ddddd¦  «         t          j        d	¦  «         t          |d
¬¦  «         n# t"          $ r Y nw xY wt          j        |¦  «        S dS )Nr   T)rç   rL   é   rr   ç{®Gáz”?é   çš™™™™™©?éô  F)rJ   ru   r’   r•   r–   ÚIsWindowr3   r5   rv   rw   r4   ÚcommonÚis_poe2_window_focusedÚSetCursorPosÚmouse_eventrÎ   rÓ   rš   )r^   rç   r¢   r£   r¤   r¥   ru   r–   s           r_   Úensure_focusz)AutonomousMappingCoordinator.ensure_focusü   s  € ØÔð 		à”9ð /¥F¤MÔ$8×$AÒ$AÀ$Ä)Ñ$LÔ$Lð /Ý,Ñ.Ô.�”	ØŒyð )Ý!0°´Ñ!;Ô!;‘��B˜˜BØ˜’6�6˜b 1šf˜fØ')�DÔ$Ø&(�D”OØ�4à!œYÐl­6¬=Ô+?×+HÒ+HÈÌÑ+SÔ+SÐlˆtŒyˆyÕZjÑZlÔZlˆØñ 	7ØˆDŒIÝ °Ð<Ñ<Ô<Ð<Ý,¨TÑ2Ô2‰NˆB��B˜Ø�AŠvˆv˜"˜qš&˜&Ø#%�Ô Ø"$�”ÝÔ0°Ñ6Ô6ð 
¸2Àº8¸8ÈÈSÊÈð	Ý#œ]Ô1�FØ×'Ò'¨¨R°1©W©°b¸2À¹7±lÑCÔCÐCØ×&Ò& v¨q°!°Q¸Ñ:Ô:Ð:Ý”J˜tÑ$Ô$Ð$Ø×&Ò& v¨q°!°Q¸Ñ:Ô:Ð:Ý”J˜tÑ$Ô$Ð$Ý'¨¸Ð=Ñ=Ô=Ð=Ð=øÝ ð ð ð Ø�DðøøøåÔ0°Ñ6Ô6Ð6Øˆus   Ä6BG Ç
G"Ç!G"rä   c                 ót   ‡‡— |rt           j                             |¦  «        sdS t          j        |¦  «        S )ua   Kiá»ƒm tra xem báº£ng hÃ nh trang (Inventory) cÃ³ Ä‘ang má»Ÿ hay khÃ´ng thÃ´ng qua Common Kernel.F)rx   r   r€   rï   Úis_inventory_openÚPILr   ÚopenÚsizeÚsumÚrangeri   rš   )	r^   rä   r   ÚwÚhÚsyÚ
gold_countÚimgÚsxs	          @@r_   rõ   z.AutonomousMappingCoordinator.is_inventory_open  s7   øø€ àð 	�rœwŸ~š~¨hÑ7Ô7ð 	Ø�5ÝÔ'¨Ñ1Ô1Ð1ra   c                 ó*   — t          j        |¦  «        S )u`   INV-MAPDEVICE-VERIFY-UI: Atlas/Map Device Ä‘Ã£ má»Ÿ khi OCR tháº¥y TRAVERSE/WAYSTONE/MAP DEVICE.)rï   Úis_atlas_ui_open©r^   rä   s     r_   r  z-AutonomousMappingCoordinator.is_atlas_ui_open4  s   € åÔ& xÑ0Ô0Ð0ra   c                 óF   — t          j        || j        | j        d¬¦  «        S )uh   Tá»�a Ä‘á»™ nÃºt TRAVERSE báº±ng OCR hoáº·c Dual-Pass. KhÃ´ng fallback pixel mÃ¹ â€” None = fail-closed.T©rƒ   r„   Úreturn_none_if_missing)rï   Úfind_traverse_button_screen_posrƒ   r„   r  s     r_   Úfind_traverse_buttonz1AutonomousMappingCoordinator.find_traverse_button8  s*   € åÔ5Ø˜dœl°D´LÐY]ð
ñ 
ô 
ð 	
ra   c                 óD   — t          j        || j        | j        ¬¦  «        S )uQ   XÃ¡c Ä‘á»‹nh vá»‹ trÃ­ tab ENDGAME trÃªn thanh tab World Map (tham chiáº¿u ~65%).©rƒ   r„   )rï   Úfind_endgame_tab_posrƒ   r„   r  s     r_   r  z1AutonomousMappingCoordinator.find_endgame_tab_pos>  s    € åÔ*¨8¸T¼\ÐSWÔS_Ð`Ñ`Ô`Ð`ra   c                 óž  — |rt           j                             |¦  «        sdS 	 ddlm}  |j        |¦  «        }t          j        |¦  «        }|                     dg ¦  «        D ]Ö}|                     dd¦  «         	                    ¦   «         }d|v r¨|                     dg ¦  «        }|r�t          d	„ |D ¦   «         ¦  «        }t          d
„ |D ¦   «         ¦  «        }	t          d„ |D ¦   «         ¦  «        }
t          d„ |D ¦   «         ¦  «        }t          ||	z   dz  ¦  «        t          |
|z   dz  ¦  «        fc S Œ×n# t          $ r Y nw xY wdS )uS   Nháº­n diá»‡n tá»�a Ä‘á»™ nÃºt 'RESURRECT IN HIDEOUT' trÃªn mÃ n hÃ¬nh tá»­ tráº­n.Nr   r
   ÚlinesÚtextrâ   Ú	RESURRECTÚwordsc              3   ó2   K  — | ]}|d          d         V — ŒdS ©Úbounding_rectrj   N© ©Ú.0rû   s     r_   ú	<genexpr>zFAutonomousMappingCoordinator._find_resurrect_button.<locals>.<genexpr>O  ó,   è è € Ð#KÐ#KÀ A oÔ$6°sÔ$;Ð#KÐ#KÐ#KÐ#KÐ#KÐ#Kra   c              3   óP   K  — | ]!}|d          d         |d          d         z   V — Œ"dS ©r  rj   ÚwidthNr  r  s     r_   r  zFAutonomousMappingCoordinator._find_resurrect_button.<locals>.<genexpr>P  s=   è è € Ð#iÐ#iÐ^_ A oÔ$6°sÔ$;¸aÀÔ>PÐQXÔ>YÑ$YÐ#iÐ#iÐ#iÐ#iÐ#iÐ#ira   c              3   ó2   K  — | ]}|d          d         V — ŒdS ©r  rk   Nr  r  s     r_   r  zFAutonomousMappingCoordinator._find_resurrect_button.<locals>.<genexpr>Q  r  ra   c              3   óP   K  — | ]!}|d          d         |d          d         z   V — Œ"dS ©r  rk   ÚheightNr  r  s     r_   r  zFAutonomousMappingCoordinator._find_resurrect_button.<locals>.<genexpr>R  s=   è è € Ð#jÐ#jÐ_` A oÔ$6°sÔ$;¸aÀÔ>PÐQYÔ>ZÑ$ZÐ#jÐ#jÐ#jÐ#jÐ#jÐ#jra   ré   )rx   r   r€   rö   r   r÷   rï   Úsafe_recognize_pil_syncÚgetÚupperÚminr�   ri   rš   )r^   rä   r   rÿ   ÚresÚlineÚtr  Úmin_xÚmax_xÚmin_yÚmax_ys               r_   Ú_find_resurrect_buttonz3AutonomousMappingCoordinator._find_resurrect_buttonB  s•  € àð 	�rœwŸ~š~¨hÑ7Ô7ð 	Ø�4ð	Ø!Ð!Ð!Ð!Ð!Ð!Ø�%”*˜XÑ&Ô&ˆCÝÔ0°Ñ5Ô5ˆCØŸš ¨Ñ,Ô,ð 	Tð 	T�Ø—H’H˜V RÑ(Ô(×.Ò.Ñ0Ô0�Ø !Ð#Ð#Ø ŸHšH W¨bÑ1Ô1�EØð TÝ #Ð#KÐ#KÀUÐ#KÑ#KÔ#KÑ KÔ K˜Ý #Ð#iÐ#iÐchÐ#iÑ#iÔ#iÑ iÔ i˜Ý #Ð#KÐ#KÀUÐ#KÑ#KÔ#KÑ KÔ K˜Ý #Ð#jÐ#jÐdiÐ#jÑ#jÔ#jÑ jÔ j˜Ý # U¨U¡]°aÑ$7Ñ 8Ô 8½#¸uÀu¹}ÐPQÑ>QÑ:RÔ:RÐSÐSÐSÐSøð	Tøõ ð 	ð 	ð 	ØˆDð	øøøàˆts   ¥DD= Ä;D= Ä=
E
Å	E
rj   rk   c                 óf  — | j         sc| j        r\t          j        j                             | j        ¦  «        r3t          | j        ¦  «        \  }}}}|dk    r|dk    r|| _        || _        | j        t          t          |¦  «        ¦  «        z   | j        t          t          |¦  «        ¦  «        z   fS )up   Chuyá»ƒn Ä‘á»•i tá»�a Ä‘á»™ tá»« Client Area sang tá»�a Ä‘á»™ Desktop tuyá»‡t Ä‘á»‘i (há»— trá»£ Windowed mode).r   )rG   ru   r’   r•   r–   rî   r5   rv   rw   ri   Úround)r^   rj   rk   r¢   r£   r¤   r¥   s          r_   Ú	to_screenz&AutonomousMappingCoordinator.to_screenX  s�   € àÔ ð 	% T¤Yð 	%µ6´=Ô3G×3PÒ3PÐQUÔQZÑ3[Ô3[ð 	%Ý,¨T¬YÑ7Ô7‰NˆB��B˜Ø�AŠvˆv˜"˜qš&˜&Ø#%�Ô Ø"$�”ØÔ¥#¥e¨A¡h¤h¡-¤-Ñ/°´Å3ÅuÈQÁxÄxÁ=Ä=Ñ1PÐPÐPra   c                 óÐ   — | j         r)t          j        j                             | j         ¦  «        sdS 	 ddlm} t           || j         ¦  «        ¦  «        S # t          $ r Y dS w xY w)NFr   )Úis_window_on_virtual_display)	ru   r’   r•   r–   rî   Ú"src.common.virtual_display_managerr1  Úboolrš   )r^   r1  s     r_   Úis_on_virtual_displayz2AutonomousMappingCoordinator.is_on_virtual_displaya  s‚   € ØŒyð 	¥¤Ô 4× =Ò =¸d¼iÑ HÔ Hð 	Ø�5ð	ØWÐWÐWÐWÐWÐWÝÐ4Ð4°T´YÑ?Ô?Ñ@Ô@Ð@øÝð 	ð 	ð 	Ø�5�5ð	øøøs   ´"A Á
A%Á$A%ç{®Gáz´?rZ   c           	      óŒ  — | j         sD| j        rÀt          j        j                             | j        ¦  «        r—|                      ¦   «         rƒ| j        rzt          j        j                             | j        ¦  «        rQt          j        | j        t          t          |¦  «        ¦  «        t          t          |¦  «        ¦  «        |¬¦  «        S dS | j        s-t          j        | j        ¦  «        s|                      ¦   «          |                      ||¦  «        \  }}t          j        |||| j        | j        ¬¦  «         | j        r|t          j        j                             | j        ¦  «        rUt          j        | j        t          t          |¦  «        ¦  «        t          t          |¦  «        ¦  «        d¬¦  «         dS dS dS )u[   Ä�Æ°a chuá»™t tá»›i pixel tuyá»‡t Ä‘á»‘i, khÃ´ng LMB (INV-WASD-NO-BLIND-LMB). Dual-channel.rY   N)rZ   rG   ru   rê   )rJ   ru   r’   r•   r–   rî   r4  rï   Úpost_message_hoverri   r.  rG   rð   ró   r/  Úhover)r^   rj   rk   rZ   r   rý   s         r_   r8  z"AutonomousMappingCoordinator.hoverj  sŽ  € àÔð 	 ¤	ð 	­f¬mÔ.B×.KÒ.KÈDÌIÑ.VÔ.Vð 	Ð[_×[uÒ[uÑ[wÔ[wð 	ØŒyð s�Vœ]Ô1×:Ò:¸4¼9ÑEÔEð sÝÔ0°´½CÅÀaÁÄ¹M¼MÍ3ÍuÐUVÉxÌxÉ=Ì=ÐfqÐrÑrÔrÐrØˆFàÔ ð 	 ­Ô)FÀtÄyÑ)QÔ)Qð 	 Ø×ÒÑÔÐØ—’  1Ñ%Ô%‰ˆˆBÝŒ�R˜¨À4ÔCTÐ[_Ô[dÐeÑeÔeÐeØŒ9ð 	a�œÔ-×6Ò6°t´yÑAÔAð 	aÝÔ% d¤iµµU¸1±X´X±´ÅÅEÈ!ÁHÄHÁÄÐ[_Ð`Ñ`Ô`Ð`Ð`Ð`ð	að 	að 	að 	ara   rì   rÍ   Úhold_msc           	      ó´  — | j         sD| j        rVt          j        j                             | j        ¦  «        r-|                      ¦   «         r|                      ||||¬¦  «        S | j        s-t          j
        | j        ¦  «        s|                      ¦   «          |                      ||¦  «        \  }}t          j        ||||| j        | j        ¬¦  «        }| j        r{t          j        j                             | j        ¦  «        rRt          j        | j        t          t          |¦  «        ¦  «        t          t          |¦  «        ¦  «        |d¬¦  «         |S )z@Dual-channel Hardware + PostMessageW Click with Focus Interlock.©r9  rZ   )r9  rZ   rG   ru   ç{®Gáz¤?)rJ   ru   r’   r•   r–   rî   r4  Úpost_message_clickrG   rï   rð   ró   r/  rh   ri   r.  )r^   rj   rk   r9  rZ   r   rý   r%  s           r_   rh   z"AutonomousMappingCoordinator.clickx  s8  € àÔð 	[ ¤	ð 	[­f¬mÔ.B×.KÒ.KÈDÌIÑ.VÔ.Vð 	[Ð[_×[uÒ[uÑ[wÔ[wð 	[Ø×*Ò*¨1¨a¸ÈkÐ*ÑZÔZÐZàÔ ð 	 ­Ô)FÀtÄyÑ)QÔ)Qð 	 Ø×ÒÑÔÐØ—’  1Ñ%Ô%‰ˆˆBÝŒl˜2˜r¨7ÀÐZ^ÔZkÐrvÔr{Ð|Ñ|Ô|ˆØŒ9ð 	r�œÔ-×6Ò6°t´yÑAÔAð 	rÝÔ% d¤iµµU¸1±X´X±´ÅÅEÈ!ÁHÄHÁÄÐW^ÐlpÐqÑqÔqÐqØˆ
ra   rX   Úuse_post_messagec           	      óü  — | j         s0| j        r{t          j        j                             | j        ¦  «        rRt          j        | j        t          t          |¦  «        ¦  «        t          t          |¦  «        ¦  «        ||¬¦  «        S | j
        s/|s-t          j        | j        ¦  «        s|                      ¦   «          |                      ||¦  «        \  }}t          j        ||||| j
        | j        |¬¦  «        S )Nr;  )r9  rZ   rG   ru   r>  )rJ   ru   r’   r•   r–   rî   rï   Úpost_message_ctrl_clickri   r.  rG   rð   ró   r/  r    Úcrisp_ctrl_click)r^   rj   rk   r9  rZ   r>  r   rý   s           r_   rA  z-AutonomousMappingCoordinator.crisp_ctrl_click…  sö   € ØÔð 	 ¤	ð 	­f¬mÔ.B×.KÒ.KÈDÌIÑ.VÔ.Vð 	ÝÔ1Ø”	�3�u Q™xœx™=œ=­#­e°A©h¬h©-¬-ÀÐVaðñ ô ð ð Ô ð 	 Ð)9ð 	 Å&ÔB_Ð`dÔ`iÑBjÔBjð 	 Ø×ÒÑÔÐØ—’  1Ñ%Ô%‰ˆˆBÝ"Ô3Ø�˜G°È4ÔK\Ø”Ð-=ð
ñ 
ô 
ð 	
ra   c                 ó4   — |                       ||||¬¦  «        S )N)rZ   r>  )rA  )r^   rj   rk   rZ   r>  s        r_   Ú
ctrl_clickz'AutonomousMappingCoordinator.ctrl_click’  s    € Ø×$Ò$ Q¨°{ÐUeÐ$ÑfÔfÐfra   Úleftr<  ç¸…ëQ¸®?Úbuttonc           	      óÌ   — | j         rdS | j        sdS t          j        | j        t	          t          |¦  «        ¦  «        t	          t          |¦  «        ¦  «        |||¬¦  «        S )uX   Gá»­i click chuá»™t áº£o ngáº§m qua PostMessageW tá»›i HWND game khÃ´ng cÆ°á»›p chuá»™t.TF)rF  r9  rZ   )rG   ru   rï   r=  ri   r.  )r^   rj   rk   rF  r9  rZ   s         r_   r=  z/AutonomousMappingCoordinator.post_message_click•  se   € ð Ôð 	Ø�4ØŒyð 	Ø�5ÝÔ(ØŒI•s�5 ™8œ8‘}”}¥c­%°©(¬(¡m¤m¸FÈGÐalð
ñ 
ô 
ð 	
ra   c           	      óÊ   — | j         rdS | j        sdS t          j        | j        t	          t          |¦  «        ¦  «        t	          t          |¦  «        ¦  «        ||¬¦  «        S )uW   Gá»­i Ctrl+Click áº£o ngáº§m qua PostMessageW tá»›i HWND game náº¡p Ä‘á»“ dá»©t khoÃ¡t.TFr;  )rG   ru   rï   r@  ri   r.  )r^   rj   rk   r9  rZ   s        r_   r@  z4AutonomousMappingCoordinator.post_message_ctrl_click¦  sc   € ð Ôð 	Ø�4ØŒyð 	Ø�5ÝÔ-ØŒI•s�5 ™8œ8‘}”}¥c­%°©(¬(¡m¤m¸WÐR]ð
ñ 
ô 
ð 	
ra   c                 ó(  — |                       d¦  «         d}|                      |dd¬¦  «         |                      d¦  «        }|                      |¦  «        \  }}|                       d|› d|› d	�¦  «         |                      ||d
d¬¦  «         dS )u®  
        Má»Ÿ giao diá»‡n World Map báº±ng phÃ­m 'U' (VK_U 0x55) vÃ  chuyá»ƒn sang tab ENDGAME (Atlas).
        Tá»‘i Æ°u hÃ³a chuá»—i tÆ°Æ¡ng tÃ¡c theo yÃªu cáº§u Ä‘iá»�u phá»‘i:
        1. Nháº¥n phÃ­m 'U' (VK_U 0x55) Ä‘á»ƒ má»Ÿ World Map.
        2. Chá»¥p áº£nh xÃ¡c thá»±c vÃ  Ä‘á»‹nh vá»‹ tab ENDGAME báº±ng find_endgame_tab_pos (SÆ° Ä‘oÃ n 2).
        3. Click chá»�n tab ENDGAME Ä‘á»ƒ má»Ÿ cÃ¢y báº£n Ä‘á»“ Atlas.
        u6   ðŸ—ºï¸� Má»Ÿ World Map báº±ng phÃ­m 'U' (VK_U 0x55)...éU   é   rQ   rY   ÚSTAGE2_WORLD_MAP_OPENED_Uõ   ðŸŽ¯ Click tab ENDGAME táº¡i (ú, ú)...ç333333Ã?ç      ø?r;  T)rˆ   r\   rå   r  rh   )r^   ÚVK_UÚimg_mapÚ	endgame_xÚ	endgame_ys        r_   Úopen_world_map_endgamez3AutonomousMappingCoordinator.open_world_map_endgame¶  s¥   € ð 	�ŠÐIÑJÔJÐJØˆØ�Š�t˜T¨sˆÑ3Ô3Ð3Ø×#Ò#Ð$?Ñ@Ô@ˆØ#×8Ò8¸ÑAÔAÑˆ	�9Ø�ŠÐN°)ÐNÐN¸yÐNÐNÐNÑOÔOÐOØ�
Š
�9˜i°À3ˆ
ÑGÔGÐGØˆtra   c                 ó*   — t          j        |¦  «        S rg   )r    Úis_item_stuck_on_cursorr  s     r_   rX  z4AutonomousMappingCoordinator.is_item_stuck_on_cursorÇ  s   € Ý"Ô:¸8ÑDÔDÐDra   çš™™™™™Ù?Úslot_xÚslot_yc                 óâ   ‡ — ‰                       d|› d|› d�¦  «         ‰ j        s-t          j        ‰ j        ¦  «        s‰                      ¦   «          t          j        ˆ fd„||ˆ fd„|¬¦  «        S )Nu8   ðŸ”„ HoÃ n tráº£ item dÃ­nh chuá»™t vá»� Ã´ tÃºi Ä‘á»“ (rN  rO  c                 ó4   •— ‰                      | |d¬¦  «        S rW   )rh   )ÚcxÚcyr^   s     €r_   r`   zOAutonomousMappingCoordinator.recover_cursor_item_to_inventory.<locals>.<lambda>Ï  s   ø€  d§j¢j°°RÀS jÑ&IÔ&I€ ra   c                 ó4   •— ‰                      | |d¬¦  «        S )Nçš™™™™™É?rY   r[   )r]   Úscr^   s     €r_   r`   zOAutonomousMappingCoordinator.recover_cursor_item_to_inventory.<locals>.<lambda>Ò  s   ø€ ¨$¯.ª.¸¸RÈS¨.Ñ*QÔ*Q€ ra   )Ú
click_funcrZ  r[  rb   rZ   )rˆ   rG   rï   rð   ru   ró   r    Ú recover_cursor_item_to_inventory)r^   rZ  r[  rZ   s   `   r_   rd  z=AutonomousMappingCoordinator.recover_cursor_item_to_inventoryÊ  s–   ø€ Ø�ŠÐbÈFÐbÐbÐV\ÐbÐbÐbÑcÔcÐcØÔ ð 	 ­Ô)FÀtÄyÑ)QÔ)Qð 	 Ø×ÒÑÔÐÝ"ÔCØIÐIÐIÐIØØØQÐQÐQÐQØ#ð
ñ 
ô 
ð 	
ra   é   Ústart_xÚstart_yÚend_xÚend_yÚstepsÚdurationc           
      óL  — | j         sD| j        r�t          j        j                             | j        ¦  «        rg|                      ¦   «         rS| j        rJt          j        j                             | j        ¦  «        r!t          j        | j        |||||||¬¦  «        S dS | j	        s-t          j
        | j        ¦  «        s|                      ¦   «          |                      ||¦  «        \  }}	|                      ||¦  «        \  }
}t          j        ||	|
||||| j	        ¬¦  «        S )N©rj  rk  rF  T)rj  rk  rF  rG   )rJ   ru   r’   r•   r–   rî   r4  rï   Úpost_message_dragrG   rð   ró   r/  Údrag)r^   rf  rg  rh  ri  rj  rk  rF  Úsx1Úsy1Úsx2Úsy2s               r_   ro  z!AutonomousMappingCoordinator.dragÖ  s0  € ØÔð 	 ¤	ð 	­f¬mÔ.B×.KÒ.KÈDÌIÑ.VÔ.Vð 	Ð[_×[uÒ[uÑ[wÔ[wð 	ØŒyð J�Vœ]Ô1×:Ò:¸4¼9ÑEÔEð JÝÔ/°´	¸7ÀGÈUÐTYÐafÐqyð  CIð  Jñ  Jô  Jð  JØ�4àÔ ð 	 ­Ô)FÀtÄyÑ)QÔ)Qð 	 Ø×ÒÑÔÐØ—>’> '¨7Ñ3Ô3‰ˆˆSØ—>’> %¨Ñ/Ô/‰ˆˆSÝŒ{˜3  S¨#°UÀXÐV\ÐkoÔk|Ð}Ñ}Ô}Ð}ra   r   Ú	drag_leftÚdelta_xÚdelta_yc                 óð  — t          | j        dz  ¦  «        }t          | j        dz  ¦  «        }|�e|rt          | j        dz  ¦  «        nt          | j        dz  ¦  «        }|rt          | j        dz  ¦  «        nt          | j        dz  ¦  «        }|}|}	n|}|}||z   }||z   }	|                      d|› d|› d|› d|	› d�	¦  «         |                      ||||	d	d
d¬¦  «         t          j        d¦  «         dS )us  
        KÃ©o trÆ°á»£t (hold LMB) báº£n Ä‘á»“ Atlas Ä‘á»ƒ Ä‘Æ°a cÃ¡c Node kháº£ dá»¥ng hoáº·c Ä‘Ã£ má»Ÿ vÃ o táº§m nhÃ¬n (Doc 56).
        - Náº¿u drag_left Ä‘Æ°á»£c truyá»�n: KÃ©o ngang theo hÆ°á»›ng chá»‰ Ä‘á»‹nh (tÆ°Æ¡ng thÃ­ch ngÆ°á»£c).
        - Náº¿u delta_x, delta_y Ä‘Æ°á»£c truyá»�n: KÃ©o chuá»™t tá»« tÃ¢m mÃ n hÃ¬nh má»™t khoáº£ng (delta_x, delta_y).
        ç      à?Ngffffffæ?ç      Ð?u-   Pan Atlas Map (hold LMB): kÃ©o chuá»™t tá»« (rN  z) -> (rO  é   çÍÌÌÌÌÌÜ?rD  rm  )ri   r@   rA   rˆ   ro  rÎ   rÓ   )
r^   rt  ru  rv  Úcenter_xÚcenter_yrf  rh  rg  ri  s
             r_   Úpan_atlas_mapz*AutonomousMappingCoordinator.pan_atlas_mapâ  s"  € õ �t”} tÑ+Ñ,Ô,ˆÝ�t”} tÑ+Ñ,Ô,ˆØÐ Ø3<Ð[•c˜$œ-¨$Ñ.Ñ/Ô/Ð/Å#ÀdÄmÐVZÑFZÑB[ÔB[ˆGØ1:ÐY•C˜œ¨Ñ,Ñ-Ô-Ð-ÅÀDÄMÐTXÑDXÑ@YÔ@YˆEØˆGØˆEˆEàˆGØˆGØ˜wÑ&ˆEØ˜wÑ&ˆEà�ŠÐoÀÐoÐoÈGÐoÐoÐ[`ÐoÐoÐdiÐoÐoÐoÑpÔpÐpØ�	Š	�'˜7 E¨5¸ÀTÐRXˆ	ÑYÔYÐYÝŒ
�3‰Œˆˆˆra   é   Úmax_pan_stepsc           
      ó(  — t          d| j        z  ¦  «        dft          d| j        z  ¦  «        dft          d| j        z  ¦  «         dft          d| j        z  ¦  «         dfdt          d| j        z  ¦  «         fdt          d| j        z  ¦  «        fg}t          |d|…         ¦  «        D �]ã\  }\  }}|                      ||¬¦  «         |                      d|d	z   › �¦  «        }|                      |¦  «        }|r÷d
}	 ddlm}	  |	j	        |¦  «        }
t          j        |
¦  «        }d                     d„ |                     dg ¦  «        D ¦   «         ¦  «                             ¦   «         }t          j        |¦  «        r*d}|                      d|d         › d|d	         › d�¦  «         n# t$          $ r Y nw xY w|s4|                      d|d         › d|d	         › d|d	z   › d�¦  «         d|fc S |                      |d¬¦  «        }|r4|                      d|d         › d|d	         › d|d	z   › d�¦  «         d|fc S |                      |d¬¦  «        }|r4|                      d|d         › d|d	         › d|d	z   › d�¦  «         d|fc S �ŒådS )u�  
        TÃ¬m kiáº¿m Node Ä‘Ã£ má»Ÿ / Node sÃ¡ng / nÃºt TRAVERSE báº±ng cÃ¡ch kÃ©o chuá»™t (hold LMB) duyá»‡t báº£n Ä‘á»“ tháº¿ giá»›i (Doc 56 / User request).
        Duyá»‡t theo cÃ¡c hÆ°á»›ng (pháº£i, xuá»‘ng, trÃ¡i, lÃªn) quanh tÃ¢m báº£n Ä‘á»“ Ä‘á»ƒ quÃ©t tÃ¬m.
        Tráº£ vá»� ("TRAVERSE" | "GLOWING_NODE" | "REACHABLE_NODE", (x, y)) náº¿u tÃ¬m tháº¥y, hoáº·c None náº¿u khÃ´ng cÃ³.
        éú   r   rí   éÈ   i�  N)ru  rv  ÚSTAGE3_PAN_SEARCH_rc   Fr
   ú c              3   óB   K  — | ]}|                      d d¦  «        V — ŒdS ©r  râ   N©r"  ©r  Úls     r_   r  zSAutonomousMappingCoordinator.search_opened_atlas_node_by_panning.<locals>.<genexpr>  s0   è è € Ð'\Ð'\¸a¨¯ª¨f°bÑ(9Ô(9Ð'\Ð'\Ð'\Ð'\Ð'\Ð'\ra   r  Tu2   âš ï¸� [INV-ATLAS-FARM-NODE] NÃºt TRAVERSE táº¡i (rN  u4   ) thuá»™c Special Node cáº¥m cÃ y cáº¥p! Bá»� qua...u+   ðŸŽ¯ Ä�Ã£ tÃ¬m tháº¥y nÃºt TRAVERSE táº¡i (u   ) sau bÆ°á»›c Pan #ú!ÚTRAVERSE©r  uA   ðŸŒŸ [Node SÃ¡ng] Ä�Ã£ tÃ¬m tháº¥y Node sÃ¡ng / Ä‘Ã£ má»Ÿ táº¡i (ÚGLOWING_NODEu>   ðŸŸ¢ [Node Xanh] Ä�Ã£ tÃ¬m tháº¥y Reachable Green Node táº¡i (ÚREACHABLE_NODE)ri   rƒ   r„   Ú	enumerater~  rå   r  rö   r   r÷   rï   r!  rÃ   r"  r#  r   Ú!is_forbidden_for_waystone_farmingrˆ   rš   Úfind_active_glowing_atlas_nodeÚfind_reachable_atlas_node)r^   r€  Úpan_vectorsÚiÚdxÚdyÚimg_panÚtravÚis_forbiddenr   Úpan_img_pilÚpan_resÚpan_textÚglowingÚgreens                  r_   Ú#search_opened_atlas_node_by_panningz@AutonomousMappingCoordinator.search_opened_atlas_node_by_panningù  sÉ  € õ ��t”|Ñ#Ñ$Ô$ aÐ(Ý��t”|Ñ#Ñ$Ô$ aÐ(Ý�#˜œÑ$Ñ%Ô%Ð% qÐ)Ý�#˜œÑ$Ñ%Ô%Ð% qÐ)Ø•�S˜4œ<Ñ'Ñ(Ô(Ð(Ð)Ø•�C˜$œ,Ñ&Ñ'Ô'Ð(ð
ˆõ % [°°-°Ô%@ÑAÔAð 	1ñ 	1‰KˆA‰x��BØ×Ò r°2ÐÑ6Ô6Ð6Ø×'Ò'Ð(B¸Q¸q¹SÐ(BÐ(BÑCÔCˆGØ×,Ò,¨WÑ5Ô5ˆDØð .à$�ð	Ø)Ð)Ð)Ð)Ð)Ð)Ø", %¤*¨WÑ"5Ô"5�KÝ$Ô<¸[ÑIÔI�GØ"ŸxšxÐ'\Ð'\À7Ç;Â;ÈwÐXZÑC[ÔC[Ð'\Ñ'\Ô'\Ñ\Ô\×bÒbÑdÔd�HÝ)ÔKÈHÑUÔUð `Ø'+˜ØŸšð  "_ÐVZÐ[\ÔV]ð  "_ð  "_ÐaeÐfgÔahð  "_ð  "_ð  "_ñ  `ô  `ð  `øøÝ ð ð ð Ø�Dðøøøð $ð .Ø—H’HÐxÈ4ÐPQÌ7ÐxÐxÐVZÐ[\ÔV]ÐxÐxÐrsÐtuÑruÐxÐxÐxÑyÔyÐyØ&¨Ð-Ð-Ð-Ð-Ø×9Ò9¸'ÐZ^Ð9Ñ_Ô_ˆGØð 1Ø—’ð  QÐ]dÐefÔ]gð  Qð  QÐkrÐstÔkuð  Qð  Qð  KLð  MNñ  KNð  Qð  Qð  Qñ  Rô  Rð  RØ&¨Ð0Ð0Ð0Ð0Ø×2Ò2°7ÐSWÐ2ÑXÔXˆEØð 1Ø—’ð  JÐZ_Ð`aÔZbð  Jð  JÐfkÐlmÔfnð  Jð  Jð  DEð  FGñ  DGð  Jð  Jð  Jñ  Kô  Kð  KØ(¨%Ð0Ð0Ð0Ð0ñ1ð ˆts   ÄB-F0Æ0
F=Æ<F=r]   Úscanc                 óL  — | j         rGt          j        j                             | j         ¦  «        rt          j        | j         ||d|¬¦  «        S | j        s-t          j        | j         ¦  «        s|  	                    ¦   «          t          j
        |||| j        | j         ¬¦  «        S )Nrì   )Ú	scan_codeÚdwell_msrZ   )r¡  rZ   rG   ru   )ru   r’   r•   r–   rî   rï   Úpost_message_keyrG   rð   ró   r\   )r^   r]   r¡  rZ   s       r_   r\   z&AutonomousMappingCoordinator.press_key&  s¦   € ØŒ9ð 	�œÔ-×6Ò6°t´yÑAÔAð 	ÝÔ*Ø”	˜2¨¸È+ðñ ô ð ð Ô ð 	 ­Ô)FÀtÄyÑ)QÔ)Qð 	 Ø×ÒÑÔÐÝÔ ¨¸;ÐUYÔUfÐmqÔmvÐwÑwÔwÐwra   c                 ó²  ‡— | j         rdS |                      ¦   «          |                      dd¬¦  «        }|rŠt          j                             |¦  «        rkt          j        |¦  «        rW|                      d¦  «         |  	                    t          | j        dz  ¦  «        t          | j        dz  ¦  «        d¬	¦  «         |rbt          j                             |¦  «        rCt          j        |¦  «        r/|                      d
¦  «         d}|                      |dd¬	¦  «         |�r¦t          j                             |¦  «        �r†	 ddlm}  |j        |¦  «        }t          j        |¦  «        }d                     d„ |                     dg ¦  «        D ¦   «         ¦  «                             ¦   «         Št-          ˆfd„dD ¦   «         ¦  «        �r¦|                      d¦  «         d}|                     dg ¦  «        D �]}d|                     dd¦  «                             ¦   «         v ræ|                     dg ¦  «        }|rÎ|d                              di ¦  «        }	t          |	                     dd¦  «        |	                     dd¦  «        dz  z   ¦  «        }
t          |	                     dd¦  «        |	                     dd¦  «        dz  z   ¦  «        }|                      d |
› d!|› d"�¦  «         |  	                    |
|d¬	¦  «         d#} n�Œ|sbt          | j        d$z  ¦  «        }
t          | j        d%z  ¦  «        }|                      d&|
› d!|› d'�¦  «         |  	                    |
|d¬	¦  «         t-          ˆfd(„d)D ¦   «         ¦  «        �r|                      d*¦  «         |                      ddd+¬	¦  «         |                      d,d-d¬	¦  «         t          t/          | j        d.z  ¦  «        ¦  «        }t          t/          | j        d/z  ¦  «        ¦  «        }|  	                    ||d¬	¦  «         | j                             d0d¦  «        \  }}|  	                    ||d+¬	¦  «         |                      d,d-d+¬	¦  «         |                      d1¦  «         n/# t4          $ r"}|                      d2|› �¦  «         Y d}~nd}~ww xY wd3}|                      |d4d5¬	¦  «         | j        d6k    rŒt          d7| j        z  ¦  «        }t          d8| j        z  ¦  «        }|  	                    ||d9¬	¦  «         t          d:| j        z  ¦  «        }t          d8| j        z  ¦  «        }|  	                    ||d9¬	¦  «         |                      t          | j        dz  ¦  «        t          | j        d9z  ¦  «        d;¬	¦  «         |                      d<¦  «         dS )=uf   Ä�Ã³ng má»�i modal dialog, menu hoáº·c báº£n Ä‘á»“ tá»“n Ä‘á»�ng trÆ°á»›c khi báº¯t Ä‘áº§u (Spacebar).NÚDISMISS_MODALS_CHECKF©rÝ   uS   âš ï¸� PhÃ¡t hiá»‡n Game Menu (RESUME GAME) tá»“n Ä‘á»�ng -> Click giáº£i phÃ³ng...rx  çq=
×£pÍ?rY  rY   u_   âš ï¸� PhÃ¡t hiá»‡n modal dialog / menu che trung tÃ¢m mÃ n hÃ¬nh -> Gá»­i ESC giáº£i phÃ³ng...é   rc   ry  r   r
   r…  c              3   óB   K  — | ]}|                      d d¦  «        V — ŒdS r‡  rˆ  r‰  s     r_   r  z>AutonomousMappingCoordinator.dismiss_modals.<locals>.<genexpr>F  s0   è è € Ð#XÐ#X¸! A§E¢E¨&°"Ñ$5Ô$5Ð#XÐ#XÐ#XÐ#XÐ#XÐ#Xra   r  c              3   ó    •K  — | ]}|‰v V — Œ	d S rg   r  ©r  ÚkÚblob_chks     €r_   r  z>AutonomousMappingCoordinator.dismiss_modals.<locals>.<genexpr>H  s'   øè è € ÐrÐr¨�q˜H�}ÐrÐrÐrÐrÐrÐrra   )ÚOPTIONSzDISPLAY SETTINGSzAUDIO SETTINGSzINPUT SETTINGSu<   âš ï¸� PhÃ¡t hiá»‡n menu Options / Settings tá»“n Ä‘á»�ng...ÚCLOSEr  râ   r  r  rj   r  ré   rk   r   u7   ðŸ”˜ PhÃ¡t hiá»‡n nÃºt CLOSE cá»§a menu Options táº¡i (rN  u   ) -> Click Ä‘Ã³ng...TçffffffÖ?g®Gáz®ç?u9   ðŸ”˜ Click fallback nÃºt CLOSE cá»§a menu Options táº¡i (rO  c              3   ó    •K  — | ]}|‰v V — Œ	d S rg   r  r­  s     €r_   r  z>AutonomousMappingCoordinator.dismiss_modals.<locals>.<genexpr>]  s'   øè è € ÐmÐm¨�q˜H�}ÐmÐmÐmÐmÐmÐmra   )úCANNOT DROPúDESTROY IT INSTEADÚKEEPzLOSE ALL GEMSuy   ðŸš¨ PhÃ¡t hiá»‡n popup 'YOU CANNOT DROP THAT ITEM HERE' tá»“n Ä‘á»�ng! Ä�ang giáº£i phÃ³ng con trá»� chuá»™t an toÃ n...rX   éI   é   ç¡g³êsµå?çV-²�×?é   ua   âœ… Ä�Ã£ tráº£ item dÃ­nh chuá»™t vÃ o Ã´ trang bá»‹/tÃºi Ä‘á»“ vÃ  giáº£i phÃ³ng popup an toÃ n.u   LÆ°u Ã½ xá»­ lÃ½ popup: é    é9   ra  é€  iZ  é,   rP  iâ	  rÍ   uP   Ä�Ã£ giáº£i phÃ³ng cÃ¡c modal/menu/panel tá»“n Ä‘á»�ng (SPACE + clear tooltips).)rG   ró   rå   rx   r   r€   rï   Úis_game_menu_visiblerˆ   rh   ri   r@   rA   Úis_center_modal_presentr\   rö   r   r÷   r!  rÃ   r"  r#  Úanyr.  r{   Úget_slot_centerrš   rƒ   r„   r8  )r^   Úpre_imgÚ	VK_ESCAPEr   Úchk_pilÚres_chkÚclicked_closerŠ  r  Úrr^  r_  Úglove_cxÚglove_cyÚempty_cxÚempty_cyr¼   ÚVK_SPACEÚx_btn_xÚx_btn_yÚx_inv_xÚx_inv_yr¯  s                         @r_   Údismiss_modalsz+AutonomousMappingCoordinator.dismiss_modals/  s  ø€ àÔð 	ØˆFØ×ÒÑÔÐØ×#Ò#Ð$:ÈÐ#ÑNÔNˆàð 	^•r”w—~’~ gÑ.Ô.ð 	^µ6Ô3NÈwÑ3WÔ3Wð 	^Ø�HŠHÐjÑkÔkÐkØ�JŠJ•s˜4œ=¨4Ñ/Ñ0Ô0µ#°d´mÀdÑ6JÑ2KÔ2KÐY\ˆJÑ]Ô]Ð]ð ð 	>•r”w—~’~ gÑ.Ô.ð 	>µ6Ô3QÐRYÑ3ZÔ3Zð 	>Ø�HŠHÐvÑwÔwÐwØˆIØ�NŠN˜9 d¸ˆNÑ=Ô=Ð=ð ñ *	9•r”w—~’~ gÑ.Ô.ñ *	9ð)9Ø%Ð%Ð%Ð%Ð%Ð%Ø$˜%œ* WÑ-Ô-�Ý Ô8¸ÑAÔA�ØŸ8š8Ð#XÐ#X¸w¿{º{È7ÐTVÑ?WÔ?WÐ#XÑ#XÔ#XÑXÔX×^Ò^Ñ`Ô`�åÐrÐrÐrÐrÐ.qÐrÑrÔrÑrÔrñ <Ø—H’HÐ[Ñ\Ô\Ð\Ø$)�MØ$Ÿ[š[¨°"Ñ5Ô5ð 
&ñ 
&˜Ø" a§e¢e¨F°BÑ&7Ô&7×&=Ò&=Ñ&?Ô&?Ð?Ð?Ø$%§E¢E¨'°2Ñ$6Ô$6˜EØ$ð &Ø$)¨!¤H§L¢L°À"Ñ$EÔ$E Ý%(¨¯ª¨s°A©¬¸¿º¸wÈÑ9JÔ9JÈQÑ9NÑ)NÑ%OÔ%O Ý%(¨¯ª¨s°A©¬¸¿º¸xÈÑ9KÔ9KÈaÑ9OÑ)OÑ%PÔ%P Ø $§¢ð  *BÐceð  *Bð  *BÐikð  *Bð  *Bð  *Bñ  !Cô  !Cð  !CØ $§
¢
¨2¨r¸s 
Ñ CÔ CÐ CØ04 Ø % ùØ(ð <Ý  ¤°Ñ!5Ñ6Ô6˜Ý  ¤°Ñ!5Ñ6Ô6˜ØŸšÐ!kÐ]_Ð!kÐ!kÐceÐ!kÐ!kÐ!kÑlÔlÐlØŸ
š
 2 r°s˜
Ñ;Ô;Ð;õ ÐmÐmÐmÐmÐ.lÐmÑmÔmÑmÔmñ BØ—H’Hð  Yñ  Zô  Zð  ZØ—N’N 4¨¸3�NÑ?Ô?Ð?Ø—N’N 4¨¸3�NÑ?Ô?Ð?å"¥5¨¬¸Ñ)?Ñ#@Ô#@ÑAÔA�HÝ"¥5¨¬¸Ñ)?Ñ#@Ô#@ÑAÔA�HØ—J’J˜x¨¸s�JÑCÔCÐCà)-¬×)EÒ)EÀaÈÑ)KÔ)KÑ&�H˜hØ—J’J˜x¨¸s�JÑCÔCÐCØ—N’N 4¨¸3�NÑ?Ô?Ð?Ø—H’Hð  Añ  Bô  Bð  BøøÝð 9ð 9ð 9Ø—’Ð7°AÐ7Ð7Ñ8Ô8Ð8Ð8Ð8Ð8Ð8Ð8øøøøð9øøøð ˆØ�Š�x °3ˆÑ7Ô7Ð7àŒ=˜DÒ Ð Ý˜$ ¤Ñ-Ñ.Ô.ˆGÝ˜"˜tœ|Ñ+Ñ,Ô,ˆGØ�JŠJ�w °TˆJÑ:Ô:Ð:Ý˜$ ¤Ñ-Ñ.Ô.ˆGÝ˜"˜tœ|Ñ+Ñ,Ô,ˆGØ�JŠJ�w °TˆJÑ:Ô:Ð:à�
Š
•3�t”} sÑ*Ñ+Ô+­S°´ÀÑ1EÑ-FÔ-FÐTWˆ
ÑXÔXÐXØ�ŠÐcÑdÔdÐdÐdÐds   Å
MR  Ò 
SÒ*SÓSc                 óä   — |                       d¦  «        }|rXt          j                             |¦  «        r9	 t	          j        |¦  «                             d¦  «        S # t          $ r Y dS w xY wdS )ue   Chá»¥p áº£nh mÃ n hÃ¬nh hiá»‡n táº¡i dÆ°á»›i dáº¡ng PIL Image Ä‘á»ƒ cung cáº¥p cho StashOrchestrator.ÚSTASH_CAPTURE_TEMPÚRGBN)rå   rx   r   r€   r   r÷   Úconvertrš   )r^   r   s     r_   r†   z0AutonomousMappingCoordinator._capture_screen_pil{  s}   € à× Ò Ð!5Ñ6Ô6ˆØð 	•B”G—N’N 4Ñ(Ô(ð 	ðÝ”z $Ñ'Ô'×/Ò/°Ñ6Ô6Ð6øÝð ð ð Ø�t�tðøøøàˆts   ¸&A Á
A-Á,A-Úinspect_items_liveÚis_post_mapc                 ó<   — | j                              | ||¬¦  «        S )uù   
        Stage 0: Tá»± Ä‘á»™ng tiáº¿p cáº­n Stash táº¡i Hideout, cáº¥t Ä‘á»“ vÃ o hÃ²m vÃ  rÃºt Waystone T15 bá»• sung (Doc 63).
        á»¦y nhiá»‡m qua Stage0StashHandler tuÃ¢n thá»§ Rule 4 (Anti-Monolithic) & INV-FOCUS-SAFETY-SEPARATION.
        )ÚcoordinatorrØ  rÙ  )r‰   Úexecute)r^   rØ  rÙ  s      r_   Úexecute_stage0_stash_routinez9AutonomousMappingCoordinator.execute_stage0_stash_routine…  s-   € ð Ô"×*Ò*ØØ1Ø#ð +ñ 
ô 
ð 	
ra   Útarget_slot_idxÚenable_stashingÚenable_post_stashingÚallow_portal_bypassc                 óB   — | j                              | |||||¬¦  «        S )u  Váº­n hÃ nh 1 chu trÃ¬nh cÃ y map khÃ©p kÃ­n hoÃ n chá»‰nh (Doc 61 / Doc 69 / Doc 63):
        Stage 0 (Stash & T15 Restock) -> Stage 1-5 -> Stage 6 (Portal Return) -> Stage 0 (Post-Stash).
        á»¦y nhiá»‡m tinh gá»�n cho Stage0StashHandler (Rule 4 Anti-Monolithic).
        )rÛ  rÞ  rß  rà  rá  rØ  )r‰   Ú	run_cycle)r^   rÞ  rß  rà  rá  rØ  s         r_   rã  z&AutonomousMappingCoordinator.run_cycle”  s6   € ð Ô"×,Ò,ØØ+Ø+Ø!5Ø 3Ø1ð -ñ 
ô 
ð 	
ra   é˜:  ÚwalletÚmarket_pricesÚcurrent_goldc                 ó  — |                       d¦  «         |                      ¦   «          |pi }|pi }|sb	 ddlm}  |¦   «         }|                     d¬¦  «        }|r(d|v r$d„ |d                              ¦   «         D ¦   «         }n# t          $ r Y nw xY wd}	| j        r)| j                             ¦   «         }
|
r|
j	        r|
j	        }	| j
                             ||||	| j        ¬	¦  «        }|j        |j        |j        |j        |j        |j        |j        |j        d
œ}|j        dk    r:|                       d|j        › d|j        d›d|j        d›d|j        d›d�	¦  «         n(|                       d|j        › d|j        pd› d�¦  «         |S )u9  
        Stage 0D: Tá»± Ä‘á»™ng Ä‘á»•i tiá»�n tá»‡ qua SÃ n Faustus Currency Exchange (phÃ­m '/') (Doc 68 / Doc 69).
        Má»¥c tiÃªu: Tá»‘i Æ°u hÃ³a tÃ­ch lÅ©y Chaos, Divine vÃ  Mirror of Kalandra theo thÃ¡p tÃ i sáº£n.
        TuÃ¢n thá»§ INV-EXCHANGE-GOLD-TAX, INV-EXCHANGE-RESERVE-SAFE vÃ  Rule 7.
        uX   --- STAGE 0D: Tá»± Ä�á»™ng Giao Dá»‹ch Ngoáº¡i Há»‘i / Currency Exchange (PhÃ­m '/') ---r   )ÚMarketPriceFetcheri  )Úmax_age_secondsÚitemsc           	      ó\   — i | ])\  }}|t          |                     d d¦  «        ¦  «        “Œ*S )Úchaos_valueç        )Úfloatr"  )r  ÚnameÚinfos      r_   ú
<dictcomp>zYAutonomousMappingCoordinator.execute_stage0_currency_exchange_routine.<locals>.<dictcomp>À  sD   € ð #ð #ð #á&˜D $ð �e D§H¢H¨]¸CÑ$@Ô$@ÑAÔAð#ð #ð #ra   úShoreline Hideout)rå  Úmarket_prices_in_chaosrç  rÒ   rG   )ÚstatusÚorders_plannedÚorders_executedÚ
gold_spentÚchaos_convertedÚdivine_convertedÚmirror_convertedÚerrorÚSUCCESSu   âœ… Currency Exchange: u+    lá»‡nh thÃ nh cÃ´ng, biáº¿n Ä‘á»™ng rÃ²ng z+.1fz Chaos, z+dz	 Divine, z Mirror.u   â„¹ï¸� Currency Exchange: ú (u   KhÃ´ng cáº§n giao dá»‹chú))rˆ   ró   Ú.src.assistant_tool.pickit.market_price_fetcherré  Ú
load_cacherë  rš   r�   rÑ   rÒ   r‹   Úexecute_sessionrG   rõ  rö  r÷  rø  rù  rú  rû  rü  )r^   rå  ræ  rç  Úwallet_dataÚprices_dataré  ÚfetcherÚcachedÚcurrent_zonerÙ   ÚreportÚres_dicts                r_   Ú(execute_stage0_currency_exchange_routinezEAutonomousMappingCoordinator.execute_stage0_currency_exchange_routine©  si  € ð 	�ŠÐkÑlÔlÐlØ×ÒÑÔÐà�l ˆØ#Ð) rˆàð 	ð
Ø]Ð]Ð]Ð]Ð]Ð]Ø,Ð,Ñ.Ô.�Ø ×+Ò+¸DÐ+ÑAÔA�Øð ˜g¨Ð/Ð/ð#ð #à*0°¬/×*?Ò*?Ñ*AÔ*Að#ñ #ô #�Køøõ ð ð ð Ø�ðøøøð +ˆØÔð 	0ØÔ%×?Ò?ÑAÔAˆFØð 0˜&Ô*ð 0Ø%Ô/�àÔ+×;Ò;ØØ#.Ø%Ø"ØÔ*ð <ñ 
ô 
ˆð ”mØ$Ô3Ø%Ô5Ø Ô+Ø%Ô5Ø &Ô 7Ø &Ô 7Ø”\ð	
ð 	
ˆð Œ=˜IÒ%Ð%Ø�HŠHð  a¨vÔ/Eð  að  aÐrxô  sIð  að  að  að  X^ô  Xoð  að  að  að  }Cô  }Tð  að  að  að  añ  bô  bð  bð  bà�HŠHÐp°&´-ÐpÐpÀ6Ä<ÐCmÐSmÐpÐpÐpÑqÔqÐqàˆs   µAB Â
BÂBc                 ó  ‡*‡+‡,— ddddg d dddœ}|                       d¦  «         |                      ¦   «          |                      ¦   «         s|                       d¦  «         d	|d
<   |S |                      d¦  «        }d}|}|                      |¦  «        �sp|                      ¦   «          |                      |dd¬¦  «         |                      d¦  «        }|                      |¦  «        �st          j        d¦  «         |                      ¦   «          |                      ¦   «          |                      |dd¬¦  «         |                      d¦  «        }|                      |¦  «        sšt          j        d¦  «         |                      ¦   «          |                      ¦   «          |                      |dd¬¦  «         |                      d¦  «        }|                      |¦  «        s|                       d¦  «         d|d
<   |S n|}|                       d¦  «         	 t          t          | j        dz  ¦  «        ¦  «        }t          t          | j        dz  ¦  «        ¦  «        }ddlm} dd l}	 |j        |¦  «                             d¦  «        }
|	                     |
¦  «        }t'          d|dz
  ¦  «        t)          | j        |dz   ¦  «        }}t'          d|dz
  ¦  «        t)          | j        |dz   ¦  «        }}|||…||…f         }t          |	                     |d d …d d …df         dk    |d d …d d …df         |d d …d d …df         dz   k    z  |d d …d d …df         |d d …d d …d f         dz   k    z  ¦  «        ¦  «        }|d!k    r`|                       d"|› d#|› d$|› d%�¦  «         |                      ||d&¬¦  «         t          j        d'¦  «         |                      d(¦  «        }n/# t.          $ r"}|                       d)|› �¦  «         Y d }~nd }~ww xY w|r3t0          j                             |¦  «        rt7          j        |¦  «        rŽ|                       d*¦  «         |                      ¦   «          t          j        d¦  «         |                      d+¦  «        }|r3t0          j                             |¦  «        rt7          j        |¦  «        rd,|d
<   |S | j                             |¦  «        }|                     d
¦  «        r%d-|                     d
d¦  «        v r|d
         |d
<   |S |                     d.d¦  «        |d/<   |                     d0d¦  «        |d0<   |                       d1|d/         › d2|d0         › d3�¦  «         |d0         rš|                       d4¦  «         | j                              || j!        d5d¬6¦  «        }|                     d7d¦  «        |d8<   |d8         r|                       d9¦  «         n+|                       d:|                     d
¦  «        › �¦  «         | j         "                    |¦  «        }||d;<   d<„ Š*|                       d=tG          |¦  «        › d>ˆ*fd?„|D ¦   «         › �¦  «         |sÔ|                       d@¦  «         |                      |dd'¬¦  «         |  $                    ¦   «         }|                      |dd&¬¦  «         |                      dA¦  «        }| j         "                    |¦  «        }||d;<   |sdB|d
<   |                      |dd'¬¦  «         |S |                       dCtG          |¦  «        › dD�¦  «         h dE£Š+h dF£Š,| %                    ˆ*ˆ+ˆ,fdG„¬H¦  «         d }dI\  }}}}}tM          tG          |¦  «        ¦  «        D ]ó}||z   tG          |¦  «        z  }||         }  ‰*| ¦  «        \  }!}"}#}$}%tO          dJ|!› dK|"› d3�dtP          j)        |!|"¬L¦  «        }&| j*         +                    |&dMdN¬O¦  «        }'| j,        r|'tZ          j.        k    rN| }|!|"|#|$|%f\  }}}}}||dP<   |'j/        |dQ<   |                       dR|› dS|› dT|› d$|› dU|dV›dW|'j0        › d3�¦  «          n|                       dX|!› dS|"› dY�¦  «         Œô|s(| j,        rdZnd[|d
<   |                      |dd'¬¦  «         |S |                      ¦   «          |                      |dd\¬¦  «         tM          d]¦  «        D ]‡}(|                      d^¦  «        })|                      |)¦  «        s nZ|                       d_¦  «         |                      ¦   «          |                      |dd`¬¦  «         |                      dadbd`¬¦  «         Œˆdc|dd<   |S )eNÚFAILEDr   FÚUNKNOWNrâ   )rõ  Úoccupied_slotsÚis_fullÚhooded_one_triggeredÚwaystones_foundÚselected_slotÚcraft_actionrü  uD   --- STAGE 1: Kiá»ƒm Tra TÃºi Ä�á»“ & The Hooded One Identify All ---uI   âš ï¸� Háº¿t thá»�i gian chá»� Loading Screen táº¡i Stage 1. Fail-closed!Ú"TIMEOUT_WAITING_FOR_LOADING_SCREENrü  ÚSTAGE1_PRECHECK_STATEr·  r¸  çš™™™™™é?rY   ÚSTAGE1_INVENTORY_OPENrx  ÚSTAGE1_INVENTORY_OPEN_RETRYrQ   ÚSTAGE1_INVENTORY_OPEN_RETRY3uU   âš ï¸� KhÃ´ng thá»ƒ má»Ÿ báº£ng hÃ nh trang sau 3 láº§n thá»­ phÃ­m 'I'! Fail-closed.ÚINVENTORY_NOT_OPENuN   TÃºi Ä‘á»“ Ä‘Ã£ má»Ÿ sáºµn trÃªn mÃ n hÃ¬nh, tiáº¿n hÃ nh quÃ©t trá»±c tiáº¿p.r¹  rº  r
   rÖ  é(   rc   é   é   ré   rƒ  u:   ðŸ§¤ PhÃ¡t hiá»‡n Ã´ GÄƒng tay Ä‘ang cÃ³ viá»�n xanh lÃ¡ (u.    px)! Chuá»™t Ä‘ang giá»¯ gÄƒng tay -> Click (rN  u   ) Ä‘á»ƒ trang bá»‹ láº¡i...rY  rX   Ú#STAGE1_INVENTORY_AFTER_EQUIP_GLOVESu"   LÆ°u Ã½ kiá»ƒm tra Ã´ trang bá»‹: uv   âš ï¸� PhÃ¡t hiá»‡n frame cháº©n Ä‘oÃ¡n hoáº·c khÃ´ng thá»ƒ chá»¥p áº£nh! Phá»¥c há»“i focus vÃ  thá»­ chá»¥p láº¡i...ÚSTAGE1_INVENTORY_FALLBACK_RETRYz@Khong the chup anh mo tui do (Diagnostic Fallback). Fail-closed.Ú
DIAGNOSTICÚoccupied_countr  r  u   Tráº¡ng thÃ¡i tÃºi Ä‘á»“: u   /60 Ã´ occupied (is_full=rÿ  u[   âš ï¸� TÃºi Ä‘á»“ Ä‘áº§y (>= 48 Ã´)! KÃ­ch hoáº¡t The Hooded One Identify All (Opcode 8)...ró  )rÒ   Úmonster_countÚ	triggeredr  u:   ðŸ§™ Ä�Ã£ phÃ¡t lá»‡nh Opcode 8 Identify All thÃ nh cÃ´ng.u   LÆ°u Ã½ Identify All: r  c           
      óŽ  — t          | t          ¦  «        r@| d         | d         | d         | d         t          |                      dd¦  «        ¦  «        fS t	          | ¦  «        dk    r2| d         | d	         | d
         | d         t          | d         ¦  «        fS | d         d| d	         | d
         t          | d         ¦  «        fS )NÚcolÚrowr|  r}  Úavg_rgbrî  é   r   rc   ré   rr   rë   )Ú
isinstanceÚdictrï  r"  rÄ   )rû   s    r_   Ú
_unpack_wszHAutonomousMappingCoordinator.execute_stage1_precheck.<locals>._unpack_wsL  s®   € Ý˜!�TÑ"Ô"ð 8Ø˜”x  5¤¨1¨Z¬=¸!¸J¼-ÍÈqÏuÊuÐU^Ð`cÑOdÔOdÑIeÔIeÐeÐeÝ�Q‘”˜1’�Ø˜”t˜Q˜qœT 1 Q¤4¨¨1¬­u°Q°q´T©{¬{Ð:Ð:à˜”t˜Q  !¤ a¨¤d­E°!°A´$©K¬KÐ7Ð7ra   u   TÃ¬m tháº¥y u0    Waystones trong toÃ n bá»™ tÃºi Ä‘á»“ (60 Ã´): c           	      ó�   •— g | ]B} ‰|¦  «        d           ‰|¦  «        d         t           ‰|¦  «        d         d¦  «        f‘ŒCS )r   rc   rë   )r.  )r  rû   r+  s     €r_   ú
<listcomp>zHAutonomousMappingCoordinator.execute_stage1_precheck.<locals>.<listcomp>V  sR   ø€ ÐdÐdÐdÐUV��˜A‘”˜qÔ! : :¨a¡=¤=°Ô#3µU¸:¸:Àa¹=¼=ÈÔ;KÈQÑ5OÔ5OÐPÐdÐdÐdra   u|   âš ï¸� KhÃ´ng tÃ¬m tháº¥y Waystone trong tÃºi Ä‘á»“! KÃ­ch hoáº¡t Auto-Restock tá»« HÃ²m Ä‘á»“ (INV-WAYSTONE-RESTOCK-MIN)...ÚSTAGE1_INVENTORY_RESTOCKEDzaKhong tim thay Waystone nao trong toan bo tui do (60 o) sau khi da thu rut tu Stash! Fail-closed.u0   âœ… Auto-Restock thÃ nh cÃ´ng: Ä�Ã£ tÃ¬m tháº¥y u    Waystones trong tÃºi Ä‘á»“.>   ©rr   rc   ©rë   r   ©r(  r   ©é	   r   >   ©r   rc   ©r   ré   ©r   rr   ©r3  ré   ©é
   rë   ©é   ré   c                 ó    •—  ‰| ¦  «        d          ‰| ¦  «        d         f‰v rdn' ‰| ¦  «        d          ‰| ¦  «        d         f‰v rdndS )Nr   rc   ré   r  )rû   r+  Úknown_tabletsÚknown_waystoness    €€€r_   r`   zFAutonomousMappingCoordinator.execute_stage1_precheck.<locals>.<lambda>m  sg   ø€ Ø �j ‘m”m AÔ&¨
¨
°1©¬°aÔ(8Ð9¸_ÐLÐL��Ø&˜J q™MœM¨!Ô,¨j¨j¸©m¬m¸AÔ.>Ð?À=ÐPÐP�a�aÐVWð ra   ©Úkey)r   r   r   r   rî  zTier XV Waystone (Col z, Row )rð  ÚtierÚrarityÚinventory_colÚinventory_rowre  T)ÚwaystoneÚalchemy_countÚis_in_safe_arear  r  u%   ðŸŽ¯ Chá»�n Waystone táº¡i Ã” [Cá»™t õ   , HÃ ng u   ] (tá»�a Ä‘á»™: z
, AvgRGB: ú.1fz
, Action: u   âš ï¸� Ã” [Cá»™t u1   ] dÃ­nh Brick Mod! Ä�ang tÃ¬m viÃªn thay tháº¿...uI   ToÃ n bá»™ Waystone trong tÃºi Ä‘á»“ Ä‘á»�u dÃ­nh Brick Mod! Fail-closed.u8   KhÃ´ng tÃ¬m tháº¥y Waystone há»£p lá»‡ trong tÃºi Ä‘á»“!r²  rr   ÚSTAGE1_INVENTORY_CLOSED_CHECKui   âš ï¸� HÃ nh trang váº«n má»Ÿ sau khi báº¥m 'I' -> Nháº¥n phÃ­m 'I' / Space Ä‘á»ƒ Ä‘Ã³ng dá»©t Ä‘iá»ƒm...ry  r¼  r½  rý  rõ  )1rˆ   ró   Ú!wait_for_loading_screen_to_finishrå   rõ   r\   rÎ   rÓ   rÓ  ri   r.  r@   rA   rö   r   Únumpyr÷   r×  Úarrayr�   r$  rù   rh   rš   rx   r   r€   r   Úis_diagnostic_capture_filer{   Úscan_full_inventoryr"  Ú%check_and_trigger_hooded_one_identifyr}   Úscan_all_waystonesrÄ   rÝ  Úsortrú   r   r   ÚRAREr|   Úevaluate_craft_actionrI   r   ÚSKIP_DANGEROUSr™   rð  )-r^   rÞ  ÚresultrÄ  ÚVK_IÚimg_invrÊ  rË  r   ÚnpÚchk_imgÚarr_invÚx1Úx2Úy1Úy2Úg_cropÚ	green_cntÚe_eqÚinv_dataÚidentify_resÚ	waystonesÚ
s0_restockÚimg_restockedÚ	chosen_wsÚsel_colÚsel_rowÚsel_cxÚsel_cyÚsel_rgbÚoffsetÚcand_idxÚcand_wsÚcand_colÚcand_rowÚcand_cxÚcand_cyÚcand_rgbÚwaystone_itemÚ	craft_actrÉ   Úpost_imgr+  r=  r>  s-                                             @@@r_   Úexecute_stage1_precheckz4AutonomousMappingCoordinator.execute_stage1_precheckæ  s  øøø€ àØØØ$)Ø!Ø!Ø%Øð	
ð 	
ˆð 	�ŠÐWÑXÔXÐXØ×ÒÑÔÐð ×5Ò5Ñ7Ô7ð 	Ø�HŠHÐ`ÑaÔaÐaØBˆF�7‰OØˆMð ×#Ò#Ð$;Ñ<Ô<ˆØˆØˆØ×%Ò% gÑ.Ô.ñ 	gØ×ÒÑÔÐØ�NŠN˜4 °3ˆNÑ7Ô7Ð7Ø×'Ò'Ð(?Ñ@Ô@ˆGØ×)Ò)¨'Ñ2Ô2ñ &Ý”
˜3‘”�Ø×#Ò#Ñ%Ô%Ð%Ø×!Ò!Ñ#Ô#Ð#Ø—’˜t T°s�Ñ;Ô;Ð;Ø×+Ò+Ð,IÑJÔJ�Ø×-Ò-¨gÑ6Ô6ð 	&Ý”J˜s‘O”O�OØ×'Ò'Ñ)Ô)Ð)Ø×%Ò%Ñ'Ô'Ð'Ø—N’N 4¨¸3�NÑ?Ô?Ð?Ø"×/Ò/Ð0NÑOÔO�GØ×1Ò1°'Ñ:Ô:ð &ØŸšÐ!xÑyÔyÐyØ*>˜˜w™Ø%˜øàˆGØ�HŠHÐeÑfÔfÐfð	BÝ�5 ¤°Ñ!7Ñ8Ô8Ñ9Ô9ˆHÝ�5 ¤°Ñ!7Ñ8Ô8Ñ9Ô9ˆHØ!Ð!Ð!Ð!Ð!Ð!ØÐÐÐØ �e”j Ñ)Ô)×1Ò1°%Ñ8Ô8ˆGØ—h’h˜wÑ'Ô'ˆGÝ˜˜H r™MÑ*Ô*­C°´¸xÈ"¹}Ñ,MÔ,M�ˆBÝ˜˜H r™MÑ*Ô*­C°´¸xÈ"¹}Ñ,MÔ,M�ˆBØ˜R ˜U B r E˜\Ô*ˆFÝ˜BŸFšF F¨1¨1¨1¨a¨a¨a°¨7¤O°bÒ$8¸VÀAÀAÀAÀqÀqÀqÈ!ÀG¼_ÈvÐVWÐVWÐVWÐYZÐYZÐYZÐ\]ÐV]ÌÐacÑOcÒ=cÑ#dÐhnÐopÐopÐopÐrsÐrsÐrsÐuvÐovÔhwð  {Að  BCð  BCð  BCð  EFð  EFð  EFð  HIð  BIô  {Jð  MOñ  {Oò  iOñ  $Pñ  Qô  Qñ  Rô  RˆIØ˜3ŠˆØ—’ð  AÐV_ð  Að  Að  PXð  Að  Að  \dð  Að  Að  Añ  Bô  Bð  BØ—
’
˜8 X¸3�
Ñ?Ô?Ð?Ý”
˜3‘”�Ø×+Ò+Ð,QÑRÔR�øøÝð 	Bð 	Bð 	BØ�HŠHÐ@¸$Ð@Ð@ÑAÔAÐAÐAÐAÐAÐAÐAøøøøð	Bøøøð ð 	�bœgŸnšn¨WÑ5Ô5ð 	½Ô9bÐcjÑ9kÔ9kð 	Ø�HŠHð  Nñ  Oô  Oð  OØ×ÒÑÔÐÝŒJ�s‰OŒOˆOØ×'Ò'Ð(IÑJÔJˆGØð ¥"¤'§.¢.°Ñ"9Ô"9ð ½^Ô=fÐgnÑ=oÔ=oð Ø"d��w‘Ø�à”<×3Ò3°GÑ<Ô<ˆØ�<Š<˜Ñ Ô ð 	 \°X·\²\À'È2Ñ5NÔ5NÐ%NÐ%NØ& wÔ/ˆF�7‰OØˆMØ#+§<¢<Ð0@À!Ñ#DÔ#DˆÐÑ Ø$ŸLšL¨°EÑ:Ô:ˆˆyÑØ�ŠÐu¨fÐ5EÔ.FÐuÐuÐagÐhqÔarÐuÐuÐuÑvÔvÐvà�)Ôð 	OØ�HŠHÐrÑsÔsÐsØœ<×MÒMØØ”Ø-Øð	 Nñ ô ˆLð .:×-=Ò-=¸kÈ5Ñ-QÔ-QˆFÐ)Ñ*ØÐ,Ô-ð OØ—’ÐUÑVÔVÐVÐVà—’ÐM°,×2BÒ2BÀ7Ñ2KÔ2KÐMÐMÑNÔNÐNà”L×3Ò3°GÑ<Ô<ˆ	Ø$-ˆÐ Ñ!ð	8ð 	8ð 	8ð 	�Šðg�3˜y™>œ>ð gð gØdÐdÐdÐdÐZcÐdÑdÔdðgð gñ	
ô 	
ð 	
ð
 ð 	vØ�HŠHð  Tñ  Uô  Uð  UØ�NŠN˜4 °3ˆNÑ7Ô7Ð7à×:Ò:Ñ<Ô<ˆJà�NŠN˜4 °3ˆNÑ7Ô7Ð7Ø ×-Ò-Ð.JÑKÔKˆMØœ×7Ò7¸ÑFÔFˆIØ(1ˆFÐ$Ñ%Øð ð #F��w‘Ø—’˜t T°s�Ñ;Ô;Ð;Ø�Ø�HŠHÐtÍÈIÉÌÐtÐtÐtÑuÔuÐuð 9Ð8Ð8ˆØLÐLÐLˆØ�Šðð ð ð ð ð ð 	ñ 	
ô 	
ð 	
ð ˆ	Ø4CÑ1ˆ�˜& &¨'Ý�C 	™NœNÑ+Ô+ð 	|ð 	|ˆFØ'¨&Ñ0µC¸	±N´NÑBˆHØ Ô)ˆGØ=G¸ZÈÑ=PÔ=PÑ:ˆH�h ¨°(å(ØI¨hÐIÐI¸hÐIÐIÐIØÝ%Ô*Ø&Ø&ðñ ô ˆMð œ×:Ò:Ø&Ø Ø $ð ;ñ ô ˆIð
 Ô&ð |¨)µ{Ô7QÒ*QÐ*QØ#�	Ø<DÀhÐPWÐY`ÐbjÐ<jÑ9�˜ &¨&°'Ø*3��Ñ'Ø)2¬��~Ñ&Ø—’ð  pÀð  pð  pÐRYð  pð  pÐkqð  pð  pÐu{ð  pð  pð  HOð  pð  pð  pð  _hô  _mð  pð  pð  pñ  qô  qð  qØ�à—’Ðz¨XÐzÐz¸xÐzÐzÐzÑ{Ô{Ð{Ð{àð 	Ømqô  nAð  AÐiÐið  GAˆF�7‰OØ�NŠN˜4 °3ˆNÑ7Ô7Ð7ØˆMà×ÒÑÔÐØ�Š�t˜T¨tˆÑ4Ô4Ð4å�q‘”ð 	9ð 	9ˆAØ×(Ò(Ð)HÑIÔIˆHØ×)Ò)¨(Ñ3Ô3ð Ø�Ø�HŠHð  Añ  Bô  Bð  BØ×ÒÑÔÐØ�NŠN˜4 °4ˆNÑ8Ô8Ð8Ø�NŠN˜4 °4ˆNÑ8Ô8Ð8Ð8Ø$ˆˆxÑØˆs   ÈGO/ Ï/
PÏ9PÐPrë   Úzoom_inÚ
step_delayc                 óX  — |rdnd}| j         rùt          j        j                             | j         ¦  «        rÐd}|rdnd}|dz  dz  }t          | j        dz  ¦  «        t          | j        dz  ¦  «        }	}|	d	z  dz  |d	z  z  }
|                      d
|› d|› d�¦  «         t          |¦  «        D ]B}t          j        j         
                    | j         |||
¦  «         t          j        |¦  «         ŒCt          j        d¦  «         dS | j        s|                      ¦   «          t          j        j        }d}|rdnd}|                      d
|› d|› d�¦  «         t          |¦  «        D ]/}|                     |dd|d¦  «         t          j        |¦  «         Œ0t          j        d¦  «         dS )uF  
        [INV-NAV-TERRAIN-COMMERCIAL]
        CÆ¡ cháº¿ Dynamic Camera Zoom:
        - zoom_in=True: Cuá»™n con lÄƒn chuá»™t tiáº¿n (Wheel Up, delta > 0) phÃ³ng to diá»‡n tÃ­ch click cá»§a Map Device.
        - zoom_in=False: Cuá»™n con lÄƒn chuá»™t lÃ¹i (Wheel Down, delta < 0) phá»¥c há»“i gÃ³c nhÃ¬n máº·c Ä‘á»‹nh.
        zZoom-in (+Wheel)zZoom-out (-Wheel)i
  éx   iˆÿÿÿé   l   ÿÿ rx  iÿÿ  u   Thá»±c hiá»‡n Dynamic Camera u	    ngáº§m (u    bÆ°á»›c)...rP  Ni   rþ  r   )ru   r’   r•   r–   rî   ri   r@   rA   rˆ   rú   ÚPostMessageWrÎ   rÓ   rG   ró   rò   )r^   rz  rj  r{  ÚactionÚWM_MOUSEWHEELÚdeltaÚwParamr|  r}  ÚlParamrÉ   r–   ÚMOUSEEVENTF_WHEELs                 r_   Údynamic_camera_zoomz0AutonomousMappingCoordinator.dynamic_camera_zoom¤  sÝ  € ð (/ÐGÐ#Ð#Ð4GˆØŒ9ð 	�œÔ-×6Ò6°t´yÑAÔAð 	Ø"ˆMØ"Ð,�C�C¨ˆEØ˜r‘k ZÑ/ˆFÝ!$ T¤]°SÑ%8Ñ!9Ô!9½3¸t¼}ÈsÑ?RÑ;SÔ;S�hˆHØ &Ñ(¨RÑ/°H¸vÑ4EÑFˆFØ�HŠHÐY°VÐYÐYÀeÐYÐYÐYÑZÔZÐZÝ˜5‘\”\ð 'ð '�Ý”Ô$×1Ò1°$´)¸]ÈFÐTZÑ[Ô[Ð[Ý”
˜:Ñ&Ô&Ð&Ð&ÝŒJ�tÑÔÐØˆFàÔ ð 	 Ø×ÒÑÔÐÝ”Ô%ˆØ"ÐØÐ(�� DˆØ�ŠÐN°ÐNÐN¸5ÐNÐNÐNÑOÔOÐOÝ�u‘”ð 	#ð 	#ˆAØ×ÒÐ0°!°Q¸¸qÑAÔAÐAÝŒJ�zÑ"Ô"Ð"Ð"ÝŒ
�4ÑÔÐÐÐra   Ú	current_xÚ	current_yÚ
desired_dxÚ
desired_dyÚgoal_xÚgoal_yÚpreferred_handc                 ó  — ddl } |j        ||z  ||z  z   ¦  «        }	|	dk     rdS ||	z  }
||	z  }| |
f}||
 f}||z
  }||z
  } |j        ||z  ||z  z   ¦  «        }|dk    r||z  }||z  }n|
|}}|d         |z  |d         |z  z   }|d         |z  |d         |z  z   }|}|dk    r
||k    rdnd}|dk    r|n|}|d         dz  |
dz  z   }|d         dz  |dz  z   } |j        ||z  ||z  z   ¦  «        }|dk    r
||z  }||z  }|||fS )	ua  
        [INV-NAV-TERRAIN-COMMERCIAL]
        Thuáº­t toÃ¡n trÆ°á»£t tiáº¿p tuyáº¿n (Tangent Vector Sliding / Wall Following):
        Khi di chuyá»ƒn gáº·p váº­t cáº£n hoáº·c gá»� Ä‘Ã¡ (Delta XYZ xáº¥p xá»‰ 0):
        TÃ­nh toÃ¡n vector trÆ°á»£t tiáº¿p tuyáº¿n men theo bá»� váº­t cáº£n Ä‘á»ƒ Ä‘i vÃ²ng qua chÆ°á»›ng ngáº¡i váº­t mÆ°á»£t mÃ .
        r   Nçü©ñÒMbP?)rî  rî  r   rc   éÿÿÿÿg      è?ry  )ÚmathÚsqrt)r^   r‡  rˆ  r‰  rŠ  r‹  rŒ  r�  r‘  ÚlengthÚndxÚndyÚt_leftÚt_rightÚ	to_goal_xÚ	to_goal_yÚgoal_lenÚdot_leftÚ	dot_rightÚchosen_handÚchosen_tangentÚblend_xÚblend_yÚ	blend_lens                           r_   Úcompute_tangent_slidez2AutonomousMappingCoordinator.compute_tangent_slideÄ  s¯  € ð  	ˆˆˆØ�”˜:¨
Ñ2°ZÀ*Ñ5LÑLÑMÔMˆØ�EŠ>ˆ>Ø�;à˜6Ñ!ˆØ˜6Ñ!ˆð
 �$˜�ˆØ˜˜�+ˆà˜YÑ&ˆ	Ø˜YÑ&ˆ	Ø�4”9˜Y¨Ñ2°YÀÑ5JÑJÑKÔKˆØ�eÒÐØ˜Ñ!ˆIØ˜Ñ!ˆIˆIà#&¨�yˆIà˜!”9˜yÑ(¨6°!¬9°yÑ+@Ñ@ˆØ˜A”J Ñ*¨W°Q¬Z¸)Ñ-CÑCˆ	à$ˆØ˜!ÒÐØ'¨9Ò4Ð4˜!˜!¸"ˆKà#.°¢? ?˜˜¸ˆð ! Ô# dÑ*¨S°4©ZÑ7ˆØ  Ô# dÑ*¨S°4©ZÑ7ˆØ�D”I˜g¨Ñ/°'¸GÑ2CÑCÑDÔDˆ	Ø�uÒÐØ�yÑ ˆGØ�yÑ ˆGà˜ Ð,Ð,ra   c                 ó  — 	 | j                              ¦   «         }|j        rRt          |j        j        ¦  «        dk    st          |j        j        ¦  «        dk    r|j        j        |j        j        fS n# t          $ r Y nw xY wdS )um   Láº¥y tá»�a Ä‘á»™ thá»±c táº¿ thá»�i gian thá»±c (Dynamic XYZ) cá»§a nhÃ¢n váº­t tá»« Core IPC Shared Memory.r�  N)r}   Úread_telemetry_snapshotÚ	is_onlineÚabsÚplayerÚpos_xÚpos_yrš   ©r^   Úsnaps     r_   Úget_player_world_posz1AutonomousMappingCoordinator.get_player_world_posþ  sŽ   € ð	Ø”;×6Ò6Ñ8Ô8ˆDØŒ~ð >¥3 t¤{Ô'8Ñ#9Ô#9¸EÒ#AÐ#AÅSÈÌÔIZÑE[ÔE[Ð^cÒEcÐEcØœÔ)¨4¬;Ô+<Ð=Ð=øøÝð 	ð 	ð 	ØˆDð	øøøàˆts   ‚A1A5 Á5
BÂBc                 óô  — 	 | j                              ¦   «         }t          |d¦  «        r¼|j        rµ|j        D ]­}|                     d¦  «        dv r”|                     dd¦  «                             ¦   «         }d|v sd|v sd|v r`t          |                     d	d
¦  «        ¦  «        dk    s't          |                     dd
¦  «        ¦  «        dk    r|d	         |d         fc S Œ®n# t          $ r Y nw xY wdS )u  
        [INV-HIDEOUT-ENTITY-NAV-01]
        Truy váº¥n tá»�a Ä‘á»™ 3D thá»±c táº¿ cá»§a thá»±c thá»ƒ Map Device trong Hideout tá»« Core IPC Shared Memory.
        TUYá»†T Ä�á»�I Cáº¤M giáº£ Ä‘á»‹nh Map Device á»Ÿ gáº§n spawn hoáº·c báº¯t ngÆ°á»�i chÆ¡i di dá»�i Map Device!
        ÚentitiesÚtype)rr   rë   rð  râ   z
map deviceÚdeviceÚatlasr¨  rî  r�  r©  )g      s@g     `e@)r}   r¤  Úhasattrr®  r"  Úlowerr¦  rš   )r^   r«  Úentrð  s       r_   Úfind_map_device_world_posz6AutonomousMappingCoordinator.find_map_device_world_pos  s   € ð
	Ø”;×6Ò6Ñ8Ô8ˆDÝ�t˜ZÑ(Ô(ð D¨T¬]ð DØœ=ð Dð D�CØ—w’w˜v‘”¨&Ð0Ð0Ø"Ÿwšw v¨rÑ2Ô2×8Ò8Ñ:Ô:˜Ø'¨4Ð/Ð/°8¸tÐ3CÐ3CÀwÐRVÀÀÝ" 3§7¢7¨7°CÑ#8Ô#8Ñ9Ô9¸EÒAÐAÅSÈÏÊÐQXÐZ]ÑI^ÔI^ÑE_ÔE_ÐbgÒEgÐEgØ(+¨G¬°c¸'´lÐ'CÐ CÐ CÐ CøøøÝð 	ð 	ð 	ØˆDð	øøøàˆ~s   ‚C#C( Ã&C( Ã(
C5Ã4C5r{  r–  r—  r¤  c           	      ó  — | j         s‡| j        s-t          j        | j        ¦  «        s|                      ¦   «          | j        sLt          j        | j        ¦  «        s3t          dd¬¦  «         t          j        | j        | j        ¬¦  «         dS | j        s|                      ¦   «         nd}|r*| j	         
                    |d         |d         d	f¬
¦  «         t          t          j        |||| j        | j        ¬¦  «        ¦  «        }| j        s~|�||dk    rv|                      ¦   «         }|rE| j	                             |d         |d         d	f¬
¦  «        }|j        r|                      ¦   «          |                      |||dz  ¬¦  «         |S )u  
        Gá»­i lá»‡nh di chuyá»ƒn WASD tá»›i game client.
        
        Báº£o vá»‡ Focus Interlock: Kiá»ƒm tra nghiÃªm ngáº·t xem game cÃ³ Ä‘ang giá»¯ Foreground Focus
        hay khÃ´ng. Náº¿u cá»­a sá»• bá»‹ máº¥t focus, tá»± Ä‘á»™ng kÃ­ch hoáº¡t ensure_focus() phá»¥c há»“i.
        Náº¿u váº«n khÃ´ng cÃ³ focus (ngÆ°á»�i dÃ¹ng cá»‘ tÃ¬nh switch sang app khÃ¡c), tá»« chá»‘i bÆ¡m phÃ­m.
        
        TuÃ¢n thá»§ INV-MOTION-INTEGRITY: XÃ¡c thá»±c closed-loop nhÃ¢n váº­t thá»±c sá»± di chuyá»ƒn.
        um   [FocusInterlock] Cá»­a sá»• POE2 máº¥t focus! Tá»« chá»‘i gá»­i WASD Ä‘á»ƒ báº£o vá»‡ desktop ngÆ°á»�i dÃ¹ng.Tr¬   )rG   ru   FNr   rc   rî  )Úpos_xyz)r¤  rG   ru   rX   g     @�@©r¤  )rJ   rG   rï   rð   ru   ró   r°   Úemergency_release_wasd_keysr¬  r¡   Úsample_pre_mover3  Úsend_wasd_directionÚsample_post_moveÚ
is_stalledÚ trigger_hardware_motion_fallbackÚverify_motion_integrity)r^   r–  r—  r¤  Ú
pos_beforer%  Ú	pos_afterÚ
motion_ress           r_   r»  z0AutonomousMappingCoordinator.send_wasd_direction  sÊ  € ð Ôð 	ØÔ$ð $­VÔ-JÈ4Ì9Ñ-UÔ-Uð $Ø×!Ò!Ñ#Ô#Ð#ØÔ$ð ­VÔ-JÈ4Ì9Ñ-UÔ-Uð Ýð  Fð  NRð  Sñ  Sô  Sð  SÝÔ2ÀÔ@QÐX\ÔXaÐbÑbÔbÐbØ�uà8<Ô8IÐS�T×.Ò.Ñ0Ô0Ð0Ètˆ
Øð 	^ØÔ ×0Ò0¸*ÀQ¼-ÈÐTUÌÐX[Ð9\Ð0Ñ]Ô]Ð]å•6Ô-¨b°"¸xÐVZÔVgÐnrÔnwÐxÑxÔxÑyÔyˆàÔ ð 	\ ZÐ%;ÀÈDÒ@PÐ@PØ×1Ò1Ñ3Ô3ˆIØð <Ø!Ô1×BÒBÈIÐVWÌLÐZcÐdeÔZfÐhkÐKlÐBÑmÔm�
ØÔ(ð <Ø×9Ò9Ñ;Ô;Ð;Ø×(Ò(¨°YÈÐTZÑIZÐ(Ñ[Ô[Ð[àˆ
ra   rî  ç      |@rÀ  rÁ  Úoptical_delta_pxc           	      ó  — |�|€dS |d         |d         z
  }|d         |d         z
  }t          j        ||z  ||z  z   ¦  «        }|dk    s|dk    rdS |                      d|d›d	|d
›d|d›d�¦  «         |                      ¦   «          dS )u>  
        [INV-MOTION-INTEGRITY]
        XÃ¡c nháº­n chuyá»ƒn Ä‘á»™ng váº­t lÃ½ thá»±c táº¿:
        - Báº¯t buá»™c Delta XYZ > 0 HOáº¶C Delta Optical > 15px sau nhá»‹p WASD >= 300ms.
        - Tráº£ vá»� True náº¿u chuyá»ƒn Ä‘á»™ng há»£p lá»‡, False náº¿u phÃ¡t hiá»‡n nhÃ¢n váº­t bá»‹ tÃª liá»‡t (paralysis).
        NTr   rc   r�  g      .@ub   [INV-MOTION-INTEGRITY] ðŸš¨ VI PHáº M Báº¤T BIáº¾N: NhÃ¢n váº­t tÃª liá»‡t hoÃ n toÃ n! Delta XYZ=ú.2fzu, Delta Optical=rI  zpx sau ú.0fu%   ms. KÃ­ch hoáº¡t Hardware Fallback...F)r‘  r’  rˆ   r¾  )r^   rÀ  rÁ  rÄ  r¤  r–  r—  Ú	delta_xyzs           r_   r¿  z4AutonomousMappingCoordinator.verify_motion_integrity=  sØ   € ð Ð Ð!2Ø�4à�qŒ\˜J qœMÑ)ˆØ�qŒ\˜J qœMÑ)ˆÝ”I˜b 2™g¨¨R©Ñ/Ñ0Ô0ˆ	à�uÒÐÐ 0°4Ò 7Ð 7Ø�4à�Šð1Ø"Ðhð1ð 1Ø9IÐhð1ð 1ØV^Ðhð1ð 1ð 1ñ	
ô 	
ð 	
ð
 	×-Ò-Ñ/Ô/Ð/Øˆura   c                 óê   — 	 ddl m}  |j        ¦   «          | j        s%|                      ¦   «           |j        ¦   «          dS dS # t          $ r#}|                      d|› �¦  «         Y d}~dS d}~ww xY w)uD   KÃ­ch hoáº¡t Hardware Fallback giáº£i phÃ³ng tÃª liá»‡t nhÃ¢n váº­t.r   Nu4   [INV-MOTION-INTEGRITY] Lá»—i kÃ­ch hoáº¡t fallback: )Ú
src.commonrï   r¹  rG   ró   Úrelease_all_modifier_keysrš   rˆ   )r^   rï   r¼   s      r_   r¾  z=AutonomousMappingCoordinator.trigger_hardware_motion_fallback\  s»   € ð	QØ'Ð'Ð'Ð'Ð'Ð'Ø.ˆFÔ.Ñ0Ô0Ð0ØÔ$ð 3Ø×!Ò!Ñ#Ô#Ð#Ø0�Ô0Ñ2Ô2Ð2Ð2Ð2ð3ð 3øõ ð 	Qð 	Qð 	QØ�HŠHÐOÈAÐOÐOÑPÔPÐPÐPÐPÐPÐPÐPÐPøøøøð	Qøøøs   ‚?A Á
A2ÁA-Á-A2Údev_xÚdev_yÚply_xÚply_yÚis_zoomed_inc                 óF  — ddl }||z
  }||z
  } |j        ||z  ||z  z   ¦  «        }	| j        dz  }
| j        dz  }|	dk     rt	          |
¦  «        t	          |¦  «        fS ||	z  }||	z  }|rdnd}d| j        z  |z  }|
||z
  |	z  |z  dz  z   }|||z   |	z  |z  d	z  z
  }t          d
t          | j        d
z
  |¦  «        ¦  «        }t          d
t          | j        d
z
  |¦  «        ¦  «        }t	          t          |¦  «        ¦  «        t	          t          |¦  «        ¦  «        fS )u¦   
        [INV-NAV-TERRAIN-COMMERCIAL]
        Chiáº¿u tá»�a Ä‘á»™ 3D tá»« EntityMap qua WorldToScreen vá»›i bÃ¹ trá»« há»‡ sá»‘ phÃ³ng Ä‘áº¡i Camera Zoom-in.
        r   Nr¿   r�  gÍÌÌÌÌÌø?rQ   g      +@gà-� æ?r{  é2   )	r‘  r’  r@   rA   ri   r„   r�   r$  r.  )r^   rÌ  rÍ  rÎ  rÏ  rÐ  r‘  r–  r—  Údistr^  r_  r”  r•  Ú	zoom_multÚscaleÚproj_xÚproj_ys                     r_   Ú"project_map_device_world_to_screenz?AutonomousMappingCoordinator.project_map_device_world_to_screeng  sI  € ð 	ˆˆˆØ�U‰]ˆØ�U‰]ˆØˆtŒy˜˜b™ 2¨¡7Ñ*Ñ+Ô+ˆØŒ]˜SÑ ˆØŒ]˜SÑ ˆà�%Š<ˆ<Ý�r‘7”7�C ™GœGÐ#Ð#à�4‰iˆØ�4‰iˆð )Ð1�D�D¨cˆ	Ø�t”|Ñ# iÑ/ˆà�s˜S‘y DÑ(¨5Ñ0°6Ñ9Ñ9ˆØ�s˜S‘y DÑ(¨5Ñ0°6Ñ9Ñ9ˆå�R�˜Tœ]¨RÑ/°Ñ8Ô8Ñ9Ô9ˆÝ�R�˜Tœ]¨RÑ/°Ñ8Ô8Ñ9Ô9ˆÝ•5˜‘=”=Ñ!Ô!¥3¥u¨V¡}¤}Ñ#5Ô#5Ð5Ð5ra   ç      2@ç       @Útarget_xÚtarget_yÚinteract_radiusÚmax_duration_secc           	      ó  — ddl }t          j        ¦   «         }d}	||}}
|
|}}t          j        ¦   «         }t          j        ¦   «         |z
  |k     �r8|                      ¦   «         }|r|\  }
}||
z
  }||z
  } |j        ||z  ||z  z   ¦  «        }||k    r|                      d|d›d|› d�¦  «         dS t          j        ¦   «         }||z
  dk    rr |j        |
|z
  d	z  ||z
  d	z  z   ¦  «        }|d
k     rE|                      |
||||||	¦  «        \  }}}|}	|dz  |dz  }}|                      d|› d�¦  «         nd}	|
|}}|}|                      ||d¬¦  «         t          j        d¦  «         t          j        ¦   «         |z
  |k     �°8dS )uO  
        [INV-NAV-TERRAIN-COMMERCIAL] [INV-HIDEOUT-ENTITY-NAV-01]
        Di chuyá»ƒn tiáº¿p cáº­n má»¥c tiÃªu trong Hideout vá»›i thuáº­t toÃ¡n trÆ°á»£t tiáº¿p tuyáº¿n khi gáº·p váº­t cáº£n (Delta XYZ ~ 0).
        TUYá»†T Ä�á»�I Cáº¤M giáº£ Ä‘á»‹nh Map Device á»Ÿ gáº§n spawn hoáº·c báº¯t ngÆ°á»�i chÆ¡i di dá»�i Map Device!
        r   Nu8   ðŸŽ¯ Ä�Ã£ tiáº¿p cáº­n trong cá»± ly tÆ°Æ¡ng tÃ¡c (dist=rI  z <= ú)!Tr²  ré   rQ  g      >@uL   [INV-NAV-TERRAIN-COMMERCIAL] Delta XYZ ~ 0 -> TrÆ°á»£t tiáº¿p tuyáº¿n (hand=r¸  rì   F)r‘  rÎ   r¬  r’  rˆ   r¢  r»  rÓ   )r^   r‡  rˆ  rÛ  rÜ  rÝ  rÞ  r‘  Ú
start_timer�  Úcur_xÚcur_yÚlast_xÚlast_yÚlast_check_timeÚlive_posr–  r—  rÓ  r®   Ú	step_distÚslide_dxÚslide_dyÚhands                           r_   Ú%navigate_towards_with_tangent_slidingzBAutonomousMappingCoordinator.navigate_towards_with_tangent_sliding‹  sñ  € ð 	ˆˆˆÝ”Y‘[”[ˆ
ØˆØ  )ˆuˆØ �ˆÝœ)™+œ+ˆåŒi‰kŒk˜JÑ&Ð)9Ò9Ñ9à×0Ò0Ñ2Ô2ˆHØð (Ø'‘��uà˜EÑ!ˆBØ˜EÑ!ˆBØ�4”9˜R "™W r¨B¡wÑ.Ñ/Ô/ˆDØ�Ò&Ð&Ø—’ÐuÐTXÐuÐuÐuÐbqÐuÐuÐuÑvÔvÐvØ�tå”)‘+”+ˆCØ�_Ñ$¨Ò,Ð,Ø%˜DœI u¨v¡~¸!Ñ&;¸uÀv¹~ÐRSÑ>SÑ&SÑTÔT�	Ø˜s’?�?à/3×/IÒ/IØ˜u b¨"¨h¸À.ñ0ô 0Ñ,�H˜h¨ð &*�NØ%¨™_¨h¸©o˜�BØ—H’HÐtÐlpÐtÐtÐtÑuÔuÐuÐuà%&�NØ!&¨˜�Ø"%�à×$Ò$ R¨°dÐ$Ñ;Ô;Ð;ÝŒJ�tÑÔÐõ= Œi‰kŒk˜JÑ&Ð)9Ò9Ñ9ð@ ˆura   c                 óD   — t          j        || j        | j        ¬¦  «        S )ug   XÃ¡c Ä‘á»‹nh vá»‹ trÃ­ Map Device trong Hideout báº±ng WinOCR hoáº·c ngá»�n lá»­a (SSoT Common Kernel).r
  )rï   Úfind_map_device_screen_posrƒ   r„   r  s     r_   rî  z7AutonomousMappingCoordinator.find_map_device_screen_posÄ  s    € åÔ0°À4Ä<ÐY]ÔYeÐfÑfÔfÐfra   r  Úinventory_openr)  c                 óJ   — t          j        || j        | j        |||¬¦  «        S )uh   TÃ¬m kiáº¿m tá»�a Ä‘á»™ cá»§a Node kháº£ dá»¥ng (mÃ u xanh lÃ¡ cÃ¢y / reachable green node) trÃªn Atlas.)rƒ   r„   r  rï  r)  )rï   Úfind_reachable_green_noderƒ   r„   )r^   rä   r  rï  r)  s        r_   r“  z6AutonomousMappingCoordinator.find_reachable_atlas_nodeÈ  s4   € õ Ô/ØØ”LØ”LØ#9Ø)Øð
ñ 
ô 
ð 	
ra   c                 óF   — t          j        || j        | j        |¬¦  «        S )uv   TÃ¬m kiáº¿m tá»�a Ä‘á»™ cá»§a Node sÃ¡ng / Node Ä‘Ã£ má»Ÿ (Active / Glowing Node) trÃªn Atlas (Doc 56 / User Request).r  )rï   r’  rƒ   r„   )r^   rä   r  s      r_   r’  z;AutonomousMappingCoordinator.find_active_glowing_atlas_nodeÙ  s,   € åÔ4ØØ”LØ”LØ#9ð	
ñ 
ô 
ð 	
ra   c                 óD   — t          j        || j        | j        ¬¦  «        S )uh   XÃ¡c Ä‘á»‹nh vá»‹ trÃ­ Portal xoÃ¡y xanh/tráº¯ng chuyá»ƒn cáº£nh Map trong Hideout (SSoT Common Kernel).r
  )rï   Úfind_portal_screen_posrƒ   r„   r  s     r_   rô  z3AutonomousMappingCoordinator.find_portal_screen_posâ  s)   € åÔ,ØØ”LØ”Lð
ñ 
ô 
ð 	
ra   c                 ó®   — 	 | j                              ¦   «         }n# t          $ r Y dS w xY w|j        t          j        t          j        t          j        fv S )uJ   INV-FSM-SINGLE-OWNER: Core CharacterFSM Ä‘ang cháº¡y Approach/Open/Portal.F)r}   r¤  rš   Úlifecycle_stater   ÚHIDEOUT_MAP_DEVICE_APPROACHÚHIDEOUT_MAP_DEVICE_ACTIVATEÚHIDEOUT_ENTER_PORTALrª  s     r_   Ú_core_owns_map_device_loopz7AutonomousMappingCoordinator._core_owns_map_device_loopê  se   € ð	Ø”;×6Ò6Ñ8Ô8ˆDˆDøÝð 	ð 	ð 	Ø�5�5ð	øøøàÔ#Ý#Ô?Ý#Ô?Ý#Ô8ð(
ð 
ð 	
s   ‚ œ
*©*c                 óª  ‡‡— | j         rdS |                      d¦  «        }|rt          j                             |¦  «        sdS t          j        || j        | j        ¬¦  «        }|rl| j	        dz  | j
        dz  cŠŠ|                     ˆˆfd„¬¦  «         |D ]:\  }}}t          j        |¦  «        r|                      d|› d�¦  «         Œ4|||fc S dS )	uÄ  
        [INV-PORTAL-OPEN-BYPASS]
        Kiá»ƒm tra xem cÃ³ cá»•ng Portal báº£n Ä‘á»“ nÃ o Ä‘Ã£ má»Ÿ sáºµn trong Hideout hay khÃ´ng.
        Tráº£ vá»� (x, y, label) náº¿u cÃ³ cá»•ng Ä‘Ã£ má»Ÿ sáºµn (trÃ¡nh má»Ÿ láº¡i Map Device bá»‹ xung Ä‘á»™t).
        TuÃ¢n thá»§ INV-ATLAS-FARM-NODE (Doc 65): Cáº¥m tuyá»‡t Ä‘á»‘i sá»­ dá»¥ng láº¡i portal cá»§a
        cÃ¡c Special Boss Arenas (nhÆ° The Burning Monolith, The Well of Souls, Citadel...).
        NÚCHECK_ACTIVE_PORTAL_PREr
  r¿   c                 óR   •— t          j        | d         ‰z
  | d         ‰z
  ¦  «        S ©Nr   rc   ©r‘  Úhypot©ÚpÚcx_midÚcy_mids    €€r_   r`   zMAutonomousMappingCoordinator.check_active_portal_in_hideout.<locals>.<lambda>  s#   ø€ ­T¬Z¸¸!¼¸v¹ÀqÈÄtÈfÁ}Ñ-UÔ-U€ ra   r?  u;   âš ï¸� [INV-ATLAS-FARM-NODE] Cá»•ng Portal hiá»‡n cÃ³ lÃ  'u�   ' (Special Arena khÃ´ng pháº£i map cÃ y Level 100/Currency)! Bá»� qua portal nÃ y, khÃ´ng bypass, báº¯t buá»™c má»Ÿ Map Device náº¡p Waystone cÃ y thÆ°á»�ng.)rG   rå   rx   r   r€   rï   Úfind_portal_label_by_ocrrƒ   r„   r@   rA   rR  r   r‘  rˆ   )r^   rÄ  Úportal_labelsÚportal_xÚportal_yÚlabelr  r  s         @@r_   Úcheck_active_portal_in_hideoutz;AutonomousMappingCoordinator.check_active_portal_in_hideoutö  s%  øø€ ð Ôð 	Ø�4Ø×#Ò#Ð$=Ñ>Ô>ˆØð 	�bœgŸnšn¨WÑ5Ô5ð 	Ø�4ÝÔ7¸ÈÌÐ_cÔ_kÐlÑlÔlˆØð 
	3Ø!œ]¨SÑ0°$´-À#Ñ2EˆNˆF�FØ×ÒÐ#UÐ#UÐ#UÐ#UÐ#UÐÑVÔVÐVØ-:ð 3ð 3Ñ)�˜( EÝ%ÔGÈÑNÔNð Ø—H’Hð|ÐV[ð |ð |ð |ñô ð ð Ø  (¨EÐ2Ð2Ð2Ð2Øˆtra   c                 ó¸   — t          d| j        z  ¦  «        t          d| j        z  ¦  «        f}| j                             | j        | j        | j        |¬¦  «        S )uy   Ä�iá»�u hÆ°á»›ng tá»« Salvage Bench vá»� bá»‡ Ä‘Ã¡ Map Device theo hÃ nh lang an toÃ n 3 cháº·ng (SSoT HideoutNavigator).iJ  i×  )Úsend_wasd_funcrS   Úfind_map_device_funcÚfallback_pos)ri   rƒ   r„   rŠ   Ú#navigate_from_salvage_to_map_devicer»  rå   rî  )r^   r  s     r_   Ú+navigate_hideout_from_salvage_to_map_devicezHAutonomousMappingCoordinator.navigate_hideout_from_salvage_to_map_device  s`   € å˜D 4¤<Ñ/Ñ0Ô0µ#°c¸D¼LÑ6HÑ2IÔ2IÐJˆØÔ×CÒCØÔ3ØÔ*Ø!%Ô!@Ø%ð	 Dñ 
ô 
ð 	
ra   Úplayer_world_posÚdevice_world_posc           
      ó`   ‡L— ddddddœ}|                       d¦  «         |                      ¦   «         r!|                       d¦  «         d|d<   d	|d
<   |S |rA|                      ¦   «         }|r+|                       d|d         › d�¦  «         d|d<   d	|d<   |S |                      ¦   «          |                      ¦   «         s|                       d¦  «         d|d<   |S |                      ¦   «          |p|                      ¦   «         }|p|                      ¦   «         }|r­|r«|d         |d         z
  }|d         |d         z
  }	t          j	        ||	¦  «        }
|
dk    rn|                       d|
d›d�¦  «         |  
                    |d         |d         |d         |d         dd¬¦  «        }||d<   |s|                       d|
d›d�¦  «         	 |                      ¦   «          |                      ¦   «          |                      ¦   «          t          t          | j        dz  ¦  «        ¦  «        }t          t          | j        dz  ¦  «        ¦  «        }|                      ¦   «          |                      ||d¬ ¦  «         |                      d!¦  «        }t#          j        |¦  «        rl|                       d"¦  «         |                      t          | j        d#z  ¦  «        t          | j        d$z  ¦  «        d%¬ ¦  «         |                      d&¦  «        }t#          j        |¦  «        s�t          t          | j        d'z  ¦  «        ¦  «        }t          t          | j        d(z  ¦  «        ¦  «        }|                      ||d¬ ¦  «         |                      d)¦  «        }t#          j        |¦  «        r||}}|}|                      |¦  «        \  }}|}|}|}|}|}|}| j        d*k    }|r|                      d	¬+¦  «         d	|d,<   | j                             |¦  «        rA|                       d-¦  «         |                      ¦   «         \  }}|                      d.¦  «        }| j        d/z  | j        d/z  }}t5          ||z
  ¦  «        d0k    rt5          ||z
  ¦  «        d0k    p~t5          ||z
  ¦  «        d0k    ot5          ||z
  ¦  «        d0k    pRt5          ||z
  ¦  «        d0k    ot5          ||z
  ¦  «        d0k    p&t          j	        ||z
  ||z
  ¦  «        d1| j        z  k     }t#          j        |¦  «        }|r"|s |}|}|                       d2|› d3|› d4�¦  «         t          j	        ||z
  ||z
  ¦  «        }|d5| j        z  k    �r|                       d6|d7›d8�¦  «         |                       d9¦  «         |                      d:d:d;¬<¦  «         t;          j        d¦  «         |                       d=¦  «         |                      d>d:d?¬<¦  «         t;          j        d¦  «         t          | j        d@z  ¦  «        } t          | j        d(z  ¦  «        }!|                      | |!dA¬ ¦  «         |                      dB¦  «        }|                      |¦  «        \  }}t?          dC¦  «        D �]õ}"t          j	        ||z
  ||z
  ¦  «        }|d5| j        z  k    r |                       dD|d7›dE|"› dF�¦  «          �n«||z
  }#||z
  }$|#}%|$ }&|%|&z   }'|&|%z
  }(t          j	        |'|(¦  «        })|)dGk    r|'|)z  ndH}*|)dGk    r|(|)z  ndH}+tA          d/tC          d?|dIz  ¦  «        ¦  «        },|                       dJ|d7›dK|"dz   › dL|,dM›dN�¦  «         t          |||z
  d#z  z   ¦  «        }-t          |||z
  d#z  z   ¦  «        }.|                      |-|.dO¬ ¦  «         |                      |*|+|,¬<¦  «        }/|                       dP|"dz   › dQ|/› �¦  «         t;          j        dA¦  «         |                      dR|"dz   › �¦  «        }|                      |¦  «        \  }0}1t5          |0|z
  ¦  «        dSk    rt5          |1|z
  ¦  «        dSk    s+t          j	        |0|z
  |1|z
  ¦  «        dT| j        z  k    r|0|1}}�Œ÷|                      ||dA¬ ¦  «         |                      dU¦  «        }2t#          j        |2¦  «        rl|                       dV¦  «         |                      t          | j        d#z  ¦  «        t          | j        d$z  ¦  «        d%¬ ¦  «         |                      dW¦  «        }2|                      |2¦  «        \  }3}4t#          j        |2¦  «        r |3|4}}|                       dX|› d3|› dY�¦  «         |}5|}6|                       dZ|5› d3|6› d[�¦  «         |                      |5|6d\¬ ¦  «         d}7d]}8t?          d^¦  «        D ]ø}9t;          j        d_¦  «         |                      d`|9dz   › �¦  «        }8|  "                    |8¦  «        r d	}7|                       da|9dz   › db�¦  «          n“|r�t#          j#        |8| j$        | j        ¬c¦  «        }:|:rmdd„ |:D ¦   «         };|;r_|                       d|;d         d         › de�¦  «         d|d<   d	|d<   |c | %                    d,¦  «        r|                      d¬+¦  «         S S Œù|7�sü|8�rÄtL          j'         (                    |8¦  «        �r¤	 ddfl)m*}<  |<j+        |8¦  «        }=t#          j,        |=¦  «        }>dg -                    dh„ |> %                    dig ¦  «        D ¦   «         ¦  «         .                    ¦   «         ŠLt_          ˆLfdj„dkD ¦   «         ¦  «        �r|                       dl¦  «         |  0                    dmdd¬ ¦  «         |  0                    dndod#¬ ¦  «         t          t          | j        dpz  ¦  «        ¦  «        }?t          t          | j        dqz  ¦  «        ¦  «        }@|                      |?|@d%¬ ¦  «         | j1         2                    drd¦  «        \  }A}B|                      |A|Bd¬ ¦  «         |  0                    dndod¬ ¦  «         t;          j        d¦  «         n# tf          $ r Y nw xY w|                       ds¦  «         |                      |5|6d#¬ ¦  «         t?          d^¦  «        D ]ø}Ct;          j        d_¦  «         |                      dt|Cdz   › �¦  «        }D|  "                    |D¦  «        r d	}7|                       du|Cdz   › dv�¦  «          n“|r�t#          j#        |D| j$        | j        ¬c¦  «        }:|:rmdw„ |:D ¦   «         };|;r_|                       d|;d         d         › dx�¦  «         d|d<   d	|d<   |c | %                    d,¦  «        r|                      d¬+¦  «         S S Œù|7sþ|rµ|D}Et#          j#        |E| j$        | j        ¬c¦  «        }:|:r�dy„ |:D ¦   «         };|;r]|                       d|;d         d         › dx�¦  «         d|d<   d	|d<   || %                    d,¦  «        r|                      d¬+¦  «         S S |                       dz|:d         d         › d{�¦  «         |                      ¦   «          d||d<   || %                    d,¦  «        r|                      d¬+¦  «         S S | j4         5                    ¦   «          |                       d}¦  «         t          d~| j$        z  ¦  «        }Ft          d| j        z  ¦  «        }G|                      |F|GdA¬ ¦  «         d€tm          ¦   «         v r|Dr|Dn|8}H|  7                    |H¦  «        \  }I}J|                       d�|I› d3|J› d‚�¦  «         |                      |I|Jd/¬ ¦  «         |                      dƒ¦  «        }K|                       d„¦  «         d|d<   || %                    d,¦  «        r|                      d¬+¦  «         S S # | %                    d,¦  «        r|                      d¬+¦  «         w w xY w)…u2  
        Stage 2: Má»Ÿ giao diá»‡n Atlas (Map Device).
        TuÃ¢n thá»§ INV-NAV-TERRAIN-COMMERCIAL, INV-HIDEOUT-ENTITY-NAV-01,
        INV-WASD-NO-BLIND-LMB, INV-KEY-NO-U-FOR-MAP-DEVICE, INV-FSM-SINGLE-OWNER:
        - Náº¿u C++ CharacterFSM Ä‘Ã£ sá»Ÿ há»¯u vÃ²ng Map Device thÃ¬ Python bá»� qua Stage 2.
        - Tiáº¿p cáº­n báº±ng WASD + tangent sliding náº¿u dist > 18u.
        - Chá»‰ gá»­i phÃ­m F khi Ä‘Ã£ trong bÃ¡n kÃ­nh tÆ°Æ¡ng tÃ¡c (Cáº¤M LMB xuá»‘ng Ä‘áº¥t, Cáº¤M phÃ­m U).
        - Click tab ENDGAME trÃªn UI Atlas sau khi panel má»Ÿ.
        r  Frâ   )rõ  Ú
approachedÚzoom_appliedÚskipped_core_ownerrü  uL   --- STAGE 2: Má»Ÿ Giao Diá»‡n Atlas & Map Device Táº¡i Shoreline Hideout ---u\   INV-FSM-SINGLE-OWNER: Core C++ Ä‘ang sá»Ÿ há»¯u vÃ²ng Map Device -> Python bá»� qua Stage 2.rý  rõ  Tr  u-   ðŸŒ€ [INV-PORTAL-OPEN-BYPASS] Cá»•ng Portal 'ré   u9   ' Ä‘Ã£ má»Ÿ sáºµn táº¡i Map Device! Bá»� qua Stage 2 & 3.Úportal_already_openuI   âš ï¸� Háº¿t thá»�i gian chá»� Loading Screen táº¡i Stage 2. Fail-closed!r  rü  r   rc   rÙ  u   Map Device á»Ÿ xa (rI  u;   u > 18.0u) -> Tiáº¿p cáº­n báº±ng WASD & Tangent Sliding...rÚ  )rÝ  rÞ  r  u-   âš ï¸� WASD approach chÆ°a vÃ o <= 18u (cÃ²n uY   u). Chuyá»ƒn sang Route Ä‘iá»�u hÆ°á»›ng Shoreline Hideout & Nháº­n diá»‡n thá»‹ giÃ¡c...gìQ¸…ëÑ?g)\�Âõ(Ì?rX   rY   ÚSTAGE2_MAP_DEVICE_VIEWuU   âš ï¸� PhÃ¡t hiá»‡n Game Menu (RESUME GAME) Ä‘ang má»Ÿ -> Click giáº£i phÃ³ng menu...rx  r©  rY  Ú#STAGE2_MAP_DEVICE_VIEW_AFTER_RESUMEg{®GázÔ?ry  ÚSTAGE2_MAP_DEVICE_VIEW_ALTr¾  )rz  r  u\   âš ï¸� PhÃ¡t hiá»‡n á»Ÿ khu vá»±c Salvage Bench -> KÃ­ch hoáº¡t HideoutNavigator corridor...ÚSTAGE2_AFTER_CORRIDORr¿   r  én   u0   ðŸŽ¯ HÆ°á»›ng tá»›i bá»‡ Ä‘Ã¡ Map Device táº¡i (rN  uG   ) (loáº¡i trá»« tá»�a Ä‘á»™ chÃ¢n nhÃ¢n váº­t / fallback / Waypoint)...é´   u   NhÃ¢n váº­t á»Ÿ xa Map Device (rÇ  uN   px > 180px) -> Lá»™ trÃ¬nh 2 nhá»‹p chá»¯ L nÃ© NPC Ange & bá»‡ Ä‘Ã¡ Waypoint:uZ   Nhá»‹p 1: Giá»¯ phÃ­m W (Báº¯c) 1.3s thoÃ¡t bá»‡ Ä‘Ã¡ Waypoint vÃ  vÆ°á»£t qua NPC Ange...rQ   gÍÌÌÌÌÌô?r¸  uU   Nhá»‹p 2: Giá»¯ phÃ­m A (TÃ¢y) 1.2s Ã¡p sÃ¡t bá»‡ Ä‘Ã¡ Map Device tá»« phÃ­a Báº¯c...g      ð¿ç333333ó?r²  ra  Ú%STAGE2_MAP_DEVICE_VIEW_APPROACH_AVOIDrë   uD   ðŸŽ¯ Ä�Ã£ Ã¡p sÃ¡t bá»‡ Ä‘Ã¡ Map Device trong cá»± ly tÆ°Æ¡ng tÃ¡c (zpx <= 180px) sau #u	    bÆ°á»›c!r�  rî  g     @o@u   Map Device á»Ÿ cÃ¡ch tÃ¢m u   px -> BÆ°á»›c tiáº¿p cáº­n #z Single-Hold (rÆ  ús)...r5  u3   Tráº¡ng thÃ¡i phÃ­m di chuyá»ƒn WASD tiáº¿p cáº­n #z: Ú STAGE2_MAP_DEVICE_VIEW_APPROACH_r9  rÒ  ÚSTAGE2_MAP_DEVICE_HOVEREDuS   âš ï¸� PhÃ¡t hiá»‡n Game Menu trÆ°á»›c khi click Map Device -> Click RESUME GAME...Ú&STAGE2_MAP_DEVICE_HOVERED_AFTER_RESUMEu*   ðŸŽ¯ NhÃ£n MAP DEVICE xÃ¡c nháº­n táº¡i: (rÿ  u7   Vá»‹ trÃ­ Map Device tÆ°Æ¡ng tÃ¡c (Hitbox bá»‡ Ä‘Ã¡): (u)   ) -> Click LMB tÆ°Æ¡ng tÃ¡c má»Ÿ Atlas...ç      @Nr(  r  ÚSTAGE2_ATLAS_UI_PROBE_u>   ðŸŽ¯ Giao diá»‡n Atlas Ä‘Ã£ xÃ¡c nháº­n má»Ÿ thÃ nh cÃ´ng sau u    nhá»‹p probe!r
  c                 óF   — g | ]}t          j        |d          ¦  «        °|‘ŒS ©ré   ©r   r‘  ©r  r  s     r_   r-  zJAutonomousMappingCoordinator.execute_stage2_map_device.<locals>.<listcomp>ô  ó@   € ð )ð )ð )Ø"#Ý#5Ô#WÐXYÐZ[ÔX\Ñ#]Ô#]ð)Øð)ð )ð )ra   u#   ' Ä‘Ã£ má»Ÿ sáºµn táº¡i Map Device!r
   r…  c              3   óB   K  — | ]}|                      d d¦  «        V — ŒdS r‡  rˆ  r‰  s     r_   r  zIAutonomousMappingCoordinator.execute_stage2_map_device.<locals>.<genexpr>  s0   è è € Ð([Ð([¸q¨¯ª¨v°rÑ):Ô):Ð([Ð([Ð([Ð([Ð([Ð([ra   r  c              3   ó    •K  — | ]}|‰v V — Œ	d S rg   r  )r  r®  Úb_txts     €r_   r  zIAutonomousMappingCoordinator.execute_stage2_map_device.<locals>.<genexpr>  s'   øè è € ÐaÐa¨a˜q E˜zÐaÐaÐaÐaÐaÐara   )r´  rµ  r¶  u^   ðŸš¨ PhÃ¡t hiá»‡n popup 'CANNOT DROP' táº¡i Stage 2! Giáº£i phÃ³ng chuá»™t vÃ  Ä‘Ã³ng popup...rª  r·  r¸  r¹  rº  r»  uV   Map Device chÆ°a má»Ÿ sau láº§n click 1. Thá»­ click láº¡i trá»±c tiáº¿p lÃªn nhÃ£n...ÚSTAGE2_ATLAS_UI_PROBE_RETRY_uF   ðŸŽ¯ Giao diá»‡n Atlas xÃ¡c nháº­n má»Ÿ thÃ nh cÃ´ng sau láº§n retry #r‹  c                 óF   — g | ]}t          j        |d          ¦  «        °|‘ŒS r'  r(  r)  s     r_   r-  zJAutonomousMappingCoordinator.execute_stage2_map_device.<locals>.<listcomp>"  s@   € ð -ð -ð -Ø&'Ý'9Ô'[Ð\]Ð^_Ô\`Ñ'aÔ'að-Ø !ð-ð -ð -ra   u-   ' Ä‘Ã£ má»Ÿ sáºµn táº¡i Map Device (láº§n 2)!c                 óF   — g | ]}t          j        |d          ¦  «        °|‘ŒS r'  r(  r)  s     r_   r-  zJAutonomousMappingCoordinator.execute_stage2_map_device.<locals>.<listcomp>1  r*  ra   uA   âš ï¸� [INV-ATLAS-FARM-NODE] Cá»•ng Portal táº¡i Map Device lÃ  'u   ' (Special Arena)! Bá»� qua.z]Atlas UI not verified after LMB click (INV-MAPDEVICE-VERIFY-UI); refuse search/ENDGAME clicksuJ   âœ… Ä�Ã£ phÃ¡t lá»‡nh Opcode 10 VERIFY_MAP_DEVICE_UI cho C++ Core qua SHM.iu  é   Úatlas_probe_retry2rM  rO  ÚSTAGE2_MAP_DEVICE_OPENEDu)   Giao diá»‡n Atlas Ä‘Ã£ má»Ÿ thÃ nh cÃ´ng.)8rˆ   rú  r
  ró   rK  rÓ  r¬  rµ  r‘  r   rì  ri   r.  r@   rA   r8  rå   rï   rÀ  rh   Úis_map_device_visiblerî  r†  rŠ   Úis_at_salvage_benchr  r¦  r„   r»  rÎ   rÓ   rú   r$  r�   r  r  rƒ   r"  rx   r   r€   rö   r   r÷   r!  rÃ   r#  rÂ  r\   r{   rÃ  rš   r}   Úsend_verify_map_device_uiÚlocalsr  )Mr^   r  r  rá  rV  Úactive_portalÚply_posÚdev_posr–  r—  rÓ  ÚokÚaltar_xÚaltar_yÚpre_device_imgÚaltar_x_altÚaltar_y_altÚcheck_alt_imgÚclick_xÚclick_yÚfallback_mxÚfallback_myÚfallback_legacy_mxÚfallback_legacy_myÚfallback_ocr_mxÚfallback_ocr_myÚshould_zoomr^  r_  Úis_fallback_coordÚhas_real_device_labelÚdist_to_centerÚprobe_altar_xÚprobe_altar_yÚstep_iÚ	screen_dxÚ	screen_dyÚ	target_sxÚ	target_syÚw_dxÚw_dyÚw_distÚwasd_xÚwasd_yÚdwellÚhover_step_xÚhover_step_yÚwasd_okÚnew_xÚnew_yÚ	fresh_imgÚ
detected_xÚ
detected_yÚ
interact_xÚ
interact_yÚui_verifiedÚatlas_probeÚp_iÚportals_detectedÚvalid_portalsr   Úchk_pÚchk_rrÊ  rË  rÌ  rÍ  Úr_ir2  Úcheck_probeÚsearch_clear_xÚsearch_clear_yÚtarget_probeÚendgame_tab_xÚendgame_tab_yÚ
img_openedr-  sM                                                                               @r_   Úexecute_stage2_map_devicez6AutonomousMappingCoordinator.execute_stage2_map_device  s  ø€ ð  ØØ!Ø"'Øð
ð 
ˆð 	�ŠÐ_Ñ`Ô`Ð`ð ×*Ò*Ñ,Ô,ð 	Ø�HŠHÐsÑtÔtÐtØ(ˆF�8ÑØ+/ˆFÐ'Ñ(ØˆMð ð 	Ø ×?Ò?ÑAÔAˆMØð Ø—’ð  UÈÐWXÔIYð  Uð  Uð  Uñ  Vô  Vð  VØ#,��xÑ Ø04�Ð,Ñ-Ø�à×ÒÑÔÐð ×5Ò5Ñ7Ô7ð 	Ø�HŠHÐ`ÑaÔaÐaØBˆF�7‰OØˆMà×ÒÑÔÐð #ÐA d×&?Ò&?Ñ&AÔ&AˆØ"ÐF d×&DÒ&DÑ&FÔ&Fˆàð 	r�wð 	rØ˜”˜g aœjÑ(ˆBØ˜”˜g aœjÑ(ˆBÝ”:˜b "Ñ%Ô%ˆDØ�dŠ{ˆ{Ø—’Ðt¨tÐtÐtÐtÐtÑuÔuÐuØ×?Ò?Ø˜A”J ¨¤
¨G°A¬J¸À¼
Ø$(¸3ð @ñ ô �ð (*��|Ñ$Øð rØ—H’Hð  qÈTð  qð  qð  qð  qñ  rô  rð  rðw	8Ø×2Ò2Ñ4Ô4Ð4à×ÒÑÔÐØ×ÒÑ!Ô!Ð!õ �% ¤°Ñ 4Ñ5Ô5Ñ6Ô6ˆGÝ�% ¤°Ñ 4Ñ5Ô5Ñ6Ô6ˆGà×ÒÑÔÐØ�JŠJ�w °SˆJÑ9Ô9Ð9à!×.Ò.Ð/GÑHÔHˆNåÔ*¨>Ñ:Ô:ð ZØ—’ÐpÑqÔqÐqØ—
’
�3˜tœ}¨tÑ3Ñ4Ô4µc¸$¼-È$Ñ:NÑ6OÔ6OÐ]`�
ÑaÔaÐaØ!%×!2Ò!2Ð3XÑ!YÔ!Y�ÝÔ/°Ñ?Ô?ð 3Ý!¥%¨¬¸Ñ(<Ñ"=Ô"=Ñ>Ô>�Ý!¥%¨¬¸Ñ(<Ñ"=Ô"=Ñ>Ô>�Ø—
’
˜;¨À�
ÑEÔEÐEØ $× 1Ò 1Ð2NÑ OÔ O�ÝÔ/°Ñ>Ô>ð 3Ø'2°K˜W�GØ%2�NØ#×>Ò>¸~ÑNÔNÑˆG�WØ!ˆKØ!ˆKØ!(ÐØ!(ÐØ%ˆOØ%ˆOð œ-¨4Ò/ˆKØð .Ø×(Ò(°Ð(Ñ6Ô6Ð6Ø)-��~Ñ&ð Ô×3Ò3°NÑCÔCð LØ—’ÐwÑxÔxÐxØ#'×#SÒ#SÑ#UÔ#UÑ �˜Ø!%×!2Ò!2Ð3JÑ!KÔ!K�ð ”] SÑ(¨$¬-¸#Ñ*=�ˆBõ �W˜{Ñ*Ñ+Ô+¨rÒ1ÐVµc¸'ÀKÑ:OÑ6PÔ6PÐTVÒ6Vð OÝ˜Ð"4Ñ4Ñ5Ô5¸Ò;ÐgÅÀGÐN`ÑD`Ñ@aÔ@aÐegÒ@gðOå˜ /Ñ1Ñ2Ô2°bÒ8Ða½SÀÈ?ÑAZÑ=[Ô=[Ð_aÒ=aðOõ ”:˜g¨™l¨G°b©LÑ9Ô9¸CÀ$Ä,Ñ<NÒNð	 õ %+Ô$@ÀÑ$PÔ$PÐ!Ø ð iÐ)>ð iØ!�Ø!�Ø—’ð  hÈGð  hð  hÐW^ð  hð  hð  hñ  iô  ið  iõ
 "œZ¨°"©°gÀ±lÑCÔCˆNØ  d¤lÑ 2Ò2Ñ2Ø—’ð  ^¸>ð  ^ð  ^ð  ^ð  ^ñ  _ô  _ð  _ð —’ÐuÑvÔvÐvØ×(Ò(¨¨c¸CÐ(Ñ@Ô@Ð@Ý”
˜3‘”�ð —’ÐpÑqÔqÐqØ×(Ò(¨¨s¸SÐ(ÑAÔAÐAÝ”
˜3‘”�å # D¤M°DÑ$8Ñ 9Ô 9�Ý # D¤M°DÑ$8Ñ 9Ô 9�Ø—
’
˜=¨-ÀS�
ÑIÔIÐIØ!%×!2Ò!2Ð3ZÑ![Ô![�Ø#'×#BÒ#BÀ>Ñ#RÔ#RÑ �˜å ™(œ(ð 4ñ 4�Ý!%¤¨G°b©L¸'ÀB¹,Ñ!GÔ!G�Ø! S¨4¬<Ñ%7Ò7Ð7Ø—H’Hð  \Ðdrð  \ð  \ð  \ð  KQð  \ð  \ð  \ñ  ]ô  ]ð  ]Ø‘Eà# b™L�	Ø# b™L�	Ø%�	Ø&˜J�	Ø  9Ñ,�Ø  9Ñ,�Ýœ D¨$Ñ/Ô/�Ø*0°5ª.¨.˜ ™˜¸c�Ø*0°5ª.¨.˜ ™˜¸c�Ý˜C¥ S¨.¸5Ñ*@Ñ!AÔ!AÑBÔB�Ø—’ð  O°nð  Oð  Oð  OÐflÐmnÑfnð  Oð  Oð  Dð  Oð  Oð  Oð  Oñ  Pô  Pð  PÝ" 2¨°2©¸Ñ(<Ñ#<Ñ=Ô=�Ý" 2¨°2©¸Ñ(<Ñ#<Ñ=Ô=�Ø—
’
˜<¨À4�
ÑHÔHÐHØ×2Ò2°6¸6ÈEÐ2ÑRÔR�Ø—’ÐdÈvÐVWÉxÐdÐdÐ[bÐdÐdÑeÔeÐeÝ”
˜3‘”�Ø!%×!2Ò!2Ð3`ÐV\Ð]^ÑV^Ð3`Ð3`Ñ!aÔ!a�Ø#×>Ò>¸~ÑNÔN‘��uÝ˜EÐ$6Ñ6Ñ7Ô7¸2Ò=Ð=Å#ÀeÐN`ÑF`ÑBaÔBaÐegÒBgÐBgÕmqÔmwÐx}ð  ACñ  yCð  EJð  MOñ  EOñ  nPô  nPð  TVð  Y]ô  Yeñ  Teò  neð  neØ',¨e˜W�Gùð �JŠJ�w °SˆJÑ9Ô9Ð9Ø×)Ò)Ð*EÑFÔFˆIåÔ*¨9Ñ5Ô5ð XØ—’ÐnÑoÔoÐoØ—
’
�3˜tœ}¨tÑ3Ñ4Ô4µc¸$¼-È$Ñ:NÑ6OÔ6OÐ]`�
ÑaÔaÐaØ ×-Ò-Ð.VÑWÔW�	Ø%)×%DÒ%DÀYÑ%OÔ%OÑ"ˆJ˜
ÝÔ+¨IÑ6Ô6ð ]Ø#-¨z˜�Ø—’Ð[ÀgÐ[Ð[ÐQXÐ[Ð[Ð[Ñ\Ô\Ð\ð !ˆJØ ˆJØ�HŠHð  SÈzð  Sð  SÐ]gð  Sð  Sð  Sñ  Tô  Tð  TØ�JŠJ�z :¸3ˆJÑ?Ô?Ð?ð  ˆKØˆKÝ˜Q‘x”xð *ð *�Ý”
˜3‘”�Ø"×/Ò/Ð0PÈÈQÉÐ0PÐ0PÑQÔQ�Ø×(Ò(¨Ñ5Ô5ð Ø"&�KØ—H’HÐsÐ^aÐbcÑ^cÐsÐsÐsÑtÔtÐtØ�EØ&ð *Ý'-Ô'FÀ{Ð\`Ô\hÐrvÔr~Ð'Ñ'Ô'Ð$Ø'ð 	*ð)ð )Ø'7ð)ñ )ô )˜ð )ð *Ø ŸHšHð  &NÐUbÐcdÔUeÐfgÔUhð  &Nð  &Nð  &Nñ  Oô  Oð  OØ/8˜F 8Ñ,Ø<@˜FÐ#8Ñ9Ø#)˜M˜Mðr �zŠz˜.Ñ)Ô)ð 8Ø×(Ò(°Ð(Ñ7Ô7Ð7Ð7ð8øðo ñ ,.àñ ¥2¤7§>¢>°+Ñ#>Ô#>ñ ðØ-Ð-Ð-Ð-Ð-Ð-Ø * ¤
¨;Ñ 7Ô 7˜Ý &Ô >¸uÑ EÔ E˜Ø #§¢Ð([Ð([ÀEÇIÂIÈgÐWYÑDZÔDZÐ([Ñ([Ô([Ñ [Ô [× aÒ aÑ cÔ c˜ÝÐaÐaÐaÐaÐ3`ÐaÑaÔaÑaÔañ ,Ø ŸHšHð  &Fñ  Gô  Gð  GØ ŸNšN¨4°À3˜NÑGÔGÐGØ ŸNšN¨4°À3˜NÑGÔGÐGå'*­5°´ÀÑ1GÑ+HÔ+HÑ'IÔ'I˜HÝ'*­5°´ÀÑ1GÑ+HÔ+HÑ'IÔ'I˜HØ ŸJšJ x°Às˜JÑKÔKÐKà15´×1MÒ1MÈaÐQRÑ1SÔ1SÑ.˜H hØ ŸJšJ x°Às˜JÑKÔKÐKØ ŸNšN¨4°À3˜NÑGÔGÐGÝ œJ s™OœO˜OøøÝ$ð ð ð Ø˜ðøøøð —’ÐqÑrÔrÐrØ—
’
˜: z¸s�
ÑCÔCÐCÝ  ™8œ8ð .ð .�CÝ”J˜s‘O”O�OØ)-×):Ò):Ð;aÐZ]Ð^_ÑZ_Ð;aÐ;aÑ)bÔ)bÐ&Ø×,Ò,Ð-?Ñ@Ô@ð Ø&*˜ØŸšÐ!rÐjmÐnoÑjoÐ!rÐ!rÐ!rÑsÔsÐsØ˜Ø*ð .Ý+1Ô+JÐK]ÐgkÔgsð  ~Bô  ~Jð  ,Kñ  ,Kô  ,KÐ(Ø+ð 	.ð-ð -Ø+;ð-ñ -ô -˜Mð  -ð .Ø $§¢ð  *\ÐYfÐghÔYiÐjkÔYlð  *\ð  *\ð  *\ñ  !]ô  !]ð  !]Ø3<  xÑ 0Ø@D Ð'<Ñ =Ø'-  ðV �zŠz˜.Ñ)Ô)ð 8Ø×(Ò(°Ð(Ñ7Ô7Ð7Ð7ð8øðS ð Ø&ð _Ø"4�KÝ'-Ô'FÀ{Ð\`Ô\hÐrvÔr~Ð'Ñ'Ô'Ð$Ø'ð _ð)ð )Ø'7ð)ñ )ô )˜ð )ð _Ø ŸHšHð  &XÐUbÐcdÔUeÐfgÔUhð  &Xð  &Xð  &Xñ  Yô  Yð  YØ/8˜F 8Ñ,Ø<@˜FÐ#8Ñ9Ø#)ð8 �zŠz˜.Ñ)Ô)ð 8Ø×(Ò(°Ð(Ñ7Ô7Ð7Ð7ð8ð5 !ŸHšHð  &^ÐiyÐz{Ôi|Ð}~Ôið  &^ð  &^ð  &^ñ  _ô  _ð  _à×#Ò#Ñ%Ô%Ð%ð #B��w‘Øð, �zŠz˜.Ñ)Ô)ð 8Ø×(Ò(°Ð(Ñ7Ô7Ð7Ð7ð8ð' ŒK×1Ò1Ñ3Ô3Ð3Ø�HŠHÐaÑbÔbÐbõ !  t¤|Ñ!3Ñ4Ô4ˆNÝ   d¤lÑ!2Ñ3Ô3ˆNØ�JŠJ�~ ~À3ˆJÑGÔGÐGð 3GÍ&É(Ì(Ð2RÐ2RÐWiÐ2RÐ-Ð-Ðp{ˆLØ+/×+DÒ+DÀ\Ñ+RÔ+RÑ(ˆM˜=Ø�HŠHÐZ°mÐZÐZÀ}ÐZÐZÐZÑ[Ô[Ð[Ø�JŠJ�} mÀˆJÑEÔEÐEà×*Ò*Ð+EÑFÔFˆJØ�HŠHÐ@ÑAÔAÐAØ(ˆF�8ÑØà�zŠz˜.Ñ)Ô)ð 8Ø×(Ò(°Ð(Ñ7Ô7Ð7Ð7ð8øˆv�zŠz˜.Ñ)Ô)ð 8Ø×(Ò(°Ð(Ñ7Ô7Ð7Ð7ð8øøøsN   Çc? ë'? ë4Fr ò? ò
rò? òròD
? ÷A(? ù ?? ûD? ÿ?.A@-Úwaystone_slotc                 ó '  ‡<‡=‡>— dddœ}|                       d¦  «         |                      ¦   «          |                      dd¬¦  «        }t          | j        d¦  «        pt          | j        d	¦  «        }| j        sÕ|r|                      |¦  «        }nŸ|r›t          j                             |¦  «        r||                      |¦  «        pet          |  
                    |¦  «        ¦  «        pCt          |                      |¦  «        ¦  «        p!t          |                      |¦  «        ¦  «        }nd
}|s|                       d¦  «         d|d<   |S |€6d}d}t          d| j        z  ¦  «        }t          d| j        z  ¦  «        }	d}
�nit!          |t"          ¦  «        r¦|                     dd¦  «        }|                     dd¦  «        }|                     dt          d| j        z  ¦  «        ¦  «        }|                     dt          d| j        z  ¦  «        ¦  «        }	t'          |                     dd¦  «        ¦  «        }
n®t!          |t(          t*          f¦  «        rt-          |¦  «        dk    r	|\  }}}}	}
nvt!          |t(          t*          f¦  «        r%t-          |¦  «        dk    r|d d…         \  }}}	}
d}n5d\  }}t          d| j        z  ¦  «        }t          d| j        z  ¦  «        }	d}
|                       d¦  «         | j        r| j        d         nd }|                      |¦  «        \  }}|                       d|› d|› d�¦  «         |                      ||dd ¬!¦  «         |                      d"¦  «        }| j                             t9          | d#d¦  «        | j        | j        ¬$¦  «        }|rB|                       d%|                     d&¦  «        › d'|                     d(¦  «        › d)�¦  «         |                      |d
¬*¦  «        }|�s6|  
                    |¦  «        }|r~|\  }}|                       d+|› d|› d,�¦  «         |                      ||d-¬.¦  «         |                       d/¦  «         t?          j         d0¦  «         |                      d1¦  «         d2|d3<   |S t          tB          d4¦  «        rNtC          j"        || j        | j        d
¬5¦  «        }|r*|                       d6|d         › d|d7         › d�¦  «         |}|                      |d
¬*¦  «        }|r*|                       d8|d         › d|d7         › d9�¦  «         |}|sI|rG|                     d(¦  «        r2|d(         }|                       d:|d         › d|d7         › d�¦  «         |}|�s­|                       d;¦  «         |  #                    d<¬=¦  «        }|r·|\  }}|d>k    r~|\  }}|                       d?|› d|› d@�¦  «         |                      ||d-¬.¦  «         |                       d/¦  «         t?          j         d0¦  «         |                      d1¦  «         d2|d3<   |S |}|                       dA|› dB|d         › d|d7         › dC�¦  «         nÉ|                       dD¦  «         |  $                    d
¬E¦  «         |                      dF¦  «        }|                      |d
¬*¦  «        }|s|                      |d
¬*¦  «        }|sW|                       dG¦  «         |  $                    d
¬E¦  «         |                      dH¦  «        }|                      |d¬*¦  «        }|r|n|                      |d¬*¦  «        \  Š<Š=|                       dI‰<› d‰=› d�¦  «         |                      ‰<‰=d ¬.¦  «         |                      dJ¦  «        }d}dK}	 dd l%}ddLl&m'}  |j(        |¦  «        }| )                    |¦  «        }dM *                    dN„ |                     dOg ¦  «        D ¦   «         ¦  «         +                    ¦   «         } tY          j-        | ¦  «        }!|!j.        }|                       dP|!j.        › dQ|!j/        j0        › dR|!j1        › d)�¦  «         |!j1        rtY          j2        |!j.        ¦  «        r„d
}|                       dS|!j.        › dT|!j3        › dU�¦  «         t          dV| j        z  ¦  «        t          dW| j        z  ¦  «        cŠ<Š=|                      ‰<‰=d ¬.¦  «         |                      dX¦  «        }tC          j4        |¦  «        rd
}|                       dS|› dY�¦  «         n/# tj          $ r"}"|                       dZ|"› �¦  «         Y d }"~"nd }"~"ww xY w|s»|r4t          j                             |¦  «        r|  
                    |¦  «        nd }|r�|\  }}|                       d[|› d\|› d|› d]�¦  «         |                      ||d-¬.¦  «         |                       d/¦  «         t?          j         d0¦  «         |                      d1¦  «         d2|d3<   |S tm          d^d_t'          ‰<¦  «        t'          ‰=¦  «        dd
d`¬a¦  «        }#| j         7                    |#| j        | j        ¬b¦  «         dc}$|  8                    |¦  «        s.|                       dd¦  «         |  9                    |$ded-¬.¦  «         n|                       df¦  «         |                       dg|› dh|› di|› d|	› d�	¦  «         |  :                    ||	d-¬.¦  «         |                      dj¦  «        }%|  ;                    |%¦  «        rX|                       dk¦  «         |  <                    ||	¦  «         |  :                    ||	d-¬.¦  «         |                      dl¦  «        }%|  
                    |%¦  «        }|s>t?          j         d-¦  «         |                      dm¦  «        }&|  
                    |&¦  «        }|�s”	 ddLl&m'} dnt{          ¦   «         v r#|&r!t          j                             |&¦  «        r|&n|%}' |j(        |'¦  «        }(tC          j>        |(¦  «        })|)                     dOg ¦  «        D ]í}*|*                     dod¦  «         +                    ¦   «         Š>t          ˆ>fdp„dqD ¦   «         ¦  «        r¨|*                     drg ¦  «        }+|+r�t�          ds„ |+D ¦   «         ¦  «        },tƒ          dt„ |+D ¦   «         ¦  «        }-t�          du„ |+D ¦   «         ¦  «        }.tƒ          dv„ |+D ¦   «         ¦  «        }/t          |,|-z   dwz  ¦  «        t          |.|/z   dwz  ¦  «        f} nŒîn/# tj          $ r"}"|                       dx|"› �¦  «         Y d }"~"nd }"~"ww xY w|�sÂ|                       dy¦  «         g }0t          tB          dz¦  «        r!tC          jB        || j        | j        ¬{¦  «        }0ˆ<ˆ=fd|„|0D ¦   «         }0t‡          |0d d}…         ¦  «        D �]M\  }1\  }2}3|                       d~|1d7z   › dB|2› d|3› d�¦  «         |                      |2|3d ¬.¦  «         |                      d|1d7z   › �¦  «        }4tC          j4        |4¦  «        r|                       d€|1d7z   › d��¦  «         Œ�|  
                    |4¦  «        }|su|  8                    |4¦  «        s|  9                    |$ded‚¬.¦  «         |  :                    ||	dƒ¬.¦  «         |                      d„|1d7z   › �¦  «        }5|  
                    |5¦  «        }|r0|                       d…|d         › d|d7         › d†|1d7z   › d‡�¦  «          n�ŒO|�s"|                       dˆ¦  «         |  #                    d¬=¦  «        }|rõ|\  }6}7|6d>k    r|7}nç|                      |7d         |7d7         d ¬.¦  «         |                      d‰¦  «        }8tC          j4        |8¦  «        r|                       dŠ¦  «         n„|  8                    |8¦  «        s|  9                    |$ded‚¬.¦  «         |  :                    ||	dƒ¬.¦  «         |                      d‹¦  «        }9|  
                    |9¦  «        p|  
                    |8¦  «        }|sdŒ|d<   |S |\  }}dnt{          ¦   «         v r|&r|&n|%}:|  ;                    |:¦  «        r¥|                       d�¦  «         |  <                    ||	¦  «         t9          | dŽd¦  «        r | jD        r|  E                    ||	d-¬.¦  «         n|  :                    ||	d-¬.¦  «         |                      d�¦  «        }:|  
                    |:¦  «        p|}|\  }}|                       d�|› d|› d‘�¦  «         |                      ¦   «          |                      ||d-¬.¦  «         |                       d/¦  «         t?          j         d0¦  «         |                      d1¦  «        };|                      |;¦  «        rj|                       d’¦  «         |                      ¦   «          |                      ||d“¬.¦  «         t?          j         d”¦  «         |                      d•¦  «         |                      d1¦  «        };|  ;                    |;¦  «        rË|                       d–¦  «         |  <                    ||	¦  «         t9          | dŽd¦  «        r | jD        r|  E                    ||	d-¬.¦  «         n|  :                    ||	d-¬.¦  «         |                      ||d-¬.¦  «         |                       d/¦  «         t?          j         d0¦  «         |                      d•¦  «        };n)|                       d/¦  «         t?          j         d0¦  «         d2|d3<   |S )—Nr  râ   )rõ  rü  zA--- STAGE 3: Atlas Node Selection & Waystone Loading (Doc 56) ---ÚSTAGE3_ATLAS_UI_PRECHECKFr¨  Ú_mock_return_valueÚreturn_valueTu–   âš ï¸� [INV-ATLAS-UI-GATE] Giao diá»‡n Atlas UI chÆ°a má»Ÿ trÆ°á»›c khi chá»�n Node & náº¡p Waystone! Fail-closed Ä‘á»ƒ trÃ¡nh click nháº§m ra ngoÃ i.ÚATLAS_UI_NOT_OPENrü  r   iÃ  i6  rî  r%  r&  r|  r}  r'  r(  rë   )r   r   u3   Ä�áº£m báº£o tab ENDGAME (Atlas) Ä‘Æ°á»£c chá»�n...r�  u&   Click Ä‘áº£m báº£o tab ENDGAME táº¡i (rN  rO  rP  r  r;  ÚSTAGE3_ENDGAME_TABÚlast_map_zone)Úfallback_map_namer@   rA   u@   ðŸ§  [RAM Hint] Khu vá»±c báº£n Ä‘á»“ hoáº¡t Ä‘á»™ng tá»« RAM: 'rÒ   u   ' (Tá»�a Ä‘á»™ gá»£i Ã½: Úsuggested_screen_posrÿ  r�  u7   ðŸŽ¯ Báº£n Ä‘á»“ Ä‘Ã£ sáºµn sÃ ng nÃºt TRAVERSE táº¡i (u!   )! Click kÃ­ch hoáº¡t map ngay...rx  rY   uB   Chá»� 2.5s cá»•ng portal má»Ÿ hoÃ n chá»‰nh (INV-UI-MAP-DEVICE)...r$  ÚSTAGE3_MAP_ACTIVATEDrý  rõ  Úfind_player_avatar_on_atlasr  u=   ðŸ“� PhÃ¡t hiá»‡n vá»‹ trÃ­ Player Avatar trÃªn Atlas táº¡i (rc   uH   ðŸŒŸ PhÃ¡t hiá»‡n Node sÃ¡ng / Ä‘Ã£ má»Ÿ trÃªn view hiá»‡n táº¡i táº¡i (rà  u0   ðŸ§  Thá»­ vá»‹ trÃ­ Node sÃ¡ng tá»« RAM táº¡i (uv   ChÆ°a phÃ¡t hiá»‡n Node trÃªn view hiá»‡n táº¡i -> KÃ©o (hold LMB) world map Ä‘á»ƒ tÃ¬m node Ä‘Ã£ má»Ÿ / node sÃ¡ng...r  )r€  rŒ  uB   ðŸŽ¯ PhÃ¡t hiá»‡n Node Ä‘Ã£ má»Ÿ sáºµn vá»›i nÃºt TRAVERSE táº¡i (u   )! Click kÃ­ch hoáº¡t map...u   ðŸŽ¯ TÃ¬m tháº¥y u    táº¡i (u   ) sau khi kÃ©o báº£n Ä‘á»“!uc   ChÆ°a tháº¥y node má»Ÿ sáºµn qua panning -> Thá»­ pan Atlas sang trÃ¡i tÃ¬m Reachable Green Node...)rt  ÚSTAGE3_ATLAS_PANNEDu+   Thá»­ pan Atlas thÃªm má»™t nhá»‹p ná»¯a...ÚSTAGE3_ATLAS_PANNED_2u   Click chá»�n Atlas Node táº¡i (ÚSTAGE3_NODE_SELECTEDzUnknown Mapr
   r…  c              3   óB   K  — | ]}|                      d d¦  «        V — ŒdS r‡  rˆ  r‰  s     r_   r  zOAutonomousMappingCoordinator.execute_stage3_atlas_activation.<locals>.<genexpr>ì  s0   è è € ÐTÐT°a §¢ f¨bÑ 1Ô 1ÐTÐTÐTÐTÐTÐTra   r  u!   ðŸ“‹ Tháº©m Ä‘á»‹nh Node Atlas: 'u   ' (Chá»§ng loáº¡i: u   , Nháº­n Waystone: u#   âš ï¸� [INV-ATLAS-FARM-NODE] Node 'u"   ' bá»‹ Cáº¤M cÃ y cáº¥p/currency (uW   )! Cáº¥m TRAVERSE, chuyá»ƒn sang chá»�n nhÃ¡nh map cÃ y thÃ´ng thÆ°á»�ng (1075, 779)...i3  i  ÚSTAGE3_NODE_SELECTED_REGULARuk   ' Ä‘Ã£ cáº¡n kiá»‡t (REVIVES AVAILABLE: 0)! Cáº¥m TRAVERSE, chuyá»ƒn sang chá»�n Node kháº£ dá»¥ng khÃ¡c...u$   LÆ°u Ã½ tháº©m Ä‘á»‹nh loáº¡i node: u   ðŸŽ¯ Node 'u(   ' Ä‘Ã£ sáºµn sÃ ng nÃºt TRAVERSE táº¡i (u    )! KÃ­ch hoáº¡t trá»±c tiáº¿p...ÚDesertedr  ée   )rð  rA  Úscreen_xÚscreen_yÚbonus_completedÚis_reachableÚnode_idrP   r·  u2   Gá»­i phÃ­m 'I' má»Ÿ hÃ nh trang náº¡p Waystone...r¸  u3   HÃ nh trang Ä‘Ã£ tá»± Ä‘á»™ng má»Ÿ khi chá»�n Node.u   Náº¡p Waystone [Cá»™t rH  u&   ] báº±ng Ctrl+LMB dá»©t khoÃ¡t táº¡i (ÚSTAGE3_NODE_LOADEDu–   âš ï¸� PhÃ¡t hiá»‡n item Ä‘ang dÃ­nh trÃªn con trá»� chuá»™t ('You cannot drop that item here')! Ä�ang tá»± Ä‘á»™ng Ä‘áº·t láº¡i vÃ o Ã´ tÃºi Ä‘á»“...ÚSTAGE3_NODE_LOADED_RETRYÚSTAGE3_TRAVERSE_RETRYÚ	img_retryr  c              3   ó    •K  — | ]}|‰v V — Œ	d S rg   r  )r  r®  r'  s     €r_   r  zOAutonomousMappingCoordinator.execute_stage3_atlas_activation.<locals>.<genexpr>D  s'   øè è € ÐjÐj a˜1 ˜6ÐjÐjÐjÐjÐjÐjra   )ÚTRAVÚACTIVATEÚENTERÚRAVERSEÚAVERSEÚTRAVERSFr  c              3   ó2   K  — | ]}|d          d         V — ŒdS r  r  r  s     r_   r  zOAutonomousMappingCoordinator.execute_stage3_atlas_activation.<locals>.<genexpr>G  ó,   è è € Ð'OÐ'OÀA¨¨/Ô(:¸3Ô(?Ð'OÐ'OÐ'OÐ'OÐ'OÐ'Ora   c              3   óP   K  — | ]!}|d          d         |d          d         z   V — Œ"dS r  r  r  s     r_   r  zOAutonomousMappingCoordinator.execute_stage3_atlas_activation.<locals>.<genexpr>H  s=   è è € Ð'mÐ'mÐbc¨¨/Ô(:¸3Ô(?À!ÀOÔBTÐU\ÔB]Ñ(]Ð'mÐ'mÐ'mÐ'mÐ'mÐ'mra   c              3   ó2   K  — | ]}|d          d         V — ŒdS r  r  r  s     r_   r  zOAutonomousMappingCoordinator.execute_stage3_atlas_activation.<locals>.<genexpr>I  r™  ra   c              3   óP   K  — | ]!}|d          d         |d          d         z   V — Œ"dS r  r  r  s     r_   r  zOAutonomousMappingCoordinator.execute_stage3_atlas_activation.<locals>.<genexpr>J  s=   è è € Ð'nÐ'nÐcd¨¨/Ô(:¸3Ô(?À!ÀOÔBTÐU]ÔB^Ñ(^Ð'nÐ'nÐ'nÐ'nÐ'nÐ'nra   ré   u   LÆ°u Ã½ fuzzy OCR TRAVERSE: uŒ   âš ï¸� Node hiá»‡n táº¡i khÃ´ng cÃ³ nÃºt TRAVERSE (bá»‹ khÃ³a ngoÃ i tÆ°á»�ng). Tá»± Ä‘á»™ng quÃ©t tÃ¬m cÃ¡c Node á»©ng viÃªn tiáº¿p theo...Úfind_all_reachable_green_nodesr
  c                 ój   •— g | ]/}t          j        |d          ‰z
  |d         ‰z
  ¦  «        dk    ¯-|‘Œ0S )r   rc   r  rÿ  )r  ÚcÚnode_xÚnode_ys     €€r_   r-  zPAutonomousMappingCoordinator.execute_stage3_atlas_activation.<locals>.<listcomp>W  sE   ø€ ÐiÐiÐi A½4¼:ÀaÈÄdÈVÁmÐUVÐWXÔUYÐ\bÑUbÑ;cÔ;cÐfhÒ;hÐ;h˜aÐ;hÐ;hÐ;hra   rr   u   ðŸ”„ Thá»­ Node á»©ng viÃªn #ÚSTAGE3_ALT_NODE_u   âš ï¸� Node #u,    Ä‘Ã£ cáº¡n kiá»‡t (REVIVES: 0). Bá»� qua...rY  g333333ã?ÚSTAGE3_ALT_LOADED_u8   ðŸŽ¯ Ä�Ã£ tÃ¬m tháº¥y nÃºt TRAVERSE thÃ nh cÃ´ng táº¡i (u   ) trÃªn Node #r‹  uZ   âš ï¸� Váº«n chÆ°a tÃ¬m tháº¥y TRAVERSE. KÃ©o (hold LMB) world map tÃ¬m Node má»Ÿ sáºµn...ÚSTAGE3_PAN_NODE_SELECTEDuR   âš ï¸� Node sau khi pan Ä‘Ã£ cáº¡n kiá»‡t (REVIVES: 0). Bá»� qua náº¡p Waystone...ÚSTAGE3_PAN_NODE_LOADEDzHTRAVERSE OCR fail-closed; refuse unlocated LMB (INV-MAPDEVICE-VERIFY-UI)uo   âš ï¸� PhÃ¡t hiá»‡n item dÃ­nh chuá»™t trÆ°á»›c khi click TRAVERSE! Tá»± Ä‘á»™ng hoÃ n tráº£ vá»� tÃºi Ä‘á»“...r    ÚSTAGE3_TRAVERSE_READY_CHECKu   Ä�Ã£ OCR nÃºt TRAVERSE táº¡i (u"   ). Click Ä‘á»ƒ kÃ­ch hoáº¡t Map...uT   âš ï¸� Giao diá»‡n Atlas váº«n cÃ²n má»Ÿ. Click láº¡i TRAVERSE Ä‘á»ƒ kÃ­ch hoáº¡t...rQ   r¿   ÚSTAGE3_MAP_ACTIVATED_RETRYum   âš ï¸� Popup 'You cannot drop that item here' xuáº¥t hiá»‡n khi click TRAVERSE! HoÃ n tráº£ item vÃ o tÃºi...)Frˆ   ró   rå   r²  r  rG   rx   r   r€   r3  r  r“  r’  ri   rƒ   r„   r)  r*  r"  rï  ÚlistÚtuplerÄ   r‚   r  rh   r~   Úget_active_atlas_node_from_ramÚgetattrr@   rA   rÎ   rÓ   rï   r€  r   r~  Úwinocrrö   r   r÷   Úrecognize_pil_syncrÃ   r#  r   Úclassify_nodeÚcanonical_nameÚ	node_typer™   Úaccepts_waystoner‘  ÚdescriptionÚis_atlas_node_depletedrš   r   Úselect_noderõ   r\   rC  rX  rd  r7  r!  rÂ  r$  r�   r�  r�  ru   r@  )?r^   ru  rV  Úimg_check_atlasÚ	is_mockedÚ
atlas_openr%  r&  Úslot_cxÚslot_cyr'  Ú
img_devicerT  rU  Úram_node_hintÚnode_posÚtraverseÚ
traverse_xÚ
traverse_yÚ
avatar_posÚglowing_posÚs_posrœ  Úaction_typeÚ
target_posÚimg_nodeÚnode_is_forbiddenÚnode_name_detectedr¬  r   Úimg_chkrÇ  r¯  Úprofiler¼   Úpreferred_noderW  Úimg_node_loadedr�  Úscan_targetÚimg_travr%  r&  r  r(  r)  r*  r+  Úalt_candidatesÚalt_idxÚalt_xÚalt_yÚimg_altÚimg_alt_loadedÚact_typeÚtgt_posÚimg_pan_nodeÚimg_pan_loadedÚcheck_targetÚimg_activatedr   r¡  r'  s?                                                               @@@r_   Úexecute_stage3_atlas_activationz<AutonomousMappingCoordinator.execute_stage3_atlas_activationY  s¹  øøø€ Ø$¨rÐ2Ð2ˆØ�ŠÐTÑUÔUÐUØ×ÒÑÔÐð ×+Ò+Ð,FÐTYÐ+ÑZÔZˆÝ˜DÔ1Ð3GÑHÔHÐzÍGÐTXÔTiÐkyÑLzÔLzˆ	ØÔ ð 	Øð 
"Ø!×2Ò2°?ÑCÔC�
�
Ø ð "¥R¤W§^¢^°OÑ%DÔ%Dð "à×)Ò)¨/Ñ:Ô:ð RÝ˜D×5Ò5°oÑFÔFÑGÔGðRå˜D×:Ò:¸?ÑKÔKÑLÔLðRõ ˜D×?Ò?ÀÑPÔPÑQÔQð	 �
ð "�
Øð Ø—’ð  rñ  sô  sð  sØ"5��w‘Ø�àÐ ØˆCØˆCÝ˜$ ¤Ñ-Ñ.Ô.ˆGÝ˜# ¤Ñ,Ñ-Ô-ˆGØˆG‰GÝ˜¥tÑ,Ô,ð 	Ø×#Ò# E¨1Ñ-Ô-ˆCØ×#Ò# E¨1Ñ-Ô-ˆCØ#×'Ò'¨
µC¸¸t¼|Ñ8KÑ4LÔ4LÑMÔMˆGØ#×'Ò'¨
µC¸¸d¼lÑ8JÑ4KÔ4KÑLÔLˆGÝ˜M×-Ò-¨i¸Ñ=Ô=Ñ>Ô>ˆGˆGÝ˜­­e }Ñ5Ô5ð 		½#¸mÑ:LÔ:LÐPQÒ:QÐ:QØ2?Ñ/ˆC��g˜w¨¨Ý˜­­e }Ñ5Ô5ð 	½#¸mÑ:LÔ:LÐPQÒ:QÐ:QØ-:¸2¸A¸2Ô->Ñ*ˆC�˜' 7ØˆCˆCà‰HˆC�Ý˜$ ¤Ñ-Ñ.Ô.ˆGÝ˜# ¤Ñ,Ñ-Ô-ˆGØˆGð 	�ŠÐFÑGÔGÐGØ37Ô3IÐS�TÔ+¨BÔ/Ð/Ètˆ
Ø#×8Ò8¸ÑDÔDÑˆ	�9à�ŠÐV¸)ÐVÐVÀyÐVÐVÐVÑWÔWÐWØ�
Š
�9˜i°À3ˆ
ÑGÔGÐGØ×&Ò&Ð';Ñ<Ô<ˆ
ð œ×DÒDÝ% d¨O¸RÑ@Ô@Ø”]Ø”]ð Eñ 
ô 
ˆð
 ð 	Ø�HŠHð  ~ÐXe×XiÒXiÐjuÑXvÔXvð  ~ð  ~ð  R_÷  Rcò  Rcð  dzñ  R{ô  R{ð  ~ð  ~ð  ~ñ  ô  ð  ð ×1Ò1°*ÐUYÐ1ÑZÔZˆØñ ?	là×0Ò0°Ñ<Ô<ˆHØð Ø)1Ñ&�
˜JØ—’ð  OÐS]ð  Oð  OÐakð  Oð  Oð  Oñ  Pô  Pð  PØ—
’
˜: z¸s�
ÑCÔCÐCØ—’Ð]Ñ^Ô^Ð^Ý”
˜3‘”�Ø×!Ò!Ð"8Ñ9Ô9Ð9Ø#,��xÑ Ø�õ •vÐ<Ñ=Ô=ð *Ý#Ô?Ø¨¬¸d¼lÐcgðñ ô �
ð ð *Ø—H’Hð  BÐ]gÐhiÔ]jð  Bð  BÐnxÐyzÔn{ð  Bð  Bð  Bñ  Cô  Cð  CØ)�Hð ×=Ò=¸jÐaeÐ=ÑfÔfˆKØð 'Ø—’ð  IÐdoÐpqÔdrð  Ið  Ið  wBð  CDô  wEð  Ið  Ið  Iñ  Jô  Jð  JØ&�ð ð ! ð !°-×2CÒ2CÐDZÑ2[Ô2[ð !Ø%Ð&<Ô=�Ø—’ÐfÈEÐRSÌHÐfÐfÐX]Ð^_ÔX`ÐfÐfÐfÑgÔgÐgØ �ð ñ lØ—’ð  Rñ  Sô  Sð  SØ×BÒBÐQRÐBÑSÔS�Øð lØ.5Ñ+�K Ø" jÒ0Ð0Ø1;Ñ.˜
 JØŸšð  "]Ðfpð  "]ð  "]Ðt~ð  "]ð  "]ð  "]ñ  ^ô  ^ð  ^ØŸ
š
 :¨zÀs˜
ÑKÔKÐKØŸšÐ!eÑfÔfÐfÝœ
 3™œ˜Ø×)Ò)Ð*@ÑAÔAÐAØ+4˜˜xÑ(Ø%˜à#-˜ØŸšð  "B°[ð  "Bð  "BÈ(ÐSTÌ+ð  "Bð  "BÐYaÐbcÔYdð  "Bð  "Bð  "Bñ  Cô  Cð  Cð  Cà—H’Hð  Cñ  Dô  Dð  DØ×&Ò&°Ð&Ñ6Ô6Ð6Ø!%×!2Ò!2Ð3HÑ!IÔ!I�JØ#×=Ò=¸jÐaeÐ=ÑfÔf�HØ#ð pØ#'×#FÒ#FÀzÐjnÐ#FÑ#oÔ#o˜Ø#ð lØŸšÐ!NÑOÔOÐOØ×*Ò*°TÐ*Ñ:Ô:Ð:Ø%)×%6Ò%6Ð7NÑ%OÔ%O˜
Ø#'×#AÒ#AÀ*ÐejÐ#AÑ#kÔ#k˜à%-Ð{˜˜°4×3QÒ3QÐR\ÐuzÐ3QÑ3{Ô3{‰ˆ�Ø�ŠÐI°6ÐIÐI¸VÐIÐIÐIÑJÔJÐJØ�
Š
�6˜6¨sˆ
Ñ3Ô3Ð3à×$Ò$Ð%;Ñ<Ô<ˆð "ÐØ*Ðð	AØˆMˆMˆMØ!Ð!Ð!Ð!Ð!Ð!Ø �e”j Ñ*Ô*ˆGØ×/Ò/°Ñ8Ô8ˆGØ—x’xÐTÐT¸7¿;º;ÀwÐPRÑ;SÔ;SÐTÑTÔTÑTÔT×ZÒZÑ\Ô\ˆHÝ(Ô6°xÑ@Ô@ˆGØ!(Ô!7ÐØ�HŠHð  l¸Ô9Oð  lð  lÐdkÔduÔd{ð  lð  lð  QXô  Qið  lð  lð  lñ  mô  mð  màÔ+ð MÕ/AÔ/cÐdkÔdzÑ/{Ô/{ð MØ$(Ð!Ø—’ðl¸'Ô:Pð lð lÐt{ô  uHð lð lð lñô ð õ "% T¨D¬LÑ%8Ñ!9Ô!9½3¸sÀTÄ\Ñ?QÑ;RÔ;R��˜Ø—
’
˜6 6°s�
Ñ;Ô;Ð;Ø×,Ò,Ð-KÑLÔL�õ Ô,¨XÑ6Ô6ð Ø$(Ð!Ø—’ðWÐ:Lð Wð Wð Wñô ð øøõ ð 	Að 	Að 	AØ�HŠHÐ?¸AÐ?Ð?Ñ@Ô@Ð@Ð@Ð@Ð@Ð@Ð@øøøøð	Aøøøð !ð 
	Ø?GÐoÍBÌGÏNÊNÐ[cÑLdÔLdÐo�t×0Ò0°Ñ:Ô:Ð:ÐkoˆHØð Ø)1Ñ&�
˜JØ—’ð  ^Ð'9ð  ^ð  ^Ðcmð  ^ð  ^Ðq{ð  ^ð  ^ð  ^ñ  _ô  _ð  _Ø—
’
˜: z¸s�
ÑCÔCÐCØ—’Ð]Ñ^Ô^Ð^Ý”
˜3‘”�Ø×!Ò!Ð"8Ñ9Ô9Ð9Ø#,��xÑ Ø�å"ØØÝ˜6‘]”]Ý˜6‘]”]Ø!ØØð
ñ 
ô 
ˆð 	Œ×!Ò! .¸4¼=ÐSWÔS`Ð!ÑaÔaÐað ˆØ×%Ò% hÑ/Ô/ð 	LØ�HŠHÐIÑJÔJÐJØ�NŠN˜4 °3ˆNÑ7Ô7Ð7Ð7à�HŠHÐJÑKÔKÐKð 	�ŠÐz¨#ÐzÐz°sÐzÐzÐbiÐzÐzÐmtÐzÐzÐzÑ{Ô{Ð{Ø�Š˜ °cˆÑ:Ô:Ð:ð ×+Ò+Ð,@ÑAÔAˆð ×'Ò'¨Ñ8Ô8ð 	LØ�HŠHð  nñ  oô  oð  oØ×1Ò1°'¸7ÑCÔCÐCØ�OŠO˜G W¸#ˆOÑ>Ô>Ð>Ø"×/Ò/Ð0JÑKÔKˆOà×,Ò,¨_Ñ=Ô=ˆð ð 	<ÝŒJ�s‰OŒOˆOØ×)Ò)Ð*AÑBÔBˆIØ×0Ò0°Ñ;Ô;ˆHàñ 	=ð=Ø%Ð%Ð%Ð%Ð%Ð%Ø,7½6¹8¼8Ð,CÐ,CÈ	Ð,CÕVXÔV]×VdÒVdÐenÑVoÔVoÐ,C˜i˜ið  wF�Ø%˜5œ: kÑ2Ô2�ÝÔ4°XÑ>Ô>�ØŸGšG G¨RÑ0Ô0ð 
"ð 
"�DØŸš ¨Ñ,Ô,×2Ò2Ñ4Ô4�AÝÐjÐjÐjÐjÐ+iÐjÑjÔjÑjÔjð "Ø $§¢¨°"Ñ 5Ô 5˜Ø ð "Ý$'Ð'OÐ'OÈÐ'OÑ'OÔ'OÑ$OÔ$O˜EÝ$'Ð'mÐ'mÐglÐ'mÑ'mÔ'mÑ$mÔ$m˜EÝ$'Ð'OÐ'OÈÐ'OÑ'OÔ'OÑ$OÔ$O˜EÝ$'Ð'nÐ'nÐhmÐ'nÑ'nÔ'nÑ$nÔ$n˜EÝ(+¨U°U©]¸aÑ,?Ñ(@Ô(@Å#ÀuÈuÁ}ÐXYÑFYÑBZÔBZÐ'[˜HØ!˜EøøøÝð =ð =ð =Ø—’Ð;¸Ð;Ð;Ñ<Ô<Ð<Ð<Ð<Ð<Ð<Ð<øøøøð=øøøð ñ 	Ø�HŠHð  dñ  eô  eð  eØˆNÝ•vÐ?Ñ@Ô@ð Ý!'Ô!FÀzÐ[_Ô[gÐquÔq}Ð!~Ñ!~Ô!~�àiÐiÐiÐiÐi¨ÐiÑiÔiˆNå+4°^ÀBÀQÀBÔ5GÑ+HÔ+Hð ñ Ñ'�™˜% Ø—’Ðb¸À1¹ÐbÐbÈeÐbÐbÐW\ÐbÐbÐbÑcÔcÐcØ—
’
˜5 %°S�
Ñ9Ô9Ð9Ø×+Ò+Ð,L¸wÈ¹{Ð,LÐ,LÑMÔM�ÝÔ0°Ñ9Ô9ð Ø—H’HÐf¨W°q©[ÐfÐfÐfÑgÔgÐgØØ×4Ò4°WÑ=Ô=�Øð IØ×1Ò1°'Ñ:Ô:ð DØŸš t¨T¸s˜ÑCÔCÐCØ—O’O G¨WÀ#�OÑFÔFÐFØ%)×%6Ò%6Ð7YÈGÐVWÉKÐ7YÐ7YÑ%ZÔ%Z�NØ#×8Ò8¸ÑHÔH�HØð Ø—H’Hð  QÐX`ÐabÔXcð  Qð  QÐgoÐpqÔgrð  Qð  Qð  CJð  MNñ  CNð  Qð  Qð  Qñ  Rô  Rð  RØ�Eñð
 ñ 	xØ�HŠHÐqÑrÔrÐrØ×>Ò>ÈQÐ>ÑOÔOˆGØð xØ$+Ñ!�˜'Ø˜zÒ)Ð)Ø&�H�Hà—J’J˜w qœz¨7°1¬:À3�JÑGÔGÐGØ#'×#4Ò#4Ð5OÑ#PÔ#P�LÝÔ4°\ÑBÔBð xØŸšÐ!uÑvÔvÐvÐvð  $×5Ò5°lÑCÔCð HØ ŸNšN¨4°À3˜NÑGÔGÐGØŸš¨°Àc˜ÑJÔJÐJØ)-×):Ò):Ð;SÑ)TÔ)T˜Ø#'×#<Ò#<¸^Ñ#LÔ#LÐ#wÐPT×PiÒPiÐjvÑPwÔPw˜àð 	ØhˆF�7‰OØˆMà!)Ñˆ
�Jð &1µF±H´HÐ%<Ð%<ÀÐ%<�y�yÐQ`ˆØ×'Ò'¨Ñ5Ô5ð 		.Ø�HŠHð  Gñ  Hô  Hð  HØ×1Ò1°'¸7ÑCÔCÐCÝ�tÐ7¸Ñ?Ô?ð CÀDÄIð CØ×,Ò,¨W°gÈ3Ð,ÑOÔOÐOÐOà—’ ¨¸c�ÑBÔBÐBØ×,Ò,Ð-JÑKÔKˆLØ×0Ò0°Ñ>Ô>ÐJÀ(ˆHØ%-Ñ"ˆJ˜
à�ŠÐn°*ÐnÐnÀ
ÐnÐnÐnÑoÔoÐoØ×ÒÑÔÐØ�
Š
�:˜z°sˆ
Ñ;Ô;Ð;Ø�ŠÐUÑVÔVÐVÝŒ
�3‰ŒˆØ×)Ò)Ð*@ÑAÔAˆØ× Ò  Ñ/Ô/ð 	<Ø�HŠHÐkÑlÔlÐlØ×ÒÑÔÐØ�JŠJ�z :¸3ˆJÑ?Ô?Ð?ÝŒJ�s‰OŒOˆOØ×ÒÐ:Ñ;Ô;Ð;à×)Ò)Ð*@ÑAÔAˆØ×'Ò'¨Ñ6Ô6ð 	Ø�HŠHð  Eñ  Fô  Fð  FØ×1Ò1°'¸7ÑCÔCÐCÝ�tÐ7¸Ñ?Ô?ð CÀDÄIð CØ×,Ò,¨W°gÈ3Ð,ÑOÔOÐOÐOà—’ ¨¸c�ÑBÔBÐBØ�JŠJ�z :¸3ˆJÑ?Ô?Ð?Ø�HŠHÐYÑZÔZÐZÝŒJ�s‰OŒOˆOØ ×-Ò-Ð.JÑKÔKˆMˆMà�HŠHÐYÑZÔZÐZÝŒJ�s‰OŒOˆOà$ˆˆxÑØˆs2   Þ3Fe	 å	
e5åe0å0e5ï;E#u õ
võ)vövc           	      ó.  ‡$‡%‡&‡'— dddddœ}|                       d¦  «         |                      ¦   «          |                      ¦   «          |                      ¦   «          t          j        d¦  «         |                      d¦  «        }d}| j        r)| j                             ¦   «         }|r|j        r|j        }|                       d	|› d
�¦  «         d\  }}d}t          j
        || j        | j        ¬¦  «        }|rrd„ |D ¦   «         }	|	r|	n|}
| j        dz  | j        dz  cŠ%Š'|
                     ˆ%ˆ'fd„¬¦  «         |
d         \  Š$Š&}‰$‰&}}d}|                       d|› d|› d|› d�¦  «         |s4|                      |¦  «        \  }}|                       d|› d|› d�¦  «         |                       d|› d|› d�¦  «         |�rí|�rê| j        dz  | j        dz  cŠ$Š&t#          j        |‰$z
  |‰&z
  ¦  «        }|d| j        z  k    �r8|‰$z
  }|‰&z
  }d}t#          j        ||¦  «        }|dk    r||z  nd}|dk    r||z  nd}||z   |z  }||z
  |z  }t'          dt)          d|dz  ¦  «        ¦  «        }|                       d |d!›d"|d#›d$�¦  «         |                      ¦   «          |                      |||¬%¦  «         t          j        d&¦  «         |                      d'¦  «        }t          j
        || j        | j        ¬¦  «        }|r6|                     ˆ$ˆ&fd(„¬¦  «         |d         d         |d         d)         }}|}|d*| j        z  k     r|t-          d+| j        z  ¦  «        z   }|                      ¦   «          |                       d,|› d|› d-�¦  «         |                      ||d&¬.¦  «         nk|                      ¦   «          |                       d/¦  «         |                      t-          d0| j        z  ¦  «        t-          d1| j        z  ¦  «        d&¬.¦  «         |                       d2¦  «         d}d}|}| j        �r<t1          d3¦  «        D �])}t          j        d¦  «         |d4v r¯|                      ¦   «          |rW|rU|d5v r|nt-          |d+| j        z  z   ¦  «        }|                       d6|› d|› d-�¦  «         |                      ||d&¬.¦  «         nB|                      t-          d0| j        z  ¦  «        t-          d1| j        z  ¦  «        d&¬.¦  «         | j                             ¦   «         }|r|j        n|}||k    r5d7|                     ¦   «         vr|                       d8|› d9�¦  «         d}|} n�Œ+�n| j        s+t6          j                             | j        ¦  «        r| j        €t          j        d:¦  «         d}d;}nÒ	 t?          | j        d<d=d>¬?¦  «        5 }|                      ¦   «         d@d …         }d d d ¦  «         n# 1 swxY w Y   tC          |¦  «        D ]E} dA| v sdB| v sdC| v r3dDD ]0}!|!                     ¦   «         |                      ¦   «         v r|!}d} nŒ1|r nŒFn/# tD          $ r"}"|                       dE|"› �¦  «         Y d }"~"nd }"~"ww xY w|s,dF|› dG|› dH�|dI<   |                       dJ|dI         › �¦  «         |S |                       dK¦  «         |                      ddd¬%¦  «         |                      dL¦  «        }#dM|dN<   d|dO<   ||dP<   |S )QNr  râ   F)rõ  rü  Úzone_transitionedÚentered_zoneu8   --- STAGE 4: BÆ°á»›c VÃ o Portal Chuyá»ƒn Cáº£nh Map ---rx  ÚSTAGE4_HIDEOUT_PORTAL_VIEWró  u&   Baseline zone trÆ°á»›c khi vÃ o map: 'ú'©NNr
  c                 óF   — g | ]}t          j        |d          ¦  «        °|‘ŒS r'  r(  r)  s     r_   r-  zLAutonomousMappingCoordinator.execute_stage4_map_entrance.<locals>.<listcomp>Ï  s0   € ÐwÐwÐw !Õ<NÔ<pÐqrÐstÔquÑ<vÔ<vÐw˜AÐwÐwÐwra   r¿   c                 óR   •— t          j        | d         ‰z
  | d         ‰z
  ¦  «        S rþ  rÿ  r  s    €€r_   r`   zJAutonomousMappingCoordinator.execute_stage4_map_entrance.<locals>.<lambda>Ò  s#   ø€ ­4¬:°a¸´d¸V±mÀQÀqÄTÈFÁ]Ñ+SÔ+S€ ra   r?  r   Tu0   ðŸŽ¯ Ä�Ã£ tÃ¬m tháº¥y nhÃ£n Portal báº±ng OCR: 'u	   ' táº¡i (rN  rÿ  uV   ðŸŒ€ Vá»‹ trÃ­ Portal xÃ¡c Ä‘á»‹nh (quang há»�c vortex / fallback quanh Map Device): (u    Vá»‹ trÃ­ Portal xÃ¡c Ä‘á»‹nh: (r  gß'Üež æ?r�  rî  rQ   r²  g     À‚@u   Portal á»Ÿ cÃ¡ch tÃ¢m rÇ  u!   px -> BÆ°á»›c WASD tiáº¿p cáº­n (rÆ  r   r¸  rX   ÚSTAGE4_PORTAL_APPROACHEDc                 óR   •— t          j        | d         ‰z
  | d         ‰z
  ¦  «        S rþ  rÿ  )r  r^  r_  s    €€r_   r`   zJAutonomousMappingCoordinator.execute_stage4_map_entrance.<locals>.<lambda>ô  s$   ø€ µd´jÀÀ1ÄÈÁÈAÈaÌDÐSUÉIÑ6VÔ6V€ ra   rc   rÒ  é<   u   Click LMB vÃ o Portal táº¡i (rO  rY   uV   KHÃ”NG TÃŒM THáº¤Y PORTAL quang há»�c â€” fallback click khu vá»±c bá»‡ Ä‘Ã¡ portal...é   i  u6   Chá»� chuyá»ƒn cáº£nh Map vÃ  kiá»ƒm tra Client.txt...r  )r  é   é   é   )r  ré  u   Click láº¡i Portal táº¡i (Úhideoutu9   ðŸŽ¯ XÃ¡c nháº­n chuyá»ƒn cáº£nh thÃ nh cÃ´ng vÃ o Map: 'ú'!rÍ   ÚSIMULATED_MAPrÉ  r   Úignore©r   ÚerrorsiâÿÿÿúGenerating levelÚEnteredu   VÃ o khu vá»±c:)Ú	Mineshaftr†  ÚFortressÚCreekÚMarshu   Lá»—i Ä‘á»�c Client.txt: z)Khong the chuyen canh vao Map (baseline='z', current='ú'). Fail-closed!rü  õ   â�Œ uN   BÆ°á»›c nháº¹ vá»� phÃ­a trÆ°á»›c trong Map Ä‘á»ƒ trÃ¡nh dáº«m láº¡i Portal...ÚSTAGE4_MAP_ENTEREDrý  rõ  rÜ  rÝ  )#rˆ   ró   rÓ  rÎ   rÓ   rå   r�   rÑ   rÒ   rï   r  rƒ   r„   r@   rA   rR  rô  r‘  r   r$  r�   r»  ri   rh   rú   r³  rG   rx   r   r€   rF   r÷   Ú	readlinesÚreversedrš   )(r^   rV  Úimg_hideoutÚbaseline_zonerÙ   r  r  Úocr_portal_foundr  Úvalid_labelsÚchosen_listÚ
label_textrM  rQ  rR  Ú	inv_sqrt2Ús_distÚsdxÚsdyrX  rY  rZ  Úimg_approachedÚp_labels_afterÚclick_target_yrÜ  rÝ  r  r•  rÜ  ÚfÚrecentrŠ  Úzr¼   Úimg_enteredr^  r  r_  r  s(                                       @@@@r_   Úexecute_stage4_map_entrancez8AutonomousMappingCoordinator.execute_stage4_map_entrance³  s	  øøøø€ Ø$¨rÈÐ_aÐbÐbˆØ�ŠÐKÑLÔLÐLØ×ÒÑÔÐð 	×ÒÑÔÐØ×ÒÑÔÐÝŒ
�3‰Œˆð ×'Ò'Ð(DÑEÔEˆð ,ˆØÔð 	1ØÔ%×?Ò?ÑAÔAˆFØð 1˜&Ô*ð 1Ø &Ô 0�Ø�ŠÐJ¸-ÐJÐJÐJÑKÔKÐKð (Ñˆ�(ð !ÐÝÔ7¸ÈTÌ\ÐcgÔcoÐpÑpÔpˆØð 	vØwÐw }ÐwÑwÔwˆLØ*6ÐI˜,˜,¸MˆKØ!œ]¨SÑ0°$´-À#Ñ2EˆNˆF�FØ×ÒÐ!SÐ!SÐ!SÐ!SÐ!SÐÑTÔTÐTØ!,¨Q¤ÑˆB��JØ!# R�hˆHØ#ÐØ�HŠHÐtÈ
ÐtÐtÐ]eÐtÐtÐiqÐtÐtÐtÑuÔuÐuð  ð 	GØ!%×!<Ò!<¸[Ñ!IÔ!IÑˆH�hØ�HŠHð  FÐnvð  Fð  Fð  {Cð  Fð  Fð  Fñ  Gô  Gð  Gà�ŠÐK°HÐKÐKÀÐKÐKÐKÑLÔLÐLàñ "	[˜ñ "	[à”] SÑ(¨$¬-¸#Ñ*=ˆFˆB�Ý!œZ¨°2©°xÀ"±}ÑEÔEˆNØ  d¤lÑ 2Ò2Ñ2Ø$ r™M�	Ø$ r™M�	Ø&�	Ýœ I¨yÑ9Ô9�Ø,2°UªN¨N�i &Ñ(Ð(À�Ø,2°UªN¨N�i &Ñ(Ð(À�Ø ™) yÑ0�Ø ™) yÑ0�Ý˜C¥ T¨>¸EÑ+AÑ!BÔ!BÑCÔC�Ø—’Ðw°.ÐwÐwÐwÐglÐwÐwÐwÐwÑxÔxÐxØ×!Ò!Ñ#Ô#Ð#Ø×(Ò(¨°À%Ð(ÑHÔHÐHÝ”
˜3‘”�Ø!%×!2Ò!2Ð3MÑ!NÔ!N�Ý!'Ô!@ÀÐY]ÔYeÐosÔo{Ð!|Ñ!|Ô!|�Ø!ð TØ"×'Ò'Ð,VÐ,VÐ,VÐ,VÐ,VÐ'ÑWÔWÐWØ)7¸Ô):¸1Ô)=¸~ÈaÔ?PÐQRÔ?S˜h�Hð &ˆNØ˜"˜tœ|Ñ+Ò+Ð+Ø!)­C°°T´\Ñ0AÑ,BÔ,BÑ!B�Ø×ÒÑÔÐØ�HŠHÐU°XÐUÐUÀÐUÐUÐUÑVÔVÐVØ�JŠJ�x ¸SˆJÑAÔAÐAÐAà×ÒÑÔÐØ�HŠHÐmÑnÔnÐnØ�JŠJ•s˜4 $¤,Ñ.Ñ/Ô/µ°S¸4¼<Ñ5GÑ1HÔ1HÐVYˆJÑZÔZÐZà�ŠÐIÑJÔJÐJØ!ÐØˆØ$ˆØÔñ %	:Ý˜2‘Y”Yð ñ �Ý”
˜3‘”�Ø˜Ð'Ð'Ø×%Ò%Ñ'Ô'Ð'Øð g Hð gØ/0°G¨|¨| 8 8ÅÀXÐPRÐUYÔUaÑPaÑEaÑAbÔAb˜ØŸšÐ!X¸hÐ!XÐ!XÈ(Ð!XÐ!XÐ!XÑYÔYÐYØŸ
š
 8¨XÀ3˜
ÑGÔGÐGÐGàŸ
š
¥3 t¨d¬lÑ':Ñ#;Ô#;½SÀÀtÄ|ÑASÑ=TÔ=TÐbe˜
ÑfÔfÐfØÔ)×CÒCÑEÔE�Ø39ÐL˜vÔ/Ð/¸}�Ø =Ò0Ð0°YÀl×FXÒFXÑFZÔFZÐ5ZÐ5ZØ—H’HÐiÐYeÐiÐiÐiÑjÔjÐjØ(,Ð%Ø#/�LØ�EùùØÔð 	:¥b¤g§n¢n°TÔ5IÑ&JÔ&Jð 	:ÈdÔN^ÐNfÝŒJ�s‰OŒOˆOØ $ÐØ*ˆLˆLð:Ý˜$Ô.°¸gÈhÐWÑWÔWð 1Ð[\ØŸ[š[™]œ]¨3¨4¨4Ô0�Fð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1å! &Ñ)Ô)ð ð �AØ)¨QÐ.Ð.°)¸q°.°.ÐDUÐYZÐDZÐDZØ!Xð &ð &˜AØ Ÿwšw™yœy¨A¯GªG©I¬IÐ5Ð5Ø/0 Ø48Ð 1Ø % ð  6ð )ð Ø˜ðøøåð :ð :ð :Ø—’Ð8°QÐ8Ð8Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9øøøøð:øøøð !ð 	ð DÈ-ð  Dð  DÐeqð  Dð  Dð  DˆF�7‰OØ�HŠHÐ-˜F 7œOÐ-Ð-Ñ.Ô.Ð.ØˆMð 	�ŠÐaÑbÔbÐbØ× Ò   c°DÐ Ñ9Ô9Ð9à×'Ò'Ð(<Ñ=Ô=ˆØ$ˆˆxÑØ&*ˆÐ"Ñ#Ø!-ˆˆ~ÑØˆs=   ×Y' ×X×:Y' ØX
Ø
Y' ØX
ØAY' Ù'
ZÙ1ZÚZc                 óF  — dd ddœ}|                       d¦  «         |                      ¦   «          t          t          j                             d¦  «        rdnd| j        | j        ddd	d
d| j        | j	        ¬¦
  «
        }| 
                    ¦   «         }||d<   ||d<   d|d<   |S )Nr  râ   )rõ  Úrunner_resultrü  z8--- STAGE 5: In-Map Autonomous Clear Sequence (P1-1) ---zbin\AutoPOE2_Core.exezbin\Release\AutoPOE2_Core.exer$  Fi¼  i�  éñ   )
Úcore_exerÞ  Úmin_duration_secÚcapture_interval_secÚportal_exitÚmax_esÚmax_manaÚmax_wardÚminimap_adapterÚwasd_senderr  Úrunner_instancerý  rõ  )rˆ   ró   r6   rx   r   r€   rC   rD   r�   r»  r¹   )r^   rV  ÚrunnerÚ
runner_ress       r_   Úexecute_stage5_map_clearz5AutonomousMappingCoordinator.execute_stage5_map_clear=  sÂ   € Ø$°tÀbÐIÐIˆØ�ŠÐKÑLÔLÐLØ×ÒÑÔÐå$Ý13´·²Ð@XÑ1YÔ1YÐÐ-Ð-Ð_Ø!Ô2Ø!Ô6Ø!$ØØØØØ Ô4ØÔ0ð
ñ 
ô 
ˆð —\’\‘^”^ˆ
Ø",ˆˆÑØ$*ˆÐ Ñ!Ø$ˆˆxÑØˆra   râ   r  Úmap_zonec           	      ó²  — dddddœ}|                       d¦  «         |                      ¦   «          |                      d¦  «        }|                      |¦  «        }|r?|                       d|› d�¦  «         |                      |d	         |d
         d¬¦  «         �n½|r|                     ¦   «          �n¥|                      ddd¬¦  «         t          j        d¦  «         d}|  	                    |dd¬¦  «         |                      d¦  «        }d\  }}	t          j        || j        | j        d¬¦  «        }
|
r.d„ |
D ¦   «         }|r|d	         n|
d	         }|d	         |d
         }	}|r¯|	r­|                       d|› d|	› d�¦  «         |                      ||	d¬¦  «         |                      |t          d| j        z  ¦  «        z
  |	t          d| j        z  ¦  «        z   d¬¦  «         |                      ||	t          d | j        z  ¦  «        z   d!¬¦  «         nB|                      t          d"| j        z  ¦  «        t          d#| j        z  ¦  «        d!¬¦  «         d}d}d}| j        �rãt!          d¦  «        D �]Ñ}t          j        d$¦  «         |d%v �rf|                      ¦   «          |                      d&|› �¦  «        }|                      |¦  «        }|r?|                       d'|› d�¦  «         |                      |d	         |d
         d!¬¦  «         �nä|                       d(|d)z  › d*�¦  «         |                      ddd¬¦  «         t          j        d¦  «         d}|  	                    |dd+¬¦  «         |                      d,|› �¦  «        }d\  }}t          j        || j        | j        d¬¦  «        }|r.d-„ |D ¦   «         }|r|d	         n|d	         }|d	         |d
         }}|r¯|r­|                       d.|› d|› d�¦  «         |                      ||d¬¦  «         |                      |t          d| j        z  ¦  «        z
  |t          d| j        z  ¦  «        z   d¬¦  «         |                      ||t          d/| j        z  ¦  «        z   d¬¦  «         nbt          | j        d$z  ¦  «        }t          | j        dz  ¦  «        }|                       d0|› d|› d*�¦  «         |                      ||d¬¦  «         | j                             ¦   «         }|r|j        nd}d1|                     ¦   «         v r'|r||k    r|                       d2|› d3�¦  «         d}|} nð|d4z  d	k    rå	 d	d5lm} |                      d6|› �d¬7¦  «        }|r¯t0          j                             |¦  «        r� |j        |¦  «        }t          j        |¦  «        }d8                     d9„ |                     d:g ¦  «        D ¦   «         ¦  «                             ¦   «         }d;|v r#d<|vrd=|vr|                       d>¦  «         d}d?} n�ŒÀ# t@          $ r Y �ŒÍw xY w�ŒÓnt          j        d@¦  «         d}d?}|�s | j        �r|                       dA¦  «         |                      ¦   «          dB}|  	                    |dCdD¬¦  «         tB          j"        j#        } dED ]>}!|  $                    tK          |!¦  «        ¦  «        dFz  }"|  	                    |"dG¬¦  «         Œ?|  	                    |dCdH¬¦  «         t          j        d!¦  «         | j                             ¦   «         }|r|j        nd}d1|                     ¦   «         v r|                       dI|› d3�¦  «         d}|}|s,dJ|› dK|› dL�|dM<   |                       dN|dM         › �¦  «         |S |                      dO¦  «        }#dP|dQ<   d|dR<   ||dS<   |S )TNr  râ   F)rõ  rü  Úreturned_to_hideoutÚ
final_zonez>--- STAGE 6: Town Portal Exit & Safe Transition To Hideout ---ÚSTAGE6_INIT_CHECKuO   âš ï¸� PhÃ¡t hiá»‡n mÃ n hÃ¬nh Tá»­ tráº­n! Click 'RESURRECT IN HIDEOUT' táº¡i z...r   rc   rq   rY   rî  rQ   r²  r¸  ra  é¾   é4   rQ  ÚSTAGE6_PORTAL_OPENEDrà  T)rƒ   r„   Úallow_hideoutc                 óJ   ‡— g | ]Št          ˆfd „dD ¦   «         ¦  «        ¯‰‘Œ S )c              3   óP   •K  — | ] }|‰d                                ¦   «         v V — Œ!dS ©ré   N©r#  ©r  Úkwr  s     €r_   r  zWAutonomousMappingCoordinator.execute_stage6_portal_return.<locals>.<listcomp>.<genexpr>o  s5   øè è € ÐAxÐAxÐY[À"ÈÈ!ÌÏ
Ê
ÉÌÐBTÐAxÐAxÐAxÐAxÐAxÐAxra   ©ÚHIDEOUTÚ	SHORELINE©rÂ  r)  s    @r_   r-  zMAutonomousMappingCoordinator.execute_stage6_portal_return.<locals>.<listcomp>o  s<   ø€ Ð!yÐ!yÐ!y¨½cÐAxÐAxÐAxÐAxÐ_wÐAxÑAxÔAxÑ>xÔ>xÐ!y !Ð!yÐ!yÐ!yra   u1   ðŸŽ¯ Ä�Ã£ tÃ¬m tháº¥y Portal vá»� Hideout táº¡i (rN  u   ). Click LMB bÆ°á»›c vÃ o...rX   rå  éP   rÒ  r$  ræ  iø  rx  )rç  é   r  ÚSTAGE6_PRE_RETRY_u*   âš ï¸� Click 'RESURRECT IN HIDEOUT' táº¡i u?   TÆ°Æ¡ng tÃ¡c láº¡i má»Ÿ Town Portal vá»� Hideout (Thá»­ láº§n #rç  rO  r  ÚSTAGE6_RETRY_c                 óJ   ‡— g | ]Št          ˆfd „dD ¦   «         ¦  «        ¯‰‘Œ S )c              3   óP   •K  — | ] }|‰d                                ¦   «         v V — Œ!dS r(  r)  r*  s     €r_   r  zWAutonomousMappingCoordinator.execute_stage6_portal_return.<locals>.<listcomp>.<genexpr>‘  s6   øè è € ÐHÐHÐ`bÈÈqÐQRÌtÏzÊzÉ|Ì|ÐI[ÐHÐHÐHÐHÐHÐHra   r,  r/  r)  s    @r_   r-  zMAutonomousMappingCoordinator.execute_stage6_portal_return.<locals>.<listcomp>‘  sQ   ø€ ð  .Að  .Að  .A°AÅSÐHÐHÐHÐHÐf~ÐHÑHÔHÑEÔEð  .A¨að  .Að  .Að  .Ara   u7   ðŸŽ¯ Ä�Ã£ tÃ¬m tháº¥y nhÃ£n Portal vá»� Hideout táº¡i (r  uM   âš ï¸� KhÃ´ng nháº­n diá»‡n Ä‘Æ°á»£c nhÃ£n OCR. Click fallback portal táº¡i (rê  u8   ðŸ�  [LogWatcher] XÃ¡c nháº­n Ä‘Ã£ quay vá»� an toÃ n: 'rë  r  r
   ÚSTAGE6_OPTICAL_VERIFY_r¨  r…  c              3   óB   K  — | ]}|                      d d¦  «        V — ŒdS r‡  rˆ  r‰  s     r_   r  zLAutonomousMappingCoordinator.execute_stage6_portal_return.<locals>.<genexpr>±  s0   è è € Ð,_Ð,_À1¨Q¯UªU°6¸2Ñ->Ô->Ð,_Ð,_Ð,_Ð,_Ð,_Ð,_ra   r  r-  zMAP OBJECTIVESzMAP CONTENTu^   ðŸ�  [Quang há»�c] XÃ¡c nháº­n mÃ n hÃ¬nh Ä‘Ã£ á»Ÿ trong Hideout (khÃ´ng cÃ²n Map Objectives)!ró  g      @uN   âš ï¸� Thá»­ gá»­i lá»‡nh chat '/hideout' Ä‘á»ƒ trá»Ÿ vá»� Hideout an toÃ n...é   r1  rP  z/hideoutéÿ   g¸…ëQ¸ž?r¿   u;   ðŸ�  XÃ¡c nháº­n Ä‘Ã£ quay vá»� Hideout qua chat command: 'z1Khong the quay tro ve Hideout sau 30s (map_zone='z', cur_zone='rö  rü  r÷  ÚSTAGE6_RETURN_TO_HIDEOUTrý  rõ  r  r   )&rˆ   ró   rå   r,  rh   Úexecute_portal_exitr»  rÎ   rÓ   r\   rï   r  rƒ   r„   ri   r�   rú   r@   rA   rÑ   rÒ   r³  rö   r   rx   r   r€   r÷   r!  rÃ   r"  r#  rš   r’   r•   r–   Ú
VkKeyScanWÚord)$r^   r  r  rV  Úimg_initÚresurrect_posÚ	VK_PERIODÚ
img_portalr  r  r  Úhideout_labelsÚchosenr  r   Úcur_zoner•  Ú	img_checkÚr_posr�  Úr_xÚr_yÚr_labelsÚfb_xÚfb_yrÙ   r   Úv_capÚv_pilÚv_resÚv_txtÚ	VK_RETURNr–   r¥   r]   Úimg_returneds$                                       r_   Úexecute_stage6_portal_returnz9AutonomousMappingCoordinator.execute_stage6_portal_returnT  s‰	  € ð
 %¨rÈ%Ð_aÐbÐbˆØ�ŠÐQÑRÔRÐRØ×ÒÑÔÐð ×$Ò$Ð%8Ñ9Ô9ˆØ×3Ò3°HÑ=Ô=ˆØð 	_Ø�HŠHÐyÐgtÐyÐyÐyÑzÔzÐzØ�JŠJ�} QÔ'¨°qÔ)9ÀsˆJÑKÔKÐKÑKØð 	_Ø×&Ò&Ñ(Ô(Ð(Ñ(ð ×$Ò$ S¨#¸Ð$Ñ=Ô=Ð=ÝŒJ�s‰OŒOˆOØˆIØ�NŠN˜9 d¸ˆNÑ<Ô<Ð<Ø×*Ò*Ð+AÑBÔBˆJØ!+ÑˆH�hÝ"Ô;¸JÐPTÔP\ÐfjÔfrð  CGð  Hñ  Hô  HˆMØð :Ø!yÐ!y¨]Ð!yÑ!yÔ!y�Ø.<ÐR˜¨Ô*Ð*À-ÐPQÔBR�Ø%+¨A¤Y°°q´	˜(�Øð _˜Hð _Ø—’ÐÈXÐÐÐYaÐÐÐñ  Aô  Að  AØ—
’
˜8 X¸3�
Ñ?Ô?Ð?Ø—
’
˜8¥c¨"¨t¬|Ñ*;Ñ&<Ô&<Ñ<¸hÍÈRÐRVÔR^ÑM^ÑI_ÔI_Ñ>_Ðmp�
ÑqÔqÐqØ—
’
˜8 Xµ°B¸¼Ñ4EÑ0FÔ0FÑ%FÐTW�
ÑXÔXÐXÐXà—
’
�3˜t d¤lÑ2Ñ3Ô3µS¸¸t¼|Ñ9KÑ5LÔ5LÐZ]�
Ñ^Ô^Ð^à#ÐØˆ
ØˆØÔñ ?	-Ý˜2‘Y”Yð :ñ :�Ý”
˜3‘”�Ø˜Ð$Ñ$Ø×%Ò%Ñ'Ô'Ð'Ø $× 1Ò 1Ð2IÀaÐ2IÐ2IÑ JÔ J�IØ ×7Ò7¸	ÑBÔB�EØð DØŸšÐ!XÈeÐ!XÐ!XÐ!XÑYÔYÐYØŸ
š
 5¨¤8¨U°1¬XÀ3˜
ÑGÔGÐGÑGàŸšÐ!pÐcdÐhjÑcjÐ!pÐ!pÐ!pÑqÔqÐqØ×0Ò0°°cÀDÐ0ÑIÔIÐIÝœ
 3™œ˜Ø$(˜	ØŸš y°$ÀC˜ÑHÔHÐHØ$(×$5Ò$5Ð6IÀaÐ6IÐ6IÑ$JÔ$J˜	Ø#-™˜˜SÝ#)Ô#BÀ9ÐVZÔVbÐlpÔlxð  IMð  $Nñ  $Nô  $N˜Ø#ð <ð .Að  .A¸ð  .Añ  .Aô  .A˜NØ:HÐ%Y ^°AÔ%6Ð%6ÈhÐWXÌk˜FØ'-¨a¤y°&¸´) ˜CØð 
D 3ð 
DØ ŸHšHð  &HÐ_bð  &Hð  &HÐfið  &Hð  &Hð  &Hñ  Iô  Ið  IØ ŸJšJ s¨C¸S˜JÑAÔAÐAØ ŸJšJ s­S°°d´lÑ1BÑ-CÔ-CÑ'CÀSÍ3ÈrÐTXÔT`ÑO`ÑKaÔKaÑEaÐor˜JÑsÔsÐsØ ŸJšJ s¨Cµ#°b¸4¼<Ñ6GÑ2HÔ2HÑ,HÐVY˜JÑZÔZÐZÐZõ $' t¤}°tÑ';Ñ#<Ô#<˜DÝ#& t¤}°tÑ';Ñ#<Ô#<˜DØ ŸHšHð  &HÐuyð  &Hð  &Hð  ~Bð  &Hð  &Hð  &Hñ  Iô  Ið  IØ ŸJšJ t¨T¸s˜JÑCÔCÐCàÔ)×CÒCÑEÔE�Ø/5Ð=˜6Ô+Ð+¸2�à §¢Ñ 0Ô 0Ð0Ð0¸(Ð0ÀhÐRZÒFZÐFZØ—H’HÐdÐX`ÐdÐdÐdÑeÔeÐeØ*.Ð'Ø!)�JØ�Eð �q‘5˜A’:�:ðØ-Ð-Ð-Ð-Ð-Ð-Ø $× 1Ò 1Ð2NÈ1Ð2NÐ2NÐ\aÐ 1Ñ bÔ b˜Ø ð &¥R¤W§^¢^°EÑ%:Ô%:ð &Ø$. E¤J¨uÑ$5Ô$5˜EÝ$*Ô$BÀ5Ñ$IÔ$I˜EØ$'§H¢HÐ,_Ð,_ÈÏ	Ê	ÐRYÐ[]ÑH^ÔH^Ð,_Ñ,_Ô,_Ñ$_Ô$_×$eÒ$eÑ$gÔ$g˜EØ(¨EÐ1Ð1Ð6FÈeÐ6SÐ6SÐXeÐmrÐXrÐXrØ $§¢ð  *Jñ  !Kô  !Kð  !KØ6:Ð 3Ø-@ 
Ø % ùøÝ$ð ð ð Ø™ðøøøñ øõ  ŒJ�s‰OŒOˆOØ"&ÐØ,ˆJà"ñ 	& tÔ'7ñ 	&Ø�HŠHÐeÑfÔfÐfØ×ÒÑÔÐØˆIØ�NŠN˜9 d¸ˆNÑ=Ô=Ð=Ý”]Ô)ˆFØ ð 5ð 5�Ø×&Ò&¥s¨2¡w¤wÑ/Ô/°$Ñ6�Ø—’˜r¨t�Ñ4Ô4Ð4Ð4Ø�NŠN˜9 d¸ˆNÑ<Ô<Ð<ÝŒJ�s‰OŒOˆOØÔ%×?Ò?ÑAÔAˆFØ+1Ð9�vÔ'Ð'°rˆHØ˜HŸNšNÑ,Ô,Ð,Ð,Ø—’ÐcÐW_ÐcÐcÐcÑdÔdÐdØ&*Ð#Ø%�
à"ð 	ð DÐRZð  Dð  DÐiqð  Dð  Dð  DˆF�7‰OØ�HŠHÐ-˜F 7œOÐ-Ð-Ñ.Ô.Ð.ØˆMà×(Ò(Ð)CÑDÔDˆØ$ˆˆxÑØ(,ˆÐ$Ñ%Ø)ˆˆ|ÑØˆs   Õ#CX6Ø6
YÙYé-   Útimeout_secc                 ó(  — | j         rdS t          j        ¦   «         rt          j        ¦   «         rdS |                      d¦  «         t          j        ¦   «                              d¦  «        }d|› d�}t          j	        |d¬¦  «         |                      d|› �¦  «         t          j
        | j        |¬¦  «        }|r?|                      d	¦  «         t          j        d
¦  «         |                      ¦   «          dS |                      d¦  «         dS )u$  
        [INV-CLIENT-CRASH-RECOVER] (Doc 69 Â§3.5 / Â§5 P3)
        PhÃ¡t hiá»‡n sá»± cá»‘ Client Crash / VÄƒng game:
        - Náº¿u Ä‘ang cháº¡y giáº£ láº­p (is_simulated): Bá»� qua.
        - Kiá»ƒm tra náº¿u game Ä‘ang cháº¡y vÃ  cá»­a sá»• sáºµn sÃ ng: Tráº£ vá»� True ngay.
        - Náº¿u game bá»‹ crash/vÄƒng:
          1. Ghi nháº­n Incident Dossier (`INCIDENT_CLIENT_CRASH_<TIMESTAMP>`).
          2. KÃ­ch hoáº¡t Poe2ClientLauncher.recover_client_if_crashed().
          3. Chá»� á»•n Ä‘á»‹nh cá»­a sá»• vÃ  phá»¥c há»“i Focus.
        TuZ   âš ï¸� PHÃ�T HIá»†N Sá»° Cá»�: Client Path of Exile 2 bá»‹ Crash hoáº·c máº¥t káº¿t ná»‘i!z%Y%m%d_%H%M%Sz!debug_harness/incidents/INCIDENT_Ú_CLIENT_CRASHrM   u   Ä�Ã£ táº¡o há»“ sÆ¡ sá»± cá»‘: )r�   Úwait_timeout_secuK   âœ… Phá»¥c há»“i Client thÃ nh cÃ´ng! Ä�ang khÃ´i phá»¥c Ä‘iá»�u khiá»ƒn...r¿   u%   â�Œ Phá»¥c há»“i Client tháº¥t báº¡i!F)rG   r!   Úis_client_runningÚis_client_window_readyrˆ   r   r®   r¯   rx   ry   Úrecover_client_if_crashedr�   rÎ   rÓ   ró   )r^   rT  Úts_incidentÚincident_dirr;  s        r_   Ú#recover_from_client_crash_if_neededz@AutonomousMappingCoordinator.recover_from_client_crash_if_neededÛ  s   € ð Ôð 	Ø�4åÔ/Ñ1Ô1ð 	Õ6HÔ6_Ñ6aÔ6að 	Ø�4à�ŠÐmÑnÔnÐnÝ”l‘n”n×-Ò-¨oÑ>Ô>ˆØU¸;ÐUÐUÐUˆÝ
Œ�L¨4Ð0Ñ0Ô0Ð0Ø�ŠÐA°<ÐAÐAÑBÔBÐBåÔ9ØÔ(Ø(ð
ñ 
ô 
ˆð ð 	Ø�HŠHÐbÑcÔcÐcÝŒJ�s‰OŒOˆOØ×ÒÑÔÐØ�4à�HŠHÐ<Ñ=Ô=Ð=Ø�5ra   c           
      óŒ  — dg g g dd d d d dœ	}|                       d¦  «         |                       d|› d�¦  «         |                       d¦  «         |                      ¦   «         sd|d<   |S d	}| j        s|                      ¦   «          d
}|                      ¦   «          	 |                      |||||¬¦  «        |r|                      ¦   «          t          | j        ¦  «        |d<   t          | j	        ¦  «        |d<   S # |r|                      ¦   «          t          | j        ¦  «        |d<   t          | j	        ¦  «        |d<   w xY w)Nr  râ   )	rõ  Ústages_completedÚevidence_imagesÚsentinel_imagesrü  Ústage0_dataÚstage0_post_dataÚstage1_datar  ú:==========================================================z>  AutoPOE2 - Closed-Loop Autonomous Mapping Coordinator (Slot rÿ  u]   Client Path of Exile 2 khÃ´ng cháº¡y vÃ  phá»¥c há»“i tháº¥t báº¡i (INV-CLIENT-CRASH-RECOVER)rü  FT)r  rÞ  rß  rà  rá  r`  ra  )
rˆ   r]  r�   r½   ró   Ú_execute_pipeline_corerÅ   r¨  r‚   rŸ   )r^   rÞ  rß  rà  rá  r  Úneed_stop_sentinels          r_   Úexecute_pipelinez-AutonomousMappingCoordinator.execute_pipelineÿ  sž  € ð Ø "Ø!Ø!ØØØ $ØØ!ð

ð 

ˆð 	�ŠÐMÑNÔNÐNØ�ŠÐdÐRaÐdÐdÐdÑeÔeÐeØ�ŠÐMÑNÔNÐNð ×7Ò7Ñ9Ô9ð 	Ø}ˆF�7‰OØˆMà"ÐØÔ%ð 	&Ø×"Ò"Ñ$Ô$Ð$Ø!%Ðà×ÒÑÔÐð	EØ×.Ò.ØØ /Ø /Ø%9Ø$7ð /ñ ô ð "ð (Ø×%Ò%Ñ'Ô'Ð'Ý(,¨TÔ-CÑ(DÔ(DˆFÐ$Ñ%Ý(,¨TÔ-CÑ(DÔ(DˆFÐ$Ñ%Ð%øð "ð (Ø×%Ò%Ñ'Ô'Ð'Ý(,¨TÔ-CÑ(DÔ(DˆFÐ$Ñ%Ý(,¨TÔ-CÑ(DÔ(DˆFÐ$Ñ%ÐDÐDÐDÐDs   ÂC= Ã=AEç     €A@Úmax_wait_secc                 ón  — | j         rdS t          j        ¦   «         }t          j        ¦   «         |z
  |k     �r}t          j                             | j        ¦  «        rà	 t          | j        ddd¬¦  «        5 }|                     ¦   «         dd…         }ddd¦  «         n# 1 swxY w Y   d}d}t          |¦  «        D ]\  }}d	|v r|}d
|v sd|v r|}Œ||k    r0|dk    r*|  	                    d¦  «         t          j
        d¦  «         Œë||k    r|dk    r|  	                    d¦  «         dS n# t          $ r Y nw xY w|                      dd¬¦  «        }	|	r^t          j                             |	¦  «        r?t          j        |	¦  «        r+|  	                    d¦  «         t          j
        d¦  «         �Œ–dS dS )u   Ä�áº£m báº£o game Ä‘Ã£ thoÃ¡t hoÃ n toÃ n khá»�i Loading Screen trÆ°á»›c khi thá»±c hiá»‡n thao tÃ¡c (INV-LOADING-SCREEN-GATE).TrÉ  r   rí  rî  iìÿÿÿNr�  rð  z[LOADING SCREEN]zYou have enteredue   â�³ [INV-LOADING-SCREEN-GATE] Game Ä‘ang load scene má»›i (Generating level). Chá»� loading screen...rQ  ub   âœ… [INV-LOADING-SCREEN-GATE] Client.txt xÃ¡c nháº­n Loading Screen Ä‘Ã£ káº¿t thÃºc dá»©t khoÃ¡t.ÚLOADING_SCREEN_CHECKFr¨  uf   â�³ [INV-LOADING-SCREEN-GATE] Quang há»�c phÃ¡t hiá»‡n Loading Screen. Chá»� cáº£nh 3D káº¿t xuáº¥t...)rG   rÎ   rx   r   r€   rF   r÷   rù  r�  rˆ   rÓ   rš   rå   rï   Úis_loading_screen)
r^   rj  Ústart_tr  Úrecent_linesÚgen_idxÚload_idxÚidxrŠ  Ú	check_imgs
             r_   rK  z>AutonomousMappingCoordinator.wait_for_loading_screen_to_finish/	  sD  € àÔð 	Ø�4Ý”)‘+”+ˆÝŒi‰kŒk˜GÑ# lÒ2Ñ2åŒw�~Š~˜dÔ2Ñ3Ô3ð ðÝ˜dÔ2°CÀ'ÐRZÐ[Ñ[Ô[ð ;Ð_`Ø'(§{¢{¡}¤}°S°T°TÔ':˜ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;à �GØ!�HÝ"+¨LÑ"9Ô"9ð +ð +™˜˜QØ-°Ð2Ð2Ø&)˜GØ-°Ð2Ð2Ð6HÈAÐ6MÐ6MØ'*˜Høà Ò)Ð)¨g¸ªm¨mØŸšð  "Jñ  Kô  Kð  KÝœ
 3™œ˜Ø à 'Ò)Ð)¨h¸"ªn¨nØŸšð  "Gñ  Hô  Hð  HØ#˜tøøÝ ð ð ð Ø�Dðøøøð ×)Ò)Ð*@ÈeÐ)ÑTÔTˆIØð �RœWŸ^š^¨IÑ6Ô6ð ÝÔ+¨IÑ6Ô6ð Ø—H’Hð  Gñ  Hô  Hð  HÝ”J˜s‘O”O�OÙØ�4Øˆus=   ÁD, Á5BÂD, ÂB"Â"D, Â%B"Â&A!D, Ä!D, Ä,
D9Ä8D9r  c           	      óø  — |                       ¦   «          |                      ¦   «          	 | j                             dddg ¬¦  «        }|                     dd¦  «        dk    r|                      d|d         › d�¦  «         n/# t          $ r"}|                      d	|› �¦  «         Y d }~nd }~ww xY w| j        s®| j        r§| j         	                    ¦   «         }|rŒ|j
        r…d
|j
                             ¦   «         vrj|                      d|j
        › d�¦  «         |                      |j
        ¬¦  «        }	|	d         dk    r%d|j
        › d|	                     d¦  «        › �|d<   |S |rM|                      ¦   «         }
|
|d<   |
                     d¦  «        dk    r|d                              d¦  «         |r|                      ¦   «         nd }|r¶|                      d|d         › d|d         › d|d         › d�¦  «         |                      d¦  «         |                      ¦   «         }|d         dk    rd|                     d¦  «        › �|d<   |S |d                              d¦  «         |                     dd ¦  «        }�n±|                      |¬!¦  «        }||d"<   |d         dk    rd#|                     d¦  «        › �|d<   |S |d                              d$¦  «         |                      |¬%¦  «        }|d         dk    rd&|                     d¦  «        › �|d<   |S |d                              d'¦  «         |                     d(¦  «        s`|                      |d)         ¦  «        }|d         dk    rd*|                     d¦  «        › �|d<   |S |d                              d+¦  «         n|                      d,¦  «         |                      ¦   «         }|d         dk    rd|                     d¦  «        › �|d<   |S |d                              d¦  «         |                     dd ¦  «        }|                      ¦   «         }|                     d-¦  «        |d-<   |d         dk    rd.|                     d¦  «        › �|d<   |S |d                              d/¦  «         |                     d0¦  «        }|                      ||¬1¦  «        }|d         dk    rd2|                     d¦  «        › �|d<   |S |d                              d3¦  «         |rd|                      d4¦  «         |                      d¬5¦  «        }||d6<   |                     d¦  «        dk    r|d                              d7¦  «         	 |                     d8i ¦  «                             d9d:¦  «        }t+          | d;i ¦  «        }| j                             |d|d<¬=¦  «        }|j        |j        |j        r|j        j        nd |j        |j        |j        |j        d>œ|d?<   |j         |d@<   |j!        |dA<   |                      dB| j         "                    |¦  «        › �¦  «         n/# t          $ r"}|                      dC|› �¦  «         Y d }~nd }~ww xY wd|d<   tG          | j$        ¦  «        |dD<   tG          | j%        ¦  «        |dE<   |                      dF¦  «         |                      dG¦  «         |                      dF¦  «         |S )HNFg     8�@T)Úis_in_combatÚmin_monster_distanceÚis_hideout_or_townÚready_slotsÚleveled_countr   u   ðŸ’Ž Ä�Ã£ thÄƒng cáº¥p u*    ngá»�c ká»¹ nÄƒng an toÃ n trong Hideout.u   LÆ°u Ã½ Auto-Gem Leveling: rê  u   âš ï¸� NhÃ¢n váº­t Ä‘ang á»Ÿ 'uS   ', khÃ´ng pháº£i Hideout! KÃ­ch hoáº¡t Stage 6 Ä‘á»ƒ trá»Ÿ vá»� Hideout an toÃ n...)r  rõ  rý  u%   KhÃ´ng thá»ƒ quay vá»� Hideout tá»« 'z': rü  rb  r_  ÚSTAGE0_STASHuY   ðŸŒ€ [INV-PORTAL-OPEN-BYPASS] PhÃ¡t hiá»‡n cá»•ng Portal Ä‘Ã£ má»Ÿ sáºµn trong Hideout ('ré   u   ' táº¡i rN  rc   rà  uA   Bá»� qua Stage 1-3, tiáº¿n tháº³ng vÃ o Stage 4 (Map Entrance)...u   Stage 4 tháº¥t báº¡i: ÚSTAGE4_MAP_ENTRANCErÝ  râ   )rÞ  rd  u   Stage 1 tháº¥t báº¡i: ÚSTAGE1_PRECHECK)rá  u   Stage 2 tháº¥t báº¡i: ÚSTAGE2_MAP_DEVICEr  r  u   Stage 3 tháº¥t báº¡i: ÚSTAGE3_ATLAS_ACTIVATIONuv   ðŸŒ€ [INV-PORTAL-OPEN-BYPASS] Cá»•ng Portal Ä‘Ã£ má»Ÿ sáºµn táº¡i Map Device -> Bá»� qua Stage 3, tiáº¿n vÃ o Stage 4.r  u   Stage 5 tháº¥t báº¡i: ÚSTAGE5_MAP_CLEARr  )r  r  u   Stage 6 tháº¥t báº¡i: ÚSTAGE6_PORTAL_RETURNuO   ðŸ“¦ Thá»±c hiá»‡n chu trÃ¬nh cáº¥t Ä‘á»“ háº­u map (Post-Map Stash Routine)...)rÙ  rc  ÚSTAGE0_POST_STASHÚstage3_datarŒ  Úmap_node_001Úlast_walleträ  )rŒ  rŠ  rå  rç  )Úmap_node_idÚtotal_passive_pointsÚallocated_passiveÚ
tree_phaseÚatlas_completion_pctÚdelta_net_worth_chaosÚdelta_net_worth_divineÚatlas_progressionÚnet_worth_chaosÚnet_worth_divineú
u#   LÆ°u Ã½ Atlas Progression Service: r`  ra  re  uN   >> TOÃ€N Bá»˜ CHU TRÃŒNH CLOSED-LOOP MAPPING Ä�Ãƒ HOÃ€N Táº¤T THÃ€NH CÃ”NG! <<)&rK  rÓ  r�   Úprocess_cycler"  rˆ   rš   rG   r�   rÑ   rÒ   r³  rR  rÝ  rÐ   r
  r  ry  rt  rÚ  r  r«  r‘   Úon_map_completedr…  Útotal_atlas_passive_pointsÚnewly_allocated_passiverð  Úcurrent_tree_phaser‰  rŠ  r‹  Úcurrent_net_worth_chaosÚcurrent_net_worth_divineÚformat_summary_blockr¨  r‚   rŸ   )r^   r  rÞ  rß  rà  rá  Úgem_resr¼   Úcurrent_seededÚ
s6_recoverÚs0r8  Ús4Úentered_map_zoneÚs1Ús2Ús3Ús5r  Ús6Ús0_postrŒ  Úwallet_summaryÚatlas_rewards                           r_   rf  z3AutonomousMappingCoordinator._execute_pipeline_coreW	  s_  € ð 	×.Ò.Ñ0Ô0Ð0ð 	×ÒÑÔÐð
	8ØÔ&×4Ò4Ø"Ø%*Ø#'Øð	 5ñ ô ˆGð �{Š{˜?¨AÑ.Ô.°Ò2Ð2Ø—’Ðw°7¸?Ô3KÐwÐwÐwÑxÔxÐxøøÝð 	8ð 	8ð 	8Ø�HŠHÐ6°1Ð6Ð6Ñ7Ô7Ð7Ð7Ð7Ð7Ð7Ð7øøøøð	8øøøð Ô ð 	" TÔ%5ð 	"Ø!Ô-×GÒGÑIÔIˆNØð " .Ô":ð "¸yÐP^ÔPh×PnÒPnÑPpÔPpÐ?pÐ?pØ—’ð  h¸.Ô:Rð  hð  hð  hñ  iô  ið  iØ!×>Ò>ÈÔH`Ð>ÑaÔa�
Ø˜hÔ'¨9Ò4Ð4ð 'EÈnÔNfð  'Eð  'EÐku×kyÒkyð  {Bñ  lCô  lCð  'Eð  'E�F˜7‘OØ!�Mð ð 	BØ×2Ò2Ñ4Ô4ˆBØ$&ˆF�=Ñ!Ø�vŠv�hÑÔ 9Ò,Ð,ØÐ)Ô*×1Ò1°.ÑAÔAÐAð BUÐ^˜×;Ò;Ñ=Ô=Ð=ÐZ^ˆØð %	:Ø�HŠHð  tÐq~ð  @Aô  rBð  tð  tð  LYð  Z[ô  L\ð  tð  tð  `mð  noô  `pð  tð  tð  tñ  uô  uð  uØ�HŠHÐXÑYÔYÐYØ×1Ò1Ñ3Ô3ˆBØ�(Œ|˜yÒ(Ð(Ø"L¸2¿6º6À'¹?¼?Ð"LÐ"L��w‘Ø�ØÐ%Ô&×-Ò-Ð.CÑDÔDÐDØ!Ÿvšv n°bÑ9Ô9ÐÑà×-Ò-¸oÐ-ÑNÔNˆBØ$&ˆF�=Ñ!Ø�(Œ|˜yÒ(Ð(Ø"L¸2¿6º6À'¹?¼?Ð"LÐ"L��w‘Ø�ØÐ%Ô&×-Ò-Ð.?Ñ@Ô@Ð@à×/Ò/ÐDWÐ/ÑXÔXˆBØ�(Œ|˜yÒ(Ð(Ø"L¸2¿6º6À'¹?¼?Ð"LÐ"L��w‘Ø�ØÐ%Ô&×-Ò-Ð.AÑBÔBÐBà—6’6Ð/Ñ0Ô0ð SØ×9Ò9¸"¸_Ô:MÑNÔN�Ø�h”< 9Ò,Ð,Ø&P¸r¿vºvÀg¹¼Ð&PÐ&P�F˜7‘OØ!�MØÐ)Ô*×1Ò1Ð2KÑLÔLÐLÐLà—’ð  Rñ  Sô  Sð  Sà×1Ò1Ñ3Ô3ˆBØ�(Œ|˜yÒ(Ð(Ø"L¸2¿6º6À'¹?¼?Ð"LÐ"L��w‘Ø�ØÐ%Ô&×-Ò-Ð.CÑDÔDÐDØ!Ÿvšv n°bÑ9Ô9Ðà×*Ò*Ñ,Ô,ˆØ"$§&¢&¨Ñ"9Ô"9ˆˆÑØˆhŒ<˜9Ò$Ð$ØH°r·v²v¸g±´ÐHÐHˆF�7‰OØˆMØÐ!Ô"×)Ò)Ð*<Ñ=Ô=Ð=àŸ&š&Ð!2Ñ3Ô3ˆØ×.Ò.°oÐP`Ð.ÑaÔaˆØˆhŒ<˜9Ò$Ð$ØH°r·v²v¸g±´ÐHÐHˆF�7‰OØˆMØÐ!Ô"×)Ò)Ð*@ÑAÔAÐAð  ð 	GØ�HŠHÐfÑgÔgÐgØ×7Ò7ÀDÐ7ÑIÔIˆGØ)0ˆFÐ%Ñ&Ø�{Š{˜8Ñ$Ô$¨	Ò1Ð1ØÐ)Ô*×1Ò1Ð2EÑFÔFÐFð	@Ø—j’j °Ñ3Ô3×7Ò7¸	À>ÑRÔRˆGÝ$ T¨=¸"Ñ=Ô=ˆNØÔ9×JÒJØØ $Ø%Ø"ð	 Kñ ô ˆLð  ,Ô7Ø(4Ô(OØR^ÔRvð  &A \Ô%IÔ%NÐ%Nð  }AØ*Ô=Ø(4Ô(IØ)5Ô)KØ*6Ô*Mð+ð +ˆFÐ&Ñ'ð )5Ô(LˆFÐ$Ñ%Ø)5Ô)NˆFÐ%Ñ&Ø�HŠHÐ]˜$Ô8×MÒMÈlÑ[Ô[Ð]Ð]Ñ^Ô^Ð^Ð^øÝð 	@ð 	@ð 	@Ø�HŠHÐ>¸1Ð>Ð>Ñ?Ô?Ð?Ð?Ð?Ð?Ð?Ð?øøøøð	@øøøð %ˆˆxÑÝ$(¨Ô)?Ñ$@Ô$@ˆÐ Ñ!Ý$(¨Ô)?Ñ$@Ô$@ˆÐ Ñ!Ø�ŠÐMÑNÔNÐNØ�ŠÐaÑbÔbÐbØ�ŠÐMÑNÔNÐNØˆs1   ªAB Â
B.ÂB)Â)B.Õ=CY Ù
ZÙ#Z Ú Zré   Úmax_mapsÚforce_new_mapc           	      ó:  — |                       d¦  «         |                       d|› d|› d�¦  «         |                       d¦  «         d|ddg g g dd	œ}|                      ¦   «          	 t          d
|d
z   ¦  «        D �]Ø}|                       d|› d|› d�¦  «         |                      ¦   «         s"|                       d¦  «         d|d<   d|d<    �n…|                      d|||d
k    o| ¬¦  «        }|d                              ||dœ¦  «         |d         dk    r\|dxx         d
z  cc<   |                       d|› d|› d�¦  «         ||k     r)|                       d¦  «         t          j        d¦  «         Œû|                     d¦  «        pi }|                     d¦  «        r0d|                     dd¦  «        v sd|                     dd¦  «        v r*|                       d |d         › d!�¦  «         d"|d#<   d$|d<   nX|                       d%|› d&|                     d¦  «        › �¦  «         |d         dk    rd|d<   |                     dd¦  «        |d<    |  	                    ¦   «          t          | j        ¦  «        |d'<   n0# |  	                    ¦   «          t          | j        ¦  «        |d'<   w xY wt          | j        ¦  «        |d(<   |                       d¦  «         |                       d)|d         › d|› d*|d         › �¦  «         |                       d¦  «         |S )+uC  
        Váº­n hÃ nh vÃ²ng láº·p cÃ y nhiá»�u map liÃªn tá»¥c (Multi-Map Farming Loop):
        - Láº·p qua tá»«ng map tá»« 1 Ä‘áº¿n max_maps.
        - Má»—i vÃ²ng láº·p tá»± Ä‘á»™ng láº¥y viÃªn Waystone Ä‘áº§u tiÃªn kháº£ dá»¥ng trong HÃ ng 1 (target_slot_idx=0).
        - Náº¿u háº¿t Waystone, tá»± Ä‘á»™ng kÃ­ch hoáº¡t Auto-Restock tá»« Stash Map Tab (INV-WAYSTONE-RESTOCK-MIN).
        - Sau má»—i map, tá»± Ä‘á»™ng cáº¥t Ä‘á»“ háº­u map vÃ o Stash (Post-Map Stash).
        - Thu tháº­p telemetry, báº±ng chá»©ng hÃ¬nh áº£nh vÃ  tráº£ vá»� bÃ¡o cÃ¡o tá»•ng há»£p.
        re  u8     KHá»žI Ä�á»˜NG VÃ’NG Láº¶P CÃ€Y MULTI-MAP (Tá»‘i Ä‘a: z maps, Stashing: rÿ  Ú	COMPLETEDr   Frâ   )rõ  Útotal_maps_requestedÚmaps_completedÚ	exhaustedÚrunsr`  ra  rü  rc   u   
>>> [Báº¢N Ä�á»’ ú/u    ] Báº¯t Ä‘áº§u chu trÃ¬nh map...uW   â�Œ KhÃ´ng thá»ƒ phá»¥c há»“i Client sau sá»± cá»‘ Crash! Dá»«ng vÃ²ng láº·p multi-map.r  rõ  zClient crash recovery failedrü  )rÞ  rß  rà  rá  r­  )Ú	map_indexÚpipeline_resultrý  r«  u   âœ… HoÃ n thÃ nh báº£n Ä‘á»“ u    thÃ nh cÃ´ng.uF   Nghá»‰ 2.0s táº¡i Hideout trÆ°á»›c khi báº¯t Ä‘áº§u map tiáº¿p theo...r¿   rd  r  zFail-closedzKhong tim thay Waystoneu5   ðŸ›‘ Ä�Ã£ cáº¡n kiá»‡t Waystone trong tÃºi Ä‘á»“ sau z maps.Tr¬  Ú	EXHAUSTEDu   â�Œ Map u    gáº·p sá»± cá»‘: ra  r`  u     Káº¾T THÃšC MULTI-MAP LOOP: z Maps | Status: )rˆ   r½   rú   r]  rh  rÐ   rÎ   rÓ   r"  rÅ   r¨  rŸ   r‚   )r^   r¦  rß  r§  Úloop_summaryÚmap_numÚpipeline_resrd  s           r_   Úrun_multi_map_loopz/AutonomousMappingCoordinator.run_multi_map_loopã	  s  € ð 	�ŠÐMÑNÔNÐNØ�ŠÐyÈHÐyÐyÐgvÐyÐyÐyÑzÔzÐzØ�ŠÐMÑNÔNÐNð "Ø$,ØØØØ!Ø!Øð	
ð 	
ˆð 	×ÒÑ Ô Ð ð,	KÝ   H¨q¡LÑ1Ô1ð (ñ (�Ø—’Ðc¨wÐcÐc¸ÐcÐcÐcÑdÔdÐdØ×?Ò?ÑAÔAð Ø—H’HÐvÑwÔwÐwØ-5�L Ñ*Ø,J�L Ñ)Ø‘EØ#×4Ò4Ø$%Ø$3Ø)8Ø)0°AªÐ)K¸mÐ:Kð	  5ñ  ô  �ð ˜VÔ$×+Ò+Ø!(Ø'3ð-ð -ñ ô ð ð
   Ô)¨YÒ6Ð6Ø Ð!1Ð2Ð2Ô2°aÑ7Ð2Ð2Ñ2Ø—H’HÐ_¸WÐ_Ð_ÀxÐ_Ð_Ð_Ñ`Ô`Ð`Ø Ò)Ð)ØŸšÐ!iÑjÔjÐjÝœ
 3™œ˜øà".×"2Ò"2°=Ñ"AÔ"AÐ"GÀR�Kð (ŸOšOÐ,=Ñ>Ô>ðRà(¨L×,<Ò,<¸WÀbÑ,IÔ,IÐIÐIØ4¸×8HÒ8HÈÐRTÑ8UÔ8UÐUÐUàŸšÐ!ÐYeÐfvÔYwÐ!Ð!Ð!ñ  Aô  Að  AØ48˜ [Ñ1Ø1<˜ XÑ.Ð.àŸšÐ!b¨GÐ!bÐ!bÀ|×GWÒGWÐX_ÑG`ÔG`Ð!bÐ!bÑcÔcÐcØ'Ð(8Ô9¸QÒ>Ð>Ø5=˜L¨Ñ2Ø4@×4DÒ4DÀWÈbÑ4QÔ4Q˜L¨Ñ1Øà×!Ò!Ñ#Ô#Ð#Ý.2°4Ô3IÑ.JÔ.JˆLÐ*Ñ+Ð+øð ×!Ò!Ñ#Ô#Ð#Ý.2°4Ô3IÑ.JÔ.JˆLÐ*Ñ+ÐJÐJÐJÐJå*.¨tÔ/EÑ*FÔ*FˆÐ&Ñ'Ø�ŠÐMÑNÔNÐNØ�Šð  F°,Ð?OÔ2Pð  Fð  FÐS[ð  Fð  FÐmyð  {Cô  nDð  Fð  Fñ  	Gô  	Gð  	GØ�ŠÐMÑNÔNÐNØÐs   Á'G-J  Ê -J-)r:   r;   r<   r=   r>   Nr?   FFFF)T)ræ   rg   )r5  )rì   rÍ   )rì   rX   F)rX   F)rD  r<  rE  )r<  rE  )rY  )re  rY  rD  )Nr   r   )r  )r   rX   )FF)r   TTTF)NNrä  )r   )Trë   rì   )r{  )rî  rÃ  )rÞ   N)rÙ  rÚ  )NFFN)NT)NNT)Nrâ   )rS  )r   FFT)ri  )ré   TF)IÚ__name__Ú
__module__Ú__qualname__ri   Ústrrï  r   r   r3  r§   rˆ   r½   rÅ   r¸   rå   ró   rõ   r  r	   r  r  r,  r/  r4  r8  rh   rA  rC  r=  r@  rV  rX  rd  ro  r~  r   r\   rÓ  r   r†   r   r   rÝ  rã  r
  ry  r†  r¢  r¬  rµ  r»  r¿  r¾  rØ  rì  rî  r“  r’  rô  rú  r
  r  rt  rÚ  r  r  r6   rR  r]  rh  rK  rf  rµ  r  ra   r_   r9   r9   I   s‡  € € € € € ð ØØ2Ø #Ø&*Ø.2ØlØ"Ø',Ø$Ø!ðq
ð q
àðq
ð ðq
ð ð	q
ð
 ðq
ð $ðq
ð ˜]Ô+ðq
ð ðq
ð ðq
ð !%ðq
ð ðq
ð ðq
ð q
ð q
ð q
ðf5�sð 5ð 5ð 5ð 5ðSð Sð Sð	@ð 	@ð 	@ð#ð #ð #ð0ð  cð ¸ð Èð ð ð ð ð ð   sð  °dð  ð  ð  ð  ðDð ¨(°3¬-ð À4ð ð ð ð ð,1ð 1¨°#¬ð 1À$ð 1ð 1ð 1ð 1ð
ð 
¨X°c¬]ð 
ÀhÈuÐUXÐZ]ÐU]ÌÔF_ð 
ð 
ð 
ð 
ðað a¨X°c¬]ð aÀeÈCÐQTÈHÄoð að að að aðð ¨x¸¬}ð ÈÐQVÐWZÐ\_ÐW_ÔQ`ÔHað ð ð ð ð,Q˜3ð Q 3ð Q¨5°°c°¬?ð Qð Qð Qð Qð tð ð ð ð ðað a�sð a˜sð a°ð að að að aðð �sð ˜sð ¨Uð Èð ð ð ð ð
ð 
 #ð 
¨#ð 
¸ð 
ÐSXð 
Ðrvð 
ð  DHð 
ð 
ð 
ð 
ðgð g˜Cð g Cð g°eð gÐUYð gð gð gð gð ØØ!ð
ð 
àð
ð ð
ð ð	
ð
 ð
ð ð
ð 
ð
ð 
ð 
ð 
ð* Ø!ð
ð 
àð
ð ð
ð ð	
ð
 ð
ð 
ð
ð 
ð 
ð 
ð ¨ð ð ð ð ð"E°¸´ð EÀ$ð Eð Eð Eð Eð

ð 

°sð 

ÀCð 

ÐV[ð 

Ðfjð 

ð 

ð 

ð 

ð
~ð 
~˜Cð 
~¨#ð 
~°cð 
~À#ð 
~Ècð 
~Ðbgð 
~Ðwzð 
~ð 
~ð 
~ð 
~ðð  x°¤~ð Àsð ÐY\ð ð ð ð ð.+ð +Àð +ÈXÐV[Ð\_ÐafÐgjÐloÐgoÔapÐ\pÔVqÔMrð +ð +ð +ð +ðZxð x˜Cð x sð x¸Uð xð xð xð xðJeð Jeð JeðX X¨e¬kÔ%:ð ð ð ð ð $)Ø!ð
ð 
à ð
ð ð
ð 
ˆc�3ˆhŒð	
ð 
ð 
ð 
ð"  !Ø $Ø%)Ø$(Ø#(ð
ð 
àð
ð ð
ð #ð	
ð
 "ð
ð !ð
ð 
ˆc�3ˆhŒð
ð 
ð 
ð 
ð. ,0Ø48Ø!ð	;ð ;à˜˜c 3˜hœÔ(ð;ð    S¨% ZÔ 0Ô1ð;ð ð	;ð
 
ˆc�3ˆhŒð;ð ;ð ;ð ;ðz|ð |°sð |À4ÈÈSÈÄ>ð |ð |ð |ð |ð|ð ¨4ð ¸sð ÐTYð ð ð ð ðP  ð8-ð 8-àð8-ð ð8-ð ð	8-ð
 ð8-ð ð8-ð ð8-ð ð8-ð 
ˆu�e˜SÐ Ô	!ð8-ð 8-ð 8-ð 8-ðt h¨u°U¸E°\Ô/BÔ&Cð ð ð ð ð¨8°E¸%À¸,Ô4GÔ+Hð ð ð ð ð& ð   eð  °ð  À%ð  ÐSWð  ð  ð  ð  ðL #&Øðð à˜U 5¨% <Ô0Ô1ðð ˜E %¨ ,Ô/Ô0ðð  ð	ð
 ðð 
ðð ð ð ð>	Qð 	Qð 	Qð 	Qð" "ð"6ð "6àð"6ð ð"6ð ð	"6ð
 ð"6ð ð"6ð 
ˆs�CˆxŒð"6ð "6ð "6ð "6ðT "&Ø"%ð5ð 5àð5ð ð5ð ð	5ð
 ð5ð ð5ð  ð5ð 
ð5ð 5ð 5ð 5ðrgð g°8¸C´=ð gÈEÐRUÐWZÐRZÌOð gð gð gð gð #'Ø',Ø$Ø#ð
ð 
à˜3”-ð
ð !%ð
ð ð	
ð
 ˜Œ}ð
ð 
�%˜˜S˜”/Ô	"ð
ð 
ð 
ð 
ð"
ð 
°xÀ´}ð 
Ðeið 
Ðu}ð  Dð  EHð  JMð  EMô  Nô  vOð 
ð 
ð 
ð 
ð
ð 
¨x¸¬}ð 
ÈÈcÐSVÈhÌð 
ð 
ð 
ð 
ð

¨Dð 

ð 

ð 

ð 

ð°¸¸sÀCÈ¸}Ô9MÔ0Nð ð ð ð ð6
¸UÀ3ÈÀ8¼_ð 
ð 
ð 
ð 
ð ;?Ø:>Ø$(ð	{8ð {8à" 5¨°¨Ô#6Ô7ð{8ð # 5¨°¨Ô#6Ô7ð{8ð "ð	{8ð
 
ˆc�3ˆhŒð{8ð {8ð {8ð {8ð|	X¸Sð XÀTÈ#ÈsÈ(Ä^ð Xð Xð Xð Xðt
H¨T°#°s°(¬^ð Hð Hð Hð HðT¨$¨s°C¨x¬.ð ð ð ð ð2 15ØðEð EàÐ,Ô-ðEð ðEð 
ˆc�3ˆhŒð	Eð Eð Eð EðN"ð "¸sð "ÈDð "ð "ð "ð "ðL  !Ø %Ø%*Ø$(ð.Eð .Eàð.Eð ð.Eð #ð	.Eð
 "ð.Eð 
ˆc�3ˆhŒð.Eð .Eð .Eð .Eð`&ð &¸eð &Ètð &ð &ð &ð &ðV  !Ø %Ø%*Ø$(ðJð Jà�S˜#�X”ðJð ðJð ð	Jð
 #ðJð "ðJð 
ˆc�3ˆhŒðJð Jð Jð Jð\ Ø $Ø#ð	Pð PàðPð ðPð ð	Pð
 
ˆc�3ˆhŒðPð Pð Pð Pð Pð Pra   r9   Ú__main__z3AutoPOE2 Closed-Loop Autonomous Mapping Coordinator)r²  z
--max-mapsrc   uG   Sá»‘ lÆ°á»£ng map tá»‘i Ä‘a cáº§n cháº¡y liÃªn tá»¥c (máº·c Ä‘á»‹nh: 1))r¯  ÚdefaultÚhelpz--map-durationre  uI   Thá»�i lÆ°á»£ng dá»�n map in-map má»—i lÆ°á»£t (giÃ¢y, máº·c Ä‘á»‹nh: 20)z--capture-dirr<   u$   ThÆ° má»¥c lÆ°u áº£nh báº±ng chá»©ngz--skip-dangerousÚ
store_trueFuj   Báº­t lá»�c bá»� Waystone cÃ³ mod nguy hiá»ƒm (máº·c Ä‘á»‹nh: False - nhÃ¢n váº­t khoáº» cháº¡y má»�i mod))r€  r»  r¼  z--enable-stashinguL   Báº­t chu trÃ¬nh cáº¥t Ä‘á»“ vÃ o Stash sau má»—i map (máº·c Ä‘á»‹nh: False)z--force-new-mapuY   Báº¯t buá»™c má»Ÿ map má»›i qua Map Device, khÃ´ng dÃ¹ng láº¡i portal cÅ© Ä‘Ã£ má»Ÿ sáºµnz
--headlessTuj   Váº­n hÃ nh á»Ÿ cháº¿ Ä‘á»™ IPC Headless khÃ´ng cÆ°á»›p chuá»™t/phÃ­m ngÆ°á»�i dÃ¹ng (máº·c Ä‘á»‹nh: True)z--foregroundÚheadlessÚstore_falseu7   Váº­n hÃ nh á»Ÿ cháº¿ Ä‘á»™ Foreground truyá»�n thá»‘ng)Údestr€  r¼  z--optimize-graphicsÚnoneuZ   Tá»‘i Æ°u Ä‘á»“ há»�a game trÆ°á»›c khi váº­n hÃ nh (ultra_low, low_1080p, balanced_1080p))r¯  Úchoicesr»  r¼  uE   [Coordinator] Ä�ang tá»‘i Æ°u cáº¥u hÃ¬nh Ä‘á»“ há»�a vá»›i profile 'z'...u2   [Coordinator] Tá»‘i Æ°u Ä‘á»“ há»�a thÃ nh cÃ´ng (u     thÃ´ng sá»‘ Ä‘Ã£ cáº­p nháº­t).u>   [Coordinator Cáº£nh bÃ¡o] KhÃ´ng thá»ƒ tá»‘i Æ°u Ä‘á»“ há»�a: )Úfile)rC   rB   rH   rI   rJ   )r¦  rß  r§  )rÞ  rß  rá  ré   )ÚindentÚensure_asciir»  )}Ú__doc__rx   ÚsysrÎ   r‘  r’   Újsonr¶   Úpathlibr   r   Útypingr   r   r   r   r	   rö   r   r   Úinsertr¹  Ú__file__ÚresolveÚparentr²  Ústdoutr   rš   Ú"src.assistant_tool.screen_capturerr   Ú,src.assistant_tool.optical_inventory_scannerr   Ú&src.assistant_tool.atlas_node_selectorr   r   Ú'src.assistant_tool.atlas_knowledge_baser   r   r   Ú"src.assistant_tool.core_shm_bridger   r   Úsrc.assistant_tool.log_watcherr   Ú*src.assistant_tool.pickit.waystone_crafterr   r   r   r   Úsrc.assistant_tool.stashr   r   r   Ú(src.assistant_tool.waystone_loader_guardr    Ú"src.assistant_tool.client_launcherr!   Ú$src.assistant_tool.hideout_navigatorr"   Úsrc.assistant_tool.atlasr#   r$   Ú$src.assistant_tool.currency_exchanger%   r&   Ú#src.assistant_tool.gem_auto_levelerr'   r(   Ú%src.assistant_tool.graphics_optimizerr)   r*   Ú8src.assistant_tool.currency_exchange.net_worth_estimatorr+   Ú8src.assistant_tool.navigation.minimap_navigation_adapterr,   Ú,src.assistant_tool.atlas.progression_servicer-   Ú src.assistant_tool.live_sentinelr.   Ú6src.assistant_tool.navigation.motion_feedback_sentinelr/   Úsrc.common.coordinate_transformr0   r1   Úsrc.common.win32_windowr2   r3   r4   r5   rÊ  rï   Útools.autonomous_map_runnerr6   r7   r9   r¶  ÚargparseÚArgumentParserÚparserÚadd_argumentri   r¨  ÚkeysÚ
parse_argsÚargsÚoptimize_graphicsr°   Úapply_profileÚchangesrÄ   r¼   ÚstderrÚmap_durationrB   rI   r¾  rÛ  r¦  rµ  rß  r§  r%  rh  Údumpsr  ra   r_   ú<module>rô     s&  ððð ð* 
€	€	€	Ø 
€
€
€
Ø €€€Ø €€€Ø €€€Ø €€€Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø Ð Ð Ð Ð Ð à „‡‚��3�3�t�t˜H‘~”~×-Ò-Ñ/Ô/Ô6Ô=Ñ>Ô>Ñ ?Ô ?Ð ?ð	Ø€wˆsŒz˜=Ñ)Ô)ð 1ØŒ
×Ò¨ÐÑ0Ô0Ð0øøØð 	ð 	ð 	Ø€Dð	øøøð >Ð =Ð =Ð =Ð =Ð =Ø PÐ PÐ PÐ PÐ PÐ PØ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OØ gÐ gÐ gÐ gÐ gÐ gÐ gÐ gÐ gÐ gØ UÐ UÐ UÐ UÐ UÐ UÐ UÐ UØ 5Ð 5Ð 5Ð 5Ð 5Ð 5ðð ð ð ð ð ð ð ð ð ð ð ð XÐ WÐ WÐ WÐ WÐ WÐ WÐ WÐ WÐ WØ HÐ HÐ HÐ HÐ HÐ HØ AÐ AÐ AÐ AÐ AÐ AØ AÐ AÐ AÐ AÐ AÐ AØ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QØ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fØ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PØ QÐ QÐ QÐ QÐ QÐ QÐ QÐ QØ VÐ VÐ VÐ VÐ VÐ VØ ]Ð ]Ð ]Ð ]Ð ]Ð ]Ø PÐ PÐ PÐ PÐ PÐ PØ <Ð <Ð <Ð <Ð <Ð <Ø YÐ YÐ YÐ YÐ YÐ YØ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HØ uÐ uÐ uÐ uÐ uÐ uÐ uÐ uÐ uÐ uÐ uÐ uØ Ð Ð Ð Ð Ð Ø NÐ NÐ NÐ NÐ NÐ NÐ NÐ Nðj'ð j'ð j'ð j'ð j'ñ j'ô j'ð j'ðZO ˆzÒÑØ€O€O€OØ$ˆXÔ$Ð1fÐgÑgÔg€FØ
×Ò˜¨3¸ð  AJÐñ  Kô  Kð  KØ
×ÒÐ(¨s¸Bð  FQÐñ  Rô  Rð  RØ
×Ò˜¨cÐ;RÐYÐñ  Aô  Að  AØ
×ÒÐ*°<Èð  VBÐñ  Cô  Cð  CØ
×ÒÐ+°LÈ%ð  WeÐñ  fô  fð  fØ
×ÒÐ)°,Èð  UpÐñ  qô  qð  qØ
×Ò˜¨\À4ð  O{Ðñ  |ô  |ð  |Ø
×Ò˜¨ZÀð  UNÐñ  Oô  Oð  OØ
×ÒÐ-°CÀÀÀmÀhÄmÁoÄoÑAVÔAVÐZ`ÐYaÑAaÐkqð  yUÐñ  Vô  Vð  VØ×ÒÑÔ€DàÔ Ò'Ð'ð	iØˆEÐvÐZ^ÔZpÐvÐvÐvÑwÔwÐwØ9Ð+Ô9¸$Ô:PÑQÔQˆGØˆEÐuÀsÀsÈ7Á|Ä|ÐuÐuÐuÑvÔvÐvÐvøØð 	ið 	ið 	iØˆEÐVÐSTÐVÐVÐ]`Ô]gÐhÑhÔhÐhÐhÐhÐhÐhÐhøøøøð	iøøøð /Ð.ØÔ*ØÔ$Ø#ØÔ*Ø”Mðñ ô €Kð „}�qÒÐØ×,Ò,Ø”]Ø Ô0ØÔ,ð -ñ 
ô 
ˆˆð ×*Ò*ØØ Ô0Ø%)Ô%7Ð!7ð +ñ 
ô 
ˆð
 
€Eˆ*ˆ$Œ*�S °ÀÐ
DÑ
DÔ
DÑEÔEÐEÐEÐEðS Ðs+   Â	,B6 Â6B>Â=B>Ê:AK< Ë<L ÌLÌL 