§
    	tÃjì6  ã                   óþ   — d dl Zd dlmc mZ d dlZd dlZd dlm	Z	 d dl
mZ d dlZd dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZmZ d d	lmZ d d
lmZ d dlm Z  d dl!m"Z" d dl#m$Z$ dd„Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*dS )é    N)ÚPath)Úpatch)Ú
TestClient)Ú
unix_serve)ÚApprovalRegistry)ÚCodexAdapter)ÚControlErrorÚProject)ÚPiApprovalServer)ÚProjectRegistry)ÚJsonUnixSocket)ÚDeviceCredentialStore)ÚTargetStoreÚ1ÚpiÚsÚruntimec           
      ó<   — |                       ||dddd||¬¦  «        S )NÚpÚcommandzRun command?ztouch /tmp/approval-test)ÚagentÚ
session_idÚ
project_idÚkindÚtitleÚdetailÚownerÚrequest_identity)Úcreate)ÚregistryÚidentityr   Úsessionr   s        úY/home/lighthouse/esp32-dev/.cache/physical-ui-cleanup-0.6a/server/tests/test_approvals.pyr   r      s4   € Ø�?Š? °7ÀsÐQZØÐ%?ÀuÐ_gð ñ iô ið ió    c                  óD   — d„ } t          j         | ¦   «         ¦  «         d S )Nc            
   “   óŠ   K  — t          d¬¦  «        } t          | ¦  «        }t          | ddd¦  «        }| j        } |¦   «         }||g}||k    }|s½t          j        d|fd||f¦  «        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}}t          j        t          ¦  «        5  t          | ¦  «         d d d ¦  «         n# 1 swxY w Y   |j        | j        d<   | j        }|j        }	d}d}
 ||	||
¬¦  «        }| }|�sd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t          j        |	¦  «        t          j        |¦  «        t          j        |
¦  «        t          j        |¦  «        dœz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}	x}x}
x}}| j        }|j        }	d}d}
 ||	||
¬¦  «        }| }|�sd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t          j        |	¦  «        t          j        |¦  «        t          j        |
¦  «        t          j        |¦  «        dœz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}	x}x}
x}}| j        }|j        }	d} ||	|¦  «        }
|
 }|sïd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t          j        |	¦  «        t          j        |¦  «        t          j        |
¦  «        dœz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}	x}x}
}| j        }|j        }	d}d}
 ||	||
¬¦  «        }|�sd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t          j        |	¦  «        t          j        |¦  «        t          j        |
¦  «        t          j        |¦  «        dœz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}	x}x}
}|                      |¦  «        ƒ d {V —†}d}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}}| j        }|j        }	d} ||	|¦  «        }
|
 }|sïd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t          j        |	¦  «        t          j        |¦  «        t          j        |
¦  «        dœz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}	x}x}
}| j        }|j        }	d} ||	|¦  «        }
|
sïd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t          j        |	¦  «        t          j        |¦  «        t          j        |
¦  «        dœz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}	x}}
|                      |¦  «        ƒ d {V —†}d}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}}t          | d ¦  «        }t%          j        |                      |¦  «        ¦  «        }t%          j        d!¦  «        ƒ d {V —† t+          j        t%          j        ¦   «         d"d#¬$¦  «        5  |                      ¦   «          g }|j        }d%}||k    }|}|r|j        } |¦   «         }| }|}|�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d*d+t          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd+t          j        |¦  «        t          j        |¦  «        d,œz  }|                     |¦  «         t          j        |d!¦  «        i z  }d-d.|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}x}x}x}x}}|                      |¦  «        d/         }d }||u }|slt          j        d0|fd1||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}}d d d ¦  «         n# 1 swxY w Y   |                      |j        ¦  «         |ƒ d {V —†}d2}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}}t          | d3¦  «        }|                      d4¦  «         |                      |¦  «        ƒ d {V —†}d2}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}}t          | d5¦  «        }|                       ¦   «          |                      |¦  «        ƒ d {V —†}d2}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}}t          ¦   «         }|j        } |¦   «         }g }
||
k    }|sÚt          j        d|fd6||
f¦  «        d7t          j        ¦   «         v st          j        t           ¦  «        rt          j        t           ¦  «        nd7t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |
¦  «        d8œz  }d9d:|iz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}x}}
| j        }i }d} |||¦  «        }| }|s±d;dt          j        ¦   «         v st          j        | ¦  «        rt          j        | ¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d<œz  }t          t          j
        |¦  «        ¦  «        ‚d x}x}x}x}}d S )=Ng¸…ëQ¸ž?©ÚtimeoutÚ2ÚcodexÚother©ú==)zK%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.list_pending
}()
} == %(py7)sr    )Úpy0Úpy2Úpy4Úpy7zassert %(py9)sÚpy9zdevice-connectionÚapprove©Údevice_connectionz”assert not %(py11)s
{%(py11)s = %(py2)s
{%(py2)s = %(py0)s.resolve
}(%(py5)s
{%(py5)s = %(py3)s.approval_id
}, %(py7)s, device_connection=%(py9)s)
}Úb)r.   r/   Úpy3Úpy5r1   r2   Úpy11zold-connectionÚaÚacceptForSessionúwassert not %(py9)s
{%(py9)s = %(py2)s
{%(py2)s = %(py0)s.resolve
}(%(py5)s
{%(py5)s = %(py3)s.approval_id
}, %(py7)s)
}©r.   r/   r7   r8   r1   r2   z�assert %(py11)s
{%(py11)s = %(py2)s
{%(py2)s = %(py0)s.resolve
}(%(py5)s
{%(py5)s = %(py3)s.approval_id
}, %(py7)s, device_connection=%(py9)s)
}ÚAPPROVED©z%(py1)s == %(py4)s©Úpy1r0   úassert %(py6)sÚpy6Úrejectzsassert %(py9)s
{%(py9)s = %(py2)s
{%(py2)s = %(py0)s.resolve
}(%(py5)s
{%(py5)s = %(py3)s.approval_id
}, %(py7)s)
}ÚREJECTEDÚ3r   Útimeì    J)£©Úreturn_valueÚPENDING)z-%(py4)s
{%(py4)s = %(py2)s.state
} == %(py7)sÚc)r/   r0   r1   z%(py9)szAnot %(py15)s
{%(py15)s = %(py13)s
{%(py13)s = %(py11)s.done
}()
}Úwaiter)r9   Úpy13Úpy15úassert %(py19)sÚpy19Ú
expires_in)Úis)z%(py1)s is %(py4)sÚ	CANCELLEDÚ4r   Ú5)zb%(py6)s
{%(py6)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s()
}.list_pending
}()
} == %(py9)sr   )r.   r/   r0   rC   r2   zassert %(py11)sr9   zVassert not %(py8)s
{%(py8)s = %(py2)s
{%(py2)s = %(py0)s.resolve
}(%(py4)s, %(py6)s)
})r.   r/   r0   rC   Úpy8)!r   r   Úlist_pendingÚ
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanationÚpytestÚraisesr	   Úapproval_idÚpresentationsÚresolveÚwaitÚasyncioÚcreate_taskÚsleepr   ÚobjectÚget_running_loopÚexpireÚstateÚdoneÚappendÚ_format_boolopÚwireÚcancelÚcancel_ownerÚclose)r    r:   r6   Ú@py_assert1Ú@py_assert3Ú@py_assert6Ú@py_assert5Ú@py_format8Ú@py_format10Ú@py_assert4Ú@py_assert8Ú@py_assert10Ú@py_assert12Ú@py_format13Ú@py_format11Ú@py_format12Ú@py_assert0Ú@py_assert2Ú@py_format5Ú@py_format7rL   rM   Ú@py_assert14Ú@py_assert16Ú@py_format17Ú@py_format18Ú@py_format20ÚdÚeÚ@py_assert7Ú@py_assert9s                                  r#   ÚexercisezEtest_registry_decisions_fifo_identity_and_deadlines.<locals>.exercise   s”  è è € Ý#¨CÐ0Ñ0Ô0ˆÝ�8ÑÔˆÝ�8˜S '¨7Ñ3Ô3ˆØÔ$Ð0Ð$Ð$Ñ&Ô&Ð0¨1¨a¨&Ð0Ð&¨&Ò0Ð0Ð0Ð0Õ0Ô0Ð0Ð0Ð0Ð0Ð&¨&Ð0Ñ0Ô0Ð0Õ0Ô0Ñ0Ô0Ð0Ð0Õ0Ô0ˆxÑ0Ô0Ð0Õ0Ô0ˆxÑ0Ô0Ð0Ð0Õ0Ô0Ð$Ñ0Ô0Õ0Ô0Ð&Ñ0Ô0Õ0Ô0¨&Ñ0Ô0Ð0Ð0Ñ0Ð0Ð0Ð0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0ÝŒ]�<Ñ(Ô(Ð:Ð:­&°Ñ*:Ô*:Ð*:Ð:Ð:Ð:Ñ:Ô:Ð:Ð:Ð:Ð:Ð:Ð:øøøÐ:Ð:Ð:Ð:Ø67´mˆÔÐ2Ñ3ØÔ#Ðd A¤MÐd°9ÐdÐPcÐdÐ#Ð# M°9ÐPcÐdÑdÔdÐdÐdÐdÐdÐdÑdÐdÐdÕdÔdÑdÔdÐdÐdÕdÔd�8ÑdÔdÐdÕdÔd�8ÑdÔdÐdÐdÕdÔdÐ#ÑdÔdÐdÕdÔdÑdÔdÐdÐdÕdÔd AÑdÔdÐdÕdÔd AÑdÔdÐdÐdÕdÔd MÑdÔdÕdÔd°9ÑdÔdÕdÔdÐPcÑ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ØÔ#Ða A¤MÐa°9ÐaÐP`ÐaÐ#Ð# M°9ÐP`ÐaÑaÔaÐaÐaÐaÐaÐaÑaÐaÐaÕaÔaÑaÔaÐaÐaÕaÔa�8ÑaÔaÐaÕaÔa�8Ñ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 MÑaÔaÕaÔa°9ÑaÔaÕaÔaÐP`Ñ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ØÔ#ÐF A¤MÐFÐ3EÐFÐ#Ð# MÐ3EÑFÔFÐFÐFÐFÐFÐFÐFÐFÐFÕFÔFÑFÔFÐFÐFÕFÔF�8ÑFÔFÐFÕFÔF�8ÑFÔFÐFÐFÕFÔFÐ#ÑFÔFÐFÕFÔFÑFÔFÐFÐFÕFÔF AÑFÔFÐFÕFÔF AÑFÔFÐFÐFÕFÔF MÑFÔFÕFÔFÐ3EÑ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ØÔÐ` ¤Ð`¨yÐ`ÐL_Ð`ÐÐ ¨yÐL_Ð`Ñ`Ô`Ð`Ð`Ñ`Ð`Ð`Õ`Ô`Ñ`Ô`Ð`Ð`Õ`Ô`ˆxÑ`Ô`Ð`Õ`Ô`ˆxÑ`Ô`Ð`Ð`Õ`Ô`ÐÑ`Ô`Ð`Õ`Ô`Ñ`Ô`Ð`Ð`Õ`Ô` Ñ`Ô`Ð`Õ`Ô` Ñ`Ô`Ð`Ð`Õ`Ô` Ñ`Ô`Õ`Ô`¨yÑ`Ô`Õ`Ô`ÐL_Ñ`Ô`Õ`Ô`Ð`Ñ`Ô`Ð`Ð`Ñ`Ð`Õ`Õ`Ô`Ð`Ñ`Ô`Ñ`Ô`Ð`Ð`Ð`Ð`Ð`Ð`Ð`Ð`Ð`Ð`Ð`Ø—]’] 1Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð3¨Ð3Ð%¨Ò3Ð3Ð3Ð3Õ3Ô3Ð3Ð3Ð3Ð3Ð%¨Ð3Ñ3Ô3Õ3Ô3Ð%Ñ3Ô3Õ3Ô3¨Ñ3Ô3Ð3Ð3Ñ3Ð3Ð3Ð3Ð3Ð3Ñ3Ð3Õ3Õ3Ô3Ð3Ñ3Ô3Ñ3Ô3Ð3Ð3Ð3Ð3Ð3Ð3Ð3ØÔ#Ð< A¤MÐ<°8Ð<Ð#Ð# M°8Ñ<Ô<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Õ<Ô<Ñ<Ô<Ð<Ð<Õ<Ô<�8Ñ<Ô<Ð<Õ<Ô<�8Ñ<Ô<Ð<Ð<Õ<Ô<Ð#Ñ<Ô<Ð<Õ<Ô<Ñ<Ô<Ð<Ð<Õ<Ô< AÑ<Ô<Ð<Õ<Ô< AÑ<Ô<Ð<Ð<Õ<Ô< MÑ<Ô<Õ<Ô<°8Ñ<Ô<Õ<Ô<Ð<Ñ<Ô<Ð<Ð<Ñ<Ð<Õ<Õ<Ô<Ð<Ñ<Ô<Ñ<Ô<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<Ð<ØÔÐ8 ¤Ð8¨xÐ8ÐÐ ¨xÑ8Ô8Ð8Ð8Ð8Ð8Ð8Õ8Ô8Ñ8Ô8Ð8Ð8Õ8Ô8ˆxÑ8Ô8Ð8Õ8Ô8ˆxÑ8Ô8Ð8Ð8Õ8Ô8ÐÑ8Ô8Ð8Õ8Ô8Ñ8Ô8Ð8Ð8Õ8Ô8 Ñ8Ô8Ð8Õ8Ô8 Ñ8Ô8Ð8Ð8Õ8Ô8 Ñ8Ô8Õ8Ô8¨xÑ8Ô8Õ8Ô8Ð8Ñ8Ô8Ð8Ð8Ñ8Ð8Õ8Õ8Ô8Ð8Ñ8Ô8Ñ8Ô8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ø—]’] 1Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð3¨Ð3Ð%¨Ò3Ð3Ð3Ð3Õ3Ô3Ð3Ð3Ð3Ð3Ð%¨Ð3Ñ3Ô3Õ3Ô3Ð%Ñ3Ô3Õ3Ô3¨Ñ3Ô3Ð3Ð3Ñ3Ð3Ð3Ð3Ð3Ð3Ñ3Ð3Õ3Õ3Ô3Ð3Ñ3Ô3Ñ3Ô3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ý�8˜SÑ!Ô!ˆÝÔ$ X§]¢]°1Ñ%5Ô%5Ñ6Ô6ˆÝŒm˜AÑÔÐÐÐÐÐÐÐÝŒ\�'Ô2Ñ4Ô4°fÈ6ÐRÑRÔRð 	:ð 	:Ø�OŠOÑÔÐØ=Ð=�1”7Ð=˜iÐ=�7˜iÒ'Ð=Ð=Ð=Ð=Ð=°´Ð=°°±´Ð=°Ð,=Ð=Ð,=Ð=Ð=Ñ=Õ=Ô=Ð=Ð=Ð=Ð=�7˜iÐ=Ñ=Ô=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=�1Ñ=Ô=Ð=Õ=Ô=�1Ñ=Ô=Ð=Ð=Õ=Ô=�7Ñ=Ô=Õ=Ô=˜iÑ=Ô=Ð=Ð=Ñ=Ð=Ð=Ð=Ð=Ð=Ñ=Ð=Ð=×=Ò=Ð=Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=°Ñ=Ô=Ð=Õ=Ô=°Ñ=Ô=Ð=Ð=Õ=Ô=°Ñ=Ô=Õ=Ô=°Ñ=Ô=Ð=Ð=Ñ=Ð=Ð=×=Ò=Ð=Ñ=Ô=Ð=Õ=Ô=Ð=Ð=Ñ=Ô=Ð=Ñ=Ð=Ð=Ð=Ð=Ð=Ñ=Ð=Õ=Õ=Ô=Ð=Ñ=Ô=Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ø—=’= Ñ#Ô# LÔ1Ð9°TÐ9Ð1°TÐ9Ð9Ð9Ð9Õ9Ô9Ð9Ð9Ð9Ð9Ð1°TÐ9Ñ9Ô9Õ9Ô9Ð1Ñ9Ô9Õ9Ô9°TÑ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ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ð 	�Š˜œÑ&Ô&Ð&Øˆ|ˆ|ˆ|ˆ|ˆ|ˆ|Ð*˜{Ð*ˆ|˜{Ò*Ð*Ð*Ð*Õ*Ô*Ð*Ð*Ð*Ð*ˆ|˜{Ð*Ñ*Ô*Õ*Ô*ˆ|Ñ*Ô*Õ*Ô*˜{Ñ*Ô*Ð*Ð*Ñ*Ð*Ð*Ð*Ð*Ð*Ñ*Ð*Õ*Õ*Ô*Ð*Ñ*Ô*Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ý�8˜SÑ!Ô!ˆ 8×#8Ò#8¸Ñ#CÔ#CÐ#CØ—]’] 1Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð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Ð4Ð4Ð4Ð4Ñ4Ð4Õ4Õ4Ô4Ð4Ñ4Ô4Ñ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ý�8˜SÑ!Ô!ˆ 8§>¢>Ñ#3Ô#3Ð#3Ø—]’] 1Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð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Ð4Ð4Ð4Ð4Ñ4Ð4Õ4Õ4Ô4Ð4Ñ4Ô4Ñ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4ÝÑ!Ô!Ð6Ð!Ô.Ð6Ð.Ð.Ñ0Ô0Ð6°BÐ6Ð0°BÒ6Ð6Ð6Ð6Õ6Ô6Ð6Ð6Ð6Ð6Ð0°BÐ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Ð0Ñ6Ô6Õ6Ô6°BÑ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ØÔ#Ð2 BÐ2¨	Ð2Ð#Ð# B¨	Ñ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Õ2Ô2Ñ2Ô2Ð2Ð2Õ2Ô2�8Ñ2Ô2Ð2Õ2Ô2�8Ñ2Ô2Ð2Ð2Õ2Ô2Ð#Ñ2Ô2Õ2Ô2 BÑ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Ð2s%   Ä/EÅEÅEç,Ip?ð?qñq©rg   Úrun)r�   s    r#   Ú3test_registry_decisions_fifo_identity_and_deadlinesr’      s/   € ð3ð 3ð 3õ< „K��‘
”
ÑÔÐÐÐr$   c                 óJ   ‡ — ˆ fd„}t          j         |¦   «         ¦  «         d S )Nc               “   óh  •‡‡‡ K  — t          ‰!dz  ¦  «        } |                      t          ddt          ‰!¦  «        ¬¦  «        ¦  «         t	          d¬¦  «        Šg g cŠ Šˆˆ ˆ!fd„}t          |t          ‰!dz  ¦  «        d ¬	¦  «        4 ƒd {V —† t          | ‰¬
¦  «        }t          t          ‰!dz  ¦  «        |j        |j	        ¬¦  «        |_
        dOˆˆfd„	}	 |                     ¦   «         ƒ d {V —† dD �]×\  }}}}|dk    rM‰d                              t          j        dddt          |¦  «        ddigdœdœdœ¦  «        ¦  «        ƒ d {V —†  |||¦  «        ƒ d {V —†}|dk    r¿d}	|j        }
