§
    ¾°½j©0  ã                  óÆ   — d Z ddlmZ ddlZddlmc mZ ddl	Z
ddlmZ ddlZddlmZmZ ddlmZ ej        dd	„¦   «         Zej        dd„¦   «         Z G d„ d¦  «        ZdS )a  
Adversarial Stress Testing Suite: Map Device Session Lifecycle & Cleanup.
Validates:
1. High-volume map device session cycling (100 consecutive 6-portal cycles).
2. Zero orphaned sessions in ZoneEngine.active_instances and active_instance_id reset.
3. 7th entry attempt on exhausted portals and boundary attacks.
4. Calling parity between zone_engine=None and zone_engine=ZoneEngine().
5. Multi-player concurrent map device activation and portal consumption.
6. Premature map overwrite behavior and session isolation.
é    )ÚannotationsN)ÚDict)Ú	AstralMapÚHideoutEngine©Ú
ZoneEngineÚreturnr   c                 ó   — t          ¦   «         S ©N)r   © ó    úZC:\Projects\FreeExile\tests\security_fuzzing\test_map_device_portal_cleanup_adversarial.pyÚhideout_enginer      s   € å‰?Œ?Ðr   r   c                 ó   — t          ¦   «         S r   r   r   r   r   Úzone_enginer      s   € å‰<Œ<Ðr   c                  ó„   — e Zd ZdZdd„Zdd	„Zdd
„Zdd„Zdd„Ze	j
                             d¬¦  «        dd„¦   «         ZdS )Ú%TestMapDevicePortalCleanupAdversarialz6Adversarial stress and lifecycle cleanup test harness.r   r   r   r   r	   ÚNonec           	     ó!  — d}t          d¦  «        D �]I}|dz  dz   }t          d|› d|› �d|› �|d¬	¦  «        }|                     |||¬
¦  «        \  }}}	d}
||
u }|s²t          j        d|fd||
f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |
¦  «        dœz  }t          j	        d|› d|› �¦  «        dz   d|iz  }t          t          j        |¦  «        ¦  «        ‚dx}}
|	d         }|j        }||v }|sÕt          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}}|j        }
t          |
¦  «        }d}||k    }|�st          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |
¦  «        t          j        |¦  «        t          j        |¦  «        d œz  }d!d"|iz  }t          t          j        |¦  «        ¦  «        ‚dx}
x}x}}|                     |¦  «        j        }|j        }||k    }|sÕt          j        d|fd#||f¦  «        d$t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd$t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}}|j        }d%}||k    }|sªt          j        d|fd&||f¦  «        d$t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd$t          j        |¦  «        t          j        |¦  «        d'œz  }d(d)|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}t          d*¦  «        D �]H}|                     ||¬
¦  «        \  }}}g }d}||u }|}|rd}||u}|}|�sXt          j        d|fd+||f¦  «        d,t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd,t          j        |¦  «        d-œz  }d.d)|iz  }|                     |¦  «         |r‹t          j        d/|fd0||f¦  «        d1t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd1t          j        |¦  «        d2œz  } d3d4| iz  }!|                     |!¦  «         t          j        |d5¦  «        i z  }"d6d7|"iz  }#t          t          j        |#¦  «        ¦  «        ‚dx}x}x}x}x}}|d8         }d*}||z
  }||k    }
