HTML generation

This commit is contained in:
FlightControl 2017-01-19 20:07:34 +01:00
parent d04b0ed82b
commit c48129d647
6 changed files with 40 additions and 39 deletions

View File

@ -72,45 +72,45 @@
<p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> -- <strong>Execute Combat Air Patrol (CAP).</strong></p> <p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> -- <strong>Execute Combat Air Patrol (CAP).</strong></p>
<p><img src="..\Presentations\AI_Cap\Dia1.JPG" alt="Banner Image"/></p> <p><img src="..\Presentations\AI_CAP\Dia1.JPG" alt="Banner Image"/></p>
<hr/> <hr/>
<h1>1) <a href="##(AI_CAP_ZONE)">#AI<em>CAP</em>ZONE</a> class, extends <a href="AI.AI_Cap.html##(AI_PATROL_ZONE)">AI.AI<em>Cap#AI</em>PATROL_ZONE</a></h1> <h1>1) <a href="##(AI_CAP_ZONE)">#AI<em>CAP</em>ZONE</a> class, extends <a href="AI.AI_CAP.html##(AI_PATROL_ZONE)">AI.AI<em>CAP#AI</em>PATROL_ZONE</a></h1>
<p>The <a href="##(AI_CAP_ZONE)">#AI<em>CAP</em>ZONE</a> class implements the core functions to patrol a <a href="Zone.html">Zone</a> by an AI <a href="Controllable.html">Controllable</a> or <a href="Group.html">Group</a> <p>The <a href="##(AI_CAP_ZONE)">#AI<em>CAP</em>ZONE</a> class implements the core functions to patrol a <a href="Zone.html">Zone</a> by an AI <a href="Controllable.html">Controllable</a> or <a href="Group.html">Group</a>
and automatically engage any airborne enemies that are within a certain range or within a certain zone.</p> and automatically engage any airborne enemies that are within a certain range or within a certain zone.</p>
<p><img src="..\Presentations\AI_Cap\Dia3.JPG" alt="Process"/></p> <p><img src="..\Presentations\AI_CAP\Dia3.JPG" alt="Process"/></p>
<p>The AI<em>CAP</em>ZONE is assigned a <a href="Group.html">Group</a> and this must be done before the AI<em>CAP</em>ZONE process can be started using the <strong>Start</strong> event.</p> <p>The AI<em>CAP</em>ZONE is assigned a <a href="Group.html">Group</a> and this must be done before the AI<em>CAP</em>ZONE process can be started using the <strong>Start</strong> event.</p>
<p><img src="..\Presentations\AI_Cap\Dia4.JPG" alt="Process"/></p> <p><img src="..\Presentations\AI_CAP\Dia4.JPG" alt="Process"/></p>
<p>The AI will fly towards the random 3D point within the patrol zone, using a random speed within the given altitude and speed limits. <p>The AI will fly towards the random 3D point within the patrol zone, using a random speed within the given altitude and speed limits.
Upon arrival at the 3D point, a new random 3D point will be selected within the patrol zone using the given limits.</p> Upon arrival at the 3D point, a new random 3D point will be selected within the patrol zone using the given limits.</p>
<p><img src="..\Presentations\AI_Cap\Dia5.JPG" alt="Process"/></p> <p><img src="..\Presentations\AI_CAP\Dia5.JPG" alt="Process"/></p>
<p>This cycle will continue.</p> <p>This cycle will continue.</p>
<p><img src="..\Presentations\AI_Cap\Dia6.JPG" alt="Process"/></p> <p><img src="..\Presentations\AI_CAP\Dia6.JPG" alt="Process"/></p>
<p>During the patrol, the AI will detect enemy targets, which are reported through the <strong>Detected</strong> event.</p> <p>During the patrol, the AI will detect enemy targets, which are reported through the <strong>Detected</strong> event.</p>
<p><img src="..\Presentations\AI_Cap\Dia9.JPG" alt="Process"/></p> <p><img src="..\Presentations\AI_CAP\Dia9.JPG" alt="Process"/></p>
<p>When enemies are detected, the AI will automatically engage the enemy.</p> <p>When enemies are detected, the AI will automatically engage the enemy.</p>
<p><img src="..\Presentations\AI_Cap\Dia10.JPG" alt="Process"/></p> <p><img src="..\Presentations\AI_CAP\Dia10.JPG" alt="Process"/></p>
<p>Until a fuel or damage treshold has been reached by the AI, or when the AI is commanded to RTB. <p>Until a fuel or damage treshold has been reached by the AI, or when the AI is commanded to RTB.
When the fuel treshold has been reached, the airplane will fly towards the nearest friendly airbase and will land.</p> When the fuel treshold has been reached, the airplane will fly towards the nearest friendly airbase and will land.</p>
<p><img src="..\Presentations\AI_Cap\Dia13.JPG" alt="Process"/></p> <p><img src="..\Presentations\AI_CAP\Dia13.JPG" alt="Process"/></p>
<h2>1.1) AI<em>CAP</em>ZONE constructor</h2> <h2>1.1) AI<em>CAP</em>ZONE constructor</h2>
@ -120,7 +120,7 @@ When the fuel treshold has been reached, the airplane will fly towards the neare
<h2>1.2) AI<em>CAP</em>ZONE is a FSM</h2> <h2>1.2) AI<em>CAP</em>ZONE is a FSM</h2>
<p><img src="..\Presentations\AI_Cap\Dia2.JPG" alt="Process"/></p> <p><img src="..\Presentations\AI_CAP\Dia2.JPG" alt="Process"/></p>
<h3>1.2.1) AI<em>CAP</em>ZONE States</h3> <h3>1.2.1) AI<em>CAP</em>ZONE States</h3>
@ -145,17 +145,17 @@ When the fuel treshold has been reached, the airplane will fly towards the neare
<h2>1.3) Set the Range of Engagement</h2> <h2>1.3) Set the Range of Engagement</h2>
<p><img src="..\Presentations\AI_Cap\Dia11.JPG" alt="Range"/></p> <p><img src="..\Presentations\AI_CAP\Dia11.JPG" alt="Range"/></p>
<p>An optional range can be set in meters, <p>An optional range can be set in meters,
that will define when the AI will engage with the detected airborne enemy targets. that will define when the AI will engage with the detected airborne enemy targets.
The range can be beyond or smaller than the range of the Patrol Zone. The range can be beyond or smaller than the range of the Patrol Zone.
The range is applied at the position of the AI. The range is applied at the position of the AI.
Use the method <a href="AI.AI_Cap.html##(AI_CAP_ZONE).SetEngageRange">AI.AI<em>Cap#AI</em>CAP_ZONE.SetEngageRange</a>() to define that range.</p> Use the method <a href="AI.AI_CAP.html##(AI_CAP_ZONE).SetEngageRange">AI.AI<em>CAP#AI</em>CAP_ZONE.SetEngageRange</a>() to define that range.</p>
<h2>1.4) Set the Zone of Engagement</h2> <h2>1.4) Set the Zone of Engagement</h2>
<p><img src="..\Presentations\AI_Cap\Dia12.JPG" alt="Zone"/></p> <p><img src="..\Presentations\AI_CAP\Dia12.JPG" alt="Zone"/></p>
<p>An optional <a href="Zone.html">Zone</a> can be set, <p>An optional <a href="Zone.html">Zone</a> can be set,
that will define when the AI will engage with the detected airborne enemy targets. that will define when the AI will engage with the detected airborne enemy targets.