|	|
v }|sªt!          j        d|fd|	|
f¦  «        t!          j        |	¦  «        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}	x}}
|                     d¦  «        ƒ d {V —†}	|	j        }d}||k    }
|
st!          j        d|
fd ||f¦  «        t!          j        |	¦  «        t!          j        |¦  «        t!          j        |¦  «        d!œz  }d"d#|iz  }t-          t!          j        |¦  «        ¦  «        ‚d x}	x}x}
}‰                     |j        |¦  «         t9          d$¦  «        D ]8}‰ r‰ d         d%         d&         |k    r nt;          j        d'¦  «        ƒ d {V —† Œ9‰ d         d%         }	|d(|id)œ}|	|k    }|slt!          j        d|fd*|	|f¦  «        t!          j        |	¦  «        t!          j        |¦  «        d+œz  }d,d-|iz  }t-          t!          j        |¦  «        ¦  «        ‚d x}	x}}�ŒÙ |d.¦  «        ƒ d {V —†}‰d                              ¦   «         ƒ d {V —† |j
        j         ƒ d {V —† |j        }d/}
||
k    }|sªt!          j        d|fd0||
f¦  «        d1t'          j        ¦   «         v st!          j        |¦  «        rt!          j        |¦  «        nd1t!          j        |¦  «        t!          j        |
¦  «        d2œz  }dd|iz  }t-          t!          j        |¦  «        ¦  «        ‚d x}x}}
‰j        }|j        }
d3} ||
|¦  «        }| }|sïd4d5t'          j        ¦   «         v st!          j        ‰¦  «        rt!          j        ‰¦  «        nd5t!          j        |¦  «        d1t'          j        ¦   «         v st!          j        |¦  «        rt!          j        |¦  «        nd1t!          j        |
¦  «        t!          j        |¦  «        t!          j        |¦  «        d6œz  }t-          t!          j        |¦  «        ¦  «        ‚d x}x}
x}x}}|                     ¦   «         ƒ d {V —†  |d.¦  «        ƒ d {V —†}|j        }|j        }||k    }|sèt!          j        d7|fd8||f¦  «        d9t'          j        ¦   «         v st!          j        |¦  «        rt!          j        |¦  «        nd9t!          j        |¦  «        d1t'          j        ¦   «         v st!          j        |¦  «        rt!          j        |¦  «        nd1t!          j        |¦  «        d:œz  }d"d#|iz  }t-          t!          j        |¦  «        ¦  «        ‚d x}x}}‰j        }|j        }
d3} ||
|¦  «        }| }|sïd4d5t'          j        ¦   «         v st!          j        ‰¦  «        rt!          j        ‰¦  «        nd5t!          j        |¦  «        d1t'          j        ¦   «         v st!          j        |¦  «        rt!          j        |¦  «        nd1t!          j        |
¦  «        t!          j        |¦  «        t!          j        |¦  «        d6œz  }t-          t!          j        |¦  «        ¦  «        ‚d x}x}
x}x}}|j        }d;}
||
k    }|sªt!          j        d|fd0||
f¦  «        d9t'          j        ¦   «         v st!          j        |¦  «        rt!          j        |¦  «        nd9t!          j        |¦  «        t!          j        |
¦  «        d2œz  }dd|iz  }t-          t!          j        |¦  «        ¦  «        ‚d x}x}}
‰                     |j        d<¦  «         t;          j        d=¦  «        ƒ d {V —† d>„ ‰ D ¦   «         }	d.d(d?id)œg}|	|k    }|slt!          j        d|fd*|	|f¦  «        t!          j        |	¦  «        t!          j        |¦  «        d+œz  }d,d-|iz  }t-          t!          j        |¦  «        ¦  «        ‚d x}	x}} |d@¦  «        ƒ d {V —†}tC          j"        t;          j#        ¦   «         dAdB¬C¦  «        5  ‰ $                    ¦   «          |j        }d;}
||
k    }|sªt!          j        d|fd0||
f¦  «        dDt'          j        ¦   «         v st!          j        |¦  «        rt!          j        |¦  «        ndDt!          j        |¦  «        t!          j        |
¦  «        d2œz  }dd|iz  }t-          t!          j        |¦  «        ¦  «        ‚d x}x}}
d d d ¦  «         n# 1 swxY w Y   ‰ %                    |j        ¦  «         t;          j        d=¦  «        ƒ d {V —† ‰ d         d%         }	d@d(dEid)œ}|	|k    }|slt!          j        d|fd*|	|f¦  «        t!          j        |	¦  «        t!          j        |¦  «        d+œz  }d,d-|iz  }t-          t!          j        |¦  «        ¦  «        ‚d x}	x}} |dF¦  «        ƒ d {V —†}‰d                              t          j        dGddFdHœdœ¦  «        ¦  «        ƒ d {V —† ‰ &                    |¦  «        ƒ d {V —†}	d/}|	|k    }|slt!          j        d|fd*|	|f¦  «        t!          j        |	¦  «        t!          j        |¦  «        d+œz  }d,d-|iz  }t-          t!          j        |¦  «        ¦  «        ‚d x}	x}} |dI¦  «        ƒ d {V —†}|                     ¦   «         ƒ d {V —† |j        }d/}
||
k    }|sªt!          j        d|fd0||
f¦  «        dJt'          j        ¦   «         v st!          j        |¦  «        rt!          j        |¦  «        ndJt!          j        |¦  «        t!          j        |
¦  «        d2œz  }dd|iz  }t-          t!          j        |¦  «        ¦  «        ‚d x}x}}
dK„ ‰ D ¦   «         }tO          |¦  «        }| }|s•dLdMt'          j        ¦   «         v st!          j        tN          ¦  «        rt!          j        tN          ¦  «        ndMt!          j        |¦  «        t!          j        |¦  «        dNœz  }t-          t!          j        |¦  «        ¦  «        ‚d x}x}}|                     ¦   «         ƒ d {V —† ‰                     ¦   «          n3# |                     ¦   «         ƒ d {V —† ‰                     ¦   «          w xY w	 d d d ¦  «        ƒd {V —† d S # 1 ƒd {V —†swxY w Y   d S )PNúprojects.jsonr   ÚP©ÚidÚnameÚpathg      à?r'   c              “   óˆ  •K  — ‰                      | ¦  «         | 2 3 d {V —†}t          j        |¦  «        }d|vr%‰                      t          ‰¦  «        |f¦  «         ŒDd|vrŒIi }|d         dk    rddt	          ‰¦  «        dddidœi}|                      t          j        |d         |d	œ¦  «        ¦  «        ƒ d {V —† Œ¦6 d S )
NÚmethodr˜   zthread/readÚthreadé   ÚtypeÚactive)r˜   ÚcwdÚ	updatedAtÚstatus©r˜   Úresult)ro   ÚjsonÚloadsÚlenÚstrÚsendÚdumps)ÚwsÚrawÚmr¥   ÚpeersÚrepliesÚtmp_paths       €€€r#   Úhandlerz^test_codex_real_socket_nonblocking_disconnect_and_no_replay.<locals>.exercise.<locals>.handlerC   s  øè è € Ø�LŠL˜ÑÔÐØð Kð Kð Kð Kð Kð Kð K�cÝ”J˜s‘O”O�Ø 1Ð$Ð$Ø—N’N¥C¨¡J¤J° ?Ñ3Ô3Ð3°XØ˜q�=�= (Ø�Ø�X”; -Ò/Ð/Ø&¨x½sÀ8¹}¼}ÐZ[ÐgmÐnvÐfwÐ(xÐ(xÐy�FØ—g’g�dœj¨q°¬wÀÐ)HÐ)HÑIÔIÑJÔJÐJÐJÐJÐJÐJÐJÐJÐJð  ˜R˜Rs   ›Cz
codex.sock)Úcompression)Ú	approvals)Úon_eventÚon_disconnectÚcommandExecutionc              “   ó€  •K  — ‰d                               t          j        | d|› d�ddt          | ¦  «        dddd	gd
œdœ¦  «        ¦  «        ƒ d {V —† t	          d¦  «        D ]L}‰                     ¦   «         r‰                     ¦   «         d         c S t          j        d¦  «        ƒ d {V —† ŒMt          d¦  «        ‚)Néÿÿÿÿzitem/z/requestApprovalr�   Úturnrž   ztouch /tmp/testÚacceptrr   )ÚthreadIdÚturnIdÚitemIdÚstartedAtMsr   ÚavailableDecisions)r˜   rœ   Úparamséd   r   ç{®Gázt?zapproval not created)	rª   r¦   r«   r©   ÚrangerX   rg   ri   r_   )Úridrœ   Ú_r¯   r    s      €€r#   Úrequestz^test_codex_real_socket_nonblocking_disconnect_and_no_replay.<locals>.exercise.<locals>.requestQ   s#  øè è € Ø˜B”i—n’n¥T¤Z°cÐDdÈFÐDdÐDdÐDdØ)1¸6Í3ÈsÉ8Ì8Ðbcð  pAð  Yað  bjð  Xkð  lð  lð1mð 1mñ &nô &nñ oô oð oð oð oð oð oð oð oå˜s™œð .ð .�AØ×,Ò,Ñ.Ô.ÐQ°x×7LÒ7LÑ7NÔ7NÈqÔ7QÐ0QÐ0QÐ0QÝ!œ-¨Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ý$Ð%;Ñ<Ô<Ð<r$   ))ée   r3   r»   r·   )zfile-2rD   ÚdeclineÚ
fileChangerÊ   r¹   zitem/startedr�   rš   z/tmp/change.txt)rŸ   r˜   Úchanges)r¼   Úitem)rœ   rÁ   )Úin)z.%(py1)s in %(py5)s
{%(py5)s = %(py3)s.detail
}Úapproval©rA   r7   r8   úassert %(py7)sr1   ÚWAITING_APPROVALr,   )z-%(py3)s
{%(py3)s = %(py1)s.state
} == %(py6)s)rA   r7   rC   zassert %(py8)srW   rÂ   rž   r˜   rÃ   Údecisionr¤   r?   r@   rB   rC   ég   rT   ©z-%(py2)s
{%(py2)s = %(py0)s.state
} == %(py5)sÚold©r.   r/   r8   r3   r<   r    r=   )ú!=)zT%(py2)s
{%(py2)s = %(py0)s.approval_id
} != %(py6)s
{%(py6)s = %(py4)s.approval_id
}Únew)r.   r/   r0   rC   rK   rD   g{®Gáz”?c                 ó$   — g | ]\  }}|d k    ¯|‘ŒS )é   © )Ú.0Ú
connectionr®   s      r#   ú
<listcomp>zatest_codex_real_socket_nonblocking_disconnect_and_no_replay.<locals>.exercise.<locals>.<listcomp>s   s!   € ÐIÐIÐI™l˜j¨¸Àqº¸˜¸¸¸r$   rÉ   éh   rG   rH   rI   r(   rr   éi   zserverRequest/resolved)r¼   Ú	requestIdéj   Úshutdownc              3   ó0   K  — | ]\  }}|d          dv V — ŒdS )r˜   )rà   râ   NrÛ   )rÜ   rÆ   r®   s      r#   ú	<genexpr>z`test_codex_real_socket_nonblocking_disconnect_and_no_replay.<locals>.exercise.<locals>.<genexpr>�   s/   è è € ÐGÐG¹¸¸!˜q œw¨)Ð3ÐGÐGÐGÐGÐGÐGr$   z0assert not %(py4)s
{%(py4)s = %(py0)s(%(py2)s)
}Úany©r.   r/   r0   )r·   )(r   Úaddr
   r©   r   r   r   r   ÚeventÚdisconnectedÚrpcÚreadyrª   r¦   r«   r   rY   rZ   r^   r[   r\   r]   r_   r`   Úget_sessionrm   re   rc   rÄ   rg   ri   rt   Úreaderr   rj   rk   rl   rr   rf   ræ   )"Úprojectsr²   ÚadapterrÇ   rÅ   rÒ   Úexpectedr   rÎ   r‚   r{   rƒ   Ú@py_format6ry   rx   r…   Ú@py_format9rÆ   rv   r„   rÕ   ru   rw   r|   r}   r€   rØ   r(   Úexternalrã   r¯   r    r°   r±   s"                                 @@@€r#   r�   zMtest_codex_real_socket_nonblocking_disconnect_and_no_replay.<locals>.exercise>   s¸  øøøøè è € Ý" 8¨OÑ#;Ñ<Ô<ˆØ�Š•W ¨#µC¸±M´MÐBÑBÔBÑCÔCÐCÝ#¨BÐ/Ñ/Ô/ˆØ˜Rˆˆ�ð
	Kð 
	Kð 
	Kð 
	Kð 
	Kð 
	Kð 
	Kõ ˜g¥s¨8°LÑ+@Ñ'AÔ'AÈtÐTÑTÔTð 5	8ð 5	8ð 5	8ð 5	8ð 5	8ð 5	8ð 5	8ð 5	8Ý" 8°xÐ@Ñ@Ô@ˆGÝ(­¨X°lÑ-BÑ)CÔ)CÈgÌmÐkrÔkð  Añ  Aô  AˆGŒKð=ð =ð =ð =ð =ð =ð =ð+8Ø—m’m‘o”oÐ%Ð%Ð%Ð%Ð%Ð%Ð%ð 6Oð Xñ XÑ1�C˜ 8¨TØ˜|Ò+Ð+Ø# BœiŸnšn­T¬ZÀ.ÐfnØ+7½SÀ¹X¼XÐRXÐYjÐQkÐPlÐ#mÐ#mð[oð [oð 9pð 9pñ .qô .qñ rô rð rð rð rð rð rð rð rà%, W¨S°$Ñ%7Ô%7Ð7Ð7Ð7Ð7Ð7Ð7�HØ˜|Ò+Ð+Ð4EÐ-XÈÌÐ-XÐ4EÈÐ4XÐ-XÐ-XÐ-XÕ-XÔ-XÐ-XÐ-XÐ-XÐ-XÐ4EÈÐ-XÑ-XÔ-XÕ-XÔ-XÐ4EÑ-XÔ-XÐ-XÕ-XÔ-XÑ-XÔ-XÐ-XÐ-XÕ-XÔ-XÈÑ-XÔ-XÐ-XÕ-XÔ-XÈÑ-XÔ-XÐ-XÐ-XÕ-XÔ-XÈÑ-XÔ-XÐ-XÐ-XÑ-XÐ-XÐ-XÐ-XÐ-XÐ-XÑ-XÐ-XÕ-XÕ-XÔ-XÐ-XÑ-XÔ-XÑ-XÔ-XÐ-XÐ-XÐ-XÐ-XÐ-XÐ-XÐ-Xà")×"5Ò"5°hÑ"?Ô"?Ð?Ð?Ð?Ð?Ð?Ð?Ð\Ð?ÔFÐ\ÐJ\Ð\ÐFÐJ\Ò\Ð\Ð\Ð\Õ\Ô\Ð\Ð\Ð\Ð\ÐFÐJ\Ð\Ñ\Ô\Õ\Ô\Ð?Ñ\Ô\Õ\Ô\ÐFÑ\Ô\Õ\Ô\ÐJ\Ñ\Ô\Ð\Ð\Ñ\Ð\Ð\Ð\Ð\Ð\Ñ\Ð\Õ\Õ\Ô\Ð\Ñ\Ô\Ñ\Ô\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ø×$Ò$ XÔ%9¸8ÑDÔDÐDÝ" 3™ZœZð 2ð 2˜Ø"ÐI w¨r¤{°1¤~°dÔ';¸sÒ'BÐ'BÀEÀEÝ%œm¨DÑ1Ô1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ø" 2œ; qœ>ÐW°3À*ÈXÐAVÐ-WÐ-WÐW˜>Ð-WÒWÐWÐWÐWÕWÔWÐWÐWÐWÐW˜>Ð-WÐWÑWÔWÕWÔW˜>ÑWÔWÕWÔWÐ-WÑWÔWÐWÐWÑWÐWÐWÐWÐWÐWÑWÐWÕWÕWÔWÐWÑWÔWÑWÔWÐWÐWÐWÐWÐWÐWÐWÑWØ#˜G C™LœLÐ(Ð(Ð(Ð(Ð(Ð(�Ø˜B”i—o’oÑ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ø”kÔ(Ð(Ð(Ð(Ð(Ð(Ð(Ð(Ø”yÐ/ KÐ/�y KÒ/Ð/Ð/Ð/Õ/Ô/Ð/Ð/Ð/Ð/�y KÐ/Ñ/Ô/Ð/Õ/Ô/Ñ/Ô/Ð/Ð/Õ/Ô/�sÑ/Ô/Ð/Õ/Ô/�sÑ/Ô/Ð/Ð/Õ/Ô/�yÑ/Ô/Õ/Ô/ KÑ/Ô/Ð/Ð/Ñ/Ð/Ð/Ð/Ð/Ð/Ñ/Ð/Õ/Õ/Ô/Ð/Ñ/Ô/Ñ/Ô/Ð/Ð/Ð/Ð/Ð/Ð/Ð/Ø#Ô+ÐG¨C¬OÐG¸YÐGÐ+Ð+¨O¸YÑGÔGÐGÐGÐGÐGÐGÐGÐGÐGÕGÔGÑGÔGÐGÐGÕGÔG˜8ÑGÔGÐGÕGÔG˜8ÑGÔGÐGÐGÕGÔGÐ+ÑGÔGÐGÕGÔGÑGÔGÐGÐGÕGÔG¨CÑGÔGÐGÕGÔG¨CÑGÔGÐGÐGÕGÔG¨OÑGÔGÕGÔG¸YÑ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Ø—m’m‘o”oÐ%Ð%Ð%Ð%Ð%Ð%Ð%Ø#˜G C™LœLÐ(Ð(Ð(Ð(Ð(Ð(�Ø”Ð9¨#¬/Ð9�¨/Ò9Ð9Ð9Ð9Õ9Ô9Ð9Ð9Ð9Ð9�¨/Ð9Ñ9Ô9Ð9Õ9Ô9Ñ9Ô9Ð9Ð9Õ9Ô9�sÑ9Ô9Ð9Õ9Ô9�sÑ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Ð9Ð9Ð9Ð9Ñ9Ð9Õ9Õ9Ô9Ð9Ñ9Ô9Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ø#Ô+ÐF¨C¬OÐF¸IÐFÐ+Ð+¨O¸IÑFÔFÐFÐFÐFÐFÐFÐFÐFÐFÕFÔFÑFÔFÐFÐFÕFÔF˜8ÑFÔFÐFÕFÔF˜8ÑFÔFÐFÐFÕFÔFÐ+ÑFÔFÐFÕFÔFÑFÔFÐFÐFÕFÔF¨CÑFÔFÐFÕFÔF¨CÑFÔFÐFÐFÕFÔF¨OÑFÔFÕFÔF¸IÑ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Ø”yÐ- IÐ-�y IÒ-Ð-Ð-Ð-Õ-Ô-Ð-Ð-Ð-Ð-�y IÐ-Ñ-Ô-Ð-Õ-Ô-Ñ-Ô-Ð-Ð-Õ-Ô-�sÑ-Ô-Ð-Õ-Ô-�sÑ-Ô-Ð-Ð-Õ-Ô-�yÑ-Ô-Õ-Ô- IÑ-Ô-Ð-Ð-Ñ-Ð-Ð-Ð-Ð-Ð-Ñ-Ð-Õ-Õ-Ô-Ð-Ñ-Ô-Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-Ø× Ò  ¤°Ñ:Ô:Ð:Ý”m CÑ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(ØIÐI¨gÐIÑIÔIÐyÐTWÐblÐmvÐawÐNxÐNxÐMyÐyÐIÐMyÒyÐyÐyÐyÕyÔyÐyÐyÐyÐyÐIÐMyÐyÑyÔyÕyÔyÐIÑyÔyÕyÔyÐMyÑyÔyÐyÐyÑyÐyÐyÐyÐyÐyÑyÐyÕyÕyÔyÐyÑyÔyÑyÔyÐyÐyÐyÐyÐyÐyÐyØ ' ¨¡¤Ð,Ð,Ð,Ð,Ð,Ð,�Ý”\¥'Ô":Ñ"<Ô"<¸fÐSYÐZÑZÔZð 6ð 6Ø—O’OÑ%Ô%Ð%Ø"œ=Ð5¨IÐ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˜7Ñ5Ô5Ð5Õ5Ô5˜7Ñ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Ñ5Ô5Ñ5Ô5Ð5Ð5Ð5Ð5Ð5Ð5Ð5ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6ð —’ Ô 3Ñ4Ô4Ð4Ý”m CÑ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(Ø˜r”{ 1”~ÐR¨s¸ZÈÐ<QÐ)RÐ)RÐR�~Ð)RÒRÐRÐRÐRÕRÔRÐRÐRÐRÐR�~Ð)RÐRÑRÔRÕRÔR�~ÑRÔRÕRÔRÐ)RÑRÔRÐRÐRÑRÐRÐRÐRÐRÐRÑRÐRÕRÕRÔRÐRÑRÔRÑRÔRÐRÐRÐRÐRÐRÐRÐRØ!( ¨¡¤Ð-Ð-Ð-Ð-Ð-Ð-�Ø˜B”i—n’n¥T¤ZÐ:RÐhpð  ~Að  ]Bð  ]Bð  1Cð  1Cñ  &Dô  &Dñ  Eô  Eð  Eð  Eð  Eð  Eð  Eð  Eð  EØ%Ÿ]š]¨8Ñ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4ÐC¸ÐCÐ4¸ÒCÐCÐCÐCÕCÔCÐCÐCÐCÐCÐ4¸ÐCÑCÔCÕCÔCÐ4Ñ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Ø!( ¨¡¤Ð-Ð-Ð-Ð-Ð-Ð-�Ø—m’m‘o”oÐ%Ð%Ð%Ð%Ð%Ð%Ð%Ø”~Ð4¨Ð4�~¨Ò4Ð4Ð4Ð4Õ4Ô4Ð4Ð4Ð4Ð4�~¨Ð4Ñ4Ô4Ð4Õ4Ô4Ñ4Ô4Ð4Ð4Õ4Ô4�xÑ4Ô4Ð4Õ4Ô4�xÑ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Ô4Ñ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4ØGÐG¸wÐGÑGÔGÐG�3ÐGÑGÔGÐGÐGÐGÐGÐGÐGÐGÐGÕGÔGÑGÔGÐGÐGÕGÔG�3ÑGÔGÐGÕGÔG�3Ñ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ÐGÐGÐGà—m’m‘o”oÐ%Ð%Ð%Ð%Ð%Ð%Ð% x§~¢~Ñ'7Ô'7Ð'7Ð'7ø�g—m’m‘o”oÐ%Ð%Ð%Ð%Ð%Ð%Ð% x§~¢~Ñ'7Ô'7Ð'7Ð'7øøøÐ'7ðk5	8ð 5	8ð 5	8ñ 5	8ô 5	8ð 5	8ð 5	8ð 5	8ð 5	8ð 5	8ð 5	8ð 5	8ð 5	8ð 5	8ð 5	8ð 5	8ð 5	8ð 5	8ð 5	8ð 5	8ð 5	8ð 5	8ð 5	8ð 5	8øøøð 5	8ð 5	8ð 5	8ð 5	8ð 5	8ð 5	8sR   ÂA
z!Ãdyç3Ckë	yëk	ëyëk	ëMyø+/z!ù0z
ú
z!ú!
z+ú.z+r�   ©r±   r�   s   ` r#   Ú;test_codex_real_socket_nonblocking_disconnect_and_no_replayrö   =   s@   ø€ ðE8ð E8ð E8ð E8ð E8õL „K��‘
”
ÑÔÐÐÐr$   c                 óJ   ‡ — ˆ fd„}t          j         |¦   «         ¦  «         d S )Nc            	   “   ó8  •‡‡ K  — t          ‰!dz  ¦  «        } |                      t          ddt          ‰!¦  «        ¬¦  «        ¦  «         t	          d¬¦  «        Št          ‰| ‰!dz  ¦  «        Š ‰                      ¦   «         ƒ d {V —† d2ˆˆ ˆ!fd	„	}	  |d
¦  «        ƒ d {V —†\  }}} |dd¦  «        ƒ d {V —†\  }}}‰                     |j        d¦  «         t          j
        |                     ¦   «         ƒ d {V —†¦  «        d         }d}	||	k    }
