﻿<Activity mc:Ignorable="sads sap" x:Class="RDManagement.AddTo_RDSHCollection"
 xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities"
 xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
 xmlns:mpa="clr-namespace:Microsoft.PowerShell.Activities;assembly=Microsoft.PowerShell.Activities"
 xmlns:mpua="clr-namespace:Microsoft.PowerShell.Utility.Activities;assembly=Microsoft.PowerShell.Utility.Activities"
 xmlns:mrc="clr-namespace:Microsoft.RemoteDesktopServices.Common;assembly=Microsoft.RemoteDesktopServices.Management.Activities"
 xmlns:mrma="clr-namespace:Microsoft.RemoteDesktopServices.Management.Activities;assembly=Microsoft.RemoteDesktopServices.Management.Activities"
 xmlns:mrmc="clr-namespace:Microsoft.RemoteDesktopServices.Management.Cmdlets;assembly=Microsoft.RemoteDesktopServices.Management.Activities"
 xmlns:mv="clr-namespace:Microsoft.VisualBasic;assembly=System"
 xmlns:mva="clr-namespace:Microsoft.VisualBasic.Activities;assembly=System.Activities"
 xmlns:s="clr-namespace:System;assembly=mscorlib"
 xmlns:s1="clr-namespace:System;assembly=System"
 xmlns:s2="clr-namespace:System;assembly=System.Xml"
 xmlns:s3="clr-namespace:System;assembly=System.Core"
 xmlns:s4="clr-namespace:System;assembly=System.ServiceModel"
 xmlns:sa="clr-namespace:System.Activities;assembly=System.Activities"
 xmlns:sad="clr-namespace:System.Activities.Debugger;assembly=System.Activities"
 xmlns:sads="http://schemas.microsoft.com/netfx/2010/xaml/activities/debugger"
 xmlns:sap="http://schemas.microsoft.com/netfx/2009/xaml/activities/presentation"
 xmlns:sc="clr-namespace:System.Collections;assembly=mscorlib"
 xmlns:scg="clr-namespace:System.Collections.Generic;assembly=System"
 xmlns:scg1="clr-namespace:System.Collections.Generic;assembly=System.ServiceModel"
 xmlns:scg2="clr-namespace:System.Collections.Generic;assembly=System.Core"
 xmlns:scg3="clr-namespace:System.Collections.Generic;assembly=mscorlib"
 xmlns:sd="clr-namespace:System.Data;assembly=System.Data"
 xmlns:sl="clr-namespace:System.Linq;assembly=System.Core"
 xmlns:sma="clr-namespace:System.Management.Automation;assembly=System.Management.Automation"
 xmlns:st="clr-namespace:System.Text;assembly=mscorlib"
 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <x:Members>
    <x:Property Name="RDManagementServer" Type="InArgument(x:String)">
      <x:Property.Attributes>
        <RequiredArgumentAttribute />
      </x:Property.Attributes>
    </x:Property>
    <x:Property Name="CollectionAlias" Type="InArgument(x:String)">
      <x:Property.Attributes>
        <RequiredArgumentAttribute />
      </x:Property.Attributes>
    </x:Property>
    <x:Property Name="RDSHServer" Type="InArgument(s:String[])">
      <x:Property.Attributes>
        <RequiredArgumentAttribute />
      </x:Property.Attributes>
    </x:Property>
  </x:Members>
  <sap:VirtualizedContainerService.HintSize>1045,4718</sap:VirtualizedContainerService.HintSize>
  <mva:VisualBasic.Settings>Assembly references and imported namespaces for internal implementation</mva:VisualBasic.Settings>
  <Sequence DisplayName="Add RDSH server to a collection" sap:VirtualizedContainerService.HintSize="1005,4678">
    <Sequence.Variables>
      <Variable x:TypeArguments="sma:PSDataCollection(sma:ErrorRecord)" Name="Errors" />
      <Variable x:TypeArguments="sma:PSDataCollection(sma:PSObject)" Name="Null" />
      <Variable x:TypeArguments="s:String[]" Name="RemoteDesktopUsers" />
      <Variable x:TypeArguments="x:Int32" Default="1" Modifiers="ReadOnly" Name="ProgressID" />
      <Variable x:TypeArguments="x:Int32" Default="20" Name="CurrentProgress" />
      <Variable x:TypeArguments="sma:ErrorRecord" Name="catchErrorRecord" />
    </Sequence.Variables>
    <sap:WorkflowViewStateService.ViewState>
      <scg3:Dictionary x:TypeArguments="x:String, x:Object">
        <x:Boolean x:Key="IsExpanded">True</x:Boolean>
      </scg3:Dictionary>
    </sap:WorkflowViewStateService.ViewState>
    <mpua:WriteProgress Activity="Add-RDSessionHost" DisplayName="Progress : 0" sap:VirtualizedContainerService.HintSize="983,22" PercentComplete="0" ProgressId="[ProgressID]" Status="In Progress..." />
    <mpua:WriteVerbose DisplayName="Verbose: Input" sap:VirtualizedContainerService.HintSize="983,22" Message="[&quot;Management Server: &quot; + RDManagementServer + Environment.NewLine +&#xA;&quot;Collection Alias: &quot; + CollectionAlias + Environment.NewLine +&#xA;&quot;RDSH Server: &quot; + String.Join(&quot;, &quot;, RDSHServer)]" />
    <Sequence DisplayName="Initialize" sap:VirtualizedContainerService.HintSize="983,570">
      <Sequence.Variables>
        <Variable x:TypeArguments="sma:PSDataCollection(sma:PSObject)" Name="InlineScriptResult" />
      </Sequence.Variables>
      <sap:WorkflowViewStateService.ViewState>
        <scg3:Dictionary x:TypeArguments="x:String, x:Object">
          <x:Boolean x:Key="IsExpanded">True</x:Boolean>
        </scg3:Dictionary>
      </sap:WorkflowViewStateService.ViewState>
      <mpa:InlineScript Command="import-module $env:windir\System32\ServerManagerInternal\rdmanagement;&#xA;Get-RDSHPool -Alias * -ManagementServer $using:RDManagementServer | ?{$_.Alias -eq $using:CollectionAlias}" sap:VirtualizedContainerService.HintSize="616,98" PSError="[Errors]" Result="[InlineScriptResult]" />
      <If Condition="[Errors.Count &lt;&gt; 0]" DisplayName="Quit If Error" sap:VirtualizedContainerService.HintSize="616,208">
        <If.Then>
          <TerminateWorkflow Exception="[Errors(0).Exception]" sap:VirtualizedContainerService.HintSize="200,22" />
        </If.Then>
      </If>
      <Assign sap:VirtualizedContainerService.HintSize="616,60">
        <Assign.To>
          <OutArgument x:TypeArguments="s:String[]">[RemoteDesktopUsers]</OutArgument>
        </Assign.To>
        <Assign.Value>
          <InArgument x:TypeArguments="s:String[]">[CType(InlineScriptResult(0).Properties("Users").Value, String())]</InArgument>
        </Assign.Value>
      </Assign>
    </Sequence>
    <mpua:WriteVerbose DisplayName="Verbose: CB &amp; RDU" sap:VirtualizedContainerService.HintSize="983,22" Message="[&quot;Remote Desktop Users: &quot; + String.Join(&quot;, &quot;, RemoteDesktopUsers)]" />
    <mpua:WriteProgress Activity="Add-RDSessionHost" DisplayName="Progress : 20" sap:VirtualizedContainerService.HintSize="983,22" PercentComplete="20" ProgressId="[ProgressID]" Status="In Progress..." />
    <ForEach x:TypeArguments="x:String" DisplayName="Configure all RDSH servers" sap:VirtualizedContainerService.HintSize="983,3634" Values="[RDSHServer]">
      <ActivityAction x:TypeArguments="x:String">
        <ActivityAction.Argument>
          <DelegateInArgument x:TypeArguments="x:String" Name="server" />
        </ActivityAction.Argument>
        <Sequence DisplayName="Configure RD Session Host" sap:VirtualizedContainerService.HintSize="953,3526">
          <Sequence.Variables>
            <Variable x:TypeArguments="sma:PSDataCollection(sma:ErrorRecord)" Default="[New PSDataCollection(Of ErrorRecord)()]" Name="LoopErrors1" />
            <Variable x:TypeArguments="sma:PSDataCollection(sma:ErrorRecord)" Default="[New PSDataCollection(Of ErrorRecord)()]" Name="LoopErrors2" />
          </Sequence.Variables>
          <sap:WorkflowViewStateService.ViewState>
            <scg3:Dictionary x:TypeArguments="x:String, x:Object">
              <x:Boolean x:Key="IsExpanded">True</x:Boolean>
            </scg3:Dictionary>
          </sap:WorkflowViewStateService.ViewState>
          <TryCatch sap:VirtualizedContainerService.HintSize="931,3402">
            <TryCatch.Try>
              <Sequence sap:VirtualizedContainerService.HintSize="913,3215">
                <Sequence.Variables>
                  <Variable x:TypeArguments="x:String" Name="serverDomain" />
                  <Variable x:TypeArguments="x:String" Name="serverNetbios" />
                </Sequence.Variables>
                <sap:WorkflowViewStateService.ViewState>
                  <scg3:Dictionary x:TypeArguments="x:String, x:Object">
                    <x:Boolean x:Key="IsExpanded">True</x:Boolean>
                  </scg3:Dictionary>
                </sap:WorkflowViewStateService.ViewState>
                <Assign sap:VirtualizedContainerService.HintSize="891,60">
                  <Assign.To>
                    <OutArgument x:TypeArguments="x:String">[serverDomain]</OutArgument>
                  </Assign.To>
                  <Assign.Value>
                    <InArgument x:TypeArguments="x:String">[Microsoft.RemoteDesktopServices.Common.CommonUtility.GetDomainNameFromLiveComputer(server)]</InArgument>
                  </Assign.Value>
                </Assign>
                <Assign sap:VirtualizedContainerService.HintSize="891,60">
                  <Assign.To>
                    <OutArgument x:TypeArguments="x:String">[serverNetbios]</OutArgument>
                  </Assign.To>
                  <Assign.Value>
                    <InArgument x:TypeArguments="x:String">[Microsoft.RemoteDesktopServices.Common.CommonUtility.GetNetbiosNameFromLiveComputer(server)]</InArgument>
                  </Assign.Value>
                </Assign>
                <mpa:InlineScript Command="function Add-SecurityGroupMember { &#xA;param ( &#xA;    [Parameter(Mandatory=$TRUE)]&#xA;    [string]&#xA;    $GroupSID, &#xA;    &#xA;    [Parameter(Mandatory=$TRUE)]&#xA;    [string[]]&#xA;    $Member,&#xA;    &#xA;    [switch]&#xA;    $IsComputer &#xA;) &#xA;    try {&#xA;        $sid = New-Object System.Security.Principal.SecurityIdentifier $GroupSID&#xA;        $groupName = $sid.Translate([System.Security.Principal.NTAccount]).Value.split('\')[1]&#xA;        $directoryEntry = [ADSI]('WinNT://{0}/{1},group' -f $Env:COMPUTERNAME, $groupName)&#xA;    }&#xA;    catch { throw $_ }&#xA;    &#xA;    foreach($entry in $Member) {&#xA;        $memberPath = 'WinNT:/'&#xA;        $parts = $entry -split '\\'&#xA;        foreach ($part in $parts) { &#xA;            $memberPath = $memberPath + '/' + $part;&#xA;        }&#xA;        &#xA;        if ($IsComputer) {&#xA;            $memberPath = $memberPath + '$'&#xA;        }&#xA;        &#xA;        $directoryEntry.Invoke('Add', $memberPath)&#xA;    }&#xA;}&#xA;&#xD;&#xA;$memberComputer = $using:serverDomain + &quot;\&quot; + $using:serverNetbios;&#xA;Add-SecurityGroupMember -GroupSID 'S-1-5-32-576' -Member $memberComputer -IsComputer -ErrorAction Silentlycontinue" DisplayName="Add RDSH Servers to 'End point servers' " sap:VirtualizedContainerService.HintSize="891,623" PSComputerName="[{RDManagementServer}]" PSError="[LoopErrors1]" Result="[Null]" />
                <Sequence DisplayName="Update Progress" sap:VirtualizedContainerService.HintSize="891,246">
                  <sap:WorkflowViewStateService.ViewState>
                    <scg3:Dictionary x:TypeArguments="x:String, x:Object">
                      <x:Boolean x:Key="IsExpanded">True</x:Boolean>
                    </scg3:Dictionary>
                  </sap:WorkflowViewStateService.ViewState>
                  <Assign sap:VirtualizedContainerService.HintSize="242,60">
                    <Assign.To>
                      <OutArgument x:TypeArguments="x:Int32">[CurrentProgress]</OutArgument>
                    </Assign.To>
                    <Assign.Value>
                      <InArgument x:TypeArguments="x:Int32">[CurrentProgress + (20 \ RDSHServer.Length)]</InArgument>
                    </Assign.Value>
                  </Assign>
                  <mpua:WriteProgress Activity="Add-RDSessionHost" DisplayName="Progress : Current" sap:VirtualizedContainerService.HintSize="242,22" PercentComplete="[CurrentProgress]" ProgressId="[ProgressID]" Status="In Progress..." />
                </Sequence>
                <If Condition="[LoopErrors1.Count &lt;&gt; 0]" DisplayName="Write RDMS Error" sap:VirtualizedContainerService.HintSize="891,1942">
                  <If.Then>
                    <Sequence DisplayName="Error!" sap:VirtualizedContainerService.HintSize="286,432">
                      <Sequence sap:VirtualizedContainerService.HintSize="264,246">
                        <Assign sap:VirtualizedContainerService.HintSize="242,60">
                          <Assign.To>
                            <OutArgument x:TypeArguments="sma:ErrorRecord">[catchErrorRecord]</OutArgument>
                          </Assign.To>
                          <Assign.Value>
                            <InArgument x:TypeArguments="sma:ErrorRecord">[ErrorUtility.GetErrorRecord(RDManagementResources.ResourceManager.GetString("FailedToSetSessionHostObjects"), server, ErrorId.ConfigureRDSessionHost, LoopErrors1(0).Exception)]</InArgument>
                          </Assign.Value>
                        </Assign>
                        <mpua:WriteError DisplayName="Write-Error" ErrorRecord="[catchErrorRecord]" sap:VirtualizedContainerService.HintSize="242,22" />
                      </Sequence>
                      <Sequence DisplayName="Update Progress" sap:VirtualizedContainerService.HintSize="264,246">
                        <Assign sap:VirtualizedContainerService.HintSize="242,60">
                          <Assign.To>
                            <OutArgument x:TypeArguments="x:Int32">[CurrentProgress]</OutArgument>
                          </Assign.To>
                          <Assign.Value>
                            <InArgument x:TypeArguments="x:Int32">[CurrentProgress + (60 \ RDSHServer.Length)]</InArgument>
                          </Assign.Value>
                        </Assign>
                        <mpua:WriteProgress Activity="Add-RDSessionHost" DisplayName="Progress : Current" sap:VirtualizedContainerService.HintSize="242,22" PercentComplete="[CurrentProgress]" ProgressId="[ProgressID]" Status="In Progress..." />
                      </Sequence>
                    </Sequence>
                  </If.Then>
                  <If.Else>
                    <Sequence DisplayName="Configure" sap:VirtualizedContainerService.HintSize="580,1794">
                      <mpa:InlineScript Command="import-module $env:windir\System32\ServerManagerInternal\rdmanagement;&#xA;Add-RDSHServer -Name $using:server -CollectionAlias $using:CollectionAlias -ConnectionBroker $using:RDManagementServer -ManagementServer $using:RDManagementServer" sap:VirtualizedContainerService.HintSize="558,188" />
                      <Sequence DisplayName="Update Progress" sap:VirtualizedContainerService.HintSize="558,246">
                        <Assign sap:VirtualizedContainerService.HintSize="242,60">
                          <Assign.To>
                            <OutArgument x:TypeArguments="x:Int32">[CurrentProgress]</OutArgument>
                          </Assign.To>
                          <Assign.Value>
                            <InArgument x:TypeArguments="x:Int32">[CurrentProgress + (30 \ RDSHServer.Length)]</InArgument>
                          </Assign.Value>
                        </Assign>
                        <mpua:WriteProgress Activity="Add-RDSessionHost" DisplayName="Progress : Current" sap:VirtualizedContainerService.HintSize="242,22" PercentComplete="[CurrentProgress]" ProgressId="[ProgressID]" Status="In Progress..." />
                      </Sequence>
                      <mpa:InlineScript Command="function Get-SecurityGroupMember { param ([Parameter(Mandatory=$TRUE)] [string] $GroupSID ) try { $sid = New-Object System.Security.Principal.SecurityIdentifier $GroupSID; $groupName = $sid.Translate([System.Security.Principal.NTAccount]).Value.split('\')[1]; $directoryEntry = [ADSI]('WinNT://{0}/{1},group' -f $Env:COMPUTERNAME, $groupName); foreach($member in $directoryEntry.Invoke('Members', $NULL)) { $objPath = (New-Object System.DirectoryServices.DirectoryEntry $member).Path; if ($objPath -match '^WinNT://(.*)$') { ($matches[1]) -replace '/', '\' } } } catch { throw $_ } }; function Add-SecurityGroupMember { param ( [Parameter(Mandatory=$TRUE)] [string] $GroupSID, [Parameter(Mandatory=$TRUE)] [string[]] $Member, [switch] $IsComputer ) try { $sid = New-Object System.Security.Principal.SecurityIdentifier $GroupSID; $groupName = $sid.Translate([System.Security.Principal.NTAccount]).Value.split('\')[1]; $directoryEntry = [ADSI]('WinNT://{0}/{1},group' -f $Env:COMPUTERNAME, $groupName) } catch { throw $_ };  foreach($entry in $Member) {  $memberPath = 'WinNT:/'; $parts = $entry -split '\\'; foreach ($part in $parts) { $memberPath = $memberPath + '/' + $part; }; if ($IsComputer) { $memberPath = $memberPath + '$' }; $directoryEntry.Invoke('Add', $memberPath); } }; function Remove-SecurityGroupMember { param ( [Parameter(Mandatory=$TRUE)] [string] $GroupSID, [Parameter(Mandatory=$TRUE)] [string[]] $Member, [switch] $IsComputer ) try { $sid = New-Object System.Security.Principal.SecurityIdentifier $GroupSID; $groupName = $sid.Translate([System.Security.Principal.NTAccount]).Value.split('\')[1]; $directoryEntry = [ADSI]('WinNT://{0}/{1},group' -f $Env:COMPUTERNAME, $groupName) } catch { throw $_ };  foreach($entry in $Member) { $memberPath = 'WinNT:/'; $parts = $entry -split '\\'; foreach ($part in $parts) { $memberPath = $memberPath + '/' + $part; }; if ($IsComputer) { $memberPath = $memberPath + '$' }; $directoryEntry.Invoke('Remove', $memberPath); } }; function Set-SecurityGroupMember { param ( [Parameter(Mandatory=$TRUE)] [string] $GroupSID, [Parameter(Mandatory=$TRUE)] [string[]] $Member, [switch] $IsComputer ) Get-SecurityGroupMember $GroupSID | %{Remove-SecurityGroupMember $GroupSID $_}; Add-SecurityGroupMember $GroupSID $Member -IsComputer:$IsComputer }; Set-SecurityGroupMember -GroupSID 'S-1-5-32-555' -Member $using:RemoteDesktopUsers" DisplayName="Add User to 'Remote Desktop Users' " sap:VirtualizedContainerService.HintSize="558,188" PSComputerName="[{server}]" PSError="[LoopErrors2]" Result="[Null]" />
                      <If Condition="[LoopErrors2.Count &lt;&gt; 0]" DisplayName="Write RDMS Error" sap:VirtualizedContainerService.HintSize="558,642">
                        <If.Then>
                          <Sequence sap:VirtualizedContainerService.HintSize="264,246">
                            <Assign sap:VirtualizedContainerService.HintSize="242,60">
                              <Assign.To>
                                <OutArgument x:TypeArguments="sma:ErrorRecord">[catchErrorRecord]</OutArgument>
                              </Assign.To>
                              <Assign.Value>
                                <InArgument x:TypeArguments="sma:ErrorRecord">[ErrorUtility.GetErrorRecord(RDManagementResources.ResourceManager.GetString("FailedToSetSessionHostObjects"), server,-1, LoopErrors2(0).Exception)]</InArgument>
                              </Assign.Value>
                            </Assign>
                            <mpua:WriteError DisplayName="Write-Error" ErrorRecord="[catchErrorRecord]" sap:VirtualizedContainerService.HintSize="242,22" />
                          </Sequence>
                        </If.Then>
                        <If.Else>
                          <Sequence DisplayName="Write Status Object" sap:VirtualizedContainerService.HintSize="240,494">
                            <Sequence.Variables>
                              <Variable x:TypeArguments="sma:PSObject" Default="[New PSObject()]" Name="StatusObject" />
                            </Sequence.Variables>
                            <InvokeMethod sap:VirtualizedContainerService.HintSize="218,134" MethodName="Add">
                              <InvokeMethod.TargetObject>
                                <InArgument x:TypeArguments="sma:PSMemberInfoCollection(sma:PSPropertyInfo)">[StatusObject.Properties]</InArgument>
                              </InvokeMethod.TargetObject>
                              <InArgument x:TypeArguments="sma:PSNoteProperty">[New PSNoteProperty("ServerName", server)]</InArgument>
                            </InvokeMethod>
                            <InvokeMethod sap:VirtualizedContainerService.HintSize="218,134" MethodName="Add">
                              <InvokeMethod.TargetObject>
                                <InArgument x:TypeArguments="sma:PSMemberInfoCollection(sma:PSPropertyInfo)">[StatusObject.Properties]</InArgument>
                              </InvokeMethod.TargetObject>
                              <InArgument x:TypeArguments="sma:PSNoteProperty">[New PSNoteProperty("Success", True)]</InArgument>
                            </InvokeMethod>
                            <mpua:WriteOutput DisplayName="Write-Output" sap:VirtualizedContainerService.HintSize="218,22" InputObject="[{StatusObject}]" />
                          </Sequence>
                        </If.Else>
                      </If>
                      <Sequence DisplayName="Update Progress" sap:VirtualizedContainerService.HintSize="558,246">
                        <Assign sap:VirtualizedContainerService.HintSize="242,60">
                          <Assign.To>
                            <OutArgument x:TypeArguments="x:Int32">[CurrentProgress]</OutArgument>
                          </Assign.To>
                          <Assign.Value>
                            <InArgument x:TypeArguments="x:Int32">[CurrentProgress + (30 \ RDSHServer.Length)]</InArgument>
                          </Assign.Value>
                        </Assign>
                        <mpua:WriteProgress Activity="Add-RDSessionHost" DisplayName="Progress : Current" sap:VirtualizedContainerService.HintSize="242,22" PercentComplete="[CurrentProgress]" ProgressId="[ProgressID]" Status="In Progress..." />
                      </Sequence>
                    </Sequence>
                  </If.Else>
                </If>
              </Sequence>
            </TryCatch.Try>
            <TryCatch.Catches>
              <Catch x:TypeArguments="s:Exception" sap:VirtualizedContainerService.HintSize="490,21">
                <ActivityAction x:TypeArguments="s:Exception">
                  <ActivityAction.Argument>
                    <DelegateInArgument x:TypeArguments="s:Exception" Name="exception" />
                  </ActivityAction.Argument>
                  <Sequence sap:VirtualizedContainerService.HintSize="264,246">
                    <Assign sap:VirtualizedContainerService.HintSize="242,60">
                      <Assign.To>
                        <OutArgument x:TypeArguments="sma:ErrorRecord">[catchErrorRecord]</OutArgument>
                      </Assign.To>
                      <Assign.Value>
                        <InArgument x:TypeArguments="sma:ErrorRecord">[ErrorUtility.GetErrorRecord(RDManagementResources.ResourceManager.GetString("FailedToSetSessionHostObjects"), server, ErrorId.ConfigureRDSessionHost, exception)]</InArgument>
                      </Assign.Value>
                    </Assign>
                    <mpua:WriteError DisplayName="Write-Error" ErrorRecord="[catchErrorRecord]" sap:VirtualizedContainerService.HintSize="242,22" />
                  </Sequence>
                </ActivityAction>
              </Catch>
            </TryCatch.Catches>
          </TryCatch>
        </Sequence>
      </ActivityAction>
    </ForEach>
    <mpua:WriteProgress Activity="Add-RDSessionHost" Completed="[True]" DisplayName="Progress : 100" sap:VirtualizedContainerService.HintSize="200,22" PercentComplete="100" ProgressId="[ProgressID]" Status="In Progress..." />
  </Sequence>
</Activity>