View File

@ -72,7 +72,7 @@
<p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> -- <strong>Provide Close Air Support to friendly ground troops.</strong></p> <p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> -- <strong>Provide Close Air Support to friendly ground troops.</strong></p>
<p><img src="..\Presentations\AI_Cas\Dia1.JPG" alt="Banner Image"/></p> <p><img src="..\Presentations\AI_CAS\Dia1.JPG" alt="Banner Image"/></p>
<hr/> <hr/>
@ -86,35 +86,35 @@
The <a href="##(AI_CAS_ZONE)">#AI<em>CAS</em>ZONE</a> class implements the core functions to provide Close Air Support in an Engage <a href="Zone.html">Zone</a> by an AIR <a href="Controllable.html">Controllable</a> or <a href="Group.html">Group</a>. The <a href="##(AI_CAS_ZONE)">#AI<em>CAS</em>ZONE</a> class implements the core functions to provide Close Air Support in an Engage <a href="Zone.html">Zone</a> by an AIR <a href="Controllable.html">Controllable</a> or <a href="Group.html">Group</a>.
The AI<em>CAS</em>ZONE runs a process. It holds an AI in a Patrol Zone and when the AI is commanded to engage, it will fly to an Engage Zone.</p> The AI<em>CAS</em>ZONE runs a process. It holds an AI in a Patrol Zone and when the AI is commanded to engage, it will fly to an Engage Zone.</p>
<p><img src="..\Presentations\AI_Cas\Dia3.JPG" alt="HoldAndEngage"/></p> <p><img src="..\Presentations\AI_CAS\Dia3.JPG" alt="HoldAndEngage"/></p>
<p>The AI<em>CAS</em>ZONE is assigned a <a href="Group.html">Group</a> and this must be done before the AI<em>CAS</em>ZONE process can be started through the <strong>Start</strong> event.</p> <p>The AI<em>CAS</em>ZONE is assigned a <a href="Group.html">Group</a> and this must be done before the AI<em>CAS</em>ZONE process can be started through the <strong>Start</strong> event.</p>
<p><img src="..\Presentations\AI_Cas\Dia4.JPG" alt="Start Event"/></p> <p><img src="..\Presentations\AI_CAS\Dia4.JPG" alt="Start Event"/></p>
<p>Upon started, The AI will <strong>Route</strong> itself towards the random 3D point within a patrol zone, <p>Upon started, The AI will <strong>Route</strong> itself towards the random 3D point within a patrol zone,
using a random speed within the given altitude and speed limits. using a random speed within the given altitude and speed limits.
Upon arrival at the 3D point, a new random 3D point will be selected within the patrol zone using the given limits. Upon arrival at the 3D point, a new random 3D point will be selected within the patrol zone using the given limits.
This cycle will continue until a fuel or damage treshold has been reached by the AI, or when the AI is commanded to RTB.</p> This cycle will continue until a fuel or damage treshold has been reached by the AI, or when the AI is commanded to RTB.</p>
<p><img src="..\Presentations\AI_Cas\Dia5.JPG" alt="Route Event"/></p> <p><img src="..\Presentations\AI_CAS\Dia5.JPG" alt="Route Event"/></p>
<p>When the AI is commanded to provide Close Air Support (through the event <strong>Engage</strong>), the AI will fly towards the Engage Zone. <p>When the AI is commanded to provide Close Air Support (through the event <strong>Engage</strong>), the AI will fly towards the Engage Zone.
Any target that is detected in the Engage Zone will be reported and will be destroyed by the AI.</p> Any target that is detected in the Engage Zone will be reported and will be destroyed by the AI.</p>
<p><img src="..\Presentations\AI_Cas\Dia6.JPG" alt="Engage Event"/></p> <p><img src="..\Presentations\AI_CAS\Dia6.JPG" alt="Engage Event"/></p>
<p>The AI will detect the targets and will only destroy the targets within the Engage Zone.</p> <p>The AI will detect the targets and will only destroy the targets within the Engage Zone.</p>
<p><img src="..\Presentations\AI_Cas\Dia7.JPG" alt="Engage Event"/></p> <p><img src="..\Presentations\AI_CAS\Dia7.JPG" alt="Engage Event"/></p>
<p>Every target that is destroyed, is reported&lt; by the AI.</p> <p>Every target that is destroyed, is reported&lt; by the AI.</p>
<p><img src="..\Presentations\AI_Cas\Dia8.JPG" alt="Engage Event"/></p> <p><img src="..\Presentations\AI_CAS\Dia8.JPG" alt="Engage Event"/></p>
<p>Note that the AI does not know when the Engage Zone is cleared, and therefore will keep circling in the zone. </p> <p>Note that the AI does not know when the Engage Zone is cleared, and therefore will keep circling in the zone. </p>
<p><img src="..\Presentations\AI_Cas\Dia9.JPG" alt="Engage Event"/></p> <p><img src="..\Presentations\AI_CAS\Dia9.JPG" alt="Engage Event"/></p>
<p>Until it is notified through the event <strong>Accomplish</strong>, which is to be triggered by an observing party:</p> <p>Until it is notified through the event <strong>Accomplish</strong>, which is to be triggered by an observing party:</p>
@ -126,18 +126,18 @@ Any target that is detected in the Engage Zone will be reported and will be dest
<li>others ...</li> <li>others ...</li>
</ul> </ul>
<p><img src="..\Presentations\AI_Cas\Dia10.JPG" alt="Engage Event"/></p> <p><img src="..\Presentations\AI_CAS\Dia10.JPG" alt="Engage Event"/></p>
<p>When the AI has accomplished the CAS, it will fly back to the Patrol Zone.</p> <p>When the AI has accomplished the CAS, it will fly back to the Patrol Zone.</p>
<p><img src="..\Presentations\AI_Cas\Dia11.JPG" alt="Engage Event"/></p> <p><img src="..\Presentations\AI_CAS\Dia11.JPG" alt="Engage Event"/></p>
<p>It will keep patrolling there, until it is notified to RTB or move to another CAS Zone. <p>It will keep patrolling there, until it is notified to RTB or move to another CAS Zone.
It can be notified to go RTB through the <strong>RTB</strong> event.</p> It can be notified to go RTB through the <strong>RTB</strong> event.</p>
<p>When the fuel treshold has been reached, the airplane will fly towards the nearest friendly airbase and will land.</p> <p>When the fuel treshold has been reached, the airplane will fly towards the nearest friendly airbase and will land.</p>
<p><img src="..\Presentations\AI_Cas\Dia12.JPG" alt="Engage Event"/></p> <p><img src="..\Presentations\AI_CAS\Dia12.JPG" alt="Engage Event"/></p>
<h1>1.1) AI<em>CAS</em>ZONE constructor</h1> <h1>1.1) AI<em>CAS</em>ZONE constructor</h1>
@ -147,7 +147,7 @@ It can be notified to go RTB through the <strong>RTB</strong> event.</p>
<h2>1.2) AI<em>CAS</em>ZONE is a FSM</h2> <h2>1.2) AI<em>CAS</em>ZONE is a FSM</h2>
<p><img src="..\Presentations\AI_Cas\Dia2.JPG" alt="Process"/></p> <p><img src="..\Presentations\AI_CAS\Dia2.JPG" alt="Process"/></p>
<h3>1.2.1) AI<em>CAS</em>ZONE States</h3> <h3>1.2.1) AI<em>CAS</em>ZONE States</h3>