|
slt          j        d|
fd||	f¦  «        t          j        |¦  «        t          j        |	¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d 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}	}‰                     |j        d¦  «         t          j
        |                     ¦   «         ƒ d {V —†¦  «        d         }d}	||	k    }
|
slt          j        d|
fd||	f¦  «        t          j        |¦  «        t          j        |	¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d x}x}
}	|                     ¦   «          |                     ¦   «           |d¦  «        ƒ d {V —†\  }}}t-          j        t1          j        ¦   «         dd¬¦  «        5  ‰                     ¦   «          |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 d d ¦  «         n# 1 swxY w Y   ‰                     |j        ¦  «         t          j
        |                     ¦   «         ƒ d {V —†¦  «        }g }|d          }
d!}|
|k    }|}|r|d         }d"}||k    }|}|�st          j        d|fd#|
|f¦  «        t          j        |
¦  «        t          j        |¦  «        d$œz  }d%d&|iz  }|                     |¦  «         |r`t          j        d|fd'||f¦  «        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}}|                     ¦   «           |d.¦  «        ƒ d {V —†\  }}}|                     ¦   «          |                     ¦   «         ƒ d {V —† t?          d/¦  «        D ])}|j        d!k    r nt1          j         d0¦  «        ƒ d {V —† Œ*|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}	} |d1¦  «        ƒ d {V —†\  }}}‰                      ¦   «         ƒ d {V —† |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 {V —† ‰                     ¦   «          d S # ‰                      ¦   «         ƒ d {V —† ‰                     ¦   «          w xY w)3Nr•   r   r–   r—   g{®Gáz´?r'   zruntime/approvals.sockr   c              “   ól  •‡ K  — t          j        ‰j        ¦  «        ƒ d {V —†\  }}|                     t	          j        t          |d‰ t          ‰¦  «        ddd¬¦  «        ¦  «        dz                        ¦   «         ¦  «         | 	                    ¦   «         ƒ d {V —† t          d¦  «        D ]ù}ˆ fd„‰                     ¦   «         D ¦   «         }|r»t	          j        |                     ¦   «         ƒ d {V —†¦  «        d	         }d
}||k    }|slt          j        d|fd||f¦  «        t          j        |¦  «        t          j        |¦  «        dœz  }	dd|	iz  }
t#          t          j        |
¦  «        ¦  «        ‚d x}x}}|||d         fc S t          j        d¦  «        ƒ d {V —† Œút#          d¦  «        ‚)Nr   Úfile_changez
Edit file?z	/tmp/test)r   Ú
runtime_idÚtool_call_idr¡   r   r   r   ú
rÂ   c                 óZ   •— g | ]'}t          j        |j        ¦  «        d          ‰k    ¯%|‘Œ(S )rž   )r¦   r§   r   )rÜ   r:   r!   s     €r#   rÞ   z|test_pi_unix_channel_timeout_disconnect_shutdown_and_parallel_sessions.<locals>.exercise.<locals>.submit.<locals>.<listcomp>”   s7   ø€ ÐmÐmÐm˜q½t¼zÈ!ÔJ\Ñ?]Ô?]Ð^_Ô?`ÐdlÒ?lÐ?l˜Ð?lÐ?lÐ?lr$   rm   rK   r,   r?   r@   rB   rC   r   çü©ñÒMbP?zPi approval not created)rg   Úopen_unix_connectionrš   Úwriter¦   r«   Údictr©   ÚencodeÚdrainrÄ   rX   r§   ÚreadlinerY   rZ   r^   r_   r`   ri   )r!   r"   rî   ÚwriterrÆ   Úfoundr‚   rv   rƒ   r„   r…   r    Úserverr±   s   `          €€€r#   Úsubmitzhtest_pi_unix_channel_timeout_disconnect_shutdown_and_parallel_sessions.<locals>.exercise.<locals>.submitŽ   s  øøè è € Ý#*Ô#?ÀÄÑ#LÔ#LÐLÐLÐLÐLÐLÐL‰NˆF�FØ�LŠL�$œ*¥T°WÈ	Ð_gÝ˜‘M”M }¸<È{ð&\ñ &\ô &\ñ ]ô ]Ø]añbßciÒciÑckÔckñmô mð mà—,’,‘.”.Ð Ð Ð Ð Ð Ð Ð Ý˜3‘Z”Zð *ð *�ØmÐmÐmÐm H×$9Ò$9Ñ$;Ô$;ÐmÑmÔm�Øð 4Ýœ:¨F¯OªOÑ,=Ô,=Ð&=Ð&=Ð&=Ð&=Ð&=Ð&=Ñ>Ô>¸wÔGÐTÈ9ÐTÐGÈ9ÒTÐTÐTÐTÕTÔTÐTÐTÐTÐTÐGÈ9ÐTÑTÔTÕTÔTÐGÑTÔTÕTÔTÈ9ÑTÔTÐTÐTÑTÐTÐTÐTÐTÐTÑTÐTÕTÕTÔTÐTÑTÔTÑTÔTÐTÐTÐTÐTÐTÐTÐTØ! 6¨5°¬8Ð3Ð3Ð3Ð3Ý”m DÑ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ý Ð!:Ñ;Ô;Ð;r$   ÚoneÚtwor+   r3   rÒ   r,   r?   r@   rB   rC   rK   rÔ   Úa1rÖ   rÐ   r1   rD   Ú
indefiniterG   rH   rI   r:   rm   rT   rr   )z%(py3)s == %(py6)s)r7   rC   z%(py8)srW   )z%(py11)s == %(py14)s)r9   Úpy14z%(py16)sÚpy16r   rP   rQ   Ú
disconnectrÂ   rÿ   rã   )r   )!r   rè   r
   r©   r   r   Ústartre   rc   r¦   r§   r  rY   rZ   r^   r_   r`   rm   r[   r\   r]   rt   r   rj   rg   rk   rl   rr   ro   rp   Úwait_closedrÄ   ri   )"rï   r	  Úr1Úw1r  Úr2Úw2Úa2r‚   rv   rƒ   r„   r…   ru   r{   rò   ry   ÚrÚwr:   Úreplyrx   r}   Ú@py_assert13r~   ró   Ú@py_format15rˆ   r‰   rŠ   rÆ   r    r  r±   s"                                  @@€r#   r�   zXtest_pi_unix_channel_timeout_disconnect_shutdown_and_parallel_sessions.<locals>.exerciseˆ   sW
  øøøè è € Ý" 8¨OÑ#;Ñ<Ô<ˆØ�Š•W ¨µ#°h±-´-Ð@Ñ@Ô@ÑAÔAÐAÝ#¨CÐ0Ñ0Ô0ˆÝ! (¨H°hÐ?WÑ6WÑXÔXˆØ�lŠl‰nŒnÐÐÐÐÐÐÐð	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð	2Ø!˜6 %™=œ=Ð(Ð(Ð(Ð(Ð(Ð(‰HˆBˆr�"¸¸ÀÀgÑ9NÔ9NÐ3NÐ3NÐ3NÐ3NÐ3NÐ3N©(¨"¨R°Ø×Ò˜Rœ^¨IÑ6Ô6Ð6Ý”: B§K¢K¡M¤MÐ1Ð1Ð1Ð1Ð1Ð1Ñ2Ô2°:Ô>ÐIÀ	ÐIÐ>À	ÒIÐIÐIÐIÕIÔIÐIÐIÐIÐIÐ>À	ÐIÑIÔIÕIÔIÐ>ÑIÔIÕIÔIÀ	ÑIÔIÐIÐIÑIÐIÐIÐIÐIÐIÑIÐIÕIÕIÔIÐIÑIÔIÑIÔIÐIÐIÐIÐIÐIÐIÐIØ”8Ð&˜YÐ&�8˜YÒ&Ð&Ð&Ð&Õ&Ô&Ð&Ð&Ð&Ð&�8˜YÐ&Ñ&Ô&Ð&Õ&Ô&Ñ&Ô&Ð&Ð&Õ&Ô&�2Ñ&Ô&Ð&Õ&Ô&�2Ñ&Ô&Ð&Ð&Õ&Ô&�8Ñ&Ô&Õ&Ô&˜YÑ&Ô&Ð&Ð&Ñ&Ð&Ð&Ð&Ð&Ð&Ñ&Ð&Õ&Õ&Ô&Ð&Ñ&Ô&Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&Ø×Ò˜Rœ^¨HÑ5Ô5Ð5Ý”: B§K¢K¡M¤MÐ1Ð1Ð1Ð1Ð1Ð1Ñ2Ô2°:Ô>ÐHÀÐHÐ>ÀÒHÐHÐHÐHÕHÔHÐHÐHÐHÐHÐ>ÀÐHÑHÔHÕHÔHÐ>ÑHÔHÕHÔHÀÑHÔHÐHÐHÑHÐHÐHÐHÐHÐHÑHÐHÕHÕHÔHÐHÑHÔHÑHÔHÐHÐHÐHÐHÐHÐHÐHØ�HŠH‰JŒJˆJ�r—x’x‘z”z�zØ˜˜|Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,‰EˆAˆa�Ý”�gÔ6Ñ8Ô8¸&ÈvÐVÑVÔVð ,ð ,Ø—’Ñ!Ô!Ð!Ø”wÐ+ )Ð+�w )Ò+Ð+Ð+Ð+Õ+Ô+Ð+Ð+Ð+Ð+�w )Ð+Ñ+Ô+Ð+Õ+Ô+Ñ+Ô+Ð+Ð+Õ+Ô+�qÑ+Ô+Ð+Õ+Ô+�qÑ+Ô+Ð+Ð+Õ+Ô+�wÑ+Ô+Õ+Ô+ )Ñ+Ô+Ð+Ð+Ñ+Ð+Ð+Ð+Ð+Ð+Ñ+Ð+Õ+Õ+Ô+Ð+Ñ+Ô+Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð �OŠO˜AœMÑ*Ô*Ð*Ý”J Q§Z¢Z¡\¤\Ð1Ð1Ð1Ð1Ð1Ð1Ñ2Ô2ˆEØRÐR�5˜”>ÐR [ÐR�> [Ò0ÐRÐRÐRÐRÐR°U¸:Ô5FÐRÈ(ÐRÐ5FÈ(Ò5RÐRÐRÐRÐRÑRÕRÔRÐRÐRÐRÐR�> [ÐRÑRÔRÕRÔR�>ÑRÔRÕRÔR [ÑRÔRÐRÐRÑRÐRÐRÐRÐRÐRÑRÐRÐR×RÒRÐRÑRÔRÐRÐRÐRÕRÔRÐRÐRÐRÐRÐ5FÈ(ÐRÑRÔRÕRÔRÐ5FÑRÔRÕRÔRÈ(ÑRÔRÐRÐRÑRÐRÐRÐRÐRÐRÑRÐRÐR×RÒRÐRÑRÔRÐRÕRÔRÐRÐRÑRÔRÐRÑRÐRÐRÐRÐRÐRÑRÐRÕRÕRÔRÐRÑRÔRÑRÔRÐRÐRÐRÐRÐRÐRÐRÐRÐRÐRÐRÐRÐRÐRÐRÐRÐRØ�GŠG‰IŒIˆIØ˜˜|Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,‰EˆAˆa�¨Q¯WªW©Y¬Y¨Y¸Q¿]º]¹_¼_Ð7LÐ7LÐ7LÐ7LÐ7LÐ7LÐ7LÝ˜3‘Z”Zð *ð *�Ø”7˜KÒ'Ð'¨¨Ý”m DÑ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ø”7Ð'˜KÐ'�7˜KÒ'Ð'Ð'Ð'Õ'Ô'Ð'Ð'Ð'Ð'�7˜KÐ'Ñ'Ô'Ð'Õ'Ô'Ñ'Ô'Ð'Ð'Õ'Ô'�1Ñ'Ô'Ð'Õ'Ô'�1Ñ'Ô'Ð'Ð'Õ'Ô'�7Ñ'Ô'Õ'Ô'˜KÑ'Ô'Ð'Ð'Ñ'Ð'Ð'Ð'Ð'Ð'Ñ'Ð'Õ'Õ'Ô'Ð'Ñ'Ô'Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ø˜˜zÑ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*‰EˆAˆa�°·²±´Ð+?Ð+?Ð+?Ð+?Ð+?Ð+?Ð+?Ø”7Ð'˜KÐ'�7˜KÒ'Ð'Ð'Ð'Õ'Ô'Ð'Ð'Ð'Ð'�7˜KÐ'Ñ'Ô'Ð'Õ'Ô'Ñ'Ô'Ð'Ð'Õ'Ô'�1Ñ'Ô'Ð'Õ'Ô'�1Ñ'Ô'Ð'Ð'Õ'Ô'�7Ñ'Ô'Õ'Ô'˜KÑ'Ô'Ð'Ð'Ñ'Ð'Ð'Ð'Ð'Ð'Ñ'Ð'Õ'Õ'Ô'Ð'Ñ'Ô'Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'¨¯ª©	¬	¨	à—,’,‘.”.Ð Ð Ð Ð Ð Ð Ð  §¢Ñ!1Ô!1Ð!1Ð!1Ð!1ø�&—,’,‘.”.Ð Ð Ð Ð Ð Ð Ð  §¢Ñ!1Ô!1Ð!1Ð!1øøøs3   ÂK#a) Í4CQÑ
a) ÑQÑa) ÑQÑOa) á)0br�   rõ   s   ` r#   ÚFtest_pi_unix_channel_timeout_disconnect_shutdown_and_parallel_sessionsr  ‡   s;   ø€ ð*2ð *2ð *2ð *2ð *2õV „K��‘
”
ÑÔÐÐÐr$   c                 óâ  ‡#— | dz  }|                      t          j        dddœ¦  «        ¦  «         |                     t          dt          |¦  «        ¦  «         |                     t          dt          | dz  ¦  «        ¦  «         |                     t          di ¦  «         |                     t          d	i ¦  «         |                     t          d
t          | dz  ¦  «        ¦  «         t          t          j	        ¦  «        5 }d„ }d„ Š#ˆ#fd„}| 
                    d¦  «        5 } ||¦  «         |j                             |d¦  «        }|j                             |d¦  «        } ‰#|d¦  «        d         }	|j        }