|
sªt          j        d|
fd9||f¦  «        t          j        |¦  «        t          j        |¦  «        d:t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd:d;œz  }d<d=|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}
x}}|j        }||v }|sÕt          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}}�ŒJ|                     ||¬
¦  «        \  }$}%}&g }d}|$|u }|}|rd}|&|u}|}|�sXt          j        d|fd+|$|f¦  «        d>t          j        ¦   «         v st          j        |$¦  «        rt          j        |$¦  «        nd>t          j        |¦  «        d-œz  }d.d)|iz  }|                     |¦  «         |r‹t          j        d/|fd0|&|f¦  «        d?t          j        ¦   «         v st          j        |&¦  «        rt          j        |&¦  «        nd?t          j        |¦  «        d2œz  } d3d4| iz  }!|                     |!¦  «         t          j        |d5¦  «        i z  }"d6d7|"iz  }#t          t          j        |#¦  «        ¦  «        ‚dx}x}x}x}x}}|&d8         }d5}||k    }
|
slt          j        d|
fd@||f¦  «        t          j        |¦  «        t          j        |¦  «        dAœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}
}dB}||%v }
|
s—t          j        d|
fdC||%f¦  «        t          j        |¦  «        dDt          j        ¦   «         v st          j        |%¦  «        rt          j        |%¦  «        ndDdEœz  }dFd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}}
|j        }d}||u }|sªt          j        d|fdG||f¦  «        d$t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd$t          j        |¦  «        t          j        |¦  «        d'œz  }d(d)|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|j        }d}||u }|sªt          j        d|fdH||f¦  «        d$t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd$t          j        |¦  «        t          j        |¦  «        d'œz  }d(d)|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|j        }d5}||k    }|sªt          j        d|fd&||f¦  «        d$t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd$t          j        |¦  «        t          j        |¦  «        d'œz  }d(d)|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|j        }||v}|sÕt          j        dI|fdJ||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}}|j        }
t          |
¦  «        }d5}||k    }|�st          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |
¦  «        t          j        |¦  «        t          j        |¦  «        d œz  }d!d"|iz  }t          t          j        |¦  «        ¦  «        ‚dx}
x}x}}�ŒK|j        }
t          |
¦  «        }d5}||k    }|�st          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |
¦  «        t          j        |¦  «        t          j        |¦  «        d œz  }d!d"|iz  }t          t          j        |¦  «        ¦  «        ‚dx}
x}x}}dS )KzJSimulates 100 consecutive 6-portal map device activations and exhaustions.Úchallenger_stress_hero_100éd   é   é   Ú	map_adv_cÚ_u   Vá»±c Tháº³m LuÃ¢n Há»“i #Úzone_tang_kiem_nhai©Úmap_idÚnameÚtierÚzone_template_id©r   T©Úis©z%(py0)s is %(py3)sÚok_act©Úpy0Úpy3zFailed activation at cycle z: z
>assert %(py5)sÚpy5NÚinstance_id©Úin©z8%(py0)s in %(py4)s
{%(py4)s = %(py2)s.active_instances
}Úinst_idr   ©r(   Úpy2Úpy4úassert %(py6)sÚpy6©ú==©zV%(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.active_instances
})
} == %(py8)sÚlen©r(   Úpy1r)   r*   Úpy8úassert %(py10)sÚpy10)z:%(py2)s
{%(py2)s = %(py0)s.active_instance_id
} == %(py4)sÚdevé   ©z9%(py2)s
{%(py2)s = %(py0)s.portals_remaining
} == %(py5)s©r(   r1   r*   úassert %(py7)sÚpy7é   ©z%(py2)s is %(py5)sÚok_enter©r1   r*   ú%(py7)s©úis not)z%(py9)s is not %(py12)sÚ	res_enter©Úpy9Úpy12ú%(py14)sÚpy14r   úassert %(py17)sÚpy17Úportals_remaining)z%(py1)s == (%(py4)s - %(py5)s)Úp_idx)r:   r2   r*   zassert %(py8)sr;   Úok_finalÚ	res_final)z%(py1)s == %(py4)s)r:   r2   õ   Cá»”NG CUá»�I CÃ™NG)z%(py1)s in %(py3)sÚ	msg_final)r:   r)   úassert %(py5)s)z:%(py2)s
{%(py2)s = %(py0)s.active_instance_id
} is %(py5)s)z2%(py2)s
{%(py2)s = %(py0)s.active_map
} is %(py5)s©únot in©z<%(py0)s not in %(py4)s
{%(py4)s = %(py2)s.active_instances
})Úranger   Úcreate_map_instance_sessionÚ
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚ_format_assertmsgÚAssertionErrorÚ_format_explanationÚactive_instancesr8   Úget_or_create_hideoutÚ
map_deviceÚactive_instance_idrS   Úenter_map_portalÚappendÚ_format_boolopÚ
active_map)'Úselfr   r   Ú	player_idÚcycler    Ú
astral_mapr&   Úmsg_actÚres_actÚ@py_assert2Ú@py_assert1Ú@py_format4Ú@py_format6r/   Ú@py_assert3Ú@py_format5Ú@py_format7Ú@py_assert4Ú@py_assert7Ú@py_assert6Ú@py_format9Ú@py_format11r>   Ú@py_format8rT   rF   r   rK   Ú@py_assert0Ú@py_assert11Ú@py_assert10Ú@py_format13Ú@py_format15Ú@py_format16Ú@py_format18rU   rX   rV   s'                                          r   Ú6test_high_volume_map_device_session_cycling_100_cyclesz\TestMapDevicePortalCleanupAdversarial.test_high_volume_map_device_session_cycling_100_cycles"   sp  € ð 1ˆ	å˜3‘Z”Zð &	:ñ &	:ˆEØ˜B‘J !Ñ#ˆDÝ"Ø1 5Ð1Ð1¨4Ð1Ð1Ø9°%Ð9Ð9ØØ!6ð	ñ ô ˆJð (6×'QÒ'QØ˜:°;ð (Rñ (ô (Ñ$ˆF�G˜Wð "ÐS�6˜T�>ÐSÐSÐSÕSÔSÐSÐSÐSÐS�6˜TÐSÑSÔSÐSÕSÔSÑSÔSÐSÐSÕSÔS�6ÑSÔSÐSÕSÔS�6ÑSÔSÐSÐSÕSÔS˜TÑSÔSÐSÐSÑSÐSÕSÔSÐ#SÀÐ#SÐ#SÈ'Ð#SÐ#SÑSÔSÐSÑSÐSÐSÐSÑSÐSÕSÕSÔSÐSÑSÔSÑSÔSÐSÐSÐSÐSÐSØ˜mÔ,ˆGØ)Ô:Ð:�7Ð:Ð:Ð:Ð:Ð:Õ:Ô:Ð:Ð:Ð:Ð:�7Ð:Ð:Ñ:Ô:Ð:Õ:Ô:Ñ:Ô:Ð:Ð:Õ:Ô:�7Ñ:Ô:Ð:Õ:Ô:�7Ñ:Ô:Ð:Ð:Ð:Õ:Ô:Ñ:Ô:Ð:Ð:Õ:Ô:˜kÑ:Ô:Ð:Õ:Ô:˜kÑ:Ô:Ð:Ð:Õ:Ô:Ð:Ñ:Ô:Ð:Ð:Ñ:Ð:Ð:Ð:Ð:Ð:Ñ:Ð:Õ:Õ:Ô:Ð:Ñ:Ô:Ñ:Ô:Ð:Ð:Ð:Ð:Ð:Ø"Ô3Ð9•3Ð3Ñ4Ô4Ð9¸Ð9Ð4¸Ò9Ð9Ð9Ñ9Õ9Ô9Ð9Ð9Ð9Ð9Ð4¸Ð9Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9•3Ñ9Ô9Ð9Õ9Ô9•3Ñ9Ô9Ð9Ð9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9�{Ñ9Ô9Ð9Õ9Ô9�{Ñ9Ô9Ð9Ð9Õ9Ô9Ð3Ñ9Ô9Õ9Ô9Ð4Ñ9Ô9Õ9Ô9¸Ñ9Ô9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9à ×6Ò6°yÑAÔAÔLˆCØÔ)Ð4Ð)¨WÒ4Ð4Ð4Ð4Õ4Ô4Ð4Ð4Ð4Ð4Ð)¨WÐ4Ñ4Ô4Ð4Õ4Ô4Ñ4Ô4Ð4Ð4Õ4Ô4�3Ñ4Ô4Ð4Õ4Ô4�3Ñ4Ô4Ð4Ð4Õ4Ô4Ð)Ñ4Ô4Ð4Õ4Ô4Ñ4Ô4Ð4Ð4Õ4Ô4¨WÑ4Ô4Ð4Õ4Ô4¨WÑ4Ô4Ð4Ð4Ð4Ð4Ñ4Ð4Ð4Ð4Ð4Ð4Ñ4Ð4Õ4Õ4Ô4Ð4Ñ4Ô4Ñ4Ô4Ð4Ð4Ð4Ð4Ð4ØÔ(Ð-¨AÐ-Ð(¨AÒ-Ð-Ð-Ð-Õ-Ô-Ð-Ð-Ð-Ð-Ð(¨AÐ-Ñ-Ô-Ð-Õ-Ô-Ñ-Ô-Ð-Ð-Õ-Ô-�3Ñ-Ô-Ð-Õ-Ô-�3Ñ-Ô-Ð-Ð-Õ-Ô-Ð(Ñ-Ô-Õ-Ô-¨AÑ-Ô-Ð-Ð-Ñ-Ð-Ð-Ð-Ð-Ð-Ñ-Ð-Õ-Õ-Ô-Ð-Ñ-Ô-Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-å˜q™œð ?ñ ?�Ø)7×)HÒ)HØ¨;ð *Iñ *ô *Ñ&�˜!˜Yð BÐA 4ÐA�x 4Ð'ÐAÐAÐAÐAÐA¸TÐA¨I¸TÐ,AÐAÐAÐAÐAÑAÕAÔAÐAÐAÐAÐA�x 4ÐAÑAÔAÐAÕAÔAÑAÔAÐAÐAÕAÔA�xÑAÔAÐAÕAÔA�xÑAÔAÐAÐAÕAÔA 4ÑAÔAÐAÐAÑAÐAÐAÐAÐAÐAÑAÐAÐA×AÒAÐAÑAÔAÐAÐAÐAÕAÔAÐAÐAÐAÐA¨I¸TÐAÑAÔAÐAÕAÔAÑAÔAÐAÐAÕAÔA¨IÑAÔAÐAÕAÔA¨IÑAÔAÐAÐAÕAÔA¸TÑAÔAÐAÐAÑAÐAÐAÐAÐAÐAÑAÐAÐA×AÒAÐAÑAÔAÐAÕAÔAÐAÐAÑAÔAÐAÑAÐAÐAÐAÐAÐAÑAÐAÕAÕAÔAÐAÑAÔAÑAÔAÐAÐAÐAÐAÐAÐAÐAÐAÐAÐAÐAÐAÐAØ Ð!4Ô5ÐB¸ÐB¸¸U¹ÐBÐ5¸ÒBÐBÐBÐBÕBÔBÐBÐBÐBÐBÐ5¸ÐBÑBÔBÕBÔBÐ5ÑBÔBÕBÔB¸ÑBÔBÐBÕBÔBÑBÔBÐBÐBÕBÔB¸UÑBÔBÐBÕBÔB¸UÑBÔBÐBÐBÐBÐBÑBÐBÐBÐBÐBÐBÑBÐBÕBÕBÔBÐBÑBÔBÑBÔBÐBÐBÐBÐBÐBÐBÐBÐBÐBØ"-Ô">Ð>�wÐ">Ð>Ð>Ð>Ð>Õ>Ô>Ð>Ð>Ð>Ð>�wÐ">Ð>Ñ>Ô>Ð>Õ>Ô>Ñ>Ô>Ð>Ð>Õ>Ô>�wÑ>Ô>Ð>Õ>Ô>�wÑ>Ô>Ð>Ð>Ð>Õ>Ô>Ñ>Ô>Ð>Ð>Õ>Ô> +Ñ>Ô>Ð>Õ>Ô> +Ñ>Ô>Ð>Ð>Õ>Ô>Ð">Ñ>Ô>Ð>Ð>Ñ>Ð>Ð>Ð>Ð>Ð>Ñ>Ð>Õ>Õ>Ô>Ð>Ñ>Ô>Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ñ>à-;×-LÒ-LØ {ð .Mñ .ô .Ñ*ˆH�i ð >Ð=˜tÐ=�8˜tÐ#Ð=Ð=Ð=Ð=Ð=¸Ð=¨	¸Ð(=Ð=Ð=Ð=Ð=Ñ=Õ=Ô=Ð=Ð=Ð=Ð=�8˜tÐ=Ñ=Ô=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=�8Ñ=Ô=Ð=Õ=Ô=�8Ñ=Ô=Ð=Ð=Õ=Ô=˜tÑ=Ô=Ð=Ð=Ñ=Ð=Ð=Ð=Ð=Ð=Ñ=Ð=Ð=×=Ò=Ð=Ñ=Ô=Ð=Ð=Ð=Õ=Ô=Ð=Ð=Ð=Ð=¨	¸Ð=Ñ=Ô=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=¨	Ñ=Ô=Ð=Õ=Ô=¨	Ñ=Ô=Ð=Ð=Õ=Ô=¸Ñ=Ô=Ð=Ð=Ñ=Ð=Ð=Ð=Ð=Ð=Ñ=Ð=Ð=×=Ò=Ð=Ñ=Ô=Ð=Õ=Ô=Ð=Ð=Ñ=Ô=Ð=Ñ=Ð=Ð=Ð=Ð=Ð=Ñ=Ð=Õ=Õ=Ô=Ð=Ñ=Ô=Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=ØÐ0Ô1Ð6°QÐ6Ð1°QÒ6Ð6Ð6Ð6Õ6Ô6Ð6Ð6Ð6Ð6Ð1°QÐ6Ñ6Ô6Õ6Ô6Ð1Ñ6Ô6Õ6Ô6°QÑ6Ô6Ð6Ð6Ñ6Ð6Ð6Ð6Ð6Ð6Ñ6Ð6Õ6Õ6Ô6Ð6Ñ6Ô6Ñ6Ô6Ð6Ð6Ð6Ð6Ð6Ð6Ð6Ø(Ð5Ð(¨IÐ5Ð5Ð5Ð5Õ5Ô5Ð5Ð5Ð5Ð5Ð(¨IÐ5Ñ5Ô5Õ5Ô5Ð(Ñ5Ô5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5¨IÑ5Ô5Ð5Õ5Ô5¨IÑ5Ô5Ð5Ð5Ð5Ð5Ñ5Ð5Ð5Ð5Ð5Ð5Ñ5Ð5Õ5Õ5Ô5Ð5Ñ5Ô5Ñ5Ô5Ð5Ð5Ð5Ð5Ð5ØÔ)Ð1¨TÐ1Ð)¨TÐ1Ð1Ð1Ð1Õ1Ô1Ð1Ð1Ð1Ð1Ð)¨TÐ1Ñ1Ô1Ð1Õ1Ô1Ñ1Ô1Ð1Ð1Õ1Ô1�3Ñ1Ô1Ð1Õ1Ô1�3Ñ1Ô1Ð1Ð1Õ1Ô1Ð)Ñ1Ô1Õ1Ô1¨TÑ1Ô1Ð1Ð1Ñ1Ð1Ð1Ð1Ð1Ð1Ñ1Ð1Õ1Õ1Ô1Ð1Ñ1Ô1Ñ1Ô1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ø”>Ð) TÐ)�> TÐ)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)�> TÐ)Ñ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)�3Ñ)Ô)Ð)Õ)Ô)�3Ñ)Ô)Ð)Ð)Õ)Ô)�>Ñ)Ô)Õ)Ô) TÑ)Ô)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)ØÔ(Ð-¨AÐ-Ð(¨AÒ-Ð-Ð-Ð-Õ-Ô-Ð-Ð-Ð-Ð-Ð(¨AÐ-Ñ-Ô-Ð-Õ-Ô-Ñ-Ô-Ð-Ð-Õ-Ô-�3Ñ-Ô-Ð-Õ-Ô-�3Ñ-Ô-Ð-Ð-Õ-Ô-Ð(Ñ-Ô-Õ-Ô-¨AÑ-Ô-Ð-Ð-Ñ-Ð-Ð-Ð-Ð-Ð-Ñ-Ð-Õ-Õ-Ô-Ð-Ñ-Ô-Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ø"-Ô">Ð>�7Ð">Ð>Ð>Ð>Ð>Õ>Ô>Ð>Ð>Ð>Ð>�7Ð">Ð>Ñ>Ô>Ð>Õ>Ô>Ñ>Ô>Ð>Ð>Õ>Ô>�7Ñ>Ô>Ð>Õ>Ô>�7Ñ>Ô>Ð>Ð>Ð>Õ>Ô>Ñ>Ô>Ð>Ð>Õ>Ô> +Ñ>Ô>Ð>Õ>Ô> +Ñ>Ô>Ð>Ð>Õ>Ô>Ð">Ñ>Ô>Ð>Ð>Ñ>Ð>Ð>Ð>Ð>Ð>Ñ>Ð>Õ>Õ>Ô>Ð>Ñ>Ô>Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ø"Ô3Ð9•3Ð3Ñ4Ô4Ð9¸Ð9Ð4¸Ò9Ð9Ð9Ñ9Õ9Ô9Ð9Ð9Ð9Ð9Ð4¸Ð9Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9•3Ñ9Ô9Ð9Õ9Ô9•3Ñ9Ô9Ð9Ð9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9�{Ñ9Ô9Ð9Õ9Ô9�{Ñ9Ô9Ð9Ð9Õ9Ô9Ð3Ñ9Ô9Õ9Ô9Ð4Ñ9Ô9Õ9Ô9¸Ñ9Ô9Ð9Ð9Ñ9Ð9Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ñ9àÔ/Ð5�sÐ/Ñ0Ô0Ð5°AÐ5Ð0°AÒ5Ð5Ð5Ñ5Õ5Ô5Ð5Ð5Ð5Ð5Ð0°AÐ5Ñ5Ô5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5�sÑ5Ô5Ð5Õ5Ô5�sÑ5Ô5Ð5Ð5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5�;Ñ5Ô5Ð5Õ5Ô5�;Ñ5Ô5Ð5Ð5Õ5Ô5Ð/Ñ5Ô5Õ5Ô5Ð0Ñ5Ô5Õ5Ô5°AÑ5Ô5Ð5Ð5Ñ5Ð5Ð5Ð5Ð5Ð5Ñ5Ð5Õ5Õ5Ô5Ð5Ñ5Ô5Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5r   c                ó:  — d}t          dddd¬¦  «        }|                     |||¬¦  «        \  }}}d}||u }	|	s—t          j        d	|	fd
||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }
dd|
iz  }t          t          j	        |¦  «        ¦  «        ‚dx}	}|d         }t          d¦  «        D ]À}|                     ||¬¦  «        \  }}}d}||u }	|	s—t          j        d	|	fd
||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }
dd|
iz  }t          t          j	        |¦  «        ¦  «        ‚dx}	}ŒÁ|                     |¦  «        j        }g }	|j        }d}||k    }|}|r|j        }d}||u }|}|�s~t          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }|	                     |¦  «         |ržt          j        d	|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }|	                     |¦  «         t          j        |	d¦  «        i z  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}x}	x}x}x}x}x}}|j        }||v}	|	sÕt          j        d |	fd!||f¦  «        d"t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd"d#t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd#t          j        |¦  «        d$œz  }d%d&|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}	}|                     ||¬¦  «        \  }}} g }	d'}!||!u }|}|rd}"| |"u }#|#}|�sXt          j        d	|fd(||!f¦  «        d)t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd)t          j        |!¦  «        d*œz  }d+d,|iz  }|	                     |¦  «         |r‹t          j        d	|#fd-| |"f¦  «        d.t	          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        nd.t          j        |"¦  «        d/œz  }$d0d1|$iz  }%|	                     |%¦  «         t          j        |	d¦  «        i z  }&d2d3|&iz  }'t          t          j	        |'¦  «        ¦  «        ‚dx}x}	x}x}!x}#}"g }	d4}||v }!|!}|!sd5}(|(|v }"|"}|�sXt          j        d6|!fd7||f¦  «        t          j        |¦  «        d8t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd8d9œz  }d+d,|iz  }|	                     |¦  «         |!s‹t          j        d6|"fd:|(|f¦  «        t          j        |(¦  «        d8t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd8d;œz  }$d0d1|$iz  }%|	                     |%¦  «         t          j        |	d<¦  «        i z  }&d2d3|&iz  }'t          t          j	        |'¦  «        ¦  «        ‚dx}x}	x}x}!x}(}"|j        }	d}!|	|!k    }|sªt          j        d|fd=|	|!f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |	¦  «        t          j        |!¦  «        d>œz  }d?d,|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}	x}}!|                     |d|¬@¦  «        \  })}}g }	d'}!|)|!u }|}|r|j        }#d}*|#|*k    }|}|�skt          j        d	|fd(|)|!f¦  «        dAt	          j        ¦   «         v st          j        |)¦  «        rt          j        |)¦  «        ndAt          j        |!¦  «        d*œz  }d+d,|iz  }|	                     |¦  «         |ržt          j        d|fdB|#|*f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |#¦  «        t          j        |*¦  «        dCœz  }%dDdE|%iz  }|	                     |¦  «         t          j        |	d¦  «        i z  }'dFdG|'iz  }t          t          j	        |¦  «        ¦  «        ‚dx}x}	x}x}!x}#x}}*dHD �]¸}+|                     ||+|¬@¦  «        \  },}}g }	d'}!|,|!u }|}|r|j        }#d}*|#|*k    }|}|�skt          j        d	|fd(|,|!f¦  «        dIt	          j        ¦   «         v st          j        |,¦  «        rt          j        |,¦  «        ndIt          j        |!¦  «        d*œz  }d+d,|iz  }|	                     |¦  «         |ržt          j        d|fdB|#|*f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |#¦  «        t          j        |*¦  «        dCœz  }%dDdE|%iz  }|	                     |¦  «         t          j        |	d¦  «        i z  }'dFdG|'iz  }t          t          j	        |¦  «        ¦  «        ‚dx}x}	x}x}!x}#x}}*�Œºt          dJ¦  «        D �]·}|                     ||¬¦  «        \  }-}}g }	d'}!|-|!u }|}|r|j        }#d}*|#|*k    }|}|�skt          j        d	|fd(|-|!f¦  «        dKt	          j        ¦   «         v st          j        |-¦  «        rt          j        |-¦  «        ndKt          j        |!¦  «        d*œz  }d+d,|iz  }|	                     |¦  «         |ržt          j        d|fdB|#|*f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |#¦  «        t          j        |*¦  «        dCœz  }%dDdE|%iz  }|	                     |¦  «         t          j        |	d¦  «        i z  }'dFdG|'iz  }t          t          j	        |¦  «        ¦  «        ‚dx}x}	x}x}!x}#x}}*�Œ¹|j        }t'          |¦  «        }!d}.|!|.k    }|�st          j        d|fdL|!|.f¦  «        dMt	          j        ¦   «         v st          j        t&          ¦  «        rt          j        t&          ¦  «        ndMd#t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd#t          j        |¦  «        t          j        |!¦  «        t          j        |.¦  «        dNœz  }/dOdP|/iz  }0t          t          j	        |0¦  «        ¦  «        ‚dx}x}!x}}.dS )QzATests 7th entry attempt on exhausted portal and boundary attacks.Úchallenger_boundary_testerÚmap_t16_celestialu   Cá»­u Trá»�ng ThiÃªn Cungr   Úzone_boundless_celestial_palacer   r"   Tr#   r%   Úokr'   rY   r*   Nr+   r?   Úok_pr   r5   ©z9%(py4)s
{%(py4)s = %(py2)s.portals_remaining
} == %(py7)sr>   ©r1   r2   rC   ú%(py9)srM   )z>%(py13)s
{%(py13)s = %(py11)s.active_instance_id
} is %(py16)s©Úpy11Úpy13Úpy16ú%(py18)sÚpy18úassert %(py21)sÚpy21rZ   r\   r/   r   r0   r3   r4   FrE   Úok_7thrG   rH   rC   )z%(py9)s is %(py12)sÚres_7thrL   rO   rP   rQ   rR   z0/6u   khÃ´ng cÃ³ Cá»•ngr,   )z%(py3)s in %(py5)sÚmsg_7th)r)   r*   ©z%(py10)s in %(py12)s©r=   rN   r   r@   rA   rB   )Úportal_indexr   Úok_idx0)z<%(py11)s
{%(py11)s = %(py9)s.portals_remaining
} == %(py14)s)rM   r•   rP   z%(py16)sr—   zassert %(py19)sÚpy19)éÿÿÿÿr?   é   iç  Úok_badé   Úok_burstr7   r8   r9   r<   r=   )r   r^   r_   r`   ra   rb   rc   rd   rf   rg   r]   rl   ri   rj   rS   rk   rm   rn   rh   r8   )1rp   r   r   rq   rs   r�   r   Úresrv   rw   rx   ry   r/   r�   r>   rz   r   Ú@py_assert5rƒ   Ú@py_assert12Ú@py_assert15Ú@py_assert14r‚   Ú@py_format10Ú@py_format17Ú@py_format19Ú@py_format20Ú@py_format22r{   r|   rœ   rž   r�   r}   r„   r…   r†   r‡   rˆ   r‰   Ú@py_assert9r¢   Ú@py_assert13Úbad_idxr¦   r¨   r~   r€   r�   s1                                                    r   Ú4test_exhausted_portal_7th_entry_and_boundary_attackszZTestMapDevicePortalCleanupAdversarial.test_exhausted_portal_7th_entry_and_boundary_attacksR   s  € ð 1ˆ	ÝØ&Ø,ØØ>ð	
ñ 
ô 
ˆ
ð $×?Ò?Ø�z¨{ð @ñ 
ô 
‰
ˆˆAˆsð Ðˆr�TˆzÐÐÐÕÔÐÐÐÐˆr�TÐÑÔÐÕÔÑÔÐÐÕÔˆrÑÔÐÕÔˆrÑÔÐÐÕÔ�TÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØ�mÔ$ˆå�q‘”ð 	 ð 	 ˆAØ'×8Ò8¸ÐP[Ð8Ñ\Ô\‰JˆD�!�QØÐ�4˜4�<ÐÐÐÕÔÐÐÐÐ�4˜4ÐÑÔÐÕÔÑÔÐÐÕÔ�4ÑÔÐÕÔ�4ÑÔÐÐÕÔ˜4ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐà×2Ò2°9Ñ=Ô=ÔHˆØLÐLˆsÔ$ÐL¨ÐLÐ$¨Ò)ÐLÐLÐLÐLÐL¨cÔ.DÐLÈÐLÐ.DÈÐ.LÐLÐLÐLÐLÑLÕLÔLÐLÐLÐLÐLÐ$¨ÐLÑLÔLÐLÕLÔLÑLÔLÐLÐLÕLÔLˆsÑLÔLÐLÕLÔLˆsÑLÔLÐLÐLÕLÔLÐ$ÑLÔLÕLÔL¨ÑLÔLÐLÐLÑLÐLÐLÐLÐLÐLÑLÐLÐL×LÒLÐLÑLÔLÐLÐLÐLÕLÔLÐLÐLÐLÐLÐ.DÈÐLÑLÔLÐLÕLÔLÑLÔLÐLÐLÕLÔL¨cÑLÔLÐLÕLÔL¨cÑLÔLÐLÐLÕLÔLÐ.DÑLÔLÕLÔLÈÑLÔLÐLÐLÑLÐLÐLÐLÐLÐLÑLÐLÐL×LÒLÐLÑLÔLÐLÕLÔLÐLÐLÑLÔLÐLÑLÐLÐLÐLÐLÐLÑLÐLÕLÕLÔLÐLÑLÔLÑLÔLÐLÐLÐLÐLÐLÐLÐLÐLÐLÐLÐLÐLÐLÐLÐLÐLÐLØ)Ô:Ð:ˆwÐ:Ð:Ð:Ð:Ð:Õ:Ô:Ð:Ð:Ð:Ð:ˆwÐ:Ð:Ñ:Ô:Ð:Õ:Ô:Ñ:Ô:Ð:Ð:Õ:Ô:ˆwÑ:Ô:Ð:Õ:Ô:ˆwÑ:Ô:Ð:Ð:Ð:Õ:Ô:Ñ:Ô:Ð:Ð:Õ:Ô:˜kÑ:Ô:Ð:Õ:Ô:˜kÑ:Ô:Ð:Ð:Õ:Ô:Ð:Ñ:Ô:Ð:Ð:Ñ:Ð:Ð:Ð:Ð:Ð:Ñ:Ð:Õ:Õ:Ô:Ð:Ñ:Ô:Ñ:Ô:Ð:Ð:Ð:Ð:Ð:ð $2×#BÒ#BØ ;ð $Cñ $
ô $
Ñ ˆ�˜ð 	3Ð2˜Ð2ˆv˜ˆÐ2Ð2Ð2Ð2Ð2¨dÐ2 7¨d ?Ð2Ð2Ð2Ð2Ñ2Õ2Ô2Ð2Ð2Ð2Ð2ˆv˜Ð2Ñ2Ô2Ð2Õ2Ô2Ñ2Ô2Ð2Ð2Õ2Ô2ˆvÑ2Ô2Ð2Õ2Ô2ˆvÑ2Ô2Ð2Ð2Õ2Ô2˜Ñ2Ô2Ð2Ð2Ñ2Ð2Ð2Ð2Ð2Ð2Ñ2Ð2Ð2×2Ò2Ð2Ñ2Ô2Ð2Ð2Ð2Õ2Ô2Ð2Ð2Ð2Ð2 7¨dÐ2Ñ2Ô2Ð2Õ2Ô2Ñ2Ô2Ð2Ð2Õ2Ô2 7Ñ2Ô2Ð2Õ2Ô2 7Ñ2Ô2Ð2Ð2Õ2Ô2¨dÑ2Ô2Ð2Ð2Ñ2Ð2Ð2Ð2Ð2Ð2Ñ2Ð2Ð2×2Ò2Ð2Ñ2Ô2Ð2Õ2Ô2Ð2Ð2Ñ2Ô2Ð2Ñ2Ð2Ð2Ð2Ð2Ð2Ñ2Ð2Õ2Õ2Ô2Ð2Ñ2Ô2Ñ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ð2ØAÐAˆuÐAˆu˜ÐÐAÐAÐAÐAÐAÐ#6ÐAÐ#6¸'Ð#AÐAÐAÐAÐAÑAÕAÔAÐAÐAÐAÐAˆu˜ÐAÑAÔAÕAÔAˆuÑAÔAÐAÕAÔAÑAÔAÐAÐAÕAÔA˜ÑAÔAÐAÕAÔA˜ÑAÔAÐAÐAÐAÐAÑAÐAÐAÐAÐAÐAÑAÐAÐA×AÒAÐAÑAÔAÐAÐAÐAÕAÔAÐAÐAÐAÐAÐ#6¸'ÐAÑAÔAÕAÔAÐ#6ÑAÔAÐAÕAÔAÑAÔAÐAÐAÕAÔA¸'ÑAÔAÐAÕAÔA¸'ÑAÔAÐAÐAÐAÐAÑAÐAÐAÐAÐAÐAÑAÐAÐA×AÒAÐAÑAÔAÐAÕAÔAÐAÐAÑAÔAÐAÑAÐAÐAÐAÐAÐAÑAÐAÕAÕAÔAÐAÑAÔAÑAÔAÐAÐAÐAÐAÐAÐAÐAÐAÐAÐAÐAÐAÐAØÔ$Ð)¨Ð)Ð$¨Ò)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)Ð$¨Ð)Ñ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)ˆsÑ)Ô)Ð)Õ)Ô)ˆsÑ)Ô)Ð)Ð)Õ)Ô)Ð$Ñ)Ô)Õ)Ô)¨Ñ)Ô)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)à&×7Ò7Ø A°;ð 8ñ 
ô 
‰ˆ��Að 	?Ð>˜%Ð>ˆw˜%ÐÐ>Ð>Ð>Ð>Ð> CÔ$9Ð>¸QÐ>Ð$9¸QÒ$>Ð>Ð>Ð>Ð>Ñ>Õ>Ô>Ð>Ð>Ð>Ð>ˆw˜%Ð>Ñ>Ô>Ð>Õ>Ô>Ñ>Ô>Ð>Ð>Õ>Ô>ˆwÑ>Ô>Ð>Õ>Ô>ˆwÑ>Ô>Ð>Ð>Õ>Ô>˜%Ñ>Ô>Ð>Ð>Ñ>Ð>Ð>Ð>Ð>Ð>Ñ>Ð>Ð>×>Ò>Ð>Ñ>Ô>Ð>Ð>Ð>Õ>Ô>Ð>Ð>Ð>Ð>Ð$9¸QÐ>Ñ>Ô>Ð>Õ>Ô>Ñ>Ô>Ð>Ð>Õ>Ô> CÑ>Ô>Ð>Õ>Ô> CÑ>Ô>Ð>Ð>Õ>Ô>Ð$9Ñ>Ô>Õ>Ô>¸QÑ>Ô>Ð>Ð>Ñ>Ð>Ð>Ð>Ð>Ð>Ñ>Ð>Ð>×>Ò>Ð>Ñ>Ô>Ð>Õ>Ô>Ð>Ð>Ñ>Ô>Ð>Ñ>Ð>Ð>Ð>Ð>Ð>Ñ>Ð>Õ>Õ>Ô>Ð>Ñ>Ô>Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>ð 'ð 	Bñ 	BˆGØ)×:Ò:Ø¨¸[ð ;ñ ô ‰LˆF�A�qð BÐA˜UÐA�6˜U�?ÐAÐAÐAÐAÐA sÔ'<ÐAÀÐAÐ'<ÀÒ'AÐAÐAÐAÐAÑAÕAÔAÐAÐAÐAÐA�6˜UÐAÑAÔAÐAÕAÔAÑAÔAÐAÐAÕAÔA�6ÑAÔAÐAÕAÔA�6ÑAÔAÐAÐAÕAÔA˜UÑAÔAÐAÐAÑAÐAÐAÐAÐAÐAÑAÐAÐA×AÒAÐAÑAÔAÐAÐAÐAÕAÔAÐAÐAÐAÐAÐ'<ÀÐAÑAÔAÐAÕAÔAÑAÔAÐAÐAÕAÔA sÑAÔAÐAÕAÔA sÑAÔAÐAÐAÕAÔAÐ'<ÑAÔAÕAÔAÀÑAÔAÐAÐAÑAÐAÐAÐAÐAÐAÑAÐAÐA×AÒAÐAÑAÔAÐAÕAÔAÐAÐAÑAÔAÐAÑAÐAÐAÐAÐAÐAÑAÐAÕAÕAÔAÐAÑAÔAÑAÔAÐAÐAÐAÐAÐAÐAÐAÐAÐAÐAÐAÐAÐAÐAÐAÑAå�r‘”ð 	Dñ 	DˆAØ+×<Ò<Ø {ð =ñ ô ‰NˆH�a˜ð DÐC˜uÐC�8˜uÐ$ÐCÐCÐCÐCÐC¨Ô)>ÐCÀ!ÐCÐ)>À!Ò)CÐCÐCÐCÐCÑCÕCÔCÐCÐCÐCÐC�8˜uÐCÑCÔCÐCÕCÔCÑCÔCÐCÐCÕCÔC�8ÑCÔCÐCÕCÔC�8ÑCÔCÐCÐCÕCÔC˜uÑCÔCÐCÐCÑCÐCÐCÐCÐCÐCÑCÐCÐC×CÒCÐCÑCÔCÐCÐCÐCÕCÔCÐCÐCÐCÐCÐ)>À!ÐCÑCÔCÐCÕCÔCÑCÔCÐCÐCÕCÔC¨ÑCÔCÐCÕCÔC¨ÑCÔCÐCÐCÕCÔCÐ)>ÑCÔCÕCÔCÀ!ÑCÔCÐCÐCÑCÐCÐCÐCÐCÐCÑCÐCÐC×CÒCÐCÑCÔCÐCÕCÔCÐCÐCÑCÔCÐCÑCÐCÐCÐCÐCÐCÑCÐCÕCÕCÔCÐCÑCÔCÑCÔCÐCÐCÐCÐCÐCÐCÐCÐCÐCÐCÐCÐCÐCÐCÐCÑCØÔ/Ð5�sÐ/Ñ0Ô0Ð5°AÐ5Ð0°AÒ5Ð5Ð5Ñ5Õ5Ô5Ð5Ð5Ð5Ð5Ð0°AÐ5Ñ5Ô5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5�sÑ5Ô5Ð5Õ5Ô5�sÑ5Ô5Ð5Ð5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5�;Ñ5Ô5Ð5Õ5Ô5�;Ñ5Ô5Ð5Ð5Õ5Ô5Ð/Ñ5Ô5Õ5Ô5Ð0Ñ5Ô5Õ5Ô5°AÑ5Ô5Ð5Ð5Ñ5Ð5Ð5Ð5Ð5Ð5Ñ5Ð5Õ5Õ5Ô5Ð5Ñ5Ô5Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5r   c                óV  — d}t          dddd¬¦  «        }|                     ||¦  «        \  }}}d}||u }|s—t          j        d|fd	||f¦  «        d
t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd
t          j        |¦  «        dœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚dx}}| 
                    |¦  «        j        }
g }|
j        }d}||k    }|}|r|
j        }d}||u}|}|�s~t          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |
¦  «        rt          j        |
¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }|                     |¦  «         |ržt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |
¦  «        rt          j        |
¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }|                     |¦  «         t          j        |d¦  «        i z  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}x}x}x}x}x}x}}t!          d¦  «        D �]ü}|                     |d¬¦  «        \  }}}g }d}||u }|}|r|
j        }d}||z
  }||k    }|}|�s©t          j        d|fd||f¦  «        d t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd t          j        |¦  «        d!œz  }	d"d#|	iz  }|                     |¦  «         |rÜt          j        d|fd$||f¦  «        dt	          j        ¦   «         v st          j        |
¦  «        rt          j        |
¦  «        ndt          j        |¦  «        t          j        |¦  «        d%t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd%d&œz  }dd|iz  }|                     |¦  «         t          j        |d¦  «        i z  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}x}x}x}x}x}x}}�Œþ|                     |d¬¦  «        \  }}}g }d}||u }|}|rd'} | |v }!|!}|�sXt          j        d|fd||f¦  «        d(t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd(t          j        |¦  «        d!œz  }	d"d#|	iz  }|                     |¦  «         |r‹t          j        d)|!fd*| |f¦  «        t          j        | ¦  «        d+t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd+d,œz  }"d-d.|"iz  }#|                     |#¦  «         t          j        |d¦  «        i z  }$d/d0|$iz  }%t          t          j	        |%¦  «        ¦  «        ‚dx}x}x}x}x} }!g }|
j        }d}||u }|}|r|
j        }d}||k    }|}|�s~t          j        d|fd1||f¦  «        dt	          j        ¦   «         v st          j        |
¦  «        rt          j        |
¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }|                     |¦  «         |ržt          j        d|fd2||f¦  «        dt	          j        ¦   «         v st          j        |
¦  «        rt          j        |
¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }|                     |¦  «         t          j        |d¦  «        i z  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}x}x}x}x}x}x}}t%          ¦   «         }&d3}'|                     |'||&¬¦  «        \  }(}})d}|(|u }|s—t          j        d|fd	|(|f¦  «        d4t	          j        ¦   «         v st          j        |(¦  «        rt          j        |(¦  «        nd4t          j        |¦  «        dœz  }dd|iz  }	t          t          j	        |	¦  «        ¦  «        ‚dx}}|)d5         }*|&j        }|*|v }|sÕt          j        d)|fd6|*|f¦  «        d7t	          j        ¦   «         v st          j        |*¦  «        rt          j        |*¦  «        nd7d8t	          j        ¦   «         v st          j        |&¦  «        rt          j        |&¦  «        nd8t          j        |¦  «        d9œz  }+d:d;|+iz  },t          t          j	        |,¦  «        ¦  «        ‚dx}}t!          d¦  «        D �]Û}|                     |'|&¦  «        \  }}}g }d}||u }|}|r|&j        }|*|v }|}|�s–t          j        d|fd||f¦  «        d t	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd t          j        |¦  «        d!œz  }	d"d#|	iz  }|                     |¦  «         |rÉt          j        d)|fd<|*|f¦  «        d7t	          j        ¦   «         v st          j        |*¦  «        rt          j        |*¦  «        nd7d8t	          j        ¦   «         v st          j        |&¦  «        rt          j        |&¦  «        nd8t          j        |¦  «        d=œz  }-d>d?|-iz  }$|                     |$¦  «         t          j        |d¦  «        i z  }d@d|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}x}x}x}x}}�ŒÝ|                     |'|&¦  «        \  }.}}g }d}|.|u }|}|r|&j        }|*|v}|}|�s–t          j        d|fd|.|f¦  «        dAt	          j        ¦   «         v st          j        |.¦  «        rt          j        |.¦  «        ndAt          j        |¦  «        d!œz  }	d"d#|	iz  }|                     |¦  «         |rÉt          j        dB|fdC|*|f¦  «        d7t	          j        ¦   «         v st          j        |*¦  «        rt          j        |*¦  «        nd7d8t	          j        ¦   «         v st          j        |&¦  «        rt          j        |&¦  «        nd8t          j        |¦  «        d=œz  }-d>d?|-iz  }$|                     |$¦  «         t          j        |d¦  «        i z  }d@d|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}x}x}x}x}}|&j        }t+          |¦  «        }d}/||/k    }|�st          j        d|fdD||/f¦  «        dEt	          j        ¦   «         v st          j        t*          ¦  «        rt          j        t*          ¦  «        ndEd8t	          j        ¦   «         v st          j        |&¦  «        rt          j        |&¦  «        nd8t          j        |¦  «        t          j        |¦  «        t          j        |/¦  «        dFœz  }0dGdH|0iz  }1t          t          j	        |1¦  «        ¦  «        ‚dx}x}x}}/dS )IzETests calling enter_map_portal with zone_engine=None vs ZoneEngine().Úplayer_without_zeÚmap_standalonezHoang Vu Chi DiarD   r   r   Tr#   r%   r&   r'   rY   r*   Nr?   r5   r‘   r>   r’   r“   rM   rI   )zB%(py13)s
{%(py13)s = %(py11)s.active_instance_id
} is not %(py16)sr”   r˜   r™   r   rš   r›   r"   rE   r�   rG   rH   rC   )zI%(py11)s
{%(py11)s = %(py9)s.portals_remaining
} == (%(py14)s - %(py15)s)Úi)rM   r•   rP   Úpy15rW   Úok_lastr,   rŸ   Úmsg_lastr    rO   rP   rQ   rR   ©z:%(py4)s
{%(py4)s = %(py2)s.active_instance_id
} is %(py7)s©z=%(py13)s
{%(py13)s = %(py11)s.portals_remaining
} == %(py16)sÚplayer_positional_zeÚok_sessr+   r.   r/   Úzer0   r3   r4   )z;%(py9)s in %(py13)s
{%(py13)s = %(py11)s.active_instances
})rM   r•   r–   z%(py15)sr»   zassert %(py18)srU   rZ   )z?%(py9)s not in %(py13)s
{%(py13)s = %(py11)s.active_instances
}r7   r8   r9   r<   r=   )r   Úactivate_map_devicer_   r`   ra   rb   rc   rd   rf   rg   ri   rj   rS   rk   rm   rn   r]   rl   r   r^   rh   r8   )2rp   r   Úplayer_noners   r&   r   rv   rw   rx   ry   r>   rz   r   rª   rƒ   r«   r¬   r­   r‚   r®   r¯   r°   r±   r²   rº   r�   r}   r…   r´   Ú@py_assert16r¼   r½   r³   r„   r†   r‡   rˆ   r‰   rÂ   Ú
player_posrÁ   Úres_sessr/   r{   r|   Ú@py_format14rU   r~   r€   r�   s2                                                     r   Ú2test_calling_convention_parity_none_vs_zone_enginezXTestMapDevicePortalCleanupAdversarial.test_calling_convention_parity_none_vs_zone_engine†   sÃ  € ð *ˆÝØ#Ø#ØØ2ð	
ñ 
ô 
ˆ
ð &×9Ò9¸+ÀzÑRÔR‰ˆ��1ØÐˆv˜ˆ~ÐÐÐÕÔÐÐÐÐˆv˜ÐÑÔÐÕÔÑÔÐÐÕÔˆvÑÔÐÕÔˆvÑÔÐÐÕÔ˜ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØ×2Ò2°;Ñ?Ô?ÔJˆØPÐPˆsÔ$ÐP¨ÐPÐ$¨Ò)ÐPÐPÐPÐPÐP¨cÔ.DÐPÈDÐPÐ.DÈDÐ.PÐPÐPÐPÐPÑPÕPÔPÐPÐPÐPÐPÐ$¨ÐPÑPÔPÐPÕPÔPÑPÔPÐPÐPÕPÔPˆsÑPÔPÐPÕPÔPˆsÑPÔPÐPÐPÕPÔPÐ$ÑPÔPÕPÔP¨ÑPÔPÐPÐPÑPÐPÐPÐPÐPÐPÑPÐPÐP×PÒPÐPÑPÔPÐPÐPÐPÕPÔPÐPÐPÐPÐPÐ.DÈDÐPÑPÔPÐPÕPÔPÑPÔPÐPÐPÕPÔP¨cÑPÔPÐPÕPÔP¨cÑPÔPÐPÐPÕPÔPÐ.DÑPÔPÕPÔPÈDÑPÔPÐPÐPÑPÐPÐPÐPÐPÐPÑPÐPÐP×PÒPÐPÑPÔPÐPÕPÔPÐPÐPÑPÔPÐPÑPÐPÐPÐPÐPÐPÑPÐPÕPÕPÔPÐPÑPÔPÑPÔPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPå�q‘”ð 	Añ 	AˆAØ%×6Ò6°{ÐPTÐ6ÑUÔU‰HˆB��1Ø@Ð@˜Ð@�2˜�:Ð@Ð@Ð@Ð@Ð@ #Ô"7Ð@¸1Ð@¸1¸q¹5Ð@Ð"7¸5Ò"@Ð@Ð@Ð@Ð@Ñ@Õ@Ô@Ð@Ð@Ð@Ð@�2˜Ð@Ñ@Ô@Ð@Õ@Ô@Ñ@Ô@Ð@Ð@Õ@Ô@�2Ñ@Ô@Ð@Õ@Ô@�2Ñ@Ô@Ð@Ð@Õ@Ô@˜Ñ@Ô@Ð@Ð@Ñ@Ð@Ð@Ð@Ð@Ð@Ñ@Ð@Ð@×@Ò@Ð@Ñ@Ô@Ð@Ð@Ð@Õ@Ô@Ð@Ð@Ð@Ð@Ð"7¸5Ð@Ñ@Ô@Ð@Õ@Ô@Ñ@Ô@Ð@Ð@Õ@Ô@ #Ñ@Ô@Ð@Õ@Ô@ #Ñ@Ô@Ð@Ð@Õ@Ô@Ð"7Ñ@Ô@Õ@Ô@¸1Ñ@Ô@Ð@Õ@Ô@Ñ@Ô@Ð@Ð@Õ@Ô@¸qÑ@Ô@Ð@Õ@Ô@¸qÑ@Ô@Ð@Ð@Ð@Ð@Ñ@Ð@Ð@Ð@Ð@Ð@Ñ@Ð@Ð@×@Ò@Ð@Ñ@Ô@Ð@Õ@Ô@Ð@Ð@Ñ@Ô@Ð@Ñ@Ð@Ð@Ð@Ð@Ð@Ñ@Ð@Õ@Õ@Ô@Ð@Ñ@Ô@Ñ@Ô@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ñ@à-×>Ò>¸{ÐX\Ð>Ñ]Ô]Ñˆ�˜1ØDÐD˜$ÐDˆw˜$ˆÐDÐDÐDÐDÐDÐ#8ÐDÐ#8¸HÐ#DÐDÐDÐDÐDÑDÕDÔDÐDÐDÐDÐDˆw˜$ÐDÑDÔDÐDÕDÔDÑDÔDÐDÐDÕDÔDˆwÑDÔDÐDÕDÔDˆwÑDÔDÐDÐDÕDÔD˜$ÑDÔDÐDÐDÑDÐDÐDÐDÐDÐDÑDÐDÐD×DÒDÐDÑDÔDÐDÐDÐDÕDÔDÐDÐDÐDÐDÐ#8¸HÐDÑDÔDÕDÔDÐ#8ÑDÔDÐDÕDÔDÑDÔDÐDÐDÕDÔD¸HÑDÔDÐDÕDÔD¸HÑDÔDÐDÐDÐDÐDÑDÐDÐDÐDÐDÐDÑDÐDÐD×DÒDÐDÑDÔDÐDÕDÔDÐDÐDÑDÔDÐDÑDÐDÐDÐDÐDÐDÑDÐDÕDÕDÔDÐDÑDÔDÑDÔDÐDÐDÐDÐDÐDÐDÐDÐDÐDÐDÐDÐDÐDØLÐLˆsÔ%ÐL¨ÐLÐ%¨Ð-ÐLÐLÐLÐLÐL°#Ô2GÐLÈ1ÐLÐ2GÈ1Ò2LÐLÐLÐLÐLÑLÕLÔLÐLÐLÐLÐLÐ%¨ÐLÑLÔLÐLÕLÔLÑLÔLÐLÐLÕLÔLˆsÑLÔLÐLÕLÔLˆsÑLÔLÐLÐLÕLÔLÐ%ÑLÔLÕLÔL¨ÑLÔLÐLÐLÑLÐLÐLÐLÐLÐLÑLÐLÐL×LÒLÐLÑLÔLÐLÐLÐLÕLÔLÐLÐLÐLÐLÐ2GÈ1ÐLÑLÔLÐLÕLÔLÑLÔLÐLÐLÕLÔL°#ÑLÔLÐLÕLÔL°#ÑLÔLÐLÐLÕLÔLÐ2GÑLÔLÕLÔLÈ1ÑLÔLÐLÐLÑLÐLÐLÐLÐLÐLÑLÐLÐL×LÒLÐLÑLÔLÐLÕLÔLÐLÐLÑLÔLÐLÑLÐLÐLÐLÐLÐLÑLÐLÕLÕLÔLÐLÑLÔLÑLÔLÐLÐLÐLÐLÐLÐLÐLÐLÐLÐLÐLÐLÐLÐLÐLÐLÐLõ ‰\Œ\ˆØ+ˆ
Ø-×IÒIØ˜
°ð  Jñ  
ô  
Ñˆ��Hð Ðˆw˜$ˆÐÐÐÕÔÐÐÐÐˆw˜$ÐÑÔÐÕÔÑÔÐÐÕÔˆwÑÔÐÕÔˆwÑÔÐÐÕÔ˜$ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØ˜=Ô)ˆØÔ-Ð-ˆwÐ-Ð-Ð-Ð-Ð-Õ-Ô-Ð-Ð-Ð-Ð-ˆwÐ-Ð-Ñ-Ô-Ð-Õ-Ô-Ñ-Ô-Ð-Ð-Õ-Ô-ˆwÑ-Ô-Ð-Õ-Ô-ˆwÑ-Ô-Ð-Ð-Ð-Õ-Ô-Ñ-Ô-Ð-Ð-Õ-Ô-˜"Ñ-Ô-Ð-Õ-Ô-˜"Ñ-Ô-Ð-Ð-Õ-Ô-Ð-Ñ-Ô-Ð-Ð-Ñ-Ð-Ð-Ð-Ð-Ð-Ñ-Ð-Õ-Õ-Ô-Ð-Ñ-Ô-Ñ-Ô-Ð-Ð-Ð-Ð-Ð-å�q‘”ð 	Añ 	AˆAØ%×6Ò6°zÀ2ÑFÔF‰HˆB��1Ø@Ð@˜Ð@�2˜�:Ð@Ð@Ð@Ð@Ð@¨RÔ-@Ð@ 'Ð-@Ð"@Ð@Ð@Ð@Ð@Ñ@Õ@Ô@Ð@Ð@Ð@Ð@�2˜Ð@Ñ@Ô@Ð@Õ@Ô@Ñ@Ô@Ð@Ð@Õ@Ô@�2Ñ@Ô@Ð@Õ@Ô@�2Ñ@Ô@Ð@Ð@Õ@Ô@˜Ñ@Ô@Ð@Ð@Ñ@Ð@Ð@Ð@Ð@Ð@Ñ@Ð@Ð@×@Ò@Ð@Ñ@Ô@Ð@Ð@Ð@Õ@Ô@Ð@Ð@Ð@Ð@ 'Ð-@Ð@Ñ@Ô@Ð@Õ@Ô@Ñ@Ô@Ð@Ð@Õ@Ô@ 'Ñ@Ô@Ð@Õ@Ô@ 'Ñ@Ô@Ð@Ð@Ð@Õ@Ô@Ñ@Ô@Ð@Ð@Õ@Ô@¨RÑ@Ô@Ð@Õ@Ô@¨RÑ@Ô@Ð@Ð@Õ@Ô@Ð-@Ñ@Ô@Ð@Ð@Ñ@Ð@Ð@Ð@Ð@Ð@Ñ@Ð@Ð@×@Ò@Ð@Ñ@Ô@Ð@Õ@Ô@Ð@Ð@Ñ@Ô@Ð@Ñ@Ð@Ð@Ð@Ð@Ð@Ñ@Ð@Õ@Õ@Ô@Ð@Ñ@Ô@Ñ@Ô@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ñ@à'×8Ò8¸ÀRÑHÔH‰ˆ�!�QØFÐF˜4ÐFˆx˜4ÐÐFÐFÐFÐFÐF°2Ô3FÐF GÐ3FÐ$FÐFÐFÐFÐFÑFÕFÔFÐFÐFÐFÐFˆx˜4ÐFÑFÔFÐFÕFÔFÑFÔFÐFÐFÕFÔFˆxÑFÔFÐFÕFÔFˆxÑFÔFÐFÐFÕFÔF˜4ÑFÔFÐFÐFÑFÐFÐFÐFÐFÐFÑFÐFÐF×FÒFÐFÑFÔFÐFÐFÐFÕFÔFÐFÐFÐFÐF GÐ3FÐFÑFÔFÐFÕFÔFÑFÔFÐFÐFÕFÔF GÑFÔFÐFÕFÔF GÑFÔFÐFÐFÐFÕFÔFÑFÔFÐFÐFÕFÔF°2ÑFÔFÐFÕFÔF°2ÑFÔFÐFÐFÕFÔFÐ3FÑFÔFÐFÐFÑFÐFÐFÐFÐFÐFÑFÐFÐF×FÒFÐFÑFÔFÐFÕFÔFÐFÐFÑFÔFÐFÑFÐFÐFÐFÐFÐFÑFÐFÕFÕFÔFÐFÑFÔFÑFÔFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFÐFØÔ&Ð,�sÐ&Ñ'Ô'Ð,¨1Ð,Ð'¨1Ò,Ð,Ð,Ñ,Õ,Ô,Ð,Ð,Ð,Ð,Ð'¨1Ð,Ñ,Ô,Ð,Õ,Ô,Ñ,Ô,Ð,Ð,Õ,Ô,�sÑ,Ô,Ð,Õ,Ô,�sÑ,Ô,Ð,Ð,Ð,Õ,Ô,Ñ,Ô,Ð,Ð,Õ,Ô,�2Ñ,Ô,Ð,Õ,Ô,�2Ñ,Ô,Ð,Ð,Õ,Ô,Ð&Ñ,Ô,Õ,Ô,Ð'Ñ,Ô,Õ,Ô,¨1Ñ,Ô,Ð,Ð,Ñ,Ð,Ð,Ð,Ð,Ð,Ñ,Ð,Õ,Õ,Ô,Ð,Ñ,Ô,Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,Ð,r   c           
     ó`  — d}d„ t          |¦  «        D ¦   «         }i }|D ]ø}t          d|› �d|› �t          |¦  «        dz  dz   d¬¦  «        }|                     |||¬	¦  «        \  }}	}
d
}||u }|s—t	          j        d|fd||f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        dœz  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}}|
d         ||<   Œù|j        }t          |¦  «        }||k    }|�s0t	          j        d|fd||f¦  «        dt          j        ¦   «         v st	          j        t          ¦  «        rt	          j	        t          ¦  «        nddt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        t	          j	        |¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        nddœz  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}x}}t          d¦  «        D �]=}|D �]6}|                     ||¬	¦  «        \  }}	}	d
}||u }|s—t	          j        d|fd||f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        dœz  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}}|                     |¦  «        j        }|j        }d}||z
  }||k    }|sèt	          j        d|fd||f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        t	          j	        |¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        nddœz  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}x}x}}|j        }t          |¦  «        }||k    }|�s0t	          j        d|fd||f¦  «        dt          j        ¦   «         v st	          j        t          ¦  «        rt	          j	        t          ¦  «        nddt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        t	          j	        |¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        nddœz  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}x}}�Œ8�Œ?|}|D �]¾}||         }|j        }||v }|sÕt	          j        d |fd!||f¦  «        d"t          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        nd"dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        d#œz  }d$d%|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}}|                     ||¬	¦  «        \  }}	}	d
}||u }|s—t	          j        d|fd||f¦  «        d&t          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        nd&t	          j	        |¦  «        dœz  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}}|dz  }|j        }||v}|sÕt	          j        d'|fd(||f¦  «        d"t          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        nd"dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        d#œz  }d$d%|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}}|j        }t          |¦  «        }||k    }|�s0t	          j        d|fd||f¦  «        dt          j        ¦   «         v st	          j        t          ¦  «        rt	          j	        t          ¦  «        nddt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        t	          j	        |¦  «        d)t          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        nd)dœz  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}x}}|                     |¦  «        j        }g }|j        }d}||u }|}|r|j        }d*}||k    } | }|�s~t	          j        d|fd+||f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        t	          j	        |¦  «        d,œz  }d-d|iz  }|                     |¦  «         |ržt	          j        d| fd.||f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        t	          j	        |¦  «        d/œz  }!d0d1|!iz  }"|                     |"¦  «         t	          j        |d*¦  «        i z  }#d2d3|#iz  }$t          t	          j        |$¦  «        ¦  «        ‚dx}x}x}x}x}x}x} }�ŒÀ|j        }t          |¦  «        }d*}||k    }|�st	          j        d|fd4||f¦  «        dt          j        ¦   «         v st	          j        t          ¦  «        rt	          j	        t          ¦  «        nddt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        t	          j	        |¦  «        t	          j	        |¦  «        d5œz  }%d6d7|%iz  }&t          t	          j        |&¦  «        ¦  «        ‚dx}x}x}}dS )8zPTests 50 concurrent players activating map devices and interleaved portal entry.é2   c                ó   — g | ]}d |d›�‘Œ	S )Úchallenger_concurrent_pÚ02dr   ©Ú.0rº   s     r   ú
<listcomp>zeTestMapDevicePortalCleanupAdversarial.test_multi_player_concurrent_device_cycling.<locals>.<listcomp>µ   s$   € ÐQÐQÐQ¸Ð4¨QÐ4Ð4Ð4ÐQÐQÐQr   Úmap_p_zMap of r   r   r   r   r"   Tr#   r%   r�   r'   rY   r*   Nr+   r5   ©zV%(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.active_instances
})
} == %(py7)sr8   r   Únum_players©r(   r:   r)   r*   rC   úassert %(py9)srM   rD   )zE%(py2)s
{%(py2)s = %(py0)s.portals_remaining
} == (%(py5)s - %(py6)s)r>   Ú	round_idx)r(   r1   r*   r4   r,   r.   Úsidr0   r3   r4   rU   rZ   r\   Úremaining_expectedr   r¾   r’   r“   r¿   r”   r˜   r™   rš   r›   r7   r9   r<   r=   )r]   r   Úhashr^   r_   r`   ra   rb   rc   rd   rf   rg   rh   r8   rl   ri   rj   rS   rk   rm   rn   )'rp   r   r   rÔ   ÚplayersÚsession_idsÚprs   r�   r   r©   rv   rw   rx   ry   r}   r   r‚   r®   r×   r>   r~   rz   rÙ   rØ   r{   r|   rU   rª   rƒ   r«   r¬   r­   r¯   r°   r±   r²   r€   r�   s'                                          r   Ú+test_multi_player_concurrent_device_cyclingzQTestMapDevicePortalCleanupAdversarial.test_multi_player_concurrent_device_cycling°   sq  € ð ˆØQÐQ½eÀKÑ>PÔ>PÐQÑQÔQˆØ&(ˆàð 	0ð 	0ˆAÝ"Ø# �|�|Ø"˜q�]�]Ý˜1‘g”g ‘l aÑ'Ø!6ð	ñ ô ˆJð (×CÒCØ�:¨;ð Dñ ô ‰JˆB��3ð Ð�2˜�:ÐÐÐÕÔÐÐÐÐ�2˜ÐÑÔÐÕÔÑÔÐÐÕÔ�2ÑÔÐÕÔ�2ÑÔÐÐÕÔ˜ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØ  Ô/ˆK˜‰NˆNàÔ/Ð?�sÐ/Ñ0Ô0Ð?Ð0°KÒ?Ð?Ð?Ñ?Õ?Ô?Ð?Ð?Ð?Ð?Ð0°KÐ?Ñ?Ô?Ð?Õ?Ô?Ñ?Ô?Ð?Ð?Õ?Ô?�sÑ?Ô?Ð?Õ?Ô?�sÑ?Ô?Ð?Ð?Ð?Õ?Ô?Ñ?Ô?Ð?Ð?Õ?Ô?�;Ñ?Ô?Ð?Õ?Ô?�;Ñ?Ô?Ð?Ð?Õ?Ô?Ð/Ñ?Ô?Õ?Ô?Ð0Ñ?Ô?Ð?Õ?Ô?Ñ?Ô?Ð?Ð?Õ?Ô?°KÑ?Ô?Ð?Õ?Ô?°KÑ?Ô?Ð?Ð?Ð?Ð?Ñ?Ð?Ð?Ð?Ð?Ð?Ñ?Ð?Õ?Õ?Ô?Ð?Ñ?Ô?Ñ?Ô?Ð?Ð?Ð?Ð?Ð?Ð?Ð?õ ˜q™œð 	Hñ 	HˆIØð Hñ H�Ø)×:Ò:¸1È+Ð:ÑVÔV‘��A�qØ!Ð!�r˜T�zÐ!Ð!Ð!Õ!Ô!Ð!Ð!Ð!Ð!�r˜TÐ!Ñ!Ô!Ð!Õ!Ô!Ñ!Ô!Ð!Ð!Õ!Ô!�rÑ!Ô!Ð!Õ!Ô!�rÑ!Ô!Ð!Ð!Õ!Ô!˜TÑ!Ô!Ð!Ð!Ñ!Ð!Ð!Ð!Ð!Ð!Ñ!Ð!Õ!Õ!Ô!Ð!Ñ!Ô!Ñ!Ô!Ð!Ð!Ð!Ð!Ð!Ø$×:Ò:¸1Ñ=Ô=ÔH�ØÔ,Ð=°Ð=°°I±Ð=Ð,°Ò=Ð=Ð=Ð=Õ=Ô=Ð=Ð=Ð=Ð=Ð,°Ð=Ñ=Ô=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=�sÑ=Ô=Ð=Õ=Ô=�sÑ=Ô=Ð=Ð=Õ=Ô=Ð,Ñ=Ô=Õ=Ô=°Ñ=Ô=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=°IÑ=Ô=Ð=Õ=Ô=°IÑ=Ô=Ð=Ð=Ð=Ð=Ñ=Ð=Ð=Ð=Ð=Ð=Ñ=Ð=Õ=Õ=Ô=Ð=Ñ=Ô=Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ø&Ô7ÐG•sÐ7Ñ8Ô8ÐGÐ8¸KÒGÐGÐGÑGÕGÔGÐGÐGÐGÐGÐ8¸KÐGÑGÔGÐGÕGÔGÑGÔGÐGÐGÕGÔG•sÑGÔGÐGÕGÔG•sÑGÔGÐGÐGÐGÕGÔGÑGÔGÐGÐGÕGÔG˜;ÑGÔGÐGÕGÔG˜;ÑGÔGÐGÐGÕGÔGÐ7ÑGÔGÕGÔGÐ8ÑGÔGÐGÕGÔGÑGÔGÐGÐGÕGÔG¸KÑGÔGÐGÕGÔG¸KÑGÔGÐGÐGÐGÐGÑGÐGÐGÐGÐGÐGÑGÐGÕGÕGÔGÐGÑGÔGÑGÔGÐGÐGÐGÐGÐGÐGÐGÑGñHð )ÐØð 		Qñ 		QˆAØ˜a”.ˆCØ%Ô6Ð6�3Ð6Ð6Ð6Ð6Ð6Õ6Ô6Ð6Ð6Ð6Ð6�3Ð6Ð6Ñ6Ô6Ð6Õ6Ô6Ñ6Ô6Ð6Ð6Õ6Ô6�3Ñ6Ô6Ð6Õ6Ô6�3Ñ6Ô6Ð6Ð6Ð6Õ6Ô6Ñ6Ô6Ð6Ð6Õ6Ô6˜+Ñ6Ô6Ð6Õ6Ô6˜+Ñ6Ô6Ð6Ð6Õ6Ô6Ð6Ñ6Ô6Ð6Ð6Ñ6Ð6Ð6Ð6Ð6Ð6Ñ6Ð6Õ6Õ6Ô6Ð6Ñ6Ô6Ñ6Ô6Ð6Ð6Ð6Ð6Ð6Ø+×<Ò<¸QÈKÐ<ÑXÔX‰NˆH�a˜Ø#Ð#�8˜tÐ#Ð#Ð#Ð#Õ#Ô#Ð#Ð#Ð#Ð#�8˜tÐ#Ñ#Ô#Ð#Õ#Ô#Ñ#Ô#Ð#Ð#Õ#Ô#�8Ñ#Ô#Ð#Õ#Ô#�8Ñ#Ô#Ð#Ð#Õ#Ô#˜tÑ#Ô#Ð#Ð#Ñ#Ð#Ð#Ð#Ð#Ð#Ñ#Ð#Õ#Õ#Ô#Ð#Ñ#Ô#Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ø !Ñ#ÐØ)Ô:Ð:�3Ð:Ð:Ð:Ð:Ð:Õ:Ô:Ð:Ð:Ð:Ð:�3Ð:Ð:Ñ:Ô:Ð:Õ:Ô:Ñ:Ô:Ð:Ð:Õ:Ô:�3Ñ:Ô:Ð:Õ:Ô:�3Ñ:Ô:Ð:Ð:Ð:Õ:Ô:Ñ:Ô:Ð:Ð:Õ:Ô:˜kÑ:Ô:Ð:Õ:Ô:˜kÑ:Ô:Ð:Ð:Õ:Ô:Ð:Ñ:Ô:Ð:Ð:Ñ:Ð:Ð:Ð:Ð:Ð:Ñ:Ð:Õ:Õ:Ô:Ð:Ñ:Ô:Ñ:Ô:Ð:Ð:Ð:Ð:Ð:Ø"Ô3ÐJ•3Ð3Ñ4Ô4ÐJÐ4Ð8JÒJÐJÐJÑJÕJÔJÐJÐJÐJÐJÐ4Ð8JÐJÑJÔJÐJÕJÔJÑJÔJÐJÐJÕJÔJ•3ÑJÔJÐJÕJÔJ•3ÑJÔJÐJÐJÐJÕJÔJÑJÔJÐJÐJÕJÔJ�{ÑJÔJÐJÕJÔJ�{ÑJÔJÐJÐJÕJÔJÐ3ÑJÔJÕJÔJÐ4ÑJÔJÐJÕJÔJÑJÔJÐJÐJÕJÔJÐ8JÑJÔJÐJÕJÔJÐ8JÑJÔJÐJÐJÐJÐJÑJÐJÐJÐJÐJÐJÑJÐJÕJÕJÔJÐJÑJÔJÑJÔJÐJÐJÐJÐJÐJÐJÐJØ ×6Ò6°qÑ9Ô9ÔDˆCØPÐP�3Ô)ÐP¨TÐPÐ)¨TÐ1ÐPÐPÐPÐPÐP°cÔ6KÐPÈqÐPÐ6KÈqÒ6PÐPÐPÐPÐPÑPÕPÔPÐPÐPÐPÐPÐ)¨TÐPÑPÔPÐPÕPÔPÑPÔPÐPÐPÕPÔP�3ÑPÔPÐPÕPÔP�3ÑPÔPÐPÐPÕPÔPÐ)ÑPÔPÕPÔP¨TÑPÔPÐPÐPÑPÐPÐPÐPÐPÐPÑPÐPÐP×PÒPÐPÑPÔPÐPÐPÐPÕPÔPÐPÐPÐPÐPÐ6KÈqÐPÑPÔPÐPÕPÔPÑPÔPÐPÐPÕPÔP°cÑPÔPÐPÕPÔP°cÑPÔPÐPÐPÕPÔPÐ6KÑPÔPÕPÔPÈqÑPÔPÐPÐPÑPÐPÐPÐPÐPÐPÑPÐPÐP×PÒPÐPÑPÔPÐPÕPÔPÐPÐPÑPÔPÐPÑPÐPÐPÐPÐPÐPÑPÐPÕPÕPÔPÐPÑPÔPÑPÔPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÑPàÔ/Ð5�sÐ/Ñ0Ô0Ð5°AÐ5Ð0°AÒ5Ð5Ð5Ñ5Õ5Ô5Ð5Ð5Ð5Ð5Ð0°AÐ5Ñ5Ô5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5�sÑ5Ô5Ð5Õ5Ô5�sÑ5Ô5Ð5Ð5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5�;Ñ5Ô5Ð5Õ5Ô5�;Ñ5Ô5Ð5Ð5Õ5Ô5Ð/Ñ5Ô5Õ5Ô5Ð0Ñ5Ô5Õ5Ô5°AÑ5Ô5Ð5Ð5Ñ5Ð5Ð5Ð5Ð5Ð5Ñ5Ð5Õ5Õ5Ô5Ð5Ñ5Ô5Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5r   c                óB  ‡‡‡!‡"— d}d„ t          |¦  «        D ¦   «         }|D ]Ù}t          d|› �d|› �dd¦  «        }‰                     ||‰¬¦  «        \  }}}d}	||	u }
|
s—t          j        d	|
fd
||	f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |	¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚dx}
}	ŒÚ‰j        }	t          |	¦  «        }||k    }|�s0t          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt          j        ¦   «         v st          j        ‰¦  «        rt          j        ‰¦  «        ndt          j        |	¦  «        t          j        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚dx}	x}}d3ˆˆfd„Š"t          j                             d¬¦  «        5 Š!ˆ!ˆ"fd„|D ¦   «         }d„ t          j                             |¦  «        D ¦   «         }ddd¦  «         n# 1 swxY w Y   t#          |¦  «        }	|	sÀd d!t          j        ¦   «         v st          j        t"          ¦  «        rt          j        t"          ¦  «        nd!d"t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd"t          j        |	¦  «        d#œz  }t          t          j
        |¦  «        ¦  «        ‚d}	‰j        }	t          |	¦  «        }d$}||k    }|�st          j        d|fd%||f¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nddt          j        ¦   «         v st          j        ‰¦  «        rt          j        ‰¦  «        ndt          j        |	¦  «        t          j        |¦  «        t          j        |¦  «        d&œz  }d'd(|iz  }t          t          j
        |¦  «        ¦  «        ‚dx}	x}x}}|D �]Ò}‰                     |¦  «        j        }g }