View File

@ -72,7 +72,7 @@
<p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> -- <strong>Air Patrolling or Staging.</strong></p> <p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> -- <strong>Air Patrolling or Staging.</strong></p>
<p><img src="..\Presentations\AI_Patrol\Dia1.JPG" alt="Banner Image"/></p> <p><img src="..\Presentations\AI_PATROL\Dia1.JPG" alt="Banner Image"/></p>
<hr/> <hr/>
@ -83,34 +83,34 @@
<p><img src="..\Presentations\AI_Patrol\Dia3.JPG" alt="Process"/></p> <p><img src="..\Presentations\AI_PATROL\Dia3.JPG" alt="Process"/></p>
<p>The AI<em>PATROL</em>ZONE is assigned a <a href="Group.html">Group</a> and this must be done before the AI<em>PATROL</em>ZONE process can be started using the <strong>Start</strong> event.</p> <p>The AI<em>PATROL</em>ZONE is assigned a <a href="Group.html">Group</a> and this must be done before the AI<em>PATROL</em>ZONE process can be started using the <strong>Start</strong> event.</p>
<p><img src="..\Presentations\AI_Patrol\Dia4.JPG" alt="Process"/></p> <p><img src="..\Presentations\AI_PATROL\Dia4.JPG" alt="Process"/></p>
<p>The AI will fly towards the random 3D point within the patrol zone, using a random speed within the given altitude and speed limits. <p>The AI will fly towards the random 3D point within the patrol zone, using a random speed within the given altitude and speed limits.
Upon arrival at the 3D point, a new random 3D point will be selected within the patrol zone using the given limits.</p> Upon arrival at the 3D point, a new random 3D point will be selected within the patrol zone using the given limits.</p>
<p><img src="..\Presentations\AI_Patrol\Dia5.JPG" alt="Process"/></p> <p><img src="..\Presentations\AI_PATROL\Dia5.JPG" alt="Process"/></p>
<p>This cycle will continue.</p> <p>This cycle will continue.</p>
<p><img src="..\Presentations\AI_Patrol\Dia6.JPG" alt="Process"/></p> <p><img src="..\Presentations\AI_PATROL\Dia6.JPG" alt="Process"/></p>
<p>During the patrol, the AI will detect enemy targets, which are reported through the <strong>Detected</strong> event.</p> <p>During the patrol, the AI will detect enemy targets, which are reported through the <strong>Detected</strong> event.</p>
<p><img src="..\Presentations\AI_Patrol\Dia9.JPG" alt="Process"/></p> <p><img src="..\Presentations\AI_PATROL\Dia9.JPG" alt="Process"/></p>
<p>-- Note that the enemy is not engaged! To model enemy engagement, either tailor the <strong>Detected</strong> event, or <p>-- Note that the enemy is not engaged! To model enemy engagement, either tailor the <strong>Detected</strong> event, or
use derived AI_ classes to model AI offensive or defensive behaviour.</p> use derived AI_ classes to model AI offensive or defensive behaviour.</p>
<p><img src="..\Presentations\AI_Patrol\Dia10.JPG" alt="Process"/></p> <p><img src="..\Presentations\AI_PATROL\Dia10.JPG" alt="Process"/></p>
<p>Until a fuel or damage treshold has been reached by the AI, or when the AI is commanded to RTB. <p>Until a fuel or damage treshold has been reached by the AI, or when the AI is commanded to RTB.
When the fuel treshold has been reached, the airplane will fly towards the nearest friendly airbase and will land.</p> When the fuel treshold has been reached, the airplane will fly towards the nearest friendly airbase and will land.</p>
<p><img src="..\Presentations\AI_Patrol\Dia11.JPG" alt="Process"/></p> <p><img src="..\Presentations\AI_PATROL\Dia11.JPG" alt="Process"/></p>
<h2>1.1) AI<em>PATROL</em>ZONE constructor</h2> <h2>1.1) AI<em>PATROL</em>ZONE constructor</h2>
@ -120,7 +120,7 @@ When the fuel treshold has been reached, the airplane will fly towards the neare
<h2>1.2) AI<em>PATROL</em>ZONE is a FSM</h2> <h2>1.2) AI<em>PATROL</em>ZONE is a FSM</h2>
<p><img src="..\Presentations\AI_Patrol\Dia2.JPG" alt="Process"/></p> <p><img src="..\Presentations\AI_PATROL\Dia2.JPG" alt="Process"/></p>
<h3>1.2.1) AI<em>PATROL</em>ZONE States</h3> <h3>1.2.1) AI<em>PATROL</em>ZONE States</h3>