|	|
k    }|sªt          j        d|fd|	|
f¦  «        t          j        |	¦  «        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}	x}}
|j        }d}
 ||
¦  «        }|j        } |¦   «         }t/          |¦  «        }d}||k    }|�sQt          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        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœ	z  }d d!|iz  }t)          t          j        |¦  «        ¦  «        ‚d x}x}
x}x}x}x}x}}|                     d"d#d$d%œ¦  «         |                     d&|j        d'd(œ¦  «         |j        }d}
 ||
¦  «        }|j        } |¦   «         }t/          |¦  «        }d}||k    }|�sQt          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        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dœ	z  }d d!|iz  }t)          t          j        |¦  «        ¦  «        ‚d x}x}
x}x}x}x}x}}|                     d&|j        d'd(œ¦  «          ‰#|d)¦  «        d*         }	d+}|	|k    }|slt          j        d|fd,|	|f¦  «        t          j        |	¦  «        t          j        |¦  «        d-œz  }d.d/|iz  }t)          t          j        |¦  «        ¦  «        ‚d x}	x}} ‰#|d¦  «        d         }	|j        }
|	|
k    }|sªt          j        d|fd|	|
f¦  «        t          j        |	¦  «        d0t#          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd0t          j        |
¦  «        dœz  }dd|iz  }t)          t          j        |¦  «        ¦  «        ‚d x}	x}}
|                     d&|j        d'd(œ¦  «         |                     d&i d'd(œ¦  «         |                     d¦  «                             ¦   «         d1         d         }	|j        }
|	|
k    }|sªt          j        d|fd|	|
f¦  «        t          j        |	¦  «        d0t#          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd0t          j        |
¦  «        dœz  }dd|iz  }t)          t          j        |¦  «        ¦  «        ‚d x}	x}}
|                     d&|j        d2d(œ¦  «          ‰#|d)¦  «        d*         }	d3}|	|k    }|slt          j        d|fd,|	|f¦  «        t          j        |	¦  «        t          j        |¦  «        d-œz  }d.d/|iz  }t)          t          j        |¦  «        ¦  «        ‚d x}	x}}|j                             |d4¦  «        } ‰#|d¦  «         d d d ¦  «         n# 1 swxY w Y   | 
                    d¦  «        5 } ||¦  «          ‰#|d¦  «        d         }	|j        }
