<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"Gentium Basic";
panose-1:2 0 5 3 6 0 0 2 0 4;}
@font-face
{font-family:Montserrat;
panose-1:0 0 5 0 0 0 0 0 0 0;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Arial",sans-serif;
color:windowtext;
font-weight:normal;
font-style:normal;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-GB" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif">We are experiencing an issue with a product on the project that I’m working on. It is an analogue video encoder that uses the live555 media server. When we make multiple RTSP
joins to the device, each new RTSP join causes the video sessions already in progress to glitch.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif">I noticed one of the updates to live555 from 2016 that we think could be related:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New";color:black;mso-fareast-language:EN-GB">2016.01.20:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New";color:black;mso-fareast-language:EN-GB">- When a server calls "startStream()" to start a RTSP stream for a client, we now no longer<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New";color:black;mso-fareast-language:EN-GB"> make a slight adjustment to the RTP timestamp sequence (using the "presetNextTimestamp()" call)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New";color:black;mso-fareast-language:EN-GB"> if there is already another ongoing stream using the same "RTPSink". The effect of this is<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New";color:black;mso-fareast-language:EN-GB"> only minor, but it ensures that the addition of an addition 'destination' to an ongoing RTSP/RTP<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New";color:black;mso-fareast-language:EN-GB"> stream does not cause any change to the contents of the RTP/RTCP packets.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New";color:black;mso-fareast-language:EN-GB"> (Thanks to Erik Montnemery for noting this issue.)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif">I believe that this update was implemented by making sure that the timestamp is only adjusted if “hasMultipleDestinations” is false.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif">From RTPSink.cpp:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:white"><span style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:EN-GB">
</span><span style="font-size:10.5pt;font-family:Consolas;color:#AF00DB;mso-fareast-language:EN-GB">if</span><span style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:EN-GB"> (!</span><span style="font-size:10.5pt;font-family:Consolas;color:#795E26;mso-fareast-language:EN-GB">groupsockBeingUsed</span><span style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:EN-GB">().</span><span style="font-size:10.5pt;font-family:Consolas;color:#795E26;mso-fareast-language:EN-GB">hasMultipleDestinations</span><span style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:EN-GB">())
{<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:white"><span style="font-size:10.5pt;font-family:Consolas;color:green;mso-fareast-language:EN-GB"> // Don't adjust the timestamp stream if we already have another destination ongoing</span><span style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:EN-GB"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:white"><span style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:EN-GB">
</span><span style="font-size:10.5pt;font-family:Consolas;color:#001080;mso-fareast-language:EN-GB">fTimestampBase</span><span style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:EN-GB"> =
</span><span style="font-size:10.5pt;font-family:Consolas;color:#001080;mso-fareast-language:EN-GB">tsNow</span><span style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:EN-GB">;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:white"><span style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:EN-GB">
</span><span style="font-size:10.5pt;font-family:Consolas;color:#001080;mso-fareast-language:EN-GB">fNextTimestampHasBeenPreset</span><span style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:EN-GB"> =
</span><span style="font-size:10.5pt;font-family:Consolas;color:blue;mso-fareast-language:EN-GB">True</span><span style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:EN-GB">;<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:14.25pt;background:white"><span style="font-size:10.5pt;font-family:Consolas;color:black;mso-fareast-language:EN-GB"> }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif">From Groupsock.hh:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:Consolas;color:#267F99">Boolean
</span><span style="font-size:10.5pt;font-family:Consolas;color:#795E26">hasMultipleDestinations</span><span style="font-size:10.5pt;font-family:Consolas;color:black">()
</span><span style="font-size:10.5pt;font-family:Consolas;color:blue">const</span><span style="font-size:10.5pt;font-family:Consolas;color:black"> {
</span><span style="font-size:10.5pt;font-family:Consolas;color:#AF00DB">return </span>
<span style="font-size:10.5pt;font-family:Consolas;color:#001080">fDests</span><span style="font-size:10.5pt;font-family:Consolas;color:black"> !=
</span><span style="font-size:10.5pt;font-family:Consolas;color:blue">NULL</span><span style="font-size:10.5pt;font-family:Consolas;color:black"> &&
</span><span style="font-size:10.5pt;font-family:Consolas;color:#001080">fDests</span><span style="font-size:10.5pt;font-family:Consolas;color:black">-></span><span style="font-size:10.5pt;font-family:Consolas;color:#001080">fNext</span><span style="font-size:10.5pt;font-family:Consolas;color:black">
!= </span><span style="font-size:10.5pt;font-family:Consolas;color:blue">NULL</span><span style="font-size:10.5pt;font-family:Consolas;color:black">; }</span><span style="font-size:10.0pt;font-family:"Arial",sans-serif"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif">What I’m trying to figure out is whether hasMultipleDestinations will be true after the first RTSP join to the server. Clearly at that point fDests will not be NULL. However,
I’m suspecting that fDests->fNext might be NULL until a second RTSP client joins the stream. Looking at the Groupsock OutputSocket constructor that seems to initialise fDests with a new destRecord that has the next parameter set to NULL. I think that fDests->fNext
is only non-NULL after a new destination is added using addDestination.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif">Does the first RTSP join both construct a destination and add a destination?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif">If not, why does hasMultipleDestinations include “&& fDests->fNext != NULL”?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif">Thank you in advance and sorry for dredging up such an old change.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal" style="line-height:120%"><span lang="FR" style="font-size:10.0pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E242B;mso-fareast-language:FR-CA">Regards, Ben.<o:p></o:p></span></p>
<table class="MsoTableGrid" border="0" cellspacing="0" cellpadding="0" style="border-collapse:collapse;border:none">
<tbody>
<tr>
<td width="77" valign="top" style="width:57.55pt;padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" style="line-height:120%"><sub><span lang="EN-CA" style="font-size:5.0pt;line-height:120%;font-family:"Arial",sans-serif"><o:p> </o:p></span></sub></p>
</td>
<td width="27" valign="top" style="width:20.15pt;padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" style="line-height:120%"><b><span lang="EN-CA" style="font-size:5.0pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E252B;mso-fareast-language:FR-CA"><o:p> </o:p></span></b></p>
</td>
<td width="27" valign="top" style="width:20.15pt;padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" style="line-height:120%"><b><span lang="EN-CA" style="font-size:5.0pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E252B;mso-fareast-language:FR-CA"><o:p> </o:p></span></b></p>
</td>
<td valign="top" style="padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" style="line-height:120%"><b><span lang="EN-CA" style="font-size:5.0pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E252B;mso-fareast-language:FR-CA"><o:p> </o:p></span></b></p>
</td>
</tr>
<tr>
<td width="77" rowspan="4" valign="top" style="width:57.55pt;padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" style="line-height:120%"><span lang="FR" style="font-size:10.0pt;line-height:120%;mso-fareast-language:FR"><a href="https://www.wsp.com/en-GB/" title="WSP Logo"><sub><span lang="EN-CA" style="font-family:"Arial",sans-serif;color:windowtext;mso-fareast-language:EN-US;text-decoration:none"><img border="0" width="73" height="35" style="width:.7604in;height:.3645in" id="Image_x0020_11" src="cid:image001.png@01D892D7.83596F10" alt="Logo WSP"></span></sub></a></span><sub><span lang="EN-CA" style="font-size:10.0pt;line-height:120%;font-family:"Arial",sans-serif"><o:p></o:p></span></sub></p>
</td>
<td width="27" valign="top" style="width:20.15pt;border:none;border-right:solid #F9423A 1.0pt;padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" style="line-height:120%"><b><span lang="EN-CA" style="font-size:10.5pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E252B;mso-fareast-language:FR-CA"><o:p> </o:p></span></b></p>
</td>
<td width="27" valign="top" style="width:20.15pt;border:none;padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" style="line-height:120%"><b><span lang="EN-CA" style="font-size:10.5pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E252B;mso-fareast-language:FR-CA"><o:p> </o:p></span></b></p>
</td>
<td valign="top" style="padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" style="line-height:120%"><b><span lang="EN-CA" style="font-size:10.5pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E252B;mso-fareast-language:FR-CA">Ben Brody
<i>MEng CEng MIET MINCOSE</i><o:p></o:p></span></b></p>
<p class="MsoNormal" style="line-height:120%"><span lang="EN-CA" style="font-size:9.0pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E252B;mso-fareast-language:FR-CA">Associate Director</span><i><span lang="EN-CA" style="font-size:8.0pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E252B;mso-fareast-language:FR-CA"><o:p></o:p></span></i></p>
</td>
</tr>
<tr>
<td width="27" valign="top" style="width:20.15pt;border:none;border-right:solid #F9423A 1.0pt;padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" style="line-height:120%"><b><span lang="EN-CA" style="font-size:5.0pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E252B;mso-fareast-language:FR-CA"><o:p> </o:p></span></b></p>
</td>
<td width="27" valign="top" style="width:20.15pt;border:none;padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" style="line-height:120%"><b><span lang="EN-CA" style="font-size:5.0pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E252B;mso-fareast-language:FR-CA"><o:p> </o:p></span></b></p>
</td>
<td valign="top" style="padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" style="line-height:120%"><b><span lang="EN-CA" style="font-size:5.0pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E252B;mso-fareast-language:FR-CA"><o:p> </o:p></span></b></p>
</td>
</tr>
<tr>
<td width="27" valign="top" style="width:20.15pt;border:none;border-right:solid #F9423A 1.0pt;padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" style="line-height:120%"><b><span lang="EN-CA" style="font-size:9.0pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E252B;mso-fareast-language:FR-CA"><o:p> </o:p></span></b></p>
</td>
<td width="27" valign="top" style="width:20.15pt;border:none;padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" style="line-height:120%"><b><span lang="EN-CA" style="font-size:9.0pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E252B;mso-fareast-language:FR-CA"><o:p> </o:p></span></b></p>
</td>
<td valign="top" style="padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" style="line-height:120%"><span lang="EN-US" style="font-size:9.0pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E252B;mso-fareast-language:FR-CA">T</span><span lang="EN-US" style="font-size:10.0pt;line-height:120%;font-family:"Arial",sans-serif;mso-fareast-language:FR-CA">
</span><span lang="EN-US" style="font-size:9.0pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E252B;mso-fareast-language:FR-CA">+44 (0)161 602 8438<o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:120%"><span lang="EN-US" style="font-size:9.0pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E252B;mso-fareast-language:FR-CA">M +44 (0)7917 266785</span><b><span lang="EN-CA" style="font-size:10.5pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E252B;mso-fareast-language:FR-CA"><o:p></o:p></span></b></p>
</td>
</tr>
<tr>
<td width="27" valign="top" style="width:20.15pt;border:none;border-right:solid #F9423A 1.0pt;padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" style="line-height:120%"><span lang="EN-US" style="font-size:5.0pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E252B;mso-fareast-language:FR-CA"><o:p> </o:p></span></p>
</td>
<td width="27" valign="top" style="width:20.15pt;border:none;padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" style="line-height:120%"><span lang="EN-US" style="font-size:5.0pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E252B;mso-fareast-language:FR-CA"><o:p> </o:p></span></p>
</td>
<td valign="top" style="padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" style="line-height:120%"><span lang="EN-US" style="font-size:5.0pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E252B;mso-fareast-language:FR-CA"><o:p> </o:p></span></p>
</td>
</tr>
<tr>
<td width="77" rowspan="3" valign="top" style="width:57.55pt;padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" style="line-height:120%"><span lang="EN-CA" style="font-size:9.0pt;line-height:120%;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
</td>
<td width="27" valign="top" style="width:20.15pt;border:none;border-right:solid #F9423A 1.0pt;padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" style="line-height:120%"><span lang="EN-US" style="font-size:9.0pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E252B;mso-fareast-language:FR-CA"><o:p> </o:p></span></p>
</td>
<td width="27" valign="top" style="width:20.15pt;border:none;padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" style="line-height:120%"><span lang="EN-US" style="font-size:9.0pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E252B;mso-fareast-language:FR-CA"><o:p> </o:p></span></p>
</td>
<td valign="top" style="padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" style="line-height:120%"><span lang="EN-US" style="font-size:9.0pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E252B;mso-fareast-language:FR-CA">WSP in the UK, No 8 First Street, Manchester, M15 4RP<o:p></o:p></span></p>
</td>
</tr>
<tr>
<td width="27" valign="top" style="width:20.15pt;border:none;border-right:solid #F9423A 1.0pt;padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" style="line-height:120%"><span lang="EN-US" style="font-size:5.0pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E252B;mso-fareast-language:FR-CA"><o:p> </o:p></span></p>
</td>
<td width="27" valign="top" style="width:20.15pt;border:none;padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" style="line-height:120%"><span lang="EN-US" style="font-size:5.0pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E252B;mso-fareast-language:FR-CA"><o:p> </o:p></span></p>
</td>
<td valign="top" style="padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" style="line-height:120%"><span lang="EN-US" style="font-size:5.0pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E252B;mso-fareast-language:FR-CA"><o:p> </o:p></span></p>
</td>
</tr>
<tr>
<td width="27" valign="top" style="width:20.15pt;border:none;border-right:solid #F9423A 1.0pt;padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" style="line-height:120%"><span lang="EN-US" style="font-size:9.0pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E252B;mso-fareast-language:FR-CA"><o:p> </o:p></span></p>
</td>
<td width="27" valign="top" style="width:20.15pt;border:none;padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" style="line-height:120%"><span lang="EN-US" style="font-size:9.0pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E252B;mso-fareast-language:FR-CA"><o:p> </o:p></span></p>
</td>
<td valign="top" style="padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" style="line-height:120%"><span lang="EN-CA" style="font-size:10.0pt;line-height:120%;font-family:"Arial",sans-serif;mso-fareast-language:FR-CA"><a href="https://www.wsp.com/en-GB/" title="wsp.com"><b><span lang="EN-US" style="font-size:9.0pt;line-height:120%;color:#F9423A">wsp.com</span></b></a></span><b><u><span lang="EN-CA" style="font-size:10.0pt;line-height:120%;font-family:"Gentium Basic";color:#F9423A;mso-fareast-language:FR-CA"><o:p></o:p></span></u></b></p>
<p class="MsoNormal" style="line-height:120%"><b><u><span lang="EN-US" style="font-size:5.0pt;line-height:120%;font-family:"Arial",sans-serif;color:#F9423A;mso-fareast-language:FR-CA"><o:p><span style="text-decoration:none"> </span></o:p></span></u></b></p>
<p class="MsoNormal" style="line-height:120%"><b><span lang="EN-CA" style="font-size:5.0pt;line-height:120%;font-family:"Arial",sans-serif;mso-fareast-language:FR-CA">Confidential</span></b><span lang="FR" style="font-size:10.0pt;line-height:120%;font-family:Montserrat"><o:p></o:p></span></p>
<p class="MsoNormal" style="line-height:120%"><span lang="EN-CA" style="font-size:5.0pt;line-height:120%;font-family:"Arial",sans-serif;mso-fareast-language:FR-CA">This message, including any document or file attached, is intended only for the addressee and
may contain privileged and/or confidential information. Any other person is strictly prohibited from reading, using, disclosing or copying this message. If you have received this message in error, please notify the sender and delete the message. Thank you.
WSP UK Limited, a limited company registered in England & Wales with registered number 01383511. Registered office: WSP House, 70 Chancery Lane, London, WC2A 1AF.</span><span lang="EN-CA" style="font-size:8.0pt;line-height:120%;font-family:"Arial",sans-serif;mso-fareast-language:FR-CA"><o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="line-height:120%"><span lang="FR" style="font-size:10.0pt;line-height:120%;font-family:"Arial",sans-serif;color:#1E242B;mso-fareast-language:FR-CA"><o:p> </o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<br>
<hr>
<font face="Arial" color="Gray" size="1"><br>
<br>
NOTICE: This communication and any attachments ("this message") may contain information which is privileged, confidential, proprietary or otherwise subject to restricted disclosure under applicable law. This message is for the sole use of the intended recipient(s).
Any unauthorized use, disclosure, viewing, copying, alteration, dissemination or distribution of, or reliance on, this message is strictly prohibited. If you have received this message in error, or you are not an authorized or intended recipient, please notify
the sender immediately by replying to this message, delete this message and all copies from your e-mail system and destroy any printed copies.
<br>
</font><br>
<font face="Arial" color="WhiteSmoke" size="0.10"><br>
<br>
-LAEmHhHzdJzBlTWfa4Hgs7pbKl </font>
</body>
</html>