<component id="2" name="Dynamics CRM Team Members" componentClassID="Microsoft.ManagedComponentHost" description="Executes a custom script." localeId="1033" version="9" contactInfo="Executes a custom script.;Microsoft Corporation;Microsoft SqlServer v9; © 2004 Microsoft Corporation; All Rights Reserved; http://www.microsoft.com/sql/support;0"><properties><property id="3" name="SourceCode" state="cdata" dataType="System.String" isArray="true" description="Stores the source code of the component" typeConverter="NOTBROWSABLE"><arrayElements arrayElementCount="15"><arrayElement dataType="System.String"><![CDATA[ComponentWrapper.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!
' This is CozyRoc Script Component Plus Extended Script
' Microsoft SQL Server Integration Services component wrapper
' This module defines the base class for your component
' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!

Imports System
Imports System.Data
Imports Microsoft.SqlServer.Dts.Pipeline
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports CozyRoc.SqlServer.SSIS

<CLSCompliant(False)> _
Public Class UserComponent
    Inherits ScriptComponentPlus

    Public Connections As New Connections(Me)
    Public Variables As New Variables(Me)

    Public Overrides Sub ProcessInput(ByVal InputID As Integer, ByVal InputName As String, ByVal Buffer As PipelineBuffer, ByVal OutputMap As OutputNameMap)

        If InputID = MyBase.ComponentMetaData.InputCollection("Input").ID Then
            Input_ProcessInput(New InputBuffer(Me, InputID, True, Buffer, OutputMap))
        End If

    End Sub

    Public Overridable Sub Input_ProcessInput(ByVal Buffer As InputBuffer)

        While Buffer.NextRow()
            Input_ProcessInputRow(Buffer)
        End While

    End Sub

    Public Overridable Sub Input_ProcessInputRow(ByVal Row As InputBuffer)

    End Sub

End Class

Public Class Connections

    Dim ParentComponent As ScriptComponent

    <CLSCompliant(False)> _
    Public Sub New(ByVal Component As ScriptComponent)
        ParentComponent = Component
    End Sub

    Public ReadOnly Property CrmConnection() As IDTSConnectionManager100
        Get
            Return ParentComponent.ComponentMetaData.RuntimeConnectionCollection("CrmConnection").ConnectionManager
        End Get
    End Property

End Class

Public Class Variables

    Dim ParentComponent As ScriptComponent

    <CLSCompliant(False)> _
    Public Sub New(ByVal Component As ScriptComponent)
        ParentComponent = Component
    End Sub

End Class
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[BufferWrapper.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!
' This is CozyRoc Script Component Plus Extended Script
' Microsoft SQL Server Integration Services buffer wrappers
' This module defines classes for accessing data flow buffers
' THIS IS AUTO-GENERATED CODE THAT WILL BE OVERWRITTEN! DO NOT EDIT!


Option Strict Off   ' This allows usage of PipelineBuffer typed accessors.

Imports System
Imports System.Data
Imports Microsoft.SqlServer.Dts.Pipeline
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports CozyRoc.SqlServer.SSIS

<CLSCompliant(False)> _
Public Class InputBuffer
    Inherits ScriptBufferPlus

    Public Sub New(ByVal Component As ScriptComponent, ByVal ObjectID As Integer, ByVal IsInput As Boolean, ByVal Buffer As PipelineBuffer, ByVal OutputMap As OutputNameMap)
        MyBase.New(Component, ObjectID, IsInput, Buffer, OutputMap)
    End Sub

    Public Overrides ReadOnly Property StaticInputColumns() As String()
        Get
            Return New String() {}
        End Get
    End Property

    Public Overrides ReadOnly Property StaticOutputColumns() As String()
        Get
            Return New String() {}
        End Get
    End Property

    Public Overloads Function NextRow() As Boolean
        NextRow = MyBase.NextRow()
    End Function

    Public Overloads Function EndOfRowset() As Boolean
        EndOfRowset = MyBase.EndOfRowset
    End Function

End Class
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[ScriptMain.vb]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF8]]></arrayElement><arrayElement dataType="System.String"><![CDATA[' COZYROC SQL Server Integration Services user script component
'
' Copyright (c) 2006-2013 COZYROC LLC
' 
' Permission is hereby granted, free of charge, to any person
' obtaining a copy of this software and associated documentation
' files (the "Software"), to deal in the Software without
' restriction, including without limitation the rights to use,
' copy, modify, merge, publish, distribute, sublicense, and/or sell
' copies of the Software, and to permit persons to whom the
' Software is furnished to do so, subject to the following
' conditions:
' 
' The above copyright notice and this permission notice shall be
' included in all copies or substantial portions of the Software.
' 
' THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
' EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
' OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
' NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
' HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
' WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
' FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
' OTHER DEALINGS IN THE SOFTWARE.

Imports System
Imports System.ComponentModel
Imports System.Web.Services.Protocols

Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Imports CozyRoc.SqlServer.SSIS
Imports CozyRoc.SqlServer.SSIS.Attributes
Imports CRM2011 = CozyRoc.Dynamics.Crm2011.OrganizationService
Imports CRM4 = CozyRoc.Dynamics.Crm.Service
Imports CRM3 = CozyRoc.Dynamics.Crm3.Service


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
<ValidateProperties("Validate")> _
<ColumnMappings()> _
<Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute> _
<CLSCompliant(False)> _
Public Class ScriptMain
    Inherits UserComponent


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub Input_ProcessInputRow(ByVal Row As InputBuffer)
        Try
            Dim teamId As Guid = New Guid(Row.Buffer(m_tiIndex).ToString())
            Dim memberId As Guid = New Guid(Row.Buffer(m_miIndex).ToString())

            If Not m_service2011 Is Nothing Then
                ' CRM 2011
                Dim req As New CRM2011.OrganizationRequest
                req.RequestName = m_requestName
                req("TeamId") = teamId
                req("MemberIds") = New Guid() {memberId}

                ' Execute action.
                Call m_service2011.Execute(req)
            ElseIf Not m_service4 Is Nothing Then
                ' CRM 4.0

                ' Execute action.
                Select Case Me.Action
                    Case ActionTypes.Add
                        Dim addReq As New CRM4.AddMembersTeamRequest
                        addReq.TeamId = teamId
                        addReq.MemberIds = New Guid() {memberId}
                        Call m_service4.Execute(addReq)

                    Case ActionTypes.Remove
                        Dim removeReq As New CRM4.RemoveMembersTeamRequest
                        removeReq.TeamId = teamId
                        removeReq.MemberIds = New Guid() {memberId}
                        Call m_service4.Execute(removeReq)

                    Case Else
                        Throw New ApplicationException("Unhandled action type.")
                End Select
            Else
                ' CRM 3.0

                ' Execute action.
                Select Case Me.Action
                    Case ActionTypes.Add
                        Dim addReq As New CRM3.AddMembersTeamRequest
                        addReq.TeamId = teamId
                        addReq.MemberIds = New Guid() {memberId}
                        Call m_service3.Execute(addReq)

                    Case ActionTypes.Remove
                        Dim removeReq As New CRM3.RemoveMembersTeamRequest
                        removeReq.TeamId = teamId
                        removeReq.MemberIds = New Guid() {memberId}
                        Call m_service3.Execute(removeReq)

                    Case Else
                        Throw New ApplicationException("Unhandled action type.")
                End Select
            End If
        Catch ex As SoapException
            Call FireError_(ex.Detail.InnerXml)
        Catch ex As Exception
            Call FireError_(ex.Message)
        End Try
    End Sub ' Input_ProcessInputRow


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub PreExecute()
        Call MyBase.PreExecute()

        ' Setup CRM service.
        m_connection = CType( _
            Me.Connections.CrmConnection.AcquireConnection(Nothing), _
            ICrmConnection)
        Call m_connection.Connect()

        Dim service As Object = m_connection.GetService(0)   ' 0 - CRM Service
        m_service2011 = TryCast(service, CRM2011.OrganizationServiceClient)
        If m_service2011 Is Nothing Then
            m_service4 = TryCast(service, CRM4.CrmService)
            If m_service4 Is Nothing Then
                m_service3 = TryCast(service, CRM3.CrmService)
                If m_service3 Is Nothing Then
                    Throw New Exception("Unhandled service object.")
                End If
            End If
        End If

        ' Setup request for CRM 2011.
        Select Case Me.Action
            Case ActionTypes.Add
                m_requestName = "AddMembersTeam"

            Case ActionTypes.Remove
                m_requestName = "RemoveMembersTeam"

            Case Else
                Throw New ApplicationException("Unhandled action type.")
        End Select

        Dim input As IDTSInput100 = MyBase.ComponentMetaData.InputCollection(0)
        Dim inputCol As IDTSInputColumn100

        ' Get input column indexes.
        inputCol = GetInputColumn_("TeamId")
        m_tiIndex = Me.HostComponent.BufferManager.FindColumnByLineageID( _
            input.Buffer, _
            inputCol.LineageID)

        inputCol = GetInputColumn_("MemberId")
        m_miIndex = Me.HostComponent.BufferManager.FindColumnByLineageID( _
            input.Buffer, _
            inputCol.LineageID)
    End Sub ' PreExecute


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub PostExecute()
        Call MyBase.PostExecute()

        Call m_connection.Close()
        m_tiIndex = -1
        m_miIndex = -1
    End Sub ' PostExecute


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Function Validate(ByRef errMessage As String) As Boolean
        Dim result As Boolean

        Try
            If String.IsNullOrEmpty(Me.CrmConnection) Then
                Throw New Exception("Select Dynamics CRM Connection.")
            End If

            Dim input As IDTSInput100 = Me.ComponentMetaData.InputCollection(0)
            If input.IsAttached AndAlso input.InputColumnCollection.Count < 2 Then
                Throw New Exception("Map input columns.")
            End If

            ' Store connection information in the runtime connection collection, too.
            ' Cannot directly use RuntimeConnectionCollection in the property get/set
            ' because of issues with multi-threading.
            Me.ComponentMetaData.RuntimeConnectionCollection("CrmConnection").ConnectionManagerID = Me.CrmConnection

            result = True
        Catch ex As Exception
            result = False
            errMessage = ex.Message
        End Try

        Validate = result
    End Function    'Validate


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Public Overrides Sub ReinitializeMetaData()
        Call MyBase.ReinitializeMetaData()

        If MyBase.ComponentMetaData.InputCollection.Count = 0 Then
            ' At least one input must exist.
            Throw New Exception("No inputs.")
        End If

        Dim input As IDTSInput100 = MyBase.ComponentMetaData.InputCollection(0)

        ' Cleanup.
        input.ExternalMetadataColumnCollection.IsUsed = True
        Call input.InputColumnCollection.RemoveAll()
        Call input.ExternalMetadataColumnCollection.RemoveAll()

        Dim column As IDTSExternalMetadataColumn100

        ' Setup team id column.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "TeamId"
        column.DataType = DataType.DT_GUID

        ' Setup member id column.
        column = input.ExternalMetadataColumnCollection.[New]()
        column.Name = "MemberId"
        column.DataType = DataType.DT_GUID
    End Sub ' ReinitializeMetaData


#Region "Properties"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Select Dynamics CRM Connection Manager.")> _
    <Connection("CrmConnectionType")> _
    Public Property CrmConnection() As String
        Get
            CrmConnection = m_crmConnection
        End Get
        Set(ByVal value As String)
            m_crmConnection = value
        End Set
    End Property    ' CrmConnection


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    <Description("Select action.")> _
    <DefaultValue(ActionTypes.Add)> _
    Public Property Action() As ActionTypes
        Get
            Action = m_action
        End Get
        Set(ByVal value As ActionTypes)
            m_action = value
        End Set
    End Property    ' Action
#End Region ' Properties


#Region "Internals"
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private ReadOnly Property CrmConnectionType() As String()
        Get
            CrmConnectionType = New String() {"DYNAMICS-CRM"}
        End Get
    End Property    ' CrmConnectionType


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Sub FireError_(ByVal message As String)
        Dim cancel As Boolean = False
        Call MyBase.ComponentMetaData.FireError( _
            0, _
            "Dynamics CRM Team Members", _
            message, _
            String.Empty, _
            0, _
            cancel)
    End Sub ' FireError_


    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    Private Function GetInputColumn_(ByVal externalName As String) As IDTSInputColumn100
        Dim result As IDTSInputColumn100 = Nothing
        Dim input As IDTSInput100 = MyBase.ComponentMetaData.InputCollection(0)
        Dim extColumn As IDTSExternalMetadataColumn100 = input.ExternalMetadataColumnCollection(externalName)

        ' Find input column for specified external column.
        For Each inputCol As IDTSInputColumn100 In input.InputColumnCollection
            If inputCol.ExternalMetadataColumnID = extColumn.ID Then
                ' Found input column.
                result = inputCol
                Exit For
            End If
        Next

        If result Is Nothing Then
            Throw New Exception("Input column not found.")
        End If

        GetInputColumn_ = result
    End Function    ' GetInputColumn_
#End Region ' Internals


#Region "Attributes"
    Enum ActionTypes
        Add
        Remove
    End Enum    ' ActionTypes

    Private m_crmConnection As String
    Private m_action As ActionTypes

    Private m_connection As ICrmConnection
    Private m_service2011 As CRM2011.OrganizationServiceClient
    Private m_service4 As CRM4.CrmService
    Private m_service3 As CRM3.CrmService
    Private m_requestName As String
    Private m_tiIndex As Integer
    Private m_miIndex As Integer
#End Region ' Attributes

End Class   ' ScriptMain
]]></arrayElement><arrayElement dataType="System.String"><![CDATA[Project]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF16LE]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version="1.0" encoding="UTF-16" standalone="yes"?>
<c:Project xmlns:c="http://schemas.microsoft.com/codeprojectml/2010/08/main" xmlns:msb="http://schemas.microsoft.com/developer/msbuild/2003" runtimeVersion="4.0" schemaVersion="1.0">
	<msb:PropertyGroup>
		<msb:Language>msBuild</msb:Language>
		<msb:CodeName>ScriptComponent_05a6c496c45c42c9963913db0b6084b4</msb:CodeName>
		<msb:DisplayName>ScriptComponent_05a6c496c45c42c9963913db0b6084b4</msb:DisplayName>
		<msb:ProjectId>{AABC781F-A852-4D5F-AB24-6E38EF5FBEC7}</msb:ProjectId>
	</msb:PropertyGroup>
	<msb:ItemGroup>
		<msb:Project Include="ScriptComponent_05a6c496c45c42c9963913db0b6084b4.vbproj"/>
		<msb:Folder Include="My Project\"/>
		<msb:File Include="ScriptMain.vb"/>
		<msb:File Include="ComponentWrapper.vb"/>
		<msb:File Include="BufferWrapper.vb"/>
	</msb:ItemGroup>
</c:Project>]]></arrayElement><arrayElement dataType="System.String"><![CDATA[ScriptComponent_05a6c496c45c42c9963913db0b6084b4.vbproj]]></arrayElement><arrayElement dataType="System.String"><![CDATA[UTF16LE]]></arrayElement><arrayElement dataType="System.String"><![CDATA[<?xml version="1.0" encoding="utf-16"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <ProjectTypeGuids>{30D016F9-3734-4E33-A861-5E7D899E18F3};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProductVersion>8.0.30703</ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{0BA147F4-9E78-46F4-AB25-3AF27328D0FC}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>My Project</AppDesignerFolder>
    <RootNamespace>ScriptComponent_05a6c496c45c42c9963913db0b6084b4</RootNamespace>
    <AssemblyName>ScriptComponent_05a6c496c45c42c9963913db0b6084b4</AssemblyName>
    <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <OptionCompare>Binary</OptionCompare>
    <OptionExplicit>On</OptionExplicit>
    <OptionStrict>On</OptionStrict>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>.\bin\Debug\</OutputPath>
    <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
    <DefineDebug>true</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
    <DebugSymbols>false</DebugSymbols>
    <Optimize>true</Optimize>
    <OutputPath>.\bin\Release\</OutputPath>
    <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
    <DefineDebug>false</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <!-- This sections specifies references for the project. -->
  <ItemGroup>
    <Reference Include="CozyRoc.SSISPlus.2014, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea, processorArchitecture=MSIL">
      <SpecificVersion>False</SpecificVersion>
      <HintPath>C:\Program Files (x86)\Microsoft SQL Server\120\SDK\Assemblies\CozyRoc.SSISPlus.2014.dll</HintPath>
    </Reference>
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.Xml" />
    <Reference Include="Microsoft.SqlServer.TxScript, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSRuntimeWrap, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.DTSPipelineWrap, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="Microsoft.SqlServer.PipelineHost, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    <Reference Include="System">
      <Private>False</Private>
    </Reference>
    <Reference Include="System.Data">
      <Private>False</Private>
    </Reference>
    <Reference Include="Microsoft.SqlServer.ManagedDTS">
      <Private>False</Private>
    </Reference>
    <Reference Include="CozyRoc.Dynamics">
      <Private>False</Private>
    </Reference>
    <Reference Include="System.Web.Services">
      <Private>False</Private>
    </Reference>
    <Reference Include="System.Xml">
      <Private>False</Private>
    </Reference>
  </ItemGroup>
  <!-- Visual Basic supports Importing namespaces (equivalent to using statements in C#).-->
  <ItemGroup>
    <Import Include="Microsoft.VisualBasic" />
    <Import Include="System" />
    <Import Include="System.Collections" />
    <Import Include="System.Data" />
    <Import Include="System.Diagnostics" />
    <Import Include="System.Windows.Forms" />
  </ItemGroup>
  <ItemGroup>
    <AppDesigner Include="My Project\" />
  </ItemGroup>
  <!-- Include the build rules for a VB project.-->
  <Import Project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
  <!-- This section defines VSTA properties that describe the host-changable project properties. -->
  <ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{30D016F9-3734-4E33-A861-5E7D899E18F3}">
        <ProjectProperties HostName="VSTAHostName" HostPackage="{B3A685AA-7EAF-4BC6-9940-57959FA5AC07}" ApplicationType="usd" Language="vb" TemplatesPath="" />
        <Host Name="SSIS_SC120" />
        <ProjectClient>
          <HostIdentifier>SSIS_SC120</HostIdentifier>
        </ProjectClient>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
  <ItemGroup>
    <Compile Include="ScriptMain.vb" />
    <Compile Include="BufferWrapper.vb" />
    <Compile Include="ComponentWrapper.vb" />
  </ItemGroup>
  <ItemGroup>
    <Folder Include="My Project\" />
  </ItemGroup>
</Project>]]></arrayElement></arrayElements></property><property id="4" name="BinaryCode" state="cdata" dataType="System.String" isArray="true" description="Stores the binary representation of the component" typeConverter="NOTBROWSABLE"><arrayElements arrayElementCount="2"><arrayElement dataType="System.String"><![CDATA[ScriptComponent_05a6c496c45c42c9963913db0b6084b4.dll]]></arrayElement><arrayElement dataType="System.String"><![CDATA[TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v
ZGUuDQ0KJAAAAAAAAABQRQAATAEDAB+/EFQAAAAAAAAAAOAAAiELAQsAAC4AAAAGAAAAAAAAvkwA
AAAgAAAAYAAAAAAAEAAgAAAAAgAABAAAAAAAAAAEAAAAAAAAAACgAAAAAgAAAAAAAAIAQIUAABAA
ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAGhMAABTAAAAAGAAAEgDAAAAAAAAAAAAAAAAAAAA
AAAAAIAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAIAAACAAAAAAAAAAAAAAACCAAAEgAAAAAAAAAAAAAAC50ZXh0AAAAxCwAAAAgAAAALgAAAAIA
AAAAAAAAAAAAAAAAACAAAGAucnNyYwAAAEgDAAAAYAAAAAQAAAAwAAAAAAAAAAAAAAAAAABAAABA
LnJlbG9jAAAMAAAAAIAAAAACAAAANAAAAAAAAAAAAAAAAAAAQAAAQgAAAAAAAAAAAAAAAAAAAACg
TAAAAAAAAEgAAAACAAUASCkAACAjAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4CKAEAAAoqHgIoBAAACiqmcwYAAAqAAQAABHMHAAAKgAIA
AARzCAAACoADAAAEcwkAAAqABAAABCoAABMwAQALAAAAAQAAEX4BAAAEbwoAAAoqABMwAQALAAAA
AgAAEX4CAAAEbwsAAAoqABMwAQALAAAAAwAAEX4DAAAEbwwAAAoqABMwAQALAAAABAAAEX4EAAAE
bw0AAAoqABMwAgANAAAABQAAEQIDKBEAAAooEgAACioAAAATMAEABwAAAAYAABECKBMAAAoqABMw
AQALAAAABwAAEdAFAAACKBQAAAoqABMwAQAHAAAACAAAEQIoFQAACioAEzABABAAAAAJAAARAowB
AAAbLQYoAQAAKyoCKhMwAgAQAAAACgAAEQMSAP4VAgAAGwaBAgAAGyoeAigXAAAKKhMwAgAoAAAA
CwAAEQJ7GQAACm8aAAAKCweMAwAAGy0SKAIAACsLAnsZAAAKB28bAAAKBypKAigXAAAKAnMcAAAK
fRkAAAoqADoCAwQFDgQOBSgeAAAKKgATMAEABwAAAAwAABEWjR8AAAEqABMwAQAHAAAADQAAERaN
HwAAASoAEzABAAkAAAAOAAARAigfAAAKCgYqAAAAEzABAAkAAAAPAAARAiggAAAKCgYqAAAAfgIo
IgAACgICcxoAAAZ9BgAABAICcxwAAAZ9BwAABCq+AwIoIwAACm8kAAAKcgEAAHBvJQAACm8mAAAK
MxECAgMXBQ4EcxEAAAZvGAAABipKKwcCA28ZAAAGA28UAAAGLfEqAAYqAAA6AigXAAAKAgN9CAAA
BCoAEzACACAAAAAQAAARAnsIAAAEbyMAAApvJwAACnINAABwbygAAApvKQAACio6AigXAAAKAgN9
CQAABCoAHgIoFgAABiobMAQAHwIAABEAABESAQNvKgAACgJ7EQAABG8rAAAKbxUAAAooLAAAChIA
A28qAAAKAnsSAAAEbysAAApvFQAACigsAAAKAnsNAAAELFhzLQAACgwIAnsQAAAEby4AAAoIcikA
AHAHjCcAAAFvLwAACghyNwAAcBeNJwAAARMJEQkWjycAAAEGgScAAAERCW8vAAAKAnsNAAAECG8w
AAAKJt2EAQAAAnsOAAAEOZ4AAAACbyUAAAZFAgAAAAIAAAA/AAAAK35zMQAACg0JB28yAAAKCReN
JwAAARMJEQkWjycAAAEGgScAAAERCW8zAAAKAnsOAAAECW80AAAKJt0nAQAAczUAAAoTBBEEB282
AAAKEQQXjScAAAETCREJFo8nAAABBoEnAAABEQlvNwAACgJ7DgAABBEEbzQAAAom3eYAAABySwAA
cHM4AAAKegJvJQAABkUCAAAAAgAAAEAAAAArfHM5AAAKEwURBQdvOgAAChEFF40nAAABEwkRCRaP
JwAAAQaBJwAAAREJbzsAAAoCew8AAAQRBW88AAAKJitJcz0AAAoTBhEGB28+AAAKEQYXjScAAAET
CREJFo8nAAABBoEnAAABEQlvPwAACgJ7DwAABBEGbzwAAAomKwtySwAAcHM4AAAKet49JShAAAAK
EwcCEQdvQQAACm9CAAAKbygAAAYoQwAACt4cJShAAAAKEwgCEQhvRAAACm8oAAAGKEMAAAreACoA
QTQAAAAAAAAAAAAA4QEAAOEBAAAhAAAALQAAAQAAAAAAAAAA4QEAAAICAAAcAAAALgAAARMwBAA0
AQAAEgAAEQIoRQAACgICewYAAARvGwAABhRvRgAACnQOAAABfQwAAAQCewwAAARvRwAACgJ7DAAA
BBZvSAAACigRAAAKDAIIdQ8AAAF9DQAABAJ7DQAABC0zAgh1EAAAAX0OAAAEAnsOAAAELR8CCHUR
AAABfQ8AAAQCew8AAAQtC3J5AABwc0kAAAp6Am8lAAAGRQIAAAACAAAADwAAACsaAnKtAABwfRAA
AAQrGAJyywAAcH0QAAAEKwtySwAAcHM4AAAKegIoIwAACm8kAAAKFow4AAABbyUAAAoKAnIpAABw
bykAAAYLAgJvSgAACm9LAAAKBm9MAAAKB29NAAAKb04AAAp9EQAABAJy7wAAcG8pAAAGCwICb0oA
AApvSwAACgZvTAAACgdvTQAACm9OAAAKfRIAAAQqggIoTwAACgJ7DAAABG9QAAAKAhV9EQAABAIV
fRIAAAQqAAAAGzACAJAAAAATAAARAm8jAAAGKFEAAAosC3IBAQBwc0kAAAp6Am8jAAAKbyQAAAoW
jDgAAAFvJQAACgwIb1IAAAosGQhvUwAACm9UAAAKGC8LckEBAHBzSQAACnoCbyMAAApvJwAACnIN
AABwbygAAAoCbyMAAAZvVQAAChcK3hglKEAAAAoNFgoDCW9EAAAKUShDAAAK3gAGCwcqARAAAAAA
AAB0dAAYLgAAARMwAgCcAAAAFAAAEQIoVgAACgIoIwAACm8kAAAKb1cAAAoWMwtyZwEAcHNJAAAK
egIoIwAACm8kAAAKFow4AAABbyUAAAoLB29YAAAKF29ZAAAKB29TAAAKb1oAAAoHb1gAAApvWwAA
CgdvWAAACm9cAAAKCgZyKQAAcG9dAAAKBh9Ib14AAAoHb1gAAApvXAAACgoGcu8AAHBvXQAACgYf
SG9eAAAKKhMwAQAJAAAAFQAAEQJ7CgAABAoGKgAAACICA30KAAAEKgAAABMwAQAJAAAAFgAAEQJ7
CwAABAoGKgAAACICA30LAAAEKgAAABMwAwATAAAAFwAAEReNHwAAAQsHFnJ9AQBwogcKBioAEzAH
AB0AAAAYAAARFgoCKCMAAAoWcpcBAHADfl8AAAoWEgBvYAAACioAAAAbMAIAigAAABkAABEUDQIo
IwAACm8kAAAKFow4AAABbyUAAAoMCG9YAAAKA29hAAAKCghvUwAACm9iAAAKEwUrIhEFb2MAAAp0
DQAAARMEEQRvZAAACgZvZQAACjMFEQQN3iERBW9mAAAKLdXeFhEFdUAAAAEsDBEFdUAAAAFvZwAA
CtwJLQtyywEAcHNJAAAKegkLByoAAAEQAAACACYAPGIAFgAAAABCU0pCAQABAAAAAAAMAAAAdjQu
MC4zMDMxOQAAAAAFAGwAAAAIDAAAI34AAHQMAADsDwAAI1N0cmluZ3MAAAAAYBwAAPwBAAAjVVMA
XB4AABAAAAAjR1VJRAAAAGweAAC0BAAAI0Jsb2IAAAAAAAAAAgAAAVcdogkJDgAAAPolMwAWAAAB
AAAASQAAAAwAAAAVAAAAKQAAABYAAABwAAAAAgAAADMAAAAZAAAABQAAAAsAAAANAAAACQAAAAEA
AAAMAAAAAwAAAAMAAAACAAAAAAC1DwEAAAAAAAoASwEhAQoAfwFhAQYAjwGIAQoA5wEhAQYAZQKI
AQoA5wK9Ag4AOQMiAxIAiANnAxYAuQNnAxIAyANnAw4AbAQiAxoAJwX/BB4ARAYbBg4AjQYiAyIA
5wa6BiIALAcPByIALAdCBwYApgeIASYA1Ae+ByYA7Qe+ByYAGggCCAYARAgxCAoAgwhcCAoAmwgT
ACYA0AizCAYABQnlCAYAIwmIAQYARwmIAQoAYAkTAAYArgmPCQYAwgmIARIAyQlnAwYA1gmIAR4A
7AkbBh4AGwobBh4ARgobBh4AYwobBh4ApgobBgYA1QqIASIA2gq6BiIA7goPByIABAsPByIA7gpC
ByIABAtCByoATwsxCwYAXQuIASIAiwu6Bi4A1QqIASIAwQsPByIAygsPBwYA0guIASIAwQtCByIA
ygtCBwoA5wtcCDIADgwDDAYAcQyIARYAdwxnAx4AmwwbBh4ACQ0bBh4AYg0bBh4AgA0bBhoA7w3/
BAYAKA4VDgYAdA6IARIAiA5nAw4A0Q6vDg4A6Q6vDiYABQ++ByYAGw++Bw4AMA+vDgYARA/lCAYA
ZA/lCAYAnA+CDwAAAAABAAAAAAABAAEAAAAAACkANwAFAAEAAQAAAAAAawA3AAkAAQACAAABEAB2
ADcADQABAAMABQEAAIAAAAANAAUACAAFAQAAjgAAAA0ABQAPAAEAAACpALUAHQAGABEAAQAAAOYA
tQAtAAYAFgABAAAA9AC1AA0ACAAaAAEAAAAAAbUADQAJABwAAQAAAAoBtQAgAAoAHQACAQAAFQEA
AEkAEwAqADEAqgEgADEA0wEtADEA9QE6ADEAGgJHACEA9gKQAAYA9ADJAAYAAAHNAAEAzAThAAEA
zAThAAEAdAYRAQEAhAYUAQEAnAYYAQEAAQccAQEANwcgAQEAYAckAQEAawcRAQEAeQcoAQEAgwco
AQYGqwcoAVaAswcUAVaAtwcUAVAgAAAAAAYYWwETAAEAWCAAAAAABhhbARMAAQBgIAAAAAARGJYB
FwABAIwgAAAAABMInQEbAAEApCAAAAAAEwjDASgAAQC8IAAAAAATCOwBNQABANQgAAAAABMICgJC
AAEA7CAAAAAARgJQAmMAAQAIIQAAAABGAlkCaAACABwhAAAAAIMAagJsAAIANCEAAAAARgJyAnEA
AgBIIQAAAAARAHsCeAACAGQhAAAAAAEAmQKAAAMAgCEAAAAABhhbARMABACIIQAAAAADCK0CiwAE
ALwhAAAAAAYYWwETAAQA0CEAAAAABhhbAa8ABADgIQAAAABGCgIEuwAJAPQhAAAAAEYKGQS7AAkA
CCIAAAAAhgAxBMAACQAgIgAAAACGADkEwAAJADgiAAAAAAYYWwETAAkAWCIAAAAARgKABNEACQCI
IgAAAABGA58E2wANAJwiAAAAAEYDsgTbAA4AoCIAAAAABhhbAeUADwCwIgAAAAAGCEAF6wAQANwi
AAAAAAYYWwHlABAA7CIAAAAABhhbARMAEQD0IgAAAABGArIE2wARAFQlAAAAAEYCYAUTABIAlCYA
AAAARgJrBRMAEgC4JgAAAAAGAHcF9QASAGQnAAAAAEYCiwUTABMADCgAAAAABghABXEAEwAkKAAA
AAAGCKAF+wATADAoAAAAAAYIuAUAARQASCgAAAAABgjDBQUBFABUKAAAAAABCM4FuwAVAHQoAAAA
AAEA5AX7ABUAoCgAAAAAAQBXBgsBFgAAAAEAVwIAAAEAkAIAAAEAkAIAAAEA1gMAAAIA4AMAAAMA
6QMAAAQA8QMAAAUA+AMAAAEAjQQAAAIAlQQAAAMA8QMAAAQA+AMAAAEA8QMAAAEAyAQAAAEA1gMA
AAEA1gMAAAEAyAQAAAEAgAUAAAEAsgUAAAEAsgUAAAEA7wUAAAEAZwYJAFsBEwCZAFsBPgGpAFsB
TQERAFsBEwCxAFsBEwAkAFsBEwAsAFsBEwA0AFsBEwA8AFsBEwAkAK0CiwAsAK0CiwA0AK0CiwA8
AK0CiwC5AFsBEwDBAFsBEwDJAFsB+wDRABQJ4gEZAFACYwAZAFkCaAApADUJ7wEZAHICcQDhAFEJ
/wEZAFsBEwDpAFsBDwJEAPYCkABMAHsJiwBMAIUJjAJMAFsBEwDxAFsBmwI5AFsBrwABATEEwAAB
ATkEwAAJAVsBmwJZAFsBEwBBAAUKqwIRATIKsQIZAVMKtwIhAVwKaAARAYYKvgIpAVMKxAIxAb8K
6wA5AGcL0AJJAFMK1QI5AVsB+wBBAVsBEwBBAXIL+wBBAYIL2gJ5AKAL4AJJAVsBEwBJAagL6QJJ
AbML8AKBAKAL+AJRAVsBEwBRAagL6QJRAbML8AKZAVsB+wBZAVsBEwBZAagL6QJZAbML8AKJAKAL
AQNhAVsBEwBhAagL6QJhAbML8AKxAfMLCgNpARYMEQO5ASEMcQCxAS4MFwBxAUAMcQBBAGAFEwBh
AEwMQANxAF4MEwBxAGYM1QJxAVsB+wBZAIkMRQPJAbAMSwMhAWcLaABpAMIMaADRAdAMUQNBAGsF
EwBxAOYMEwD5AOwMYgMhAfoMwAAhASYNZwPZAUANaAAxAUoN+wBZAIsFEwAZAUANaAAhAagNeAPp
Ac0NmwLZAdgNEwDpAdgNEwDpAeINfgPhAeYN+wDhAfgNhAP5AAUOEQERAQsOoAPpAVMKqwPZATQO
sgP5AUIOuANpAE4OaADhAVwKaAD5AWsOwAABAoAOEwAJAlsBEwARAlsBEwAZAlsB+wAhAlsB3AMp
AlsB+wAxAlsB+wA5AlsB3ANBAlsBEwBJAlsB+wAIAFAANAEIAFQAOQEpAIMAnAEuAHMDQgQuAHsD
SwQuAIMDagRAACsAOQFAABMARAFDABsAUwFDABMARAFJAIMAzgFjABsAUwFjABMARAFpAIMArQGA
ACsAOQGDAHMAOQGDABsAUwGDAHsAOQGJAIMAugGgACsAOQGjABMARAGjAMMAFwLAACsAOQHDABMA
RAHDAOsAoALgACsAOQHjAAsBoAIAARMARAEAASsAOQEDAQsBoAIgASsAOQEgARMARAEpAWsD/gMp
AWMDFQRAASsAOQFAARMARAFJAVsD4QNJAWMD6gNgARMARAFgASsAOQFjAVMDzgNjAQsBoAJjAUMD
OQFjAUsDOQGAASsAOQGgASsAOQHAARMARAHAASsAOQHgASsAOQEAAisAOQEAAhMARAFAAwsBoAKA
AwsBoAKIAY0BkgGXAecB6wH2AfsBCgIKApICpgKmAucB5wHLAhcDVwNtA4sD+wGUA5kD5wG8AwQA
AQAGAAUABwAGAAkACAALAAkAAAB/AU8AAAA4AlQAAADnAVkAAABEAl4AAAAAA5gAAABFBMQAAABY
BMQAAABSBfAAAABSBSsBAACNBy8BAACUB8QAAgAEAAMAAgAFAAUAAgAGAAcAAgAHAAkAAgAPAAsA
AgASAA0AAgATAA8AAgAbABEAAQAkABMAAgAjABMAAgAlABUAAQAmABUAAgAnABcAdQB1AIgAbAFz
AXoBgQF5AoACBIAAAAAAAAAAAAAAAAAAAAAAtQAAAAQAAAAAAAAAAAAAAAEACgAAAAAACgAAAAAA
AAAAAAAACgATAAAAAAABAAAAAAAAAAAAAACdAAwDAAAAAAwAAAAAAAAAAAAAAKYASgMAAAAADAAA
AAAAAAAAAAAApgCYAwAAAAAMAAAAAAAAAAAAAACmANwEAAAAAAwAAAAAAAAAAAAAAKYA9wUAAAAA
AQAAAAAAAAAAAAAAnQCpBgAAAAAEAAAAAAAAAAAAAAABAIgBAAAAAAQAAAAAAAAAAAAAAAoAHQsA
AAAAAgAAAAAAAAAAAAAAAQAKAAAAAAAEAAAAAAAAAAAAAAABAAMMAAAAAAUABAAGAAQADAALAAAA
EAAMAI4CAAAQABkAjgIAAAAAGwCOAi0ABQItAIcCAAAAAAA8TW9kdWxlPgBtc2NvcmxpYgBNaWNy
b3NvZnQuVmlzdWFsQmFzaWMATXlBcHBsaWNhdGlvbgBTY3JpcHRDb21wb25lbnRfMDVhNmM0OTZj
NDVjNDJjOTk2MzkxM2RiMGI2MDg0YjQuTXkATXlDb21wdXRlcgBNeVByb2plY3QATXlXZWJTZXJ2
aWNlcwBUaHJlYWRTYWZlT2JqZWN0UHJvdmlkZXJgMQBJbnB1dEJ1ZmZlcgBTY3JpcHRDb21wb25l
bnRfMDVhNmM0OTZjNDVjNDJjOTk2MzkxM2RiMGI2MDg0YjQAVXNlckNvbXBvbmVudABDb25uZWN0
aW9ucwBWYXJpYWJsZXMAU2NyaXB0TWFpbgBBY3Rpb25UeXBlcwBNaWNyb3NvZnQuVmlzdWFsQmFz
aWMuQXBwbGljYXRpb25TZXJ2aWNlcwBBcHBsaWNhdGlvbkJhc2UALmN0b3IATWljcm9zb2Z0LlZp
c3VhbEJhc2ljLkRldmljZXMAQ29tcHV0ZXIAU3lzdGVtAE9iamVjdAAuY2N0b3IAZ2V0X0NvbXB1
dGVyAG1fQ29tcHV0ZXJPYmplY3RQcm92aWRlcgBnZXRfQXBwbGljYXRpb24AbV9BcHBPYmplY3RQ
cm92aWRlcgBVc2VyAGdldF9Vc2VyAG1fVXNlck9iamVjdFByb3ZpZGVyAGdldF9XZWJTZXJ2aWNl
cwBtX015V2ViU2VydmljZXNPYmplY3RQcm92aWRlcgBBcHBsaWNhdGlvbgBXZWJTZXJ2aWNlcwBF
cXVhbHMAbwBHZXRIYXNoQ29kZQBUeXBlAEdldFR5cGUAVG9TdHJpbmcAQ3JlYXRlX19JbnN0YW5j
ZV9fAFQAaW5zdGFuY2UARGlzcG9zZV9fSW5zdGFuY2VfXwBnZXRfR2V0SW5zdGFuY2UATWljcm9z
b2Z0LlZpc3VhbEJhc2ljLk15U2VydmljZXMuSW50ZXJuYWwAQ29udGV4dFZhbHVlYDEAbV9Db250
ZXh0AEdldEluc3RhbmNlAENvenlSb2MuU1NJU1BsdXMuMjAxNABDb3p5Um9jLlNxbFNlcnZlci5T
U0lTAFNjcmlwdEJ1ZmZlclBsdXMATWljcm9zb2Z0LlNxbFNlcnZlci5UeFNjcmlwdABNaWNyb3Nv
ZnQuU3FsU2VydmVyLkR0cy5QaXBlbGluZQBTY3JpcHRDb21wb25lbnQATWljcm9zb2Z0LlNxbFNl
cnZlci5QaXBlbGluZUhvc3QAUGlwZWxpbmVCdWZmZXIAT3V0cHV0TmFtZU1hcABDb21wb25lbnQA
T2JqZWN0SUQASXNJbnB1dABCdWZmZXIAT3V0cHV0TWFwAGdldF9TdGF0aWNJbnB1dENvbHVtbnMA
Z2V0X1N0YXRpY091dHB1dENvbHVtbnMATmV4dFJvdwBFbmRPZlJvd3NldABTdGF0aWNJbnB1dENv
bHVtbnMAU3RhdGljT3V0cHV0Q29sdW1ucwBTY3JpcHRDb21wb25lbnRQbHVzAFByb2Nlc3NJbnB1
dABJbnB1dElEAElucHV0TmFtZQBJbnB1dF9Qcm9jZXNzSW5wdXQASW5wdXRfUHJvY2Vzc0lucHV0
Um93AFJvdwBQYXJlbnRDb21wb25lbnQATWljcm9zb2Z0LlNxbFNlcnZlci5EVFNSdW50aW1lV3Jh
cABNaWNyb3NvZnQuU3FsU2VydmVyLkR0cy5SdW50aW1lLldyYXBwZXIASURUU0Nvbm5lY3Rpb25N
YW5hZ2VyMTAwAGdldF9Dcm1Db25uZWN0aW9uAENybUNvbm5lY3Rpb24AUHJlRXhlY3V0ZQBQb3N0
RXhlY3V0ZQBWYWxpZGF0ZQBlcnJNZXNzYWdlAFJlaW5pdGlhbGl6ZU1ldGFEYXRhAHNldF9Dcm1D
b25uZWN0aW9uAHZhbHVlAGdldF9BY3Rpb24Ac2V0X0FjdGlvbgBnZXRfQ3JtQ29ubmVjdGlvblR5
cGUARmlyZUVycm9yXwBtZXNzYWdlAE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRFRTUGlwZWxpbmVXcmFw
AE1pY3Jvc29mdC5TcWxTZXJ2ZXIuRHRzLlBpcGVsaW5lLldyYXBwZXIASURUU0lucHV0Q29sdW1u
MTAwAEdldElucHV0Q29sdW1uXwBleHRlcm5hbE5hbWUAbV9jcm1Db25uZWN0aW9uAG1fYWN0aW9u
AElDcm1Db25uZWN0aW9uAG1fY29ubmVjdGlvbgBDb3p5Um9jLkR5bmFtaWNzAENvenlSb2MuRHlu
YW1pY3MuQ3JtMjAxMS5Pcmdhbml6YXRpb25TZXJ2aWNlAE9yZ2FuaXphdGlvblNlcnZpY2VDbGll
bnQAbV9zZXJ2aWNlMjAxMQBDb3p5Um9jLkR5bmFtaWNzLkNybS5TZXJ2aWNlAENybVNlcnZpY2UA
bV9zZXJ2aWNlNABDb3p5Um9jLkR5bmFtaWNzLkNybTMuU2VydmljZQBtX3NlcnZpY2UzAG1fcmVx
dWVzdE5hbWUAbV90aUluZGV4AG1fbWlJbmRleABBY3Rpb24AQ3JtQ29ubmVjdGlvblR5cGUARW51
bQB2YWx1ZV9fAEFkZABSZW1vdmUAU3lzdGVtLkNvbXBvbmVudE1vZGVsAEVkaXRvckJyb3dzYWJs
ZUF0dHJpYnV0ZQBFZGl0b3JCcm93c2FibGVTdGF0ZQBTeXN0ZW0uQ29kZURvbS5Db21waWxlcgBH
ZW5lcmF0ZWRDb2RlQXR0cmlidXRlAFN5c3RlbS5EaWFnbm9zdGljcwBEZWJ1Z2dlckhpZGRlbkF0
dHJpYnV0ZQBNaWNyb3NvZnQuVmlzdWFsQmFzaWMuQ29tcGlsZXJTZXJ2aWNlcwBTdGFuZGFyZE1v
ZHVsZUF0dHJpYnV0ZQBIaWRlTW9kdWxlTmFtZUF0dHJpYnV0ZQBTeXN0ZW0uQ29tcG9uZW50TW9k
ZWwuRGVzaWduAEhlbHBLZXl3b3JkQXR0cmlidXRlAFN5c3RlbS5SdW50aW1lLkNvbXBpbGVyU2Vy
dmljZXMAUnVudGltZUhlbHBlcnMAR2V0T2JqZWN0VmFsdWUAUnVudGltZVR5cGVIYW5kbGUAR2V0
VHlwZUZyb21IYW5kbGUAQWN0aXZhdG9yAENyZWF0ZUluc3RhbmNlAE15R3JvdXBDb2xsZWN0aW9u
QXR0cmlidXRlAGdldF9WYWx1ZQBzZXRfVmFsdWUAU3lzdGVtLlJ1bnRpbWUuSW50ZXJvcFNlcnZp
Y2VzAENvbVZpc2libGVBdHRyaWJ1dGUAU3RyaW5nAFNjcmlwdEJ1ZmZlcgBDTFNDb21wbGlhbnRB
dHRyaWJ1dGUASURUU0NvbXBvbmVudE1ldGFEYXRhMTAwAGdldF9Db21wb25lbnRNZXRhRGF0YQBJ
RFRTSW5wdXRDb2xsZWN0aW9uMTAwAGdldF9JbnB1dENvbGxlY3Rpb24ASURUU0lucHV0MTAwAGdl
dF9JdGVtAGdldF9JRABJRFRTUnVudGltZUNvbm5lY3Rpb25Db2xsZWN0aW9uMTAwAGdldF9SdW50
aW1lQ29ubmVjdGlvbkNvbGxlY3Rpb24ASURUU1J1bnRpbWVDb25uZWN0aW9uMTAwAGdldF9Db25u
ZWN0aW9uTWFuYWdlcgBHdWlkAE9yZ2FuaXphdGlvblJlcXVlc3QAQWRkTWVtYmVyc1RlYW1SZXF1
ZXN0AFJlbW92ZU1lbWJlcnNUZWFtUmVxdWVzdABTeXN0ZW0uV2ViLlNlcnZpY2VzAFN5c3RlbS5X
ZWIuU2VydmljZXMuUHJvdG9jb2xzAFNvYXBFeGNlcHRpb24ARXhjZXB0aW9uAGdldF9CdWZmZXIA
c2V0X1JlcXVlc3ROYW1lAHNldF9JdGVtAE9yZ2FuaXphdGlvblJlc3BvbnNlAEV4ZWN1dGUAc2V0
X1RlYW1JZABzZXRfTWVtYmVySWRzAFJlc3BvbnNlAFJlcXVlc3QAQXBwbGljYXRpb25FeGNlcHRp
b24AUHJvamVjdERhdGEAU2V0UHJvamVjdEVycm9yAFN5c3RlbS5YbWwAWG1sTm9kZQBnZXRfRGV0
YWlsAGdldF9Jbm5lclhtbABDbGVhclByb2plY3RFcnJvcgBnZXRfTWVzc2FnZQBBY3F1aXJlQ29u
bmVjdGlvbgBDb25uZWN0AEdldFNlcnZpY2UASW50MzIAUGlwZWxpbmVDb21wb25lbnQAZ2V0X0hv
c3RDb21wb25lbnQASURUU0J1ZmZlck1hbmFnZXIxMDAAZ2V0X0J1ZmZlck1hbmFnZXIAZ2V0X0xp
bmVhZ2VJRABGaW5kQ29sdW1uQnlMaW5lYWdlSUQAQ2xvc2UASXNOdWxsT3JFbXB0eQBnZXRfSXNB
dHRhY2hlZABJRFRTSW5wdXRDb2x1bW5Db2xsZWN0aW9uMTAwAGdldF9JbnB1dENvbHVtbkNvbGxl
Y3Rpb24AZ2V0X0NvdW50AHNldF9Db25uZWN0aW9uTWFuYWdlcklEAElEVFNFeHRlcm5hbE1ldGFk
YXRhQ29sdW1uMTAwAElEVFNFeHRlcm5hbE1ldGFkYXRhQ29sdW1uQ29sbGVjdGlvbjEwMABnZXRf
RXh0ZXJuYWxNZXRhZGF0YUNvbHVtbkNvbGxlY3Rpb24Ac2V0X0lzVXNlZABSZW1vdmVBbGwATmV3
AHNldF9OYW1lAERhdGFUeXBlAHNldF9EYXRhVHlwZQBFbXB0eQBGaXJlRXJyb3IAU3lzdGVtLkNv
bGxlY3Rpb25zAElFbnVtZXJhdG9yAEdldEVudW1lcmF0b3IAZ2V0X0N1cnJlbnQAZ2V0X0V4dGVy
bmFsTWV0YWRhdGFDb2x1bW5JRABNb3ZlTmV4dABJRGlzcG9zYWJsZQBEaXNwb3NlAFNTSVNTY3Jp
cHRDb21wb25lbnRFbnRyeVBvaW50QXR0cmlidXRlAENvenlSb2MuU3FsU2VydmVyLlNTSVMuQXR0
cmlidXRlcwBDb2x1bW5NYXBwaW5nc0F0dHJpYnV0ZQBWYWxpZGF0ZVByb3BlcnRpZXNBdHRyaWJ1
dGUARGVmYXVsdFZhbHVlQXR0cmlidXRlAERlc2NyaXB0aW9uQXR0cmlidXRlAENvbm5lY3Rpb25B
dHRyaWJ1dGUAQ29tcGlsYXRpb25SZWxheGF0aW9uc0F0dHJpYnV0ZQBSdW50aW1lQ29tcGF0aWJp
bGl0eUF0dHJpYnV0ZQBTeXN0ZW0uUnVudGltZS5WZXJzaW9uaW5nAFRhcmdldEZyYW1ld29ya0F0
dHJpYnV0ZQBTY3JpcHRDb21wb25lbnRfMDVhNmM0OTZjNDVjNDJjOTk2MzkxM2RiMGI2MDg0YjQu
ZGxsAAAAAAtJAG4AcAB1AHQAABtDAHIAbQBDAG8AbgBuAGUAYwB0AGkAbwBuAAANVABlAGEAbQBJ
AGQAABNNAGUAbQBiAGUAcgBJAGQAcwAALVUAbgBoAGEAbgBkAGwAZQBkACAAYQBjAHQAaQBvAG4A
IAB0AHkAcABlAC4AADNVAG4AaABhAG4AZABsAGUAZAAgAHMAZQByAHYAaQBjAGUAIABvAGIAagBl
AGMAdAAuAAAdQQBkAGQATQBlAG0AYgBlAHIAcwBUAGUAYQBtAAAjUgBlAG0AbwB2AGUATQBlAG0A
YgBlAHIAcwBUAGUAYQBtAAARTQBlAG0AYgBlAHIASQBkAAA/UwBlAGwAZQBjAHQAIABEAHkAbgBh
AG0AaQBjAHMAIABDAFIATQAgAEMAbwBuAG4AZQBjAHQAaQBvAG4ALgAAJU0AYQBwACAAaQBuAHAA
dQB0ACAAYwBvAGwAdQBtAG4AcwAuAAAVTgBvACAAaQBuAHAAdQB0AHMALgAAGUQAWQBOAEEATQBJ
AEMAUwAtAEMAUgBNAAEzRAB5AG4AYQBtAGkAYwBzACAAQwBSAE0AIABUAGUAYQBtACAATQBlAG0A
YgBlAHIAcwAAL0kAbgBwAHUAdAAgAGMAbwBsAHUAbQBuACAAbgBvAHQAIABmAG8AdQBuAGQALgAA
AC8A0W8m5xtPh1xhIzjGnUsACLd6XFYZNOCJCLA/X38R1Qo6AyAAAQMAAAEEAAASDAcGFRIYARIM
BAAAEggHBhUSGAESCAQAABIRBwYVEhgBEhEEAAASFAcGFRIYARIUBAgAEgwECAASCAQIABIRBAgA
EhQEIAECHAMgAAgEIAASFQMgAA4CHgAHEAEBHgAeAAcwAQEBEB4AAhMABCAAEwAHBhUSGQETAAQo
ABMACBbPSQu4DDTqCImEXc2AgMyRCyAFARIhCAISJRIpBCAAHQ4DIAACBCgAHQ4DBhIkAwYSKAkg
BAEIDhIlEikFIAEBEhwDBhIhBSABARIhBCAAEjEEKAASMQUgAQIQDgQgAQEOBCAAETAFIAEBETAF
IAESNQ4CBg4DBhEwAwYSOQMGEj0DBhJBAwYSRQIGCAMoAA4EKAARMAQAAAAABAEAAAAFIAEBEVEI
AQABAAAAAAAFIAIBDg4YAQAKTXlUZW1wbGF0ZQgxMC4wLjAuMAAABhUSGAESDAYVEhgBEggGFRIY
ARIRBhUSGAESFAQHARIMBAcBEggEBwESEQQHARIUEAEAC015LkNvbXB1dGVyAAAMAQAHTXkuVXNl
cgAAEwEADk15LldlYlNlcnZpY2VzAAATAQAOTXkuQXBwbGljYXRpb24AAAQAARwcAwcBAgMHAQgG
AAESFRFtBAcBEhUDBwEOBRABAB4ABAoBHgAEBwEeAAcgBAEODg4OYQEANFN5c3RlbS5XZWIuU2Vy
dmljZXMuUHJvdG9jb2xzLlNvYXBIdHRwQ2xpZW50UHJvdG9jb2wSQ3JlYXRlX19JbnN0YW5jZV9f
E0Rpc3Bvc2VfX0luc3RhbmNlX18AAAAGFRIYARMABhUSGQETAAQKARMABSABARMACAcDEwATABMA
BCABAQIFAQAAAAAEBwEdDgUgABKAiQUgABKAjQYgARKAkRwFIAASgJUGIAESgJkcBAcBEjEEIAAS
JQQgARwIBSACAQ4cCCABEoC9EoChBiABARGAwQcgAQEdEYDBCCABEoDFEoDJCCABEoDREoDVBgAB
ARKAuQUgABKA3SgHDRGAnRGAnRKAoRKApRKAqRKArRKAsRKAtRKAuR0RgJ0RMBGAnREwBCABHBwF
IAASgOUFIAASgOkFIAIICAgKBwQSgJESNRwRMAQAAQIOBSAAEoDtCgcEAgISgJESgLkFIAASgPUF
IAASgPEGIAEBEYD5CAcCEoDxEoCRBAcBETAGBwIdDh0OCiAGAQgODg4IEAIGIAESgPEcBSAAEoD9
AyAAHBEHBhKA8RI1EoCREjUSNRKA/Q0BAAhWYWxpZGF0ZQAABCABAQgIAQAAAAAAAAATAQAOU2Vs
ZWN0IGFjdGlvbi4AABYBABFDcm1Db25uZWN0aW9uVHlwZQAALAEAJ1NlbGVjdCBEeW5hbWljcyBD
Uk0gQ29ubmVjdGlvbiBNYW5hZ2VyLgAACAEACAAAAAAAHgEAAQBUAhZXcmFwTm9uRXhjZXB0aW9u
VGhyb3dzAUcBABouTkVURnJhbWV3b3JrLFZlcnNpb249djQuMAEAVA4URnJhbWV3b3JrRGlzcGxh
eU5hbWUQLk5FVCBGcmFtZXdvcmsgNAAAkEwAAAAAAAAAAAAArkwAAAAgAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAKBMAAAAAAAAAAAAAAAAAAAAAF9Db3JEbGxNYWluAG1zY29yZWUuZGxsAAAAAAD/JQAg
ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABABAAAAAYAACA
AAAAAAAAAAAAAAAAAAABAAEAAAAwAACAAAAAAAAAAAAAAAAAAAABAAAAAABIAAAAWGAAAOwCAAAA
AAAAAAAAAOwCNAAAAFYAUwBfAFYARQBSAFMASQBPAE4AXwBJAE4ARgBPAAAAAAC9BO/+AAABAAAA
AAAAAAAAAAAAAAAAAAA/AAAAAAAAAAQAAAACAAAAAAAAAAAAAAAAAAAARAAAAAEAVgBhAHIARgBp
AGwAZQBJAG4AZgBvAAAAAAAkAAQAAABUAHIAYQBuAHMAbABhAHQAaQBvAG4AAAAAAAAAsARMAgAA
AQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBmAG8AAAAoAgAAAQAwADAAMAAwADAANABiADAAAAAs
AAIAAQBGAGkAbABlAEQAZQBzAGMAcgBpAHAAdABpAG8AbgAAAAAAIAAAADAACAABAEYAaQBsAGUA
VgBlAHIAcwBpAG8AbgAAAAAAMAAuADAALgAwAC4AMAAAAIwANQABAEkAbgB0AGUAcgBuAGEAbABO
AGEAbQBlAAAAUwBjAHIAaQBwAHQAQwBvAG0AcABvAG4AZQBuAHQAXwAwADUAYQA2AGMANAA5ADYA
YwA0ADUAYwA0ADIAYwA5ADkANgAzADkAMQAzAGQAYgAwAGIANgAwADgANABiADQALgBkAGwAbAAA
AAAAKAACAAEATABlAGcAYQBsAEMAbwBwAHkAcgBpAGcAaAB0AAAAIAAAAJQANQABAE8AcgBpAGcA
aQBuAGEAbABGAGkAbABlAG4AYQBtAGUAAABTAGMAcgBpAHAAdABDAG8AbQBwAG8AbgBlAG4AdABf
ADAANQBhADYAYwA0ADkANgBjADQANQBjADQAMgBjADkAOQA2ADMAOQAxADMAZABiADAAYgA2ADAA
OAA0AGIANAAuAGQAbABsAAAAAAA0AAgAAQBQAHIAbwBkAHUAYwB0AFYAZQByAHMAaQBvAG4AAAAw
AC4AMAAuADAALgAwAAAAOAAIAAEAQQBzAHMAZQBtAGIAbAB5ACAAVgBlAHIAcwBpAG8AbgAAADAA
LgAwAC4AMAAuADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAMAAAAwDwAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]]></arrayElement></arrayElements></property><property id="9" name="UserComponentTypeName" dataType="System.String">CozyRoc.SqlServer.SSIS.ScriptComponentHostPlus, CozyRoc.SSISPlus.2014, Version=1.0.0.0, Culture=neutral, PublicKeyToken=16cf490bb80c34ea</property><property id="11" name="VSTAProjectName" dataType="System.String" description="Specifies the name of the Microsoft Visual Studio Tools for Applications project. Project names must be unique within a package." typeConverter="NOTBROWSABLE">ScriptComponent_05a6c496c45c42c9963913db0b6084b4</property><property id="12" name="ScriptLanguage" dataType="System.String" description="Specifies the programming language used by the script." typeConverter="Microsoft.SqlServer.VSTAHosting.ScriptingLanguages, Microsoft.SqlServer.VSTAScriptingLib, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91">VisualBasic</property></properties><connections><connection id="14" name="CrmConnection" connectionManagerID="{8100503D-F653-44C5-8EFD-392EC423F8E1}" /></connections><inputs><input id="15" name="Input" hasSideEffects="true"><externalMetadataColumns isUsed="True"><externalMetadataColumn id="18" name="TeamId" dataType="guid" /><externalMetadataColumn id="19" name="MemberId" dataType="guid" /></externalMetadataColumns></input></inputs></component>