|j        }d}||u }|}|r|j        }d$}||k    }|}|�s~t          j        d	|fd)||f¦  «        d*t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd*t          j        |¦  «        t          j        |¦  «        d+œz  }d,d|iz  }|
                     |¦  «         |ržt          j        d|fd-||f¦  «        d*t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd*t          j        |¦  «        t          j        |¦  «        d.œz  }d/d0|iz  }|
                     |¦  «         t          j        |
d$¦  «        i z  }d1d2|iz  } t          t          j
        | ¦  «        ¦  «        ‚dx}x}
x}x}x}x}x}}�ŒÔdS )4zOExecutes multi-threaded concurrent portal consumption using ThreadPoolExecutor.é   c                ó   — g | ]}d |d›�‘Œ	S )Úthread_player_rÎ   r   rÏ   s     r   rÑ   zpTestMapDevicePortalCleanupAdversarial.test_multithreaded_concurrent_portal_exhaustion_stress.<locals>.<listcomp>ä   s$   € ÐHÐHÐH°Ð+ AÐ+Ð+Ð+ÐHÐHÐHr   Úm_zMap é
   r   r"   Tr#   r%   r�   r'   rY   r*   Nr5   rÓ   r8   r   Únum_threadsrÕ   rÖ   rM   Úp_idÚstrr	   Úboolc                ól   •— t          d¦  «        D ]"}‰                     | ‰¬¦  «        \  }}}|s dS Œ#dS )Nr?   r"   FT)r]   rl   )ræ   r   r�   r   r   s      €€r   Úrun_player_lifecyclezzTestMapDevicePortalCleanupAdversarial.test_multithreaded_concurrent_portal_exhaustion_stress.<locals>.run_player_lifecycleï   sO   ø€ Ý˜1‘X”Xð !ð !�Ø)×:Ò:¸4È[Ð:ÑYÔY‘��A�qØð !Ø ˜5˜5ð!à�4r   )Úmax_workersc                ó<   •— g | ]}‰                      ‰|¦  «        ‘ŒS r   )Úsubmit)rÐ   rÝ   Úexecutorrê   s     €€r   rÑ   zpTestMapDevicePortalCleanupAdversarial.test_multithreaded_concurrent_portal_exhaustion_stress.<locals>.<listcomp>÷   s(   ø€ ÐQÐQÐQÀA�x—’Ð';¸QÑ?Ô?ÐQÐQÐQr   c                ó6   — g | ]}|                      ¦   «         ‘ŒS r   )Úresult)rÐ   Úfs     r   rÑ   zpTestMapDevicePortalCleanupAdversarial.test_multithreaded_concurrent_portal_exhaustion_stress.<locals>.<listcomp>ø   s    € ÐTÐTÐT a�q—x’x‘z”zÐTÐTÐTr   z,assert %(py3)s
{%(py3)s = %(py0)s(%(py1)s)
}ÚallÚresults)r(   r:   r)   r   r7   r9   r<   r=   r¾   r>   r’   r“   r¿   r”   r˜   r™   rš   r›   )ræ   rç   r	   rè   )r]   r   r^   r_   r`   ra   rb   rc   rd   rf   rg   rh   r8   Ú
concurrentÚfuturesÚThreadPoolExecutorÚas_completedrò   ri   rj   rk   rS   rm   rn   )#rp   r   r   rå   rÛ   rÝ   Úmr�   r   rv   rw   rx   ry   r}   r   r‚   r®   rõ   ró   r~   r€   r�   r>   rz   rª   rƒ   r«   r¬   r­   r¯   r°   r±   r²   rî   rê   s#    ``                              @@r   Ú6test_multithreaded_concurrent_portal_exhaustion_stressz\TestMapDevicePortalCleanupAdversarial.test_multithreaded_concurrent_portal_exhaustion_stressß   sÞ  øøøø€ ð ˆØHÐHµU¸;Ñ5GÔ5GÐHÑHÔHˆàð 	ð 	ˆAÝ˜(˜q˜(˜( J¨1 J J°Ð4IÑJÔJˆAØ%×AÒAØ�1 +ð Bñ ô ‰HˆB��1ð Ð�2˜�:ÐÐÐÕÔÐÐÐÐ�2˜ÐÑÔÐÕÔÑÔÐÐÕÔ�2ÑÔÐÕÔ�2ÑÔÐÐÕÔ˜ÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐàÔ/Ð?�sÐ/Ñ0Ô0Ð?Ð0°KÒ?Ð?Ð?Ñ?Õ?Ô?Ð?Ð?Ð?Ð?Ð0°KÐ?Ñ?Ô?Ð?Õ?Ô?Ñ?Ô?Ð?Ð?Õ?Ô?�sÑ?Ô?Ð?Õ?Ô?�sÑ?Ô?Ð?Ð?Ð?Õ?Ô?Ñ?Ô?Ð?Ð?Õ?Ô?�;Ñ?Ô?Ð?Õ?Ô?�;Ñ?Ô?Ð?Ð?Õ?Ô?Ð/Ñ?Ô?Õ?Ô?Ð0Ñ?Ô?Ð?Õ?Ô?Ñ?Ô?Ð?Ð?Õ?Ô?°KÑ?Ô?Ð?Õ?Ô?°KÑ?Ô?Ð?Ð?Ð?Ð?Ñ?Ð?Ð?Ð?Ð?Ð?Ñ?Ð?Õ?Õ?Ô?Ð?Ñ?Ô?Ñ?Ô?Ð?Ð?Ð?Ð?Ð?Ð?Ð?ð	ð 	ð 	ð 	ð 	ð 	ð 	õ Ô×2Ò2¸rÐ2ÑBÔBð 	UÀhØQÐQÐQÐQÐQÈÐQÑQÔQˆGØTÐT­:Ô+=×+JÒ+JÈ7Ñ+SÔ+SÐTÑTÔTˆGð	Uð 	Uð 	Uñ 	Uô 	Uð 	Uð 	Uð 	Uð 	Uð 	Uð 	Uøøøð 	Uð 	Uð 	Uð 	Uõ �7‰|Œ|Ðˆ|ÐÐÐÕÔÑÔÐÐÕÔ�sÑÔÐÕÔ�sÑÔÐÐÐÕÔÑÔÐÐÕÔ�7ÑÔÐÕÔ�7ÑÔÐÐÕÔˆ|ÑÔÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐØÔ/Ð5�sÐ/Ñ0Ô0Ð5°AÐ5Ð0°AÒ5Ð5Ð5Ñ5Õ5Ô5Ð5Ð5Ð5Ð5Ð0°AÐ5Ñ5Ô5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5�sÑ5Ô5Ð5Õ5Ô5�sÑ5Ô5Ð5Ð5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5�;Ñ5Ô5Ð5Õ5Ô5�;Ñ5Ô5Ð5Ð5Õ5Ô5Ð/Ñ5Ô5Õ5Ô5Ð0Ñ5Ô5Õ5Ô5°AÑ5Ô5Ð5Ð5Ñ5Ð5Ð5Ð5Ð5Ð5Ñ5Ð5Õ5Õ5Ô5Ð5Ñ5Ô5Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Øð 	Qñ 	QˆAØ ×6Ò6°qÑ9Ô9ÔDˆCØPÐP�3Ô)ÐP¨TÐPÐ)¨TÐ1ÐPÐPÐPÐPÐP°cÔ6KÐPÈqÐPÐ6KÈqÒ6PÐPÐPÐPÐPÑPÕPÔPÐPÐPÐPÐPÐ)¨TÐPÑPÔPÐPÕPÔPÑPÔPÐPÐPÕPÔP�3ÑPÔPÐPÕPÔP�3ÑPÔPÐPÐPÕPÔPÐ)ÑPÔPÕPÔP¨TÑPÔPÐPÐPÑPÐPÐPÐPÐPÐPÑPÐPÐP×PÒPÐPÑPÔPÐPÐPÐPÕPÔPÐPÐPÐPÐPÐ6KÈqÐPÑPÔPÐPÕPÔPÑPÔPÐPÐPÕPÔP°cÑPÔPÐPÕPÔP°cÑPÔPÐPÐPÕPÔPÐ6KÑPÔPÕPÔPÈqÑPÔPÐPÐPÑPÐPÐPÐPÐPÐPÑPÐPÐP×PÒPÐPÑPÔPÐPÕPÔPÐPÐPÑPÔPÐPÑPÐPÐPÐPÐPÐPÑPÐPÕPÕPÔPÐPÑPÔPÑPÔPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÐPÑPð	Qð 	Qs   É89J=Ê=KËKzoAdversarial finding: overwriting unexhausted map device does not purge prior active_instance_id from ZoneEngine)Úreasonc                óÜ  — d}t          dddd¦  «        }t          dddd¦  «        }|                     |||¬	¦  «        \  }}}d
}	||	u }
|
s—t          j        d|
fd||	f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |	¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}
}	|d         }|j
        }||v }
|
sÕt          j        d|
fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}
}|                     ||¬	¦  «         |                     ||¬	¦  «         |                     |||¬	¦  «        \  }}}d
}	||	u }
|
s—t          j        d|
fd||	f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |	¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}
}	|d         }t          d¦  «        D ]}|                     ||¬	¦  «         Œ|j
        }||v}
|
sÕt          j        d|
fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}
}|j
        }||v}
|
sÕt          j        d|
fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nddt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}
}|j
        }	t          |	¦  «        }d}||k    }|�st          j        d |fd!||f¦  «        d"t	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        nd"dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |	¦  «        t          j        |¦  «        t          j        |¦  «        d#œz  }d$d%|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}	x}x}}dS )&zEAdversarial check: if player activates Map B before exhausting Map A.Úchallenger_overwrite_testerÚm1zMap 1r   r   Úm2zMap 2é   r"   Tr#   r%   Úok1r'   rY   r*   Nr+   r,   r.   Úinst1_idr   r0   r3   r4   Úok2r?   rZ   r\   Úinst2_idr   r5   r7   r8   r9   r<   r=   )r   r^   r_   r`   ra   rb   rc   rd   rf   rg   rh   rl   r]   r8   )rp   r   r   rq   rý   rþ   r   r   Úres1rv   rw   rx   ry   r  rz   r{   r|   r  Úres2r  r}   r~   r   r€   r�   s                            r   Ú8test_unexhausted_map_overwrite_cleans_prior_zone_sessionz^TestMapDevicePortalCleanupAdversarial.test_unexhausted_map_overwrite_cleans_prior_zone_session   sÐ  € ð 2ˆ	Ý�t˜W aÐ)>Ñ?Ô?ˆÝ�t˜W aÐ)>Ñ?Ô?ˆà%×AÒAØ�r {ð Bñ 
ô 
‰ˆˆQ�ð Ðˆs�dˆ{ÐÐÐÕÔÐÐÐÐˆs�dÐÑÔÐÕÔÑÔÐÐÕÔˆsÑÔÐÕÔˆsÑÔÐÐÕÔ�dÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØ˜Ô&ˆØ&Ô7Ð7ˆxÐ7Ð7Ð7Ð7Ð7Õ7Ô7Ð7Ð7Ð7Ð7ˆxÐ7Ð7Ñ7Ô7Ð7Õ7Ô7Ñ7Ô7Ð7Ð7Õ7Ô7ˆxÑ7Ô7Ð7Õ7Ô7ˆxÑ7Ô7Ð7Ð7Ð7Õ7Ô7Ñ7Ô7Ð7Ð7Õ7Ô7˜;Ñ7Ô7Ð7Õ7Ô7˜;Ñ7Ô7Ð7Ð7Õ7Ô7Ð7Ñ7Ô7Ð7Ð7Ñ7Ð7Ð7Ð7Ð7Ð7Ñ7Ð7Õ7Õ7Ô7Ð7Ñ7Ô7Ñ7Ô7Ð7Ð7Ð7Ð7Ð7ð 	×'Ò'¨	¸{Ð'ÑKÔKÐKØ×'Ò'¨	¸{Ð'ÑKÔKÐKð &×AÒAØ�r {ð Bñ 
ô 
‰ˆˆQ�ð Ðˆs�dˆ{ÐÐÐÕÔÐÐÐÐˆs�dÐÑÔÐÕÔÑÔÐÐÕÔˆsÑÔÐÕÔˆsÑÔÐÐÕÔ�dÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØ˜Ô&ˆõ �q‘”ð 	Pð 	PˆAØ×+Ò+¨IÀ;Ð+ÑOÔOÐOÐOà*Ô;Ð;ˆxÐ;Ð;Ð;Ð;Ð;Õ;Ô;Ð;Ð;Ð;Ð;ˆxÐ;Ð;Ñ;Ô;Ð;Õ;Ô;Ñ;Ô;Ð;Ð;Õ;Ô;ˆxÑ;Ô;Ð;Õ;Ô;ˆxÑ;Ô;Ð;Ð;Ð;Õ;Ô;Ñ;Ô;Ð;Ð;Õ;Ô;˜{Ñ;Ô;Ð;Õ;Ô;˜{Ñ;Ô;Ð;Ð;Õ;Ô;Ð;Ñ;Ô;Ð;Ð;Ñ;Ð;Ð;Ð;Ð;Ð;Ñ;Ð;Õ;Õ;Ô;Ð;Ñ;Ô;Ñ;Ô;Ð;Ð;Ð;Ð;Ð;à*Ô;Ð;ˆxÐ;Ð;Ð;Ð;Ð;Õ;Ô;Ð;Ð;Ð;Ð;ˆxÐ;Ð;Ñ;Ô;Ð;Õ;Ô;Ñ;Ô;Ð;Ð;Õ;Ô;ˆxÑ;Ô;Ð;Õ;Ô;ˆxÑ;Ô;Ð;Ð;Ð;Õ;Ô;Ñ;Ô;Ð;Ð;Õ;Ô;˜{Ñ;Ô;Ð;Õ;Ô;˜{Ñ;Ô;Ð;Ð;Õ;Ô;Ð;Ñ;Ô;Ð;Ð;Ñ;Ð;Ð;Ð;Ð;Ð;Ñ;Ð;Õ;Õ;Ô;Ð;Ñ;Ô;Ñ;Ô;Ð;Ð;Ð;Ð;Ð;ØÔ/Ð5�sÐ/Ñ0Ô0Ð5°AÐ5Ð0°AÒ5Ð5Ð5Ñ5Õ5Ô5Ð5Ð5Ð5Ð5Ð0°AÐ5Ñ5Ô5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5�sÑ5Ô5Ð5Õ5Ô5�sÑ5Ô5Ð5Ð5Ð5Õ5Ô5Ñ5Ô5Ð5Ð5Õ5Ô5�;Ñ5Ô5Ð5Õ5Ô5�;Ñ5Ô5Ð5Ð5Õ5Ô5Ð/Ñ5Ô5Õ5Ô5Ð0Ñ5Ô5Õ5Ô5°AÑ5Ô5Ð5Ð5Ñ5Ð5Ð5Ð5Ð5Ð5Ñ5Ð5Õ5Õ5Ô5Ð5Ñ5Ô5Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5Ð5r   N)r   r   r   r   r	   r   )r   r   r	   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__rŠ   r¶   rÉ   rÞ   rù   ÚpytestÚmarkÚxfailr  r   r   r   r   r      sÇ   € € € € € Ø@Ð@ð.6ð .6ð .6ð .6ð`26ð 26ð 26ð 26ðh(-ð (-ð (-ð (-ðT-6ð -6ð -6ð -6ð^Qð Qð Qð QðB „[×Òð Að ñ ô ð!6ð !6ð !6ñô ð!6ð !6ð !6r   r   )r	   r   )r	   r   )r
  Ú
__future__r   Úbuiltinsra   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter_   Úconcurrent.futuresrô   Útypingr   r  Úserver.world.hideout_enginer   r   Úserver.world.zone_enginer   Úfixturer   r   r   r   r   r   ú<module>r     s  ðð	ð 	ð #Ð "Ð "Ð "Ð "Ð "Ø  € € € € € € € € € € € € Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø €€€à @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ø /Ð /Ð /Ð /Ð /Ð /ð „ðð ð ñ „ðð „ðð ð ñ „ððE6ð E6ð E6ð E6ð E6ñ E6ô E6ð E6ð E6ð E6r   