|	|
k    }|sªt          j        d|fd|	|
f¦  «        t          j        |	¦  «        d5t#          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        nd5t          j        |
¦  «        dœz  }dd|iz  }t)          t          j        |¦  «        ¦  «        ‚d x}	x}}
d6D �]6}|d2k    r'|j                             |d7¦  «        } ‰#|d¦  «         |j        }d8|j        › d9�}d:|i} |||¬;¦  «        }|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        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d>œz  } d?d@| iz  }!t)          t          j        |!¦  «        ¦  «        ‚d x}x}x}x}x}x}} ‰#|d)¦  «        d*         }	|d'k    rd+nd3}|	|k    }|slt          j        d|fd,|	|f¦  «        t          j        |	¦  «        t          j        |¦  «        d-œz  }d.d/|iz  }t)          t          j        |¦  «        ¦  «        ‚d x}	x}}|j        }d8|j        › d9�}d:|i} |||¬;¦  «        }|j        }dA}||k    }|söt          j        d|fd=||f¦  «        dt#          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d>œz  } d?d@| iz  }!t)          t          j        |!¦  «        ¦  «        ‚d x}x}x}x}x}x}}�Œ8|j        }d} ||¦  «        }|j        } |¦   «         }g }||k    }|söt          j        d|fdB||f¦  «        dt#          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d>œz  } d?d@| iz  }!t)          t          j        |!¦  «        ¦  «        ‚d x}x}x}x}x}x}}t          j        }|j        }d} ||¦  «        }dC}||k    }|sít          j        d|fdD||f¦  «        dEt#          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndEt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        dFœz  }"dGdH|"iz  } t)          t          j        | ¦  «        ¦  «        ‚d x}x}x}x}x}}d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )INzdevice.jsonÚtestÚsecret)Ú	device_idÚdevice_tokenÚcredential_storeÚtarget_storeztargets.jsonÚdevicesÚadaptersÚproject_registryr•   c              “   ó:   K  — t          t          j        | ¦  «        S ©N)r   Úgatewayr´   )r!   s    r#   rè   z?test_authenticated_device_fifo_admin_and_reconnect.<locals>.add¾   s   è è € ­­wÔ/@ÀÑ(JÔ(JÐ!Jr$   c                 óŒ   — t          d¦  «        D ]&}|                      ¦   «         }|d         |k    r|c S Œ't          |¦  «        ‚)Né   rŸ   )rÄ   Úreceive_jsonr_   )r¬   r   rÆ   r®   s       r#   ÚreceivezCtest_authenticated_device_fifo_admin_and_reconnect.<locals>.receive¿   sK   € Ý˜2‘Y”Yð ,ð ,�Ø—/’/Ñ#Ô#�Ø�V”9˜d’?�?¨! 8 8 8�?Ý  Ñ&Ô&Ð&r$   c                 óV   •— |                       ddddddœ¦  «          ‰| d¦  «         d S )NÚhellor  r   zm5stack-stopwatchú0.3.0)rŸ   r!  r"  ÚboardÚfirmwareÚ	hello_ack)Ú	send_json)r¬   r.  s    €r#   r0  zAtest_authenticated_device_fifo_admin_and_reconnect.<locals>.helloÄ   sP   ø€ Ø�LŠL °VÈ8Ð\oð  |Cð  Dð  Dñ  Eô  Eð  EØˆG�B�{Ñ#Ô#Ð#Ð#Ð#r$   z
/device/wsr
  r  Úapproval_requestrc   r,   )z3%(py1)s == %(py5)s
{%(py5)s = %(py3)s.approval_id
}r:   rÏ   rÐ   r1   z/api/approvalsrÚ   )z�%(py13)s
{%(py13)s = %(py0)s(%(py11)s
{%(py11)s = %(py9)s
{%(py9)s = %(py7)s
{%(py7)s = %(py3)s
{%(py3)s = %(py1)s.get
}(%(py5)s)
}.json
}()
})
} == %(py16)sr¨   Úclient)	r.   rA   r7   r8   r1   r2   r9   rN   r  zassert %(py18)sÚpy18Úbutton_eventÚAÚclick)rŸ   ÚbuttonÚactionÚapproval_responser3   )rŸ   rc   rÒ   Úapproval_cancelledrm   r>   r?   r@   rB   rC   r6   r   rD   rE   ÚthreerL   )r3   rD   Úfourz/api/approvals/z	/decisionrÒ   )r¦   éÈ   )z|%(py10)s
{%(py10)s = %(py8)s
{%(py8)s = %(py2)s
{%(py2)s = %(py0)s.post
}(%(py4)s, json=%(py6)s)
}.status_code
} == %(py13)s)r.   r/   r0   rC   rW   Úpy10rN   zassert %(py15)srO   i™  )z}%(py10)s
{%(py10)s = %(py8)s
{%(py8)s = %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.get
}(%(py4)s)
}.json
}()
} == %(py13)sr  )zl%(py8)s
{%(py8)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.target_store
}.get
}(%(py6)s)
} == %(py11)sr*  )r.   r/   r0   rC   rW   r9   zassert %(py13)srN   )Ú
write_textr¦   r«   Úsetattrr*  r   r   r   r   ÚappÚwebsocket_connectÚportalÚcallrc   rY   rZ   r^   r[   r\   r]   r_   r`   Úgetr¨   r5  ÚpostÚstatus_coder$  )$r±   ÚmonkeypatchÚcredr7  rè   r0  r¬   r:   r6   r‚   r{   rƒ   rò   ry   rw   r|   r}   r~   Ú@py_assert15r†   rˆ   Ú@py_format19rv   r„   r…   rL   rÒ   ru   rx   r�   rŽ   Ú@py_assert11Ú@py_format14Ú@py_format16r�   r.  s$                                      @r#   Ú2test_authenticated_device_fifo_admin_and_reconnectrT  ¶   sÖ  ø€ Ø	�-Ñ	€D §¢µ´
ÈÐ^fÐ;gÐ;gÑ0hÔ0hÑ iÔ iÐ iØ×Ò�Ð 2Õ3HÈÑ3NÔ3NÑOÔOÐOØ×Ò� ­{¸8ÀNÑ;RÑ/SÔ/SÑTÔTÐTØ×Ò� 	¨"Ñ-Ô-Ð-Ø×Ò� 
¨2Ñ.Ô.Ð.Ø×Ò�Ð 2µ?À8ÈOÑC[Ñ3\Ô3\Ñ]Ô]Ð]Ý	•G”KÑ	 Ô	 ð $> FØJÐJÐJð	'ð 	'ð 	'ð
	$ð 	$ð 	$ð 	$ð 	$ð ×%Ò% lÑ3Ô3ð 	M°rØˆE�"‰IŒIˆIØŒm× Ò   UÑ+Ô+ˆA¨v¬}×/AÒ/AÀ#ÀeÑ/LÔ/L¨QØ�7˜2Ð0Ñ1Ô1°-Ô@ÐOÀ!Ä-ÐOÐ@À-ÒOÐOÐOÐOÕOÔOÐOÐOÐOÐOÐ@À-ÐOÑOÔOÕOÔOÐ@ÑOÔOÐOÕOÔOÑOÔOÐOÐOÕOÔOÀ!ÑOÔOÐOÕOÔOÀ!ÑOÔOÐOÐOÕOÔOÀ-ÑOÔOÐOÐOÑOÐOÐOÐOÐOÐOÑOÐOÕOÕOÔOÐOÑOÔOÑOÔOÐOÐOÐOÐOÐOÐOÐOØ”zÐ>Ð"2Ð>�z�zÐ"2Ñ3Ô3Ð>Ð3Ô8Ð>Ð8Ð8Ñ:Ô:Ð>•3Ð:Ñ;Ô;Ð>¸QÐ>Ð;¸QÒ>Ð>Ð>Ñ>Õ>Ô>Ð>Ð>Ð>Ð>Ð;¸QÐ>Ñ>Ô>Ð>Õ>Ô>Ñ>Ô>Ð>Ð>Õ>Ô>•3Ñ>Ô>Ð>Õ>Ô>•3Ñ>Ô>Ð>Ð>Ð>Õ>Ô>Ñ>Ô>Ð>Ð>Õ>Ô>�vÑ>Ô>Ð>Õ>Ô>�vÑ>Ô>Ð>Ð>Õ>Ô>�zÑ>Ô>Õ>Ô>Ð"2Ñ>Ô>Õ>Ô>Ð3Ñ>Ô>Õ>Ô>Ð8Ñ>Ô>Õ>Ô>Ð:Ñ>Ô>Õ>Ô>Ð;Ñ>Ô>Õ>Ô>¸QÑ>Ô>Ð>Ð>Ñ>Ð>Ð>Ð>Ð>Ð>Ñ>Ð>Õ>Õ>Ô>Ð>Ñ>Ô>Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ø�LŠL ¸ÀgÐNÐNÑOÔOÐOØ�LŠLÐ!4À1Ä=Ð\eÐfÐfÑgÔgÐgØ”zÐ>Ð"2Ð>�z�zÐ"2Ñ3Ô3Ð>Ð3Ô8Ð>Ð8Ð8Ñ:Ô:Ð>•3Ð:Ñ;Ô;Ð>¸QÐ>Ð;¸QÒ>Ð>Ð>Ñ>Õ>Ô>Ð>Ð>Ð>Ð>Ð;¸QÐ>Ñ>Ô>Ð>Õ>Ô>Ñ>Ô>Ð>Ð>Õ>Ô>•3Ñ>Ô>Ð>Õ>Ô>•3Ñ>Ô>Ð>Ð>Ð>Õ>Ô>Ñ>Ô>Ð>Ð>Õ>Ô>�vÑ>Ô>Ð>Õ>Ô>�vÑ>Ô>Ð>Ð>Õ>Ô>�zÑ>Ô>Õ>Ô>Ð"2Ñ>Ô>Õ>Ô>Ð3Ñ>Ô>Õ>Ô>Ð8Ñ>Ô>Õ>Ô>Ð:Ñ>Ô>Õ>Ô>Ð;Ñ>Ô>Õ>Ô>¸QÑ>Ô>Ð>Ð>Ñ>Ð>Ð>Ð>Ð>Ð>Ñ>Ð>Õ>Õ>Ô>Ð>Ñ>Ô>Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ø�LŠLÐ!4À1Ä=Ð\eÐfÐfÑgÔgÐgØ�7˜2Ð2Ñ3Ô3°GÔ<ÐH¸jÐHÐ<¸jÒHÐHÐHÐHÕHÔHÐHÐHÐHÐHÐ<¸jÐHÑHÔHÕHÔHÐ<ÑHÔHÕHÔH¸jÑHÔHÐHÐHÑHÐHÐHÐHÐHÐHÑHÐHÕHÕHÔHÐHÑHÔHÑHÔHÐHÐHÐHÐHÐHÐHÐHØ�7˜2Ð0Ñ1Ô1°-Ô@ÐOÀ!Ä-ÐOÐ@À-ÒOÐOÐOÐOÕOÔOÐOÐOÐOÐOÐ@À-ÐOÑOÔOÕOÔOÐ@ÑOÔOÐOÕOÔOÑOÔOÐOÐOÕOÔOÀ!ÑOÔOÐOÕOÔOÀ!ÑOÔOÐOÐOÕOÔOÀ-ÑOÔOÐOÐOÑOÐOÐOÐOÐOÐOÑOÐOÕOÕOÔOÐOÑOÔOÑOÔOÐOÐOÐOÐOÐOÐOÐOØ�LŠLÐ!4À1Ä=Ð\eÐfÐfÑgÔgÐgØ�LŠLÐ!4À2ÐQZÐ[Ð[Ñ\Ô\Ð\Ø—:’:Ð.Ñ/Ô/×4Ò4Ñ6Ô6°qÔ9¸-ÔHÐWÈ!Ì-ÐWÐHÈ-ÒWÐWÐWÐWÕWÔWÐWÐWÐWÐWÐHÈ-ÐWÑWÔWÕWÔWÐHÑWÔWÐWÕWÔWÑWÔWÐWÐWÕWÔWÈ!ÑWÔWÐWÕWÔWÈ!ÑWÔWÐWÐWÕWÔWÈ-ÑWÔWÐWÐWÑWÐWÐWÐWÐWÐWÑWÐWÕWÕWÔWÐWÑWÔWÑWÔWÐWÐWÐWÐWÐWÐWÐWØ�LŠLÐ!4À1Ä=Ð\dÐeÐeÑfÔfÐfØ�7˜2Ð2Ñ3Ô3°GÔ<ÐH¸jÐHÐ<¸jÒHÐHÐHÐHÕHÔHÐHÐHÐHÐHÐ<¸jÐHÑHÔHÕHÔHÐ<ÑHÔHÕHÔH¸jÑHÔHÐHÐHÑHÐHÐHÐHÐHÐHÑHÐHÕHÕHÔHÐHÑHÔHÑHÔHÐHÐHÐHÐHÐHÐHÐHØŒm× Ò   WÑ-Ô-ˆA¨g¨g°bÐ9KÑ.LÔ.LÐ.Lð!	Mð 	Mð 	Mñ 	Mô 	Mð 	Mð 	Mð 	Mð 	Mð 	Mð 	Møøøð 	Mð 	Mð 	Mð 	Mð" ×%Ò% lÑ3Ô3ð 		>°rØˆE�"‰IŒIˆIØ�7˜2Ð0Ñ1Ô1°-Ô@ÐOÀ!Ä-ÐOÐ@À-ÒOÐOÐOÐOÕOÔOÐOÐOÐOÐOÐ@À-ÐOÑOÔOÕOÔOÐ@ÑOÔOÐOÕOÔOÑOÔOÐOÐOÕOÔOÀ!ÑOÔOÐOÕOÔOÀ!ÑOÔOÐOÐOÕOÔOÀ-ÑOÔOÐOÐOÑOÐOÐOÐOÐOÐOÑOÐOÕOÕOÔOÐOÑOÔOÑOÔOÐOÐOÐOÐOÐOÐOÐOØ0ð {ñ {�Ø˜XÒ%Ð%¨¬×);Ò);¸CÀÑ)GÔ)G qÈÈÐPRÐSeÑHfÔHfÐHfØ”{ÐzÐ#M°Q´]Ð#MÐ#MÐ#MÐzÐT^Ð_gÐShÐz�{�{Ð#MÐShÐiÑiÔiÐzÐiÔuÐzÐwzÐzÐuÐwzÒzÐzÐzÐzÕzÔzÐzÐzÐzÐzÐuÐwzÐzÑzÔzÐzÕzÔzÑzÔzÐzÐzÕzÔz�vÑzÔzÐzÕzÔz�vÑzÔzÐzÐzÕzÔz�{ÑzÔzÕzÔzÐ#MÑzÔzÕzÔzÐShÑzÔzÕzÔzÐiÑzÔzÕzÔzÐuÑzÔzÕzÔzÐwzÑzÔzÐzÐzÑzÐzÐzÐzÐzÐzÑzÐzÕzÕzÔzÐzÑzÔzÑzÔzÐzÐzÐzÐzÐzÐzÐzÐzÐzÐzÐzÐzÐzÐzÐzØ�w˜rÐ"6Ñ7Ô7¸Ô@ÐuÐQYÐ[dÒQdÐQdÀ:À:ÐjtÐuÐ@ÐCtÒuÐuÐuÐuÕuÔuÐuÐuÐuÐuÐ@ÐCtÐuÑuÔuÕuÔuÐ@ÑuÔuÕuÔuÐCtÑuÔuÐuÐuÑuÐuÐuÐuÐuÐuÑuÐuÕuÕuÔuÐuÑuÔuÑuÔuÐuÐuÐuÐuÐuÐuÐuØ”{ÐzÐ#M°Q´]Ð#MÐ#MÐ#MÐzÐT^Ð_gÐShÐz�{�{Ð#MÐShÐiÑiÔiÐzÐiÔuÐzÐwzÐzÐuÐwzÒzÐzÐzÐzÕzÔzÐzÐzÐzÐzÐuÐwzÐzÑzÔzÐzÕzÔzÑzÔzÐzÐzÕzÔz�vÑzÔzÐzÕzÔz�vÑzÔzÐzÐzÕzÔz�{ÑzÔzÕzÔzÐ#MÑzÔzÕzÔzÐShÑzÔzÕzÔzÐiÑzÔzÕzÔzÐuÑzÔzÕzÔzÐwzÑzÔzÐzÐzÑzÐzÐzÐzÐzÐzÑzÐzÕzÕzÔzÐzÑzÔzÑzÔzÐzÐzÐzÐzÐzÐzÐzÐzÐzÐzÐzÐzÐzÐzÐzÑzØ”:Ð:Ð.Ð:�:�:Ð.Ñ/Ô/Ð:Ð/Ô4Ð:Ð4Ð4Ñ6Ô6Ð:¸Ð:Ð6¸Ò:Ð:Ð:Ð:Õ:Ô:Ð:Ð:Ð:Ð:Ð6¸Ð:Ñ:Ô:Ð:Õ:Ô:Ñ:Ô:Ð:Ð:Õ:Ô:�6Ñ:Ô:Ð:Õ:Ô:�6Ñ:Ô:Ð:Ð:Õ:Ô:�:Ñ:Ô:Õ:Ô:Ð.Ñ:Ô:Õ:Ô:Ð/Ñ:Ô:Õ:Ô:Ð4Ñ:Ô:Õ:Ô:Ð6Ñ:Ô:Õ:Ô:¸Ñ:Ô:Ð:Ð:Ñ:Ð:Ð:Ð:Ð:Ð:Ñ:Ð:Õ:Õ:Ô:Ð:Ñ:Ô:Ñ:Ô:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:Ð:ÝÔ'Ð=Ð'Ô+Ð=¨FÐ=Ð+Ð+¨FÑ3Ô3Ð=°XÐ=Ð3°XÒ=Ð=Ð=Ð=Õ=Ô=Ð=Ð=Ð=Ð=Ð3°XÐ=Ñ=Ô=Ð=Õ=Ô=Ñ=Ô=Ð=Ð=Õ=Ô=•7Ñ=Ô=Ð=Õ=Ô=•7Ñ=Ô=Ð=Ð=Õ=Ô=Ð'Ñ=Ô=Õ=Ô=Ð+Ñ=Ô=Õ=Ô=¨FÑ=Ô=Õ=Ô=Ð3Ñ=Ô=Õ=Ô=°XÑ=Ô=Ð=Ð=Ñ=Ð=Ð=Ð=Ð=Ð=Ñ=Ð=Õ=Õ=Ô=Ð=Ñ=Ô=Ñ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=Ð=ð		>ð 		>ð 		>ñ 		>ô 		>ð 		>ð 		>ð 		>ð 		>ð 		>ð 		>øøøð 		>ð 		>ð 		>ð 		>ð7$>ð $>ð $>ñ $>ô $>ð $>ð $>ð $>ð $>ð $>ð $>ð $>øøøð $>ð $>ð $>ð $>ð $>ð $>s\   Ä!$Ä$`d3ä'$ä3d7	ä7$ä:d7	ä;$åY-ÿ $ÿ	ÿ$ÿ	ÿ$ÿ$(ÿ+(c                 óh   ‡ ‡—  G d„ d¦  «        Šˆˆ fd„}t          j         |¦   «         ¦  «         d S )Nc                   ó   — e Zd Zd„ Zd„ ZdS )úItest_broadcast_first_decision_wins_and_cancels_other_device.<locals>.Peerc                 ó   — g | _         d S r)  ©Úsent)Úselfs    r#   Ú__init__zRtest_broadcast_first_decision_wins_and_cancels_other_device.<locals>.Peer.__init__æ   s   €  b˜DœI˜I˜Ir$   c              “   ó>   K  — | j                              |¦  «         d S r)  )rZ  ro   )r[  Úpayloads     r#   r5  zStest_broadcast_first_decision_wins_and_cancels_other_device.<locals>.Peer.send_jsonç   s!   è è € ¨D¬I×,<Ò,<¸WÑ,EÔ,EÐ,EÐ,EÐ,Er$   N)Ú__name__Ú