View File

@ -2413,6 +2413,7 @@ The UNIT carrying the package.</p>
<dl class="function"> <dl class="function">
<dt> <dt>
<em></em>
<a id="#(AI_CARGO_UNIT).CargoCarrier" > <a id="#(AI_CARGO_UNIT).CargoCarrier" >
<strong>AI_CARGO_UNIT.CargoCarrier</strong> <strong>AI_CARGO_UNIT.CargoCarrier</strong>
</a> </a>

View File

@ -2491,7 +2491,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 )
<p> When the first Spawn executes, all the Groups need to be made visible before start.</p> <p> Flag that indicates if all the Groups of the SpawnGroup need to be visible when Spawned.</p>
</dd> </dd>
</dl> </dl>

View File

@ -93,12 +93,12 @@ CLIENTS in a SET_CLIENT collection, which are not occupied by human players.</p>
<td class="summary"> <td class="summary">
<p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> -- <strong>Execute Combat Air Patrol (CAP).</strong></p> <p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> -- <strong>Execute Combat Air Patrol (CAP).</strong></p>
<p><img src="..\Presentations\AI_Cap\Dia1.JPG" alt="Banner Image"/></p> <p><img src="..\Presentations\AI_CAP\Dia1.JPG" alt="Banner Image"/></p>
<hr/> <hr/>
<h1>1) <a href="##(AI_CAP_ZONE)">#AI<em>CAP</em>ZONE</a> class, extends <a href="AI.AI_Cap.html##(AI_PATROL_ZONE)">AI.AI<em>Cap#AI</em>PATROL_ZONE</a></h1> <h1>1) <a href="##(AI_CAP_ZONE)">#AI<em>CAP</em>ZONE</a> class, extends <a href="AI.AI_CAP.html##(AI_PATROL_ZONE)">AI.AI<em>CAP#AI</em>PATROL_ZONE</a></h1>
<p>The <a href="##(AI_CAP_ZONE)">#AI<em>CAP</em>ZONE</a> class implements the core functions to patrol a <a href="Zone.html">Zone</a> by an AI <a href="Controllable.html">Controllable</a> or <a href="Group.html">Group</a> <p>The <a href="##(AI_CAP_ZONE)">#AI<em>CAP</em>ZONE</a> class implements the core functions to patrol a <a href="Zone.html">Zone</a> by an AI <a href="Controllable.html">Controllable</a> or <a href="Group.html">Group</a>
and automatically engage any airborne enemies that are within a certain range or within a certain zone.</p> and automatically engage any airborne enemies that are within a certain range or within a certain zone.</p>
@ -109,7 +109,7 @@ and automatically engage any airborne enemies that are within a certain range or
<td class="summary"> <td class="summary">
<p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> -- <strong>Provide Close Air Support to friendly ground troops.</strong></p> <p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> -- <strong>Provide Close Air Support to friendly ground troops.</strong></p>
<p><img src="..\Presentations\AI_Cas\Dia1.JPG" alt="Banner Image"/></p> <p><img src="..\Presentations\AI_CAS\Dia1.JPG" alt="Banner Image"/></p>
<hr/> <hr/>
@ -124,7 +124,7 @@ and automatically engage any airborne enemies that are within a certain range or
<td class="summary"> <td class="summary">
<p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> -- <strong>Air Patrolling or Staging.</strong></p> <p>Single-Player:<strong>Yes</strong> / Mulit-Player:<strong>Yes</strong> / AI:<strong>Yes</strong> / Human:<strong>No</strong> / Types:<strong>Air</strong> -- <strong>Air Patrolling or Staging.</strong></p>
<p><img src="..\Presentations\AI_Patrol\Dia1.JPG" alt="Banner Image"/></p> <p><img src="..\Presentations\AI_PATROL\Dia1.JPG" alt="Banner Image"/></p>
<hr/> <hr/>