__module__Ú__qualname__r\  r5  rÛ   r$   r#   ÚPeerrW  å   s"   € € € € € Ø(Ð(Ð(ØEÐEÐEÐEÐEr$   rb  c               “   óÜ	  •‡K  — t          ¦   «         } ‰                     t          d| ¦  «          ‰¦   «          ‰¦   «         g}d„ t          |¦  «        D ¦   «         }‰                     t          dd„ |D ¦   «         ¦  «         t	          | ¦  «        Št          j        ¦   «         ƒ d {V —† ˆfd„|D ¦   «         }t          |¦  «        }|s•ddt          j        ¦   «         v st          j
        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }t          t          j        |¦  «        ¦  «        ‚d x}}| j        }‰j        }d	}|d
         }|j        }	 ||||	¬¦  «        }
|
�sd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t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |	¦  «        t          j        |
¦  «        dœz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}x}x}	}
| j        }‰j        }d}|d         }|j        }	 ||||	¬¦  «        }
|
 }|�sd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t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |	¦  «        t          j        |
¦  «        dœz  }t          t          j        |¦  «        ¦  «        ‚d x}x}x}x}x}	x}
}t          j        ¦   «         ƒ d {V —† d„ |D ¦   «         }t          |¦  «        }|s•ddt          j        ¦   «         v st          j
        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }t          t          j        |¦  «        ¦  «        ‚d x}}|                      ¦   «          d S )Nr´   c                 ó\   — g | ])\  }}t          j        t          |¦  «        d d|¦  «        ‘Œ*S )Ú	simulatedr1  )r*  ÚDevicer©   )rÜ   ÚiÚpeers      r#   rÞ   zatest_broadcast_first_decision_wins_and_cancels_other_device.<locals>.exercise.<locals>.<listcomp>ë   s2   € Ð`Ð`Ð`ÁVÀQÀt•”¥ A¡¤ {°7¸4Ñ@Ô@Ð`Ð`Ð`r$   r%  c                 ó   — i | ]
}|j         |“ŒS rÛ   )r!  )rÜ   r‹   s     r#   ú
<dictcomp>zatest_broadcast_first_decision_wins_and_cancels_other_device.<locals>.exercise.<locals>.<dictcomp>ì   s   € Ð.NÐ.NÐ.NÀ¨q¬{¸1Ð.NÐ.NÐ.Nr$   c              3   óP   •K  — | ] }|j         d          d         ‰j        k    V — Œ!dS )r¹   rc   N)rZ  rc   )rÜ   r   r:   s     €r#   rå   z`test_broadcast_first_decision_wins_and_cancels_other_device.<locals>.exercise.<locals>.<genexpr>ï   s5   øè è € ÐKÐKÀ�1”6˜"”:˜mÔ,¨a¬mÒ;ÐKÐKÐKÐKÐKÐKr$   z,assert %(py4)s
{%(py4)s = %(py0)s(%(py2)s)
}Úallrç   rD   rž   r4   zµassert %(py13)s
{%(py13)s = %(py2)s
{%(py2)s = %(py0)s.resolve
}(%(py5)s
{%(py5)s = %(py3)s.approval_id
}, %(py7)s, device_connection=%(py11)s
{%(py11)s = %(py9)s.connection_id
})
}r    r:   )r.   r/   r7   r8   r1   r2   r9   rN   r3   r   z¹assert not %(py13)s
{%(py13)s = %(py2)s
{%(py2)s = %(py0)s.resolve
}(%(py5)s
{%(py5)s = %(py3)s.approval_id
}, %(py7)s, device_connection=%(py11)s
{%(py11)s = %(py9)s.connection_id
})
}c              3   ór   K  — | ]2}|j         d          d         dk    o|j         d          d         dk    V — Œ3dS )r¹   rŸ   r?  rm   rE   NrY  )rÜ   r   s     r#   rå   z`test_broadcast_first_decision_wins_and_cancels_other_device.<locals>.exercise.<locals>.<genexpr>ó   sJ   è è € ÐoÐoÐde�1”6˜"”:˜fÔ%Ð';Ò;Ð_ÀÄÀrÄ
È7Ô@SÐU_Ò@_ÐoÐoÐoÐoÐoÐor$   )r   rE  r*  Ú	enumerater   Úsynchronize_approvalsrl  r[   r\   rY   r]   r^   r_   r`   re   rc   Úconnection_idrt   )r    r¯   r%  ru   rv   r„   r{   rw   r|   r}   r~   rR  r†   r  r:   rb  rM  s                 @€€r#   r�   zMtest_broadcast_first_decision_wins_and_cancels_other_device.<locals>.exerciseè   s'  øøè è € Ý!Ñ#Ô#ˆ K×$7Ò$7½ÀÈHÑ$UÔ$UÐ$UØˆt‰vŒv�d�d‘f”fˆoˆØ`Ð`ÍyÐY^ÑO_ÔO_Ð`Ñ`Ô`ˆØ×Ò�G IÐ.NÐ.NÀgÐ.NÑ.NÔ.NÑOÔOÐOÝ
�Ñ
Ô
ˆÝÔ+Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-ØKÐKÐKÐKÀUÐKÑKÔKÐK�sÐKÑKÔKÐKÐKÐKÐKÐKÕKÔKÑKÔKÐKÐKÕKÔK�sÑKÔKÐKÕKÔK�sÑKÔKÐKÐKÕKÔKÐKÑKÔKÕKÔKÐKÑKÔKÐKÐKÑKÐKÕKÕKÔKÐKÑKÔKÑKÔKÐKÐKÐKÐKÐKØÔÐb ¤Ðb¨hÐbÈÐQRÌÐbÈÔIaÐbÐÐ ¨hÐIaÐbÑbÔbÐbÐbÑbÐbÐbÕbÔbÑbÔbÐbÐbÕbÔbˆxÑbÔbÐbÕbÔbˆxÑ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Ôb¨hÑbÔbÕbÔbÈÑbÔbÕbÔbÐIaÑ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ÐbØÔ#Ðg A¤MÐg°)ÐgÈgÐVWÌjÐgÈjÔNfÐgÐ#Ð# M°)ÐNfÐgÑgÔgÐgÐgÐgÐgÐgÑgÐgÐgÕgÔgÑgÔgÐgÐgÕgÔg�8ÑgÔgÐgÕgÔg�8ÑgÔgÐgÐgÕgÔgÐ#ÑgÔgÐgÕgÔgÑgÔgÐgÐgÕgÔg AÑgÔgÐgÕgÔg AÑgÔgÐgÐgÕgÔg MÑgÔgÕgÔg°)ÑgÔgÕgÔgÈjÑgÔgÕgÔgÐNfÑ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ÐgÐgÐgÐgÝÔ+Ñ-Ô-Ð-Ð-Ð-Ð-Ð-Ð-Ð-ØoÐoÐinÐoÑoÔoÐo�sÐoÑoÔoÐoÐoÐoÐoÐoÕoÔoÑoÔoÐoÐoÕoÔo�sÑoÔoÐoÕoÔo�sÑoÔoÐoÐoÕoÔoÐoÑoÔoÕoÔoÐoÑoÔoÐoÐoÑoÐoÕoÕoÔoÐoÑoÔoÑoÔoÐoÐoÐoÐoÐoØ�ŠÑÔÐÐÐr$   r�   )rM  r�   rb  s   ` @r#   Ú;test_broadcast_first_decision_wins_and_cancels_other_devicerq  ä   sp   øø€ ðFð Fð Fð Fð Fñ Fô Fð Fðð ð ð ð ð õ „K��‘
”
ÑÔÐÐÐr$   )r   r   r   r   )+Úbuiltinsr[   Ú_pytest.assertion.rewriteÚ	assertionÚrewriterY   rg   r¦   Úpathlibr   Úunittest.mockr   ra   Úfastapi.testclientr   Úwebsockets.asyncio.serverr   Údevice_gateway.apprF  r*  Ú device_gateway.control.approvalsr   Údevice_gateway.control.codexr   Údevice_gateway.control.modelsr	   r
   Ú"device_gateway.control.pi_approvalr   Údevice_gateway.control.projectsr   Údevice_gateway.control.rpcr   Údevice_gateway.authr   Údevice_gateway.stater   r   r’   rö   r  rT  rq  rÛ   r$   r#   ú<module>rƒ     sž  ðØ  € € € € € € € € € € € € €€€€Ø €€€Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð à €€€Ø )Ð )Ð )Ð )Ð )Ð )Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0à $Ð $Ð $Ð $Ð $Ð $Ø =Ð =Ð =Ð =Ð =Ð =Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,ðið ið ið ið
ð ð ðDGð Gð GðT,ð ,ð ,ð^+>ð +>ð +>ð\ð ð ð ð r$   